lxp
2024-08-09 cd948d4615d3ae6c571e4ed04275e851632a2dba
Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before
已修改8个文件
128 ■■■■■ 文件已修改
src/components/do/b1-ins-order/add.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/fiberoptic-config.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tool/value-table.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b1-inspection-order.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/timer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/worker.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue
@@ -1600,10 +1600,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)
src/components/do/b1-ins-order/fiberoptic-config.vue
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -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>
@@ -1052,7 +1055,8 @@
          }
        ],
        getDataIndex:[],
        getDataIndexLoading:false
        getDataIndexLoading:false,
        changeType:null,
      }
    },
    computed: {
@@ -1110,8 +1114,10 @@
          }
          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 => {
            if(this.handleCasing(a.inspectionItem)){
            this.param[a.id] = {
              insValue: [],
              comValue: [],
@@ -1119,6 +1125,7 @@
              equipValue: [],
              equipName: [],
              insResult: null
              }
            }
          })
          this.determineWhetherToCollectData()
@@ -1157,8 +1164,9 @@
            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 => {
                if(this.handleCasing(a.inspectionItem)){
                this.param[a.id] = {
                  insValue: [],
                  comValue: [],
@@ -1166,6 +1174,7 @@
                  equipValue: [],
                  equipName: [],
                  insResult: null
                  }
                }
              })
              this.getReportModel(this.currentSample.id)
@@ -1194,7 +1203,6 @@
              }
            }
          })
          this.handleCasing()
        }
      },
      equipForm:{
@@ -2053,8 +2061,10 @@
        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 => {
          if(this.handleCasing(a.inspectionItem)){
          this.param[a.id] = {
            insValue: [],
            comValue: [],
@@ -2062,6 +2072,7 @@
            equipValue: [],
            equipName: [],
            insResult: null
            }
          }
        })
        this.getReportModel(row.id)
@@ -2080,9 +2091,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 +2115,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: [],
@@ -2651,6 +2669,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.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)
@@ -3221,9 +3259,10 @@
        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 => {
          if(this.handleCasing(a.inspectionItem)){
          this.param[a.id] = {
            insValue: [],
            comValue: [],
@@ -3232,6 +3271,7 @@
            equipName: [],
            insResult: null
          }
          }
        })
        this.getTableLists()
        this.worker.postMessage(JSON.stringify({
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-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">
@@ -1120,7 +1119,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
@@ -361,7 +361,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 +486,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 +495,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 +519,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 +538,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 +560,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 +581,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 +884,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) {