| | |
| | | <el-button size="medium" type="primary" @click="openConfig" v-if="addObj.sampleType==='光缆'">光纤配置</el-button> |
| | | <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-show="active==1">提交</el-button> |
| | | <!-- 审核 --> |
| | | <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3" |
| | | <el-button size="medium" @click="upInsOrderOfState(2)" :loading="saveLoad" v-show="active==3&&addObj.companyId" |
| | | :disabled="saveLoad">不通过</el-button> |
| | | <el-button size="medium" type="primary" @click="upInsOrderOfState(1)" :loading="saveLoad" |
| | | v-show="active==3">通过</el-button> |
| | | v-show="active==3&&addObj.companyId">通过</el-button> |
| | | <el-button size="medium" @click="$parent.playOrder(0)"> |
| | | <span style="color: #3A7BFA;">返回</span> |
| | | </el-button> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark" |
| | | <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" max-height="400px" tooltip-effect="dark" |
| | | border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;"> |
| | | <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> |
| | | <el-table-column type="index" label="序号" width="65" align="center"></el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="proNum" label="待检项数量" width="105" align="center"></el-table-column> |
| | | </el-table> |
| | | <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border |
| | | <el-table class="el-table" ref="productTable" :data="productList" max-height="400px" tooltip-effect="dark" border |
| | | @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" |
| | | :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="要求值" v-model="scope.row.ask" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | v-if="active==1&&isAskOnlyRead&&scope.row.inspectionValueType!='5'"></el-input> |
| | | <span v-else> |
| | | <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 |
| | | ||scope.row.ask.indexOf('W')>-1 |
| | |
| | | <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="检验下发" :visible.sync="issuedDialogVisible" width="400px"> |
| | | <el-dialog title="检验下发" :visible.sync="issuedDialogVisible" width="400px" :close-on-click-modal="false" |
| | | :close-on-press-escape="false" :show-close="false"> |
| | | <div class="body" style="max-height: 60vh;"> |
| | | <el-row> |
| | | <el-col class="search_thing" :span="22"> |
| | |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="issuedDialogVisible=false">取 消</el-button> |
| | | <el-button @click="issuedDialogVisible=false;$parent.playOrder(0)">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm2" :loading="upLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | |
| | | prop="value" |
| | | label="识别符值"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.value" placeholder="请输入" size="small"></el-input> |
| | | <el-input v-model="scope.row.value" placeholder="请输入" @input="inputValueHandler(scope.row,scope.$index)" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | sampleSelectionList: [],//样品表格选中数据 |
| | | editTable:[], |
| | | template: null, |
| | | templates: [], |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | //特殊值填写处理 |
| | | inputValueHandler(row,index){ |
| | | if(row){ |
| | | const nextIndex = index+1 |
| | | for (let i = nextIndex; i < this.editTable.length; i++) { |
| | | const element = this.editTable[i]; |
| | | if(element.model==row.model){ |
| | | this.editTable[i].value = row.value |
| | | }else{ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | }, |
| | | spliceData () { |
| | | if (!this.circulateForm.entrustNum || !this.circulateForm.entrustTime || !this.circulateForm.entrustPoint || this.opticalProjectList.length === 0 || this.temperatureData.length === 0) { |
| | | this.$message.error('请填写完整数据') |
| | |
| | | isHaveBushing = false |
| | | } |
| | | }) |
| | | //过滤检测项:去除特殊项 |
| | | let filterProductList = this.productListSelected.filter(ele=>ele.bsm==0&&/[0-9]/.test(ele.ask)).filter(ele=>{ |
| | | if(select[1].indexOf('通信')>=0 && ['光缆','光纤'].includes(select[2])){ |
| | | return !['温度循环','光纤接头损耗'].includes(ele.inspectionItem) |
| | | } |
| | | return true |
| | | }).filter(ele=>{ |
| | | if(select[1].indexOf('电力')>=0){ |
| | | return !['温升试验','热循环'].includes(ele.inspectionItem) |
| | | } |
| | | return true |
| | | }) |
| | | //校验检验项的要求值和要求描述 |
| | | const isTrue = this.checkRequiredValueAndRemark(filterProductList) |
| | | if(!isTrue){ |
| | | this.$message.error('检验项的要求值与要求描述不匹配, 请检查') |
| | | return |
| | | } |
| | | |
| | | console.log('isHaveBushing===', this.totalArr) |
| | | // inspectionItem |
| | | let spcialItem = null//this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('松套管')) |
| | | // console.log('isHaveBushing===', isHaveBushing) |
| | | if (productListSelected && select[2] === '光缆' && isHaveBushing === false) { |
| | | this.$message.error('光缆温度循环项目必须进行光纤配置') |
| | | |
| | | this.$refs.sampleTable.setCurrentRow(this.currentMethod, true) |
| | | this.rowClick(this.currentMethod) |
| | | this.sampleIds = [this.currentMethod.id] |
| | | this.openConfig() |
| | | return |
| | | }else if(spcialItem&& isHaveBushing === false){ |
| | | this.$message.error('松套管项目必须进行光纤配置') |
| | | this.$refs.sampleTable.setCurrentRow(this.currentMethod, true) |
| | | this.rowClick(this.currentMethod) |
| | | this.sampleIds = [this.currentMethod.id] |
| | |
| | | this.saveMethod(sampleList) |
| | | } |
| | | } |
| | | }, |
| | | checkRequiredValueAndRemark(data){ |
| | | let isTrue = true |
| | | try{ |
| | | data.forEach(ele=>{ |
| | | if(['≤','≥','>','<','='].includes(ele.ask[0])){ |
| | | const askVal = ele.ask.substring(1,ele.ask.length) |
| | | if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){ |
| | | isTrue = false |
| | | } |
| | | } |
| | | if(ele.ask.indexOf('-')>0 && ele.ask.length>1){ |
| | | let tell = ele.tell |
| | | if(ele.tell.indexOf('~')>0){ |
| | | tell = ele.tell.replace('~','-') |
| | | } |
| | | const splits = ele.ask.split('-') |
| | | if(splits.length==2 && !isNaN(splits[0]) && !isNaN(splits[1])){ |
| | | let min = Math.min(...splits) |
| | | let max = Math.max(...splits) |
| | | if(ele.tell.indexOf('±')<0&&tell.indexOf(ele.ask)<0){ |
| | | isTrue = false |
| | | }else if(ele.tell.indexOf('±')>0&&ele.tell!=ele.ask){ |
| | | let splitNums = ele.tell.split('±') |
| | | if(splitNums.length<2){ |
| | | isTrue = false |
| | | }else{ |
| | | let minTell = Number(splitNums[0])-Number(splitNums[1]) |
| | | let maxTell = Number(splitNums[0])+Number(splitNums[1]) |
| | | if(minTell!=min || maxTell!=max){ |
| | | isTrue = false |
| | | } |
| | | } |
| | | } |
| | | }else{ |
| | | isTrue = false |
| | | } |
| | | } |
| | | }) |
| | | }catch(error){ |
| | | console.log(error); |
| | | isTrue = false |
| | | } |
| | | return isTrue |
| | | }, |
| | | save0(){ |
| | | if(this.editTable.every(m=>m.value)){ |
| | |
| | | }, |
| | | saveMethod(sampleList){ |
| | | this.saveLoad = true |
| | | console.log(333333,sampleList) |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | str: JSON.stringify({ |
| | | insOrder: this.addObj, |
| | |
| | | }) |
| | | }, |
| | | getProNum() { |
| | | this.sampleList.forEach((m, i) => { |
| | | Vue.set(this.sampleList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | this.sampleSelectionList.forEach((m, i) => { |
| | | Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | this.$refs.sampleTable.doLayout() |
| | | }, |
| | |
| | | val.forEach(a => { |
| | | this.sampleIds.push(a.id) |
| | | }) |
| | | this.sampleSelectionList = val |
| | | }, |
| | | delSample() { |
| | | this.sampleIds.forEach(a => { |
| | |
| | | this.sampleId = row.id |
| | | if (this.active !== 1) { |
| | | this.sampleIds = [] |
| | | this.sampleIds.push(row.id) |
| | | this.sampleSelectionList.forEach(ele=>{ |
| | | if(ele.id == row.id){ |
| | | this.sampleIds.push(row.id) |
| | | } |
| | | }) |
| | | } |
| | | this.productList = row.insProduct |
| | | this.productList0 = JSON.parse(JSON.stringify(this.productList)) |
| | |
| | | row.bsm1 = false |
| | | }else if(arr.length>0){ |
| | | try{ |
| | | row.bsmRow = this.HaveJson(row) |
| | | let section = arr[0].section |
| | | let arr0 = JSON.parse(row.section) |
| | | let arr1 = JSON.parse(row.ask) |
| | |
| | | } |
| | | }, |
| | | handleAll(e) { |
| | | console.log(1111,this.bsm1DiaAll,this.bsm1Dia) |
| | | // console.log('e---', e) |
| | | if (e.length > 0) { |
| | | this.productList.map(m => { |
| | |
| | | this.$message.error('未选中样品') |
| | | return |
| | | } |
| | | this.sampleIds = [this.sampleId] |
| | | this.$axios.post(this.$api.insBushing.selectBushingBySampleId, { |
| | | sampleId: this.sampleId |
| | | }).then(res => { |