根因: - 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 通过(无新增错误)
313 lines
6.1 KiB
JavaScript
Executable File
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,
|
|
});
|
|
}
|