From 7fe48ed63cf0ce210f2422721eb6c48800502ce0 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 07 六月 2024 09:56:15 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master

---
 src/components/do/b1-ins-order/add.vue                 |  249 ++++++++++++++++++++++---------
 src/components/view/b1-report-preparation.vue          |    8 
 src/components/do/b1-ins-order/equip-config.vue        |  181 +++++++++++++---------
 index.html                                             |    2 
 src/components/do/b1-inspect-order-plan/Inspection.vue |    8 
 src/components/view/b1-inspect-order-plan.vue          |    4 
 src/components/tool/onlyoffice.vue                     |    2 
 7 files changed, 295 insertions(+), 159 deletions(-)

diff --git a/index.html b/index.html
index f59f294..6989e3f 100644
--- a/index.html
+++ b/index.html
@@ -21,7 +21,7 @@
 	</head>
 	<body>
 		<div id="app"></div>
-		<!-- <script type='text/javascript' src='http://192.168.73.130:9001/web-apps/apps/api/documents/api.js'></script> -->
+		<script type='text/javascript' src='http://192.168.11.200:81/web-apps/apps/api/documents/api.js'></script>
 		<script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/plugins/js/plugin.js"></script>
 		<script src="<%= htmlWebpackPlugin.options.url %>/static/luckysheet/luckysheet.umd.js"></script>
 	</body>
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 142aa7b..64dbde7 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -47,6 +47,14 @@
     align-items: center;
     justify-content: space-between;
   }
+
+  .pairing{
+    text-align: center;
+    line-height: 36px;
+    margin: 3px 0;
+    border: 1px solid rgba(0, 0, 0, 0.1);
+    border-radius: 4px;
+  }
 </style>
 <style>
   .ins_order_add .el-input-group__append,
@@ -94,7 +102,8 @@
   <div class="ins_order_add">
     <div v-show="!configShow&&!equipConfigShow">
       <el-row class="title">
-        <el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鎬讳环锛�<span style="color: #3A7BFA">锟{total}}</span></el-col>
+        <el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鎬讳环锛�<span
+            style="color: #3A7BFA">锟{total}}</span></el-col>
         <el-col :span="18" style="text-align: right;">
           <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;" v-show="active==1"
             @change="selectInsOrderTemplateById">
@@ -108,7 +117,7 @@
             <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
           </el-button>
           <el-button size="medium" type="primary" @click="openEquipConfig"
-            v-if="PROJECT==='瑁呭鐢电紗'">鐢电紗閰嶇疆</el-button>
+            v-if="PROJECT==='瑁呭鐢电紗' && active==1">鐢电紗閰嶇疆</el-button>
           <el-button size="medium" type="primary" @click="openConfig"
             v-if="addObj.sampleType==='鍏夌紗'">鍏夌氦閰嶇疆</el-button>
           <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">鎻愪氦</el-button>
@@ -495,9 +504,27 @@
             <div class="search_label">瑕佹眰鍊硷細</div>
             <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
               <el-radio-group v-model="bsm1Val" @input="upBsm1">
-                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
+                  :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
               </el-radio-group>
             </div>
+          </el-col>
+        </el-row>
+        <el-row v-if="bsm2">
+          <el-col class="search_thing" :span="22">
+            <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div>
+            <div class="search_input">
+              <el-input-number size="medium" v-model="bsm2Val" :min="1" :max="bsm2Val3.length" :precision="0" style="width: 70%;"
+                :controls="false" @change="bsm2Up"></el-input-number>
+              <span>MAX锛歿{bsm2Val3.length}}</span>
+            </div>
+          </el-col>
+          <el-col style="margin-top: 6px;">
+            <el-col v-for="(a,ai) in bsm2Val2" :key="ai">
+              <el-col :span="10" class="pairing">{{a[0]}}</el-col>
+              <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col>
+              <el-col :span="10" class="pairing">{{a[1]}}</el-col>
+            </el-col>
           </el-col>
         </el-row>
       </div>
@@ -642,10 +669,15 @@
         bsm1: false,
         bsm1Val: null,
         bsm1Dia: false,
-        total:0,
-        RTS:'',
-        totalArr:[],
         equipConfigShow: false,
+        bsm2: false,
+        bsm2Val: null,
+        bsm2Dia: false,
+        bsm2Val2: [],
+        bsm2Val3: [],
+        total: 0,
+        RTS: '',
+        totalArr: []
       }
     },
     watch: {
@@ -653,13 +685,13 @@
         this.addObj.method = null
         this.productList = []
       },
-      productList:{
-        deep:true,
-        handler(val){
-          if(val&&val.length>0){
+      productList: {
+        deep: true,
+        handler(val) {
+          if (val && val.length > 0) {
             let arr = [];
             val.forEach(item => {
-              if(item.sonLaboratory&&!arr.find(a=>a.value==item.sonLaboratory)){
+              if (item.sonLaboratory && !arr.find(a => a.value == item.sonLaboratory)) {
                 arr.push({
                   text: item.sonLaboratory,
                   value: item.sonLaboratory
@@ -670,9 +702,9 @@
           }
         }
       },
-      sampleList:{
-        deep:true,
-        handler(val){
+      sampleList: {
+        deep: true,
+        handler(val) {
           this.getTotal()
         }
       }
@@ -741,30 +773,30 @@
         this.addObj.companyId = selects.id
         this.selectUserDia = false
       },
-      handleAsk(ask){
-        let code = [">","<","=","锛�","锛�","鈮�","鈮�","卤"];
-        if(ask.includes('RTS')){
-          if(ask.includes('&')){
+      handleAsk(ask) {
+        let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"];
+        if (ask.includes('RTS')) {
+          if (ask.includes('&')) {
             // 澶氫釜鏉′欢
             let arr0 = ask.split('&')
             let arr1 = []
-            arr0.forEach(m=>{
-                let index = code.findIndex(b=>m.includes(b))
-              if(index>-1){
-                let arr = m.split(code[index]).filter(b=>!!b)
-                let num = eval(this.replaceAll(arr[0],'RTS', this.RTS))
-                m = code[index] + ''+ num
+            arr0.forEach(m => {
+              let index = code.findIndex(b => m.includes(b))
+              if (index > -1) {
+                let arr = m.split(code[index]).filter(b => !!b)
+                let num = eval(this.replaceAll(arr[0], 'RTS', this.RTS))
+                m = code[index] + '' + num
                 arr1.push(m)
               }
             })
             return arr1.join('&')
-          }else{
+          } else {
             // 鍗曚釜鏉′欢
-            let index = code.findIndex(b=>ask.includes(b))
-            if(index>-1){
-              let arr = ask.split(code[index]).filter(b=>!!b)
-              let num = eval(this.replaceAll(arr[0],'RTS', this.RTS))
-              return code[index] + ''+ num
+            let index = code.findIndex(b => ask.includes(b))
+            if (index > -1) {
+              let arr = ask.split(code[index]).filter(b => !!b)
+              let num = eval(this.replaceAll(arr[0], 'RTS', this.RTS))
+              return code[index] + '' + num
             }
           }
         }
@@ -795,11 +827,11 @@
           this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
         } else if (!this.sampleList.every(m => m.standardMethodListId)) {
           this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
-        }else if (this.totalArr.find(a=>a.ask.includes('RTS')&&a.state==1)&&!this.RTS) {
+        } else if (this.totalArr.find(a => a.ask!=null&&a.ask.includes('RTS')&&a.state==1) && !this.RTS) {
           this.$message.error('璇疯緭鍏TS')
         } else {
           let sampleList = this.HaveJson(this.sampleList)
-          let isRTS = this.totalArr.find(a=>a.ask.includes('RTS')&&a.state==1)
+          let isRTS = this.totalArr.find(a=>a.ask!=null&&a.ask.includes('RTS')&&a.state==1)
           if(isRTS){
             sampleList.forEach(item=>{
               if(item.insProduct&&item.insProduct.length>0){
@@ -868,7 +900,8 @@
               a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : (
                 '-' + a.modelNum))
               return a
-            }))
+            })),
+            pairing: JSON.stringify(this.bsm2Val2)
           }, {
             headers: {
               'Content-Type': 'application/json'
@@ -1027,6 +1060,7 @@
           this.sample.standardMethodListId = null
           this.sample.insProduct = []
           this.sample.id = this.count
+          this.sample.childSampleList = []
           this.sampleList.push(this.HaveJson(this.sample))
           this.count++
         }
@@ -1122,13 +1156,24 @@
       upProductSelect(selection, row) {
         row.state = row.state == 1 ? 0 : 1
         if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
-          if(row.section.indexOf('[') > -1){
+          if (row.section.indexOf('[') > -1) {
             this.bsmRow = this.HaveJson(row)
           }
           this.bsm1 = true
           this.bsm1Dia = true
         } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
           this.bsm1 = false
+        }
+        if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && row.state === 1) {
+          this.bsm2 = true
+          this.bsm1Dia = true
+          if(this.bsm2Val2.length === 0){
+            this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
+            this.computationalPairing(this.sampleList.length)
+            this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
+          }
+        } else if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && row.state === 1) {
+          this.bsm2 = false
         }
         this.sampleList.map(item => {
           if (this.sampleIds.indexOf(item.id) > -1) {
@@ -1141,6 +1186,32 @@
           }
           return item
         })
+      },
+      permute(nums) {
+        const result = [];
+        function backtrack(temp, nums) {
+          if (temp.length === 2) {
+            result.push([...temp]);
+            return;
+          }
+          for (let i = 0; i < nums.length; i++) {
+            if (temp.includes(nums[i])) continue;
+            // 閬垮厤閲嶅鏁板瓧
+            if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚�
+            temp.push(nums[i]);
+            backtrack(temp, nums);
+            temp.pop();
+          }
+        }
+        backtrack([], nums);
+        return result;
+      },
+      computationalPairing(n){
+        const nums = [];
+        for (let i = 1; i <= n; i++) {
+          nums.push(i);
+        }
+        this.bsm2Val3 = this.HaveJson(this.permute(nums))
       },
       tableRowClassName({
         row,
@@ -1327,15 +1398,26 @@
             return m
           })
         }
-        this.productList.forEach(p=>{
+        this.productList.forEach(p => {
           if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
-            if(p.section.indexOf('[') > -1){
+            if (p.section.indexOf('[') > -1) {
               this.bsmRow = this.HaveJson(p)
             }
             this.bsm1 = true
             this.bsm1Dia = true
           } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
             this.bsm1 = false
+          }
+          if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && p.state === 1) {
+            this.bsm2 = true
+            this.bsm1Dia = true
+            if(this.bsm2Val2.length === 0){
+              this.bsm2Val = (this.sampleList.length - 1) * this.sampleList.length / 2
+              this.computationalPairing(this.sampleList.length)
+              this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
+            }
+          } else if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && p.state === 1) {
+            this.bsm2 = false
           }
         })
         if (e.length > 0) {
@@ -1468,9 +1550,9 @@
         let manHours = JSON.parse(this.bsmRow.manHour);
         let prices = JSON.parse(this.bsmRow.price);
         for (var a in sections) {
-          if(val === sections[a]){
-            this.productList.forEach(p=>{
-              if(p.id === this.bsmRow.id){
+          if (val === sections[a]) {
+            this.productList.forEach(p => {
+              if (p.id === this.bsmRow.id) {
                 p.section = sections[a]
                 p.ask = asks[a]
                 p.tell = tells[a]
@@ -1482,47 +1564,53 @@
           }
         }
       },
-      beforeClose(done){
-        if(this.bsm1){
-          if(this.bsm1Val===null || this.bsm1Val === ''){
+      beforeClose(done) {
+        if (this.bsm1) {
+          if (this.bsm1Val === null || this.bsm1Val === '') {
+            this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+            return
+          }
+        }
+        if (this.bsm2) {
+          if (this.bsm2Val2.length === 0) {
             this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
             return
           }
         }
         done()
       },
-      getTotal(){
+      getTotal() {
         this.totalArr = []
         this.total = 0;
-        this.sampleList.forEach(item=>{
-          if(item.insProduct&&item.insProduct.length>0){
-            item.insProduct.forEach(a=>{
-               this.totalArr.push(a)
+        this.sampleList.forEach(item => {
+          if (item.insProduct && item.insProduct.length > 0) {
+            item.insProduct.forEach(a => {
+              this.totalArr.push(a)
             })
           }
-          if(item.bushing&&item.bushing.length>0){
-            item.bushing.forEach(a=>{
-              if(a.fiber&&a.fiber.length>0){
-                a.fiber.forEach(b=>{
-                  if(b.productList&&b.productList.length>0){
-                    b.productList.forEach(c=>{
-                       this.totalArr.push(c)
+          if (item.bushing && item.bushing.length > 0) {
+            item.bushing.forEach(a => {
+              if (a.fiber && a.fiber.length > 0) {
+                a.fiber.forEach(b => {
+                  if (b.productList && b.productList.length > 0) {
+                    b.productList.forEach(c => {
+                      this.totalArr.push(c)
                     })
                   }
                 })
               }
-              if(a.fibers&&a.fibers.length>0){
-                a.fibers.forEach(b=>{
-                  if(b.productList&&b.productList.length>0){
-                    b.productList.forEach(c=>{
-                       this.totalArr.push(c)
+              if (a.fibers && a.fibers.length > 0) {
+                a.fibers.forEach(b => {
+                  if (b.productList && b.productList.length > 0) {
+                    b.productList.forEach(c => {
+                      this.totalArr.push(c)
                     })
                   }
-                  if(b.fiber&&b.fiber.length>0){
-                    b.fiber.forEach(c=>{
-                      if(c.productList&&c.productList.length>0){
-                        c.productList.forEach(d=>{
-                           this.totalArr.push(d)
+                  if (b.fiber && b.fiber.length > 0) {
+                    b.fiber.forEach(c => {
+                      if (c.productList && c.productList.length > 0) {
+                        c.productList.forEach(d => {
+                          this.totalArr.push(d)
                         })
                       }
                     })
@@ -1533,25 +1621,40 @@
           }
         })
         let mySet = new Set();
-        let arr0 =  this.totalArr.filter(item=>{
-          if(item.state == 1){
-            let num1= mySet.size
-            if(item.manHourGroup===''||!item.manHourGroup){
+        let arr0 = this.totalArr.filter(item => {
+          if (item.state == 1) {
+            let num1 = mySet.size
+            if (item.manHourGroup === '' || !item.manHourGroup) {
               return true
-            }else{
+            } else {
               mySet.add(item.manHourGroup)
-              let num2= mySet.size
-              if(num2 > num1){
+              let num2 = mySet.size
+              if (num2 > num1) {
                 return true
-              }else{
+              } else {
                 return false
               }
             }
           }
         })
-        arr0.forEach(item=>{
+        arr0.forEach(item => {
           this.total += Number(item.price)
         })
+      },
+      bsm2Up(val){
+        let list = []
+        for(let a=1;a < this.bsm2Val3.length + 1;a++){
+          list.push(a)
+        }
+        let set = new Set()
+        let size1 = set.length
+        while(set.size < val){
+          set.add(Math.ceil(Math.random() * this.bsm2Val3.length))
+        }
+        this.bsm2Val2 = []
+        for(let a of set){
+          this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a-1]))
+        }
       }
     }
   }
diff --git a/src/components/do/b1-ins-order/equip-config.vue b/src/components/do/b1-ins-order/equip-config.vue
index 2b5ed3f..019079d 100644
--- a/src/components/do/b1-ins-order/equip-config.vue
+++ b/src/components/do/b1-ins-order/equip-config.vue
@@ -14,8 +14,7 @@
     </div>
     <div class="center">
       <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
-        border  highlight-current-row @row-click="rowClick" style="margin-top: 10px;"
-        @current-change="selectSample">
+        border highlight-current-row @row-click="rowClick" @current-change="selectSample">
         <!-- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> -->
         <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
         <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
@@ -55,22 +54,12 @@
             </el-select>
           </template>
         </el-table-column>
-        <el-table-column prop="joinName" label="閰嶅鏍峰搧鍚嶇О" width="140" align="center">
-          <template slot-scope="scope">
-            <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
-              v-model="scope.row.joinName" :disabled="active!=1"></el-input>
-          </template>
+        <el-table-column prop="num" label="鏍峰搧鏁伴噺" align="center" width="90">
         </el-table-column>
-        <el-table-column prop="joinModel" label="閰嶅鏍峰搧鍨嬪彿" width="140" align="center">
+        <el-table-column label="鎿嶄綔" width="120">
           <template slot-scope="scope">
-            <el-input size="small" type="textarea" :autosize="{ minRows: 1, maxRows: 1}"
-              v-model="scope.row.joinModel" :disabled="active!=1"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column prop="joinNum" label="閰嶅鏍峰搧鏁伴噺" width="140" align="center">
-          <template slot-scope="scope">
-            <el-input-number size="small" v-model="scope.row.joinNum" :min="1" :max="100" :precision="0"
-              :controls="false" style="width: 80%;" :disabled="active!=1"></el-input-number>
+            <el-button @click.native.prevent="deleteRow(scope.$index, sampleList)" type="text"
+              size="small">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -98,7 +87,7 @@
         </el-table-column>
       </el-table>
     </div>
-    <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px">
+    <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px" @closed="addObj.sampleNum = 1">
       <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
         <el-row style="margin-bottom: 10px;">
           <el-col :span="24">
@@ -132,7 +121,8 @@
         <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose">
+    <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"
+      :before-close="beforeClose">
       <div class="body" style="max-height: 60vh;">
         <el-row v-if="bsm1">
           <el-col class="search_thing" :span="22">
@@ -147,7 +137,8 @@
             <div class="search_label">瑕佹眰鍊硷細</div>
             <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
               <el-radio-group v-model="bsm1Val" @input="upBsm1">
-                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
+                  :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
               </el-radio-group>
             </div>
           </el-col>
@@ -165,23 +156,23 @@
         default: () => 0
       },
     },
-    data(){
+    data() {
       return {
-        saveLoad:false,
-        sampleList:[],
-        productList:[],
-        getProductLoad:false,
-        filters:[],
-        sampleIds:[],
+        saveLoad: false,
+        sampleList: [],
+        productList: [],
+        getProductLoad: false,
+        filters: [],
+        sampleIds: [],
         isAskOnlyRead: false,
         selectStandardTree: false,
-        search:'',
-        expandedKeys:[],
-        addObj:{
-          sampleNum:1,
+        search: '',
+        expandedKeys: [],
+        addObj: {
+          sampleNum: 1,
         },
-        selectTree:null,
-        models:[],
+        selectTree: null,
+        models: [],
         sample: {
           sampleCode: null,
           laboratory: null,
@@ -194,29 +185,65 @@
           isLeave: 0,
           unit: null
         },
-        currentMethod:null,
-        methods:[],
+        currentMethod: null,
+        methods: [],
         methodLoad: false,
-        sampleId:null,
+        sampleId: null,
         bsmRow: null,
         bsm1: false,
-        bsm1Val:null,
-        bsm1Dia:false,
-        list:[]
+        bsm1Val: null,
+        bsm1Dia: false,
+        list: [],
+        parentSample: []
       }
     },
-    methods:{
-      save(){},
-      outConfig(){
+    mounted() {
+      this.selectStandardTreeList()
+      this.selectStandardMethods()
+      this.$parent.sampleIds.forEach(a => {
+        for (var i = 0; i < this.$parent.sampleList.length; i++) {
+          if (this.$parent.sampleList[i].id == a) {
+            this.sampleList = this.$parent.sampleList[i].childSampleList
+            this.parentSample.push(this.$parent.sampleList[i])
+            break
+          }
+        }
+      })
+    },
+    methods: {
+      selectStandardTreeList() {
+        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
+          this.list = res.data
+          this.list.forEach(a => {
+            this.expandedKeys.push(a.label)
+          })
+        })
+      },
+      save() {
+        if(this.sampleList.length === 0){
+          this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
+          return
+        }
+        this.parentSample.forEach(a=>{
+          a.childSampleList = this.sampleList
+        })
+        this.$message.success('宸蹭繚瀛�')
+      },
+      deleteRow(index, rows) {
+        this.productList = []
+        rows.splice(index, 1);
+      },
+      outConfig() {
         this.$parent.equipConfigShow = false
       },
-      addChild(){
+      addChild() {
         this.selectStandardTree = true
       },
-      selectSample(val){
+      selectSample(val) {
+        if(val === null)return
         this.sampleIds = [val.id]
       },
-      rowClick(row, column, event){
+      rowClick(row, column, event) {
         this.currentMethod = row
         let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
         if (obj && obj.code == '濮旀墭瑕佹眰') {
@@ -246,7 +273,7 @@
           return true
         }
       },
-      handleChangeModel(e){
+      handleChangeModel(e) {
         let num = this.selectTree.split('-').length;
         if (num == 4) {
           this.selectTree = this.selectTree + ' - ' + e
@@ -256,7 +283,7 @@
           this.selectTree = arr0.join('-') + '- ' + e
         }
       },
-      methodChange(val, row){
+      methodChange(val, row) {
         if (val === null || val === '') return
         this.currentMethod = row
         let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
@@ -292,7 +319,12 @@
       methodFocus() {
         this.selectsStandardMethodByFLSSM()
       },
-      selectsStandardMethodByFLSSM(){
+      selectStandardMethods() {
+        this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
+          this.methods = res.data
+        })
+      },
+      selectsStandardMethodByFLSSM() {
         this.methodLoad = true
         this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
           tree: this.selectTree
@@ -314,16 +346,16 @@
           } catch (e) {}
         })
       },
-      selectProduct(val){
+      selectProduct(val) {
         this.productIds = []
         val.forEach(a => {
           this.productIds.push(a.id)
         })
       },
-      upProductSelect(selection, row){
+      upProductSelect(selection, row) {
         row.state = row.state == 1 ? 0 : 1
         if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
-          if(row.section.indexOf('[') > -1){
+          if (row.section.indexOf('[') > -1) {
             this.bsmRow = this.HaveJson(row)
           }
           this.bsm1 = true
@@ -352,7 +384,7 @@
         }
         return '';
       },
-      handleAll(){
+      handleAll(e) {
         if (e.length > 0) {
           this.productList.map(m => {
             m.state = 1
@@ -364,9 +396,9 @@
             return m
           })
         }
-        this.productList.forEach(p=>{
+        this.productList.forEach(p => {
           if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
-            if(p.section.indexOf('[') > -1){
+            if (p.section.indexOf('[') > -1) {
               this.bsmRow = this.HaveJson(p)
             }
             this.bsm1 = true
@@ -429,20 +461,18 @@
         this.addObj.sample = trees[3]
         this.addObj.model = (trees[4] == undefined ? null : trees[4])
         this.selectStandardTree = false
-        this.sampleList = []
-        for (var i = 0; i < this.addObj.sampleNum; i++) {
-          this.sample.joinName = null
-          this.sample.joinModel = null
-          this.sample.joinNum = 1
-          this.sample.sample = this.addObj.sample
-          this.sample.model = this.addObj.model
-          this.sample.unit = this.addObj.unit
-          this.sample.standardMethodListId = null
-          this.sample.insProduct = []
-          this.sample.id = this.count
-          this.sampleList.push(this.HaveJson(this.sample))
-          this.count++
-        }
+        this.sample.joinName = null
+        this.sample.joinModel = null
+        this.sample.joinNum = 1
+        this.sample.sample = this.addObj.sample
+        this.sample.model = this.addObj.model
+        this.sample.unit = this.addObj.unit
+        this.sample.standardMethodListId = null
+        this.sample.insProduct = []
+        this.sample.id = this.count
+        this.sample.num = this.addObj.sampleNum
+        this.sampleList.push(this.HaveJson(this.sample))
+        this.count++
         this.$refs.sampleTable.doLayout()
       },
       searchFilter() {
@@ -452,7 +482,7 @@
         if (!value) return true;
         return data.label.indexOf(value) !== -1;
       },
-      handleNodeClick(val, node, el){
+      handleNodeClick(val, node, el) {
         this.selectTree = ''
         this.models = val.children
         this.getNodeParent(node)
@@ -476,9 +506,9 @@
       nodeClose(data, node, el) {
         $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
       },
-      beforeClose(done){
-        if(this.bsm1){
-          if(this.bsm1Val===null || this.bsm1Val === ''){
+      beforeClose(done) {
+        if (this.bsm1) {
+          if (this.bsm1Val === null || this.bsm1Val === '') {
             this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
             return
           }
@@ -492,9 +522,9 @@
         let manHours = JSON.parse(this.bsmRow.manHour);
         let prices = JSON.parse(this.bsmRow.price);
         for (var a in sections) {
-          if(val === sections[a]){
-            this.productList.forEach(p=>{
-              if(p.id === this.bsmRow.id){
+          if (val === sections[a]) {
+            this.productList.forEach(p => {
+              if (p.id === this.bsmRow.id) {
                 p.section = sections[a]
                 p.ask = asks[a]
                 p.tell = tells[a]
@@ -528,7 +558,7 @@
 
   .center {
     width: 100%;
-    height: calc(100% - 70px);
+    height: calc(100% - 60px);
   }
 
 
@@ -537,6 +567,7 @@
     border-color: #dcdfe6;
     cursor: not-allowed;
   }
+
   .node_i {
     color: orange;
     font-size: 18px;
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index e0ddd8e..0385916 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -308,10 +308,10 @@
                     <span :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧缂栧彿'">
-                    <div style="display: flex;flex-wrap: nowrap;align-items: center;">
-                      <i class="el-icon-caret-left table_caret" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
-                      <div :style="`font-family:${n.v.ff} !important;`">{{currentSample.sampleCode}}</div>
-                      <i class="el-icon-caret-right table_caret"
+                    <div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode">
+                      <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
+                      <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
+                      <i class="el-icon-caret-right table_caret" style="width: 16px;"
                       v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i>
                     </div>
                   </template>
diff --git a/src/components/tool/onlyoffice.vue b/src/components/tool/onlyoffice.vue
index 4002dac..db2ccb5 100644
--- a/src/components/tool/onlyoffice.vue
+++ b/src/components/tool/onlyoffice.vue
@@ -87,7 +87,7 @@
             chat: true,
             comments: false,
             help: false,
-            // "hideRightMenu": false,//瀹氫箟鍦ㄧ涓�娆″姞杞芥椂鏄樉绀鸿繕鏄殣钘忓彸渚ц彍鍗曘�� 榛樿鍊间负false
+            "hideRightMenu": false,//瀹氫箟鍦ㄧ涓�娆″姞杞芥椂鏄樉绀鸿繕鏄殣钘忓彸渚ц彍鍗曘�� 榛樿鍊间负false
             //鏄惁鏄剧ず鎻掍欢
             plugins: false
           },
diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue
index b9cb529..14cd472 100644
--- a/src/components/view/b1-inspect-order-plan.vue
+++ b/src/components/view/b1-inspect-order-plan.vue
@@ -250,9 +250,9 @@
 							font: '澶嶆牳',
 							type: 'text',
 							method: 'handleReview',
-							/* disabFun: (row, index) => {
+							disabFun: (row, index) => {
 								return row.userId == null || row.insState != 3 || row.verifyUser != 1
-							} */
+							}
 						}, {
 							id: '',
 							font: '璁ら',
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index 08a3107..f161dfe 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -344,20 +344,22 @@
         this.upIndex++
       },
       async handleWeave(row) {
+        let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+        fileName = fileName.replace('/word/','')
         const userName = JSON.parse(localStorage.getItem("user")).name;
         //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
         const { href } = this.$router.resolve({
           path: `/wordEdit`,
           query: {
-            url: this.javaApi + "/word/" + row.entrustCode + ".docx",
+            url: this.javaApi + "/word/" + fileName,
             isEdit: true,
             fileType: "docx",
-            title: row.entrustCode + ".docx",
+            title: fileName,
             lang: 'zh-CN',
             isPrint: true,
             user_id: 1,
             user_name: userName,
-            editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.entrustCode + ".docx"
+            editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
           }
         })
         window.open(href, '_blank');

--
Gitblit v1.9.3