Merge pull request 'fix:更新BUG' (#16) from develop into main
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m53s

Reviewed-on: #16
This commit is contained in:
zsq 2026-04-27 10:47:02 +08:00
commit ed66ae077c
9 changed files with 556 additions and 495 deletions

18
src/gen/ApiTypes.d.ts vendored
View File

@ -510,6 +510,11 @@ declare namespace ApiTypes {
"company_employees_id": number; // 员工id,[ref:company_employees]
"type": string; // 类型,[enum:HouseWorkOrdersTypeEnum]
};
type BatchStore = {
"asset_projects_id": number; // 项目id,[ref:asset_projects]
"company_employees_id": number; // 员工id,[ref:company_employees]
"types": string[]; // 类型数组
};
type Show = {
"id": number; // id
};
@ -925,7 +930,8 @@ declare namespace ApiTypes {
"has_overdue"?: boolean; // 是否欠费true-欠费, false-清欠
};
type Store = {
"asset_houses_id": number; // 资产房屋id,[ref:asset_houses]
"asset_houses_id"?: number; // 资产房屋id,[ref:asset_houses]与asset_car_ports_id互斥
"asset_car_ports_id"?: number; // 车位ID,[ref:asset_car_ports]与asset_houses_id互斥
"company_receipt_accounts_id": number; // 公司收款账户id,[ref:company_receipt_accounts]
"type": string; // 账单类型,[enum:HouseBillsTypeEnum]
"amount": number; // 金额
@ -940,6 +946,7 @@ declare namespace ApiTypes {
};
type Update = {
"id": number; // id
"asset_car_ports_id"?: number; // 车位ID,[ref:asset_car_ports]
"company_receipt_accounts_id": number; // 公司收款账户id,[ref:company_receipt_accounts]
"type": string; // 账单类型,[enum:HouseBillsTypeEnum]
"amount": number; // 金额
@ -3785,6 +3792,15 @@ declare namespace ApiTypes {
namespace Statistics {
namespace ContractsCount {
}
namespace HouseBillsCount {
type PaidAmountTrend = {
"start_date"?: Date; // 开始日期可选默认6个月前
"end_date"?: Date; // 结束日期(可选,默认今天)
};
type ClearCache = {
"type"?: string; // 缓存类型
};
}
namespace IndexCount {
}
}

View File

@ -270,6 +270,9 @@ export const Apis = {
Store(data: ApiTypes.Asset.AssetProjectAdmins.Store): Promise<MyResponseType> {
return request('company/asset/asset_project_admins/store', { data });
},
BatchStore(data: ApiTypes.Asset.AssetProjectAdmins.BatchStore): Promise<MyResponseType> {
return request('company/asset/asset_project_admins/batch_store', { data });
},
Show(data: ApiTypes.Asset.AssetProjectAdmins.Show): Promise<MyResponseType> {
return request('company/asset/asset_project_admins/show', { data });
},
@ -2085,6 +2088,23 @@ export const Apis = {
return request('company/statistics/contracts_count/clear_cache', {});
},
},
HouseBillsCount: {
OverviewStatistics(): Promise<MyResponseType> {
return request('company/statistics/house_bills_count/overview_statistics', {});
},
ProjectDataByMonth(): Promise<MyResponseType> {
return request('company/statistics/house_bills_count/project_data_by_month', {});
},
PaidAmountTrend(data?: ApiTypes.Statistics.HouseBillsCount.PaidAmountTrend): Promise<MyResponseType> {
return request('company/statistics/house_bills_count/paid_amount_trend', { data });
},
ProjectPaymentRanking(): Promise<MyResponseType> {
return request('company/statistics/house_bills_count/project_payment_ranking', {});
},
ClearCache(data?: ApiTypes.Statistics.HouseBillsCount.ClearCache): Promise<MyResponseType> {
return request('company/statistics/house_bills_count/clear_cache', { data });
},
},
IndexCount: {
FinancialAnalysis(): Promise<MyResponseType> {
return request('company/statistics/index_count/financial_analysis', {});

View File

@ -333,7 +333,7 @@ export const BillsStatusEnum= {
// 缓存类型
export const CacheTypeEnum= {
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#32265e","value":"MobilePhoneVerificationCode"},
'MobilePhoneVerificationCode': {"text":"手机验证码","color":"#f33535","value":"MobilePhoneVerificationCode"},
};
// CompaniesMerchantTypeEnum

View File

@ -71,7 +71,7 @@ export default function Create(props: MyBetaModalFormProps) {
key: 'grid_mark',
title: '范围标识',
params: {
asset_projects_id: projectId,
asset_projects_id: projectId || '',
},
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },

View File

@ -7,6 +7,7 @@ import {
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import { ApprovalTemplateNodesNodeTypeEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd';
import { useState } from 'react';
@ -22,7 +23,7 @@ export default function Update(props: MyBetaModalFormProps) {
trigger={
<MyButtons.Default
title="申请退款"
disabled={props?.item?.bill_status !== 'Paid'}
// disabled={props?.item?.bill_status !== 'Paid'}
/>
}
layout="horizontal"
@ -161,7 +162,7 @@ export default function Update(props: MyBetaModalFormProps) {
MyFormItems.EnumSelect({
key: 'node_type',
// title: `类型`,
// valueEnum: ApprovalTemplateNodesNodeTypeEnum,
valueEnum: ApprovalTemplateNodesNodeTypeEnum,
colProps: { span: 5 },
formItemProps: {
...rulesHelper.text,

View File

@ -1,6 +1,7 @@
import {
MyButtons,
MyColumns,
MyPageContainer,
MyProTableProps,
MyTableActions,
MyToolBarActions,
@ -15,8 +16,14 @@ import Show from './modals/Show';
import Update from './modals/Update';
import Read from './read/modals/Read';
export default function Index({ title = '合同借用' }) {
export default function Index({ title = '合同档案借用' }) {
return (
<MyPageContainer
title={title}
enableTabs={true}
tabKey="contract_borrows"
tabLabel={title}
>
<ProTable
{...MyProTableProps.props}
request={async (params, sort) =>
@ -31,8 +38,12 @@ export default function Index({ title = '合同借用' }) {
<MyToolBarActions
key="toolbar"
actions={{
add: <Create key="Create" reload={action?.reload} title={title} />,
read: <Read key="Read" reload={action?.reload} title="合同借阅" />,
add: (
<Create key="Create" reload={action?.reload} title={title} />
),
read: (
<Read key="Read" reload={action?.reload} title="合同借阅" />
),
}}
/>,
]}
@ -158,5 +169,6 @@ export default function Index({ title = '合同借用' }) {
}),
]}
/>
</MyPageContainer>
);
}

View File

@ -1,6 +1,7 @@
import {
MyButtons,
MyColumns,
MyPageContainer,
MyProTableProps,
MyTableActions,
MyToolBarActions,
@ -22,6 +23,12 @@ export default function Index({ title = '突发事件' }) {
const navigate = useNavigate();
return (
<MyPageContainer
title={title}
enableTabs={true}
tabKey="emergency_events"
tabLabel={title}
>
<ProTable
{...MyProTableProps.props}
request={async (params, sort) =>
@ -37,7 +44,11 @@ export default function Index({ title = '突发事件' }) {
key="toolbar"
actions={{
create: (
<EventCreate key="Create" reload={action?.reload} title={title} />
<EventCreate
key="Create"
reload={action?.reload}
title={title}
/>
),
teams: (
<MyButtons.Default
@ -174,5 +185,6 @@ export default function Index({ title = '突发事件' }) {
}),
]}
/>
</MyPageContainer>
);
}

View File

@ -1,6 +1,7 @@
import {
MyButtons,
MyColumns,
MyPageContainer,
MyProTableProps,
MyTableActions,
MyToolBarActions,
@ -19,10 +20,16 @@ import DepositPay from './modals/DepositPay';
import DepositRefund from './modals/DepositRefund';
import MyWorkerCreate from './modals/WorkerCreate';
export default function Index() {
export default function Index({ title = '装修管理' }) {
const navigate = useNavigate();
return (
<MyPageContainer
title={title}
enableTabs={true}
tabKey="renovation_applies"
tabLabel={title}
>
<ProTable
{...MyProTableProps.props}
request={async (params, sort) =>
@ -211,5 +218,6 @@ export default function Index() {
}),
]}
/>
</MyPageContainer>
);
}

View File

@ -28,23 +28,15 @@ export default function Create(props: MyBetaModalFormProps) {
form.resetFields();
}
}}
onFinish={async (values: any) => {
const { type, ...restValues } = values;
const promises = (type || []).map((t: any) =>
Apis.Asset.AssetProjectAdmins.Store({
...restValues,
type: t,
}),
);
return Promise.all(promises)
onFinish={async (values: any) =>
Apis.Asset.AssetProjectAdmins.BatchStore(values)
.then(() => {
props.reload?.();
message.success(props.title + '成功');
message.success('提交成功');
return true;
})
.catch(() => false);
}}
.catch(() => false)
}
columns={[
Selects?.AssetProjects({
title: '选择项目',
@ -67,7 +59,7 @@ export default function Create(props: MyBetaModalFormProps) {
required: true,
}),
MyFormItems.EnumCheckbox({
key: 'type',
key: 'types',
title: '工单类型',
colProps: { span: 24 },
valueEnum: HouseWorkOrdersTypeEnum,