From 6166df8b6ca9dfb10740dd0268524dd4d36de6fb Mon Sep 17 00:00:00 2001 From: xielue Date: Sat, 16 Sep 2023 12:25:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MoldProductionOrder/ComponentDetail.vue | 175 +++++++----------- .../Middle/Mold/MoldProductionOrder/Edit.vue | 3 +- 2 files changed, 65 insertions(+), 113 deletions(-) diff --git a/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue b/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue index c02a906..41b464c 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue @@ -44,15 +44,16 @@ - + - @@ -102,7 +103,7 @@ 完成
{{ $mk.getDateString(row.complete_time) }} - 撤销 + 撤销
@@ -112,8 +113,8 @@ formatter='formatEnum'>
- + @@ -187,81 +188,7 @@ export default { keyName: 'id', // 是否编辑模式 isEdit: false, - // 表单数据 - formOptions: { - data: { - production_type: "1" - }, - // 标题宽度 - titleWidth: 150, - // 标题对齐方式 - titleAlign: 'right', - // 表单校验规则 - rules: { - code: [ - { required: true, message: '请输入编号' } - ], - mold_order: [ - { required: true, message: '请选择订单' } - ], - mold_scheme: [ - { required: true, message: '请选择模具' } - ], - }, - // 表单项 - items: [ - - { - title: '订单', span: 8, - field: 'mold_order', - itemRender: { - name: 'MkFormInputShow', props: { - params: { - dataType: "object", - valueField: "id", - textField: "name" - } - } - } - }, { - title: '模具', span: 8, - field: 'mold_detail', - itemRender: { - name: 'MkFormInputShow', props: { - params: { - dataType: "object", - valueField: "id", - textField: "name" - } - } - } - }, - { field: 'code', title: '编号', span: 8, itemRender: { name: '$input' } }, - - { field: 'production_type', dataRule: { type: 'integer' }, title: '布产类型', span: 8, itemRender: { name: '$select', props: { options: options_production_type } } }, - - { field: 'manufacture_cycle', dataRule: { type: 'timestamp' }, title: '制作周期', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'draw_start_time', dataRule: { type: 'timestamp' }, title: '预计开始画图时间', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'split_design_time', dataRule: { type: 'timestamp' }, title: '分模设计时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'draw_time', dataRule: { type: 'timestamp' }, title: '出图时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - - { field: 'draw2D_time', dataRule: { type: 'timestamp' }, title: '出2D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'draw3D_time', dataRule: { type: 'timestamp' }, title: '出3D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - { field: 'problem', title: '出现问题及建议反馈', span: 8, itemRender: { name: '$input', props: {} } }, - { - field: 'progress', title: '进度', span: 24, itemRender: { - name: 'MkFormProgress', props: { - params: { - type: "line" - } - } - } - }, - - ] - }, // 新增模式表单项 addModeItems: [ @@ -347,9 +274,6 @@ export default { }; - // 合并表单数据及配置 - pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions); - return pageData; }, @@ -371,8 +295,8 @@ export default { pageInit() { - this.itemData.mold_production_order_component.forEach(item=>{ - if(!item.production_type){ + this.itemData.mold_production_order_component.forEach(item => { + if (!item.production_type) { item.production_type = 1; } }) @@ -382,7 +306,7 @@ export default { this.detailsData2 = JSON.parse(JSON.stringify(this.itemData.mold_production_order_component_processes || [])); - + this.loadDepartment(); @@ -393,6 +317,24 @@ export default { }, + isComponentDone() { + for (let i = 0; i < this.detailsData.length; i++) { + if (!this.detailsData[i].is_complete) { + return false; + } + } + return true; + }, + + isComponentOutProduct() { + for (let i = 0; i < this.detailsData.length; i++) { + if (this.detailsData[i].production_type == 2) { + return true; + } + } + return false; + }, + loadDepartment() { for (let i = 0; i < this.detailsData2.length; i++) { @@ -604,7 +546,7 @@ export default { { field: 'component_num', type: 'integer' }, { field: 'prepare_process_time', type: 'timestamp' }, { field: 'plan_complete_time', type: 'timestamp' }, - + { field: 'id', type: 'bigint' }, { field: 'update_uid', type: 'bigint' }, { field: 'complete_uid', type: 'bigint' }, @@ -616,29 +558,41 @@ export default { { field: 'process_id', type: 'bigint' }, ] }); - postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({ - rowFilter: (row) => { return row.id || (row.component_id && row.process_id) }, - dataId: this.getDataId_BigInt(), - list: this.detailsData2, - deletedList: this.deletedDetailsData2, - fieldName: 'production_id', - dataRule: [ - { field: 'id', type: 'bigint' }, - { field: 'prepare_process_time', type: 'timestamp' }, - { field: 'plan_complete_time', type: 'timestamp' }, + if (this.isComponentOutProduct()) { + + postdata.mold_production_order_component_processes = this.getDataId() ? { + insertList: [], + updateList: [], + deleteList: [] + } : []; + } else { + postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({ + rowFilter: (row) => { return row.id || (row.component_id && row.process_id) }, + dataId: this.getDataId_BigInt(), + list: this.detailsData2, + deletedList: this.deletedDetailsData2, + fieldName: 'production_id', + dataRule: [ + + { field: 'id', type: 'bigint' }, + { field: 'prepare_process_time', type: 'timestamp' }, + { field: 'plan_complete_time', type: 'timestamp' }, + + + { field: 'send_uid', type: 'bigint' }, + { field: 'complete_uid', type: 'bigint' }, + { field: 'update_uid', type: 'bigint' }, + { field: 'create_uid', type: 'bigint' }, + { field: 'component_id', type: 'bigint' }, + { field: 'department_id', type: 'bigint' }, + { field: 'process_id', type: 'bigint' }, + { field: 'process_uid', type: 'bigint' }, + ] + }); + } - { field: 'send_uid', type: 'bigint' }, - { field: 'complete_uid', type: 'bigint' }, - { field: 'update_uid', type: 'bigint' }, - { field: 'create_uid', type: 'bigint' }, - { field: 'component_id', type: 'bigint' }, - { field: 'department_id', type: 'bigint' }, - { field: 'process_id', type: 'bigint' }, - { field: 'process_uid', type: 'bigint' }, - ] - }); this.itemData.postdata = postdata; }, @@ -723,5 +677,4 @@ export default { .oplinks2 i { margin-left: 5px; -} - +} diff --git a/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue b/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue index d78ab7c..e5ccbea 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue @@ -196,8 +196,7 @@ export default { { field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, { field: 'horizontal_frame_time', dataRule: { type: 'timestamp' }, title: '横架到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, - - { field: 'problem', title: '出现问题及建议反馈', span: 8, itemRender: { name: '$input', props: {} } }, + { title: '模具师傅', span: 8, field: 'mold_master_user_detail',