| | |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | .thermal-table{ |
| | | min-width: calc(100% - 10px); |
| | | margin: 5px 5px 0; |
| | | table-layout: fixed; |
| | | } |
| | | .thermal-table td { |
| | | min-width: 70px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | padding: 5px; |
| | | } |
| | | .table-container { |
| | | overflow-x: auto; /* 使容器支持横向滚动 */ |
| | | max-width: 100%; /* 限制容器的最大宽度 */ |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | .content { |
| | | display: flex; |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .thermal-table .el-input{ |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | </style> |
| | | <template> |
| | | <div v-loading="loading" class="inspection"> |
| | |
| | | </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" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')"></el-input> |
| | | <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" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> |
| | | <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="dataAcquisitionEidt>0&&PROJECT=='检测中心'" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">数据采集</el-button> |
| | | <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='检测中心'" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button> |
| | | <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> |
| | | </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!='温度循环检验原始记录'"> |
| | | <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!='热循环检验原始记录')"> |
| | | <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> |
| | | <tbody> |
| | | <tr v-for="(m,i) in item.arr" :key="i"> |
| | |
| | | <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <!-- <el-button type="primary" icon="el-icon-document-copy" size="small" circle title="数采" v-if="n.isItADataAcquisitionDevice&&PROJECT=='检测中心'" @click="getDataAcquisitionDevice(n.v.v)"></el-button> --> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='要求值' && state==1"> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> |
| | |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <div v-loading="tableLoading" v-else> |
| | | <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='温度循环检验原始记录'"> |
| | | <el-divider></el-divider> |
| | | <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">温度循环检验原始记录</h4> |
| | | <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | |
| | | <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code0" placeholder="请选择" size="small"> |
| | | <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | |
| | | <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code1" placeholder="请选择" size="small"> |
| | | <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | |
| | | ref="wareTableData" |
| | | border |
| | | v-loading="wareTableDataLoading" |
| | | style="width: 100%;margin-bottom: 30px;" align="center"> |
| | | style="width: 100%;margin-bottom: 30px;" align="center" v-show="wareForm.inspectionItemSubclass!='20(常温)'&&wareForm.inspectionItemSubclass!='20'||(wareForm.inspectionItemSubclass=='20(常温)'&&wareForm.inspectionItem==1)||(wareForm.inspectionItemSubclass=='20'&&wareForm.inspectionItem==numOptions.length)"> |
| | | <el-table-column |
| | | label="序号" |
| | | type="index" |
| | |
| | | {{ '外端'+(index+1) }} |
| | | </template> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> |
| | | <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1" @change="m=>changeItem(scope.row.arr[index])"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | {{ '内端'+(index+1) }} |
| | | </template> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> |
| | | <el-input size="small" :disabled="state>1" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | </template> |
| | | </el-table> |
| | | </div> |
| | | <div v-loading="tableLoading" v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName=='热循环检验原始记录'"> |
| | | <el-divider></el-divider> |
| | | <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">热循环检验原始记录</h4> |
| | | <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="仪器名称:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="型号:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="thermalCyclingInfo.model" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="试验方法:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="thermalCyclingInfo.methodName" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="循环次数:" v-if="thermalCyclingInfo.inspectionItemClass=='直流电阻'"> |
| | | <el-input-number v-model="thermalCyclingInfo.inspectionItem" :min="1" :max="thermalCyclingInfo.max" label="" style="margin-top:4px;width: 190px;" size="small" @change="thermalCyclingChange"></el-input-number> |
| | | </el-form-item> |
| | | <el-button type="primary" size="small" style="margin-bottom: 22px;margin-left: 30px;" @click="handleAddThermal" v-if="state==1">新增</el-button> |
| | | <el-button size="small" style="margin-bottom: 22px;" @click="handleDeleteThermal" v-if="state==1">删除</el-button> |
| | | </el-form> |
| | | <div class="table-container" v-loading="thermalCyclingLoading"> |
| | | <table border="1" cellpadding="10" class="thermal-table"> |
| | | <tr> |
| | | <td>检验项目</td> |
| | | <td :colspan="thermalCyclingInfo.length">检验过程值</td> |
| | | <td style="width: 100px;">结论</td> |
| | | </tr> |
| | | <tr v-for="(item,index) in thermalCyclingInfo.arr"> |
| | | <td style="width: 100px;text-align: center;">{{ item.name }}</td> |
| | | <td v-for="(m,i) in thermalCyclingInfo.length" style="min-width: 150px;"> |
| | | <div style="display: flex;align-items: center;margin-bottom: 5px;"> |
| | | <label style="width: 100px;white-space: nowrap;font-size: 12px;">温度:</label> |
| | | <el-input clearable size="small" placeholder="" v-model="item.arr[i].value0" :disabled="state>1" @change="m=>saveThermalCycling(m,item,'value0')"></el-input> |
| | | <span style="font-size: 12px;margin-left: 13px;margin-right: 13px;"> ℃</span> |
| | | </div> |
| | | <div style="display: flex;align-items: center;" v-if="item.name!='环境温度'&&thermalCyclingInfo.inspectionItemClass=='直流电阻'"> |
| | | <label style="width: 100px;white-space: nowrap;font-size: 12px;">直流电阻:</label> |
| | | <el-input clearable size="small" :disabled="state>1" placeholder="" v-model="item.arr[i].value1" @change="saveThermalCycling"></el-input> |
| | | <span style="margin-left: 5px;font-size: 12px;"> Ω/km</span> |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <template v-if="item.name=='环境温度'||item.name=='导线温度'"> |
| | | <span>/</span> |
| | | </template> |
| | | <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>待定</span> |
| | | </template> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <el-upload :action="action" |
| | | :data="{ |
| | | orderId:id |
| | |
| | | accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" :on-change="beforeUpload" |
| | | style="width: 80px !important;" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button size="small" type="primary">附件上传</el-button></el-upload> |
| | | <el-button size="small" type="primary" v-if="state==1">附件上传</el-button></el-upload> |
| | | <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" |
| | | :componentData="componentData0" |
| | | :delUrl="$api.insOrderPlan.delfile" |
| | |
| | | dataAcquisitionInfo:{}, |
| | | dataAcquisitionEidt:0, |
| | | dataAcquisitionEidtAble:false, |
| | | dataAcquisitionLoading:false |
| | | dataAcquisitionLoading:false, |
| | | collected:false, |
| | | // 热循环---开始 |
| | | thermalCyclingInfo:{ |
| | | max:0, |
| | | inspectionItem:1, |
| | | arr:[], |
| | | length:1, |
| | | inspectionItemClass:null, |
| | | }, |
| | | thermalCyclingLoading:false, |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | equipForm:{ |
| | | deep:true, |
| | | handler(val){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'&&this.equipOptions&&this.equipOptions.length>0){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录')&&this.equipOptions&&this.equipOptions.length>0){ |
| | | this.param[this.currentSample.insProduct[0].id].equipValue = [] |
| | | this.param[this.currentSample.insProduct[0].id].equipName = [] |
| | | if(this.equipForm.code0){ |
| | |
| | | this.stopWorker(); |
| | | }, |
| | | methods: { |
| | | // 数据采集 |
| | | getDataAcquisitionDevice(){ |
| | | this.dataAcquisitionLoading = true |
| | | this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode).then(res=>{ |
| | | 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 |
| | | let list = this.currentSample.insProduct[0].arr |
| | | 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(this.dataAcquisitionInfo[m.v.m]){ |
| | | 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=>{ |
| | | list[index].forEach((n,i)=>{ |
| | | if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){ |
| | | if(n.v.ps.value.includes(this.dataAcquisitionInfo.frequency)){ |
| | | let arr = n.v.ps.value.split('值') |
| | | if(arr[1] ==this.dataAcquisitionInfo.frequency){ |
| | | setTimeout(()=>{ |
| | | n.v.v = this.dataAcquisitionInfo[m.v.m] |
| | | 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(this.dataAcquisitionInfo.frequency>num){ |
| | | }else if(Number(this.dataAcquisitionInfo.frequency)>num){ |
| | | if(n.v.ps.value.includes(num)){ |
| | | setTimeout(()=>{ |
| | | n.v.v = this.dataAcquisitionInfo[m.v.m] |
| | | 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) |
| | | },200) |
| | | },1000) |
| | | } |
| | | } |
| | | } |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | // 多线程 |
| | | startWorker() { |
| | | if (this.worker) { |
| | | this.stopWorker(); // 确保之前的 Worker 已停止 |
| | |
| | | this.worker = null; |
| | | } |
| | | }, |
| | | // 温度循环---开始 |
| | | changeItem(row){ |
| | | if(row.value0&&row.value1){ |
| | | this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3)) |
| | |
| | | if(this.PROJECT!='检测中心'||!this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='温度循环检验原始记录'){ |
| | | return |
| | | } |
| | | // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() |
| | | if(m&&type){ |
| | | this.wareForm[type] = m |
| | | } |
| | |
| | | } |
| | | arr2.push(obj) |
| | | }) |
| | | console.log(arr2) |
| | | this.wareTableData = arr2 |
| | | }) |
| | | this.getEquipOptions(true,this.currentSample.insProduct[0].id) |
| | | // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() |
| | | }, |
| | | // 温度循环---结束 |
| | | // 热循环---开始 |
| | | thermalCyclingChange(){ |
| | | this.thermalCyclingLoading = true |
| | | this.$axios.post(this.$api.insOrderPlan.temCycle,{ |
| | | sampleId:this.currentSample.id, |
| | | inspectionItem:this.thermalCyclingInfo.inspectionItem |
| | | }).then(res => { |
| | | this.thermalCyclingLoading = false |
| | | if (res.code == 201) return |
| | | let {productVos,sampleVo} = res.data |
| | | this.thermalCyclingInfo = {...this.thermalCyclingInfo,...sampleVo} |
| | | if(this.thermalCyclingInfo.inspectionItem>1){ |
| | | for(let i in this.param){ |
| | | if(this.param[i].inspectionItemSubclass){ |
| | | delete this.param[i] |
| | | } |
| | | } |
| | | } |
| | | if(productVos.length>0){ |
| | | this.thermalCyclingInfo.inspectionItemClass = productVos[0].insProduct.inspectionItemClass |
| | | productVos.forEach(item=>{ |
| | | this.param[item.insProduct.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: { |
| | | i:item.insProduct.id, |
| | | r:0, |
| | | c:0, |
| | | v:{ |
| | | v:null |
| | | } |
| | | }, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: { |
| | | i:item.insProduct.id, |
| | | v:{ |
| | | v:null |
| | | } |
| | | }, |
| | | inspectionItemSubclass: item.insProduct.inspectionItemSubclass, |
| | | } |
| | | let obj = {...item,...item.insProduct} |
| | | let insProductResult = obj.insProductResult |
| | | if(insProductResult){ |
| | | for(let i in insProductResult){ |
| | | switch (i) { |
| | | case 'insValue': |
| | | let insValue = JSON.parse(insProductResult[i]) |
| | | if(insValue&&insValue.length>0){ |
| | | this.thermalCyclingInfo.length = 0 |
| | | this.thermalCyclingInfo.arr.forEach(a=>{ |
| | | if(a.name==obj.inspectionItemSubclass){ |
| | | a.arr = [] |
| | | for(let i=0;i<insValue.length;i++){ |
| | | a.arr.push({ |
| | | value0:insValue[i].v, |
| | | value1:insValue[i].w, |
| | | }) |
| | | this.thermalCyclingInfo.length++ |
| | | } |
| | | a.insResult = obj.insResult |
| | | } |
| | | }) |
| | | this.param[obj.id].insValue = [] |
| | | insValue.forEach(m=>{ |
| | | this.param[obj.id].insValue.push({ |
| | | i:obj.id, |
| | | r:0, |
| | | c:0, |
| | | w:m.w, |
| | | v:{ |
| | | v:m.v |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | this.param[obj.id].insResult = { |
| | | i:obj.id, |
| | | v:{ |
| | | v:obj.insResult |
| | | } |
| | | } |
| | | }else{ |
| | | this.thermalCyclingInfo.arr.forEach(a=>{ |
| | | a.insResult = null |
| | | a.arr = [] |
| | | a.arr.push( |
| | | { |
| | | value0:'', |
| | | value1:'' |
| | | } |
| | | ) |
| | | }) |
| | | this.thermalCyclingInfo.length = 1 |
| | | } |
| | | }) |
| | | } |
| | | this.getEquipOptions(true,this.currentSample.insProduct[0].id) |
| | | }) |
| | | }, |
| | | handleAddThermal(){ |
| | | this.thermalCyclingInfo.length++ |
| | | this.thermalCyclingInfo.arr.forEach(item=>{ |
| | | item.arr.push({ |
| | | value0:'', |
| | | value1:'' |
| | | }) |
| | | }) |
| | | }, |
| | | handleDeleteThermal(){ |
| | | if(this.thermalCyclingInfo.length==1){ |
| | | this.$message.error('最后一条数据不能删除') |
| | | return |
| | | }else{ |
| | | this.thermalCyclingInfo.length-- |
| | | this.thermalCyclingInfo.arr.forEach(item=>{ |
| | | item.arr.pop() |
| | | }) |
| | | this.saveThermalCycling(true,{name:'导线温度'},true) |
| | | } |
| | | }, |
| | | saveThermalCycling(m,item,type){ |
| | | // 结果判断 |
| | | if(m&&item&&type){ |
| | | if(item.name=='导线温度'||item.name=='耐张温度'||item.name=='接续温度'){ |
| | | this.thermalCyclingInfo.arr.forEach(a=>{ |
| | | if(a.name=='耐张温度'){ |
| | | a.arr.forEach((b,i)=>{ |
| | | // 获取对应的导线温度 |
| | | let num0 = 0 |
| | | this.thermalCyclingInfo.arr.forEach(c=>{ |
| | | if(c.name=='导线温度'){ |
| | | num0 = c.arr[i].value0 |
| | | } |
| | | }) |
| | | if(!num0||!b.value0){ |
| | | b.state = null |
| | | }else if(Number(num0)>Number(b.value0)){ |
| | | b.state = 1 |
| | | }else{ |
| | | b.state = 0 |
| | | } |
| | | }) |
| | | let state = a.arr.filter(b=>b.state==null).length |
| | | let state0 = a.arr.filter(b=>b.state==0).length |
| | | let state1 = a.arr.filter(b=>b.state==1).length |
| | | if(state>0){ |
| | | a.insResult = null |
| | | }else if(state0>0){ |
| | | a.insResult = 0 |
| | | }else if(state1==a.arr.length){ |
| | | a.insResult = 1 |
| | | } |
| | | } |
| | | if(a.name=='接续温度'){ |
| | | a.arr.forEach((b,i)=>{ |
| | | // 获取对应的导线温度 |
| | | let num0 = 0 |
| | | this.thermalCyclingInfo.arr.forEach(c=>{ |
| | | if(c.name=='导线温度'){ |
| | | num0 = c.arr[i].value0 |
| | | } |
| | | }) |
| | | if(!num0||!b.value0){ |
| | | b.state = null |
| | | }else if(Number(num0)>Number(b.value0)){ |
| | | b.state = 1 |
| | | }else{ |
| | | b.state = 0 |
| | | } |
| | | }) |
| | | let state = a.arr.filter(b=>b.state==null).length |
| | | let state0 = a.arr.filter(b=>b.state==0).length |
| | | let state1 = a.arr.filter(b=>b.state==1).length |
| | | if(state>0){ |
| | | a.insResult = null |
| | | }else if(state0>0){ |
| | | a.insResult = 0 |
| | | }else if(state1==a.arr.length){ |
| | | a.insResult = 1 |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | // 赋值 |
| | | this.thermalCyclingInfo.arr.forEach(item=>{ |
| | | for (let i in this.param){ |
| | | if(this.param[i].inspectionItemSubclass==item.name){ |
| | | switch (item.name){ |
| | | case '环境温度': |
| | | this.param[i].insResult.v.v = 1 |
| | | this.param[i].insValue = [] |
| | | item.arr.forEach(insValue=>{ |
| | | this.param[i].insValue.push({ |
| | | i:i, |
| | | r:0, |
| | | c:0, |
| | | v:{ |
| | | v:insValue.value0 |
| | | } |
| | | }) |
| | | }) |
| | | break; |
| | | case '导线温度': |
| | | this.param[i].insResult.v.v = 1 |
| | | this.param[i].insValue = [] |
| | | item.arr.forEach(insValue=>{ |
| | | this.param[i].insValue.push({ |
| | | i:i, |
| | | r:0, |
| | | c:0, |
| | | w:insValue.value1, |
| | | v:{ |
| | | v:insValue.value0 |
| | | } |
| | | }) |
| | | }) |
| | | break; |
| | | case '耐张温度': |
| | | this.param[i].insValue = [] |
| | | item.arr.forEach(insValue=>{ |
| | | this.param[i].insValue.push({ |
| | | i:i, |
| | | r:0, |
| | | c:0, |
| | | w:insValue.value1, |
| | | v:{ |
| | | v:insValue.value0 |
| | | } |
| | | }) |
| | | }) |
| | | this.param[i].insResult.v.v = item.insResult |
| | | break; |
| | | case '接续温度': |
| | | this.param[i].insValue = [] |
| | | item.arr.forEach(insValue=>{ |
| | | this.param[i].insValue.push({ |
| | | i:i, |
| | | r:0, |
| | | c:0, |
| | | w:insValue.value1, |
| | | v:{ |
| | | v:insValue.value0 |
| | | } |
| | | }) |
| | | }) |
| | | this.param[i].insResult.v.v = item.insResult |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | // console.log(1111,this.param) |
| | | this.saveInsContext() |
| | | }, |
| | | // 热循环---结束 |
| | | subOtherForm(m,type){ |
| | | let ids = [] |
| | | for (let i in this.param) { |
| | |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let fileDel = false |
| | | let fileAdd = false |
| | | let collected = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'uploadFile') { |
| | | fileAdd = true |
| | |
| | | if (power[i].menuMethod == 'delfile') { |
| | | fileDel = true |
| | | } |
| | | if (power[i].menuMethod == 'isItAllowedToModifyTheCollectedValues') { |
| | | collected = true |
| | | } |
| | | } |
| | | if (!fileDel) { |
| | | this.componentData0.do.splice(1, 1) |
| | | } |
| | | this.fileAdd = fileAdd |
| | | this.collected = collected |
| | | }, |
| | | async getCurrentProduct(id,type){ |
| | | this.tableLoading = true; |
| | |
| | | this.excelMethodList = [] |
| | | this.widthList = this.tableList[0].style.columnlen; |
| | | // 温度循环检验原始记录--开始 |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='温度循环检验原始记录'){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){ |
| | | let ask = this.currentSample.insProduct[0].ask |
| | | let askList = ask.split(';') |
| | | this.numOptions = [] |
| | |
| | | this.wareFormChange() |
| | | } |
| | | // 温度循环检验原始记录---结束 |
| | | // 热循环检验原始记录---开始 |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录'){ |
| | | let ask = this.currentSample.insProduct[0].ask |
| | | let askList = ask.split(';') |
| | | this.thermalCyclingInfo.max = Number(askList[askList.length-1]) |
| | | let arr = [] |
| | | for (let i = 0; i < askList.length-1; i++) { |
| | | arr.push(askList[i].split(',')[0]) |
| | | } |
| | | arr = arr.map(item=>{ |
| | | let obj = {} |
| | | obj.name = item; |
| | | if(obj.insResult==null||obj.insResult==undefined){ |
| | | obj.arr = [ |
| | | { |
| | | value0:'', |
| | | value1:'', |
| | | } |
| | | ] |
| | | obj.insResult = null; |
| | | } |
| | | return obj |
| | | }) |
| | | this.thermalCyclingInfo.arr = arr; |
| | | // console.log(this.thermalCyclingInfo) |
| | | this.thermalCyclingChange() |
| | | } |
| | | // 热循环检验原始记录---结束 |
| | | this.tableList.forEach(a => { |
| | | let mcList = [] |
| | | a.template.forEach(b => { |
| | |
| | | if (size1 < size2) { |
| | | let str = '' |
| | | let count4 = 0 |
| | | let isThree = 0 |
| | | a.template.forEach(c => { |
| | | if (b.r === c.r) { |
| | | if (c.v.ps != undefined && c.v.ps.value === '检验项') { |
| | | if (count4 === 0) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | if(c.v.ps != undefined && c.v.ps.value === '检验项分类'&&count4 === 0){ |
| | | // 三级分类 |
| | | isThree = 1 |
| | | }else if(c.v.ps != undefined && c.v.ps.value === '检验项'&&count4 === 0){ |
| | | // 二级分类 |
| | | isThree = 0 |
| | | } |
| | | if(isThree==0){ |
| | | if (c.v.ps != undefined && c.v.ps.value === '检验项') { |
| | | if (count4 === 0) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } else if (c.v.ps != undefined && c.v.ps.value === '检验子项') { |
| | | if (count4 === 1) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } |
| | | } else if (c.v.ps != undefined && c.v.ps.value === '检验子项') { |
| | | if (count4 === 1) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | }else if (c.v.ps != undefined && c.v.ps.value === '检验子子项'&&this.PROJECT=='装备电缆') { |
| | | if (count4 === 2) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | }else if(isThree==1){ |
| | | if (c.v.ps != undefined && c.v.ps.value === '检验项分类') { |
| | | if (count4 === 0) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | }else if (c.v.ps != undefined && c.v.ps.value === '检验项') { |
| | | if (count4 === 1) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } else if (c.v.ps != undefined && c.v.ps.value === '检验子项') { |
| | | if (count4 === 2) { |
| | | str += c.v.v |
| | | count4 += 1 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | if (str != '') { |
| | | let count2 = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample |
| | | .insProduct[i].inspectionItem +(this.currentSample.insProduct[i].inspectionItemSubclass == null ? '' : this.currentSample.insProduct[i].inspectionItemSubclass)+(this.currentSample.insProduct[i].inspectionItemClass==null||this.PROJECT!='装备电缆'?'':this.currentSample.insProduct[i].inspectionItemClass) === |
| | | let inspectionItemClass = this.currentSample.insProduct[i].inspectionItemClass==null||this.currentSample.insProduct[i].inspectionItemClass==undefined?'':this.currentSample.insProduct[i].inspectionItemClass |
| | | let inspectionItem = this.currentSample |
| | | .insProduct[i].inspectionItem==null||this.currentSample |
| | | .insProduct[i].inspectionItem==undefined?'':this.currentSample |
| | | .insProduct[i].inspectionItem |
| | | let inspectionItemSubclass = this.currentSample |
| | | .insProduct[i].inspectionItemSubclass==null||this.currentSample |
| | | .insProduct[i].inspectionItemSubclass==undefined?'':this.currentSample |
| | | .insProduct[i].inspectionItemSubclass |
| | | if (this.currentSample.insProduct[i].templateId === a.templateId && inspectionItemClass +inspectionItem+inspectionItemSubclass === |
| | | str) { |
| | | ids.push({ |
| | | r: b.r, |
| | |
| | | } catch (e) {} |
| | | try { |
| | | let equipValue = JSON.parse(a.insProductResult.equipValue) |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录')){ |
| | | this.param[a.id].equipValue = [] |
| | | for (let i = 0; i < equipValue.length; i++) { |
| | | this.param[a.id].equipValue.push({ |
| | | v:{ |
| | | v:'' |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | for (let i = 0; i < equipValue.length; i++) { |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){ |
| | | // 温度循环赋值 |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录')){ |
| | | // 温度循环设备赋值 |
| | | this.$set(this.equipForm,`code`+i,equipValue[i].v) |
| | | this.param[a.id].equipValue[i].v.v = equipValue[i].v |
| | | }else{ |
| | | this.param[a.id].equipValue[i].v.v = equipValue[i].v |
| | | if(equipValue[i].v){ |
| | | let isItADataAcquisitionDevice = await this.determineWhetherToCollectData(equipValue[i].v) |
| | | this.param[a.id].equipValue[i].isItADataAcquisitionDevice = isItADataAcquisitionDevice |
| | | this.dataAcquisitionEidt = 0 |
| | | if(this.param){ |
| | | for (let key in this.param) { |
| | | this.param[key].equipValue.forEach(m=>{ |
| | | if(m.isItADataAcquisitionDevice){ |
| | | this.dataAcquisitionEidt++ |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | this.param[a.id].equipValue[i].isItADataAcquisitionDevice = false |
| | | } |
| | | this.dataAcquisitionEidt = 0 |
| | | if(this.param){ |
| | | for (let key in this.param) { |
| | | this.param[key].equipValue.forEach(m=>{ |
| | | if(m.isItADataAcquisitionDevice){ |
| | | this.dataAcquisitionEidt++ |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (e) {} |
| | | try { |
| | | let equipName = JSON.parse(a.insProductResult.equipName) |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录')){ |
| | | this.param[a.id].equipName = [] |
| | | for (let i = 0; i < equipName.length; i++) { |
| | | this.param[a.id].equipName.push({ |
| | | v:{ |
| | | v:'' |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | for (let i = 0; i < equipName.length; i++) { |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='热循环检验原始记录')){ |
| | | // 温度循环赋值 |
| | | this.$set(this.equipForm,`value`+i,equipName[i].v) |
| | | this.param[a.id].equipName[i].v.v = equipName[i].v |
| | | }else{ |
| | | this.param[a.id].equipName[i].v.v = equipName[i].v |
| | | } |
| | |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code, n) { |
| | | console.log(m, code) |
| | | if (n) { |
| | | // if (this.PROJECT === '装备电缆') { |
| | | // let num2 = new this.$Big(n.v.v) |
| | |
| | | switch (this.result.method){ |
| | | case 'saveInsContext': |
| | | this.$nextTick(()=>{ |
| | | this.tableList = this.result.value.tableList |
| | | // this.$delete(this.tableList[0],'arr') |
| | | this.$set(this.tableList[0],'arr',this.result.value.tableList[0].arr) |
| | | this.param = this.result.value.param |
| | | for (var i in this.param){ |
| | | if(this.param[i].insResult&&this.param[i].insResult.v&&this.param[i].insResult.v.v){ |
| | |
| | | } |
| | | } |
| | | } |
| | | // let obj = this.param[code.split('-')[3]] |
| | | // this.tableList[0].arr.forEach(item=>{ |
| | | // item.forEach(m=>{ |
| | | // if(obj&&obj.insResult&&m.c==obj.insResult.c&&m.r==obj.insResult.r){ |
| | | // m.v.v = obj.insResult.v.v |
| | | // } |
| | | // if(obj&&obj.resValue&&m.c==obj.resValue.c&&m.r==obj.resValue.r){ |
| | | // m.v.v = obj.resValue.v.v |
| | | // } |
| | | // }) |
| | | // }) |
| | | // console.log(this.tableList,this.param) |
| | | this.saveInsContext() |
| | | }) |
| | | break; |
| | | case 'tableList': |
| | | this.$nextTick(()=>{ |
| | | this.tableList = this.result.value |
| | | this.$delete(this.tableList[0],'arr') |
| | | this.$set(this.tableList[0],'arr',this.result.value[0].arr) |
| | | }) |
| | | break; |
| | | case 'getCurrentInsProduct': |
| | | this.getCurrentInsProduct(this.result.value) |
| | | break; |
| | | } |
| | | // if(this.result.method=='saveInsContext'){ |
| | | // this.stopWorker(); // 处理完成后停止 Worker |
| | | // } |
| | | }; |
| | | }, |
| | | async determineWhetherToCollectData(managementNumber){ |
| | |
| | | this.equipOptions = res.data.map(m => { |
| | | m.value = m.managementNumber |
| | | m.label = m.deviceName |
| | | m.isItADataAcquisitionDevice = m.isItADataAcquisitionDevice |
| | | return m |
| | | }) |
| | | } |
| | |
| | | this.$axios.post(this.$api.insOrderPlan.submitPlan, { |
| | | orderId: this.orderId, |
| | | laboratory: this.sonLaboratory, |
| | | verifyUser: this.verifyUser |
| | | verifyUser: this.verifyUser, |
| | | entrustCode: this.insOrder.entrustCode, |
| | | sampleCode: this.currentSample.sampleCode |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("操作成功") |
| | |
| | | return |
| | | }, |
| | | saveInsContext() { |
| | | console.log(1111,this.param) |
| | | // console.log(1111,this.param) |
| | | if(this.param){ |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | |
| | | }) |
| | | } |
| | | } |
| | | console.log(this.param) |
| | | this.saveInsContext() |
| | | }, |
| | | getAuthorizedPerson() { |