uiuJun 68c96919bb
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m32s
fix: 优化页面
2025-09-19 00:16:07 +08:00

116 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { MyPageContainer, usePageTabs } from '@/common';
import { Apis } from '@/gen/Apis';
import { ProCard } from '@ant-design/pro-components';
import { useParams } from '@umijs/max';
import { Space, Tabs } from 'antd';
import { useEffect, useState } from 'react';
import ComponentsInfo from '../modals/CompanyShow';
import CompanyUpdate from '../modals/CompanyUpdate';
import CompanyApps from '../table/Apps';
import Assets from '../table/Assets';
import Brands from '../table/Brands';
import Employees from '../table/Employees';
import Organizations from '../table/Organizations';
import Positions from '../table/Positions';
import ReceiptAccounts from '../table/ReceiptAccounts';
export default function Show({ title }: { title?: string } = {}) {
const { id } = useParams<{ id: string }>();
const [data, setShow] = useState<any>({});
// 注册当前页面为标签页
const { addTab } = usePageTabs({
tabKey: `company-show-${id}`,
tabLabel: '配置:' + (data?.short_name || title || '资产详情'),
});
const loadShow = () => {
let paramsId: any = { id: id ?? 0 };
Apis.Company.Companies.Show(paramsId).then((res) => {
setShow(res?.data);
// 更新标签页名称为API返回的name
if (res?.data?.short_name) {
addTab({
key: `company-show-${id}`,
label: res.data.short_name,
path: `/company/${id}`,
});
}
});
};
useEffect(() => {
loadShow();
}, [id]);
let items = [
{
label: '1-项目配置',
key: '1',
closable: false,
children: <Assets item={data} />,
},
{
label: '2-组织配置',
key: '2',
closable: false,
children: <Organizations item={data} />,
},
{
label: '3-岗位配置',
key: '3',
closable: false,
children: <Positions item={data} />,
},
{
label: '4-员工配置',
key: '4',
closable: false,
children: <Employees item={data} />,
},
{
label: '5-账号配置',
key: '5',
closable: false,
children: <ReceiptAccounts item={data} />,
},
{
label: '6-应用配置',
key: '6',
closable: false,
children: <CompanyApps item={data} />,
},
{
label: '7-品牌配置',
key: '7',
closable: false,
children: <Brands item={data} />,
},
];
return (
<MyPageContainer title={title}>
{/* <ComponentsInfo item={data} /> */}
<ProCard
title={`${data?.name} (${data?.short_name})`}
extra={
<Space>
<ComponentsInfo
item={{ ...data, type: 'primary' }}
title="查看"
reload={loadShow}
/>
<CompanyUpdate item={data} title="机构" reload={loadShow} />
</Space>
}
>
<div>
*
</div>
</ProCard>
<ProCard>
<Tabs type="card" items={data?.id ? items : []} />
</ProCard>
</MyPageContainer>
);
}