diff --git a/package.json b/package.json index c7e26457e..be1ba3e08 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "xml-js": "^1.6.11" }, "devDependencies": { + "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", "@iconify/json": "^2.2.119", diff --git a/src/api/mes/ordermonthplan/index.ts b/src/api/mes/ordermonthplan/index.ts index d3fc9bfd1..ba1c7eb15 100644 --- a/src/api/mes/ordermonthplan/index.ts +++ b/src/api/mes/ordermonthplan/index.ts @@ -63,7 +63,9 @@ export interface MesOrderMonthSubVO { status: string remark: string productCode: string + productName: string bomCode: string + bomVersion: string inStoreCode: string planBegin: Date planEnd: Date diff --git a/src/api/mes/partternType/index.ts b/src/api/mes/partternType/index.ts deleted file mode 100644 index 29002581a..000000000 --- a/src/api/mes/partternType/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import request from '@/config/axios' - -export interface PartternTypeVO { - deleteTime: Date - id: number - status: string - concurrencyStamp: number - remark: string - deleter: string - siteId: number - code: string - name: string -} - -// 查询模具类型列表 -export const getPartternTypePage = async (params) => { - if (params.isSearch) { - delete params.isSearch - const data = {...params} - return await request.post({ url: '/mes/parttern-type/senior', data }) - } else { - return await request.get({ url: `/mes/parttern-type/page`, params }) - } -} - -// 查询模具类型详情 -export const getPartternType = async (id: number) => { - return await request.get({ url: `/mes/parttern-type/get?id=` + id }) -} - -// 新增模具类型 -export const createPartternType = async (data: PartternTypeVO) => { - return await request.post({ url: `/mes/parttern-type/create`, data }) -} - -// 修改模具类型 -export const updatePartternType = async (data: PartternTypeVO) => { - return await request.put({ url: `/mes/parttern-type/update`, data }) -} - -// 删除模具类型 -export const deletePartternType = async (id: number) => { - return await request.delete({ url: `/mes/parttern-type/delete?id=` + id }) -} - -// 导出模具类型 Excel -export const exportPartternType = async (params) => { - return await request.download({ url: `/mes/parttern-type/export-excel`, params }) -} - -// 下载用户导入模板 -export const importTemplate = () => { - return request.download({ url: '/mes/parttern-type/get-import-template' }) -} \ No newline at end of file diff --git a/src/api/mes/pattern/index.ts b/src/api/mes/pattern/index.ts new file mode 100644 index 000000000..2ee80689b --- /dev/null +++ b/src/api/mes/pattern/index.ts @@ -0,0 +1,66 @@ +import request from '@/config/axios' + +export interface PatternVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + code: string + name: string + partternName: string + productCode: string + dateUseStart: Date + dateUseStop: Date + partternFrom: string + partternGo: string + initCout: number + effectStart: Date + effectEnd: Date + factoryCode: string + factoryName: string + factoryType: string +} + +// 查询模具基本信息列表 +export const getPatternPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/pattern/senior', data }) + } else { + return await request.get({ url: `/mes/pattern/page`, params }) + } +} + +// 查询模具基本信息详情 +export const getPattern = async (id: number) => { + return await request.get({ url: `/mes/pattern/get?id=` + id }) +} + +// 新增模具基本信息 +export const createPattern = async (data: PatternVO) => { + return await request.post({ url: `/mes/pattern/create`, data }) +} + +// 修改模具基本信息 +export const updatePattern = async (data: PatternVO) => { + return await request.put({ url: `/mes/pattern/update`, data }) +} + +// 删除模具基本信息 +export const deletePattern = async (id: number) => { + return await request.delete({ url: `/mes/pattern/delete?id=` + id }) +} + +// 导出模具基本信息 Excel +export const exportPattern = async (params) => { + return await request.download({ url: `/mes/pattern/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/pattern/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/patternType/index.ts b/src/api/mes/patternType/index.ts new file mode 100644 index 000000000..f4bf226df --- /dev/null +++ b/src/api/mes/patternType/index.ts @@ -0,0 +1,54 @@ +import request from '@/config/axios' + +export interface PatternTypeVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + code: string + name: string +} + +// 查询模具类型列表 +export const getPatternTypePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/pattern-type/senior', data }) + } else { + return await request.get({ url: `/mes/pattern-type/page`, params }) + } +} + +// 查询模具类型详情 +export const getPatternType = async (id: number) => { + return await request.get({ url: `/mes/pattern-type/get?id=` + id }) +} + +// 新增模具类型 +export const createPatternType = async (data: PatternTypeVO) => { + return await request.post({ url: `/mes/pattern-type/create`, data }) +} + +// 修改模具类型 +export const updatePatternType = async (data: PatternTypeVO) => { + return await request.put({ url: `/mes/pattern-type/update`, data }) +} + +// 删除模具类型 +export const deletePatternType = async (id: number) => { + return await request.delete({ url: `/mes/pattern-type/delete?id=` + id }) +} + +// 导出模具类型 Excel +export const exportPatternType = async (params) => { + return await request.download({ url: `/mes/pattern-type/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/pattern-type/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/qms/aql/index.ts b/src/api/qms/aql/index.ts index b97578878..aa13d10fd 100644 --- a/src/api/qms/aql/index.ts +++ b/src/api/qms/aql/index.ts @@ -6,36 +6,36 @@ export interface AqlVO { inspectionQualification: string sampleCharacterCode: string sampleSize: number - a0Separator010: number - r0Separator010: number - a0Separator015: number - r0Separator015: number - a0Separator025: number - r0Separator025: number - a0Separator040: number - r0Separator040: number - a0Separator065: number - r0Separator065: number - a0Separator10: number - r0Separator10: number - a0Separator15: number - r0Separator15: number - a0Separator25: number - r0Separator25: number - a0Separator40: number - r0Separator40: number - a0Separator65: number - r0Separator65: number - a1Separator0: number - r1Separator0: number - a1Separator5: number - r1Separator5: number - a2Separator5: number - r2Separator5: number - a4Separator0: number - r4Separator0: number - a6Separator5: number - r6Separator5: number + a0separator010: number + r0separator010: number + a0separator015: number + r0separator015: number + a0separator025: number + r0separator025: number + a0separator040: number + r0separator040: number + a0separator065: number + r0separator065: number + a0separator10: number + r0separator10: number + a0separator15: number + r0separator15: number + a0separator25: number + r0separator25: number + a0separator40: number + r0separator40: number + a0separator65: number + r0separator65: number + a1separator0: number + r1separator0: number + a1separator5: number + r1separator5: number + a2separator5: number + r2separator5: number + a4separator0: number + r4separator0: number + a6separator5: number + r6separator5: number a10: number r10: number a15: number diff --git a/src/api/qms/counter/index.ts b/src/api/qms/counter/index.ts index ee346e189..3a75b8163 100644 --- a/src/api/qms/counter/index.ts +++ b/src/api/qms/counter/index.ts @@ -4,7 +4,6 @@ export interface CounterVO { id: number itemCode: string testTypeCode: string - workingCode: boolean supplierCode: string qualifiedTimes: number lastQualifiedBatch: string diff --git a/src/api/qms/inspectionJob/inspectionJobDetail/index.ts b/src/api/qms/inspectionJob/inspectionJobDetail/index.ts index 12679e310..1b71cd0a1 100644 --- a/src/api/qms/inspectionJob/inspectionJobDetail/index.ts +++ b/src/api/qms/inspectionJob/inspectionJobDetail/index.ts @@ -1,27 +1,5 @@ import request from '@/config/axios' -export interface InspectionJobDetailVO { - number: string - applicationDate: localdate - applicationTime: Date - requestStartTime: Date - requestEndTime: Date - finishTime: Date - supplierCode: string - materialCode: string - batch: string - requestInspectionNum: number - referenceOrderCode: string - referenceOrderRow: number - referenceCertificateCode: string - referenceCertificateRow: number - inspectionSchemeCode: string - inspectionStageCode: string - applicationPackageCode: string - inspectionLevel: string - aqlValue: number - available: string -} // 查询检验申请列表 export const getInspectionJobDetailPage = async (params) => { @@ -44,12 +22,12 @@ export const getInspectionJobDetail = async (id: number) => { } // 新增检验申请 -export const createInspectionJobDetail = async (data: InspectionJobDetailVO) => { +export const createInspectionJobDetail = async (data) => { return await request.post({ url: `/qms/inspection-job-detail/create`, data }) } // 修改检验申请 -export const updateInspectionJobDetail = async (data: InspectionJobDetailVO) => { +export const updateInspectionJobDetail = async (data) => { return await request.put({ url: `/qms/inspection-job-detail/update`, data }) } diff --git a/src/api/qms/inspectionJob/inspectionJobMain/index.ts b/src/api/qms/inspectionJob/inspectionJobMain/index.ts index 96170650a..289854b37 100644 --- a/src/api/qms/inspectionJob/inspectionJobMain/index.ts +++ b/src/api/qms/inspectionJob/inspectionJobMain/index.ts @@ -1,27 +1,5 @@ import request from '@/config/axios' -export interface InspectionJobMainVO { - number: string - applicationDate: localdate - applicationTime: Date - requestStartTime: Date - requestEndTime: Date - finishTime: Date - supplierCode: string - materialCode: string - batch: string - requestInspectionNum: number - referenceOrderCode: string - referenceOrderRow: number - referenceCertificateCode: string - referenceCertificateRow: number - inspectionSchemeCode: string - inspectionStageCode: string - applicationPackageCode: string - inspectionLevel: string - aqlValue: number - available: string -} // 查询检验申请列表 export const getInspectionJobMainPage = async (params) => { @@ -40,15 +18,18 @@ export const getInspectionJobMain = async (id: number) => { } // 新增检验申请 -export const createInspectionJobMain = async (data: InspectionJobMainVO) => { +export const createInspectionJobMain = async (data) => { return await request.post({ url: `/qms/inspection-job-main/create`, data }) } // 修改检验申请 -export const updateInspectionJobMain = async (data: InspectionJobMainVO) => { +export const updateInspectionJobMain = async (data) => { return await request.put({ url: `/qms/inspection-job-main/update`, data }) } - +// 执行检验申请 +export const executeInspectionJobMain = async (data) => { + return await request.put({ url: `/qms/inspection-job-main/execute`, data }) +} // 删除检验申请 export const deleteInspectionJobMain = async (id: number) => { return await request.delete({ url: `/qms/inspection-job-main/delete?id=` + id }) diff --git a/src/api/qms/inspectionMethod/index.ts b/src/api/qms/inspectionMethod/index.ts index dae6cc6bc..5721037b9 100644 --- a/src/api/qms/inspectionMethod/index.ts +++ b/src/api/qms/inspectionMethod/index.ts @@ -33,6 +33,7 @@ export const createInspectionMethod = async (data: InspectionMethodVO) => { // 修改检验方法 export const updateInspectionMethod = async (data: InspectionMethodVO) => { + // debugger return await request.put({ url: `/qms/inspection-method/update`, data }) } diff --git a/src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts b/src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts index ad565f913..16dfb87a8 100644 --- a/src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts +++ b/src/api/qms/inspectionRecord/inspectionRecordDetail/index.ts @@ -1,65 +1,47 @@ import request from '@/config/axios' -export interface InspectionRecordDetailVO { - number: string - applicationDate: localdate - applicationTime: Date - requestStartTime: Date - requestEndTime: Date - finishTime: Date - supplierCode: string - materialCode: string - batch: string - requestInspectionNum: number - referenceOrderCode: string - referenceOrderRow: number - referenceCertificateCode: string - referenceCertificateRow: number - inspectionSchemeCode: string - inspectionStageCode: string - applicationPackageCode: string - inspectionLevel: string - aqlValue: number - available: string -} + // 查询检验申请列表 export const getInspectionRecordDetailPage = async (params) => { if (params.isSearch) { delete params.isSearch const data = {...params} - return await request.post({ url: '/inspection/inspection-recordord-detail/senior', data }) + return await request.post({ url: '/qms/inspection-record-detail/senior', data }) } else { - return await request.get({ url: `/inspection/inspectirecordrecord-detail/page`, params }) + return await request.get({ url: `/qms/inspection-record-detail/page`, params }) } } - +// 查询检验申请列表 +export const getInspectionRecordDetailList = async (id: number) => { + return await request.get({ url: `/qms/inspection-record-detail/list?masterId=` + id }) +} // 查询检验申请详情 export const getInspectionRecordDetail = async (id: number) => { - return await request.get({ url: `/inspection/insperecordon-record-detail/get?id=` + id }) + return await request.get({ url: `/qms/inspection-record-detail/get?id=` + id }) } // 新增检验申请 -export const createInspectionRecordDetail = async (data: InspectionRecordDetailVO) => { - return await request.post({ url: `/inspection/inrecordction-record-detail/create`, data }) +export const createInspectionRecordDetail = async (data) => { + return await request.post({ url: `/qms/inspection-record-detail/create`, data }) } // 修改检验申请 -export const updateInspectionRecordDetail = async (data: InspectionRecordDetailVO) => { - return await request.put({ url: `/inspectionrecordspection-record-detail/update`, data }) +export const updateInspectionRecordDetail = async (data) => { + return await request.put({ url: `/qms/inspection-record-detail/update`, data }) } // 删除检验申请 export const deleteInspectionRecordDetail = async (id: number) => { - return await request.delete({ url: `/inspectrecord/inspection-record-detail/delete?id=` + id }) + return await request.delete({ url: `/qms/inspection-record-detail/delete?id=` + id }) } // 导出检验申请 Excel export const exportInspectionRecordDetail = async (params) => { - return await request.download({ url: `/insprecordion/inspection-record-detail/export-excel`, params }) + return await request.download({ url: `/qms/inspection-record-detail/export-excel`, params }) } // 下载用户导入模板 export const importTemplate = () => { - return request.download({ url: '/irecordection/inspection-record-detail/get-import-template' }) + return request.download({ url: '/qms/inspection-record-detail/get-import-template' }) } diff --git a/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts b/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts index 225443425..02663e294 100644 --- a/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts +++ b/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts @@ -28,38 +28,38 @@ export const getInspectionRecordMainPage = async (params) => { if (params.isSearch) { delete params.isSearch const data = {...params} - return await request.post({ url: '/inspection/inspection-record-main/senior', data }) + return await request.post({ url: '/qms/inspection-record-main/senior', data }) } else { - return await request.get({ url: `/inspection/inspection-record-main/page`, params }) + return await request.get({ url: `/qms/inspection-record-main/page`, params }) } } // 查询检验申请详情 export const getInspectionRecordMain = async (id: number) => { - return await request.get({ url: `/inspection/inspection-record-main/get?id=` + id }) + return await request.get({ url: `/qms/inspection-record-main/get?id=` + id }) } // 新增检验申请 export const createInspectionRecordMain = async (data: InspectionRecordMainVO) => { - return await request.post({ url: `/inspection/inspection-record-main/create`, data }) + return await request.post({ url: `/qms/inspection-record-main/create`, data }) } // 修改检验申请 export const updateInspectionRecordMain = async (data: InspectionRecordMainVO) => { - return await request.put({ url: `/inspection/inspection-record-main/update`, data }) + return await request.put({ url: `/qms/inspection-record-main/update`, data }) } // 删除检验申请 export const deleteInspectionRecordMain = async (id: number) => { - return await request.delete({ url: `/inspection/inspection-record-main/delete?id=` + id }) + return await request.delete({ url: `/qms/inspection-record-main/delete?id=` + id }) } // 导出检验申请 Excel export const exportInspectionRecordMain = async (params) => { - return await request.download({ url: `/inspection/inspection-record-main/export-excel`, params }) + return await request.download({ url: `/qms/inspection-record-main/export-excel`, params }) } // 下载用户导入模板 export const importTemplate = () => { - return request.download({ url: '/inspection/inspection-record-main/get-import-template' }) + return request.download({ url: '/qms/inspection-record-main/get-import-template' }) } diff --git a/src/api/qms/inspectionStage/index.ts b/src/api/qms/inspectionStage/index.ts index cc1d066dc..ffce240a6 100644 --- a/src/api/qms/inspectionStage/index.ts +++ b/src/api/qms/inspectionStage/index.ts @@ -3,6 +3,7 @@ import request from '@/config/axios' export interface InspectionStageVO { code: string masterId: number + stage: number dynamicModifyCode: string description: string okTimes: number diff --git a/src/api/wms/supplierinvoiceInvoiced/index.ts b/src/api/wms/supplierinvoiceInvoiced/index.ts new file mode 100644 index 000000000..9be7c7d15 --- /dev/null +++ b/src/api/wms/supplierinvoiceInvoiced/index.ts @@ -0,0 +1,75 @@ +import request from '@/config/axios' + +export interface SupplierinvoiceInvoicedVO { + id: number + tax: number + projectCode: string + billType: string + recvBillNum: string + asnBillNum: string + supplierCode: string + poNumber: string + poLine: string + purchasePrice: number + invoicableQuantity: number + itemCode: string + uom: string + currency: string + remark: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询待开票列表 +export const getSupplierinvoiceInvoicedPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/supplierinvoice-invoiced/senior', data }) + } else { + return await request.get({ url: `/wms/supplierinvoice-invoiced/page`, params }) + } +} + +// 查询待开票详情 +export const getSupplierinvoiceInvoiced = async (id: number) => { + return await request.get({ url: `/wms/supplierinvoice-invoiced/get?id=` + id }) +} + +// 新增待开票 +export const createSupplierinvoiceInvoiced = async (data: SupplierinvoiceInvoicedVO) => { + return await request.post({ url: `/wms/supplierinvoice-invoiced/create`, data }) +} + +// 修改待开票 +export const updateSupplierinvoiceInvoiced = async (data: SupplierinvoiceInvoicedVO) => { + return await request.put({ url: `/wms/supplierinvoice-invoiced/update`, data }) +} + +// 删除待开票 +export const deleteSupplierinvoiceInvoiced = async (id: number) => { + return await request.delete({ url: `/wms/supplierinvoice-invoiced/delete?id=` + id }) +} + +// 导出待开票 Excel +export const exportSupplierinvoiceInvoiced = async (params) => { + return await request.download({ url: `/wms/supplierinvoice-invoiced/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/supplierinvoice-invoiced/get-import-template' }) +} + +// 审批通过待开票 +export const agreeSupplierinvoiceInvoiced = async (id: number) => { + return await request.post({ url: `/wms/supplierinvoice-invoiced/agree?id=` + id }) +} + +// 审批拒绝待开票 +export const refuseSupplierinvoiceInvoiced = async (id: number) => { + return await request.post({ url: `/wms/supplierinvoice-invoiced/refuse?id=` + id }) +} \ No newline at end of file diff --git a/src/api/wms/supplierinvoiceRequestMain/index.ts b/src/api/wms/supplierinvoiceRequestMain/index.ts index 1c25c05c5..7a5d2122b 100644 --- a/src/api/wms/supplierinvoiceRequestMain/index.ts +++ b/src/api/wms/supplierinvoiceRequestMain/index.ts @@ -77,6 +77,11 @@ export const rejSupplierinvoiceRequestMain = async (id: number) => { return await request.post({ url: `/wms/supplierinvoice-request-main/rej?id=` + id }) } +// 供应商--发票寄出 +export const invoiceSentOutSupplierinvoiceRequestMain = async (id: number) => { + return await request.post({ url: `/wms/supplierinvoice-request-main/invoiceSentOut?id=` + id }) +} + // 财务--审批通过供应商发货申请主 export const financeappSupplierinvoiceRequestMain = async (id: number) => { return await request.post({ url: `/wms/supplierinvoice-request-main/financeApp?id=` + id }) diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 950cbeaf7..77b9adec3 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -69,6 +69,7 @@ + + +
+
+ + + +
+
+ +
+
+ +
+
+ + +
+ + + + diff --git a/src/components/BasicForm/src/BasicFormQms.vue b/src/components/BasicForm/src/BasicFormQmsNumber.vue similarity index 100% rename from src/components/BasicForm/src/BasicFormQms.vue rename to src/components/BasicForm/src/BasicFormQmsNumber.vue diff --git a/src/components/Detail/src/DetailQmsCode.vue b/src/components/Detail/src/DetailQmsCode.vue new file mode 100644 index 000000000..3f393da07 --- /dev/null +++ b/src/components/Detail/src/DetailQmsCode.vue @@ -0,0 +1,846 @@ + + + + + diff --git a/src/components/Detail/src/DetailQms.vue b/src/components/Detail/src/DetailQmsNumber.vue similarity index 99% rename from src/components/Detail/src/DetailQms.vue rename to src/components/Detail/src/DetailQmsNumber.vue index 443d33ccc..424b6c479 100644 --- a/src/components/Detail/src/DetailQms.vue +++ b/src/components/Detail/src/DetailQmsNumber.vue @@ -121,7 +121,7 @@ - { } // 删除上传文件 const handleRemove = (file) => { - const findex = fileList.value.map((f) => f.name).indexOf(file.name) - if (findex > -1) { - fileList.value.splice(findex, 1) + // const findex = fileList.value.map((f) => f.name).indexOf(file.name) + // if (findex > -1) { + // fileList.value.splice(findex, 1) emit('update:modelValue', listToString(fileList.value)) - } + // } } const handlePreview: UploadProps['onPreview'] = (uploadFile) => { console.log(uploadFile) + window.open(uploadFile.url) } // 对象转成指定字符串分隔 const listToString = (list: UploadUserFile[], separator?: string) => { @@ -147,6 +148,7 @@ const listToString = (list: UploadUserFile[], separator?: string) => { } return strs != '' ? strs.substr(0, strs.length - 1) : '' } + + diff --git a/src/views/qms/inspection/inspectionJob/index.vue b/src/views/qms/inspection/inspectionJob/index.vue index 6b393c63d..b5e4ed1cb 100644 --- a/src/views/qms/inspection/inspectionJob/index.vue +++ b/src/views/qms/inspection/inspectionJob/index.vue @@ -39,18 +39,27 @@ :formAllSchemasFeatures="InspectionTemplateFeatures.allSchemas" :formAllSchemasProcess="InspectionTemplateProcess.allSchemas" :formAllSchemasMain="InspectionTemplateMain.allSchemas" - :rules="InspectionTemplateRules" + :rules="InspectionJobMainRules" :formAllSchemas="InspectionJobMain.allSchemas" @submitForm="submitForm" /> + - + :isShowAddBtn="false" :detailButtonIsShow="true"/> --> { if (val == 'mainJobExe') { // 执行 - execute('update', row) + execute('execute', row) } else if (val == 'mainJobClo') { // 关闭 handleDelete(row.id) @@ -230,7 +240,7 @@ // 发起导出 exportLoading.value = true const data = await InspectionJobMainApi.exportInspectionJobMain(tableObject.params) - download.excel(data, '备件申领记录主.xlsx') + download.excel(data, '检验任务.xlsx') } catch { } finally { exportLoading.value = false @@ -257,13 +267,14 @@ // 主子数据 提交 const submitForm = async (formType, data) => { - data.subList = tableData.value // 拼接子表数据参数 + console.log(data) + // return try { if (formType === 'create') { await InspectionJobMainApi.createInspectionJobMain(data) message.success(t('common.createSuccess')) - } else { - await InspectionJobMainApi.updateInspectionJobMain(data) + } else if(formType === 'execute') { + await InspectionJobMainApi.executeInspectionJobMain(data) message.success(t('common.updateSuccess')) } formRef.value.dialogVisible = false diff --git a/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts b/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts index 91d5ab456..960ee13b3 100644 --- a/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts +++ b/src/views/qms/inspection/inspectionJob/inspectionJobMain.data.ts @@ -3,6 +3,16 @@ import { dateFormatter2 } from '@/utils/formatTime' import { validateHanset, validateEmail } from '@/utils/validator' import { dateFormatter } from '@/utils/formatTime' const { t } = useI18n() // 国际化 +import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' +const resultEntryMethodList = getStrDictOptions(DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY) +const featureTypeList = getStrDictOptions( DICT_TYPE.INSPECTION_CHARACTERISTICS_FEATURE_TYPE ) +const isCanUpdateList = [{ + label:'是', + value:true +},{ + label:'否', + value:false +}] /** * @returns {Array} 检验任务主表 @@ -13,36 +23,66 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'number', sort: 'custom', isSearch: true, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '申请单号', field: 'requestNumber', sort: 'custom', isSearch: true, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '供应商编码', field: 'supplierCode', sort: 'custom', isSearch: true, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '物料编码', field: 'materialCode', sort: 'custom', isSearch: true, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '物料批次', field: 'materialBatch', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '订单号', field: 'orderCode', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '订单行', @@ -51,7 +91,10 @@ export const InspectionJobMain = useCrudSchemas(reactive([ isSearch: false, form: { component: 'InputNumber', - value: 0 + value: 0, + componentProps:{ + disabled:true + } }, }, { @@ -59,6 +102,11 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'certificateCode', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '凭证行', @@ -67,7 +115,10 @@ export const InspectionJobMain = useCrudSchemas(reactive([ isSearch: false, form: { component: 'InputNumber', - value: 0 + value: 0, + componentProps:{ + disabled:true + } }, }, { @@ -75,6 +126,11 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'inspectionSchemeCode', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, // { // label: '检验方案Json', @@ -87,26 +143,46 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'inspectionBatch', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '检验批数量', field: 'inspectionBatchAmount', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '采样总数量', field: 'sampleTatalAmount', sort: 'custom', isSearch: false, + form: { + componentProps:{ + disabled:true + } + }, }, { label: '检验类型', field: 'inspectionType', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.INSPECTION_TYPE, + dictClass: 'string', form: { - component: 'Select' + component: 'Select', + componentProps:{ + disabled:true + } }, }, { @@ -114,6 +190,13 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'inspectionBatchSource', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.INSPECTION_BATCH_SOURCE, + dictClass: 'string', + form:{ + componentProps:{ + disabled:true + } + } }, { label: '检验阶段', @@ -122,7 +205,10 @@ export const InspectionJobMain = useCrudSchemas(reactive([ isSearch: false, form: { component: 'InputNumber', - value: 0 + value: 0, + componentProps:{ + disabled:true + } }, }, { @@ -130,18 +216,35 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'inspectionStringency', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.INSPECTION_SEVERITY, + dictClass: 'string', + form:{ + componentProps:{ + disabled:true + } + } }, { label: '检验任务包装列表', field: 'inspectionTaskPackageCode', sort: 'custom', isSearch: false, + form:{ + componentProps:{ + disabled:true + } + } }, { label: '检验任务工序列表', field: 'inspectionTaskProcessCode', sort: 'custom', isSearch: false, + form:{ + componentProps:{ + disabled:true + } + } }, { label: '计划开始时间', @@ -161,7 +264,8 @@ export const InspectionJobMain = useCrudSchemas(reactive([ component: 'DatePicker', componentProps: { type: 'datetime', - valueFormat: 'x' + valueFormat: 'x', + disabled:true } }, }, @@ -183,7 +287,8 @@ export const InspectionJobMain = useCrudSchemas(reactive([ component: 'DatePicker', componentProps: { type: 'datetime', - valueFormat: 'x' + valueFormat: 'x', + disabled:true } }, }, @@ -192,18 +297,57 @@ export const InspectionJobMain = useCrudSchemas(reactive([ field: 'inspectionLevel', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.INSPECTION_LEVEL, + dictClass: 'string', + form:{ + componentProps:{ + disabled:true + } + } }, { label: 'AQL值', field: 'aqlValue', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.BASIC_AQL, + dictClass: 'string', + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '使用决策', + field: 'usageDecision', + sort: 'custom', + isSearch: false, + dictType: DICT_TYPE.USAGE_DECISION, + form:{ + componentProps:{ + } + } }, { label: '是否可用', field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: true, sort: 'custom', - isSearch: false, + table: { + width: 150 + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE', + disabled:true + } + }, }, { label: '操作', @@ -219,24 +363,7 @@ export const InspectionJobMain = useCrudSchemas(reactive([ //表单校验 export const InspectionJobMainRules = reactive({ - number: [required], - inspectionCode: [required], - supplierCode: [required], - materialCode: [required], - materialBatch: [required], - orderCode: [required], - certificateRow: [required], - inspectionSchemeCode: [required], - inspectionSchemeJson: [required], - inspectionBatch: [required], - inspectionBatchAmount: [required], - sampleTatalAmount: [required], - inspectionType: [required], - inspectionBatchSource: [required], - inspectionStage: [required], - inspectionStringency: [required], - inspectionLevel: [required], - available: [required], + usageDecision: [required], }) /** @@ -244,25 +371,19 @@ export const InspectionJobMainRules = reactive({ */ export const InspectionJobDetail = useCrudSchemas(reactive([ { - label: '单据号', + label: '编码', field: 'number', sort: 'custom', isSearch: true, }, { - label: '任务编码', - field: 'taskCode', + label: '检验方案模板编码', + field: 'inspectionCode', sort: 'custom', isSearch: true, }, { - label: '工序编码', - field: 'processCode', - sort: 'custom', - isSearch: true, - }, - { - label: '工序描述', + label: '描述', field: 'processDescribe', sort: 'custom', isSearch: true, @@ -279,26 +400,54 @@ export const InspectionJobDetail = useCrudSchemas(reactive([ }, { label: '检验特性编号', - field: 'inspectionFeatureCode', + field: 'inspectionCharCode', sort: 'custom', isSearch: true, }, { - label: '是否可用', - field: 'available', + label: '检验特性编码', + field: 'inspectionJobCharacteristicsRespVO.number', sort: 'custom', - isSearch: true, }, { - label: '操作', - field: 'action', - isDetail: false, - isForm: false, - table: { - width: 150, - fixed: 'right' + label: '检验特性描述', + field: 'inspectionJobCharacteristicsRespVO.description', + sort: 'custom', + },{ + label: '检验方法', + field: 'inspectionJobCharacteristicsRespVO.inspectionMethodName', + sort: 'custom', + },{ + label: '采样过程编码', + field: 'inspectionJobCharacteristicsRespVO.inspectionMethod', + sort: 'custom', + },{ + label: '动态修改规则编码', + field: 'inspectionJobCharacteristicsRespVO.dynamicUpdateCode', + sort: 'custom', + },{ + label: '是否允许修改特征值', + field: 'inspectionJobCharacteristicsRespVO.isCanUpdate', + sort: 'custom', + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return isCanUpdateList.find((account) => account.value == cellValue)?.label + }, + },{ + label: '结果录入方式', + field: 'inspectionJobCharacteristicsRespVO.resultEntryMethod', + sort: 'custom', + // dictType: DICT_TYPE.INSPECTION_CHARACTERISTICS_RESULT_ENTRY, + // dictClass: 'string', + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return resultEntryMethodList.find((account) => account.value == cellValue)?.label + }, + },{ + label: '特征类型', + field: 'inspectionJobCharacteristicsRespVO.featureType', + sort: 'custom', + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return featureTypeList.find((account) => account.value == cellValue)?.label }, - isTableForm: false, } ])) diff --git a/src/views/qms/inspection/inspectionRecord/detail.vue b/src/views/qms/inspection/inspectionRecord/detail.vue new file mode 100644 index 000000000..cec8987ac --- /dev/null +++ b/src/views/qms/inspection/inspectionRecord/detail.vue @@ -0,0 +1,310 @@ + + + + + diff --git a/src/views/qms/inspection/inspectionRecord/index.vue b/src/views/qms/inspection/inspectionRecord/index.vue index 7116df0d8..89e8ab19d 100644 --- a/src/views/qms/inspection/inspectionRecord/index.vue +++ b/src/views/qms/inspection/inspectionRecord/index.vue @@ -35,17 +35,23 @@ @handleDeleteTable="handleDeleteTable" @searchTableSuccess="searchTableSuccess" @submitForm="submitForm" /> - - + @searchTableSuccessDetail="searchTableSuccessDetail" :isShowAddBtn="false" :detailButtonIsShow="true" /> --> + - diff --git a/src/views/wms/supplierManage/supplierinvoiceInvoiced/supplierinvoiceInvoiced.data.ts b/src/views/wms/supplierManage/supplierinvoiceInvoiced/supplierinvoiceInvoiced.data.ts new file mode 100644 index 000000000..aa7073a7d --- /dev/null +++ b/src/views/wms/supplierManage/supplierinvoiceInvoiced/supplierinvoiceInvoiced.data.ts @@ -0,0 +1,168 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const SupplierinvoiceInvoicedRules = reactive({ + supplierCode: [required], + poNumber: [required], + currency: [required], + concurrencyStamp: [required], +}) + +export const SupplierinvoiceInvoiced = useCrudSchemas(reactive([ + { + label: '项目编码', + field: 'projectCode', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '单据类型', + field: 'billType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + table: { + width: 150 + }, + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.SUPPLIERINVOICE_STATUS, + dictClass: 'string', + isTable: true, + isForm:false, + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + form: { + value: '1', + componentProps: { + disabled: true + } + } + }, + { + label: '单据号', + field: 'recvBillNum', + sort: 'custom', + isSearch: true, + table: { + width: 150 + }, + }, + { + label: '发货单号', + field: 'asnBillNum', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '订单号', + field: 'poNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '订单行', + field: 'poLine', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '采购价格', + field: 'purchasePrice', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '可开票数量', + field: 'invoicableQuantity', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '零件号', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '货币', + field: 'currency', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + table: { + width: 150 + }, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 200, + fixed: 'right' + } + } +]))