Files
zyt/admin/src/api/tcm.ts
T
2026-04-30 14:04:12 +08:00

452 lines
15 KiB
TypeScript
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 tcmDiagnosisLists(params: any) {
return request.get({ url: '/tcm.diagnosis/lists', 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 }) {
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 })
}