- doctor-login submitLogin 增加「请输入密码」前置校验, 与 getCode 一致,避免空密码误触发登录请求 - 配合后端 service_user 空密码回退 PC 医生/药师密码校验
153 lines
4.4 KiB
JavaScript
153 lines
4.4 KiB
JavaScript
/**
|
||
* 门店管理 API:按 loginMode 切换平台超管 / 业务员前缀
|
||
* 业务员与超管复用同一套门店列表/详情页
|
||
*/
|
||
import { req } from '@/common/js/index.js';
|
||
import { unwrapClinicRes } from '@/api/clinicAdmin.js';
|
||
|
||
function getStoreContext() {
|
||
const mode = uni.getStorageSync('loginMode');
|
||
if (mode === 'salesperson') {
|
||
return {
|
||
prefix: '/newApi/salesperson-store',
|
||
configPrefix: '',
|
||
headerKey: '_salesperson',
|
||
isSalesperson: true,
|
||
};
|
||
}
|
||
return {
|
||
prefix: '/newApi/platform-admin-store',
|
||
configPrefix: '/newApi/platform-admin-salesperson-store-config',
|
||
headerKey: '_platformAdmin',
|
||
isSalesperson: false,
|
||
};
|
||
}
|
||
|
||
function storeRequest(options) {
|
||
const ctx = getStoreContext();
|
||
return req.request({
|
||
...options,
|
||
header: {
|
||
...(options.header || {}),
|
||
[ctx.headerKey]: '1',
|
||
},
|
||
}).then((res) => {
|
||
const data = unwrapClinicRes(res);
|
||
const ok = res && (res.code === 0 || (res.errcode != null && Number(res.errcode) !== -1));
|
||
return { res, data, ok };
|
||
});
|
||
}
|
||
|
||
/** 业务员是否允许编辑门店(系统配置开关) */
|
||
export function getSalespersonStoreEditPermission() {
|
||
return storeRequest({
|
||
url: '/newApi/salesperson-store/edit-permission',
|
||
method: 'GET',
|
||
});
|
||
}
|
||
|
||
export function getStoreList(params) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/list`, method: 'GET', data: params });
|
||
}
|
||
|
||
export function getStoreDetail(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/detail`, method: 'GET', data: { id } });
|
||
}
|
||
|
||
export function updateStore(data) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update`, method: 'POST', data });
|
||
}
|
||
|
||
export function openStorePcWindows(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/open-pc-windows`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function openStoreQrCode(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/open-qr-code`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function updateStoreShippingFree(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update-shipping-free`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function updateStoreSubscribeStatus(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update-subscribe-status`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function updateStoreSeeRate(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update-see-rate`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function updateStoreAllowInsurance(id) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update-allow-insurance-category`, method: 'POST', data: { id } });
|
||
}
|
||
|
||
export function updateStoreClinicType(id, clinicType) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({
|
||
url: `${prefix}/update-clinic-type`,
|
||
method: 'POST',
|
||
data: { id, clinic_type: clinicType },
|
||
});
|
||
}
|
||
|
||
export function toggleSalespersonSeePrice(storeId) {
|
||
const { configPrefix, isSalesperson } = getStoreContext();
|
||
if (isSalesperson || !configPrefix) {
|
||
return Promise.resolve({ ok: false, data: null, res: null });
|
||
}
|
||
return storeRequest({
|
||
url: `${configPrefix}/toggle-see-price`,
|
||
method: 'POST',
|
||
data: { store_id: storeId },
|
||
});
|
||
}
|
||
|
||
export function getStoreDrugsByType(storeId, type) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({
|
||
url: `${prefix}/get-store-drugs-by-type`,
|
||
method: 'GET',
|
||
data: { store_id: storeId, type },
|
||
});
|
||
}
|
||
|
||
export function updateStoreDrugPrices(data) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/update-store-drug-prices`, method: 'POST', data });
|
||
}
|
||
|
||
export function getDoctorOption(storeId) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({
|
||
url: `${prefix}/doctor-option`,
|
||
method: 'GET',
|
||
data: storeId ? { store_id: storeId } : {},
|
||
});
|
||
}
|
||
|
||
export function getInternetMedicalStoreOption() {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/internet-medical-store-option`, method: 'GET' });
|
||
}
|
||
|
||
export function bindOnlineConsultation(data) {
|
||
const { prefix } = getStoreContext();
|
||
return storeRequest({ url: `${prefix}/bind-online-consultation`, method: 'POST', data });
|
||
}
|
||
|
||
export function isSalespersonStoreMode() {
|
||
return uni.getStorageSync('loginMode') === 'salesperson';
|
||
}
|
||
|
||
export { getStoreContext };
|