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>
</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="选择药品状态">
@ -500,6 +524,7 @@
:close-on-press-escape="false"
width="85%"
v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
>
<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="层级标识" 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="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="cpmctymc" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column>
@ -570,7 +596,7 @@ import {
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList, getDrugLevelListBycode
getDrugLevelList,getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import {getCodeRelDetail} from '@/api/basic/product/udiRelevance'
import {isBlank} from "@/utils/strUtil";
@ -617,18 +643,18 @@ export default {
}
},
// components: {selectChargesProjectDialog, chooseHouseDrug},
components: {chooseHouseDrug},
components: { chooseHouseDrug},
data() {
return {
ybDrugDetail: {},
productData: {},
filterQueryDrugLevel: {
nameCode: "",
cpmctymc: "",
nameCode: '',
cpmctymc: '',
page: 1,
limit: 20,
total: 0,
approvalNum: "",
approvalNum:"",
},
newProductData: {
cpmctymc: null,
@ -709,6 +735,9 @@ export default {
useLevel: [
{required: true, message: '请选择计量单位', trigger: 'blur'}
],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [
// {required: true, message: '', trigger: 'blur'}
// ],
@ -900,24 +929,27 @@ export default {
//
levelSave(row) {
this.editRowSwitch = false
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('层级单位不能为空')
return
}
if (isBlank(row.bhxjsl)) {
this.$message.error('请填写下级数量')
return
}
let editQuery = {
nameCode: row.nameCode,
packLevel: row.packLevel,
@ -942,7 +974,7 @@ export default {
//
if (!this.$isNotBlank(this.newProductData.sptm) && !this.$isNotBlank(this.newProductData.ybbm)) {
getCodeRelDetail({drugCode: row.nameCode}).then((response) => {
getCodeRelDetail({drugCode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data != null && response.data.length > 0) {
this.newProductData.sptm = response.data[0].sptm;
@ -965,7 +997,7 @@ export default {
row.isUpDisabled = true
row.rowDisabled = false
},
selectDrugLevel() {
selectDrugLevel(){
//
this.filterQueryDrugLevel.approvalNum = this.newProductData.zczbhhzbapzbh
getDrugLevelList(this.filterQueryDrugLevel).then((response) => {
@ -977,23 +1009,8 @@ export default {
}).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) {
getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data.length > 0) {
response.data.forEach(item => {
@ -1064,8 +1081,7 @@ export default {
handleCurrentChange() {
this.selectDrugLevel()
}
,
},
addDrugLevel() {
this.detailList.push({
nameCode: '',
@ -1078,13 +1094,12 @@ export default {
this.newProductData.productId = null
this.selectedIndex = this.detailList.length - 1
this.isSave = false
}
,
},
rowChange(index, val) {
if (this.editRowSwitch == true) {
if(this.editRowSwitch == true ){
this.$message.error('请先保存当前产品标识编辑')
return
}
@ -1092,8 +1107,7 @@ export default {
this.selectedIndex = index
this.isSave = false
this.editRowSwitch = true
}
,
},
deleteLevel(index, row) {
this.$confirm('此操作将删除该层级,是否继续?', '提示', {
@ -1122,28 +1136,27 @@ export default {
}
}).catch(() => {
})
}
,
},
//
// setDefaultLevel(){
// //
// if (this.newProductData.distributeMaxLevel == null){
// let levelUnit = this.levelUnitList[this.levelUnitList.length - 1];
// this.newProductData.distributeMaxLevel = levelUnit.packLevel
// }
// // 使
// if (this.newProductData.useMaxLevel == null){
// // packUnitnull
// let levelUnit = this.levelUnitList[0];
// if (isBlank(levelUnit.packUnit)){
// levelUnit = this.levelUnitList[1]
// }
// this.newProductData.useMaxLevel = levelUnit.packLevel
// }
// },
//
//
// setDefaultLevel(){
// //
// if (this.newProductData.distributeMaxLevel == null){
// let levelUnit = this.levelUnitList[this.levelUnitList.length - 1];
// this.newProductData.distributeMaxLevel = levelUnit.packLevel
// }
// // 使
// if (this.newProductData.useMaxLevel == null){
// // packUnitnull
// let levelUnit = this.levelUnitList[0];
// if (isBlank(levelUnit.packUnit)){
// levelUnit = this.levelUnitList[1]
// }
// this.newProductData.useMaxLevel = levelUnit.packLevel
// }
// },
//
getDetailList() {
if (this.newProductData.uuid != null) {
let query = {
@ -1163,8 +1176,7 @@ export default {
this.detailList = []
})
}
}
,
},
distributeLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val)
@ -1179,8 +1191,7 @@ export default {
}
})
}
,
},
useLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val)
if (matchingItem) {
@ -1193,8 +1204,7 @@ export default {
useLeverCount: res.data.useLeverCount
}
})
}
,
},
getDiLevel() {
let query = {
id: this.relId
@ -1210,8 +1220,7 @@ export default {
this.loading = false
this.levelUnitList = []
})
}
,
},
findMaxLevelObject() {
this.maxLevel = 1;
@ -1220,22 +1229,19 @@ export default {
this.maxLevel = Number(obj.packLevel);
}
}
}
,
},
/**
* 选择收费项目
*/
selectPayFeecode() {
this.tollProjectDialogVisible = true
}
,
},
getData(data) {
this.tollProjectDialogVisible = false
this.newProductData.payFeeCode = data.medCatalogCode
}
,
},
/**
* 第三方系统药品信息
*/
@ -1253,8 +1259,7 @@ export default {
this.loading = false
this.sysList = []
})
}
,
},
resetThirdId() {
this.sysList.forEach((item) => {
if (item.sysId === 'thirdId') {
@ -1269,8 +1274,7 @@ export default {
this.newProductData.thirdId4 = item.thirdId
}
})
}
,
},
/**
* 关联 第三方
*/
@ -1278,8 +1282,7 @@ export default {
this.defaultSys = row.sysId
this.isImport = false
this.chooseHouseDrugVisible = true
}
,
},
removeErp(row) {
this.$confirm('此操作将解除该绑定药品信息, 是否继续?', '提示', {
confirmButtonText: '确定',
@ -1308,19 +1311,17 @@ export default {
})
.catch(() => {
})
}
,
},
closeUdi(val) {
this.chooseHouseDrugVisible = false
this.getThirdSysDetail()
}
,
handleInput(index, value, type) {
},
handleInput(index, value,type){
const intValue = parseInt(value, 10);
//
if (type == 1) {
if (type == 1){
this.$set(this.detailList[index], 'packLevel', intValue);
} else {
}else {
this.$set(this.detailList[index], 'bhxjsl', intValue);
}
@ -1343,11 +1344,9 @@ export default {
} else {
this.selectedIndex = 0
}
}
,
},
directives: {
'debounce-input':
{
'debounce-input': {
inserted(el, binding) {
let timeout
el.addEventListener('input', () => {

@ -358,7 +358,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">
@ -371,6 +371,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="请输入内容"
@ -378,6 +398,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="请输入内容"
@ -385,9 +409,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="请输入内容"-->
@ -402,6 +423,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="请输入内容"
@ -409,8 +433,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="请输入内容"-->
@ -425,6 +447,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="请输入内容"
@ -432,8 +457,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="请输入内容"
@ -441,6 +464,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="请输入内容"
@ -448,8 +474,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="请输入内容"
@ -457,6 +481,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="请输入内容"
@ -464,8 +491,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="请输入内容"
@ -473,6 +498,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="请输入内容"
@ -860,6 +888,15 @@ export default {
hsflOptions: [],
thrTypeOptions: [],
classifyList: [],
formRules: {
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
// useMaxLevel: [
// {required: true, message: '', trigger: 'blur'}
// ],
},
};
},
@ -1001,10 +1038,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="请输入药品商品条码"
@ -281,6 +305,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 +315,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 +322,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="请输入最小包装单位"
@ -313,6 +341,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 +351,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 +365,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 +375,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 +382,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 +395,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 +404,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 +420,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 +431,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 +450,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 +464,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 +474,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="选择药品状态">
@ -671,6 +700,7 @@
:close-on-press-escape="false"
width="85%"
v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
>
<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="层级标识" 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="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="cpmctymc" show-overflow-tooltip width="200px"></el-table-column>
<el-table-column label="剂型" prop="form" show-overflow-tooltip></el-table-column>
@ -747,13 +778,13 @@ import {
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList, getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import {isBlank} from '@/utils/strUtil'
import { isBlank } from '@/utils/strUtil'
import {
getYbDrugDetail, removeRl, thirdSysDetail
} from '@/api/basic/product/udiRelevance'
import {filterClassify} from '@/api/purchase/classifyCode'
import {filterByUuid, levelByUuid} from '@/api/basic/product/udiInfo'
import { filterClassify } from '@/api/purchase/classifyCode'
import { filterByUuid, levelByUuid } from '@/api/basic/product/udiInfo'
// import selectChargesProjectDialog from './selectChargesProjectDialog'
// import chooseHouseDrug from './chooseHouseDrug'
@ -829,53 +860,56 @@ export default {
activeNames: ['0', '1', '2'],
formRules: {
cpmctymc: [
{required: true, message: '请输入药品通用名', trigger: 'blur'}
{ required: true, message: '请输入药品通用名', trigger: 'blur' }
],
prepnSpec: [
{required: true, message: '请输入制剂规格', trigger: 'blur'}
{ required: true, message: '请输入制剂规格', trigger: 'blur' }
],
packUnit: [
{required: true, message: '请输入包装单位', trigger: 'blur'}
{ required: true, message: '请输入包装单位', trigger: 'blur' }
],
prepnUnit: [
{required: true, message: '请输入制剂单位', trigger: 'blur'}
{ required: true, message: '请输入制剂单位', trigger: 'blur' }
],
// packRatio: [
// {required: true, message: '', trigger: 'blur'}
// ],
packMatrial: [
{required: true, message: '请输入包装材质', trigger: 'blur'}
{ required: true, message: '请输入包装材质', trigger: 'blur' }
],
zczbhhzbapzbh: [
{required: true, message: '请输入批准文号', trigger: 'blur'}
{ required: true, message: '请输入批准文号', trigger: 'blur' }
],
manufactory: [
{required: true, message: '生产企业不能为空', trigger: 'blur'}
{ required: true, message: '生产企业不能为空', trigger: 'blur' }
],
physicType: [
{required: true, message: '药品类型不能为空', trigger: 'blur'}
{ required: true, message: '药品类型不能为空', trigger: 'blur' }
],
ybbm: [
{required: true, message: '医保编码不能为空', trigger: 'blur'}
{ required: true, message: '医保编码不能为空', trigger: 'blur' }
],
price: [
{required: true, message: '药品价格不能为空', trigger: 'blur'}
{ required: true, message: '药品价格不能为空', trigger: 'blur' }
],
majorStatus: [
{required: true, message: '请选择药品状态', trigger: 'blur'}
{ required: true, message: '请选择药品状态', trigger: 'blur' }
],
distributeLevel: [
{required: true, message: '请选择计量单位', trigger: 'blur'}
{ required: true, message: '请选择计量单位', trigger: 'blur' }
],
distributeMaxLevel: [
{required: true, message: '请选择允许采集的最大层级', trigger: 'blur'}
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
],
useLevel: [
{required: true, message: '请选择计量单位', trigger: 'blur'}
{ required: true, message: '请选择计量单位', trigger: 'blur' }
],
useMaxLevel: [
{required: true, message: '请选择允许采集的最大层级', trigger: 'blur'}
]
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
],
detailSort: [
{required: true, message: '请选择明细分类', trigger: 'blur'}
],
},
detailList: [
//
@ -1075,9 +1109,17 @@ 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('层级单位不能为空')
@ -1145,21 +1187,6 @@ export default {
}).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) {
getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
if (response.code == 20000) {
@ -1232,8 +1259,8 @@ export default {
addDrugLevel() {
this.detailList.push({
nameCode: '',
packLevel: null,
bhxjsl: null,
packLevel: 0,
bhxjsl: 0,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
@ -1256,7 +1283,7 @@ export default {
type: 'warning'
}).then(() => {
if (row.id != null) {
let params = {nameCode: row.nameCode}
let params = { nameCode: row.nameCode }
delDrugLevel(params).then((res) => {
if (res.code === 20000) {
this.isSave = true
@ -1442,12 +1469,12 @@ export default {
},
//
handleInput(index, value, type) {
handleInput(index, value,type){
const intValue = parseInt(value, 10);
//
if (type == 1) {
if (type == 1){
this.$set(this.detailList[index], 'packLevel', intValue);
} else {
}else {
this.$set(this.detailList[index], 'bhxjsl', intValue);
}

Loading…
Cancel
Save