药品目录调整 其他画面多余代码删除 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" value-key="id"
placeholder="请选择提供部门" placeholder="请选择提供部门"
check-strictly check-strictly
clearable
/> />
<!-- </el-form-item> --> <!-- </el-form-item> -->
</el-form-item> </el-form-item>
@@ -449,14 +450,6 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length; multiple.value = !selection.length;
} }
/** 下载模板操作 */
function importTemplate() {
proxy.download(
"system/user/importTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
}
/** 重置操作表单 */ /** 重置操作表单 */
function reset() { function reset() {
form.value = { form.value = {

View File

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

View File

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

View File

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

View File

@@ -5,7 +5,7 @@
<el-form <el-form
:model="form" :model="form"
:rules="rules" :rules="rules"
ref="medicationRef" ref="diagnosisTreatmentRef"
label-width="110px" label-width="110px"
label-position="left" label-position="left"
> >
@@ -37,6 +37,7 @@
value-key="id" value-key="id"
placeholder="请选择提供部门" placeholder="请选择提供部门"
check-strictly check-strictly
clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -55,6 +56,7 @@
value-key="id" value-key="id"
placeholder="请选择地点" placeholder="请选择地点"
check-strictly check-strictly
clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -71,6 +73,7 @@
value-key="id" value-key="id"
placeholder="请选择地点" placeholder="请选择地点"
check-strictly check-strictly
clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -198,21 +201,21 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="财务统计类型" prop="minimalFee"> <el-form-item label="财务统计类型" prop="minimalFee">
<el-select <el-select
v-model="form.minimalFee" v-model="form.minimalFee"
clearable clearable
:disabled="form.id != undefined" :disabled="form.id != undefined"
> >
<el-option <el-option
v-for="category in fin_type_code" v-for="category in fin_type_code"
:key="category.value" :key="category.value"
:label="category.label" :label="category.label"
:value="category.value" :value="category.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
@@ -263,10 +266,12 @@ import {
locationTreeSelect, locationTreeSelect,
} from "./diagnosistreatment"; } from "./diagnosistreatment";
const router = useRouter();
const { proxy } = getCurrentInstance(); 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 title = ref("");
const visible = ref(false); const visible = ref(false);
@@ -285,7 +290,6 @@ const data = reactive({
busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }], busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
name: [{ required: true, message: "名称不能为空", trigger: "blur" }], name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
statusEnum: [{ required: true, message: "状态不能为空", trigger: "blur" }], statusEnum: [{ required: true, message: "状态不能为空", trigger: "blur" }],
// wbStr: [{ required: true, message: "五笔拼音不能为空", trigger: "blur" }],
categoryEnum: [ categoryEnum: [
{ required: true, message: "诊疗目录不能为空", trigger: "blur" }, { required: true, message: "诊疗目录不能为空", trigger: "blur" },
], ],
@@ -299,10 +303,6 @@ const data = reactive({
ybMatchFlag: [ ybMatchFlag: [
{ required: true, message: "医保对码标记不能为空", trigger: "blur" }, { 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() { function show() {
reset(); reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree(); getLocationTree();
getDeptTree(); getDeptTree();
title.value = ""; title.value = "";
@@ -360,8 +358,6 @@ function show() {
// 显示弹框 // 显示弹框
function edit() { function edit() {
reset(); reset();
// queryParams.roleId = props.roleId;
// getList();
getLocationTree(); getLocationTree();
getDeptTree(); getDeptTree();
title.value = ""; title.value = "";
@@ -400,7 +396,7 @@ function reset() {
maximumRetailPrice: undefined, // 最高零售价 maximumRetailPrice: undefined, // 最高零售价
description: undefined, // 说明 description: undefined, // 说明
}; };
proxy.resetForm("medicationRef"); proxy.resetForm("diagnosisTreatmentRef");
} }
/** 提交按钮 */ /** 提交按钮 */
@@ -410,31 +406,33 @@ function submitForm() {
? (form.value.ybMatchFlag = 1) ? (form.value.ybMatchFlag = 1)
: (form.value.ybMatchFlag = 0); : (form.value.ybMatchFlag = 0);
form.value.ruleId ? (form.value.ruleId = 1) : (form.value.ruleId = 0); form.value.ruleId ? (form.value.ruleId = 1) : (form.value.ruleId = 0);
if (form.value.id != undefined) { proxy.$refs["diagnosisTreatmentRef"].validate((valid) => {
editDiagnosisTreatment(form.value).then((response) => { if (valid) {
// 触发自定义事件,并传递数据给父组件 if (form.value.id != undefined) {
emits("submit"); editDiagnosisTreatment(form.value).then((response) => {
proxy.$modal.msgSuccess("修改成功"); // 触发自定义事件,并传递数据给父组件
visible.value = false; emits("submit");
reset(); // 重置表单数据 proxy.$modal.msgSuccess("修改成功");
}); visible.value = false;
} else { reset(); // 重置表单数据
addDiagnosisTreatment(form.value).then((response) => { });
// 触发自定义事件,并传递数据给父组件 } else {
emits("submit"); addDiagnosisTreatment(form.value).then((response) => {
proxy.$modal.msgSuccess("新增成功"); // 触发自定义事件,并传递数据给父组件
visible.value = false; emits("submit");
reset(); // 重置表单数据 proxy.$modal.msgSuccess("新增成功");
}); visible.value = false;
} reset(); // 重置表单数据
});
}
}
});
} }
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
function getDeptTree() { function getDeptTree() {
console.log("查询部门下拉树结构");
deptTreeSelect().then((response) => { deptTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构"); console.log(response, "response查询部门下拉树结构");
deptOptions.value = response.data.records; deptOptions.value = response.data.records;
console.log(deptOptions.value, "部门下拉树结构");
}); });
} }
/** 查询地点下拉树结构 */ /** 查询地点下拉树结构 */
@@ -442,7 +440,6 @@ function getLocationTree() {
locationTreeSelect().then((response) => { locationTreeSelect().then((response) => {
console.log(response, "response查询部门下拉树结构"); console.log(response, "response查询部门下拉树结构");
locationOptions.value = response.data.records; locationOptions.value = response.data.records;
console.log(locationOptions.value, "部门下拉树结构");
}); });
} }

View File

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

View File

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

View File

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

View File

@@ -3,15 +3,6 @@
<el-row :gutter="20"> <el-row :gutter="20">
<!--药品目录--> <!--药品目录-->
<el-col :span="4" :xs="24"> <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"> <div class="head-container">
<el-tree <el-tree
:data="medicationOptions" :data="medicationOptions"
@@ -97,15 +88,6 @@
>添加新项目</el-button >添加新项目</el-button
> >
</el-col> </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-col :span="1.5">
<el-button <el-button
type="danger" type="danger"
@@ -268,13 +250,6 @@
prop="lotNumber" prop="lotNumber"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
/> />
<!-- <el-table-column
label="拆零价"
align="center"
key="statusEnum"
prop="statusEnum"
:show-overflow-tooltip="true"
/> -->
<el-table-column <el-table-column
label="生效日期" label="生效日期"
align="center" align="center"
@@ -433,13 +408,6 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
width="110" width="110"
/> />
<!-- <el-table-column
label="成分"
align="center"
key="ingredient"
prop="ingredient"
:show-overflow-tooltip="true"
/> -->
<el-table-column <el-table-column
label="拆零比" label="拆零比"
align="center" align="center"
@@ -570,6 +538,14 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
width="90" width="90"
/> />
<el-table-column
label="住院临时医嘱拆分属性"
align="center"
key="thoPartAttributeEnum_enumText"
prop="thoPartAttributeEnum_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column <el-table-column
label="抗生素分类" label="抗生素分类"
align="center" align="center"
@@ -629,8 +605,8 @@
<el-table-column <el-table-column
label="售价" label="售价"
align="center" align="center"
key="price" key="retailPrice"
prop="price" prop="retailPrice"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
width="90" width="90"
/> />
@@ -679,13 +655,14 @@
:statusRestrictedOptions="statusRestrictedOptions" :statusRestrictedOptions="statusRestrictedOptions"
:currentCategoryEnum="currentCategoryEnum" :currentCategoryEnum="currentCategoryEnum"
:partAttributeEnumOptions="partAttributeEnumOptions" :partAttributeEnumOptions="partAttributeEnumOptions"
:tempOrderSplitPropertyOptions="tempOrderSplitPropertyOptions"
@submit="submitForm" @submit="submitForm"
/> />
<medicine-view-dialog <!-- <medicine-view-dialog
ref="medicineViewRef" ref="medicineViewRef"
:item="viewData" :item="viewData"
:viewFlg="viewFlg" :viewFlg="viewFlg"
/> /> -->
</div> </div>
</template> </template>
@@ -703,12 +680,7 @@ import medicineDialog from "./components/medicineDialog";
import medicineViewDialog from "./components/medicineViewDialog"; import medicineViewDialog from "./components/medicineViewDialog";
import { nextTick } from "vue"; import { nextTick } from "vue";
const router = useRouter();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict(
"sys_normal_disable",
"sys_user_sex"
);
const medicationList = ref([]); const medicationList = ref([]);
const open = ref(false); const open = ref(false);
@@ -718,7 +690,6 @@ const ids = ref([]); // 存储选择的行数据
const single = ref(true); const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
const title = ref("");
const medicationOptions = ref(undefined); const medicationOptions = ref(undefined);
const statusFlagOptions = ref(undefined); const statusFlagOptions = ref(undefined);
const domainEnumOptions = ref(undefined); const domainEnumOptions = ref(undefined);
@@ -727,6 +698,7 @@ const statusWeatherOption = ref(undefined);
const statusRestrictedOptions = ref(undefined); const statusRestrictedOptions = ref(undefined);
const currentCategoryEnum = ref(""); const currentCategoryEnum = ref("");
const partAttributeEnumOptions = ref(undefined); const partAttributeEnumOptions = ref(undefined);
const tempOrderSplitPropertyOptions = ref(undefined);
// 使用 ref 定义当前药品数据 // 使用 ref 定义当前药品数据
const currentData = ref({}); const currentData = ref({});
// 使用 ref 定义当前查看药品数据 // 使用 ref 定义当前查看药品数据
@@ -745,12 +717,7 @@ const data = reactive({
ybMatchFlag: undefined, // 是否医保匹配(包括 10 ybMatchFlag: undefined, // 是否医保匹配(包括 10
categoryCode: undefined, // 目录 categoryCode: undefined, // 目录
}, },
rules: { rules: {},
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
},
}); });
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
@@ -760,10 +727,7 @@ const filterNode = (value, data) => {
if (!value) return true; if (!value) return true;
return data.label.indexOf(value) !== -1; return data.label.indexOf(value) !== -1;
}; };
// /** 根据名称筛选部门树 */
// watch(deptName, val => {
// proxy.$refs["deptTreeRef"].filter(val);
// });
/** 病种目录分类查询下拉树结构 */ /** 病种目录分类查询下拉树结构 */
function getMedicationCategoryList() { function getMedicationCategoryList() {
getMedicationCategory().then((response) => { getMedicationCategory().then((response) => {
@@ -775,6 +739,8 @@ function getMedicationCategoryList() {
statusWeatherOption.value = response.data.statusWeatherOptions; statusWeatherOption.value = response.data.statusWeatherOptions;
statusRestrictedOptions.value = response.data.statusRestrictedOptions; statusRestrictedOptions.value = response.data.statusRestrictedOptions;
partAttributeEnumOptions.value = response.data.partAttributeEnumOptions; partAttributeEnumOptions.value = response.data.partAttributeEnumOptions;
tempOrderSplitPropertyOptions.value =
response.data.tempOrderSplitPropertyEnumOptions;
}); });
} }
/** 查询病种目录列表 */ /** 查询病种目录列表 */
@@ -848,33 +814,8 @@ function handleSelectionChange(selection) {
multiple.value = !selection.length; 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() { function openAddMedicine() {
console.log(currentCategoryEnum.value, "currentCategoryEnum");
if (!currentCategoryEnum.value) { if (!currentCategoryEnum.value) {
return proxy.$modal.msgError("请选择药品目录分类"); return proxy.$modal.msgError("请选择药品目录分类");
} }
@@ -888,17 +829,10 @@ function openEditMedicine(row) {
nextTick(() => { nextTick(() => {
proxy.$refs["medicineRef"].edit(); proxy.$refs["medicineRef"].edit();
}); });
// getList();
}); });
console.log(currentData.value, "currentData");
// 确保子组件已经接收到最新的 props
// proxy.$refs["medicineRef"].edit();
} }
/** 打开查看弹窗 */ /** 打开查看弹窗 */
function openViewMedicine(row) { function openViewMedicine(row) {
// viewData.value = row;
reset();
getMedicationOne(row.id).then((response) => { getMedicationOne(row.id).then((response) => {
viewData.value = response.data; viewData.value = response.data;
nextTick(() => { nextTick(() => {
@@ -931,7 +865,7 @@ function submitForm(formData) {
formData.antibioticFlag == true formData.antibioticFlag == true
? (formData.antibioticFlag = 1) ? (formData.antibioticFlag = 1)
: (formData.antibioticFlag = 0); //抗生素标志 : (formData.antibioticFlag = 0); //抗生素标志
formData.basicFlag == true formData.basicFlag == true
? (formData.basicFlag = 1) ? (formData.basicFlag = 1)
: (formData.basicFlag = 0); //抗生素标志 : (formData.basicFlag = 0); //抗生素标志
formData.selfFlag == true ? (formData.selfFlag = 1) : (formData.selfFlag = 0); //自制标志 formData.selfFlag == true ? (formData.selfFlag = 1) : (formData.selfFlag = 0); //自制标志
@@ -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(); getMedicationCategoryList();
getList(); getList();
</script> </script>

View File

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

View File

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