fix: 修复 QA 巡检发现的 console 告警——useForm 未连接、RangePicker 空值禁用、dashboard 占用率类型
This commit is contained in:
@@ -507,6 +507,7 @@ const ClassroomRentalsPage: React.FC = () => {
|
|||||||
style={{ width: '100%' }}
|
style={{ width: '100%' }}
|
||||||
placeholder={['开始日期', '结束日期']}
|
placeholder={['开始日期', '结束日期']}
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
|
allowEmpty={[true, true]}
|
||||||
disabled={!selectedClassroomId}
|
disabled={!selectedClassroomId}
|
||||||
disabledDate={(date) => unavailableDatesLoading || isDateUnavailable(date)}
|
disabledDate={(date) => unavailableDatesLoading || isDateUnavailable(date)}
|
||||||
onPanelChange={(dates) => dates.forEach((date) => date && handleCalendarChange(date))}
|
onPanelChange={(dates) => dates.forEach((date) => date && handleCalendarChange(date))}
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ const RolesPage: React.FC = () => {
|
|||||||
onOk={handleSubmit}
|
onOk={handleSubmit}
|
||||||
onCancel={() => roleGuard.confirmClose(() => setModalOpen(false))}
|
onCancel={() => roleGuard.confirmClose(() => setModalOpen(false))}
|
||||||
width={700}
|
width={700}
|
||||||
destroyOnHidden
|
forceRender
|
||||||
confirmLoading={saving}
|
confirmLoading={saving}
|
||||||
>
|
>
|
||||||
<Form form={form} layout="vertical">
|
<Form form={form} layout="vertical">
|
||||||
|
|||||||
@@ -449,7 +449,7 @@ const UsersPage: React.FC = () => {
|
|||||||
open={modalOpen}
|
open={modalOpen}
|
||||||
onOk={handleSubmit}
|
onOk={handleSubmit}
|
||||||
onCancel={() => accountGuard.confirmClose(() => setModalOpen(false))}
|
onCancel={() => accountGuard.confirmClose(() => setModalOpen(false))}
|
||||||
destroyOnHidden
|
forceRender
|
||||||
confirmLoading={saving}
|
confirmLoading={saving}
|
||||||
>
|
>
|
||||||
<Form form={form} layout="vertical">
|
<Form form={form} layout="vertical">
|
||||||
@@ -496,7 +496,7 @@ const UsersPage: React.FC = () => {
|
|||||||
open={pwdModalOpen}
|
open={pwdModalOpen}
|
||||||
onOk={handlePwdSubmit}
|
onOk={handlePwdSubmit}
|
||||||
onCancel={() => pwdGuard.confirmClose(() => setPwdModalOpen(false))}
|
onCancel={() => pwdGuard.confirmClose(() => setPwdModalOpen(false))}
|
||||||
destroyOnHidden
|
forceRender
|
||||||
confirmLoading={saving}
|
confirmLoading={saving}
|
||||||
>
|
>
|
||||||
<Form form={pwdForm} layout="vertical">
|
<Form form={pwdForm} layout="vertical">
|
||||||
@@ -515,7 +515,7 @@ const UsersPage: React.FC = () => {
|
|||||||
open={profileModalOpen}
|
open={profileModalOpen}
|
||||||
onOk={handleProfileSubmit}
|
onOk={handleProfileSubmit}
|
||||||
onCancel={() => profileGuard.confirmClose(() => setProfileModalOpen(false))}
|
onCancel={() => profileGuard.confirmClose(() => setProfileModalOpen(false))}
|
||||||
destroyOnHidden
|
forceRender
|
||||||
confirmLoading={saving}
|
confirmLoading={saving}
|
||||||
>
|
>
|
||||||
<Form form={profileForm} layout="vertical">
|
<Form form={profileForm} layout="vertical">
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export class DashboardService {
|
|||||||
const totalCapacity = await capQb.getRawOne<{ total: string | number | null }>();
|
const totalCapacity = await capQb.getRawOne<{ total: string | number | null }>();
|
||||||
// MySQL 的 SUM() 聚合默认以字符串返回,需显式转成 number
|
// MySQL 的 SUM() 聚合默认以字符串返回,需显式转成 number
|
||||||
const cap = Number(totalCapacity?.total ?? 0) || 0;
|
const cap = Number(totalCapacity?.total ?? 0) || 0;
|
||||||
const occupancyRate = cap > 0 ? ((occupiedBeds / cap) * 100).toFixed(1) : 0;
|
const occupancyRate = cap > 0 ? ((occupiedBeds / cap) * 100).toFixed(1) : '0.0';
|
||||||
|
|
||||||
const billStatsQb = this.billRepo
|
const billStatsQb = this.billRepo
|
||||||
.createQueryBuilder('b')
|
.createQueryBuilder('b')
|
||||||
|
|||||||
Reference in New Issue
Block a user