From 69f0e0caec81d68761bcfd6d138c8635bba89b55 Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Fri, 13 Dec 2024 13:38:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?YT-1643=E8=A1=A5=E7=BB=99=E5=93=81=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A1=E5=88=92=E3=80=81=E5=8F=B7=E5=8F=A3=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A1=E5=88=92=E5=8F=98=E6=9B=B4=EF=BC=9A12-12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemManage/itembasic/itembasic.data.ts | 2 +- .../productionlineitem.data.ts | 160 ++++++++++++++++++ .../productionplan/productionMain/index.vue | 2 + .../productionMain/productionMain.data.ts | 149 ++++++++++------ .../productionMainAssemble/index.vue | 2 + .../productionMainAssemble.data.ts | 78 +++++++-- 6 files changed, 325 insertions(+), 68 deletions(-) diff --git a/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts b/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts index ad2840351..77a7a04e0 100644 --- a/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itembasic/itembasic.data.ts @@ -245,7 +245,7 @@ export const Itembasic = useCrudSchemas(reactive([ }, }, { - label: '项目', + label: '车型', field: 'project', sort: 'custom', table: { diff --git a/src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts b/src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts index e0e5f7198..57e28346d 100644 --- a/src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts +++ b/src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts @@ -307,3 +307,163 @@ export const ProductionlineitemRules = reactive({ { required: true, message: '请选择是否可用', trigger: 'change' } ], }) + +/** + * @returns {Array} 生产线物料关系加上物料基本信息 + */ +export const ProductionlineitemInfo = useCrudSchemas(reactive([ + { + label: '产线代码', + field: 'productionLineCode', + isSearch: true, + sort: 'custom', + table: { + width: 150, + fixed: 'left' + }, + isForm: true, + form: { + show: true, + component: 'SelectV2', + // value:'undefined', + value: lineCodeData?.list.length > 0 ? lineCodeData.list[0].code : 'undefined', + // labelMessage: '信息提示说明!!!', + componentProps: { + // isSearchList: true, + filterable: true, + placeholder: '请选择产线代码', + searchField: 'code', + // searchTitle: '生产线信息', + // searchAllSchemas: Productionline.allSchemas, + // searchPage: ProductionLineCodeApi.getProductionlinePage + options: lineCodeData.list.map(item => ({ + label: item.code, + value: item.code + })) + } + }, + }, + { + label: '品番', + field: 'itemCode', + isSearch: true, + sort: 'custom', + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, + searchListPlaceholder: '请选择物料代码', + searchField: 'code', + searchTitle: '物料信息', + searchAllSchemas: Itembasic.allSchemas, + searchPage: ItembasicApi.getItembasicPage, + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 + searchCondition: [ + { + key: 'enableMake', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + }, + { + key: 'type', + value: confgiData.itemType, + action: 'notin', + isSearch: true, + isMainValue: false + }, + { + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + } + ] + } + } + }, + { + label: '品名', + field: 'itemCode', + }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, + { + label: '车型', + field: 'vehicleType', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, + { + label: '创建时间', + field: 'createTime', + isForm: false, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '创建者', + field: 'creator', + isForm: false, + isTable: true + }, + + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/productionManage/productionplan/productionMain/index.vue b/src/views/wms/productionManage/productionplan/productionMain/index.vue index f3c5a0503..04e3b9276 100644 --- a/src/views/wms/productionManage/productionplan/productionMain/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMain/index.vue @@ -150,6 +150,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => console.log(res) if(res?.list?.length>0){ newRow['bomVersion'] = res.list[0].version + } else { + newRow['bomVersion'] = "1" } }) tableData.value.push(newRow) diff --git a/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts b/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts index 2c914a9e7..ad36bcc6a 100644 --- a/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts +++ b/src/views/wms/productionManage/productionplan/productionMain/productionMain.data.ts @@ -12,7 +12,7 @@ import { Shift } from '@/views/wms/basicDataManage/orderManage/shift/shift.data' import * as TeamApi from '@/api/wms/team' import { Team } from '@/views/wms/basicDataManage/orderManage/team/team.data' import * as ProductionlineitemApi from '@/api/wms/productionlineitem' -import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' +import { Productionlineitem, ProductionlineitemInfo } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' import * as BomApi from '@/api/wms/bom' import { Bom } from '@/views/wms/basicDataManage/itemManage/bom/bom.data' @@ -43,6 +43,7 @@ export const ProductionMain = useCrudSchemas(reactive([ }, isForm: false, isSearch: true, + sortSearchDefault:1, }, { label: '客户订单号', @@ -51,7 +52,8 @@ export const ProductionMain = useCrudSchemas(reactive([ isSearch: true, table: { width: 150, - } + }, + sortSearchDefault: 2, }, { label: '计划类型', @@ -89,6 +91,7 @@ export const ProductionMain = useCrudSchemas(reactive([ // } // }, isSearch: true, + sortSearchDefault: 3, }, { label: '顺序', @@ -177,7 +180,9 @@ export const ProductionMain = useCrudSchemas(reactive([ isFormModel: true, }], // 失去焦点校验参数 } - } + }, + isSearch:true, + sortSearchDefault: 6, }, { label: '班组', @@ -285,7 +290,9 @@ export const ProductionMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, - sortTableDefault:1000, + sortTableDefault: 1000, + sortSearchDefault: 4, + isTable: false, form: { component: 'DatePicker', componentProps: { @@ -307,7 +314,7 @@ export const ProductionMain = useCrudSchemas(reactive([ table: { width: 180 }, - sortTableDefault:1000, + sortTableDefault: 1000, form: { component: 'DatePicker', componentProps: { @@ -329,7 +336,7 @@ export const ProductionMain = useCrudSchemas(reactive([ table: { width: 180 }, - sortTableDefault:1000, + sortTableDefault: 1000, form: { component: 'DatePicker', componentProps: { @@ -562,6 +569,7 @@ export const ProductionMain = useCrudSchemas(reactive([ width: 150 }, isTable: true, + sortTableDefault: 1000, isForm: false, }, { @@ -576,6 +584,7 @@ export const ProductionMain = useCrudSchemas(reactive([ width: 180 }, isTable: true, + sortTableDefault: 1000, form: { component: 'DatePicker', componentProps: { @@ -586,7 +595,7 @@ export const ProductionMain = useCrudSchemas(reactive([ } }, isForm: false, - isSearch: true, + isSearch: false, search: { component: 'DatePicker', componentProps: { @@ -688,7 +697,7 @@ export const ProductionMainRules = reactive({ */ export const ProductionDetail = useCrudSchemas(reactive([ { - label: '物料代码', + label: '品番', field: 'itemCode', sort: 'custom', isSearch: true, @@ -699,10 +708,10 @@ export const ProductionDetail = useCrudSchemas(reactive([ // labelMessage: '信息提示说明!!!', componentProps: { isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchListPlaceholder: '请选择品番', // 输入框占位文本 searchField: 'itemCode', // 查询弹窗赋值字段 searchTitle: '生产线物料关系信息', // 查询弹窗标题 - searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchAllSchemas: ProductionlineitemInfo.allSchemas, // 查询弹窗所需类 searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [{ key:'productionLineCode', @@ -717,14 +726,15 @@ export const ProductionDetail = useCrudSchemas(reactive([ } }, + sortSearchDefault: 5, tableForm:{ multiple:true, disabled:true, // isInpuFocusShow: true, - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchListPlaceholder: '请选择品番', // 输入框占位文本 searchField: 'itemCode', // 查询弹窗赋值字段 searchTitle: '生产线物料关系信息', // 查询弹窗标题 - searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchAllSchemas: ProductionlineitemInfo.allSchemas, // 查询弹窗所需类 searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [{ key:'productionLineCode', @@ -750,7 +760,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ }, }, { - label: '物料名称', + label: '品名', field: 'itemName', sort: 'custom', table: { @@ -765,6 +775,38 @@ export const ProductionDetail = useCrudSchemas(reactive([ disabled: true } }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, + { + label: '车型', + field: 'vehicleType', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, { label: 'Bom版本', field: 'bomVersion', @@ -772,10 +814,13 @@ export const ProductionDetail = useCrudSchemas(reactive([ table: { width: 150 }, + isTableForm: false, + isTable: false, form: { // labelMessage: '信息提示说明!!!', componentProps: { - isSearchList: true, // 开启查询弹窗 + disabled:true, + isSearchList: false, // 开启查询弹窗 searchListPlaceholder: '请选择Bom版本', // 输入框占位文本 searchField: 'version', // 查询弹窗赋值字段 searchTitle: '物料清单信息', // 查询弹窗标题 @@ -793,8 +838,9 @@ export const ProductionDetail = useCrudSchemas(reactive([ }] } }, - tableForm:{ - isInpuFocusShow: true, + tableForm: { + disabled: true, + isInpuFocusShow: false, searchListPlaceholder: '请选择Bom版本', // 输入框占位文本 searchField: 'version', // 查询弹窗赋值字段 searchTitle: '物料清单信息', // 查询弹窗标题 @@ -812,40 +858,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ }] }, }, - { - label: '计划日期', - field: 'planDate', - formatter: dateFormatter2, - detail: { - dateFormat: 'YYYY-MM-DD' - }, - sort: 'custom', - table: { - width: 120 - }, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange', - defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - } - }, - isSearch: true, - isTableForm: false, - isForm: false, - // hiddenInMain: true, - sortTableDefault:1000, - form: { - component: 'DatePicker', - componentProps: { - style: {width: '100%'}, - type: 'date', - dateFormat: 'YYYY-MM-DD', - valueFormat: 'x', - } - }, - }, + { label: '计划数量', field: 'planQty', @@ -873,7 +886,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ field: 'uom', dictType: DICT_TYPE.UOM, dictClass: 'string', - isSearch: true, + isSearch: false, isTable: true, sort: 'custom', table: { @@ -891,6 +904,40 @@ export const ProductionDetail = useCrudSchemas(reactive([ dictClass: 'string' } }, + { + label: '计划日期', + field: 'planDate', + formatter: dateFormatter2, + detail: { + dateFormat: 'YYYY-MM-DD' + }, + sort: 'custom', + table: { + width: 120 + }, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isSearch: true, + isTableForm: false, + isForm: false, + // hiddenInMain: true, + sortSearchDefault: 4, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'date', + dateFormat: 'YYYY-MM-DD', + valueFormat: 'x', + } + }, + }, { label: '合格数量', field: 'goodQty', diff --git a/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue b/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue index 6a2163d8d..dea878132 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue +++ b/src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue @@ -148,6 +148,8 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => console.log(res) if(res?.list?.length>0){ newRow['bomVersion'] = res.list[0].version + } else { + newRow['bomVersion'] = "1" } }) tableData.value.push(newRow) diff --git a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts index 079fec9ef..5b1c263f5 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts +++ b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts @@ -12,7 +12,7 @@ import { Shift } from '@/views/wms/basicDataManage/orderManage/shift/shift.data' import * as TeamApi from '@/api/wms/team' import { Team } from '@/views/wms/basicDataManage/orderManage/team/team.data' import * as ProductionlineitemApi from '@/api/wms/productionlineitem' -import { Productionlineitem } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' +import { Productionlineitem, ProductionlineitemInfo } from '@/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data' import * as BomApi from '@/api/wms/bom' import { Bom } from '@/views/wms/basicDataManage/itemManage/bom/bom.data' @@ -43,6 +43,7 @@ export const ProductionMain = useCrudSchemas(reactive([ }, isForm: false, isSearch: true, + sortSearchDefault: 1, }, { label: '客户订单号', @@ -51,7 +52,8 @@ export const ProductionMain = useCrudSchemas(reactive([ isSearch: true, table: { width: 150, - } + }, + sortSearchDefault: 2, }, { label: '计划类型', @@ -89,6 +91,7 @@ export const ProductionMain = useCrudSchemas(reactive([ // } // }, isSearch: true, + sortSearchDefault: 3, }, { label: '顺序', @@ -176,7 +179,9 @@ export const ProductionMain = useCrudSchemas(reactive([ isFormModel: true, }], // 失去焦点校验参数 } - } + }, + isSearch: true, + sortSearchDefault: 6, }, { label: '班组', @@ -284,7 +289,9 @@ export const ProductionMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, - sortTableDefault:1000, + sortTableDefault: 1000, + sortSearchDefault: 4, + isTable: false, form: { component: 'DatePicker', componentProps: { @@ -562,6 +569,7 @@ export const ProductionMain = useCrudSchemas(reactive([ }, isTable: true, isForm: false, + sortTableDefault: 1000, }, { label: '创建时间', @@ -585,7 +593,8 @@ export const ProductionMain = useCrudSchemas(reactive([ } }, isForm: false, - isSearch: true, + isSearch: false, + sortTableDefault: 1000, search: { component: 'DatePicker', componentProps: { @@ -687,21 +696,22 @@ export const ProductionMainRules = reactive({ */ export const ProductionDetail = useCrudSchemas(reactive([ { - label: '物料代码', + label: '品番', field: 'itemCode', sort: 'custom', isSearch: true, table: { width: 150 }, + sortSearchDefault: 5, form: { // labelMessage: '信息提示说明!!!', componentProps: { isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchListPlaceholder: '请选择品番', // 输入框占位文本 searchField: 'itemCode', // 查询弹窗赋值字段 searchTitle: '生产线物料关系信息', // 查询弹窗标题 - searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchAllSchemas: ProductionlineitemInfo.allSchemas, // 查询弹窗所需类 searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [{ key:'productionLineCode', @@ -720,10 +730,10 @@ export const ProductionDetail = useCrudSchemas(reactive([ disabled: true, // enterSearch:true, // isInpuFocusShow: true, - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchListPlaceholder: '请选择品番', // 输入框占位文本 searchField: 'itemCode', // 查询弹窗赋值字段 searchTitle: '生产线物料关系信息', // 查询弹窗标题 - searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 + searchAllSchemas: ProductionlineitemInfo.allSchemas, // 查询弹窗所需类 searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [{ key:'productionLineCode', @@ -749,7 +759,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ }, }, { - label: '物料名称', + label: '品名', field: 'itemName', sort: 'custom', table: { @@ -764,6 +774,38 @@ export const ProductionDetail = useCrudSchemas(reactive([ disabled: true } }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, + { + label: '车型', + field: 'vehicleType', + sort: 'custom', + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + disabled: true + } + }, { label: 'Bom版本', field: 'bomVersion', @@ -771,6 +813,9 @@ export const ProductionDetail = useCrudSchemas(reactive([ table: { width: 150 }, + + isTableForm: false, + isTable: false, form: { // labelMessage: '信息提示说明!!!', componentProps: { @@ -834,11 +879,11 @@ export const ProductionDetail = useCrudSchemas(reactive([ isTableForm: false, isForm: false, // hiddenInMain: true, - sortTableDefault:1000, + sortSearchDefault: 4, form: { component: 'DatePicker', componentProps: { - style: {width: '100%'}, + style: { width: '100%' }, type: 'date', dateFormat: 'YYYY-MM-DD', valueFormat: 'x', @@ -856,14 +901,14 @@ export const ProductionDetail = useCrudSchemas(reactive([ component: 'InputNumber', componentProps: { min: 0, - max:9999, + max: 9999, // precision: 6 } }, tableForm: { type: 'InputNumber', min: 0, - max:9999, + max: 9999, // precision: 6 }, }, @@ -872,7 +917,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ field: 'uom', dictType: DICT_TYPE.UOM, dictClass: 'string', - isSearch: true, + isSearch: false, isTable: true, sort: 'custom', table: { @@ -982,6 +1027,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ width: 150 }, hiddenInMain: true, + isTableForm:false, form: { component: 'Switch', value: 'TRUE', From cdedec8ef9a8c8587c89e7744416b31b7eea8edd Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Fri, 13 Dec 2024 14:03:46 +0800 Subject: [PATCH 2/2] YT-1643 --- .../productionMainAssemble.data.ts | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts index 5b1c263f5..68af09485 100644 --- a/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts +++ b/src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts @@ -856,40 +856,7 @@ export const ProductionDetail = useCrudSchemas(reactive([ }] }, }, - { - label: '计划日期', - field: 'planDate', - formatter: dateFormatter2, - detail: { - dateFormat: 'YYYY-MM-DD' - }, - sort: 'custom', - table: { - width: 120 - }, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange', - defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] - } - }, - isSearch: true, - isTableForm: false, - isForm: false, - // hiddenInMain: true, - sortSearchDefault: 4, - form: { - component: 'DatePicker', - componentProps: { - style: { width: '100%' }, - type: 'date', - dateFormat: 'YYYY-MM-DD', - valueFormat: 'x', - } - }, - }, + { label: '计划数量', field: 'planQty', @@ -932,6 +899,40 @@ export const ProductionDetail = useCrudSchemas(reactive([ type: 'Select' } }, + { + label: '计划日期', + field: 'planDate', + formatter: dateFormatter2, + detail: { + dateFormat: 'YYYY-MM-DD' + }, + sort: 'custom', + table: { + width: 120 + }, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isSearch: true, + isTableForm: false, + isForm: false, + // hiddenInMain: true, + sortSearchDefault: 4, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'date', + dateFormat: 'YYYY-MM-DD', + valueFormat: 'x', + } + }, + }, { label: '完工数量', field: 'goodQty',