index.ts 2.09 KB
import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 门店信息 */
export interface AppVO {
    id?: number; // 门店ID
    name?: string; // 门店名称
    city?: string; // 所在城市
    district?: string; // 所在区域
    address?: string; // 详细地址
    phone?: string; // 联系电话
    weixin?: string; // 联系微信(二维码)
    weixinGroup?: string; // 门店社群(二维码)
    businessStatus?: number; // 营业状态(1=待开业、2=营业中、3=暂停营业)
    businessHours?: string; // 营业时间
    latitude?: number; // 纬度
    longitude?: number; // 经度
    saturationStatus?: string; // 场地人数饱和度状态
    equipmentIds?: string; // 器械ids
    facilityIds?: string; // 设施ids
  }

// 门店 API
export const StoreApi = {
  // 查询门店分页
  getPage: async (params: any) => {
    return await request.get({ url: `/store/page`, params })
  },

  // 查询门店详情
  get: async (id: number) => {
    return await request.get({ url: `/store/get?id=` + id })
  },
  // 数据字典
  getDict: async () => {
    return await request.get({ url: `/store/dict` })
  },

  // 新增门店
  create: async (data: AppVO) => {
    return await request.post({ url: `/store/create`, data })
  },

  // 修改门店
  update: async (data: AppVO) => {
    return await request.put({ url: `/store/update`, data })
  },

  // 删除门店
  delete: async (id: number) => {
    return await request.delete({ url: `/store/delete?id=` + id })
  },

  /** 批量删除门店 */
  deleteList: async (ids: number[]) => {
    return await request.delete({ url: `/store/delete-list?ids=${ids.join(',')}` })
  },

  // 导出门店 Excel
  export: async (params) => {
    return await request.download({ url: `/store/export`, params })
  },

  // 获取门店字典
  getStoreDict: async () => {
    return await request.get({ url: `/store/getStoreDict`})
  },
  // 获取已开门店的城市列表(用于包月卡所属城市选择)
  getStoreCityList: async () => {
    return await request.get({ url: `/store/list-opened-cities`})
  },
}