fix: 归档删除改为软删除
This commit is contained in:
@@ -15,7 +15,7 @@ import {
|
||||
} from 'antd';
|
||||
import {
|
||||
FileTextOutlined,
|
||||
DeleteOutlined,
|
||||
InboxOutlined,
|
||||
DownloadOutlined,
|
||||
FilePdfOutlined,
|
||||
} from '@ant-design/icons';
|
||||
@@ -135,21 +135,21 @@ const BillsPage: React.FC = () => {
|
||||
});
|
||||
};
|
||||
|
||||
const handleDelete = async (id: number) => {
|
||||
const handleArchive = async (id: number) => {
|
||||
try {
|
||||
await api.delete(`/bills/${id}`);
|
||||
message.success('删除成功');
|
||||
message.success('账单已归档');
|
||||
fetchData();
|
||||
} catch (error: any) { message.error(error?.message || '删除失败'); }
|
||||
} catch (error: any) { message.error(error?.message || '归档失败'); }
|
||||
};
|
||||
|
||||
const batchDelete = async () => {
|
||||
const batchArchive = async () => {
|
||||
if (selectedRows.length === 0) return message.warning('请先选择账单');
|
||||
if (batchLoading) return;
|
||||
setBatchLoading(true);
|
||||
try {
|
||||
await api.post('/bills/batch/delete', { ids: selectedRows });
|
||||
message.success(`已删除 ${selectedRows.length} 条账单`);
|
||||
message.success(`已归档 ${selectedRows.length} 条账单`);
|
||||
setSelectedRows([]);
|
||||
fetchData();
|
||||
} catch (e: any) {
|
||||
@@ -260,14 +260,14 @@ const BillsPage: React.FC = () => {
|
||||
</PermissionButton>
|
||||
)}
|
||||
{Number(record.paidAmount || 0) === 0 && record.status !== 'cancelled' && (
|
||||
<Popconfirm title="确定删除此未支付账单?" onConfirm={() => handleDelete(record.id)} okText="删除" cancelText="取消">
|
||||
<PermissionButton permission="bill:delete" size="small" danger icon={<DeleteOutlined />}>删除</PermissionButton>
|
||||
<Popconfirm title="确定归档此未支付账单?" onConfirm={() => handleArchive(record.id)} okText="归档" cancelText="取消">
|
||||
<PermissionButton permission="bill:delete" size="small" danger icon={<InboxOutlined />}>归档</PermissionButton>
|
||||
</Popconfirm>
|
||||
)}
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
], [showDetail, handleDelete, handleCancel, handleExportPdf]);
|
||||
], [showDetail, handleArchive, handleCancel, handleExportPdf]);
|
||||
|
||||
return (
|
||||
<div>
|
||||
@@ -298,9 +298,9 @@ const BillsPage: React.FC = () => {
|
||||
<Select placeholder="费用类型" allowClear style={{ width: 120 }} value={filterExpenseType} onChange={setFilterExpenseType}
|
||||
options={[{value:'water',label:'水费'},{value:'electricity',label:'电费'},{value:'cleaning',label:'保洁费'},{value:'rent',label:'租金'},{value:'other',label:'其他'}]} />
|
||||
<Popconfirm
|
||||
title={`确定删除选中的 ${selectedRows.length} 条账单?`}
|
||||
onConfirm={batchDelete}
|
||||
okText="删除"
|
||||
title={`确定归档选中的 ${selectedRows.length} 条账单?`}
|
||||
onConfirm={batchArchive}
|
||||
okText="归档"
|
||||
cancelText="取消"
|
||||
disabled={selectedRows.length === 0}
|
||||
>
|
||||
@@ -308,9 +308,9 @@ const BillsPage: React.FC = () => {
|
||||
permission="bill:delete"
|
||||
danger
|
||||
disabled={selectedRows.length === 0}
|
||||
icon={<DeleteOutlined />}
|
||||
icon={<InboxOutlined />}
|
||||
>
|
||||
批量删除
|
||||
批量归档
|
||||
</PermissionButton>
|
||||
</Popconfirm>
|
||||
</Space>
|
||||
|
||||
Reference in New Issue
Block a user