From 16234dc4a3c6f92ebacee8b09bd1ebc5795518dc Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Tue, 25 Jul 2023 09:49:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97(=E4=BC=98=E5=8C=96=E5=89=8D?= =?UTF-8?q?=E7=AB=AF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/plan.js | 60 +++++ src/api/mes/pro/order.js | 88 +++--- src/views/mes/plan/index.vue | 428 ++++++++++++++++++++++++++++++ src/views/mes/pro/order/index.vue | 107 ++++++-- 4 files changed, 623 insertions(+), 60 deletions(-) create mode 100644 src/api/mes/plan.js create mode 100644 src/views/mes/plan/index.vue diff --git a/src/api/mes/plan.js b/src/api/mes/plan.js new file mode 100644 index 00000000..761772aa --- /dev/null +++ b/src/api/mes/plan.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 获取料罐信息list +export function getBucketList() { + return request({ + url:'/mes/plan/getBucketList', + method:'get' + }) +} + +// 通过工单日期查询没有被分配的所有子工单 +export function getWorkOrderList(productDate) { + return request({ + url:'/mes/plan/getWorkOrderByTime'+'?productDate='+productDate, + method:'get', + }) +} + +// 查询湿料计划管理列表 +export function listPlan(query) { + return request({ + url: '/mes/plan/list', + method: 'get', + params: query + }); +} + +// 查询湿料计划管理详细 +export function getPlan(id) { + return request({ + url: '/mes/plan/' + id, + method: 'get' + }); +} + +// 新增湿料计划管理 +export function addPlan(data) { + return request({ + url: '/mes/plan', + method: 'post', + data: data + }); +} + +// 修改湿料计划管理 +export function updatePlan(data) { + return request({ + url: '/mes/plan', + method: 'put', + data: data + }); +} + +// 删除湿料计划管理 +export function delPlan(id) { + return request({ + url: '/mes/plan/' + id, + method: 'delete' + }); +} diff --git a/src/api/mes/pro/order.js b/src/api/mes/pro/order.js index fb417e38..79cd21f1 100644 --- a/src/api/mes/pro/order.js +++ b/src/api/mes/pro/order.js @@ -2,85 +2,85 @@ import request from '@/utils/request' //通过母订单id查询最新工单列表 export function getWorkOrderList(id) { - return request({ - url: '/mes/order/getWorkOrderList/' + id, - method: 'get' - }) + return request({ + url: '/mes/order/getWorkOrderList/' + id, + method: 'get' + }) } //通过母订单id查询最新订单列表 export function getOrderList(id) { - return request({ - url: '/mes/order/getOrderList/' + id, - method: 'get' - }) + return request({ + url: '/mes/order/getOrderList/' + id, + method: 'get' + }) } // 提交拆分 export function subSplitOrder(data) { - return request({ - url: '/mes/order/subSplitOrder', - method: 'post', - data: data - }) + return request({ + url: '/mes/order/subSplitOrder', + method: 'post', + data: data + }) } // 获取换算值 export function getConvert() { - return request({ - url: '/mes/order/getConvert', - method: 'get', - }) + return request({ + url: '/mes/order/getConvert', + method: 'get', + }) } // 获取线体 export function getprodLineShift() { - return request({ - url: '/mes/order/getProdLineShift', - method: 'get', - }) + return request({ + url: '/mes/order/getProdLineShift', + method: 'get', + }) } // 查询订单列表 export function listOrder(query) { - return request({ - url: '/mes/order/list', - method: 'get', - params: query - }); + return request({ + url: '/mes/order/list', + method: 'get', + params: query + }); } // 查询订单详细 export function getOrder(id) { - return request({ - url: '/mes/order/' + id, - method: 'get' - }); + return request({ + url: '/mes/order/' + id, + method: 'get' + }); } // 新增订单 export function addOrder(data) { - return request({ - url: '/mes/order', - method: 'post', - data: data - }); + return request({ + url: '/mes/order', + method: 'post', + data: data + }); } // 修改订单 export function updateOrder(data) { - return request({ - url: '/mes/order', - method: 'put', - data: data - }); + return request({ + url: '/mes/order', + method: 'put', + data: data + }); } // 删除订单 export function delOrder(id) { - return request({ - url: '/mes/order/' + id, - method: 'delete' - }); + return request({ + url: '/mes/order/' + id, + method: 'delete' + }); } diff --git a/src/views/mes/plan/index.vue b/src/views/mes/plan/index.vue new file mode 100644 index 00000000..bd07119c --- /dev/null +++ b/src/views/mes/plan/index.vue @@ -0,0 +1,428 @@ + + + + diff --git a/src/views/mes/pro/order/index.vue b/src/views/mes/pro/order/index.vue index c5aeec9b..aebbea67 100644 --- a/src/views/mes/pro/order/index.vue +++ b/src/views/mes/pro/order/index.vue @@ -169,7 +169,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -224,15 +224,15 @@ :tree-props="{children: 'children', hasChildren: 'hasChildren'}" > - + @@ -283,11 +283,11 @@ splitData: [], //选择产线list表 proline: [], - //TODO + // splitnum: null, - //TODO 班次 + // 班次 workShift: [], - // 调试 + // 批次 formFields: [{ batchCode: '', batchQuantity: '' @@ -346,8 +346,58 @@ this.getList(); }, methods: { + /** 检验批次编码是否重复 */ + batchCodeChange(e){ + for (let i = 1; i < this.formFields.length;i++){ + if (this.formFields[this.formFields.length-1].batchCode == this.formFields[i].batchCode){ + this.$message({ + message: '批次号不能重复', + type: 'warning' + }) + this.formFields = [{ + batchCode: '', + batchQuantity: '' + }] + } + } + }, + /** 校验日期 */ + checkDate(e) { + var now = new Date(); + if (e < now){ + e = now; + this.form.productDate = now; + } + }, /** 拆分提交按钮 */ batchBtn() { + // 判断数据不能为空 + if (this.form.splitNum == null || this.form.shiftId == null || this.form.prodLineCode == null){ + this.$message({ + message:'数据不能为空!', + type:'warning' + }) + return; + } + // 判断如果拆分数量不等于拆分批次数量之和 + let sum = 0; + for (let i = 0; i< this.formFields.length ;i++){ + sum = Number(sum) + Number(this.formFields[i].batchQuantity); + if (this.formFields[i].batchQuantity == '' || this.formFields[i].batchQuantity ==null || this.formFields[i].batchCode ==null || this.formFields[i].batchCode ==''){ + this.$message({ + message:'批次数据不能为空', + type: 'warning' + }) + return; + } + } + if (sum != this.productData[0].atrr1){ + this.$message({ + message: '批次数量之和不等于拆分数量', + type: 'warning' + }) + return; + } //整理订单传入到后端 this.form.formFields = this.formFields; //整理数据往后端发送 @@ -360,10 +410,13 @@ splitNum : this.form.splitNum, product : this.productData[0], } - + + let check = 1; subSplitOrder(data).then(response => { if(response.code == 500){ - this.$modal.msgFaile(response.msg); + check = 0; + this.$modal.msgError(response.msg); + return; } this.$modal.msgSuccess("提交成功"); }); @@ -385,7 +438,7 @@ // 获取该订单下最新订单列表 getOrderList(id).then(response => { if(response.code == 500){ - this.$modal.msgFaile(response.msg); + this.$modal.msgError(response.msg); }; // 设置最新数据 this.productData[0] = response.data; @@ -402,7 +455,7 @@ // 获取该订单下的最新工单列表 getWorkOrderList(id).then(response => { if(response.code == 500){ - this.$modal.msgFaile(response.msg); + this.$modal.msgError(response.msg); }; // 设置最新数据 this.splitData = response.data; @@ -416,7 +469,12 @@ }); }) - + if (check){ + setTimeout(() => { + // 等待1秒后执行的代码 + this.open = false; + }, 500); + } }, // 调试 submitForm(formName) { @@ -454,7 +512,10 @@ } ; if (sum >= this.productData[0].atrr1) { - alert("无法添加!您批次数量已满!"); + this.$message({ + message: '无法添加!您的批次数量已满!', + type: 'warning' + }) return; } ; @@ -673,7 +734,15 @@ // 获取工单 getWorkOrderList(row.id).then(response => { - this.splitData = response.data; + var data = response.data; + // 循环遍历将批次编码进行换行 + // for(let fir = 0;fir < data.length;fir++){ + // for(let i = 0;i < data[fir].batchCodeList.length;i++){ + // // 未完成 + // data[fir].batchCodeList[i] + // } + // } + this.splitData = data; }) this.open = true; @@ -690,7 +759,10 @@ if (e != '' && e > 0) { let max = Number(this.productData[0].quantity) - Number(this.productData[0].quantitySplit); if (e > max) { - alert("最大值不能超过" + max + "!"); + this.$message({ + message: "最大值不能超过" + max + "!", + type: 'warning' + }) this.form.splitNum = max; } //前端数据同步 @@ -756,7 +828,10 @@ } //如果超过拆分数量,提示并清空当前输入 if (sum > this.productData[0].atrr1) { - alert("你的批次数量总和不能超过拆分数量"); + this.$message({ + message: '你的批次数量总和不能超过拆分数量!', + type: 'warning' + }) this.formFields[this.formFields.length - 1].batchQuantity = Number(this.productData[0].atrr1) - Number(Number(sum) - Number(e)); } //如果拆分数量为空