From 8b62bebf08876675eb3ffccdd39ad98edfe94cca Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Jun 2026 15:30:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E6=9B=B4=E6=96=B0=E8=A3=85=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E4=BA=BA=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/quality/renovation/modals/WorkerCreate.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/quality/renovation/modals/WorkerCreate.tsx b/src/pages/quality/renovation/modals/WorkerCreate.tsx index f5cc2dc..9605062 100644 --- a/src/pages/quality/renovation/modals/WorkerCreate.tsx +++ b/src/pages/quality/renovation/modals/WorkerCreate.tsx @@ -89,7 +89,7 @@ export default function Index(props: MyBetaModalFormProps) { formItemProps: { ...rulesHelper.array }, }), { - title: '证件有效期-开始', + title: '开始通行时间', colProps: { span: 12 }, valueType: 'date', key: 'valid_from', @@ -97,7 +97,7 @@ export default function Index(props: MyBetaModalFormProps) { formItemProps: { ...rulesHelper.text }, }, { - title: '证件有效期-结束', + title: '结束通行时间', colProps: { span: 12 }, valueType: 'date', key: 'valid_to', From 60cb6f16e03a0a58ad11f8f1e673415dc8b933f0 Mon Sep 17 00:00:00 2001 From: uiujun Date: Fri, 12 Jun 2026 14:55:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix=EF=BC=9A=20=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=E8=B4=B9=E7=94=A8=EF=BC=9B=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E7=9B=B8=E5=85=B3=EF=BC=9B=20=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=B4=A6=E5=8D=95=E5=A4=8D=E5=88=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/libs/umi/layoutConfig.tsx | 68 +- src/gen/ApiTypes.d.ts | 146 +- src/gen/Apis.ts | 3506 +++++------------ src/gen/Enums.ts | 5 +- src/pages/approval/cc_me/index.tsx | 68 +- src/pages/approval/cc_me/modals/Show.tsx | 250 -- .../approval/common_info/ApprovalRecord.tsx | 64 + .../common_info/ArchiveBorrowInfo.tsx | 57 + src/pages/approval/common_info/AuditShow.tsx | 86 + .../approval/common_info/BillUpdateInfo.tsx | 82 + .../common_info/ChargeStandardInfo.tsx | 119 + .../approval/common_info/ContractInfo.tsx | 129 + .../common_info/ContractPaymentInfo.tsx | 162 + .../common_info/ContractTerminationInfo.tsx | 94 + src/pages/approval/common_info/RefundInfo.tsx | 64 + src/pages/approval/common_info/SealInfo.tsx | 149 + .../common_info/TemporaryBillUpdateInfo.tsx | 69 + src/pages/approval/my_apply/index.tsx | 16 +- src/pages/approval/my_processed/index.tsx | 17 +- .../approval/my_processed/modals/Show.tsx | 250 -- src/pages/approval/pending/index.tsx | 23 +- src/pages/approval/pending/modals/Audit.tsx | 238 +- src/pages/approval/templates/index.tsx | 4 + .../approval/templates/modals/Create.tsx | 139 +- src/pages/approval/templates/modals/Show.tsx | 104 + .../approval/templates/modals/Update.tsx | 105 +- .../attendance/attendance_schedules/index.tsx | 32 +- .../modals/ViewCalendar.tsx | 252 ++ .../attendance/attendance_shifts/index.tsx | 15 +- src/pages/bills/house_bills/index.tsx | 91 +- .../bills/house_bills/modals/BillCopy.tsx | 216 + .../bills/house_bills/modals/BillUpdate.tsx | 260 +- src/pages/bills/house_bills/modals/Pay.tsx | 1 + src/pages/bills/house_bills/modals/QrCode.tsx | 80 +- src/pages/bills/summary/car_port_show/$id.tsx | 62 + .../summary/components/CarPortBillInfo.tsx | 19 + src/pages/bills/summary/table/UnpaidBill.tsx | 24 +- .../bills/summary/table/modals/ShowQrCode.tsx | 66 +- src/pages/bills/temporary/index.tsx | 256 ++ .../bills/temporary/modals/AuditPayment.tsx | 161 + src/pages/bills/temporary/modals/BIllInfo.tsx | 114 + src/pages/bills/temporary/modals/BillCopy.tsx | 214 + .../bills/temporary/modals/BillCreate.tsx | 124 + .../bills/temporary/modals/BillRefund.tsx | 253 ++ .../bills/temporary/modals/BillUpdate.tsx | 372 ++ src/pages/bills/temporary/modals/Pay.tsx | 153 + src/pages/bills/temporary/modals/QrCode.tsx | 174 + .../bills/temporary/modals/RefundComplete.tsx | 84 + src/pages/charge/tasks/index.tsx | 4 + .../archive/table/modals/Transfer.tsx | 23 +- .../customer/house_registers_audit/index.tsx | 1 + .../marketing/ad/modals/BannerCreate.tsx | 2 +- src/pages/visitor/index.tsx | 12 +- .../visitor/modals/{Review.tsx => Reject.tsx} | 2 +- 54 files changed, 5573 insertions(+), 3508 deletions(-) delete mode 100644 src/pages/approval/cc_me/modals/Show.tsx create mode 100644 src/pages/approval/common_info/ApprovalRecord.tsx create mode 100644 src/pages/approval/common_info/ArchiveBorrowInfo.tsx create mode 100644 src/pages/approval/common_info/AuditShow.tsx create mode 100644 src/pages/approval/common_info/BillUpdateInfo.tsx create mode 100644 src/pages/approval/common_info/ChargeStandardInfo.tsx create mode 100644 src/pages/approval/common_info/ContractInfo.tsx create mode 100644 src/pages/approval/common_info/ContractPaymentInfo.tsx create mode 100644 src/pages/approval/common_info/ContractTerminationInfo.tsx create mode 100644 src/pages/approval/common_info/RefundInfo.tsx create mode 100644 src/pages/approval/common_info/SealInfo.tsx create mode 100644 src/pages/approval/common_info/TemporaryBillUpdateInfo.tsx delete mode 100644 src/pages/approval/my_processed/modals/Show.tsx create mode 100644 src/pages/approval/templates/modals/Show.tsx create mode 100644 src/pages/attendance/attendance_schedules/modals/ViewCalendar.tsx create mode 100644 src/pages/bills/house_bills/modals/BillCopy.tsx create mode 100644 src/pages/bills/summary/car_port_show/$id.tsx create mode 100644 src/pages/bills/summary/components/CarPortBillInfo.tsx create mode 100644 src/pages/bills/temporary/index.tsx create mode 100644 src/pages/bills/temporary/modals/AuditPayment.tsx create mode 100644 src/pages/bills/temporary/modals/BIllInfo.tsx create mode 100644 src/pages/bills/temporary/modals/BillCopy.tsx create mode 100644 src/pages/bills/temporary/modals/BillCreate.tsx create mode 100644 src/pages/bills/temporary/modals/BillRefund.tsx create mode 100644 src/pages/bills/temporary/modals/BillUpdate.tsx create mode 100644 src/pages/bills/temporary/modals/Pay.tsx create mode 100644 src/pages/bills/temporary/modals/QrCode.tsx create mode 100644 src/pages/bills/temporary/modals/RefundComplete.tsx rename src/pages/visitor/modals/{Review.tsx => Reject.tsx} (94%) diff --git a/src/common/libs/umi/layoutConfig.tsx b/src/common/libs/umi/layoutConfig.tsx index e52bf2c..bb2bb7d 100644 --- a/src/common/libs/umi/layoutConfig.tsx +++ b/src/common/libs/umi/layoutConfig.tsx @@ -1,9 +1,20 @@ import { MyIcons, MyIconsType, PermissionsType, useMyState } from '@/common'; import AvatarProps from '@/common/components/layout/AvatarProps'; import { Apis } from '@/gen/Apis'; +import { BellOutlined } from '@ant-design/icons'; import { Link, RuntimeConfig, history, useNavigate } from '@umijs/max'; -import { AutoComplete, Input, Menu, MenuProps, Select, Space } from 'antd'; -import { useEffect, useState } from 'react'; +import { + AutoComplete, + Badge, + Button, + Input, + Menu, + MenuProps, + Select, + Space, + Tooltip, +} from 'antd'; +import { useEffect, useRef, useState } from 'react'; import './allConfig.scss'; // import Logo from './logo.png'; interface LevelKeysProps { @@ -61,6 +72,41 @@ export const LayoutConfig: RuntimeConfig['layout'] = () => { const [getSelectProject, setSelectProject] = useState([]); const { snap } = useMyState(); const navigate = useNavigate(); + const [pendingCount, setPendingCount] = useState(); + const intervalRef = useRef(null); + + // 获取待审核数量 + const fetchPendingCount = async () => { + try { + const res = await Apis.Approval.ApprovalInstances.PendingCount(); + setPendingCount(res?.data?.count || ''); + } catch (error) { + console.error('Failed to fetch pending count:', error); + } + }; + + // 组件挂载和用户状态变化时获取数据 + useEffect(() => { + if (!snap.session.user) { + return; + } + fetchPendingCount(); + if (intervalRef.current !== null) { + clearInterval(intervalRef.current); + } + const interval = setInterval(() => { + fetchPendingCount().catch((error) => { + console.error('Interval fetch failed:', error); + }); + }, 3000000); + intervalRef.current = interval; + return () => { + if (intervalRef.current !== null) { + clearInterval(intervalRef.current); + intervalRef.current = null; + } + }; + }, [snap.session.user]); const permissionsList = (snap.session.permissions || []) .filter((p: any) => p.type !== 'Button' && p.path) .sort((a: any, b: any) => a._lft - b._lft) @@ -74,7 +120,7 @@ export const LayoutConfig: RuntimeConfig['layout'] = () => { const handleLoadProject = async () => { let res = await Apis.Common.Auth.GetProjects(); setSelectProject( - res?.data?.map((item) => ({ + res?.data?.map((item: any) => ({ value: item.id, label: item.name, })), @@ -130,12 +176,6 @@ export const LayoutConfig: RuntimeConfig['layout'] = () => { - {/*