fix(database): 修复患者首页查询重复数据和关联查询问题
- 在ATDManageAppMapper.xml中添加DISTINCT关键字解决入院患者信息重复问题 - 重构PatientHomeAppMapper.xml中的复杂查询逻辑,使用子查询替代多层JOIN提高性能 - 修复vital signs查询中的字段关联错误,将base_service_req_id改为request_id - 优化前端implementDepartment组件的数据加载逻辑,添加异步处理和错误捕获 - 为诊疗项目下拉框添加数据加载状态检查,防止空数据导致的界面异常 - 实现防抖机制和数据量限制,提升大数据量下的响应性能 - 添加并行数据加载,减少页面初始化时间
This commit is contained in:
@@ -224,7 +224,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="selectAdmissionPatientInfo"
|
<select id="selectAdmissionPatientInfo"
|
||||||
resultType="com.openhis.web.inhospitalnursestation.dto.AdmissionPatientInfoDto">
|
resultType="com.openhis.web.inhospitalnursestation.dto.AdmissionPatientInfoDto">
|
||||||
SELECT ae.id AS encounter_id,
|
SELECT DISTINCT ae.id AS encounter_id,
|
||||||
ae.bus_no,
|
ae.bus_no,
|
||||||
ae.priority_enum,
|
ae.priority_enum,
|
||||||
ae.organization_id,
|
ae.organization_id,
|
||||||
|
|||||||
@@ -6,6 +6,62 @@
|
|||||||
<select id="getPage" parameterType="java.util.Map"
|
<select id="getPage" parameterType="java.util.Map"
|
||||||
resultType="com.openhis.web.inpatientmanage.dto.PatientHomeDto">
|
resultType="com.openhis.web.inpatientmanage.dto.PatientHomeDto">
|
||||||
SELECT
|
SELECT
|
||||||
|
id,
|
||||||
|
active_flag,
|
||||||
|
temp_flag,
|
||||||
|
patientName,
|
||||||
|
name_json,
|
||||||
|
patientNo,
|
||||||
|
gender_enum,
|
||||||
|
birth_date,
|
||||||
|
deceased_date,
|
||||||
|
marital_status_enum,
|
||||||
|
prfs_enum,
|
||||||
|
phone,
|
||||||
|
address,
|
||||||
|
address_province,
|
||||||
|
address_city,
|
||||||
|
address_district,
|
||||||
|
address_street,
|
||||||
|
address_json,
|
||||||
|
nationality_code,
|
||||||
|
id_card,
|
||||||
|
py_str,
|
||||||
|
wb_str,
|
||||||
|
blood_abo,
|
||||||
|
blood_rh,
|
||||||
|
work_company,
|
||||||
|
native_place,
|
||||||
|
country_code,
|
||||||
|
link_name,
|
||||||
|
link_relation_code,
|
||||||
|
link_telcom,
|
||||||
|
link_jsons,
|
||||||
|
tenant_id,
|
||||||
|
hospitalNo,
|
||||||
|
encounterId,
|
||||||
|
priority_enum,
|
||||||
|
status_enum,
|
||||||
|
organization_id,
|
||||||
|
admissionDate,
|
||||||
|
dischargeDate,
|
||||||
|
class_enum,
|
||||||
|
responsibleDoctor,
|
||||||
|
responsibleNurse,
|
||||||
|
type_code,
|
||||||
|
surgeryStatusEnum,
|
||||||
|
surgeryStartTime,
|
||||||
|
surgeryEndTime,
|
||||||
|
encounterLocationId,
|
||||||
|
location_id,
|
||||||
|
caty,
|
||||||
|
mainDiagnosis
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
patient_base.*,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY patient_base.id ORDER BY patient_base.encounterId) as rn
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT
|
||||||
T1.id,
|
T1.id,
|
||||||
T1.active_flag,
|
T1.active_flag,
|
||||||
T1.temp_flag,
|
T1.temp_flag,
|
||||||
@@ -46,8 +102,24 @@
|
|||||||
T2.start_time AS admissionDate, -- 入院日期
|
T2.start_time AS admissionDate, -- 入院日期
|
||||||
T2.end_time AS dischargeDate, -- 出院日期
|
T2.end_time AS dischargeDate, -- 出院日期
|
||||||
T2.class_enum, -- 就诊类别
|
T2.class_enum, -- 就诊类别
|
||||||
Doctor.name AS responsibleDoctor, -- 责任医生
|
-- 获取责任医生(使用子查询确保只返回一个值)
|
||||||
Nurse.name AS responsibleNurse, -- 责任护士
|
(SELECT p."name"
|
||||||
|
FROM adm_encounter_participant ep
|
||||||
|
LEFT JOIN adm_practitioner p ON ep.practitioner_id = p.id AND p.delete_flag = '0'
|
||||||
|
WHERE ep.encounter_id = T2.id
|
||||||
|
AND ep.type_code = '9'
|
||||||
|
AND ep.delete_flag = '0'
|
||||||
|
ORDER BY ep.practitioner_id
|
||||||
|
LIMIT 1) AS responsibleDoctor,
|
||||||
|
-- 获取责任护士(使用子查询确保只返回一个值)
|
||||||
|
(SELECT p."name"
|
||||||
|
FROM adm_encounter_participant ep
|
||||||
|
LEFT JOIN adm_practitioner p ON ep.practitioner_id = p.id AND p.delete_flag = '0'
|
||||||
|
WHERE ep.encounter_id = T2.id
|
||||||
|
AND ep.type_code = '2'
|
||||||
|
AND ep.delete_flag = '0'
|
||||||
|
ORDER BY ep.practitioner_id
|
||||||
|
LIMIT 1) AS responsibleNurse,
|
||||||
T6.type_code, -- 费别
|
T6.type_code, -- 费别
|
||||||
T7.status_enum AS surgeryStatusEnum, -- 手术状态
|
T7.status_enum AS surgeryStatusEnum, -- 手术状态
|
||||||
T8.start_time AS surgeryStartTime, -- 手术开始时间
|
T8.start_time AS surgeryStartTime, -- 手术开始时间
|
||||||
@@ -57,50 +129,10 @@
|
|||||||
T11."name" AS caty, -- 入院科室
|
T11."name" AS caty, -- 入院科室
|
||||||
T12."name" AS mainDiagnosis -- 主要诊断
|
T12."name" AS mainDiagnosis -- 主要诊断
|
||||||
FROM adm_patient AS T1
|
FROM adm_patient AS T1
|
||||||
LEFT JOIN adm_encounter T2
|
INNER JOIN adm_encounter T2 -- 改为INNER JOIN确保患者有就诊记录
|
||||||
ON T1.id = T2.patient_id -- 患者ID
|
ON T1.id = T2.patient_id -- 患者ID
|
||||||
AND T2.delete_flag = '0'
|
AND T2.delete_flag = '0'
|
||||||
AND T2.class_enum = '1' -- 仅选择住院患者
|
AND T2.class_enum = '1' -- 仅选择住院患者
|
||||||
-- 获取责任医生
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
encounter_id,
|
|
||||||
practitioner_id,
|
|
||||||
"name",
|
|
||||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY practitioner_id) as rn
|
|
||||||
FROM (
|
|
||||||
SELECT
|
|
||||||
T3.encounter_id,
|
|
||||||
T4."name",
|
|
||||||
T3.practitioner_id
|
|
||||||
FROM adm_encounter_participant T3
|
|
||||||
LEFT JOIN adm_practitioner T4
|
|
||||||
ON T3.practitioner_id = T4.id
|
|
||||||
AND T4.delete_flag = '0'
|
|
||||||
WHERE T3.type_code = '9' -- 责任医生类型
|
|
||||||
AND T3.delete_flag = '0'
|
|
||||||
) sub
|
|
||||||
) Doctor ON T2.id = Doctor.encounter_id AND Doctor.rn = 1
|
|
||||||
-- 获取责任护士
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
encounter_id,
|
|
||||||
practitioner_id,
|
|
||||||
"name",
|
|
||||||
ROW_NUMBER() OVER (PARTITION BY encounter_id ORDER BY practitioner_id) as rn
|
|
||||||
FROM (
|
|
||||||
SELECT
|
|
||||||
T3.encounter_id,
|
|
||||||
T4."name",
|
|
||||||
T3.practitioner_id
|
|
||||||
FROM adm_encounter_participant T3
|
|
||||||
LEFT JOIN adm_practitioner T4
|
|
||||||
ON T3.practitioner_id = T4.id
|
|
||||||
AND T4.delete_flag = '0'
|
|
||||||
WHERE T3.type_code = '2' -- 责任护士类型
|
|
||||||
AND T3.delete_flag = '0'
|
|
||||||
) sub
|
|
||||||
) Nurse ON T2.id = Nurse.encounter_id AND Nurse.rn = 1
|
|
||||||
LEFT JOIN adm_encounter_diagnosis T5
|
LEFT JOIN adm_encounter_diagnosis T5
|
||||||
ON T2.id = T5.encounter_id -- 就诊ID
|
ON T2.id = T5.encounter_id -- 就诊ID
|
||||||
AND T5.maindise_flag = 1
|
AND T5.maindise_flag = 1
|
||||||
@@ -108,12 +140,25 @@
|
|||||||
LEFT JOIN adm_account T6
|
LEFT JOIN adm_account T6
|
||||||
ON T2.id = T6.encounter_id -- 就诊ID
|
ON T2.id = T6.encounter_id -- 就诊ID
|
||||||
AND T6.delete_flag = '0'
|
AND T6.delete_flag = '0'
|
||||||
LEFT JOIN cli_procedure T7
|
LEFT JOIN (
|
||||||
ON T1.id = T7.patient_id -- 患者ID
|
SELECT
|
||||||
AND T7.delete_flag = '0'
|
patient_id,
|
||||||
LEFT JOIN cli_procedure_performer T8
|
status_enum,
|
||||||
ON T7.id = T8.procedure_id -- 手术ID
|
id,
|
||||||
AND T8.delete_flag = '0'
|
request_id,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY patient_id ORDER BY id DESC) as rn
|
||||||
|
FROM cli_procedure
|
||||||
|
WHERE delete_flag = '0'
|
||||||
|
) T7 ON T1.id = T7.patient_id AND T7.rn = 1
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
procedure_id,
|
||||||
|
start_time,
|
||||||
|
end_time,
|
||||||
|
ROW_NUMBER() OVER (PARTITION BY procedure_id ORDER BY id DESC) as rn
|
||||||
|
FROM cli_procedure_performer
|
||||||
|
WHERE delete_flag = '0'
|
||||||
|
) T8 ON T7.id = T8.procedure_id AND T8.rn = 1
|
||||||
LEFT JOIN adm_encounter_location T9
|
LEFT JOIN adm_encounter_location T9
|
||||||
ON T2.id = T9.encounter_id -- 就诊ID
|
ON T2.id = T9.encounter_id -- 就诊ID
|
||||||
AND T9.form_enum = 8
|
AND T9.form_enum = 8
|
||||||
@@ -125,16 +170,7 @@
|
|||||||
LEFT JOIN cli_condition_definition T12
|
LEFT JOIN cli_condition_definition T12
|
||||||
ON T5.condition_id = T12.id
|
ON T5.condition_id = T12.id
|
||||||
AND T12.delete_flag = '0'
|
AND T12.delete_flag = '0'
|
||||||
LEFT JOIN wor_service_request T13
|
WHERE T1.delete_flag = '0'
|
||||||
ON T2.id = T13.encounter_id
|
|
||||||
AND T7.base_service_req_id = T13.id
|
|
||||||
AND T13.delete_flag = '0'
|
|
||||||
LEFT JOIN wor_service_request_detail T14
|
|
||||||
ON T13.id = T14.service_req_id
|
|
||||||
AND T14.type_code = '3'
|
|
||||||
AND T14.delete_flag = '0'
|
|
||||||
<where>
|
|
||||||
T1.delete_flag = '0'
|
|
||||||
-- 患者ID
|
-- 患者ID
|
||||||
<if test="patientId != null">
|
<if test="patientId != null">
|
||||||
AND T1.id = #{patientId}
|
AND T1.id = #{patientId}
|
||||||
@@ -157,7 +193,15 @@
|
|||||||
|
|
||||||
-- 手术
|
-- 手术
|
||||||
<if test="statusEnum == 5">
|
<if test="statusEnum == 5">
|
||||||
AND T14.type_code = '3'
|
AND EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM wor_service_request_detail wsrd
|
||||||
|
INNER JOIN wor_service_request wsr ON wsrd.service_req_id = wsr.id
|
||||||
|
WHERE wsr.encounter_id = T2.id
|
||||||
|
AND wsrd.type_code = '3'
|
||||||
|
AND wsr.delete_flag = '0'
|
||||||
|
AND wsrd.delete_flag = '0'
|
||||||
|
)
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
-- 欠费
|
-- 欠费
|
||||||
@@ -176,15 +220,32 @@
|
|||||||
T2.bus_no = #{searchKey}
|
T2.bus_no = #{searchKey}
|
||||||
-- 患者姓名
|
-- 患者姓名
|
||||||
OR T1.name like concat('%', #{searchKey}, '%')
|
OR T1.name like concat('%', #{searchKey}, '%')
|
||||||
-- 责任医生
|
-- 责任医生(在子查询中处理)
|
||||||
OR Doctor.name like concat('%', #{searchKey}, '%')
|
OR EXISTS (
|
||||||
-- 责任护士
|
SELECT 1
|
||||||
OR Nurse.name like concat('%', #{searchKey}, '%')
|
FROM adm_encounter_participant ep
|
||||||
|
LEFT JOIN adm_practitioner p ON ep.practitioner_id = p.id AND p.delete_flag = '0'
|
||||||
|
WHERE ep.encounter_id = T2.id
|
||||||
|
AND ep.type_code = '9'
|
||||||
|
AND ep.delete_flag = '0'
|
||||||
|
AND p."name" like concat('%', #{searchKey}, '%')
|
||||||
|
)
|
||||||
|
-- 责任护士(在子查询中处理)
|
||||||
|
OR EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM adm_encounter_participant ep
|
||||||
|
LEFT JOIN adm_practitioner p ON ep.practitioner_id = p.id AND p.delete_flag = '0'
|
||||||
|
WHERE ep.encounter_id = T2.id
|
||||||
|
AND ep.type_code = '2'
|
||||||
|
AND ep.delete_flag = '0'
|
||||||
|
AND p."name" like concat('%', #{searchKey}, '%')
|
||||||
|
)
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
) patient_base
|
||||||
|
) ranked_result
|
||||||
ORDER BY T9.location_id ASC
|
WHERE rn = 1
|
||||||
|
ORDER BY location_id ASC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 科室空床查询-->
|
<!-- 科室空床查询-->
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
AND T6.delete_flag = '0'
|
AND T6.delete_flag = '0'
|
||||||
LEFT JOIN wor_service_request T7
|
LEFT JOIN wor_service_request T7
|
||||||
ON T1.encounter_id = T7.encounter_id
|
ON T1.encounter_id = T7.encounter_id
|
||||||
AND T5.base_service_req_id = T7.id
|
AND T5.request_id = T7.id
|
||||||
AND T7.delete_flag = '0'
|
AND T7.delete_flag = '0'
|
||||||
LEFT JOIN wor_service_request_detail T8
|
LEFT JOIN wor_service_request_detail T8
|
||||||
ON T7.id = T8.service_req_id
|
ON T7.id = T8.service_req_id
|
||||||
|
|||||||
@@ -236,24 +236,34 @@ const filterNode = (value, data) => {
|
|||||||
};
|
};
|
||||||
// 所有诊疗项目列表
|
// 所有诊疗项目列表
|
||||||
const allImplementDepartmentList = ref([]);
|
const allImplementDepartmentList = ref([]);
|
||||||
function getAllImplementDepartment() {
|
async function getAllImplementDepartment() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
getAllTreatmentList().then((res) => {
|
try {
|
||||||
|
const res = await getAllTreatmentList();
|
||||||
allImplementDepartmentList.value = res.data.map((item) => ({
|
allImplementDepartmentList.value = res.data.map((item) => ({
|
||||||
value: item.activityDefinitionId,
|
value: item.activityDefinitionId,
|
||||||
label: item.activityDefinitionName,
|
label: item.activityDefinitionName,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// 为所有现有行初始化过滤选项
|
// 为所有现有行初始化过滤选项(使用防抖处理,避免频繁更新)
|
||||||
|
if (catagoryList.value && catagoryList.value.length > 0) {
|
||||||
|
// 使用 setTimeout 将 DOM 更新推迟到下一个事件循环,避免阻塞
|
||||||
|
setTimeout(() => {
|
||||||
catagoryList.value.forEach(row => {
|
catagoryList.value.forEach(row => {
|
||||||
if (!row.hasOwnProperty('filteredOptions')) {
|
if (!row.hasOwnProperty('filteredOptions')) {
|
||||||
row.filteredOptions = allImplementDepartmentList.value.slice(0, 100); // 限制为前100个
|
row.filteredOptions = allImplementDepartmentList.value.slice(0, 100); // 限制为前100个
|
||||||
row.loading = false;
|
row.loading = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
});
|
} catch (error) {
|
||||||
|
console.error('获取诊疗项目列表失败:', error);
|
||||||
|
loading.value = false;
|
||||||
|
proxy.$message.error('获取诊疗项目列表失败');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 选择条数 */
|
/** 选择条数 */
|
||||||
@@ -269,16 +279,30 @@ function handleRemoteQuery(query, row) {
|
|||||||
row.loading = true;
|
row.loading = true;
|
||||||
// 模拟异步延迟
|
// 模拟异步延迟
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 过滤选项
|
// 确保数据已加载
|
||||||
row.filteredOptions = allImplementDepartmentList.value.filter(item => {
|
if (!allImplementDepartmentList.value || allImplementDepartmentList.value.length === 0) {
|
||||||
|
row.filteredOptions = [];
|
||||||
|
row.loading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤选项,限制结果数量以提高性能
|
||||||
|
const filtered = allImplementDepartmentList.value.filter(item => {
|
||||||
return item.label.toLowerCase().includes(query.toLowerCase()) ||
|
return item.label.toLowerCase().includes(query.toLowerCase()) ||
|
||||||
item.value.toLowerCase().includes(query.toLowerCase());
|
item.value.toLowerCase().includes(query.toLowerCase());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 限制返回结果数量,避免过多选项导致性能问题
|
||||||
|
row.filteredOptions = filtered.slice(0, 100); // 限制为前100个匹配项
|
||||||
row.loading = false;
|
row.loading = false;
|
||||||
}, 300); // 300ms 延迟,模拟网络请求
|
}, 300); // 300ms 延迟,模拟网络请求
|
||||||
} else {
|
} else {
|
||||||
// 如果查询为空,显示所有选项(但限制数量以提高性能)
|
// 如果查询为空,显示所有选项(但限制数量以提高性能)
|
||||||
|
if (allImplementDepartmentList.value && allImplementDepartmentList.value.length > 0) {
|
||||||
row.filteredOptions = allImplementDepartmentList.value.slice(0, 100); // 限制为前100个
|
row.filteredOptions = allImplementDepartmentList.value.slice(0, 100); // 限制为前100个
|
||||||
|
} else {
|
||||||
|
row.filteredOptions = [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,6 +312,15 @@ function handleAddItem() {
|
|||||||
proxy.$message.warning('请先保存当前行后再新增!');
|
proxy.$message.warning('请先保存当前行后再新增!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 确保 allImplementDepartmentList 已经初始化
|
||||||
|
if (!allImplementDepartmentList.value || allImplementDepartmentList.value.length === 0) {
|
||||||
|
proxy.$message.warning('正在加载数据,请稍后再试!');
|
||||||
|
// 如果数据还未加载完成,尝试重新加载
|
||||||
|
getAllImplementDepartment();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const newRow = {
|
const newRow = {
|
||||||
startTime: '00:00:00',
|
startTime: '00:00:00',
|
||||||
endTime: '23:59:59',
|
endTime: '23:59:59',
|
||||||
@@ -411,26 +444,28 @@ function continueHandleNodeClick(node) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 目录分类查询 */
|
/** 目录分类查询 */
|
||||||
function getDiseaseTreatmentList() {
|
async function getDiseaseTreatmentList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
getDiseaseTreatmentInit().then(({ data }) => {
|
try {
|
||||||
loading.value = false;
|
const { data } = await getDiseaseTreatmentInit();
|
||||||
|
|
||||||
// 分类目录初始化获取
|
// 分类目录初始化获取
|
||||||
catagoryDicts.value = data.diagnosisCategoryOptions.sort((a, b) => {
|
catagoryDicts.value = data.diagnosisCategoryOptions.sort((a, b) => {
|
||||||
return parseInt(a.value) - parseInt(b.value);
|
return parseInt(a.value) - parseInt(b.value);
|
||||||
});
|
});
|
||||||
});
|
} catch (error) {
|
||||||
// 诊疗目录分类查询下拉树结d构
|
console.error('获取疾病治疗初始化数据失败:', error);
|
||||||
loading.value = true;
|
proxy.$message.error('获取分类目录失败');
|
||||||
// 诊疗目录分类查询下拉树结d构
|
}
|
||||||
getImplDepartList();
|
|
||||||
|
// 诊疗目录分类查询下拉树结构
|
||||||
|
await getImplDepartList();
|
||||||
|
loading.value = false;
|
||||||
}
|
}
|
||||||
// 诊疗目录分类查询下拉树结d构
|
// 诊疗目录分类查询下拉树结d构
|
||||||
function getImplDepartList() {
|
async function getImplDepartList() {
|
||||||
loading.value = true;
|
try {
|
||||||
getImplementDepartmentList().then((res) => {
|
const res = await getImplementDepartmentList();
|
||||||
loading.value = false;
|
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
if (res.data.records.length > 0) {
|
if (res.data.records.length > 0) {
|
||||||
organization.value = res.data.records.map((res) => {
|
organization.value = res.data.records.map((res) => {
|
||||||
@@ -444,13 +479,24 @@ function getImplDepartList() {
|
|||||||
organization.value = [];
|
organization.value = [];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.$modal.msgError(res.code);
|
proxy.$modal.msgError(res.code);
|
||||||
}
|
}
|
||||||
});
|
} catch (error) {
|
||||||
|
console.error('获取实施部门列表失败:', error);
|
||||||
|
proxy.$message.error('获取科室信息失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onMounted(async () => {
|
||||||
|
try {
|
||||||
|
// 并行加载数据,提高效率
|
||||||
|
await Promise.all([
|
||||||
|
getAllImplementDepartment(),
|
||||||
|
getDiseaseTreatmentList()
|
||||||
|
]);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('初始化数据加载失败:', error);
|
||||||
|
proxy.$message.error('数据加载失败,请稍后重试');
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
|
||||||
getAllImplementDepartment();
|
|
||||||
getDiseaseTreatmentList();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user