From a6a4092ce1899bd020bc15cff43f0977c87e6be8 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 15 九月 2023 16:20:25 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before

---
 src/components/view/equipmentmaintain.vue            |   56 ++++++-----
 src/components/view/processInspectionUpdate.vue      |   78 ++++++++-------
 src/components/view/Technicalindex.vue               |   76 ++++++++-------
 src/components/view/finishedProductInspectionUp.vue  |   17 ++
 src/components/view/finishedProductInspectionAdd.vue |   16 ++
 src/components/view/processInspection.vue            |   20 +++-
 src/components/view/rawInsDetail.vue                 |   27 +++-
 7 files changed, 174 insertions(+), 116 deletions(-)

diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue
index 7eff98b..f1c5750 100644
--- a/src/components/view/Technicalindex.vue
+++ b/src/components/view/Technicalindex.vue
@@ -95,6 +95,7 @@
 				<div class="right">
 					<el-table :data="tableData" style="width: 100%;overflow-y: auto;min-height: 100%"
 						max-height="100%" row-key="name" border 
+						@select-all="selectAll"
 						@select="selectTr"
 						ref="multipleTable"
 						@selection-change="handleSelectionChange"
@@ -332,26 +333,43 @@
 			this.selectAllright()
 		},
         methods:{
-              // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
-                // 鍏ㄩ��/鍙栨秷閫夋搷浣�
-                selectAll(val) {
-                    this.isAllSelect = !this.isAllSelect;
-                    let data = this.tableData;
-                    this.toggleSelect(data, this.isAllSelect, "all");
-                },
+			handleSelectionChange(val) {
+				this.selects = val;
+				this.deleteList = [];
+                val.forEach((v) => {
+                if (v.id !== undefined) {
+                    this.deleteList.push(v.id);
+                }
+                });
+			},
+            // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+            selectAll(val) {
+                this.isAllSelect = !this.isAllSelect;
+                let data = this.tableData;
+                this.toggleSelect(data, this.isAllSelect, "all");
+            },
              //閫夋嫨鏌愯
 		    selectTr(selection, row) {
-                console.log(selection,row);
                 this.$set(row, "isChecked", !row.isChecked);
                 this.$nextTick(() => {
                     this.isAllSelect = row.isChecked;
                     this.toggleSelect(row, row.isChecked, "tr");
                 });
             },
+			toggleSelection(row, flag) {
+				this.$set(row, "isChecked", flag);
+				this.$nextTick(() => {
+				if (flag) {
+					this.$refs.multipleTable.toggleRowSelection(row, flag);
+				} else {
+					this.$refs.multipleTable.clearSelection();
+				}
+				});
+			},
              //閫掑綊瀛愮骇
             toggleSelect(data, flag, type) {
+				// console.log('222');
                 if (type === "all") {
-                    console.log('222');
                     if (data.length > 0) {
                         data.forEach((item) => {
                         this.toggleSelection(item, flag);
@@ -370,9 +388,8 @@
                     }
                 }
             },
-            handleClose(){
-
-			},
+//---------------------------------------------------------------------------------------------------------------------------------------
+            handleClose(){},
 			selectDataList() {
 				this.list.forEach(a => {
 					a.code = '[1]'
@@ -452,19 +469,18 @@
 				})
 			},
 			dels() {
-				this.selects.forEach(a => {
-					for (var b = 0; b < this.tableData.length; b++) {
-						if (this.tableData[b].id == a.id) {
-							this.tableData.splice(b, 1)
-							b--
-						}
-					}
-				})
-				let cc = this.selects.map(el => {
-					return el.id
-				})
-				cc.splice(0,1)
-				this.delete = cc.join(',')
+				
+				let ee = []
+                console.log(this.selects);
+                this.selects.forEach(el =>{ 
+                    if(el.children){
+                        el.children.forEach(ele =>{
+                            ee.push(ele.id)
+                        })   
+                    } 
+                })
+				// cc.splice(0,1)
+				this.delete = ee.join(',')
 				console.log(this.delete);
 				this.delAllTechskill()
 				this.$message.success('鍒犻櫎瀹屾垚')
@@ -608,16 +624,6 @@
 			},
 			modify() {
 				this.modifyevent = true
-			},
-
-			handleSelectionChange(val) {
-				this.selects = val;
-				this.deleteList = [];
-                val.forEach((v) => {
-                if (v.id !== undefined) {
-                    this.deleteList.push(v.id);
-                }
-                });
 			},
 			//缂栬緫
 
diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue
index 18aefff..7ed148f 100644
--- a/src/components/view/equipmentmaintain.vue
+++ b/src/components/view/equipmentmaintain.vue
@@ -265,6 +265,7 @@
                     style="width: 100%;margin-bottom: 20px;height: 600px;overflow: auto;"
                     row-key="rowId"
                     border
+                    @select-all="selectAll"
                     @select="selectTr"
                     @selection-change="handleSelectionChange"
                     default-expand-all
@@ -606,23 +607,17 @@
 			},
 
             dels() {
-				this.selects.forEach(a => {
-					for (var b = 0; b < this.tableData.length; b++) {
-						if (this.tableData[b].id == a.id) {
-							this.tableData.splice(b, 1)
-							b--
-						}
-					}
-				})
-                let cc = this.selects.map(el => {
-					return el.id
-				})
-                // cc.forEach((el,idx) =>{
-                //     delete  idx[0]
-                // })
-                cc.splice(0,1)
-                console.log(cc);
-				this.delete = cc.join(',')
+                let ee = []
+                console.log(this.selects);
+                this.selects.forEach(el =>{ 
+                    if(el.children){
+                        el.children.forEach(ele =>{
+                            ee.push(ele.id)
+                        })   
+                    } 
+                })
+                console.log(ee);
+				this.delete = ee.join(',')
 				console.log(this.delete);
 				this.delAllQue()
 				this.$message.success('鍒犻櫎瀹屾垚')
@@ -639,6 +634,7 @@
             // },
             handleSelectionChange(val) {
                 this.selects = val
+                // console.log(this.selects);
                 this.deleteList = [];
                 val.forEach((v) => {
                 if (v.id !== undefined) {
@@ -646,13 +642,15 @@
                 }
                 });
 			},
-             // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
-                // 鍏ㄩ��/鍙栨秷閫夋搷浣�
-                selectAll(val) {
-                    this.isAllSelect = !this.isAllSelect;
-                    let data = this.tableData;
+            // 鍏ㄩ��/鍙栨秷閫夋搷浣�
+            selectAll(val) {
+                // console.log(val);
+                this.isAllSelect = !this.isAllSelect;
+                let data = this.tableData;
+                this.$nextTick(() =>{
                     this.toggleSelect(data, this.isAllSelect, "all");
-                },
+                })
+            },
              //閫夋嫨鏌愯
 		    selectTr(selection, row) {
                 console.log(selection,row);
@@ -663,10 +661,19 @@
                 });
 
             },
+            toggleSelection(row, flag) {
+                this.$set(row, "isChecked", flag);
+                this.$nextTick(() => {
+                if (flag) {
+                    this.$refs.multipleTable.toggleRowSelection(row, flag);
+                } else {
+                    this.$refs.multipleTable.clearSelection();
+                }
+                });
+            },
              //閫掑綊瀛愮骇
             toggleSelect(data, flag, type) {
                 if (type === "all") {
-                    console.log('222');
                     if (data.length > 0) {
                         data.forEach((item) => {
                         this.toggleSelection(item, flag);
@@ -685,7 +692,6 @@
                     }
                 }
             },
-          
         }
     }
 </script>
diff --git a/src/components/view/finishedProductInspectionAdd.vue b/src/components/view/finishedProductInspectionAdd.vue
index 7c2948c..2f3df5c 100644
--- a/src/components/view/finishedProductInspectionAdd.vue
+++ b/src/components/view/finishedProductInspectionAdd.vue
@@ -253,8 +253,8 @@
                 name: null
             }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
             clickSelectDevice: {
-                index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
-                rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+                index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+                rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
             }
         };
     },
@@ -317,12 +317,22 @@
                 }
             }).then(res => {
                 this.materialOptions = res.data;
+                if(this.materialOptions.length===1){
+                    this.$message({
+                    message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+                    type: 'warning'
+                });
+                    return
+                }
+                row.isSelectDevice = true
                 this.filterText = row.did
             });
         },
         // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
         clickTableSelect(scope) {
-            scope.row.isSelectDevice = 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);
diff --git a/src/components/view/finishedProductInspectionUp.vue b/src/components/view/finishedProductInspectionUp.vue
index de810a2..f944def 100644
--- a/src/components/view/finishedProductInspectionUp.vue
+++ b/src/components/view/finishedProductInspectionUp.vue
@@ -268,8 +268,8 @@
                 name: null
             }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
             clickSelectDevice: {
-                index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
-                rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+                index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+                rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
             }
         };
     },
@@ -396,13 +396,22 @@
                 }
             }).then(res => {
                 this.materialOptions = res.data;
+                if(this.materialOptions.length===1){
+                    this.$message({
+                    message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+                    type: 'warning'
+                });
+                    return
+                }
+                row.isSelectDevice = true
                 this.filterText = row.did
             });
         },
         // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
         clickTableSelect(scope) {
-            scope.row.isSelectDevice = true
-            // 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);
diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index 3a1abf5..bfbfefa 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -334,8 +334,8 @@
         name: null
       }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
       clickSelectDevice: {
-        index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
-        rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+        index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+        rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
       }
     };
   },
@@ -393,13 +393,23 @@
         }
       }).then(res => {
         this.materialOptions = res.data;
+        if (this.materialOptions.length === 1) {
+          this.$message({
+            message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+            type: 'warning'
+          });
+          return
+        }
+        row.isSelectDevice = true
         this.filterText = row.did
       });
     },
     // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
     clickTableSelect(scope) {
       // this.centerDialogVisible = true;
-      scope.row.isSelectDevice = 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)
@@ -532,7 +542,7 @@
       let val = JSON.parse(JSON.stringify(this.processInspectVo))
       val.techname = this.processInspectVo.techname.split("-")[1]
       val.technologyId = this.processInspectVo.techname.split("-")[0]
-      this.processInspectVo.technologyId=val.technologyId
+      this.processInspectVo.technologyId = val.technologyId
       this.$axios.post(this.$api.url.processInspectAddProcess, {
         material: val.material,
         materialCode: val.materialCode,
@@ -583,7 +593,7 @@
               c.empiricalValueAddss.push("")
             }
             uName.push(c['username'])
-            c.isSelectDevice=false
+            c.isSelectDevice = false
             arr.push(c)
           })
         })
diff --git a/src/components/view/processInspectionUpdate.vue b/src/components/view/processInspectionUpdate.vue
index 53bafbb..1e40e84 100644
--- a/src/components/view/processInspectionUpdate.vue
+++ b/src/components/view/processInspectionUpdate.vue
@@ -103,7 +103,7 @@
             > -->
                 </el-col>
             </el-row>
-            <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod"
+            <el-table border :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>
@@ -123,14 +123,16 @@
                 </el-table-column>
                 <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
                     <template slot-scope="scope">
-                        <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{
+                        <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 v-if="scope.row.isSelectDevice" style="width: 100%;" @change="clickNodeSure(scope.row)"
-                             v-model="filterText" placeholder="璇烽�夋嫨">
+                        <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="缁撹">
@@ -171,10 +173,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>
@@ -270,8 +272,8 @@
                 name: null
             }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
             clickSelectDevice: {
-                index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
-                rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+                index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+                rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
             }
         };
     },
@@ -302,10 +304,10 @@
         this.getTableData()
     },
     methods: {
-        // blurNode(row){
-        //     console.log(1111);
-        //     row.isSelectDevice=false
-        // },
+        blurNode(scope){
+            // console.log(11);
+            // this.$set(this.inspectionItems[scope.$index],'isSelectDevice',false)
+        },
         escalation() {
             let arr = this.inspectionItems
             let bl = false
@@ -367,6 +369,7 @@
         },
         // 鑾峰彇璁惧鏍戝唴瀹�
         getOptions(row) {
+            this.filterText = 0
             this.$axios.get(this.$api.url.inspectionItemChooseDev, {
                 params: {
                     father: row.father,
@@ -375,6 +378,14 @@
                 }
             }).then(res => {
                 this.materialOptions = res.data;
+                if(this.materialOptions.length===1){
+                    this.$message({
+                    message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+                    type: 'warning'
+                });
+                    return
+                }
+                row.isSelectDevice = true
                 this.filterText = row.did
             });
         },
@@ -384,41 +395,36 @@
         },
         // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
         clickTableSelect(scope) {
+            // return scope;
             // this.centerDialogVisible = true;
-            scope.row.isSelectDevice = 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(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 => {
-                        row.isSelectDevice = false
-                        this.filterText=0
-                        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 != '') {
@@ -576,7 +582,7 @@
                         }
                         uName.push(c['username'])
                         c.isSelectDevice = false
-                        this.filterText=0
+                        this.filterText = 0
                         arr.push(c)
                     })
                 })
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index 13741d8..a028670 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -479,11 +479,12 @@
       console.log(this.projectTable);
       if(this.projectTable.length>0){
         let filterTable= this.projectTable.filter(item=>{
-        return item.required===''||item.internal===''||item.required===null||item.internal===null
+        return item.required===''||item.internal===''||
+        item.required===null||item.internal===null||item.name===''
         })
         if(filterTable.length>0) {
           this.$message({
-                    message: "鏍囧噯鍊煎拰鍐呮帶鍊间笉鑳戒负绌猴紒",
+                    message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒",
                     type: 'warning'
                 });
           return
@@ -494,15 +495,25 @@
         i.testValue = i.testValueList.join(",");
       });
       this.detailInfo.rawInsProducts = this.projectTable;
-      const res = await this.$axios.post(
+      this.$axios.post(
         this.$api.url.addRawInspects,
         { ...this.detailInfo },
         { headers: { "Content-Type": "application/json" } }
-      );
-      this.detailId = res.data;
-      this.getDetailInfo();
-      this.$message.success(res.message);
-      this.goBack();
+      ).then(res=>{
+        console.log(res);
+        if(res.code=="201"){
+          this.$message({
+                    message: res.message,
+                    type: 'warning'
+                });
+         return
+        }else{
+          // this.detailId = res.data;
+          // this.getDetailInfo();
+          // // this.$message.success(res.message);
+          // this.goBack();
+        }
+      });
     },
 
     // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�

--
Gitblit v1.9.3