add end_time
This commit is contained in:
@@ -318,6 +318,7 @@ export function createProblemSet(data: {
|
|||||||
description: string
|
description: string
|
||||||
difficulty: string
|
difficulty: string
|
||||||
status: string
|
status: string
|
||||||
|
end_time?: Date | null
|
||||||
}) {
|
}) {
|
||||||
return http.post("admin/problemset", data)
|
return http.post("admin/problemset", data)
|
||||||
}
|
}
|
||||||
@@ -328,6 +329,7 @@ export function editProblemSet(data: {
|
|||||||
description?: string
|
description?: string
|
||||||
difficulty?: string
|
difficulty?: string
|
||||||
status?: string
|
status?: string
|
||||||
|
end_time?: Date | null
|
||||||
visible?: boolean
|
visible?: boolean
|
||||||
}) {
|
}) {
|
||||||
return http.put("admin/problemset", data)
|
return http.put("admin/problemset", data)
|
||||||
|
|||||||
@@ -15,6 +15,17 @@ const formData = ref<CreateProblemSetData & Partial<EditProblemSetData>>({
|
|||||||
difficulty: "Easy",
|
difficulty: "Easy",
|
||||||
status: "draft",
|
status: "draft",
|
||||||
visible: false,
|
visible: false,
|
||||||
|
end_time: null,
|
||||||
|
})
|
||||||
|
|
||||||
|
const endTimeTimestamp = computed({
|
||||||
|
get: () =>
|
||||||
|
formData.value.end_time
|
||||||
|
? new Date(formData.value.end_time).getTime()
|
||||||
|
: null,
|
||||||
|
set: (val: number | null) => {
|
||||||
|
formData.value.end_time = val ? new Date(val) : null
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const difficultyOptions = [
|
const difficultyOptions = [
|
||||||
@@ -44,6 +55,7 @@ async function loadProblemSetDetail() {
|
|||||||
difficulty: data.difficulty,
|
difficulty: data.difficulty,
|
||||||
status: data.status,
|
status: data.status,
|
||||||
visible: data.visible,
|
visible: data.visible,
|
||||||
|
end_time: data.end_time ? new Date(data.end_time) : null,
|
||||||
}
|
}
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
message.error("加载题单详情失败:" + (err.data || "未知错误"))
|
message.error("加载题单详情失败:" + (err.data || "未知错误"))
|
||||||
@@ -120,6 +132,14 @@ onMounted(() => {
|
|||||||
placeholder="选择状态"
|
placeholder="选择状态"
|
||||||
/>
|
/>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
|
<n-form-item label="截止时间">
|
||||||
|
<n-date-picker
|
||||||
|
v-model:value="endTimeTimestamp"
|
||||||
|
type="datetime"
|
||||||
|
clearable
|
||||||
|
placeholder="不设置则无截止时间"
|
||||||
|
/>
|
||||||
|
</n-form-item>
|
||||||
<n-form-item v-if="isEdit" label="是否可见">
|
<n-form-item v-if="isEdit" label="是否可见">
|
||||||
<n-switch v-model:value="formData.visible" />
|
<n-switch v-model:value="formData.visible" />
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
|
|||||||
@@ -193,6 +193,7 @@ export interface ProblemSet {
|
|||||||
create_time: Date
|
create_time: Date
|
||||||
difficulty: "Easy" | "Medium" | "Hard"
|
difficulty: "Easy" | "Medium" | "Hard"
|
||||||
status: "active" | "archived" | "draft"
|
status: "active" | "archived" | "draft"
|
||||||
|
end_time: Date | null
|
||||||
visible: boolean
|
visible: boolean
|
||||||
problems_count: number
|
problems_count: number
|
||||||
completed_count: number
|
completed_count: number
|
||||||
@@ -213,6 +214,7 @@ export interface ProblemSetList {
|
|||||||
create_time: Date
|
create_time: Date
|
||||||
difficulty: "Easy" | "Medium" | "Hard"
|
difficulty: "Easy" | "Medium" | "Hard"
|
||||||
status: "active" | "archived" | "draft"
|
status: "active" | "archived" | "draft"
|
||||||
|
end_time: Date | null
|
||||||
problems_count: number
|
problems_count: number
|
||||||
visible: boolean
|
visible: boolean
|
||||||
user_progress: {
|
user_progress: {
|
||||||
@@ -277,6 +279,7 @@ export interface CreateProblemSetData {
|
|||||||
description: string
|
description: string
|
||||||
difficulty: "Easy" | "Medium" | "Hard"
|
difficulty: "Easy" | "Medium" | "Hard"
|
||||||
status: "active" | "archived" | "draft"
|
status: "active" | "archived" | "draft"
|
||||||
|
end_time?: Date | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EditProblemSetData {
|
export interface EditProblemSetData {
|
||||||
@@ -285,6 +288,7 @@ export interface EditProblemSetData {
|
|||||||
description?: string
|
description?: string
|
||||||
difficulty?: "Easy" | "Medium" | "Hard"
|
difficulty?: "Easy" | "Medium" | "Hard"
|
||||||
status?: "active" | "archived" | "draft"
|
status?: "active" | "archived" | "draft"
|
||||||
|
end_time?: Date | null
|
||||||
visible?: boolean
|
visible?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user