diff --git a/openhis-server-new/openhis-application/src/main/resources/i18n/message_zh_CN.properties b/openhis-server-new/openhis-application/src/main/resources/i18n/message_zh_CN.properties
deleted file mode 100644
index b4362751..00000000
--- a/openhis-server-new/openhis-application/src/main/resources/i18n/message_zh_CN.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-#\u9519\u8bef\u6d88\u606f
-not.null=* \u5fc5\u987b\u586b\u5199
-user.jcaptcha.error=\u9a8c\u8bc1\u7801\u9519\u8bef
-user.jcaptcha.expire=\u9a8c\u8bc1\u7801\u5df2\u5931\u6548
-user.not.exists=\u7528\u6237\u4e0d\u5b58\u5728/\u5bc6\u7801\u9519\u8bef
-user.password.not.match=\u7528\u6237\u4e0d\u5b58\u5728/\u5bc6\u7801\u9519\u8bef
-user.password.retry.limit.count=\u5bc6\u7801\u8f93\u5165\u9519\u8bef{0}\u6b21
-user.password.retry.limit.exceed=\u5bc6\u7801\u8f93\u5165\u9519\u8bef{0}\u6b21\uff0c\u5e10\u6237\u9501\u5b9a{1}\u5206\u949f
-user.password.delete=\u5bf9\u4e0d\u8d77\uff0c\u60a8\u7684\u8d26\u53f7\u5df2\u88ab\u5220\u9664
-user.blocked=\u7528\u6237\u5df2\u5c01\u7981\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458
-role.blocked=\u89d2\u8272\u5df2\u5c01\u7981\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458
-login.blocked=\u5f88\u9057\u61be\uff0c\u8bbf\u95eeIP\u5df2\u88ab\u5217\u5165\u7cfb\u7edf\u9ed1\u540d\u5355
-user.logout.success=\u9000\u51fa\u6210\u529f
-length.not.valid=\u957f\u5ea6\u5fc5\u987b\u5728{min}\u5230{max}\u4e2a\u5b57\u7b26\u4e4b\u95f4
-user.username.not.valid=* 2\u523020\u4e2a\u6c49\u5b57\u3001\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u4e0b\u5212\u7ebf\u7ec4\u6210\uff0c\u4e14\u5fc5\u987b\u4ee5\u975e\u6570\u5b57\u5f00\u5934
-user.password.not.valid=* 5-50\u4e2a\u5b57\u7b26
-user.email.not.valid=\u90ae\u7bb1\u683c\u5f0f\u9519\u8bef
-user.mobile.phone.number.not.valid=\u624b\u673a\u53f7\u683c\u5f0f\u9519\u8bef
-user.login.success=\u767b\u5f55\u6210\u529f\u6210\u679c
-user.register.success=\u6ce8\u518c\u6210\u529f
-user.notfound=\u8bf7\u91cd\u65b0\u767b\u5f55
-user.forcelogout=\u7ba1\u7406\u5458\u5f3a\u5236\u9000\u51fa\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55
-user.unknown.error=\u672a\u77e5\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55
-##\u6587\u4ef6\u4e0a\u4f20\u6d88\u606f
-upload.exceed.maxSize=\u4e0a\u4f20\u7684\u6587\u4ef6\u5927\u5c0f\u8d85\u51fa\u9650\u5236\u7684\u6587\u4ef6\u5927\u5c0f\uff01
\u5141\u8bb8\u7684\u6587\u4ef6\u6700\u5927\u5927\u5c0f\u662f\uff1a{0}MB\uff01
-upload.filename.exceed.length=\u4e0a\u4f20\u7684\u6587\u4ef6\u540d\u6700\u957f{0}\u4e2a\u5b57\u7b26
-##\u6743\u9650
-no.permission=\u60a8\u6ca1\u6709\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-no.create.permission=\u60a8\u6ca1\u6709\u521b\u5efa\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-no.update.permission=\u60a8\u6ca1\u6709\u4fee\u6539\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-no.delete.permission=\u60a8\u6ca1\u6709\u5220\u9664\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-no.export.permission=\u60a8\u6ca1\u6709\u5bfc\u51fa\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-no.view.permission=\u60a8\u6ca1\u6709\u67e5\u770b\u6570\u636e\u7684\u6743\u9650\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6dfb\u52a0\u6743\u9650 [{0}]
-apl.common.M00001={0}\u6dfb\u52a0\u6210\u529f
-apl.common.M00002={0}\u4fdd\u5b58\u6210\u529f
-apl.common.M00003={0}\u5df2\u7ecf\u5b58\u5728
-apl.common.M00004={0}\u64cd\u4f5c\u6210\u529f
-apl.common.M00005={0}\u5220\u9664\u6210\u529f
-apl.common.M00006=\u64cd\u4f5c\u5931\u8d25,\u8be5\u6570\u636e\u5df2\u88ab\u4ed6\u4eba\u5220\u9664,\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5
-apl.common.M00007=\u64cd\u4f5c\u5931\u8d25,\u8be5\u6570\u636e\u5df2\u88ab\u4ed6\u4eba\u66f4\u6539,\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5
-apl.common.M00008=\u8bf7\u52ff\u91cd\u590d\u63d0\u4ea4
-apl.common.M00009=\u67e5\u8be2\u6210\u529f
-apl.common.M00010=\u64cd\u4f5c\u5931\u8d25,\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458
-apl.chargeRefund.M00001=\u8be5\u6536\u8d39\u5355\u76f8\u5173{0}\u5df2\u7ecf\u53d1\u51fa\uff0c\u8bf7\u5148\u9000\u836f\u540e\u518d\u8fdb\u884c\u9000\u8d39
-apl.payment.M00001=\u5404\u7f34\u8d39\u6e20\u9053\u5b9e\u6536\u91d1\u989d\u5408\u8ba1\u4e0d\u7b49\u4e8e\u5b9e\u6536\u91d1\u989d
-apl.payment.M00002=\u5b9e\u6536\u91d1\u989d\u5408\u8ba1\u4e0d\u7b49\u4e8e\u5e94\u6536\u91d1\u989d
-apl.payment.M00003=\u8bf7\u9009\u62e9\u652f\u4ed8\u65b9\u5f0f
-apl.payment.M00004=\u67e5\u8be2\u6210\u529f
-apl.payment.M00005=\u64cd\u4f5c\u5931\u8d25,\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458
-apl.payment.M00006=\u6210\u529f\u6536\u8d39
-apl.payment.M00007=\u672a\u67e5\u8be2\u5230\u6536\u8d39\u9879\u76ee
-apl.payment.M00008=\u672a\u67e5\u8be2\u5230{0}\u8d26\u6237\u4fe1\u606f
-apl.payment.M00009=\u672a\u67e5\u8be2\u5230\u6536\u8d39\u9879\u76ee\uff0c\u4e0d\u9700\u8981\u8f6c\u6362\u8d26\u6237
-apl.adjustPrice.M00001=\u6267\u884c\u5931\u8d25\uff0c\u672a\u52a0\u8f7d\u5230\u4efb\u4f55\u6570\u636e\uff01
-apl.adjustPrice.M00002=\u6267\u884c\u5931\u8d25\uff0c\u6539\u4ef7\u5355\u4e2d\u6709\u6b63\u5728\u5ba1\u6838\u4e2d\u7684\u8d27\u54c1\uff0c\u8bf7\u68c0\u67e5\u540e\u91cd\u65b0\u63d0\u4ea4\uff01
\ No newline at end of file
diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/appointmentmanage/DoctorScheduleMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/appointmentmanage/DoctorScheduleMapper.xml
new file mode 100644
index 00000000..f927eefc
--- /dev/null
+++ b/openhis-server-new/openhis-application/src/main/resources/mapper/appointmentmanage/DoctorScheduleMapper.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ INSERT INTO adm_doctor_schedule (
+ weekday,
+ time_period,
+ doctor,
+ clinic,
+ start_time,
+ end_time,
+ limit_number,
+ call_sign_record,
+ register_item,
+ register_fee,
+ diagnosis_item,
+ diagnosis_fee,
+ is_online,
+ is_stopped,
+ stop_reason,
+ dept_id
+ , create_time
+ , update_time
+ ) VALUES (
+ #{weekday},
+ #{timePeriod},
+ #{doctor},
+ #{clinic},
+ #{startTime},
+ #{endTime},
+ #{limitNumber},
+ #{callSignRecord},
+ #{registerItem},
+ #{registerFee},
+ #{diagnosisItem},
+ #{diagnosisFee},
+ #{isOnline},
+ #{isStopped},
+ #{stopReason},
+ #{deptId}
+ , #{createTime}
+ , #{updateTime}
+ )
+
+
+
+
diff --git a/openhis-ui-vue3/src/views/doctorstation/index.vue b/openhis-ui-vue3/src/views/doctorstation/index.vue
index b65e4d6c..db3cfcd3 100644
--- a/openhis-ui-vue3/src/views/doctorstation/index.vue
+++ b/openhis-ui-vue3/src/views/doctorstation/index.vue
@@ -81,11 +81,11 @@
{{
Object.keys(patientInfo).length !== 0
? patientInfo.patientName +
- ' / ' +
- patientInfo.age +
- ' / ' +
- patientInfo.genderEnum_enumText +
- ' / ' +
+ ' / ' +
+ patientInfo.age +
+ ' / ' +
+ patientInfo.genderEnum_enumText +
+ ' / ' +
(patientInfo?.contractName ? patientInfo.contractName : '') +
'/' +
patientInfo.phone +
@@ -137,9 +137,9 @@
:patientInfo="patientInfo"
ref="emrRef"
@save="
- (value) => {
- saveStatus = value;
- }
+ (value) => {
+ saveStatus = value;
+ }
"
/>
-->
@@ -430,10 +430,10 @@ function getEnPrescription(encounterId) {
type: 'error',
message: '暂无处方单',
});
- return;
- }
+ return;
+ }
prescriptionInfo.value = res.data.records;
- openPrescriptionDialog.value = true;
+ openPrescriptionDialog.value = true;
});
}
@@ -540,7 +540,7 @@ const onHospitalization = async () => {
ElMessage({
type: 'error',
message: '该患者,已办理入院,不允许重复办理',
- });
+ });
}
};
diff --git a/openhis-ui-vue3/src/views/inpatientNurse/drugDistribution/drugDistributionList.vue b/openhis-ui-vue3/src/views/inpatientNurse/drugDistribution/drugDistributionList.vue
index 2856f15b..83538ddf 100644
--- a/openhis-ui-vue3/src/views/inpatientNurse/drugDistribution/drugDistributionList.vue
+++ b/openhis-ui-vue3/src/views/inpatientNurse/drugDistribution/drugDistributionList.vue
@@ -23,6 +23,7 @@
+
diff --git a/openhis-ui-vue3/src/views/triageandqueuemanage/api.js b/openhis-ui-vue3/src/views/triageandqueuemanage/api.js
index 4c48b29e..2b20d4fe 100644
--- a/openhis-ui-vue3/src/views/triageandqueuemanage/api.js
+++ b/openhis-ui-vue3/src/views/triageandqueuemanage/api.js
@@ -24,4 +24,104 @@ export function updateCallNumberVoiceConfig(data) {
method: 'put',
data: data
})
+}
+
+// 分诊排队管理相关API
+// 获取智能候选池(已签到未入队)
+export function getCandidatePool(params) {
+ return request({
+ url: '/triage/queue/candidatePool',
+ method: 'get',
+ params: params,
+ skipErrorMsg: true // 跳过错误提示,由组件处理
+ }).catch(() => {
+ // 返回一个 rejected promise,让组件可以捕获
+ return Promise.reject(new Error('API未实现'))
+ })
+}
+
+// 获取智能队列(当前队列)
+export function getQueueList(params) {
+ return request({
+ url: '/triage/queue/list',
+ method: 'get',
+ params: params,
+ skipErrorMsg: true // 跳过错误提示,由组件处理
+ }).catch(() => {
+ // 返回一个 rejected promise,让组件可以捕获
+ return Promise.reject(new Error('API未实现'))
+ })
+}
+
+// 获取统计信息
+export function getQueueStatistics(params) {
+ return request({
+ url: '/triage/queue/statistics',
+ method: 'get',
+ params: params,
+ skipErrorMsg: true // 跳过错误提示,由组件处理
+ }).catch(() => {
+ // 返回一个 rejected promise,让组件可以捕获
+ return Promise.reject(new Error('API未实现'))
+ })
+}
+
+// 将患者加入队列
+export function addToQueue(data) {
+ return request({
+ url: '/triage/queue/add',
+ method: 'post',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
+}
+
+// 调整队列顺序
+export function adjustQueueOrder(data) {
+ return request({
+ url: '/triage/queue/adjust',
+ method: 'put',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
+}
+
+// 叫号控制
+export function callPatient(data) {
+ return request({
+ url: '/triage/queue/call',
+ method: 'post',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
+}
+
+// 跳过患者
+export function skipPatient(data) {
+ return request({
+ url: '/triage/queue/skip',
+ method: 'post',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
+}
+
+// 完成叫号
+export function completeCall(data) {
+ return request({
+ url: '/triage/queue/complete',
+ method: 'post',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
+}
+
+// 过号重排
+export function requeuePatient(data) {
+ return request({
+ url: '/triage/queue/requeue',
+ method: 'post',
+ data: data,
+ skipErrorMsg: true
+ }).catch(() => Promise.reject(new Error('API未实现')))
}
\ No newline at end of file
diff --git a/迁移记录-DB变更记录/202512251200 add_table adm_doctor_schedule.sql b/迁移记录-DB变更记录/202512251200 add_table adm_doctor_schedule.sql
new file mode 100644
index 00000000..175bfd84
--- /dev/null
+++ b/迁移记录-DB变更记录/202512251200 add_table adm_doctor_schedule.sql
@@ -0,0 +1,57 @@
+-- adm_doctor_schedule definition
+
+-- Drop table
+
+-- DROP TABLE adm_doctor_schedule;
+
+CREATE TABLE adm_doctor_schedule (
+ id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
+ weekday VARCHAR(50) NULL,
+ time_period VARCHAR(50) NULL,
+ doctor VARCHAR(100) NULL,
+ clinic VARCHAR(100) NULL,
+ start_time TIME NULL,
+ end_time TIME NULL,
+ limit_number INTEGER NULL,
+ call_sign_record VARCHAR(500) NOT NULL DEFAULT '',
+ register_item VARCHAR(200) NULL,
+ register_fee INTEGER NULL,
+ diagnosis_item VARCHAR(200) NULL,
+ diagnosis_fee INTEGER NULL,
+ is_online BOOLEAN NULL,
+ is_stopped BOOLEAN NULL,
+ stop_reason VARCHAR(500) NULL,
+ dept_id INTEGER NULL,
+ create_time TIMESTAMPTZ(6) NULL,
+ update_time TIMESTAMPTZ(6) NULL
+);
+
+COMMENT ON TABLE adm_doctor_schedule IS '医生排班表';
+
+-- Column comments
+
+COMMENT ON COLUMN adm_doctor_schedule.id IS '主键ID(GENERATED ALWAYS)';
+COMMENT ON COLUMN adm_doctor_schedule.weekday IS '星期';
+COMMENT ON COLUMN adm_doctor_schedule.time_period IS '时段(上午/下午)';
+COMMENT ON COLUMN adm_doctor_schedule.doctor IS '医生姓名';
+COMMENT ON COLUMN adm_doctor_schedule.clinic IS '诊室';
+COMMENT ON COLUMN adm_doctor_schedule.start_time IS '开始时间';
+COMMENT ON COLUMN adm_doctor_schedule.end_time IS '结束时间';
+COMMENT ON COLUMN adm_doctor_schedule.limit_number IS '限号数量';
+COMMENT ON COLUMN adm_doctor_schedule.call_sign_record IS '号源记录';
+COMMENT ON COLUMN adm_doctor_schedule.register_item IS '挂号项目';
+COMMENT ON COLUMN adm_doctor_schedule.register_fee IS '挂号费';
+COMMENT ON COLUMN adm_doctor_schedule.diagnosis_item IS '诊查项目';
+COMMENT ON COLUMN adm_doctor_schedule.diagnosis_fee IS '诊疗费';
+COMMENT ON COLUMN adm_doctor_schedule.is_online IS '是否线上挂号';
+COMMENT ON COLUMN adm_doctor_schedule.is_stopped IS '是否停诊';
+COMMENT ON COLUMN adm_doctor_schedule.stop_reason IS '停诊原因';
+COMMENT ON COLUMN adm_doctor_schedule.dept_id IS '关联科室ID';
+COMMENT ON COLUMN adm_doctor_schedule.create_time IS '创建时间';
+COMMENT ON COLUMN adm_doctor_schedule.update_time IS '更新时间';
+
+-- 插入迁移记录
+INSERT INTO __MigrationsHistory (MigrationId, ProductVersion)
+VALUES ('202512251200 add_table adm_doctor_schedule', '1.0.0');
+
+