Crunchy
2024-07-31 defa824eab2350fd6abfd10abd8f4df94749e336
Merge remote-tracking branch 'origin/master'
已修改12个文件
已添加10个文件
1153 ■■■■ 文件已修改
src/App.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/borrow.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/calibration.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/check-and-accept.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/check.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/fault.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/files.vue 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/maintenance.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/operation-overview.vue 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/record.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/a6-device/state.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-ins-order/add.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-inspect-order-plan/Inspection.vue 197 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b1-sample/detail.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/do/b3-work-time-management/work-time-management.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tool/echart.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/a6-device.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/util/echarts.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/worker.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/worker0.js 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -318,4 +318,9 @@
    font-size: 12px;
    line-height: 32px;
  }
  .single-line-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
</style>
src/assets/api/controller.js
@@ -154,6 +154,8 @@
  deleteDataAcquisitionConfiguration: "/deviceScope/deleteDataAcquisitionConfiguration", // åˆ é™¤æ•°é‡‡é…ç½®
  determineWhetherToCollectData: "/deviceScope/determineWhetherToCollectData", // åˆ¤æ–­è¯¥è®¾å¤‡æ˜¯å¦å¯ä»¥æ•°é‡‡
  dataCollection: "/deviceScope/dataCollection", // æ•°é‡‡-数据采集
  treeDevice: "/deviceScope/treeDevice", // è®¾å¤‡æ ‘å½¢
  temDataAcquisition: "/deviceScope/temDataAcquisition", // PK8000数采
}
const insOrder = {
src/components/do/a6-device/borrow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备借用</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/calibration.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备校准</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/check-and-accept.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备验收</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/check.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备核查</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/fault.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备故障</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/files.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,307 @@
<template>
  <div class="page">
    <div class="page-header">
      <h4><span class="line"></span><span>设备档案</span></h4>
      <div class="btns">
        <el-button type="primary" size="small">修订档案</el-button>
        <el-button type="primary" size="small">添加附件</el-button>
      </div>
    </div>
    <el-divider></el-divider>
    <el-row :gutter="20">
      <el-col :span="6">
        <el-image src="" fit="fill" style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;">
          <div slot="error" class="image-slot">
            <i class="el-icon-picture-outline" style="font-size: 40px;"></i>
          </div>
        </el-image>
      </el-col>
      <el-col :span="8">
        <div class="form-item">
          <label>设备名称</label>
          <p>{{ handleData('扫描电镜(带能谱)') }}</p>
        </div>
        <div class="form-item">
          <label>大类</label>
          <p>{{ handleData('分析仪器') }}</p>
        </div>
        <div class="form-item">
          <label>内部编号</label>
          <p>{{ handleData('扫描电镜(带能谱)') }}</p>
        </div>
        <div class="form-item">
          <label>生产厂家</label>
          <p>{{ handleData('扫描电镜(带能谱)') }}</p>
        </div>
        <div class="form-item">
          <label>资产编码</label>
          <p>{{ handleData('扫描电镜(带能谱)') }}</p>
        </div>
        <div class="form-item">
          <label>出厂日期</label>
          <p>{{ handleData('2024-7-20') }}</p>
        </div>
        <div class="form-item">
          <label>启用日期</label>
          <p>{{ handleData('2024-7-20') }}</p>
        </div>
        <div class="form-item">
          <label>核准周期(月)</label>
          <p>{{ handleData('12') }}</p>
        </div>
        <div class="form-item">
          <label>检测类型</label>
          <p>{{ handleData('12') }}</p>
        </div>
        <div class="form-item">
          <label>报废时间</label>
          <p>{{ handleData('12') }}</p>
        </div>
        <div class="form-item">
          <label>准确度量值</label>
          <p>{{ handleData('12') }}</p>
        </div>
        <div class="form-item">
          <label>被授权人</label>
          <p>{{ handleData('12') }}</p>
        </div>
        <div class="form-item">
          <label>维修记录</label>
          <p>{{ handleData('12') }}</p>
        </div>
      </el-col>
      <el-col :span="10">
        <div class="form-item">
          <label>规格型号</label>
          <p>{{ handleData('JSM-6010LA') }}</p>
        </div>
        <div class="form-item">
          <label>细类</label>
          <p>{{ handleData('分析仪器') }}</p>
        </div>
        <div class="form-item">
          <label>设备状态</label>
          <el-radio-group v-model="form.value1" disabled>
            <el-radio :label="0" style="width: 40px;">合格</el-radio>
            <el-radio :label="1" style="width: 40px;">ç»´ä¿®</el-radio>
            <el-radio :label="2" style="width: 40px;">停用</el-radio>
            <el-radio :label="3" style="width: 40px;">报废</el-radio>
          </el-radio-group>
        </div>
        <div class="form-item">
          <label>出厂编号</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>存放点</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>购置日期</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>产地</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>最近溯源日期</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>采购费用(元)</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>停用时间</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>设备负责人</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>验收记录</label>
          <p>{{ handleData() }}</p>
        </div>
        <div class="form-item">
          <label>核准证书</label>
          <p>{{ handleData() }}</p>
        </div>
      </el-col>
    </el-row>
    <h4 style="margin-bottom: 10px;margin-top: 10px;"><span class="line"></span><span>附件和相关文档</span></h4>
    <div class="tables">
      <ValueTable ref="ValueTable"
                :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay"
                :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex" style="min-height: 400px;"/>
    </div>
  </div>
</template>
<script>
import ValueTable from '../../tool/value-table.vue'
export default {
  components: {
    ValueTable
  },
  data(){
    return{
      componentData: {
        entity: {
          week: null,
          weekDay: null,
          dateTime: null,
          name:null,
          orderBy: {
            field: 'id',
            order: 'desc'
          }
        },
        isIndex: true,
        showSelect: false,
        select: false,
        isPage:false,
        do: [{
          id: 'getFile',
          font: '附件',
          type: 'text',
          method: 'getFile'
        }, {
          id: 'handleLook',
          font: '查看',
          type: 'text',
          method: 'handleLook'
        },{
          id: 'delete',
          font: '删除',
          type: 'text',
          method: 'doDiy',
          disabFun: (row, index) => {
            return row.state === '已审核' || row.state === '已批准'
          }
        }],
        tagField: {
          shift:{
            select:[]
          },
          state:{
            select:[
              {
                label:'已提交',
                value:'已提交',
                type:'primary'
              },
              {
                label:'已审核',
                value:'已审核',
                type:'warning'
              },
              {
                label:'已批准',
                value:'已批准',
                type:'success'
              },
            ]
          },
          weekDay:{
            select:[]
          }
        },
        linkEvent: {},
        selectField: {
          shift:{
            select:[]
          },
          state:{
            select:[
              {
                label:'已提交',
                value:'已提交',
                type:'primary'
              },
              {
                label:'已审核',
                value:'已审核',
                type:'warning'
              },
              {
                label:'已批准',
                value:'已批准',
                type:'success'
              },
            ]
          },
          weekDay:{
            select:[]
          }
        },
        requiredAdd: [],
        requiredUp: []
            },
      upIndex:0,
      form: {
        value1:''
      }
    }
  },
  methods: {
    handleData(m){
      if(m){
        return m
      }else{
        return '-'
      }
    }
  }
}
</script>
<style scoped>
.page{
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
.page-header{
  display: flex;
  justify-content: space-between;
}
h4{
  display: flex;
  align-items: center;
}
h4 .line{
  display: inline-block;
  width: 3px;
  height: 16px;
  background: #3A7BFA;
  margin-right: 4px;
}
.tables{
  width: calc(100vw - 390px);
}
.el-image {
  position: relative;
}
.el-icon-picture-outline{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}
.form-item{
  line-height: 34px;
  display: flex;
  align-items: center;
  font-size: 14px;
}
.form-item label{
  width: 110px;
  display: inline-block;
  text-align: right;
  margin-right: 20px;
  color: #999;
}
</style>
src/components/do/a6-device/maintenance.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备维护</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/operation-overview.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
<template>
  <div class="page">
    <echart-module :id="'page-left'" :config="chartConfig" :datas="chartData" class="page-left"></echart-module>
    <div class="page-right">
      <div class="form-item">
        <label>故障次数</label>
        <span>0</span>
      </div>
      <div class="form-item">
        <label>最近故障日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>最近校准日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>下次校准日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>校准总结论</label>
        <el-radio-group v-model="form.value1" disabled>
          <el-radio :label="0">合格</el-radio>
          <el-radio :label="1">不合格</el-radio>
          <el-radio :label="2">其他</el-radio>
        </el-radio-group>
      </div>
      <div class="form-item">
        <label>最近核查日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>下次核查日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>核查总结论</label>
        <el-radio-group v-model="form.value1" disabled>
          <el-radio :label="0">合格</el-radio>
          <el-radio :label="1">不合格</el-radio>
          <el-radio :label="2">其他</el-radio>
        </el-radio-group>
      </div>
      <div class="form-item">
        <label>最近维护日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>下次维护日期</label>
        <el-date-picker
          v-model="form.value1"
          type="date"
          size="small"
          placeholder="选择日期" style="width: calc(100% - 200px);" readonly>
        </el-date-picker>
      </div>
      <div class="form-item">
        <label>维护类型</label>
        <el-radio-group v-model="form.value1" disabled>
          <el-radio :label="0">使用前后维护</el-radio>
          <el-radio :label="1">计划中维护</el-radio>
        </el-radio-group>
      </div>
      <div class="form-item">
        <label>测量项目</label>
        <span>1111111</span>
      </div>
    </div>
  </div>
</template>
<script>
import EchartModule from '../../tool/echart.vue'
export default {
  components: {EchartModule},
  data(){
    return {
      chartConfig:{
        height: '',
        isLoading:true,
        type:'gauge'
      },
      chartData:{
        xData:[],
        yData:[
          {
            title:'任务接收量',
            data:[]
          }
        ]
      },
      form:{
        value1:''
      }
    }
  }
}
</script>
<style scoped>
.page{
  width: 100%;
  height: 100%;
  display: flex;
}
.page-left{
  width: 420px;
  height: 420px;
  margin-top: 40px;
  margin-right: 40px;
}
.page-right{
  flex: 1;
  /* background: red; */
}
.form-item{
  line-height: 42px;
  font-size: 14px;
}
.page-right label{
  color: #999;
  width: 110px;
  display: inline-block;
  text-align: right;
  margin-right: 20px;
}
>>>.el-radio__input.is-disabled+span.el-radio__label{
  color: #606266 !important;
}
</style>
src/components/do/a6-device/record.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备记录</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/a6-device/state.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>设备停用/启用</div>
</template>
<script>
export default {
}
</script>
<style scoped>
</style>
src/components/do/b1-ins-order/add.vue
@@ -74,18 +74,18 @@
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    .opticalProject {
      width: 38%;
    }
    .temperatureList {
      width: 60%;
      .temperatureListTitle {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        line-height: 30px;
      }
    }
  }
  .opticalProject {
    width: 38%;
  }
  .temperatureList {
    width: 60%;
  }
  .temperatureListTitle {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    line-height: 30px;
  }
</style>
<style>
@@ -118,7 +118,7 @@
  }
  .ins_order_add .el-table .warning-row .cell {
    color: #bababa;
    color: #3A7BFA;
  }
  .ins_order_add .el-select .is-disabled {
@@ -481,10 +481,10 @@
        <el-table-column prop="manHour" label="工时系数" width="100" show-overflow-tooltip></el-table-column> -->
        <!-- <el-table-column prop="deviceGroup" label="设备组" width="120" show-overflow-tooltip></el-table-column> -->
        <el-table-column prop="section" label="区间" min-width="120" show-overflow-tooltip></el-table-column>
        <el-table-column prop="ask" label="要求值" min-width="220px">
        <el-table-column prop="ask" label="要求值" min-width="220px" v-if="isAskOnlyRead">
          <template slot-scope="scope">
            <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea"
              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')"
              v-if="active==1&&isAskOnlyRead"></el-input>
            <span v-else>
              <!-- <template v-if="(scope.row.ask.indexOf('D')>-1
@@ -497,6 +497,16 @@
              </template>
              <template v-else>{{ scope.row.ask }}</template> -->
              <template >{{ scope.row.ask }}</template>
            </span>
          </template>
        </el-table-column>
        <el-table-column prop="tell" label="要求描述" min-width="220px">
          <template slot-scope="scope">
            <el-input size="small" placeholder="要求描述" v-model="scope.row.tell" clearable type="textarea"
              :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'tell')"
              v-if="active==1&&isAskOnlyRead"></el-input>
            <span v-else>
              <template >{{ scope.row.tell }}</template>
            </span>
          </template>
        </el-table-column>
@@ -611,20 +621,20 @@
    <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
    <cableConfig v-if="cableConfigShow" :active="active" />
<!--    å•选特殊值处理框-->
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" width="500px" :show-close="false"
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1Dia" min-width="400px" :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" style="height: initial;margin: 5px 0;">
            <div class="search_label"><span class="required-span">* </span>选项:</div>
          <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
            <div class="search_label" style="width: 80px;"><span class="required-span">* </span>选项:</div>
            <div class="search_input">
              <el-radio-group v-model="bsm1Val" @input="upBsm1">
                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
              </el-radio-group>
            </div>
          </el-col>
          <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">
            <div class="search_label">要求值:</div>
          <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
            <div class="search_label" style="width: 80px;">要求值:</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"
@@ -673,20 +683,20 @@
      </div>
    </el-dialog>
<!--    å…¨é€‰ç‰¹æ®Šå€¼å¤„理框-->
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1DiaAll" width="500px" :show-close="false"
    <el-dialog title="检测到特殊项,请作出以下选择" :visible.sync="bsm1DiaAll" min-width="400px" :show-close="false"
               :before-close="beforeClose">
      <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index">
        <el-row v-if="item.bsm1">
          <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">
            <div class="search_label"><span class="required-span">* </span>选项:</div>
          <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
            <div class="search_label" style="width: 80px;"><span class="required-span">* </span>选项:</div>
            <div class="search_input">
              <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
              </el-radio-group>
            </div>
          </el-col>
          <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;">
            <div class="search_label">要求值:</div>
          <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;">
            <div class="search_label" style="width: 80px;">要求值:</div>
            <div class="search_input" v-show="item.bsm1Val!==null&&item.bsm1Val!==''">
              <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)">
                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai"
@@ -1107,7 +1117,7 @@
      this.selectEnumByCategoryForType()
      this.getUserNow()
      this.selectStandardTreeList()
      this.selectInsOrderTemplate()
      // this.selectInsOrderTemplate()
      this.getAuthorizedPerson();
      this.selectEnumByCategoryForUnit()
      this.selectStandardMethods()
@@ -1403,6 +1413,10 @@
        this.addObj.code = selects.code
        this.addObj.companyId = selects.id
        this.selectUserDia = false
        if(this.active==1){
          // TODO
          this.selectInsOrderTemplate()
        }
      },
      containsValue(str) {
        if(str){
@@ -1863,6 +1877,9 @@
          this.addObj.companyId = selects.departId
          this.addObj.production = '/'
          this.addObj.productionEn = '/'
          if(this.active==1){
            this.selectInsOrderTemplate()
          }
        })
      },
      getProNum() {
@@ -2150,12 +2167,12 @@
        rowIndex
      }) {
        if (row.state === 0) {
          return 'warning-row';
          return '';
        }
        return '';
        return 'warning-row';
      },
      selectInsOrderTemplate() {
        this.$axios.get(this.$api.insOrder.selectInsOrderTemplate).then(res => {
        this.$axios.get(this.$api.insOrder.selectInsOrderTemplate+'?company='+this.addObj.company).then(res => {
          if (res.code == 201) return
          this.templates = res.data
        })
@@ -2327,12 +2344,12 @@
        }
      },
      // è¦æ±‚值变化时
      requestChange(e, row) {
      requestChange(e, row,type) {
        this.sampleList.map(item => {
          if (this.sampleIds.indexOf(item.id) > -1) {
            item.insProduct.map(m => {
              if (m.id == row.id) {
                m.ask = e;
                m[type] = e;
              }
              return m;
            })
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -317,8 +317,8 @@
              <span style="margin-left: 4px;">%</span>
            </el-form-item>
          </el-form>
          <el-button type="primary" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='检测中心'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">数据采集</el-button>
          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='检测中心'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button>
          <el-button type="primary" size="small" v-if="(dataAcquisitionEidt>0||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='温度循环检验原始记录'&&temDataAcquisition)&&PROJECT=='检测中心'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">数据采集</el-button>
          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(dataAcquisitionEidt>0)&&PROJECT=='检测中心'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button>
        </div>
      </div>
      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('热循环')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('温升试验'))">
@@ -504,20 +504,20 @@
          <el-table-column
            label="序号"
            type="index"
            width="60"
            width="59"
            align="center"
            >
          </el-table-column>
          <el-table-column
            prop="bushColor"
            label="管色标"
            width="80"
            width="75"
            align="center">
          </el-table-column>
          <el-table-column
            prop="code"
            label="光纤带编号"
            width="110"
            width="105"
            align="center">
          </el-table-column>
          <el-table-column
@@ -531,7 +531,7 @@
              prop="value0"
              label="外端"
              align="center"
              width="80" :key="(new Date())+'1'">
              width="100" :key="(new Date().getTime())+'1234567'">
              <template slot="header">
                {{ '外端'+(index+1) }}
              </template>
@@ -543,7 +543,7 @@
              prop="value1"
              label="内端"
              align="center"
              width="80" :key="(new Date())+'2'">
              width="100" :key="(new Date().getTime())+'23333333'">
              <template slot="header">
                {{ '内端'+(index+1) }}
              </template>
@@ -554,7 +554,7 @@
            <el-table-column
              prop="comValue"
              align="center"
              min-width="150" :key="(new Date())+'3'">
              min-width="150" :key="(new Date().getTime())+'364654654'">
              <template slot="header">
                {{ '衰减系数'+item }}
              </template>
@@ -567,7 +567,7 @@
              label="衰减差"
              align="center"
              v-if="wareForm.inspectionItemSubclass!='20(常温)'"
              min-width="90" :key="(new Date())+'4'">
              min-width="90" :key="(new Date().getTime())+'434634634634'">
              <template slot="header">
                {{ '衰减差'+(index+1) }}
              </template>
@@ -579,7 +579,7 @@
              prop="insResult"
              label="结论"
              align="center"
              min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date())+'5'">
              min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date().getTime())+'53457689809808-'">
              <template slot="header">
                {{ '结论'+(index+1) }}
              </template>
@@ -959,6 +959,7 @@
          inspectionItemClass:null,
        },
        thermalCyclingLoading:false,
        temDataAcquisition:false,
      }
    },
    computed: {
@@ -1121,80 +1122,63 @@
    methods: {
      // æ•°æ®é‡‡é›†
      getDataAcquisitionDevice(){
        this.dataAcquisitionLoading = true
        this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{
          this.dataAcquisitionLoading = false
          if(res.code!=200){
            return
        if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){
          // æ¸©åº¦å¾ªçŽ¯æ£€éªŒåŽŸå§‹è®°å½•----数采----PK8000
          let temperature = this.wareForm.inspectionItemSubclass;
          if(typeof temperature == 'string'&&temperature.includes('(常温)')){
            temperature = `20℃(常温)`
          }else{
            temperature = temperature + '℃'
          }
          this.dataAcquisitionInfo = res.data
          try {
            // å‘ Worker å‘送消息,开始处理逻辑
            this.worker0.postMessage(JSON.stringify({
              dataAcquisitionInfo: this.dataAcquisitionInfo,
              list:this.tableList[0].arr
            }));
          } catch (error) {
            console.log(1111,error);
          }
          // ç›‘听 Worker è¿”回的结果
          this.worker0.onmessage = (event) => {
            let result = JSON.parse(event.data);
            if(result.method=='changeInput'){
              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)
          this.dataAcquisitionLoading = true
          this.$axios.post(this.$api.deviceScope.temDataAcquisition,{
            entrustCode:this.insOrder.entrustCode,
            sampleCode:this.currentSample.sampleCode,
            model:this.wareForm0.model,
            cycles:this.wareForm.inspectionItem,
            temperature:temperature,
          }, {
          headers: {
            'Content-Type': 'application/json'
          },
          noQs:true
        }).then(res=>{
            this.dataAcquisitionLoading = false
            if(res.code!=200){
              return
            }
          };
          // let list = this.tableList[0].arr
          // list.forEach((item,index)=>{
          //   let num = 0;
          //   let str = ''
          //   item.forEach(m=>{
          //     if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){
          //       if(m.v.ps&&m.v.ps.value=='检验项'){
          //         if(num==0){
          //           str = m.v.v+','
          //           num++
          //         }
          //       }
          //       if(m.v.ps&&m.v.ps.value=='检验子项'){
          //         if(num==1){
          //           str = str+m.v.v
          //         }
          //       }
          //       if(this.dataAcquisitionInfo[str]){
          //         let num = 0;
          //         list[index].forEach(n=>{
          //           if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
          //             num++
          //           }
          //         })
          //         list[index].forEach((n,i)=>{
          //           if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
          //             let arr = n.v.ps.value.split('值')
          //             if(arr[1] ==this.dataAcquisitionInfo.frequency){
          //               setTimeout(()=>{
          //                 this.$delete(n.v,'v')
          //                 this.$set(n.v,'v',this.dataAcquisitionInfo[str])
          //                 this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
          //               },1000)
          //             }else if(Number(this.dataAcquisitionInfo.frequency)>num){
          //               if(n.v.ps.value.includes(num)){
          //                 setTimeout(()=>{
          //                   this.$delete(n.v,'v')
          //                   this.$set(n.v,'v',this.dataAcquisitionInfo[str])
          //                   this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
          //                 },1000)
          //               }
          //             }
          //           }
          //         })
          //       }
          //     }
          //   })
          // })
        })
            // console.log(res.data)
            this.wareFormChange()
          })
        }else{
          // ä¸€èˆ¬çš„æ•°æ®é‡‡é›†
          this.dataAcquisitionLoading = true
          this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{
            this.dataAcquisitionLoading = false
            if(res.code!=200){
              return
            }
            this.dataAcquisitionInfo = res.data
            try {
              // å‘ Worker å‘送消息,开始处理逻辑
              this.worker0.postMessage(JSON.stringify({
                dataAcquisitionInfo: this.dataAcquisitionInfo,
                list:this.tableList[0].arr
              }));
            } catch (error) {
              console.log(1111,error);
            }
            // ç›‘听 Worker è¿”回的结果
            this.worker0.onmessage = (event) => {
              let result = JSON.parse(event.data);
              if(result.method=='changeInput'){
                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)
              }
            };
          })
        }
      },
      // å¤šçº¿ç¨‹
      startWorker() {
@@ -1221,7 +1205,11 @@
      },
      // æ¸©åº¦å¾ªçޝ---开始
      changeItem(row){
        if(row.value0&&row.value1){
        if(row.value0&&!row.value1){
          this.$set(row,'comValue',Number(row.value0).toFixed(3))
        }else if(!row.value0&&row.value1){
          this.$set(row,'comValue',Number(row.value1).toFixed(3))
        }else if(row.value0&&row.value1){
          this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3))
        }else{
          return
@@ -1391,8 +1379,10 @@
          let arr1 = []
          this.wareLength = [];
          for(let i=0;i<arr.length;i++){
            arr1.push([])
            this.wareLength.push(arr[i][0].inspectionItemClass)
          }
          for(let i=0;i<arr[0].length;i++){
            arr1.push([])
          }
          arr.forEach((item,index)=>{
            item.forEach((m,i)=>{
@@ -1703,6 +1693,7 @@
        let fileDel = false
        let fileAdd = false
        let collected = false
        let temDataAcquisition = false
        for (var i = 0; i < power.length; i++) {
                    if (power[i].menuMethod == 'uploadFile') {
                        fileAdd = true
@@ -1713,12 +1704,16 @@
          if (power[i].menuMethod == 'isItAllowedToModifyTheCollectedValues') {
                        collected = true
                    }
          if (power[i].menuMethod == 'temDataAcquisition') {
                        temDataAcquisition = true
                    }
                }
        if (!fileDel) {
                    this.componentData0.do.splice(1, 1)
                }
        this.fileAdd = fileAdd
        this.collected = collected
        this.temDataAcquisition = temDataAcquisition
      },
      async getCurrentProduct(id,type){
        this.tableLoading = true;
@@ -2186,8 +2181,7 @@
          conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '结论')
          finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '最终值')
          a.template.forEach( b => {
            if (b.v.ps != undefined && b.v.ps.value === '序号' && (b.v.mc == undefined || Object.keys(b.v.mc)
                .length === 4)) {
            if (b.v.ps != undefined && b.v.ps.value === '序号' && (b.v.mc == undefined || Object.keys(b.v.mc).length === 4)) {
              count1++
              b.v.v = count1
            }
@@ -2195,12 +2189,14 @@
              b.v.v = this.getAsk(b.i)
            }
            if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('检验值')) {
              b.v.v = ''
              this.$set(b.v, 'v','' )
              // b.v.v = ''
              b.u = ''
              b.i && this.param[b.i].insValue.push(b)
            }
            if (b.v.ps != undefined && b.v.ps.value === '计算值') {
              b.v.v = ''
              this.$set(b.v, 'v','' )
              // b.v.v = ''
              b.i && this.param[b.i].comValue.push(b)
            }
            if (b.v.ps != undefined && b.v.ps.value === '设备编码') {
@@ -2570,11 +2566,16 @@
        return sum
      },
      handleInput (n) {
        n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
        n.v.v = n.v.v.replace(/\.{2,}/g,"."); //只保留第一个. æ¸…除多余的
        n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
        n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //只保留第一个/清除多余的
        n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/");
        try {
          n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
          n.v.v = n.v.v.replace(/\.{2,}/g,"."); //只保留第一个. æ¸…除多余的
          n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
          n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //只保留第一个/清除多余的
          n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/");
        } catch (error) {
          console.log(error);
        }
      },
      getInspectionItemType(id) {
        for (var a in this.currentSample.insProduct) {
@@ -2708,6 +2709,14 @@
          this.$message.error("请指定复核人员")
          return
        }
        if(!this.otherForm.humidity){
          this.$message.error("请输入湿度")
          return
        }
        if(!this.otherForm.temperature){
          this.$message.error("请输入温度")
          return
        }
        this.addVerifyDia = false
        this.submitLoading = true;
        this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, {
@@ -2801,7 +2810,9 @@
          if (this.equipOptions[i].value === val) {
            for (let i1 in this.param[n.i].equipName) {
              if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) {
                this.$delete(this.param[n.i].equipValue[i1].v,'v')
                this.$set(this.param[n.i].equipValue[i1].v,'v',val)
                this.$delete(this.param[n.i].equipName[i1].v,'v')
                this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label)
                this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice
              }
src/components/do/b1-sample/detail.vue
@@ -66,12 +66,12 @@
                </el-table-column>
                <el-table-column prop="inspectionItem" label="检验项" min-width="100"
                    show-overflow-tooltip></el-table-column>
                <el-table-column prop="inspectionItemSubclass" label="检验项分类" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="inspectionItemSubclass" label="检验项分类" min-width="100" show-overflow-tooltip v-if="PROJECT=='装备电缆'"></el-table-column>
                <el-table-column prop="laboratory" label="实验室" min-min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="unit" label="单位" min-width="100" show-overflow-tooltip></el-table-column>
                <el-table-column prop="equipName" label="设备" min-width="100" show-overflow-tooltip>
                <el-table-column prop="equipValue" label="设备" min-width="100" show-overflow-tooltip>
          <template slot-scope="scope">
            {{handleData(scope.row.equipName)}}
            {{handleData(scope.row.equipValue)}}
          </template>
        </el-table-column>
                <el-table-column prop="entrustCode" label="委托编号" min-width="100" show-overflow-tooltip></el-table-column>
@@ -135,9 +135,12 @@
      })
    },
    handleData(e){
      let info = JSON.parse(e).map(item => {
      let info = ''
      if(e){
        info = JSON.parse(e).map(item => {
        return item.v;
      }).join(',')
      }
      return info
    }
  }
src/components/do/b3-work-time-management/work-time-management.vue
@@ -679,11 +679,13 @@
      this.title = '审核'
      this.formData0 = row;
      this.checkVisible = true
      this.formData0.reviewerNumber = this.formData0.amount
    },
    handleRatify(row){
      this.title = '批准'
      this.formData0 = row;
      this.checkVisible = true
      this.formData0.reviewerNumber = this.formData0.amount
    },
    handleChangeTask (row) {
      this.ValueTable0Selected = JSON.parse(JSON.stringify(row))
src/components/tool/echart.vue
@@ -79,6 +79,9 @@
            case 'pie':
            iuCharts.drawPie(this.chart,this.datas)
              break;
            case 'gauge':
            iuCharts.drawGauge(this.chart,this.datas)
              break;
            default:
              break;
          }
src/components/view/a6-device.vue
@@ -1,19 +1,161 @@
<template>
  <div class="device-page">
    <div class="device-left">
      <el-input placeholder="输入设备名称" suffix-icon="el-icon-search" v-model="search" size="small"
      style="margin-bottom: 5px;" clearable></el-input>
      <el-input placeholder="输入设备名称" suffix-icon="el-icon-search" v-model="deviceName" size="small"
      @keyup.enter="geList"
      style="margin-bottom: 5px;" clearable @change="geList"></el-input>
      <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="id" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
        @node-collapse="nodeClose" v-loading="loading" :expand-on-click-node="false"
        :default-expanded-keys="expandedKeys"
        style="height:calc(100% - 46px);overflow-y: scroll;scrollbar-width: none;">
        <div class="custom-tree-node" slot-scope="{ node, data }">
          <el-row style="width: 100%;">
            <el-col :span="21" :title="data.label">
              <span class="single-line-ellipsis" style="width: 100%;display: inline-block;">
                <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
                {{ data.label }}
              </span>
            </el-col>
          </el-row>
        </div>
      </el-tree>
    </div>
    <div class="device-right"></div>
    <div class="device-right">
      <el-radio-group v-model="currentPage" size="small">
        <el-radio-button :label="item.id" v-for="(item,index) in tabList" :key="index"
          size="small">{{ item.title }}</el-radio-button>
      </el-radio-group>
      <div class="device-right-content">
        <component :is="currentPage"></component>
      </div>
    </div>
  </div>
</template>
<script>
import operationOverview from '../do/a6-device/operation-overview.vue';
import files from '../do/a6-device/files.vue';
import checkAndAccept from '../do/a6-device/check-and-accept.vue';
import calibration from '../do/a6-device/calibration.vue';
import check from '../do/a6-device/check.vue';
import maintenance from '../do/a6-device/maintenance.vue';
import borrow from "../do/a6-device/borrow.vue";
import fault from "../do/a6-device/fault.vue";
import record from '../do/a6-device/record.vue';
import state from '../do/a6-device/state.vue';
export default {
  components:{
    operationOverview,
    files,
    checkAndAccept,
    calibration,
    check,
    maintenance,
    borrow,
    fault,
    record,
    state,
  },
  data(){
    return {
      search:''
      deviceName:'',
      loading:false,
      tabList:[
        {
          id:'operationOverview',
          title:'设备运行总览',
        },
        {
          id:'files',
          title:'设备档案',
        },
        {
          id:'checkAndAccept',
          title:'设备验收',
        },
        {
          id:'calibration',
          title:'设备校准',
        },
        {
          id:'check',
          title:'设备核查',
        },
        {
          id:'maintenance',
          title:'设备维护',
        },
        {
          id:'borrow',
          title:'设备借用',
        },
        {
          id:'fault',
          title:'设备故障',
        },
        {
          id:'record',
          title:'使用记录',
        },
        {
          id:'state',
          title:'设备停用/启用',
        },
      ],
      currentPage:'operationOverview',
      expandedKeys:[],
      selectTree:'',
      list:[]
    }
  },
  mounted(){
    this.geList()
  },
  methods:{
    geList(){
      this.loading = true;
      this.$axios.get(this.$api.deviceScope.treeDevice+'?deviceName='+this.deviceName).then(res => {
        this.loading = false;
          let data = res.data
          data.forEach((item,index) => {
            item.id = index +1
            item.label = item.largeCategory
            item.children.forEach((m,i)=>{
              m.label = m.deviceName
            })
          })
          this.list = data
        })
    },
    handleNodeClick(val, node, el) { //树的值
      this.selectTree = ''
      this.getNodeParent(node)
      this.selectTree = this.selectTree.replace(' - ', '')
      let data = this.selectTree.split(' - ')
      let data2 = ''
      for (let index = data.length - 1; index >= 0; index--) {
        data2 += " - " + data[index]
      }
      this.selectTree = data2.replace(' - ', '')
      this.currentPage = 'operationOverview';
    },
    getNodeParent(val) {
      if (val.parent != null) {
        if(val.data.children === null){
          this.selectTree += ' - ' + val.label + ' - ' + 'null'
        }else{
          this.selectTree += ' - ' + val.label
        }
        this.getNodeParent(val.parent)
      }
    },
    nodeOpen(data, node, el) {
      $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
    },
    nodeClose(data, node, el) {
      $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
    },
  }
}
</script>
@@ -24,6 +166,7 @@
  padding-top: 10px;
  padding-bottom: 10px;
  box-sizing: border-box;
  width: 100%;
}
.device-left{
  width: 200px;
@@ -31,10 +174,29 @@
  background: #fff;
  margin-right: 10px;
  border-radius: 16px;
  box-sizing: border-box;
  padding: 10px 16px;
}
.device-right{
  background: #fff;
  flex: 1;
  border-radius: 16px;
  box-sizing: border-box;
  padding: 10px 16px;
}
.device-right-content{
  margin-top: 10px;
  height: calc(100% - 42px);
  width: 100%;
}
.custom-tree-node {
  width: 100%;
  /* line-height: 32px; */
  font-size: 14px;
}
.node_i {
  color: orange;
  font-size: 18px;
}
</style>
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.92.2:8001';
//云
// Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080";
src/util/echarts.js
@@ -265,6 +265,75 @@
      ]
    };
    chart.setOption(option);
  },
  drawGauge:function(chart,params){
    let option = {
      tooltip: {
          formatter: "{a} <br/>{b} : {c}%"
      },
      toolbox: {
          feature: {
              restore: {},
              saveAsImage: {}
          }
      },
      series: [
        {
          type: 'gauge',
          axisLine: {
            lineStyle: {
              width: 28,
              color: [
                [0.3, '#67e0e3'],
                [0.7, '#37a2da'],
                [1, '#fd666d']
              ]
            }
          },
          pointer: {
            itemStyle: {
              color: 'auto'
            }
          },
          axisTick: {
            distance: -28,
            length: 8,
            lineStyle: {
              color: '#fff',
              width: 2
            }
          },
          splitLine: {
            distance: -28,
            length: 28,
            lineStyle: {
              color: '#fff',
              width: 4
            }
          },
          axisLabel: {
            color: 'inherit',
            distance: 40,
            fontSize: 14
          },
          detail: {
            valueAnimation: true,
            formatter: '{value} %',
            color: 'inherit',
            textStyle: {
              fontSize: 30,
              align: 'center',
            },
          },
          data: [
            {
              value: 70
            }
          ]
        }
      ]
    };
    chart.setOption(option,true);
  }
}
static/js/worker.js
@@ -339,8 +339,13 @@
                  try{
                    if(comResult==0){
                      a[b].v.v = 0
                    }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){
                      let num = 0
                      let str = n.v.ct.fa.split('.')[1]
                      num = str.length
                      a[b].v.v = comResult?Number(comResult).toFixed(num):0
                    }else{
                      let val = parseFloat(comResult.toFixed(3))
                      let val = parseFloat(Number(comResult).toFixed(3))
                      a[b].v.v = isNaN(val) ? '' : val
                    }
                  }catch(error){
@@ -857,7 +862,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
@@ -42,7 +42,14 @@
              let arr = n.v.ps.value.split('值')
              if(arr[1] ==dataAcquisitionInfo.frequency){
                setTimeout(()=>{
                  n.v.v = dataAcquisitionInfo[str]
                  let num = 0
                  if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
                    let str = n.v.ct.fa.split('.')[1]
                    num = str.length
                    n.v.v = dataAcquisitionInfo[str]?dataAcquisitionInfo[str].toFixed(num):0
                  }else{
                    n.v.v = dataAcquisitionInfo[str]
                  }
                  result = {
                    method:'changeInput',
                    value:{
@@ -55,7 +62,14 @@
              }else if(Number(dataAcquisitionInfo.frequency)>num){
                if(n.v.ps.value.includes(num)){
                  setTimeout(()=>{
                    n.v.v = dataAcquisitionInfo[str]
                    let num = 0
                    if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){
                      let str = n.v.ct.fa.split('.')[1]
                      num = str.length
                      n.v.v = dataAcquisitionInfo[str]?Number(dataAcquisitionInfo[str]).toFixed(num):0
                    }else{
                      n.v.v = dataAcquisitionInfo[str]
                    }
                    result = {
                      method:'changeInput',
                      value:{
@@ -65,20 +79,6 @@
                    }
                    self.postMessage(JSON.stringify(result))
                  },2000)
                  // n.v.v = dataAcquisitionInfo[str]
                  // result = {
                  //   method:'changeInput',
                  //   value:{
                  //     list:list,
                  //     n:n
                  //   }
                  // }
                  // self.postMessage(JSON.stringify(result))
                  // setTimeout(()=>{
                  //   this.$delete(n.v,'v')
                  //   this.$set(n.v,'v',this.dataAcquisitionInfo[str])
                  //   this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
                  // },1000)
                }
              }
            }