licp
2024-09-06 bf48d316c05720a0da527c990c45f17e9e69ed6f
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -253,9 +253,6 @@
      <el-col :span="12" style="padding-left: 20px;text-align: left;" >检验单详情
      </el-col>
      <el-col :span="12" style="text-align: right;">
        <!-- <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;uploadSample()">样品切换</el-button>
        <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button>
        <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1"
@@ -275,7 +272,7 @@
        </el-form-item>
        <el-form-item label="样品编号:">
          <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode">
            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="请输入" ></el-input>
            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="请输入" tooltip></el-input>
          </el-tooltip>
        </el-form-item>
        <el-form-item label="样品名称:">
@@ -283,6 +280,9 @@
        </el-form-item>
        <el-form-item label="样品数量:">
          <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="请输入" ></el-input>
        </el-form-item>
        <el-form-item label="试验标准:">
          <span>{{ insOrder.testRequirements?insOrder.testRequirements:'-' }}</span>
        </el-form-item>
        <el-form-item label="下发时间:">
          <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="请输入"></el-input>
@@ -298,7 +298,6 @@
        </el-form-item>
        <el-form-item label="备注:">
          <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span>
          <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> -->
        </el-form-item>
      </el-form>
    </div>
@@ -309,6 +308,11 @@
          <el-radio-group v-model="currentTable" size="small">
            <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index"
              size="small">{{ item.templateName }}</el-radio-button>
          </el-radio-group>
          <span style="margin-left: 20px;margin-right: 10px;">模板版本:</span>
          <el-radio-group v-model="currentTableState" size="small">
            <el-radio-button label="0" size="small">版本一</el-radio-button>
            <el-radio-button label="1" size="small">版本二</el-radio-button>
          </el-radio-group>
        </div>
        <div style="display: flex;align-items: center;">
@@ -345,22 +349,12 @@
              <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'已检':'未检' }}</el-tag>
            </el-option>
          </el-select>
          <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='检测中心'">
            <el-form-item label="温度:" style="margin-bottom: 0;">
              <el-input v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @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 v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input>
              <span style="margin-left: 4px;">%</span>
            </el-form-item>
          </el-form>
          <el-button type="primary" size="small" v-if="(isGet||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="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='温度循环检验原始记录'))&&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('温升试验'))&&(tableLists.find(m=>m.templateId==currentTable).templateName!='弧垂特性检验原始记录')">
      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(!tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验'))">
        <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id">
          <tbody>
            <tr v-for="(m,i) in item.arr" :key="i">
@@ -803,6 +797,12 @@
          </table>
        </div>
      </div>
      <!-- 电路试验 -->
      <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')" style="width: 100%;overflow-x: auto;overflow-y: visible;">
        <!-- <Circuit></Circuit> -->
        <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state"></CircuitParameters1>
        <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state"></CircuitParameters2>
      </div>
      <el-upload :action="action"
      :data="{
        orderId:id
@@ -818,43 +818,6 @@
        :delUrl="$api.insOrderPlan.delfile"
        :key="upIndex" style="height: 100%;margin-top: 16px;"/>
    </div>
    <el-drawer title="光纤切换" :visible.sync="fiberOpticVisible" :size="500">
      <el-table class="el-table" ref="fiberOpticTable" :data="fiberOptic" height="100%" tooltip-effect="dark" border
        highlight-current-row @row-click="handleChangeOptic" :row-class-name="tableRowClassName"
        :current-row-key="currentKey2" :row-key="record=>record.index" v-if="fiberOpticVisible">
        <el-table-column type="index" align="center" label="序号" width="70px" :key="Math.random()">
        </el-table-column>
        <el-table-column prop="bushColor" label="管套色标" min-width="100px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="color" label="光纤色标" min-width="100px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="model" label="光纤规格" min-width="130px" show-overflow-tooltip
         ></el-table-column>
        <el-table-column prop="standard" label="参考标准" width="100px" show-overflow-tooltip></el-table-column>
      </el-table>
    </el-drawer>
    <el-drawer title="光纤带切换" :visible.sync="fiberOpticTapeVisible" :size="500">
      <el-table class="el-table" ref="fiberOpticTapeTable" :data="fiberOpticTape" height="100%" tooltip-effect="dark" border
        highlight-current-row @row-click="handleChangeTape" :row-class-name="tableRowClassName"
        :current-row-key="currentKey1" :row-key="record=>record.index" v-if="fiberOpticTapeVisible">
        <el-table-column type="index" align="center" label="序号" width="70px" :key="Math.random()">
        </el-table-column>
        <el-table-column prop="code" label="光纤带编号" min-width="110px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="model" label="光纤带规格" min-width="110px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="standard" label="参考标准" width="90px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="num" label="光纤检测量" min-width="110px" show-overflow-tooltip
          ></el-table-column>
      </el-table>
    </el-drawer>
    <el-drawer title="套管切换" :visible.sync="bushingVisible" :size="500">
      <el-table class="el-table" ref="bushingTable" :data="bushing" height="100%" tooltip-effect="dark" border
        highlight-current-row @row-click="handleChangeBushing" :row-class-name="tableRowClassName"
        :current-row-key="currentKey0" :row-key="record=>record.index" v-if="bushingVisible">
        <el-table-column type="index" align="center" label="序号" width="70px" :key="Math.random()">
        </el-table-column>
        <el-table-column prop="color" label="管色标" min-width="100px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="standNum" label="标量" min-width="100px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="testNum" label="测试量" min-width="100px" show-overflow-tooltip></el-table-column>
      </el-table>
    </el-drawer>
    <el-drawer title="样品切换" :visible.sync="sampleVisible" :size="500">
      <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border
        highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName"
@@ -955,15 +918,22 @@
<script>
  import ValueTable from '../../tool/value-table.vue'
  import Circuit from './circuit.vue'
  import file from '../../../util/file'
  import excelFunction from '../../../util/excelFountion'
  import CircuitParameters1 from './circuit-parameters1.vue'
  import CircuitParameters2 from './circuit-parameters2.vue'
  export default {
    props: ['sonLaboratory', 'orderId', 'state','inspectorList'],
    components: {
      ValueTable,
      Circuit,
      CircuitParameters1,
      CircuitParameters2
    },
    data() {
      return {
        currentTableState:0,
        sagData: [],
        sagForm: {
          sampleCode: null,
@@ -1088,9 +1058,6 @@
        verifyUser: null,
        personList: [],
        enumList: [],
        fiberOpticVisible:false,
        fiberOpticTapeVisible:false,
        bushingVisible:false,
        fiberOpticTape:[],//光纤带列表
        fiberOptic:[],//光纤列表
        bushing:[],//套管列表
@@ -1112,10 +1079,6 @@
        numOptions:[],
        temperatureOptions:[],
        wareTableData:[],
        otherForm:{
          humidity:null,
          temperature:null,
        },
        equipForm:{
          value0:null,
          code0:null,
@@ -1142,30 +1105,7 @@
        },
        thermalCyclingLoading:false,
        temDataAcquisition:false,
        getData:[
          {
            faName:'波长附加衰减',
            child:[
              {
                name:'1285nm~1330nm',
                arr:[12,13,14,15],
              },
              {
                name:'1525nm~1575nm',
                arr:[12,13,14,15],
              },
            ]
          },
          {
            faName:'截至波长',
            child:[
              {
                name:'截至波长',
                arr:[12,13,14,15],
              }
            ]
          }
        ],
        getData:[],
        getDataIndex:[],
        getDataIndexLoading:false,
        changeType:null,
@@ -1222,14 +1162,6 @@
          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)
@@ -2182,25 +2114,6 @@
        this.saveInsContext()
      },
      // 热循环---结束
      // 保存湿度、温度数据
      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'))
@@ -2243,63 +2156,6 @@
        let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory)
        this.tableLoading = false;
        return res.data
      },
      handleChangeBushing(row, column, event){
        this.currentBushing = row;
        this.fiberOpticTape = []
        this.currentFiberOpticTape = null;
        this.fiberOptic = []
        this.currentFiberOptic = null;
        if(row.fiber&&row.fiber.length>0){
          // 直接配置光纤
          this.fiberOptic = row.fiber;
        }else if(row.fibers&&row.fibers.length>0){
          // 配置光纤带后,再配置光纤
          this.fiberOpticTape = row.fibers;
        }
        this.bushingVisible = false;
        this.currentKey0 = row.index
      },
      async handleChangeOptic(row, column, event){
        this.currentFiberOptic = row;
        this.currentFiberOptic.productList.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          }
        })
        this.fiberOpticVisible = false;
        let list = await this.getCurrentProduct(row.id,2)
        this.getTableLists0(list)
        this.currentKey2 = row.index
      },
      async handleChangeTape(row, column, event){
        this.currentFiberOpticTape = row;
        this.param = {}
        this.fiberOptic = []
        this.currentFiberOptic = null;
        this.currentFiberOpticTape.productList.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          }
        })
        this.fiberOpticTapeVisible = false;
        let list = await this.getCurrentProduct(row.id,1)
        this.getTableLists0(list)
        if(row.fiber&&row.fiber.length>0){
          // 配置光纤
          this.fiberOptic = row.fiber;
        }
        this.currentKey1 = row.index
      },
      // 切换样品
      async handleChangeSample(row, column, event) {
@@ -3357,14 +3213,6 @@
          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, {
@@ -3649,7 +3497,6 @@
            insResult: null
          }
        })
        this.fiberOpticTapeVisible = false;
        let list = await this.getCurrentProduct(this.currentFiberOpticTape.id,1)
        this.getTableLists0(list)
        if(this.currentFiberOpticTape.fiber&&this.currentFiberOpticTape.fiber.length>0){
@@ -3742,6 +3589,10 @@
        }else{
          return v
        }
      },
      async getCurrentItem(){
        let list = await this.getCurrentProduct(this.currentSample.id,0)
        this.currentSample.insProduct = this.HaveJson(list)
      }
    }
  }