From 0d5206350ed39343da9a6192190c885dba9d92ba Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 27 三月 2024 17:47:48 +0800
Subject: [PATCH] 完成表格-设备下拉

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 150 insertions(+), 25 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 2b83064..284a38c 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -22,11 +22,16 @@
 		background-color: #fff;
 		border-radius: 3px;
 		padding: 20px;
+    position: relative;
+	}
+  .center-box{
+    height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-wrap: wrap;
-	}
+		overflow-y: auto;
+  }
   .tables{
     /* width: 800px; */
     margin-bottom: 16px;
@@ -69,6 +74,21 @@
 		width: 100%;
 		height: 100%;
 	}
+
+	.collection{
+		width: 50px;
+		height: 100%;
+		margin-left: 5px;
+		border-color: transparent;
+		background-color: #409eff;
+		color: #fff;
+		border-radius: 4px;
+		font-size: 12px;
+	}
+
+	.collection:active{
+		opacity: .7;
+	}
 </style>
 <style>
 	.el-form-item__label{
@@ -91,13 +111,13 @@
 <template>
 	<div v-loading="loading">
 		<el-row class="title">
-					<el-col :span="12" style="padding-left: 20px;">妫�楠屽崟璇︽儏</el-col>
-					<el-col :span="12" style="text-align: right;">
-						<el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button>
-            <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button>
-            <el-button size="small" @click="$emit('goback')">杩斿洖</el-button>
-					</el-col>
-				</el-row>
+      <el-col :span="12" style="padding-left: 20px;">妫�楠屽崟璇︽儏</el-col>
+      <el-col :span="12" style="text-align: right;">
+        <el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button>
+        <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button>
+        <el-button size="small" @click="$emit('goback')">杩斿洖</el-button>
+      </el-col>
+    </el-row>
 		<div class="search">
 			<el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px">
 				<el-form-item label="濮旀墭缂栧彿:">
@@ -127,7 +147,8 @@
 			</el-form>
 		</div>
 		<div class="center">
-      <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index">
+      <div class="center-box">
+        <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index">
           <tbody>
               <tr v-for="(m,i) in item.arr" :key="i">
                 <td
@@ -138,11 +159,31 @@
                 :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1"
                 :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${item.style.columnlen[n.c]}px;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`">
                 <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`">
-                  <el-input v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��'" class="table_input" v-model="n.v.v" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
+									<template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��'">
+										<el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
+										<el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" :autosize="{ minRows: 1}" v-model="n.v.v"/>
+										<el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v">
+											<el-option label="鏄�" value="鏄�"></el-option>
+											<el-option label="鍚�" value="鍚�"></el-option>
+										</el-select>
+										<span :style="`font-family:${n.v.ff} !important;`" v-else-if="getInspectionValueType(n.i) == 4">/</span>
+										<el-button type="primary" icon="el-icon-edit" size="mini" circle v-if="getInspectionItemType(n.i) == 1" style="border: 0;margin-left: 2px;" @click="getSystemValue(n)">
+										</el-button>
+									</template>
 									<template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'">
 										<span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">鍚堟牸</span>
 										<span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span>
 										<span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
+									</template>
+                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧'">
+										<el-select v-model="n.v.v" placeholder="璇烽�夋嫨" @visible-change="e=>getEquipOptions(e,n.i)">
+                      <el-option
+                        v-for="item in equipOptions"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value">
+                      </el-option>
+                    </el-select>
 									</template>
 									<span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                 </div>
@@ -150,6 +191,7 @@
               </tr>
             </tbody>
         </table>
+      </div>
 		</div>
     <el-drawer
       title="鏍峰搧鍒囨崲"
@@ -242,15 +284,11 @@
         tableList:[],
         loading: false,
 				ps: {},
-				param: {
-					insValue:{},
-					comValue: {},
-					bestValue: {},
-					result: {}
-				},
+				param: {},
         currentKey:1,
         comparisonList:[],
-        excelMethodList:[]
+        excelMethodList:[],
+        equipOptions:[],
 			}
 		},
 		created() {
@@ -276,6 +314,15 @@
           })
 					this.sampleProduct = res.data.sampleProduct
           this.currentSample = this.sampleProduct[0]
+					this.currentSample.insProduct.forEach(a=>{
+						this.param[a.id] = {
+							insValue: [],
+							comValue: [],
+							resValue: [],
+              equipValue:null,
+              intResult: null
+						}
+					})
 					if(this.currentSample.index==undefined)this.currentSample['index'] = 1
 					this.loading = false
           this.handleTableData()
@@ -287,6 +334,15 @@
 		methods: {
       handleChangeSample(row, column, event){
         this.currentSample = row;
+				this.currentSample.insProduct.forEach(a=>{
+					this.param[a.id] = {
+						insValue: [],
+						comValue: [],
+						resValue: [],
+            equipValue:null,
+            intResult: null
+					}
+				})
         this.handleTableData()
         this.sampleVisible = false;
         this.currentKey=row.index
@@ -421,19 +477,38 @@
 							count1++
 							b.v.v = count1
 						}
+						if (b.v.ps!=undefined&&b.v.ps.value==='瑕佹眰鍊�'){
+							b.v.v = this.getAsk(b.i)
+						}
 						if (b.v.ps!=undefined&&b.v.ps.value==='妫�楠屽��'){
 							b.v.v = ''
+							this.param[b.i].insValue.push(b)
 						}
 						if (b.v.ps!=undefined&&b.v.ps.value==='璁$畻鍊�'){
 							b.v.v = ''
+							this.param[b.i].comValue.push(b)
+						}
+            if (b.v.ps!=undefined&&b.v.ps.value==='璁惧'){
+							b.v.v = ''
+							this.param[b.i].equipValue = b
 						}
 						if (b.v.ps!=undefined&&b.v.ps.value==='鏈�缁堝��'){
 							b.v.v = ''
+							if(b.i===undefined){
+								for(var c in this.param){
+									this.param[c].resValue.push(b)
+								}
+							}else{
+								this.param[b.i].resValue.push(b)
+							}
 						}
             if (b.v.ps!=undefined&&b.v.ps.value==='缁撹'){
+              for(var c in this.param){
+                this.param[c].insResult = b
+              }
 							conclusionList.forEach((n,i)=>{
                 if(n.r==b.r&&n.c==b.c){
-                  b.v.f = `(${this.comparisonList.find(j=>j.value==(finalList[i].r-1)).label}${finalList[i].r+1})`
+                  b.v.f = `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})`
                 }
               })
 						}
@@ -467,14 +542,19 @@
 					})
 					a.arr = arrs
 				})
+				/* this.currentSample.insProduct.forEach(a=>{
+					for(var i=0;i<a.param.comValue.length;i++){
+						this.param[a.id].comValue[i].v.v = a.param.comValue[i].v.v
+					}
+				}) */
         this.handleExcelMethod()
       },
       changeInput(m,code){
-        // console.log(m,'code:',code,this.excelMethodList)
 				let str = code.split('-')
         let r = str[1]
         let c = str[2]
 				let id = str[0]
+				let pId = str[3]
 				var list = []
 				for(let a in this.tableList){
 					if(this.tableList[a].templateId == id){
@@ -505,7 +585,7 @@
 								}
 							})
 						})
-						// console.log('褰撳墠鐨勬柟娉�',item.methodName)
+						// console.log('褰撳墠鐨勬柟娉�',item.methodName,item.r,item.c,this.excelMethodList)
             if(item.methodName=='鑷畾涔夋柟娉�'&&item.v.ps&&item.v.ps.value=='缁撹'){
               if(this.tableList.find(m=>m.id==item.i)){
                   let ask = this.tableList.find(m=>m.id==item.i).ask.split('&');
@@ -532,6 +612,7 @@
                   }else{
                     item.v.v = 0
                   }
+                  console.log(33333333333,this.param)
                 }
             }else{
               let comResult = 0;
@@ -546,7 +627,7 @@
                 default:
                   break;
               }
-              list.map(a=>{
+              list.forEach(a=>{
                 if(a[0].r == item.r){
                   for(var b in a){
                     if(a[b].c == item.c){
@@ -555,9 +636,8 @@
                     }
                   }
                 }
-                return a
               })
-              this.changeInput(comResult,`${code.split('-')[0]}-${item.r}-${item.c}-${id}`)//鏀瑰彉鏈�缁堝��
+              this.changeInput(comResult,`${code.split('-')[0]}-${item.r}-${item.c}-${pId}`)//鏀瑰彉鏈�缁堝��
             }
           }
         })
@@ -603,7 +683,52 @@
             return item;
           })
         }
-		  }
-  	},
+		  },
+			getInspectionValueType(id){
+				for(var a in this.currentSample.insProduct){
+					if(this.currentSample.insProduct[a].id == id){
+						return this.currentSample.insProduct[a].inspectionValueType
+					}
+				}
+			},
+			getInspectionItemType(id){
+				for(var a in this.currentSample.insProduct){
+					if(this.currentSample.insProduct[a].id == id){
+						return this.currentSample.insProduct[a].inspectionItemType
+					}
+				}
+			},
+			getAsk(id){
+				for(var a in this.currentSample.insProduct){
+					if(this.currentSample.insProduct[a].id == id){
+						return this.currentSample.insProduct[a].ask
+					}
+				}
+			},
+			getSystemValue(n){
+				this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��')
+				for(var a in this.currentSample.insProduct){
+					if(this.currentSample.insProduct[a].id == n.i){
+						this.currentSample.insProduct[a].inspectionItemType = 0
+					}
+				}
+			},
+      getEquipOptions(e,id){
+        if(e){
+          let category = this.tableList.find(m=>m.id==id).deviceGroup
+          this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, {category}).then(res => {
+            if (res.code === 200 && res.data) {
+              this.equipOptions = res.data.map(m=>{
+                m.value = m.id
+                m.label = m.deviceName
+                return m
+              })
+            }
+          }).catch(error => {
+            console.error(error)
+          })
+        }
+      }
+  	}
 }
 </script>

--
Gitblit v1.9.3