目录管理画面调整 up by dh

This commit is contained in:
duhe
2025-03-27 19:37:30 +08:00
parent 07f525b510
commit 2f9ba58a8c
8 changed files with 1062 additions and 703 deletions

View File

@@ -34,14 +34,15 @@
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="地点" prop="locationId">
<el-form-item label="器材分类" prop="categoryEnum">
<el-tree-select
v-model="form.locationId"
:data="locationOptions"
:props="{ value: 'id', label: 'name', children: 'children' }"
value-key="id"
placeholder="请选择地点"
v-model="form.categoryEnum"
:data="deviceCategories"
:props="{ value: 'value', label: 'info', children: 'children' }"
value-key="value"
placeholder=""
check-strictly
disabled
/>
</el-form-item>
</el-col>
@@ -52,18 +53,7 @@
<el-input v-model="form.wbStr" placeholder="" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="器材分类" prop="categoryEnum">
<el-tree-select
v-model="form.categoryEnum"
:data="deviceCategories"
:props="{ value: 'value', label: 'info', children: 'children' }"
value-key="value"
placeholder=""
check-strictly
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="器材种类" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="请选择">
@@ -88,6 +78,18 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<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="8">
@@ -103,8 +105,15 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="包装规格" prop="size">
<el-input v-model="form.size" placeholder="" />
<el-form-item label="销售单位" prop="salesUnitCode">
<el-select v-model="form.salesUnitCode" placeholder="请选择">
<el-option
v-for="dict in unit_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -121,6 +130,11 @@
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="包装规格" prop="size">
<el-input v-model="form.size" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="拆零比" prop="partPercent">
<el-input v-model="form.partPercent" placeholder="" />
@@ -131,51 +145,33 @@
<el-input v-model="form.modelNumber" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="高值器材标志" prop="hvcmFlag">
<!-- <el-input
v-model="form.hvcmFlag"
placeholder=""
:disabled="form.id != undefined"
/> -->
<el-checkbox v-model="form.hvcmFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="销售单位" prop="salesUnitCode">
<el-select v-model="form.salesUnitCode" placeholder="请选择">
<el-option
v-for="dict in unit_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批准文号" prop="approvalNumber">
<el-input v-model="form.approvalNumber" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保标记" prop="ybFlag">
<!-- <el-input v-model="form.ybFlag" placeholder="" /> -->
<el-checkbox v-model="form.ybFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="医保编码" prop="ybNo">
<el-input v-model="form.ybNo" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保对码标记" prop="ybMatchFlag">
<el-checkbox v-model="form.ybMatchFlag"></el-checkbox>
<el-form-item label="器材版本" prop="version">
<el-input v-model="form.version" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="主要成分" prop="substanceText">
<el-input v-model="form.substanceText" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="适用范围" prop="jurisdiction">
<el-input v-model="form.jurisdiction" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
@@ -215,36 +211,81 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="适用范围" prop="jurisdiction">
<el-input v-model="form.jurisdiction" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<!-- <el-col :span="8">
<el-form-item label="执行科室" prop="ruleId">
<el-input v-model="form.ruleId" placeholder="" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="器材版本" prop="version">
<el-input v-model="form.version" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="主要成分" prop="substanceText">
<el-input v-model="form.substanceText" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="过敏标记" prop="allergenFlag">
<el-checkbox v-model="form.allergenFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="医保标记" prop="ybFlag">
<el-checkbox v-model="form.ybFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保对码标记" prop="ybMatchFlag">
<el-checkbox v-model="form.ybMatchFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="高值器材标志" prop="hvcmFlag">
<el-checkbox v-model="form.hvcmFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-select
v-model="form.minimalFee"
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in fin_type_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保类别" prop="ybType">
<el-select
v-model="form.ybType"
placeholder="医保类别"
clearable
style="width: 240px"
>
<el-option
v-for="dict in yb_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="购入价" prop="purchasePrice">
<el-input v-model="form.purchasePrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<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="16">
<el-form-item label="说明" prop="description">
@@ -374,6 +415,10 @@ const props = defineProps({
type: Object,
required: false,
},
currentCategoryEnum: {
type: String,
required: true,
},
});
// 显示弹框
@@ -385,6 +430,7 @@ function show() {
title.value = props.title;
deviceCategories.value = props.deviceCategories;
statusFlagOptions.value = props.statusFlagOptions;
form.value.categoryEnum = props.currentCategoryEnum;
console.log(props, "22222", title.value, props.deviceCategories);
getDeptTree();
getLocationTree();
@@ -453,6 +499,11 @@ function reset() {
allergenFlag: undefined, // 过敏标记
orgId: undefined, // 科室ID
locationId: undefined, // 地点ID
ybType: undefined, // 医保类型
minimalFee: undefined, // 最小收费
purchasePrice: undefined, // 购入价
retailPrice: undefined, // 零售价
maximumRetailPrice: undefined, // 最高零售价
};
proxy.resetForm("medicationRef");
}

View File

@@ -383,6 +383,7 @@
ref="deviceRef"
:title="title"
:item="currentData"
:currentCategoryEnum="currentCategoryEnum"
:deviceCategories="deviceCategories"
:statusFlagOptions="statusFlagOptions"
@submit="getList()"
@@ -430,6 +431,7 @@ const exeOrganizations = ref(undefined);
const currentData = ref({});
// 使用 ref 定义当前查看器材数据
const viewData = ref({});
const currentCategoryEnum = ref("");
const data = reactive({
form: {},
@@ -481,6 +483,7 @@ function getList() {
/** 节点单击事件 */
function handleNodeClick(data) {
queryParams.value.categoryEnum = data.value;
currentCategoryEnum.value = data.value;
handleQuery();
}
/** 搜索按钮操作 */
@@ -549,6 +552,9 @@ function importTemplate() {
/** 打开新增弹窗 */
function openAddDevice() {
if (!currentCategoryEnum.value) {
return proxy.$modal.msgError("请选择器材目录分类");
}
console.log("打开新增弹窗");
title.value = "新增";
nextTick(() => {

View File

@@ -21,101 +21,213 @@
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop="name">
<el-input
v-model="form.name"
placeholder="请输入器材名称"
/>
<el-input v-model="form.name" placeholder="请输入名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="拼音码(项目名称)"
prop="pyStr"
class="custom-label-spacing"
>
<el-input v-model="form.pyStr" placeholder=""/>
<el-form-item label="所属科室" prop="orgId">
<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-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="五笔拼音" prop="wbStr">
<el-input v-model="form.wbStr" placeholder=""/>
<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-col :span="8">
<el-form-item label="目录分类" prop="categoryEnum">
<el-input
<el-tree-select
v-model="form.categoryEnum"
placeholder=""
:data="diseaseTreatmentCategoryList"
:props="{
value: 'id',
label: 'info',
children: 'children',
}"
value-key="id"
placeholder="请选择地点"
check-strictly
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="类型" prop="typeCode">
<el-input v-model="form.typeCode" placeholder=""/>
<el-select v-model="form.typeCode" placeholder="" clearable>
<el-option
v-for="item in typeEnumOptions"
:key="item.value"
:label="item.info"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="statusEnum">
<el-select v-model="form.statusEnum" clearable>
<el-option
v-for="status in statusFlagOptions"
:key="status.value"
:label="status.info"
:value="status.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="使用单位" prop="permittedUnitCode">
<el-input
v-model="form.permittedUnitCode"
placeholder=""
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保标记" prop="ybFlag">
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
<el-checkbox v-model="form.ybFlag"></el-checkbox>
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医保编码" prop="conditionCode">
<el-input v-model="form.ybNo" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="医保对码标记" prop="ybMatchFlag">
<el-checkbox v-model="form.ybMatchFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="statusEnum">
<el-input
v-model="form.statusEnum"
placeholder=""
/>
<el-form-item label="医保编码" prop="conditionCode">
<el-input v-model="form.ybNo" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="医保类别" prop="ybType">
<el-select
v-model="form.ybType"
placeholder="医保类别"
clearable
style="width: 240px"
>
<el-option
v-for="dict in yb_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身体部位" prop="bodySiteCode">
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
<el-input
<el-select
v-model="form.bodySiteCode"
placeholder=""
/>
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in body_site_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所需标本" prop="specimenCode">
<el-select
v-model="form.specimenCode"
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in specimen_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="所需标本" prop="specimenCode">
<el-input
v-model="form.specimenCode"
placeholder=""
/>
<el-form-item label="执行科室" prop="ruleId">
<el-select v-model="form.ruleId" placeholder="" clearable>
<el-option
v-for="item in exeOrganizations"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规则id" prop="ruleId">
<el-checkbox v-model="form.ruleId"></el-checkbox>
<el-form-item label="使用单位" prop="permittedUnitCode">
<el-select
v-model="form.permittedUnitCode"
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in unit_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-select
v-model="form.minimalFee"
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in fin_type_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="购入价" prop="purchasePrice">
<el-input v-model="form.purchasePrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最高零售价" prop="maximumRetailPrice">
<el-input v-model="form.maximumRetailPrice" placeholder="" />
</el-form-item>
</el-col>
</el-row>
@@ -142,41 +254,54 @@
</div>
</template>
<script setup name="MedicineDialog">
<script setup name="DiagnosisTreatmentDialog">
import {
getDiagnosisTreatmentList,
editDiagnosisTreatment,
addDiagnosisTreatment,
getDiseaseTreatmentInit,
getDiagnosisTreatmentOne,
deptTreeSelect,
locationTreeSelect,
} from "./diagnosistreatment";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const { unit_code, yb_type,fin_type_code } = proxy.useDict("unit_code", "yb_type","fin_type_code");
const title = ref("");
const visible = ref(false);
const emits = defineEmits(["submit"]); // 声明自定义事件
const categoryEnum = ref("");
const deptOptions = ref(undefined); // 部门树选项
const locationOptions = ref(undefined); // 地点树选项
const diseaseTreatmentCategoryList = ref(undefined);
const statusFlagOptions = ref(undefined);
const exeOrganizations = ref(undefined);
const typeEnumOptions = ref(undefined);
const data = reactive({
form: {},
rules: {
// busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// pyStr: [{ required: true, message: "拼音不能为空", trigger: "blur" }],
busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
statusEnum: [{ required: true, message: "状态不能为空", trigger: "blur" }],
// wbStr: [{ required: true, message: "五笔拼音不能为空", trigger: "blur" }],
// categoryEnum: [{ required: true, message: "器材分类不能为空", trigger: "blur" }],
// typeCode: [{ required: true, message: "器材种类不能为空", trigger: "blur" }],
// unitCode: [{ required: true, message: "包装单位不能为空", trigger: "blur" }],
// size: [{ required: true, message: "包装规格不能为空", trigger: "blur" }],
// partPercent: [{ required: true, message: "拆零比不能为空", trigger: "blur" }],
categoryEnum: [
{ required: true, message: "诊疗目录不能为空", trigger: "blur" },
],
typeCode: [
{ required: true, message: "器材种类不能为空", trigger: "blur" },
],
permittedUnitCode: [
{ required: true, message: "使用单位不能为空", trigger: "blur" },
],
ybFlag: [{ required: true, message: "医保标记不能为空", trigger: "blur" }],
ybMatchFlag: [
{ required: true, message: "医保对码标记不能为空", trigger: "blur" },
],
// minUnitCode: [{ required: true, message: "最小使用单位不能为空", trigger: "blur" }],
// modelNumber: [{ required: true, message: "产品型号不能为空", trigger: "blur" }],
// hvcmFlag: [{ required: true, message: "高值器材标志不能为空", trigger: "blur" }],
// hvcmFlag: [{ required: true, message: "高值器材标志不能为空", trigger: "blur" }],
// salesUnitCode: [{ required: true, message: "销售单位不能为空", trigger: "blur" }],
},
});
@@ -192,6 +317,26 @@ const props = defineProps({
type: String,
required: false,
},
currentCategoryEnum: {
type: String,
required: true,
},
diseaseTreatmentCategoryList: {
type: Object,
required: false,
},
statusFlagOptions: {
type: Object,
required: false,
},
exeOrganizations: {
type: Object,
required: false,
},
typeEnumOptions: {
type: Object,
required: false,
},
});
// 显示弹框
@@ -199,8 +344,16 @@ function show() {
reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree();
getDeptTree();
title.value = "";
title.value = props.title;
diseaseTreatmentCategoryList.value = props.diseaseTreatmentCategoryList;
statusFlagOptions.value = props.statusFlagOptions;
exeOrganizations.value = props.exeOrganizations;
typeEnumOptions.value = props.typeEnumOptions;
form.value.categoryEnum = props.currentCategoryEnum;
console.log(props.currentCategoryEnum, "11111");
console.log(props, "22222", title.value);
visible.value = true;
}
@@ -209,9 +362,15 @@ function edit() {
reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree();
getDeptTree();
title.value = "";
title.value = props.title;
form.value = props.item;
diseaseTreatmentCategoryList.value = props.diseaseTreatmentCategoryList;
statusFlagOptions.value = props.statusFlagOptions;
exeOrganizations.value = props.exeOrganizations;
typeEnumOptions.value = props.typeEnumOptions;
visible.value = true;
}
/** 重置操作表单 */
@@ -220,19 +379,26 @@ function reset() {
id: undefined,
busNo: undefined, // 编码
name: undefined, // 名称
locationId: undefined, // 地点
orgId: undefined, // 执行科室
pyStr: undefined, // 拼音码
wbStr: undefined, // 五笔码
categoryEnum: undefined, // 类别
typeCode: undefined, // 类型编码
permittedUnitCode: undefined, // 使用单位
ybFlag: undefined, // 医保标记
ybNo: undefined, // 医保编码
ybMatchFlag: undefined, // 医保对码标记
statusEnum: undefined, // 状态(包括 1预置2启用3停用
ybFlag: undefined, // 医保标记
ybMatchFlag: undefined, // 医保对码标记
ybNo: undefined, // 医保编码
ybType: undefined, // 医保类型
bodySiteCode: undefined, // 身体部位
specimenCode: undefined, // 所需标本
description: undefined, // 说明
ruleId: undefined, // 执行科室
permittedUnitCode: undefined, // 使用单位
minimalFee: undefined, // 最小收费
purchasePrice: undefined, // 购入价
retailPrice: undefined, // 零售价
maximumRetailPrice: undefined, // 最高零售价
description: undefined, // 说明
};
proxy.resetForm("medicationRef");
}
@@ -240,7 +406,9 @@ function reset() {
/** 提交按钮 */
function submitForm() {
form.value.ybFlag ? (form.value.ybFlag = 1) : (form.value.ybFlag = 0);
form.value.ybMatchFlag ? (form.value.ybMatchFlag = 1) : (form.value.ybMatchFlag = 0);
form.value.ybMatchFlag
? (form.value.ybMatchFlag = 1)
: (form.value.ybMatchFlag = 0);
form.value.ruleId ? (form.value.ruleId = 1) : (form.value.ruleId = 0);
if (form.value.id != undefined) {
editDiagnosisTreatment(form.value).then((response) => {
@@ -260,6 +428,24 @@ function submitForm() {
});
}
}
/** 查询部门下拉树结构 */
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 cancel() {
visible.value = false;

View File

@@ -13,8 +13,9 @@ export function getDiagnosisTreatmentList(query) {
// 查询诊疗目录详细
export function getDiagnosisTreatmentOne(id) {
return request({
url: '/data-dictionary/diagnosis-treatment/information-one/' + parseStrEmpty(id),
method: 'get'
url: '/data-dictionary/diagnosis-treatment/information-one/',
method: 'get',
params: { id } // 确保参数正确传递
})
}
@@ -71,3 +72,21 @@ export function startDiseaseTreatment(ids) {
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
})
}

File diff suppressed because it is too large Load Diff

View File

@@ -197,13 +197,13 @@
label="医保对码标志"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag"
prop="ybMatchFlag_enumText"
/>
<el-table-column
label="停用"
label="状态"
align="center"
key="statusEnum"
prop="statusEnum"
prop="statusEnum_enumText"
width="160"
/>
<el-table-column

View File

@@ -77,11 +77,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="药品分类" prop="categoryCode">
<el-select
v-model="form.categoryCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.categoryCode" clearable disabled>
<el-option
v-for="category in med_category_code"
:key="category.value"
@@ -142,9 +138,9 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-form-item label="财务统计类型" prop="typeCode">
<el-select
v-model="form.minimalFee"
v-model="form.typeCode"
clearable
:disabled="form.id != undefined"
>
@@ -310,7 +306,19 @@
</el-col>
<el-col :span="6">
<el-form-item label="剂量形式" prop="doseFrom">
<el-input v-model="form.doseFrom" placeholder="" />
<!-- <el-input v-model="form.doseFrom" placeholder="" /> -->
<el-select
v-model="form.doseFrom"
clearable
:disabled="form.id != undefined"
>
<el-option
v-for="category in dose_from_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -405,9 +413,9 @@
:disabled="form.id != undefined"
>
<el-option
v-for="category in unit_code"
v-for="category in partAttributeEnumOptions"
:key="category.value"
:label="category.label"
:label="category.info"
:value="category.value"
/>
</el-select>
@@ -663,6 +671,7 @@
<script setup name="MedicineDialog">
import { deptTreeSelect, locationTreeSelect } from "./medicine";
import moment from 'moment'
const router = useRouter();
const { proxy } = getCurrentInstance();
@@ -682,6 +691,7 @@ const {
fin_type_code,
antibiotic_type_code,
ddd_code,
dose_from_code,
} = proxy.useDict(
"med_category_code",
"system_categories",
@@ -697,7 +707,8 @@ const {
"method_code",
"fin_type_code",
"antibiotic_type_code",
"ddd_code"
"ddd_code",
"dose_from_code"
);
const title = ref("");
@@ -709,6 +720,7 @@ const deptOptions = ref(undefined); // 部门树选项
const locationOptions = ref(undefined); // 地点树选项
const supplierListOptions = ref(undefined); // 供应商列表选项
const statusRestrictedOptions = ref(undefined); // 权限级别选项
const partAttributeEnumOptions = ref(undefined); // 部位属性选项
const data = reactive({
form: {},
antibioticForm: {},
@@ -744,6 +756,14 @@ const props = defineProps({
type: Object,
required: false,
},
currentCategoryEnum: {
type: String,
required: true,
},
partAttributeEnumOptions: {
type: Object,
required: false,
},
});
/** 查询部门下拉树结构 */
@@ -772,6 +792,11 @@ function show() {
domainEnumOptions.value = props.domainEnum;
supplierListOptions.value = props.supplierListOptions;
statusRestrictedOptions.value = props.statusRestrictedOptions;
form.value.categoryCode = props.currentCategoryEnum;
partAttributeEnumOptions.value = props.partAttributeEnumOptions;
console.log(form.value.categoryCode, "form.value.categoryCode");
// console.log(currentData.value, "currentData");
visible.value = true;
}
@@ -786,11 +811,22 @@ function edit() {
getLocationTree();
getDeptTree();
form.value = props.item;
setFlag(form.value);
if (form.value) {
setFlag(form.value);
}
statusFlagOptions.value = props.status;
domainEnumOptions.value = props.domainEnum;
supplierListOptions.value = props.supplierListOptions;
statusRestrictedOptions.value = props.statusRestrictedOptions;
partAttributeEnumOptions.value = props.partAttributeEnumOptions;
antibioticForm.value.antibioticCode = form.value.antibioticCode;
antibioticForm.value.restrictedEnum = form.value.restrictedEnum;
antibioticForm.value.dose = form.value.dose;
antibioticForm.value.maxUnit = form.value.maxUnit;
antibioticForm.value.minRateCode = form.value.maxRateCode;
antibioticForm.value.maxRateCode = form.value.maxRateCode;
antibioticForm.value.dddUnitCode = form.value.dddUnitCode;
antibioticForm.value.dddCode = form.value.dddCode;
visible.value = true;
}
// checkbox值转换
@@ -867,7 +903,7 @@ function reset() {
retailPrice: undefined,
maximumRetailPrice: undefined,
ybType: undefined,
minimalFee: undefined,
typeCode: undefined,
nationalDrugCode: undefined,
antibioticFlag: undefined,
selfFlag: undefined,
@@ -903,6 +939,11 @@ function submitForm() {
form.value.dddUnitCode = antibioticForm.value.dddUnitCode;
form.value.dddCode = antibioticForm.value.dddCode;
}
const effectiveDate = form.value.effectiveDate ? moment(form.value.effectiveDate).format("YYYY-MM-DD HH:mm:ss") : '';
const expirationDate = form.value.expirationDate ? moment(form.value.expirationDate).format("YYYY-MM-DD HH:mm:ss") : '';
form.value.effectiveDate = effectiveDate;
form.value.expirationDate = expirationDate;
console.log(form.value.effectiveDate,form.value.expirationDate,'====================');
// 将表单数据发送给父组件
emits("submit", form.value);
visible.value = false;

View File

@@ -411,17 +411,17 @@
width="90"
/>
<el-table-column
label="药品单位"
label="包装单位"
align="center"
key="unitCode"
prop="unitCode"
key="unitCode_dictText"
prop="unitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="财务统计类型"
align="center"
key="minUnitCode_dictText"
prop="minUnitCode_dictText"
key="typeCode_dictText"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
@@ -433,13 +433,13 @@
:show-overflow-tooltip="true"
width="110"
/>
<el-table-column
<!-- <el-table-column
label="成分"
align="center"
key="ingredient"
prop="ingredient"
:show-overflow-tooltip="true"
/>
/> -->
<el-table-column
label="拆零比"
align="center"
@@ -451,8 +451,8 @@
<el-table-column
label="剂量形式"
align="center"
key="doseFrom"
prop="doseFrom"
key="doseFrom_dictText"
prop="doseFrom_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -501,18 +501,18 @@
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
<!-- <el-table-column
label="生产厂家"
align="center"
key="manufacturerId"
prop="manufacturerId"
:show-overflow-tooltip="true"
/>
/> -->
<el-table-column
label="生产厂家名称"
align="center"
key="manufacturerName"
prop="manufacturerName"
key="manufacturerText"
prop="manufacturerText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -589,8 +589,8 @@
<el-table-column
label="是否自制"
align="center"
key=" selfFlag_enumText"
prop=" selfFlag_enumText"
key="selfFlag_enumText"
prop="selfFlag_enumText"
:show-overflow-tooltip="true"
width="90"
/>
@@ -610,14 +610,6 @@
: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"
@@ -685,6 +677,8 @@
:status="statusFlagOptions"
:supplierListOptions="supplierListOptions"
:statusRestrictedOptions="statusRestrictedOptions"
:currentCategoryEnum="currentCategoryEnum"
:partAttributeEnumOptions="partAttributeEnumOptions"
@submit="submitForm"
/>
<medicine-view-dialog
@@ -731,6 +725,8 @@ const domainEnumOptions = ref(undefined);
const supplierListOptions = ref(undefined);
const statusWeatherOption = ref(undefined);
const statusRestrictedOptions = ref(undefined);
const currentCategoryEnum = ref("");
const partAttributeEnumOptions = ref(undefined);
// 使用 ref 定义当前药品数据
const currentData = ref({});
// 使用 ref 定义当前查看药品数据
@@ -778,6 +774,7 @@ function getMedicationCategoryList() {
supplierListOptions.value = response.data.supplierListOptions;
statusWeatherOption.value = response.data.statusWeatherOptions;
statusRestrictedOptions.value = response.data.statusRestrictedOptions;
partAttributeEnumOptions.value = response.data.partAttributeEnumOptions;
});
}
/** 查询病种目录列表 */
@@ -794,6 +791,7 @@ function getList() {
/** 节点单击事件 */
function handleNodeClick(data) {
queryParams.value.categoryCode = data.value;
currentCategoryEnum.value = data.value;
handleQuery();
}
/** 搜索按钮操作 */
@@ -876,6 +874,10 @@ function cancel() {
}
/** 打开新增弹窗 */
function openAddMedicine() {
console.log(currentCategoryEnum.value, "currentCategoryEnum");
if (!currentCategoryEnum.value) {
return proxy.$modal.msgError("请选择药品目录分类");
}
proxy.$refs["medicineRef"].show();
}
/** 打开编辑弹窗 */
@@ -883,13 +885,14 @@ function openEditMedicine(row) {
getMedicationOne(row.id).then((response) => {
console.log(response, "responsebbbb", row.id);
currentData.value = response.data;
nextTick(() => {
proxy.$refs["medicineRef"].edit();
});
// getList();
});
console.log(currentData.value, "currentData");
// 确保子组件已经接收到最新的 props
nextTick(() => {
proxy.$refs["medicineRef"].edit();
});
// proxy.$refs["medicineRef"].edit();
}
/** 打开查看弹窗 */
@@ -928,11 +931,9 @@ function submitForm(formData) {
formData.antibioticFlag == true
? (formData.antibioticFlag = 1)
: (formData.antibioticFlag = 0); //抗生素标志
formData.selfFlag == true
? (formData.selfFlag = 1)
: (formData.selfFlag = 0); //自制标志
formData.selfFlag == true ? (formData.selfFlag = 1) : (formData.selfFlag = 0); //自制标志
formData.status == true ? (formData.status = 1) : (formData.status = 0); //启用状态
console.log(formData, "submitForm");
console.log(formData, "submitForm");
if (formData.id != undefined) {
editMedication(formData).then((response) => {
proxy.$modal.msgSuccess("修改成功");