Merge remote-tracking branch 'origin/dev_drug' into dev_drug

# Conflicts:
#	src/views/basic/product/drug/drugAdd.vue
#	src/views/supplier/companyDrug/basicCompanyproductEdit.vue
dev_unify
yewj 8 months ago
commit 5413eae7a4

@ -256,6 +256,26 @@
<p class="form-title">基本信息</p> <p class="form-title">基本信息</p>
</template> </template>
<el-row type="flex"> <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-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm"> <el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码" <el-input style="width: 90%" size="small" placeholder="请输入医保编码"
@ -264,6 +284,10 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm"> <el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品商品条码" <el-input style="width: 90%" size="small" placeholder="请输入药品商品条码"
@ -271,9 +295,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品通用名称:" prop="cpmctymc"> <el-form-item label="药品通用名称:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入药品通用名称" <el-input style="width: 90%" size="small" placeholder="请输入药品通用名称"
@ -281,6 +302,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="商品名称:" prop="spmc"> <el-form-item label="商品名称:" prop="spmc">
<el-input style="width: 90%" size="small" placeholder="请输入商品名称" <el-input style="width: 90%" size="small" placeholder="请输入商品名称"
@ -288,8 +312,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg"> <el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格" <el-input style="width: 90%" size="small" placeholder="请输入包装规格"
@ -297,6 +319,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="packUnit"> <el-form-item label="最小包装单位:" prop="packUnit">
<el-input style="width: 90%" size="small" placeholder="请输入最小包装单位" <el-input style="width: 90%" size="small" placeholder="请输入最小包装单位"
@ -304,8 +329,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec"> <el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入制剂规格" <el-input style="width: 90%" size="small" placeholder="请输入制剂规格"
@ -313,6 +336,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit"> <el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入剂型" <el-input style="width: 90%" size="small" placeholder="请输入剂型"
@ -320,8 +346,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="包装材质:" prop="packMatrial"> <el-form-item label="包装材质:" prop="packMatrial">
<el-input style="width: 90%" size="small" placeholder="请输入包装材质" <el-input style="width: 90%" size="small" placeholder="请输入包装材质"
@ -336,6 +360,9 @@
<!-- ></el-input>--> <!-- ></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!--</el-col>--> <!--</el-col>-->
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh"> <el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入批准文号" <el-input style="width: 90%" size="small" placeholder="请输入批准文号"
@ -343,9 +370,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory"> <el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业" <el-input style="width: 90%" size="small" placeholder="请输入生产企业"
@ -353,6 +377,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品类型:" prop="physicType"> <el-form-item label="药品类型:" prop="physicType">
<el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型"> <el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型">
@ -363,9 +390,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex"> <el-col :span="11" type="flex">
<el-form-item label="药品分类:" prop="majorType"> <el-form-item label="药品分类:" prop="majorType">
<el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable> <el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable>
@ -375,6 +399,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="医保分类:" prop="medicareType"> <el-form-item label="医保分类:" prop="medicareType">
<el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类" <el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类"
@ -387,10 +415,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品价格:" prop="price"> <el-form-item label="药品价格:" prop="price">
<el-input <el-input
@ -402,13 +426,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </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>
<!--<el-row type="flex">--> <!--<el-row type="flex">-->
@ -427,7 +445,13 @@
<!-- </el-col>--> <!-- </el-col>-->
<!--</el-row>--> <!--</el-row>-->
<el-row type="flex"> <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-col :span="11" class="el-col">
<el-form-item label="运输条件:" prop="transportCondition"> <el-form-item label="运输条件:" prop="transportCondition">
<el-input style="width: 90%" size="small" placeholder="请输入运输条件" <el-input style="width: 90%" size="small" placeholder="请输入运输条件"
@ -435,6 +459,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm"> <el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号" <el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
@ -442,9 +469,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品状态:" prop="majorStatus"> <el-form-item label="药品状态:" prop="majorStatus">
<el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态"> <el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态">
@ -500,6 +524,7 @@
:close-on-press-escape="false" :close-on-press-escape="false"
width="85%" width="85%"
v-if="selectDrugLevelVisible" v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
> >
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px"> <el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px">
@ -534,6 +559,7 @@
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="层级标识" prop="nameCode" show-overflow-tooltip></el-table-column> <el-table-column label="层级标识" prop="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column> <el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column>
<el-table-column label="批准文号" prop="approvalNum" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufacturer" show-overflow-tooltip width="200px"></el-table-column> <el-table-column label="生产企业" prop="manufacturer" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="产品名称通用名称" prop="cpmctymc" show-overflow-tooltip width="200px"></el-table-column> <el-table-column label="产品名称通用名称" prop="cpmctymc" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column> <el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column>
@ -623,8 +649,8 @@ export default {
ybDrugDetail: {}, ybDrugDetail: {},
productData: {}, productData: {},
filterQueryDrugLevel: { filterQueryDrugLevel: {
nameCode: "", nameCode: '',
cpmctymc: "", cpmctymc: '',
page: 1, page: 1,
limit: 20, limit: 20,
total: 0, total: 0,
@ -709,6 +735,9 @@ export default {
useLevel: [ useLevel: [
{required: true, message: '请选择计量单位', trigger: 'blur'} {required: true, message: '请选择计量单位', trigger: 'blur'}
], ],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [ // useMaxLevel: [
// {required: true, message: '', trigger: 'blur'} // {required: true, message: '', trigger: 'blur'}
// ], // ],
@ -900,24 +929,27 @@ export default {
// //
levelSave(row) { levelSave(row) {
this.editRowSwitch = false this.editRowSwitch = false
if (isBlank(row.nameCode)) { if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空') this.$message.error('层级标识不能为空')
return return
} }
if (isBlank(row.packLevel)) { if (isBlank(row.bhxjsl)) {
this.$message.error('包装级别不能为空') row.bhxjsl = 0
}
if (isNaN(row.packLevel)) {
row.packLevel = 0
}
if(this.newProductData.detailSort > 9 && row.packLevel == '0' ){
this.$message.error('包装级别必须大于0')
return return
} }
if (isBlank(row.packUnit)) { if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空') this.$message.error('层级单位不能为空')
return return
} }
if (isBlank(row.bhxjsl)) {
this.$message.error('请填写下级数量')
return
}
let editQuery = { let editQuery = {
nameCode: row.nameCode, nameCode: row.nameCode,
packLevel: row.packLevel, packLevel: row.packLevel,
@ -977,21 +1009,6 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },
extractNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+/);
// null
return match ? parseInt(match[0], 10) : null;
},
extractUnitAfterNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+([^\d/]+)/);
// null
return match ? match[1].trim() : null;
},
selectDrugLevelItem(row){ selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => { getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
@ -1064,8 +1081,7 @@ export default {
handleCurrentChange() { handleCurrentChange() {
this.selectDrugLevel() this.selectDrugLevel()
} },
,
addDrugLevel() { addDrugLevel() {
this.detailList.push({ this.detailList.push({
nameCode: '', nameCode: '',
@ -1078,8 +1094,7 @@ export default {
this.newProductData.productId = null this.newProductData.productId = null
this.selectedIndex = this.detailList.length - 1 this.selectedIndex = this.detailList.length - 1
this.isSave = false this.isSave = false
} },
,
rowChange(index, val) { rowChange(index, val) {
@ -1092,8 +1107,7 @@ export default {
this.selectedIndex = index this.selectedIndex = index
this.isSave = false this.isSave = false
this.editRowSwitch = true this.editRowSwitch = true
} },
,
deleteLevel(index, row) { deleteLevel(index, row) {
this.$confirm('此操作将删除该层级,是否继续?', '提示', { this.$confirm('此操作将删除该层级,是否继续?', '提示', {
@ -1122,8 +1136,7 @@ export default {
} }
}).catch(() => { }).catch(() => {
}) })
} },
,
// //
@ -1163,8 +1176,7 @@ export default {
this.detailList = [] this.detailList = []
}) })
} }
} },
,
distributeLevelDiChange(val) { distributeLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val) const matchingItem = this.detailList.find(item => item.nameCode == val)
@ -1179,8 +1191,7 @@ export default {
} }
}) })
} },
,
useLevelDiChange(val) { useLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val) const matchingItem = this.detailList.find(item => item.nameCode == val)
if (matchingItem) { if (matchingItem) {
@ -1193,8 +1204,7 @@ export default {
useLeverCount: res.data.useLeverCount useLeverCount: res.data.useLeverCount
} }
}) })
} },
,
getDiLevel() { getDiLevel() {
let query = { let query = {
id: this.relId id: this.relId
@ -1210,8 +1220,7 @@ export default {
this.loading = false this.loading = false
this.levelUnitList = [] this.levelUnitList = []
}) })
} },
,
findMaxLevelObject() { findMaxLevelObject() {
this.maxLevel = 1; this.maxLevel = 1;
@ -1220,22 +1229,19 @@ export default {
this.maxLevel = Number(obj.packLevel); this.maxLevel = Number(obj.packLevel);
} }
} }
} },
,
/** /**
* 选择收费项目 * 选择收费项目
*/ */
selectPayFeecode() { selectPayFeecode() {
this.tollProjectDialogVisible = true this.tollProjectDialogVisible = true
} },
,
getData(data) { getData(data) {
this.tollProjectDialogVisible = false this.tollProjectDialogVisible = false
this.newProductData.payFeeCode = data.medCatalogCode this.newProductData.payFeeCode = data.medCatalogCode
} },
,
/** /**
* 第三方系统药品信息 * 第三方系统药品信息
*/ */
@ -1253,8 +1259,7 @@ export default {
this.loading = false this.loading = false
this.sysList = [] this.sysList = []
}) })
} },
,
resetThirdId() { resetThirdId() {
this.sysList.forEach((item) => { this.sysList.forEach((item) => {
if (item.sysId === 'thirdId') { if (item.sysId === 'thirdId') {
@ -1269,8 +1274,7 @@ export default {
this.newProductData.thirdId4 = item.thirdId this.newProductData.thirdId4 = item.thirdId
} }
}) })
} },
,
/** /**
* 关联 第三方 * 关联 第三方
*/ */
@ -1278,8 +1282,7 @@ export default {
this.defaultSys = row.sysId this.defaultSys = row.sysId
this.isImport = false this.isImport = false
this.chooseHouseDrugVisible = true this.chooseHouseDrugVisible = true
} },
,
removeErp(row) { removeErp(row) {
this.$confirm('此操作将解除该绑定药品信息, 是否继续?', '提示', { this.$confirm('此操作将解除该绑定药品信息, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -1308,13 +1311,11 @@ export default {
}) })
.catch(() => { .catch(() => {
}) })
} },
,
closeUdi(val) { closeUdi(val) {
this.chooseHouseDrugVisible = false this.chooseHouseDrugVisible = false
this.getThirdSysDetail() this.getThirdSysDetail()
} },
,
handleInput(index, value,type){ handleInput(index, value,type){
const intValue = parseInt(value, 10); const intValue = parseInt(value, 10);
// //
@ -1343,11 +1344,9 @@ export default {
} else { } else {
this.selectedIndex = 0 this.selectedIndex = 0
} }
} },
,
directives: { directives: {
'debounce-input': 'debounce-input': {
{
inserted(el, binding) { inserted(el, binding) {
let timeout let timeout
el.addEventListener('input', () => { el.addEventListener('input', () => {

@ -358,7 +358,7 @@
</el-card> </el-card>
<el-card class="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-row :gutter="24" class="el-row" type="flex">
<el-col :span="18" class="el-col"> <el-col :span="18" class="el-col">
@ -371,6 +371,26 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex" style="margin-top: 15px"> <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-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm"> <el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -378,6 +398,10 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="cpmctymc"> <el-form-item label="商品条码:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -385,9 +409,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<!--<el-col :span="11" class="el-col">--> <!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="耗材材质:" prop="matrial">--> <!-- <el-form-item label="耗材材质:" prop="matrial">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"--> <!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"-->
@ -402,6 +423,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg"> <el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -409,8 +433,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<!--<el-col :span="11" class="el-col">--> <!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="耗材材质:" prop="matrial">--> <!-- <el-form-item label="耗材材质:" prop="matrial">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"--> <!-- <el-input style="width: 90%" size="small" placeholder="请输入内容"-->
@ -425,6 +447,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="measname"> <el-form-item label="最小包装单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -432,8 +457,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit"> <el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -441,6 +464,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec"> <el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -448,8 +474,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname"> <el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -457,6 +481,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory"> <el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -464,8 +491,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh"> <el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -473,6 +498,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="产品描述:" prop="cpms"> <el-form-item label="产品描述:" prop="cpms">
<el-input style="width: 90%" size="small" placeholder="请输入内容" <el-input style="width: 90%" size="small" placeholder="请输入内容"
@ -860,6 +888,15 @@ export default {
hsflOptions: [], hsflOptions: [],
thrTypeOptions: [], thrTypeOptions: [],
classifyList: [], classifyList: [],
formRules: {
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [
// {required: true, message: '', trigger: 'blur'}
// ],
},
}; };
}, },
@ -1001,10 +1038,17 @@ export default {
this.$message.error("请输入或者正确填写药品价格"); this.$message.error("请输入或者正确填写药品价格");
return; return;
} }
this.$refs['editQuery'].validate((valid) => {
if (!valid) {
return this.$message.error('请补充必要数据')
}
this.postQuery.rlIds.splice(0); this.postQuery.rlIds.splice(0);
this.postQuery.rlIds.push(selectData.id); this.postQuery.rlIds.push(selectData.id);
this.postQuery.price = this.repEditQuery.price; this.postQuery.price = this.repEditQuery.price;
this.allExport(); this.allExport();
})
}, },
allExport() { allExport() {

@ -256,6 +256,26 @@
<p class="form-title">基本信息</p> <p class="form-title">基本信息</p>
</template> </template>
<el-row type="flex"> <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-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm"> <el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码" <el-input style="width: 90%" size="small" placeholder="请输入医保编码"
@ -264,6 +284,10 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm"> <el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品商品条码" <el-input style="width: 90%" size="small" placeholder="请输入药品商品条码"
@ -281,6 +305,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="商品名称:" prop="spmc"> <el-form-item label="商品名称:" prop="spmc">
<el-input style="width: 90%" size="small" placeholder="请输入商品名称" <el-input style="width: 90%" size="small" placeholder="请输入商品名称"
@ -288,8 +315,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="bzgg"> <el-form-item label="包装规格:" prop="bzgg">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格" <el-input style="width: 90%" size="small" placeholder="请输入包装规格"
@ -297,6 +322,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="最小包装单位:" prop="packUnit"> <el-form-item label="最小包装单位:" prop="packUnit">
<el-input style="width: 90%" size="small" placeholder="请输入最小包装单位" <el-input style="width: 90%" size="small" placeholder="请输入最小包装单位"
@ -313,6 +341,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="剂型:" prop="prepnUnit"> <el-form-item label="剂型:" prop="prepnUnit">
<el-input style="width: 90%" size="small" placeholder="请输入剂型" <el-input style="width: 90%" size="small" placeholder="请输入剂型"
@ -320,8 +351,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="包装材质:" prop="packMatrial"> <el-form-item label="包装材质:" prop="packMatrial">
<el-input style="width: 90%" size="small" placeholder="请输入包装材质" <el-input style="width: 90%" size="small" placeholder="请输入包装材质"
@ -336,6 +365,9 @@
<!-- ></el-input>--> <!-- ></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!--</el-col>--> <!--</el-col>-->
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="zczbhhzbapzbh"> <el-form-item label="批准文号:" prop="zczbhhzbapzbh">
<el-input style="width: 90%" size="small" placeholder="请输入批准文号" <el-input style="width: 90%" size="small" placeholder="请输入批准文号"
@ -343,9 +375,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory"> <el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业" <el-input style="width: 90%" size="small" placeholder="请输入生产企业"
@ -353,6 +382,8 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品类型:" prop="physicType"> <el-form-item label="药品类型:" prop="physicType">
<el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型"> <el-select v-model="newProductData.physicType" style="width: 90%" placeholder="选择药品类型">
@ -364,8 +395,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex">
<el-col :span="11" type="flex"> <el-col :span="11" type="flex">
<el-form-item label="药品分类:" prop="majorType"> <el-form-item label="药品分类:" prop="majorType">
<el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable> <el-select v-model="newProductData.majorType" style="width: 90%" placeholder="选择药品分类" clearable>
@ -375,6 +404,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="医保分类:" prop="medicareType"> <el-form-item label="医保分类:" prop="medicareType">
<el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类" <el-select v-model="newProductData.medicareType" style="width: 90%" placeholder="选择医保分类"
@ -387,10 +420,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品价格:" prop="price"> <el-form-item label="药品价格:" prop="price">
<el-input <el-input
@ -402,13 +431,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </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>
<!--<el-row type="flex">--> <!--<el-row type="flex">-->
@ -427,7 +450,13 @@
<!-- </el-col>--> <!-- </el-col>-->
<!--</el-row>--> <!--</el-row>-->
<el-row type="flex"> <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-col :span="11" class="el-col">
<el-form-item label="运输条件:" prop="transportCondition"> <el-form-item label="运输条件:" prop="transportCondition">
<el-input style="width: 90%" size="small" placeholder="请输入运输条件" <el-input style="width: 90%" size="small" placeholder="请输入运输条件"
@ -435,6 +464,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm"> <el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号" <el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
@ -442,9 +474,6 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品状态:" prop="majorStatus"> <el-form-item label="药品状态:" prop="majorStatus">
<el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态"> <el-select v-model="newProductData.majorStatus" style="width: 90%" placeholder="选择药品状态">
@ -671,6 +700,7 @@
:close-on-press-escape="false" :close-on-press-escape="false"
width="85%" width="85%"
v-if="selectDrugLevelVisible" v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
> >
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px"> <el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px">
@ -709,6 +739,7 @@
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="层级标识" prop="nameCode" show-overflow-tooltip></el-table-column> <el-table-column label="层级标识" prop="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column> <el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column>
<el-table-column label="批准文号" prop="approvalNum" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufacturer" show-overflow-tooltip width="200px"></el-table-column> <el-table-column label="生产企业" prop="manufacturer" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="产品名称通用名称" prop="cpmctymc" show-overflow-tooltip width="200px"></el-table-column> <el-table-column label="产品名称通用名称" prop="cpmctymc" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column> <el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column>
@ -875,7 +906,10 @@ export default {
], ],
useMaxLevel: [ useMaxLevel: [
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' } { required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
] ],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
}, },
detailList: [ detailList: [
// //
@ -1075,9 +1109,17 @@ export default {
this.$message.error('层级标识不能为空') this.$message.error('层级标识不能为空')
return return
} }
if (isBlank(row.packLevel)) { if (isBlank(row.bhxjsl) ) {
this.$message.error('包装级别不能为空') row.bhxjsl = 0
}
if (isNaN(row.packLevel)) {
row.packLevel = 0
}
if(this.newProductData.detailSort > 9 && row.packLevel == '0' ){
this.$message.error('包装级别必须大于0')
return return
} }
if (isBlank(row.packUnit)) { if (isBlank(row.packUnit)) {
this.$message.error('层级单位不能为空') this.$message.error('层级单位不能为空')
@ -1145,21 +1187,6 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },
extractNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+/);
// null
return match ? parseInt(match[0], 10) : null;
},
extractUnitAfterNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+([^\d/]+)/);
// null
return match ? match[1].trim() : null;
},
selectDrugLevelItem(row) { selectDrugLevelItem(row) {
getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => { getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
@ -1232,8 +1259,8 @@ export default {
addDrugLevel() { addDrugLevel() {
this.detailList.push({ this.detailList.push({
nameCode: '', nameCode: '',
packLevel: null, packLevel: 0,
bhxjsl: null, bhxjsl: 0,
isDisabled: false, isDisabled: false,
rowDisabled: false, rowDisabled: false,
isUpDisabled: true isUpDisabled: true

Loading…
Cancel
Save