Skip to content

Commit 8ceb771

Browse files
authored
添加删除事件功能,完成时间线编辑 (#2628)
1 parent fba4b6e commit 8ceb771

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/app/ContestSite/ManagerPage/EditTimeline.tsx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ const EditTimeline: React.FC<ContestProps> = ({ mode, user }) => {
4242
});
4343
const [addContestTime, { error: addContestTimeError }] =
4444
graphql.useAddContestTimeMutation();
45+
const [deleteContestTime, { error: deleteContestTimeError }] =
46+
graphql.useDeleteContestTimeMutation(); // 添加删除事件的 mutation
47+
4548
/* ---------------- useEffect ---------------- */
4649
useEffect(() => {
4750
if (getContestTimesError) {
@@ -53,6 +56,11 @@ const EditTimeline: React.FC<ContestProps> = ({ mode, user }) => {
5356
message.error("添加事件失败");
5457
}
5558
}, [addContestTimeError]);
59+
useEffect(() => {
60+
if (deleteContestTimeError) {
61+
message.error("删除事件失败");
62+
}
63+
}, [deleteContestTimeError]);
5664
/* ---------------- 业务逻辑函数 ---------------- */
5765
const handleAdd = async () => {
5866
try {
@@ -75,6 +83,24 @@ const EditTimeline: React.FC<ContestProps> = ({ mode, user }) => {
7583
}
7684
};
7785

86+
const handleDelete = async (event: string) => {
87+
try {
88+
await deleteContestTime({
89+
variables: {
90+
contest_id: Contest_id,
91+
event: event,
92+
},
93+
});
94+
if (deleteContestTimeError)
95+
throw new Error(deleteContestTimeError.message);
96+
message.success("事件删除成功");
97+
refetchContestTimes(); // 刷新事件列表
98+
} catch (e) {
99+
console.log(e);
100+
message.error("删除事件失败");
101+
}
102+
};
103+
78104
const panelStyle: React.CSSProperties = {
79105
marginBottom: 12,
80106
background: token.colorFillAlter,
@@ -92,9 +118,18 @@ const EditTimeline: React.FC<ContestProps> = ({ mode, user }) => {
92118
{dayjs(item.end).format("YYYY-MM-DD")}
93119
<br />
94120
描述:{item.description}
121+
<br />
122+
<Button
123+
danger
124+
onClick={() => handleDelete(item.event)}
125+
style={{ marginTop: "10px" }}
126+
>
127+
删除事件
128+
</Button>
95129
</>
96130
),
97131
}));
132+
98133
/* ---------------- ⻚⾯组件 ---------------- */
99134
return (
100135
<Layout>

0 commit comments

Comments
 (0)