Commit bd3df0de authored by XieZhiXiong's avatar XieZhiXiong

添加条件判断

parent cb7bef7b
......@@ -91,7 +91,7 @@ const BasicInfo: React.FC<BasicInfoProps> = ({
</Descriptions.Item>
<Descriptions.Item label="渠道描述">{channel.desc}</Descriptions.Item>
</Descriptions>
): channelRender}
) : channelRender}
</MellowCard>
</Col>
)
......
import React, { useState, useEffect, useRef, ReactNode } from 'react';
import { history } from 'umi';
import { history, Prompt } from 'umi';
import { Badge, Button, Card, Spin, message } from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { SaveOutlined } from '@ant-design/icons';
......@@ -20,7 +20,7 @@ const formActions = createFormActions();
const {
onFieldValueChange$,
onFieldInputChange$,
onFormInitialValueChange$,
onFormInputChange$,
} = FormEffectHooks;
const AddMember: React.FC<any> = props => {
......@@ -30,6 +30,7 @@ const AddMember: React.FC<any> = props => {
const [memberInfo, setMemberInfo] = useState<GetMemberAbilitySubGetResponse>(null);
const [submitLoading, setSubmitLoading] = useState(false);
const [infoLoading, setInfoLoading] = useState(false);
const [unsaved, setUnsaved] = useState(false);
const getDetailedInfo = async () => {
if (id && validateId) {
......@@ -414,11 +415,19 @@ const AddMember: React.FC<any> = props => {
);
useAsyncLinkageEffect();
onFormInputChange$().subscribe(() => {
if (!unsaved) {
setUnsaved(true);
}
});
}}
schema={initDetailSchema(memberItems)}
/>
</Card>
</PageHeaderWrapper>
<Prompt when={unsaved} message="您还有未保存的内容,是否确定要离开?" />
</Spin>
);
};
......
......@@ -11,6 +11,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { PublicApi } from '@/services/api';
import { MEMBER_INNER_STATUS_SUCCESS } from '@/constants';
import { auditSchema } from './schema';
import {
MEMBER_STATUS_TAG_MAP,
......@@ -44,11 +45,15 @@ const MemberPrConfirm: React.FC<{}> = props => {
dataIndex: 'name',
align: 'center',
render: (text: any, record: any) => (
<EyePreview
url={`/memberCenter/memberAbility/manage/auditPrComfirm?id=${record.memberId}&validateId=${record.validateId}&preview=1`}
>
{text}
</EyePreview>
<>
{record.innerStatus !== MEMBER_INNER_STATUS_SUCCESS ? (
<EyePreview
url={`/memberCenter/memberAbility/manage/auditPrComfirm?id=${record.memberId}&validateId=${record.validateId}&preview=1`}
>
{text}
</EyePreview>
) : text}
</>
),
},
{
......@@ -109,12 +114,16 @@ const MemberPrConfirm: React.FC<{}> = props => {
dataIndex: 'option',
align: 'center',
render: (text: any, record: any) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
确认审核结果
</Button>
<>
{record.innerStatus !== MEMBER_INNER_STATUS_SUCCESS && (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
确认审核结果
</Button>
)}
</>
),
},
];
......
import React, { useState, useEffect } from 'react';
import { history } from 'umi';
import { history, Prompt } from 'umi';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import {
PageHeader,
......@@ -39,6 +39,7 @@ const modalFormActions = createFormActions();
const {
onFieldValueChange$,
onFieldInputChange$,
onFormInputChange$,
} = FormEffectHooks;
const AuditPrSubmit: React.FC<{}> = () => {
......@@ -47,6 +48,7 @@ const AuditPrSubmit: React.FC<{}> = () => {
const [modalVisible, setModalVisible] = useState(false);
const [infoLoading, setInfoLoading] = useState(false);
const [confirmLoading, setConfirmLoading] = useState(false);
const [unsaved, setUnsaved] = useState(false);
const getAreasInfo = (
vals: { pcode: string, ccode: string }[] = [],
......@@ -88,9 +90,7 @@ const AuditPrSubmit: React.FC<{}> = () => {
const areasOptions = areas.map(item => ({ label: item.name, value: item.code }));
const channelType = channelTypes.map(item => ({ label: item.channelTypeName, value: item.channelTypeId }));
const channelTypeVal = channelTypes.find(item => item.channelTypeId === channelTypeId);
const areasInfo = getAreasInfo(areaCodes, areas);
console.log('areasInfo', areasInfo)
const areasInfo = getAreasInfo(areaCodes, areas as any);
if (areasOptions.length) {
formActions.setFieldState('areas.*.pcode', state => {
......@@ -105,7 +105,7 @@ const AuditPrSubmit: React.FC<{}> = () => {
setMemberInfo({
...res.data,
channelTypeName: channelTypeVal ? channelTypeVal.channelTypeName : '',
areasInfo: [],
areasInfo,
});
}).finally(() => {
......@@ -257,13 +257,13 @@ const AuditPrSubmit: React.FC<{}> = () => {
memberType: memberInfo?.memberTypeEnum,
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
areas: memberInfo?.areasInfo,
desc: memberInfo?.remark,
}}
extra={memberInfo?.groups}
outerHistory={memberInfo?.outerHistory}
innerHistory={memberInfo?.innerHistory}
channelRender={(
channelRender={pageStatus === PageStatus.EDIT ? (
<NiceForm
onSubmit={handleChannelSubmit}
actions={formActions}
......@@ -275,10 +275,16 @@ const AuditPrSubmit: React.FC<{}> = () => {
}}
effects={($, actions) => {
useInitEffect();
onFormInputChange$().subscribe(() => {
if (!unsaved) {
setUnsaved(true);
}
});
}}
schema={channelSchema}
/>
)}
): null}
/>
<Modal
......@@ -303,6 +309,8 @@ const AuditPrSubmit: React.FC<{}> = () => {
/>
</Modal>
</PageHeaderWrapper>
<Prompt when={unsaved} message="您还有未保存的内容,是否确定要离开?" />
</Spin>
);
};
......
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