Commit bd3df0de authored by XieZhiXiong's avatar XieZhiXiong

添加条件判断

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