zouyu
2024-08-10 860c08388adb4196f30851d23ef652deaef26ffc
Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before
已修改11个文件
624 ■■■■■ 文件已修改
src/components/do/b1-ins-order/add.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/fiberoptic-config-two.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/fiberoptic-config.vue 234 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 223 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tool/value-table.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspect-order-plan.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspection-order.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/timer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/worker.js 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/worker0.js 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue
@@ -620,8 +620,7 @@
        </el-row>
      </span>
    </el-dialog>
    <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine == 0" :active="active" />
    <fiberOpticConfigTwo :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine == 1" :active="active" />
    <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" />
    <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
    <cableConfig v-if="cableConfigShow" :active="active" />
<!--    单选特殊值处理框-->
@@ -1600,10 +1599,9 @@
              return
            }
          }
          console.log('isHaveBushing===', this.totalArr)
          // inspectionItem
          let spcialItem = null//this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管'))
          // console.log('isHaveBushing===', isHaveBushing)
          // console.log('isHaveBushing===', this.totalArr)
          let spcialItem = this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管'))
          if (productListSelected && select[2] === '光缆' && isHaveBushing === false) {
            this.$message.error('光缆温度循环项目必须进行光纤配置')
            this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
@@ -3003,7 +3001,7 @@
        this.totalArr = []
        this.total = 0;
        this.sampleList.forEach(item => {
          if (item.insProduct  && item.insProduct.length > 0) {
          if (item.insProduct && item.insProduct.length > 0) {
            item.insProduct.forEach(a => {
              this.totalArr.push(a)
            })
src/components/do/b1-ins-order/fiberoptic-config-two.vue
@@ -35,12 +35,12 @@
              </div>
              <div class="search-item" style="margin-right: 10px;">
                <label style="width: 100px">每根管抽检标准量</label>
                <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:100px"></el-input>
                <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:70px"></el-input>
              </div>
              <div class="search-item">
                <label style="width: 100px">每根管抽检检测量</label>
                <el-input v-model="packageInfo.testNum" placeholder="请输入" size="small" @blur="addTestNum"
                style="width:100px"
                style="width:70px"
                  :disabled="packageInfo.radio===0||active!=1"></el-input>
              </div>
            </div>
@@ -99,6 +99,8 @@
                  <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
                  <span v-else>{{ scope.row.ask }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="tell" label="要求描述" show-overflow-tooltip width="150">
              </el-table-column>
            </el-table>
          </div>
@@ -478,7 +480,7 @@
              this.fiberList.push(b)
            })
            }
          }else{
            this.fiberList = []
            a.fiber.forEach(b=>{
@@ -487,7 +489,7 @@
          }
        })
      }
      this.getTypeDicts1()
      this.getStandTreeBySampleType()
      this.getStandTreeBySampleType2()
@@ -513,7 +515,7 @@
              }
            })
          })
      }
      if(this.detectionItems.type == 0) {
        // 赋值检测项信息 光纤
@@ -584,7 +586,7 @@
        this.fiberList = []
        this.fibersList = []
        this.detectionItems = []
        // 页面是否含有光纤带
        if(this.packageInfo.ismiers) {
          // 全检
@@ -627,8 +629,8 @@
          }
        }
      },
      upNum() {
        this.fiberList = []
@@ -689,7 +691,7 @@
                }
                a.fibers.push(fibers)
                this.fibersList.push(fibers)
              }
              }
        })
      } else {
          this.bushing = []
@@ -763,7 +765,7 @@
        //     this.addFiber()
        //   }, 200)
        // })
          // 将下拉框值赋值给光纤  监听去除
          if(this.selectFiberList.length == 0) {
            this.$message.error('请选择数据')
@@ -800,7 +802,7 @@
          this.detectionType = 0
           this.$set(this.detectionItems,'type',0)
          }
        })
      },
      methodChange2(val) {
@@ -897,7 +899,7 @@
                fibersIdent: a.ident,
                productList: []
              }
              this.fiberList.push(fiber)
              this.fiberList.push(fiber)
            }
          })
        } else {
@@ -918,7 +920,7 @@
          })
        }
      }else {
        this.fiberList = []
        this.fiberList = []
        let flag = true
        // 按照顺序生成光纤色标
        let colors2 = []
@@ -960,7 +962,7 @@
        //   this.$message.error('未选择套管')
        //   return
        // }
        // this.fiberList = []
        // this.fiberList = []
        // let flag = true
        // // 按照顺序生成光纤色标
        // let colors2 = []
@@ -1111,7 +1113,7 @@
        }else if (type == 0){
          this.detectionItems = []
          this.detectionItems = row.productList
        }
        }
      //   if(type == 1) {
      //     if((row.model == null || row.model == '') && (row.standard == null || row.standard == '')){
      //       this.detectionItems = []
@@ -1144,11 +1146,11 @@
      //         let product =  JSON.parse(JSON.stringify(row.productList))
      //         setTimeout(() => {
      //           product.forEach(p => {
      //           let rowToSelect = this.detectionItems.find(item => item.id === p.id);
      //           if (rowToSelect) {
      //           let rowToSelect = this.detectionItems.find(item => item.id === p.id);
      //           if (rowToSelect) {
      //             this.toggleSelection(rowToSelect);
      //           }
      //         });
      //         });
      //       },200)
      //       }
      //     }
@@ -1169,7 +1171,7 @@
      //   }
      //   this.$axios.post(this.$api.standardTree.selectStandardProductList, {
      //     model: this.mireModel.split(' - ')[1],
      //     standardMethodListId: this.mireStandard,
      //     standardMethodListId: this.mireStandard,
      //     factory: ''
      //   }, {
      //     headers: {
@@ -1184,16 +1186,16 @@
      //     this.detectionItems = res.data
      //     this.detectionType = 0
      //     this.$set(this.detectionItems,'type',0)
      //     if (row.productList != null && row.productList.length > 0) {
      //       let product =  JSON.parse(JSON.stringify(row.productList))
      //     if (row.productList != null && row.productList.length > 0) {
      //       let product =  JSON.parse(JSON.stringify(row.productList))
      //       setTimeout(() => {
      //         product.forEach(p => {
      //           let rowToSelect = this.detectionItems.find(item => item.id === p.id);
      //           if (rowToSelect) {
      //         product.forEach(p => {
      //           let rowToSelect = this.detectionItems.find(item => item.id === p.id);
      //           if (rowToSelect) {
      //             this.toggleSelection(rowToSelect);
      //           }
      //         });
      //           }
      //         });
      //       },200)
      //       }
      //     }
src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -35,12 +35,12 @@
              </div>
              <div class="search-item" style="margin-right: 10px;">
                <label style="width: 100px">每根管抽检标准量</label>
                <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:100px"></el-input>
                <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input>
              </div>
              <div class="search-item">
                <label style="width: 100px">每根管抽检检测量</label>
                <el-input v-model="packageInfo.testNum" placeholder="请输入" size="small" @blur="addTestNum"
                  :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input>
                  :disabled="packageInfo.radio===0||active!=1" style="width:70px"></el-input>
              </div>
            </div>
            <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small"
@@ -95,8 +95,14 @@
              </el-table-column> -->
              <el-table-column prop="ask" label="检测要求" show-overflow-tooltip width="200px">
                <template slot-scope="scope">
                  <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
                  <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input>
                  <span v-else>{{ scope.row.ask }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="tell" label="要求描述" show-overflow-tooltip width="150">
                <template slot-scope="scope">
                  <el-input v-model="scope.row.tell" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input>
                  <span v-else>{{ scope.row.tell }}</span>
                </template>
              </el-table-column>
            </el-table>
@@ -134,7 +140,7 @@
              <div class="search-item" style="width: 50%;margin-right: 16px;">
                <label style="width: 80px;">纤带类型</label>
                <el-select v-model="miresModel" placeholder="请选择" size="small" style="width: 100%;"
                  >
                  <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
                  </el-option>
@@ -152,8 +158,11 @@
              </div>
            </div>
            <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
            <!-- <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
              size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)"
              :header-cell-class-name="setClassName0"> -->
              <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
              size="small" @selection-change="handleSelectionChange" highlight-current-row
              :header-cell-class-name="setClassName0">
              <el-table-column
              type="selection"
@@ -227,9 +236,12 @@
                </el-select>
              </div>
            </div>
            <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
            <!-- <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
              size="small" highlight-current-row @selection-change="handleSelectionChange4"
              @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)"
              :header-cell-class-name="setClassName0"> -->
              <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
              size="small" highlight-current-row @selection-change="handleSelectionChange4"
              :header-cell-class-name="setClassName0">
              <el-table-column
              type="selection"
@@ -476,7 +488,7 @@
              this.fiberList.push(b)
            })
            }
          }else{
            this.fiberList = []
            a.fiber.forEach(b=>{
@@ -485,7 +497,7 @@
          }
        })
      }
      this.getTypeDicts1()
      this.getStandTreeBySampleType()
      this.getStandTreeBySampleType2()
@@ -506,7 +518,7 @@
        this.detectionSelect = val
        // 赋值检测项信息 光纤带
        if(this.detectionItems.type == 1) {
          this.multiFiberList.forEach(item => {
            this.multiFiberList.forEach(item => {
            this.fibersList.forEach(a => {
              if(a.ident == item.ident){
                a.productList  =  []
@@ -514,8 +526,10 @@
              }
            })
          })
      }
      console.log(this.fibersList);
      if(this.detectionItems.type == 0) {
        // 赋值检测项信息 光纤
        this.selectFiberList.forEach(item => {
@@ -526,8 +540,9 @@
              }
            })
          })
          if(this.multiFiberList.length == 1) {
          // 选择的时候就将fiberList的值赋值给对应的fiberList
          setTimeout(() => {
            if(this.multiFiberList.length > 0) {
            this.multiFiberList.forEach(item => {
            this.fibersList.forEach(a => {
              if(a.ident == item.ident){
@@ -535,11 +550,8 @@
              }
            })
          })
          }else if(this.multiFiberList.length > 1) {
            this.fibersList.forEach(item => {
              item.fiber = this.fiberList
            })
          }
          },100)
        }
      },
      handleSelectionChange4(val){
@@ -547,6 +559,46 @@
        if(val != 0) {
          this.rowClickFiber(val[val.length-1],null,null,0)
        }
      },
      changeASk(row) {
        // 先勾选的情况下
          this.detectionSelect.forEach(item => {
            if(item.id == row.id) {
              item.ask = row.ask
              item.tell = row.tell
              // 光纤 0  光纤带 1
            if(item.isFibers == 0) {
              this.selectFiberList.forEach(a => {
                this.fiberList.forEach(b => {
                  if(b.ident == a.ident){
                    b.productList.forEach(item => {
                      if(item.id == row.id) {
                        item.ask = row.ask
                        item.tell = row.tell
                      }
                    })
                  }
                })
              })
            }
            if(item.isFibers == 1) {
              this.multiFiberList.forEach(a => {
                this.fibersList.forEach(b => {
                  if(b.ident == a.ident){
                    b.productList.forEach(item => {
                      if(item.id == row.id) {
                        item.ask = row.ask
                        item.tell = row.tell
                      }
                    })
                  }
                })
              })
            }
            }
          })
      },
      outConfig() {
        this.$parent.configShow = false
@@ -575,6 +627,11 @@
      },
      // 套管标准量赋值
      addStandNum() {
        if(this.packageInfo.testNum > this.packageInfo.standNum) {
          this.$message.error('检测量不能大于标准量')
          this.packageInfo.testNum = this.packageInfo.standNum
        }
        if(this.selectBushing.length > 0) {
          this.bushing.forEach(item => {
          this.selectBushing.forEach(a => {
@@ -587,7 +644,7 @@
      },
      // 套管检测量赋值
      addTestNum() {
        if(parseInt(this.packageInfo.testNum) > parseInt(this.packageInfo.standNum)) {
          this.packageInfo.testNum = this.packageInfo.standNum
          this.$message.error('检测量不能大于标准量')
@@ -606,24 +663,32 @@
        this.fiberList = []
        this.fibersList = []
        this.detectionItems = []
        // 页面是否含有光纤带
        if(this.packageInfo.ismiers) {
          // 全检
          if (this.packageInfo.radio == 0) {
            if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') {
          this.$message.error('请先输入标准量')
          return
        }
          // 根据标准量赋值检测量
          if(parseInt(this.packageInfo.standNum) > 0 ) {
            // 给光纤带赋值
            this.packageInfo.testNum = this.packageInfo.standNum
            this.selectBushing = this.bushing
            // 给光纤带赋值
            this.bushing.forEach(item => {
                item.testNum = this.packageInfo.testNum
                item.standNum = this.packageInfo.standNum
                this.$refs.table0.toggleRowSelection(item, true)
              })
            this.addFibers()
            this.multiFiberList = this.fibersList
            // 默认勾选
            setTimeout(() => {
              this.selectBushing.forEach(item =>{
              let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
              this.$refs.table0.toggleRowSelection(rowToSelect, true)
              })
              // this.selectBushing.forEach(item =>{
              // let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
              // this.$refs.table0.toggleRowSelection(rowToSelect, true)
              // })
              this.multiFiberList.forEach(item =>{
              let rowToSelect =  this.fibersList.find(a => a.ident == item.ident)
@@ -634,23 +699,37 @@
      }
        }else {
          if(this.packageInfo.radio == 0) {
            if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') {
          this.$message.error('请先输入标准量')
          return
        }
            if(parseInt(this.packageInfo.standNum) > 0 ) {
              this.packageInfo.testNum = this.packageInfo.standNum
            this.packageInfo.testNum = this.packageInfo.standNum
              this.bushing.forEach(item => {
                item.testNum = this.packageInfo.testNum
                item.standNum = this.packageInfo.standNum
                this.$refs.table0.toggleRowSelection(item, true)
              })
              console.log(this.bushing);
              this.selectBushing = this.bushing
              this.addFiber()
              // 默认勾选
            setTimeout(() => {
              this.selectBushing.forEach(item =>{
              let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
              this.$refs.table0.toggleRowSelection(rowToSelect, true)
              // this.selectBushing.forEach(item =>{
              // let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
              // this.$refs.table0.toggleRowSelection(rowToSelect, true)
              // })
              this.fiberList.forEach(item =>{
                this.$refs.table3.toggleRowSelection(item, true)
              })
            }, 200)
            }
          }
        }
      },
      upNum() {
        this.fiberList = []
@@ -711,7 +790,7 @@
                }
                a.fibers.push(fibers)
                this.fibersList.push(fibers)
              }
              }
        })
      } else {
          this.bushing = []
@@ -785,23 +864,13 @@
        //     this.addFiber()
        //   }, 200)
        // })
          // 将下拉框值赋值给光纤  监听去除
          if(this.selectFiberList.length == 0) {
            this.$message.error('请选择数据')
            return
          }
          this.selectFiberList.forEach(item => {
            this.fiberList.forEach(a => {
              if(a.ident == item.ident){
                a.model = this.mireModel.split(' - ')[1] // 光纤规格
                a.noSplitModel = this.mireModel // 光纤规格
                if(this.mireStandards != null) {
                  a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code  // 参考标准
                }
              }
            })
          })
         if (val === null || val === '') return
         if(this.mireStandards == null ) return
        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
@@ -822,7 +891,19 @@
          this.detectionType = 0
           this.$set(this.detectionItems,'type',0)
          }
          this.mireStandards.find(a => a.id == val).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
          this.selectFiberList.forEach(item => {
            this.fiberList.forEach(a => {
              if(a.ident == item.ident){
                a.model = this.mireModel.split(' - ')[1] // 光纤规格
                a.noSplitModel = this.mireModel // 光纤规格
                if(this.mireStandards != null) {
                  a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code  // 参考标准
                }
              }
            })
          })
        })
      },
      methodChange2(val) {
@@ -871,6 +952,8 @@
            this.detectionItems = res.data
            this.detectionType = 1
            this.$set(this.detectionItems,'type',1)
            // 判断是否为委托要求
            this.miresStandards.find(a => a.id == val).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
          }
          // 给选中的光纤带赋值
@@ -919,7 +1002,7 @@
                fibersIdent: a.ident,
                productList: []
              }
              this.fiberList.push(fiber)
              this.fiberList.push(fiber)
            }
          })
        } else {
@@ -940,7 +1023,7 @@
          })
        }
      }else {
        this.fiberList = []
        this.fiberList = []
        let flag = true
        // 按照顺序生成光纤色标
        let colors2 = []
@@ -982,7 +1065,7 @@
        //   this.$message.error('未选择套管')
        //   return
        // }
        // this.fiberList = []
        // this.fiberList = []
        // let flag = true
        // // 按照顺序生成光纤色标
        // let colors2 = []
@@ -1184,6 +1267,21 @@
          // 将获取的检测项信息赋值
          this.detectionItems = []
          if(res.data != null && res.data.length != 0){
            res.data.forEach(a => {
              this.$set(a,'isFibers',1)
            })
            // 判断是否为委托要求
            this.miresStandards.find(a => a.id == this.miresStandard).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
            if(!this.isAskOnlyRead){
              row.productList.forEach(a => {
                res.data.forEach(b => {
                  if(a.id == b.id){
                    b.ask = a.ask
                    b.tell = a.tell
                  }
                })
              })
            }
            this.detectionItems = res.data
            this.detectionType = 1
            this.$set(this.detectionItems,'type',1)
@@ -1191,16 +1289,16 @@
              let product =  JSON.parse(JSON.stringify(row.productList))
              setTimeout(() => {
                product.forEach(p => {
                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                if (rowToSelect) {
                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                if (rowToSelect) {
                  this.toggleSelection(rowToSelect);
                }
              });
              });
            },200)
            }
          }
        })
        },1000)
        },500)
      }else if(type == 0) {
        if((row.noSplitModel == null || row.noSplitModel == '') && (row.standard == null || row.standard == '')){
            this.detectionItems = []
@@ -1216,7 +1314,7 @@
        }
        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
          model: this.mireModel.split(' - ')[1],
          standardMethodListId: this.mireStandard,
          standardMethodListId: this.mireStandard,
          factory: ''
        }, {
          headers: {
@@ -1227,25 +1325,39 @@
          if(res.data != null && res.data.length != 0){
           res.data.forEach(a => {
            a.state = 0
            this.$set(a,'isFibers',0)
          })
          // 判断是否为委托要求
          this.mireStandards.find(a => a.id == this.mireStandard).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
          if(!this.isAskOnlyRead){
            row.productList.forEach(a => {
              res.data.forEach(b => {
                if(a.id == b.id){
                  b.ask = a.ask
                  b.tell = a.tell
                }
              })
            })
          }
          this.detectionItems = res.data
          this.detectionType = 0
          this.$set(this.detectionItems,'type',0)
          if (row.productList != null && row.productList.length > 0) {
            let product =  JSON.parse(JSON.stringify(row.productList))
          if (row.productList != null && row.productList.length > 0) {
            let product =  JSON.parse(JSON.stringify(row.productList))
            setTimeout(() => {
              product.forEach(p => {
                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                if (rowToSelect) {
              product.forEach(p => {
                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                if (rowToSelect) {
                  this.toggleSelection(rowToSelect);
                }
              });
                }
              });
            },200)
            }
          }
        })
        },1000);
        },500);
      }
    },
      toggleSelection(row) {
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -242,7 +242,7 @@
        <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button>
        <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">光纤带切换</el-button>
        <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> -->
        <el-button size="small" type="primary" @click="sampleVisible=true">样品切换</el-button>
        <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">样品切换</el-button>
        <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button>
        <el-button size="small" type="primary" @click="addVerifyDia = true" v-if="state==1"
          :loading="submitLoading">提交</el-button>
@@ -358,7 +358,7 @@
                    <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                              :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')"
                              @input="handleInput(n)"
                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"
                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"
                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)">
                      <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
                        v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> -->
@@ -366,10 +366,10 @@
                    <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
                      v-model="n.v.v"
                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,'getDataType')" />
                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
                      :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)"
                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,'getDataType')">
                      <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                    </el-select>
                    <span :style="`font-family:${n.v.ff} !important;`"
@@ -384,6 +384,7 @@
                    <template v-if="PROJECT=='检测中心'||PROJECT=='装备电缆'&&getInspectionValueType(n.i) != 2 ">
                      <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-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span>
                      <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
                    </template>
                  </template>
@@ -612,6 +613,7 @@
              <template slot-scope="scope">
                <span v-if="scope.row.arr[index].insResult===1" style="color: green;">合格</span>
                <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">不合格</span>
                <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">不判定</span>
                <span v-else>待定</span>
              </template>
            </el-table-column>
@@ -691,6 +693,7 @@
                <template v-else>
                  <span v-if="item.insResult===1" style="color: green;">合格</span>
                  <span v-else-if="item.insResult===0" style="color: red;">不合格</span>
                  <span v-else-if="item.insResult===3" style="color: #3A7BFA;">不判定</span>
                  <span v-else>待定</span>
                </template>
              </td>
@@ -825,7 +828,7 @@
              <td style="text-align: left;">
                <el-checkbox-group
                  v-model="getDataIndex" :max="item.child[0].maxNum">
                  <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox>
                  <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox>
                </el-checkbox-group>
              </td>
            </tr>
@@ -834,7 +837,7 @@
              <td style="text-align: left;">
                <el-checkbox-group
                  v-model="getDataIndex" :max="m.maxNum">
                  <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox>
                  <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox>
                </el-checkbox-group>
              </td>
            </tr>
@@ -1052,7 +1055,10 @@
          }
        ],
        getDataIndex:[],
        getDataIndexLoading:false
        getDataIndexLoading:false,
        changeType:null,
        getDataTypeId:'',
        getDataType:null
      }
    },
    computed: {
@@ -1110,15 +1116,18 @@
          }
          let list = await this.getCurrentProduct(this.currentSample.id,0)
          this.currentSample.insProduct = this.HaveJson(list)
          // console.log(this.currentSample)
          this.param = {}
          this.changeType = 0;
          this.currentSample.insProduct.forEach(a => {
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            if(this.handleCasing(a.inspectionItem)){
              this.param[a.id] = {
                insValue: [],
                comValue: [],
                resValue: null,
                equipValue: [],
                equipName: [],
                insResult: null
              }
            }
          })
          this.determineWhetherToCollectData()
@@ -1143,29 +1152,31 @@
        })
      },
      currentTable(val1, val0) {
        if(val0 !=null && val1 != val0){
        if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){
          if(this.casing.length>0){
            this.handleChange(this.casing[0].id,3)
        if (val0 != null && val1 != val0) {
          if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){
            if(this.casing.length>0){
              this.handleChange(this.casing[0].id,3)
            }
            return
          }
          return
        }
        if(this.changeType && this.changeType>0){
          return
        }
          if(this.changeType&&this.changeType>0){
            return
          }
          this.tableLists.forEach(async (m, i) => {
            if (m.templateId == val1) {
              let list = await this.getCurrentProduct(this.currentSample.id,0)
              this.currentSample.insProduct = this.HaveJson(list)
              // console.log(this.currentSample)
              this.param = {}
              this.currentSample.insProduct.forEach(a => {
                this.param[a.id] = {
                  insValue: [],
                  comValue: [],
                  resValue: null,
                  equipValue: [],
                  equipName: [],
                  insResult: null
                if(this.handleCasing(a.inspectionItem)){
                  this.param[a.id] = {
                    insValue: [],
                    comValue: [],
                    resValue: null,
                    equipValue: [],
                    equipName: [],
                    insResult: null
                  }
                }
              })
              this.getReportModel(this.currentSample.id)
@@ -1194,7 +1205,6 @@
              }
            }
          })
          this.handleCasing()
        }
      },
      equipForm:{
@@ -1287,6 +1297,11 @@
        }
      },
      handleDataAcquisition(data){
        if(this.dataAcquisitionEidtAble){
          this.getDataType = 1;
        }else{
          this.getDataType = 2;
        }
        this.dataAcquisitionInfo = {}
        this.getData = []
        for (let i in data){
@@ -1295,8 +1310,14 @@
            child:[]
          }
          for(let j in data[i]){
            let str0 = ''
            if(i==j){
              str0 = i+','
            }else{
              str0 = i+','+j
            }
            if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){
              this.dataAcquisitionInfo[i+','+j] = {
              this.dataAcquisitionInfo[str0] = {
                value:data[i][j].result,
                frequency:data[i].frequency
              }
@@ -1304,7 +1325,6 @@
              list.forEach((item,index)=>{
                let num0 = 0;
                let str = ''
                let str0 = i+','+j
                item.forEach(m=>{
                  if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){
                    if(m.v.ps&&m.v.ps.value=='检验项'){
@@ -1327,7 +1347,12 @@
                })
              })
            }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){
              let str0 = i+','+j
              let str0 = ''
              if(i==j){
                str0 = i+','
              }else{
                str0 = i+','+j
              }
              let list = this.tableList[0].arr
              let maxNum = 0
              list.forEach((item,index)=>{
@@ -1363,6 +1388,13 @@
                  }
                })
              })
              // let arr3 = []
              // for (let l=0 ;i<data[i][j].result.length;i++){
              //   arr3.push({
              //     id:,
              //     value:
              //   })
              // }
              let obj0 = {
                name:j,
                arr:data[i][j].result,
@@ -1372,7 +1404,7 @@
              if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){
                obj.child.push(obj0)
              }else{
                this.dataAcquisitionInfo[i+','+j] = {
                this.dataAcquisitionInfo[str0] = {
                  value:data[i][j].result
                }
              }
@@ -1384,11 +1416,13 @@
        }
        if(this.getData.length>0){
          this.dataGetDia = true
          this.getDataIndex = []
        }else{
          try {
            // 向 Worker 发送消息,开始处理逻辑
            this.getDataIndexLoading = false
            this.dataGetDia = false
            this.getDataTypeId = ''
            this.worker0.postMessage(JSON.stringify({
              dataAcquisitionInfo: this.dataAcquisitionInfo,
              list:this.tableList[0].arr
@@ -1404,6 +1438,8 @@
            let {list,n} = result.value
            this.$set(this.tableList[0],'arr',list)
            this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
          }else if(result.getDataTypeId){
            this.getDataTypeId = result.getDataTypeId
          }
        };
      },
@@ -1977,6 +2013,14 @@
        this.collected = collected
        this.temDataAcquisition = temDataAcquisition
      },
      uploadSample(){
        this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
          id: this.id,
          laboratory: this.sonLaboratory
        }).then(async res => {
          this.sampleProduct = res.data.sampleProduct
        })
      },
      async getCurrentProduct(id,type){
        this.tableLoading = true;
        let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory)
@@ -2053,15 +2097,18 @@
        this.currentSample = this.HaveJson(row)
        let list = await this.getCurrentProduct(row.id,0)
        this.currentSample.insProduct = this.HaveJson(list)
        this.handleCasing()
        this.param = {}
        this.changeType = 0;
        this.currentSample.insProduct.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          if(this.handleCasing(a.inspectionItem)){
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            }
          }
        })
        this.getReportModel(row.id)
@@ -2080,9 +2127,15 @@
          currentTable:this.currentTable
        }));
      },
      handleCasing(){
        if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='成品缆检验原始记录')){
          this.currentSample.insProduct = this.currentSample.insProduct.filter(m=>!m.inspectionItem.includes('松套管'))
      handleCasing(inspectionItem){
        if(this.changeType!=3){
          if(inspectionItem.includes('松套管')){
            return false
          }else{
            return true
          }
        }else{
          return true
        }
      },
      getReportModel(id){
@@ -2098,10 +2151,11 @@
        })
      },
      async handleChange(m,type){
        this.changeType = type;
        this.changeType = type
        if(m){
          let list = await this.getCurrentProduct(m,type)
          if(list.length>0){
            this.param = {}
            list.forEach(a => {
              this.param[a.id] = {
                insValue: [],
@@ -2623,7 +2677,10 @@
        })
        this.handleExcelMethod()
      },
      changeInput(m, code, n) {
      changeInput(m, code, n,getDataType) {
        if(getDataType=='getDataType'){
          this.getDataType = 2;
        }
        // let str = code.split('-')
        // let pId = str[3]
        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){
@@ -2651,6 +2708,26 @@
        //     return
        //   }
        // }
        let str = code.split('-')
        let pId = str[3]
        for(let i =0;i<this.currentSample.insProduct.length;i++){
          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/'||this.currentSample.insProduct[i].ask=='—')){
            this.tableList[0].arr.forEach(item=>{
              item.forEach(m=>{
                if(m.i==pId&&m.v.ps&&m.v.ps.value=='结论'){
                  this.$set(m.v,'v',3)
                }
              })
            })
            if(this.param[pId].insResult&&this.param[pId].insResult.v){
              this.param[pId].insResult.v.v = 3
            }
            this.saveInsContext()
            return
          }
        }
        // this.currentTable.
        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){}
        if (n) {
          // if (this.PROJECT === '装备电缆') {
          //   let num2 = new this.$Big(n.v.v)
@@ -2676,7 +2753,8 @@
            currentSample:this.currentSample,
            PROJECT:this.PROJECT,
            param:this.param,
            currentTable:this.currentTable
            currentTable:this.currentTable,
            getDataTypeId:this.getDataTypeId
          }));
        } catch (error) {
          console.log(444,error);
@@ -2700,7 +2778,28 @@
                    }
                  }
                }
                this.saveInsContext()
                console.log(99999,this.result.value.getDataTypeId)
                if(this.isGet&&!this.dataAcquisitionEidtAble){
                  if(this.result.value.getDataTypeId==''){
                    return
                  }
                  setTimeout(()=>{
                    this.saveInsContext()
                  },2000)
                }else if(this.isGet&&this.dataAcquisitionEidtAble){
                  if(this.getDataType==1){
                    if(this.result.value.getDataTypeId==''){
                      return
                    }
                    setTimeout(()=>{
                      this.saveInsContext()
                    },2000)
                  }else{
                    this.saveInsContext()
                  }
                }else{
                  this.saveInsContext()
                }
              })
              break;
            case 'tableList':
@@ -3094,8 +3193,8 @@
        return
      },
      saveInsContext() {
        console.log(1111,this.param)
        try {
          console.log(1111,this.param)
          if(this.param){
            this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
              param: JSON.stringify(this.param)
@@ -3221,16 +3320,18 @@
        this.currentSample = this.HaveJson(this.sampleProduct[index - 1])
        let list = await this.getCurrentProduct(this.currentSample.id,0)
        this.currentSample.insProduct = this.HaveJson(list)
        this.handleCasing()
        this.param = {}
        this.changeType = 0;
        this.currentSample.insProduct.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          if(this.handleCasing(a.inspectionItem)){
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            }
          }
        })
        this.getTableLists()
src/components/tool/value-table.vue
@@ -124,17 +124,17 @@
        <el-table-column type="index" align="center" label="序号" :width="selectionWidth" v-if="data.isIndex" :key="Math.random()">
        </el-table-column>
        <el-table-column :prop="a.label" :label="a.value" :sortable="a.sort === 'custom' ? 'custom' : false" :isColumnWidth="isColumnWidth" :isShowZero="isShowZero"
          v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip :min-width="columnMinWidth" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))">
          v-for="(a, ai) in tableHead" :key="ai+'bbbbb'" show-overflow-tooltip :min-width="columnMinWidth" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))">
          <template slot-scope="scope">
            <div v-if="showType(a.label, data.tagField) != null">
              <template v-if="typeof(scope.row[a.label]) == 'object'">
                <template v-for="(param, i) in scope.row[a.label]">
                  <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi" v-if="b.value == param"
                  <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi+'cccc'" v-if="b.value == param"
                    :type="b.type" size="medium" style="margin-right: 5px;">{{b.label}}</el-tag>
                </template>
              </template>
              <template v-else>
                <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi" v-if="b.value == scope.row[a.label]"
                <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi+'ddddd'" v-show="b.value == scope.row[a.label]"
                  :type="b.type" size="medium">{{b.label}}</el-tag>
              </template>
            </div>
@@ -148,7 +148,8 @@
        </el-table-column>
        <el-table-column fixed="right" align="center" label="操作" :width="getWidth()" v-if="data.do.length > 0">
          <template slot-scope="scope">
            <el-button v-for="(a, ai) in data.do" :key="ai" :type="a.type"
            <el-button v-for="(a, ai) in data.do" :key="ai
            +'qqqq'" :type="a.type"
              :disabled="a.disabFun ? a.disabFun(scope.row,scope.$index) : false" @click="main(scope.row, a)"
              class="handleBtn">
              <span v-if="a.type!='upload'">{{a.font}}</span>
@@ -172,7 +173,7 @@
    <el-dialog title="编辑" :visible.sync="upDia" :width="data.row==1?'500px':540+data.row * 200 + 'px'" append-to-body>
      <div class="body" style="max-height: 550px;overflow-y: auto;padding: 5px 10px 5px 0;">
        <div v-if="data.row > 1">
          <div v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;">
          <div v-for="(a, ai) in upHead" :key="ai+'ffff'" style="line-height: 50px;">
            <el-col :span="6/data.row" style="text-align: right;" :offset="1">
              <span class="required-span" v-if="showUpReq(a.label)">* </span>{{a.value}}:
            </el-col>
@@ -183,7 +184,7 @@
              <el-select v-model="upData[a.label]" :multiple="data.selectField[a.label].choose" size="small"
                v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :disabled="isDisabled(a.label)"
                clearable filterable>
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value"
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'eeeee'" :value="b.value"
                  :label="b.label">
                </el-option>
              </el-select>
@@ -204,7 +205,7 @@
          </div>
        </div>
        <div v-else>
          <el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;">
          <el-row v-for="(a, ai) in upHead" :key="ai+'ggggg'" style="line-height: 50px;">
            <el-col :span="6" style="text-align: right;">
              <span class="required-span" v-if="showUpReq(a.label)">* </span>{{a.value}}:
            </el-col>
@@ -215,7 +216,7 @@
              <el-select v-model="upData[a.label]" :multiple="data.selectField[a.label].choose" size="small"
                v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :disabled="isDisabled(a.label)"
                clearable filterable>
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value"
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'fffff'" :value="b.value"
                  :label="b.label"></el-option>
              </el-select>
              <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)" :multiple="false"
@@ -241,7 +242,7 @@
    <el-dialog title="新增" :visible.sync="addDia" :width="data.row==1?'500px':540+data.row * 200 + 'px'" append-to-body>
      <div class="body" v-if="addDia" style="max-height: 550px;overflow-y: auto;padding: 5px 10px 5px 0;">
        <div v-if="data.row > 1">
          <div v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;">
          <div v-for="(a, ai) in upHead" :key="ai+'yyyyy'" style="line-height: 50px;">
            <el-col :span="6/data.row" style="text-align: right;" :offset="1"><span class="required-span"
                v-if="showAddReq(a.label)">*
              </span>{{a.value}}:</el-col>
@@ -251,7 +252,7 @@
              <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null"
              :multiple="data.selectField[a.label].choose"
                style="width: 100%;" :placeholder="`请选择${a.value}`" clearable filterable>
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value"
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'hhhh'" :value="b.value"
                  :label="b.label"></el-option>
              </el-select>
              <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)"
@@ -270,7 +271,7 @@
          </div>
        </div>
        <div v-else>
          <el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;">
          <el-row v-for="(a, ai) in upHead" :key="ai+'jjjjj'" style="line-height: 50px;">
            <el-col :span="6" style="text-align: right;"><span class="required-span" v-if="showAddReq(a.label)">*
              </span>{{a.value}}:</el-col>
            <el-col :span="16" :offset="1">
@@ -279,7 +280,7 @@
              <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null"
              :multiple="data.selectField[a.label].choose"
                style="width: 100%;" :placeholder="`请选择${a.value}`" clearable>
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value"
                <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'mmmmmm'" :value="b.value"
                  :label="b.label"></el-option>
              </el-select>
              <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)"
src/components/view/b1-inspect-order-plan.vue
@@ -200,7 +200,7 @@
            </span>
        </el-dialog>
        <div style="width: 100%;height: 100%;" v-if="activeFace >0">
            <Add :active="activeFace" :currentId="currentId"/>
            <Add :active="activeFace" :currentId="currentId" :examine="examine"/>
        </div>
    <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/>
      <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="80%">
@@ -228,6 +228,7 @@
        },
        data() {
            return {
                examine: null,
        inspectorList: [],//检验人员列表
                alone: false,
                sampleUserForm: {
@@ -581,6 +582,7 @@
            },
            selectAllByOne(row) {
                this.activeFace = 2;
                this.examine = 1;
                this.currentId = parseInt(row.id)
            },
            playOrder(num) {
src/components/view/b1-inspection-order.vue
@@ -234,12 +234,11 @@
            </div>
            <div class="table">
                <ul class="tab">
                    <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
                    <li v-for="(m,i) in tabList" :key="i+'afgh'" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li>
                </ul>
                <ValueTable :style="getStyle()" ref="ValueTable"
                    :isColumnWidth="true"
                    :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData"
                    :key="'b'+upIndex"  />
                    :upIndex="upIndex"  />
            </div>
            <!-- 审核 -->
            <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose">
@@ -297,7 +296,7 @@
                            <div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>指派人员:</div>
                            <div class="search_input">
                                <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable filterable @change="changeUser">
                                    <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
                                    <el-option v-for="(item,i) in personList" :key="i+'gbnm.'" :label="item.label" :value="item.value">
                                    </el-option>
                                </el-select>
                            </div>
@@ -306,7 +305,7 @@
                            <div class="search_label"><span class="required-span" >* </span>试验室:</div>
                            <div class="search_input">
                                <el-select v-model="distributeData.sonLaboratory" placeholder="请选择" size="small" style="width: 100%;" clearable filterable>
                                    <el-option v-for="(item,i) in sonLaboratoryList" :key="i" :label="item.label" :value="item.value">
                                    <el-option v-for="(item,i) in sonLaboratoryList" :key="i+'oooo'" :label="item.label" :value="item.value">
                                    </el-option>
                                </el-select>
                            </div>
@@ -351,7 +350,7 @@
          v-model="checkAll"
          @change="handleCheckAllChange">全选</el-checkbox>
          <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList">
            <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;">
            <el-card class="box-card" v-for="(item, i) in qrData" :key="i+'wwwww'" style="margin-bottom: 15px; font-size: 16px !important;">
                  <el-checkbox :label="i" :key="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox>
                   <div>
                    <el-row style="font-size: 14px;padding-left: 20px;">
@@ -402,7 +401,7 @@
    </el-dialog>
    <div class="el-dialog__body" style="overflow-y: auto;margin-top: 0;position: fixed;top: 999px;z-index: 99999;display: none;">
        <div id="printMOrder" class="printMOrder" ref="printMOrder">
          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;">
          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i+'uuuuu'" style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;">
            <div style="display: flex;">
              <div>
                <el-col :span="10" :offset="2">
@@ -930,6 +929,7 @@
                // //复制给formData
                // this.formData = this.HaveJson(row);
                this.currentId = row.id
        this.examine = 1
            },
            // 数据查看
            handleDataLook(row) {
@@ -1120,7 +1120,8 @@
            handleTab(m, i) {
                this.tabIndex = i;
                this.componentData.entity.state = m.value
                this.refreshTable()
                this.refreshTable('page')
        this.upIndex++
            },
            getUserMenu() {
                this.$axios.get(this.$api.user.getUserMenu).then(res => {
src/main.js
@@ -20,7 +20,7 @@
//本地
// Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
// const javaApi = 'http://127.0.0.1:8001';
const javaApi = 'http://192.168.92.249:8001';
const javaApi = 'http://192.168.0.104:8001';
//云
// Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080";
// const javaApi = 'http://114.132.189.42:1234';
src/view/timer.vue
@@ -35,7 +35,7 @@
      const hours = now.getHours();
      const minutes = now.getMinutes();
      if (hours === 20 && minutes === 0) {
      if (hours === 22 && minutes === 0) {
        this.performTask();
        // 设置20分钟后提示关闭
        this.closeTimeout = setTimeout(() => {
static/js/worker.js
@@ -12,6 +12,7 @@
}
let param = null
let currentTable = ''
let getDataTypeId = null
self.onmessage = function(event) {
  const data = JSON.parse(event.data);
  if(currentTable!=data.currentTable){
@@ -30,6 +31,11 @@
    return
  }
  code = data.code;
  if(data.getDataTypeId){
    getDataTypeId = data.getDataTypeId
  }else{
    getDataTypeId = null
  }
  if(tableList){
    let str = code.split('-')
    let r = str[1]
@@ -292,11 +298,17 @@
            // console.log(5555,tableList)
          }
          // console.log('1234567789', tableList,getParam())
          // console.log('1234567789', item)
          let getDataType0 = false
          if(item.i==getDataTypeId){
            getDataType0 = true
          }
          result = {
            method:'saveInsContext',
            value:{
              tableList,
              param:getParam()
              param:getParam(),
              getDataTypeId:getDataType0?getDataTypeId:''
            }
          }
          self.postMessage(JSON.stringify(result))
@@ -361,7 +373,7 @@
                      a[b].v.v = isNaN(val) ? comResult : val
                    }
                    // console.log('a[b].v.ct', comResult)
                    // console.log('a[b].v.v', a[b].v.v)
                    // console.log('a[b].v.v', a[b])
                  }catch(error){
                    a[b].v.v = comResult
                    console.log('error---', error)
@@ -486,7 +498,7 @@
        b.i &&b.v.v&& param[b.i].insValue.push(b)
      }
      if (b.v.ps != undefined && b.v.ps.value === '计算值') {
        b.i &&b.v.v&& param[b.i].comValue.push(b)
        b.i &&b.v.v&&b.valueList&&b.valueList.length>0&& param[b.i].comValue.push(b)
      }
      if (b.v.ps != undefined && b.v.ps.value === '设备编码') {
        b.i &&b.v&& param[b.i].equipValue.push(b)
@@ -495,7 +507,7 @@
        b.i &&b.v&& param[b.i].equipName.push(b)
      }
      if (b.v.ps != undefined && b.v.ps.value === '最终值') {
        b.i &&b.v&& (param[b.i].resValue = b)
        b.i &&b.v&&b.valueList&&b.valueList.length>0&& (param[b.i].resValue = b)
      }
      if (b.v.ps != undefined && b.v.ps.value === '结论') {
        if(b.i &&(b.v.v||b.v.v===0||b.v.v==='0')){
@@ -519,7 +531,7 @@
function SUM(...val){
  try {
    let num = null;
    if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){
    if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){
      val.forEach(item=>{
        num+=item;
      })
@@ -538,7 +550,7 @@
function MAX(...val){
  try {
    let max = null;
    if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){
    if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){
      val = val.filter(item=>item!=null&&item!=='')
      if(val.length>0){
        max = Math.max(...val)
@@ -560,7 +572,7 @@
function MIN(...val){
  try {
    let min = null;
    if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){
    if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){
      val = val.filter(item=>item!=null&&item!=='')
      if(val.length>0){
        min = Math.min(...val)
@@ -581,7 +593,7 @@
  try {
    let num = null;
    let arr = [];
    if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){
    if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){
      arr = val.filter(item=>item!==null&&item!==''&&item!=undefined)
      arr.forEach(item=>{
        num+=item;
@@ -884,7 +896,7 @@
    } else if (isPoint) {
      return str.replace('ABS', '').replace(/\(|\)/g, '')
    }else {
      console.log('str', str,eval(str))
      console.log('str', str)
      return eval(str)
    }
  } catch (error) {
static/js/worker0.js
@@ -4,12 +4,15 @@
  method:'',
  value:null
}
let arrSpecial = []
let numSpecial = 0;
self.onmessage = function(event) {
  const data = JSON.parse(event.data);
  dataAcquisitionInfo = data.dataAcquisitionInfo;
  list = data.list;
  // console.log(111,dataAcquisitionInfo)
  arrSpecial = []
  numSpecial = 0
  handleData()
}
@@ -43,6 +46,8 @@
              if(Array.isArray(dataAcquisitionInfo[str].value)){
                for (let i = 0; i < dataAcquisitionInfo[str].value.length; i++) {
                  if(i+1==arr[1]){
                    arrSpecial.push(n.i)
                    numSpecial++
                    setTimeout(()=>{
                      let num0 = 0
                      if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
@@ -65,6 +70,8 @@
                }
              }else{
                if(arr[1] ==dataAcquisitionInfo[str].frequency){
                  arrSpecial.push(n.i)
                  numSpecial++
                  setTimeout(()=>{
                    let num0 = 0
                    if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
@@ -85,6 +92,8 @@
                  },2000)
                }else if(Number(dataAcquisitionInfo[str].frequency)>num){
                  if(n.v.ps.value.includes(num)){
                    arrSpecial.push(n.i)
                    numSpecial++
                    setTimeout(()=>{
                      let num0 = 0
                      if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
@@ -112,4 +121,12 @@
      }
    })
  })
  if(arrSpecial[numSpecial-1]){
    setTimeout(()=>{
      result = {
        getDataTypeId:arrSpecial[numSpecial-1],
      }
      self.postMessage(JSON.stringify(result))
    },0)
  }
}