diff --git a/README.md b/README.md index bd3e22726..ba558fa04 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ form: { isMainValue: false // 表示查询条件不是主表的字段的值 } ], + isRepeat: true,//是否可以重复添加该条数据 // 失去焦点校验参数 verificationParams: [{ key: 'code', @@ -55,7 +56,7 @@ form: { value: '', isMainValue: false, isSearch: 'true', - isFormModel: true + isFormModel: true, }] } } diff --git a/src/api/wms/business/inputBlur.ts b/src/api/wms/business/inputBlur.ts index c72f0dec7..5e9c76105 100644 --- a/src/api/wms/business/inputBlur.ts +++ b/src/api/wms/business/inputBlur.ts @@ -742,15 +742,14 @@ export const FormBlur = async (field, val, routeName, formRef, detailData, formS // 根据下方输入框失去焦点校验信息 export const getListByBottonInput = async (headerItem, val, row, routeName, formRef, detailData, tableData, callback) => { - let tableFormSchemaObj = headerItem?.tableForm + const tableFormSchemaObj = headerItem?.tableForm console.log(333, tableFormSchemaObj) if (tableFormSchemaObj.searchPage && tableFormSchemaObj.verificationParams) { if (!val) return; - let params = ref({}) - let list = ref([]) - console.log(3344) - let searchCondition1 = headerItem.tableForm.searchCondition //获取data.ts参数信息 - let verificationParams = headerItem.tableForm.verificationParams //获取data.ts参数信息 + const params = ref({}) + const list = ref([]) + const searchCondition1 = headerItem.tableForm.searchCondition //获取data.ts参数信息 + const verificationParams = headerItem.tableForm.verificationParams //获取data.ts参数信息 // 循环参数设置参数为key:value格式 if (searchCondition1 && searchCondition1.length > 0) { for (let i = 0; i < searchCondition1.length; i++) { @@ -813,7 +812,6 @@ export const getListByBottonInput = async (headerItem, val, row, routeName, form } } } - console.log(999, verificationParams) if (verificationParams && verificationParams.length > 0) { for (let i = 0; i < verificationParams.length; i++) { console.log(54565, verificationParams[i].key) @@ -821,23 +819,10 @@ export const getListByBottonInput = async (headerItem, val, row, routeName, form params.value[verificationParams[i].key1] = val } } - await tableFormSchemaObj.verificationPage(params.value).then(async (res) => { - list.value = res ? res : [] - let arr1 = val.split(',').map(item => item.trim()) - if (arr1.length != res.length) { - let arr2 = res.map((item) => item[headerItem.tableForm.searchField]) - let str = [ - ...arr1.filter((item) => !arr2.includes(item)), - ...arr2.filter((item) => !arr1.includes(item)) - ].join(',') - console.log(arr1.filter((item) => arr2.includes(item))) - console.log(22, str) - if (str) { - message.alert('代码' + str + '没有找到对应数据') - return - } - } - let repeatCode = [] + const arr1 = val.split(',').map(item => item.trim()) + // 判断代码是否存在 + if (!headerItem?.tableForm.isRepeat) { + const repeatCode = [] if (tableData.length > 0) { tableData.forEach((item) => { const findIndex = arr1.findIndex(valItem => valItem == item[headerItem.field]) @@ -851,15 +836,31 @@ export const getListByBottonInput = async (headerItem, val, row, routeName, form message.warning(`${t('ts.代码')}${repeatCode.join(',')}${t('ts.已经存在')}`); return; } - console.log(list.value) + } + await tableFormSchemaObj.verificationPage(params.value).then(async (res) => { + list.value = res ? res : [] + if (arr1.length != res.length) { + const arr2 = res.map((item) => item[headerItem.tableForm.searchField]) + const str = [ + ...arr1.filter((item) => !arr2.includes(item)), + ...arr2.filter((item) => !arr1.includes(item)) + ].join(',') + console.log(arr1.filter((item) => arr2.includes(item))) + console.log(22, str) + if (str) { + message.alert('代码' + str + '没有找到对应数据') + return + } + } + callback(list.value) }) return } else { - let pageApi = ref() - let params = ref({}) - let list = ref([]) - let field = 'itemCode' + const pageApi = ref() + const params = ref({}) + const list = ref([]) + const field = 'itemCode' // scp采购订单 if (!val) return; @@ -904,17 +905,17 @@ export const getListByBottonInput = async (headerItem, val, row, routeName, form await pageApi.value(params.value).then(async (res) => { list.value = res ? res : [] - let arr1 = val.split(',').map(item => item.trim()) + const arr1 = val.split(',').map(item => item.trim()) if (arr1.length != res.length) { - let arr2 = res.map((item) => item[field]) - let str = [ + const arr2 = res.map((item) => item[field]) + const str = [ ...arr1.filter((item) => !arr2.includes(item)), ...arr2.filter((item) => !arr1.includes(item)) ].join(',') message.alert('代码' + str + '没有找到对应数据') return } else { - let repeatCode = [] + const repeatCode = [] if (tableData.length > 0) { tableData.forEach((item) => { const findIndex = arr1.findIndex(valItem => valItem == item[field]) diff --git a/src/api/wms/supplierApbalanceMain/index.ts b/src/api/wms/supplierApbalanceMain/index.ts index 1eed92870..ed7e2f60c 100644 --- a/src/api/wms/supplierApbalanceMain/index.ts +++ b/src/api/wms/supplierApbalanceMain/index.ts @@ -58,10 +58,15 @@ export const deleteSupplierApbalanceMain = async (id: number) => { // 导出供应商余额明细主 Excel export const exportSupplierApbalanceMain = async (params) => { - return await request.download({ url: `/wms/supplier-apbalance-main/export-excel`, params }) + if (params.isSearch) { + const data = {...params} + return await request.downloadPost({ url: `/wms/supplier-apbalance-main/export-excel-senior`, data }) + } else { + return await request.download({ url: `/wms/supplier-apbalance-main/export-excel`, params }) + } } // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/supplier-apbalance-main/get-import-template' }) -} \ No newline at end of file +} diff --git a/src/views/qms/inspectionScheme/addForm.vue b/src/views/qms/inspectionScheme/addForm.vue index 7493373c8..0aac036b0 100644 --- a/src/views/qms/inspectionScheme/addForm.vue +++ b/src/views/qms/inspectionScheme/addForm.vue @@ -831,18 +831,15 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any } else { list = await InspectionProcessPageApi.getListByTempleteCode(row.programmeTemplateCode) } + editableTabsValue.value = '1' let arr = [] list.forEach((item, index) => { - // editableTabsValue.value = index + 1 - item.name = index + 1 - console.log(item.inspectionCharacteristicsBaseVO) - let obj = { inspectionCode:item.inspectionCode, description:item.description, inspectionCharCode:item.inspectionCharCode, sequenceCode:item.sequenceCode, - name : index + 1, + name :String(index + 1), inspectionCharacteristicsBaseVO:{ description:item.inspectionCharacteristicsBaseVO.description, featureType:item.inspectionCharacteristicsBaseVO.featureType, @@ -886,7 +883,6 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any } arr.push(obj) }) - editableTabsValue.value = 1 data.value.process = arr console.log(111, data.value) }else{ @@ -899,10 +895,9 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = false rules.value['inspectionCharacteristicsBaseVO.quantifyLowlimit'][0].required = false rules.value['inspectionCharacteristicsBaseVO.quantifyTarget'][0].required = false + editableTabsValue.value = '1' list.forEach((item, index) => { - // editableTabsValue.value = index + 1 - item.name = index + 1 - // rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true + item.name = String(index + 1) // 编辑判断上限下限目标值是否必填 if ( item.inspectionCharacteristicsBaseVO.featureType == 0 && @@ -920,7 +915,6 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any isShowField.value += 1 //设置isShowField > 0显示aql和检验水平字段 } }) - editableTabsValue.value = 1 // 显示aql和检验水平字段的时候添加必填规则 if (isShowField.value > 0) { rules.value.aql[0].required = true diff --git a/src/views/qms/inspectionTemplate/addForm.vue b/src/views/qms/inspectionTemplate/addForm.vue index adde857d0..dacf37523 100644 --- a/src/views/qms/inspectionTemplate/addForm.vue +++ b/src/views/qms/inspectionTemplate/addForm.vue @@ -587,18 +587,15 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any process: [] } let list = await InspectionProcessPageApi.getListByTempleteCode(row.code) + editableTabsValue.value = '1' let arr = [] list.forEach((item, index) => { - editableTabsValue.value = index + 1 - item.name = index + 1 - console.log(item.inspectionCharacteristicsBaseVO) - let obj = { description:item.description, inspectionCharCode:item.inspectionCharCode, inspectionCode:item.inspectionCode, sequenceCode:item.sequenceCode, - name : index + 1, + name :String(index + 1), inspectionCharacteristicsBaseVO:{ description:item.inspectionCharacteristicsBaseVO.description, featureType:item.inspectionCharacteristicsBaseVO.featureType, @@ -641,13 +638,14 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any arr.push(obj) }) data.value.process = arr + }else{ data.value = JSON.parse(JSON.stringify(row)) data.value.version = String(data.value.version) let list = await InspectionProcessPageApi.getListByTempleteCode(row.code) + editableTabsValue.value = '1' list.forEach((item, index) => { - editableTabsValue.value = index + 1 - item.name = index + 1 + item.name = String(index + 1) // 编辑判断上限下限目标值是否必填 if (item.inspectionCharacteristicsBaseVO.quantifyIsCapping) { rules.value['inspectionCharacteristicsBaseVO.quantifyCapping'][0].required = true diff --git a/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts b/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts index 1aa4338dd..1e88cea5b 100644 --- a/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts +++ b/src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts @@ -38,7 +38,7 @@ export const CallmaterialsRules = reactive({ workStationCode: [required], uom: [required], callmaterialQty: [required], - project: [{ max: 64, message: '最多50字符', trigger: 'blur'}] + project: [{ max: 50, message: '最多50字符', trigger: 'blur'}] }) export const Callmaterials = useCrudSchemas(reactive([ diff --git a/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts b/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts index 7ea15a22d..b8af46eb8 100644 --- a/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts @@ -76,6 +76,7 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive([ form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择仓库代码', // 输入框占位文本 searchField: 'code', // 查询弹窗赋值字段 @@ -86,7 +87,15 @@ export const InventoryinitRequestMain = useCrudSchemas(reactive([ key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } } }, @@ -395,7 +404,6 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( }, tableForm:{ multiple:true, - enterSearch:true, isInpuFocusShow: true, // 开启查询弹窗 searchListPlaceholder: '请选择物料代码', searchField: 'code', @@ -406,7 +414,17 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationPage: ItembasicApi.getItemListByCodes, // 失去焦点校验输入框的数据内容存在 + isShowTableFormSearch: true, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 }, form: { // labelMessage: '信息提示说明!!!', @@ -574,7 +592,8 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( table: { width: 150 }, - tableForm:{ + tableForm: { + enterSearch:true, isInpuFocusShow: true, // 开启查询弹窗 searchListPlaceholder: '请选择库位代码', searchField: 'code', @@ -585,11 +604,20 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 }, form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择库位代码', searchField: 'code', @@ -600,7 +628,15 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 } } }, @@ -631,7 +667,8 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( table: { width: 150 }, - tableForm:{ + tableForm: { + enterSearch: true, isInpuFocusShow: true, // 开启查询弹窗 searchListPlaceholder: '请选择货主代码', searchField: 'code', @@ -642,11 +679,20 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 }, form: { // labelMessage: '信息提示说明!!!', componentProps: { + enterSearch: true, isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择货主代码', searchField: 'code', @@ -657,7 +703,15 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 } } }, @@ -764,6 +818,7 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( sort: 'custom', form: { componentProps: { + enterSearch: true, disabled: true, isSearchList: true, searchListPlaceholder: '请选择包装', @@ -783,11 +838,20 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( value: 'TRUE', isMainValue: false } - ] + ], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, tableForm: { + enterSearch: true, disabled: true, isInpuFocusShow: true, searchListPlaceholder: '请选择包装', @@ -807,7 +871,15 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, { @@ -831,6 +903,7 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( sort: 'custom', form: { componentProps: { + enterSearch: true, disabled: true, isSearchList: true, searchListPlaceholder: '请选择包装', @@ -850,11 +923,20 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( value: 'TRUE', isMainValue: false } - ] + ], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, tableForm: { + enterSearch: true, clearable: true, disabled: true, isInpuFocusShow: true, @@ -875,7 +957,15 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, { @@ -899,6 +989,7 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( form: { width: 150, componentProps: { + enterSearch: true, disabled: true, isSearchList: true, searchListPlaceholder: '请选择包装', @@ -918,11 +1009,20 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( value: 'TRUE', isMainValue: false } - ] + ], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, tableForm: { + enterSearch: true, disabled: true, isInpuFocusShow: true, searchListPlaceholder: '请选择包装', @@ -942,7 +1042,15 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive( key: 'available', value: 'TRUE', isMainValue: false - }] + }], + verificationParams: [{ + key: 'packUnit', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 } }, { diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue index 121b44106..ae42c44cb 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue @@ -207,6 +207,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => if(newVal.length!tableData.value.find(item1=>item1['itemCode']==item['code'])) newVal.forEach(item=>{ let tfk = JSON.parse(JSON.stringify(tableFormKeys)) tfk.batch = formatTime(new Date(), 'yyyyMMdd') diff --git a/src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts b/src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts index 17a4a832a..ab6f84822 100644 --- a/src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts +++ b/src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts @@ -628,6 +628,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive