64 lines
1.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import request from '@/utils/request'
export interface DesignerStats {
userId: number
userName: string
avatar?: string
deptName?: string
inProgressCount: number
queueCount: number
totalScore: number
delayedCount: number
totalTaskCount: number
completedCount: number
avgRating: number
goodReviewCount: number
completionRate: number
ontimeRate: number
onlineStatus: number
lastActiveTime: string
// 前端扩展字段
showTasks?: boolean
loadingTasks?: boolean
inProgressTasks?: any[]
}
/**
* 获取所有设计师统计信息
*/
export const getAllDesignerStats = () => {
return request.get<any>('/designers/stats')
}
/**
* 获取单个设计师统计信息
*/
export const getDesignerStats = (userId: number) => {
return request.get<any>(`/designers/stats/${userId}`)
}
/**
* 获取排行榜
* @param type 类型:score-积分榜,efficiency-效率榜,quality-好评榜,diligence-勤勉榜
* @param limit 返回数量
* @param month 月份:YYYY-MM格式,可选,不传则查询当月
*/
export const getLeaderboard = (type: string = 'score', limit: number = 10, month?: string) => {
const params: any = { type, limit }
if (month) {
params.month = month
}
return request.get<any>('/designers/leaderboard', {
params
})
}
/**
* 获取设计师进行中的任务列表
* @param userId 设计师ID
*/
export const getDesignerInProgressTasks = (userId: number) => {
return request.get<any>(`/designers/${userId}/in-progress-tasks`)
}