调整归档操作入口
This commit is contained in:
@@ -154,16 +154,6 @@ const ClassesPage: React.FC = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDelete = async (id: number) => {
|
|
||||||
try {
|
|
||||||
await api.delete(`/classes/${id}`);
|
|
||||||
message.success('已删除');
|
|
||||||
fetchData();
|
|
||||||
} catch (e: any) {
|
|
||||||
message.error(e?.message || '删除失败');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const columns: ColumnsType<ClassItem> = useMemo(() => [
|
const columns: ColumnsType<ClassItem> = useMemo(() => [
|
||||||
{
|
{
|
||||||
title: '班级名称', dataIndex: 'name', width: 120,
|
title: '班级名称', dataIndex: 'name', width: 120,
|
||||||
@@ -208,11 +198,6 @@ const ClassesPage: React.FC = () => {
|
|||||||
<PermissionButton permission="class:edit" size="small">归档</PermissionButton>
|
<PermissionButton permission="class:edit" size="small">归档</PermissionButton>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
)}
|
)}
|
||||||
<Popconfirm title="确认删除?" onConfirm={() => handleDelete(r.id)}>
|
|
||||||
<PermissionButton permission="class:delete" size="small" danger>
|
|
||||||
删除
|
|
||||||
</PermissionButton>
|
|
||||||
</Popconfirm>
|
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useMemo, useState } from 'react';
|
import React, { useEffect, useMemo, useState } from 'react';
|
||||||
import { Alert, Empty, Form, Input, Modal, Popconfirm, Select, Space, Table, Tag } from 'antd';
|
import { Alert, Empty, Form, Input, Modal, Popconfirm, Select, Space, Table, Tag } from 'antd';
|
||||||
import { BankOutlined, InboxOutlined, PlusOutlined } from '@ant-design/icons';
|
import { BankOutlined, InboxOutlined, PlusOutlined, UndoOutlined } from '@ant-design/icons';
|
||||||
import api from '../../api';
|
import api from '../../api';
|
||||||
import PermissionButton from '../../components/PermissionButton';
|
import PermissionButton from '../../components/PermissionButton';
|
||||||
import { message } from '../../ui/app-message';
|
import { message } from '../../ui/app-message';
|
||||||
@@ -148,35 +148,61 @@ const OrganizationsPage: React.FC = () => {
|
|||||||
width: 160,
|
width: 160,
|
||||||
render: (_: unknown, record: OrganizationItem) => (
|
render: (_: unknown, record: OrganizationItem) => (
|
||||||
<Space>
|
<Space>
|
||||||
<PermissionButton
|
{record.status === 'archived' ? (
|
||||||
permission="organization:edit"
|
|
||||||
size="small"
|
|
||||||
onClick={() => openEditor(record)}
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</PermissionButton>
|
|
||||||
{!record.isHost && record.status === 'active' ? (
|
|
||||||
<Popconfirm
|
<Popconfirm
|
||||||
title="归档后仍保留历史学生、入住和租赁记录"
|
title="确定恢复此机构?"
|
||||||
onConfirm={async () => {
|
onConfirm={async () => {
|
||||||
try {
|
try {
|
||||||
await api.delete(`/organizations/${record.id}`);
|
await api.put(`/organizations/${record.id}`, { status: 'active' });
|
||||||
message.success('机构已归档');
|
message.success('机构已恢复');
|
||||||
await fetchData();
|
await fetchData();
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
message.error(error?.message || '归档失败');
|
message.error(error?.message || '恢复失败');
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<PermissionButton
|
<PermissionButton
|
||||||
permission="organization:delete"
|
permission="organization:edit"
|
||||||
size="small"
|
size="small"
|
||||||
icon={<InboxOutlined />}
|
type="link"
|
||||||
|
icon={<UndoOutlined />}
|
||||||
>
|
>
|
||||||
归档
|
恢复
|
||||||
</PermissionButton>
|
</PermissionButton>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
) : null}
|
) : (
|
||||||
|
<>
|
||||||
|
<PermissionButton
|
||||||
|
permission="organization:edit"
|
||||||
|
size="small"
|
||||||
|
onClick={() => openEditor(record)}
|
||||||
|
>
|
||||||
|
编辑
|
||||||
|
</PermissionButton>
|
||||||
|
{!record.isHost ? (
|
||||||
|
<Popconfirm
|
||||||
|
title="归档后仍保留历史学生、入住和租赁记录"
|
||||||
|
onConfirm={async () => {
|
||||||
|
try {
|
||||||
|
await api.delete(`/organizations/${record.id}`);
|
||||||
|
message.success('机构已归档');
|
||||||
|
await fetchData();
|
||||||
|
} catch (error: any) {
|
||||||
|
message.error(error?.message || '归档失败');
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PermissionButton
|
||||||
|
permission="organization:delete"
|
||||||
|
size="small"
|
||||||
|
icon={<InboxOutlined />}
|
||||||
|
>
|
||||||
|
归档
|
||||||
|
</PermissionButton>
|
||||||
|
</Popconfirm>
|
||||||
|
) : null}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</Space>
|
</Space>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user