Compare commits
3 Commits
7b1777a91e
...
5f00dab7ad
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f00dab7ad | |||
| 8c42cf11b5 | |||
| ada67eb9c0 |
26
AGENTS.md
26
AGENTS.md
@@ -106,6 +106,32 @@
|
||||
- 每次修改后必须 `mvn clean compile -DskipTests` 验证
|
||||
- **违规判定**: 因修改导致原有代码编译失败或运行报错,视为违反铁律18,必须立即回滚修复
|
||||
|
||||
|
||||
**铁律19: 编译错误不区分来源(Bug #698 教训)**
|
||||
- `mvn compile`、`vite build`、`vue-tsc` 等构建命令报错 = 不过关,**不管是自己引入的还是历史遗留的**
|
||||
- 禁止说"这是预存问题""不是我改的""原有bug"——构建通不过就不能宣称完成
|
||||
- 正确做法:定位错误 → 修复 → 重新构建确认通过 → 然后才能继续
|
||||
- **违规判定**: 构建命令有 ERROR 但未修复就报告"编译通过",视为违反铁律
|
||||
|
||||
**铁律20: 数据来源必须验证(Bug #698 教训)**
|
||||
- 涉及数据查询/提取时,必须先确认数据实际存储位置,不能假设
|
||||
- 案例:从 `raw_steps_html` 提取 fileID,而不是从 `steps`(纯文本,已被 strip)
|
||||
- 修复前必须:打印/检查原始数据结构 → 确认字段存在 → 再写提取逻辑
|
||||
- 禁止:凭代码推断数据位置、假设"应该在这里"
|
||||
|
||||
**铁律21: 外部配置值必须实测验证(Bug #698 教训)**
|
||||
- 使用外部服务(API、模型、数据库)的配置值,必须实际调用验证,不能仅凭记忆或推测
|
||||
- 案例:模型名 `mino-v2.5` 应为 `mimo-v2.5`,拼写错误导致 400
|
||||
- 配置变更后必须:发起一次真实请求 → 确认返回 200 → 再宣称配置正确
|
||||
- 禁止:改完配置不测试、假设"应该能用"
|
||||
|
||||
**铁律22: 端到端验证必须有实际输出证据(Bug #698 教训)**
|
||||
- 声称功能生效前,必须有实际的端到端输出证据
|
||||
- 不能仅凭代码路径推断"应该走了 vision"——必须看到实际返回内容
|
||||
- 验证方式:运行命令 → 检查输出中包含预期关键词(如 vision 分析结果、图片识别文字)
|
||||
- 禁止:只检查代码路径可达就算"验证通过"
|
||||
|
||||
|
||||
### 🟡 P1 铁律 — 强烈建议
|
||||
|
||||
**铁律9: 先分解再行动**
|
||||
|
||||
@@ -178,7 +178,7 @@ public class InHospitalRegisterAppServiceImpl implements IInHospitalRegisterAppS
|
||||
// 构建查询条件
|
||||
QueryWrapper<InHospitalRegisterQueryDto> queryWrapper
|
||||
= HisQueryUtils.buildQueryWrapper(inHospitalRegisterQueryDto, searchKey,
|
||||
new HashSet<>(Arrays.asList("registrar", "source_name", "patient_name")), request);
|
||||
new HashSet<>(Arrays.asList("registrar", "source_name", "patient_name", "id_card")), request);
|
||||
|
||||
IPage<InHospitalRegisterQueryDto> inHospitalRegisterInfo = inHospitalRegisterAppMapper
|
||||
.getInHospitalRegisterInfo(new Page<>(pageNo, pageSize), EncounterClass.IMP.getValue(), encounterStatus,
|
||||
|
||||
@@ -101,3 +101,4 @@ public class InHospitalRegisterQueryDto {
|
||||
private Integer statusEnum;
|
||||
|
||||
}
|
||||
// PLACEHOLDER_FOR_NEW_FIELDS
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
-- Bug #704: 添加文化程度字典类型和字典数据
|
||||
-- 问题:修改患者弹窗"文化程度"下拉无数据,因为 sys_dict_type 中缺少 education_level 字典类型
|
||||
|
||||
-- 1. 添加字典类型
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark)
|
||||
SELECT '文化程度', 'education_level', '0', 'admin', CURRENT_TIMESTAMP, '患者文化程度字典'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'education_level');
|
||||
|
||||
-- 2. 添加字典数据(按编码排序)
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 1, '小学毕业', '3919', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3919');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 2, '初中毕业', '3915', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3915');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 3, '普通高中毕业', '3920', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3920');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 4, '职业高中毕业', '3918', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3918');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 5, '技工学校毕业', '3917', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3917');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 6, '中等专科毕业', '3921', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3921');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 7, '大学专科毕业', '3911', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3911');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 8, '大学本科', '3912', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3912');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 9, '硕士研究生', '3913', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3913');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time)
|
||||
SELECT 10, '博士研究生', '3914', 'education_level', '0', 'admin', CURRENT_TIMESTAMP
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3914');
|
||||
@@ -19,7 +19,9 @@
|
||||
ihri.contract_no,
|
||||
ihri.bus_no,
|
||||
ihri.admit_source_code,
|
||||
ihri.status_enum
|
||||
ihri.status_enum,
|
||||
ihri.id_card,
|
||||
ihri.organization_name
|
||||
from (SELECT ae.tenant_id,
|
||||
ae.ID AS encounter_id,
|
||||
ae.amb_encounter_id AS amb_encounter_id,
|
||||
@@ -34,8 +36,12 @@
|
||||
aa.contract_no,
|
||||
ae.bus_no,
|
||||
ae.admit_source_code,
|
||||
ae.status_enum
|
||||
ae.status_enum,
|
||||
ap.id_card AS id_card,
|
||||
ao_zy.NAME AS organization_name
|
||||
FROM adm_encounter AS ae
|
||||
LEFT JOIN adm_organization AS ao_zy ON ao_zy.ID = ae.organization_id
|
||||
AND ao_zy.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter AS ambae ON ae.amb_encounter_id = ambae.
|
||||
ID
|
||||
LEFT JOIN adm_organization AS ao ON ao.ID = ambae.organization_id
|
||||
@@ -54,6 +60,15 @@
|
||||
AND aa.type_code = '04'
|
||||
WHERE ae.delete_flag = '0'
|
||||
AND ae.class_enum = #{encounterClass}
|
||||
<if test='startTime != null'>
|
||||
AND ae.create_time >= #{startTime}
|
||||
</if>
|
||||
<if test='endTime != null'>
|
||||
AND ae.create_time <= #{endTime}
|
||||
</if>
|
||||
<if test='organizationId != null'>
|
||||
AND ae.organization_id = #{organizationId}
|
||||
</if>
|
||||
<if test="registeredFlag == '0'.toString()">
|
||||
AND ae.status_enum = #{encounterStatus}
|
||||
</if>
|
||||
|
||||
@@ -2,113 +2,63 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.healthlink.his.web.patientmanage.mapper.PatientManageMapper">
|
||||
<!-- 病人信息相关查询-->
|
||||
<!-- Bug#717: 移除无用关联子查询 identifier_no(DTO无对应字段),
|
||||
避免 TenantLineInnerInterceptor 用 JSqlParser 解析 SQL 时因裸列名导致 country_code ambiguous -->
|
||||
<select id="getPatientPage" resultType="com.healthlink.his.web.patientmanage.dto.PatientBaseInfoDto">
|
||||
SELECT
|
||||
pt.identifier_no,
|
||||
pt.tenant_id,
|
||||
pt.id,
|
||||
pt.active_flag,
|
||||
pt.temp_flag,
|
||||
pt.name,
|
||||
pt.name_json,
|
||||
pt.bus_no,
|
||||
pt.gender_enum,
|
||||
pt.birth_date,
|
||||
pt.deceased_date,
|
||||
pt.marital_status_enum,
|
||||
pt.prfs_enum,
|
||||
pt.phone,
|
||||
pt.address,
|
||||
pt.address_province,
|
||||
pt.address_city,
|
||||
pt.address_district,
|
||||
pt.address_street,
|
||||
pt.address_json,
|
||||
pt.nationality_code,
|
||||
pt.id_card,
|
||||
pt.py_str,
|
||||
pt.wb_str,
|
||||
pt.blood_abo,
|
||||
pt.blood_rh,
|
||||
pt.work_company,
|
||||
pt.native_place,
|
||||
pt.country_code,
|
||||
pt.link_name,
|
||||
pt.link_relation_code,
|
||||
pt.link_telcom,
|
||||
pt.link_jsons,
|
||||
pt.organization_id,
|
||||
pt.create_time,
|
||||
pt.postal_code,
|
||||
pt.hukou_address,
|
||||
pt.guardian_name,
|
||||
pt.guardian_relation,
|
||||
pt.guardian_phone,
|
||||
pt.guardian_id_type,
|
||||
pt.guardian_id_no,
|
||||
pt.guardian_address,
|
||||
pt.patient_derived,
|
||||
pt.education_level,
|
||||
pt.company_address
|
||||
FROM (
|
||||
SELECT
|
||||
(
|
||||
SELECT api.identifier_no
|
||||
FROM adm_patient_identifier api
|
||||
WHERE api.tenant_id = p.tenant_id
|
||||
AND api.patient_id = p.id
|
||||
LIMIT 1
|
||||
) AS identifier_no,
|
||||
p.tenant_id,
|
||||
p.id,
|
||||
p.active_flag,
|
||||
p.temp_flag,
|
||||
p.name,
|
||||
p.name_json,
|
||||
p.bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.deceased_date,
|
||||
p.marital_status_enum,
|
||||
p.prfs_enum,
|
||||
p.phone,
|
||||
p.address,
|
||||
p.address_province,
|
||||
p.address_city,
|
||||
p.address_district,
|
||||
p.address_street,
|
||||
p.address_json,
|
||||
p.nationality_code,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
p.blood_abo,
|
||||
p.blood_rh,
|
||||
p.work_company,
|
||||
p.native_place,
|
||||
p.country_code,
|
||||
p.link_name,
|
||||
p.link_relation_code,
|
||||
p.link_telcom,
|
||||
p.link_jsons,
|
||||
p.organization_id,
|
||||
p.create_time,
|
||||
p.postal_code,
|
||||
p.hukou_address,
|
||||
p.guardian_name,
|
||||
p.guardian_relation,
|
||||
p.guardian_phone,
|
||||
p.guardian_id_type,
|
||||
p.guardian_id_no,
|
||||
p.guardian_address,
|
||||
p.patient_derived,
|
||||
p.education_level,
|
||||
p.company_address
|
||||
FROM adm_patient p
|
||||
where p.delete_flag = '0'
|
||||
) AS pt
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY pt.bus_no DESC
|
||||
p.tenant_id,
|
||||
p.id,
|
||||
p.active_flag,
|
||||
p.temp_flag,
|
||||
p.name,
|
||||
p.name_json,
|
||||
p.bus_no,
|
||||
p.gender_enum,
|
||||
p.birth_date,
|
||||
p.deceased_date,
|
||||
p.marital_status_enum,
|
||||
p.prfs_enum,
|
||||
p.phone,
|
||||
p.address,
|
||||
p.address_province,
|
||||
p.address_city,
|
||||
p.address_district,
|
||||
p.address_street,
|
||||
p.address_json,
|
||||
p.nationality_code,
|
||||
p.id_card,
|
||||
p.py_str,
|
||||
p.wb_str,
|
||||
p.blood_abo,
|
||||
p.blood_rh,
|
||||
p.work_company,
|
||||
p.native_place,
|
||||
p.country_code,
|
||||
p.link_name,
|
||||
p.link_relation_code,
|
||||
p.link_telcom,
|
||||
p.link_jsons,
|
||||
p.organization_id,
|
||||
p.create_time,
|
||||
p.postal_code,
|
||||
p.hukou_address,
|
||||
p.guardian_name,
|
||||
p.guardian_relation,
|
||||
p.guardian_phone,
|
||||
p.guardian_id_type,
|
||||
p.guardian_id_no,
|
||||
p.guardian_address,
|
||||
p.patient_derived,
|
||||
p.education_level,
|
||||
p.company_address
|
||||
FROM adm_patient p
|
||||
<where>
|
||||
p.delete_flag = '0'
|
||||
<if test="ew != null and ew.sqlSegment != null and ew.sqlSegment != ''">
|
||||
AND ${ew.sqlSegment}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY p.bus_no DESC
|
||||
</select>
|
||||
|
||||
<select id="getPatientIdInfo" resultType="com.healthlink.his.web.patientmanage.dto.PatientIdInfoDto">
|
||||
@@ -149,7 +99,7 @@
|
||||
LEFT JOIN adm_patient AS pt ON enc.patient_id = pt.ID AND pt.delete_flag = '0'
|
||||
<where>
|
||||
enc.delete_flag = '0'
|
||||
<if test="ew.sqlSegment != null and ew.sqlSegment != ''">
|
||||
<if test="ew != null and ew.sqlSegment != null and ew.sqlSegment != ''">
|
||||
AND ${ew.sqlSegment}
|
||||
</if>
|
||||
</where>
|
||||
|
||||
7
healthlink-his-ui/src/api/orderclosedloop.d.ts
vendored
Normal file
7
healthlink-his-ui/src/api/orderclosedloop.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export function listOrderExecuteRecord(params: any): Promise<any>
|
||||
export function getOrderClosedLoopStatus(orderId: string | number): Promise<any>
|
||||
export function getOrderStatistics(): Promise<any>
|
||||
export function executeOrder(data: any): Promise<any>
|
||||
export function completeOrder(data: any): Promise<any>
|
||||
export function cancelOrder(data: any): Promise<any>
|
||||
export function getClosedLoopStatistics(params?: any): Promise<any>
|
||||
12
healthlink-his-ui/src/api/rationaldrug.d.ts
vendored
Normal file
12
healthlink-his-ui/src/api/rationaldrug.d.ts
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
export function auditPrescription(data: any): Promise<any>
|
||||
export function batchAudit(data: any): Promise<any>
|
||||
export function getAuditStatistics(): Promise<any>
|
||||
export function getAuditTrend(startDate?: any): Promise<any>
|
||||
export function getAuditLog(encounterId: string | number): Promise<any>
|
||||
export function checkInteraction(data: any): Promise<any>
|
||||
export function listInteractionRules(params: any): Promise<any>
|
||||
export function addInteractionRule(data: any): Promise<any>
|
||||
export function updateInteractionRule(data: any): Promise<any>
|
||||
export function delInteractionRule(id: any): Promise<any>
|
||||
export function listDosageRules(params: any): Promise<any>
|
||||
export function checkDosage(drugCode: string, dosage: string, population: string): Promise<any>
|
||||
6
healthlink-his-ui/src/env.d.ts
vendored
Normal file
6
healthlink-his-ui/src/env.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/// <reference types="vite/client" />
|
||||
declare module '*.vue' {
|
||||
import type { DefineComponent } from 'vue'
|
||||
const component: DefineComponent<Record<string, unknown>, Record<string, unknown>, any>
|
||||
export default component
|
||||
}
|
||||
14
healthlink-his-ui/src/model/IInPatient.d.ts
vendored
Normal file
14
healthlink-his-ui/src/model/IInPatient.d.ts
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
export interface IInPatient {
|
||||
feeType?: string;
|
||||
sexName?: string;
|
||||
age?: string;
|
||||
visitCode?: string;
|
||||
patientName?: string;
|
||||
patientId?: string;
|
||||
encounterId?: string;
|
||||
inpatientCode?: string;
|
||||
patCode?: string;
|
||||
phone?: string;
|
||||
conditionNames?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
2
healthlink-his-ui/src/utils/dict.d.ts
vendored
Normal file
2
healthlink-his-ui/src/utils/dict.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { Ref } from 'vue'
|
||||
export function useDict(...args: string[]): Record<string, Ref<any[]>>
|
||||
@@ -334,8 +334,8 @@
|
||||
:key="`doctor-${filterParams.appointmentType}-${scope.row.id}`"
|
||||
v-model="scope.row.doctorId"
|
||||
placeholder="请选"
|
||||
class="inline-select"
|
||||
clearable
|
||||
class="inline-select"
|
||||
:disabled="!isEditMode"
|
||||
@change="(selectedId) => handleDoctorChange(selectedId, scope.row)"
|
||||
>
|
||||
@@ -358,9 +358,9 @@
|
||||
v-model="scope.row.room"
|
||||
placeholder="请选择"
|
||||
filterable
|
||||
clearable
|
||||
:remote-method="searchClinicRooms"
|
||||
class="inline-select"
|
||||
clearable
|
||||
:disabled="!isEditMode"
|
||||
>
|
||||
<el-option
|
||||
@@ -444,8 +444,8 @@
|
||||
<el-select
|
||||
v-model="scope.row.appointmentItem"
|
||||
placeholder="请选"
|
||||
class="inline-select"
|
||||
clearable
|
||||
class="inline-select"
|
||||
:disabled="!isEditMode"
|
||||
@change="handleAppointmentItemChange(scope.row)"
|
||||
>
|
||||
@@ -476,8 +476,8 @@
|
||||
<el-select
|
||||
v-model="scope.row.clinicItem"
|
||||
placeholder="请选择诊查项目"
|
||||
class="inline-select"
|
||||
clearable
|
||||
class="inline-select"
|
||||
:disabled="!isEditMode"
|
||||
@change="handleClinicItemChange(scope.row)"
|
||||
>
|
||||
|
||||
@@ -1,13 +1,43 @@
|
||||
<template>
|
||||
<div class="awaitList-container">
|
||||
<div class="operate">
|
||||
<el-space>
|
||||
<el-space wrap>
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
style="max-width: 600px"
|
||||
placeholder="请输入内容"
|
||||
style="width: 160px"
|
||||
placeholder="患者姓名"
|
||||
class="input-with-select"
|
||||
clearable
|
||||
/>
|
||||
<el-input
|
||||
v-model="queryParams.idCard"
|
||||
style="width: 200px"
|
||||
placeholder="身份证号"
|
||||
clearable
|
||||
/>
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="登记开始日期"
|
||||
end-placeholder="登记结束日期"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
style="width: 280px"
|
||||
:default-time="[new Date(0, 0, 0, 0, 0, 0), new Date(0, 0, 0, 23, 59, 59)]"
|
||||
/>
|
||||
<el-select
|
||||
v-model="queryParams.organizationId"
|
||||
placeholder="入院科室"
|
||||
clearable
|
||||
style="width: 160px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button @click="resetQuery">
|
||||
重置
|
||||
</el-button>
|
||||
@@ -71,6 +101,32 @@
|
||||
{{ scope.row.contractNo || '-' }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="idCard"
|
||||
align="center"
|
||||
title="身份证号码"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.idCard || '-' }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="organizationName"
|
||||
align="center"
|
||||
title="入院科室"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.organizationName || '-' }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="requestTime"
|
||||
align="center"
|
||||
title="登记时间"
|
||||
width="160"
|
||||
/>
|
||||
<vxe-column
|
||||
field="admitSourceCode"
|
||||
align="center"
|
||||
@@ -100,11 +156,7 @@
|
||||
{{ scope.row.sourceName || '-' }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="requestTime"
|
||||
align="center"
|
||||
title="申请时间"
|
||||
/>
|
||||
|
||||
<vxe-column
|
||||
field="wardName"
|
||||
align="center"
|
||||
@@ -195,7 +247,7 @@
|
||||
<script setup>
|
||||
import PatientRegister from './patientRegister.vue';
|
||||
import {ElMessage, ElMessageBox} from 'element-plus';
|
||||
import {getAdmissionPage, getContractList, getInHospitalInfo, getPatientBasicInfo, voidRegistration} from './api';
|
||||
import {getAdmissionPage, getContractList, getInHospitalInfo, getOrgList, getPatientBasicInfo, voidRegistration} from './api';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import {printAdmissionCertificate, formatDate} from '@/utils/printUtils';
|
||||
|
||||
@@ -205,6 +257,8 @@ const emits = defineEmits([]);
|
||||
const userStore = useUserStore();
|
||||
const tableRef = ref(null);
|
||||
const selectedRow = ref(null);
|
||||
const dateRange = ref([]);
|
||||
const orgList = ref([]);
|
||||
const total = ref();
|
||||
const inHospitalInfo = ref({});
|
||||
const alreadyEdit = ref(true);
|
||||
@@ -334,8 +388,16 @@ const handlePrintCertificate = async () => {
|
||||
};
|
||||
|
||||
getContract();
|
||||
// 获取入院科室列表
|
||||
function loadOrgList() {
|
||||
getOrgList().then((res) => {
|
||||
orgList.value = res.data || [];
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
loadOrgList();
|
||||
});
|
||||
|
||||
const patientRegisterOK = () => {
|
||||
@@ -361,7 +423,12 @@ function resetQuery() {
|
||||
pageSize: 10,
|
||||
registeredFlag: '1',
|
||||
searchKey: '',
|
||||
idCard: '',
|
||||
organizationId: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
};
|
||||
dateRange.value = [];
|
||||
getList();
|
||||
}
|
||||
|
||||
@@ -392,6 +459,15 @@ const getList = () => {
|
||||
queryParams.value.sortField = 'requestTime';
|
||||
queryParams.value.sortOrder = 'DESC';
|
||||
|
||||
// 处理日期范围
|
||||
if (dateRange.value && dateRange.value.length === 2) {
|
||||
queryParams.value.startTime = dateRange.value[0];
|
||||
queryParams.value.endTime = dateRange.value[1];
|
||||
} else {
|
||||
queryParams.value.startTime = '';
|
||||
queryParams.value.endTime = '';
|
||||
}
|
||||
|
||||
// 清除选中状态
|
||||
selectedRow.value = null;
|
||||
if (tableRef.value) {
|
||||
|
||||
Reference in New Issue
Block a user