512 lines
17 KiB
TypeScript
512 lines
17 KiB
TypeScript
import request from '@/utils/request'
|
||
|
||
// 中医诊单列表
|
||
export function tcmDiagnosisLists(params: any) {
|
||
return request.get({ url: '/tcm.diagnosis/lists', params })
|
||
}
|
||
|
||
/** 二诊只读病例详情(T1+T2):返回 appointment + diagnosis + 未服务天数(不含跟踪记录) */
|
||
export function diagnosisReadonlyDetail(params: { id: number }) {
|
||
return request.get({ url: '/tcm.diagnosis/readonlyDetail', params })
|
||
}
|
||
|
||
/** 跟踪信息(血糖血压 / 饮食 / 运动)按日期区间 lazy load — 由 TrackingMatrix 调用 */
|
||
export function diagnosisTrackingWindow(params: {
|
||
id: number
|
||
start_date?: string
|
||
end_date?: string
|
||
}) {
|
||
return request.get({ url: '/tcm.diagnosis/trackingWindow', params })
|
||
}
|
||
|
||
// 医助理诊单统计(按部门、按人)
|
||
export function assistantDiagnosisStats(params?: {
|
||
start_time?: string
|
||
end_time?: string
|
||
days?: number
|
||
}) {
|
||
return request.get({ url: '/tcm.diagnosis/assistantDiagnosisStats', params })
|
||
}
|
||
|
||
// 添加中医诊单
|
||
export function tcmDiagnosisAdd(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/add', params })
|
||
}
|
||
|
||
// 编辑中医诊单
|
||
export function tcmDiagnosisEdit(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/edit', params })
|
||
}
|
||
|
||
// 删除中医诊单
|
||
export function tcmDiagnosisDelete(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/delete', params })
|
||
}
|
||
|
||
// 中医诊单详情
|
||
export function tcmDiagnosisDetail(params: any) {
|
||
return request.get({ url: '/tcm.diagnosis/detail', params })
|
||
}
|
||
|
||
/** 诊单挂号 / 取消挂号 操作日志 */
|
||
export function tcmDiagnosisGuahaoLogList(params: { id: number }) {
|
||
return request.get({ url: '/tcm.diagnosis/guahaoLogList', params })
|
||
}
|
||
|
||
// 检查手机号是否重复
|
||
export function checkPhone(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/checkPhone', params })
|
||
}
|
||
|
||
// 检查身份证号是否重复
|
||
export function checkIdCard(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/checkIdCard', params })
|
||
}
|
||
|
||
// 补全身份证号(自动更新年龄)
|
||
export function fillIdCard(params: { id: number; id_card: string }) {
|
||
return request.post({ url: '/tcm.diagnosis/fillIdCard', params })
|
||
}
|
||
|
||
// 指派医助
|
||
export function tcmDiagnosisAssign(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/assign', params })
|
||
}
|
||
|
||
export function tcmDiagnosisAssignLogList(params: { id: number }) {
|
||
return request.get({ url: '/tcm.diagnosis/assignLogList', params })
|
||
}
|
||
|
||
// 获取医助列表
|
||
export function getAssistants() {
|
||
return request.get({ url: '/tcm.diagnosis/getAssistants' })
|
||
}
|
||
|
||
// 获取医生列表
|
||
export function getDoctors() {
|
||
return request.get({ url: '/tcm.diagnosis/getDoctors' })
|
||
}
|
||
|
||
// ========== 血糖血压记录 ==========
|
||
|
||
// 添加血糖血压记录
|
||
export function bloodRecordAdd(params: any) {
|
||
return request.post({ url: '/tcm.bloodRecord/add', params })
|
||
}
|
||
|
||
// 编辑血糖血压记录
|
||
export function bloodRecordEdit(params: any) {
|
||
return request.post({ url: '/tcm.bloodRecord/edit', params })
|
||
}
|
||
|
||
// 删除血糖血压记录
|
||
export function bloodRecordDelete(params: any) {
|
||
return request.post({ url: '/tcm.bloodRecord/delete', params })
|
||
}
|
||
|
||
// 血糖血压记录详情
|
||
export function bloodRecordDetail(params: any) {
|
||
return request.get({ url: '/tcm.bloodRecord/detail', params })
|
||
}
|
||
|
||
// 获取患者的血糖血压记录列表
|
||
export function getRecordsByPatient(params: any) {
|
||
return request.get({ url: '/tcm.bloodRecord/getRecordsByPatient', params })
|
||
}
|
||
|
||
// 获取血糖趋势图数据
|
||
export function getBloodSugarTrend(params: any) {
|
||
return request.get({ url: '/tcm.bloodRecord/getBloodSugarTrend', params })
|
||
}
|
||
|
||
// ========== 饮食记录 ==========
|
||
|
||
// 添加饮食记录
|
||
export function dietRecordAdd(params: any) {
|
||
return request.post({ url: '/tcm.dietRecord/add', params })
|
||
}
|
||
|
||
// 编辑饮食记录
|
||
export function dietRecordEdit(params: any) {
|
||
return request.post({ url: '/tcm.dietRecord/edit', params })
|
||
}
|
||
|
||
// 删除饮食记录
|
||
export function dietRecordDelete(params: any) {
|
||
return request.post({ url: '/tcm.dietRecord/delete', params })
|
||
}
|
||
|
||
// 饮食记录详情
|
||
export function dietRecordDetail(params: any) {
|
||
return request.get({ url: '/tcm.dietRecord/detail', params })
|
||
}
|
||
|
||
// 获取患者的饮食记录列表
|
||
export function getDietRecordsByPatient(params: any) {
|
||
return request.get({ url: '/tcm.dietRecord/getRecordsByPatient', params })
|
||
}
|
||
|
||
// ========== 运动记录 ==========
|
||
|
||
// 添加运动记录
|
||
export function exerciseRecordAdd(params: any) {
|
||
return request.post({ url: '/tcm.exerciseRecord/add', params })
|
||
}
|
||
|
||
// 编辑运动记录
|
||
export function exerciseRecordEdit(params: any) {
|
||
return request.post({ url: '/tcm.exerciseRecord/edit', params })
|
||
}
|
||
|
||
// 删除运动记录
|
||
export function exerciseRecordDelete(params: any) {
|
||
return request.post({ url: '/tcm.exerciseRecord/delete', params })
|
||
}
|
||
|
||
// 运动记录详情
|
||
export function exerciseRecordDetail(params: any) {
|
||
return request.get({ url: '/tcm.exerciseRecord/detail', params })
|
||
}
|
||
|
||
// 获取患者的运动记录列表
|
||
export function getExerciseRecordsByPatient(params: any) {
|
||
return request.get({ url: '/tcm.exerciseRecord/getRecordsByPatient', params })
|
||
}
|
||
|
||
// 获取运动趋势图数据
|
||
export function getExerciseTrend(params: any) {
|
||
return request.get({ url: '/tcm.exerciseRecord/getExerciseTrend', params })
|
||
}
|
||
|
||
// ========== 音视频通话 ==========
|
||
|
||
// 获取通话签名(忽略取消令牌,避免 open + 会话切换 watch 重复请求互斥取消)
|
||
export function getCallSignature(params: any) {
|
||
return request.post(
|
||
{ url: '/tcm.diagnosis/getCallSignature', params },
|
||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||
)
|
||
}
|
||
|
||
// 发起通话
|
||
export function startCall(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/startCall', params })
|
||
}
|
||
|
||
// 结束通话(忽略取消令牌:idle / afterCalling 可能并发触发相同请求体)
|
||
export function endCall(params: any) {
|
||
return request.post(
|
||
{ url: '/tcm.diagnosis/endCall', params },
|
||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||
)
|
||
}
|
||
|
||
// 获取通话记录
|
||
export function getCallRecords(params: any) {
|
||
return request.get({ url: '/tcm.diagnosis/getCallRecords', params })
|
||
}
|
||
|
||
// 将 TRTC 房间号写入通话记录(与云端录制回调 room 关联)
|
||
export function bindCallRoom(params: { diagnosis_id: number; room_id: string }) {
|
||
return request.post({ url: '/tcm.diagnosis/bindCallRoom', params })
|
||
}
|
||
|
||
/** 医生接通并绑定房间后:发起腾讯云云端混流录制 */
|
||
export function startCloudRecording(params: { diagnosis_id: number }) {
|
||
return request.post({ url: '/tcm.diagnosis/startCloudRecording', params })
|
||
}
|
||
|
||
/** 本地录制完成后,将已上传视频的访问地址写入通话记录(忽略取消令牌,避免与其它 POST 互斥取消) */
|
||
export function attachLocalCallRecording(params: { diagnosis_id: number; file_url: string }) {
|
||
return request.post(
|
||
{ url: '/tcm.diagnosis/attachLocalCallRecording', params },
|
||
{ ignoreCancelToken: true, isOpenRetry: false }
|
||
)
|
||
}
|
||
|
||
/** 医助旁观当前进行中的视频通话(进房参数,Web TRTC 只拉流) */
|
||
export function getAssistantWatchCallParams(params: { diagnosis_id: number }) {
|
||
return request.get({ url: '/tcm.diagnosis/watchCall', params })
|
||
}
|
||
|
||
// ========== 小程序分享 ==========
|
||
|
||
// 生成小程序码
|
||
export function generateMiniProgramQrcode(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/generateMiniProgramQrcode', params })
|
||
}
|
||
|
||
// 生成订单小程序码
|
||
export function generateOrderQrcode(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/generateOrderQrcode', params })
|
||
}
|
||
|
||
// ========== IM / 企业微信聊天记录 ==========
|
||
|
||
/** 腾讯云 IM 单聊漫游消息(诊单维度:患者 patient_* 与医生 doctor_*) */
|
||
export function getImChatMessages(params: { diagnosis_id: number; only_archived?: 0 | 1 }) {
|
||
return request.get({ url: '/tcm.diagnosis/getImChatMessages', params })
|
||
}
|
||
|
||
// 获取企业微信聊天记录
|
||
export function getWechatChatRecords(params: any) {
|
||
return request.get({ url: '/tcm.diagnosis/getWechatChatRecords', params })
|
||
}
|
||
|
||
// 添加企业微信聊天记录
|
||
export function addWechatChatRecord(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/addWechatChatRecord', params })
|
||
}
|
||
|
||
// 删除企业微信聊天记录
|
||
export function deleteWechatChatRecord(params: any) {
|
||
return request.post({ url: '/tcm.diagnosis/deleteWechatChatRecord', params })
|
||
}
|
||
|
||
// 获取企业微信外部联系人信息
|
||
export function getWechatExternalContact(params: any) {
|
||
return request.get({ url: '/tcm.diagnosis/getWechatExternalContact', params })
|
||
}
|
||
|
||
// 获取会话内容存档开启的成员列表
|
||
export function getMsgAuditPermitUsers() {
|
||
return request.get({ url: '/tcm.diagnosis/getMsgAuditPermitUsers' })
|
||
}
|
||
|
||
// ========== 中医处方单 ==========
|
||
|
||
// 处方列表
|
||
export function prescriptionLists(params: any) {
|
||
return request.get({ url: '/tcm.prescription/lists', params })
|
||
}
|
||
|
||
// 添加处方
|
||
export function prescriptionAdd(params: any) {
|
||
return request.post({ url: '/tcm.prescription/add', params })
|
||
}
|
||
|
||
// 编辑处方
|
||
export function prescriptionEdit(params: any) {
|
||
return request.post({ url: '/tcm.prescription/edit', params })
|
||
}
|
||
|
||
// 删除处方
|
||
export function prescriptionDelete(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescription/delete', params })
|
||
}
|
||
|
||
// 处方详情
|
||
export function prescriptionDetail(params: { id: number }) {
|
||
return request.get({ url: '/tcm.prescription/detail', params })
|
||
}
|
||
|
||
// 根据诊单获取处方列表
|
||
export function prescriptionListByDiagnosis(params: { diagnosis_id: number }) {
|
||
return request.get({ url: '/tcm.prescription/listByDiagnosis', params })
|
||
}
|
||
|
||
// 根据预约获取处方
|
||
export function prescriptionGetByAppointment(params: { appointment_id: number }) {
|
||
return request.get({ url: '/tcm.prescription/getByAppointment', params })
|
||
}
|
||
|
||
// 作废处方
|
||
export function prescriptionVoid(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescription/void', params })
|
||
}
|
||
|
||
/** 处方审核:action approve | reject(驳回同时作废处方) */
|
||
export function prescriptionAudit(params: {
|
||
id: number
|
||
action: 'approve' | 'reject'
|
||
remark?: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescription/audit', params })
|
||
}
|
||
|
||
// ========== 处方业务订单(履约单,非支付单 zyt_order) ==========
|
||
|
||
export function prescriptionOrderCreate(params: Record<string, unknown>) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/create', params })
|
||
}
|
||
|
||
export function prescriptionOrderLists(params: any) {
|
||
return request.get({ url: '/tcm.prescriptionOrder/lists', params })
|
||
}
|
||
|
||
/**
|
||
* 诊单下可关联的支付单(已支付 zyt_order;已占用且未撤回的会排除;编辑时传 prescription_order_id 保留当前单已选)。
|
||
* 服务端仅返回创建时间在 2026-04-20(含)之后的支付单;编辑时本单已关联的旧单仍会出现在列表中。
|
||
*/
|
||
export function prescriptionOrderPaidPayOrders(params: {
|
||
diagnosis_id: number
|
||
prescription_order_id?: number
|
||
}) {
|
||
return request.get({ url: '/tcm.prescriptionOrder/paidPayOrders', params })
|
||
}
|
||
|
||
export function prescriptionOrderWithdraw(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/withdraw', params })
|
||
}
|
||
|
||
/** 业务订单物流轨迹(快递100 + 顺丰/京东官网链接) */
|
||
export function prescriptionOrderLogisticsTrace(params: {
|
||
id: number
|
||
express_company?: string
|
||
/** 顺丰等:收件电话(建议完整 11 位,与面单一致;至少后 4 位) */
|
||
phone_tail?: string
|
||
}) {
|
||
return request.get({ url: '/tcm.prescriptionOrder/logisticsTrace', params })
|
||
}
|
||
|
||
export function prescriptionOrderDetail(params: { id: number }) {
|
||
return request.get({ url: '/tcm.prescriptionOrder/detail', params })
|
||
}
|
||
|
||
export function prescriptionOrderEdit(params: Record<string, unknown>) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/edit', params })
|
||
}
|
||
|
||
/** 业务订单详情:仅修改关联处方的患者姓名与手机号 */
|
||
export function prescriptionOrderPatchPrescriptionPatient(params: {
|
||
id: number
|
||
patient_name: string
|
||
phone: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/patchPrescriptionPatient', params })
|
||
}
|
||
|
||
export function prescriptionOrderAuditPrescription(params: {
|
||
id: number
|
||
action: 'approve' | 'reject'
|
||
remark?: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/auditPrescription', params })
|
||
}
|
||
|
||
export function prescriptionOrderAuditPayment(params: {
|
||
id: number
|
||
action: 'approve' | 'reject'
|
||
remark?: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/auditPayment', params })
|
||
}
|
||
|
||
/** 撤回处方审核 */
|
||
export function prescriptionOrderRevokeRxAudit(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/revokeRxAudit', params })
|
||
}
|
||
|
||
/** 撤回支付单审核 */
|
||
export function prescriptionOrderRevokePayAudit(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/revokePayAudit', params })
|
||
}
|
||
|
||
/** 确认发货:将 fulfillment_status 从 2(履约中)推进到 5(已发货) */
|
||
export function prescriptionOrderShip(params: {
|
||
id: number
|
||
ship_mode?: 'gancao' | 'direct'
|
||
express_company: string
|
||
tracking_number: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/ship', params })
|
||
}
|
||
|
||
/** 为「已发货」订单新增支付单并重置支付审核为待审核 */
|
||
export function prescriptionOrderAddPayOrder(params: {
|
||
id: number
|
||
order_type: number
|
||
pay_amount: number
|
||
pay_remark?: string
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/addPayOrder', params })
|
||
}
|
||
|
||
/** 为「已发货」订单关联已有支付单并重置支付审核为待审核 */
|
||
export function prescriptionOrderLinkPayOrder(params: { id: number; pay_order_id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/linkPayOrder', params })
|
||
}
|
||
|
||
/** 将「已发货/已签收」且支付审核通过的订单结案(3=已完成 或 7-12 业务状态) */
|
||
export function prescriptionOrderComplete(params: { id: number; fulfillment_status: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/complete', params })
|
||
}
|
||
|
||
/** 甘草药管家:中药处方下单(服务端 CTM_PREVIEW → CTM_SUBMIT_RECIPEL) */
|
||
export function prescriptionOrderSubmitGancaoRecipel(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/submitGancaoRecipel', params })
|
||
}
|
||
|
||
/** 甘草药管家:预下单测试(仅 CTM_PREVIEW,不提交订单) */
|
||
export function prescriptionOrderPreviewGancaoRecipel(params: {
|
||
id: number
|
||
dose_count?: number
|
||
medication_days?: number
|
||
}) {
|
||
return request.post({ url: '/tcm.prescriptionOrder/previewGancaoRecipel', params })
|
||
}
|
||
|
||
/** 订单操作日志 */
|
||
export function prescriptionOrderLogs(params: { id: number }) {
|
||
return request.get({ url: '/tcm.prescriptionOrder/logs', params })
|
||
}
|
||
|
||
// ========== 处方库 ==========
|
||
|
||
// 处方库列表
|
||
export function prescriptionLibraryLists(params: any) {
|
||
return request.get({ url: '/tcm.prescriptionLibrary/lists', params })
|
||
}
|
||
|
||
// 添加处方库
|
||
export function prescriptionLibraryAdd(params: any) {
|
||
return request.post({ url: '/tcm.prescriptionLibrary/add', params })
|
||
}
|
||
|
||
// 编辑处方库
|
||
export function prescriptionLibraryEdit(params: any) {
|
||
return request.post({ url: '/tcm.prescriptionLibrary/edit', params })
|
||
}
|
||
|
||
// 删除处方库
|
||
export function prescriptionLibraryDelete(params: { id: number }) {
|
||
return request.post({ url: '/tcm.prescriptionLibrary/delete', params })
|
||
}
|
||
|
||
// 处方库详情
|
||
export function prescriptionLibraryDetail(params: { id: number }) {
|
||
return request.get({ url: '/tcm.prescriptionLibrary/detail', params })
|
||
}
|
||
|
||
// ========== 诊单待办事项(T5) ==========
|
||
|
||
/** 待办列表(按 diagnosis_id) */
|
||
export function diagnosisTodoLists(params: {
|
||
diagnosis_id: number
|
||
page_no?: number
|
||
page_size?: number
|
||
status?: number
|
||
creator_id?: number
|
||
}) {
|
||
return request.get({ url: '/tcm.diagnosisTodo/lists', params })
|
||
}
|
||
|
||
/** 新增待办(remind_time 为 unix 秒级时间戳) */
|
||
export function diagnosisTodoAdd(params: {
|
||
diagnosis_id: number
|
||
content: string
|
||
remind_time: number
|
||
}) {
|
||
return request.post({ url: '/tcm.diagnosisTodo/add', params })
|
||
}
|
||
|
||
/** 取消待办(仅 status=0 / 创建人或超管) */
|
||
export function diagnosisTodoCancel(params: { id: number }) {
|
||
return request.post({ url: '/tcm.diagnosisTodo/cancel', params })
|
||
}
|
||
|
||
/** 待办详情 */
|
||
export function diagnosisTodoDetail(params: { id: number }) {
|
||
return request.get({ url: '/tcm.diagnosisTodo/detail', params })
|
||
}
|