| | |
| | | <el-input size="small" placeholder="请输入" clearable v-model="addObj.otcCode" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">制单人:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="addObj.prepareUser" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;"> |
| | | <div class="search_label">备注:</div> |
| | | <div class="search_input"> |
| | |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | <span v-else> |
| | | <template v-if="(scope.row.ask.indexOf('D')>-1 |
| | | <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 |
| | | ||scope.row.ask.indexOf('W')>-1 |
| | | ||scope.row.ask.indexOf('X')>-1 |
| | | ||scope.row.ask.indexOf('RTS')>-1 |
| | |
| | | ||scope.row.ask.indexOf('L')>-1)&&active==1"> |
| | | <input class="askRts" v-model="scope.row.rts" /><br />{{ scope.row.ask }} |
| | | </template> |
| | | <template v-else>{{ scope.row.ask }}</template> |
| | | <template v-else>{{ scope.row.ask }}</template> --> |
| | | <template >{{ scope.row.ask }}</template> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-row> --> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="RTS填写" :visible.sync="bsm3Dia" width="500px" :show-close="false" :before-close="beforeClose0"> |
| | | <el-row> |
| | | <el-col class="search_thing" :span="22" style="display: flex;align-items: center;"> |
| | | <div class="search_label"><span class="required-span">* </span>RTS:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="bsm3Val"></el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-dialog title="特殊值填写" :visible.sync="bsm3Dia" width="800px" :show-close="false"> |
| | | <el-table |
| | | :data="editTable" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="sampleCode" |
| | | label="样品编号" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="样品型号" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="symbolItem" |
| | | label="识别符号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="value" |
| | | label="识别符值"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.value" placeholder="请输入" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="bsm3Dia=false">取 消</el-button> |
| | | <el-button type="primary" @click="save0" :loading="saveLoad">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | editTable:[], |
| | | template: null, |
| | | templates: [], |
| | | addObj: { |
| | |
| | | engineeringEn: null, |
| | | production: null, |
| | | productionEn: null, |
| | | companyId: null |
| | | companyId: null, |
| | | prepareUser:null |
| | | }, |
| | | sample: { |
| | | sampleCode: null, |
| | |
| | | this.addObj.companyId = selects.id |
| | | this.selectUserDia = false |
| | | }, |
| | | handleAsk(ask, rts) { |
| | | containsValue(str) { |
| | | let arr = ['RTS','D','W','X','H','L'] |
| | | let symbolItem = '' |
| | | arr.some(value =>{ |
| | | if(str.includes(value)){ |
| | | symbolItem = value |
| | | return true |
| | | } |
| | | }) |
| | | return symbolItem |
| | | }, |
| | | handleAsk(ask,symbolItem, value) { |
| | | try{ |
| | | let code = [">", "<", "=", ">", "<", "≥", "≤", "±"]; |
| | | if (ask.includes('RTS') || ask.includes('D') || ask.includes('W') || |
| | | ask.includes('X') || ask.includes('H') || ask.includes('L')) { |
| | | if (ask.includes('&')) { |
| | | // 多个条件 |
| | | let arr0 = ask.split('&') |
| | | let arr1 = [] |
| | | arr0.forEach(m => { |
| | | let index = code.findIndex(b => m.includes(b)) |
| | | if (index > -1) { |
| | | let arr = m.split(code[index]).filter(b => !!b) |
| | | let num = eval(this.replaceAll(arr[0], 'RTS', rts)) |
| | | m = code[index] + '' + num |
| | | arr1.push(m) |
| | | } |
| | | }) |
| | | return arr1.join('&') |
| | | } else { |
| | | // 单个条件 |
| | | let index = code.findIndex(b => ask.includes(b)) |
| | | if (ask.includes('&')) { |
| | | // 多个条件 |
| | | let arr0 = ask.split('&') |
| | | let arr1 = [] |
| | | arr0.forEach(m => { |
| | | let index = code.findIndex(b => m.includes(b)) |
| | | if (index > -1) { |
| | | let arr = ask.split(code[index]).filter(b => !!b) |
| | | let num = eval(this.replaceAll(arr[0], 'RTS', rts)) |
| | | return code[index] + '' + num |
| | | let arr = m.split(code[index]).filter(b => !!b) |
| | | let num = eval(this.replaceAll(arr[0], symbolItem, value)) |
| | | m = code[index] + '' + num |
| | | arr1.push(m) |
| | | } |
| | | }) |
| | | return arr1.join('&') |
| | | } else { |
| | | // 单个条件 |
| | | let index = code.findIndex(b => ask.includes(b)) |
| | | if (index > -1) { |
| | | let arr = ask.split(code[index]).filter(b => !!b) |
| | | let num = eval(this.replaceAll(arr[0], symbolItem, value)) |
| | | return code[index] + '' + num |
| | | } |
| | | } |
| | | }catch(e){} |
| | | }, |
| | | replaceAll(str, find, rts) { |
| | | if (rts === undefined) { |
| | | replaceAll(str,find,value) { |
| | | if (str === undefined) { |
| | | return str |
| | | } |
| | | return str.replace('RTS', rts).replace('D', rts).replace('W', rts).replace('X', rts).replace('H', rts).replace( |
| | | 'L', rts); |
| | | return str.replace(find, value); |
| | | }, |
| | | save() { |
| | | if (!this.addObj.companyId) { |
| | |
| | | this.$message.error('请选择检验标准') |
| | | } else { |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | let isRTS = this.totalArr.find(a => a.ask != null && (a.ask.includes('RTS') || a.ask.includes('D') || a.ask |
| | | let projectNum = this.totalArr.filter(a => a.state == 1).length |
| | | if(projectNum==0){ |
| | | this.$confirm('检验项目为空,是否确认提交?', "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.saveMethod(sampleList) |
| | | }).catch(() => {}) |
| | | }else{ |
| | | let isRTS = this.totalArr.find(a => a.ask != null && (a.ask.includes('RTS') || a.ask.includes('D') || a.ask |
| | | .includes('W') || |
| | | a.ask.includes('X') || a.ask.includes('H') || a.ask.includes('L')) && a.state == 1) |
| | | if (isRTS) { |
| | | sampleList.forEach(item => { |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | item.insProduct.forEach(a => { |
| | | if (a.state == 1) { |
| | | let ask = this.handleAsk(a.ask, a.rts) |
| | | if (ask && a.state == 1) { |
| | | a.ask = ask |
| | | if (isRTS) { |
| | | this.editTable = this.handleData(sampleList,this.containsValue, 0) |
| | | this.bsm3Dia = true; |
| | | return |
| | | } |
| | | this.saveMethod(sampleList) |
| | | } |
| | | } |
| | | }, |
| | | save0(){ |
| | | let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) |
| | | this.saveMethod(sampleList) |
| | | }, |
| | | handleData(sampleList,calBack,type){ |
| | | let editTable = [] |
| | | sampleList.forEach(item => { |
| | | let obj = { |
| | | sampleCode:item.sampleCode, |
| | | model:item.model, |
| | | symbolList:[], |
| | | sampleId:item.id, |
| | | } |
| | | if (item.insProduct && item.insProduct.length > 0) { |
| | | item.insProduct.forEach(a => { |
| | | if (a.state == 1) { |
| | | if(type==0){ |
| | | let str = calBack(a.ask) |
| | | str&&obj.symbolList.push(str) |
| | | }else if(type==1){ |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | arr.forEach(f => { |
| | | if(a.ask.includes(f.symbolItem)){ |
| | | let ask = calBack(a.ask, f.symbolItem,f.value) |
| | | if (ask) { |
| | | a.ask = ask |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | // 光纤带项目 |
| | | if (item.bushing && item.bushing.length > 0) { |
| | | item.bushing.forEach(a => { |
| | | if (a.fiber && a.fiber.length > 0) { |
| | | a.fiber.forEach(b => { |
| | | if (b.productList && b.productList.length > 0) { |
| | | b.productList.forEach(c => { |
| | | if (c.state == 1) { |
| | | let ask = this.handleAsk(c.ask, c.rts) |
| | | if (ask && c.state == 1) { |
| | | c.ask = ask |
| | | }) |
| | | } |
| | | // 光纤带项目 |
| | | if (item.bushing && item.bushing.length > 0) { |
| | | item.bushing.forEach(a => { |
| | | if (a.fiber && a.fiber.length > 0) { |
| | | a.fiber.forEach(b => { |
| | | if (b.productList && b.productList.length > 0) { |
| | | b.productList.forEach(c => { |
| | | if (c.state == 1) { |
| | | if(type==0){ |
| | | let str = calBack(c.ask) |
| | | str&&obj.symbolList.push(str) |
| | | }else if(type==1){ |
| | | // let ask = calBack(c.ask, c.rts) |
| | | // if (ask && c.state == 1) { |
| | | // c.ask = csk |
| | | // } |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | arr.forEach(f => { |
| | | if(c.ask.includes(f.symbolItem)){ |
| | | let ask = calBack(c.ask, f.symbolItem,f.value) |
| | | if (ask) { |
| | | c.ask = ask |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | if (a.fibers && a.fibers.length > 0) { |
| | | a.fibers.forEach(b => { |
| | | if (b.productList && b.productList.length > 0) { |
| | | b.productList.forEach(c => { |
| | | if (c.state == 1) { |
| | | let ask = this.handleAsk(c.ask, c.rts) |
| | | if (ask && c.state == 1) { |
| | | c.ask = ask |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | if (b.fiber && b.fiber.length > 0) { |
| | | b.fiber.forEach(c => { |
| | | if (c.productList && c.productList.length > 0) { |
| | | c.productList.forEach(d => { |
| | | if (d.state == 1) { |
| | | let ask = this.handleAsk(d.ask, d.rts) |
| | | if (ask) { |
| | | d.ask = ask |
| | | } |
| | | }) |
| | | } |
| | | if (a.fibers && a.fibers.length > 0) { |
| | | a.fibers.forEach(b => { |
| | | if (b.productList && b.productList.length > 0) { |
| | | b.productList.forEach(c => { |
| | | if (c.state == 1) { |
| | | if(type==0){ |
| | | let str = calBack(c.ask) |
| | | str&&obj.symbolList.push(str) |
| | | }else if(type==1){ |
| | | // let ask = calBack(c.ask, c.rts) |
| | | // if (ask && c.state == 1) { |
| | | // c.ask = csk |
| | | // } |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | arr.forEach(f => { |
| | | if(c.ask.includes(f.symbolItem)){ |
| | | let ask = calBack(c.ask, f.symbolItem,f.value) |
| | | if (ask) { |
| | | c.ask = ask |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | if (b.fiber && b.fiber.length > 0) { |
| | | b.fiber.forEach(c => { |
| | | if (c.productList && c.productList.length > 0) { |
| | | c.productList.forEach(d => { |
| | | if (d.state == 1) { |
| | | if(type==0){ |
| | | let str = calBack(d.ask) |
| | | str&&obj.symbolList.push(str) |
| | | }else if(type==1){ |
| | | // let ask = calBack(d.ask, d.rts) |
| | | // if (ask && d.state == 1) { |
| | | // d.ask = ask |
| | | // } |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | arr.forEach(f => { |
| | | if(d.ask.includes(f.symbolItem)){ |
| | | let ask = calBack(d.ask, f.symbolItem,f.value) |
| | | if (ask) { |
| | | d.ask = ask |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | }) |
| | | } |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | str: JSON.stringify({ |
| | | insOrder: this.addObj, |
| | | list: JSON.stringify(sampleList.map(a => { |
| | | a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? |
| | | '' : ( |
| | | '-' + a.modelNum)) |
| | | return a |
| | | })), |
| | | pairing: JSON.stringify(this.bsm2Val2) |
| | | }) |
| | | }).then(res => { |
| | | this.saveLoad = false |
| | | if (res.code == 201) return |
| | | this.$message.success('已提交') |
| | | this.$parent.playOrder(0) |
| | | }).catch(e=>{ |
| | | this.saveLoad = false |
| | | if(type==0){ |
| | | editTable.push(obj) |
| | | } |
| | | }) |
| | | if(type==0){ |
| | | editTable.forEach(a => { |
| | | a.symbolList = Array.from(new Set(a.symbolList)) |
| | | }) |
| | | let editTableNew = [] |
| | | editTable.forEach(a => { |
| | | a.symbolList.forEach(b => { |
| | | let obj = { |
| | | sampleCode:a.sampleCode, |
| | | model:a.model, |
| | | symbolItem:b, |
| | | sampleId:a.sampleId, |
| | | value:null |
| | | } |
| | | editTableNew.push(obj) |
| | | }) |
| | | }) |
| | | return editTableNew |
| | | }else{ |
| | | return sampleList |
| | | } |
| | | }, |
| | | saveMethod(sampleList){ |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | str: JSON.stringify({ |
| | | insOrder: this.addObj, |
| | | list: JSON.stringify(sampleList.map(a => { |
| | | a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? |
| | | '' : ( |
| | | '-' + a.modelNum)) |
| | | return a |
| | | })), |
| | | pairing: JSON.stringify(this.bsm2Val2) |
| | | }) |
| | | }).then(res => { |
| | | this.saveLoad = false |
| | | if (res.code == 201) return |
| | | this.$message.success('已提交') |
| | | this.bsm3Dia = false; |
| | | this.$parent.playOrder(0) |
| | | }).catch(e=>{ |
| | | this.saveLoad = false |
| | | }) |
| | | }, |
| | | upInsOrderOfState(state) { |
| | | if (state == 1) { |
| | |
| | | let obj = this.sampleIds.find(b => b == a.id) |
| | | if (obj) { |
| | | a.standardMethodListId = this.standardMethodListId |
| | | this.methodChange(this.standardMethodListId, a) |
| | | } |
| | | }) |
| | | }, |