提交 b8685c4a 作者: ZhangLingKun

功能:飞手管理调整,问题修复

上级 c9b5648f
...@@ -144,6 +144,9 @@ export type listUserApplyTag = InterListFunction< ...@@ -144,6 +144,9 @@ export type listUserApplyTag = InterListFunction<
userAccountId: number; userAccountId: number;
orderNo: string; orderNo: string;
signStatus: number; signStatus: number;
brandLogo: string;
brandName: string;
backUserId: number;
} }
>; >;
// 审批详情 // 审批详情
......
...@@ -36,6 +36,7 @@ export type backListPilotType = InterItemFunction< ...@@ -36,6 +36,7 @@ export type backListPilotType = InterItemFunction<
auditStatus?: number; auditStatus?: number;
id?: number; id?: number;
licenseType?: string; licenseType?: string;
backUserId?: number;
}, },
flyerItemType[] flyerItemType[]
>; >;
......
...@@ -37,7 +37,7 @@ export function MenuView() { ...@@ -37,7 +37,7 @@ export function MenuView() {
}; };
// 递归将路由转换为侧边栏数据 // 递归将路由转换为侧边栏数据
const getItem = (routerList: RouteObjectType[]) => { const getItem = (routerList: RouteObjectType[]) => {
const list: Array<MenuItem> = routerList.map((i) => { const list: Array<MenuItem> = routerList?.map((i) => {
if (i.children?.length) { if (i.children?.length) {
return { return {
label: i.meta?.title, label: i.meta?.title,
...@@ -55,13 +55,17 @@ export function MenuView() { ...@@ -55,13 +55,17 @@ export function MenuView() {
} }
} }
}) as MenuItem[]; }) as MenuItem[];
return list?.filter((i) => i !== undefined); return list?.filter((i) => i !== undefined) || [];
}; };
// 组件挂载 // 组件挂载
useEffect(() => { useEffect(() => {
// 设置侧边栏数据 // 设置侧边栏数据
authRouterList().then((value) => { authRouterList().then((value) => {
setItems(getItem(value)); // 除了数据看板,其他没有子项的菜单全部过滤掉
const arr = getItem(value)?.filter((i: any) => i?.key === 2) || [];
const brr = getItem(value)?.filter((i: any) => i?.children?.length) || [];
// 设置要展示的菜单列表
setItems([...arr, ...brr]);
}); });
}, []); }, []);
......
...@@ -89,7 +89,7 @@ const Index: React.FC<propsType> = (props) => { ...@@ -89,7 +89,7 @@ const Index: React.FC<propsType> = (props) => {
}; };
// 提交数据 // 提交数据
const handleSubmit = (data: any) => { const handleSubmit = (data: any) => {
// console.log("提交数据 --->", data); // console.log('提交数据 --->', props.search, data);
if (data.startTime) { if (data.startTime) {
data.startTime = moment(data.startTime).format('YYYY-MM-DD'); data.startTime = moment(data.startTime).format('YYYY-MM-DD');
} }
......
...@@ -166,6 +166,14 @@ const CustomIdentityView = () => { ...@@ -166,6 +166,14 @@ const CustomIdentityView = () => {
title: '联系方式', title: '联系方式',
dataIndex: 'applyPhone', dataIndex: 'applyPhone',
align: 'center', align: 'center',
width: '100px',
},
{
title: '企业简称',
dataIndex: 'brandName',
align: 'center',
width: '100px',
ellipsis: true,
}, },
{ {
title: '服务资质', title: '服务资质',
...@@ -197,7 +205,7 @@ const CustomIdentityView = () => { ...@@ -197,7 +205,7 @@ const CustomIdentityView = () => {
dataIndex: 'action', dataIndex: 'action',
align: 'center', align: 'center',
fixed: 'right', fixed: 'right',
width: '250px', width: '200px',
render: (_text, record) => ( render: (_text, record) => (
<> <>
<Button <Button
......
import SearchBox, { searchColumns as searchColumnsType } from '~/components/search-box'; import SearchBox, { searchColumns as searchColumnsType } from '~/components/search-box';
import { Button, Table, Tag } from 'antd'; import { Button, Table, Tag } from 'antd';
import { ColumnsType } from 'antd/es/table'; import { ColumnsType } from 'antd/es/table';
import { CommonAPI, FlyerCenterAPI } from '~/api'; import { CommonAPI, CustomManageAPI, FlyerCenterAPI } from '~/api';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { InterDataType, InterReqListType, PaginationProps } from '~/api/interface'; import { InterDataType, InterReqListType, PaginationProps } from '~/api/interface';
import { backListPilotType, getPilotAuditSumType } from '~/api/interface/flyerCenterType'; import { backListPilotType, getPilotAuditSumType } from '~/api/interface/flyerCenterType';
...@@ -21,7 +21,127 @@ type statisticsDataType = InterDataType<getPilotAuditSumType>; ...@@ -21,7 +21,127 @@ type statisticsDataType = InterDataType<getPilotAuditSumType>;
const FlyerList = () => { const FlyerList = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const [tableData, setTableData] = useState<flyerListType>([]);
const [currentTableItem, setCurrentTableItem] = useState<flyerListType[0]>();
const [query, setQuery] = useState<flyerListParameters>();
const [pagination, setPagination] = useState<PaginationProps & { totalCount: number }>({
pageNo: 1,
pageSize: 10,
totalCount: 0,
});
const [loading, setLoading] = useState<boolean>(false);
//修改备注弹窗
const [updateRemarkModalShow, setUpdateRemarkModalShow] = useState<boolean>(false);
// 飞手审批数据统计
const [approveStatistics, setApproveStatistics] = useState<statisticsDataType>();
//飞手列表
const getFlyerList = (query?: flyerListParameters) => {
setLoading(true);
FlyerCenterAPI.getBackListPilot({
pageNo: pagination.pageNo,
pageSize: pagination.pageSize,
...query,
}).then(({ result }) => {
setLoading(false);
pagination.totalCount = result.totalCount;
setTableData(result.list || []);
setPagination(pagination);
});
};
//飞手能力列表
const getAbilityList = () => {
FlyerCenterAPI.getAbilityList().then(({ result }) => {
searchColumns[2].options = (result || []).map((v) => ({
id: v.abilityId,
name: v.abilityName,
}));
setSearchColumns([...searchColumns]);
});
};
//分页
const paginationChange = (pageNo: number, pageSize: number) => {
pagination.pageNo = pageNo;
pagination.pageSize = pageSize;
getFlyerList(query);
};
// 筛选成功
const searchSuccess = (value: flyerListParameters) => {
pagination.pageNo = 1;
pagination.pageSize = 10;
console.log('筛选限制 --->', value);
setQuery({ ...value, areaNumber: value.areaNumber ? value.areaNumber[1] : undefined });
getFlyerList({ ...value, areaNumber: value.areaNumber ? value.areaNumber[1] : undefined });
};
// 获取飞手审批数据统计
const getFlyerApproveStatistics = () => {
FlyerCenterAPI.getPilotAuditSum().then(({ result }) => {
setApproveStatistics(result);
});
};
//获取地域数据
const getSecondDistrictInfo = () => {
CommonAPI.getSecondDistrictInfo().then(({ result }) => {
const covertLocationData: any = (list: locationType) => {
return list.map((v) => ({
label: v.name,
value: v.id,
children: v.childInfo ? covertLocationData(v.childInfo) : [],
}));
};
searchColumns[3].options = covertLocationData(result);
setSearchColumns([...searchColumns]);
});
};
// 获取所有飞手团队的列表
const getFlyerUserApplyTagList = async () => {
const res = await CustomManageAPI.listUserApplyTag({
applyStatus: 1,
cooperationTagId: 5,
pageNo: 1,
pageSize: 9999,
});
if (res && res.code === '200') {
searchColumns[4].options = res.result?.list?.map((i) => ({
label: i.companyName || i.brandName,
value: i.backUserId,
}));
setSearchColumns([...searchColumns]);
}
};
//认证日志页面
const toFlyerAuthDaily = () => {
navigate('/customManage/flyerAuthDaily');
};
//飞手审批页面
const toFlyerApprove = (record: flyerListType[0]) => {
navigate({ pathname: '/customManage/flyerDetail', search: `id=${record.id}&isApprove=1` });
};
//飞手详情页面
const toFlyerDetail = (record: flyerListType[0]) => {
navigate({ pathname: '/customManage/flyerApprove', search: `id=${record.id}` });
};
//修改备注
const updateRemarkClick = (record: flyerListType[0]) => {
setCurrentTableItem(record);
setUpdateRemarkModalShow(true);
};
const updateRemarkModalCancel = () => {
setUpdateRemarkModalShow(false);
};
const updateRemarkModalOk = () => {
getFlyerList(query);
setUpdateRemarkModalShow(false);
};
useEffect(() => {
getFlyerList();
getAbilityList();
getSecondDistrictInfo();
getFlyerApproveStatistics();
getFlyerUserApplyTagList().then();
}, []);
const [searchColumns, setSearchColumns] = useState<searchColumnsType[]>([ const [searchColumns, setSearchColumns] = useState<searchColumnsType[]>([
{ {
name: 'accountNumber', name: 'accountNumber',
...@@ -54,13 +174,15 @@ const FlyerList = () => { ...@@ -54,13 +174,15 @@ const FlyerList = () => {
type: 'Cascader', type: 'Cascader',
options: [], options: [],
}, },
]);
const tableColumns: ColumnsType<flyerListType[0]> = [
{ {
title: 'UID', name: 'backUserId',
dataIndex: 'userAccountId', label: '团队名称',
align: 'center', placeholder: '请选择团队名称',
type: 'Select',
options: [],
}, },
]);
const tableColumns: ColumnsType<flyerListType[0]> = [
{ {
title: '姓名', title: '姓名',
align: 'center', align: 'center',
...@@ -78,6 +200,11 @@ const FlyerList = () => { ...@@ -78,6 +200,11 @@ const FlyerList = () => {
render: (text: number) => (text === 0 ? '审核中' : text === 1 ? '已通过' : '未通过'), render: (text: number) => (text === 0 ? '审核中' : text === 1 ? '已通过' : '未通过'),
}, },
{ {
title: '已加入团队',
dataIndex: 'flyingTeam',
align: 'center',
},
{
title: '能力认证', title: '能力认证',
align: 'center', align: 'center',
dataIndex: 'pilotAbility', dataIndex: 'pilotAbility',
...@@ -138,111 +265,6 @@ const FlyerList = () => { ...@@ -138,111 +265,6 @@ const FlyerList = () => {
), ),
}, },
]; ];
const [tableData, setTableData] = useState<flyerListType>([]);
const [currentTableItem, setCurrentTableItem] = useState<flyerListType[0]>();
const [query, setQuery] = useState<flyerListParameters>();
const [pagination, setPagination] = useState<PaginationProps & { totalCount: number }>({
pageNo: 1,
pageSize: 10,
totalCount: 0,
});
const [loading, setLoading] = useState<boolean>(false);
//修改备注弹窗
const [updateRemarkModalShow, setUpdateRemarkModalShow] = useState<boolean>(false);
// 飞手审批数据统计
const [approveStatistics, setApproveStatistics] = useState<statisticsDataType>();
//飞手列表
const getFlyerList = (query?: flyerListParameters) => {
setLoading(true);
FlyerCenterAPI.getBackListPilot({
pageNo: pagination.pageNo,
pageSize: pagination.pageSize,
...query,
}).then(({ result }) => {
setLoading(false);
pagination.totalCount = result.totalCount;
setTableData(result.list || []);
setPagination(pagination);
});
};
//飞手能力列表
const getAbilityList = () => {
FlyerCenterAPI.getAbilityList().then(({ result }) => {
searchColumns[2].options = (result || []).map((v) => ({
id: v.abilityId,
name: v.abilityName,
}));
setSearchColumns([...searchColumns]);
});
};
//分页
const paginationChange = (pageNo: number, pageSize: number) => {
pagination.pageNo = pageNo;
pagination.pageSize = pageSize;
getFlyerList(query);
};
//筛选成功
const searchSuccess = (value: flyerListParameters) => {
pagination.pageNo = 1;
pagination.pageSize = 10;
setQuery({ ...value, areaNumber: value.areaNumber ? value.areaNumber[1] : undefined });
getFlyerList({ ...value, areaNumber: value.areaNumber ? value.areaNumber[1] : undefined });
};
// 获取飞手审批数据统计
const getFlyerApproveStatistics = () => {
FlyerCenterAPI.getPilotAuditSum().then(({ result }) => {
setApproveStatistics(result);
});
};
//获取地域数据
const getSecondDistrictInfo = () => {
CommonAPI.getSecondDistrictInfo().then(({ result }) => {
const covertLocationData: any = (list: locationType) => {
return list.map((v) => ({
label: v.name,
value: v.id,
children: v.childInfo ? covertLocationData(v.childInfo) : [],
}));
};
searchColumns[3].options = covertLocationData(result);
setSearchColumns([...searchColumns]);
});
};
//认证日志页面
const toFlyerAuthDaily = () => {
navigate('/flyerManage/flyerAuthDaily');
};
//飞手审批页面
const toFlyerApprove = (record: flyerListType[0]) => {
navigate({ pathname: '/flyerManage/flyerDetail', search: `id=${record.id}&isApprove=1` });
};
//飞手详情页面
const toFlyerDetail = (record: flyerListType[0]) => {
navigate({ pathname: '/flyerManage/flyerApprove', search: `id=${record.id}` });
};
//修改备注
const updateRemarkClick = (record: flyerListType[0]) => {
setCurrentTableItem(record);
setUpdateRemarkModalShow(true);
};
const updateRemarkModalCancel = () => {
setUpdateRemarkModalShow(false);
};
const updateRemarkModalOk = () => {
getFlyerList(query);
setUpdateRemarkModalShow(false);
};
useEffect(() => {
getFlyerList();
getAbilityList();
getSecondDistrictInfo();
getFlyerApproveStatistics();
}, []);
return ( return (
<div className='flyer-list'> <div className='flyer-list'>
<SearchBox <SearchBox
......
...@@ -67,18 +67,18 @@ const AddFlyerModal: FC<ModalProps & selfProps> = ({ open, onCancel, title }) => ...@@ -67,18 +67,18 @@ const AddFlyerModal: FC<ModalProps & selfProps> = ({ open, onCancel, title }) =>
pilotId: userAccountId, pilotId: userAccountId,
}); });
if (res && res.code === '200') { if (res && res.code === '200') {
message.success('添加成功').then(); message.success('您的邀请已发出,请等待飞手确认加入!').then();
handleCancel(); handleCancel();
} }
// console.log('提交数据 --->', userAccountId); // console.log('提交数据 --->', userAccountId);
}; };
// 表格结构 // 表格结构
const columns: ColumnsType<TableType[0]> = [ const columns: ColumnsType<TableType[0]> = [
{ // {
title: 'UID', // title: 'UID',
dataIndex: 'userAccountId', // dataIndex: 'userAccountId',
align: 'center', // align: 'center',
}, // },
{ {
title: '姓名', title: '姓名',
align: 'center', align: 'center',
......
...@@ -18,7 +18,7 @@ let query: ReqType = {}; ...@@ -18,7 +18,7 @@ let query: ReqType = {};
const pilotStatusList = [ const pilotStatusList = [
{ label: '同意', value: 1 }, { label: '同意', value: 1 },
{ label: '拒绝', value: 2 }, { label: '拒绝', value: 2 },
{ label: '待操作', value: 0 }, { label: '待飞手确认', value: 0 },
]; ];
// 组件 // 组件
...@@ -93,11 +93,11 @@ const FlyerTeamView = () => { ...@@ -93,11 +93,11 @@ const FlyerTeamView = () => {
}, []); }, []);
// 表格结构 // 表格结构
const columns: ColumnsType<TableType[0]> = [ const columns: ColumnsType<TableType[0]> = [
{ // {
title: 'UID', // title: 'UID',
dataIndex: 'userAccountId', // dataIndex: 'userAccountId',
align: 'center', // align: 'center',
}, // },
{ {
title: '姓名', title: '姓名',
align: 'center', align: 'center',
......
...@@ -323,30 +323,7 @@ export const routerList: Array<RouteObjectType> = [ ...@@ -323,30 +323,7 @@ export const routerList: Array<RouteObjectType> = [
}, },
}, },
{ {
path: '/customManage/customIdentity', path: '/customManage/flyerList',
element: withLoadingComponent(<CustomIdentityView />),
errorElement: <ErrorPage />,
meta: {
id: 240,
title: '商家管理',
icon: <AuditOutlined />,
},
},
],
},
{
path: '/flyerManage',
element: <LayoutView />,
errorElement: <ErrorPage />,
meta: {
id: 1800,
icon: <ContactsOutlined />,
title: '飞手管理',
// develop: true,
},
children: [
{
path: '/flyerManage/flyerList',
element: withLoadingComponent(<FlyerListView />), element: withLoadingComponent(<FlyerListView />),
errorElement: <ErrorPage />, errorElement: <ErrorPage />,
meta: { meta: {
...@@ -356,7 +333,7 @@ export const routerList: Array<RouteObjectType> = [ ...@@ -356,7 +333,7 @@ export const routerList: Array<RouteObjectType> = [
}, },
}, },
{ {
path: '/flyerManage/flyerAuthDaily', path: '/customManage/flyerAuthDaily',
element: withLoadingComponent(<FlyerAuthDailyView />), element: withLoadingComponent(<FlyerAuthDailyView />),
errorElement: <ErrorPage />, errorElement: <ErrorPage />,
meta: { meta: {
...@@ -368,7 +345,7 @@ export const routerList: Array<RouteObjectType> = [ ...@@ -368,7 +345,7 @@ export const routerList: Array<RouteObjectType> = [
}, },
}, },
{ {
path: '/flyerManage/flyerDetail', path: '/customManage/flyerDetail',
element: withLoadingComponent(<FlyerDetailsView />), element: withLoadingComponent(<FlyerDetailsView />),
errorElement: <ErrorPage />, errorElement: <ErrorPage />,
meta: { meta: {
...@@ -380,7 +357,7 @@ export const routerList: Array<RouteObjectType> = [ ...@@ -380,7 +357,7 @@ export const routerList: Array<RouteObjectType> = [
}, },
}, },
{ {
path: '/flyerManage/flyerApprove', path: '/customManage/flyerApprove',
element: withLoadingComponent(<FlyerDetailsView />), element: withLoadingComponent(<FlyerDetailsView />),
errorElement: <ErrorPage />, errorElement: <ErrorPage />,
meta: { meta: {
...@@ -392,6 +369,29 @@ export const routerList: Array<RouteObjectType> = [ ...@@ -392,6 +369,29 @@ export const routerList: Array<RouteObjectType> = [
}, },
}, },
{ {
path: '/customManage/customIdentity',
element: withLoadingComponent(<CustomIdentityView />),
errorElement: <ErrorPage />,
meta: {
id: 240,
title: '商家管理',
icon: <AuditOutlined />,
},
},
],
},
{
path: '/flyerManage',
element: <LayoutView />,
errorElement: <ErrorPage />,
meta: {
id: 1800,
icon: <ContactsOutlined />,
title: '飞手管理',
// develop: true,
},
children: [
{
path: '/flyerManage/flyerTeam', path: '/flyerManage/flyerTeam',
element: withLoadingComponent(<FlyerTeamView />), element: withLoadingComponent(<FlyerTeamView />),
errorElement: <ErrorPage />, errorElement: <ErrorPage />,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论