| | |
| | | <span style="margin-left: 4px;">%</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <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||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='温度循环检验原始记录'))&&PROJECT=='检测中心'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button> |
| | | <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('温升试验'))"> |
| | |
| | | <el-button type="primary" @click="submit()">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="数据采集-计算数据选择" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog"> |
| | | <el-dialog title="数据采集" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog"> |
| | | <div> |
| | | <table border="1" cellpadding="10" class="thermal-table"> |
| | | <tr> |
| | |
| | | <td>{{ item.child[0].name }}</td> |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="item.child[0].maxNum"> |
| | | v-model="item.child[0].value" :max="item.child[0].maxNum" @change="n=>handleChangeGetDia(n,item.child[0])"> |
| | | <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | |
| | | <td>{{ m.name }}</td> |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="m.maxNum"> |
| | | v-model="m.value" :max="m.maxNum" @change="n=>handleChangeGetDia(n,m)"> |
| | | <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'" >{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | |
| | | wareLength:[], |
| | | dataAcquisitionInfo:{}, |
| | | dataAcquisitionInfoNew:{}, |
| | | dataAcquisitionEidt:0, |
| | | dataAcquisitionEidtAble:false, |
| | | isGet:false, |
| | | dataAcquisitionLoading:false, |
| | | collected:false, |
| | | // 热循环---开始 |
| | |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.determineWhetherToCollectData() |
| | | this.getReportModel(this.currentSample.id) |
| | | if (this.currentSample.index == undefined) this.currentSample['index'] = 1 |
| | | let bushing = this.currentSample.bushing |
| | |
| | | } |
| | | } |
| | | }, |
| | | param:{ |
| | | deep:true, |
| | | handler(val){ |
| | | this.dataAcquisitionEidt = 0 |
| | | if(val){ |
| | | for (let key in val) { |
| | | val[key].equipValue.forEach(m=>{ |
| | | if(m.isItADataAcquisitionDevice){ |
| | | this.dataAcquisitionEidt++ |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | // 在组件销毁前确保停止 Worker,避免内存泄漏 |
| | |
| | | child:[] |
| | | } |
| | | for(let j in data[i]){ |
| | | if(j!='frequency'&&data[i][j]&&!data[i][j].isCalculation){ |
| | | if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){ |
| | | this.dataAcquisitionInfo[i+','+j] = { |
| | | value:data[i][j].result, |
| | | frequency:data[i].frequency |
| | | } |
| | | }else if(j!='frequency'&&data[i][j]&&data[i][j].isCalculation){ |
| | | }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ |
| | | let str0 = i+','+j |
| | | let list = this.tableList[0].arr |
| | | let maxNum = 0 |
| | |
| | | if(str0==str){ |
| | | maxNum = num |
| | | } |
| | | if(data[i][j].equipName&&data[i][j].equipValue){ |
| | | if(!m.v.v){ |
| | | this.changeEquip(data[i][j].equipValue,m) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | console.log(44444444444,maxNum) |
| | | let obj0 = { |
| | | name:j, |
| | | arr:data[i][j].result, |
| | | maxNum:maxNum |
| | | maxNum:maxNum, |
| | | value:[] |
| | | } |
| | | obj.child.push(obj0) |
| | | if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){ |
| | | obj.child.push(obj0) |
| | | }else{ |
| | | this.dataAcquisitionInfo[i+','+j] = { |
| | | value:data[i][j].result |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(obj.child.length>0){ |
| | |
| | | if(this.getData.length>0){ |
| | | this.dataGetDia = true |
| | | }else{ |
| | | console.log(555555555555) |
| | | try { |
| | | // 向 Worker 发送消息,开始处理逻辑 |
| | | this.worker0.postMessage(JSON.stringify({ |
| | |
| | | } |
| | | }; |
| | | }, |
| | | beforeDataGetDia(done){ |
| | | this.$confirm('是否取消数据采集?', "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | if(done){ |
| | | done() |
| | | }else{ |
| | | this.dataGetDia = false |
| | | this.getDataIndex = [] |
| | | } |
| | | }).catch(() => {}) |
| | | }, |
| | | submitDataGet(){ |
| | | if(this.getDataIndex.length==0){ |
| | | this.$message.error('请选择需要计算的数据') |
| | | return |
| | | } |
| | | this.getDataIndex.sort((a, b) => a - b); |
| | | for (let i in this.dataAcquisitionInfoNew){ |
| | | for(let j in this.dataAcquisitionInfoNew[i]){ |
| | | if(j!='frequency'&&this.dataAcquisitionInfoNew[i]&&this.dataAcquisitionInfoNew[i][j]&&this.dataAcquisitionInfoNew[i][j].isCalculation){ |
| | | let arr = [] |
| | | for(let k = 0;k<this.dataAcquisitionInfoNew[i][j].result.length;k++){ |
| | | if(this.getDataIndex.includes(k)){ |
| | | arr.push(this.dataAcquisitionInfoNew[i][j].result[k]) |
| | | } |
| | | } |
| | | if(arr.length>0){ |
| | | this.dataAcquisitionInfoNew[i][j].result = arr |
| | | } |
| | | } |
| | | // this.getDataIndex.sort((a, b) => a - b); |
| | | // for (let i in this.dataAcquisitionInfoNew){ |
| | | // for(let j in this.dataAcquisitionInfoNew[i]){ |
| | | // if(j!='frequency'&&this.dataAcquisitionInfoNew[i]&&this.dataAcquisitionInfoNew[i][j]&&this.dataAcquisitionInfoNew[i][j].isCalculation){ |
| | | // let arr = [] |
| | | // for(let k = 0;k<this.dataAcquisitionInfoNew[i][j].result.length;k++){ |
| | | // if(this.getDataIndex.includes(k)){ |
| | | // arr.push(this.dataAcquisitionInfoNew[i][j].result[k]) |
| | | // } |
| | | // } |
| | | // if(arr.length>0){ |
| | | // this.dataAcquisitionInfoNew[i][j].result = arr |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // this.getDataIndexLoading = true; |
| | | // this.$axios.post(this.$api.deviceScope.formulaCalculation,{ |
| | | // ...this.dataAcquisitionInfoNew |
| | | // }, { |
| | | // headers: { |
| | | // 'Content-Type': 'application/json' |
| | | // }, |
| | | // noQs:true |
| | | // }).then(res=>{ |
| | | // this.getDataIndexLoading = false; |
| | | // if(res.code!=200){ |
| | | // return |
| | | // } |
| | | // this.dataGetDia = false |
| | | // this.handleDataAcquisition(res.data) |
| | | // this.getDataIndex = [] |
| | | // }) |
| | | }, |
| | | handleChangeGetDia(n,m){ |
| | | console.log(22222,n,m); |
| | | for (let i in this.getData){ |
| | | for(let j in this.getData[i].child){ |
| | | let len = this.getData[i].child[j].arr.length |
| | | let value = this.getData[i].child[j].value |
| | | let maxNum = this.getData[i].child[j].maxNum |
| | | if(len){} |
| | | // if(){} |
| | | } |
| | | } |
| | | this.getDataIndexLoading = true; |
| | | this.$axios.post(this.$api.deviceScope.formulaCalculation,{ |
| | | ...this.dataAcquisitionInfoNew |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true |
| | | }).then(res=>{ |
| | | this.getDataIndexLoading = false; |
| | | if(res.code!=200){ |
| | | return |
| | | } |
| | | this.dataGetDia = false |
| | | this.handleDataAcquisition(res.data) |
| | | this.getDataIndex = [] |
| | | }) |
| | | }, |
| | | // 多线程 |
| | | startWorker() { |
| | | if (this.worker) { |
| | | this.stopWorker(); // 确保之前的 Worker 已停止 |
| | | this.stopWorker(); // 确保之前的 Worker 已停止 |
| | | } |
| | | // 创建 Worker 实例 |
| | | this.worker = new Worker('/static/js/worker.js'); |
| | | if (this.worker0) { |
| | | this.stopWorker(); // 确保之前的 Worker 已停止 |
| | | this.stopWorker(); // 确保之前的 Worker 已停止 |
| | | } |
| | | // 创建 Worker 实例 |
| | | this.worker0 = new Worker('/static/js/worker0.js'); |
| | |
| | | b.i && this.param[b.i].comValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设备编码') { |
| | | b.v.v = '' |
| | | // b.v.v = '' |
| | | this.$set(b.v, 'v', '' ) |
| | | b.i && this.param[b.i].equipValue.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].equipName.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '最终值') { |
| | | b.v.v = '' |
| | | // b.v.v = '' |
| | | this.$set(b.v, 'v', '' ) |
| | | /* if (b.i === undefined) { |
| | | for (var c in this.param) { |
| | | this.param[c].resValue = b |
| | |
| | | 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 |
| | | |
| | | }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) {} |
| | |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code, n) { |
| | | let str = code.split('-') |
| | | let pId = str[3] |
| | | if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){ |
| | | let inspectionItem = '' |
| | | let idS = [] |
| | | let child = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if(this.currentSample.insProduct[i].id==pId){ |
| | | inspectionItem = this.currentSample.insProduct[i].inspectionItem |
| | | } |
| | | } |
| | | for (let i in this.currentSample.insProduct) { |
| | | if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){ |
| | | idS.push(this.currentSample.insProduct[i].id) |
| | | } |
| | | } |
| | | for (let i = 0;i<idS.length;i++) { |
| | | if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){ |
| | | child++ |
| | | } |
| | | } |
| | | if(child==0){ |
| | | n.v.v = null |
| | | this.$message.error('请先填写设备信息') |
| | | return |
| | | } |
| | | } |
| | | if (n) { |
| | | // if (this.PROJECT === '装备电缆') { |
| | | // let num2 = new this.$Big(n.v.v) |
| | |
| | | } |
| | | }; |
| | | }, |
| | | async determineWhetherToCollectData(managementNumber){ |
| | | let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+'?managementNumber='+managementNumber) |
| | | return res.data |
| | | async determineWhetherToCollectData(){ |
| | | let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''") |
| | | this.isGet = res.data |
| | | }, |
| | | handleFraction(str){ |
| | | if(str&&typeof(str)=='string'&&str.includes('/')){ |
| | |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | this.dataAcquisitionEidt = 0 |
| | | if(this.param){ |
| | | for (let key in this.param) { |
| | | this.param[key].equipValue.forEach(m=>{ |
| | | if(m.isItADataAcquisitionDevice){ |
| | | this.dataAcquisitionEidt++ |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | // console.log(this.param) |
| | | this.saveInsContext() |
| | | }, |
| | | getAuthorizedPerson() { |