调整归档操作入口

This commit is contained in:
2026-07-16 10:44:21 +08:00
parent 1737563516
commit 200d2e423b
2 changed files with 43 additions and 32 deletions

View File

@@ -1,6 +1,6 @@
import React, { useEffect, useMemo, useState } from 'react';
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 PermissionButton from '../../components/PermissionButton';
import { message } from '../../ui/app-message';
@@ -148,35 +148,61 @@ const OrganizationsPage: React.FC = () => {
width: 160,
render: (_: unknown, record: OrganizationItem) => (
<Space>
<PermissionButton
permission="organization:edit"
size="small"
onClick={() => openEditor(record)}
>
</PermissionButton>
{!record.isHost && record.status === 'active' ? (
{record.status === 'archived' ? (
<Popconfirm
title="归档后仍保留历史学生、入住和租赁记录"
title="确定恢复此机构?"
onConfirm={async () => {
try {
await api.delete(`/organizations/${record.id}`);
message.success('机构已归档');
await api.put(`/organizations/${record.id}`, { status: 'active' });
message.success('机构已恢复');
await fetchData();
} catch (error: any) {
message.error(error?.message || '归档失败');
message.error(error?.message || '恢复失败');
}
}}
>
<PermissionButton
permission="organization:delete"
permission="organization:edit"
size="small"
icon={<InboxOutlined />}
type="link"
icon={<UndoOutlined />}
>
</PermissionButton>
</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>
),
},