Browse Source

Merge remote-tracking branch 'origin/master_hella' into master_hella

master_hella_20240701
gaojs 4 months ago
parent
commit
e0fdfbf7bf
  1. 17
      README.md
  2. 6
      src/components/BasicForm/src/BasicForm.vue
  3. 3
      src/views/wms/basicDataManage/itemManage/itempackage/index.vue
  4. 7
      src/views/wms/basicDataManage/itemManage/itempackage/itempackage.data.ts
  5. 18
      src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts
  6. 65
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts
  7. 95
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue
  8. 2
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRecordMain/index.vue
  9. 2
      src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/index.vue
  10. 18
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  11. 1
      src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts
  12. 20
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
  13. 140
      src/views/wms/productionManage/processproduction/processproductionRequest/index.vue
  14. 202
      src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts
  15. 9
      src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts
  16. 98
      src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptReport/index.vue
  17. 2
      src/views/wms/purchasereceiptManage/putaway/putawayJobMain/index.vue

17
README.md

@ -21,6 +21,23 @@ form: {
message: '请选择生产线信息!', // 当前置条件为空时 弹出信息提示
isMainValue: true // 表示查询条件是主表的字段的值
},
{
key: 'customerCode', // 查询列表中字段
value: 'customerCode', // 指查询具体值
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用
message: '请选择客户代码!', // 前置添加没填的提示语
},
{
key: 'itemCode',
value: 'itemCode',
message: '请选择订单行',
isTableRowValue: true, //查询当前searchTable表中行数据的值
isMainValue:false
},
{
key:'available', // 查询列表中字段
value:'TRUE', // 指查询具体值

6
src/components/BasicForm/src/BasicForm.vue

@ -396,6 +396,12 @@ const opensearchTable = (
if (searchCondition[i].isSearch) {
if (searchCondition[i].isFormModel) {
//formModel
if(searchCondition[i].required){
if (formRef.value.formModel[searchCondition[i].value] == '' ||formRef.value.formModel[searchCondition[i].value] == undefined) {
message.warning(searchCondition[i].message?searchCondition[i].message:'前置条件未选择!')
return
}
}
filters.push({
action: searchCondition[i].action,
column: searchCondition[i].key,

3
src/views/wms/basicDataManage/itemManage/itempackage/index.vue

@ -210,6 +210,7 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
setV['uom'] = val[0]['uom']
formRef.setValues(setV)
})
}
@ -281,4 +282,4 @@ onMounted(async () => {
importTemplateData.templateUrl = await ItempackagingApi.importTemplate()
})
</script>
@/api/wms/itempackage
@/api/wms/itempackage

7
src/views/wms/basicDataManage/itemManage/itempackage/itempackage.data.ts

@ -47,6 +47,11 @@ export const Itempackaging = useCrudSchemas(reactive<CrudSchema[]>([
isTable: true,
table: {
width: 120
},form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
disabled: true
}
}
},
{
@ -236,4 +241,4 @@ export const ItempackagingRules = reactive({
packUnit: [{ required: true, message: '包装单位不能为空', trigger: 'change' }],
packQty: [{ required: true, message: '包装数量不能为空', trigger: 'change' }],
available: [{ required: true, message: '是否可用不能为空', trigger: 'change' }]
})
})

18
src/views/wms/basicDataManage/itemManage/packageunit/packageunit.data.ts

@ -14,14 +14,14 @@ export const Packageunit = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
},
{
label: '父包装代码',
field: 'parentCode',
sort: 'custom',
table: {
width: 150
},
},
// {
// label: '父包装代码',
// field: 'parentCode',
// sort: 'custom',
// table: {
// width: 150
// },
// },
{
label: '包装名称',
field: 'name',
@ -566,4 +566,4 @@ export const PackageunitCopy = useCrudSchemas(reactive<CrudSchema[]>([
fixed: 'right'
}
}
]))
]))

65
src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts

@ -78,6 +78,32 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
},
isSearch: true,
},
{
label: '客户代码',
field: 'customerCode',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '客户信息', // 查询弹窗标题
searchAllSchemas: Customer.allSchemas, // 查询弹窗所需类
searchPage: CustomerApi.getCustomerPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
}
},
{
label: '发货记录单号',
field: 'deliverRecordNumber',
@ -107,35 +133,22 @@ export const CustomerreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
action: 'betweeen', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
}]
}
}
},
{
label: '客户代码',
field: 'customerCode',
sort: 'custom',
table: {
width: 150
},
isSearch: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '客户信息', // 查询弹窗标题
searchAllSchemas: Customer.allSchemas, // 查询弹窗所需类
searchPage: CustomerApi.getCustomerPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
{
key: 'customerCode', // 查询列表中字段
value: 'customerCode', // 指查询具体值
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有
message: '请选择客户代码!', // 前置添加没填的提示语
isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
}
]
}
}
},
{
label: '发货计划单号',
field: 'deliverPlanNumber',

95
src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue

@ -57,8 +57,11 @@
@tableSelectionDelete="tableSelectionDelete"
@searchTableSuccess="searchTableSuccess"
@submitForm="submitForm"
:isShowButton = isShowButton
@onEnter="onEnter"
/>
<!-- 添加明细采购收货记录单号 -->
<SearchTable ref="searchTableRef" @searchTableSuccess="searchTableSuccess1" />
<!-- 详情 -->
<Detail
@ -88,6 +91,7 @@
:isShowReduceButton="false"
@submitForm="submitFormLabel"
@searchTableSuccess="searchTableSuccess"
/>
<!-- 标签打印 -->
<SearchTable style="width:905px" ref="showLabelRef" @searchTableSuccess="showLabelSuccess" />
@ -104,6 +108,7 @@ import { CustomerreturnRequestMain,CustomerreturnRequestMainRules,Customerreturn
import * as CustomerreturnRequestMainApi from '@/api/wms/customerreturnRequestMain'
import * as CustomerreturnRequestDetailApi from '@/api/wms/customerreturnRequestDetail'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { DeliverRecordMain,DeliverRecordDetail } from '../../deliver/deliverRecordMain/deliverRecordMain.data'
import * as DeliverRecordDetailApi from '@/api/wms/deliverRecordDetail'
import {
SupplierdeliverRequestPackage
@ -123,13 +128,39 @@ const genLabelId = ref(); //主表ID
routeName.value = route.name
const tableColumns = ref([...CustomerreturnRequestMain.allSchemas.tableColumns,...CustomerreturnRequestDetail.allSchemas.tableMainColumns])
const isShowButton = ref(true)
//
const updataTableColumns = (val) => {
tableColumns.value = val
}
const onEnter = async (field,value)=>{
console.log('onEnter',field,value)
const dateTime = new Date().getTime()
if(field=='customerCode'){
//---
formRef.value.opensearchTable('deliverRecordNumber', 'number', '发货记录信息', DeliverRecordMain.allSchemas, DeliverRecordDetailApi.getDeliverRecordDetailPage,[{
key: 'available',
value: 'TRUE',
isMainValue: false
},
{
key: 'createTime', //
value: dateTime - 30 * 24 * 60 * 60 * 1000 + "," + dateTime, //
action: 'betweeen', //
isSearch: true, // 使
isMainValue: false // false isMainValue: true
},
{
key: 'customerCode', //
value: 'customerCode', //
action: '==', //
isSearch: true, // 使
isFormModel:true,
isMainValue: false // false isMainValue: true
}
],undefined,undefined,null,true,DeliverRecordDetail.allSchemas)
}
}
//
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(() => {
@ -168,13 +199,11 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
if(formField == 'deliverRecordNumber') {
setV['deliverRecordNumber'] = val[0]['number']
setV['deliverPlanNumber'] = val[0]['deliverPlanNumber']
setV['customerCode'] = val[0]['customerCode']
// setV['customerCode'] = val[0]['customerCode']
setV['customerDockCode'] = val[0]['customerDockCode']
if(setV['deliverRecordNumber'] != null){
isShowButton.value = false
}
//
DeliverRecordDetailApi.getDeliverRecordDetailPage({masterId:val[0]['id']})
DeliverRecordDetailApi.getDeliverRecordDetailPage({masterId:val[0]['masterId']})
.then(res => {
res.list.forEach(obj => {
@ -190,7 +219,10 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
}
})
})
if (res) tableData.value = res.list
if (res) {
tableData.value = [...res.list]
originTableData.value = [...res.list]
}
}).catch(err => {
console.log(err)
message.error('错误')
@ -449,6 +481,7 @@ const labelPrint = async (row) => {
/** 添加/修改操作 */
const formRef = ref()
const openForm =async (type: string, row?: number) => {
originTableData.value = []
if(type == "update"){
CustomerreturnRequestMain.allSchemas.formSchema.forEach((item) => {
if(item.field == 'deliverRecordNumber'){
@ -558,10 +591,52 @@ CustomerreturnRequestDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
const originTableData = ref([])
const searchTableRef = ref()
//
// const handleAddTable = () => {
// tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
// }
const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
console.log('originTableData.value',originTableData.value)
console.log('tableData.value',tableData.value)
const subTableDFata = originTableData.value.filter(item=> !tableData.value.find(item1=>item1.id == item.id))
if(subTableDFata.length==0){
message.warning('暂无可选择数据!')
return
}
const tableObject = {
//
currentPage: 1,
//
exportLoading: false,
//
loading: false,
//
pageSize: subTableDFata.length,
params:null,
//
sort: {
order: '', //
prop: '' //
},
//
total: subTableDFata.length,
//
tableList: subTableDFata,
currentRow:null
}
const tableColumns = CustomerreturnRequestDetail.allSchemas.tableFormColumns
tableColumns.forEach((item) => {
item.width = item.table?.width || 150
})
searchTableRef.value.openData("收货明细",tableObject,{tableColumns},true)
}
const searchTableSuccess1 = (formField, searchField, val, formRef, type, row) => {
console.log(val)
tableData.value = [...tableData.value,...val]
}
//
const handleDeleteTable = (item, index) => {

2
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRecordMain/index.vue

@ -57,7 +57,7 @@
:allSchemas="UnplannedissueRecordMain.allSchemas"
:detailAllSchemas="UnplannedissueRecordDetail.allSchemas"
:detailAllSchemasRules="UnplannedissueRecordDetailRules"
:apiPage="UnplannedissueRecordDetailApi.getUnplannedissueRecordDetailPage"
:apiPage="UnplannedissueRecordDetailApi.getUnplannedissueRecordDetailPageSpare"
/>
</template>

2
src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/index.vue

@ -69,7 +69,7 @@
:detailAllSchemasRules="UnplannedissueRequestDetailRules"
:apiCreate="UnplannedissueRequestDetailApi.createUnplannedissueRequestDetail"
:apiUpdate="UnplannedissueRequestDetailApi.updateUnplannedissueRequestDetail"
:apiPage="UnplannedissueRequestDetailApi.getUnplannedissueRequestDetailPage"
:apiPage="UnplannedissueRequestDetailApi.getUnplannedissueRequestDetailPageSpare"
:apiDelete="UnplannedissueRequestDetailApi.deleteUnplannedissueRequestDetail"
:Echo="Echo"
@searchTableSuccessDetail="searchTableSuccessDetail"

18
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -455,24 +455,6 @@ export const IssueRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
fixed: 'right'
},
},
{
label: '包装规格',
field: 'packUnit',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:7,
},
{
label: '包装数量',
field: 'packQty',
sort: 'custom',
table: {
width: 150
},
sortTableDefault:8,
},
]))
export const IssueRequestMainRules = reactive({

1
src/views/wms/issueManage/repleinsh/repleinshJobMain/repleinshJobMain.data.ts

@ -665,7 +665,6 @@ export const RepleinshJobDetail = useCrudSchemas(reactive<CrudSchema[]>([
table: {
width: 150
},
isSearch: true,
sortTableDefault:5,
},
{

20
src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts

@ -17,7 +17,8 @@ const { t } = useI18n() // 国际化
const queryParams = {
pageSize:10,
pageNo:1,
code:'RepleinmentRequest'
code:'RepleinmentRequest',
businessTypeCode: 'Repleinment'
}
const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
const requestsettingData =data?.list[0]||{}
@ -31,7 +32,7 @@ import {getLocationPageRepleinsh} from "@/api/wms/location";
// id 转str 否则form回显匹配不到
userDept.id = userDept.id.toString()
const userDeptArray:any = [userDept]
/**
* @returns {Array}
*/
@ -518,7 +519,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
},
isTableForm: false,
isForm: false,
isSearch: true,
sortTableDefault:6,
sortSearchDefault:4,
},
@ -530,7 +530,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
isTableForm: false,
isSearch: true,
sortTableDefault:5,
sortSearchDefault:3,
},
@ -544,7 +543,12 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: {
value: 'OK',
componentProps: {
disabled: true
disabled: true,
searchCondition:[{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
table: {
@ -564,7 +568,6 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
isTableForm: false,
isSearch: true,
},
{
label: '单据号',
@ -582,7 +585,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '物料代码',
label: '物料代码1',
field: 'itemCode',
sort: 'custom',
table: {
@ -618,6 +621,9 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key : 'businessTypeCode',
value: queryParams.businessTypeCode
}]
},
},

140
src/views/wms/productionManage/processproduction/processproductionRequest/index.vue

@ -21,16 +21,14 @@
:columns="tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total
}"
:pagination="{total: tableObject.total}"
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #code="{row}">
<el-button type="primary" link @click="openDetail(row, '代码', row.code)">
<span>{{ row.code }}</span>
<template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
</el-button>
</template>
<template #action="{ row,$index }">
@ -42,15 +40,20 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
@success="formsSuccess"
@submitForm="submitForm"
:isBusiness="true"
:rules="ProcessproductionRequestMainRules"
:formAllSchemas="ProcessproductionRequestMain.allSchemas"
:apiUpdate="ProcessproductionRequestMainApi.updateProcessproductionRequestMain"
:apiCreate="ProcessproductionRequestMainApi.createProcessproductionRequestMain"
@searchTableSuccess="searchTableSuccess"
:isBusiness="true"
:tableAllSchemas="ProcessproductionRequestDetail.allSchemas"
:tableFormRules="ProcessproductionRequestDetailRules"
@searchTableSuccess="searchTableSuccess"
:tableData="tableData"
@handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable"
:isShowReduceButtonSelection="true"
@tableSelectionDelete="tableSelectionDelete"
/>
<!-- 详情 -->
@ -69,7 +72,15 @@
/>
<!-- 导入 -->
<ImportForm ref="importFormRef" url="/request/processproduction-request-main/import" :importTemplateData="importTemplateData" @success="importSuccess" />
<ImportForm
ref="importFormRef"
url="/wms/processproduction-request-main/import"
:importTemplateData="importTemplateData"
@success="importSuccess"
:updateIsDisable="true"
:coverIsDisable="true"
:mode="2"
/>
</template>
<script setup lang="ts">
@ -94,11 +105,26 @@ routeName.value = route.name
const tableColumns = ref([...ProcessproductionRequestMain.allSchemas.tableColumns,...ProcessproductionRequestDetail.allSchemas.tableMainColumns])
//
const searchTableSuccess = (formField, searchField, val, formRef) => {
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(() => {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
if (type == 'tableForm') {
if(formField === 'productionLine'){
row['productionLine']=val[0]['productionLineCode']
}
if(formField === 'processCode'){
row['processCode']=val[0]['code']
}
if(formField === 'locationCode'){
row['locationCode']=val[0]['code']
}
if(formField === 'componentItemCode'){
row['componentItemCode']=val[0]['componentItemCode']
}
}else{
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
}
})
}
@ -107,7 +133,6 @@ const updataTableColumns = (val) => {
tableColumns.value = val
}
const { tableObject, tableMethods } = useTable({
getListApi: ProcessproductionRequestDetailApi.getProcessproductionRequestDetailPage //
})
@ -123,14 +148,6 @@ const HeadButttondata = [
defaultButtons.defaultFreshBtn(null), //
defaultButtons.defaultFilterBtn(null), //
defaultButtons.defaultSetBtn(null), //
// {
// label: '',
// name: 'zdy',
// hide: false,
// type: 'primary',
// icon: 'Select',
// color: ''
// },
]
//
@ -149,7 +166,6 @@ const buttonBaseClick = (val, item) => {
}
}
// -
const butttondata = (row,$index) => {
const findIndex = row['masterId']?tableObject.tableList.findIndex(item=>item['masterId'] == row['masterId']):-1
@ -162,7 +178,6 @@ const butttondata = (row,$index) => {
]
}
const buttondataTable = ref()
// -
@ -181,28 +196,39 @@ const openForm = (type: string, row?: any) => {
}
// form
const formsSuccess = async (formType,data) => {
var isHave =ProcessproductionRequestMain.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await ProcessproductionRequestMainApi.createProcessproductionRequestMain(data)
message.success(t('common.createSuccess'))
} else {
await ProcessproductionRequestMainApi.updateProcessproductionRequestMain(data)
message.success(t('common.updateSuccess'))
//
const submitForm = async (formType, data) => {
data.subList = tableData.value //
try {
if (formType === 'create') {
if(data.subList.length == 0){
message.warning("请添加子列表数据")
return;
}
let flag = false;
data.subList.forEach((item) => {
if(item.componentItemcodeQty == 0){
message.warning("子物料数量不能为0")
flag = true;
return;
}
})
if(flag){
basicFormRef.value.formLoading = false
return
}
await ProcessproductionRequestMainApi.createProcessproductionRequestMain(data)
message.success(t('common.createSuccess'))
} else {
await ProcessproductionRequestMainApi.updateProcessproductionRequestMain(data)
message.success(t('common.updateSuccess'))
}
basicFormRef.value.dialogVisible = false
//
getList()
} finally {
basicFormRef.value.formLoading = false
}
basicFormRef.value.dialogVisible = false
getList()
}
//
@ -277,6 +303,28 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
})
}
/**
* tableForm方法
*/
const tableFormKeys = {}
ProcessproductionRequestDetail.allSchemas.tableFormColumns.forEach(item => {
tableFormKeys[item.field] = item.default ? item.default : ''
})
const tableData = ref([])
//
const handleAddTable = () => {
tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
}
//
const handleDeleteTable = (item, index) => {
tableData.value.splice(index, 1)
}
const tableSelectionDelete = (selection) => {
tableData.value = tableData.value.filter(item => !selection.includes(item))
}
/** 初始化 **/
onMounted(async () => {
getList()

202
src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts

@ -4,23 +4,21 @@ import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
import * as ProductionlineitemApi from '@/api/wms/productionlineitem'
import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data'
import * as ProcessApi from '@/api/wms/process'
import { Process } from '@/views/wms/basicDataManage/factoryModeling/process/process.data'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import {Bom} from "@/views/wms/basicDataManage/itemManage/bom/bom.data";
import * as BomApi from "@/api/wms/bom";
import { fa } from 'element-plus/es/locale'
export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: 'id',
field: 'id',
sort: 'custom',
isForm: false,
isTable:false,
isTableForm:false,
},
{
label: '单据号',
field: 'number',
sort: 'custom',
table: {
width: 150
width: 200
},
isForm: false,
isSearch: true,
@ -60,7 +58,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
},
},
@ -75,7 +73,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
form: {
component: 'InputNumber',
componentProps: {
min: 1,
min: 0,
precision: 6
},
},
@ -120,6 +118,8 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
isSearch: false,
isTable:false,
isForm:false,
isTableForm:false,
isDetail:false,
search: {
component: 'DatePicker',
componentProps: {
@ -143,6 +143,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
isSearch: false,
isTable:false,
isForm: false,
isDetail:false,
},
{
label: '扩展属性',
@ -159,6 +160,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
isSearch: false,
isTable:false,
isForm: false,
isDetail:false,
form: {
component: 'InputNumber',
value: 0
@ -171,11 +173,13 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
isSearch: false,
isForm: false,
isTable:false,
isDetail:false,
},
{
label: '操作',
field: 'action',
isForm: false,
isDetail:false,
table: {
width: 150,
fixed: 'right'
@ -188,8 +192,6 @@ export const ProcessproductionRequestMainRules = reactive({
itemCode: [{ required: true, message: '物料代码不能为空', trigger: 'change' }],
completedQuantity: [{ required: true, message: '完工数量不能为空', trigger: 'change' }],
scrapQuantity: [{ required: true, message: '报废数量不能为空', trigger: 'change' }],
available: [required],
concurrencyStamp: [required],
})
@ -205,6 +207,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
table: {
width: 150
},
isForm:false,
hiddenInMain:true,
},
{
@ -219,7 +222,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段
searchField: 'productionLineCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
@ -239,7 +242,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
multiple:true,
isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段
searchField: 'productionLineCode', // 查询弹窗赋值字段
searchTitle: '生产线物料关系信息', // 查询弹窗标题
searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类
searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法
@ -262,6 +265,43 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
table: {
width: 150
},
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择工序代码',
searchField: 'code',
searchTitle: '工序信息',
searchAllSchemas: Process.allSchemas,
searchPage: ProcessApi.getProcessPage,
searchCondition: [{
key: 'productionLineCode',
value: 'productionLine',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择工序代码',
searchField: 'code',
searchTitle: '工序信息',
searchAllSchemas: Process.allSchemas,
searchPage: ProcessApi.getProcessPage,
searchCondition: [{
key: 'productionLineCode',
value: 'productionLine',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
}
},
{
label: '库位代码',
@ -270,6 +310,37 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
table: {
width: 150
},
tableForm:{
multiple:true,//多选
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '库位基础信息', // 查询弹窗标题
searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
multiple:true,//多选
searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '库位基础信息', // 查询弹窗标题
searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
searchPage: LocationApi.getLocationPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
}
},
{
label: '子物料代码',
@ -279,6 +350,45 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
table: {
width: 150
},
tableForm: {
isInpuFocusShow: true,
searchListPlaceholder: '请选择子物料代码版本', // 输入框占位文本
searchField: 'componentItemCode', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
message: '请填写物料代码!',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择Bom版本', // 输入框占位文本
searchField: 'componentItemCode', // 查询弹窗赋值字段
searchTitle: '物料清单信息', // 查询弹窗标题
searchAllSchemas: Bom.allSchemas, // 查询弹窗所需类
searchPage: BomApi.getBomPage, // 查询弹窗所需分页方法
searchCondition: [{
key:'productItemCode',
value:'itemCode',
message: '请填写物料代码!',
isMainValue: true
},{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
},
{
label: '批次',
@ -295,21 +405,42 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 0,
precision: 6
},
},
{
label: '生效日期',
field: 'effectiveDate',
sort: 'custom',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD'
},
table: {
width: 150
},
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
valueFormat: 'x'
style: {width: '100%'},
type: 'date',
dateFormat: 'YYYY-MM-DD',
valueFormat: 'x',
}
},
table: {
width: 150
tableForm:{
type:'FormDate',
placeholder: '请选择生产日期',
valueFormat: 'x',
},
},
{
@ -318,6 +449,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
sort: 'custom',
isTable:false,
isTableForm:false,
isForm:false,
table: {
width: 150
},
@ -345,6 +477,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
formatter: dateFormatter,
isSearch: false,
isTable:false,
isForm: false,
isTableForm: false,
table: {
width: 150
@ -371,6 +504,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
sort: 'custom',
isSearch: false,
isTable:false,
isForm: false,
isTableForm: false,
table: {
width: 150
@ -382,6 +516,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
sort: 'custom',
isSearch: false,
isTable:false,
isForm: false,
isTableForm: false,
},
{
@ -390,6 +525,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
sort: 'custom',
isSearch: false,
isTable:false,
isForm: false,
isTableForm: false,
form: {
component: 'InputNumber',
@ -402,6 +538,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
sort: 'custom',
isSearch: false,
isTable:false,
isForm: false,
isTableForm: false,
},
{
@ -411,6 +548,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
hiddenInMain:true,
isTable:false,
isTableForm:false,
isForm: false,
form: {
component: 'InputNumber',
value: 0
@ -420,6 +558,8 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
label: '操作',
field: 'action',
isForm: false,
isTable:false,
isTableForm:false,
hiddenInMain:true,
table: {
width: 150,
@ -430,5 +570,25 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive<CrudSchema
// 表单校验
export const ProcessproductionRequestDetailRules = reactive({
productionLine: [
{ required: true, message: '请选择生产线代码', trigger: 'change' }
],
processCode: [
{ required: true, message: '请选择工序代码', trigger: 'change' }
],
locationCode: [
{ required: true, message: '请选择库位代码', trigger: 'change' }
],
componentItemCode:[
{ required: true, message: '请选择子物料代码', trigger: 'change' }
],
componentItemcodeQty:[
{ required: true, message: '请输入子物料数量', trigger: 'change' }
],
batch:[
{ required: true, message: '请输入批次', trigger: 'change' }
],
effectiveDate:[
{ required: true, message: '请输入生效日期', trigger: 'change' }
],
})

9
src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts

@ -45,7 +45,7 @@ const queryParams = {
// id 转str 否则form回显匹配不到
userDept.id = userDept.id.toString()
const userDeptArray:any = [userDept]
/**
* @returns {Array}
*/
@ -833,7 +833,7 @@ export const ProductdismantleRequestDetaila = useCrudSchemas(reactive<CrudSchema
}
}
},
{
label: '物料名称',
field: 'itemName',
@ -874,7 +874,7 @@ export const ProductdismantleRequestDetaila = useCrudSchemas(reactive<CrudSchema
isTableForm: false,
isForm: false,
},
{
label: '计量单位',
field: 'uom',
@ -1059,7 +1059,7 @@ export const ProductdismantleRequestDetailaRules = reactive({
],
bomVersion: [
{ required: true, message: '请选择Bom版本', trigger: 'change' }
],
],
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
@ -1273,6 +1273,7 @@ export const BomDismantle = useCrudSchemas(reactive<CrudSchema[]>([
label: '数量',
field: 'qty',
tableForm: {
disabled: true,
type: 'InputNumber',
min: 0,
precision: 6

98
src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptReport/index.vue

@ -28,6 +28,7 @@
</template>
<script lang="ts" setup>
//
import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
import {queryQualityInspection} from '@/api/wms/supplierdeliverInspectionDetail'
import Annex from '@/components/Annex/src/Annex.vue'
defineOptions({ name: 'purchasereceiptReport' })
@ -45,9 +46,104 @@ onMounted(() => {
const getAnnexList = async () => {
let res = await queryQualityInspection(route.query.asnNumber as string)
reportAnnex.annexList = res.fileList
let tableColumns = [
{
"label": "物料代码",
"field": "itemCode",
"sort": "custom",
"isForm": false,
"isSearch": true,
"form": {
"componentProps": {
"disabled": true
}
},
"tableForm": {
"disabled": true
}
},
{
"label": "供应商批次",
"field": "batch",
"sort": "custom",
"isForm": false,
"isSearch": true,
"form": {
"componentProps": {
"disabled": true
}
},
"tableForm": {
"disabled": true
}
},
{
"label": "发货数量",
"field": "planQty",
"sort": "custom",
"isForm": false,
"isSearch": true,
"form": {
"componentProps": {
"disabled": true
}
},
"tableForm": {
"disabled": true,
"type": "InputNumber",
"min": 0,
"precision": 6
}
},
{
"width": 150,
"label": "计量单位",
"field": "uom",
"dictType": "uom",
"dictClass": "string",
"isTable": true,
"isForm": false,
"sort": "custom",
"table": {
"width": 150
},
"tableForm": {
"type": "Select",
"disabled": true
},
"form": {
"componentProps": {
"disabled": true
}
}
},
{
label: '创建时间',
field: 'createTime',
formatter: dateFormatter,
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
sort: 'custom',
table: {
width: 180
},
isTable: false,
form: {
component: 'DatePicker',
componentProps: {
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
}
]
subDetailTableData.value = {
tableList: res.inspectionDetailRespVOList,
tableColumns:[{"label":"物料代码","field":"itemCode","sort":"custom","isForm":false,"isSearch":true,"form":{"componentProps":{"disabled":true}},"tableForm":{"disabled":true}},{"label":"供应商批次","field":"batch","sort":"custom","isForm":false,"isSearch":true,"form":{"componentProps":{"disabled":true}},"tableForm":{"disabled":true}},{"label":"发货数量","field":"planQty","sort":"custom","isForm":false,"isSearch":true,"form":{"componentProps":{"disabled":true}},"tableForm":{"disabled":true,"type":"InputNumber","min":0,"precision":6}},{"width":150,"label":"计量单位","field":"uom","dictType":"uom","dictClass":"string","isTable":true,"isForm":false,"sort":"custom","table":{"width":150},"tableForm":{"type":"Select","disabled":true},"form":{"componentProps":{"disabled":true}}},{"label":"创建时间","field":"createTime","sort":"custom","isSearch":true,"search":{"component":"DatePicker","componentProps":{"valueFormat":"YYYY-MM-DD HH:mm:ss","type":"daterange","defaultTime":["2000-12-31T16:00:00.000Z","2001-01-01T15:59:59.000Z"]}},"isTableForm":false,"isForm":false}],
tableColumns:tableColumns
}
console.log('tableColumns',JSON.stringify(subDetailTableData.value.tableColumns))
}

2
src/views/wms/purchasereceiptManage/putaway/putawayJobMain/index.vue

@ -280,7 +280,7 @@ const buttonTableClick = async (val, row) => {
}
const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL
const src = ref(BASE_URL + '/jmreport/view/954878108028801024?token=' + getAccessToken())
const src = ref(BASE_URL + '/jmreport/view/955350408322154496?token=' + getAccessToken())
const handleDocumentPrint = async (row) => {
window.open(src.value+'&id='+row.masterId)
}

Loading…
Cancel
Save