diff --git a/src/api/mes/dismantlingMain/index.ts b/src/api/mes/dismantlingMain/index.ts new file mode 100644 index 000000000..67bb42263 --- /dev/null +++ b/src/api/mes/dismantlingMain/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface DismantlingMainVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + dismantlingBillno: string + productionCode: string + workbillType: string +} + +// 查询报废拆解登记主列表 +export const getDismantlingMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/dismantling-main/senior', data }) + } else { + return await request.get({ url: `/mes/dismantling-main/page`, params }) + } +} + +// 查询报废拆解登记主详情 +export const getDismantlingMain = async (id: number) => { + return await request.get({ url: `/mes/dismantling-main/get?id=` + id }) +} + +// 新增报废拆解登记主 +export const createDismantlingMain = async (data: DismantlingMainVO) => { + return await request.post({ url: `/mes/dismantling-main/create`, data }) +} + +// 修改报废拆解登记主 +export const updateDismantlingMain = async (data: DismantlingMainVO) => { + return await request.put({ url: `/mes/dismantling-main/update`, data }) +} + +// 删除报废拆解登记主 +export const deleteDismantlingMain = async (id: number) => { + return await request.delete({ url: `/mes/dismantling-main/delete?id=` + id }) +} + +// 导出报废拆解登记主 Excel +export const exportDismantlingMain = async (params) => { + return await request.download({ url: `/mes/dismantling-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/dismantling-main/get-import-template' }) +} \ No newline at end of file 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/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/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/inspectionJobPackage/index.ts b/src/api/qms/inspectionJob/inspectionJobPackage/index.ts new file mode 100644 index 000000000..e4b98fd47 --- /dev/null +++ b/src/api/qms/inspectionJob/inspectionJobPackage/index.ts @@ -0,0 +1,6 @@ +import request from '@/config/axios' + +//查询检验申请列表 +export const getInspectionJobPackageList = async (id: number) => { + return await request.get({ url: `/qms/inspection-job-package/list?masterId=` + id }) +} \ No newline at end of file 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..c04557bd6 100644 --- a/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts +++ b/src/api/qms/inspectionRecord/inspectionRecordMain/index.ts @@ -28,38 +28,42 @@ 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' }) +} +// 发布 +export const publishInspectionRecordMain = async (data ) => { + return await request.put({ url: `/qms/inspection-record-main/publish`, data }) } 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/UploadFile/src/UploadFile.vue b/src/components/UploadFile/src/UploadFile.vue index 1f8b90948..a05ff581f 100644 --- a/src/components/UploadFile/src/UploadFile.vue +++ b/src/components/UploadFile/src/UploadFile.vue @@ -56,7 +56,7 @@ const props = defineProps({ title: propTypes.string.def('文件上传'), updateUrl: propTypes.string.def(import.meta.env.VITE_UPLOAD_URL), upData: propTypes.object.def(), - fileType: propTypes.array.def(['doc', 'xls', 'ppt', 'txt', 'pdf', 'pdf','png', 'jpg', 'jpeg']), // 文件类型, 例如['png', 'jpg', 'jpeg'] + fileType: propTypes.array.def(['apk','doc', 'xls', 'ppt', 'txt', 'pdf', 'pdf','png', 'jpg', 'jpeg']), // 文件类型, 例如['png', 'jpg', 'jpeg'] fileSize: propTypes.number.def(5), // 大小限制(MB) limit: propTypes.number.def(5), // 数量限制 autoUpload: propTypes.bool.def(true), // 自动上传 @@ -137,6 +137,7 @@ const handleRemove = (file) => { } 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 e74a0128d..6f95beb7e 100644 --- a/src/views/qms/inspection/inspectionJob/index.vue +++ b/src/views/qms/inspection/inspectionJob/index.vue @@ -27,48 +27,43 @@ - - - - - + :isShowAddBtn="false" :detailButtonIsShow="true" + /> + + + + diff --git a/src/views/qms/inspection/inspectionRecord/index.vue b/src/views/qms/inspection/inspectionRecord/index.vue index 7116df0d8..ae0e3ab24 100644 --- a/src/views/qms/inspection/inspectionRecord/index.vue +++ b/src/views/qms/inspection/inspectionRecord/index.vue @@ -35,27 +35,37 @@ @handleDeleteTable="handleDeleteTable" @searchTableSuccess="searchTableSuccess" @submitForm="submitForm" /> - - - - + @searchTableSuccessDetail="searchTableSuccessDetail" :isShowAddBtn="false" :detailButtonIsShow="true" /> --> + + + diff --git a/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts b/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts index 11ea76270..436752732 100644 --- a/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts +++ b/src/views/qms/inspection/inspectionRecord/inspectionRecordMain.data.ts @@ -13,72 +13,84 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'number', sort: 'custom', isSearch: true, + isForm:false }, { label: '申请编码', field: 'applicationCode', sort: 'custom', isSearch: true, + isForm:false }, { label: '任务编码', field: 'taskCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '供应商编码', field: 'supplierCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '物料编码', field: 'materialCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '批次', field: 'batch', sort: 'custom', isSearch: false, + isForm:false }, { label: '检验方案编码', field: 'inspectionSchemeCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '检验方案Json', field: 'inspectionSchemeJson', sort: 'custom', isSearch: false, + isForm:false }, { label: '检验批次', field: 'inspectionBatch', sort: 'custom', isSearch: false, + isForm:false }, { label: '检验批数量', field: 'inspectionBatchAmount', sort: 'custom', isSearch: false, + isForm:false }, { label: '采样总数量', field: 'sampleTatalAmount', sort: 'custom', isSearch: false, + isForm:false }, { label: '检验类型', field: 'inspectionType', sort: 'custom', isSearch: false, + isForm:false, form: { component: 'Select' }, @@ -88,18 +100,21 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'inspectionBatchSource', sort: 'custom', isSearch: false, + isForm:false }, { label: '订单号', field: 'orderCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '订单行', field: 'orderRow', sort: 'custom', isSearch: false, + isForm:false, form: { component: 'InputNumber', value: 0 @@ -110,12 +125,14 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'certificateCode', sort: 'custom', isSearch: false, + isForm:false }, { label: '凭证行', field: 'certificateRow', sort: 'custom', isSearch: false, + isForm:false, form: { component: 'InputNumber', value: 0 @@ -126,6 +143,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'inspectionStage', sort: 'custom', isSearch: false, + isForm:false, form: { component: 'InputNumber', value: 0 @@ -136,12 +154,14 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'inspectionStringency', sort: 'custom', isSearch: false, + isForm:false, }, { label: '使用决策', field: 'useDecision', sort: 'custom', isSearch: false, + isForm:false }, { label: '计划开始时间', @@ -149,6 +169,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ sort: 'custom', formatter: dateFormatter, isSearch: false, + isForm:false, search: { component: 'DatePicker', componentProps: { @@ -171,6 +192,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ sort: 'custom', formatter: dateFormatter, isSearch: false, + isForm:false, search: { component: 'DatePicker', componentProps: { @@ -193,6 +215,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ sort: 'custom', formatter: dateFormatter, isSearch: false, + isForm:false, search: { component: 'DatePicker', componentProps: { @@ -215,6 +238,7 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ sort: 'custom', formatter: dateFormatter, isSearch: false, + isForm:false, search: { component: 'DatePicker', componentProps: { @@ -236,18 +260,29 @@ export const InspectionRecordMain = useCrudSchemas(reactive([ field: 'inspectionLevel', sort: 'custom', isSearch: false, + isForm:false, }, { label: 'AQL值', field: 'aqlValue', sort: 'custom', isSearch: false, + isForm:false, }, { label: '是否可用', field: 'available', sort: 'custom', isSearch: false, + isForm:false, + }, + { + label: '使用决策', + field: 'useDecision', + sort: 'custom', + isSearch: false, + dictType: DICT_TYPE.USAGE_DECISION, + }, { label: '创建时间', diff --git a/src/views/qms/inspectionMethod/index.vue b/src/views/qms/inspectionMethod/index.vue index f126f6799..ba2d7158f 100644 --- a/src/views/qms/inspectionMethod/index.vue +++ b/src/views/qms/inspectionMethod/index.vue @@ -42,6 +42,13 @@ { /** 添加/修改操作 */ const basicFormRef = ref() const openForm = (type: string, row?: any) => { + // debugger + console.log(row) + if(row && row.videoAddress.trim()){ + row.filePathList = row.videoAddress.split(',') + } + + if (row && row.filePathList && row.filePathList.length > 0) { + row.filePathListView = row.filePathList.map((item) => { + return { + name: item, + url: item + } + }) + } + if(type=='create'){ + const currentTime = new Date().getTime() + const fileId = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='fileId') + const uploadFile = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='videoAddress') + if(fileId){ + fileId['value'] = currentTime + } + if(uploadFile){ + uploadFile['componentProps']['upData']['tableId'] = currentTime + uploadFile['componentProps']['modelValue']= [] + } + }else if(type=='update'){ + const uploadFile = InspectionMethod.allSchemas.formSchema.find(item=>item.field=='videoAddress') + uploadFile['componentProps']['modelValue']= row.filePathListView + + } basicFormRef.value.open(type, row) } // form表单提交 const formsSuccess = async (formType,data) => { - var isHave =InspectionMethod.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') { + + delete data['uploadFile'] await InspectionMethodApi.createInspectionMethod(data) message.success(t('common.createSuccess')) } else { + // debugger await InspectionMethodApi.updateInspectionMethod(data) message.success(t('common.updateSuccess')) } diff --git a/src/views/qms/inspectionMethod/inspectionMethod.data.ts b/src/views/qms/inspectionMethod/inspectionMethod.data.ts index 8464df82b..136dfbb44 100644 --- a/src/views/qms/inspectionMethod/inspectionMethod.data.ts +++ b/src/views/qms/inspectionMethod/inspectionMethod.data.ts @@ -5,6 +5,7 @@ import { dateFormatter } from '@/utils/formatTime' export const InspectionMethodRules = reactive({ code: [required], available: [required], + description: [required], }) export const InspectionMethod = useCrudSchemas(reactive([ @@ -36,11 +37,6 @@ export const InspectionMethod = useCrudSchemas(reactive([ field: 'operationGuidance', sort: 'custom', }, - { - label: '视频地址', - field: 'videoAddress', - sort: 'custom', - }, { label: '是否可用', field: 'available', @@ -51,6 +47,26 @@ export const InspectionMethod = useCrudSchemas(reactive([ component: 'SelectV2' }, }, + { + label: '文件', + field: 'videoAddress', + sort: 'custom', + isTable: false, + table: { + }, + form: { + component: 'UploadFile', + componentProps: { + upData:{ + tableName:'basicInspectionMethod', + tableId:'', + }, + fileType:['doc', 'xls', 'ppt', 'txt'], + modelValue:[] + }, + + } + }, { label: '创建时间', field: 'createTime', @@ -66,5 +82,5 @@ export const InspectionMethod = useCrudSchemas(reactive([ width: 150, fixed: 'right' } - } + }, ])) diff --git a/src/views/qms/samplingProcess/samplingProcess.data.ts b/src/views/qms/samplingProcess/samplingProcess.data.ts index 30b2ff8fc..22411b5bc 100644 --- a/src/views/qms/samplingProcess/samplingProcess.data.ts +++ b/src/views/qms/samplingProcess/samplingProcess.data.ts @@ -7,6 +7,7 @@ export const SamplingProcessRules = reactive({ sampleType: [required], evaluationMode: [required], available: [required], + description: [required], }) export const SamplingProcess = useCrudSchemas(reactive([ diff --git a/src/views/qms/samplingScheme/samplingScheme.data.ts b/src/views/qms/samplingScheme/samplingScheme.data.ts index cd022a923..d75fecad2 100644 --- a/src/views/qms/samplingScheme/samplingScheme.data.ts +++ b/src/views/qms/samplingScheme/samplingScheme.data.ts @@ -4,8 +4,8 @@ import { dateFormatter } from '@/utils/formatTime' // 表单校验 export const SamplingSchemeRules = reactive({ code: [required], - // status: [required], available: [required], + description: [required], }) export const SamplingScheme = useCrudSchemas(reactive([ diff --git a/src/views/system/systemInstallPackage/index.vue b/src/views/system/systemInstallPackage/index.vue index e6475b35e..83e7323c2 100644 --- a/src/views/system/systemInstallPackage/index.vue +++ b/src/views/system/systemInstallPackage/index.vue @@ -141,9 +141,14 @@ const openForm = (type: string, row?: any) => { if('create'==type){ const currentTime = new Date().getTime() const fileId = SystemInstallPackage.allSchemas.formSchema.find(item=>item.field=='fileId') - fileId['value'] = currentTime const uploadFile = SystemInstallPackage.allSchemas.formSchema.find(item=>item.field=='uploadFile') - uploadFile['componentProps']['upData']['tableId'] = currentTime + if(fileId){ + fileId['value'] = currentTime + } + if(uploadFile){ + uploadFile['componentProps']['upData']['tableId'] = currentTime + } + } basicFormRef.value.open(type, row) } diff --git a/src/views/system/systemInstallPackage/systemInstallPackage.data.ts b/src/views/system/systemInstallPackage/systemInstallPackage.data.ts index 9533653c4..db884d927 100644 --- a/src/views/system/systemInstallPackage/systemInstallPackage.data.ts +++ b/src/views/system/systemInstallPackage/systemInstallPackage.data.ts @@ -14,6 +14,7 @@ export const SystemInstallPackage = useCrudSchemas(reactive([ label: 'id', field: 'id', sort: 'custom', + isForm:false, }, { label: '安装包名称', @@ -25,6 +26,13 @@ export const SystemInstallPackage = useCrudSchemas(reactive([ label: '安装包版本', field: 'installPackageVersion', sort: 'custom', + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6 + } + }, }, { label: '安装路径', @@ -64,6 +72,7 @@ export const SystemInstallPackage = useCrudSchemas(reactive([ label: '附件id', field: 'fileId', sort: 'custom', + isForm:false, form: { componentProps: { disabled: true @@ -87,7 +96,9 @@ export const SystemInstallPackage = useCrudSchemas(reactive([ tableId: '', tableName: '' }, - limit:1 + limit:1, + fileType:['apk'], + fileSize:35 } }, }, diff --git a/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts b/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts index 56dee32d7..a7f717be3 100644 --- a/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/sparepartsrequisition/sparepartsrequisitionRequestMain/sparepartsrequisitionRequestMain.data.ts @@ -341,6 +341,12 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive([ //表单校验 export const UnplannedissueRequestMainRules = reactive({ + requestTime: [ + { required: true, message: '请输入申请时间', trigger: 'blur' } + ], + dueTime: [ + { required: true, message: '请输入截止时间', trigger: 'blur' } + ], departmentCode: [ { required: true, message: '请输入部门', trigger: 'blur' } ], diff --git a/src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts b/src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts index ba669b9a1..123091620 100644 --- a/src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/unplannedissue/unplannedissueRequestMain/unplannedissueRequestMain.data.ts @@ -341,6 +341,12 @@ export const UnplannedissueRequestMain = useCrudSchemas(reactive([ //表单校验 export const UnplannedissueRequestMainRules = reactive({ + requestTime: [ + { required: true, message: '请输入申请时间', trigger: 'blur' } + ], + dueTime: [ + { required: true, message: '请输入截止时间', trigger: 'blur' } + ], departmentCode: [ { required: true, message: '请输入部门', trigger: 'blur' } ], diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue index 78cbb6234..08c26203e 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue @@ -113,6 +113,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as ItembasicApi from "@/api/wms/itembasic"; import * as PackageApi from "@/api/wms/package"; import { formatTime } from '@/utils/index' +import { getAccessToken } from '@/utils/auth' // 计划外入库申请 defineOptions({ name: 'UnplannedreceiptRequestMain' }) @@ -284,16 +285,17 @@ const butttondata = (row) => { defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:unplannedreceipt-request-main:handle'}), // 处理 defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:unplannedreceipt-request-main:update'}), // 编辑 // defaultButtons.mainListDeleteBtn({hasPermi:'wms:unplannedreceipt-request-main:delete'}), // 删除 - { - label: '创建标签', - name: 'cjbq', - hide: isShowMainButton(row,['3']), - type: 'primary', - icon: '', - color: '', - hasPermi: '', - link: true, // 文本展现按钮 - }, + { + label: '创建标签', + name: 'cjbq', + hide: isShowMainButton(row,['3']), + type: 'primary', + icon: '', + color: '', + hasPermi: '', + link: true, // 文本展现按钮 + }, + defaultButtons.mainListPointBtn({ hide: isShowMainButton(row, ['3','8']) }), // 标签打印 ] } @@ -322,6 +324,9 @@ const buttonTableClick = async (val, row) => { openForm('update', row) } else if (val == 'delete') { // 删除 handleDelete(row.id) + } else if (val == 'point') { + // 标签打印 + labelPrint(row) } else if( val == 'cjbq'){// 创建标签 // 判断 是否已创建标签 let isCreateLabel = false @@ -643,6 +648,13 @@ const tableFormSelectOnBlur = (field, val, row, index) => { } } +// 标签打印 +const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL +const src = ref(BASE_URL + '/jmreport/view/936912164754612224?token=' + getAccessToken()) +const labelPrint = async (row) => { + window.open(src.value + '&request_number=' + row.number) +} + /** 初始化 **/ onMounted(async () => { getList() diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts index 145c1496e..d54304c6c 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts @@ -1027,6 +1027,90 @@ export const UnplannedreceiptRequestDetailLabel = useCrudSchemas(reactive([ width: 150 }, tableForm: { - type: 'Select' + type: 'Select', + disabled: true } }, { diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts index 8ee02b3a1..719ebdd67 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts @@ -450,13 +450,10 @@ export const PurchaseDetail = useCrudSchemas(reactive([ dictClass: 'string', isSearch: true, isTable: true, + isTableForm:false, table: { width: 150 }, - tableForm: { - disabled:true, - type: 'Select' - } }, { label: '订单数量', diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts index 30af09ab2..596f7a406 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts @@ -520,7 +520,8 @@ export const PurchasePlanDetail = useCrudSchemas(reactive([ width: 150 }, tableForm: { - type: 'Select' + type: 'Select', + disabled:false, } }, { diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue index 100b5e5c6..174c0ada1 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue @@ -251,10 +251,10 @@ // 列表-操作按钮 const butttondata = (row) => { return [ - defaultButtons.mainListPurchasePlanOpeBtn({ hide: isShowMainButton(row, ['1',, '2','4']) }), // 打开 + defaultButtons.mainListPurchasePlanOpeBtn({ hide: isShowMainButton(row, ['1']) }), // 打开 defaultButtons.mainListPlanSubBtn({ hide: isShowMainButton(row, ['1']) }), // 提交审批 { - label: '采购审批通过', + label: '采购通过', name: 'purchase_mainPlanSub', hide: isShowMainButton(row, ['2','7']), type: 'primary', @@ -272,7 +272,16 @@ hasPermi: '' }, { - label: '财务审批通过', + label: '供应商确认', + name: 'invoice_sent_out', + hide: isShowMainButton(row, ['8']), + type: 'danger', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }, + { + label: '财务通过', name: 'finance_mainPlanSub', hide: isShowMainButton(row, ['4']), type: 'primary', @@ -291,8 +300,8 @@ }, // defaultButtons.mainListPlanAppBtn({ hide: isShowMainButton(row, ['2']) }), // 审批通过 //defaultButtons.mainListPlanTurBtn({ hide: isShowMainButton(row, ['2']) }), // 驳回按钮 - defaultButtons.mainListEditBtn({ hasPermi: 'wms:supplierinvoice-request-main:update' , hide: isShowMainButton(row, ['1','6'])}), // 编辑 - defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1', '2','4']) }), // 关闭 + defaultButtons.mainListEditBtn({ hasPermi: 'wms:supplierinvoice-request-main:update' , hide: isShowMainButton(row, ['1','8'])}), // 编辑 + defaultButtons.mainListPurchasePlanCloBtn({ hide: isShowMainButton(row, ['1','8']) }), // 关闭 // 生成记录 // { // label: '处理', @@ -326,6 +335,8 @@ const handleImport = () => { handleApp(row.id) } else if (val == 'purchase_mainPlanTur') { // 采购驳回按钮 handleTur(row.id) + } else if (val == 'invoice_sent_out') { // 发票寄出确认 + handleInvoiceSentOut(row.id) } else if(val == 'finance_mainPlanSub'){ // 财务审批通过 handleFinanceApp(row.id) } else if(val == 'finance_mainPlanTur'){ //财务审批拒绝 @@ -478,6 +489,23 @@ const handleImport = () => { } } + /** 发票寄出确认按钮操作 */ + const handleInvoiceSentOut = async (id : number) => { + try { + // 驳回的二次确认 + await message.confirm('是否确认发票寄出选中数据?') + tableObject.loading = true + // 发起驳回 + await SupplierinvoiceRequestMainApi.invoiceSentOutSupplierinvoiceRequestMain(id) + message.success(t('发票寄出成功!')) + tableObject.loading = false + // 刷新列表 + await getList() + } catch { }finally{ + tableObject.loading = false + } + } + /** 驳回按钮操作 */ const handleFinaceTur = async (id : number) => { try { diff --git a/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue b/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue new file mode 100644 index 000000000..19982feb2 --- /dev/null +++ b/src/views/wms/supplierManage/supplierinvoiceInvoiced/index.vue @@ -0,0 +1,310 @@ + + + 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' + } + } +]))