This commit is contained in:
LiJianZhao 2025-05-14 13:54:52 +08:00
parent 188f98c590
commit 05584a4fb4
3 changed files with 99 additions and 38 deletions

View File

@ -72,7 +72,7 @@
</el-input-number> </el-input-number>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="批准文号" v-if="_type==1301"> <el-descriptions-item label="批准文号" v-if="_type==1301 || _type==1306 || _type == 0">
<el-form-item lable="" prop="approvalCode" class="form-item"> <el-form-item lable="" prop="approvalCode" class="form-item">
<el-input v-model="edit_data.approvalCode" class="input"> <el-input v-model="edit_data.approvalCode" class="input">
</el-input> </el-input>
@ -93,14 +93,14 @@
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="条形码"> <el-descriptions-item label="条形码" v-if="_type == 1301 || _type == 1302 || _type==0">
<el-form-item> <el-form-item>
<el-input v-model="edit_data.barcode"/> <el-input v-model="edit_data.barcode"/>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="规格" v-if="_type==1302||_type==1306||_type==0"> <el-descriptions-item label="规格" v-if="_type==1302||_type==1306||_type==0">
<el-form-item> <el-form-item>
<el-input v-model="edit_data.medicineDosageNum" class="input"> <el-input v-model="edit_data.specification" class="input">
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
@ -174,7 +174,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="药品标识码"> <el-descriptions-item label="药品标识码" v-if="_type==1301">
<el-form-item> <el-form-item>
<el-popover <el-popover
:visible="showPopover" :visible="showPopover"
@ -227,7 +227,7 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions title="扩展" border style="margin-top: 20px" direction="vertical"> <el-descriptions title="扩展" border style="margin-top: 20px" direction="vertical">
<el-descriptions-item label="养护分类"> <el-descriptions-item label="养护分类" v-if="_type != 0">
<el-select <el-select
v-model="edit_data.extra.maintainCate" v-model="edit_data.extra.maintainCate"
placeholder="选择养护分类" placeholder="选择养护分类"
@ -242,10 +242,26 @@
/> />
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="储存条件"> <el-descriptions-item label="医疗器械分类" v-if="_type==1306">
<el-select
v-model="edit_data.extra.instrumentCategroy"
placeholder="选择医疗器械分类"
clearable
style="width: 240px"
>
<el-option
v-for="item in instrumentCategroyOptions"
:key="item.label"
:label="item.label"
:value="item.label"
/>
</el-select>
</el-descriptions-item>
<el-descriptions-item label="储存条件" v-if="_type != 0">
<el-select <el-select
v-model="edit_data.extra.storageConditions" v-model="edit_data.extra.storageConditions"
placeholder="选择养护分类" placeholder="选择储存条件"
clearable clearable
style="width: 240px;" style="width: 240px;"
> >
@ -257,7 +273,7 @@
/> />
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="保质期"> <el-descriptions-item label="保质期" v-if="_type != 0">
<el-input v-model="edit_data.expiryTime" type="number"> <el-input v-model="edit_data.expiryTime" type="number">
<template #append></template> <template #append></template>
</el-input> </el-input>
@ -346,15 +362,10 @@
/> />
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="医疗器械分类" v-if="_type==1306">
<el-input v-model="edit_data.extra.instrumentCategroy"></el-input> <el-descriptions-item label="上市许可持有人" v-if="_type != 0">
</el-descriptions-item>
<el-descriptions-item label="上市许可持有人">
<el-input v-model="edit_data.extra.authorizationMaster"></el-input> <el-input v-model="edit_data.extra.authorizationMaster"></el-input>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="批准文号有效期" v-if="_type==1306">
<el-input v-model="edit_data.extra.approvalNumberExpirDate"></el-input>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-form> </el-form>
@ -401,9 +412,9 @@
</el-input> </el-input>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions title="医保" border direction="vertical" :column="1" style="margin-left: 5px"> <el-descriptions title="医保" border direction="vertical" :column="1" style="margin-left: 5px" v-if="_type !=0">
<el-descriptions-item label="医保对码"> <el-descriptions-item label="医保对码">
<SocialInfo v-model="edit_data.hilistCode" v-if="edit_data.hilistCode" <SocialInfo v-model="edit_data.hilistCode"
@openSearch="openContrastCodeSearch"></SocialInfo> @openSearch="openContrastCodeSearch"></SocialInfo>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
@ -538,6 +549,18 @@ const storageConditionsOptions =
label: '密封', label: '密封',
} }
] ]
const instrumentCategroyOptions = [
{
label: '一类',
},
{
label: '二类',
},
{
label: '三类',
}
]
const emit = defineEmits(['close']) const emit = defineEmits(['close'])
let edit_data: any = ref({ let edit_data: any = ref({
trdnFlag: false, trdnFlag: false,
@ -546,6 +569,7 @@ let edit_data: any = ref({
packagingUnit: "盒", packagingUnit: "盒",
pricingModel: 0, pricingModel: 0,
expiryWarnDays: 0, expiryWarnDays: 0,
inventoryWarnNumber:0,
purchaseUnitPrice:1 purchaseUnitPrice:1
}); });
const initEditData = () => { const initEditData = () => {
@ -556,6 +580,7 @@ const initEditData = () => {
packagingUnit: "盒", packagingUnit: "盒",
pricingModel: 0, pricingModel: 0,
expiryWarnDays: 0, expiryWarnDays: 0,
inventoryWarnNumber:0,
purchaseUnitPrice:1 purchaseUnitPrice:1
} }
} }
@ -622,15 +647,40 @@ const openCreateSearch = () => {
}); });
} }
const createConfirm = (data: any) => { const createConfirm = (data: any) => {
edit_data.value.name = data.name if (_type.value == 1301){
edit_data.value.approvalCode = data.approvalCode edit_data.value.name = data.name
edit_data.value.producer = data.producer edit_data.value.hilistCode = data.hilistCode
edit_data.value.packagingUnit = data.packagingUnit edit_data.value.approvalCode = data.approvalCode
edit_data.value.minPackagingNumber = data.minPackagingNumber edit_data.value.producer = data.producer
edit_data.value.minPackagingUnit = data.minPackagingUnit edit_data.value.packagingUnit = data.packagingUnit
edit_data.value.medicineDosageUnit = data.medicineDosageUnit edit_data.value.minPackagingNumber = data.minPackagingNumber
edit_data.value.medicineDosageNumber = data.medicineDosageNumber edit_data.value.minPackagingUnit = data.minPackagingUnit
edit_data.value.extra = data.extra edit_data.value.medicineDosageUnit = data.medicineDosageUnit
edit_data.value.medicineDosageNumber = data.medicineDosageNumber
edit_data.value.extra = data.extra
}
else if (_type.value == 1302){
edit_data.value.name = data.name
edit_data.value.hilistCode = data.hilistCode
edit_data.value.commonName = data.commonName
edit_data.value.packagingUnit = "g"
edit_data.value.minPackagingNumber = 1
edit_data.value.minPackagingUnit = "g"
}
else if (_type.value == 1306){
edit_data.value.name = data.name
edit_data.value.hilistCode = data.hilistCode
edit_data.value.commonName = data.commonName
edit_data.value.approvalCode = data.approvalCode
edit_data.value.producer = data.producer
edit_data.value.specification = data.specification
edit_data.value.packagingUnit = data.packagingUnit
edit_data.value.minPackagingUnit = data.minPackagingUnit
edit_data.value.medicineDosageUnit = data.medicineDosageUnit
edit_data.value.medicineDosageNumber = data.medicineDosageNumber
}
} }
const contrastCodeSearch = ref() const contrastCodeSearch = ref()
const openContrastCodeSearch = () => { const openContrastCodeSearch = () => {

View File

@ -1,5 +1,5 @@
<template> <template>
<Mask :width="800" :height="720" :is-show="show" @close="show=false" title="药品" :show-footer="true"> <Mask :width="800" :height="720" :is-show="show" @close="show=false" title="药品" :show-footer="true">
<div class="search_content_wrapper"> <div class="search_content_wrapper">
<div class="search_wrapper"> <div class="search_wrapper">
<span>药品名称:</span> <span>药品名称:</span>
@ -17,13 +17,17 @@
<el-table v-loading="isloading" :data="search_result.list" style="width: 100%" <el-table v-loading="isloading" :data="search_result.list" style="width: 100%"
highlight-current-row highlight-current-row
@current-change="change_current_search_data_index" @current-change="change_current_search_data_index"
@row-dblclick = confirm @row-dblclick=confirm
:row-class-name="tableRowClassName"> :row-class-name="tableRowClassName">
<el-table-column prop="name" label="名称" fixed width="180" show-overflow-tooltip/> <el-table-column prop="name" label="名称" fixed width="180" show-overflow-tooltip/>
<el-table-column :prop="type==1306?'json.reg_number' : 'json.approval_number'" fixed label="国药准字" width="180" v-if="type==1301 || type==1306" show-overflow-tooltip/> <el-table-column :prop="type==1306?'json.reg_number' : 'json.approval_number'" fixed label="国药准字"
width="180" v-if="type==1301 || type==1306" show-overflow-tooltip/>
<el-table-column v-if="type==1301" prop="json.reg_specifications" label="注册规格" width="120" <el-table-column v-if="type==1301" prop="json.reg_specifications" label="注册规格" width="120"
show-overflow-tooltip/> show-overflow-tooltip/>
<el-table-column prop="producer" label="生产企业" width="200" v-if="type==1301 || type==1306" show-overflow-tooltip/> <el-table-column v-if="type==1306" prop="json.specification" label="规格" width="120"
show-overflow-tooltip/>
<el-table-column prop="producer" label="生产企业" width="200" v-if="type==1301 || type==1306"
show-overflow-tooltip/>
<el-table-column v-if="type==1301" prop="json.min_packaging_unit" label="包装单位" width="80" <el-table-column v-if="type==1301" prop="json.min_packaging_unit" label="包装单位" width="80"
show-overflow-tooltip/> show-overflow-tooltip/>
@ -66,7 +70,7 @@ const show = ref(false);
const emit = defineEmits(["confirm"]) const emit = defineEmits(["confirm"])
let search_result = ref({ let search_result = ref<any>({
total_page: 0, total_page: 0,
list: [], list: [],
page: 1, page: 1,
@ -91,7 +95,8 @@ const init = (_type: number, _name: string) => {
type.value = _type; type.value = _type;
keyword.value = _name; keyword.value = _name;
show.value = true; show.value = true;
if (keyword.value && keyword.value != ""){ search_result.value = {}
if (keyword.value && keyword.value != "") {
search_social() search_social()
} }
@ -115,12 +120,13 @@ let confirm = () => {
id: null, id: null,
type: null, type: null,
name: jsondata?.name, name: jsondata?.name,
commonName: jsondata?.common_name, commonName: jsondata?.common_name || jsondata?.herbal_name,
hilistCode: jsondata.code, hilistCode: jsondata.code,
unitPrice: null, unitPrice: null,
purchaseUnitPrice: null, purchaseUnitPrice: null,
producer: jsondata.producer, producer: jsondata.producer,
barcode: null, barcode: null,
specification: jsondata.reg_specifications || jsondata.specification,
minPackagingNumber: jsondata.min_packaging_number, minPackagingNumber: jsondata.min_packaging_number,
packagingUnit: jsondata.min_packaging_unit, packagingUnit: jsondata.min_packaging_unit,
minPackagingUnit: jsondata.min_preparation_unit, minPackagingUnit: jsondata.min_preparation_unit,
@ -174,7 +180,7 @@ let search_social = () => {
} }
const close = () => { const close = () => {
show.value = false; show.value = false;
keyword.value='' keyword.value = ''
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -13,22 +13,25 @@
<div> <div>
{{ hilistInfo.code }} {{ hilistInfo.code }}
</div> </div>
<div> <div v-if="hilistInfo.type ==1301">
{{ hilistInfo.producer }} {{ hilistInfo.producer }}
</div> </div>
<div> <div v-if="hilistInfo.type ==1301">
{{ hilistInfo.json?.approval_number }} {{ hilistInfo.json?.approval_number }}
</div> </div>
<div> <div v-if="hilistInfo.type ==1301">
规格{{ hilistInfo.json?.dosage_specifications }} 规格{{ hilistInfo.json?.dosage_specifications }}
</div> </div>
<div v-if="hilistInfo.type ==1306">
规格{{ hilistInfo.json?.specifications }}
</div>
<div> <div>
限价{{ hilistInfo.hilistPricUplmtAmt ? hilistInfo.hilistPricUplmtAmt : '无' }} 限价{{ hilistInfo.hilistPricUplmtAmt ? hilistInfo.hilistPricUplmtAmt : '无' }}
</div> </div>
<div> <div>
限价类型{{ hilistInfo.hilistLmtpricType ? hilistInfo.hilistLmtpricType : '无' }} 限价类型{{ hilistInfo.hilistLmtpricType ? hilistInfo.hilistLmtpricType : '无' }}
</div> </div>
<div> <div v-if="hilistInfo.type ==1301">
本位码{{ hilistInfo.json?.standard_code }} 本位码{{ hilistInfo.json?.standard_code }}
</div> </div>
</div> </div>
@ -39,6 +42,7 @@ import {onMounted, ref, watch} from "vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
interface HilistInfo { interface HilistInfo {
type?: number;
name?: string; name?: string;
producer?: string; producer?: string;
code?: string; code?: string;
@ -47,6 +51,7 @@ interface HilistInfo {
approval_number?: string; approval_number?: string;
dosage_specifications?: string; dosage_specifications?: string;
standard_code?: string; standard_code?: string;
specifications?:string;
}; };
hilistPricUplmtAmt?: string | number; hilistPricUplmtAmt?: string | number;
hilistLmtpricType?: string; hilistLmtpricType?: string;