| | |
| | | .ins_order_add .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | } |
| | | |
| | | .el-select .is-disabled{ |
| | | background: transparent !important; |
| | | } |
| | | .el-select .is-disabled .el-input__inner{ |
| | | background: transparent !important; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | |
| | | <div class="search_input"> |
| | | <el-input readonly size="small" v-model="addObj.custom"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" |
| | | @click="selectUserDia = true"></el-button></template> |
| | | @click="selectUserDia = true" :disabled="active>1"></el-button></template> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label"><span class="required-span">* </span>紧急程度:</div> |
| | | <div class="search_input"> |
| | | <el-select size="small" style="width: 100%;" clearable v-model="addObj.type"> |
| | | <el-select size="small" style="width: 100%;" clearable v-model="addObj.type" :disabled="active>1"> |
| | | <el-option v-for="(a, ai) in type" :key="ai" :value="a.value" :label="a.label"></el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="search_input"> |
| | | <el-input readonly size="small" v-model="addObj.sample"> |
| | | <template slot="append"><el-button slot="append" icon="el-icon-search" |
| | | @click="selectStandardTree = true"></el-button></template> |
| | | @click="selectStandardTree = true" :disabled="active>1"></el-button></template> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | |
| | | <div class="search_label"><span class="required-span">* </span>样品数量:</div> |
| | | <div class="search_input"> |
| | | <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0" |
| | | style="width: 65%;" @change="addStandardTree"></el-input-number> |
| | | style="width: 65%;" @change="addStandardTree" :readonly="active>1"></el-input-number> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">样品单位:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addObj.unit" clearable size="small" style="width: 100%;"> |
| | | <el-select v-model="addObj.unit" clearable size="small" style="width: 100%;" :disabled="active>1"> |
| | | <el-option v-for="(a, i) in units" :key="i" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label">OTC订单号:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="addObj.otcCode"></el-input> |
| | | <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" style="width: 175px;">是否涉及配套样品:</div> |
| | | <div class="search_input" style="width: calc(100% - 175px);"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | |
| | | <div class="search_label">备注:</div> |
| | | <div class="search_input"> |
| | | <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" size="small" clearable |
| | | v-model="addObj.remark"></el-input> |
| | | v-model="addObj.remark" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-button> |
| | | </div> --> |
| | | <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="250px" tooltip-effect="dark" |
| | | border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;"> |
| | | <el-table-column type="selection" width="60"></el-table-column> |
| | | border @selection-change="selectSample" highlight-current-row @row-click="rowClick" style="margin-top: 10px;" > |
| | | <el-table-column type="selection" width="60" :selectable="selectable"></el-table-column> |
| | | <el-table-column type="index" label="序号" width="65" align="center"></el-table-column> |
| | | <el-table-column prop="sample" label="样品名称" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.sample" clearable></el-input> |
| | | <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"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成"></el-input> |
| | | <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="不填写则系统自动生成" :readonly="active>1"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="factory" label="工厂" align="center" min-width="100"> |
| | |
| | | <el-table-column prop="model" label="样品型号" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="样品型号" |
| | | size="small" @change="handleChangeModel"> |
| | | size="small" @change="handleChangeModel" :disabled="active>1"> |
| | | <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </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" filterable placeholder="检验标准" size="small" |
| | | :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" @focus="methodFocus"> |
| | | <el-select v-model="scope.row.method" :disabled="scope.row.model==null||active>1" 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-select> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="单位" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.unit" clearable size="small" style="width: 100%;"> |
| | | <el-select v-model="scope.row.unit" clearable size="small" style="width: 100%;" :disabled="active>1"> |
| | | <el-option v-for="(a, i) in units" :key="i" :label="a.label" :value="a.value"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isLeave" label="是否留样" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.isLeave" size="small"> |
| | | <el-select v-model="scope.row.isLeave" size="small" :disabled="active>1"> |
| | | <el-option label="留样" :value="1"></el-option> |
| | | <el-option label="不留样" :value="0"></el-option> |
| | | </el-select> |
| | |
| | | <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"> |
| | | <el-table-column type="selection" width="65"></el-table-column> |
| | | <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" |
| | | show-overflow-tooltip></el-table-column> |
| | |
| | | save() { |
| | | if (!this.addObj.custom) { |
| | | this.$message.error('未选择下单客户') |
| | | } else if (!this.addObj.type) { |
| | | this.$message.error('未选择紧急程度') |
| | | } 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.method)) { |
| | | this.$message.error('选择检验标准') |
| | | }else if (!this.sampleList.every(m => m.unit)) { |
| | | this.$message.error('输入单位') |
| | | }else if (!this.sampleList.every(m => m.isLeave)) { |
| | | 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) |
| | | }) |
| | | return |
| | | } |
| | | if (!this.addObj.type) { |
| | | this.$message.error('未选择紧急程度') |
| | | return |
| | | } |
| | | 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 |
| | |
| | | this.sample.standardMethodListId = null |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.sampleList.push(this.HaveJson(this.sample)).map(m=>{ |
| | | m.isLeave = 0 |
| | | return m |
| | | }) |
| | | this.count++ |
| | | } |
| | | this.$refs.sampleTable.doLayout() |
| | |
| | | this.sample.standardMethodListId = null |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | | this.sampleList.push(this.HaveJson(this.sample)).map(m=>{ |
| | | m.isLeave = 0 |
| | | return m |
| | | }) |
| | | this.count++ |
| | | } |
| | | }, |
| | |
| | | } |
| | | return item |
| | | }) |
| | | }, |
| | | selectable(){ |
| | | if(this.active>1){ |
| | | return false |
| | | }else{ |
| | | return true |
| | | } |
| | | } |
| | | } |
| | | } |