| | |
| | | </el-table-column> |
| | | <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.method" :disabled="scope.row.model==null||active>1" placeholder="检验标准" size="small" |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null" placeholder="检验标准" size="small" |
| | | :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" @focus="methodFocus" :readonly="active>1"> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | |
| | | </el-table> |
| | | <el-table class="el-table" ref="productTable" :data="productList" height="380px" tooltip-effect="dark" border |
| | | @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect" |
| | | :row-class-name="tableRowClassName" v-loading="getProductLoad"> |
| | | :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll"> |
| | | <el-table-column type="selection" width="65" :selectable="selectable"></el-table-column> |
| | | <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | |
| | | this.selectInsOrderTemplate() |
| | | this.getAuthorizedPerson(); |
| | | this.selectEnumByCategoryForUnit() |
| | | if (this.active != 1){ |
| | | this.selectStandardMethods() |
| | | if (this.active != 1) { |
| | | // 查看/审核流程 |
| | | // 请求接口,回显数据 |
| | | this.$axios.post(this.$api.insOrder.getInsOrder, { |
| | |
| | | }; |
| | | this.addObj.type = String(this.addObj.type) |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct); |
| | | this.addObj.sampleNum = this.sampleList.length |
| | | this.$nextTick(() => { |
| | | this.$refs.sampleTable.doLayout() |
| | | }) |
| | |
| | | } |
| | | if (!this.addObj.type) { |
| | | this.$message.error('未选择紧急程度') |
| | | return |
| | | } else if (this.sampleList.length < 1) { |
| | | this.$message.error('请添加一个样品') |
| | | } else if (!this.sampleList.every(m => m.sample)) { |
| | | this.$message.error('请输入样品名称') |
| | | } else if (!this.sampleList.every(m => m.model)) { |
| | | this.$message.error('请输入样品型号') |
| | | } else if (!this.sampleList.every(m => m.standardMethodListId)) { |
| | | this.$message.error('请选择检验标准') |
| | | } else if (!this.sampleList.every(m => m.unit)) { |
| | | this.$message.error('请输入样品的单位') |
| | | } else { |
| | | this.saveLoad = true |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | insOrder: this.addObj, |
| | | list: this.sampleList |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.saveLoad = false |
| | | if (res.code == 201) return |
| | | this.$message.success('已提交') |
| | | this.$parent.playOrder(0) |
| | | }) |
| | | } |
| | | if (!this.sampleList.every(m => m.sample)) { |
| | | this.$message.error('输入样品名称') |
| | | return |
| | | } |
| | | if (!this.sampleList.every(m => m.model)) { |
| | | this.$message.error('输入样品型号') |
| | | return |
| | | } |
| | | if (!this.sampleList.every(m => m.method)) { |
| | | this.$message.error('选择检验标准') |
| | | return |
| | | } |
| | | if (!this.sampleList.every(m => m.unit)) { |
| | | this.$message.error('输入单位') |
| | | return |
| | | } |
| | | if (!this.sampleList.every(m => m.isLeave!=null||m.isLeave!=undefined)) { |
| | | this.$message.error('是否留样') |
| | | return |
| | | } |
| | | this.saveLoad = true |
| | | |
| | | this.$axios.post(this.$api.insOrder.addInsOrder, { |
| | | insOrder: this.addObj, |
| | | list: this.sampleList |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.saveLoad = false |
| | | if (res.code == 201) return |
| | | this.$message.success('已提交') |
| | | this.$parent.playOrder(0) |
| | | }) |
| | | }, |
| | | upInsOrderOfState(state) { |
| | | this.saveLoad = true |
| | |
| | | if (res.code == 201) return |
| | | this.$message.success('提交成功') |
| | | // 如果紧急程度为紧急,需要直接下发人员 |
| | | if (this.addObj.type == 2) { |
| | | this.issuedDialogVisible = true; |
| | | this.$axios.post(this.$api.insOrder.selectOrderManDay, { |
| | | id: this.currentId |
| | | }).then(ress => { |
| | | this.distributeData.orderId = this.currentId |
| | | this.distributeData.appointed = ress.data |
| | | }) |
| | | } else { |
| | | this.$parent.playOrder(0) |
| | | } |
| | | if (this.addObj.type == 2) { |
| | | this.issuedDialogVisible = true; |
| | | this.$axios.post(this.$api.insOrder.selectOrderManDay, { |
| | | id: this.currentId |
| | | }).then(ress => { |
| | | this.distributeData.orderId = this.currentId |
| | | this.distributeData.appointed = ress.data |
| | | }) |
| | | } else { |
| | | this.$parent.playOrder(0) |
| | | } |
| | | }) |
| | | }, |
| | | // 下发 |
| | |
| | | this.sample.standardMethodListId = null |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sampleList.push(this.HaveJson(this.sample)).map(m=>{ |
| | | m.isLeave = 0 |
| | | return m |
| | | }) |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.count++ |
| | | } |
| | | this.$refs.sampleTable.doLayout() |
| | |
| | | tree: this.selectTree |
| | | }).then(res => { |
| | | this.methodLoad = false |
| | | if(res.data.standardMethodList.length==0&&this.selectTree.split('-').length==5){ |
| | | let arr = this.selectTree.split('-') |
| | | let arr0 = arr.slice(0,arr.length-1) |
| | | let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1) |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: selectTree |
| | | }).then(ress => { |
| | | this.methods = ress.data.standardMethodList |
| | | }) |
| | | }else{ |
| | | this.methods = res.data.standardMethodList |
| | | } |
| | | try { |
| | | if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) { |
| | | let arr = this.selectTree.split('-') |
| | | let arr0 = arr.slice(0, arr.length - 1) |
| | | let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1) |
| | | this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, { |
| | | tree: selectTree |
| | | }).then(ress => { |
| | | this.methods = ress.data.standardMethodList |
| | | }) |
| | | } else { |
| | | this.methods = res.data.standardMethodList |
| | | } |
| | | } catch (e) {} |
| | | }) |
| | | }, |
| | | addStandardTree() { |
| | |
| | | this.sample.standardMethodListId = null |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sampleList.push(this.HaveJson(this.sample)).map(m=>{ |
| | | m.isLeave = 0 |
| | | return m |
| | | }) |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.count++ |
| | | } |
| | | }, |
| | |
| | | }, |
| | | upProductSelect(selection, row) { |
| | | row.state = row.state == 1 ? 0 : 1 |
| | | this.sampleList.map(item=>{ |
| | | if(this.sampleIds.indexOf(item.id)>-1){ |
| | | item.insProduct.map(m=>{ |
| | | if(m.id==row.id){ |
| | | m.state = row.state; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m.state = row.state; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | }, |
| | | tableRowClassName({ |
| | | row, |
| | |
| | | }) |
| | | row.insProduct = this.HaveJson(res.data) |
| | | this.getProductLoad = false |
| | | this.productList = [] |
| | | this.$refs.sampleTable.setCurrentRow() |
| | | this.productList = row.insProduct |
| | | this.$refs.sampleTable.setCurrentRow(row) |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |
| | | if (a.state == 1) this.toggleSelection(a) |
| | | }) |
| | | }, 200) |
| | | }) |
| | | }, |
| | | methodFocus(){ |
| | | methodFocus() { |
| | | this.selectsStandardMethodByFLSSM() |
| | | }, |
| | | handleChangeModel(e){ |
| | | let num = this.selectTree.split('-').length; |
| | | if(num==4){ |
| | | this.selectTree = this.selectTree + ' - '+ e |
| | | }else{ |
| | | let arr = this.selectTree.split('-') |
| | | let arr0 = arr.slice(0,arr.length-1) |
| | | this.selectTree = arr0.join('-')+ '- '+ e |
| | | } |
| | | }, |
| | | // 要求值变化时 |
| | | requestChange(e,row){ |
| | | this.sampleList.map(item=>{ |
| | | if(this.sampleIds.indexOf(item.id)>-1){ |
| | | item.insProduct.map(m=>{ |
| | | if(m.id==row.id){ |
| | | m.ask = e; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | }, |
| | | handleChangeModel(e) { |
| | | let num = this.selectTree.split('-').length; |
| | | if (num == 4) { |
| | | this.selectTree = this.selectTree + ' - ' + e |
| | | } else { |
| | | let arr = this.selectTree.split('-') |
| | | let arr0 = arr.slice(0, arr.length - 1) |
| | | this.selectTree = arr0.join('-') + '- ' + e |
| | | } |
| | | }, |
| | | // 要求值变化时 |
| | | requestChange(e, row) { |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m.ask = e; |
| | | } |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | }, |
| | | selectStandardMethods() { |
| | | this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => { |
| | | this.methods = res.data |
| | | }) |
| | | }, |
| | | selectable(){ |
| | | if(this.active>1){ |
| | | return false |
| | | }else{ |
| | | return true |
| | | } |
| | | }, |
| | | handleAll(e){ |
| | | if(e.length>0){ |
| | | this.productList.map(m=>{ |
| | | m.state = 1 |
| | | return m |
| | | }) |
| | | }else{ |
| | | this.productList.map(m=>{ |
| | | m.state = 0 |
| | | return m |
| | | }) |
| | | } |
| | | if(e.length>0){ |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | m.state = 1 |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | }else{ |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | m.state = 0 |
| | | return m; |
| | | }) |
| | | } |
| | | return item |
| | | }) |
| | | } |
| | | this.$nextTick(()=>{ |
| | | this.$refs.productTable.doLayout() |
| | | }) |
| | | } |
| | | } |
| | | } |