From 57c1d0346cac57d731da2b8badf2b12cafb7d525 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期三, 27 三月 2024 15:20:12 +0800
Subject: [PATCH] 检验任务

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  144 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 108 insertions(+), 36 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 5212e05..9613d18 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -26,6 +26,7 @@
     align-items: center;
     justify-content: center;
     flex-wrap: wrap;
+		overflow-y: auto;
 	}
   .tables{
     /* width: 800px; */
@@ -138,7 +139,15 @@
                 :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="item.inspectionValueType == 1" class="table_input" v-model="n.v.v" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
+										<el-input v-else-if="item.inspectionValueType == 2" class="table_input" type="textarea" :autosize="{ minRows: 1}" v-model="n.v.v"/>
+										<el-select v-else-if="item.inspectionValueType == 5" class="table_input" v-model="n.v.v">
+											<el-option label="鏄�" value="鏄�"></el-option>
+											<el-option label="鍚�" value="鍚�"></el-option>
+										</el-select>
+										<span v-else-if="item.inspectionValueType == 4" class="table_input">/</span>
+									</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>
@@ -242,12 +251,7 @@
         tableList:[],
         loading: false,
 				ps: {},
-				param: {
-					insValue:{},
-					comValue: {},
-					bestValue: {},
-					result: {}
-				},
+				param: {},
         currentKey:1,
         comparisonList:[],
         excelMethodList:[]
@@ -276,6 +280,13 @@
           })
 					this.sampleProduct = res.data.sampleProduct
           this.currentSample = this.sampleProduct[0]
+					this.currentSample.insProduct.forEach(a=>{
+						this.param[a.id] = {
+							insValue: [],
+							comValue: [],
+							resValue: []
+						}
+					})
 					if(this.currentSample.index==undefined)this.currentSample['index'] = 1
 					this.loading = false
           this.handleTableData()
@@ -287,6 +298,13 @@
 		methods: {
       handleChangeSample(row, column, event){
         this.currentSample = row;
+				this.currentSample.insProduct.forEach(a=>{
+					this.param[a.id] = {
+						insValue: [],
+						comValue: [],
+						resValue: []
+					}
+				})
         this.handleTableData()
         this.sampleVisible = false;
         this.currentKey=row.index
@@ -412,6 +430,10 @@
 					let arrs = []
 					let set = new Set()
 					let count1 = 0
+          let conclusionList=[];//缁撹鍒楄〃
+          let finalList = [];//鏈�缁堝�煎垪琛�
+          conclusionList = a.template.filter(n=>n.v.ps!=undefined&&n.v.ps.value==='缁撹')
+          finalList = a.template.filter(n=>n.v.ps!=undefined&&n.v.ps.value==='鏈�缁堝��')
 					a.template.forEach(b=>{
 						if (b.v.ps!=undefined&&b.v.ps.value==='搴忓彿'){
 							count1++
@@ -419,12 +441,28 @@
 						}
 						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 = ''
+							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==='缁撹'){
+							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})`
+                }
+              })
 						}
 						set.add(b.r)
             if(b.v.f){
@@ -456,14 +494,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){
@@ -495,37 +538,65 @@
 							})
 						})
 						// console.log('褰撳墠鐨勬柟娉�',item.methodName)
-						let comResult = 0
-						switch(item.methodName){
-							case 'AVERAGE': 
-								let sum = 0
-								for(var a in comValue){
-									sum += comValue[a]
-								}
-								comResult = sum / Object.keys(comValue).length
-								break;
-							default:
-								break;
-						}
-						list.map(a=>{
-							if(a[0].r == item.r){
-								for(var b in a){
-									if(a[b].c == item.c){
-										a[b].v.v = comResult.toFixed(2)
-										break
-									}
-								}
-							}
-							return a
-						})
-						this.changeInput(comResult,`${code.split('-')[0]}-${item.r}-${item.c}-${id}`)//鏀瑰彉鏈�缁堝��
+            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('&');
+                  let res = Object.values(comValue)[0]
+                  let comp = ask.map((m,i)=>{
+                    if(m.includes('=')){
+                      return res == m.split('=')[1]
+                    }
+                    if(m.includes('鈮�')){
+                      return res >= m.split('鈮�')[1]
+                    }
+                    if(m.includes('鈮�')){
+                      return res <= m.split('鈮�')[1]
+                    }
+                    if(m.includes('<')){
+                      return res < m.split('<')[1]
+                    }
+                    if(m.includes('>')){
+                      return res > m.split('>')[1]
+                    }
+                  })
+                  if(comp.every(m=>m)){
+                    item.v.v = 1
+                  }else{
+                    item.v.v = 0
+                  }
+                }
+            }else{
+              let comResult = 0;
+              switch(item.methodName){
+                case 'AVERAGE':
+                  let sum = 0
+                  for(var a in comValue){
+                    sum += comValue[a]
+                  }
+                  comResult = sum / Object.keys(comValue).length
+                  break;
+                default:
+                  break;
+              }
+              list.forEach(a=>{
+                if(a[0].r == item.r){
+                  for(var b in a){
+                    if(a[b].c == item.c){
+                      a[b].v.v = parseFloat(comResult.toFixed(2))
+                      break
+                    }
+                  }
+                }
+              })
+              this.changeInput(comResult,`${code.split('-')[0]}-${item.r}-${item.c}-${pId}`)//鏀瑰彉鏈�缁堝��
+            }
           }
         })
       },
       handleExcelMethod(){
         if(this.excelMethodList.length>0){
           this.excelMethodList.map(item=>{
-            item.methodName = item.v.f.split('=')[1].split('(')&&item.v.f.split('=')[1].split('(')[0]?item.v.f.split('=')[1].split('(')[0]:'鑷畾涔夋柟娉�';
+            item.methodName = item.v.f.split('=').length>1&&item.v.f.split('=')[1].split('(')&&item.v.f.split('=')[1].split('(')[0]?item.v.f.split('=')[1].split('(')[0]:'鑷畾涔夋柟娉�';
             let valueList = [];
             if(item.v.f.includes(':')){
               valueList = [];
@@ -551,18 +622,19 @@
               item.valueList = valueList;
             }else{
               valueList = []
-              let regex= /[\+\-\*\%\(\)\s]/g
+              let regex= /[=\+\-\*\%\(\)\s]/g
               let mode = item.v.f.replace(regex, ' ').split(' ');
-              mode.forEach(m=>{
+              mode.filter(m=>m).forEach(m=>{
                 let r = m.split('')[1]-1
                 let c = this.comparisonList.find(j=>j.label==m.split('')[0]).value
                 valueList.push({c,r})
               })
             }
+            item.valueList = valueList;
             return item;
           })
         }
 		  }
-  	},
+  	}
 }
 </script>

--
Gitblit v1.9.3