From ae8b90c76912a7796b7c23c78f1a59bac434457d Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 14 十月 2024 13:37:15 +0800
Subject: [PATCH] 完成普通项目的项目检验

---
 src/components/do/b1-inspect-order-plan/circuit-parameters1.vue |    2 
 static/js/worker.js                                             |    2 
 src/components/do/b1-ins-order/add.vue                          |   80 +++++++++++++++----
 src/components/do/b1-inspect-order-plan/circuit-parameters2.vue |    2 
 src/components/do/b1-inspect-order-plan/Inspection.vue          |  104 +++++++++++++++++--------
 src/components/view/b1-inspect-order-plan.vue                   |    5 +
 6 files changed, 139 insertions(+), 56 deletions(-)

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index d7c17e7..0744bff 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -333,7 +333,7 @@
           <el-col class="search_thing" :span="6">
             <div class="search_label" style="width: 175px;">鏄惁娑夊強閰嶅鏍峰搧锛�</div>
             <div class="search_input" style="width: calc(100% - 175px);">
-              <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()">
+              <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1">
                 <el-radio :label="1">鏄�</el-radio>
                 <el-radio :label="0">鍚�</el-radio>
               </el-radio-group>
@@ -356,6 +356,7 @@
             <div class="search_input">
               <el-date-picker
                 v-model="addObj.appointed"
+                :disabled="active>1"
                 type="date"
                 placeholder="閫夋嫨鏃ユ湡"
                 size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
@@ -367,10 +368,30 @@
             <div class="search_input">
               <el-date-picker
                 v-model="addObj.issueTime"
+                :disabled="active>1"
                 type="date"
                 placeholder="閫夋嫨鏃ユ湡"
                 size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
               </el-date-picker>
+            </div>
+          </el-col>
+          <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active==1">
+            <el-upload
+            style="margin: 8px 0 0px 50px;"
+              action="#"
+              :auto-upload="false"
+              accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload">
+              <el-button size="small" type="primary">涓婁紶闄勪欢</el-button>
+            </el-upload>
+          </el-col>
+          <el-col class="search_thing" :span="8">
+            <div class="search_input" style="width: 100%;margin-left: 40px;">
+              <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active>1">
+                <el-radio :label="1">涓嶈�冭檻涓嶇‘瀹氬害</el-radio>
+                <el-radio :label="2">鑰冭檻涓嶇‘瀹氬害<el-input placeholder="" v-model="ruleInfo.num" style="width: 100px;margin-left: 10px;" size="mini" :disabled="active>1">
+                <template slot="append">%</template>
+              </el-input></el-radio>
+              </el-radio-group>
             </div>
           </el-col>
           <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;">
@@ -379,14 +400,6 @@
               <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" size="small" clearable :placeholder="active>1 ? '' : '璇疯緭鍏�'"
                 v-model="addObj.remark" :readonly="active>1"></el-input>
             </div>
-          </el-col>
-          <el-col class="search_thing upload" :span="4" style="align-items: flex-start;margin: 8px 0 0 50px;height: auto" v-if="active==1">
-            <el-upload
-              action="#"
-              :auto-upload="false"
-              accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload">
-              <el-button size="small" type="primary">涓婁紶闄勪欢</el-button>
-            </el-upload>
           </el-col>
           <!-- <el-col class="search_thing" :span="6" v-if="active==1">
             <div class="search_label">RTS锛�</div>
@@ -454,21 +467,21 @@
                 @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
             </template>
           </el-table-column>
+          <el-table-column prop="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
+            <template slot-scope="scope">
+              <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1"
+                placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable>
+                <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </template>
+          </el-table-column>
           <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
             <template slot-scope="scope">
               <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
                 placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
                 @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple>
                 <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
-                </el-option>
-              </el-select>
-            </template>
-          </el-table-column>
-          <el-table-column prop="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
-            <template slot-scope="scope">
-              <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1"
-                placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable>
-                <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </template>
@@ -582,6 +595,11 @@
         :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;" v-show="currentPage==1"/>
       </div>
     </div>
+    <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">鍙屾柟鎵胯:<br/>
+      1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br/>
+      2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br/>
+      3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br/>
+      4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭��</p>
     <el-dialog title="閫夋嫨鍗曚綅" :visible.sync="selectUserDia" width="70%">
       <div class="body" style="height: 60vh;" v-if="selectUserDia">
         <ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" />
@@ -1249,6 +1267,10 @@
           requiredAdd: [],
           requiredUp: []
         },
+        ruleInfo:{
+          rule:null,
+          num:null,
+        }
       }
     },
     watch: {
@@ -1329,6 +1351,14 @@
           this.addObj = {
             ...res.data.insOrder
           };
+          if(this.addObj.rule){
+            if(this.addObj.rule=='涓嶈�冭檻涓嶇‘瀹氬害'){
+              this.ruleInfo.rule = 1
+            }else{
+              this.ruleInfo.rule = 2
+              this.ruleInfo.num = this.addObj.rule.split('-')[1]
+            }
+          }
           this.addObj.type = String(this.addObj.type)
           this.sampleList = this.HaveJson(res.data.sampleProduct)
           this.sampleList.forEach(m=>{
@@ -2177,6 +2207,18 @@
           })
           return false;
         }
+        if(this.ruleInfo.rule==1){
+          this.addObj.rule = '涓嶈�冭檻涓嶇‘瀹氬害'
+        }else if(this.ruleInfo.rule==2){
+          if(this.ruleInfo.rule==2&&(!this.ruleInfo.num||this.ruleInfo.num<0||this.ruleInfo.num==0)){
+            this.$message({
+              type: 'error',
+              message: '璇疯緭鍏ヤ笉纭畾搴�'
+            })
+            return;
+          }
+          this.addObj.rule = '鑰冭檻涓嶇‘瀹氬害'+'-'+this.ruleInfo.num
+        }
         this.saveLoad = true
         let fd = new FormData();
         this.fileList.forEach((item,index)=>{
@@ -2779,7 +2821,7 @@
         let selectTreeList = this.selectTree.split(" - ")
         this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
-          model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
+          model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements,
           standardMethodListId: val.join(','),
           factory: selectTreeList.join(" - "),
         }, {
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 56dc04b..ce9beb9 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -304,6 +304,9 @@
         <el-form-item label="褰撳墠鏍峰搧浣嶆暟:">
           <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag>
         </el-form-item>
+        <el-form-item label="" v-if="insOrder.rule">
+          <el-tag>{{ !insOrder.rule.includes('涓嶈�冭檻涓嶇‘瀹氬害')?insOrder.rule.split('-')[0]+' '+insOrder.rule.split('-')[1]+'%':insOrder.rule }}</el-tag>
+        </el-form-item>
         <el-form-item label="澶囨敞:">
           <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span>
         </el-form-item>
@@ -453,6 +456,20 @@
                       <i
                       v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i>
                     </div>
+                  </template>
+                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璇曢獙鍓嶆牱鍝佹鏌�'">
+                    <el-select class="table_input" v-model="n.v.v"
+                      :disabled="state>1|| (n.u != userId && n.u != undefined && n.u != '')" @change="(val)=>changeSampleCheck(val, n,'鍓�')">
+                      <el-option label="瀹屽ソ" :value="'瀹屽ソ'"></el-option>
+                      <el-option label="鐮存崯" :value="'鐮存崯'"></el-option>
+                    </el-select>
+                  </template>
+                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璇曢獙鍚庢牱鍝佹鏌�'">
+                    <el-select class="table_input" v-model="n.v.v"
+                      :disabled="state>1|| (n.u != userId && n.u != undefined && n.u != '')" @change="(val)=>changeSampleCheck(val, n,'鍚�')">
+                      <el-option label="瀹屽ソ" :value="'瀹屽ソ'"></el-option>
+                      <el-option label="鐮存崯" :value="'鐮存崯'"></el-option>
+                    </el-select>
                   </template>
                   <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span>
                 </div>
@@ -1149,7 +1166,9 @@
                 resValue: null,
                 equipValue: [],
                 equipName: [],
-                insResult: null
+                insResult: null,
+                beforeCheck:null,
+                afterCheck:null,
               }
             }
           })
@@ -2163,7 +2182,9 @@
               resValue: null,
               equipValue: [],
               equipName: [],
-              insResult: null
+              insResult: null,
+              beforeCheck:null,
+              afterCheck:null,
             }
           }
         })
@@ -2211,7 +2232,9 @@
                 resValue: null,
                 equipValue: [],
                 equipName: [],
-                insResult: null
+                insResult: null,
+                beforeCheck:null,
+                afterCheck:null,
               }
             })
             // 椤甸潰鍒楄〃鏁版嵁澶勭悊
@@ -2663,6 +2686,16 @@
                 })
               }
             }
+            if (b.v.ps != undefined && b.v.ps.value === '璇曢獙鍓嶆牱鍝佹鏌�') {
+              // b.v.v = ''
+              this.$set(b.v, 'v', '' )
+              this.param[b.i].beforeCheck = b
+            }
+            if (b.v.ps != undefined && b.v.ps.value === '璇曢獙鍚庢牱鍝佹鏌�') {
+              // b.v.v = ''
+              this.$set(b.v, 'v', '' )
+              this.param[b.i].afterCheck = b
+            }
             set.add(b.r)
             // 濡傛灉妯℃澘鍒楄〃鐨勫嚱鏁板瓨鍦�,閭d箞鍔犲叆鍒癳xcel鍑芥暟鍒楄〃閲岄潰
             if (b.v.f) {
@@ -2759,10 +2792,18 @@
           } catch (e) {}
           try {
             // 鏈�缁堝�艰祴鍊�
-            this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct)
+            this.param[a.id].resValue = {v:{v:a.lastValue}}
+            // this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct)
             // 缁撹璧嬪��
-            this.param[a.id].insResult.v.v = a.insResult
-          } catch (e) {}
+            this.param[a.id].insResult = {v:{v:a.insResult}}
+            // this.param[a.id].insResult.v.v = a.insResult
+            // 妫�楠屽墠鏍峰搧妫�鏌ヨ祴鍊�
+            this.param[a.id].afterCheck.v.v = a.insProductResult.afterCheck
+            // 妫�楠屽悗鏍峰搧妫�鏌ヨ祴鍊�
+            this.param[a.id].beforeCheck.v.v = a.insProductResult.beforeCheck
+          } catch (e) {
+            console.log('error',e)
+          }
         })
         // 瀵筫xcel鍑芥暟杩涜澶勭悊
         this.handleExcelMethod()
@@ -2795,6 +2836,13 @@
             n.v.v = n.v.v.replace('/', '')
           }
         }
+        // 閫氫俊鐗规畩澶勭悊锛屾楠屽�煎~鍏ヤ箣鍚庣洿鎺ヤ繚瀛樻暟鎹紝鍒ゆ柇缁撴灉榛樿涓�3
+        for (var i in this.param){
+          this.param[i].insResult = {v:{v:3}}
+        }
+        this.saveInsContext(n.i)
+        return;
+        // 浠ヤ笅鏄甯哥殑鍒ゆ柇娴佺▼锛屽悗闈㈡湁闇�瑕佸垯杩涘叆姝ゆ祦绋�
         try {
           // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
           this.worker.postMessage(JSON.stringify({
@@ -2811,7 +2859,6 @@
         } catch (error) {
           console.log(444,error);
         }
-
         // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋�
         this.worker.onmessage = (event) => {
           this.result = JSON.parse(event.data);
@@ -2824,6 +2871,7 @@
                 if(this.result.value.currentInsItemId){
                   currentInsItemId = this.result.value.currentInsItemId
                 }
+                // console.log(this.result,123);
                 // 鐗规畩澶勭悊涓�涓嬬粨璁�,浼氭湁杩欑鐗规畩鎯呭喌
                 for (var i in this.param){
                   if(this.param[i].insResult&&this.param[i].insResult.v&&this.param[i].insResult.v.v){
@@ -2835,33 +2883,6 @@
                   }
                 }
                 this.saveInsContext(currentInsItemId)
-                // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,鍙互鐩存帴淇濆瓨鏁版嵁
-                // if(this.getDataType==2){
-                //   this.saveInsContext(currentInsItemId)
-                // }else{
-                //   if(this.isGet&&!this.dataAcquisitionEidtAble){
-                //     if(this.result.value.getDataTypeId==''){
-                //       // 濡傛灉鏄暟閲囦笉鍙紪杈戣緭鍏ョ殑鎯呭喌,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
-                //       return
-                //     }
-                //     // 淇濆瓨鏁版嵁
-                //     setTimeout(()=>{
-                //       this.saveInsContext(currentInsItemId)
-                //     },2000)
-                //   }else if(this.isGet&&this.dataAcquisitionEidtAble){
-                //     if(this.getDataType==1){
-                //       if(this.result.value.getDataTypeId==''){
-                //         // 濡傛灉鏄暟閲囧彲缂栬緫杈撳叆鐨勬儏鍐�,涓旀渶鍚庝竴涓暟閲囨病鏈夊畬鎴�,鍒欎笉淇濆瓨鏁版嵁
-                //         return
-                //       }
-                //       this.saveInsContext(currentInsItemId)
-                //     }else{
-                //       this.saveInsContext(currentInsItemId)
-                //     }
-                //   }else{
-                //     this.saveInsContext(currentInsItemId)
-                //   }
-                // }
               })
               break;
             case 'tableList':
@@ -3373,6 +3394,17 @@
         // 淇濆瓨鏁版嵁
         this.saveInsContext(n.i)
       },
+      // 鏍峰搧妫�鏌�
+      changeSampleCheck(val, n,type){
+        this.$set(n.v,'v',val)
+        if(type=='鍓�'){
+          // 妫�楠屽墠
+          this.saveInsContext(n.i)
+        }else{
+          // 妫�楠屽悗
+          this.saveInsContext(n.i)
+        }
+      },
       getAuthorizedPerson() {
         this.$axios.get(this.$api.user.getUserMenu).then(res => {
           let data = []
@@ -3441,7 +3473,9 @@
               resValue: null,
               equipValue: [],
               equipName: [],
-              insResult: null
+              insResult: null,
+              beforeCheck:null,
+              afterCheck:null,
             }
           }
         })
diff --git a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
index 72737b1..6315c9e 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
@@ -674,7 +674,7 @@
       if(!n.often){
         return
       }
-      if(!n.often.includes('MHz')||!n.often.includes('MHZ')){
+      if(!n.often.includes('MHz')&&!n.often.includes('MHZ')){
         n.often = n.often + 'MHz'
       }
     },
diff --git a/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue b/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
index 1933c27..e54a0f8 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
@@ -552,7 +552,7 @@
       if(!n.often){
         return
       }
-      if(!n.often.includes('MHz')||!n.often.includes('MHZ')){
+      if(!n.often.includes('MHz')&&!n.often.includes('MHZ')){
         n.often = n.often + 'MHz'
       }
     },
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index e298d66..b10b282 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -245,6 +245,11 @@
             width="160px"
           ></el-table-column>
           <el-table-column
+            prop="submitTime"
+            label="妫�楠岀粨鏉熸椂闂�"
+            width="160px"
+          ></el-table-column>
+          <el-table-column
             prop="verifyTell"
             label="鐞嗙敱"
             width="150px"
diff --git a/static/js/worker.js b/static/js/worker.js
index b246cd0..e618e24 100644
--- a/static/js/worker.js
+++ b/static/js/worker.js
@@ -167,6 +167,7 @@
           }else{
             // 濡傛灉涓嶄负绌猴紝鍒欏垽鏂綋鍓嶇粨璁哄氨闇�瑕佽繘琛屽垽鏂�
             //瑕佹眰鍊间负-锛�/锛屸�旓紝鍒欑粨璁鸿缃负涓嶅垽瀹氾紝缁撹璧嬪�间负3
+            console.log(3333,ask)
             if(ask[0]=='-' || ask[0]=='/' || ask[0]=='鈥�'){
               item.v.v = 3
               list.forEach(a => {
@@ -368,6 +369,7 @@
               currentInsItemId: item.i,// 褰撳墠妫�楠岄」鐨刬d
             }
           }
+          console.log('result---', result)
           // 鍙戞秷鎭粰涓荤嚎绋�
           self.postMessage(JSON.stringify(result))
         }

--
Gitblit v1.9.3