从供应商选入药品选入药品层级功能搬到内网

20240912_adapter
qiuyt 6 months ago
parent 4e0273b3a5
commit e5a4af4d73

@ -48,5 +48,19 @@ export function calculateUseCount(query) {
data: query
});
}
export function getDrugLevelList(query) {
return axios({
url: "udiwms/aliDrug/getDrugLevelList",
method: "get",
params: query
});
}
export function updateLevelDrugAli(query) {
return axios({
url: "/udi/udirel/updateLevelDrugAli",
method: "post",
data: query
});
}

@ -36,6 +36,10 @@
text-align: right;
margin-bottom: 8px;"
>
<el-button type="primary" size="mini" icon="search" @click="selectDrugLevel"
style="text-align:right"
>选入药品层级
</el-button>
<el-button type="primary" size="mini" icon="search" @click="addDrugLevel"
style="text-align:right"
>新增药品层级
@ -162,6 +166,7 @@
<el-select v-model="newProductData.distributeLevel" size="small" style="width: 90%"
@change="distributeLevelDiChange"
placeholder="请选择计量单位"
>
<el-option
v-for="item in levelUnitList"
@ -203,6 +208,7 @@
<el-form-item label="计量单位:" prop="useLevel" label-width="160px">
<el-select v-model="newProductData.useLevel" size="small" style="width: 90%"
clearable
@change="useLevelDiChange"
placeholder="请选择计量单位"
>
@ -347,6 +353,13 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="包装材质:" prop="packMatrial">
<el-input style="width: 90%" size="small" placeholder="请输入包装材质"
v-model.trim="newProductData.packMatrial"
></el-input>
</el-form-item>
</el-col>
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="包装比例:" prop="packRatio">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入制剂单位"-->
@ -354,6 +367,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="请输入批准文号"
@ -361,15 +377,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="请输入包装材质"
v-model.trim="newProductData.packMatrial"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
@ -477,40 +484,8 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex" class="edit-row">-->
<!--<el-col :span="11">-->
<!-- <el-form-item label="收费项目编码:">-->
<!-- <el-input-->
<!-- style="width: 65%"-->
<!-- size="small"-->
<!-- placeholder="选择项目收费编码"-->
<!-- v-model="newProductData.payFeeCode"-->
<!-- ></el-input>-->
<!-- <el-button type="primary" size="mini" style="margin-left: 10px" @click="selectPayFeecode">-->
<!-- </el-button>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--<el-col :span="11">-->
<!-- <el-form-item label="是否拆零:" prop="splitEnable">-->
<!-- <el-select v-model="newProductData.splitEnable" style="width: 90%" placeholder="是否拆零" clearable>-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--</el-row>-->
<!--<el-row type="flex" class="edit-row">-->
<!--<el-col :span="11">-->
<!-- <el-form-item label="是否自动赋码:" prop="autoCode">-->
<!-- <el-select v-model="newProductData.autoCode" style="width: 90%" placeholder="是否自动赋码" clearable>-->
<!-- <el-option label="是" :value="true"></el-option>-->
<!-- <el-option label="否" :value="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="23" class="el-col">
<el-form-item label="产品描述:" prop="cpms">
@ -522,120 +497,6 @@
</el-row>
</el-collapse-item>
<!-- <el-collapse-item name="3">-->
<!-- <template slot="title">-->
<!-- <p class="form-title">流通使用参数设置</p>-->
<!-- </template>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通计量层级标识:" prop="distributeLevelDi" label-width="160px">-->
<!-- <el-select v-model="newProductData.distributeLevelDi" size="small" style="width: 90%"-->
<!-- @change="distributeLevelDiChange"-->
<!-- clearable-->
<!-- placeholder="请选择流通计量层级标识"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in detailList"-->
<!-- :key="item.nameCode"-->
<!-- :value="item.nameCode"-->
<!-- :label="item.nameCode"-->
<!-- >-->
<!-- <span style="float: left">{{ item.nameCode }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.packLevel }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用计量层级标识:" prop="useLevelDi" label-width="160px">-->
<!-- <el-select v-model="newProductData.useLevelDi" size="small" style="width: 90%"-->
<!-- @change="useLevelDiChange"-->
<!-- clearable-->
<!-- disabled-->
<!-- placeholder="请选择流通计量层级标识"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in detailList"-->
<!-- :key="item.nameCode"-->
<!-- :value="item.nameCode"-->
<!-- :label="item.nameCode"-->
<!-- >-->
<!-- <span style="float: left">{{ item.nameCode }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.packLevel }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通计量层级单位:" prop="distributeLevelUnit" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入流通计量层级单位"-->
<!-- disabled-->
<!-- v-model="newProductData.distributeLevelUnit"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用计量层级单位:" prop="useLevelUnit" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入使用计量层级标识"-->
<!-- disabled-->
<!-- v-model.trim="newProductData.useLevelUnit"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="流通时含计量单元数量:" prop="distributeLevelCount" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入流通时包含计量单元的数量"-->
<!-- v-model.trim="newProductData.distributeLevelCount"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="使用时含计量单元数量:" prop="useLeverCount" label-width="160px">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入使用时包含计量单元的数量"-->
<!-- v-model.trim="newProductData.useLeverCount"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-collapse-item>-->
<!--<el-collapse-item name="4">-->
<!-- <template slot="title">-->
<!-- <p class="form-title">高级设置</p>-->
<!-- </template>-->
<!-- <el-row type="flex">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <span>参数</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <span>设置</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <span>参数设置说明</span>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row type="flex">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <span class="sptext">是否禁用</span>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-switch-->
<!-- v-model="status"-->
<!-- active-color="#13ce66"-->
<!-- inactive-color="#ff4949"-->
<!-- >-->
<!-- </el-switch>-->
<!-- </el-col>-->
<!-- <el-divider direction="vertical"></el-divider>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <span class="sptext">禁用后该药品将无法扫码使用</span>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!--</el-collapse-item>-->
</el-collapse>
</el-form>
<div style="text-align: center; margin-top: 20px;">
@ -643,32 +504,6 @@
<el-button @click="closeAddDialog"></el-button>
</div>
<el-dialog
title="收费项目选入"
:visible.sync="tollProjectDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="70%"
v-if="tollProjectDialogVisible"
append-to-body
>
<!--<product-single-edit-->
<!-- :editQuery="editSingleFormat"-->
<!--&gt;</product-single-edit>-->
<selectChargesProjectDialog
:getData="getData"
>
</selectChargesProjectDialog>
<!--<div style="text-align: center;margin-top: 12px">-->
<!-- <el-button type="primary" size="small" icon="search" @click="onAddSingleSubmit(false)" :loading="addLoading"-->
<!-- >提交-->
<!-- </el-button>-->
<!-- <el-button type="primary" size="small" icon="search" @click="cancelDialog"-->
<!-- >取消-->
<!-- </el-button>-->
<!--</div>-->
</el-dialog>
<el-dialog
title="药品字典-从指定系统添加药品字典"
:visible.sync="chooseHouseDrugVisible"
@ -689,6 +524,86 @@
</el-dialog>
<el-dialog
title="选入药品层级"
:visible.sync="selectDrugLevelVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
>
<el-form :rules="formRulesSelectedDrug" :model="filterQueryDrugLevel" class="query-form" label-width="100px" ref="formSelectedDrug">
<el-row>
<el-col :span="4">
<el-form-item label="层级标识:">
<el-input v-model="filterQueryDrugLevel.nameCode" placeholder="请输入层级标识" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="药品通用名:" prop="cpmctymc">
<el-input v-model="filterQueryDrugLevel.cpmctymc" placeholder="请输入药品通用名" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="批准文号:">
<el-input v-model="filterQueryDrugLevel.approvalNum" placeholder="请输入批准文号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="生产厂家:">
<el-input v-model="filterQueryDrugLevel.manufacturer" placeholder="请输入生产厂家" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<div style=" float: right;
text-align: right;
margin-bottom: 8px;
margin-right: 15px;"
>
<el-button type="primary" icon="search" @click="handleCurrentChange"
style="text-align:right"
>查询
</el-button>
</div>
</el-col>
</el-row>
</el-form>
<el-table :data="selectDrugLevelList" style="width: 100%; margin-bottom: 8px" key="2" border>
<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>
<el-table-column label="剂型规格" prop="formSpec" show-overflow-tooltip></el-table-column>
<el-table-column label="商品名称" prop="spmc" show-overflow-tooltip></el-table-column>
<el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip></el-table-column>
<el-table-column label="包装比例" prop="packRatio" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="selectDrugLevelItem(scope.row)">
选入
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="filterQueryDrugLevel.total>0"
:total="filterQueryDrugLevel.total"
:page.sync="filterQueryDrugLevel.page"
:limit.sync="filterQueryDrugLevel.limit"
@pagination="handleCurrentChange"
></pagination>
</el-dialog>
</div>
</template>
@ -697,8 +612,10 @@ import {
addDrug,
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList,getDrugLevelListBycode,updateLevelDrugAli
} from '@/api/basic/product/drugUdiinfos'
import {getCodeRelDetail} from '@/api/basic/product/udiRelevance'
import {isBlank} from "@/utils/strUtil";
import {
@ -706,7 +623,7 @@ import {
} from '@/api/basic/product/udiRelevance'
import {filterClassify} from '@/api/purchase/classifyCode'
import {filterByUuid, levelByUuid} from '@/api/basic/product/udiInfo'
import selectChargesProjectDialog from './selectChargesProjectDialog'
// import selectChargesProjectDialog from './selectChargesProjectDialog'
import chooseHouseDrug from './chooseHouseDrug'
export default {
@ -742,11 +659,20 @@ export default {
required: true
}
},
components: {selectChargesProjectDialog, chooseHouseDrug},
// components: {selectChargesProjectDialog, chooseHouseDrug},
components: { chooseHouseDrug},
data() {
return {
ybDrugDetail: {},
productData: {},
filterQueryDrugLevel: {
nameCode: '',
cpmctymc: '',
page: 1,
limit: 20,
total: 0,
approvalNum:"",
},
newProductData: {
cpmctymc: null,
bzgg: null,
@ -754,6 +680,7 @@ export default {
measname: null,
manufactory: null,
ybbm: null,
sptm: null,
cpms: null,
productsType: 2,
//
@ -776,6 +703,7 @@ export default {
},
thirdSys: [],
classifyList: [],
selectDrugLevelList: [],
saveLoading: false,
activeNames: ['0', '1', '2'],
formRules: {
@ -831,14 +759,19 @@ export default {
// {required: true, message: '', trigger: 'blur'}
// ],
},
formRulesSelectedDrug: {
cpmctymc: [
{ required: true, message: '请输入药品通用名', trigger: 'blur' }
],
},
detailList: [
//
{
productId: null,
nameCode: '',
packLevel: null,
packRatio: null,
bhxjsl: null,
packRatio:null,
isDisabled: false,
isUpDisabled: true,
rowDisabled: false
@ -852,12 +785,14 @@ export default {
tollProjectDialogVisible: false,
sysList: [],
chooseHouseDrugVisible: false,
selectDrugLevelVisible: false,
isImport: false,
defaultSys: null,
levelUnitList: [],
maxLevel: 1,
editRowSwitch: false, //
//89
isSpecial: false
}
@ -987,7 +922,6 @@ export default {
}
})
} else {
// this.setDefaultLevel()
this.$refs['dataForm'].validate((valid) => {
if (!valid) {
return this.$message.error('请补充必要数据')
@ -1000,7 +934,6 @@ export default {
this.newProductData.uuid = this.rowData.uuid
this.newProductData.nameCode = this.rowData.nameCode
this.newProductData.relId = this.newProductData.id
updatetDrug(this.newProductData).then(res => {
this.saveLoading = false
if (res.code == 20000) {
@ -1019,25 +952,9 @@ export default {
this.closeDialog()
},
//
// 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
// }
// },
//
levelSave(row) {
this.editRowSwitch = false
if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空')
@ -1058,7 +975,6 @@ export default {
this.$message.error('层级单位不能为空')
return
}
let editQuery = {
nameCode: row.nameCode,
packLevel: row.packLevel,
@ -1081,6 +997,21 @@ export default {
this.selectedIndex = null
this.getDetailList()
this.getDiLevel();
//
if (!this.$isNotBlank(this.newProductData.sptm) && !this.$isNotBlank(this.newProductData.ybbm)) {
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;
this.newProductData.ybbm = response.data[0].ybbm;
this.getYbDrugData()
}
}
}).catch(() => {
})
}
} else {
this.isSave = true
this.$message.error(res.message)
@ -1092,11 +1023,60 @@ export default {
row.isUpDisabled = true
row.rowDisabled = false
},
selectDrugLevel() {
this.selectDrugLevelVisible = true
setTimeout(() => {
this.$refs['formSelectedDrug'].validate((valid) => {
if (valid) {
this.filterQueryDrugLevel.uuid = this.newProductData.uuid
this.filterQueryDrugLevel.ybbm = this.newProductData.ybbm
//
// this.filterQueryDrugLevel.approvalNum = this.newProductData.zczbhhzbapzbh
getDrugLevelList(this.filterQueryDrugLevel).then((response) => {
if (response.code == 20000) {
this.selectDrugLevelList = response.data.list || []
this.filterQueryDrugLevel.total = response.data.total || 0
}
}).catch(() => {
})
}
})
}, 500)
},
selectDrugLevelItem(row){
this.filterQueryDrugLevel.uuid = this.newProductData.uuid
this.filterQueryDrugLevel.ybbm = this.newProductData.ybbm
this.filterQueryDrugLevel.nameCodeRow = row.nameCode
// console.log('drug',drug)
updateLevelDrugAli(this.filterQueryDrugLevel).then((response) => {
if (response.code == 20000) {
// this.selectedIndex = this.detailList.length - 1
// this.isSave = false
this.selectDrugLevelVisible = false
var filterQueryDrugLevelNew = this.filterQueryDrugLevel
this.getDiLevel()
this.getDetailList()
this.getThirdSysDetail()
this.filterQueryDrugLevel = filterQueryDrugLevelNew
}
}).catch(() => {
})
}
,
handleCurrentChange() {
this.selectDrugLevel()
},
addDrugLevel() {
this.detailList.push({
nameCode: '',
packLevel: 0,
bhxjsl: 0,
packLevel: null,
bhxjsl: null,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
@ -1108,10 +1088,12 @@ export default {
rowChange(index, val) {
if(this.editRowSwitch == true ){
this.$message.error('请先保存当前产品标识编辑')
return
}
this.selectedIndex = index
this.isSave = false
this.editRowSwitch = true
@ -1146,6 +1128,24 @@ export default {
})
},
//
// 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) {
@ -1168,6 +1168,8 @@ export default {
})
}
},
//
checkIsSpecial(){
if (this.detailList.length > 0){
this.detailList.forEach(item => {
@ -1177,6 +1179,7 @@ export default {
})
}
},
distributeLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val)
if (matchingItem) {
@ -1326,6 +1329,8 @@ export default {
}
},
created() {
if (this.rowData != null) {

Loading…
Cancel
Save