licp
2024-07-03 a0b1fdec2bc5ddad11e981936b80d0fdf1e4bc69
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -143,6 +143,10 @@
  >>>input[type=number] {
      -moz-appearance: textfield !important;  /* 针对 Firefox */
  }
  >>>.el-form-item__content{
    display: inline-flex;
    align-items: center;
  }
</style>
<style>
  .inspection .el-form-item__label {
@@ -272,6 +276,16 @@
            <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index"
              size="small">{{ item.color }}</el-radio-button>
          </el-radio-group>
          <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px">
            <el-form-item label="温度:" style="margin-bottom: 0;">
              <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'temperature')"></el-input>
              <span style="margin-left: 4px;">℃</span>
            </el-form-item>
            <el-form-item label="湿度:" style="margin-bottom: 0;">
              <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'humidity')"></el-input>
              <span style="margin-left: 4px;">%</span>
            </el-form-item>
          </el-form>
        </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!='温度循环检验原始记录'">
@@ -381,7 +395,140 @@
        </table>
      </div>
      <div class="center-box" v-loading="tableLoading" v-else>
        <h4>温度循环检验原始记录</h4>
        <!-- <el-divider></el-divider> -->
        <h4 style="margin-bottom: 20px;">温度循环检验原始记录</h4>
        <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px">
        <el-form-item label="型号:" style="margin-bottom: 0;">
          <el-input clearable v-model="wareForm.entrustCode" disabled size="small" placeholder=""></el-input>
        </el-form-item>
        <el-form-item label="试验方法:" style="margin-bottom: 0;">
          <el-input clearable v-model="wareForm.sampleCode" disabled size="small" placeholder=""></el-input>
        </el-form-item>
        <el-form-item label="检测依据:" style="margin-bottom: 0;">
          <el-input clearable v-model="wareForm.sample" disabled size="small" placeholder=""></el-input>
        </el-form-item>
        <el-form-item label="循环次数:" style="margin-bottom: 0;">
          <el-select v-model="wareForm.value" placeholder="请选择" size="small">
            <el-option
              v-for="item in numOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="温度:" style="margin-bottom: 0;">
          <el-select v-model="wareForm.value" placeholder="请选择" size="small">
            <el-option
              v-for="item in temperatureOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
          <span style="margin-left: 4px;">℃</span>
        </el-form-item>
        </el-form>
        <el-divider></el-divider>
        <el-form :inline="true" :model="wareForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
          <el-form-item label="仪器名称:">
            <el-select v-model="wareForm.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="仪器编号:">
            <el-select v-model="wareForm.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="仪器名称:" style="margin-left: 80px;">
            <el-select v-model="wareForm.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="仪器编号:">
            <el-select v-model="wareForm.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
        </el-form>
        <el-table
          :data="wareTableData"
          border
          style="width: 100%;margin-bottom: 30px;" align="center">
          <el-table-column
            label="序号"
            type="index"
            width="65"
            >
          </el-table-column>
          <el-table-column
            prop="date"
            label="管色标"
            width="150">
          </el-table-column>
          <el-table-column
            prop="name"
            label="光纤带编号"
            width="180">
          </el-table-column>
          <el-table-column
            prop="province"
            label="光纤色标"
            width="150">
          </el-table-column>
          <el-table-column
            prop="city"
            label="外端"
            width="150">
            <template slot-scope="scope">
              <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="address"
            label="内端"
            width="150">
            <template slot-scope="scope">
              <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="zip"
            label="平均值"
            min-width="150">
          </el-table-column>
          <el-table-column
            prop="zip"
            label="衰减差"
            min-width="150">
          </el-table-column>
          <el-table-column
            prop="zip"
            label="检测人"
            min-width="150">
          </el-table-column>
        </el-table>
      </div>
      <el-upload :action="action"
      :data="{
@@ -632,7 +779,17 @@
        temptList:null,
        fiber:[],
        fibers:[],
        currentTab:null
        currentTab:null,
        wareForm:{},
        numOptions:[],
        temperatureOptions:[],
        wareTableData:[
          {}
        ],
        otherForm:{
          humidity:null,
          temperature:null,
        }
      }
    },
    computed: {
@@ -679,8 +836,17 @@
          }
          this.sampleProduct = res.data.sampleProduct
          this.currentSample = this.HaveJson(this.sampleProduct[0])
          let insProduct = this.HaveJson(this.currentSample.insProduct)
          if(insProduct&&insProduct.length>0){
            let {temperature,humidity} = insProduct[0];
            this.otherForm = {
              temperature:temperature?temperature:null,
              humidity:humidity?humidity:null,
            }
          }
          let list = await this.getCurrentProduct(this.currentSample.id,0)
          this.currentSample.insProduct = this.HaveJson(list)
          console.log(this.currentSample)
          this.currentSample.insProduct.forEach(a => {
            this.param[a.id] = {
              insValue: [],
@@ -694,7 +860,6 @@
          this.getReportModel(this.currentSample.id)
          if (this.currentSample.index == undefined) this.currentSample['index'] = 1
          let bushing = this.currentSample.bushing
          // this.handleTableData()
          this.getTableLists();
          this.componentData.currentId = val;
          this.currentKey = 1;
@@ -725,6 +890,24 @@
      },
    },
    methods: {
      subOtherForm(m,type){
        let ids = []
        for (let i in this.param) {
          ids.push(i)
        }
        this.$axios.post(this.$api.insOrderPlan.write,{
          [type]:Number(m),
          ids
        }, {
          headers: {
            'Content-Type': 'application/json'
          },
          noQs:true
        }).then(res => {
          if (res.code == 201) return
          this.$message.success('保存成功')
        })
      },
      getPower(){
        let power = JSON.parse(sessionStorage.getItem('power'))
        let fileDel = false
@@ -833,7 +1016,7 @@
        if(bushing&&bushing.length>0){
          this.bushing = bushing
        }
        this.handleTableData()
        // this.handleTableData()
        this.getTableLists();
        this.currentKey = row.index
        this.currentTab = null;
@@ -1009,6 +1192,7 @@
            count++
          })
        })
        // 问题开始
        this.tableList.forEach(a => {
          let dels = new Set()
          let ids = []
@@ -1065,6 +1249,8 @@
              }
            }
          })
          console.log(5555,a.template)
          return
          ids.forEach(id => {
            for (let b = 0; b < a.template.length; b++) {
              if (a.template[b].r === id.r) {
@@ -1099,6 +1285,7 @@
            }
          })
        })
        // 问题结束
        this.tableList.forEach(a => {
          let arrs = []
          let set = new Set()
@@ -1209,7 +1396,6 @@
            this.param[a.id].insResult.v.v = a.insResult
          } catch (e) {}
        })
        console.log(this.tableList)
        this.handleExcelMethod()
      },
      changeInput(m, code) {
@@ -1257,10 +1443,8 @@
              try {
                if (this.currentSample.insProduct.find(m => m.id == item.i)) {
                let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
                console.log(comValue)
                let res = Object.values(comValue)[0]
                let comp = []
                console.log(res, ask)
                if(res==''||res==null||res==undefined||res=='Infinity'){
                  item.v.v = ''
                }else{
@@ -1274,10 +1458,8 @@
                          return  eval(res) == eval(str)
                        }
                      } else if (m.includes('≥')) {
                        console.log(res, eval(res <= m.split('≥')[1]))
                        return eval(res) >= eval(m.split('≥')[1])
                      }else if (m.includes('≤')) {
                        console.log(res,m.split('≤')[1])
                        return eval(res) <= eval(m.split('≤')[1])
                      }else if (m.includes('<')) {
                        return  eval(res) < eval(m.split('<')[1])
@@ -1291,7 +1473,6 @@
                        return  eval(res) >= eval(k[0]) && eval(res) <= eval(k[1])
                      }else if(m.includes('±')){
                        let k = m.split('±')
                        console.log(eval(res),eval((k[0] - k[1])),eval(res),eval((k[0] + k[1])))
                        return  eval(res) >= eval((k[0] - k[1])) && eval(res) <= eval((k[0] + k[1]))
                      }else if(m.includes('>')){
                        return  eval(res) > eval(m.split('>')[1])