| | |
| | | <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('温升试验'))"> |
| | |
| | | <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 |
| | |
| | | prop="value0" |
| | | label="外端" |
| | | align="center" |
| | | width="80" :key="(new Date())+'1'"> |
| | | width="100" :key="(new Date().getTime())+'1234567'"> |
| | | <template slot="header"> |
| | | {{ '外端'+(index+1) }} |
| | | </template> |
| | |
| | | prop="value1" |
| | | label="内端" |
| | | align="center" |
| | | width="80" :key="(new Date())+'2'"> |
| | | width="100" :key="(new Date().getTime())+'23333333'"> |
| | | <template slot="header"> |
| | | {{ '内端'+(index+1) }} |
| | | </template> |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | 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> |
| | |
| | | inspectionItemClass:null, |
| | | }, |
| | | thermalCyclingLoading:false, |
| | | temDataAcquisition:false, |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | 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() { |
| | |
| | | }, |
| | | // 温度循环---开始 |
| | | 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 |
| | |
| | | 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)=>{ |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | 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 |
| | | } |
| | |
| | | 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 === '设备编码') { |
| | |
| | | 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) { |
| | |
| | | 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, { |
| | |
| | | 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 |
| | | } |