药品画面接口重新对应

This commit is contained in:
duhe
2025-03-26 15:52:33 +08:00
parent 973424d46e
commit 6e63d3c286
3 changed files with 448 additions and 211 deletions

View File

@@ -13,8 +13,9 @@ export function getMedicationList(query) {
// 查询药品目录详细
export function getMedicationOne(id) {
return request({
url: '/data-dictionary/medication/information-one/' + parseStrEmpty(id),
method: 'get'
url: '/data-dictionary/medication/information-one',
method: 'get',
params: { id } // 确保参数正确传递
})
}
@@ -53,7 +54,7 @@ export function getMedicationCategory() {
}
// 停用病种目录
// 停用药品目录
export function stopMedication(ids) {
console.log(ids)
return request({
@@ -63,7 +64,7 @@ export function stopMedication(ids) {
})
}
// 启用病种目录
// 启用药品目录
export function startMedication(ids) {
console.log(ids)
return request({
@@ -71,4 +72,22 @@ export function startMedication(ids) {
method: 'put',
data: ids
})
}
}
// 查询部门树形数据
export function deptTreeSelect(queryParams) {
return request({
url: '/base-data-manage/organization/organization',
method: 'get',
param: queryParams
})
}
// 查询地点树形数据
export function locationTreeSelect(queryParams) {
return request({
url: '/base-data-manage/cabinet-location/cabinet-location',
method: 'get',
param: queryParams
})
}

View File

@@ -77,12 +77,39 @@
</el-col>
<el-col :span="6">
<el-form-item label="所属科室" prop="orgId">
<el-input v-model="form.orgId" maxlength="11" />
<el-tree-select
v-model="form.orgId"
:data="deptOptions"
:props="{
value: 'id',
label: 'name',
children: 'children',
}"
value-key="id"
placeholder="请选择提供部门"
check-strictly
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="地点" prop="locationId">
<el-tree-select
v-model="form.locationId"
:data="locationOptions"
:props="{
value: 'id',
label: 'name',
children: 'children',
}"
value-key="id"
placeholder="请选择地点"
check-strictly
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<!-- <el-col :span="6">
<el-form-item label="系统类别" prop="category">
<el-select
v-model="form.category"
@@ -97,7 +124,7 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="6">
<el-form-item label="药品分类" prop="categoryCode">
<el-select
@@ -106,7 +133,7 @@
:disabled="form.id != undefined"
>
<el-option
v-for="category in medicine_category"
v-for="category in med_category_code"
:key="category.value"
:label="category.label"
:value="category.value"
@@ -115,9 +142,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最小费用" prop="categoryCode">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-select
v-model="form.categoryCode"
v-model="form.minimalFee"
clearable
:disabled="form.id != undefined"
>
@@ -153,15 +180,6 @@
<el-input v-model="form.totalVolume" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="包装数量" prop="packagingQuantity">
<el-input
v-model="form.packagingQuantity"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="包装单位" prop="unitCode">
<el-select
@@ -179,9 +197,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="贯标国家编码" prop="minUnitCode">
<el-form-item label="贯标国家编码" prop="nationalDrugCode">
<el-input
v-model="form.minUnitCode"
v-model="form.nationalDrugCode"
placeholder=""
:disabled="form.id != undefined"
/>
@@ -189,15 +207,15 @@
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="基本剂量" prop="dose">
<!-- <el-col :span="6">
<el-form-item label="基本剂量" prop="doseUnitCode">
<el-input
v-model="form.dose"
v-model="form.doseUnitCode"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="6">
<el-form-item label="剂量单位" prop="doseUnitCode">
<el-select
@@ -222,7 +240,7 @@
:disabled="form.id != undefined"
>
<el-option
v-for="category in medicine_formulation"
v-for="category in dose_form_code"
:key="category.value"
:label="category.label"
:value="category.value"
@@ -249,9 +267,9 @@
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="拆分属性" prop="minUnitCode">
<el-form-item label="拆分属性" prop="partAttributeEnum">
<el-select
v-model="form.categoryCode"
v-model="form.partAttributeEnum"
clearable
:disabled="form.id != undefined"
>
@@ -265,27 +283,22 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="购入价" prop="name">
<el-input v-model="form.name" placeholder="" />
<el-form-item label="购入价" prop="purchasePrice">
<el-input v-model="form.purchasePrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="零售价" prop="name">
<el-input v-model="form.name" placeholder="" />
<el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最高零售价" prop="name">
<el-input v-model="form.name" placeholder="" />
<el-form-item label="最高零售价" prop="maximumRetailPrice">
<el-input v-model="form.maximumRetailPrice" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="停用" prop="status">
<el-checkbox v-model="form.status"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="皮试判别" prop="skinTestFlag">
<el-checkbox v-model="form.skinTestFlag"></el-checkbox>
@@ -301,6 +314,11 @@
<el-checkbox v-model="form.childrenFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否活性" prop="activeFlag">
<el-checkbox v-model="form.activeFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
@@ -412,16 +430,6 @@
<el-input v-model="form.approvalNumber" placeholder="" />
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="所含耗材" prop="comprisedText">
<el-input v-model="form.comprisedText" placeholder="" />
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="拆零比" prop="partPercent">
<el-input v-model="form.partPercent" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="医保类别" prop="ybType">
<el-select
@@ -443,7 +451,7 @@
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="医保对码" prop="ybMatchFlag">
<el-input v-model="form.ybMatchFlag" placeholder="" />
<el-checkbox v-model="form.ybMatchFlag" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
@@ -452,13 +460,25 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产厂家 " prop="manufacturerId">
<el-input v-model="form.manufacturerId" placeholder="" />
<el-form-item label="生产厂家 " prop="manufacturerText">
<el-input v-model="form.manufacturerText" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="供应商" prop="supplyId">
<el-input v-model="form.supplyId" placeholder="" />
<el-select
v-model="form.supplyId"
placeholder=""
clearable
style="width: 150px"
>
<el-option
v-for="supplier in supplierListOptions"
:key="supplier.value"
:label="supplier.label"
:value="supplier.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
@@ -469,13 +489,13 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="抗生素" prop="restrictedFlag">
<el-checkbox v-model="form.restrictedFlag"></el-checkbox>
<el-form-item label="抗生素" prop="antibioticFlag">
<el-checkbox v-model="form.antibioticFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="限制使用范围" prop="restrictedScope">
<el-input v-model="form.restrictedScope" placeholder="" />
<el-form-item label="自制" prop="selfFlag">
<el-checkbox v-model="form.selfFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -485,7 +505,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="10">
<el-form-item label="生效日期" prop="effectiveDate">
<el-date-picker
v-model="form.effectiveDate"
@@ -495,12 +515,8 @@
/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item
label="到期日期"
prop="expirationDate"
style="margin-left: 10px"
>
<el-col :span="8">
<el-form-item label="到期日期" prop="expirationDate">
<el-date-picker
v-model="form.expirationDate"
type="datetime"
@@ -509,10 +525,20 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
label="限制使用范围"
prop="restrictedScope"
style="margin-left: 15px"
>
<el-input v-model="form.restrictedScope" placeholder="" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane label="抗生素信息" v-if="form.id != undefined">
<!-- <el-tab-pane label="抗生素信息" v-if="form.id != undefined && form.antibioticFlag"> -->
<el-tab-pane label="抗生素信息" v-if="form.antibioticFlag">
<el-form
:model="antibioticForm"
:rules="rules"
@@ -522,22 +548,10 @@
>
<el-row :gutter="24">
<el-col :span="20">
<el-form-item label="抗生素分类" prop="conditionCode">
<el-select v-model="antibioticForm.statusEnum" clearable>
<el-form-item label="抗生素分类" prop="antibioticCode">
<el-select v-model="antibioticForm.antibioticCode" clearable>
<el-option
v-for="dict in sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-select
v-model="antibioticForm.statusEnum"
clearable
style="margin-left: 5px"
>
<el-option
v-for="dict in sys_normal_disable"
v-for="dict in antibiotic_type_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -553,12 +567,12 @@
prop="conditionCode"
class="custom-label-spacing"
>
<el-select v-model="antibioticForm.statusEnum" clearable>
<el-select v-model="antibioticForm.restrictedEnum" clearable>
<el-option
v-for="dict in sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="statusRestricted in statusRestrictedOptions"
:key="statusRestricted.value"
:label="statusRestricted.info"
:value="statusRestricted.value"
/>
</el-select>
</el-form-item>
@@ -566,9 +580,9 @@
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="单次剂量" prop="conditionCode">
<el-form-item label="单次剂量" prop="dose">
<el-input
v-model="antibioticForm.name"
v-model="antibioticForm.dose"
placeholder="输入剂量"
:disabled="form.id != undefined"
/>
@@ -576,9 +590,9 @@
</el-col>
-
<el-col :span="5">
<el-form-item label="" prop="conditionCode" label-width="0px">
<el-form-item label="" prop="maxUnit" label-width="0px">
<el-input
v-model="antibioticForm.name"
v-model="antibioticForm.maxUnit"
placeholder="输入剂量"
:disabled="form.id != undefined"
/>
@@ -587,9 +601,9 @@
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="频次范围" prop="conditionCode">
<el-form-item label="频次范围" prop="minRateCode">
<el-input
v-model="antibioticForm.name"
v-model="antibioticForm.minRateCode"
placeholder=""
:disabled="form.id != undefined"
/>
@@ -597,9 +611,9 @@
</el-col>
-
<el-col :span="5">
<el-form-item label="" prop="conditionCode" label-width="0px">
<el-form-item label="" prop="maxRateCode" label-width="0px">
<el-input
v-model="antibioticForm.name"
v-model="antibioticForm.maxRateCode"
placeholder=""
:disabled="form.id != undefined"
/>
@@ -627,18 +641,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="剂量单位" prop="conditionCode">
<el-input
v-model="antibioticForm.name"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
<el-col :span="6"> (单位g) </el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
@@ -653,22 +655,16 @@
</template>
<script setup name="MedicineDialog">
// import {
// getDiseaseList,
// editDisease,
// addDisease,
// getDiseaseCategory,
// getDiseaseOne,
// } from "./components/medicine";
import { deptTreeSelect, locationTreeSelect } from "./medicine";
const router = useRouter();
const { proxy } = getCurrentInstance();
const {
medicine_category,
med_category_code,
system_categories,
medicine_properties,
unit_code,
medicine_formulation,
dose_form_code,
yb_type,
medicine_default_usage,
medicine_default_frequency,
@@ -676,13 +672,14 @@ const {
sys_normal_disable,
rate_code,
method_code,
fin_type_code
fin_type_code,
antibiotic_type_code,
} = proxy.useDict(
"medicine_category",
"med_category_code",
"system_categories",
"medicine_properties",
"unit_code",
"medicine_formulation",
"dose_form_code",
"yb_type",
"medicine_default_usage",
"medicine_default_frequency",
@@ -690,7 +687,8 @@ const {
"sys_normal_disable",
"rate_code",
"method_code",
"fin_type_code"
"fin_type_code",
"antibiotic_type_code"
);
const title = ref("");
@@ -698,7 +696,10 @@ const visible = ref(false);
const emits = defineEmits(["submit"]); // 声明自定义事件
const statusFlagOptions = ref(undefined);
const domainEnumOptions = ref(undefined);
const deptOptions = ref(undefined); // 部门树选项
const locationOptions = ref(undefined); // 地点树选项
const supplierListOptions = ref(undefined); // 供应商列表选项
const statusRestrictedOptions = ref(undefined); // 权限级别选项
const data = reactive({
form: {},
antibioticForm: {},
@@ -726,33 +727,42 @@ const props = defineProps({
type: Object,
required: false,
},
supplierListOptions: {
type: Object,
required: false,
},
statusRestrictedOptions: {
type: Object,
required: false,
},
});
/** 查询部门下拉树结构 */
function getDeptTree() {
console.log("查询部门下拉树结构");
deptTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
deptOptions.value = response.data.records;
console.log(deptOptions.value, "部门下拉树结构");
});
}
/** 查询地点下拉树结构 */
function getLocationTree() {
locationTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
locationOptions.value = response.data.records;
console.log(locationOptions.value, "部门下拉树结构");
});
}
// 显示弹框
function show() {
// queryParams.roleId = props.roleId;
// getList();
getLocationTree();
getDeptTree();
reset();
statusFlagOptions.value = props.status;
domainEnumOptions.value = props.domainEnum;
// currentData.value.activeFlag == 1
// ? (currentData.value.activeFlag = true)
// : (currentData.value.activeFlag = false); //是否为活性
// currentData.value.ybMatchFlag == 1
// ? (currentData.value.ybMatchFlag = true)
// : (currentData.value.ybMatchFlag = false); //医保是否对码
// currentData.value.skinTestFlag == 1
// ? (currentData.value.skinTestFlag = true)
// : (currentData.value.skinTestFlag = false); //是否皮试
// currentData.value.injectFlag == 1
// ? (currentData.value.injectFlag = true)
// : (currentData.value.injectFlag = false); //是否为注射药物
// currentData.value.restrictedFlag == 1
// ? (currentData.value.restrictedFlag = true)
// : (currentData.value.restrictedFlag = false); //是否限制使用
// currentData.value.childrenFlag == 1
// ? (currentData.value.childrenFlag = true)
// : (currentData.value.childrenFlag = false); //儿童用药标志
supplierListOptions.value = props.supplierListOptions;
statusRestrictedOptions.value = props.statusRestrictedOptions;
// console.log(currentData.value, "currentData");
visible.value = true;
}
@@ -764,15 +774,53 @@ function edit() {
console.log(props.item);
console.log("props.item");
reset();
getLocationTree();
getDeptTree();
form.value = props.item;
setFlag(form.value);
statusFlagOptions.value = props.status;
domainEnumOptions.value = props.domainEnum;
supplierListOptions.value = props.supplierListOptions;
statusRestrictedOptions.value = props.statusRestrictedOptions;
visible.value = true;
}
// checkbox值转换
function setFlag(data) {
data.activeFlag == 1 ? (data.activeFlag = true) : (data.activeFlag = false); //是否为活性
data.ybMatchFlag == 1
? (data.ybMatchFlag = true)
: (data.ybMatchFlag = false); //医保是否对码
data.skinTestFlag == 1
? (data.skinTestFlag = true)
: (data.skinTestFlag = false); //是否皮试
data.injectFlag == 1 ? (data.injectFlag = true) : (data.injectFlag = false); //是否为注射药物
data.restrictedFlag == 1
? (data.restrictedFlag = true)
: (data.restrictedFlag = false); //是否限制使用
data.childrenFlag == 1
? (data.childrenFlag = true)
: (data.childrenFlag = false); //儿童用药标志
data.antibioticFlag == 1
? (data.antibioticFlag = true)
: (data.antibioticFlag = false); //抗生素
data.selfFlag == 1
? (data.selfFlag = true)
: (data.selfFlag = false); //自制
}
/** 重置操作表单 */
function reset() {
form.value = {
id: undefined,
medicationDefId: undefined,
orgId: undefined,
locationId: undefined,
activeFlag: undefined,
effectiveDate: undefined,
expirationDate: undefined,
doseFrom: undefined,
rateCode: undefined,
approvalNumber: undefined,
definition: undefined,
name: undefined,
pyStr: undefined,
wbStr: undefined,
@@ -804,10 +852,23 @@ function reset() {
ybMatchFlag: undefined,
ybNo: undefined,
manufacturerId: undefined,
manufacturerText: undefined,
supplyId: undefined,
restrictedFlag: undefined,
restrictedScope: undefined,
characteristic: undefined,
purchasePrice: undefined,
retailPrice: undefined,
maximumRetailPrice: undefined,
ybType: undefined,
minimalFee: undefined,
nationalDrugCode: undefined,
ybDrugCode: undefined,
antibioticFlag: undefined,
selfFlag: undefined,
minRateCode: undefined,
maxRateCode: undefined,
partAttributeEnum: undefined,
};
proxy.resetForm("medicationRef");
}

View File

@@ -48,11 +48,7 @@
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item
label="状态"
prop="statusEnum"
label-width="100"
>
<el-form-item label="状态" prop="statusEnum" label-width="100">
<el-select v-model="queryParams.statusEnum" clearable>
<el-option
v-for="status in statusFlagOptions"
@@ -64,17 +60,21 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="医保对码" prop="ybMatchFlag" label-width="80">
<el-form-item
label="医保对码"
prop="ybMatchFlag"
label-width="80"
>
<el-select
v-model="queryParams.ybMatchFlag"
placeholder=""
clearable
>
<el-option
v-for="domainEnum in domainEnumOptions"
:key="domainEnum.value"
:label="domainEnum.info"
:value="domainEnum.value"
v-for="ybMatch in statusWeatherOption"
:key="ybMatch.value"
:label="ybMatch.info"
:value="ybMatch.value"
/>
</el-select>
</el-form-item>
@@ -184,8 +184,15 @@
<el-table-column
label="药品状态"
align="center"
key="statusEnum"
prop="statusEnum"
key="statusEnum_enumText"
prop="statusEnum_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="医保类别"
align="center"
key="ybType_enumText"
prop="ybType_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -206,23 +213,30 @@
<el-table-column
label="药品分类"
align="center"
key="categoryCode"
prop="categoryCode"
key="categoryCode_dictText"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="所属科室"
align="center"
key="orgId"
prop="orgId"
key="orgId_dictText"
prop="orgId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="地点"
align="center"
key="locationId_dictText"
prop="locationId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="剂型"
align="center"
key="doseFormCode"
prop="doseFormCode"
key="doseFormCode_dictText"
prop="doseFormCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -243,8 +257,8 @@
<el-table-column
label="是否为活性"
align="center"
key="activeFlag"
prop="activeFlag"
key="activeFlag_enumText"
prop="activeFlag_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -254,13 +268,13 @@
prop="lotNumber"
:show-overflow-tooltip="true"
/>
<el-table-column
<!-- <el-table-column
label="拆零价"
align="center"
key="statusEnum"
prop="statusEnum"
:show-overflow-tooltip="true"
/>
/> -->
<el-table-column
label="生效日期"
align="center"
@@ -286,16 +300,15 @@
<el-table-column
label="用法"
align="center"
key="methodCode"
prop="methodCode"
key="methodCode_dictText"
prop="methodCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="用药频次"
align="center"
key="rateCode"
prop="rateCode"
key="rateCode_dictText"
prop="rateCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
@@ -309,8 +322,8 @@
<el-table-column
label="剂量单位"
align="center"
key="doseUnitCode"
prop="doseUnitCode"
key="doseUnitCode_dictText"
prop="doseUnitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -328,11 +341,35 @@
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="用量限定"
align="center"
key="usageLimit"
prop="usageLimit"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="DDD值"
align="center"
key="dddCode_dictText"
prop="dddCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="DDD单位"
align="center"
key="dddUnitCode_dictText"
prop="dddUnitCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="适用范围"
align="center"
key="domainEnum"
prop="domainEnum"
key="domainEnum_enumText"
prop="domainEnum_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -381,10 +418,10 @@
:show-overflow-tooltip="true"
/>
<el-table-column
label="最小单位"
label="财务统计类型"
align="center"
key="minUnitCode"
prop="minUnitCode"
key="minUnitCode_dictText"
prop="minUnitCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
@@ -429,8 +466,8 @@
<el-table-column
label="医保是否对码"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag"
key="ybMatchFlag_enumText"
prop="ybMatchFlag_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -451,16 +488,16 @@
<el-table-column
label="是否皮试"
align="center"
key="skinTestFlag"
prop="skinTestFlag"
key="skinTestFlag_enumText"
prop="skinTestFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="是否为注射药物"
align="center"
key="injectFlag"
prop="injectFlag"
key="injectFlag_enumText"
prop="injectFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
@@ -471,19 +508,26 @@
prop="manufacturerId"
:show-overflow-tooltip="true"
/>
<el-table-column
label="生产厂家名称"
align="center"
key="manufacturerName"
prop="manufacturerName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="供应商"
align="center"
key="supplyId"
prop="supplyId"
key="supplyId_dictText"
prop="supplyId_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="是否限制使用"
align="center"
key="restrictedFlag"
prop="restrictedFlag"
key="restrictedFlag_enumText"
prop="restrictedFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
@@ -498,8 +542,8 @@
<el-table-column
label="儿童用药标志"
align="center"
key="childrenFlag"
prop="childrenFlag"
key="childrenFlag_enumText"
prop="childrenFlag_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -510,6 +554,94 @@
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="贯标国家编码"
align="center"
key="nationalDrugCode"
prop="nationalDrugCode"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="拆分属性"
align="center"
key="partAttributeEnum_enumText"
prop="partAttributeEnum_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="抗生素分类"
align="center"
key="antibioticCode_dictText"
prop="antibioticCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="权限限制"
align="center"
key="restrictedEnum_enumText"
prop="restrictedEnum_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="是否自制"
align="center"
key=" selfFlag_enumText"
prop=" selfFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="是否抗生素"
align="center"
key="antibioticFlag_enumText"
prop="antibioticFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="基药标识"
align="center"
key="basicFlag_enumText"
prop="basicFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="常规单位"
align="center"
key="baseUnitCode"
prop="baseUnitCode"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="当前库存数量(常规单位)"
align="center"
key="baseQuantity"
prop="baseQuantity"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="当前库存数量(最小单位数量)"
align="center"
key="minQuantity"
prop="minQuantity"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="售价"
align="center"
key="price"
prop="price"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="操作"
align="center"
@@ -526,14 +658,14 @@
v-hasPermi="['system:user:edit']"
>编辑</el-button
>
<el-button
<!-- <el-button
link
type="primary"
icon="View"
@click="openViewMedicine(scope.row)"
v-hasPermi="['system:user:remove']"
>查看</el-button
>
> -->
</template>
</el-table-column>
</el-table>
@@ -551,6 +683,8 @@
:item="currentData"
:domainEnum="domainEnumOptions"
:status="statusFlagOptions"
:supplierListOptions="supplierListOptions"
:statusRestrictedOptions="statusRestrictedOptions"
@submit="submitForm"
/>
<medicine-view-dialog
@@ -595,6 +729,8 @@ const medicationOptions = ref(undefined);
const statusFlagOptions = ref(undefined);
const domainEnumOptions = ref(undefined);
const supplierListOptions = ref(undefined);
const statusWeatherOption = ref(undefined);
const statusRestrictedOptions = ref(undefined);
// 使用 ref 定义当前药品数据
const currentData = ref({});
// 使用 ref 定义当前查看药品数据
@@ -611,7 +747,7 @@ const data = reactive({
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
statusEnum: undefined, // 状态(包括 1预置2启用3停用
ybMatchFlag: undefined, // 是否医保匹配(包括 10
status: undefined, // 状态(包括 1预置2启用3停用
categoryCode: undefined, // 目录
},
rules: {
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
@@ -636,15 +772,18 @@ const filterNode = (value, data) => {
function getMedicationCategoryList() {
getMedicationCategory().then((response) => {
console.log(response, "response药品目录分类查询下拉树结构");
medicationOptions.value = response.data.medicationListOptions;
medicationOptions.value = response.data.medicationCategoryCodeOptions;
statusFlagOptions.value = response.data.statusFlagOptions;
domainEnumOptions.value = response.data.domainFlagOptions;
supplierListOptions.value = response.data.supplierListOptions;
statusWeatherOption.value = response.data.statusWeatherOptions;
statusRestrictedOptions.value = response.data.statusRestrictedOptions;
});
}
/** 查询病种目录列表 */
function getList() {
loading.value = true;
console.log(queryParams.value, "queryParams***********************");
getMedicationList(queryParams.value).then((res) => {
loading.value = false;
console.log(res, "res");
@@ -654,12 +793,13 @@ function getList() {
}
/** 节点单击事件 */
function handleNodeClick(data) {
queryParams.value.deptId = data.id;
queryParams.value.categoryCode = data.value;
handleQuery();
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNo = 1;
console.log(queryParams.value, "queryParams");
getList();
}
@@ -740,25 +880,36 @@ function openAddMedicine() {
}
/** 打开编辑弹窗 */
function openEditMedicine(row) {
currentData.value = JSON.parse(JSON.stringify(row));
currentData.value.activeFlag == 1
? (currentData.value.activeFlag = true)
: (currentData.value.activeFlag = false); //是否为活性
currentData.value.ybMatchFlag == 1
? (currentData.value.ybMatchFlag = true)
: (currentData.value.ybMatchFlag = false); //医保是否对码
currentData.value.skinTestFlag == 1
? (currentData.value.skinTestFlag = true)
: (currentData.value.skinTestFlag = false); //是否皮试
currentData.value.injectFlag == 1
? (currentData.value.injectFlag = true)
: (currentData.value.injectFlag = false); //是否为注射药物
currentData.value.restrictedFlag == 1
? (currentData.value.restrictedFlag = true)
: (currentData.value.restrictedFlag = false); //是否限制使用
currentData.value.childrenFlag == 1
? (currentData.value.childrenFlag = true)
: (currentData.value.childrenFlag = false); //儿童用药标志
getMedicationOne(row.id).then((response) => {
console.log(response, "responsebbbb", row.id);
currentData.value = response.data;
// getList();
});
// currentData.value = JSON.parse(JSON.stringify(row));
// currentData.value.activeFlag == 1
// ? (currentData.value.activeFlag = true)
// : (currentData.value.activeFlag = false); //是否为活性
// currentData.value.ybMatchFlag == 1
// ? (currentData.value.ybMatchFlag = true)
// : (currentData.value.ybMatchFlag = false); //医保是否对码
// currentData.value.skinTestFlag == 1
// ? (currentData.value.skinTestFlag = true)
// : (currentData.value.skinTestFlag = false); //是否皮试
// currentData.value.injectFlag == 1
// ? (currentData.value.injectFlag = true)
// : (currentData.value.injectFlag = false); //是否为注射药物
// currentData.value.restrictedFlag == 1
// ? (currentData.value.restrictedFlag = true)
// : (currentData.value.restrictedFlag = false); //是否限制使用
// currentData.value.childrenFlag == 1
// ? (currentData.value.childrenFlag = true)
// : (currentData.value.childrenFlag = false); //儿童用药标志
// currentData.value.antibioticFlag == 1
// ? (currentData.value.antibioticFlag = true)
// : (currentData.value.antibioticFlag = false); //抗生素标志
// currentData.value.selfFlag == 1
// ? (currentData.value.selfFlag = true)
// : (currentData.value.selfFlag = false); //自制标志
console.log(currentData.value, "currentData");
// 确保子组件已经接收到最新的 props
nextTick(() => {
@@ -799,8 +950,14 @@ function submitForm(formData) {
formData.childrenFlag == true
? (formData.childrenFlag = 1)
: (formData.childrenFlag = 0); //儿童用药标志
formData.antibioticFlag == true
? (formData.antibioticFlag = 1)
: (formData.antibioticFlag = 0); //抗生素标志
formData.selfFlag == true
? (formData.selfFlag = 1)
: (formData.selfFlag = 0); //自制标志
formData.status == true ? (formData.status = 1) : (formData.status = 0); //启用状态
console.log(formData, "submitForm");
if (formData.id != undefined) {
// form.value.status
// ? (form.value.statusEnum = "3")