药品目录调整 其他画面多余代码删除 up by dh

This commit is contained in:
duhe
2025-03-28 12:00:20 +08:00
parent 68e5824878
commit c4d50c26ab
11 changed files with 270 additions and 452 deletions

View File

@@ -278,6 +278,7 @@
value-key="id"
placeholder="请选择提供部门"
check-strictly
clearable
/>
<!-- </el-form-item> -->
</el-form-item>
@@ -449,14 +450,6 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 重置操作表单 */
function reset() {
form.value = {

View File

@@ -234,7 +234,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="服务分类" prop="categoryCode">
<el-select v-model="form.categoryCode" placeholder="请选择">
<el-select v-model="form.categoryCode" placeholder="请选择" clearable>
<el-option
v-for="dict in category_code"
:key="dict.value"
@@ -248,7 +248,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="服务类型" prop="fwTypeCode">
<el-select v-model="form.fwTypeCode" placeholder="请选择">
<el-select v-model="form.fwTypeCode" placeholder="请选择" clearable>
<el-option
v-for="dict in service_type_code"
:key="dict.value"
@@ -260,7 +260,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="服务专业" prop="specialtyCode">
<el-select v-model="form.specialtyCode" placeholder="请选择">
<el-select v-model="form.specialtyCode" placeholder="请选择" clearable>
<el-option
v-for="dict in specialty_code"
:key="dict.value"
@@ -281,6 +281,7 @@
value-key="id"
placeholder="请选择地点"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -293,6 +294,7 @@
value-key="id"
placeholder="请选择提供部门"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -300,7 +302,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="活动标记" prop="activeFlag">
<el-select v-model="form.activeFlag" placeholder="请选择">
<el-select v-model="form.activeFlag" placeholder="请选择" clearable>
<el-option
v-for="item in activeFlagOptions"
:key="item.value"
@@ -327,6 +329,7 @@
<el-select
v-model="form.appointmentRequiredFlag"
placeholder="请选择"
clearable
>
<el-option
v-for="item in appointmentRequiredFlagOptions"
@@ -393,7 +396,7 @@
<el-row v-if="form.id == undefined">
<el-col :span="12">
<el-form-item label="财务类型" prop="cwTypeCode">
<el-select v-model="form.cwTypeCode" placeholder="请选择">
<el-select v-model="form.cwTypeCode" placeholder="请选择" clearable>
<el-option
v-for="dict in financial_type_code"
:key="dict.value"

View File

@@ -24,15 +24,6 @@
<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>
</el-col> -->
<el-col :span="8">
<el-form-item label="器材分类" prop="categoryEnum">
<el-tree-select
@@ -43,20 +34,15 @@
placeholder=""
check-strictly
disabled
clearable
/>
</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>
</el-col> -->
<el-col :span="8">
<el-form-item label="器材种类" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="请选择">
<el-select v-model="form.typeCode" placeholder="请选择" clearable>
<el-option
v-for="dict in device_type_code"
:key="dict.value"
@@ -75,6 +61,7 @@
value-key="id"
placeholder="请选择提供部门"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -87,6 +74,7 @@
value-key="id"
placeholder="请选择地点"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -94,7 +82,7 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="包装单位" prop="unitCode">
<el-select v-model="form.unitCode" placeholder="请选择">
<el-select v-model="form.unitCode" placeholder="请选择" clearable>
<el-option
v-for="dict in unit_code"
:key="dict.value"
@@ -106,7 +94,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="销售单位" prop="salesUnitCode">
<el-select v-model="form.salesUnitCode" placeholder="请选择">
<el-select v-model="form.salesUnitCode" placeholder="请选择" clearable>
<el-option
v-for="dict in unit_code"
:key="dict.value"
@@ -118,7 +106,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="最小单位" prop="minUnitCode">
<el-select v-model="form.minUnitCode" placeholder="请选择">
<el-select v-model="form.minUnitCode" placeholder="请选择" clearable>
<el-option
v-for="dict in unit_code"
:key="dict.value"
@@ -176,7 +164,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="statusEnum">
<el-select v-model="form.statusEnum" placeholder="请选择">
<el-select v-model="form.statusEnum" placeholder="请选择" clearable>
<el-option
v-for="dict in statusFlagOptions"
:key="dict.value"
@@ -195,7 +183,6 @@
</el-col>
<el-col :span="8">
<el-form-item label="供应商" prop="supplyId">
<!-- <el-input v-model="form.supplyId" placeholder="" /> -->
<el-select
v-model="form.supplierId"
placeholder=""
@@ -311,16 +298,12 @@
<script setup name="MedicineDialog">
import {
getDeviceList,
editDevice,
addDevice,
getDiseaseTreatmentInit,
getDeviceOne,
deptTreeSelect,
locationTreeSelect,
} from "./device";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { device_type_code, unit_code } = proxy.useDict(
"device_type_code",
@@ -424,8 +407,6 @@ const props = defineProps({
// 显示弹框
function show() {
reset();
// queryParams.roleId = props.roleId;
// getList();
title.value = "";
title.value = props.title;
deviceCategories.value = props.deviceCategories;
@@ -441,7 +422,6 @@ function getDeptTree() {
deptTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
deptOptions.value = response.data.records;
console.log(deptOptions.value, "部门下拉树结构");
});
}
@@ -450,13 +430,10 @@ function getLocationTree() {
locationTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
locationOptions.value = response.data.records;
console.log(locationOptions.value, "部门下拉树结构");
});
}
// 显示弹框
function edit() {
// queryParams.roleId = props.roleId;
// getList();
reset();
title.value = "";
title.value = props.title;

View File

@@ -56,7 +56,11 @@
prop="ybMatchFlag"
label-width="100"
>
<el-select v-model="queryParams.ybMatchFlag" placeholder="">
<el-select
v-model="queryParams.ybMatchFlag"
placeholder=""
clearable
>
<el-option
v-for="item in exeOrganizations"
:key="item.value"
@@ -96,15 +100,6 @@
>添加新项目</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>添加为本机构项目</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
@@ -359,14 +354,14 @@
v-hasPermi="['system:user:edit']"
>编辑</el-button
>
<el-button
<!-- <el-button
link
type="primary"
icon="View"
@click="openViewDevice(scope.row)"
v-hasPermi="['system:user:remove']"
>查看</el-button
>
> -->
</template>
</el-table-column>
</el-table>
@@ -408,15 +403,9 @@ import deviceDialog from "./components/deviceDialog";
import deviceViewDialog from "./components/deviceViewDialog";
import { nextTick } from "vue";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const deviceList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]); // 存储选择的行数据
@@ -445,12 +434,7 @@ const data = reactive({
ruleId: undefined, // 执行科室
categoryEnum: undefined, // 目录分类
},
rules: {
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
@@ -541,15 +525,6 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 打开新增弹窗 */
function openAddDevice() {
if (!currentCategoryEnum.value) {
@@ -565,8 +540,8 @@ function openAddDevice() {
function openEditDevice(row) {
currentData.value = {};
console.log("打开编辑弹窗");
currentData.value = JSON.parse(JSON.stringify(row));
console.log(currentData.value, "currentData");
getDeviceOne(row.id).then((response) => {
currentData.value = response.data;
currentData.value.hvcmFlag == 1
? (currentData.value.hvcmFlag = true)
: (currentData.value.hvcmFlag = false);
@@ -579,13 +554,33 @@ function openEditDevice(row) {
currentData.value.allergenFlag == 1
? (currentData.value.allergenFlag = true)
: (currentData.value.allergenFlag = false);
console.log(currentData.value, "currentDataform");
title.value = "编辑";
// 确保子组件已经接收到最新的 props
nextTick(() => {
proxy.$refs["deviceRef"].edit();
});
getList();
});
// currentData.value = JSON.parse(JSON.stringify(row));
// console.log(currentData.value, "currentData");
// currentData.value.hvcmFlag == 1
// ? (currentData.value.hvcmFlag = true)
// : (currentData.value.hvcmFlag = false);
// currentData.value.ybFlag == 1
// ? (currentData.value.ybFlag = true)
// : (currentData.value.ybFlag = false);
// currentData.value.ybMatchFlag == 1
// ? (currentData.value.ybMatchFlag = true)
// : (currentData.value.ybMatchFlag = false);
// currentData.value.allergenFlag == 1
// ? (currentData.value.allergenFlag = true)
// : (currentData.value.allergenFlag = false);
// console.log(currentData.value, "currentDataform");
// title.value = "编辑";
// // 确保子组件已经接收到最新的 props
// nextTick(() => {
// proxy.$refs["deviceRef"].edit();
// });
// proxy.$refs["deviceRef"].edit();
}
/** 打开查看弹窗 */

View File

@@ -5,7 +5,7 @@
<el-form
:model="form"
:rules="rules"
ref="medicationRef"
ref="diagnosisTreatmentRef"
label-width="110px"
label-position="left"
>
@@ -37,6 +37,7 @@
value-key="id"
placeholder="请选择提供部门"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -55,6 +56,7 @@
value-key="id"
placeholder="请选择地点"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -71,6 +73,7 @@
value-key="id"
placeholder="请选择地点"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -263,10 +266,12 @@ import {
locationTreeSelect,
} from "./diagnosistreatment";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { unit_code, yb_type,fin_type_code } = proxy.useDict("unit_code", "yb_type","fin_type_code");
const { unit_code, yb_type, fin_type_code } = proxy.useDict(
"unit_code",
"yb_type",
"fin_type_code"
);
const title = ref("");
const visible = ref(false);
@@ -285,7 +290,6 @@ const data = reactive({
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" },
],
@@ -299,10 +303,6 @@ const data = reactive({
ybMatchFlag: [
{ required: true, message: "医保对码标记不能为空", trigger: "blur" },
],
// minUnitCode: [{ required: true, message: "最小使用单位不能为空", trigger: "blur" }],
// modelNumber: [{ required: true, message: "产品型号不能为空", trigger: "blur" }],
// hvcmFlag: [{ required: true, message: "高值器材标志不能为空", trigger: "blur" }],
// salesUnitCode: [{ required: true, message: "销售单位不能为空", trigger: "blur" }],
},
});
@@ -342,8 +342,6 @@ const props = defineProps({
// 显示弹框
function show() {
reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree();
getDeptTree();
title.value = "";
@@ -360,8 +358,6 @@ function show() {
// 显示弹框
function edit() {
reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree();
getDeptTree();
title.value = "";
@@ -400,7 +396,7 @@ function reset() {
maximumRetailPrice: undefined, // 最高零售价
description: undefined, // 说明
};
proxy.resetForm("medicationRef");
proxy.resetForm("diagnosisTreatmentRef");
}
/** 提交按钮 */
@@ -410,6 +406,8 @@ function submitForm() {
? (form.value.ybMatchFlag = 1)
: (form.value.ybMatchFlag = 0);
form.value.ruleId ? (form.value.ruleId = 1) : (form.value.ruleId = 0);
proxy.$refs["diagnosisTreatmentRef"].validate((valid) => {
if (valid) {
if (form.value.id != undefined) {
editDiagnosisTreatment(form.value).then((response) => {
// 触发自定义事件,并传递数据给父组件
@@ -428,13 +426,13 @@ function submitForm() {
});
}
}
});
}
/** 查询部门下拉树结构 */
function getDeptTree() {
console.log("查询部门下拉树结构");
deptTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
deptOptions.value = response.data.records;
console.log(deptOptions.value, "部门下拉树结构");
});
}
/** 查询地点下拉树结构 */
@@ -442,7 +440,6 @@ function getLocationTree() {
locationTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
locationOptions.value = response.data.records;
console.log(locationOptions.value, "部门下拉树结构");
});
}

View File

@@ -116,15 +116,6 @@
>添加新项目</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>添加为本机构项目</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
@@ -375,15 +366,9 @@ import diagnosisTreatmentDialog from "./components/diagnosisTreatmentDialog";
import diagnosisTreatmentViewDialog from "./components/diagnosisTreatmentViewDialog";
import { nextTick } from "vue";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const diagnosisTreatmentList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]); // 存储选择的行数据
@@ -413,12 +398,7 @@ const data = reactive({
ruleId: undefined, // 执行科室
categoryEnum: undefined, // 目录分类
},
rules: {
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
@@ -455,7 +435,6 @@ function handleNodeClick(data) {
console.log(data, "节点单击事件");
queryParams.value.categoryEnum = data.value;
currentCategoryEnum.value = data.value;
console.log(queryParams, "queryParams节点单击事件");
handleQuery();
}
/** 搜索按钮操作 */
@@ -514,15 +493,6 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 打开新增弹窗 */
function openAddDiagnosisTreatment() {
if (currentCategoryEnum.value) {
@@ -537,16 +507,6 @@ function openAddDiagnosisTreatment() {
}
/** 打开编辑弹窗 */
function openEditDiagnosisTreatment(row) {
console.log("打开新增弹窗");
// currentData.value = JSON.parse(JSON.stringify(row));
// currentData.value.ybFlag == 1
// ? (currentData.value.ybFlag = true)
// : (currentData.value.ybFlag = false);
// currentData.value.ybMatchFlag == 1
// ? (currentData.value.ybMatchFlag = true)
// : (currentData.value.ybMatchFlag = false);
// console.log(currentData.value, "currentData");
title.value = "编辑";
getDiagnosisTreatmentOne(row.id).then((response) => {
currentData.value = response.data;
currentData.value.ybFlag == 1
@@ -555,7 +515,7 @@ function openEditDiagnosisTreatment(row) {
currentData.value.ybMatchFlag == 1
? (currentData.value.ybMatchFlag = true)
: (currentData.value.ybMatchFlag = false);
title.value = "查看";
title.value = "编辑";
nextTick(() => {
proxy.$refs["diagnosisTreatmentRef"].edit();
});
@@ -579,12 +539,6 @@ function openViewDiagnosisTreatment(row) {
});
getList();
});
// console.log(viewData.value, "currentData");
// // 确保子组件已经接收到最新的 props
// nextTick(() => {
// proxy.$refs["diagnosisTreatmentViewRef"].edit();
// });
// proxy.$refs["diagnosisTreatmentRef"].edit();
}
getDiseaseTreatmentList();

View File

@@ -3,15 +3,6 @@
<el-row :gutter="20">
<!--疾病目录数据-->
<el-col :span="4" :xs="24">
<!-- <div class="head-container">
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
prefix-icon="Search"
style="margin-bottom: 20px"
/>
</div> -->
<div class="head-container">
<el-tree
:data="conditionDefinitionOptions"
@@ -59,7 +50,11 @@
/>
</el-form-item>
<el-form-item label="是否停用" prop="statusEnum">
<el-select v-model="queryParams.statusEnum" style="width: 240px">
<el-select
v-model="queryParams.statusEnum"
style="width: 240px"
clearable
>
<el-option
v-for="status in statusFlagOptions"
:key="status.value"
@@ -68,21 +63,6 @@
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="是否系统预置:" prop="status" label-width="120">
<el-select
v-model="queryParams.status"
placeholder="用户状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> -->
<!-- <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -100,15 +80,6 @@
>添加新项目</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>添加为本机构项目</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
@@ -273,7 +244,6 @@
</el-col>
<el-col :span="12">
<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>
@@ -281,7 +251,11 @@
<el-row>
<el-col :span="12">
<el-form-item label="类型" prop="ybNo">
<el-select v-model="form.statusEnum" placeholder="请选择">
<el-select
v-model="form.statusEnum"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in statusFlagOptions"
:key="dict.value"
@@ -293,7 +267,11 @@
</el-col>
<el-col :span="12">
<el-form-item label="医保标记" prop="ybFlag">
<el-select v-model="form.statusEnum" placeholder="请选择">
<el-select
v-model="form.statusEnum"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in statusFlagOptions"
:key="dict.value"
@@ -314,11 +292,6 @@
<el-checkbox v-model="form.ybMatchFlag"></el-checkbox>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="拼音" prop="pyStr">
<el-input v-model="form.pyStr" maxlength="11" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="停用" prop="status">
<el-checkbox v-model="form.status"></el-checkbox>
@@ -361,10 +334,6 @@ import {
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const diseaseList = ref([]);
const open = ref(false);
@@ -519,14 +488,6 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 重置操作表单 */
function reset() {
form.value = {

View File

@@ -61,11 +61,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="药品状态" prop="statusEnum">
<el-select
v-model="form.statusEnum"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.statusEnum" clearable>
<el-option
v-for="status in statusFlagOptions"
:key="status.value"
@@ -118,6 +114,7 @@
value-key="id"
placeholder="请选择提供部门"
check-strictly
clearable
/>
</el-form-item>
</el-col>
@@ -134,16 +131,13 @@
value-key="id"
placeholder="请选择地点"
check-strictly
clearable
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="财务统计类型" prop="typeCode">
<el-select
v-model="form.typeCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.typeCode" clearable>
<el-option
v-for="category in fin_type_code"
:key="category.value"
@@ -155,11 +149,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="药品性质" prop="pharmacologyCategoryCode">
<el-select
v-model="form.pharmacologyCategoryCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.pharmacologyCategoryCode" clearable>
<el-option
v-for="category in medicine_properties"
:key="category.value"
@@ -178,11 +168,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="包装单位" prop="unitCode">
<el-select
v-model="form.unitCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.unitCode" clearable>
<el-option
v-for="category in unit_code"
:key="category.value"
@@ -194,11 +180,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="贯标国家编码" prop="nationalDrugCode">
<el-input
v-model="form.nationalDrugCode"
placeholder=""
:disabled="form.id != undefined"
/>
<el-input v-model="form.nationalDrugCode" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6">
@@ -219,11 +201,7 @@
</el-col> -->
<el-col :span="6">
<el-form-item label="剂量单位" prop="doseUnitCode">
<el-select
v-model="form.doseUnitCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.doseUnitCode" clearable>
<el-option
v-for="category in unit_code"
:key="category.value"
@@ -235,11 +213,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="剂型" prop="doseFormCode">
<el-select
v-model="form.doseFormCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.doseFormCode" clearable>
<el-option
v-for="category in dose_form_code"
:key="category.value"
@@ -251,11 +225,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="最小单位" prop="minUnitCode">
<el-select
v-model="form.minUnitCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.minUnitCode" clearable>
<el-option
v-for="category in unit_code"
:key="category.value"
@@ -274,11 +244,7 @@
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="用法" prop="methodCode">
<el-select
v-model="form.methodCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.methodCode" clearable>
<el-option
v-for="category in method_code"
:key="category.value"
@@ -290,11 +256,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="用药频次" prop="rateCode">
<el-select
v-model="form.rateCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.rateCode" clearable>
<el-option
v-for="category in rate_code"
:key="category.value"
@@ -307,11 +269,7 @@
<el-col :span="6">
<el-form-item label="剂量形式" prop="doseFrom">
<!-- <el-input v-model="form.doseFrom" placeholder="" /> -->
<el-select
v-model="form.doseFrom"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.doseFrom" clearable>
<el-option
v-for="category in dose_from_code"
:key="category.value"
@@ -374,11 +332,7 @@
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="适用范围" prop="domainEnum">
<el-select
v-model="form.domainEnum"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.domainEnum" clearable>
<el-option
v-for="domainEnum in domainEnumOptions"
:key="domainEnum.value"
@@ -406,12 +360,8 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="拆分属性" prop="partAttributeEnum">
<el-select
v-model="form.partAttributeEnum"
clearable
:disabled="form.id != undefined"
>
<el-form-item label="门诊拆分属性" prop="partAttributeEnum">
<el-select v-model="form.partAttributeEnum" clearable>
<el-option
v-for="category in partAttributeEnumOptions"
:key="category.value"
@@ -422,12 +372,28 @@
</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
label="住院临时医嘱拆分属性"
prop="thoPartAttributeEnum"
class="custom-label-height"
>
<el-select v-model="form.thoPartAttributeEnum" clearable>
<el-option
v-for="category in tempOrderSplitPropertyOptions"
:key="category.value"
:label="category.info"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<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="characteristic">
<el-input v-model="form.characteristic" placeholder="" />
@@ -455,26 +421,33 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="基药标识" prop="basicFlag">
<el-checkbox v-model="form.basicFlag"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="购入价" prop="purchasePrice">
<el-input v-model="form.purchasePrice" placeholder="" />
<el-input
v-model="form.purchasePrice"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" placeholder="" />
<el-input
v-model="form.retailPrice"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="最高零售价" prop="maximumRetailPrice">
<el-input v-model="form.maximumRetailPrice" placeholder="" />
<el-input
v-model="form.maximumRetailPrice"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -528,6 +501,11 @@
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="基药标识" prop="basicFlag">
<el-checkbox v-model="form.basicFlag"></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="生效日期" prop="effectiveDate">
<el-date-picker
@@ -598,7 +576,6 @@
<el-input
v-model="antibioticForm.dose"
placeholder="输入剂量"
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
@@ -608,7 +585,6 @@
<el-input
v-model="antibioticForm.maxUnit"
placeholder="输入剂量"
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
@@ -619,7 +595,6 @@
<el-input
v-model="antibioticForm.minRateCode"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
@@ -629,7 +604,6 @@
<el-input
v-model="antibioticForm.maxRateCode"
placeholder=""
:disabled="form.id != undefined"
/>
</el-form-item>
</el-col>
@@ -676,7 +650,7 @@
<script setup name="MedicineDialog">
import { deptTreeSelect, locationTreeSelect } from "./medicine";
import moment from 'moment'
import moment from "moment";
const router = useRouter();
const { proxy } = getCurrentInstance();
@@ -687,10 +661,6 @@ const {
unit_code,
dose_form_code,
yb_type,
medicine_default_usage,
medicine_default_frequency,
medicine_basic_flag,
sys_normal_disable,
rate_code,
method_code,
fin_type_code,
@@ -704,10 +674,6 @@ const {
"unit_code",
"dose_form_code",
"yb_type",
"medicine_default_usage",
"medicine_default_frequency",
"medicine_basic_flag",
"sys_normal_disable",
"rate_code",
"method_code",
"fin_type_code",
@@ -726,19 +692,56 @@ const locationOptions = ref(undefined); // 地点树选项
const supplierListOptions = ref(undefined); // 供应商列表选项
const statusRestrictedOptions = ref(undefined); // 权限级别选项
const partAttributeEnumOptions = ref(undefined); // 部位属性选项
const tempOrderSplitPropertyOptions = ref(undefined); // 临时订单拆分属性选项
const data = reactive({
form: {},
antibioticForm: {},
rules: {
// busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
statusEnum: [{ required: true, message: "药品状态不能为空", trigger: "blur" }],
orgId: [{ required: true, message: "所属科室不能为空", trigger: "blur" }],
locationId: [ { required: true, message: "所在位置不能为空", trigger: "blur" }],
doseFormCode: [{ required: true, message: "剂型不能为空", trigger: "blur" }],
totalVolume: [{ required: true, message: "规格不能为空", trigger: "blur" }],
ingredientItem: [{ required: true, message: "成分不能为空", trigger: "blur" }],
activeFlag: [{ required: true, message: "活性不能为空", trigger: "blur" }],
lotNumber: [{ required: true, message: "批次号不能为空", trigger: "blur" }],
methodCode:[{ required: true, message: "用法不能为空", trigger: "blur" }],
rateCode:[{ required: true, message: "用药频次不能为空", trigger: "blur" }],
dose:[{ required: true, message: "单次剂量不能为空", trigger: "blur" }],
doseUnitCode:[{ required: true, message: "剂量单位不能为空", trigger: "blur" }],
maxUnit:[{ required: true, message: "单次最大剂量不能为空", trigger: "blur" }],
definition: [{ required: true, message: "药品定义不能为空", trigger: "blur" }],
busNo: [{ required: true, message: "药品编号不能为空", trigger: "blur" }],
name: [{ required: true, message: "药品名称不能为空", trigger: "blur" }],
domainEnum: [{ required: true, message: "适用范围不能为空", trigger: "blur" }],
nameEn: [{ required: true, message: "英文药名不能为空", trigger: "blur" }],
categoryCode:[{ required: true, message: "药品分类不能为空", trigger: "blur" }],
merchandiseName:[{ required: true, message: "商品名称不能为空", trigger: "blur" }],
unitCode:[{ required: true, message: "药品单位不能为空", trigger: "blur" }],
minUnitCode:[{ required: true, message: "最小单位不能为空", trigger: "blur" }],
ingredient:[{ required: true, message: "成分不能为空", trigger: "blur" }],
partPercent: [{ required: true, message: "拆零比不能为空", trigger: "blur" }],
doseFrom: [{ required: true, message: "剂量形式不能为空", trigger: "blur" }],
approvalNumber:[{ required: true, message: "批准文号不能为空", trigger: "blur" }],
ybMatchFlag:[{ required: true, message: "医保对码不能为空", trigger: "blur" }],
ybNo:[{ required: true, message: "医保编码不能为空", trigger: "blur" }],
pharmacologyCategoryCode:[{ required: true, message: "药品性质不能为空", trigger: "blur" }],
skinTestFlag:[{ required: true, message: "皮试不能为空", trigger: "blur" }],
injectFlag: [{ required: true, message: "注射不能为空", trigger: "blur" }],
supplyId: [{ required: true, message: "供应商不能为空", trigger: "blur" }],
restrictedFlag: [{ required: true, message: "限制使用不能为空", trigger: "blur" }],
childrenFlag: [{ required: true, message: "儿童用药不能为空", trigger: "blur" }],
restrictedScope: [{ required: true, message: "限制使用范围不能为空", trigger: "blur" }],
nationalDrugCode:[{ required: true, message: "贯标国家编码不能为空", trigger: "blur" }],
partAttributeEnum:[{ required: true, message: "拆分属性不能为空", trigger: "blur" }],
thoPartAttributeEnum:[{ required: true, message: "住院临时医嘱拆分属性不能为空", trigger: "blur" }],
basicFlag:[{ required: true, message: "基药标识不能为空", trigger: "blur" }],
antibioticFlag:[{ required: true, message: "抗生素不能为空", trigger: "blur" }],
selfFlag:[{ required: true, message: "自制不能为空", trigger: "blur" }]
},
});
const { queryParams, form, antibioticForm, rules } = toRefs(data);
const { form, antibioticForm, rules } = toRefs(data);
const props = defineProps({
item: {
@@ -769,11 +772,14 @@ const props = defineProps({
type: Object,
required: false,
},
tempOrderSplitPropertyOptions: {
type: Object,
required: false,
},
});
/** 查询部门下拉树结构 */
function getDeptTree() {
console.log("查询部门下拉树结构");
deptTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
deptOptions.value = response.data.records;
@@ -785,7 +791,6 @@ function getLocationTree() {
locationTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构");
locationOptions.value = response.data.records;
console.log(locationOptions.value, "部门下拉树结构");
});
}
// 显示弹框
@@ -799,19 +804,14 @@ function show() {
statusRestrictedOptions.value = props.statusRestrictedOptions;
form.value.categoryCode = props.currentCategoryEnum;
partAttributeEnumOptions.value = props.partAttributeEnumOptions;
tempOrderSplitPropertyOptions.value = props.tempOrderSplitPropertyOptions;
console.log(form.value.categoryCode, "form.value.categoryCode");
// console.log(currentData.value, "currentData");
visible.value = true;
}
// 显示弹框
function edit() {
// queryParams.roleId = props.roleId;
// getList();
console.log(props, "22222");
console.log(props.item);
console.log("props.item");
reset();
getLocationTree();
getDeptTree();
@@ -824,6 +824,7 @@ function edit() {
supplierListOptions.value = props.supplierListOptions;
statusRestrictedOptions.value = props.statusRestrictedOptions;
partAttributeEnumOptions.value = props.partAttributeEnumOptions;
tempOrderSplitPropertyOptions.value = props.tempOrderSplitPropertyOptions;
antibioticForm.value.antibioticCode = form.value.antibioticCode;
antibioticForm.value.restrictedEnum = form.value.restrictedEnum;
antibioticForm.value.dose = form.value.dose;
@@ -916,6 +917,7 @@ function reset() {
// minRateCode: undefined,
// maxRateCode: undefined,
partAttributeEnum: undefined,
thoPartAttributeEnum: undefined,
usageLimit: undefined,
basicFlag: undefined,
};
@@ -946,11 +948,15 @@ 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") : '';
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,'====================');
console.log(form.value.effectiveDate, form.value.expirationDate, "====================");
// 将表单数据发送给父组件
emits("submit", form.value);
visible.value = false;
@@ -981,6 +987,9 @@ defineExpose({
margin-bottom: 4px; /* 调整 label 和输入框之间的间距 */
}
.el-form-item {
margin-bottom: 7px;
margin-bottom: 13px;
}
::v-deep .custom-label-height .el-form-item__label {
line-height: 20px; /* 设置 label 的行高为 15px */
}
</style>

View File

@@ -3,15 +3,6 @@
<el-row :gutter="20">
<!--药品目录-->
<el-col :span="4" :xs="24">
<!-- <div class="head-container">
<el-input
v-model="deptName"
placeholder="请输入部门名称"
clearable
prefix-icon="Search"
style="margin-bottom: 20px"
/>
</div> -->
<div class="head-container">
<el-tree
:data="medicationOptions"
@@ -97,15 +88,6 @@
>添加新项目</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>添加为本机构项目</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
@@ -268,13 +250,6 @@
prop="lotNumber"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="拆零价"
align="center"
key="statusEnum"
prop="statusEnum"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="生效日期"
align="center"
@@ -433,13 +408,6 @@
:show-overflow-tooltip="true"
width="110"
/>
<!-- <el-table-column
label="成分"
align="center"
key="ingredient"
prop="ingredient"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="拆零比"
align="center"
@@ -570,6 +538,14 @@
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="住院临时医嘱拆分属性"
align="center"
key="thoPartAttributeEnum_enumText"
prop="thoPartAttributeEnum_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="抗生素分类"
align="center"
@@ -629,8 +605,8 @@
<el-table-column
label="售价"
align="center"
key="price"
prop="price"
key="retailPrice"
prop="retailPrice"
:show-overflow-tooltip="true"
width="90"
/>
@@ -679,13 +655,14 @@
:statusRestrictedOptions="statusRestrictedOptions"
:currentCategoryEnum="currentCategoryEnum"
:partAttributeEnumOptions="partAttributeEnumOptions"
:tempOrderSplitPropertyOptions="tempOrderSplitPropertyOptions"
@submit="submitForm"
/>
<medicine-view-dialog
<!-- <medicine-view-dialog
ref="medicineViewRef"
:item="viewData"
:viewFlg="viewFlg"
/>
/> -->
</div>
</template>
@@ -703,12 +680,7 @@ import medicineDialog from "./components/medicineDialog";
import medicineViewDialog from "./components/medicineViewDialog";
import { nextTick } from "vue";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const medicationList = ref([]);
const open = ref(false);
@@ -718,7 +690,6 @@ const ids = ref([]); // 存储选择的行数据
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const medicationOptions = ref(undefined);
const statusFlagOptions = ref(undefined);
const domainEnumOptions = ref(undefined);
@@ -727,6 +698,7 @@ const statusWeatherOption = ref(undefined);
const statusRestrictedOptions = ref(undefined);
const currentCategoryEnum = ref("");
const partAttributeEnumOptions = ref(undefined);
const tempOrderSplitPropertyOptions = ref(undefined);
// 使用 ref 定义当前药品数据
const currentData = ref({});
// 使用 ref 定义当前查看药品数据
@@ -745,12 +717,7 @@ const data = reactive({
ybMatchFlag: undefined, // 是否医保匹配(包括 10
categoryCode: undefined, // 目录
},
rules: {
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
},
rules: {},
});
const { queryParams, form, rules } = toRefs(data);
@@ -760,10 +727,7 @@ const filterNode = (value, data) => {
if (!value) return true;
return data.label.indexOf(value) !== -1;
};
// /** 根据名称筛选部门树 */
// watch(deptName, val => {
// proxy.$refs["deptTreeRef"].filter(val);
// });
/** 病种目录分类查询下拉树结构 */
function getMedicationCategoryList() {
getMedicationCategory().then((response) => {
@@ -775,6 +739,8 @@ function getMedicationCategoryList() {
statusWeatherOption.value = response.data.statusWeatherOptions;
statusRestrictedOptions.value = response.data.statusRestrictedOptions;
partAttributeEnumOptions.value = response.data.partAttributeEnumOptions;
tempOrderSplitPropertyOptions.value =
response.data.tempOrderSplitPropertyEnumOptions;
});
}
/** 查询病种目录列表 */
@@ -848,33 +814,8 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length;
}
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 重置操作表单 */
function reset() {
form.value = {
id: undefined,
conditionCode: undefined,
pyStr: undefined,
status: undefined,
statusEnum: undefined,
};
proxy.resetForm("medicationRef");
}
/** 取消按钮 */
function cancel() {
open.value = false;
reset();
}
/** 打开新增弹窗 */
function openAddMedicine() {
console.log(currentCategoryEnum.value, "currentCategoryEnum");
if (!currentCategoryEnum.value) {
return proxy.$modal.msgError("请选择药品目录分类");
}
@@ -888,17 +829,10 @@ function openEditMedicine(row) {
nextTick(() => {
proxy.$refs["medicineRef"].edit();
});
// getList();
});
console.log(currentData.value, "currentData");
// 确保子组件已经接收到最新的 props
// proxy.$refs["medicineRef"].edit();
}
/** 打开查看弹窗 */
function openViewMedicine(row) {
// viewData.value = row;
reset();
getMedicationOne(row.id).then((response) => {
viewData.value = response.data;
nextTick(() => {
@@ -952,16 +886,6 @@ function submitForm(formData) {
}
}
/** 详细按钮操作 */
function handleView(row) {
reset();
open.value = true;
getMedicationOne(row.id).then((response) => {
console.log(response, "responsebbbb", row.id);
form.value = response.data;
// getList();
});
}
getMedicationCategoryList();
getList();
</script>

View File

@@ -339,6 +339,7 @@
highlight-current
default-expand-all
@node-click="handleNodeClick"
clearable
/>
</el-form-item>
</el-col>

View File

@@ -222,6 +222,7 @@
v-model="scope.row.itemId"
placeholder="请选择"
:class="{ 'error-border': scope.row.error }"
clearable
>
<el-option label="项目1" value="1" />
<el-option label="项目2" value="2" />
@@ -271,6 +272,7 @@
v-model="scope.row.unitCode"
placeholder="请选择计量单位"
:class="{ 'error-border': scope.row.error }"
clearable
>
<el-option label="单位1" value="1" />
<el-option label="单位2" value="2" />
@@ -297,6 +299,7 @@
v-model="scope.row.purposeLocationId"
placeholder="请选择仓库"
:class="{ 'error-border': scope.row.error }"
clearable
>
<el-option label="仓库1" value="1" />
<el-option label="仓库2" value="2" />
@@ -322,6 +325,7 @@
v-model="scope.row.purposeLocationStoreId"
placeholder="请选择货位"
:class="{ 'error-border': scope.row.error }"
clearable
>
<el-option label="货位1" value="1" />
<el-option label="货位2" value="2" />