Files
xk-doctor-wx/api/clinicAdmin.js
2026-08-19 16:48:43 +08:00

292 lines
9.5 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 { 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 });
}
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 } });
}
/**
* 本门店 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 });
}
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 });
}
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 });
}
/** 可提订单明细 xk-api GET /clinic-admin-withdrawal/withdrawable-orders */
export function getWithdrawableOrders(params) {
return clinicRequest({ url: `${PREFIX}-withdrawal/withdrawable-orders`, method: 'GET', data: params || {} });
}
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 } });
}
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 },
});
}
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' });
}