perf(struct): perf
This commit is contained in:
@@ -1,198 +0,0 @@
|
||||
import httpFetch from "@/api/fetch"
|
||||
import { Project, ProjectDetail, ReviewUsers } from "./typing"
|
||||
import { BASE_LABEL_API } from "../const"
|
||||
|
||||
// 获取项目列表
|
||||
export const getProjectList = (data: Project.ListRequest) => {
|
||||
return httpFetch<Project.ListResponse>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/list",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目详情
|
||||
export const getProjectDetailById = (id: number) => {
|
||||
return httpFetch<ProjectDetail.DataProps>({
|
||||
url: BASE_LABEL_API + `/api/v1/label_server/project/detail/${id}`,
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 校验项目源数据
|
||||
export const checkLabelDataSource = (data: Project.CheckRequest) => {
|
||||
return httpFetch<Project.CheckResponse>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/check_data",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 创建项目
|
||||
export const projectAdd = (data: Project.CreateProps) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/add",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 审核项目
|
||||
export const projectReview = (data: Project.CreateProps) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/review",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 配置项目
|
||||
export const projectConfig = (data: Project.ConfigProps) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/config",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 编辑项目
|
||||
export const projectEditById = (data: any, id: number) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + `/api/v1/label_server/project/edit/${id}`,
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 审核试标项目
|
||||
export const projectPreLabelReview = (data: Project.PreLabelProps) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/prototype_review",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 提交验收
|
||||
export const projectDeliver = (data: { project_id: number }) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/deliver",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 完成项目
|
||||
export const projectAccept = (data: { project_id: number; pass: boolean }) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/accept",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 收藏项目
|
||||
export const projectCollect = (data: {
|
||||
project_id: number
|
||||
is_collect: boolean
|
||||
}) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/collect",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目抽检比例
|
||||
export const getReviewScaleList = (params: { project_id: number }) => {
|
||||
return httpFetch<any[]>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/review_scale/list",
|
||||
method: "GET",
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
// 保存抽检比例
|
||||
export const saveUserReviewScale = (data: Project.ReviewScaleProps) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/review_scale/save",
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
export const getProjectDetail = (id: number) => {
|
||||
return httpFetch<Project.DetailResponse>({
|
||||
url: BASE_LABEL_API + `/api/v1/label_server/project/detail/${id}`,
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 重新生成Embedding
|
||||
export const regenerateProjectEmbedding = (data: { project_id: number }) => {
|
||||
return httpFetch({
|
||||
url: BASE_LABEL_API + `/api/v1/label_server/project/regenerate_embedding`,
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
})
|
||||
}
|
||||
|
||||
// 获取个人参与项目
|
||||
export const getPersonProjectDashBoard = () => {
|
||||
return httpFetch<Array<Project.PersonProjectDashboardResponseItem>>({
|
||||
url:
|
||||
BASE_LABEL_API + `/api/v1/label_server/data_statistics/personal_project`,
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 获取个人看板数据
|
||||
export const getCurrentPersonData = (params: { date: string }) => {
|
||||
return httpFetch<{
|
||||
label_data_size: number
|
||||
label_work_time: number
|
||||
review1_data_size: number
|
||||
review1_work_time: number
|
||||
review2_data_size: number
|
||||
review2_work_time: number
|
||||
}>({
|
||||
url:
|
||||
BASE_LABEL_API +
|
||||
"/api/v1/label_server/data_statistics/personal_dashboard",
|
||||
method: "GET",
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/* ****************************** Options ****************************** */
|
||||
// 获取项目所属业务列表
|
||||
export const getProjectTypeList = () => {
|
||||
return httpFetch<string[]>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/type_list",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目管理员列表
|
||||
export const getProjectAdminList = () => {
|
||||
return httpFetch<Array<{ label: string; value: number }>>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/admin_list",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 获取项目审核员
|
||||
export const getProjectReviewers = () => {
|
||||
return httpFetch<ReviewUsers>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/reviewer_map",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户有权限的项目
|
||||
export const getSelfProjectList = () => {
|
||||
return httpFetch<Array<{ label: string; value: number }>>({
|
||||
url: BASE_LABEL_API + "/api/v1/label_server/project/self",
|
||||
method: "GET",
|
||||
})
|
||||
}
|
||||
@@ -1,474 +0,0 @@
|
||||
export namespace Project {
|
||||
export interface DataProps {
|
||||
key: React.Key
|
||||
id: number // 项目ID
|
||||
name: string // 项目名称
|
||||
is_collect: boolean // 是否收藏
|
||||
project_type?: string // 所属业务
|
||||
label_schema_name?: string // 标注方案
|
||||
label_schema_version?: string
|
||||
status: number // 项目状态
|
||||
labeled_scale?: number // 标注完成比例
|
||||
reviewed_scale?: number // 审核完成比例
|
||||
data_size?: number // 总数据量
|
||||
rate_speed?: number // 额定倍速
|
||||
create_user: string // 创建人
|
||||
owner: string // 项目负责人
|
||||
label_process?: string[] // 工序
|
||||
admin_user: number[] // 标注管理员id
|
||||
data_source?: string // 数据源
|
||||
remarks?: string // 备注
|
||||
// reviewer_user?: string; // 审核人
|
||||
// reviewer_comment?: string; // 审核意见
|
||||
create_at?: string // 创建时间
|
||||
update_at?: string // 更新时间
|
||||
modify?: number //0=可以发起变更,无变更 1=正在变更,无变更 2=可以发起变更,有变更 3=正在变更,有变更
|
||||
}
|
||||
|
||||
export interface CheckRequest {
|
||||
project_type: string
|
||||
nfs_path: string
|
||||
flag: number
|
||||
}
|
||||
|
||||
export interface CheckResponse {
|
||||
data_size: number
|
||||
error_code: number
|
||||
}
|
||||
|
||||
export interface CreateProps {
|
||||
admin_user: string[]
|
||||
create_user: string
|
||||
data_size: number
|
||||
data_source: string
|
||||
label_schema_name: string
|
||||
label_schema_version: string
|
||||
project_name: string
|
||||
project_type: string
|
||||
related_task?: number[]
|
||||
remarks?: string
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface ReviewProps {
|
||||
pass: boolean
|
||||
project_id: number
|
||||
project_name: string
|
||||
review_comment?: string
|
||||
review_user: string
|
||||
test_proportion?: number
|
||||
}
|
||||
|
||||
export interface ListRequest {
|
||||
admin_user?: string
|
||||
create_user?: string
|
||||
end_date?: string
|
||||
page_number: number
|
||||
page_size: number
|
||||
project_id?: number
|
||||
project_name?: string
|
||||
project_type?: string
|
||||
review_user?: string
|
||||
start_date?: string
|
||||
status?: number[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface ListResponse {
|
||||
project_list: DataProps[]
|
||||
total_pages: number
|
||||
total_items: number
|
||||
}
|
||||
|
||||
export interface LabelConfig {
|
||||
acquire_mode: number
|
||||
acquire_size: number
|
||||
avg_remind_threshold: number
|
||||
dynamic_label_speed: number
|
||||
filter_pre_label: boolean
|
||||
fix_remind_threshold: number
|
||||
label_accuracy_rate: number
|
||||
label_update_month: number
|
||||
max_size: number
|
||||
pre_label_confirm: boolean
|
||||
static_label_speed: number
|
||||
}
|
||||
|
||||
export interface Review1Config {
|
||||
acquire_mode: number
|
||||
acquire_size: number
|
||||
dynamic_review1_speed: number
|
||||
end_date?: string
|
||||
filter_label_first_sub: boolean
|
||||
filter_objs: boolean
|
||||
filter_rework: boolean
|
||||
filter_task_batch: boolean
|
||||
filter_track_user: boolean
|
||||
is_rework?: boolean
|
||||
label_first_sub_end_date?: string
|
||||
label_first_sub_start_date?: string
|
||||
max_objs?: number
|
||||
max_size: number
|
||||
min_objs?: number
|
||||
review1_accuracy_rate: number
|
||||
review1_update_month: number
|
||||
start_date?: string
|
||||
static_review1_speed: number
|
||||
track_user_list?: number[]
|
||||
}
|
||||
|
||||
export interface Review2Config {
|
||||
acquire_mode: number
|
||||
acquire_size: number
|
||||
dynamic_review2_speed: number
|
||||
end_date?: string
|
||||
filter_objs: boolean
|
||||
filter_review1_first_sub: boolean
|
||||
filter_review1_user: boolean
|
||||
filter_rework: boolean
|
||||
filter_task_batch: boolean
|
||||
filter_track_user: boolean
|
||||
is_rework?: boolean
|
||||
max_objs?: number
|
||||
max_size: number
|
||||
min_objs?: number
|
||||
review1_first_sub_end_date?: string
|
||||
review1_first_sub_start_date?: string
|
||||
review1_user_list?: number[]
|
||||
review2_update_month: number
|
||||
start_date?: string
|
||||
static_review2_speed: number
|
||||
track_user_list?: number[]
|
||||
}
|
||||
|
||||
export interface ConfigProps {
|
||||
admin_user?: number[]
|
||||
check_frame?: boolean
|
||||
check_task?: boolean
|
||||
comment_rule?: { [key: string]: any }
|
||||
default_pose?: string
|
||||
is_lock_object?: boolean
|
||||
label_config?: LabelConfig
|
||||
label_users?: number[]
|
||||
modifiable_types?: string[]
|
||||
project_id: number
|
||||
project_name?: string
|
||||
project_remark?: string
|
||||
review1_config?: Review1Config
|
||||
review1_users?: number[]
|
||||
review2_config?: Review2Config
|
||||
review2_users?: number[]
|
||||
user_grade?: { [key: string]: any }
|
||||
}
|
||||
|
||||
// 试标审核
|
||||
export interface PreLabelProps {
|
||||
id: number
|
||||
review_user: string
|
||||
action: number // 1-试标完成,2-试标通过,3-试标不通过
|
||||
detail?: string
|
||||
}
|
||||
|
||||
export interface ReviewScaleProps {
|
||||
frame_scale?: number
|
||||
grade?: string
|
||||
project_id: number
|
||||
task_scale?: number
|
||||
uids: number[]
|
||||
}
|
||||
/**
|
||||
* DetailResponse
|
||||
*/
|
||||
export interface DetailResponse {
|
||||
admin_user: string[]
|
||||
alarm_threshold: AlarmThreshold
|
||||
check_frame: boolean
|
||||
check_task: boolean
|
||||
comment_rule: CommentRule
|
||||
create_at: string
|
||||
create_user: string
|
||||
data_size: number
|
||||
default_pose: null
|
||||
id: number
|
||||
is_lock_object: boolean
|
||||
label_process: LabelProcess
|
||||
label_schema_list: LabelSchemaList[]
|
||||
label_type: number
|
||||
labeled_multiplier: LabeledMultiplier
|
||||
modifiable_types: string[]
|
||||
name: string
|
||||
project_progress: ProjectProgress
|
||||
remarks: string
|
||||
rpath: string
|
||||
status: number
|
||||
task_size: number
|
||||
user_grade: UserGrade
|
||||
}
|
||||
|
||||
export interface AlarmThreshold {
|
||||
avg_remind_threshold: number
|
||||
fix_remind_threshold: number
|
||||
}
|
||||
|
||||
export interface CommentRule {
|
||||
check_box_rules: {
|
||||
create_date: string
|
||||
create_user: string
|
||||
text: string
|
||||
}[]
|
||||
text_rules: string[]
|
||||
}
|
||||
|
||||
export interface LabelProcess {
|
||||
filter_pre_label: boolean
|
||||
filter_task_info: string[]
|
||||
pre_label_confirm: boolean
|
||||
step_detail: StepDetail[]
|
||||
}
|
||||
|
||||
export interface StepDetail {
|
||||
acquire_mode: number
|
||||
acquire_size: number
|
||||
action: number
|
||||
max_size: number
|
||||
user_list: number[]
|
||||
}
|
||||
|
||||
export interface LabelSchemaList {
|
||||
bbox_range: number[]
|
||||
bbox_size: number[]
|
||||
bbox_type: number
|
||||
category_id: number
|
||||
color: [number, number, number]
|
||||
label_class: string
|
||||
label_type: number
|
||||
radius: number
|
||||
sensor_list: string[]
|
||||
sub_attributes: string[]
|
||||
sub_attributes_describe: SubAttributesDescribe[]
|
||||
super_category: string
|
||||
}
|
||||
|
||||
export interface SubAttributesDescribe {
|
||||
chinese_name: string
|
||||
english_name: string
|
||||
isrequired: number
|
||||
optional_item: string[]
|
||||
round_id: number
|
||||
select_mode: number
|
||||
}
|
||||
|
||||
export interface LabeledMultiplier {
|
||||
dynamic_label_speed: null
|
||||
dynamic_review1_speed: null
|
||||
dynamic_review2_speed: null
|
||||
label_accuracy_rate: null
|
||||
label_update_month: null
|
||||
review1_accuracy_rate: null
|
||||
review1_update_month: null
|
||||
review2_update_month: null
|
||||
static_label_speed: null
|
||||
static_review1_speed: null
|
||||
static_review2_speed: null
|
||||
}
|
||||
|
||||
export interface ProjectProgress {
|
||||
normal_labeled_task_size: number
|
||||
normal_reviewed1_task_size: number
|
||||
normal_reviewed2_task_size: number
|
||||
rework_labeled_task_size: number
|
||||
rework_reviewed1_task_size: number
|
||||
rework_reviewed2_task_size: number
|
||||
unlabeled_task_size: number
|
||||
}
|
||||
|
||||
export interface UserGrade {
|
||||
A: {
|
||||
frame: number
|
||||
task: number
|
||||
}
|
||||
B: {
|
||||
frame: number
|
||||
task: number
|
||||
}
|
||||
C: {
|
||||
frame: number
|
||||
task: number
|
||||
}
|
||||
}
|
||||
/**
|
||||
* DetailResponse
|
||||
*/
|
||||
|
||||
export interface PersonProjectDashboardResponseItem {
|
||||
project_id: number
|
||||
project_label_type: string
|
||||
project_name: string
|
||||
project_type: string
|
||||
work_time: number
|
||||
}
|
||||
}
|
||||
|
||||
export interface ReviewUsers {
|
||||
reviewer1: string[]
|
||||
reviewer2: string[]
|
||||
reviewer3: string[]
|
||||
}
|
||||
|
||||
export namespace ProjectDetail {
|
||||
export interface DataProps {
|
||||
admin_user: number[]
|
||||
alarm_threshold: AlarmThreshold
|
||||
check_frame: boolean
|
||||
check_task: boolean
|
||||
comment_rule: CommentRule
|
||||
create_at: string
|
||||
create_user: string
|
||||
data_size: number
|
||||
default_pose: null
|
||||
id: number
|
||||
is_lock_object: boolean
|
||||
label_process: LabelProcess
|
||||
label_schema_list: LabelSchemaList[]
|
||||
label_type: number
|
||||
labeled_multiplier: LabeledMultiplier
|
||||
modifiable_types: string[]
|
||||
name: string
|
||||
project_progress: ProjectProgress
|
||||
remarks: string
|
||||
rpath: string
|
||||
status: number
|
||||
task_size: number
|
||||
user_grade: UserGrade
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface AlarmThreshold {
|
||||
avg_remind_threshold: number
|
||||
fix_remind_threshold: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface CommentRule {
|
||||
check_box_rules: string[]
|
||||
text_rules: string[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface LabelProcess {
|
||||
filter_pre_label: boolean
|
||||
filter_task_info: FilterTaskInfo[]
|
||||
pre_label_confirm: boolean
|
||||
step_detail: StepDetail[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface FilterTaskInfo {
|
||||
action: number
|
||||
end_date: string
|
||||
filter_label_first_sub: boolean
|
||||
filter_objs: boolean
|
||||
filter_review1_first_sub: boolean
|
||||
filter_review1_user: boolean
|
||||
filter_rework: boolean
|
||||
filter_task_batch: boolean
|
||||
filter_track_user: boolean
|
||||
is_rework: boolean
|
||||
label_first_sub_end_date: string
|
||||
label_first_sub_start_date: string
|
||||
max_objs: number
|
||||
min_objs: number
|
||||
review1_first_sub_end_date: string
|
||||
review1_first_sub_start_date: string
|
||||
review1_user_list: number[]
|
||||
start_date: string
|
||||
track_user_list: number[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface StepDetail {
|
||||
acquire_mode: number
|
||||
acquire_size: number
|
||||
action: number
|
||||
max_size: number
|
||||
user_list: number[]
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface LabelSchemaList {
|
||||
bbox_range: number[]
|
||||
bbox_size: number[]
|
||||
bbox_type: number
|
||||
category_id: number
|
||||
color: number[]
|
||||
label_class: string
|
||||
label_type: number
|
||||
radius: number
|
||||
sensor_list: string[]
|
||||
sub_attributes: string[]
|
||||
sub_attributes_describe: SubAttributesDescribe[]
|
||||
super_category: string
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface SubAttributesDescribe {
|
||||
chinese_name: string
|
||||
english_name: string
|
||||
isrequired: number
|
||||
optional_item: string[]
|
||||
round_id: number
|
||||
select_mode: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface LabeledMultiplier {
|
||||
dynamic_label_speed: number
|
||||
dynamic_review1_speed: number
|
||||
dynamic_review2_speed: number
|
||||
label_accuracy_rate: number
|
||||
label_update_month: number
|
||||
review1_accuracy_rate: number
|
||||
review1_update_month: number
|
||||
review2_update_month: number
|
||||
static_label_speed: number
|
||||
static_review1_speed: number
|
||||
static_review2_speed: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface ProjectProgress {
|
||||
normal_labeled_task_size: number
|
||||
normal_reviewed1_task_size: number
|
||||
normal_reviewed2_task_size: number
|
||||
rework_labeled_task_size: number
|
||||
rework_reviewed1_task_size: number
|
||||
rework_reviewed2_task_size: number
|
||||
unlabeled_task_size: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface UserGrade {
|
||||
A: A
|
||||
B: B
|
||||
C: C
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface A {
|
||||
frame: number
|
||||
task: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface B {
|
||||
frame: number
|
||||
task: number
|
||||
[property: string]: any
|
||||
}
|
||||
|
||||
export interface C {
|
||||
frame: number
|
||||
task: number
|
||||
[property: string]: any
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user