64 lines
1.8 KiB
TypeScript
64 lines
1.8 KiB
TypeScript
|
|
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<ManageListResponse<StoreInfo>> {
|
|||
|
|
return http.get(http.adornUrl('/manage/org/store/list'), { params: http.adornParams(params || {}) }).then(res => res.data)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 门店详情 */
|
|||
|
|
export function getStoreInfo(id: number): Promise<ManageResponse<{ store?: StoreInfo }>> {
|
|||
|
|
return http.get(http.adornUrl(`/manage/org/store/info/${id}`), { params: http.adornParams() }).then(res => res.data)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 新增/修改门店 */
|
|||
|
|
export function saveOrUpdateStore(data: StoreSaveData): Promise<ManageResponse> {
|
|||
|
|
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<ManageResponse> {
|
|||
|
|
return http.post(http.adornUrl('/manage/org/store/delete'), http.adornData(ids, false)).then(res => res.data)
|
|||
|
|
}
|