You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.1 KiB
123 lines
3.1 KiB
import {request} from "@/api/request";
|
|
|
|
export interface Student {
|
|
company_id:number
|
|
avatar: string
|
|
dep_ids: number[]
|
|
email: string
|
|
id_card: string
|
|
name: string
|
|
password: string
|
|
phone_number: string
|
|
}
|
|
|
|
interface UserInfoData {
|
|
dep_ids: number[]
|
|
user: Student
|
|
}
|
|
|
|
interface setRoleTypeData {
|
|
/** 当前超级管理员ID */
|
|
auth_id: number
|
|
/** 管理员权限,0 为员工,1为管理员,2为超级管理员 */
|
|
role_type: number
|
|
}
|
|
|
|
type DepList = Record<number, Manage[]>
|
|
|
|
export interface AddDepProps {
|
|
id?: number | null
|
|
name: string
|
|
parent_id: number
|
|
company_id: number
|
|
sort: number
|
|
}
|
|
|
|
interface DepCurData {
|
|
data: Curriculum[]
|
|
total: number
|
|
}
|
|
|
|
export interface depCurProps {
|
|
page: number
|
|
size: number
|
|
id: number
|
|
}
|
|
|
|
interface AddCurProps {
|
|
course_id: number[]
|
|
dep_id: number[]
|
|
is_required: 1 | 0
|
|
}
|
|
|
|
export interface CurLearningRecord {
|
|
course: Curriculum
|
|
data: User[]
|
|
/** 部门 */
|
|
departments: Record<number, string>
|
|
/** 第一次记录 */
|
|
user_course_hour_user_first_at: Record<string, unknown>
|
|
/** 学习记录 */
|
|
user_course_records: Record<string, LearnRecord>
|
|
/** 学员部门 */
|
|
user_dep_ids: Record<number, number[]>
|
|
total: number
|
|
}
|
|
|
|
export const ManageApi = {
|
|
/** 添加学员 */
|
|
addUser(data: Student) {
|
|
return request('/api/v1/user/create', "POST", data)
|
|
},
|
|
userInfo(id: number) {
|
|
return request<UserInfoData>(`/api/v1/user/${id}`, "GET")
|
|
},
|
|
putUser(id: number, data: Student) {
|
|
return request(`/api/v1/user/front/${id}`, "PUT", data)
|
|
},
|
|
del(id: number) {
|
|
return request(`/api/v1/user/${id}`, "DELETE")
|
|
},
|
|
/** 修改学员类型 */
|
|
setRoleType(id: number, data: setRoleTypeData) {
|
|
return request(`/api/v1/user/${id}`, "PUT", data)
|
|
},
|
|
/** 部门 */
|
|
depList() {
|
|
return request<DepList>('/api/v1/department/index', "GET")
|
|
},
|
|
addDep(data: AddDepProps) {
|
|
return request('/api/v1/department/save', "POST", data)
|
|
},
|
|
putDep(data: AddDepProps) {
|
|
return request(`/api/v1/department/${data.id}`, "PUT", data)
|
|
},
|
|
delDep(id: number) {
|
|
return request(`/api/v1/department/${id}`, "DELETE")
|
|
},
|
|
/** 部门课程 */
|
|
depCur(data: depCurProps) {
|
|
return request<DepCurData>(`/api/v1/department/${data.id}/courses?page=${data.page}&size=${data.size}`, "GET")
|
|
},
|
|
/** 未添加课程 */
|
|
optionalCur(dep_id: number, category_id: number) {
|
|
return request<Curriculum[]>(`/api/v1/department/${dep_id}/optional?category_id=${category_id}`, "GET")
|
|
},
|
|
addCur(data: AddCurProps) {
|
|
return request('/api/v1/course/user', "POST", data)
|
|
},
|
|
buyAll() {
|
|
return request<Curriculum[]>('/api/v1/course/buy/all', "GET")
|
|
},
|
|
buy(data_list: number[]) {
|
|
return request(`/api/v1/course/buy?data_list=${data_list}`, "POST")
|
|
},
|
|
/** 课程绑定部门 */
|
|
bingDep(dep_id: number) {
|
|
return request<Curriculum & { department: Department[] }>(`/api/v1/course/all/bind/${dep_id}`, "GET")
|
|
},
|
|
/** 课程学员学习记录 */
|
|
curLearningRecord(cur_id: number | string,data:{page:number,size:number}) {
|
|
return request<CurLearningRecord>(`/api/v1/course/${cur_id}/user/index`, "GET", data)
|
|
}
|
|
}
|
|
|