feat: 地区选择器改走接口、订单市价重算与资金流水、同步日志内容复用
region-address-picker 接 region-picker API;订单支持按进价重算 market_price、追踪页资金流水;MES/ERP/中台同步日志共用内容查看组件;地区管理支持 pid 下钻与拼音检索。
This commit is contained in:
64
apps/web-antd/src/api/region-picker.ts
Normal file
64
apps/web-antd/src/api/region-picker.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import { requestClient } from '#/api/request';
|
||||
|
||||
const prefix = 'region-picker/';
|
||||
|
||||
/** 子节点项(children 接口) */
|
||||
export interface RegionPickerChild {
|
||||
id: number;
|
||||
name: string;
|
||||
code: string;
|
||||
pid: number;
|
||||
level: number;
|
||||
pinyin_first: string;
|
||||
pinyin_full: string;
|
||||
deleted_at: number;
|
||||
has_children: boolean;
|
||||
}
|
||||
|
||||
/** 搜索命中项 */
|
||||
export interface RegionPickerSearchHit extends RegionPickerChild {
|
||||
path: { id: number; name: string; level: number; pid: number }[];
|
||||
path_label: string;
|
||||
complete: boolean;
|
||||
}
|
||||
|
||||
/** 按省+叶解析 */
|
||||
export interface RegionPickerResolvedPair {
|
||||
province_id: number;
|
||||
city_id: number;
|
||||
province?: RegionPickerChild | null;
|
||||
city?: { id: number; name: string; level: number; pid: number } | null;
|
||||
district?: { id: number; name: string; level: number; pid: number } | null;
|
||||
path_label: string;
|
||||
}
|
||||
|
||||
/** 懒加载子级 xk-api GET /region-picker/children */
|
||||
export async function getRegionChildren(pid = 0) {
|
||||
return requestClient.get<RegionPickerChild[]>(`${prefix}children`, {
|
||||
params: { pid },
|
||||
});
|
||||
}
|
||||
|
||||
/** 合一搜索 xk-api GET /region-picker/search */
|
||||
export async function searchRegions(keyword: string, limit = 30) {
|
||||
return requestClient.get<RegionPickerSearchHit[]>(`${prefix}search`, {
|
||||
params: { keyword, limit },
|
||||
});
|
||||
}
|
||||
|
||||
/** 按省+叶回显 xk-api GET /region-picker/resolve */
|
||||
export async function resolveRegionPair(provinceId: number, cityId: number) {
|
||||
return requestClient.get<RegionPickerResolvedPair>(`${prefix}resolve`, {
|
||||
params: { province_id: provinceId, city_id: cityId },
|
||||
});
|
||||
}
|
||||
|
||||
/** 批量 ID 解析 */
|
||||
export async function resolveRegionIds(ids: number[]) {
|
||||
return requestClient.get<{ items: RegionPickerSearchHit[] }>(
|
||||
`${prefix}resolve`,
|
||||
{
|
||||
params: { ids: ids.join(',') },
|
||||
},
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user