Commit 61ba864a authored by XieZhiXiong's avatar XieZhiXiong

chore: 删除无用的文件

parent af4ab061
import React from 'react';
import { usePageStatus } from '@/hooks/usePageStatus';
import DetailInfo from './components/DetailInfo';
const AuditPrSubmit: React.FC = () => {
const { id, validateId } = usePageStatus();
return (
<DetailInfo id={id} validateId={validateId} isEdit />
);
};
export default AuditPrSubmit;
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-09-07 16:33:12
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-21 17:39:44
* @Description:
*/
import { ISchema } from '@formily/antd';
export const channelSchema: ISchema = {
type: 'object',
properties: {
MEGA_LAYOUT1: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
labelWidth: 128,
labelAlign: 'left',
full: true,
grid: true,
autoRow: true,
columns: 2,
},
properties: {
channelLevel: {
type: 'text',
title: '渠道级别',
},
channelTypeId: {
type: 'string',
enum: [],
title: '渠道类型',
required: true,
},
MEGA_LAYOUT2: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
inline: true,
},
properties: {
areas: {
type: 'array',
title: '代理城市',
required: true,
'x-component': 'CustomAddArray',
default: [],
items: {
type: 'object',
properties: {
pcode: {
type: 'string',
enum: [],
'x-component-props': {
allowClear: true,
},
},
ccode: {
type: 'string',
enum: [],
'x-component-props': {
allowClear: true,
},
}
}
}
},
},
},
remark: {
type: 'string',
title: '渠道描述',
'x-component': 'TextArea',
'x-component-props': {
rows: 5,
placeholder: '最大200个字符,100个汉字',
},
'x-rules': [
{
limitByte: true, // 自定义校验规则
maxByte: 200,
}
],
},
},
},
},
};
\ No newline at end of file
import React, { useState, useEffect, useRef } from 'react';
import { history } from 'umi';
import { Card, Space, Button, Badge, Modal, message } from 'antd';
import { ClockCircleOutlined, QuestionCircleOutlined } from '@ant-design/icons';
import { StandardTable } from 'god';
import moment from 'moment';
import { ColumnType } from 'antd/lib/table/interface';
import { createFormActions } from '@formily/antd';
import EyePreview from '@/components/EyePreview';
import NiceForm from '@/components/NiceForm';
import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilterSearch';
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import { PublicApi } from '@/services/api';
import { auditSchema } from '../schema/auditSchema';
import {
MEMBER_STATUS_TAG_MAP,
MEMBER_INNER_STATUS_BADGE_COLOR,
MEMBER_OUTER_STATUS_TYPE,
} from '../constant';
import { coverColFiltersItem } from '../utils';
import StatusTag from '../components/StatusTag';
import LevelBrand from '../../../components/LevelBrand';
const { confirm } = Modal;
const formActions = createFormActions();
const MemberPrSubmit: React.FC<{}> = props => {
const ref = useRef<any>({});
const [selectedRowKeys, setSelectedRowKeys] = useState<Array<string>>([]);
const [selectedList, setSelectList] = useState<any>([]);
const handleJumpAudit = record => {
history.push(`/memberCenter/memberAbility/manage/memberPrSubmit/verify?id=${record.memberId}&validateId=${record.validateId}`);
};
const defaultColumns: ColumnType<any>[] = [
{
title: 'ID',
dataIndex: 'memberId',
align: 'center',
},
{
title: '会员名称',
dataIndex: 'name',
align: 'center',
render: (text: any, record: any) => (
<>
<EyePreview
url={`/memberCenter/memberAbility/manage/memberPrSubmit/detail?id=${record.memberId}&validateId=${record.validateId}`}
>
{text}
</EyePreview>
<div>
<LevelBrand level={record.level} />
</div>
</>
),
},
{
title: '会员类型',
dataIndex: 'memberTypeName',
align: 'center',
render: (text: any, record: any) => <span>{text}</span>,
},
{
title: '会员角色',
dataIndex: 'roleName',
align: 'center',
render: (text: any, record: any) => <span>{text}</span>,
},
{
title: '申请来源/时间',
dataIndex: 'sourceName',
align: 'center',
render: (text, record) => (
<>
<div>{text}</div>
<div>
<ClockCircleOutlined /> {record.registerTime}
</div>
</>
),
},
{
title: '会员状态',
dataIndex: 'statusName',
align: 'center',
filters: [],
onFilter: (value, record) => record.status === value,
render: (text, record) => (
<StatusTag type={MEMBER_STATUS_TAG_MAP[record.status]} title={text} />
),
},
{
title: '外部状态',
dataIndex: 'outerStatusName',
align: 'center',
render: (text, record) => (
<StatusTag type={MEMBER_OUTER_STATUS_TYPE[record.outerStatus]} title={text} />
),
},
{
title: '内部状态',
dataIndex: 'innerStatusName',
align: 'center',
render: (text, record) => <Badge color={MEMBER_INNER_STATUS_BADGE_COLOR[record.innerStatus]} text={text} />,
},
{
title: '操作',
dataIndex: 'option',
align: 'center',
render: (text: any, record: any) => (
<Button
type="link"
onClick={() => handleJumpAudit(record)}
>
提交审核
</Button>
),
},
];
const [columns, setColumns] = useState<any[]>(defaultColumns);
const rowSelection = {
onChange: (keys: any, rows: {}[]) => {
setSelectedRowKeys(keys);
setSelectList(rows);
},
selectedRowKeys: selectedRowKeys,
};
const fetchListData = async (params: any) => {
const { startDate = null, endDate = null } = params;
const payload = { ...params };
if (startDate) {
payload.startDate = moment(+startDate).format('YYYY-MM-DD');
}
if (endDate) {
payload.endDate = moment(+endDate).format('YYYY-MM-DD');
}
const res = await PublicApi.getMemberAbilityValidateCommitPage(payload);
if (res.code === 1000) {
return res.data;
}
return [];
};
const handleBatch = () => {
if (!selectedList.length) {
message.warning('未选择任何会员');
return;
}
confirm({
title: '提示',
icon: <QuestionCircleOutlined />,
content: '确定要审核通过选中的会员吗?',
onOk() {
const members = selectedList.map(item => ({ memberId: item.memberId, validateId: item.validateId }));
return new Promise((resolve, reject) => {
PublicApi.postMemberAbilityValidateCommitBatch(members)
.then(res => {
if (res.code === 1000) {
ref.current.reload();
setSelectedRowKeys([]);
resolve();
}
reject();
})
.catch(() => {
reject();
});
});
},
});
};
// 初始化高级筛选选项
const fetchSearchItems = async () => {
const res = await PublicApi.getMemberAbilityValidateCommitPageitems();
if (res.code === 1000) {
const { data = {} }: any = res;
const {
memberTypes = [],
status = [],
roles = [],
levels = [],
sources = [],
} = data;
const newColumns = columns.slice();
// filter 0 过滤掉全部选项
coverColFiltersItem(
newColumns,
'statusName',
status.map(item => ({ text: item.text, value: item.id })).filter(item => item.value !== 0),
);
setColumns(newColumns);
return {
memberTypeId: memberTypes.map(item => ({ label: item.memberTypeName, value: item.memberTypeId })),
status: status.map(item => ({ label: item.text, value: item.id })),
roleId: roles.map(item => ({ label: item.roleName, value: item.roleId })),
level: levels.map(item => ({ label: item.levelTag, value: item.level })),
source: sources.map(item => ({ label: item.text, value: item.id })),
};
}
return {};
};
const controllerBtns = (
<Space>
<Button onClick={handleBatch}>
批量审核通过
</Button>
</Space>
);
return (
<Card>
<StandardTable
tableProps={{
rowKey: 'validateId',
}}
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchListData(params)}
rowSelection={rowSelection}
controlRender={
<NiceForm
actions={formActions}
onSubmit={values => ref.current.reload(values)}
expressionScope={{
controllerBtns,
}}
effects={($, actions) => {
useStateFilterSearchLinkageEffect(
$,
actions,
'name',
FORM_FILTER_PATH,
);
useAsyncInitSelect(
['memberTypeId', 'status', 'level', 'roleId', 'level', 'source'],
fetchSearchItems,
);
}}
schema={auditSchema}
/>
}
/>
</Card>
);
};
export default MemberPrSubmit;
import React from 'react';
import { usePageStatus } from '@/hooks/usePageStatus';
import DetailInfo from './components/DetailInfo';
const PrSubmitDetail: React.FC = () => {
const { id, validateId, pageStatus } = usePageStatus();
return (
<DetailInfo id={id} validateId={validateId} />
);
};
export default PrSubmitDetail;
\ No newline at end of file
/*
* @Author: XieZhiXiong
* @Date: 2020-09-07 16:33:12
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-01-08 14:24:08
* @Description:
*/
import { ISchema } from '@formily/antd';
export const channelSchema: ISchema = {
type: 'object',
properties: {
MEGA_LAYOUT1: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
labelWidth: 128,
labelAlign: 'left',
full: true,
grid: true,
autoRow: true,
columns: 2,
},
properties: {
channelLevel: {
type: 'text',
title: '渠道级别',
},
channelTypeId: {
type: 'string',
enum: [],
title: '渠道类型',
required: true,
},
MEGA_LAYOUT2: {
type: 'object',
'x-component': 'Mega-Layout',
'x-component-props': {
inline: true,
},
properties: {
areas: {
type: 'array',
title: '代理城市',
required: true,
'x-component': 'CustomAddArray',
default: [],
items: {
type: 'object',
properties: {
pcode: {
type: 'string',
enum: [],
'x-component-props': {
allowClear: true,
},
},
ccode: {
type: 'string',
enum: [],
'x-component-props': {
allowClear: true,
},
}
}
}
},
},
},
remark: {
type: 'string',
title: '渠道描述',
'x-component': 'TextArea',
'x-component-props': {
rows: 5,
placeholder: '最大200个字符,100个汉字',
},
'x-rules': [
{
limitByte: true, // 自定义校验规则
maxByte: 200,
}
],
},
},
},
},
};
\ No newline at end of file
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