From 1e9fa82cb2fe2c15f46bd1dd73f5c878c74b83b8 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 04 八月 2022 15:35:50 +0800
Subject: [PATCH] 1.系统多账号登录问题2.采购订单页面样式修改及数据渲染
---
src/views/zlgl/gxjy.vue | 320 +++++++++++++++++++++++++++++++++++++---------------
1 files changed, 226 insertions(+), 94 deletions(-)
diff --git a/src/views/zlgl/gxjy.vue b/src/views/zlgl/gxjy.vue
index d208458..1012919 100644
--- a/src/views/zlgl/gxjy.vue
+++ b/src/views/zlgl/gxjy.vue
@@ -6,7 +6,7 @@
<i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />鎵爜淇℃伅
</div>
<div style="display: flex;align-items: center">
- <div style="width: 90px">鎵弿鏉$爜锛�</div>
+ <div style="width: 90px;display: flex"><div style="color: red;width:10px">*</div>鎵弿鏉$爜锛�</div>
<el-input
v-model="form.orderstepqrcode"
name="GXproduceCode"
@@ -51,7 +51,7 @@
<i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />妫�楠屾爣鍑嗕俊鎭�
</div>
<div style="display: flex;align-items: center">
- <div style="width: 90px">妫�楠屾爣鍑嗭細</div>
+ <div style="width: 90px;display: flex"><div style="color: red;width:10px">*</div>妫�楠屾爣鍑嗭細</div>
<el-select
v-model="checkStandard"
style="width: 200px;"
@@ -66,7 +66,7 @@
:value="item.code"
/>
</el-select>
- <div style="width: 90px;margin-left: 50px;">妫�楠屼汉鍛橈細</div>
+ <div style="width: 90px;margin-left: 50px;display: flex"><div style="color: red;width:10px">*</div>妫�楠屼汉鍛橈細</div>
<el-select
v-model="checkUser"
style="width: 200px;"
@@ -89,7 +89,7 @@
</div>
<div style="margin-top: 10px">
<el-table
- ref="tableDataRef"
+ ref="multipleTable"
:data="JYTableData"
:height="(tableHeight-195)+'px'"
border
@@ -98,6 +98,9 @@
highlight-current-row
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
+ :row-class-name="tableRowClassName"
+ @selection-change="handleSelectionChange"
+ @cell-dblclick="cellDblclick"
>
<el-table-column
type="index"
@@ -111,7 +114,7 @@
<!-- />-->
<el-table-column
prop="code"
- label="妫�楠岄」鐩悕绉�(鍚嶇О)"
+ label="妫�楠岄」鐩紪鐮�(鍚嶇О)"
>
<template slot-scope="{row}">
<div v-if="row.isVisible===0" style="display: flex;">
@@ -140,27 +143,57 @@
prop="stepcheckitem_desc"
label="妫�楠屾爣鍑嗘弿杩�"
>
- <template slot-scope="{row}">
- <el-input v-if="row.isVisible===1" v-model="row.stepcheckitem_desc" placeholder="璇疯緭鍏�" />
- <div v-else> {{ row.stepcheckitem_desc }}</div>
+ <template slot-scope="scope">
+ <el-input
+ v-if="scope.row.isVisible===1||scope.row.index === tabClickIndex && tabClickLabel === '妫�楠屾爣鍑嗘弿杩�'"
+ v-model="scope.row.stepcheckitem_desc"
+ placeholder="璇疯緭鍏�"
+ @keyup.enter.native="val=>keyUpEnterNative(val,scope.row)"
+ />
+ <div
+ v-else
+ > {{ scope.row.stepcheckitem_desc }}</div>
+
</template>
</el-table-column>
<el-table-column
- prop="reslut"
+ prop="result"
label="妫�楠岀粨鏋�"
+ width="100"
>
<template slot-scope="{row}">
- <el-radio-group v-model="row.reslut" size="small" @change="a=>changeRadioValue(a,row)">
- <el-radio-button style="box-shadow: none" :label="0" @click.native.prevent="clickRadio(0,row)">
- 鍚堟牸
- </el-radio-button>
- <el-radio-button style="box-shadow: none" :label="1" @click.native.prevent="clickRadio(1,row)">
- 涓嶈壇
- </el-radio-button>
- </el-radio-group>
+ <div v-if="row.result==='OK'">鍚堟牸</div>
+ <div v-if="row.result==='NG'">涓嶈壇</div>
</template>
+
+ <!-- <template slot-scope="{row}">-->
+ <!-- <el-radio-group-->
+ <!-- v-model="row.result"-->
+ <!-- size="small"-->
+ <!-- @change="a=>changeRadioValue(a,row)"-->
+ <!-- >-->
+ <!-- <el-radio-->
+ <!-- :label="0"-->
+ <!-- @change="clickRadio(0,row)"-->
+ <!-- >-->
+ <!-- 鍚堟牸-->
+ <!-- </el-radio>-->
+ <!-- <el-radio-->
+ <!-- :label="1"-->
+ <!-- @change="clickRadio(1,row)"-->
+ <!-- >-->
+ <!-- 涓嶈壇-->
+ <!-- </el-radio>-->
+ <!-- </el-radio-group>-->
+ <!-- </template>-->
+
</el-table-column>
+
+ <el-table-column
+ type="selection"
+ width="55"
+ />
<el-table-column
label="鎿嶄綔"
@@ -179,7 +212,7 @@
<div style="display: flex;margin-top: 20px;align-items: center">
<div style="display: flex;margin-right: 50px;align-items: center">
- <div style="width: 90px">妫�楠岀粨鏋滐細</div>
+ <div style="width: 90px;display: flex"><div style="color: red;width:10px">*</div>妫�楠岀粨鏋滐細</div>
<el-select
v-model="checkResult"
style="width: 200px;"
@@ -202,10 +235,10 @@
</div>
<div style="display: flex;margin: 30px 0;align-items: center">
- <el-button type="primary">棣栨淇濆瓨</el-button>
- <el-button type="primary" style="margin-left: 50px">宸℃淇濆瓨</el-button>
- <el-button type="primary" style="margin-left: 50px">瀹屽伐妫�淇濆瓨</el-button>
- <el-button type="info" style="margin-left: 50px">鍙栨秷</el-button>
+ <el-button type="primary" @click="submitButton('FirstCheck')">棣栨淇濆瓨</el-button>
+ <el-button type="primary" style="margin-left: 50px" @click="submitButton('PatroCheck')">宸℃淇濆瓨</el-button>
+ <el-button type="primary" style="margin-left: 50px" @click="submitButton('EndCheck')">瀹屽伐妫�淇濆瓨</el-button>
+ <el-button type="info" style="margin-left: 50px" @click="submitButton('Cancel')">鍙栨秷</el-button>
</div>
</div>
</div>
@@ -221,7 +254,7 @@
import {
MesOrderStepCheckItemList,
MesOrderStepCheckSearch,
- MesOrderStepCheckSelect,
+ MesOrderStepCheckSelect, SaveMesOrderStepCheckItem,
StepCheckItemSelect
} from '@/api/zlgl'
import { MesOrderSelectUser } from '@/api/scgl'
@@ -236,7 +269,8 @@
mainHeight: 0,
tableHeight: 0,
form: { // 宸ュ簭
- orderstepqrcode: 'MO-2022-07-0001_1;001', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ // MO-2022-07-0001_1;001
+ orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
wo_code: '', // 宸ュ崟缂栫爜
partcode: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
@@ -257,16 +291,15 @@
JYTableData: [], // 妫�楠岄」淇℃伅琛ㄦ牸
JYSelectArr: [], // 妫�楠屼笅鎷夋暟缁�
- JYSelectedArr: [] // 宸查�夋楠岄」鐩暟缁�
- // checkresultArr:[
- // {''}
- // ]
+ JYSelectedArr: [], // 宸查�夋楠岄」鐩暟缁�
+ multipleSelection: [], // 琛ㄦ牸澶氶�夋
+ tabClickIndex: null, // 鐐瑰嚮鐨勫崟鍏冩牸
+ tabClickLabel: '', // 褰撳墠鐐瑰嚮鐨勫垪鍚�
+ isCancel: false// 鏄惁鐐瑰嚮鍙栨秷鎸夐挳
}
},
created() {
- this.getMesOrderStepCheckSelect()
- this.getMesOrderSelectUser()
- this.getJYSelectArr()
+ this.handleRequest()
},
mounted() {
window.addEventListener('resize', this.getHeight)
@@ -275,6 +308,15 @@
this.getFocus()
},
methods: {
+ handleRequest() {
+ this.getMesOrderStepCheckSelect().then(res => {
+ if (res.code === '200') {
+ this.getMesOrderSelectUser()
+ this.getJYSelectArr()
+ }
+ })
+ },
+
// 鑾峰彇鑱氱劍
getFocus() {
this.$nextTick(() => {
@@ -283,8 +325,9 @@
},
// 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋暟缁�
async getMesOrderStepCheckSelect() {
- const { data: res } = await MesOrderStepCheckSelect()
- this.checkStandardSelect = res
+ const res = await MesOrderStepCheckSelect()
+ this.checkStandardSelect = res.data
+ return { code: res.code }
},
// 鑾峰彇妫�楠屼汉鍛樹笅鎷�
async getMesOrderSelectUser() {
@@ -298,6 +341,7 @@
},
// 妫�楠屾爣鍑嗕笅鎷夊�兼敼鍙�
async changeCheckStandard(val) {
+ this.isCancel = false
this.JYSelectedArr = []
const { data: res } = await MesOrderStepCheckItemList({ checkstandcode: val })
this.JYTableData = res
@@ -306,63 +350,43 @@
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
- item.reslut = 0 // 0鍚堟牸 1涓嶈壇
+ // item.result = 0 // 0鍚堟牸 1涓嶈壇
+ item.result = 'OK'
item.isVisible = 0
item.number = number
this.JYSelectedArr.push(item.code)
})
+ this.$refs.multipleTable.toggleAllSelection()
},
- changeRadioValue(val, row) {
- console.log(val, row)
- },
- clickRadio(e, row) {
- console.log(e, row, 1)
- row.reslut = row.reslut === 0 ? 1 : 0
- // this.JYTableData.forEach(item => {
- // if (row.code === item.code) {
- // item.reslut = row.reslut === 0 ? 1 : 0
- // }
- // })
- // e === row.reslut ? row.reslut = null : row.reslut = e
- // this.$nextTick(() => {
- // row.reslut = row.reslut === 0 ? 1 : 0
- // })
- //
- // this.$forceUpdate()
-
- // this.$refs.tableDataRef.toggleRowSelection(row, false)
- },
-
- reslutChange(val, row) {
-
- },
- xxxx(val) {
- console.log(val)
- },
- changeSelect(val, row) {
- console.log(val, row)
- },
- changSwitch(val, row) {
- console.log(val)
- // row.result = val
- // this.JYTableData.forEach(item => {
- // if (row.code === item.code) {
- // item.reslut = val === 'NG' ? 'OK' : 'NG'
- // }
- // })
-
- // row.reslut = !row.reslut
- // this.handleValue(row)
- },
- handleValue(row) {
- this.JYTableData.forEach(item => {
- if (item.code === row.code) {
- item.reslut = item.reslut === 'OK' ? 'NG' : 'OK'
+ // changeRadioValue(val, row) {
+ // console.log(val, row.result, 20000)
+ // },
+ // clickRadio(e, row) {
+ // console.log(e, row.result, 10000)
+ // row.result = e
+ // },
+ handleSelectionChange(val) {
+ this.multipleSelection = val
+ const arr = this.multipleSelection.map(i => i.number)
+ this.JYTableData.forEach(it => {
+ if (arr.includes(it.number)) {
+ it.result = 'OK'
+ } else {
+ it.result = 'NG'
}
})
+
+ if (this.multipleSelection.length > 0 && this.multipleSelection.length === this.JYTableData.length) {
+ this.checkResult = 'OK'
+ } else {
+ this.checkResult = 'NG'
+ }
+ if (this.isCancel) {
+ this.checkResult = ''
+ }
},
- //
+ // 妫�楠岄」鐩紪鐮侊紙鍚嶇О锛�
changeCode(val, row) {
row.stepcheckitem_desc = this.JYSelectArr.find(it => it.code === val).descr
row.name = this.JYSelectArr.find(it => it.code === val).name
@@ -388,37 +412,37 @@
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
- const data = { code: '', name: '', stepcheckitem_desc: '', isVisible: 1, number }
+ const data = { result: 'OK', code: '', name: '', stepcheckitem_desc: '', isVisible: 1, number }
this.JYTableData.push(data)
+ this.$refs.multipleTable.toggleRowSelection(data, true)
},
// 纭
confirm(row) {
if (row.code === '') {
- return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘涓虹┖锛�')
+ return this.$message.info('妫�楠岄」鐩紪鐮�(鍚嶇О)涓嶈兘涓虹┖锛�')
}
if (this.JYSelectedArr.find(item => item === row.code) !== undefined) {
- return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘閲嶅锛�')
+ return this.$message.info('妫�楠岄」鐩紪鐮�(鍚嶇О)涓嶈兘閲嶅锛�')
} else {
this.JYSelectedArr.push(row.code)
}
-
this.JYTableData.forEach((item, index) => {
if (item.number === row.number) {
item.isVisible = 0
- this.JYTableData.splice(index, 1, {
- number: row.number,
- code: row.code,
- name: row.name,
- isVisible: 0,
- reslut: row.reslut,
- stepcheckitem_desc: row.stepcheckitem_desc
- })
+ item.code = row.code
+ item.name = row.name
+ item.result = row.result
+ item.stepcheckitem_desc = row.stepcheckitem_desc
}
})
- console.log(this.JYTableData)
+ if (this.multipleSelection.length > 0 && this.multipleSelection.length === this.JYTableData.length) {
+ this.checkResult = 'OK'
+ } else {
+ this.checkResult = 'NG'
+ }
},
// 鍙栨秷
cancel(row) {
@@ -434,6 +458,7 @@
}
})
},
+
// 鍒犻櫎
del(row) {
this.JYTableData.forEach((item, index) => {
@@ -448,6 +473,113 @@
}
})
},
+ // 鎻愪氦
+ submitButton(val) {
+ if (val !== 'Cancel') {
+ if (this.form.orderstepqrcode.length < 1) {
+ return this.$message.info('鎵弿鏉$爜涓嶈兘涓虹┖锛�')
+ }
+ if (this.checkStandard.length < 1) {
+ return this.$message.info('妫�楠屾爣鍑嗕笉鑳戒负绌猴紒')
+ }
+ if (this.checkUser.length < 1) {
+ return this.$message.info('妫�楠屼汉鍛樹笉鑳戒负绌猴紒')
+ }
+ if (this.JYTableData.length < 1) {
+ return this.$message.info('妫�楠岄」淇℃伅涓嶈兘涓虹┖锛�')
+ }
+ if (this.checkResult.length < 1) {
+ return this.$message.info('妫�楠岀粨鏋滀笉鑳戒负绌猴紒')
+ }
+
+ const text = val === 'FirstCheck' ? '棣栨淇濆瓨' : (val === 'PatroCheck' ? '宸℃淇濆瓨' : '瀹屽伐妫�淇濆瓨')
+ this.$confirm('鏄惁纭' + text + '?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ const arr = []
+ this.JYTableData.forEach((item, index) => {
+ arr.push({
+ code: item.code,
+ name: item.name,
+ seq: (index + 1),
+ descr: item.stepcheckitem_desc,
+ checkresult: item.result
+ })
+ })
+ const data = {
+ 'mesordercode': this.form.wo_code, // 宸ュ崟缂栧彿
+ 'partcode': this.form.partcode, // 浜у搧缂栫爜
+ 'stepcode': this.form.stepcode, // 宸ュ簭缂栫爜
+ 'checkstanedcode': this.checkStandard, // 妫�楠屾爣鍑嗙紪鐮�
+ 'checkusercode': this.checkUser, // 妫�楠屼汉鍛樼紪鐮�
+ 'checktypecode': val, // 妫�楠岀被鍨嬬紪鐮�
+ 'checkresult': this.checkResult, // 妫�楠岀粨鏋�(OK(鍚堟牸) NG(涓嶈壇))
+ 'checkdescr': this.checkdescr, // 妫�楠屾弿杩�
+ 'data': arr
+ }
+ SaveMesOrderStepCheckItem(data).then(res => {
+ if (res.code === '200') {
+ this.$message.success(text + '鎴愬姛锛�')
+ this.clearContent()
+ this.getFocus()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堜繚瀛�')
+ })
+ } else {
+ this.clearContent()
+ this.getFocus()
+ }
+ },
+ // 娓呯┖椤甸潰鍐呭
+ clearContent() {
+ this.JYTableData = []
+ this.multipleSelection = []
+ this.JYSelectedArr = []
+ this.checkdescr = ''
+ this.checkUser = ''
+ this.checkResult = ''
+ this.checkStandard = ''
+ this.form.orderstepqrcode = ''
+ this.form.wo_code = ''
+ this.form.partcode = ''
+ this.form.partname = ''
+ this.form.partspec = ''
+ this.form.stepcode = ''
+ this.form.stepname = ''
+
+ this.isCancel = true
+ },
+
+ // 鍗曞厓鏍艰鐐瑰嚮鏃�
+ cellDblclick(row, column, cell, event) {
+ console.log(row, column, cell, event)
+ console.log(column.label)
+ console.log(row.index)
+ switch (column.label) {
+ case '妫�楠屾爣鍑嗘弿杩�':
+ this.tabClickIndex = row.index
+ this.tabClickLabel = column.label
+ break
+ // case '鍒よ矗閲戦(鍏�)':
+ // this.tabClickIndex = row.index
+ // this.tabClickLabel = column.label
+ // break
+ default: return
+ }
+ },
+ // 鍥炶溅浜嬩欢
+ keyUpEnterNative(val, row) {
+ this.tabClickLabel = ''
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ // 鎶婃瘡涓�琛岀殑绱㈠紩鏀捐繘row
+ row.index = rowIndex
+ },
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
--
Gitblit v1.9.3