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

dev_unify
yewj 8 months ago
commit 311d9ad05e

@ -50,3 +50,21 @@ export function calculateUseCount(query) {
}
export function getDrugLevelList(query) {
return axios({
url: "udiwms/aliDrug/getDrugLevelList",
method: "get",
params: query
});
}
export function getDrugLevelListBycode(query) {
return axios({
url: "/udiwms/aliDrug/getDrugLevelListBycode",
method: "get",
params: 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"
>新增药品层级
@ -657,6 +661,74 @@
</el-dialog>
<el-dialog
title="选入药品层级"
:visible.sync="selectDrugLevelVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectDrugLevelVisible"
>
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px" >
<el-row>
<el-col :span="8">
<el-form-item label="层级标识:">
<el-input v-model="filterQueryDrugLevel.nameCode" placeholder="请输入层级标识" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="通用名称:">
<el-input v-model="filterQueryDrugLevel.cpmctymc" placeholder="请输入通用名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<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="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="操作">
<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>
@ -665,7 +737,8 @@ import {
addDrug,
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList,getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import {getCodeRelDetail} from '@/api/basic/product/udiRelevance'
import {isBlank} from "@/utils/strUtil";
@ -717,6 +790,13 @@ export default {
return {
ybDrugDetail: {},
productData: {},
filterQueryDrugLevel: {
nameCode: "",
cpmctymc: "",
page: 1,
limit: 20,
total: 0,
},
newProductData: {
cpmctymc: null,
bzgg: null,
@ -747,6 +827,7 @@ export default {
},
thirdSys: [],
classifyList: [],
selectDrugLevelList: [],
saveLoading: false,
activeNames: ['0', '1', '2'],
formRules: {
@ -819,6 +900,7 @@ export default {
tollProjectDialogVisible: false,
sysList: [],
chooseHouseDrugVisible: false,
selectDrugLevelVisible: false,
isImport: false,
defaultSys: null,
levelUnitList: [],
@ -1045,6 +1127,75 @@ export default {
row.isUpDisabled = true
row.rowDisabled = false
},
selectDrugLevel(){
//
getDrugLevelList(this.filterQueryDrugLevel).then((response) => {
if (response.code == 20000) {
this.selectDrugLevelList = response.data.list || []
this.filterQueryDrugLevel.total = response.data.total || 0
this.selectDrugLevelVisible = true
}
}).catch(() => {
})
},
selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data.length > 0){
response.data.forEach( item => {
//
let parts = item.bzgg.split('/');
// ':'
const ratioParts = item.packRatio.split(':');
let selectedValue;
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
selectedValue = ratioParts[item.packLevel];
} else {
selectedValue = null; //
}
let editQuery = {
nameCode: item.nameCode,
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
relId: this.newProductData.id,
uuid: this.newProductData.uuid,
productId: item.productId,
diType: item.packLevel == 1?1:4,
xjdw: item.xjdw
}
updateLevelDrug(editQuery).then(res => {
this.saveLoading = false
if (res.code == 20000) {
this.detailList.push({
nameCode: item.nameCode,
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
diType: item.packLevel == 1?1:4,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
})
}
})
})
}
}
}).catch(() => {
})
this.newProductData.productId = null
this.selectedIndex = this.detailList.length - 1
this.isSave = false
this.selectDrugLevelVisible = false
},
handleCurrentChange(){
this.selectDrugLevel()
},
addDrugLevel() {
this.detailList.push({
nameCode: '',
@ -1114,7 +1265,7 @@ export default {
filterByUuid(query)
.then((response) => {
this.loading = false
this.detailList = response.data || []
this.detailList = response.data.list || []
})
.catch(() => {
this.loading = false

@ -355,6 +355,7 @@ export default {
this.fileList = fileList;
if (res.code === 20000) {
this.$message.success(res.message);
this.fileList = []
} else {
this.$message.error(res.message);
}

@ -333,6 +333,7 @@ export default {
this.fileList = fileList;
if (res.code === 20000) {
this.$message.success(res.message);
this.fileList = []
} else {
this.$message.error(res.message);
}

@ -161,6 +161,24 @@
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="search"></el-button>
<el-button type="primary" icon="el-icon-bottom-right" @click="selectProduct()"></el-button>
<el-upload
:action="action"
:headers ="headers"
accept=".txt"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="handleSuccess"
:on-progress="handleProgress"
:on-error="handleError"
:before-upload="beforeUpload"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
:show-file-list="false"
:data="extraData">
<el-button icon="el-icon-upload" type="primary" style="margin: 0;">药品标识上传</el-button>
</el-upload>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
@ -526,6 +544,7 @@ import selectDrugProductsEdit from "./selectDrugProductsEdit"
import {
getHead, executeFuc
} from "@/utils/customConfig";
import {getAdminId, getToken} from '@/utils/auth';
export default {
data() {
@ -623,11 +642,65 @@ export default {
titleMap:{
1 : '药品信息编辑',
2 : '药品信息详情',
}
},
headers:{
ADMINID: getAdminId(),
ADMINTOKEN: getToken()
},
extraData:{"uuid": "upload-txt"},
uploadLoading: false,
action: process.env.VUE_APP_BASE_API + "/udiwms/aliDrug/txtUpload",
fileList: []
};
},
methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }`);
},
handleSuccess(res, file, fileList) {
fileList = fileList.filter(item => item.response.code === 20000);
this.fileList = fileList;
if (res.code === 20000) {
this.$message.success(res.message);
this.fileList = []
} else {
this.$message.error(res.message);
}
this.uploadLoading.close();
},
beforeUpload(file) {
const isXML = file.name.endsWith('.txt');
const isLt5M = file.size / 1024 / 1024 < 10;
if (!isXML) {
this.$message.error('上传文件只能是 TXT 格式!');
}
if (!isLt5M) {
this.$message.error('上传文件大小不能超过 10MB!');
}
return isXML && isLt5M;
},
handleProgress() {
this.uploadLoading = this.$loading({
lock: true,
text: '文件上传中…',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)'
});
},
handleError() {
this.uploadLoading.close();
this.$message.error('文件上传失败,请检查文件大小或文件格式');
},
hideSearch() {
this.showSearch = !this.showSearch;
},

@ -37,6 +37,10 @@
margin-bottom: 8px;"
v-if="type != 2"
>
<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"
>新增药品层级
@ -657,6 +661,74 @@
</el-dialog>
<el-dialog
title="选入药品层级"
:visible.sync="selectDrugLevelVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="selectDrugLevelVisible"
>
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px" >
<el-row>
<el-col :span="8">
<el-form-item label="层级标识:">
<el-input v-model="filterQueryDrugLevel.nameCode" placeholder="请输入层级标识" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="通用名称:">
<el-input v-model="filterQueryDrugLevel.cpmctymc" placeholder="请输入通用名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<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="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="操作">
<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>
@ -665,7 +737,8 @@ import {
addDrug,
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList,getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import {isBlank} from "@/utils/strUtil";
@ -821,6 +894,15 @@ export default {
defaultSys: null,
levelUnitList: [],
maxLevel: 1,
selectDrugLevelVisible: false,
selectDrugLevelList: [],
filterQueryDrugLevel: {
nameCode: "",
cpmctymc: "",
page: 1,
limit: 20,
total: 0,
},
}
},
@ -1026,6 +1108,72 @@ export default {
row.isUpDisabled = true
row.rowDisabled = false
},
selectDrugLevel(){
//
getDrugLevelList(this.filterQueryDrugLevel).then((response) => {
if (response.code == 20000) {
this.selectDrugLevelList = response.data.list || []
this.filterQueryDrugLevel.total = response.data.total || 0
this.selectDrugLevelVisible = true
}
}).catch(() => {
})
},
selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data.length > 0){
response.data.forEach( item => {
//
let parts = item.bzgg.split('/');
// ':'
const ratioParts = item.packRatio.split(':');
let selectedValue;
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
selectedValue = ratioParts[item.packLevel];
} else {
selectedValue = null; //
}
let editQuery = {
nameCode: item.nameCode,
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
relId: this.newProductData.id,
uuid: this.newProductData.uuid,
productId: item.productId,
diType: item.packLevel == 1?1:4,
xjdw: item.xjdw
}
updateLevelDrug(editQuery).then(res => {
this.saveLoading = false
if (res.code == 20000) {
this.detailList.push({
nameCode: item.nameCode,
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
diType: item.packLevel == 1?1:4,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
})
}
})
})
}
}
}).catch(() => {
})
this.newProductData.productId = null
this.selectedIndex = this.detailList.length - 1
this.isSave = false
this.selectDrugLevelVisible = false
},
addDrugLevel() {
this.detailList.push({
nameCode: '',
@ -1242,7 +1390,7 @@ export default {
created() {
if (this.rowData != null) {
this.newProductData = this.rowData
console.log("和水水水水",this.newProductData)
// console.log("",this.newProductData)
this.newProductData.cpmctymc = this.rowData.cpmctymc
this.newProductData.zczbhhzbapzbh = this.rowData.zczbhhzbapzbh
if (this.rowData.requireScanCode == 1) {

Loading…
Cancel
Save