Commit e7a2d8d4 authored by 前端-黄佳鑫's avatar 前端-黄佳鑫
parents 70caa63c 66127fc0
/*
* @Description: 页面公用锚点项容器
*/
import React from 'react';
interface AnchorPageItemProps {
/**
* key,实际就是 标签id
*/
itemKey: string,
children?: React.ReactNode,
}
const AnchorPageItem: React.FC<AnchorPageItemProps> = (props: AnchorPageItemProps) => {
const { itemKey, children } = props;
return (
<div id={itemKey}>
{children}
</div>
);
};
export default AnchorPageItem;
......@@ -5,11 +5,12 @@
* @LastEditTime: 2021-05-11 10:16:12
* @Description: 页面公用锚点头部
*/
import React, { useState } from 'react';
import React, { useState, useRef, useEffect } from 'react';
import { Anchor } from 'antd';
import { ArrowLeftOutlined } from '@ant-design/icons';
import { history } from 'umi';
import useClientRect from '@/hooks/useClientRect';
import AnchorPageItem from './Item';
import styles from './index.less';
export interface AnchorsItem {
......@@ -48,7 +49,7 @@ interface IProps {
children?: React.ReactNode,
}
const AnchorPage: React.FC<IProps> = (props: IProps) => {
const AnchorPage = (props: IProps) => {
const {
title,
extra,
......@@ -61,6 +62,16 @@ const AnchorPage: React.FC<IProps> = (props: IProps) => {
const [current, setCurrent] = useState(firstKey);
const [rect, measuredRef] = useClientRect();
const mounted = useRef(false);
useEffect(() => {
mounted.current = true;
return () => {
mounted.current = false;
};
}, []);
const handleBack = () => {
if (onBack) {
onBack();
......@@ -71,11 +82,11 @@ const AnchorPage: React.FC<IProps> = (props: IProps) => {
const handleAnchorChange = (currentActiveLink: string) => {
if (currentActiveLink) {
setCurrent('');
mounted.current && setCurrent('');
return;
}
if (!currentActiveLink) {
setCurrent(firstKey);
mounted.current && setCurrent(firstKey);
}
};
......@@ -144,4 +155,6 @@ AnchorPage.defaultProps = {
children: null,
};
AnchorPage.Item = AnchorPageItem;
export default AnchorPage;
/**
* @Description: 售后退货申请信息
*/
import React from 'react';
const AsReturnProfile: React.FC = () => {
return (
<div>123</div>
);
};
export default AsReturnProfile;
......@@ -7,7 +7,7 @@
*/
import React, { useState, useEffect } from 'react';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
......@@ -41,7 +41,7 @@ export interface FetchParams {
pageSize: number;
};
interface IProps extends MellowCardProps {
interface IProps {
/**
* 获取数据方法
*/
......
......@@ -69,10 +69,6 @@ export type BasicInfoProps = {
*/
memberTypeEnum?: number,
},
/**
* DOM id
*/
id: string,
}
const MemberBasicInfo: React.FC<BasicInfoProps> = (props: BasicInfoProps) => {
......
......@@ -7,7 +7,7 @@
*/
import React, { useState, useEffect } from 'react';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
......@@ -44,7 +44,7 @@ export type ReponseType = {
totalCount: number,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 数据
*/
......
......@@ -10,11 +10,11 @@ import React, { useState } from 'react';
import { Row, Col, Descriptions, Button, message } from 'antd';
import { useIntl } from 'umi';
import { getMemberAbilityMaintenanceDetailBasicChannel, GetMemberAbilityMaintenanceDetailBasicChannelResponse, postMemberAbilityMaintenanceDetailBasicChannelUpdate } from '@/services/MemberV2Api';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import ModifyChannelDrawer, { ValueType } from '../ModifyChannelDrawer';
import styles from './index.less';
export type ChannelInfoProps = MellowCardProps & {
export type ChannelInfoProps = {
/**
* 数据
*/
......
......@@ -13,7 +13,7 @@ import {
ValidateNodeResult,
} from '@formily/antd';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import { useLinkageUtils } from '@/utils/formEffectUtils';
import NiceForm from '@/components/NiceForm';
import { schema } from './schema';
......@@ -60,7 +60,7 @@ export interface ChannelRefHandle {
validate: () => Promise<Promise<ValidateNodeResult>>,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 渠道信息
*/
......
......@@ -11,13 +11,13 @@ import { Radio, Checkbox } from '@formily/antd-components';
import { createAsyncFormActions, FormEffectHooks } from '@formily/antd';
import { ValidateNodeResult } from '@formily/validator';
import NiceForm from '@/components/NiceForm';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import { schema, GroupItem } from './schema';
import AreaSelect from '../AreaSelect';
export type DepositValueType = { [key: string]: any }
interface IProps extends MellowCardProps {
interface IProps {
/**
* 资料组
*/
......
......@@ -7,7 +7,7 @@
*/
import React, { useEffect, useState } from 'react';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
......@@ -50,7 +50,7 @@ export type ReponseType = {
data: ListItemType[],
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 获取列表数据方法
*/
......
......@@ -10,7 +10,7 @@ import { Descriptions } from 'antd';
import { useIntl } from 'umi';
import { FileOutlined } from '@ant-design/icons';
import classNames from 'classnames';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import styles from './index.less';
export type ValueType = {
......@@ -32,7 +32,7 @@ export type ValueType = {
permanent: number,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 数据
*/
......
......@@ -7,7 +7,7 @@
*/
import React, { useEffect, useState } from 'react';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
......@@ -54,7 +54,7 @@ export type ReponseType = {
data: ListItemType[],
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 获取列表数据方法
*/
......
......@@ -6,7 +6,7 @@
* @Description: Card 列表组件
*/
import React, { useEffect, useState } from 'react';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
......@@ -22,7 +22,7 @@ export type ReponseType<T> = {
data: T[],
}
interface IProps<T> extends MellowCardProps {
interface IProps<T> {
/**
* Card 标题
*/
......
......@@ -15,7 +15,7 @@ import { useIntl } from 'umi';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
import { Pie } from '@/components/Charts';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import Mood from '@/components/Mood';
import ButtonSwitch from '@/components/ButtonSwitch';
import styles from './index.less';
......@@ -52,7 +52,7 @@ export interface ListItem {
dealTime: string;
};
interface IProps extends MellowCardProps {
interface IProps {
/**
* 标题
*/
......
......@@ -9,7 +9,7 @@ import React, { useState, useEffect } from 'react';
import { useIntl } from 'umi';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import ButtonSwitch from '@/components/ButtonSwitch';
const PAGE_SIZE = 5;
......@@ -70,7 +70,7 @@ export interface ListItem {
result: string
};
interface IProps extends MellowCardProps {
interface IProps {
/**
* 数据源
*/
......
......@@ -15,11 +15,11 @@ import {
} from 'antd';
import { useIntl } from 'umi';
import { normalizeFiledata } from '@/utils';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import UploadFiles from '@/components/UploadFiles/UploadFiles';
import styles from './index.less';
export type InvestigateInfoProps = MellowCardProps & {
export type InvestigateInfoProps = {
/**
* 数据
*/
......
......@@ -12,10 +12,10 @@ import {
import { useIntl } from 'umi';
import classNames from 'classnames';
import { MiniArea } from '@/components/Charts';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import styles from './index.less';
interface IProps extends MellowCardProps {
interface IProps {
/**
* 当前等级信息
*/
......
......@@ -15,7 +15,7 @@ import {
import { DatePicker, Checkbox } from '@formily/antd-components';
import { normalizeFiledata } from '@/utils';
import NiceForm from '@/components/NiceForm';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import { schema } from './schema';
import { useBusinessEffects } from '../QualitiesUploadFormItem/effects';
import QualitiesUpload from '../QualitiesUpload';
......@@ -78,7 +78,7 @@ export type ValueType = {
permanent: number,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 值
*/
......
......@@ -8,7 +8,7 @@
import React from 'react';
import { useIntl } from 'umi';
import classNames from 'classnames';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import styles from './index.less';
import equity_1 from '@/assets/imgs/equity-1.png';
import equity_2 from '@/assets/imgs/equity-2.png';
......@@ -36,7 +36,7 @@ const imgMap = {
5: equity_5,
}
interface IProps extends MellowCardProps {
interface IProps {
data: {
acquireWay: string,
/**
......
......@@ -13,7 +13,7 @@ import IMG_EQUITY4 from '@/assets/imgs/equity-4.png';
import IMG_EQUITY5 from '@/assets/imgs/equity-5.png';
import styles from './index.less';
interface IProps extends HTMLAttributes<HTMLDivElement> {
interface IProps {
/**
* 权益信息
*/
......
......@@ -7,7 +7,7 @@
*/
import React, { useState, useEffect } from 'react';
import { useIntl } from 'umi';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
import ButtonSwitch from '@/components/ButtonSwitch';
......@@ -69,7 +69,7 @@ export interface FetchParams {
pageSize: number;
};
interface IProps extends MellowCardProps {
interface IProps {
/**
* 获取获取记录
*/
......
......@@ -74,7 +74,7 @@ const ContentBox: React.FC<ContentBoxProps> = ({
</div>
);
interface IProps extends HTMLAttributes<HTMLDivElement> {
interface IProps {
/**
* 饼图数据
*/
......
......@@ -164,22 +164,23 @@ const MemberMaintainBlack: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -188,15 +189,16 @@ const MemberMaintainBlack: React.FC<{}> = () => {
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -207,24 +209,25 @@ const MemberMaintainBlack: React.FC<{}> = () => {
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -232,15 +235,16 @@ const MemberMaintainBlack: React.FC<{}> = () => {
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
/>
</AnchorPage.Item>
</Col>
</Row>
</AnchorPage>
......
......@@ -11,6 +11,7 @@ import { Row, Col, Spin } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityMaintenanceDetailAppraisalPage, getMemberAbilityMaintenanceDetailInspectPage, getMemberAbilityMaintenanceDetailRecord, GetMemberAbilityMaintenanceDetailRecordResponse, getMemberAbilityMaintenanceDetailRectifyPage } from '@/services/MemberV2Api';
import { EditableColumns } from '@/components/PolymericTable/interface';
import AnchorPage from '@/components/AnchorPage';
import MemberDocCategory from '../../components/MemberDocCategory';
import MemberDocIncomingInfo from '../../components/MemberDocIncomingInfo';
import MemberDocQualification from '../../components/MemberDocQualification';
......@@ -261,58 +262,64 @@ const MemberArchiveInfo = () => {
<Row gutter={[16, 16]}>
{/* 分类信息 */}
<Col span={24}>
<MemberDocCategory
dataSource={archiveInfo?.classification}
validateId={validateId}
onModifyAfter={handleModifyAfter}
id="categoryInfo"
/>
<AnchorPage.Item itemKey="categoryInfo">
<MemberDocCategory
dataSource={archiveInfo?.classification}
validateId={validateId}
onModifyAfter={handleModifyAfter}
/>
</AnchorPage.Item>
</Col>
{/* 入库信息 */}
<Col span={24}>
<MemberDocIncomingInfo
dataSource={archiveInfo?.depositDetails}
id="depositDetails"
/>
<AnchorPage.Item itemKey="depositDetails">
<MemberDocIncomingInfo
dataSource={archiveInfo?.depositDetails}
/>
</AnchorPage.Item>
</Col>
{/* 资质证明 */}
<Col span={24}>
<MemberDocQualification
dataSource={archiveInfo?.qualities}
id="qualitiesInfo"
/>
<AnchorPage.Item itemKey="qualitiesInfo">
<MemberDocQualification
dataSource={archiveInfo?.qualities}
/>
</AnchorPage.Item>
</Col>
{/* 考察信息 */}
<Col span={24}>
<MemberDocTableList<InspectListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.inspect' })}
columns={inspectionColumns}
fetchList={getInspectList}
id="inspectInfo"
/>
<AnchorPage.Item itemKey="inspectInfo">
<MemberDocTableList<InspectListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.inspect' })}
columns={inspectionColumns}
fetchList={getInspectList}
/>
</AnchorPage.Item>
</Col>
{/* 考评信息 */}
<Col span={24}>
<MemberDocTableList<AppraisalListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.appraisal' })}
columns={AppraisalColumns}
fetchList={getAppraisalList}
id="appraisalInfo"
/>
<AnchorPage.Item itemKey="appraisalInfo">
<MemberDocTableList<AppraisalListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.appraisal' })}
columns={AppraisalColumns}
fetchList={getAppraisalList}
/>
</AnchorPage.Item>
</Col>
{/* 整改信息 */}
<Col span={24}>
<MemberDocTableList<RectifyListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.rectify' })}
columns={RectifyColumns}
fetchList={getRectifyList}
id="rectifyInfo"
/>
<AnchorPage.Item itemKey="rectifyInfo">
<MemberDocTableList<RectifyListItemType>
title={intl.formatMessage({ id: 'member.management.maintain.detail.archivalInfo.rectify' })}
columns={RectifyColumns}
fetchList={getRectifyList}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -22,6 +22,7 @@ import {
import AuditProcess from '@/components/AuditProcess';
import CustomizeColumn from '@/components/CustomizeColumn';
import FlowRecords from '@/components/FlowRecords';
import AnchorPage from '@/components/AnchorPage';
import {
MEMBER_OUTER_COLUMNS,
MEMBER_INNER_COLUMNS,
......@@ -70,33 +71,35 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
<Row gutter={[16, 16]}>
{/* 会员审核流程 */}
<Col span={24}>
<AuditProcess
outerVerifySteps={memberInfo?.outerVerifySteps}
outerVerifyCurrent={memberInfo?.currentOuterStep}
innerVerifySteps={memberInfo?.innerVerifySteps}
innerVerifyCurrent={memberInfo?.currentInnerStep}
id="verifySteps"
/>
<AnchorPage.Item itemKey="verifySteps">
<AuditProcess
outerVerifySteps={memberInfo?.outerVerifySteps}
outerVerifyCurrent={memberInfo?.currentOuterStep}
innerVerifySteps={memberInfo?.innerVerifySteps}
innerVerifyCurrent={memberInfo?.currentInnerStep}
/>
</AnchorPage.Item>
</Col>
{/* 基本信息 */}
<Col span={24}>
<BasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.createTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<BasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.createTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -105,17 +108,18 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
validateId={memberInfo?.validateId}
onModifyAfter={handleModifyAfter}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
validateId={memberInfo?.validateId}
onModifyAfter={handleModifyAfter}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -126,24 +130,25 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -151,15 +156,16 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -9,6 +9,7 @@ import React from 'react';
import { Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityMaintenanceDetailDepositHistoryPage } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import ChangedInfo, { FetchParamsType, ReponseType } from '../../components/MemberChangedInfo';
const MemberChangedInfo = () => {
......@@ -36,7 +37,9 @@ const MemberChangedInfo = () => {
<Row gutter={[16, 16]}>
{/* 分类信息 */}
<Col span={24}>
<ChangedInfo fetchList={getInspectList} id="changedInfo" />
<AnchorPage.Item itemKey="changedInfo">
<ChangedInfo fetchList={getInspectList} />
</AnchorPage.Item>
</Col>
</Row>
);
......
......@@ -9,6 +9,7 @@ import React, { useEffect, useState } from 'react';
import { Spin, Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityMaintenanceDetailRightBasic, GetMemberAbilityMaintenanceDetailRightBasicResponse, getMemberAbilityMaintenanceDetailRightHistoryPage, getMemberAbilityMaintenanceDetailRightSpendHistoryPage } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import MemberRightsAnalysis from '../../components/MemberRightsAnalysis';
import MemberRights from '../../components/MemberRights';
import MemberRightsRecords, { ReceivedData, UsageData } from '../../components/MemberRightsRecords';
......@@ -74,31 +75,34 @@ const MemberRightsInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberRightsAnalysis
data={{
sumReturnMoney: equityInfo?.sumReturnMoney,
sumUsedPoint: equityInfo?.sumUsedPoint,
sumPoint: equityInfo?.sumPoint,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberRightsAnalysis
data={{
sumReturnMoney: equityInfo?.sumReturnMoney,
sumUsedPoint: equityInfo?.sumUsedPoint,
sumPoint: equityInfo?.sumPoint,
}}
/>
</AnchorPage.Item>
</Col>
{/* 会员权益 */}
<Col span={24}>
<MemberRights
data={equityInfo?.rights}
id="memberEquity"
/>
<AnchorPage.Item itemKey="memberEquity">
<MemberRights
data={equityInfo?.rights}
/>
</AnchorPage.Item>
</Col>
{/* 会员权益 */}
<Col span={24}>
<MemberRightsRecords
fetchReceivedList={getReceivedList}
fetchUsageList={getUsageList}
id="equityRecords"
/>
<AnchorPage.Item itemKey="equityRecords">
<MemberRightsRecords
fetchReceivedList={getReceivedList}
fetchUsageList={getUsageList}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -9,6 +9,7 @@ import React, { useState, useEffect } from 'react';
import { Spin, Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityMaintenanceDetailLevelBasic, GetMemberAbilityMaintenanceDetailLevelBasicResponse, getMemberAbilityMaintenanceDetailLevelHistoryPage } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import LevelInfo from '../../components/MemberLevelInfo';
import MemberActivePointRecords, { ListItem } from '../../components/MemberActivePointRecords';
......@@ -62,24 +63,26 @@ const MemberLevelInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 会员等级信息 */}
<Col span={24}>
<LevelInfo
levelInfo={{
level: levelInfo?.levelTag,
score: levelInfo?.score,
nextLevel: levelInfo?.nextLevelTag,
nextScore: levelInfo?.nextScore,
}}
chartData={levelInfo?.points}
id="memberLevel"
/>
<AnchorPage.Item itemKey="memberLevel">
<LevelInfo
levelInfo={{
level: levelInfo?.levelTag,
score: levelInfo?.score,
nextLevel: levelInfo?.nextLevelTag,
nextScore: levelInfo?.nextScore,
}}
chartData={levelInfo?.points}
/>
</AnchorPage.Item>
</Col>
{/* 会员等级信息 */}
<Col span={24}>
<MemberActivePointRecords
fetchList={getActivePointRecords}
id="activePoints"
/>
<AnchorPage.Item itemKey="activePoints">
<MemberActivePointRecords
fetchList={getActivePointRecords}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -10,6 +10,7 @@ import { useIntl } from 'umi';
import { Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityMaintenanceDetailCreditAftersaleHistoryPage, getMemberAbilityMaintenanceDetailCreditAftersaleSummary, getMemberAbilityMaintenanceDetailCreditBasic, getMemberAbilityMaintenanceDetailCreditComplainHistoryPage, getMemberAbilityMaintenanceDetailCreditComplainSummary, getMemberAbilityMaintenanceDetailCreditTradeHistoryPage, getMemberAbilityMaintenanceDetailCreditTradeSummary } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import MemberSincerityAnalysis from '../../components/MemberSincerityAnalysis';
import MemberEvaluation, { EstimateSumItems, ListItem } from '../../components/MemberEvaluation';
import MemberFeedbackRecords, { ListItem as FeedbackItem, AnalysisData } from '../../components/MemberFeedbackRecords';
......@@ -205,43 +206,47 @@ const MemberSincerityInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberSincerityAnalysis
creditData={basicInfo?.pieData}
integralItems={basicInfo?.items}
loading={basicInfoLoading}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberSincerityAnalysis
creditData={basicInfo?.pieData}
integralItems={basicInfo?.items}
loading={basicInfoLoading}
/>
</AnchorPage.Item>
</Col>
{/* 交易评价 */}
<Col span={24}>
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.orderEvaluation' })}
analysis={orderEstimateSum}
loading={orderEstimateSumLoading}
fetchEvaluationList={getOrderEvaluationList}
id="orderEvaluation"
/>
<AnchorPage.Item itemKey="orderEvaluation">
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.orderEvaluation' })}
analysis={orderEstimateSum}
loading={orderEstimateSumLoading}
fetchEvaluationList={getOrderEvaluationList}
/>
</AnchorPage.Item>
</Col>
{/* 售后评价 */}
<Col span={24}>
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.afterServiceEvaluation' })}
analysis={afterServiceEstimateSum}
loading={afterServiceEstimateSumLoading}
fetchEvaluationList={getAfterServiceEvaluationList}
id="afterServiceEvaluation"
/>
<AnchorPage.Item itemKey="afterServiceEvaluation">
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.afterServiceEvaluation' })}
analysis={afterServiceEstimateSum}
loading={afterServiceEstimateSumLoading}
fetchEvaluationList={getAfterServiceEvaluationList}
/>
</AnchorPage.Item>
</Col>
{/* 反馈记录 */}
<Col span={24}>
<MemberFeedbackRecords
analysis={feedbackSum}
fetchList={getFeedbackList}
id="feedbackRecords"
/>
<AnchorPage.Item itemKey="feedbackRecords">
<MemberFeedbackRecords
analysis={feedbackSum}
fetchList={getFeedbackList}
/>
</AnchorPage.Item>
</Col>
</Row>
</>
......
......@@ -160,22 +160,23 @@ const MemberMaintainEliminate: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -184,15 +185,16 @@ const MemberMaintainEliminate: React.FC<{}> = () => {
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -203,24 +205,25 @@ const MemberMaintainEliminate: React.FC<{}> = () => {
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -228,15 +231,16 @@ const MemberMaintainEliminate: React.FC<{}> = () => {
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
/>
</AnchorPage.Item>
</Col>
</Row>
</AnchorPage>
......
......@@ -154,22 +154,23 @@ const MemberFrozen: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -178,15 +179,16 @@ const MemberFrozen: React.FC<{}> = () => {
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -197,24 +199,25 @@ const MemberFrozen: React.FC<{}> = () => {
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -222,15 +225,16 @@ const MemberFrozen: React.FC<{}> = () => {
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
/>
</AnchorPage.Item>
</Col>
</Row>
......
......@@ -154,22 +154,23 @@ const MemberMaintainUnfreeze: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberBasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -178,15 +179,16 @@ const MemberMaintainUnfreeze: React.FC<{}> = () => {
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -197,24 +199,25 @@ const MemberMaintainUnfreeze: React.FC<{}> = () => {
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -222,15 +225,17 @@ const MemberMaintainUnfreeze: React.FC<{}> = () => {
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
</AnchorPage.Item>
</Col>
</Row>
......
......@@ -11,6 +11,7 @@ import { Row, Col, Spin } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityInfoDetailAppraisalPage, getMemberAbilityInfoDetailArchives, GetMemberAbilityInfoDetailArchivesResponse, getMemberAbilityInfoDetailRectifyPage, getMemberAbilityMaintenanceDetailInspectPage } from '@/services/MemberV2Api';
import { EditableColumns } from '@/components/PolymericTable/interface';
import AnchorPage from '@/components/AnchorPage';
import MemberDocIncomingInfo from '../../components/MemberDocIncomingInfo';
import MemberDocQualification from '../../components/MemberDocQualification';
import MemberDocTableList, { ParamsType, ReponseType } from '../../components/MemberDocTableList';
......@@ -255,38 +256,42 @@ const MemberArchiveInfo = () => {
<Row gutter={[16, 16]}>
{/* 入库信息 */}
<Col span={24}>
<MemberDocIncomingInfo
dataSource={archiveInfo?.depositDetails}
id="depositDetails"
/>
<AnchorPage.Item itemKey="depositDetails">
<MemberDocIncomingInfo
dataSource={archiveInfo?.depositDetails}
/>
</AnchorPage.Item>
</Col>
{/* 资质证明 */}
<Col span={24}>
<MemberDocQualification
dataSource={archiveInfo?.qualities}
id="qualitiesInfo"
/>
<AnchorPage.Item itemKey="qualitiesInfo">
<MemberDocQualification
dataSource={archiveInfo?.qualities}
/>
</AnchorPage.Item>
</Col>
{/* 考评信息 */}
<Col span={24}>
<MemberDocTableList<AppraisalListItemType>
title={intl.formatMessage({ id: 'member.memberQuery.detailed.archiveInfo.AppraisalColumns' })}
columns={AppraisalColumns}
fetchList={getAppraisalList}
id="appraisalInfo"
/>
<AnchorPage.Item itemKey="appraisalInfo">
<MemberDocTableList<AppraisalListItemType>
title={intl.formatMessage({ id: 'member.memberQuery.detailed.archiveInfo.AppraisalColumns' })}
columns={AppraisalColumns}
fetchList={getAppraisalList}
/>
</AnchorPage.Item>
</Col>
{/* 整改信息 */}
<Col span={24}>
<MemberDocTableList<RectifyListItemType>
title={intl.formatMessage({ id: 'member.memberQuery.detailed.archiveInfo.RectifyColumns' })}
columns={RectifyColumns}
fetchList={getRectifyList}
id="rectifyInfo"
/>
<AnchorPage.Item itemKey="rectifyInfo">
<MemberDocTableList<RectifyListItemType>
title={intl.formatMessage({ id: 'member.memberQuery.detailed.archiveInfo.RectifyColumns' })}
columns={RectifyColumns}
fetchList={getRectifyList}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -16,6 +16,7 @@ import {
MEMBER_TYPE_CHANNEL_CORPORATE,
MEMBER_TYPE_CHANNEL_INDIVIDUAL,
} from '@/constants/member';
import AnchorPage from '@/components/AnchorPage';
import AuditProcess from '@/components/AuditProcess';
import CustomizeColumn from '@/components/CustomizeColumn';
import FlowRecords from '@/components/FlowRecords';
......@@ -39,33 +40,35 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
<Row gutter={[16, 16]}>
{/* 会员审核流程 */}
<Col span={24}>
<AuditProcess
outerVerifySteps={memberInfo?.outerVerifySteps}
outerVerifyCurrent={memberInfo?.currentOuterStep}
innerVerifySteps={memberInfo?.innerVerifySteps}
innerVerifyCurrent={memberInfo?.currentInnerStep}
id="verifySteps"
/>
<AnchorPage.Item itemKey="verifySteps">
<AuditProcess
outerVerifySteps={memberInfo?.outerVerifySteps}
outerVerifyCurrent={memberInfo?.currentOuterStep}
innerVerifySteps={memberInfo?.innerVerifySteps}
innerVerifyCurrent={memberInfo?.currentInnerStep}
/>
</AnchorPage.Item>
</Col>
{/* 基本信息 */}
<Col span={24}>
<BasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<BasicInfo
dataSource={{
memberId: memberInfo?.memberId,
memberTypeName: memberInfo?.memberTypeName,
account: memberInfo?.account,
name: memberInfo?.name,
roleName: memberInfo?.roleName,
phone: memberInfo?.phone,
outerStatus: memberInfo?.outerStatus,
outerStatusName: memberInfo?.outerStatusName,
levelTag: memberInfo?.levelTag,
email: memberInfo?.email,
createTime: memberInfo?.registerTime,
}}
/>
</AnchorPage.Item>
</Col>
{/* 渠道信息 */}
......@@ -75,15 +78,16 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
|| memberInfo?.memberTypeEnum === MEMBER_TYPE_CHANNEL_INDIVIDUAL
? (
<Col span={24}>
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
id="channelInfo"
/>
<AnchorPage.Item itemKey="channelInfo">
<MemberChannelInfo
dataSource={{
level: memberInfo?.channelLevelTag,
type: memberInfo?.channelTypeName,
areas: memberInfo?.areas,
desc: memberInfo?.remark,
}}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -94,24 +98,26 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
memberInfo && memberInfo.groups
? memberInfo.groups.map((item, index) => (
<Col span={24} key={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
<AnchorPage.Item itemKey={`group${index}`}>
<CustomizeColumn
title={item.groupName}
data={(
item.elements.map((ele) => ({
title: ele.fieldLocalName,
value: (
ele.fieldType !== 'upload'
? ele.fieldValue
: (
<PicWrap
pics={[ele.fieldValue]}
/>
)
),
}))
)}
id={`group${index}`}
/>
</AnchorPage.Item>
</Col>
))
: null
......@@ -119,15 +125,16 @@ const MemberBasicInfo: React.FC<MemberBasicInfoProps> = ({
{/* 流转记录 */}
<Col span={24}>
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
id="flowRecords"
/>
<AnchorPage.Item itemKey="flowRecords">
<FlowRecords
outerColumns={MEMBER_OUTER_COLUMNS}
innerColumns={MEMBER_INNER_COLUMNS}
outerRowkey="id"
innerRowkey="id"
outerDataSource={memberInfo?.outerHistory}
innerDataSource={memberInfo?.innerHistory}
/>
</AnchorPage.Item>
</Col>
</Row>
);
......
......@@ -9,6 +9,7 @@ import React, { useEffect, useState } from 'react';
import { Spin, Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityInfoDetailRightBasic, getMemberAbilityInfoDetailRightHistoryPage, getMemberAbilityInfoDetailRightSpendHistoryPage, GetMemberAbilityMaintenanceDetailRightBasicResponse } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import MemberRightsAnalysis from '../../components/MemberRightsAnalysis';
import MemberRights from '../../components/MemberRights';
import MemberRightsRecords, { ReceivedData, UsageData } from '../../components/MemberRightsRecords';
......@@ -71,31 +72,34 @@ const MemberRightsInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberRightsAnalysis
data={{
sumReturnMoney: equityInfo?.sumReturnMoney,
sumUsedPoint: equityInfo?.sumUsedPoint,
sumPoint: equityInfo?.sumPoint,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberRightsAnalysis
data={{
sumReturnMoney: equityInfo?.sumReturnMoney,
sumUsedPoint: equityInfo?.sumUsedPoint,
sumPoint: equityInfo?.sumPoint,
}}
/>
</AnchorPage.Item>
</Col>
{/* 会员权益 */}
<Col span={24}>
<MemberRights
data={equityInfo?.rights}
id="memberEquity"
/>
<AnchorPage.Item itemKey="memberEquity">
<MemberRights
data={equityInfo?.rights}
/>
</AnchorPage.Item>
</Col>
{/* 会员权益 */}
<Col span={24}>
<MemberRightsRecords
fetchReceivedList={getReceivedList}
fetchUsageList={getUsageList}
id="equityRecords"
/>
<AnchorPage.Item itemKey="equityRecords">
<MemberRightsRecords
fetchReceivedList={getReceivedList}
fetchUsageList={getUsageList}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -9,6 +9,7 @@ import React, { useState, useEffect } from 'react';
import { Spin, Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityInfoDetailLevelBasic, getMemberAbilityInfoDetailLevelHistoryPage, GetMemberAbilityMaintenanceDetailLevelBasicResponse } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import LevelInfo from '../../components/MemberLevelInfo';
import MemberActivePointRecords, { ListItem } from '../../components/MemberActivePointRecords';
......@@ -60,24 +61,26 @@ const MemberLevelInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 会员等级信息 */}
<Col span={24}>
<LevelInfo
levelInfo={{
level: levelInfo?.levelTag,
score: levelInfo?.score,
nextLevel: levelInfo?.nextLevelTag,
nextScore: levelInfo?.nextScore,
}}
chartData={levelInfo?.points}
id="memberLevel"
/>
<AnchorPage.Item itemKey="memberLevel">
<LevelInfo
levelInfo={{
level: levelInfo?.levelTag,
score: levelInfo?.score,
nextLevel: levelInfo?.nextLevelTag,
nextScore: levelInfo?.nextScore,
}}
chartData={levelInfo?.points}
/>
</AnchorPage.Item>
</Col>
{/* 会员等级信息 */}
<Col span={24}>
<MemberActivePointRecords
fetchList={getActivePointRecords}
id="activePoints"
/>
<AnchorPage.Item itemKey="activePoints">
<MemberActivePointRecords
fetchList={getActivePointRecords}
/>
</AnchorPage.Item>
</Col>
</Row>
</Spin>
......
......@@ -10,6 +10,7 @@ import { useIntl } from 'umi';
import { Row, Col } from 'antd';
import { usePageStatus } from '@/hooks/usePageStatus';
import { getMemberAbilityInfoDetailCreditAftersaleHistoryPage, getMemberAbilityInfoDetailCreditAftersaleSummary, getMemberAbilityInfoDetailCreditBasic, getMemberAbilityInfoDetailCreditComplainHistoryPage, getMemberAbilityInfoDetailCreditComplainSummary, getMemberAbilityInfoDetailCreditTradeHistoryPage, getMemberAbilityInfoDetailCreditTradeSummary } from '@/services/MemberV2Api';
import AnchorPage from '@/components/AnchorPage';
import MemberSincerityAnalysis from '../../components/MemberSincerityAnalysis';
import MemberEvaluation, { EstimateSumItems, ListItem } from '../../components/MemberEvaluation';
import MemberFeedbackRecords, { ListItem as FeedbackItem, AnalysisData } from '../../components/MemberFeedbackRecords';
......@@ -198,43 +199,47 @@ const MemberSincerityInfo: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<MemberSincerityAnalysis
creditData={basicInfo?.pieData}
integralItems={basicInfo?.items}
loading={basicInfoLoading}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<MemberSincerityAnalysis
creditData={basicInfo?.pieData}
integralItems={basicInfo?.items}
loading={basicInfoLoading}
/>
</AnchorPage.Item>
</Col>
{/* 交易评价 */}
<Col span={24}>
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.orderEvaluation' })}
analysis={orderEstimateSum}
loading={orderEstimateSumLoading}
fetchEvaluationList={getOrderEvaluationList}
id="orderEvaluation"
/>
<AnchorPage.Item itemKey="orderEvaluation">
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.orderEvaluation' })}
analysis={orderEstimateSum}
loading={orderEstimateSumLoading}
fetchEvaluationList={getOrderEvaluationList}
/>
</AnchorPage.Item>
</Col>
{/* 售后评价 */}
<Col span={24}>
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.afterServiceEvaluation' })}
analysis={afterServiceEstimateSum}
loading={afterServiceEstimateSumLoading}
fetchEvaluationList={getAfterServiceEvaluationList}
id="afterServiceEvaluation"
/>
<AnchorPage.Item itemKey="afterServiceEvaluation">
<MemberEvaluation
title={intl.formatMessage({ id: 'member.management.maintain.detail.afterServiceEvaluation' })}
analysis={afterServiceEstimateSum}
loading={afterServiceEstimateSumLoading}
fetchEvaluationList={getAfterServiceEvaluationList}
/>
</AnchorPage.Item>
</Col>
{/* 反馈记录 */}
<Col span={24}>
<MemberFeedbackRecords
analysis={feedbackSum}
fetchList={getFeedbackList}
id="feedbackRecords"
/>
<AnchorPage.Item itemKey="feedbackRecords">
<MemberFeedbackRecords
analysis={feedbackSum}
fetchList={getFeedbackList}
/>
</AnchorPage.Item>
</Col>
</Row>
</>
......
......@@ -6,12 +6,12 @@
* @Description: 适用品牌列表
*/
import React from 'react';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import ApplicableList, { ApplicableListProps } from '../../../components/ApplicableList';
import { useIntl} from 'umi'
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'>, MellowCardProps {}
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'> {}
const ApplicableCategories: React.FC<IProps> = (props) => {
const intl = useIntl();
......
......@@ -6,11 +6,11 @@
* @Description: 适用品类列表
*/
import React from 'react';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import ApplicableList, { ApplicableListProps } from '../../../components/ApplicableList';
import { useIntl} from 'umi'
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'>, MellowCardProps {}
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'> {}
const ApplicableCategories: React.FC<IProps> = (props) => {
const intl = useIntl();
......
......@@ -6,7 +6,7 @@
* @Description: 适用商品
*/
import React from 'react';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable from '@/components/PolymericTable';
import { EditableColumns } from '@/components/PolymericTable/interface';
import { normalizeUnitPrice } from '../../utils';
......@@ -51,7 +51,7 @@ export type ListItemDataType = {
},
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 数据
*/
......
......@@ -10,7 +10,7 @@ import {
SchemaForm,
SchemaMarkupField as Field,
} from '@formily/antd';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import TofuCheckGroup from '../../../components/FormilyFieldItem/TofuCheckGroup';
import MemberCheckboxGroup from '../../../components/FormilyFieldItem/MemberCheckboxGroup';
import { OptionItemType as MemberOptionItemType } from '../../../components/MemberCheckboxGroup';
......@@ -29,7 +29,7 @@ export type SuitableMemberType = {
name: string,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 适用会员信息
*/
......
......@@ -6,11 +6,11 @@
* @Description: 适用商城列表
*/
import React from 'react';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import ApplicableList, { ApplicableListProps } from '../../../components/ApplicableList';
import { useIntl} from 'umi'
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'>, MellowCardProps {}
export interface IProps extends Pick<ApplicableListProps, 'options' | 'value'> {}
const ApplicableShopList: React.FC<IProps> = (props) => {
const intl = useIntl();
......
......@@ -230,60 +230,64 @@ const MerchantCouponDetail: React.FC<IProps> = (props) => {
<Row gutter={[16, 16]}>
{/* 流转记录 */}
<Col span={24}>
<AuditProcess
innerVerifySteps={dataSource?.taskSteps.map((item) => ({
step: item.step,
stepName: item.taskName,
roleName: item.roleName,
status: item.isExecute ? 'finish' : 'wait',
}))}
innerVerifyCurrent={findLastIndexFlowState(dataSource?.taskSteps)}
id="verifySteps"
/>
<AnchorPage.Item itemKey="verifySteps">
<AuditProcess
innerVerifySteps={dataSource?.taskSteps.map((item) => ({
step: item.step,
stepName: item.taskName,
roleName: item.roleName,
status: item.isExecute ? 'finish' : 'wait',
}))}
innerVerifyCurrent={findLastIndexFlowState(dataSource?.taskSteps)}
/>
</AnchorPage.Item>
</Col>
{/* 基本信息 */}
<Col span={24}>
<BacisInfo
dataSource={{
id: dataSource?.id,
type: dataSource?.type,
typeName: dataSource?.typeName,
releaseTimeStart: dataSource?.releaseTimeStart,
releaseTimeEnd: dataSource?.releaseTimeEnd,
name: dataSource?.name,
denomination: dataSource?.denomination,
statusName: dataSource?.statusName,
quantity: dataSource?.quantity,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<BacisInfo
dataSource={{
id: dataSource?.id,
type: dataSource?.type,
typeName: dataSource?.typeName,
releaseTimeStart: dataSource?.releaseTimeStart,
releaseTimeEnd: dataSource?.releaseTimeEnd,
name: dataSource?.name,
denomination: dataSource?.denomination,
statusName: dataSource?.statusName,
quantity: dataSource?.quantity,
}}
/>
</AnchorPage.Item>
</Col>
{/* 优惠券规则 */}
<Col span={24}>
<CouponRules
dataSource={{
getWay: dataSource?.getWay,
getWayName: dataSource?.getWayName,
effectiveTimeStart: dataSource?.effectiveTimeStart,
effectiveTimeEnd: dataSource?.effectiveTimeEnd,
invalidDay: dataSource?.invalidDay,
useConditionMoney: dataSource?.useConditionMoney,
useConditionDesc: dataSource?.useConditionDesc,
conditionGetDay: dataSource?.conditionGetDay,
conditionGetTotal: dataSource?.conditionGetTotal,
}}
id="couponRules"
/>
<AnchorPage.Item itemKey="couponRules">
<CouponRules
dataSource={{
getWay: dataSource?.getWay,
getWayName: dataSource?.getWayName,
effectiveTimeStart: dataSource?.effectiveTimeStart,
effectiveTimeEnd: dataSource?.effectiveTimeEnd,
invalidDay: dataSource?.invalidDay,
useConditionMoney: dataSource?.useConditionMoney,
useConditionDesc: dataSource?.useConditionDesc,
conditionGetDay: dataSource?.conditionGetDay,
conditionGetTotal: dataSource?.conditionGetTotal,
}}
/>
</AnchorPage.Item>
</Col>
{/* 适用商城 */}
<Col span={24}>
<ApplicableShopList
options={shopList}
id="applicableShopList"
/>
<AnchorPage.Item itemKey="applicableShopList">
<ApplicableShopList
options={shopList}
/>
</AnchorPage.Item>
</Col>
{/* 适用商品 */}
......@@ -293,10 +297,11 @@ const MerchantCouponDetail: React.FC<IProps> = (props) => {
|| dataSource?.type === MERCHANT_COUPON_TYPE_VOUCHER
? (
<Col span={24}>
<ApplicableGoods
dataSource={dataSource?.suitableCommoditySkuList}
id="applicableGoods"
/>
<AnchorPage.Item itemKey="applicableGoods">
<ApplicableGoods
dataSource={dataSource?.suitableCommoditySkuList}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -309,10 +314,11 @@ const MerchantCouponDetail: React.FC<IProps> = (props) => {
dataSource?.type === MERCHANT_COUPON_TYPE_CATEGORY
? (
<Col span={24}>
<ApplicableCategories
options={categories}
id="applicableCategories"
/>
<AnchorPage.Item itemKey="applicableCategories">
<ApplicableCategories
options={categories}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -325,10 +331,11 @@ const MerchantCouponDetail: React.FC<IProps> = (props) => {
dataSource?.type === MERCHANT_COUPON_TYPE_BRAND
? (
<Col span={24}>
<ApplicableBrands
options={brandList}
id="applicableBrands"
/>
<AnchorPage.Item itemKey="applicableBrands">
<ApplicableBrands
options={brandList}
/>
</AnchorPage.Item>
</Col>
)
: null
......@@ -337,21 +344,23 @@ const MerchantCouponDetail: React.FC<IProps> = (props) => {
{/* 适用用户 */}
<Col span={24}>
<ApplicableMember
applicableMember={{
suitableMemberTypes: dataSource?.suitableMemberTypes,
applicationMemberLevel: dataSource?.suitableMemberLevelTypes.map(({ roleTypeName, memberLevelTypeName, ...rest }) => ({ roleName: roleTypeName, levelTypeName: memberLevelTypeName, ...rest })),
}}
id="applicableMember"
/>
<AnchorPage.Item itemKey="applicableMember">
<ApplicableMember
applicableMember={{
suitableMemberTypes: dataSource?.suitableMemberTypes,
applicationMemberLevel: dataSource?.suitableMemberLevelTypes.map(({ roleTypeName, memberLevelTypeName, ...rest }) => ({ roleName: roleTypeName, levelTypeName: memberLevelTypeName, ...rest })),
}}
/>
</AnchorPage.Item>
</Col>
{/* 流转记录 */}
<Col span={24}>
<InnerFlowRecords
dataSource={dataSource?.history.map((item, index) => ({ ...item, id: index }))}
id="innerFlowRecords"
/>
<AnchorPage.Item itemKey="innerFlowRecords">
<InnerFlowRecords
dataSource={dataSource?.history.map((item, index) => ({ ...item, id: index }))}
/>
</AnchorPage.Item>
</Col>
</Row>
</AnchorPage>
......
......@@ -21,7 +21,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import PolymericTable, { FetchParamsType } from '@/components/PolymericTable';
import { querySchema, drawerSchema } from './schema';
import { postMemberManageMarketingSuitablePage, postMemberManageMarketingSuitablePageItems } from '@/services/MemberV2Api';
......@@ -85,7 +85,7 @@ type MemberListItemType = {
roleId: number,
}
interface IProps extends Omit<MellowCardProps, 'onChange'> {
interface IProps {
/**
* 适用会员等级类型
*/
......
......@@ -56,10 +56,6 @@ export interface IProps {
* 数据源
*/
dataSource: FlowItem[],
/**
* id
*/
id: any,
}
const InnerFlowRecords: React.FC<IProps> = (props) => {
......
......@@ -15,7 +15,7 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import NiceForm from '@/components/NiceForm';
import MellowCard, { MellowCardProps } from '@/components/MellowCard';
import MellowCard from '@/components/MellowCard';
import { querySchema } from './schema';
import { getMarketingCouponWaiteExecuteDetailPage, getMarketingCouponWaiteExecuteDetailPageCondition } from '@/services/MarketingV2Api';
import { useIntl} from 'umi'
......@@ -111,7 +111,7 @@ export type FetchExtraParams = {
shopId: number,
}
interface IProps extends MellowCardProps {
interface IProps {
/**
* 优惠券id
*/
......
......@@ -114,48 +114,51 @@ const MerchantCouponAnalysisDeliver: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 基本信息 */}
<Col span={24}>
<BacisInfo
dataSource={{
id: couponInfo?.id,
type: couponInfo?.type,
typeName: couponInfo?.typeName,
releaseTimeStart: couponInfo?.releaseTimeStart,
releaseTimeEnd: couponInfo?.releaseTimeEnd,
name: couponInfo?.name,
denomination: couponInfo?.denomination,
statusName: couponInfo?.statusName,
quantity: couponInfo?.quantity,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<BacisInfo
dataSource={{
id: couponInfo?.id,
type: couponInfo?.type,
typeName: couponInfo?.typeName,
releaseTimeStart: couponInfo?.releaseTimeStart,
releaseTimeEnd: couponInfo?.releaseTimeEnd,
name: couponInfo?.name,
denomination: couponInfo?.denomination,
statusName: couponInfo?.statusName,
quantity: couponInfo?.quantity,
}}
/>
</AnchorPage.Item>
</Col>
{/* 优惠券规则 */}
<Col span={24}>
<CouponRules
dataSource={{
getWay: couponInfo?.getWay,
getWayName: couponInfo?.getWayName,
effectiveTimeStart: couponInfo?.effectiveTimeStart,
effectiveTimeEnd: couponInfo?.effectiveTimeEnd,
invalidDay: couponInfo?.invalidDay,
useConditionMoney: couponInfo?.useConditionMoney,
useConditionDesc: couponInfo?.useConditionDesc,
conditionGetDay: couponInfo?.conditionGetDay,
conditionGetTotal: couponInfo?.conditionGetTotal,
}}
id="couponRules"
/>
<AnchorPage.Item itemKey="couponRules">
<CouponRules
dataSource={{
getWay: couponInfo?.getWay,
getWayName: couponInfo?.getWayName,
effectiveTimeStart: couponInfo?.effectiveTimeStart,
effectiveTimeEnd: couponInfo?.effectiveTimeEnd,
invalidDay: couponInfo?.invalidDay,
useConditionMoney: couponInfo?.useConditionMoney,
useConditionDesc: couponInfo?.useConditionDesc,
conditionGetDay: couponInfo?.conditionGetDay,
conditionGetTotal: couponInfo?.conditionGetTotal,
}}
/>
</AnchorPage.Item>
</Col>
{/* 发券明细 */}
<Col span={24}>
<DeliverCoupon
memberList={couponInfo?.memberList}
suitableMemberLevelTypes={couponInfo?.suitableMemberLevelTypes}
onChange={handleDeliverChange}
id="deliverCoupon"
/>
<AnchorPage.Item itemKey="deliverCoupon">
<DeliverCoupon
memberList={couponInfo?.memberList}
suitableMemberLevelTypes={couponInfo?.suitableMemberLevelTypes}
onChange={handleDeliverChange}
/>
</AnchorPage.Item>
</Col>
</Row>
</AnchorPage>
......
......@@ -76,60 +76,65 @@ const MerchantCouponAnalysisDetail: React.FC<{}> = () => {
<Row gutter={[16, 16]}>
{/* 流转记录 */}
<Col span={24}>
<AuditProcess
innerVerifySteps={couponInfo?.taskSteps.map((item) => ({
step: item.step,
stepName: item.taskName,
roleName: item.roleName,
status: item.isExecute ? 'finish' : 'wait',
}))}
innerVerifyCurrent={findLastIndexFlowState(couponInfo?.taskSteps)}
id="verifySteps"
/>
<AnchorPage.Item itemKey="verifySteps">
<AuditProcess
innerVerifySteps={couponInfo?.taskSteps.map((item) => ({
step: item.step,
stepName: item.taskName,
roleName: item.roleName,
status: item.isExecute ? 'finish' : 'wait',
}))}
innerVerifyCurrent={findLastIndexFlowState(couponInfo?.taskSteps)}
id="verifySteps"
/>
</AnchorPage.Item>
</Col>
{/* 基本信息 */}
<Col span={24}>
<BacisInfo
dataSource={{
id: couponInfo?.id,
type: couponInfo?.type,
typeName: couponInfo?.typeName,
releaseTimeStart: couponInfo?.releaseTimeStart,
releaseTimeEnd: couponInfo?.releaseTimeEnd,
name: couponInfo?.name,
denomination: couponInfo?.denomination,
statusName: couponInfo?.statusName,
quantity: couponInfo?.quantity,
}}
id="basicInfo"
/>
<AnchorPage.Item itemKey="basicInfo">
<BacisInfo
dataSource={{
id: couponInfo?.id,
type: couponInfo?.type,
typeName: couponInfo?.typeName,
releaseTimeStart: couponInfo?.releaseTimeStart,
releaseTimeEnd: couponInfo?.releaseTimeEnd,
name: couponInfo?.name,
denomination: couponInfo?.denomination,
statusName: couponInfo?.statusName,
quantity: couponInfo?.quantity,
}}
/>
</AnchorPage.Item>
</Col>
{/* 优惠券规则 */}
<Col span={24}>
<CouponRules
dataSource={{
getWay: couponInfo?.getWay,
getWayName: couponInfo?.getWayName,
effectiveTimeStart: couponInfo?.effectiveTimeStart,
effectiveTimeEnd: couponInfo?.effectiveTimeEnd,
invalidDay: couponInfo?.invalidDay,
useConditionMoney: couponInfo?.useConditionMoney,
useConditionDesc: couponInfo?.useConditionDesc,
conditionGetDay: couponInfo?.conditionGetDay,
conditionGetTotal: couponInfo?.conditionGetTotal,
}}
id="couponRules"
/>
<AnchorPage.Item itemKey="couponRules">
<CouponRules
dataSource={{
getWay: couponInfo?.getWay,
getWayName: couponInfo?.getWayName,
effectiveTimeStart: couponInfo?.effectiveTimeStart,
effectiveTimeEnd: couponInfo?.effectiveTimeEnd,
invalidDay: couponInfo?.invalidDay,
useConditionMoney: couponInfo?.useConditionMoney,
useConditionDesc: couponInfo?.useConditionDesc,
conditionGetDay: couponInfo?.conditionGetDay,
conditionGetTotal: couponInfo?.conditionGetTotal,
}}
/>
</AnchorPage.Item>
</Col>
{/* 优惠券规则 */}
<Col span={24}>
<RunningInfo
couponId={+id}
id="runningInfo"
/>
<AnchorPage.Item itemKey="runningInfo">
<RunningInfo
couponId={+id}
/>
</AnchorPage.Item>
</Col>
</Row>
</AnchorPage>
......
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