import http from '@/utils/httpRequest' import type { ManageListResponse, ManageResponse, ManagePageParams } from './types' /** * 门店信息 */ export interface StoreInfo { id: number parentId: number mpath: string name: string orderNo?: number type: string /** 后端 @JsonProperty("orgCode") 重命名,JSON 中为 orgCode */ orgCode?: string status: string createdAt: string updatedAt: string /** 非表字段,后端 join 返回 */ parentOrgName?: string channelName?: string children?: StoreInfo[] } /** * 门店列表查询参数 */ export interface StoreListParams extends ManagePageParams { name?: string status?: string channelOrgId?: number } /** * 门店保存/更新数据 */ export interface StoreSaveData { id?: number parentId: number name: string orgCode?: string } /** 门店分页列表 */ export function getStoreList(params?: StoreListParams): Promise> { return http.get(http.adornUrl('/manage/org/store/list'), { params: http.adornParams(params || {}) }).then(res => res.data) } /** 门店详情 */ export function getStoreInfo(id: number): Promise> { return http.get(http.adornUrl(`/manage/org/store/info/${id}`), { params: http.adornParams() }).then(res => res.data) } /** 新增/修改门店 */ export function saveOrUpdateStore(data: StoreSaveData): Promise { const url = data.id ? '/manage/org/store/update' : '/manage/org/store/save' return http.post(http.adornUrl(url), http.adornData(data)).then(res => res.data) } /** 删除门店(批量软删除) */ export function deleteStore(ids: number[]): Promise { return http.post(http.adornUrl('/manage/org/store/delete'), http.adornData(ids, false)).then(res => res.data) }