供应商和基础管理的药品字典维护 增加明细分类逻辑

dev_unify
qiuyt 8 months ago
parent 94bdc11d98
commit 7ee5482b96

@ -256,6 +256,26 @@
<p class="form-title">基本信息</p>
</template>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="明细分类:" prop="detailSort">
<el-select v-model="newProductData.detailSort" style="width: 90%" placeholder="选择明细分类">
<el-option label="麻醉药品原料药" :value="1"></el-option>
<el-option label="第一类精神药品原料药" :value="2"></el-option>
<el-option label="第二类精神药品原料药" :value="3"></el-option>
<el-option label="麻醉药品" :value="4"></el-option>
<el-option label="第一类精神药品" :value="5"></el-option>
<el-option label="第二类精神药品" :value="6"></el-option>
<el-option label="中药注射剂" :value="7"></el-option>
<el-option label="疫苗" :value="8"></el-option>
<el-option label="血液制品" :value="9"></el-option>
<el-option label="国家基本药品目录入网药品" :value="10"></el-option>
<el-option label="非基本药物" :value="11"></el-option>
<el-option label="各省增补基本药物" :value="12"></el-option>
<el-option label="特殊药品复方制剂" :value="13"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码"
@ -264,6 +284,10 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品商品条码"
@ -271,9 +295,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品通用名称:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入药品通用名称"
@ -281,6 +302,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品名称:" prop="spmc">
<el-input style="width: 90%" size="small" placeholder="请输入商品名称"
@ -288,8 +312,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格"
@ -297,6 +319,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="packUnit">
<el-input style="width: 90%" size="small" placeholder="请输入最小包装单位"
@ -304,8 +329,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入制剂规格"
@ -313,6 +336,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入剂型"
@ -320,8 +346,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装材质:" prop="packMatrial">
<el-input style="width: 90%" size="small" placeholder="请输入包装材质"
@ -336,6 +360,9 @@
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入批准文号"
@ -343,9 +370,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
@ -353,6 +377,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品类型:" prop="physicType">
<el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型">
@ -363,9 +390,6 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="药品分类:" prop="majorType">
<el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable>
@ -375,6 +399,10 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="医保分类:" prop="medicareType">
<el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类"
@ -387,10 +415,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品价格:" prop="price">
<el-input
@ -402,13 +426,7 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="存储条件:" prop="ylqxzcrbarmc">
<el-input style="width: 90%" size="small" placeholder="请输入存储条件"
v-model.trim="newProductData.storageCondition"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
@ -427,7 +445,13 @@
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="存储条件:" prop="ylqxzcrbarmc">
<el-input style="width: 90%" size="small" placeholder="请输入存储条件"
v-model.trim="newProductData.storageCondition"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="运输条件:" prop="transportCondition">
<el-input style="width: 90%" size="small" placeholder="请输入运输条件"
@ -435,6 +459,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
@ -442,9 +469,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品状态:" prop="majorStatus">
<el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态">
@ -708,6 +732,9 @@ export default {
useLevel: [
{required: true, message: '请选择计量单位', trigger: 'blur'}
],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [
// {required: true, message: '', trigger: 'blur'}
// ],
@ -904,19 +931,21 @@ export default {
this.$message.error('层级标识不能为空')
return
}
if (isBlank(row.packLevel)) {
this.$message.error('包装级别不能为空')
if (isBlank(row.bhxjsl)) {
row.bhxjsl = 0
}
if (isNaN(row.packLevel)) {
row.packLevel = 0
}
if(this.newProductData.detailSort > 9 && row.packLevel == '0' ){
this.$message.error('包装级别必须大于0')
return
}
if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空')
return
}
if (isBlank(row.bhxjsl)) {
this.$message.error('请填写下级数量')
return
}
let editQuery = {
nameCode: row.nameCode,
packLevel: row.packLevel,
@ -1036,8 +1065,8 @@ export default {
addDrugLevel() {
this.detailList.push({
nameCode: '',
packLevel: null,
bhxjsl: null,
packLevel: 0,
bhxjsl: 0,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true

@ -347,7 +347,7 @@
</el-card>
<el-card class="el-card">
<el-form :model="repEditQuery" ref="editQuery" border label-width="100px">
<el-form :model="repEditQuery" :rules="formRules" ref="editQuery" border label-width="100px">
<el-row :gutter="24" class="el-row" type="flex">
<el-col :span="18" class="el-col">
@ -360,6 +360,26 @@
</el-col>
</el-row>
<el-row type="flex" style="margin-top: 15px">
<el-col :span="11" class="el-col">
<el-form-item label="明细分类:" prop="detailSort">
<el-select v-model="repEditQuery.detailSort" style="width: 90%" placeholder="选择明细分类">
<el-option label="麻醉药品原料药" :value="1"></el-option>
<el-option label="第一类精神药品原料药" :value="2"></el-option>
<el-option label="第二类精神药品原料药" :value="3"></el-option>
<el-option label="麻醉药品" :value="4"></el-option>
<el-option label="第一类精神药品" :value="5"></el-option>
<el-option label="第二类精神药品" :value="6"></el-option>
<el-option label="中药注射剂" :value="7"></el-option>
<el-option label="疫苗" :value="8"></el-option>
<el-option label="血液制品" :value="9"></el-option>
<el-option label="国家基本药品目录入网药品" :value="10"></el-option>
<el-option label="非基本药物" :value="11"></el-option>
<el-option label="各省增补基本药物" :value="12"></el-option>
<el-option label="特殊药品复方制剂" :value="13"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -367,6 +387,10 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -374,9 +398,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="耗材材质:" prop="matrial">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"-->
@ -391,6 +412,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -398,8 +422,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="耗材材质:" prop="matrial">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"-->
@ -414,6 +436,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -421,8 +446,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -430,6 +453,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -437,8 +463,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -446,6 +470,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -453,8 +480,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -462,6 +487,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="产品描述:" prop="cpms">
<el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -847,6 +875,15 @@ export default {
hsflOptions: [],
thrTypeOptions: [],
classifyList: [],
formRules: {
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [
// {required: true, message: '', trigger: 'blur'}
// ],
},
};
},
@ -986,10 +1023,17 @@ export default {
this.$message.error("请输入或者正确填写药品价格");
return;
}
this.$refs['editQuery'].validate((valid) => {
if (!valid) {
return this.$message.error('请补充必要数据')
}
this.postQuery.rlIds.splice(0);
this.postQuery.rlIds.push(selectData.id);
this.postQuery.price = this.repEditQuery.price;
this.allExport();
})
},
allExport() {

@ -256,6 +256,26 @@
<p class="form-title">基本信息</p>
</template>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="明细分类:" prop="detailSort">
<el-select v-model="newProductData.detailSort" style="width: 90%" placeholder="选择明细分类">
<el-option label="麻醉药品原料药" :value="1"></el-option>
<el-option label="第一类精神药品原料药" :value="2"></el-option>
<el-option label="第二类精神药品原料药" :value="3"></el-option>
<el-option label="麻醉药品" :value="4"></el-option>
<el-option label="第一类精神药品" :value="5"></el-option>
<el-option label="第二类精神药品" :value="6"></el-option>
<el-option label="中药注射剂" :value="7"></el-option>
<el-option label="疫苗" :value="8"></el-option>
<el-option label="血液制品" :value="9"></el-option>
<el-option label="国家基本药品目录入网药品" :value="10"></el-option>
<el-option label="非基本药物" :value="11"></el-option>
<el-option label="各省增补基本药物" :value="12"></el-option>
<el-option label="特殊药品复方制剂" :value="13"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码"
@ -264,6 +284,10 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品商品条码"
@ -271,9 +295,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品通用名称:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入药品通用名称"
@ -281,6 +302,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="商品名称:" prop="spmc">
<el-input style="width: 90%" size="small" placeholder="请输入商品名称"
@ -288,8 +312,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格"
@ -297,6 +319,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="packUnit">
<el-input style="width: 90%" size="small" placeholder="请输入最小包装单位"
@ -304,8 +329,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入制剂规格"
@ -313,6 +336,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入剂型"
@ -320,8 +346,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装材质:" prop="packMatrial">
<el-input style="width: 90%" size="small" placeholder="请输入包装材质"
@ -336,6 +360,9 @@
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入批准文号"
@ -343,9 +370,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
@ -353,6 +377,8 @@
></el-input>
</el-form-item>
</el-col>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品类型:" prop="physicType">
<el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型">
@ -364,8 +390,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="药品分类:" prop="majorType">
<el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable>
@ -375,6 +399,10 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="医保分类:" prop="medicareType">
<el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类"
@ -387,10 +415,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品价格:" prop="price">
<el-input
@ -402,13 +426,7 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="存储条件:" prop="ylqxzcrbarmc">
<el-input style="width: 90%" size="small" placeholder="请输入存储条件"
v-model.trim="newProductData.storageCondition"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
@ -427,7 +445,13 @@
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="存储条件:" prop="ylqxzcrbarmc">
<el-input style="width: 90%" size="small" placeholder="请输入存储条件"
v-model.trim="newProductData.storageCondition"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="运输条件:" prop="transportCondition">
<el-input style="width: 90%" size="small" placeholder="请输入运输条件"
@ -435,6 +459,9 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
@ -442,9 +469,6 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="药品状态:" prop="majorStatus">
<el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态">
@ -875,7 +899,10 @@ export default {
],
useMaxLevel: [
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
]
],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
},
detailList: [
//
@ -1070,13 +1097,22 @@ export default {
//
levelSave(row) {
if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空')
return
}
if (isBlank(row.packLevel)) {
this.$message.error('包装级别不能为空')
if (isBlank(row.bhxjsl) ) {
row.bhxjsl = 0
}
if (isNaN(row.packLevel)) {
row.packLevel = 0
}
if(this.newProductData.detailSort > 9 && row.packLevel == '0' ){
this.$message.error('包装级别必须大于0')
return
}
if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空')
@ -1201,8 +1237,8 @@ export default {
addDrugLevel() {
this.detailList.push({
nameCode: '',
packLevel: null,
bhxjsl: null,
packLevel: 0,
bhxjsl: 0,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true

Loading…
Cancel
Save