diff --git a/src/application/mk/libs/function/form.js b/src/application/mk/libs/function/form.js index 1697fa7..77d3dfa 100644 --- a/src/application/mk/libs/function/form.js +++ b/src/application/mk/libs/function/form.js @@ -123,6 +123,7 @@ export default { return new Promise((resolve, reject) => { // 返回一个Promise form.validate(a => { // 验证表单 + let count = 0; // 计数器 if (a) { // 如果有错误 for (let name in a) { // 循环错误 diff --git a/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue b/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue index 585b430..8833add 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/ComponentDetail.vue @@ -5,8 +5,7 @@ - + @@ -307,7 +306,7 @@ export default { - this.loadDepartment(); + //this.loadDepartment(); this.detailsDataInit(); @@ -575,10 +574,15 @@ export default { deleteList: [] } : []; } else { + + let list = [ ...this.detailsData2]; + list.forEach(item=>{ + item.component_id = this.detailsData[0].component_id; + }) 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, + list: list, deletedList: this.deletedDetailsData2, fieldName: 'production_id', dataRule: [ diff --git a/src/pages/Middle/Mold/MoldProductionOrder/Detail.vue b/src/pages/Middle/Mold/MoldProductionOrder/Detail.vue index 14f85ba..28be471 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/Detail.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/Detail.vue @@ -23,11 +23,14 @@ +
+ + +
- - - + + @@ -50,6 +53,11 @@ +

出现问题及建议反馈

+ +
@@ -100,8 +108,7 @@ export default { options_user_type: options_user_type, collapseActiveKey: [], - infos: [], - + infos: [], //所有的组件数据 // 当前项目名称 currentConfigName: "", // 当前项目ID @@ -127,7 +134,7 @@ export default { production_type: "1" }, // 标题宽度 - titleWidth: 150, + titleWidth: 180, // 标题对齐方式 titleAlign: 'right', @@ -183,7 +190,7 @@ export default { { 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: 'horizontal_frame_time', dataRule: { type: 'timestamp' }, title: '横架到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } }, { field: 'progress', title: '进度', span: 24, itemRender: { name: 'MkFormProgress', props: { @@ -196,6 +203,30 @@ export default { ] }, + formOptions2: { + data: { + }, + // 标题宽度 + titleWidth: 180, + // 标题对齐方式 + titleAlign: 'top', + + // 表单校验规则 + rules: { + }, + // 表单项 + items: [ + + + { showTitle: false, field: 'problem', title: '', span: 24, itemRender: { name: '$textarea', props: {} } }, + + + ] + }, + departments: [], + departmentOptions: [], + departmentId: null, + // 新增模式表单项 addModeItems: [ @@ -307,13 +338,44 @@ export default { this.heightInit(); + this.loadDepartments(); + }, // 函数 methods: { + - removeInfo(index) { - this.infos.splice(index, 1); + loadDepartments() { + this.$mk.post({ + url: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/list`, + loading: '加载中...', + data: { + "page": 1, + "limit": 1000, + "end_time": 0, + "order_bys": [ + ], + "search_rules": [ + ], + "start_time": 0 + }, + useBigInt: true + }).then(a => { + this.departments = a.data.BaseDepartment; + this.departmentOptions = [{ value: null, label: '全部部门' }]; + this.departments.forEach(item => { + + this.departmentOptions = [... this.departmentOptions, { + value: item.id + '', + label: item.name + }] + }) + }); + }, + departmentChange() { + + this.initComponentDetail(); }, pageInit() { @@ -335,7 +397,9 @@ export default { this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName], rules: this.formOptions.items }); - + this.formOptions2.data = { + problem: a.data[this.detailDataFieldName].problem + } this.detailsData = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_production_order_component || [])); this.detailsData2 = JSON.parse(JSON.stringify(a.data[this.detailDataFieldName].mold_production_order_component_processes || [])); @@ -374,9 +438,9 @@ export default { initComponentDetail() { + let infos = []; let keys = []; - let infos = []; - this.loadCount ++; + this.loadCount++; this.detailsData.forEach(item => { if (!item.component_id) { @@ -392,19 +456,31 @@ export default { }; this.detailsData2.forEach(pitem => { if (pitem.component_id && pitem.component_id.toString() == item.component_id.toString()) { - info.data.mold_production_order_component_processes.push(pitem); + if(this.departmentId){ + if (pitem.department_id && pitem.department_id.toString() == this.departmentId) { + info.data.mold_production_order_component_processes.push(pitem); + } + }else{ + info.data.mold_production_order_component_processes.push(pitem); + } } - }); + + + if(!info.data.mold_production_order_component_processes.length){ + return; + } + keys.push(key); infos.push(info); }) + console.log(infos) + this.collapseActiveKey = keys; this.infos = infos - - console.log(JSON.stringify(this.infos)) + }, setPageReadonly(readonly) { diff --git a/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue b/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue index e5ccbea..f77fa1c 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/Edit.vue @@ -57,7 +57,7 @@

出现问题及建议反馈

- @@ -150,7 +150,7 @@ export default { mold_order: [ { required: true, message: '请选择订单' } ], - mold_scheme: [ + mold_detail: [ { required: true, message: '请选择模具' } ], }, @@ -343,6 +343,8 @@ export default { // 合并表单数据及配置 pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions); + + console.log(pageData.formOptions) return pageData; }, @@ -669,7 +671,7 @@ export default { heightInit() { this.$nextTick(() => { - let h = this.$mk.getWindowSize().height - this.$mk.getOffsetTop(this.$refs.xTable.$el) - 500; + let h = this.$mk.getWindowSize().height - 500; if (h < 400) { h = 400; } @@ -831,8 +833,8 @@ export default { // 验证表单 this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单 - save(); // 提交保存 - + save(); // 提交保存 + }).catch(count => { // 验证失败 this.$mk.error(`存在${count}项错误,请检查`); }); diff --git a/src/pages/Middle/Mold/MoldProductionOrder/List.vue b/src/pages/Middle/Mold/MoldProductionOrder/List.vue index db79e82..dc9d8e1 100644 --- a/src/pages/Middle/Mold/MoldProductionOrder/List.vue +++ b/src/pages/Middle/Mold/MoldProductionOrder/List.vue @@ -1,7 +1,7 @@ @@ -97,7 +97,8 @@ export default { { title: '操作', slots: { default: 'op' }, width: 120 }, - { slots: { default: 'column1' }, title: '编码', width: 180 }, + { slots: { default: 'column1' }, title: '查看详情', width: 180 }, + { field:'code', title: '编码', width: 180 }, { field: 'mold_order',formatter: 'formatRef',params:{dataType:"object",textField:"code"}, sortable: false, title: '订单编号', width: 150 }, { field: 'mold_detail',formatter: 'formatRef',params:{dataType:"object",textField:"name"}, sortable: false, title: '模具', width: 150 }, { field: 'progress', cellRender:{name: 'progress'}, sortable: true, title: '进度', showHeaderOverflow: true }, diff --git a/src/pages/Middle/Mold/MoldScheme/Edit.vue b/src/pages/Middle/Mold/MoldScheme/Edit.vue index ee6d2c2..32c1410 100644 --- a/src/pages/Middle/Mold/MoldScheme/Edit.vue +++ b/src/pages/Middle/Mold/MoldScheme/Edit.vue @@ -475,11 +475,7 @@ export default { ] }); - let ds2 = this.detailsData2.filter( (row) => { return row.id || (row.component_id && row.mes_processes_id) }); - if(!ds2.length){ - this.$mk.success("工序未设置,操作失败"); - return; - } + postdata.mold_scheme_processes = this.$mk.getPostFieldValue({ rowFilter: (row) => { return row.id || (row.component_id && row.mes_processes_id) }, dataId: this.getDataId_BigInt(),