From 5702e02e6c31fd972d7a00042cce8ca4c4777166 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 14 九月 2023 13:01:42 +0800
Subject: [PATCH] modified: src/App.vue modified: src/components/view/standard-table/material.vue modified: src/components/view/standard-table/target.vue modified: src/components/view/standard-table/technology.vue modified: src/components/view/standard.vue
---
src/components/view/processInspection.vue | 327 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 250 insertions(+), 77 deletions(-)
diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index a4d05e1..5bae215 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,6 +1,6 @@
<template>
<div class="content-main">
- <div v-if="!showAddPage" class="rawPage">
+ <div v-if="!showAddPage&&!showUp&&!showLook" class="rawPage">
<div class="title">
<el-row>
<el-col :span="12">杩囩▼妫�楠�</el-col>
@@ -15,8 +15,8 @@
<span>妫�楠岀姸鎬侊細</span>
<el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
<el-option :value="''" label="鍏ㄩ儴"></el-option>
- <el-option :value="1" label="宸叉娴�"></el-option>
- <el-option :value="2" label="寰呮娴�"></el-option>
+ <el-option :value="1" label="鍚堟牸"></el-option>
+ <el-option :value="0" label="涓嶅悎鏍�"></el-option>
</el-select>
<span>浜у搧鍚嶇О锛�</span>
<el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name"
@@ -25,7 +25,7 @@
<el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather"
placeholder="璇疯緭鍏ュ伐搴�"></el-input>
<el-button size="mini"><span>閲� 缃�</span></el-button>
- <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
+ <el-button size="mini" @click="searchPro" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
</div>
<div class="content-body">
<div class="inspectionTable">
@@ -57,16 +57,16 @@
</el-table-column>
<el-table-column label="鎿嶄綔" min-width="80">
<template slot-scope="scope">
- <el-button type="text" size="small" style="margin-left: 0;">璇︽儏</el-button>
- <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
- <el-button type="text" size="small" style="margin-left: 0;">缂栬緫</el-button>
+ <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button>
+ <el-button type="text" size="small" >鏌ョ湅</el-button>
+ <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;" @click="updateInsInfo(scope.row)">缂栬緫</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 鍒嗛〉鍣� -->
<div class="pagination">
- <el-pagination :current-page="1" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
+ <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal" @size-change="handleSizeChange"
@current-change="handleCurrentChange" />
</div>
@@ -151,7 +151,7 @@
</el-form-item>
</el-col>
<el-col :span="10" style="display: flex;justify-content: end;">
- <el-button type="primary" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
+ <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
</el-col>
</el-row>
</div>
@@ -171,42 +171,43 @@
> -->
</el-col>
</el-row>
- <el-table :row-key="inspectionItems.id" :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" height="calc(100vh - 550px)" style="width: 100%">
+ <el-table :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" height="calc(100vh - 550px)"
+ style="width: 100%">
<el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
<el-table-column label="椤圭洰" prop="father"></el-table-column>
<el-table-column prop="name" label="鎸囨爣"></el-table-column>
<el-table-column prop="unit" label="鍗曚綅"></el-table-column>
<el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
<el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
- <el-table-column prop="inspectionValue" label="妫�娴嬪��" min-width="100" style="text-align: center;">
- <template slot-scope="scope">
- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
- placement="top-start">
- <el-input :disabled="scope.row.deviceId === null" :value="item"
- @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
- </el-tooltip>
- </template>
- </el-table-column>
- <el-table-column label="璇曢獙璁惧">
+ <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
+ min-width="100" style="text-align: center;">
<template slot-scope="scope">
- {{ scope.row.device }}
- <el-select v-model="scope.row.device" size="small" slot="append" style="width: 100px;">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
- </el-select>
+ <el-tooltip :disabled="scope.row.dname != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start">
+ <el-input :disabled="scope.row.dname === null" v-model="scope.row.empiricalValueAddss[index]"
+ @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
+ <template slot-scope="scope">
+ <el-button type="text" @click="clickTableSelect(scope)">{{
+ scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
+ }}</el-button>
</template>
</el-table-column>
<el-table-column label="缁撹">
<template slot-scope="scope">
<span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
<span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
+ <span v-show="scope.row.result === null">鏆傛湭缁撹</span>
</template>
</el-table-column>
- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
+ <!-- <el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
<template slot-scope="scope">
<el-button type="text" @click="clickDeleteline(scope)">鍒犻櫎</el-button>
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
</div>
<div class="inspectionResult">
@@ -219,15 +220,47 @@
<el-table-column prop="operation" label="涓婃姤"></el-table-column>
</el-table>
</div>
+ <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
+ <div class="div_device_dialog">
+ <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" style="margin-bottom: 6px;">
+ </el-input>
+ <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current
+ @node-click="nodeClick" :filter-node-method="filterNode" ref="tree">
+ <div class="custom-tree-node" slot-scope="{ data }">
+ <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'
+ }`
+ "></i>
+ {{ data.name }}</span>
+ </div>
+ </el-tree>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ <div class="newPage" v-if="showUp">
+ <processInspectionUpdate :rowInfo="rowInfp"/>
+ </div>
+ <div class="newPage" v-if="showLook">
+ <processInspectionLook :rowInfo="rowInfp"/>
</div>
</div>
</template>
<script>
+import processInspectionUpdate from '../view/processInspectionUpdate.vue'
+import processInspectionLook from '../view/processInspectionLook.vue'
export default {
+ components: { processInspectionUpdate,processInspectionLook },
data() {
return {
- detailId: null,
+ showUp: false,
+ isAddProject:false,
+ showLook: false,
+ detailId: 28,
+ rowInfp:{},
search: {
countSize: 10,
pageSize: 1,
@@ -237,19 +270,22 @@
},
optionsSamplename: [],
inspectionTable: [],
+ tableColumn: [],
optionSoptionSprocesses: [],
optionTechnology: [],
- inspectionTableTotal: "",
+ inspectionTableTotal: 0,
+ pageSize: 10,
+ currentPage: 1,
treeProject: [],
// 娣诲姞鍒�
- empiricalValueAdd: [],
+ empiricalValueAdd: 1,
// 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
empiricalValueAddMaxNumber: 0,
showAddPage: false,
processInspectVo: {
material: null,
materialCode: null,
- orderNumber: "D-001",
+ orderNumber: "",
quantity: null,
specificationsModel: null,
techfather: null,
@@ -277,9 +313,9 @@
inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
inspectionResultForm: [
{
- id: "274024",
- name: "111",
- inspecter: "111",
+ id: "",
+ name: "",
+ inspecter: "",
conclusion: "",
operation: ""
}
@@ -288,59 +324,160 @@
value: "",
rowList: [],
spanArr: [],
- position: 0
+ position: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ filterText: "",
+ materialOptions: [],
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ }
};
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ }
},
mounted() {
// this.getTableData()
+ this.getOptions();
},
methods: {
+ handleClick(row){
+ this.rowInfp=row
+ this.showLook=true
+ },
+ updateInsInfo(row){
+ this.rowInfp=row
+ this.showUp=true
+ },
+ combackMain(){
+ this.showUp=false
+ this.showLook=false
+ },
+ searchPro(){
+ this.search.countSize=this.pageSize
+ this.search.pageSize=this.currentPage
+ this.defaultInitializationTable()
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions() {
+ this.$axios.get(this.$api.url.rawSelectDevice).then(res => {
+ this.materialOptions = res.data;
+ });
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ this.centerDialogVisible = true;
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.id;
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ if (this.detailId == null) {
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].did = this.nodeData.id;
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].dname = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios
+ .post(this.$api.url.inspectionItemUpdateDevByInsId, {
+ id: this.clickSelectDevice.rpId,
+ type: 1,
+ devId: this.nodeData.id
+ })
+ .then(res => {
+ this.getTableData()
+ this.centerDialogVisible = false;
+ });
+ }
+ },
+ changeState(row, index) {
+ console.log(row);
+ if(row.did!=null&&row.did!=''){
+ let str=""
+ row.empiricalValueAddss.forEach(e=>{
+ str+=e+","
+ })
+ this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+ deviceId: row.did,
+ inspectionItemId: row.id,
+ inspectionValue: str.slice(0,-1)
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ row.result=res.data.result
+ row.username=res.data.username
+ })
+ }else{
+ this.$message({
+ message: '璇烽�夋嫨鎷╄澶囷紒',
+ type: 'warning'
+ });
+ }
+ },
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
this.search.countSize = val;
this.defaultInitializationTable();
},
- getInsArr(val){
- console.log(val);
- return val.split(",")
- },
handleSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
- const _row = this.spanArr[rowIndex];
- const _col = _row>0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- if(columnIndex === 1){
- const _row = this.spanArr[rowIndex];
- const _col = _row>0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- }
- }
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if (columnIndex === 1) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
},
// 鍚堝苟琛ㄦ牸
mergeTable() {
- this.rowList=[]
- this.spanArr=[]
- this.position=0
- this.inspectionItems.forEach((item,index) => {
- if( index === 0){
- this.spanArr.push(1);
- this.position = 0;
- }else{
- if(this.inspectionItems[index].father === this.inspectionItems[index-1].father ){
- this.spanArr[this.position] += 1;
- this.spanArr.push(0);
- }else{
- this.spanArr.push(1);
- this.position = index;
- }
- }
- })
+ this.rowList = []
+ this.spanArr = []
+ this.position = 0
+ this.inspectionItems.forEach((item, index) => {
+ if (index === 0) {
+ this.spanArr.push(1);
+ this.position = 0;
+ } else {
+ if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
+ } else {
+ this.spanArr.push(1);
+ this.position = index;
+ }
+ }
+ })
},
changeOptionSoptionSprocesses() {
this.optionTechnology = []
@@ -350,6 +487,7 @@
this.optionTechnology = working.children
},
addTestProjevt() {
+ this.isAddProject=true
let val = JSON.parse(JSON.stringify(this.processInspectVo))
val.techname = this.processInspectVo.techname.split("-")[1]
val.technologyId = this.processInspectVo.techname.split("-")[0]
@@ -373,31 +511,59 @@
});
return
}
- this.InspectioniD = res.data
+ this.detailId = res.data
+ this.inspectionResultForm[0].id=val.materialCode
+ this.inspectionResultForm[0].name=val.material
this.getTableData()
})
},
getTableData() {
this.$axios.get(this.$api.url.inspectionItemListUser, {
params: {
- id: 28,
+ id: this.detailId,
type: 1
}
}).then(res => {
this.inspectionItems = res.data
let arr = []
- let val=JSON.parse(JSON.stringify(this.inspectionItems))
+ let val = JSON.parse(JSON.stringify(this.inspectionItems))
+ const uName=[]
//杞垚涓�缁存暟缁�
val.forEach(l => {
let father = l.father
l.children.forEach(c => {
c.father = father
- c.empiricalValueAdd=[]
+ c.empiricalValueAddss = []
+ if (c.inspectionValue != '' && c.inspectionValue != null) {
+ c.empiricalValueAddss = c.inspectionValue.split(",");
+ } else {
+ c.empiricalValueAddss.push("")
+ }
+ uName.push(c['username'])
arr.push(c)
})
})
this.inspectionItems = arr
- console.log(this.inspectionItems);
+ let arrSort = JSON.parse(JSON.stringify(arr))
+ //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+ arrSort.sort((a, b) => {
+ if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+ return -1; // a鎺掑湪b鍓嶉潰
+ } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+ return 1; // a鎺掑湪b鍚庨潰
+ } else {
+ return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+ }
+ });
+ // console.log(arrSort);
+ console.log(uName);
+ let name=[...new Set(uName)].filter(item => item !== null);
+ let rname=''
+ name.forEach(m=>{
+ rname+=m+","
+ })
+ this.inspectionResultForm[0].inspecter=rname.slice(0,-1)
+ this.empiricalValueAdd=arrSort[arrSort.length-1].empiricalValueAddss.length
this.mergeTable(arr)
})
},
@@ -438,7 +604,7 @@
// 鏄剧ず鏂板椤甸潰
handleAddNew() {
this.showAddPage = true;
- this.getTableData()
+ // this.getTableData()
},
// 琛ㄦ牸鍒濆鍖栨帴鍙�
defaultInitializationTable() {
@@ -492,6 +658,13 @@
</script>
<style>
+.node_i {
+ color: orange;
+}
+.div_device_dialog {
+ min-height: 400px;
+ overflow: auto;
+}
.nav {
display: flex;
padding: 20px 20px;
--
Gitblit v1.9.3