From 711059fe6a219e4e2e8671c51b0c6dc12a05561e Mon Sep 17 00:00:00 2001 From: zhangdi <15053473693@163.com> Date: Mon, 22 Dec 2025 15:52:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E5=9F=BA=E7=A1=80=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/productionSchedulingPlan/basic.js | 44 ++++++- .../basic/equipmentCapacity.vue | 96 +++++++++++---- .../basic/inspectionHours.vue | 25 ++-- .../basic/nonSameFurnace.vue | 112 ++++++++++++++++-- .../basic/personnelCapacity.vue | 75 +++++++++++- .../basic/principalProducer.vue | 48 +++++--- .../basic/qualityGrade.vue | 39 +++--- .../schedulingDashboard/index.vue | 82 +++++++++---- .../schedulingDashboard/index111.vue | 1 + 9 files changed, 408 insertions(+), 114 deletions(-) diff --git a/src/api/productionSchedulingPlan/basic.js b/src/api/productionSchedulingPlan/basic.js index fa3806e..e00c8e2 100644 --- a/src/api/productionSchedulingPlan/basic.js +++ b/src/api/productionSchedulingPlan/basic.js @@ -79,7 +79,7 @@ export const updateInspectionItem = row => { // 质量等级 增删改查 export const getListGualityGrade = (current, size, params) => { return request({ - url: '/blade-scheduling/gualityGrade/page', + url: '/blade-scheduling/qualityGrade/page', method: 'get', params: { ...params, @@ -90,7 +90,7 @@ export const getListGualityGrade = (current, size, params) => { }; export const removeGualityGrade = ids => { return request({ - url: '/blade-scheduling/gualityGrade/remove', + url: '/blade-scheduling/qualityGrade/remove', method: 'post', params: { ids, @@ -100,7 +100,7 @@ export const removeGualityGrade = ids => { export const addGualityGrade = row => { return request({ - url: '/blade-scheduling/gualityGrade/submit', + url: '/blade-scheduling/qualityGrade/submit', method: 'post', data: row, }); @@ -108,7 +108,7 @@ export const addGualityGrade = row => { export const updateGualityGrade = row => { return request({ - url: '/blade-scheduling/gualityGrade/submit', + url: '/blade-scheduling/qualityGrade/submit', method: 'post', data: row, }); @@ -226,4 +226,40 @@ export const updateDifferentFurnaceTank = row => { method: 'post', data: row, }); +}; + +// 查询工艺能力 +export const getCraftAbility = (params) => { + return request({ + url: '/blade-scheduling/craftAbility/findList', + method: 'get', + params: params, + }); +}; + +// 查询设备 +export const getEquipment = (params) => { + return request({ + url: '/blade-scheduling/equipment/findList', + method: 'get', + params: params, + }); +}; + +// 工序 +export const getProcessSet = (params) => { + return request({ + url: '/blade-scheduling/processSet/findList', + method: 'get', + params: params, + }); +}; + +// 作业中心 +export const getWorkCenter = (params) => { + return request({ + url: '/blade-scheduling/workCenter/findList', + method: 'get', + params: params, + }); }; \ No newline at end of file diff --git a/src/views/productionSchedulingPlan/basic/equipmentCapacity.vue b/src/views/productionSchedulingPlan/basic/equipmentCapacity.vue index 0ea576f..69f246f 100644 --- a/src/views/productionSchedulingPlan/basic/equipmentCapacity.vue +++ b/src/views/productionSchedulingPlan/basic/equipmentCapacity.vue @@ -92,34 +92,58 @@ export default { { label: '作业中心', prop: 'workCenterId', - search: false, + search: true, sortable: true, span: 12, width: 120, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/workCenter/findList', + props: { + label: 'wcName', + value: 'id', + }, + change: val => { + this.onChangeData(val.item, 'workCenterId'); + }, }, { - label: '工序', - prop: '', + label: '作业中心', + prop: 'workCenterName', search: false, sortable: true, span: 12, + hide: true, + display: false, }, { - label: '设备编码', - prop: 'equipCode', - search: false, + label: '设备名称', + prop: 'equipName', + search: true, sortable: true, span: 12, width: 120, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/equipment/findList', + props: { + label: 'deviceName', + value: 'deviceName', + }, + change: val => { + this.onChangeData(val.item, 'equipName'); + }, }, { - label: '设备名称', - prop: 'equipName', - search: false, + label: '设备编码', + prop: 'equipCode', + search: true, sortable: true, span: 12, width: 120, + disabled:true, }, + { label: '设备分类', prop: 'equipType', @@ -146,15 +170,35 @@ export default { sortable: true, span: 12, width: 120, - + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/craftAbility/findList', + props: { + label: 'caName', + value: 'id', + }, + change: val => { + this.onChangeData(val.item, 'craftId'); + }, + }, + { + label: '工艺能力', + prop: 'craftName', + search: false, + sortable: true, + span: 12, + hide:true, + display:false }, { label: '额定加工能力(烧结-个/热表-面积)', prop: 'standardProcessAbility', search: false, sortable: true, - span: 12, + span: 24, width: 270, + labelWidth:270, + type: 'number' }, { label: '额定工时(分钟)', @@ -163,6 +207,8 @@ export default { sortable: true, span: 12, width: 180, + labelWidth:180, + type: 'number' }, { label: '准备工时(分钟)', @@ -171,6 +217,8 @@ export default { sortable: true, span: 12, width: 180, + labelWidth:180, + type: 'number' }, { label: '轮次间隔(分钟)', @@ -179,18 +227,13 @@ export default { sortable: true, span: 12, width: 180, + labelWidth:180, + type: 'number' }, - { - label: '轮次间隔(分钟)', - prop: '', - search: false, - sortable: true, - span: 12, - width: 180, - }, + { label: '指定使用', - prop: '', + prop: 'assignUse', search: false, sortable: true, span: 12, @@ -198,7 +241,7 @@ export default { }, { label: '备注', - prop: '', + prop: 'remarks', search: false, sortable: true, span: 12, @@ -211,6 +254,17 @@ export default { }; }, methods: { + onChangeData(val, type) { + if (type == 'workCenterId') { + this.form.workCenterName = val.wcCode; + } + if (type == 'equipName') { + this.form.equipCode = val.deviceCode; + } + if(type=='craftId'){ + this.form.craftName=val.caName + } + }, rowSave(row, done, loading) { addEquipAbility(row).then( () => { diff --git a/src/views/productionSchedulingPlan/basic/inspectionHours.vue b/src/views/productionSchedulingPlan/basic/inspectionHours.vue index 4548c13..94a5478 100644 --- a/src/views/productionSchedulingPlan/basic/inspectionHours.vue +++ b/src/views/productionSchedulingPlan/basic/inspectionHours.vue @@ -54,7 +54,7 @@ export default { calcHeight: 32, simplePage: false, searchShow: true, - searchMenuSpan: 6, + searchMenuSpan: 18, searchIcon: true, searchIndex: 3, tree: false, @@ -91,40 +91,37 @@ export default { column: [ { label: '检验项目', - prop: '', - search: false, + prop: 'inspectionItem', + search: true, sortable: true, span: 12, }, { label: '抽样数量(常规)', - prop: '', - search: false, - sortable: true, - span: 12, - }, - { - label: '额定工时(分钟)', - prop: '', + prop: 'samplingQuantity', search: false, sortable: true, span: 12, + labelWidth:160, }, { label: '额定工时(分钟/每人每个)', - prop: '', + prop: 'standardTime', search: false, sortable: true, span: 12, - labelWidth:220, + width:240, + labelWidth:240, + type: 'number' }, { label: '准备工时(分钟)', - prop: '', + prop: 'prepareTime', search: false, sortable: true, span: 12, labelWidth:180, + type: 'number' }, { label: '单位', diff --git a/src/views/productionSchedulingPlan/basic/nonSameFurnace.vue b/src/views/productionSchedulingPlan/basic/nonSameFurnace.vue index 43b0e12..281b440 100644 --- a/src/views/productionSchedulingPlan/basic/nonSameFurnace.vue +++ b/src/views/productionSchedulingPlan/basic/nonSameFurnace.vue @@ -89,51 +89,124 @@ export default { searchMenuPosition: 'right', align: 'center', column: [ - { - label: '工艺能力', + { + label: '作业中心', prop: 'workCenterId', + search: true, + sortable: true, + span: 12, + width:120, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/workCenter/findList', + props: { + label: 'wcName', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'workCenterId') + }, + }, + { + label: '作业中心', + prop: 'workCenterName', search: false, sortable: true, span: 12, + hide:true, + display:false }, { - label: '影响因素', + label: '工序', prop: 'processId', + search: true, + sortable: true, + span: 12, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/processSet/findList', + props: { + label: 'name', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'processId') + }, + }, + { + label: '工序', + prop: 'processName', + search: false, + sortable: true, + span: 12, + hide:true, + display:false, + }, + { + label: '工艺能力', + prop: 'craftId', + search: true, + sortable: true, + span: 12, + width:120, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/craftAbility/findList', + props: { + label: 'caName', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'craftId') + }, + }, + { + label: '工艺能力', + prop: 'craftName', search: false, sortable: true, span: 12, + hide:true, + display:false + }, + { + label: '影响因素', + search: false, + span: 12, children: [ { label: '键位', - prop: 'workCenterId', + prop: 'keyBinding', search: false, sortable: true, span: 12, }, { label: '生产厂家', - prop: 'workCenterId', + prop: 'factory', search: false, sortable: true, span: 12, + width:140, }, { label: '检验编号', - prop: 'workCenterId', + prop: 'inspectionCode', search: false, sortable: true, span: 12, + width:140, }, { label: '材料', - prop: 'workCenterId', + prop: 'material', search: false, sortable: true, span: 12, }, { label: '厚度(镀层)', - prop: 'workCenterId', + prop: 'thickness', search: false, sortable: true, span: 12, @@ -141,32 +214,34 @@ export default { }, { label: '钝化', - prop: 'workCenterId', + prop: 'passivation', search: false, sortable: true, span: 12, }, { label: '硬度', - prop: 'workCenterId', + prop: 'hardness', search: false, sortable: true, span: 12, }, { label: '生产标识', - prop: 'workCenterId', + prop: 'productionIdent', search: false, sortable: true, span: 12, + width:140, }, { label: '结构/单件面积', - prop: 'workCenterId', + prop: 'singleArea', search: false, sortable: true, span: 12, - width:150 + width:150, + type: 'number' }, ], }, @@ -177,6 +252,17 @@ export default { }; }, methods: { + onChangeData(val,type){ + if(type=='workCenterId'){ + this.form.workCenterName=val.wcCode + } + if(type=='processId'){ + this.form.processName=val.name + } + if(type=='craftId'){ + this.form.craftName=val.caName + } + }, rowSave(row, done, loading) { addDifferentFurnaceTank(row).then( () => { diff --git a/src/views/productionSchedulingPlan/basic/personnelCapacity.vue b/src/views/productionSchedulingPlan/basic/personnelCapacity.vue index 7f81d2b..8e2f3dd 100644 --- a/src/views/productionSchedulingPlan/basic/personnelCapacity.vue +++ b/src/views/productionSchedulingPlan/basic/personnelCapacity.vue @@ -92,23 +92,80 @@ export default { { label: '作业中心', prop: 'workCenterId', + search: true, + sortable: true, + span: 12, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/workCenter/findList', + props: { + label: 'wcName', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'workCenterId') + }, + }, + { + label: '作业中心', + prop: 'workCenterName', search: false, sortable: true, span: 12, + hide:true, + display:false }, { label: '工序', prop: 'processId', + search: true, + sortable: true, + span: 12, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/processSet/findList', + props: { + label: 'name', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'processId') + }, + }, + { + label: '工序', + prop: 'processName', search: false, sortable: true, span: 12, + hide:true, + display:false }, { label: '工艺能力', prop: 'craftId', + search: true, + sortable: true, + span: 12, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/craftAbility/findList', + props: { + label: 'caName', + value: 'id', + }, + change: (val,row) => { + this.onChangeData(val.item,'craftId') + }, + }, + { + label: '工艺能力', + prop: 'craftName', search: false, sortable: true, span: 12, + hide:true, + display:false }, { label: '额定工时(分钟/每人每个)', @@ -116,7 +173,8 @@ export default { search: false, sortable: true, span: 12, - labelWidth:220, + labelWidth: 220, + type: 'number' }, { label: '准备工时(分钟)', @@ -124,7 +182,8 @@ export default { search: false, sortable: true, span: 12, - labelWidth:180, + labelWidth: 180, + type: 'number' }, ], }, @@ -133,7 +192,19 @@ export default { }; }, methods: { + onChangeData(val,type){ + if(type=='workCenterId'){ + this.form.workCenterName=val.wcCode + } + if(type=='processId'){ + this.form.processName=val.name + } + if(type=='craftId'){ + this.form.craftName=val.caName + } + }, rowSave(row, done, loading) { + addPersonAbility(row).then( () => { this.onLoad(this.page); diff --git a/src/views/productionSchedulingPlan/basic/principalProducer.vue b/src/views/productionSchedulingPlan/basic/principalProducer.vue index 7e595ce..2c6d4aa 100644 --- a/src/views/productionSchedulingPlan/basic/principalProducer.vue +++ b/src/views/productionSchedulingPlan/basic/principalProducer.vue @@ -89,47 +89,58 @@ export default { searchMenuPosition: 'right', align: 'center', column: [ - { label: '工序', prop: 'processId', - search: false, + search: true, sortable: true, span: 12, + type: 'select', + filterable: true, + dicUrl: '/blade-scheduling/processSet/findList', + props: { + label: 'name', + value: 'id', + }, + change: (val, row) => { + this.onChangeData(val.item, 'processId'); + }, }, { - label: '工艺能力', - prop: 'processId', + label: '工序', + prop: 'processName', search: false, sortable: true, span: 12, + hide: true, + display: false, }, { label: '主生产者(人/设备)', prop: 'mainProducer', - search: false, + search: true, sortable: true, span: 12, - labelWidth:220, - type:'select', - dicData:[ + searchLabelWidth: 150, + labelWidth: 160, + type: 'select', + dicData: [ { - label:'人', - value:'人' + label: '人', + value: '人', }, { - label:'设备', - value:'设备' - } - ] + label: '设备', + value: '设备', + }, + ], }, { label: '备注', - prop: '', + prop: 'remarks', search: false, sortable: true, span: 12, - labelWidth:180, }, ], }, @@ -138,6 +149,11 @@ export default { }; }, methods: { + onChangeData(val, type) { + if (val&&type == 'processId') { + this.form.processName = val.name; + } + }, rowSave(row, done, loading) { addMainProducer(row).then( () => { diff --git a/src/views/productionSchedulingPlan/basic/qualityGrade.vue b/src/views/productionSchedulingPlan/basic/qualityGrade.vue index 9fa423b..a2415ed 100644 --- a/src/views/productionSchedulingPlan/basic/qualityGrade.vue +++ b/src/views/productionSchedulingPlan/basic/qualityGrade.vue @@ -91,33 +91,34 @@ export default { column: [ { label: '质量等级', - prop: 'workCenterId', + prop: 'qualityGrade', search: false, sortable: true, span: 12, }, { - label: '军品', - prop: 'processId', - search: false, - sortable: true, - span: 12, - }, - { - label: '商飞', - prop: 'craftId', - search: false, + label: '类型', + prop: 'type', + search: true, sortable: true, span: 12, + type:'select', + dicData:[ + { + label:'军品', + value:1 + }, + { + label:'商飞', + value:2 + }, + { + label:'宇航', + value:3 + } + ] }, - { - label: '宇航', - prop: 'standardTime', - search: false, - sortable: true, - span: 12, - }, - + ], }, diff --git a/src/views/productionSchedulingPlan/schedulingDashboard/index.vue b/src/views/productionSchedulingPlan/schedulingDashboard/index.vue index a76a0ba..da13f89 100644 --- a/src/views/productionSchedulingPlan/schedulingDashboard/index.vue +++ b/src/views/productionSchedulingPlan/schedulingDashboard/index.vue @@ -29,7 +29,15 @@ - + + + + @@ -75,10 +83,11 @@
-
车间订单号
-
零件号
+
车间订单号
+
零件号
批次号
-
数量
+
数量
+
质量等级
-
{{ order.woCode }}
-
{{ order.partCode }}
+
{{ order.woCode }}
+
{{ order.partCode }}
{{ order.batchNo }}
-
{{ order.makeQty }}
+
{{ order.makeQty }}
+
{{ order.productIdent }}
@@ -201,7 +211,6 @@ @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" - :page-size="pageSize" layout="total, prev, pager, next, jumper" :total="totalOrders" @@ -256,7 +265,7 @@ 计划完成时间: {{ tooltipData.planEndTime || '-' }} -
  • +
  • 实际完成时间: {{ tooltipData.factEndTime || '-' }}
  • @@ -280,8 +289,12 @@