From 697e532cb0ba31cec654e3b8a271bc3ef0106bff Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 08 十二月 2025 13:29:39 +0800
Subject: [PATCH] 1.新增 生产工单根据工单状态显示不同的列表行样式,车间名称单选变为多选查询选择
---
src/views/workOrder/workOrderList.vue | 119 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 95 insertions(+), 24 deletions(-)
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index ac63cd4..5ef65e8 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">
@@ -471,7 +476,7 @@
v-if="mesSetting.workOrder"
class="el-icon-files"
style="cursor: pointer;color:#42b983;margin-right: 15px"
- @click="pre(row,1)"
+ @click.stop="pre(row,1)"
/>
</el-tooltip>
@@ -479,12 +484,12 @@
<i
class="el-icon-edit-outline"
:style="{color:$store.state.settings.theme}"
- @click="edit('edit',row)"
+ @click.stop="edit('edit',row)"
/>
</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">
@@ -497,7 +502,7 @@
:style="{color:$store.state.settings.theme}"
class="el-icon-printer"
style="cursor: pointer;margin-right: 15px"
- @click="handlePrint(row.wo_code,row.saleOrderCod,row)"
+ @click.stop="handlePrint(row.wo_code,row.saleOrderCod,row)"
/>
</el-tooltip>
@@ -506,7 +511,7 @@
class="el-icon-view"
style="cursor: pointer;"
:style="{color:$store.state.settings.theme}"
- @click="edit('view',row)"
+ @click.stop="edit('view',row)"
/>
</el-tooltip>
@@ -523,7 +528,7 @@
align="right"
layout="total,prev, pager, next,sizes,jumper"
popper-class="select_bottom"
- @pagination="getMesOrderSearch"
+ @pagination="getMesOrderSearch();tableDataDetail=[]"
/>
<div class="elTableDiv">
@@ -753,6 +758,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>
@@ -886,6 +892,7 @@
class="stepSelectedValueClass"
style="width: 930px;"
multiple
+ filterable
placeholder="璇烽�夋嫨鐩稿搴斿伐搴�"
@change="stepSelectedValueChange"
>
@@ -2600,6 +2607,7 @@
class="stepSelectedValueClass"
style="width: 930px;"
multiple
+ filterable
placeholder="璇烽�夋嫨鐩稿搴斿伐搴�"
@change="val=>stepSelectedValueChangeBatchUpdate(val,index)"
>
@@ -2762,7 +2770,7 @@
tableHeight: 0,
username: '',
form: {
- wkshopcode: '', // 杞﹂棿缂栫爜
+ wkshopcode: [], // 杞﹂棿缂栫爜
mesorderstus: '', // 宸ュ崟鐘舵�佺爜
mesordercode: '', // 宸ュ崟缂栧彿
partcode: '', // 浜у搧缂栫爜
@@ -3083,7 +3091,15 @@
// })
},
methods: {
+ 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()
},
@@ -3480,6 +3496,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 +3529,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 +3603,7 @@
// 閲嶇疆
reset(val) {
- this.form.wkshopcode = ''
+ this.form.wkshopcode = []
this.form.mesorderstus = ''
this.form.mesordercode = ''
this.form.partcode = ''
@@ -3672,6 +3702,7 @@
if (this.form.page > 1 && this.tableData.length === 1) {
this.form.page--
}
+ this.tableDataDetail = []
this.getMesOrderSearch()
}
})
@@ -3983,7 +4014,7 @@
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, // 宸ュ崟鍙�
@@ -4010,6 +4041,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' ? '娣诲姞澶辫触锛�' : '淇濆瓨澶辫触锛�')
@@ -4573,7 +4605,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 +4972,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 +4999,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