| | |
| | | <!-- <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">样品切换</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="addVerifyDia = true" v-if="state==1" |
| | | :loading="submitLoading">提交</el-button> |
| | |
| | | <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" |
| | | :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')" |
| | | @input="handleInput(n)" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" |
| | | @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)"> |
| | | <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" |
| | | v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> --> |
| | |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" |
| | | v-model="n.v.v" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" /> |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,'getDataType')" /> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" |
| | | :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"> |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,'getDataType')"> |
| | | <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> |
| | | </el-select> |
| | | <span :style="`font-family:${n.v.ff} !important;`" |
| | |
| | | <template v-if="PROJECT=='检测中心'||PROJECT=='装备电缆'&&getInspectionValueType(n.i) != 2 "> |
| | | <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span> |
| | | <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span> |
| | | <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span> |
| | | </template> |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.arr[index].insResult===1" style="color: green;">合格</span> |
| | | <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">不合格</span> |
| | | <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">不判定</span> |
| | | <span v-else>待定</span> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <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-if="item.insResult===3" style="color: #3A7BFA;">不判定</span> |
| | | <span v-else>待定</span> |
| | | </template> |
| | | </td> |
| | |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="item.child[0].maxNum"> |
| | | <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox> |
| | | <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="m.maxNum"> |
| | | <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox> |
| | | <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | | </tr> |
| | |
| | | } |
| | | ], |
| | | getDataIndex:[], |
| | | getDataIndexLoading:false |
| | | getDataIndexLoading:false, |
| | | changeType:null, |
| | | getDataTypeId:'', |
| | | getDataType:null |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | // console.log(this.currentSample) |
| | | this.param = {} |
| | | this.changeType = 0; |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | if(this.handleCasing(a.inspectionItem)){ |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | } |
| | | }) |
| | | this.determineWhetherToCollectData() |
| | |
| | | }) |
| | | }, |
| | | currentTable(val1, val0) { |
| | | if(val0 !=null && val1 != val0){ |
| | | if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){ |
| | | if(this.casing.length>0){ |
| | | this.handleChange(this.casing[0].id,3) |
| | | if (val0 != null && val1 != val0) { |
| | | if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){ |
| | | if(this.casing.length>0){ |
| | | this.handleChange(this.casing[0].id,3) |
| | | } |
| | | return |
| | | } |
| | | return |
| | | } |
| | | if(this.changeType && this.changeType>0){ |
| | | return |
| | | } |
| | | if(this.changeType&&this.changeType>0){ |
| | | return |
| | | } |
| | | this.tableLists.forEach(async (m, i) => { |
| | | if (m.templateId == val1) { |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | // console.log(this.currentSample) |
| | | this.param = {} |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | if(this.handleCasing(a.inspectionItem)){ |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | } |
| | | }) |
| | | this.getReportModel(this.currentSample.id) |
| | |
| | | } |
| | | } |
| | | }) |
| | | this.handleCasing() |
| | | } |
| | | }, |
| | | equipForm:{ |
| | |
| | | } |
| | | }, |
| | | handleDataAcquisition(data){ |
| | | if(this.dataAcquisitionEidtAble){ |
| | | this.getDataType = 1; |
| | | }else{ |
| | | this.getDataType = 2; |
| | | } |
| | | this.dataAcquisitionInfo = {} |
| | | this.getData = [] |
| | | for (let i in data){ |
| | |
| | | child:[] |
| | | } |
| | | for(let j in data[i]){ |
| | | let str0 = '' |
| | | if(i==j){ |
| | | str0 = i+',' |
| | | }else{ |
| | | str0 = i+','+j |
| | | } |
| | | if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){ |
| | | this.dataAcquisitionInfo[i+','+j] = { |
| | | this.dataAcquisitionInfo[str0] = { |
| | | value:data[i][j].result, |
| | | frequency:data[i].frequency |
| | | } |
| | |
| | | list.forEach((item,index)=>{ |
| | | let num0 = 0; |
| | | let str = '' |
| | | let str0 = i+','+j |
| | | item.forEach(m=>{ |
| | | if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){ |
| | | if(m.v.ps&&m.v.ps.value=='检验项'){ |
| | |
| | | }) |
| | | }) |
| | | }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ |
| | | let str0 = i+','+j |
| | | let str0 = '' |
| | | if(i==j){ |
| | | str0 = i+',' |
| | | }else{ |
| | | str0 = i+','+j |
| | | } |
| | | let list = this.tableList[0].arr |
| | | let maxNum = 0 |
| | | list.forEach((item,index)=>{ |
| | |
| | | } |
| | | }) |
| | | }) |
| | | // let arr3 = [] |
| | | // for (let l=0 ;i<data[i][j].result.length;i++){ |
| | | // arr3.push({ |
| | | // id:, |
| | | // value: |
| | | // }) |
| | | // } |
| | | let obj0 = { |
| | | name:j, |
| | | arr:data[i][j].result, |
| | |
| | | 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] = { |
| | | this.dataAcquisitionInfo[str0] = { |
| | | value:data[i][j].result |
| | | } |
| | | } |
| | |
| | | } |
| | | if(this.getData.length>0){ |
| | | this.dataGetDia = true |
| | | this.getDataIndex = [] |
| | | }else{ |
| | | try { |
| | | // 向 Worker 发送消息,开始处理逻辑 |
| | | this.getDataIndexLoading = false |
| | | this.dataGetDia = false |
| | | this.getDataTypeId = '' |
| | | this.worker0.postMessage(JSON.stringify({ |
| | | dataAcquisitionInfo: this.dataAcquisitionInfo, |
| | | list:this.tableList[0].arr |
| | |
| | | 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) |
| | | }else if(result.getDataTypeId){ |
| | | this.getDataTypeId = result.getDataTypeId |
| | | } |
| | | }; |
| | | }, |
| | |
| | | this.collected = collected |
| | | this.temDataAcquisition = temDataAcquisition |
| | | }, |
| | | uploadSample(){ |
| | | this.$axios.post(this.$api.insOrderPlan.doInsOrder, { |
| | | id: this.id, |
| | | laboratory: this.sonLaboratory |
| | | }).then(async res => { |
| | | this.sampleProduct = res.data.sampleProduct |
| | | }) |
| | | }, |
| | | async getCurrentProduct(id,type){ |
| | | this.tableLoading = true; |
| | | let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory) |
| | |
| | | this.currentSample = this.HaveJson(row) |
| | | let list = await this.getCurrentProduct(row.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | this.handleCasing() |
| | | this.param = {} |
| | | this.changeType = 0; |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | if(this.handleCasing(a.inspectionItem)){ |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | } |
| | | }) |
| | | this.getReportModel(row.id) |
| | |
| | | currentTable:this.currentTable |
| | | })); |
| | | }, |
| | | handleCasing(){ |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='成品缆检验原始记录')){ |
| | | this.currentSample.insProduct = this.currentSample.insProduct.filter(m=>!m.inspectionItem.includes('松套管')) |
| | | handleCasing(inspectionItem){ |
| | | if(this.changeType!=3){ |
| | | if(inspectionItem.includes('松套管')){ |
| | | return false |
| | | }else{ |
| | | return true |
| | | } |
| | | }else{ |
| | | return true |
| | | } |
| | | }, |
| | | getReportModel(id){ |
| | |
| | | }) |
| | | }, |
| | | async handleChange(m,type){ |
| | | this.changeType = type; |
| | | this.changeType = type |
| | | if(m){ |
| | | let list = await this.getCurrentProduct(m,type) |
| | | if(list.length>0){ |
| | | this.param = {} |
| | | list.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | |
| | | }) |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code, n) { |
| | | changeInput(m, code, n,getDataType) { |
| | | if(getDataType=='getDataType'){ |
| | | this.getDataType = 2; |
| | | } |
| | | // 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){ |
| | |
| | | // return |
| | | // } |
| | | // } |
| | | let str = code.split('-') |
| | | let pId = str[3] |
| | | for(let i =0;i<this.currentSample.insProduct.length;i++){ |
| | | if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/'||this.currentSample.insProduct[i].ask=='—')){ |
| | | this.tableList[0].arr.forEach(item=>{ |
| | | item.forEach(m=>{ |
| | | if(m.i==pId&&m.v.ps&&m.v.ps.value=='结论'){ |
| | | this.$set(m.v,'v',3) |
| | | } |
| | | }) |
| | | }) |
| | | if(this.param[pId].insResult&&this.param[pId].insResult.v){ |
| | | this.param[pId].insResult.v.v = 3 |
| | | } |
| | | this.saveInsContext() |
| | | return |
| | | } |
| | | } |
| | | // this.currentTable. |
| | | // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){} |
| | | if (n) { |
| | | // if (this.PROJECT === '装备电缆') { |
| | | // let num2 = new this.$Big(n.v.v) |
| | |
| | | currentSample:this.currentSample, |
| | | PROJECT:this.PROJECT, |
| | | param:this.param, |
| | | currentTable:this.currentTable |
| | | currentTable:this.currentTable, |
| | | getDataTypeId:this.getDataTypeId |
| | | })); |
| | | } catch (error) { |
| | | console.log(444,error); |
| | |
| | | } |
| | | } |
| | | } |
| | | this.saveInsContext() |
| | | console.log(99999,this.result.value.getDataTypeId) |
| | | if(this.isGet&&!this.dataAcquisitionEidtAble){ |
| | | if(this.result.value.getDataTypeId==''){ |
| | | return |
| | | } |
| | | setTimeout(()=>{ |
| | | this.saveInsContext() |
| | | },2000) |
| | | }else if(this.isGet&&this.dataAcquisitionEidtAble){ |
| | | if(this.getDataType==1){ |
| | | if(this.result.value.getDataTypeId==''){ |
| | | return |
| | | } |
| | | setTimeout(()=>{ |
| | | this.saveInsContext() |
| | | },2000) |
| | | }else{ |
| | | this.saveInsContext() |
| | | } |
| | | }else{ |
| | | this.saveInsContext() |
| | | } |
| | | }) |
| | | break; |
| | | case 'tableList': |
| | |
| | | return |
| | | }, |
| | | saveInsContext() { |
| | | console.log(1111,this.param) |
| | | try { |
| | | console.log(1111,this.param) |
| | | if(this.param){ |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | |
| | | this.currentSample = this.HaveJson(this.sampleProduct[index - 1]) |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | this.handleCasing() |
| | | this.param = {} |
| | | this.changeType = 0; |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | if(this.handleCasing(a.inspectionItem)){ |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | } |
| | | }) |
| | | this.getTableLists() |