| | |
| | | </div> |
| | | </el-col> --> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>来样方式:</div> |
| | | <div class="search_label"><span class="required-span">* </span>订单类型:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addObj.formType" size="small" :disabled="active>1" style="width: 100%;"> |
| | | <el-option v-for="(a,ai) in formType" :key="ai" :label="a.label" :value="a.value"></el-option> |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验标准:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '请输入'" size="small" @focus="methodFocus" |
| | | :loading="methodLoad" @change="changeStandardMethodListId"> |
| | | <el-select v-model="standardMethodListId" :placeholder="active>1 ? '' : '请输选择'" size="small" @focus="methodFocus" |
| | | :loading="methodLoad" multiple @change="changeStandardMethodListId"> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="sampleCode" label="样品编号" min-width="140" align="center"> |
| | | <el-table-column prop="sampleCode" label="样品编号" min-width="100" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成" |
| | | :readonly="active>1"></el-input> |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="modelNum" label="型号参数" width="130" align="center" v-if="!(active>1)"> |
| | | <el-table-column prop="modelNum" label="型号参数" min-width="100" align="center" v-if="!(active>1)"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="非必填" |
| | | @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)" |
| | |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" |
| | | placeholder="检验标准" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" |
| | | @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []"> |
| | | @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testRequirements" label="试验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1" |
| | | placeholder="试验标准" size="small" :readonly="active>1" style="width: 100%;" clearable> |
| | | <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | RTS: '', |
| | | totalArr: [], |
| | | model: null, |
| | | standardMethodListId: null, |
| | | standardMethodListId: [], |
| | | symbolList:[ |
| | | 'RTS','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'], |
| | | inspectionItem:null, |
| | |
| | | temId: '', |
| | | sonLaboratoryList:[], |
| | | selectiveEcho: [], // 检验下单的时候勾选检验项目,如果使用筛选提交显示检验项目为空 回显列表 |
| | | deaprtEnum:[] |
| | | deaprtEnum:[], |
| | | standard:[] |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | }, |
| | | 'addObj.sample'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.standardMethodListId = [] |
| | | }, |
| | | 'addObj.sampleNum'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.standardMethodListId = [] |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | // this.selectInsOrderTemplate() |
| | | this.getAuthorizedPerson(); |
| | | this.selectEnumByCategoryForUnit() |
| | | this.selectEnumByCategoryForStandard() |
| | | this.selectStandardMethods() |
| | | this.selectEnumByCategoryForOrderType() |
| | | this.selectDepartmentEnum() |
| | |
| | | ...res.data.insOrder |
| | | }; |
| | | this.addObj.type = String(this.addObj.type) |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct); |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct) |
| | | this.sampleList.forEach(m=>{ |
| | | m.standardMethodListId = JSON.parse(m.standardMethodListId) |
| | | }); |
| | | this.getProNum() |
| | | this.addObj.sampleNum = this.sampleList.length |
| | | this.$nextTick(() => { |
| | |
| | | }else if(this.addObj.orderType&&this.addObj.orderType!='C'&&!this.addObj.departmentLimsId){ |
| | | this.addObj.departmentLims = '检测中心' |
| | | this.addObj.departmentLimsId = this.deaprtEnum.find(m=>m.name=='检测中心').id |
| | | }else{ |
| | | this.$message.error('请选择检验类别') |
| | | return |
| | | } |
| | | // else{ |
| | | // this.$message.error('请选择检验类别') |
| | | // return |
| | | // } |
| | | if (!this.addObj.companyId) { |
| | | this.$message.error('未选择客户单位') |
| | | return |
| | | } |
| | | let noLaboratory = this.totalArr.filter(a => a.state == 1&&!a.sonLaboratory) |
| | | if(noLaboratory.length>0){ |
| | | let str = '' |
| | | noLaboratory.forEach((m,j)=>{ |
| | | str += j==noLaboratory.length-1?m.inspectionItem+'-'+m.inspectionItemSubclass:m.inspectionItem+'-'+m.inspectionItemSubclass+',' |
| | | }) |
| | | this.$message.error(str+'没有关联实验室室,请联系管理员') |
| | | return |
| | | } |
| | | if (!this.addObj.type) { |
| | | this.$message.error('未选择紧急程度') |
| | | } else if (!this.addObj.formType) { |
| | | this.$message.error('请输入来样方式') |
| | | this.$message.error('请输入订单类型') |
| | | } else if (!this.addObj.orderType) { |
| | | this.$message.error('请选择检验类别') |
| | | } else if (!this.addObj.production) { |
| | |
| | | this.$message.error('请输入样品名称') |
| | | } else if (!this.sampleList.every(m => m.model)) { |
| | | this.$message.error('请输入样品型号') |
| | | } else if (!this.sampleList.every(m => m.standardMethodListId)) { |
| | | } else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) { |
| | | this.$message.error('请选择检验标准') |
| | | } else { |
| | | //校验检验项的要求值和要求描述,仅委托要求 |
| | |
| | | this.distributeData.appointed = ress.data |
| | | }) |
| | | setTimeout(() => { |
| | | this.issuedDialogVisible = true; |
| | | // this.issuedDialogVisible = true; |
| | | // this.$message.success('提交成功') |
| | | this.upLoad = false |
| | | this.$parent.playOrder(0) |
| | | }, 1000) |
| | | }) |
| | | } else { |
| | |
| | | }) |
| | | }, |
| | | getProNum() { |
| | | this.sampleSelectionList.forEach((m, i) => { |
| | | Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | if (this.active != 1) { |
| | | this.sampleList.forEach((m, i) => { |
| | | Vue.set(this.sampleList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | }else{ |
| | | this.sampleSelectionList.forEach((m, i) => { |
| | | Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length) |
| | | }) |
| | | } |
| | | this.$refs.sampleTable.doLayout() |
| | | }, |
| | | searchFilter() { |
| | |
| | | this.sample.sample = this.addObj.sample |
| | | this.sample.model = this.addObj.model |
| | | this.sample.unit = this.addObj.unit |
| | | this.sample.standardMethodListId = null |
| | | this.sample.standardMethodListId = [] |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sample.childSampleList = [] |
| | |
| | | this.sample.sample = this.addObj.sample |
| | | this.sample.model = this.addObj.model |
| | | this.sample.unit = this.addObj.unit |
| | | this.sample.standardMethodListId = null |
| | | this.sample.standardMethodListId = [] |
| | | this.sample.insProduct = [] |
| | | this.sample.id = parseInt(i+1) |
| | | this.sample.childSampleList = [] |
| | |
| | | }, |
| | | rowClick(row, column, event) { |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '委托要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | this.sampleId = row.id |
| | | if (this.active !== 1) { |
| | | this.sampleIds = [] |
| | |
| | | this.units = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForStandard() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "试验标准" |
| | | }).then(res => { |
| | | this.standard = res.data |
| | | }) |
| | | }, |
| | | selectEnumByCategoryForOrderType() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "检验类别" |
| | |
| | | }, |
| | | selectEnumByCategoryForSampleForm() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "来样方式" |
| | | category: "订单类型" |
| | | }).then(res => { |
| | | this.formType = res.data |
| | | if (this.formType.length > 0) { |
| | |
| | | methodChange(val, row) { |
| | | if (val === null || val === '') return |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '委托要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | this.getProductLoad = true |
| | | let selectTreeList = this.selectTree.split(" - ") |
| | | this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) |
| | | |
| | | console.log( this.selectTree); |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum, |
| | | standardMethodListId: val, |
| | | standardMethodListId: val.join(','), |
| | | factory: selectTreeList.join(" - "), |
| | | }, { |
| | | headers: { |