add end_time
This commit is contained in:
@@ -318,6 +318,7 @@ export function createProblemSet(data: {
|
||||
description: string
|
||||
difficulty: string
|
||||
status: string
|
||||
end_time?: Date | null
|
||||
}) {
|
||||
return http.post("admin/problemset", data)
|
||||
}
|
||||
@@ -328,6 +329,7 @@ export function editProblemSet(data: {
|
||||
description?: string
|
||||
difficulty?: string
|
||||
status?: string
|
||||
end_time?: Date | null
|
||||
visible?: boolean
|
||||
}) {
|
||||
return http.put("admin/problemset", data)
|
||||
|
||||
@@ -15,6 +15,17 @@ const formData = ref<CreateProblemSetData & Partial<EditProblemSetData>>({
|
||||
difficulty: "Easy",
|
||||
status: "draft",
|
||||
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 = [
|
||||
@@ -44,6 +55,7 @@ async function loadProblemSetDetail() {
|
||||
difficulty: data.difficulty,
|
||||
status: data.status,
|
||||
visible: data.visible,
|
||||
end_time: data.end_time ? new Date(data.end_time) : null,
|
||||
}
|
||||
} catch (err: any) {
|
||||
message.error("加载题单详情失败:" + (err.data || "未知错误"))
|
||||
@@ -120,6 +132,14 @@ onMounted(() => {
|
||||
placeholder="选择状态"
|
||||
/>
|
||||
</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-switch v-model:value="formData.visible" />
|
||||
</n-form-item>
|
||||
|
||||
@@ -193,6 +193,7 @@ export interface ProblemSet {
|
||||
create_time: Date
|
||||
difficulty: "Easy" | "Medium" | "Hard"
|
||||
status: "active" | "archived" | "draft"
|
||||
end_time: Date | null
|
||||
visible: boolean
|
||||
problems_count: number
|
||||
completed_count: number
|
||||
@@ -213,6 +214,7 @@ export interface ProblemSetList {
|
||||
create_time: Date
|
||||
difficulty: "Easy" | "Medium" | "Hard"
|
||||
status: "active" | "archived" | "draft"
|
||||
end_time: Date | null
|
||||
problems_count: number
|
||||
visible: boolean
|
||||
user_progress: {
|
||||
@@ -277,6 +279,7 @@ export interface CreateProblemSetData {
|
||||
description: string
|
||||
difficulty: "Easy" | "Medium" | "Hard"
|
||||
status: "active" | "archived" | "draft"
|
||||
end_time?: Date | null
|
||||
}
|
||||
|
||||
export interface EditProblemSetData {
|
||||
@@ -285,6 +288,7 @@ export interface EditProblemSetData {
|
||||
description?: string
|
||||
difficulty?: "Easy" | "Medium" | "Hard"
|
||||
status?: "active" | "archived" | "draft"
|
||||
end_time?: Date | null
|
||||
visible?: boolean
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user