From c4d59de5b8132c70ae4dc64e4309fc6d761b111d Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期二, 16 十二月 2025 09:24:56 +0800
Subject: [PATCH] 1.工艺模式 生产工单带工序改为默认历史最新2.生产执行新增 订单号字段
---
src/views/workOrder/workOrderList.vue | 165 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 136 insertions(+), 29 deletions(-)
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index ac63cd4..e71c162 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -5,21 +5,21 @@
<div
class="bodyTopStatus"
>
- <div style="font-weight: bolder;">宸ュ崟鐘舵��</div>
- <div class="statusItem" :class="{statusItemLight:form.mesorderstus===''}" @click="statusChange('')">鍏ㄩ儴</div>
- <div class="statusItem" :class="{statusItemLight:form.mesorderstus==='NEW'}" @click="statusChange('NEW')">鏂拌鍗�</div>
- <div class="statusItem" :class="{statusItemLight:form.mesorderstus==='ALLO'}" @click="statusChange('ALLO')">宸叉淳鍙�</div>
- <div class="statusItem" :class="{statusItemLight:form.mesorderstus==='START'}" @click="statusChange('START')">寮�宸�</div>
- <div class="statusItem" :class="{statusItemLight:form.mesorderstus==='CLOSED'}" @click="statusChange('CLOSED')">瀹屽伐</div>
+ <div style="font-weight: bolder;">宸ュ崟鐘舵��:</div>
+ <div class="statusItem" :class="{statusItemLight:true}" @click="statusChange('')">鍏ㄩ儴</div>
+ <div class="statusItem" :class="{statusItemLight1:true}" @click="statusChange('NEW')">鏂拌鍗�</div>
+ <div class="statusItem" :class="{statusItemLight2:true}" @click="statusChange('ALLO')">宸叉淳鍙�</div>
+ <div class="statusItem" :class="{statusItemLight3:true}" @click="statusChange('START')">寮�宸�</div>
+ <div class="statusItem" :class="{statusItemLight4:true}" @click="statusChange('CLOSED')">瀹屽伐</div>
</div>
<div class="bodyTopButtonGroup" style="justify-content: space-between;margin-top: 5px;">
<div style="display: flex">
<el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
- <el-button v-waves type="success" icon="el-icon-connection" @click="send">娲惧彂</el-button>
+ <el-button v-waves type="success" icon="el-icon-connection" @click="send();tableDataDetail=[]">娲惧彂</el-button>
</div>
- <el-button v-waves type="primary" @click="batchUpdate"><i
+ <el-button v-waves type="primary" @click="batchUpdate();tableDataDetail=[]"><i
class="el-icon-edit"
style="margin-right: 0;"
/> 鎵归噺缁戝畾
@@ -39,6 +39,8 @@
<el-select
v-model="form.wkshopcode"
filterable
+ multiple
+ collapse-tags
:popper-append-to-body="false"
style="width: 200px"
placeholder="璇烽�夋嫨"
@@ -119,8 +121,8 @@
class="bodySearchReset"
:style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
>
- <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
- <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+ <el-button v-waves type="primary" icon="el-icon-search" @click="search();tableDataDetail=[]">鏌ヨ</el-button>
+ <el-button v-waves type="info" icon="el-icon-refresh" @click="reset();tableDataDetail=[]">閲嶇疆</el-button>
</div>
</el-form>
@@ -152,7 +154,7 @@
border
:summary-method="getSummaries"
show-summary
- :row-class-name="tableRowClassName"
+ :row-class-name="tableRowClassName2"
:style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px'}"
highlight-current-row
:header-cell-style="this.$headerCellStyle"
@@ -165,12 +167,14 @@
type="selection"
width="50"
:selectable="selected"
+ class-name="fixed-column"
/>
<el-table-column
prop="rowNum"
- width="50"
+ width="80"
label="搴忓彿"
fixed
+ class-name="fixed-column"
/>
<el-table-column
prop="status"
@@ -462,6 +466,7 @@
label="鎿嶄綔"
width="160"
fixed="right"
+ class-name="fixed-column"
>
<template slot-scope="{row}">
<div class="operationClass">
@@ -484,7 +489,7 @@
</el-tooltip>
<el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">
- <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" />
+ <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click.stop="del(row)" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="鎵撳嵃宸ュ崟" placement="top">
@@ -523,11 +528,12 @@
align="right"
layout="total,prev, pager, next,sizes,jumper"
popper-class="select_bottom"
- @pagination="getMesOrderSearch"
+ @pagination="getMesOrderSearch();tableDataDetail=[]"
/>
<div class="elTableDiv">
<el-table
+ ref="tableDataRef2"
:data="tableDataDetail"
border
height="210px"
@@ -753,6 +759,7 @@
v-model="dialogForm.mesqty"
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 200px"
+ @input="mesqtyInputChange"
/>
<!-- oninput="value=value.replace(/[^0-9*.{1}0-9*]/g,'')"-->
</el-form-item>
@@ -850,7 +857,13 @@
/>
</el-select>
</el-form-item>
-
+ <el-form-item label="閿�鍞鍗�" prop="">
+ <el-input
+ v-model="dialogForm.saleordercode"
+ style="width: 200px"
+ :disabled="!(dialogForm.mesorderstus==='NEW'&&dialogForm.data_sources==='MES')"
+ />
+ </el-form-item>
<el-form-item label="棰勮浜や粯鏃ユ湡" prop="deliverydate">
<el-date-picker
v-model="dialogForm.deliverydate"
@@ -886,6 +899,7 @@
class="stepSelectedValueClass"
style="width: 930px;"
multiple
+ filterable
placeholder="璇烽�夋嫨鐩稿搴斿伐搴�"
@change="stepSelectedValueChange"
>
@@ -1796,7 +1810,7 @@
<el-button v-waves @click="dialogVisibleBackPreview">杩� 鍥�</el-button>
<!-- <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
<!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�/鎵� 鍗�</el-button>-->
- <el-button v-waves v-print="printObj" type="primary">鎵� 鍗�</el-button>
+ <el-button v-waves v-print="printObj" type="primary" @click="sendMesOrderDistribution">鎵� 鍗�</el-button>
</div>
</span>
</el-dialog>
@@ -2565,7 +2579,13 @@
/>
</el-select>
</el-form-item>
-
+ <el-form-item label="閿�鍞鍗�" prop="">
+ <el-input
+ v-model="i.saleordercode"
+ style="width: 200px"
+ :disabled="!(i.mesorderstus==='NEW'&&i.data_sources==='MES')"
+ />
+ </el-form-item>
<el-form-item label="棰勮浜や粯鏃ユ湡" prop="deliverydate">
<el-date-picker
v-model="i.deliverydate"
@@ -2600,6 +2620,7 @@
class="stepSelectedValueClass"
style="width: 930px;"
multiple
+ filterable
placeholder="璇烽�夋嫨鐩稿搴斿伐搴�"
@change="val=>stepSelectedValueChangeBatchUpdate(val,index)"
>
@@ -2762,7 +2783,7 @@
tableHeight: 0,
username: '',
form: {
- wkshopcode: '', // 杞﹂棿缂栫爜
+ wkshopcode: [], // 杞﹂棿缂栫爜
mesorderstus: '', // 宸ュ崟鐘舵�佺爜
mesordercode: '', // 宸ュ崟缂栧彿
partcode: '', // 浜у搧缂栫爜
@@ -2775,7 +2796,7 @@
// createdate: '', // 鍒涘缓鏃堕棿
datatype: 'ED', // 鏃ユ湡绫诲瀷(璁″垝寮�宸�(PS)銆佽鍒掑畬宸�(PE)銆侀璁′氦浠�(ED)銆佸垱寤烘棩鏈�(CT))
timeValue: [], // 鏌ヨ鏃ユ湡
- prop: 'lm_date', // 鎺掑簭瀛楁
+ prop: 'partspec', // 鎺掑簭瀛楁 lm_date
order: 'desc', // 鎺掑簭瀛楁
page: 1, // 绗嚑椤�
rows: 20 // 姣忛〉澶氬皯鏉�
@@ -2800,6 +2821,8 @@
ordertype: 'PO', // 宸ュ崟绫诲瀷
sourceorderid: '', // 婧愬崟id
sourceorder: '', // 婧愬崟鍗曞彿
+
+ saleordercode: '', // 閿�鍞鍗曞彿
partcode: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
@@ -2898,7 +2921,7 @@
console.log('鎵ц浜嗘墦鍗�')
}
},
-
+ sendMesOrderWoCode: '',
formApprove: {
m_po: '', // 婧愬崟鍗曞彿
mesordercode: '',
@@ -3023,7 +3046,7 @@
routecodeArr: [], //
- sourceType: false, // 宸ュ簭鐨勬暟鎹潵婧�
+ sourceType: true, // 宸ュ簭鐨勬暟鎹潵婧�
mesSetting: JSON.parse(localStorage.getItem('mesSetting')),
@@ -3083,7 +3106,25 @@
// })
},
methods: {
+ // 鎵撳嵃鐨勬椂鍊欐墽琛屾淳鍙戜簨浠�
+ sendMesOrderDistribution() {
+ MesOrderDistribution([this.sendMesOrderWoCode]).then(res => {
+ if (res.code === '200') {
+ this.$notify.success('娲惧彂鎴愬姛!')
+ this.getMesOrderSearch()
+ }
+ })
+ },
+
+ mesqtyInputChange(val) {
+ if (this.stepTableData && this.stepTableData.length > 0) {
+ this.stepTableData.forEach(i => {
+ i.sumqty = Math.floor(parseFloat(val) * (1 + (parseFloat(i.ratio) / 100)))
+ })
+ }
+ },
statusChange(val) {
+ this.tableDataDetail = []
this.form.mesorderstus = val
this.getMesOrderSearch()
},
@@ -3134,6 +3175,7 @@
ordertype: i.wotype, // 宸ュ崟绫诲瀷
sourceorderid: i.sourceid, // 婧愬崟id
sourceorder: i.m_po, // 婧愬崟鍗曞彿
+ saleordercode: i.saleOrderCode,
partcode: i.partcode, // 浜у搧缂栫爜
partname: i.partname, // 浜у搧鍚嶇О
partspec: i.partspec, // 浜у搧瑙勬牸
@@ -3248,6 +3290,7 @@
sourceid: i.sourceorderid, // 婧愬崟id
sourcewo: i.sourceorder, // 婧愬崟鍗曞彿
partcode: i.partcode, // 浜у搧缂栧彿
+ saleordercode: i.saleordercode, // 閿�鍞崟鍙�
wkshopcode: i.wkshopcode,
woqty: i.mesqty, // 宸ュ崟鏁伴噺
deliverydate: i.deliverydate, // 浜や粯鏃堕棿
@@ -3480,6 +3523,20 @@
tableRowClassName({ row, rowIndex }) {
return 'custom-row'
},
+ tableRowClassName2({ row, rowIndex }) {
+ if (row.status === 'NEW') {
+ return 'custom-row1'
+ }
+ if (row.status === 'ALLO') {
+ return 'custom-row2'
+ }
+ if (row.status === 'START') {
+ return 'custom-row3'
+ }
+ if (row.status === 'CLOSED') {
+ return 'custom-row4'
+ }
+ },
handleRequest() {
this.getMesOrderSearch().then(res => {
if (res.code === '200') {
@@ -3499,7 +3556,7 @@
// }
const data = {
- wkshopcode: this.form.wkshopcode,
+ wkshopcode: this.form.wkshopcode.join(','),
mesorderstus: this.form.mesorderstus, // 宸ュ崟鐘舵�佺爜
mesordercode: this.form.mesordercode, // 宸ュ崟缂栧彿
partcode: this.form.partcode, // 浜у搧缂栫爜
@@ -3573,7 +3630,7 @@
// 閲嶇疆
reset(val) {
- this.form.wkshopcode = ''
+ this.form.wkshopcode = []
this.form.mesorderstus = ''
this.form.mesordercode = ''
this.form.partcode = ''
@@ -3584,6 +3641,8 @@
this.form.sourceorder = ''
this.form.ordertype = ''
// this.form.createdate = ''
+
+ this.form.saleordercode = ''
this.form.timeValue = []
this.cycleTime = null
@@ -3672,6 +3731,7 @@
if (this.form.page > 1 && this.tableData.length === 1) {
this.form.page--
}
+ this.tableDataDetail = []
this.getMesOrderSearch()
}
})
@@ -3697,6 +3757,7 @@
this.dialogForm.ordertype = row.wotype
this.dialogForm.sourceorderid = row.sourceid
this.dialogForm.sourceorder = row.m_po
+ this.dialogForm.saleordercode = row.saleOrderCode
this.dialogForm.partcode = row.partcode
this.dialogForm.partname = row.partname
this.dialogForm.partspec = row.partspec
@@ -3781,7 +3842,9 @@
this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
} else {
- await this.getBasicProcessData()
+ // await this.getBasicProcessData()
+ console.log('鎵ц')
+ this.sourceTypeChange(this.sourceType)
}
}
@@ -3911,7 +3974,7 @@
ordertype: 'PO', // 宸ュ崟绫诲瀷
sourceorderid: '', // 婧愬崟id
sourceorder: '', // 婧愬崟鍗曞彿
-
+ saleordercode: '', // 閿�鍞鍗曞彿
partcode: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
partspec: '', // 浜у搧瑙勬牸
@@ -3928,11 +3991,13 @@
this.dialogForm.routecode = ''
- this.sourceType = false
+ this.sourceType = true
this.stepSelectedValue = []
this.stepTableData = []
this.$refs.dialogForm.clearValidate()
+ this.$refs.tableDataRef.doLayout()
+ this.$refs.tableDataRef2.doLayout()
},
// 瀵硅瘽妗嗗彇娑�
dialogVisibleCancel() {
@@ -3983,13 +4048,14 @@
return this.$message.error('鏈夊簭鎶ュ伐鎯呭喌涓嬶紝瓒呮姤姣斾緥鍚庨亾宸ュ簭涓嶈兘澶т簬鍓嶉亾宸ュ簭锛�')
}
}
- console.log(isNaN(this.dialogForm.mesqty - this.dialogForm.mesqtyinit))
+ // console.log(isNaN(this.dialogForm.mesqty - this.dialogForm.mesqtyinit))
const data = {
wostatus: this.dialogForm.mesorderstus, // 宸ュ崟鐘舵��
wocode: this.dialogForm.mesordercode, // 宸ュ崟鍙�
wotype: this.dialogForm.ordertype, // 宸ュ崟绫诲瀷
sourceid: this.dialogForm.sourceorderid, // 婧愬崟id
sourcewo: this.dialogForm.sourceorder, // 婧愬崟鍗曞彿
+ saleordercode: this.dialogForm.saleordercode, // 閿�鍞鍗曞彿
partcode: this.dialogForm.partcode, // 浜у搧缂栧彿
wkshopcode: this.dialogForm.wkshopcode,
woqty: this.dialogForm.mesqty, // 宸ュ崟鏁伴噺
@@ -4010,6 +4076,7 @@
// this.handlePrint()
this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇濆瓨鎴愬姛锛�')
this.getMesOrderSearch()
+ this.tableDataDetail = []
this.$store.state.app.buttonIsDisabled = false
} else {
this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇濆瓨澶辫触锛�')
@@ -4083,6 +4150,7 @@
const data2 = {
mesordercode: wo_code || this.dialogForm.mesordercode
}
+ this.sendMesOrderWoCode = wo_code || this.dialogForm.mesordercode
MesOrderPrintSearch(data2).then(res2 => {
if (res2.code === '200') {
this.dialogVisibleApprove = true
@@ -4573,7 +4641,7 @@
getSummaries(param) {
const { columns, data } = param
const sums = []
- const i = 9
+ const i = 13
columns.forEach((column, index) => {
if (index === i) {
sums[index] = '鎬绘暟'
@@ -4940,7 +5008,25 @@
.statusItemLight{
font-weight: bolder;
- color: #42b983;
+ //color: #42b983;
+ color: #000;
+}
+
+.statusItemLight1{
+ font-weight: bolder;
+ color: rgba(245, 108, 108, 1);
+}
+.statusItemLight2{
+ font-weight: bolder;
+ color: rgba(230, 162, 60, 1);
+}
+.statusItemLight3{
+ font-weight: bolder;
+ color: rgba(144, 147, 153, 1);
+}
+.statusItemLight4{
+ font-weight: bolder;
+ color: rgba(103, 194, 58, 1);
}
</style>
@@ -4949,6 +5035,27 @@
.el-table .custom-row {
background: #f8f8fa;
}
+
+.el-table .custom-row1 {
+ background: rgba(245, 108, 108, 0.4);
+}
+
+.el-table .custom-row2 {
+ background: rgba(230, 162, 60, 0.4);
+}
+
+.el-table .custom-row3 {
+ background: rgba(144, 147, 153, 0.4);
+}
+
+.el-table .custom-row4 {
+ background: rgba(103, 194, 58, 0.4);
+}
+
+.el-table .fixed-column {
+ background: #f8f8fa;
+}
+
</style>
<style>
.sortable-ghost {
--
Gitblit v1.9.3