Files
his/openhis-ui-vue3/src/views/doctorstation/components/api.js
wangjian963 882d63249c refactor(检验申请): 重构检验申请单生成逻辑,由后端统一处理
- 移除前端生成申请单号的逻辑,改为后端在保存时自动生成
- 申请日期由后端统一处理,前端实时显示当前时间
- 优化金额计算逻辑,确保后端重新计算防止篡改
- 增加废号处理机制,记录生成但保存失败的申请单号
- 简化前端代码,移除不必要的检查逻辑
2026-04-01 16:37:32 +08:00

1210 lines
24 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import request from '@/utils/request';
// 病历相关接口
/**
* 获取患者列表
*/
export function getList(queryParams) {
return request({
url: '/doctor-station/main/patient-info',
method: 'get',
params: queryParams,
});
}
/**
* 获取患者历史病历
*/
export function getEmrHistoryList(queryParams) {
return request({
url: '/doctor-station/emr/emr-page',
method: 'get',
params: queryParams,
});
}
/**
* 获取病历模板列表
*/
export function getEmrTemplateList(queryParams) {
return request({
url: '/doctor-station/emr/emr-template-page',
method: 'get',
params: queryParams,
});
}
/**
* 接诊
*/
export function receiveEncounter(encounterId) {
return request({
url: '/doctor-station/main/receive-encounter?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 暂离
*/
export function leaveEncounter(encounterId) {
return request({
url: '/doctor-station/main/leave-encounter?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 重新排序未到诊患者
*/
export const rearrangeMissedNumber = (encounterId) => {
return request({
url: '/doctor-station/main/rearrange-missed-encounter', // 对应Controller的路径
method: 'get', // 注意现有接口都是GET这里和后端保持一致
params: { encounterId } // GET请求用params传参
});
};
/**
* 完诊
*/
export function completeEncounter(params) {
return request({
url: '/doctor-station/main/complete-encounter',
method: 'post',
data: params,
});
}
/**
* 取消接诊
*/
export function cancelEncounter(encounterId, config = {}) {
return request({
url: '/doctor-station/main/cancel-encounter?encounterId=' + encounterId,
method: 'get',
...config
})
}
/**
* 保存病历
*/
export function saveEmr(data) {
return request({
url: '/doctor-station/emr/emr',
method: 'post',
data: data,
});
}
/**
* 删除病历模板
*/
export function deleteEmrTemplate(id) {
return request({
url: '/doctor-station/emr/emr-template?id=' + id,
method: 'delete',
});
}
/**
* 获取病历详情
*/
export function getEmrDetail(encounterId) {
return request({
url: '/doctor-station/emr/emr-detail?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 保存病历模板
*/
export function saveEmrTemplate(data) {
return request({
url: '/doctor-station/emr/emr-template',
method: 'post',
data: data,
});
}
/**
* 获取待写病历列表
*/
export function listPendingEmr(queryParams) {
return request({
url: '/doctor-station/pending-emr/pending-list',
method: 'get',
params: queryParams,
});
}
/**
* 获取待写病历数量
*/
export function getPendingEmrCount(doctorId) {
return request({
url: '/doctor-station/pending-emr/pending-count',
method: 'get',
params: { doctorId },
});
}
/**
* 检查患者是否需要写病历
*/
export function checkNeedWriteEmr(encounterId) {
return request({
url: '/doctor-station/pending-emr/need-write-emr',
method: 'get',
params: { encounterId },
});
}
// 诊断相关接口
/**
* 保存诊断
*/
export function saveDiagnosis(data) {
return request({
url: '/doctor-station/diagnosis/save-doctor-diagnosisnew',
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 getDiagnosisListEle(searchKey,encounterId) {
return request({
url: '/doctor-station/diagnosis/get-encounter-diagnosis-ele?searchKey=' + searchKey+'&encounterId='+encounterId,
method: 'get',
});
}
/**
*
* 获取诊断集合数据
*/
export function getDiagnosisList(searchKey) {
return request({
url: '/doctor-station/diagnosis/get-diagnosis-list?searchKey=' + searchKey,
method: 'get',
});
}
/**
*
* 删除就诊诊断
*/
export function delEncounterDiagnosis(conditionId) {
return request({
url: '/doctor-station/diagnosis/encounter-diagnosis?conditionId=' + conditionId,
method: 'delete',
});
}
// 处方相关接口
/**
* 获取药品列表
*/
export function getAdviceBaseInfo(queryParams) {
return request({
url: '/doctor-station/advice/advice-base-info',
method: 'get',
params: queryParams,
});
}
/**
* 获取耗材目录列表
*/
export function getDeviceList(queryParams) {
return request({
url: '/data-dictionary/device/information-page',
method: 'get',
params: queryParams
})
}
/**
* 保存处方(单条)
*/
export function savePrescription(data) {
return request({
url: '/doctor-station/advice/save-advice',
method: 'post',
data: data,
});
}
/**
* 签发处方
*/
export function savePrescriptionSign(data) {
return request({
url: '/doctor-station/advice/sign-advice',
method: 'post',
data: data,
});
}
/**
* 处方签退
*/
export function singOut(data) {
return request({
url: '/doctor-station/advice/sign-off',
method: 'post',
data: data,
});
}
/**
* 获取患者本次就诊处方
*/
export function getPrescriptionList(encounterId) {
return request({
url: '/doctor-station/advice/request-base-info?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 获取科室列表
*/
export function getOrgTree() {
return request({
url: '/base-data-manage/organization/organization',
method: 'get',
});
}
/**
* 获取退费账单
*/
export function getEncounterPatientPayment(encounterId) {
return request({
url: '/charge-manage/refund/patient-payment?encounterId=' + encounterId,
method: 'get',
});
}
/**
* 申请退费
*/
export function refundPayment(data) {
return request({
url: '/charge-manage/refund/refund-payment',
method: 'post',
data: data,
});
}
// 电子处方相关接口
/**
* 电子处方查询
*/
export function getVeriPrescriptionInfo(queryParams) {
return request({
url: '/ybelep-request/get-PrescriptionInfo',
method: 'get',
params: queryParams,
});
}
// 处方开立相关接口
/**
* 获取全部药品信息
*/
export function getAllMedicationInfo(queryParams) {
return request({
url: '/doctor-station/elep/get-allMedicationInfo',
method: 'get',
params: queryParams,
});
}
// 当返回的list为空时在调用get-allMedicationInfo
export function getAllMedicationUsualInfo(queryParams) {
return request({
url: '/doctor-station/elep/get-allMedicationUsualInfo',
method: 'get',
params: queryParams,
});
}
/**
* 电子处方下拉框
*/
export function elepPrescriptionInit() {
return request({
url: '/doctor-station/elep/init',
method: 'get',
});
}
/**
* 获取处方信息
*/
export function getPrescriptionInfo(queryParams) {
return request({
url: '/doctor-station/elep/get-prescriptionInfo',
method: 'get',
params: queryParams,
});
}
/**
* 获取药品信息
*/
export function getMedicationInfo(queryParams) {
return request({
url: '/doctor-station/elep/get-medicationInfo',
method: 'get',
params: queryParams,
});
}
/**
* 获取单据号
*/
export function prescriptionNoInit() {
return request({
url: '/doctor-station/elep/prescriptionNoInit',
method: 'get',
});
}
/**
* 新增处方
*/
export function savePrescriptionInfo(data) {
return request({
url: '/doctor-station/elep/save-prescriptionInfo',
method: 'post',
data: data,
});
}
/**
* 修改处方
*/
export function updatePrescriptionInfo(data) {
return request({
url: '/doctor-station/elep/update-prescriptionInfo',
method: 'post',
data: data,
});
}
/**
* 删除处方
*/
export function deletePrescriptionInfo(data) {
return request({
url: '/doctor-station/elep/delete-prescriptionInfo',
method: 'post',
data: data,
});
}
/**
* 签发处方
*/
export function issuancePrescription(prescriptionNoList) {
return request({
url: '/doctor-station/elep/issuance-prescription',
method: 'post',
data: prescriptionNoList,
});
}
/**
* 获取医嘱历史数据
*/
export function getAdviceHistoryInfo(params) {
return request({
url: '/doctor-station/advice/request-history-info',
method: 'get',
params: params,
});
}
/**
* 组合/拆组
*/
export function updateGroupId(data) {
return request({
url: '/doctor-station/advice/update-groupid',
method: 'put',
data: data,
});
}
/**
* 组套列表
*/
export function getOrderGroupList(params) {
return request({
url: '/personalization/order-group/order-group',
method: 'get',
params: params,
});
}
/**
* 获取费用性质
*/
export function getContract(params) {
return request({
url: '/doctor-station/advice/get-encounter-contract',
method: 'get',
params: params,
});
}
/**
* 取得药品最新数据
*/
export function queryYbCatalogue(params) {
return request({
url: '/yb-request/query-yb-catalogue',
method: 'post',
params: params,
});
}
/**
* 获取人员慢性病诊断
*/
export function getChronicDisease(params) {
return request({
url: '/yb-request/getConditionDefinition',
method: 'get',
params: params,
});
}
/**
* 获取中药列表
*/
export function getTcmMedicine(params) {
return request({
url: '/doctor-station/chinese-medical/tcm-advice-base-info',
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 updateTcmDiagnosis(data) {
return request({
url: '/doctor-station/chinese-medical/update-tcm-diagnosis',
method: 'post',
data: data,
});
}
/**
* 删除中医诊断
*/
export function deleteTcmDiagnosis(syndromeGroupNo) {
return request({
url: '/doctor-station/chinese-medical/tcm-diagnosis?syndromeGroupNo=' + syndromeGroupNo,
method: 'delete',
});
}
/**
* 保存中医医嘱
*/
export function saveTcmAdvice(data) {
return request({
url: '/doctor-station/chinese-medical/save-tcm-advice',
method: 'post',
data: data,
});
}
/**
* 签发中医医嘱
*/
export function signTcmAdvice(data) {
return request({
url: '/doctor-station/chinese-medical/sign-tcm-advice',
method: 'post',
data: data,
});
}
/**
* 签退中医医嘱
*/
export function signOutTcmAdvice(data) {
return request({
url: '/doctor-station/chinese-medical/sign-tcm-off',
method: 'post',
data: data,
});
}
/**
* 获取本次就诊中医医嘱
*/
export function getTcmAdviceList(params) {
return request({
url: '/doctor-station/chinese-medical/tcm-request-base-info',
method: 'get',
params: params,
});
}
/**
* 获取预约记录
*/
export function getReservationInfo(params) {
return request({
url: '/doctor-station/reservation-record/reservation-info',
method: 'get',
params: params,
});
}
/**
* 新增预约记录
*/
export function addReservationInfo(data) {
return request({
url: '/doctor-station/reservation-record/save-reservation',
method: 'post',
data: data,
});
}
/**
* 修改预约记录
*/
export function editReservationInfo(data) {
return request({
url: '/doctor-station/reservation-record/edit-reservation',
method: 'put',
data: data,
});
}
/**
* 删除预约记录
*/
export function delReservationInfo(id) {
return request({
url: '/doctor-station/reservation-record/del-reservation',
method: 'delete',
params: id,
});
}
// 查询初期所需数据
export function getInit() {
return request({
url: '/charge-manage/register/init',
method: 'get',
});
}
/**
* 查询参与者下拉列表
*/
export function queryParticipantList(params) {
return request({
url: '/app-common/practitioner-list',
method: 'get',
params: params,
});
}
/**
* 获取科室下拉列表
*/
export function getOrgList() {
return request({
url: '/base-data-manage/organization/organization',
method: 'get',
});
}
/**
* 查询病区下拉列表
*/
export function wardList(params) {
return request({
url: '/app-common/ward-list',
method: 'get',
params: params,
});
}
/**
* 办理入院
*/
export function handleHospitalization(data) {
return request({
url: '/inhospital-charge/register/by-doctor',
method: 'post',
data: data,
});
}
/**
* 获取本次就诊处方单
*/
export function getEnPrescriptionInfo(data) {
return request({
url: '/doctor-station/main/prescription-page-info',
method: 'get',
params: data,
});
}
/**
* 获取组套列表
*/
export function getOrderGroup(data) {
return request({
url: '/personalization/orders-group-package/group-package-for-order',
method: 'get',
params: data,
});
}
/**
* 保存组套
* @param {Object} data - 组套数据,包含 rangeCode 字段
*/
export function saveOrderGroup(data) {
// 根据使用范围选择不同的接口
let url = '/personalization/orders-group-package/save-personal';
console.log('[saveOrderGroup] data.rangeCode:', data?.rangeCode);
if (data.rangeCode === 2) {
url = '/personalization/orders-group-package/save-organization';
} else if (data.rangeCode === 3) {
url = '/personalization/orders-group-package/save-hospital';
}
console.log('[saveOrderGroup] 使用的URL:', url);
return request({
url: url,
method: 'post',
data: data,
});
}
/**
* 删除组套
*/
export function deleteGroup(data) {
return request({
url: '/personalization/orders-group-package/group-package-detail?groupPackageId=' + data.groupPackageId,
method: 'delete',
});
}
/**
* 查询组套详情
*/
export function queryGroupDetail(data) {
return request({
url: '/personalization/orders-group-package/get-detail',
method: 'get',
params: data,
});
}
/**
* 查询项目绑定信息
*/
export function getBindDevice(data) {
return request({
url: '/doctor-station/advice/order-bind-info',
method: 'get',
params: data,
});
}
/**
* 是否是食源性诊断
*/
export function isFoodDiseasesNew(params) {
return request({
url: '/external-integration/foodborne-acquisition/is-food-diseases-new',
method: 'get',
params: params,
});
}
// 是否入院登记
export function isHospitalization(params) {
return request({
url: '/inhospital-charge/register/isRegister',
method: 'get',
params: params,
});
}
// 校验三十天内是否开过相同检查检验项目
export function checkServicesHistory(params) {
return request({
url: '/doctor-station/advice/proof-test-history',
method: 'get',
params: params,
});
}
/**
* 查询检验报告 url
*/
export function getProofResult(queryParams) {
return request({
url: '/doctor-station/advice/proof-result',
method: 'get',
params: queryParams,
});
}
/**
* 查询检查报告 url
*/
export function getTestResult(queryParams) {
return request({
url: '/doctor-station/advice/test-result',
method: 'get',
params: queryParams,
});
}
/**
* 分页查询检验申请单列表
* @param {Object} queryParams - 查询参数
* @param {number} queryParams.pageNo - 页码(可选,默认 1
* @param {number} queryParams.pageSize - 每页数量(可选,默认 10
* @param {string} queryParams.encounterId - 就诊 ID可选用于筛选特定就诊记录
* @returns {Promise} 分页数据 { code: 200, data: { records: Array, total: number } }
*/
export function getApplyList(queryParams) {
const params = {};
// 添加分页参数
if (queryParams && queryParams.pageNo !== undefined) {
params.pageNo = queryParams.pageNo;
}
if (queryParams && queryParams.pageSize !== undefined) {
params.pageSize = queryParams.pageSize;
}
// 添加就诊 ID 参数(可选)
if (queryParams && queryParams.encounterId) {
params.encounterId = queryParams.encounterId;
}
return request({
url: '/doctor-station/inspection/get-applyList',
method: 'get',
params: params,
});
}
/**
* 获取检验申请单列表
*/
export function getInspectionApplicationList(queryParams) {
// 确保参数有效
if (!queryParams || !queryParams.encounterId) {
console.warn('获取检验申请单列表时缺少必要参数 encounterId');
// 返回一个resolved的Promise模拟空数据
return Promise.resolve({
code: 200,
data: [],
message: '参数不足,返回空数据'
});
}
return request({
url: '/reg-doctorstation/request-form/get-inspection',
method: 'get',
params: queryParams,
});
}
/**
* 获取诊疗项目列表
*/
export function getDiagnosisTreatmentList(queryParams) {
return request({
url: '/data-dictionary/diagnosis-treatment/information-page',
method: 'get',
params: queryParams,
});
}
/**
* 保存检验申请单
*/
export function saveInspectionApplication(data) {
return request({
url: '/doctor-station/inspection/application',
method: 'post',
data: data,
});
}
/**
* 查询申请单号是否存在
*/
export function checkInspectionApplicationNo(applyNo){
// 如果申请单号为空返回一个rejected promise以避免向后端发送空值
if (!applyNo) {
console.debug('申请单号为空跳过API调用');
return Promise.resolve({
code: 200,
data: { exists: false },
message: '申请单号不存在'
});
}
return request({
url: '/doctor-station/inspection/apply-no',
method: 'get',
params: { applyNo: applyNo }, // 确保参数名为applyNo
});
}
/**
* 根据申请单号获取检验申请单详情
* @param {string} applyNo 申请单号
* @returns {Promise} { code: 200, data: DoctorStationLabApplyDto }
*/
export function getInspectionApplyDetail(applyNo) {
return request({
url: '/doctor-station/inspection/apply-no',
method: 'get',
params: { applyNo: applyNo },
});
}
/**
* 删除检验申请单
* @param {string} applyNo 申请单号
*/
export function deleteInspectionApplication(applyNo) {
return request({
url: '/doctor-station/inspection/apply/' + applyNo,
method: 'delete',
});
}
/**
* 分页获取检验类型列表(分类)
* @param {Object} queryParams - 查询参数
* @param {number} queryParams.pageNo - 页码
* @param {number} queryParams.pageSize - 每页数量
* @param {string} queryParams.searchKey - 搜索关键词
*/
export function getInspectionTypePage(queryParams) {
return request({
url: '/system/inspection-type/page',
method: 'get',
params: queryParams,
});
}
/**
* 获取检验类型列表(不分页,兼容旧接口)
* @deprecated 建议使用 getInspectionTypePage 分页接口
*/
export function getInspectionTypeList() {
return request({
url: '/system/inspection-type/list',
method: 'get',
});
}
/**
* 获取检验项目列表(从诊疗目录中筛选检验类项目)
* @param {Object} queryParams - 查询参数
* @param {string} queryParams.searchKey - 搜索关键词
* @param {number} queryParams.pageNo - 页码
* @param {number} queryParams.pageSize - 每页数量
* @param {string} queryParams.categoryCode - 目录类别编码(检验)
* @param {string} queryParams.inspectionTypeId - 检验类型ID列表多个用逗号分隔
*/
export function getInspectionItemList(queryParams) {
return request({
url: '/data-dictionary/diagnosis-treatment/information-page',
method: 'get',
params: queryParams,
});
}
// ========== 会诊相关接口 ==========
/**
* 获取会诊列表
*/
export function getConsultationList(queryParams) {
return request({
url: '/consultation/list',
method: 'get',
params: queryParams,
});
}
/**
* 保存会诊申请
*/
export function saveConsultation(data) {
return request({
url: '/consultation/save',
method: 'post',
data: data,
});
}
/**
* 提交会诊申请
*/
export function submitConsultation(queryParams) {
return request({
url: '/consultation/submit',
method: 'post',
params: queryParams,
});
}
/**
* 作废会诊申请
*/
export function cancelConsultation(queryParams) {
return request({
url: '/consultation/cancel',
method: 'post',
params: queryParams,
});
}
/**
* 结束会诊申请
*/
export function completeConsultation(consultationId) {
return request({
url: '/consultation/complete',
method: 'post',
params: { consultationId },
});
}
/**
* 获取科室医生树
*/
export function getDepartmentTree() {
return request({
url: '/consultation/departmentTree',
method: 'get',
});
}
/**
* 获取主诊断
*/
export function getMainDiagnosis(params) {
return request({
url: '/consultation/mainDiagnosis',
method: 'get',
params: params,
});
}
/**
* 获取会诊项目列表及价格
*/
export function getConsultationActivities() {
return request({
url: '/consultation/activities',
method: 'get',
});
}
/**
* 检查是否为传染病诊断
*/
export function checkInfectiousDisease(params) {
return request({
url: '/doctor-station/diagnosis/check-infectious-disease',
method: 'get',
params: params,
});
}
/**
* 获取下一个传染病报告卡编号
*/
export function getNextCardNo(orgCode) {
return request({
url: '/doctor-station/diagnosis/next-card-no',
method: 'get',
params: { orgCode },
});
}
/**
* 保存传染病报告卡
*/
export function saveInfectiousDiseaseReport(data) {
return request({
url: '/doctor-station/diagnosis/save-infectious-disease-report',
method: 'post',
data: data,
});
}
/**
* 根据卡片编号查询传染病报告卡
*/
export function getInfectiousCardByCardNo(cardNo) {
return request({
url: '/doctor-station/diagnosis/get-infectious-card/' + cardNo,
method: 'get',
});
}
/**
* 提交传染病报告卡(更新状态为已提交)
*/
export function submitInfectiousCard(cardNo) {
return request({
url: '/doctor-station/diagnosis/submit-infectious-card/' + cardNo,
method: 'put',
});
}
/**
* 查询传染病报告卡列表
*/
export function listInfectiousCards(params) {
return request({
url: '/doctor-station/diagnosis/list-infectious-cards',
method: 'get',
params: params,
});
}
/**
* 导出传染病报告卡列表
*/
export function exportInfectiousCards(data) {
return request({
url: '/doctor-station/diagnosis/export-infectious-cards',
method: 'post',
data: data,
});
}