单位与部门
This commit is contained in:
@ -53,7 +53,7 @@ const DetailView: React.FC<DetailViewProps> = ({ visible, onClose, detailId }) =
|
||||
// 把info数组两两合并成一行显示
|
||||
function renderInfoTable(infoArr: InfoItem[]) {
|
||||
const rows = [];
|
||||
for (let i = 0; i < infoArr.length; i += 2) {
|
||||
for (let i = 0; i < infoArr.length; i++) {
|
||||
rows.push(
|
||||
<>
|
||||
<Descriptions.Item label={`变更前-${infoArr[i].fieldAnnotation}` }>{infoArr[i].oldValue}</Descriptions.Item>
|
||||
|
@ -1,33 +1,51 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import React, { useMemo } from 'react';
|
||||
import { Descriptions } from 'antd';
|
||||
import { coscoSupplier } from '../services'
|
||||
import { useIntl } from 'umi';
|
||||
// 性别转中文
|
||||
const getGenderLabel = (sex: string | number | undefined) => {
|
||||
if (sex === '1' || sex === 1) return '男';
|
||||
if (sex === '0' || sex === 0) return '女';
|
||||
return '';
|
||||
};
|
||||
|
||||
const PersonalInfo: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const [registerInfo, setRegisterInfo] = useState<any>({ base: {} });
|
||||
|
||||
const fetchData = async () => {
|
||||
const { code, data } = await coscoSupplier({});
|
||||
if (code === 200) {
|
||||
setRegisterInfo(data);
|
||||
// 从缓存读取,推荐用 useMemo 保证只读一次
|
||||
const localUser = useMemo(() => {
|
||||
const cacheStr = sessionStorage.getItem('currentUser');
|
||||
if (!cacheStr) return {};
|
||||
try {
|
||||
return JSON.parse(cacheStr);
|
||||
} catch {
|
||||
return {};
|
||||
}
|
||||
};
|
||||
// 个人信息
|
||||
useEffect(() => {
|
||||
fetchData()
|
||||
}, []);
|
||||
}, []);
|
||||
|
||||
// 优先显示 user,其次 supplierUser
|
||||
const base = localUser.user || localUser.supplierUser || {};
|
||||
|
||||
return (
|
||||
<div style={{ padding: '24px 24px 0 0' }}>
|
||||
<Descriptions bordered column={2} labelStyle={{ width: '120px' }}>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.name' })}>{registerInfo.base.name}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.gender' })}>{registerInfo.base.gender}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.phone' })}>{registerInfo.base.phone}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.email' })}>{registerInfo.base.email}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.department' })}>{registerInfo.base.department}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.position' })}>{registerInfo.base.position}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.entryDate' })}>{registerInfo.base.entryDate}</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.name' })}>
|
||||
{base.name || '-'}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.gender' })}>
|
||||
{getGenderLabel(base.sex)}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.phone' })}>
|
||||
{base.mobile || base.phone || '-'}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.email' })}>
|
||||
{base.email || '-'}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.department' })}>
|
||||
{base.orgName || '-'}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label={intl.formatMessage({ id: 'page.workbench.personal.position' })}>
|
||||
{base.position || '-'}
|
||||
</Descriptions.Item>
|
||||
{/* 如有入职日期再补 */}
|
||||
</Descriptions>
|
||||
</div>
|
||||
);
|
||||
|
Reference in New Issue
Block a user