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 1/6] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E5=9F=BA=E7=A1=80?=
=?UTF-8?q?=E6=95=B0=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 @@