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 };
|