Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before
| | |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine == 0" :active="active" /> |
| | | <fiberOpticConfigTwo :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine == 1" :active="active" /> |
| | | <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" /> |
| | | <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" /> |
| | | <cableConfig v-if="cableConfigShow" :active="active" /> |
| | | <!-- 单选特殊值处理框--> |
| | |
| | | return |
| | | } |
| | | } |
| | | console.log('isHaveBushing===', this.totalArr) |
| | | // inspectionItem |
| | | let spcialItem = null//this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管')) |
| | | // console.log('isHaveBushing===', isHaveBushing) |
| | | |
| | | // console.log('isHaveBushing===', this.totalArr) |
| | | let spcialItem = this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管')) |
| | | if (productListSelected && select[2] === '光缆' && isHaveBushing === false) { |
| | | this.$message.error('光缆温度循环项目必须进行光纤配置') |
| | | this.$refs.sampleTable.setCurrentRow(this.currentMethod, true) |
| | |
| | | this.totalArr = [] |
| | | this.total = 0; |
| | | this.sampleList.forEach(item => { |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | item.insProduct.forEach(a => { |
| | | this.totalArr.push(a) |
| | | }) |
| | |
| | | </div> |
| | | <div class="search-item" style="margin-right: 10px;"> |
| | | <label style="width: 100px">每根管抽检标准量</label> |
| | | <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:100px"></el-input> |
| | | <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:70px"></el-input> |
| | | </div> |
| | | <div class="search-item"> |
| | | <label style="width: 100px">每根管抽检检测量</label> |
| | | <el-input v-model="packageInfo.testNum" placeholder="请输入" size="small" @blur="addTestNum" |
| | | style="width:100px" |
| | | style="width:70px" |
| | | :disabled="packageInfo.radio===0||active!=1"></el-input> |
| | | </div> |
| | | </div> |
| | |
| | | <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" show-overflow-tooltip width="150"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | this.fiberList.push(b) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | this.fiberList = [] |
| | | a.fiber.forEach(b=>{ |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | this.getTypeDicts1() |
| | | this.getStandTreeBySampleType() |
| | | this.getStandTreeBySampleType2() |
| | |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | |
| | | } |
| | | if(this.detectionItems.type == 0) { |
| | | // 赋值检测项信息 光纤 |
| | |
| | | this.fiberList = [] |
| | | this.fibersList = [] |
| | | this.detectionItems = [] |
| | | |
| | | |
| | | // 页面是否含有光纤带 |
| | | if(this.packageInfo.ismiers) { |
| | | // 全检 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | upNum() { |
| | | this.fiberList = [] |
| | |
| | | } |
| | | a.fibers.push(fibers) |
| | | this.fibersList.push(fibers) |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | this.bushing = [] |
| | |
| | | // this.addFiber() |
| | | // }, 200) |
| | | // }) |
| | | |
| | | |
| | | // 将下拉框值赋值给光纤 监听去除 |
| | | if(this.selectFiberList.length == 0) { |
| | | this.$message.error('请选择数据') |
| | |
| | | this.detectionType = 0 |
| | | this.$set(this.detectionItems,'type',0) |
| | | } |
| | | |
| | | |
| | | }) |
| | | }, |
| | | methodChange2(val) { |
| | |
| | | fibersIdent: a.ident, |
| | | productList: [] |
| | | } |
| | | this.fiberList.push(fiber) |
| | | this.fiberList.push(fiber) |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | }) |
| | | } |
| | | }else { |
| | | this.fiberList = [] |
| | | this.fiberList = [] |
| | | let flag = true |
| | | // 按照顺序生成光纤色标 |
| | | let colors2 = [] |
| | |
| | | // this.$message.error('未选择套管') |
| | | // return |
| | | // } |
| | | // this.fiberList = [] |
| | | // this.fiberList = [] |
| | | // let flag = true |
| | | // // 按照顺序生成光纤色标 |
| | | // let colors2 = [] |
| | |
| | | }else if (type == 0){ |
| | | this.detectionItems = [] |
| | | this.detectionItems = row.productList |
| | | } |
| | | } |
| | | // if(type == 1) { |
| | | // if((row.model == null || row.model == '') && (row.standard == null || row.standard == '')){ |
| | | // this.detectionItems = [] |
| | |
| | | // let product = JSON.parse(JSON.stringify(row.productList)) |
| | | // setTimeout(() => { |
| | | // product.forEach(p => { |
| | | // let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | // if (rowToSelect) { |
| | | // let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | // if (rowToSelect) { |
| | | // this.toggleSelection(rowToSelect); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // },200) |
| | | // } |
| | | // } |
| | |
| | | // } |
| | | // this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | // model: this.mireModel.split(' - ')[1], |
| | | // standardMethodListId: this.mireStandard, |
| | | // standardMethodListId: this.mireStandard, |
| | | // factory: '' |
| | | // }, { |
| | | // headers: { |
| | |
| | | // this.detectionItems = res.data |
| | | // this.detectionType = 0 |
| | | // this.$set(this.detectionItems,'type',0) |
| | | |
| | | // if (row.productList != null && row.productList.length > 0) { |
| | | // let product = JSON.parse(JSON.stringify(row.productList)) |
| | | |
| | | // if (row.productList != null && row.productList.length > 0) { |
| | | // let product = JSON.parse(JSON.stringify(row.productList)) |
| | | // setTimeout(() => { |
| | | // product.forEach(p => { |
| | | // let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | // if (rowToSelect) { |
| | | // product.forEach(p => { |
| | | // let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | // if (rowToSelect) { |
| | | // this.toggleSelection(rowToSelect); |
| | | // } |
| | | // }); |
| | | // } |
| | | // }); |
| | | // },200) |
| | | // } |
| | | // } |
| | |
| | | </div> |
| | | <div class="search-item" style="margin-right: 10px;"> |
| | | <label style="width: 100px">每根管抽检标准量</label> |
| | | <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="active!=1" style="width:100px"></el-input> |
| | | <el-input v-model="packageInfo.standNum" placeholder="请输入" size="small" @blur="addStandNum" :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input> |
| | | </div> |
| | | <div class="search-item"> |
| | | <label style="width: 100px">每根管抽检检测量</label> |
| | | <el-input v-model="packageInfo.testNum" placeholder="请输入" size="small" @blur="addTestNum" |
| | | :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input> |
| | | :disabled="packageInfo.radio===0||active!=1" style="width:70px"></el-input> |
| | | </div> |
| | | </div> |
| | | <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small" |
| | |
| | | </el-table-column> --> |
| | | <el-table-column prop="ask" label="检测要求" show-overflow-tooltip width="200px"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input> |
| | | <el-input v-model="scope.row.ask" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input> |
| | | <span v-else>{{ scope.row.ask }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tell" label="要求描述" show-overflow-tooltip width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.tell" placeholder="请输入" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input> |
| | | <span v-else>{{ scope.row.tell }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <div class="search-item" style="width: 50%;margin-right: 16px;"> |
| | | <label style="width: 80px;">纤带类型</label> |
| | | <el-select v-model="miresModel" placeholder="请选择" size="small" style="width: 100%;" |
| | | |
| | | |
| | | > |
| | | <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | |
| | | </div> |
| | | |
| | | </div> |
| | | <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | <!-- <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)" |
| | | :header-cell-class-name="setClassName0"> --> |
| | | <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | size="small" @selection-change="handleSelectionChange" highlight-current-row |
| | | :header-cell-class-name="setClassName0"> |
| | | <el-table-column |
| | | type="selection" |
| | |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | <!-- <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | size="small" highlight-current-row @selection-change="handleSelectionChange4" |
| | | @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)" |
| | | :header-cell-class-name="setClassName0"> --> |
| | | <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" |
| | | size="small" highlight-current-row @selection-change="handleSelectionChange4" |
| | | :header-cell-class-name="setClassName0"> |
| | | <el-table-column |
| | | type="selection" |
| | |
| | | this.fiberList.push(b) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }else{ |
| | | this.fiberList = [] |
| | | a.fiber.forEach(b=>{ |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | this.getTypeDicts1() |
| | | this.getStandTreeBySampleType() |
| | | this.getStandTreeBySampleType2() |
| | |
| | | this.detectionSelect = val |
| | | // 赋值检测项信息 光纤带 |
| | | if(this.detectionItems.type == 1) { |
| | | this.multiFiberList.forEach(item => { |
| | | this.multiFiberList.forEach(item => { |
| | | this.fibersList.forEach(a => { |
| | | if(a.ident == item.ident){ |
| | | a.productList = [] |
| | |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | console.log(this.fibersList); |
| | | |
| | | |
| | | if(this.detectionItems.type == 0) { |
| | | // 赋值检测项信息 光纤 |
| | | this.selectFiberList.forEach(item => { |
| | |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | if(this.multiFiberList.length == 1) { |
| | | // 选择的时候就将fiberList的值赋值给对应的fiberList |
| | | setTimeout(() => { |
| | | if(this.multiFiberList.length > 0) { |
| | | this.multiFiberList.forEach(item => { |
| | | this.fibersList.forEach(a => { |
| | | if(a.ident == item.ident){ |
| | |
| | | } |
| | | }) |
| | | }) |
| | | }else if(this.multiFiberList.length > 1) { |
| | | this.fibersList.forEach(item => { |
| | | item.fiber = this.fiberList |
| | | }) |
| | | } |
| | | },100) |
| | | } |
| | | }, |
| | | handleSelectionChange4(val){ |
| | |
| | | if(val != 0) { |
| | | this.rowClickFiber(val[val.length-1],null,null,0) |
| | | } |
| | | }, |
| | | |
| | | changeASk(row) { |
| | | // 先勾选的情况下 |
| | | this.detectionSelect.forEach(item => { |
| | | if(item.id == row.id) { |
| | | item.ask = row.ask |
| | | item.tell = row.tell |
| | | // 光纤 0 光纤带 1 |
| | | if(item.isFibers == 0) { |
| | | this.selectFiberList.forEach(a => { |
| | | this.fiberList.forEach(b => { |
| | | if(b.ident == a.ident){ |
| | | b.productList.forEach(item => { |
| | | if(item.id == row.id) { |
| | | item.ask = row.ask |
| | | item.tell = row.tell |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | if(item.isFibers == 1) { |
| | | this.multiFiberList.forEach(a => { |
| | | this.fibersList.forEach(b => { |
| | | if(b.ident == a.ident){ |
| | | b.productList.forEach(item => { |
| | | if(item.id == row.id) { |
| | | item.ask = row.ask |
| | | item.tell = row.tell |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | outConfig() { |
| | | this.$parent.configShow = false |
| | |
| | | }, |
| | | // 套管标准量赋值 |
| | | addStandNum() { |
| | | if(this.packageInfo.testNum > this.packageInfo.standNum) { |
| | | this.$message.error('检测量不能大于标准量') |
| | | this.packageInfo.testNum = this.packageInfo.standNum |
| | | } |
| | | |
| | | if(this.selectBushing.length > 0) { |
| | | this.bushing.forEach(item => { |
| | | this.selectBushing.forEach(a => { |
| | |
| | | }, |
| | | // 套管检测量赋值 |
| | | addTestNum() { |
| | | |
| | | |
| | | if(parseInt(this.packageInfo.testNum) > parseInt(this.packageInfo.standNum)) { |
| | | this.packageInfo.testNum = this.packageInfo.standNum |
| | | this.$message.error('检测量不能大于标准量') |
| | |
| | | this.fiberList = [] |
| | | this.fibersList = [] |
| | | this.detectionItems = [] |
| | | |
| | | // 页面是否含有光纤带 |
| | | if(this.packageInfo.ismiers) { |
| | | // 全检 |
| | | if (this.packageInfo.radio == 0) { |
| | | if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') { |
| | | this.$message.error('请先输入标准量') |
| | | return |
| | | } |
| | | // 根据标准量赋值检测量 |
| | | if(parseInt(this.packageInfo.standNum) > 0 ) { |
| | | // 给光纤带赋值 |
| | | this.packageInfo.testNum = this.packageInfo.standNum |
| | | this.selectBushing = this.bushing |
| | | // 给光纤带赋值 |
| | | this.bushing.forEach(item => { |
| | | item.testNum = this.packageInfo.testNum |
| | | item.standNum = this.packageInfo.standNum |
| | | this.$refs.table0.toggleRowSelection(item, true) |
| | | }) |
| | | |
| | | this.addFibers() |
| | | this.multiFiberList = this.fibersList |
| | | // 默认勾选 |
| | | setTimeout(() => { |
| | | this.selectBushing.forEach(item =>{ |
| | | let rowToSelect = this.bushing.find(a => a.ident == item.ident) |
| | | this.$refs.table0.toggleRowSelection(rowToSelect, true) |
| | | }) |
| | | // this.selectBushing.forEach(item =>{ |
| | | // let rowToSelect = this.bushing.find(a => a.ident == item.ident) |
| | | // this.$refs.table0.toggleRowSelection(rowToSelect, true) |
| | | // }) |
| | | |
| | | this.multiFiberList.forEach(item =>{ |
| | | let rowToSelect = this.fibersList.find(a => a.ident == item.ident) |
| | |
| | | } |
| | | }else { |
| | | if(this.packageInfo.radio == 0) { |
| | | if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') { |
| | | this.$message.error('请先输入标准量') |
| | | return |
| | | } |
| | | if(parseInt(this.packageInfo.standNum) > 0 ) { |
| | | this.packageInfo.testNum = this.packageInfo.standNum |
| | | this.packageInfo.testNum = this.packageInfo.standNum |
| | | this.bushing.forEach(item => { |
| | | item.testNum = this.packageInfo.testNum |
| | | item.standNum = this.packageInfo.standNum |
| | | this.$refs.table0.toggleRowSelection(item, true) |
| | | }) |
| | | console.log(this.bushing); |
| | | this.selectBushing = this.bushing |
| | | this.addFiber() |
| | | // 默认勾选 |
| | | setTimeout(() => { |
| | | this.selectBushing.forEach(item =>{ |
| | | let rowToSelect = this.bushing.find(a => a.ident == item.ident) |
| | | this.$refs.table0.toggleRowSelection(rowToSelect, true) |
| | | // this.selectBushing.forEach(item =>{ |
| | | // let rowToSelect = this.bushing.find(a => a.ident == item.ident) |
| | | // this.$refs.table0.toggleRowSelection(rowToSelect, true) |
| | | // }) |
| | | |
| | | this.fiberList.forEach(item =>{ |
| | | this.$refs.table3.toggleRowSelection(item, true) |
| | | }) |
| | | }, 200) |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | upNum() { |
| | | this.fiberList = [] |
| | |
| | | } |
| | | a.fibers.push(fibers) |
| | | this.fibersList.push(fibers) |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | this.bushing = [] |
| | |
| | | // this.addFiber() |
| | | // }, 200) |
| | | // }) |
| | | |
| | | |
| | | // 将下拉框值赋值给光纤 监听去除 |
| | | if(this.selectFiberList.length == 0) { |
| | | this.$message.error('请选择数据') |
| | | return |
| | | } |
| | | this.selectFiberList.forEach(item => { |
| | | this.fiberList.forEach(a => { |
| | | if(a.ident == item.ident){ |
| | | a.model = this.mireModel.split(' - ')[1] // 光纤规格 |
| | | a.noSplitModel = this.mireModel // 光纤规格 |
| | | if(this.mireStandards != null) { |
| | | a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code // 参考标准 |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | if (val === null || val === '') return |
| | | if(this.mireStandards == null ) return |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | |
| | | this.detectionType = 0 |
| | | this.$set(this.detectionItems,'type',0) |
| | | } |
| | | |
| | | this.mireStandards.find(a => a.id == val).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true |
| | | this.selectFiberList.forEach(item => { |
| | | this.fiberList.forEach(a => { |
| | | if(a.ident == item.ident){ |
| | | a.model = this.mireModel.split(' - ')[1] // 光纤规格 |
| | | a.noSplitModel = this.mireModel // 光纤规格 |
| | | if(this.mireStandards != null) { |
| | | a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code // 参考标准 |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | methodChange2(val) { |
| | |
| | | this.detectionItems = res.data |
| | | this.detectionType = 1 |
| | | this.$set(this.detectionItems,'type',1) |
| | | // 判断是否为委托要求 |
| | | this.miresStandards.find(a => a.id == val).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true |
| | | } |
| | | |
| | | // 给选中的光纤带赋值 |
| | |
| | | fibersIdent: a.ident, |
| | | productList: [] |
| | | } |
| | | this.fiberList.push(fiber) |
| | | this.fiberList.push(fiber) |
| | | } |
| | | }) |
| | | } else { |
| | |
| | | }) |
| | | } |
| | | }else { |
| | | this.fiberList = [] |
| | | this.fiberList = [] |
| | | let flag = true |
| | | // 按照顺序生成光纤色标 |
| | | let colors2 = [] |
| | |
| | | // this.$message.error('未选择套管') |
| | | // return |
| | | // } |
| | | // this.fiberList = [] |
| | | // this.fiberList = [] |
| | | // let flag = true |
| | | // // 按照顺序生成光纤色标 |
| | | // let colors2 = [] |
| | |
| | | // 将获取的检测项信息赋值 |
| | | this.detectionItems = [] |
| | | if(res.data != null && res.data.length != 0){ |
| | | res.data.forEach(a => { |
| | | this.$set(a,'isFibers',1) |
| | | }) |
| | | // 判断是否为委托要求 |
| | | this.miresStandards.find(a => a.id == this.miresStandard).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true |
| | | if(!this.isAskOnlyRead){ |
| | | row.productList.forEach(a => { |
| | | res.data.forEach(b => { |
| | | if(a.id == b.id){ |
| | | b.ask = a.ask |
| | | b.tell = a.tell |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | this.detectionItems = res.data |
| | | this.detectionType = 1 |
| | | this.$set(this.detectionItems,'type',1) |
| | |
| | | let product = JSON.parse(JSON.stringify(row.productList)) |
| | | setTimeout(() => { |
| | | product.forEach(p => { |
| | | let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | if (rowToSelect) { |
| | | let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | if (rowToSelect) { |
| | | this.toggleSelection(rowToSelect); |
| | | } |
| | | }); |
| | | }); |
| | | },200) |
| | | } |
| | | } |
| | | }) |
| | | },1000) |
| | | },500) |
| | | }else if(type == 0) { |
| | | if((row.noSplitModel == null || row.noSplitModel == '') && (row.standard == null || row.standard == '')){ |
| | | this.detectionItems = [] |
| | |
| | | } |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: this.mireModel.split(' - ')[1], |
| | | standardMethodListId: this.mireStandard, |
| | | standardMethodListId: this.mireStandard, |
| | | factory: '' |
| | | }, { |
| | | headers: { |
| | |
| | | if(res.data != null && res.data.length != 0){ |
| | | res.data.forEach(a => { |
| | | a.state = 0 |
| | | this.$set(a,'isFibers',0) |
| | | }) |
| | | // 判断是否为委托要求 |
| | | this.mireStandards.find(a => a.id == this.mireStandard).code == '委托要求'?this.isAskOnlyRead = false:this.isAskOnlyRead = true |
| | | if(!this.isAskOnlyRead){ |
| | | row.productList.forEach(a => { |
| | | res.data.forEach(b => { |
| | | if(a.id == b.id){ |
| | | b.ask = a.ask |
| | | b.tell = a.tell |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | this.detectionItems = res.data |
| | | this.detectionType = 0 |
| | | this.$set(this.detectionItems,'type',0) |
| | | |
| | | if (row.productList != null && row.productList.length > 0) { |
| | | let product = JSON.parse(JSON.stringify(row.productList)) |
| | | |
| | | |
| | | if (row.productList != null && row.productList.length > 0) { |
| | | let product = JSON.parse(JSON.stringify(row.productList)) |
| | | setTimeout(() => { |
| | | product.forEach(p => { |
| | | let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | if (rowToSelect) { |
| | | product.forEach(p => { |
| | | let rowToSelect = this.detectionItems.find(item => item.id === p.id); |
| | | if (rowToSelect) { |
| | | this.toggleSelection(rowToSelect); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | },200) |
| | | } |
| | | } |
| | | }) |
| | | },1000); |
| | | },500); |
| | | } |
| | | }, |
| | | toggleSelection(row) { |
| | |
| | | <!-- <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() |
| | |
| | | <el-table-column type="index" align="center" label="序号" :width="selectionWidth" v-if="data.isIndex" :key="Math.random()"> |
| | | </el-table-column> |
| | | <el-table-column :prop="a.label" :label="a.value" :sortable="a.sort === 'custom' ? 'custom' : false" :isColumnWidth="isColumnWidth" :isShowZero="isShowZero" |
| | | v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip :min-width="columnMinWidth" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))"> |
| | | v-for="(a, ai) in tableHead" :key="ai+'bbbbb'" show-overflow-tooltip :min-width="columnMinWidth" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="showType(a.label, data.tagField) != null"> |
| | | <template v-if="typeof(scope.row[a.label]) == 'object'"> |
| | | <template v-for="(param, i) in scope.row[a.label]"> |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi" v-if="b.value == param" |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi+'cccc'" v-if="b.value == param" |
| | | :type="b.type" size="medium" style="margin-right: 5px;">{{b.label}}</el-tag> |
| | | </template> |
| | | </template> |
| | | <template v-else> |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi" v-if="b.value == scope.row[a.label]" |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" :key="bi+'ddddd'" v-show="b.value == scope.row[a.label]" |
| | | :type="b.type" size="medium">{{b.label}}</el-tag> |
| | | </template> |
| | | </div> |
| | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" align="center" label="操作" :width="getWidth()" v-if="data.do.length > 0"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-for="(a, ai) in data.do" :key="ai" :type="a.type" |
| | | <el-button v-for="(a, ai) in data.do" :key="ai |
| | | +'qqqq'" :type="a.type" |
| | | :disabled="a.disabFun ? a.disabFun(scope.row,scope.$index) : false" @click="main(scope.row, a)" |
| | | class="handleBtn"> |
| | | <span v-if="a.type!='upload'">{{a.font}}</span> |
| | |
| | | <el-dialog title="编辑" :visible.sync="upDia" :width="data.row==1?'500px':540+data.row * 200 + 'px'" append-to-body> |
| | | <div class="body" style="max-height: 550px;overflow-y: auto;padding: 5px 10px 5px 0;"> |
| | | <div v-if="data.row > 1"> |
| | | <div v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> |
| | | <div v-for="(a, ai) in upHead" :key="ai+'ffff'" style="line-height: 50px;"> |
| | | <el-col :span="6/data.row" style="text-align: right;" :offset="1"> |
| | | <span class="required-span" v-if="showUpReq(a.label)">* </span>{{a.value}}: |
| | | </el-col> |
| | |
| | | <el-select v-model="upData[a.label]" :multiple="data.selectField[a.label].choose" size="small" |
| | | v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :disabled="isDisabled(a.label)" |
| | | clearable filterable> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'eeeee'" :value="b.value" |
| | | :label="b.label"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> |
| | | <el-row v-for="(a, ai) in upHead" :key="ai+'ggggg'" style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"> |
| | | <span class="required-span" v-if="showUpReq(a.label)">* </span>{{a.value}}: |
| | | </el-col> |
| | |
| | | <el-select v-model="upData[a.label]" :multiple="data.selectField[a.label].choose" size="small" |
| | | v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :disabled="isDisabled(a.label)" |
| | | clearable filterable> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'fffff'" :value="b.value" |
| | | :label="b.label"></el-option> |
| | | </el-select> |
| | | <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)" :multiple="false" |
| | |
| | | <el-dialog title="新增" :visible.sync="addDia" :width="data.row==1?'500px':540+data.row * 200 + 'px'" append-to-body> |
| | | <div class="body" v-if="addDia" style="max-height: 550px;overflow-y: auto;padding: 5px 10px 5px 0;"> |
| | | <div v-if="data.row > 1"> |
| | | <div v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> |
| | | <div v-for="(a, ai) in upHead" :key="ai+'yyyyy'" style="line-height: 50px;"> |
| | | <el-col :span="6/data.row" style="text-align: right;" :offset="1"><span class="required-span" |
| | | v-if="showAddReq(a.label)">* |
| | | </span>{{a.value}}:</el-col> |
| | |
| | | <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" |
| | | :multiple="data.selectField[a.label].choose" |
| | | style="width: 100%;" :placeholder="`请选择${a.value}`" clearable filterable> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'hhhh'" :value="b.value" |
| | | :label="b.label"></el-option> |
| | | </el-select> |
| | | <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)" |
| | |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <el-row v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> |
| | | <el-row v-for="(a, ai) in upHead" :key="ai+'jjjjj'" style="line-height: 50px;"> |
| | | <el-col :span="6" style="text-align: right;"><span class="required-span" v-if="showAddReq(a.label)">* |
| | | </span>{{a.value}}:</el-col> |
| | | <el-col :span="16" :offset="1"> |
| | |
| | | <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" |
| | | :multiple="data.selectField[a.label].choose" |
| | | style="width: 100%;" :placeholder="`请选择${a.value}`" clearable> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi+'mmmmmm'" :value="b.value" |
| | | :label="b.label"></el-option> |
| | | </el-select> |
| | | <el-upload :action="javaApi+data.addUploadConfig.url" v-if="showUpload(a.label)" |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <div style="width: 100%;height: 100%;" v-if="activeFace >0"> |
| | | <Add :active="activeFace" :currentId="currentId"/> |
| | | <Add :active="activeFace" :currentId="currentId" :examine="examine"/> |
| | | </div> |
| | | <Inspection v-if="state>0" @goback="goback" :orderId="orderId" :inspectorList="inspectorList" :sonLaboratory="componentData.entity.sonLaboratory" :state="state"/> |
| | | <el-dialog title="数据查看" :visible.sync="dataDialogVisible" width="80%"> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | examine: null, |
| | | inspectorList: [],//检验人员列表 |
| | | alone: false, |
| | | sampleUserForm: { |
| | |
| | | }, |
| | | selectAllByOne(row) { |
| | | this.activeFace = 2; |
| | | this.examine = 1; |
| | | this.currentId = parseInt(row.id) |
| | | }, |
| | | playOrder(num) { |
| | |
| | | </div> |
| | | <div class="table"> |
| | | <ul class="tab"> |
| | | <li v-for="(m,i) in tabList" :key="i" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li> |
| | | <li v-for="(m,i) in tabList" :key="i+'afgh'" :class="{active:i==tabIndex}" @click="handleTab(m,i)">{{m.label}}</li> |
| | | </ul> |
| | | <ValueTable :style="getStyle()" ref="ValueTable" |
| | | :isColumnWidth="true" |
| | | :url="$api.insOrder.selectInsOrderParameter" :componentData="componentData" |
| | | :key="'b'+upIndex" /> |
| | | :upIndex="upIndex" /> |
| | | </div> |
| | | <!-- 审核 --> |
| | | <el-dialog title="下单审核" :visible.sync="verifyDialogVisible" width="30%" :before-close="handleClose"> |
| | |
| | | <div class="search_label"><span class="required-span" v-show="distributeData.type==2">* </span>指派人员:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="distributeData.userId" placeholder="请选择" size="small" style="width: 100%;" clearable filterable @change="changeUser"> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-option v-for="(item,i) in personList" :key="i+'gbnm.'" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="search_label"><span class="required-span" >* </span>试验室:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="distributeData.sonLaboratory" placeholder="请选择" size="small" style="width: 100%;" clearable filterable> |
| | | <el-option v-for="(item,i) in sonLaboratoryList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-option v-for="(item,i) in sonLaboratoryList" :key="i+'oooo'" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-model="checkAll" |
| | | @change="handleCheckAllChange">全选</el-checkbox> |
| | | <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i+'wwwww'" style="margin-bottom: 15px; font-size: 16px !important;"> |
| | | <el-checkbox :label="i" :key="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox> |
| | | <div> |
| | | <el-row style="font-size: 14px;padding-left: 20px;"> |
| | |
| | | </el-dialog> |
| | | <div class="el-dialog__body" style="overflow-y: auto;margin-top: 0;position: fixed;top: 999px;z-index: 99999;display: none;"> |
| | | <div id="printMOrder" class="printMOrder" ref="printMOrder"> |
| | | <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;"> |
| | | <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i+'uuuuu'" style="font-size: 0.20cm !important;page-break-after: always;color: #000;box-shadow: none;margin: 0 !important;padding: 0 !important;"> |
| | | <div style="display: flex;"> |
| | | <div> |
| | | <el-col :span="10" :offset="2"> |
| | |
| | | // //复制给formData |
| | | // this.formData = this.HaveJson(row); |
| | | this.currentId = row.id |
| | | this.examine = 1 |
| | | }, |
| | | // 数据查看 |
| | | handleDataLook(row) { |
| | |
| | | handleTab(m, i) { |
| | | this.tabIndex = i; |
| | | this.componentData.entity.state = m.value |
| | | this.refreshTable() |
| | | this.refreshTable('page') |
| | | this.upIndex++ |
| | | }, |
| | | getUserMenu() { |
| | | this.$axios.get(this.$api.user.getUserMenu).then(res => { |
| | |
| | | //本地 |
| | | // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; |
| | | // const javaApi = 'http://127.0.0.1:8001'; |
| | | const javaApi = 'http://192.168.92.249:8001'; |
| | | const javaApi = 'http://192.168.0.104:8001'; |
| | | //云 |
| | | // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; |
| | | // const javaApi = 'http://114.132.189.42:1234'; |
| | |
| | | const hours = now.getHours(); |
| | | const minutes = now.getMinutes(); |
| | | |
| | | if (hours === 20 && minutes === 0) { |
| | | if (hours === 22 && minutes === 0) { |
| | | this.performTask(); |
| | | // 设置20分钟后提示关闭 |
| | | this.closeTimeout = setTimeout(() => { |
| | |
| | | } |
| | | let param = null |
| | | let currentTable = '' |
| | | let getDataTypeId = null |
| | | self.onmessage = function(event) { |
| | | const data = JSON.parse(event.data); |
| | | if(currentTable!=data.currentTable){ |
| | |
| | | return |
| | | } |
| | | code = data.code; |
| | | if(data.getDataTypeId){ |
| | | getDataTypeId = data.getDataTypeId |
| | | }else{ |
| | | getDataTypeId = null |
| | | } |
| | | if(tableList){ |
| | | let str = code.split('-') |
| | | let r = str[1] |
| | |
| | | // console.log(5555,tableList) |
| | | } |
| | | // console.log('1234567789', tableList,getParam()) |
| | | // console.log('1234567789', item) |
| | | let getDataType0 = false |
| | | if(item.i==getDataTypeId){ |
| | | getDataType0 = true |
| | | } |
| | | result = { |
| | | method:'saveInsContext', |
| | | value:{ |
| | | tableList, |
| | | param:getParam() |
| | | param:getParam(), |
| | | getDataTypeId:getDataType0?getDataTypeId:'' |
| | | } |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | |
| | | a[b].v.v = isNaN(val) ? comResult : val |
| | | } |
| | | // console.log('a[b].v.ct', comResult) |
| | | // console.log('a[b].v.v', a[b].v.v) |
| | | // console.log('a[b].v.v', a[b]) |
| | | }catch(error){ |
| | | a[b].v.v = comResult |
| | | console.log('error---', error) |
| | |
| | | b.i &&b.v.v&& param[b.i].insValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '计算值') { |
| | | b.i &&b.v.v&& param[b.i].comValue.push(b) |
| | | b.i &&b.v.v&&b.valueList&&b.valueList.length>0&& param[b.i].comValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设备编码') { |
| | | b.i &&b.v&& param[b.i].equipValue.push(b) |
| | |
| | | b.i &&b.v&& param[b.i].equipName.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '最终值') { |
| | | b.i &&b.v&& (param[b.i].resValue = b) |
| | | b.i &&b.v&&b.valueList&&b.valueList.length>0&& (param[b.i].resValue = b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '结论') { |
| | | if(b.i &&(b.v.v||b.v.v===0||b.v.v==='0')){ |
| | |
| | | function SUM(...val){ |
| | | try { |
| | | let num = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){ |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val.forEach(item=>{ |
| | | num+=item; |
| | | }) |
| | |
| | | function MAX(...val){ |
| | | try { |
| | | let max = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){ |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val = val.filter(item=>item!=null&&item!=='') |
| | | if(val.length>0){ |
| | | max = Math.max(...val) |
| | |
| | | function MIN(...val){ |
| | | try { |
| | | let min = null; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){ |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | val = val.filter(item=>item!=null&&item!=='') |
| | | if(val.length>0){ |
| | | min = Math.min(...val) |
| | |
| | | try { |
| | | let num = null; |
| | | let arr = []; |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val.length>0){ |
| | | if(val!=null&&val!=undefined&&val!='undefined'&&val!='NaN'&&val.length>0){ |
| | | arr = val.filter(item=>item!==null&&item!==''&&item!=undefined) |
| | | arr.forEach(item=>{ |
| | | num+=item; |
| | |
| | | } else if (isPoint) { |
| | | return str.replace('ABS', '').replace(/\(|\)/g, '') |
| | | }else { |
| | | console.log('str', str,eval(str)) |
| | | console.log('str', str) |
| | | return eval(str) |
| | | } |
| | | } catch (error) { |
| | |
| | | method:'', |
| | | value:null |
| | | } |
| | | |
| | | let arrSpecial = [] |
| | | let numSpecial = 0; |
| | | self.onmessage = function(event) { |
| | | const data = JSON.parse(event.data); |
| | | dataAcquisitionInfo = data.dataAcquisitionInfo; |
| | | list = data.list; |
| | | // console.log(111,dataAcquisitionInfo) |
| | | arrSpecial = [] |
| | | numSpecial = 0 |
| | | handleData() |
| | | } |
| | | |
| | |
| | | if(Array.isArray(dataAcquisitionInfo[str].value)){ |
| | | for (let i = 0; i < dataAcquisitionInfo[str].value.length; i++) { |
| | | if(i+1==arr[1]){ |
| | | arrSpecial.push(n.i) |
| | | numSpecial++ |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | |
| | | } |
| | | }else{ |
| | | if(arr[1] ==dataAcquisitionInfo[str].frequency){ |
| | | arrSpecial.push(n.i) |
| | | numSpecial++ |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | |
| | | },2000) |
| | | }else if(Number(dataAcquisitionInfo[str].frequency)>num){ |
| | | if(n.v.ps.value.includes(num)){ |
| | | arrSpecial.push(n.i) |
| | | numSpecial++ |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | |
| | | } |
| | | }) |
| | | }) |
| | | if(arrSpecial[numSpecial-1]){ |
| | | setTimeout(()=>{ |
| | | result = { |
| | | getDataTypeId:arrSpecial[numSpecial-1], |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },0) |
| | | } |
| | | } |