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/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/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 26e97d622..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), // 自动上传 diff --git a/src/components/Verifition/src/Verify/VerifyPoints.vue b/src/components/Verifition/src/Verify/VerifyPoints.vue index 9d04f291e..0c2745048 100644 --- a/src/components/Verifition/src/Verify/VerifyPoints.vue +++ b/src/components/Verifition/src/Verify/VerifyPoints.vue @@ -148,6 +148,8 @@ onMounted(() => { } }) const canvas = ref(null) +const timer1 = ref(0) +const timer2 = ref(0) const canvasClick = (e) => { checkPosArr.push(getMousePos(canvas, e)) if (num.value == checkNum.value) { @@ -157,7 +159,7 @@ const canvasClick = (e) => { checkPosArr.length = 0 checkPosArr.push(...arr) //等创建坐标执行完 - setTimeout(() => { + timer1.value = setTimeout(() => { // var flag = this.comparePos(this.fontPos, this.checkPosArr); //发送后端请求 var captchaVerification = secretKey.value @@ -177,9 +179,13 @@ const canvasClick = (e) => { text.value = t('captcha.success') bindingClick.value = false if (mode.value == 'pop') { - setTimeout(() => { + timer2.value = setTimeout(() => { proxy.$parent.clickShow = false refresh() + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } }, 1500) } proxy.$parent.$emit('success', { captchaVerification }) @@ -188,17 +194,33 @@ const canvasClick = (e) => { barAreaColor.value = '#d9534f' barAreaBorderColor.value = '#d9534f' text.value = t('captcha.fail') - setTimeout(() => { + timer2.value = setTimeout(() => { refresh() + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } }, 700) } }) + if(timer1.value){ + clearTimeout(timer1.value) + timer1.value = 0 + } }, 400) } if (num.value < checkNum.value) { num.value = createPoint(getMousePos(canvas, e)) } } +onBeforeUnmount(() => { + if(timer1.value){ + clearTimeout(timer1.value) + } + if(timer2.value){ + clearTimeout(timer2.value) + } +}) //获取坐标 const getMousePos = function (obj, e) { var x = e.offsetX diff --git a/src/components/Verifition/src/Verify/VerifySlide.vue b/src/components/Verifition/src/Verify/VerifySlide.vue index 8b448b0de..aa11ad132 100644 --- a/src/components/Verifition/src/Verify/VerifySlide.vue +++ b/src/components/Verifition/src/Verify/VerifySlide.vue @@ -295,9 +295,14 @@ const end = () => { showRefresh.value = false isEnd.value = true if (mode.value == 'pop') { - setTimeout(() => { + let timer + timer = setTimeout(() => { proxy.$parent.clickShow = false refresh() + if(timer){ + clearTimeout(timer) + timer = null + } }, 1500) } passFlag.value = true @@ -309,10 +314,15 @@ const end = () => { secretKey.value ) : backToken.value + '---' + JSON.stringify({ x: moveLeftDistance, y: 5.0 }) - setTimeout(() => { + let timer + timer = setTimeout(() => { tipWords.value = '' proxy.$parent.closeBox() proxy.$parent.$emit('success', { captchaVerification }) + if(timer){ + clearTimeout(timer) + timer = null + } }, 1000) } else { moveBlockBackgroundColor.value = '#d9534f' @@ -320,13 +330,23 @@ const end = () => { iconColor.value = '#fff' iconClass.value = 'icon-close' passFlag.value = false - setTimeout(function () { + let timer + timer = setTimeout(()=>{ refresh() + if(timer){ + clearTimeout(timer) + timer = null + } }, 1000) proxy.$parent.$emit('error', proxy) tipWords.value = t('captcha.fail') - setTimeout(() => { + let timer1 + timer1 = setTimeout(() => { tipWords.value = '' + if(timer1){ + clearTimeout(timer1) + timer1 = null + } }, 1000) } }) @@ -351,10 +371,15 @@ const refresh = async () => { isEnd.value = false await getPictrue() - setTimeout(() => { + let timer + timer = setTimeout(() => { transitionWidth.value = '' transitionLeft.value = '' text.value = explain.value + if(timer){ + clearTimeout(timer) + timer = null + } }, 300) } diff --git a/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue b/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue index 639c1cb2d..6d64b3b7c 100644 --- a/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue +++ b/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue @@ -76,6 +76,9 @@ const resetBaseInfo = () => { // elementBaseInfo.value = JSON.parse(JSON.stringify(bpmnElement.value.businessObject)) console.log(elementBaseInfo.value, 'elementBaseInfo22222222222') } +const timer1 = ref() +const timer2 = ref() +const timer3 = ref() const handleKeyUpdate = (value) => { // 校验 value 的值,只有 XML NCName 通过的情况下,才进行赋值。否则,会导致流程图报错,无法绘制的问题 if (!value) { @@ -90,8 +93,12 @@ const handleKeyUpdate = (value) => { // 在 BPMN 的 XML 中,流程标识 key,其实对应的是 id 节点 elementBaseInfo.value['id'] = value - setTimeout(() => { + timer1.value = setTimeout(() => { updateBaseInfo('id') + if(timer1.value){ + clearTimeout(timer1.value) + timer1.value = 0 + } }, 100) } const handleNameUpdate = (value) => { @@ -101,8 +108,12 @@ const handleNameUpdate = (value) => { } elementBaseInfo.value['name'] = value - setTimeout(() => { + timer2.value = setTimeout(() => { updateBaseInfo('name') + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } }, 100) } // const handleDescriptionUpdate=(value)=> { @@ -140,10 +151,14 @@ const updateBaseInfo = (key) => { } onMounted(() => { // 针对上传的 bpmn 流程图时,需要延迟 1 秒的时间,保证 key 和 name 的更新 - setTimeout(() => { + timer3.value = setTimeout(() => { console.log(props.model, 'props.model') handleKeyUpdate(props.model.key) handleNameUpdate(props.model.name) + if(timer3.value){ + clearTimeout(timer3.value) + timer3.value = 0 + } console.log(props, 'propsssssssssssssssssssss') }, 1000) }) @@ -180,5 +195,17 @@ watch( // } onBeforeUnmount(() => { bpmnElement.value = null + if(timer1.value){ + clearTimeout(timer1.value) + timer1.value = 0 + } + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } + if(timer3.value){ + clearTimeout(timer3.value) + timer3.value = 0 + } }) diff --git a/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js b/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js index bb71d4420..e0da73e77 100644 --- a/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js +++ b/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js @@ -22,9 +22,13 @@ export default { methodName: binding.expression, bindingFn: binding.value } - - setTimeout(() => { + let timer + timer = setTimeout(() => { document.addEventListener('touchstart', documentHandler) // 为document绑定事件 + if(timer){ + clearTimeout(timer) + timer = null + } }) }, update(el, binding) { diff --git a/src/components/iFrame/src/IFrame.vue b/src/components/iFrame/src/IFrame.vue index 85b3e3c34..5d2626d6d 100644 --- a/src/components/iFrame/src/IFrame.vue +++ b/src/components/iFrame/src/IFrame.vue @@ -14,6 +14,8 @@ const init = () => { height.value = document.documentElement.clientHeight - 94.5 + 'px' loading.value = false } +const timer1 = ref() +const timer2 = ref() console.log(props.src); function populateIframe(iframe, headers) { @@ -37,14 +39,33 @@ function populateIframe(iframe, headers) { onMounted(() => { - setTimeout(() => { + timer1.value = setTimeout(() => { var iframe = document.querySelector("#iframe"); populateIframe(iframe, [["Authorization", 'Bearer ' + getAccessToken()], ["tenant-id", getTenantId()]]); + if(timer1.value){ + clearTimeout(timer1.value) + timer1.value = 0 + } }, 300); - setTimeout(() => { + timer2.value = setTimeout(() => { init() + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } }, 300) }) + +onBeforeUnmount(() => { + if(timer1.value){ + clearTimeout(timer1.value) + timer1.value = 0 + } + if(timer2.value){ + clearTimeout(timer2.value) + timer2.value = 0 + } +}) 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' + } + } +]))