Files
xk-doctor-wx/api/clinicAdmin.js

287 lines
9.3 KiB
JavaScript
Raw Normal View History

import { req } from '@/common/js/index.js';
const PREFIX = '/newApi/clinic-admin';
/** 解析 Laravel jok 或 Yii 响应 */
export function unwrapClinicRes(res) {
if (!res) return null;
// code 可能是 0 / "0"
if (Number(res.code) === 0 && res.result !== undefined) return res.result;
if (res.errcode != null && Number(res.errcode) !== -1) return res.data;
if (res.result !== undefined) return res.result;
return res.data != null ? res.data : res;
}
function clinicRequest(options) {
return req.request({
...options,
header: {
...(options.header || {}),
_clinicAdmin: '1',
},
}).then((res) => {
const data = unwrapClinicRes(res);
const ok = !!(res && (
Number(res.code) === 0
|| (res.errcode != null && Number(res.errcode) !== -1)
));
return { res, data, ok };
});
}
export function sendClinicAdminCode(phone) {
return req.request({
url: '/newApi/clinic-admin-auth/send-verification-code',
method: 'POST',
data: { account: phone },
header: { isToken: false, _clinicAdmin: '1' },
});
}
export function clinicAdminLogin(phone, password, code) {
return req.request({
url: '/newApi/clinic-admin-auth/login',
method: 'POST',
data: { account: phone, password, code },
header: { isToken: false, _clinicAdmin: '1' },
});
}
export function getClinicAdminMyInfo() {
return clinicRequest({ url: `${PREFIX}-auth/my-info`, method: 'GET' });
}
/** 个人中心 - 我的资料(xk-api GET clinic-admin-auth/my-profile,实时库数据) */
export function getClinicAdminMyProfile() {
return clinicRequest({ url: `${PREFIX}-auth/my-profile`, method: 'GET' });
}
/** 个人中心 - 修改资料(仅昵称/头像,xk-api POST clinic-admin-auth/update-my-profile) */
export function updateClinicAdminMyProfile(data) {
return clinicRequest({ url: `${PREFIX}-auth/update-my-profile`, method: 'POST', data });
}
/** 个人中心 - 修改登录密码(xk-api POST clinic-admin-auth/update-password) */
export function updateClinicAdminMyPassword(data) {
return clinicRequest({ url: `${PREFIX}-auth/update-password`, method: 'POST', data });
}
2026-06-05 12:28:36 +08:00
export function getClinicAdminStoreQr() {
return clinicRequest({ url: `${PREFIX}-auth/store-qr`, method: 'GET' });
}
/**
* 工作台看板统计(今日/本月订单、待发货、待审核提现、下单会员数)
* xk-api GET /clinic-admin-dashboard/stats
*/
export function getClinicAdminDashboardStats() {
return clinicRequest({ url: `${PREFIX}-dashboard/stats`, method: 'GET' });
}
/**
* 未来7天预约明细(工作台预约卡片点击弹层,本店维度)
* xk-api GET /clinic-admin-dashboard/appointment-upcoming-list
*/
export function getClinicAdminAppointmentUpcomingList(data) {
return clinicRequest({ url: `${PREFIX}-dashboard/appointment-upcoming-list`, method: 'GET', data });
}
/**
* 工作台功能入口下发(后台按角色分配的宫格入口,替代前端硬编码)
* xk-api GET /clinic-admin-dashboard/entries
*/
export function getClinicAdminWorkbenchEntries() {
return clinicRequest({ url: `${PREFIX}-dashboard/entries`, method: 'GET' });
}
/**
* 功能页用户数据:我的常用 + 最近使用
* xk-api GET /clinic-admin-dashboard/entry-user-data
*/
export function getClinicAdminEntryUserData() {
return clinicRequest({ url: `${PREFIX}-dashboard/entry-user-data`, method: 'GET' });
}
/**
* 收藏/取消收藏功能入口(功能页长按触发),返回 { is_favorite }
* xk-api POST /clinic-admin-dashboard/toggle-favorite-entry
*/
export function toggleClinicAdminFavoriteEntry(code) {
return clinicRequest({ url: `${PREFIX}-dashboard/toggle-favorite-entry`, method: 'POST', data: { code } });
}
/**
* 批量保存我的常用(功能页悬浮编辑 / 首页快捷添加)
* xk-api POST /clinic-admin-dashboard/batch-save-favorite-entry
*/
export function batchSaveClinicAdminFavoriteEntry(codes) {
return clinicRequest({ url: `${PREFIX}-dashboard/batch-save-favorite-entry`, method: 'POST', data: { codes } });
}
/**
* 上报功能入口使用(点击跳转时静默调用,调用方无需处理失败)
* xk-api POST /clinic-admin-dashboard/report-entry-usage
*/
export function reportClinicAdminEntryUsage(code) {
return clinicRequest({ url: `${PREFIX}-dashboard/report-entry-usage`, method: 'POST', data: { code } });
}
2026-08-11 15:57:41 +08:00
/**
* 本门店 VIP 开通记录列表
* xk-api GET /clinic-admin-vip/list
*/
export function getClinicAdminVipOpenRecordList(params) {
return clinicRequest({
url: `${PREFIX}-vip/list`,
method: 'GET',
data: params || {},
});
}
export function getClinicAdminBalance() {
return clinicRequest({ url: `${PREFIX}-account/my-balance`, method: 'GET' });
}
export function getClinicAdminCard() {
return clinicRequest({ url: `${PREFIX}-account/my-card`, method: 'GET' });
}
export function saveClinicAdminCard(data) {
return clinicRequest({ url: `${PREFIX}-account/save-card`, method: 'POST', data });
}
2026-06-05 12:28:36 +08:00
export const getMyBalance = getClinicAdminBalance;
export const getMyCard = getClinicAdminCard;
export const saveMyCard = saveClinicAdminCard;
export function getLedgerLogList(params) {
return clinicRequest({ url: `${PREFIX}-settlement/ledger-log-list`, method: 'GET', data: params });
}
export function getLedgerDetail(params) {
return clinicRequest({ url: `${PREFIX}-settlement/ledger-detail`, method: 'GET', data: params });
}
2026-06-02 08:20:44 +08:00
export function getAccountChangeLogList(params) {
return clinicRequest({ url: `${PREFIX}-account-change-log/list`, method: 'GET', data: params });
}
export function getWithdrawalList(params) {
return clinicRequest({ url: `${PREFIX}-withdrawal/list`, method: 'GET', data: params });
}
export function getWithdrawalDetail(id) {
return clinicRequest({ url: `${PREFIX}-withdrawal/detail`, method: 'GET', data: { id } });
}
export function submitWithdrawal(data) {
return clinicRequest({ url: `${PREFIX}-withdrawal/withdrawal`, method: 'POST', data });
}
export function getReconciliationList(params) {
return clinicRequest({ url: `${PREFIX}-reconciliation/list`, method: 'GET', data: params });
}
export function getReconciliationDrugList(params) {
return clinicRequest({ url: `${PREFIX}-reconciliation/drug-list`, method: 'GET', data: params });
}
export function getReconciliationDrugOptions(params) {
return clinicRequest({ url: `${PREFIX}-reconciliation/drug-options`, method: 'GET', data: params });
}
export function getReconciliationOrderOptions(params) {
return clinicRequest({ url: `${PREFIX}-reconciliation/order-options`, method: 'GET', data: params });
}
export function getOrderSaleAmount(params) {
return clinicRequest({ url: `${PREFIX}-order/sale-amount`, method: 'GET', data: params });
}
export function getPrescriptionDetail(id) {
return clinicRequest({ url: `${PREFIX}-prescription/detail`, method: 'GET', data: { id } });
}
export function getOrderList(params) {
return clinicRequest({ url: `${PREFIX}-order/list`, method: 'GET', data: params });
}
export function getOrderStatusOption() {
return clinicRequest({ url: `${PREFIX}-order/status-option`, method: 'GET' });
}
/** 各状态订单数量(筛选不含 status,供 Tab 徽标) */
export function getOrderStatusCount(params) {
return clinicRequest({ url: `${PREFIX}-order/status-count`, method: 'GET', data: params });
}
export function getOrderDetail(id) {
return clinicRequest({ url: `${PREFIX}-order/detail`, method: 'GET', data: { id } });
}
2026-06-02 08:20:44 +08:00
export function getOrderTrace(params) {
return clinicRequest({ url: `${PREFIX}-order/trace`, method: 'GET', data: params });
}
export function getOrderLedgerDetail(params) {
return clinicRequest({ url: `${PREFIX}-order/ledger-detail`, method: 'GET', data: params });
}
export function getOrderReconciliationDetail(params) {
return clinicRequest({ url: `${PREFIX}-order/reconciliation-detail`, method: 'GET', data: params });
}
export function refundOrder(data) {
return clinicRequest({ url: `${PREFIX}-order/refund`, method: 'POST', data });
}
export function wareSendOrder(data) {
return clinicRequest({ url: `${PREFIX}-order/ware-send`, method: 'POST', data });
}
export function getExpressDetailByOrderId(orderId) {
return clinicRequest({
url: `${PREFIX}-express-detail/detail-by-order`,
method: 'POST',
data: { order_id: orderId },
});
}
2026-06-18 10:20:24 +08:00
export function getPriceAdjustConfig(storeId) {
return clinicRequest({
url: `${PREFIX}-order/price-adjust-config`,
method: 'GET',
data: storeId ? { store_id: storeId } : {},
});
}
export function adjustOrderPercent(data) {
return clinicRequest({ url: `${PREFIX}-order/adjust-order-percent`, method: 'POST', data });
}
export function getWarehouseList(params) {
return clinicRequest({ url: `${PREFIX}-warehouse/list`, method: 'GET', data: params });
}
export function getWarehouseDetail(id) {
return clinicRequest({ url: `${PREFIX}-warehouse/detail`, method: 'GET', data: { id } });
}
export function updateWarehouseStatus(id) {
return clinicRequest({ url: `${PREFIX}-warehouse/update-status`, method: 'GET', data: { id } });
}
export function updateWarehousePrice(data) {
return clinicRequest({ url: `${PREFIX}-warehouse/update`, method: 'POST', data });
}
export function getWarehouseProductTypeOptions() {
return clinicRequest({ url: `${PREFIX}-warehouse/product-type-options`, method: 'GET' });
}
/** 诊所/药店可见仓库 Tab xk-api GET /clinic-admin-warehouse/warehouse-tabs */
export function getWarehouseTabs() {
return clinicRequest({ url: `${PREFIX}-warehouse/warehouse-tabs`, method: 'GET' });
}