From a1917eca0b4f0fabf9f13648a840c2be8e2bf7f9 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 20 九月 2023 15:41:26 +0800
Subject: [PATCH] 	modified:   src/components/view/standard-table/target.vue 	modified:   src/components/view/standard.vue

---
 src/components/view/processInspectionUpdate.vue |  109 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 67 insertions(+), 42 deletions(-)

diff --git a/src/components/view/processInspectionUpdate.vue b/src/components/view/processInspectionUpdate.vue
index fddd5ae..2a422a8 100644
--- a/src/components/view/processInspectionUpdate.vue
+++ b/src/components/view/processInspectionUpdate.vue
@@ -123,9 +123,17 @@
                 </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>
+                        <el-col>
+                            <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{
+                                scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
+                            }}</el-button>
+                            <el-select @blur="blurNode(scope)" v-else-if="scope.row.isSelectDevice" style="width: 100%;"
+                                @change="clickNodeSure(scope.row)" v-model="filterText" placeholder="璇烽�夋嫨">
+                                <el-option v-for="item in materialOptions" :key="item.id" :label="item.device"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-col>
                     </template>
                 </el-table-column>
                 <el-table-column label="缁撹">
@@ -166,10 +174,10 @@
         </div>
         <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
             <div class="div_device_dialog">
-                <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
+                <!-- <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
                     <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
                     </el-option>
-                </el-select>
+                </el-select> -->
             </div>
             <!-- <span slot="footer" class="dialog-footer">
                 <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
@@ -265,8 +273,8 @@
                 name: null
             }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
             clickSelectDevice: {
-                index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
-                rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+                index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+                rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
             }
         };
     },
@@ -297,6 +305,10 @@
         this.getTableData()
     },
     methods: {
+        blurNode(scope) {
+            // console.log(11);
+            // this.$set(this.inspectionItems[scope.$index],'isSelectDevice',false)
+        },
         escalation() {
             let arr = this.inspectionItems
             let bl = false
@@ -358,6 +370,7 @@
         },
         // 鑾峰彇璁惧鏍戝唴瀹�
         getOptions(row) {
+            this.filterText = 0
             this.$axios.get(this.$api.url.inspectionItemChooseDev, {
                 params: {
                     father: row.father,
@@ -366,6 +379,15 @@
                 }
             }).then(res => {
                 this.materialOptions = res.data;
+                if (this.materialOptions.length === 1&&row.did!=null) {
+                    this.$message({
+                        message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+                        type: 'warning'
+                    });
+                    return
+                }
+                row.isSelectDevice = true
+                this.filterText = row.did
             });
         },
         //杩斿洖
@@ -374,58 +396,59 @@
         },
         // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
         clickTableSelect(scope) {
-            this.centerDialogVisible = true;
+            // return scope;
+            // this.centerDialogVisible = true;
+            if (this.clickSelectDevice.index != null) {
+                this.$set(this.inspectionItems[this.clickSelectDevice.index], 'isSelectDevice', false)
+            }
             this.clickSelectDevice.index = scope.$index;
             this.clickSelectDevice.rpId = scope.row.id;
             this.getOptions(scope.row);
         },
         // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
-        clickNodeSure() {
+        clickNodeSure(row) {
+            console.log(row);
             let select = this.materialOptions.filter(item => {
                 return item.id === this.filterText
             })[0]
             this.nodeData.id = select.id
             this.nodeData.name = select.device
-            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;
-                    });
-            }
+            this.$axios
+                .post(this.$api.url.inspectionItemUpdateDevByInsId, {
+                    id: this.clickSelectDevice.rpId,
+                    type: 1,
+                    devId: this.nodeData.id
+                })
+                .then(res => {
+                    row.isSelectDevice = false
+                    console.log("row", row);
+                    this.filterText = 0
+                    this.getTableData()
+                    this.centerDialogVisible = false;
+                });
         },
         changeState(row, index) {
             if (row.did != null && row.did != '') {
-                let val = row.empiricalValueAddss.filter(item => {
-                    return item != '' && item != null
-                })
-                let eq = val.filter(item => {
-                    return /^[^><=]/.test(item)
-                })
-                if (eq.length > 0) {
-                    this.$message({
-                        message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
-                        type: 'warning'
-                    });
-                    return
-                }
+                // let val = row.empiricalValueAddss.filter(item => {
+                //     return item != '' && item != null
+                // })
+                // let eq = val.filter(item => {
+                //     return /^[^><=]/.test(item)
+                // })
+                // if (eq.length > 0) {
+                //     this.$message({
+                //         message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+                //         type: 'warning'
+                //     });
+                //     return
+                // }
                 let str = ""
                 row.empiricalValueAddss.forEach(e => {
                     str += e + ","
                 })
+                if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+                    return
+                }
                 this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
                     deviceId: row.did,
                     inspectionItemId: row.id,
@@ -559,6 +582,8 @@
                             c.empiricalValueAddss.push("")
                         }
                         uName.push(c['username'])
+                        c.isSelectDevice = false
+                        this.filterText = 0
                         arr.push(c)
                     })
                 })

--
Gitblit v1.9.3