mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-21 11:49:02 +08:00
chore: 新增清理脚本并优化项目配置
1. 新增clean脚本用于清理项目构建产物和缓存 2. 更新.gitignore忽略eslint缓存和src-tauri的target目录 3. 在package.json中添加clean命令 4. 格式化StudentManager组件的回调函数代码
This commit is contained in:
@@ -289,50 +289,62 @@ export const StudentManager: React.FC<{ canEdit: boolean }> = ({ canEdit }) => {
|
||||
}
|
||||
}
|
||||
|
||||
const handleDelete = useCallback(async (id: number) => {
|
||||
if (!(window as any).api) return
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
const res = await (window as any).api.deleteStudent(id)
|
||||
if (res.success) {
|
||||
messageApi.success(t("students.deleteSuccess"))
|
||||
fetchStudents()
|
||||
emitDataUpdated("students")
|
||||
} else {
|
||||
messageApi.error(res.message || t("students.deleteFailed"))
|
||||
}
|
||||
}, [canEdit, messageApi, t, fetchStudents])
|
||||
const handleDelete = useCallback(
|
||||
async (id: number) => {
|
||||
if (!(window as any).api) return
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
const res = await (window as any).api.deleteStudent(id)
|
||||
if (res.success) {
|
||||
messageApi.success(t("students.deleteSuccess"))
|
||||
fetchStudents()
|
||||
emitDataUpdated("students")
|
||||
} else {
|
||||
messageApi.error(res.message || t("students.deleteFailed"))
|
||||
}
|
||||
},
|
||||
[canEdit, messageApi, t, fetchStudents]
|
||||
)
|
||||
|
||||
const handleOpenTagEditor = useCallback((student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setEditingStudent(student)
|
||||
setTagEditVisible(true)
|
||||
}, [canEdit, messageApi, t])
|
||||
const handleOpenTagEditor = useCallback(
|
||||
(student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setEditingStudent(student)
|
||||
setTagEditVisible(true)
|
||||
},
|
||||
[canEdit, messageApi, t]
|
||||
)
|
||||
|
||||
const handleOpenAvatarEditor = useCallback((student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setAvatarStudent(student)
|
||||
setAvatarValue(student.avatarUrl || null)
|
||||
setAvatarVisible(true)
|
||||
}, [canEdit, messageApi, t])
|
||||
const handleOpenAvatarEditor = useCallback(
|
||||
(student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setAvatarStudent(student)
|
||||
setAvatarValue(student.avatarUrl || null)
|
||||
setAvatarVisible(true)
|
||||
},
|
||||
[canEdit, messageApi, t]
|
||||
)
|
||||
|
||||
const handleOpenGroupEditor = useCallback((student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setGroupEditStudent(student)
|
||||
groupForm.setFieldsValue({ group_name: student.group_name || "" })
|
||||
setGroupEditVisible(true)
|
||||
}, [canEdit, messageApi, t, groupForm])
|
||||
const handleOpenGroupEditor = useCallback(
|
||||
(student: student) => {
|
||||
if (!canEdit) {
|
||||
messageApi.error(t("common.readOnly"))
|
||||
return
|
||||
}
|
||||
setGroupEditStudent(student)
|
||||
groupForm.setFieldsValue({ group_name: student.group_name || "" })
|
||||
setGroupEditVisible(true)
|
||||
},
|
||||
[canEdit, messageApi, t, groupForm]
|
||||
)
|
||||
|
||||
const handleSaveGroup = async () => {
|
||||
if (!(window as any).api || !groupEditStudent) return
|
||||
|
||||
Reference in New Issue
Block a user