Commit 1d2c3bf9 authored by XieZhiXiong's avatar XieZhiXiong

feat: 替换hoc组件使用方式,改为 组件 + hook 形式

parent 9539bd37
......@@ -16,10 +16,11 @@ import {
} from '@ant-design/icons';
import { history, useIntl } from 'umi';
import { usePageStatus } from '@/hooks/usePageStatus';
import { useHttpRequest } from '@/hooks/useHttpRequest';
import { postMemberDepositVerify, getMemberDepositVerifyDetail } from '@/services/MemberV2Api';
import { normalizeFiledata } from '@/utils';
import { IRequestSuccess } from '@/index';
import VerifyComingDataDrawer, { ValueType as VerifyData } from './components/VerifyComingDataDrawer';
import fetchDetailHoc, { ResponseType } from '../common/hoc/fetchDetailHoc';
import MemberProfile, { DetailType } from '../components/MemberProfile';
import { ChannelValueType, ChannelRefHandle } from '../components/MemberChannelInfoForm';
import { DepositValueType, DepositRefHandle } from '../components/MemberDocIncomingInfoForm';
......@@ -37,6 +38,52 @@ const MemberPrVerifyComingDataVerify: React.FC<{}> = () => {
const depositInfoRef = useRef<DepositValueType | null>(null);
const qualitiesRef = useRef<QualitiesSubmitValueType[] | null>([]);
const fetchDetail = (): Promise<IRequestSuccess<DetailType>> => {
return new Promise((resolve, reject) => {
getMemberDepositVerifyDetail({
validateId,
}).then((res) => {
if (res.data && res.data.upperMembers) {
const newUpperMembers = [...(res.data.upperMembers || [])];
// 手动添加一个选项
if (newUpperMembers.findIndex((item) => item.upperRelationId === 0) === -1) {
newUpperMembers.unshift({
upperRelationId: 0,
name: intl.formatMessage({ id: 'member.management.memberPrVerifyComingData.verify.upperMember.null' }),
});
}
res.data.upperMembers = newUpperMembers;
}
if (res.code === 1000) {
// 要手动将旧数据带过去
const depositDetails = {};
res.data.depositDetails.forEach((item) => {
if (item.elements) {
item.elements.forEach((ele) => {
depositDetails[ele.fieldName] = ele.fieldValue;
});
}
});
depositInfoRef.current = depositDetails;
qualitiesRef.current = res.data.qualities.map((item) => ({
file: item.url ? [normalizeFiledata(item.url)] : [],
expireDay: item.expireDay,
permanent: item.permanent === 1 ? [item.permanent] : [],
}));
}
resolve(res);
}).catch(err => {
reject(err);
});
});
};
const {
data: dataSource,
loading,
} = useHttpRequest<DetailType>(fetchDetail, { manual: false });
const intl = useIntl();
const handleVisibleVerifyDrawer = (flag?) => {
......@@ -101,30 +148,6 @@ const MemberPrVerifyComingDataVerify: React.FC<{}> = () => {
});
};
const fetchDetail = (): Promise<ResponseType<DetailType>> => {
return new Promise((resolve, reject) => {
getMemberDepositVerifyDetail({
validateId,
}).then((res) => {
if (res.data && res.data.upperMembers) {
const newUpperMembers = [...(res.data.upperMembers || [])];
// 手动添加一个选项
if (newUpperMembers.findIndex((item) => item.upperRelationId === 0) === -1) {
newUpperMembers.unshift({
upperRelationId: 0,
name: intl.formatMessage({ id: 'member.management.memberPrVerifyComingData.verify.upperMember.null' }),
});
}
res.data.upperMembers = newUpperMembers;
}
resolve(res);
}).catch(err => {
reject(err);
});
});
};
const handleChannelInfoChange = (values: ChannelValueType) => {
channelInfoRef.current = values;
};
......@@ -137,30 +160,11 @@ const MemberPrVerifyComingDataVerify: React.FC<{}> = () => {
qualitiesRef.current = values;
};
const MemberProfilePro = fetchDetailHoc({
fetchDetail: fetchDetail,
fetchCallback: (info) => {
// 要手动将旧数据带过去
const depositDetails = {};
info.depositDetails.forEach((item) => {
if (item.elements) {
item.elements.forEach((ele) => {
depositDetails[ele.fieldName] = ele.fieldValue;
});
}
});
depositInfoRef.current = depositDetails;
qualitiesRef.current = info.qualities.map((item) => ({
file: item.url ? [normalizeFiledata(item.url)] : [],
expireDay: item.expireDay,
permanent: item.permanent === 1 ? [item.permanent] : [],
}));
},
}, MemberProfile);
return (
<>
<MemberProfilePro
<MemberProfile
dataSource={dataSource}
loading={loading}
extra={() => (
<>
<Space>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment