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

/** 门店课程-团课信息 */
export interface CourseLeague {
  id?: number // ID
  videoUrl?: string
  storeId?: number // 门店id
  slideshow?: string[] // 轮播图
  name?: string // 课程名称
  introduce?: string // 团课介绍
  crowd?: string // 适合人群
  trainResult?: string // 训练效果
  tips?: string // 温馨提示
  originalPrice?: number // 原价
  sellingPrice?: number // 售价
  difficulty?: string // 课程难度
  calorie?: string // 消耗量
  participantCount?: number // 累计参课人数
  tag?: string[] // 课程标签
}

export interface LeagueSchedule {
  id?: number // ID
  leagueId?: number
  storeId?: number
  status?: number // 状态
}

// 门店课程-团课 API
export const CourseLeagueApi = {
  // 查询门店课程-团课分页
  getCourseLeaguePage: async (params: any) => {
    return await request.get({ url: `/course/league/page`, params })
  },

  // 查询门店课程-团课详情
  getCourseLeague: async (id: number) => {
    return await request.get({ url: `/course/league/get?id=` + id })
  },

  // 新增门店课程-团课
  createCourseLeague: async (data: CourseLeague) => {
    return await request.post({ url: `/course/league/create`, data })
  },

  // 修改门店课程-团课
  updateCourseLeague: async (data: CourseLeague) => {
    return await request.put({ url: `/course/league/update`, data })
  },

  // // 删除门店课程-团课
  deleteCourseLeague: async (data: any) => {
    return await request.post({ url: `/course/league/deleteByIds`, data })
  },

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

  // 导出门店课程-团课 Excel
  exportCourseLeague: async (params) => {
    return await request.download({ url: `/course/league/export`, params })
  },

  // 查询门店开设课程
  getStoreOpenedCourses: async (params: any) => {
    return await request.get({ url: `/course/league/getOpen`, params })
  },
  // 新增门店开设课程
  createStoreOpenedCourse: async (data: any) => {
    return await request.post({ url: `/course/league/createOpen`, data })
  },

  // 查询门店开设课程的教练
  getStoreOpenCourseCoach: async (params: any) => {
    return await request.get({ url: `/course/league/getOpenCoach`, params })
  },

  // 新增门店开设课程的教练
  createStoreOpenCourseCoach: async (data: any) => {
    return await request.post({ url: `/course/league/addOpenCoach`, data })
  },

  // 更新门店开设课程的教练
  updateStoreOpenCourseCoach: async (data: any) => {
    return await request.post({ url: `/course/league/updateOpenCoach`, data })
  },

  // 获取课程
  getCourseLeagueOptions: async () => {
    return await request.get({ url: `/course/league/list` })
  },

  // 查询排课详情
  getScheduleDetail: async (id: number) => {
    return await request.get({ url: `/course/league/scheduleDetail/` + id })
  },

  // 查询排课分页
  getSchedulePage: async (params: any) => {
    return await request.get({ url: `/course/league/schedulePage`, params })
  },

  // 新增排课
  createSchedule: async (data: LeagueSchedule) => {
    return await request.post({ url: `/course/league/createSchedule`, data })
  },

  // 获取课程种类
  getCourseCategoryList: () => {
    return request.get({ url: `/course/league/leagueLabel` })
  },
  // 批量删除门店开课
  deleteStoreOpenCourse: (data: any) => {
    return request.post({ url: `course/league/deleteByIdsOpen`, data })
  },
  // 修改门店开课的状态-团课
  updateStoreOpenCourseStatus: (data: any) => {
    return request.put({ url: `/course/league/updateOpen`, data })
  },
  // 批量删除门店教练
  deleteStoreOpenCourseCoach: (data: any) => {
    return request.post({ url: `/course/league/deleteByIdsOpenCoach`, data })
  },
  // 获取教练开课信息
  getStoreOpenCourseCoachInfo: (id: any) => {
    return request.get({ url: `/course/league/getOpenCoachInfo`, id })
  },
  // 批量删除排课
  deleteSchedule: (data: any) => {
    return request.post({ url: `/course/league/deletesCheduleByIds`, data })
  },
  // 修改排课情况
  updateSchedule: (data: any) => {
    return request.put({ url: `/course/league/updateScheduleDetail`, data })
  }
}