From a93255e0a0334b51ecbaf3d8f496ad0fae1ed747 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 07 六月 2023 10:38:00 +0800
Subject: [PATCH] 1.生产入库有源单提交测试OK
---
src/views/qualityManager/processCheckRecord.vue | 518 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 328 insertions(+), 190 deletions(-)
diff --git a/src/views/qualityManager/processCheckRecord.vue b/src/views/qualityManager/processCheckRecord.vue
index 920b5b3..f869827 100644
--- a/src/views/qualityManager/processCheckRecord.vue
+++ b/src/views/qualityManager/processCheckRecord.vue
@@ -81,7 +81,12 @@
</div>
<div class="elTableDiv">
+ <TableColumnSettings
+ :list1="tableColumnSettingsArray"
+ @tableColumnUpdate="tableColumnUpdate"
+ />
<el-table
+ :key="tableTimeStampKey"
ref="tableDataRef"
class="tableFixed"
:data="tableData"
@@ -94,145 +99,42 @@
:cell-style="this.$cellStyle"
@sort-change="sortChange"
>
- <!-- <el-table-column-->
- <!-- type="selection"-->
- <!-- width="50"-->
- <!-- fixed-->
- <!-- />-->
+
<el-table-column
- prop="RowNum"
- width="50"
- label="搴忓彿"
- fixed
- />
- <el-table-column
- prop="wo_code"
- label="宸ュ崟缂栫爜"
+ v-for="item in tableColumnSettingsArray"
+ v-if="item.show"
+ :key="item.id"
+ :sortable="item.sortable"
+ :prop="item.prop"
+ :min-width="item.minWidth"
+ :label="item.label"
+ :width="item.width"
show-tooltip-when-overflow
- width="160"
- sortable="custom"
- />
- <el-table-column
- prop="partcode"
- show-tooltip-when-overflow
- width="160"
- label="浜у搧缂栫爜"
- sortable="custom"
- />
- <el-table-column
- prop="partname"
- label="浜у搧鍚嶇О"
- width="160"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="partspec"
- label="浜у搧瑙勬牸"
- show-tooltip-when-overflow
- width="160"
- sortable="custom"
+ :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
>
<template slot-scope="{row}">
- <div v-if="row.partspec">{{ row.partspec }} </div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="step_code"
- label="宸ュ簭缂栫爜"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="stepname"
- label="宸ュ簭鍚嶇О"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="checkstaned_code"
- label="鏍囧噯缂栫爜"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="checkstaned_name"
- label="鏍囧噯鍚嶇О"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="check_type"
- label="妫�楠岀被鍨�"
- show-tooltip-when-overflow
- sortable="custom"
- width="120"
- >
- <template slot-scope="{row}">
- <div v-if="row.check_type==='FirstCheck'">棣栨</div>
- <div v-if="row.check_type==='PatroCheck'">宸℃</div>
- <div v-if="row.check_type==='EndCheck'">瀹屽伐妫�</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="check_result"
- label="妫�楠岀粨鏋�"
- sortable="custom"
- show-tooltip-when-overflow
- width="120"
- >
- <template slot-scope="{row}">
- <div v-if="row.check_result==='NG'">
- <i class="el-icon-info" style="margin-right: 2px" />
- 涓嶈壇
+ <div v-if="!row[item.prop]">/</div>
+ <div v-else-if="item.prop==='check_type'">
+ {{ checktypeArr.find(i=>i.code===row[item.prop]).name }}
</div>
- <div v-if="row.check_result==='OK'">
- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
- 鍚堟牸</div>
+ <div v-else-if="item.prop==='check_result'">
+ <div v-if="row.check_result==='NG'">
+ <i class="el-icon-info" style="margin-right: 2px" />
+ 涓嶈壇
+ </div>
+ <div v-if="row.check_result==='OK'">
+ <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
+ 鍚堟牸
+ </div>
+ </div>
+ <div v-else>{{ row[item.prop] }}</div>
</template>
</el-table-column>
- <el-table-column
- prop="check_descr"
- label="妫�楠屽娉�"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.check_descr">{{ row.check_descr }} </div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="check_qty"
- label="妫�楠屾暟閲�"
- width="120"
- show-tooltip-when-overflow
- sortable="custom"
- />
- <el-table-column
- prop="lm_user"
- label="妫�楠屼汉鍛�"
- show-tooltip-when-overflow
- sortable="custom"
- width="120"
- />
- <el-table-column
- prop="lm_date"
- label="妫�楠屾椂闂�"
- show-tooltip-when-overflow
- width="160"
- sortable="custom"
- />
+
<el-table-column
label="鎿嶄綔"
fixed="right"
- width="80"
+ width="120"
>
<template slot-scope="{row}">
<div class="operationClass">
@@ -276,6 +178,7 @@
>
<div class="elTableDiv">
<el-table
+ ref="tableDataRef2"
:data="tableDataDialog"
:height="(tableHeight-100)+'px'"
border
@@ -297,63 +200,135 @@
fixed
/>
- <el-table-column
- prop="checkitem_code"
- show-tooltip-when-overflow
- label="妫�楠岄」鐩紪鍙�"
- width="120"
- />
+ <!-- <el-table-column-->
+ <!-- prop="checkitem_code"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- label="妫�楠岄」鐩紪鍙�"-->
+ <!-- width="120"-->
+ <!-- />-->
<el-table-column
prop="checkitem_name"
label="妫�楠岄」鐩悕绉�"
+ fixed
show-tooltip-when-overflow
- />
- <el-table-column
- prop="checkitem_descr"
- label="妫�楠岄」鐩弿杩�"
- show-tooltip-when-overflow
- />
- <el-table-column
- prop="check_result"
- label="妫�楠岀粨鏋�"
- show-tooltip-when-overflow
- width="120"
- >
- <template slot-scope="{row}">
- <div v-if="row.check_result==='NG'">
- <i class="el-icon-info" style="margin-right: 2px" />
- 涓嶈壇
- </div>
- <div v-if="row.check_result==='OK'">
- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
- 鍚堟牸
- </div>
- </template>
- </el-table-column>
- <el-table-column
- prop="lm_user"
- label="妫�楠屼汉鍛�"
- show-tooltip-when-overflow
- width="120"
- />
- <el-table-column
- prop="lm_date"
- label="妫�楠屾椂闂�"
- show-tooltip-when-overflow
- width="160"
/>
<!-- <el-table-column-->
- <!-- label="鎿嶄綔"-->
- <!-- fixed="right"-->
- <!-- width="120"-->
- <!-- >-->
- <!-- <template slot-scope="{row}">-->
- <!-- <div class="operationClass">-->
- <!-- <el-button v-waves type="text" @click="check(row)">鏌ョ湅</el-button>-->
- <!-- <!– <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>–>-->
- <!-- </div>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
+ <!-- prop="checkitem_descr"-->
+ <!-- label="妫�楠岄」鐩弿杩�"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- />-->
+ <el-table-column
+ prop="standvalue"
+ label="鏍囧噯瑕佹眰"
+ fixed
+ min-width="120"
+ show-tooltip-when-overflow
+ >
+ <template slot-scope="{row}">
+ <!-- ~褰撲笁涓�奸兘鏈� -->
+ <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue">{{ row.standvalue }}({{
+ row.lowervalue
+ }}~{{ row.uppervalue }})
+ </div>
+ <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 -->
+ <div v-else-if="row.standvalue&&row.uppervalue">{{ row.standvalue }}(~{{ row.uppervalue }})</div>
+ <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂-->
+ <div v-else-if="row.standvalue&&row.lowervalue">{{ row.standvalue }}({{ row.lowervalue }}~)</div>
+
+ <!-- ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂-->
+ <div v-else-if="row.uppervalue&&row.lowervalue">({{ row.lowervalue }}~{{ row.uppervalue }})</div>
+ <!-- ~褰撳彧鏈夋爣鍑嗗�兼椂 -->
+ <div v-else-if="row.standvalue">{{ row.standvalue }}</div>
+ <!-- ~褰撳彧鏈変笂闄愬�兼椂 -->
+ <div v-else-if="row.uppervalue">(~{{ row.uppervalue }})</div>
+ <!-- ~褰撳彧鏈変笅闄愬�兼椂 -->
+ <div v-else-if="row.lowervalue">({{ row.lowervalue }}~)</div>
+
+ <div v-else>/</div>
+
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ v-for="(item,index) in dialogTableArrayCol"
+ :key="item"
+ :prop="(index+1)+'/'+ dialogTableNumberCol"
+ :label="'绗�'+(index+1)+'浠�'"
+ show-tooltip-when-overflow
+ min-width="100"
+ >
+ <template slot-scope="{row}">
+ <div style="display: flex;align-items: center">
+ <i
+ :class="row.check_result==='OK'?'el-icon-success':'el-icon-error'"
+ :style="{color:row.check_result==='OK'?$store.state.settings.theme:'red'}"
+ style="margin-right: 2px"
+ />
+ {{ row[(index + 1) + '/' + dialogTableNumberCol] }}
+ </div>
+
+ <!-- <!– ~褰撲笁涓�奸兘鏈� –>-->
+ <!-- <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">-->
+ <!-- <!– <div v-if="row[(index + 1) + '/' + dialogTableNumberCol]>=row.lowervalue&&row[(index + 1) + '/' + dialogTableNumberCol]<=row.uppervalue">–>-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+
+ <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 –>-->
+ <!-- <div v-else-if="row.standvalue&&row.uppervalue&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂–>-->
+ <!-- <div v-else-if="row.standvalue&&row.lowervalue&&row.uppervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+
+ <!-- <!– ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂–>-->
+ <!-- <div v-else-if="row.uppervalue&&row.lowervalue&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <!-- <!– ~褰撳彧鏈夋爣鍑嗗�兼椂 –>-->
+ <!-- <div v-else-if="row.standvalue&&row.uppervalue===''&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])===parseFloat(row.standvalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <!-- <!– ~褰撳彧鏈変笂闄愬�兼椂 –>-->
+ <!-- <div v-else-if="row.uppervalue&&row.lowervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+
+ <!-- <!– ~褰撳彧鏈変笅闄愬�兼椂 –>-->
+ <!-- <div v-else-if="row.lowervalue&& row.uppervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div></div>-->
+
+ <!-- <div v-else>-->
+ <!-- <div style="display: flex;align-items: center">-->
+ <!-- <i class="el-icon-error" style="color: red;margin-right: 2px" />-->
+ <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}-->
+ <!-- </div>-->
+ <!-- </div>-->
+
+ </template>
+ </el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
@@ -380,18 +355,19 @@
<script>
import Pagination from '@/components/Pagination'
-import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
+import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/basicSettings'
import { getCookie } from '@/utils/auth'
import ImportPicker from '@/components/ImportPicker'
-import { StepCheckTableOutExcel, StepCheckTableSearch, StepCheckTableSubSearch } from '@/api/zlgl'
+import { StepCheckTableOutExcel, StepCheckTableSearch, StepCheckTableSubSearch } from '@/api/qualityManager'
import elDragDialog from '@/directive/el-drag-dialog'
import waves from '@/directive/waves'
+import TableColumnSettings from '@/components/TableColumnSettings'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
name: 'Zzjg',
components: {
- Pagination, ImportPicker
+ Pagination, ImportPicker, TableColumnSettings
},
directives: { elDragDialog, waves },
data() {
@@ -415,6 +391,8 @@
rows: 20 // 姣忛〉澶氬皯鏉�
},
checktypeArr: [
+ { code: 'InCheck', name: '鍏ュ巶妫�楠�' },
+ { code: 'OutCheck', name: '鍑哄巶妫�楠�' },
{ code: 'FirstCheck', name: '棣栨' },
{ code: 'PatroCheck', name: '宸℃' },
{ code: 'EndCheck', name: '瀹屽伐妫�' }
@@ -426,11 +404,149 @@
total: 10,
tableData: [],
+ tableColumnSettingsArray: [
+ { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず
+ { minWidth: 25, width: 50, prop: 'RowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom
+ {
+ minWidth: 160,
+ width: false,
+ prop: 'wo_code',
+ label: '宸ュ崟缂栧彿',
+ id: 3,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'partcode',
+ label: '浜у搧缂栫爜',
+ id: 4,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'partname',
+ label: '浜у搧鍚嶇О',
+ id: 5,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'partspec',
+ label: '浜у搧瑙勬牸',
+ id: 6,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'step_code',
+ label: '宸ュ簭缂栫爜',
+ id: 7,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'stepname',
+ label: '宸ュ簭鍚嶇О',
+ id: 8,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'checkstaned_code',
+ label: '鏍囧噯缂栫爜',
+ id: 9,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'checkstaned_name',
+ label: '鏍囧噯鍚嶇О',
+ id: 10,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'check_type',
+ label: '妫�楠岀被鍨�',
+ id: 11,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'check_result',
+ label: '妫�楠岀粨鏋�',
+ id: 12,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'check_descr',
+ label: '妫�楠屽娉�',
+ id: 13,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 110,
+ width: false,
+ prop: 'check_qty',
+ label: '妫�楠屾暟閲�',
+ id: 14,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'lm_user',
+ label: '妫�楠屼汉鍛�',
+ id: 15,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 160,
+ width: false,
+ prop: 'lm_date',
+ label: '妫�楠屾椂闂�',
+ id: 16,
+ show: true,
+ fixed: false,
+ sortable: true
+ }
+ ],
+ tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key
dialogVisible: false,
tableDataDialog: [],
title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅',
code: '4',
- shows: false
+ shows: false,
+ dialogTableNumberCol: 0, // 瀵硅瘽妗嗗姩鎬佺殑鍒楁暟
+ dialogTableArrayCol: []// 瀵硅瘽妗嗗姩鎬佺殑鏁扮粍
}
},
@@ -449,6 +565,13 @@
this.getHeight()
},
methods: {
+ tableColumnUpdate(val, isCopyTrue) {
+ if (isCopyTrue) {
+ this.tableColumnSettingsArray = val
+ }
+ this.tableTimeStampKey = new Date().getTime()
+ this.$refs.tableDataRef.doLayout()
+ },
async getStepCheckTableSearch() {
const res = await StepCheckTableSearch(this.form)
this.tableData = res.data
@@ -494,10 +617,29 @@
async check(row) {
// this.operation = operation
+
+ this.dialogVisible = true
console.log(row, 1)
const res = await StepCheckTableSubSearch({ id: row.id })
this.tableDataDialog = res.data
- this.dialogVisible = true
+
+ this.tableDataDialog.forEach((item, index) => {
+ for (const it in item) {
+ if (it.indexOf('/') !== -1) {
+ const i = it.split('/')[1]
+ this.dialogTableNumberCol = i
+ }
+ }
+ })
+
+ this.dialogTableArrayCol = []
+ for (let i = 0; i < this.dialogTableNumberCol; i++) {
+ this.dialogTableArrayCol.push(i)
+ }
+
+ this.$nextTick(() => {
+ this.$refs.tableDataRef2.doLayout()
+ })
},
// 鏂板鎸夐挳
@@ -538,11 +680,7 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
- this.dialogForm.OrgType = ''
- this.dialogForm.OrgCode = ''
- this.dialogForm.OrgName = ''
- this.dialogForm.SupUnit = ''
- this.$refs.dialogForm.clearValidate()
+ this.tableDataDialog = []
},
// 瀵硅瘽妗嗗彇娑�
dialogVisibleCancel() {
--
Gitblit v1.9.3