feat: add channel report batch briefs
This commit is contained in:
@@ -40,12 +40,12 @@ export function AdminEnterpriseSignaturesPage() {
|
||||
const [error, setError] = useState('');
|
||||
const [expandedSignatureId, setExpandedSignatureId] = useState('');
|
||||
const [signatureKeyword, setSignatureKeyword] = useState('');
|
||||
const [signatureSort, setSignatureSort] = useState<'asc' | 'desc'>('asc');
|
||||
const [appliedSignatureKeyword, setAppliedSignatureKeyword] = useState('');
|
||||
const [signatureModal, setSignatureModal] = useState<ClientSmsSignature | 'new' | null>(null);
|
||||
const [reportStatusTarget, setReportStatusTarget] = useState<ClientSmsSignature | null>(null);
|
||||
const [signatures, setSignatures] = useState<ClientSmsSignature[]>([]);
|
||||
const [total, setTotal] = useState(0);
|
||||
const [pendingReportDetailTotal, setPendingReportDetailTotal] = useState(0);
|
||||
const [tenants, setTenants] = useState<TenantOption[]>([]);
|
||||
const [page, setPage] = useState(1);
|
||||
const [importOpen, setImportOpen] = useState(false);
|
||||
@@ -63,14 +63,14 @@ export function AdminEnterpriseSignaturesPage() {
|
||||
drainageKeyword: appliedDrainageKeyword,
|
||||
},
|
||||
targetPage = page,
|
||||
targetSort = signatureSort,
|
||||
) {
|
||||
const sequence = ++listRequestSequence.current;
|
||||
try {
|
||||
const signatureResult = await adminApi.listEnterpriseSignaturesPage({ ...filters, signatureSort: targetSort, page: targetPage, pageSize });
|
||||
const signatureResult = await adminApi.listEnterpriseSignaturesPage({ ...filters, page: targetPage, pageSize });
|
||||
if (sequence !== listRequestSequence.current) return;
|
||||
setSignatures(signatureResult.items);
|
||||
setTotal(signatureResult.total);
|
||||
setPendingReportDetailTotal(signatureResult.pendingReportDetailTotal);
|
||||
setError('');
|
||||
} catch (failure) {
|
||||
if (sequence !== listRequestSequence.current) return;
|
||||
@@ -216,14 +216,8 @@ export function AdminEnterpriseSignaturesPage() {
|
||||
onOpenDrainageReport={(signature, item) => void openDrainageReport(signature, item)}
|
||||
setExpandedSignatureId={setExpandedSignatureId}
|
||||
setPage={setPage}
|
||||
setSignatureSort={(nextSort) => {
|
||||
setSignatureSort(nextSort);
|
||||
if (page === 1) void loadData(undefined, 1, nextSort);
|
||||
else setPage(1);
|
||||
}}
|
||||
onEditSignature={(signature) => void editSignature(signature)}
|
||||
onOpenSignatureReport={(signature) => void openSignatureReport(signature)}
|
||||
signatureSort={signatureSort}
|
||||
total={total}
|
||||
totalPages={totalPages}
|
||||
visibleSignatures={visibleSignatures}
|
||||
@@ -322,6 +316,15 @@ export function AdminEnterpriseSignaturesPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="enterprise-signature-pending-summary" role="status">
|
||||
<span>待生成批次的签名报备明细</span>
|
||||
<strong>{pendingReportDetailTotal}</strong>
|
||||
<span>条</span>
|
||||
<Button onClick={() => navigate('/admin/report-tasks?scope=pending')} size="sm" variant="ghost">
|
||||
查看明细
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
{error ? <p className="form-error">{error}</p> : null}
|
||||
{message ? <p className="form-success">{message}</p> : null}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user