Files
his/openhis-ui-vue3/src/views/inpatientDoctor/home/components/api.js
zhaoyun cdd05cbe0e fix(#593): 请修复 Bug #593:【住院医生工作站-临床医嘱】长期医嘱模块缺失取消停嘱功能
根因:
- Bug #请修复 Bug #593 存在的问题

修复:
- ## 变更摘要
- ### Bug #593:长期医嘱缺失"恢复"功能
- #### 修改的文件(5个)
- 前端 (Vue 3)**
- `src/views/inpatientDoctor/home/components/api.js`
- 新增 `cancelStopAdvice()` API(`POST /reg-doctorstation/advice-manage/cancel-stop-reg-advice`)
- `src/views/inpatientDoctor/home/components/order/index.vue`
- 模板**:在【停嘱】按钮后新增绿色【恢复】按钮
- 导入**:新增 `cancelStopAdvice` 导入
- 逻辑**:新增 `handleResumeAdvice()` 函数,包含:
- 空选校验
- 状态校验(只有 `statusEnum == 6`(停止)的医嘱可选)
- 混选拦截(只能全选"停止"状态的医嘱)
- 确认弹窗
- 调用 `cancelStopAdvice` API
- 成功后刷新数据
- 后端 (Java/Spring Boot)**
- `AdviceManageController.java`
- 新增 `POST /cancel-stop-reg-advice` 端点
- `IAdviceManageAppService.java`
- 新增 `cancelStopRegAdvice()` 接口方法
- `AdviceManageAppServiceImpl.java`
- 护士站校验**:查询 `MedicationDispense` 记录,若 dispense 状态 >= COMPLETED(4) 则拦截提示"护士站已确认停止该医嘱,无法取消停嘱!"
- 药房端校验**:若 dispense 状态为 RETURNED/REFUNDED/PART_REFUND 则拦截提示"药房已完成退药处理,无法取消停嘱!"
- 执行恢复**:将 `MedicationRequest.statusEnum` 恢复为 ACTIVE(2),清空 `effectiveDoseEnd`,将待退药/停止的 dispense 记录恢复为草稿/待配药状态
- 诊疗类医嘱同理恢复 `ServiceRequest` 状态
- #### 验证结果
-  后端编译通过
-  前端 lint 通过(无新增错误)
2026-05-29 00:53:03 +08:00

313 lines
6.1 KiB
JavaScript
Executable File

import request from '@/utils/request';
export function getPatientList(queryParams) {
return request({
url: '/reg-doctorstation/advice-manage/reg-patient-zk',
method: 'get',
params: queryParams,
});
}
// 诊断相关接口
/**
* 保存诊断
*/
export function saveDiagnosis(data) {
return request({
url: '/doctor-station/diagnosis/save-doctor-diagnosis',
method: 'post',
data: data,
});
}
/**
* 添加诊断绑定
*/
export function saveDiagnosisBind(data) {
return request({
url: '/doctor-station/diagnosis/diagnosis-belong-binding',
method: 'post',
data: data,
});
}
/**
* 删除诊断绑定
*/
export function deleteDiagnosisBind(id) {
return request({
url: '/doctor-station/diagnosis/diagnosis-belong-binding?id=' + id,
method: 'delete',
});
}
/**
* 获取诊断定义列表
*/
export function getDiagnosisDefinitionList(queryParams) {
return request({
url: '/doctor-station/diagnosis/condition-definition-metadata',
method: 'get',
params: queryParams,
});
}
/**
* 获取诊断分类数据,历史诊断/个人常用诊断/科室常用诊断
*/
export function getConditionDefinitionInfo(patientId) {
return request({
url: '/doctor-station/diagnosis/get-condition-definition-class?patientId=' + patientId,
method: 'get',
});
}
/**
* 获取诊断基础下拉数据
*/
export function diagnosisInit() {
return request({
url: '/doctor-station/diagnosis/init',
method: 'get',
});
}
/**
*
* 获取诊断回显数据
*/
export function getEncounterDiagnosis(encounterId) {
return request({
url: '/doctor-station/diagnosis/get-encounter-diagnosis?encounterId=' + encounterId,
method: 'get',
});
}
/**
*
* 删除就诊诊断
*/
export function delEncounterDiagnosis(conditionId) {
return request({
url: '/doctor-station/diagnosis/encounter-diagnosis?conditionId=' + conditionId,
method: 'delete',
});
}
/**
* 是否是食源性诊断
*/
export function isFoodDiseasesNew(params) {
return request({
url: '/external-integration/foodborne-acquisition/is-food-diseases-new',
method: 'get',
params: params
})
}
/**
* 获取中医诊断
*/
export function getTcmCondition(params) {
return request({
url: '/doctor-station/chinese-medical/condition-info',
method: 'get',
params: params,
});
}
/**
* 获取辩证分型
*/
export function getTcmSyndrome(params) {
return request({
url: '/doctor-station/chinese-medical/syndrome-info',
method: 'get',
params: params,
});
}
/**
* 获取本次就诊中医诊断
*/
export function getTcmDiagnosis(params) {
return request({
url: '/doctor-station/chinese-medical/get-tcm-encounter-diagnosis',
method: 'get',
params: params,
});
}
/**
* 保存中医诊断
*/
export function saveTcmDiagnosis(data) {
return request({
url: '/doctor-station/chinese-medical/save-tcm-diagnosis',
method: 'post',
data: data,
});
}
/**
* 获取人员慢性病诊断
*/
export function getChronicDisease(params) {
return request({
url: '/yb-request/getConditionDefinition',
method: 'get',
params: params,
});
}
/**
* 获取药品列表
*/
export function getAdviceBaseInfo(queryParams) {
return request({
url: '/doctor-station/advice/advice-base-info',
method: 'get',
params: queryParams,
});
}
/**
* 获取当前科室已配置的药品类别列表
*/
export function getConfiguredCategories(organizationId) {
// organizationId 为空时不发送该参数,避免后端 Long 类型转换 400 错误
const params = {};
if (organizationId !== undefined && organizationId !== null && organizationId !== '') {
params.organizationId = organizationId;
}
return request({
url: '/doctor-station/advice/configured-categories',
method: 'get',
params: params,
});
}
/**
* 保存处方(单条)
*/
export function savePrescription(data) {
return request({
url: '/reg-doctorstation/advice-manage/save-reg-advice',
method: 'post',
data: data,
});
}
/**
* 签发处方
*/
export function savePrescriptionSign(data) {
return request({
url: '/reg-doctorstation/advice-manage/sign-reg-advice',
method: 'post',
data: data,
});
}
/**
* 处方签退
*/
export function singOut(data) {
return request({
url: '/reg-doctorstation/advice-manage/sign-off-reg',
method: 'post',
data: data,
});
}
/**
* 停嘱
*/
export function stopAdvice(data) {
return request({
url: '/reg-doctorstation/advice-manage/stop-reg-advice',
method: 'post',
data: data,
});
}
/**
* 取消停嘱(恢复)
*/
export function cancelStopAdvice(data) {
return request({
url: '/reg-doctorstation/advice-manage/cancel-stop-reg-advice',
method: 'post',
data: data,
});
}
/**
* 获取患者本次就诊处方
*/
export function getPrescriptionList(encounterId) {
return request({
url: '/reg-doctorstation/advice-manage/reg-request-base-info?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 获取费用性质
*/
export function getContract(params) {
return request({
url: '/doctor-station/advice/get-encounter-contract',
method: 'get',
params: params,
});
}
/**
* 获取科室列表
*/
export function getOrgTree(params = {}) {
return request({
url: '/base-data-manage/organization/organization',
method: 'get',
params: { pageNo: 1, pageSize: 5000, ...params },
});
}
export function getEmrDetail(encounterId) {
return request({
url: '/doctor-station/emr/emr-detail?encounterId=' + encounterId,
method: 'get',
})
}
/**
* 组合/拆组
*/
export function updateGroupId(data) {
return request({
url: '/doctor-station/advice/update-groupid',
method: 'put',
data: data,
});
}
/**
* 查询项目绑定信息
*/
export function getBindDevice(data) {
return request({
url: '/doctor-station/advice/order-bind-info',
method: 'get',
params: data,
});
}
/**
* 出院
*/
export function leaveHospital(data) {
return request({
url: '/reg-doctorstation/special-advice/leave-hospital-orders',
method: 'post',
data: data,
});
}