From b46bc2dba51a3885a68e4c58316b41a31ea16bb2 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 14 二月 2023 13:35:03 +0800
Subject: [PATCH] 1.存货档案修改
---
src/views/zlgl/gxjy.vue | 908 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 581 insertions(+), 327 deletions(-)
diff --git a/src/views/zlgl/gxjy.vue b/src/views/zlgl/gxjy.vue
index d208458..1d75f7f 100644
--- a/src/views/zlgl/gxjy.vue
+++ b/src/views/zlgl/gxjy.vue
@@ -1,57 +1,100 @@
<template>
<div>
<div class="body" :style="{height:mainHeight+'px'}">
- <div style="margin-left: 10px;margin-top:10px;display: flex;flex-direction: column">
+ <div style="padding-top: 10px;display: flex;flex-direction: column">
<div style="margin-bottom: 15px;font-size: 14px">
- <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />鎵爜淇℃伅
+ <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="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"
style="width: 300px"
@keyup.enter.native="val=>enterNative(val,'GXproduceCode')"
/>
+ <!-- @keyup.native="e=>judgeIsScanning(e,'GXproduceCode')"-->
+
</div>
<!-- 鍏」淇℃伅 -->
- <div style="display:flex;margin-top: 10px;align-items: center; line-height: 50px">
- <div style="display: flex;">
+ <div v-if="!isIpad" style="background:#f8f8fa ;display:flex;margin-top: 10px;align-items: center; line-height: 50px">
+ <div style="display: flex; margin-left: 10px">
<div style="display: flex;margin-right: 50px">
<div style="width: 90px">宸ュ崟缂栫爜锛�</div>
- <div style="width: 200px">{{ form.wo_code }}</div>
+ <div style="width: 150px">{{ form.wo_code }}</div>
</div>
<div style="display: flex;">
<div style="width: 90px">浜у搧缂栫爜锛�</div>
- <div style="width: 100px">{{ form.partcode }}</div>
+ <div style="width: 150px">{{ form.partcode }}</div>
</div>
</div>
<div style="display: flex;margin-left: 30px;">
<div style="display: flex;margin-right: 50px">
<div style="width: 90px">浜у搧鍚嶇О锛�</div>
- <div style="width: 100px">{{ form.partname }}</div>
+ <div style="width: 150px">{{ form.partname }}</div>
</div>
<div style="display: flex;">
<div style="width: 90px">浜у搧瑙勬牸锛�</div>
- <div style="width: 100px">{{ form.partspec }}</div>
+ <div style="width: 150px">{{ form.partspec }}</div>
</div>
</div>
<div style=" display: flex;margin-left: 30px;">
<div style="display: flex;margin-right: 50px">
<div style="width: 90px">宸ュ簭缂栫爜锛�</div>
- <div>{{ form.stepcode }}</div>
+ <div style="width: 150px">{{ form.stepcode }}</div>
</div>
<div style="display: flex;">
<div style="width: 90px">宸ュ簭鍚嶇О锛�</div>
- <div>{{ form.stepname }}</div>
+ <div style="width: 150px">{{ form.stepname }}</div>
</div>
</div>
</div>
+ <div
+ v-if="isIpad"
+ style="display:flex;margin-top: 10px;align-items: center;line-height: 30px; flex-direction: column"
+ >
+ <div style="display: flex; justify-content: flex-start;width: 100%">
+ <div style="display: flex;margin-right: 50px">
+ <div style="width: 90px">宸ュ崟缂栫爜锛�</div>
+ <div style="width: 200px">{{ form.wo_code }}</div>
+ </div>
+ <div style="display: flex;margin-right: 50px">
+ <div style="width: 90px">浜у搧缂栫爜锛�</div>
+ <div style="width: 200px">{{ form.partcode }}</div>
+ </div>
+ <div style="display: flex;">
+ <div style="width: 90px">浜у搧鍚嶇О锛�</div>
+ <div style="width: 200px">{{ form.partname }}</div>
+ </div>
+ </div>
+
+ <div style=" display: flex; justify-content: flex-start;margin-top: 10px;width: 100%">
+ <div style="display: flex;margin-right: 50px">
+ <div style="width: 90px">浜у搧瑙勬牸锛�</div>
+ <div style="width: 200px">{{ form.partspec }}</div>
+ </div>
+ <div style="display: flex;margin-right: 50px">
+ <div style="width: 90px">宸ュ簭缂栫爜锛�</div>
+ <div style="width: 200px">{{ form.stepcode }}</div>
+ </div>
+ <div style="display: flex;">
+ <div style="width: 90px">宸ュ簭鍚嶇О锛�</div>
+ <div style="width: 200px">{{ form.stepname }}</div>
+ </div>
+ </div>
+ </div>
+
<div style="margin: 15px 0;font-size: 14px">
- <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />妫�楠屾爣鍑嗕俊鎭�
+ <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="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 +109,10 @@
: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;"
@@ -80,106 +126,21 @@
:value="item.usercode"
/>
</el-select>
+ <div style="width: 90px;margin-left: 50px;display: flex">
+ <div style="color: red;width:10px">*</div>
+ 妫�楠屾暟閲忥細
+ </div>
+ <el-input v-model="checkqty" oninput="value=value.replace(/[^0-9]/g,'')" style="width: 200px" />
</div>
- <div style="margin: 15px 0;font-size: 14px">
- <i class="el-icon-s-operation" style="color:#42b983; margin-right: 5px" />妫�楠岄」淇℃伅
- </div>
- <div>
- <el-button type="primary" @click="add">鏂板</el-button>
- </div>
- <div style="margin-top: 10px">
- <el-table
- ref="tableDataRef"
- :data="JYTableData"
- :height="(tableHeight-195)+'px'"
- border
- stripe
- :style="{width: 100+'%',height:tableHeight+'px',}"
- highlight-current-row
- :header-cell-style="this.$headerCellStyle"
- :cell-style="this.$cellStyle"
- >
- <el-table-column
- type="index"
- label="搴忓彿"
- width="100"
- />
- <!-- <el-table-column-->
- <!-- prop="code"-->
- <!-- label="妫�楠岄」鐩紪鐮�"-->
- <!-- sortable="custom"-->
- <!-- />-->
- <el-table-column
- prop="code"
- label="妫�楠岄」鐩悕绉�(鍚嶇О)"
- >
- <template slot-scope="{row}">
- <div v-if="row.isVisible===0" style="display: flex;">
- <div>{{ row.code }}</div>
- <div style="margin-left: 10px">{{ row.name }}</div>
- </div>
- <el-select
- v-if="row.isVisible===1"
- v-model="row.code"
- filterable
- style="width: 400px;"
- placeholder="璇烽�夋嫨"
- @change="val=>changeCode(val,row)"
- >
- <el-option
- v-for="item in JYSelectArr"
- :key="item.code"
- :label="item.code+''+item.name"
- :value="item.code"
- />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column
- 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>
- </el-table-column>
-
- <el-table-column
- prop="reslut"
- label="妫�楠岀粨鏋�"
- >
- <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>
- </template>
- </el-table-column>
-
- <el-table-column
- label="鎿嶄綔"
- >
- <template slot-scope="{row}">
- <div class="operationClass">
- <el-button v-if="row.isVisible===0" type="text" @click="del(row)">鍒犻櫎</el-button>
- <el-button v-if="row.isVisible===1" type="text" @click="confirm(row)">纭</el-button>
- <el-button v-if="row.isVisible===1" type="text" @click="cancel(row)">鍙栨秷</el-button>
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
<!-- 妫�楠岀粨鏋� 鍜� 妫�楠屽娉� -->
<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;"
@@ -196,16 +157,192 @@
</div>
<div style="display: flex;align-items: center">
<div style="width: 90px">妫�楠屽娉細</div>
- <el-input v-model="checkdescr" style="width: 300px" placeholder="璇疯緭鍏�" />
+ <el-input v-model="checkdescr" style="width: 540px" placeholder="璇疯緭鍏�" />
</div>
</div>
+ <div style="margin: 15px 0;font-size: 14px">
+ <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" style="margin-right: 5px" />妫�楠岄」淇℃伅
+ </div>
+ <div>
+ <el-button v-waves type="primary" @click="add">鏂板</el-button>
+ </div>
+ <div style="margin-top: 10px">
+ <el-table
+ ref="multipleTable"
+ :data="JYTableData"
+ :height="tableHeight+'px'"
+ border
+ :row-class-name="tableRowClassName"
+ :style="{width: 100+'%',height:tableHeight+'px',}"
+ highlight-current-row
+ :header-cell-style="this.$headerCellStyle"
+ :cell-style="this.$cellStyle"
+ @selection-change="handleSelectionChange"
+ @cell-dblclick="cellDblclick"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="100"
+ fixed
+ />
+
+ <!-- <el-table-column-->
+ <!-- prop="code"-->
+ <!-- label="妫�楠岄」鐩紪鐮�(鍚嶇О)"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.isVisible===0" style="display: flex;">-->
+ <!-- <div>{{ row.code }}</div>-->
+ <!-- <div style="margin-left: 10px">{{ row.name }}</div>-->
+ <!-- </div>-->
+
+ <!-- <el-select-->
+ <!-- v-if="row.isVisible===1"-->
+ <!-- v-model="row.code"-->
+ <!-- filterable-->
+ <!-- style="width: 400px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- @change="val=>changeCode(val,row)"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in JYSelectArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.code+''+item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+
+ <el-table-column
+ prop="code"
+ label="妫�楠屾爣鍑嗙紪鐮�"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.isVisible===0">{{ row.code }}</div>
+ <el-select
+ v-if="row.isVisible===1"
+ v-model="row.code"
+ style="width: 200px;"
+ placeholder="璇烽�夋嫨"
+ @change="val=>changeName(val,row)"
+ >
+ <el-option
+ v-for="item in JYSelectArr"
+ :key="item.name"
+ :label="item.code"
+ :value="item.name"
+ />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="妫�楠屾爣鍑嗗悕绉�"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.isVisible===0">{{ row.name }}</div>
+ <el-select
+ v-if="row.isVisible===1"
+ v-model="row.name"
+ style="width: 200px;"
+ placeholder="璇烽�夋嫨"
+ @change="val=>changeName(val,row)"
+ >
+ <el-option
+ v-for="item in JYSelectArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ prop="stepcheckitem_desc"
+ label="妫�楠屾爣鍑嗘弿杩�"
+ show-tooltip-when-overflow
+ >
+ <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="result"
+ label="妫�楠岀粨鏋�"
+ width="100"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ <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="鎿嶄綔"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button v-if="row.isVisible===0" v-waves type="text" @click="del(row)">鍒犻櫎</el-button>
+ <el-button v-if="row.isVisible===1" v-waves type="text" @click="confirm(row)">纭</el-button>
+ <el-button v-if="row.isVisible===1" v-waves type="text" @click="cancel(row)">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ </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 v-waves type="primary" @click="submitButton('FirstCheck')">棣栨淇濆瓨</el-button>
+ <el-button v-waves type="primary" style="margin-left: 50px" @click="submitButton('PatroCheck')">宸℃淇濆瓨</el-button>
+ <el-button v-waves type="primary" style="margin-left: 50px" @click="submitButton('EndCheck')">瀹屽伐妫�淇濆瓨</el-button>
+ <el-button v-waves type="info" style="margin-left: 50px" @click="submitButton('Cancel')">鍙栨秷</el-button>
</div>
</div>
</div>
@@ -221,22 +358,27 @@
import {
MesOrderStepCheckItemList,
MesOrderStepCheckSearch,
- MesOrderStepCheckSelect,
+ MesOrderStepCheckSelect, SaveMesOrderStepCheckItem,
StepCheckItemSelect
} from '@/api/zlgl'
import { MesOrderSelectUser } from '@/api/scgl'
+import { getCookie } from '@/utils/auth'
+import waves from '@/directive/waves'
export default {
name: 'QXDY',
// components: {
// Pagination
// },
+ directives: { waves },
data() {
return {
+ isIpad: false,
mainHeight: 0,
tableHeight: 0,
form: { // 宸ュ簭
- orderstepqrcode: 'MO-2022-07-0001_1;001', // 鎵弿鐨勪簩缁寸爜淇℃伅
+ // MO-2022-07-0001_1;001
+ orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜淇℃伅
wo_code: '', // 宸ュ崟缂栫爜
partcode: '', // 浜у搧缂栫爜
partname: '', // 浜у搧鍚嶇О
@@ -246,7 +388,8 @@
},
checkStandard: '', // 妫�楠屾爣鍑�
checkStandardSelect: [], // 妫�楠屾爣鍑嗕笅鎷夋暟缁�
- checkUser: '', // 妫�楠屼汉鍛�
+ checkUser: getCookie('navTabId'), // 妫�楠屼汉鍛�
+ checkqty: 0, // 妫�楠屾暟閲�
checkUserSelect: [], // 妫�楠屼汉鍛樹笅鎷夋暟缁�
checkResult: '', // 妫�楠岀粨鏋�
checkResultSelect: [
@@ -257,16 +400,17 @@
JYTableData: [], // 妫�楠岄」淇℃伅琛ㄦ牸
JYSelectArr: [], // 妫�楠屼笅鎷夋暟缁�
- JYSelectedArr: [] // 宸查�夋楠岄」鐩暟缁�
- // checkresultArr:[
- // {''}
- // ]
+ // JYSelectedArr: [], // 宸查�夋楠岄」鐩暟缁�
+ JYIsCancel: true,
+ multipleSelection: [], // 琛ㄦ牸澶氶�夋
+ tabClickIndex: null, // 鐐瑰嚮鐨勫崟鍏冩牸
+ tabClickLabel: '', // 褰撳墠鐐瑰嚮鐨勫垪鍚�
+ isCancel: false, // 鏄惁鐐瑰嚮鍙栨秷鎸夐挳
+ judgeIsScanningArr: []// 鍒ゆ柇鏄惁鎵爜鏁扮粍
}
},
created() {
- this.getMesOrderStepCheckSelect()
- this.getMesOrderSelectUser()
- this.getJYSelectArr()
+ this.handleRequest()
},
mounted() {
window.addEventListener('resize', this.getHeight)
@@ -275,6 +419,15 @@
this.getFocus()
},
methods: {
+ handleRequest() {
+ this.getMesOrderStepCheckSelect().then(res => {
+ if (res.code === '200') {
+ this.getMesOrderSelectUser()
+ this.getJYSelectArr()
+ }
+ })
+ },
+
// 鑾峰彇鑱氱劍
getFocus() {
this.$nextTick(() => {
@@ -283,8 +436,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,74 +452,98 @@
},
// 妫�楠屾爣鍑嗕笅鎷夊�兼敼鍙�
async changeCheckStandard(val) {
- this.JYSelectedArr = []
+ await this.getJYSelectArr()
+ this.isCancel = false
+
const { data: res } = await MesOrderStepCheckItemList({ checkstandcode: val })
this.JYTableData = res
+
+ // let arr = [鈥].filter(x => [鈥].every(y => y.id !== x.id));
+ this.JYSelectArr = [...this.JYSelectArr].filter(x => [...this.JYTableData].every(y => y.code !== x.code))
this.JYTableData.forEach(item => {
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
+ // 妫�楠岄」鐩紪鐮侊紙鍚嶇О锛�
+ changeName(val, row) {
+ const res = this.JYSelectArr.find(item => {
+ return item.code === val || item.name === val
+ })
+ row.code = res.code
+ row.name = res.name
+ row.stepcheckitem_desc = res.descr
+ },
+ // 闃叉姈 //鎵爜鐢ㄧ殑鏄槻鎶�
+ fnThrottle(method, delay, duration, belong) {
+ var that = this
+ var timer = this.timer
+ var begin = new Date().getTime()
+ return function() {
+ var current = new Date().getTime()
+ clearTimeout(timer)
+ if (current - begin >= duration) {
+ // method()
+ // that.VALUE()
+ begin = current
+ } else {
+ that.timer = setTimeout(function() {
+ // method()
+ that.enterNative(that.form.orderstepqrcode, belong)
+ }, delay)
+ }
+ }
+ },
+ // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
+ judgeIsScanning(e, belong) {
+ const timenow = e.timeStamp
+ let flag = true
+ this.judgeIsScanningArr.push(timenow)
+ let i
+ for (i in this.judgeIsScanningArr) {
+ flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
+ if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
+ if (flag) {
+ this.fnThrottle(this.enterNative, 500, 2000, belong)()
+ return
+ }
+ }
+ }
},
// 鎵爜閿洏鍥炶溅浜嬩欢
async enterNative(val, belong) {
@@ -382,43 +560,52 @@
// 鏂板
add() {
+ if (this.JYTableData.length === 0) {
+ return this.$message.info('璇峰厛閫夋嫨妫�楠屾爣鍑嗭紒')
+ }
if (this.JYTableData.length > 0 && this.JYTableData[this.JYTableData.length - 1].isVisible === 1) {
return this.$message.info('璇峰厛纭畾鎴栧彇娑堟湰鏉¤褰曪紒')
}
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)
+
+ this.JYIsCancel = false
},
// 纭
confirm(row) {
if (row.code === '') {
- return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘涓虹┖锛�')
+ return this.$message.info('妫�楠岄」鐩紪鐮佷笉鑳戒负绌猴紒')
+ }
+ if (row.name === '') {
+ return this.$message.info('妫�楠岄」鐩悕绉颁笉鑳戒负绌猴紒')
}
- if (this.JYSelectedArr.find(item => item === row.code) !== undefined) {
- return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘閲嶅锛�')
- } else {
- this.JYSelectedArr.push(row.code)
- }
+ this.JYSelectArr.forEach((item, index) => {
+ if (item.code === row.code) {
+ this.JYSelectArr.splice(index, 1)
+ }
+ })
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) {
@@ -428,31 +615,158 @@
}
})
- this.JYSelectedArr.forEach((item, index) => {
- if (item === row.code) {
- this.JYSelectedArr.splice(index, 1)
- }
- })
+ if (this.JYIsCancel && row.code.toString().length > 0) {
+ this.JYSelectArr.splice(0, 0, {
+ code: row.code,
+ name: row.name,
+ descr: row.stepcheckitem_desc
+ })
+ }
+ this.JYIsCancel = true
},
+
// 鍒犻櫎
del(row) {
+ this.JYSelectArr.splice(0, 0, {
+ code: row.code,
+ name: row.name,
+ descr: row.stepcheckitem_desc
+ })
+
this.JYTableData.forEach((item, index) => {
if (item.number === row.number) {
this.JYTableData.splice(index, 1)
}
})
-
- this.JYSelectedArr.forEach((item, index) => {
- if (item === row.code) {
- this.JYSelectedArr.splice(index, 1)
+ },
+ // 鎻愪氦
+ submitButton(val) {
+ if (val !== 'Cancel') {
+ if (this.form.orderstepqrcode.length < 1) {
+ return this.$message.info('鎵弿鏉$爜涓嶈兘涓虹┖锛�')
}
- })
+ if (this.form.wo_code.toString().length === 0) {
+ return this.$message.info('鏈幏寰楀伐鍗曠紪鐮侊紒')
+ }
+ if (this.checkStandard.length < 1) {
+ return this.$message.info('妫�楠屾爣鍑嗕笉鑳戒负绌猴紒')
+ }
+ if (this.checkUser.length < 1) {
+ return this.$message.info('妫�楠屼汉鍛樹笉鑳戒负绌猴紒')
+ }
+ if (parseFloat(this.checkqty) <= 0) {
+ 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 = this.JYTableData.filter(item => item.code !== '')
+ 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, // 妫�楠屼汉鍛樼紪鐮�
+ 'checkqty': this.checkqty, // 妫�楠屾暟閲�
+ '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()
+ this.getJYSelectArr()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堜繚瀛�')
+ })
+ } else {
+ this.clearContent()
+ this.getFocus()
+ this.getJYSelectArr()
+ }
+ },
+ // 娓呯┖椤甸潰鍐呭
+ clearContent() {
+ this.JYTableData = []
+ this.multipleSelection = []
+ this.checkdescr = ''
+ this.checkUser = getCookie('navTabId')
+ this.checkqty = 0
+ 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.judgeIsScanningArr = []
+
+ 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
+ return 'custom-row'
},
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
- this.mainHeight = window.innerHeight - 250
- this.tableHeight = this.mainHeight - 100
+ this.mainHeight = window.innerHeight - 85
+ this.tableHeight = this.mainHeight - 450
+
+ this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367
})
}
}
@@ -460,30 +774,61 @@
</script>
<style lang="scss" scoped>
+::v-deep .el-select .el-input .el-select__caret {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+</style>
+<!--鍏叡椤甸潰鏍峰紡-->
+<style lang="scss" scoped>
$main_color: #42b983;
+.el-button--text {
+ font-size: 14px;
+ cursor: pointer;
+}
+
+.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
+ color: $main_color;
+ cursor: pointer;
+}
+
+.el-icon-edit-outline {
+ margin-right: 15px;
+}
+
+::v-deep .el-button--primary, .el-button--default, .el-button--info {
+ height: 34px;
+ display: flex;
+ align-items: center;
+ padding: 0 15px;
+}
+
::v-deep .el-button--primary {
- background-color: $main_color !important;
- height: 30px;
- display: flex;
- align-items: center;
- //border: 1px solid $main_color;
- border: none;
- padding: 0 20px;
+ //background-color: $main_color !important;
}
-::v-deep .el-button--primary:hover {
+::v-deep .el-button--default {
+ background-color: #f8f8fa;
border: none;
}
-::v-deep .el-button--info {
- height: 30px;
- display: flex;
- align-items: center;
- padding: 0 20px;
+::v-deep .el-input__inner {
+ height: 34px;
+ line-height: 34px;
+ //color: #a7a7a7;
}
-::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active {
- background-color: $main_color !important;
+::v-deep .el-dialog__body {
+ padding: 20px 100px !important;
+}
+
+::v-deep .dialogVisibleRoles .el-dialog__body {
+ padding: 20px 20px !important;
+}
+
+::v-deep .importPickerClass .el-dialog__body {
+ padding: 20px 20px !important;
}
::v-deep .el-dialog__footer {
@@ -491,106 +836,30 @@
justify-content: flex-end;
}
-.footerButton {
- display: flex;
- justify-content: end;
-}
-
-::v-deep .el-button--default {
- background-color: #ffffff !important;
- height: 30px;
- display: flex;
- align-items: center;
- padding: 0 20px;
-}
-
-::v-deep .el-button--default:hover {
- color: #606266;
-}
-
-::v-deep .el-dialog__body {
- padding: 20px 100px !important;
-}
-
-::v-deep .el-radio__input.is-checked .el-radio__inner {
- background-color: $main_color;
- border-color: $main_color;
-}
-
-::v-deep .el-radio__input.is-checked + .el-radio__label {
- color: $main_color !important;
-}
-
-::v-deep .el-checkbox__input.is-checked .el-checkbox__inner {
- border-color: $main_color;
- background-color: $main_color;
-}
-
-::v-deep .el-input__inner {
- height: 30px;
- line-height: 30px;
-}
-
-::v-deep .el-input__inner:focus {
- border-color: $main_color;
-}
-
::v-deep .el-table .caret-wrapper {
transform: scale(0.8);
}
::v-deep .cell {
- display: flex !important;
- align-items: center !important;
- justify-content: space-between !important;
-}
-
-::v-deep .el-button--text {
- color: $main_color;
- font-size: 14px;
- cursor: pointer;
-}
-
-.operationClass {
- height: 23px;
display: flex;
- justify-content: space-between;
align-items: center;
+ justify-content: space-between;
}
-.el-icon-share {
- color: $main_color;
- cursor: pointer;
+::v-deep .el-table::before {
+ height: 0;
}
-.el-checkbox.is-bordered.is-checked {
- border-color: $main_color;
+::v-deep .el-table__body-wrapper {
+ background-color: #f8f8fa;
}
-::v-deep .el-radio__input.is-checked .el-radio__inner {
- border-color: $main_color;
- background: $main_color;
+::v-deep .el-table__body .el-table__row.hover-row td {
+ background-color: #eaecef;
}
-::v-deep .el-checkbox__input.is-indeterminate .el-checkbox__inner {
- border-color: $main_color;
- background: $main_color;
-}
-
-::v-deep .el-checkbox__input.is-checked + .el-checkbox__label {
- color: $main_color !important;
-}
-
-::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered {
- margin: 10px 30px 0px 0;
-}
-
-::v-deep .el-radio__input.is-checked + .el-radio__label {
- color: $main_color;
-}
-
-::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
- margin: 10px 30px 0px 0;
+::v-deep .el-form--inline .el-form-item__label {
+ color: #a7a7a7;
}
.body ::v-deep .el-divider {
@@ -603,29 +872,14 @@
margin-bottom: 0;
}
-::v-deep .el-input__inner:focus {
- border-color: $main_color;
+.userDialogVisible ::v-deep .el-form-item {
+ margin-bottom: 0;
}
-::v-deep .el-select .el-input__inner:focus {
- border-color: $main_color;
-}
+</style>
+<style>
-::v-deep .el-select-dropdown__item.selected {
- color: $main_color;
-}
-
-::v-deep .el-checkbox__inner:hover {
- border-color: $main_color;
-}
-
-::v-deep .el-textarea__inner:focus {
- border-color: $main_color;
-}
-
-::v-deep .el-select .el-input .el-select__caret {
- display: flex;
- align-items: center;
- justify-content: center;
+.el-table .custom-row {
+ background: #f8f8fa;
}
</style>
--
Gitblit v1.9.3