基本目录调试 up by dh lhr

This commit is contained in:
duhe
2025-03-31 10:53:56 +08:00
parent 4ccd07d3af
commit 7cb6eeb103
8 changed files with 157 additions and 126 deletions

View File

@@ -96,11 +96,11 @@ public class DiagnosisTreatmentDto {
/** 财务类别 */
@Dict(dictCode = "fin_type_code")
private String typeCode;
private String typeCode_dictText;
private String itemTypeCode;
private String itemTypeCode_dictText;
/** 医保类别 */
@Dict(dictCode = "med_chrgitm_type")
@Dict(dictCode = "yb_type")
private String ybType;
private String ybType_dictText;

View File

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
public class DiagnosisTreatmentSelParam {
/** 目录类别 */
private Integer categoryCode;
private String categoryCode;
/** 类型 */
private Integer typeEnum;

View File

@@ -32,7 +32,6 @@ public class DiagnosisTreatmentUpDto {
private String categoryCode;
/** 编码 */
@NotBlank(message = "项目编码不能为空")
private String busNo;
/** 项目名称 */
@@ -40,16 +39,14 @@ public class DiagnosisTreatmentUpDto {
private String name;
/** 项目名称拼音 */
@NotBlank(message = "项目名称拼音不能为空")
private String pyStr;
/** 五笔拼音 */
@NotBlank(message = "五笔拼音不能为空")
private String wbStr;
/** 类型 */
@NotBlank(message = "类型不能为空")
private String typeCode;
private Integer typeEnum;
/** 使用单位 */
@NotBlank(message = "使用单位不能为空")

View File

@@ -27,7 +27,6 @@ public class DiseaseManageUpDto {
private ConditionDefinitionSource sourceEnum;
/** 编码 */
@NotBlank(message = "疾病编码不能为空")
private String conditionCode;
/** 诊断名称 */

View File

@@ -125,7 +125,7 @@
AND T2.instance_table = 'wor_activity_definition'
<if test="id!= null">
AND T2.id = #{id}
AND T1.id = #{id}
</if>
<if test="tenantId!= null">
AND T1.tenant_id = #{tenantId}

View File

@@ -10,12 +10,12 @@
label-position="left"
>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="8" v-if="form.id != undefined">
<el-form-item label="编号" prop="busNo">
<el-input
v-model="form.busNo"
placeholder="请输入编码"
:disabled="form.id != undefined"
disabled
/>
</el-form-item>
</el-col>
@@ -61,25 +61,24 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="目录分类" prop="categoryEnum">
<el-tree-select
v-model="form.categoryEnum"
:data="diseaseTreatmentCategoryList"
:props="{
value: 'id',
label: 'info',
children: 'children',
}"
value-key="id"
placeholder="请选择地点"
check-strictly
<el-form-item label="目录分类" prop="categoryCode">
<el-select
v-model="form.categoryCode"
clearable
:disabled="form.categoryCode != ''"
>
<el-option
v-for="category in activity_category_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="类型" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="" clearable>
<el-form-item label="类型" prop="typeEnum">
<el-select v-model="form.typeEnum" placeholder="" clearable>
<el-option
v-for="item in typeEnumOptions"
:key="item.value"
@@ -140,11 +139,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="身体部位" prop="bodySiteCode">
<el-select
v-model="form.bodySiteCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.bodySiteCode" clearable>
<el-option
v-for="category in body_site_code"
:key="category.value"
@@ -156,11 +151,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="所需标本" prop="specimenCode">
<el-select
v-model="form.specimenCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.specimenCode" clearable>
<el-option
v-for="category in specimen_code"
:key="category.value"
@@ -186,11 +177,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="使用单位" prop="permittedUnitCode">
<el-select
v-model="form.permittedUnitCode"
clearable
:disabled="form.id != undefined"
>
<el-select v-model="form.permittedUnitCode" clearable>
<el-option
v-for="category in unit_code"
:key="category.value"
@@ -201,12 +188,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="财务类型" prop="minimalFee">
<el-select
v-model="form.minimalFee"
clearable
:disabled="form.id != undefined"
>
<el-form-item label="财务类型" prop="itemTypeCode">
<el-select v-model="form.itemTypeCode" clearable>
<el-option
v-for="category in fin_type_code"
:key="category.value"
@@ -220,25 +203,37 @@
<el-row :gutter="24">
<el-col :span="8">
<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="8">
<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="8">
<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-row>
<el-row :gutter="24">
<el-col :span="16">
<el-form-item label="说明" prop="description">
<el-form-item label="说明" prop="descriptionText">
<el-input
v-model="form.description"
v-model="form.descriptionText"
:autosize="{ minRows: 4, maxRows: 10 }"
type="textarea"
placeholder=""
@@ -267,19 +262,21 @@ import {
} from "./diagnosistreatment";
const { proxy } = getCurrentInstance();
const { unit_code, yb_type, fin_type_code } = proxy.useDict(
const { unit_code, yb_type, fin_type_code, activity_category_code } =
proxy.useDict(
"unit_code",
"yb_type",
"fin_type_code"
"fin_type_code",
"activity_category_code"
);
const title = ref("");
const visible = ref(false);
const emits = defineEmits(["submit"]); // 声明自定义事件
const categoryEnum = ref("");
const categoryCode = ref("");
const deptOptions = ref(undefined); // 部门树选项
const locationOptions = ref(undefined); // 地点树选项
const diseaseTreatmentCategoryList = ref(undefined);
const diagnosisCategoryOptions = ref(undefined);
const statusFlagOptions = ref(undefined);
const exeOrganizations = ref(undefined);
const typeEnumOptions = ref(undefined);
@@ -287,13 +284,13 @@ const typeEnumOptions = ref(undefined);
const data = reactive({
form: {},
rules: {
busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
// busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
statusEnum: [{ required: true, message: "状态不能为空", trigger: "blur" }],
categoryEnum: [
categoryCode: [
{ required: true, message: "诊疗目录不能为空", trigger: "blur" },
],
typeCode: [
typeEnum: [
{ required: true, message: "器材种类不能为空", trigger: "blur" },
],
permittedUnitCode: [
@@ -303,6 +300,19 @@ const data = reactive({
ybMatchFlag: [
{ required: true, message: "医保对码标记不能为空", trigger: "blur" },
],
purchasePrice: [
{ required: true, message: "购入价不能为空", trigger: "blur" },
],
retailPrice: [
{ required: true, message: "零售价不能为空", trigger: "blur" },
],
maximumRetailPrice: [
{ required: true, message: "最高零售价不能为空", trigger: "blur" },
],
ybType: [{ required: true, message: "医保类型不能为空", trigger: "blur" }],
itemTypeCode: [
{ required: true, message: "财务类型不能为空", trigger: "blur" },
],
},
});
@@ -321,7 +331,7 @@ const props = defineProps({
type: String,
required: true,
},
diseaseTreatmentCategoryList: {
diagnosisCategoryOptions: {
type: Object,
required: false,
},
@@ -346,11 +356,11 @@ function show() {
getDeptTree();
title.value = "";
title.value = props.title;
diseaseTreatmentCategoryList.value = props.diseaseTreatmentCategoryList;
diagnosisCategoryOptions.value = props.diagnosisCategoryOptions;
statusFlagOptions.value = props.statusFlagOptions;
exeOrganizations.value = props.exeOrganizations;
typeEnumOptions.value = props.typeEnumOptions;
form.value.categoryEnum = props.currentCategoryEnum;
form.value.categoryCode = props.currentCategoryEnum;
console.log(props.currentCategoryEnum, "11111");
console.log(props, "22222", title.value);
visible.value = true;
@@ -363,7 +373,7 @@ function edit() {
title.value = "";
title.value = props.title;
form.value = props.item;
diseaseTreatmentCategoryList.value = props.diseaseTreatmentCategoryList;
diagnosisCategoryOptions.value = props.diagnosisCategoryOptions;
statusFlagOptions.value = props.statusFlagOptions;
exeOrganizations.value = props.exeOrganizations;
typeEnumOptions.value = props.typeEnumOptions;
@@ -379,8 +389,8 @@ function reset() {
orgId: undefined, // 执行科室
pyStr: undefined, // 拼音码
wbStr: undefined, // 五笔码
categoryEnum: undefined, // 类别
typeCode: undefined, // 类型编码
categoryCode: undefined, // 类别
typeEnum: undefined, // 类型编码
statusEnum: undefined, // 状态(包括 1预置2启用3停用
ybFlag: undefined, // 医保标记
ybMatchFlag: undefined, // 医保对码标记
@@ -390,11 +400,11 @@ function reset() {
specimenCode: undefined, // 所需标本
ruleId: undefined, // 执行科室
permittedUnitCode: undefined, // 使用单位
minimalFee: undefined, // 最小收费
itemTypeCode: undefined, // 最小收费
purchasePrice: undefined, // 购入价
retailPrice: undefined, // 零售价
maximumRetailPrice: undefined, // 最高零售价
description: undefined, // 说明
descriptionText: undefined, // 说明
};
proxy.resetForm("diagnosisTreatmentRef");
}

View File

@@ -1,11 +1,12 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<!--器材目录-->
<!--诊疗目录-->
<el-col :span="4" :xs="24">
<div class="head-title">诊疗目录</div>
<div class="head-container">
<el-tree
:data="diseaseTreatmentCategoryList"
:data="diagnosisCategoryOptions"
:props="{ label: 'info', children: 'children' }"
:expand-on-click-node="false"
:filter-node-method="filterNode"
@@ -17,7 +18,7 @@
/>
</div>
</el-col>
<!--器材目录-->
<!--诊疗目录-->
<el-col :span="20" :xs="24">
<el-form
:model="queryParams"
@@ -62,15 +63,15 @@
clearable
>
<el-option
v-for="item in exeOrganizations"
v-for="item in statusWeatherOption"
:key="item.value"
:label="item.label"
:label="item.info"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-col :span="4">
<el-form-item label="执行科室" prop="ruleId" label-width="100">
<el-select
v-model="queryParams.ruleId"
@@ -85,11 +86,11 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="4">
<el-form-item label="类型" prop="typeCode" label-width="100">
<el-form-item label="类型" prop="typeEnum" label-width="100">
<el-select
v-model="queryParams.typeCode"
v-model="queryParams.typeEnum"
placeholder=""
clearable
>
@@ -198,8 +199,8 @@
<el-table-column
label="目录类别"
align="center"
key="category_enumText"
prop="category_enumText"
key="categoryCode_dictText"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
@@ -214,8 +215,8 @@
<el-table-column
label="使用单位"
align="center"
key="permittedUnitCode"
prop="permittedUnitCode"
key="permittedUnitCode_dictText"
prop="permittedUnitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -249,38 +250,53 @@
<el-table-column
label="归属科室"
align="center"
key="orgId"
prop="orgId"
key="orgId_dictText"
prop="orgId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="所在位置"
align="center"
key="locationId"
prop="locationId"
key="locationId_dictText"
prop="locationId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="身体部位"
align="center"
key="bodySiteCode"
prop="bodySiteCode"
key="bodySiteCode_dictText"
prop="bodySiteCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="所需标本"
align="center"
key="specimenCode"
prop="specimenCode"
key="specimenCode_dictText"
prop="specimenCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
<el-table-column
label="财务类别"
align="center"
key="itemTypeCode_dictText"
prop="itemTypeCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
<el-table-column
label="医保类别"
align="center"
key="ybType_dictText"
prop="ybType_dictText"
:show-overflow-tooltip="true"
width="100"
/>
<el-table-column
label="售价"
align="center"
key="price"
prop="price"
key="retailPrice"
prop="retailPrice"
:show-overflow-tooltip="true"
width="100"
/>
@@ -338,7 +354,7 @@
<diagnosis-treatment-dialog
ref="diagnosisTreatmentRef"
:currentCategoryEnum="currentCategoryEnum"
:diseaseTreatmentCategoryList="diseaseTreatmentCategoryList"
:diagnosisCategoryOptions="diagnosisCategoryOptions"
:statusFlagOptions="statusFlagOptions"
:exeOrganizations="exeOrganizations"
:typeEnumOptions="typeEnumOptions"
@@ -376,13 +392,14 @@ const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const diseaseTreatmentCategoryList = ref(undefined);
const diagnosisCategoryOptions = ref(undefined);
const statusFlagOptions = ref(undefined);
const exeOrganizations = ref(undefined);
const typeEnumOptions = ref(undefined);
// 使用 ref 定义当前器材数据
const statusWeatherOption = ref(undefined);
// 使用 ref 定义当前诊疗数据
const currentData = ref({});
// 使用 ref 定义当前查看器材数据
// 使用 ref 定义当前查看诊疗数据
const viewData = ref({});
const currentCategoryEnum = ref("");
@@ -392,11 +409,11 @@ const data = reactive({
pageNo: 1,
pageSize: 10,
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
typeCode: undefined, // 类型(包括 1中药2成药
typeEnum: undefined, // 类型(包括 1中药2成药
statusEnum: undefined, // 状态(包括 1预置2启用3停用
ybMatchFlag: undefined, // 是否医保匹配(包括 10
ruleId: undefined, // 执行科室
categoryEnum: undefined, // 目录分类
categoryCode: undefined, // 目录分类
},
rules: {},
});
@@ -412,16 +429,21 @@ const filterNode = (value, data) => {
/** 诊断目录分类查询下拉树结构 */
function getDiseaseTreatmentList() {
getDiseaseTreatmentInit().then((response) => {
console.log(response, "response器材目录分类查询下拉树结构");
diseaseTreatmentCategoryList.value =
response.data.diseaseTreatmentCategoryList.sort((a, b) => { return parseInt(a.value) - parseInt(b.value) });
console.log(response, "response诊疗目录分类查询下拉树结构");
diagnosisCategoryOptions.value =
response.data.diagnosisCategoryOptions.sort((a, b) => {
return parseInt(a.value) - parseInt(b.value);
});
diagnosisCategoryOptions.value.push({ info: "全部", value: "" });
statusFlagOptions.value = response.data.statusFlagOptions;
exeOrganizations.value = response.data.exeOrganizations;
typeEnumOptions.value = response.data.typeEnumOptions;
statusWeatherOption.value = response.data.statusWeatherOption;
});
}
/** 查询诊断目录列表 */
function getList() {
console.log(queryParams.value, "queryParams***********************");
loading.value = true;
getDiagnosisTreatmentList(queryParams.value).then((res) => {
loading.value = false;
@@ -433,7 +455,7 @@ function getList() {
/** 节点单击事件 */
function handleNodeClick(data) {
console.log(data, "节点单击事件");
queryParams.value.categoryEnum = data.value;
queryParams.value.categoryCode = data.value;
currentCategoryEnum.value = data.value;
handleQuery();
}
@@ -495,19 +517,21 @@ function handleSelectionChange(selection) {
/** 打开新增弹窗 */
function openAddDiagnosisTreatment() {
if (currentCategoryEnum.value) {
// if (currentCategoryEnum.value) {
console.log("打开新增弹窗");
title.value = "新增";
nextTick(() => {
proxy.$refs.diagnosisTreatmentRef.show();
});
} else {
proxy.$modal.msgError("请先选择目录分类!");
}
// } else {
// proxy.$modal.msgError("请先选择目录分类!");
// }
}
/** 打开编辑弹窗 */
function openEditDiagnosisTreatment(row) {
getDiagnosisTreatmentOne(row.id).then((response) => {
console.log(response, "response88888");
currentData.value = response.data;
currentData.value.ybFlag == 1
? (currentData.value.ybFlag = true)

View File

@@ -226,12 +226,12 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if="form.id != undefined">
<el-form-item label="编码" prop="conditionCode">
<el-input
v-model="form.conditionCode"
placeholder="请输入编码"
:disabled="form.id != undefined"
disabled
/>
</el-form-item>
</el-col>
@@ -250,14 +250,14 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="类型" prop="ybNo">
<el-form-item label="疾病类型" prop="typeCode">
<el-select
v-model="form.statusEnum"
v-model="form.typeCode"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in statusFlagOptions"
v-for="dict in conditionDefinitionOptions"
:key="dict.value"
:label="dict.info"
:value="dict.value"
@@ -266,7 +266,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="医保标记" prop="ybFlag">
<el-form-item label="状态" prop="statusEnum">
<el-select
v-model="form.statusEnum"
placeholder="请选择"
@@ -359,9 +359,9 @@ const data = reactive({
},
rules: {
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
conditionCode: [
{ required: true, message: "编码不能为空", trigger: "blur" },
],
// conditionCode: [
// { required: true, message: "编码不能为空", trigger: "blur" },
// ],
},
});
@@ -473,9 +473,10 @@ function cancel() {
}
/** 新增按钮操作 */
function handleAdd() {
if (conditionDefinition.value === undefined) {
return proxy.$modal.msgError("请选择病种目录分类");
}
// if (conditionDefinition.value === undefined) {
// return proxy.$modal.msgError("请选择病种目录分类");
// }
form.value.typeCode = conditionDefinition.value
reset();
open.value = true;
title.value = "新增";