提交 cf83385b 作者: ZhangLingKun

Merge branch 'develop'

......@@ -14,4 +14,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/admin
newTag: ef7755ce33c287662585abd3fccd51a2fd7d3347
newTag: c845a956d9c2f7a9796b61f04f9afcbaba974a9b
......@@ -144,6 +144,9 @@ export type listUserApplyTag = InterListFunction<
userAccountId: number;
orderNo: string;
signStatus: number;
brandLogo: string;
brandName: string;
backUserId: number;
}
>;
// 审批详情
......
......@@ -36,6 +36,7 @@ export type backListPilotType = InterItemFunction<
auditStatus?: number;
id?: number;
licenseType?: string;
backUserId?: number;
},
flyerItemType[]
>;
......
......@@ -679,30 +679,81 @@ export type serviceOrderFormListType = InterItemFunction<
export type serviceOrderFormDetailsType = InterFunction<
{ requirementsInfoId: number },
{
cashAmount: number;
createTime: string;
id: number;
latitude: number;
longitude: number;
orderAmount: number;
orderEarnings: number;
orderEarningsDTO: null;
preemptCashAmount: number;
preemptSalaryAmount: number;
preemptWeChat: number;
publisherNumber: string;
requireDescription: string;
salaryAmount: number;
serviceId: number;
serviceName: string;
taskAddress: string;
taskEndTime: string;
taskStartTime: string;
updateOrderAmount: number;
weChat: number;
orderStatus: string;
duty: number;
decisionContent: string;
serviceArriveSceneDTO: {
id: number;
longitude: number;
latitude: number;
sceneAddress: string;
sceneUrl: string;
userAccountId: number;
requirementsInfoId: number;
createTime: string;
updateTime: string;
serviceFlowId: null;
flowDictionaryDTO: {
id: number;
waiting: string;
orderStatus: string;
userPort: string;
doing: string;
flyerPort: string;
};
};
serviceFulfilATaskDTO: {
id: number;
taskDescribe: null;
taskUrl: string;
requirementsInfoId: number;
userAccountId: number;
createTime: string;
updateTime: string;
serviceFlowId: null;
flowDictionaryDTO: {
id: number;
waiting: string;
orderStatus: string;
userPort: string;
doing: string;
flyerPort: string;
};
};
serviceEvaluateDTO: null;
amountUpdate: null;
serviceOrderFormDetailsDTO: {
id: number;
createTime: string;
serviceId: number;
serviceName: string;
publisherNumber: string;
orderAmount: number;
taskStartTime: string;
taskEndTime: string;
longitude: null;
latitude: null;
taskAddress: string;
cashAmount: number;
salaryAmount: number;
weChat: number;
preemptCashAmount: number;
preemptSalaryAmount: number;
preemptWeChat: number;
updateOrderAmount: number;
orderEarnings: number;
orderEarningsDTO: {
orderLevelAmount: number;
orderLevel: string;
orderAmount: number;
liquidatedDamages: number;
requirementsInfoId: number;
createTime: string;
updateTime: string;
};
requireDescription: string;
updateTime: string;
orderStatus: string;
decisionContent: null;
duty: null;
};
}
>;
// 需求订单-进度条
......@@ -2086,3 +2137,57 @@ export type rentPfConfirmOrderWareType = InterFunction<
},
any
>;
// 小程序-详情——需求发布
export type requirementsDetailPublishType = InterFunction<
{ id: number },
{
cityCode: number;
districtCode: number;
doing: string;
flyerPort: string;
id: number;
insurance: string;
latitude: number;
longitude: number;
orderAmount: number;
orderLevel: number;
orderLevelEnum: string;
orderNumber: string;
orderStatus: string;
paramMoney: number;
preemptTotalAmount: number;
provinceCode: number;
publish: number;
publishAccountId: number;
publishName: string;
publishPhone: string;
publisherNumber: string;
reason: string;
requireDescription: string;
requireUrl: string;
requirementTypeId: number;
requirementTypeName: string;
requirementsInfoId: number;
serviceId: number;
serviceName: string;
solved: boolean;
taskAddress: string;
taskEndTime: string;
taskStartTime: string;
taskTitle: string;
totalAmount: number;
updateOrderAmount: number;
url: string;
userAccountId: number;
userPort: string;
waiting: string;
afterModificationUrl: string;
afterModificationReason: string;
preemptPhone: string;
pilotCertificationUserId: number;
pilotCertificationId: number;
requireNum: number;
repertory: number;
fatherRequireId: number;
}
>;
......@@ -43,6 +43,7 @@ import {
rentOrderSendType,
rentOrderDetailType,
rentPfConfirmOrderWareType,
requirementsDetailPublishType,
} from '~/api/interface/orderManageType';
export class OrderManageAPI {
......@@ -176,4 +177,8 @@ export class OrderManageAPI {
// 租赁订单-平台确认归还
static rentPfConfirmOrderWare: rentPfConfirmOrderWareType = (data) =>
axios.post('/oms/lease/order/pfConfirmOrderWare', data);
// 小程序-详情——需求发布
static requirementsDetailPublish: requirementsDetailPublishType = (params) =>
axios.get('/release/requirements/detailPublish', { params });
}
......@@ -37,7 +37,7 @@ export function MenuView() {
};
// 递归将路由转换为侧边栏数据
const getItem = (routerList: RouteObjectType[]) => {
const list: Array<MenuItem> = routerList.map((i) => {
const list: Array<MenuItem> = routerList?.map((i) => {
if (i.children?.length) {
return {
label: i.meta?.title,
......@@ -55,13 +55,17 @@ export function MenuView() {
}
}
}) as MenuItem[];
return list?.filter((i) => i !== undefined);
return list?.filter((i) => i !== undefined) || [];
};
// 组件挂载
useEffect(() => {
// 设置侧边栏数据
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) => {
};
// 提交数据
const handleSubmit = (data: any) => {
// console.log("提交数据 --->", data);
// console.log('提交数据 --->', props.search, data);
if (data.startTime) {
data.startTime = moment(data.startTime).format('YYYY-MM-DD');
}
......
......@@ -166,6 +166,14 @@ const CustomIdentityView = () => {
title: '联系方式',
dataIndex: 'applyPhone',
align: 'center',
width: '100px',
},
{
title: '企业简称',
dataIndex: 'brandName',
align: 'center',
width: '100px',
ellipsis: true,
},
{
title: '服务资质',
......@@ -197,7 +205,7 @@ const CustomIdentityView = () => {
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: '250px',
width: '200px',
render: (_text, record) => (
<>
<Button
......
import SearchBox, { searchColumns as searchColumnsType } from '~/components/search-box';
import { Button, Table, Tag } from 'antd';
import { ColumnsType } from 'antd/es/table';
import { CommonAPI, FlyerCenterAPI } from '~/api';
import { CommonAPI, CustomManageAPI, FlyerCenterAPI } from '~/api';
import { useEffect, useState } from 'react';
import { InterDataType, InterReqListType, PaginationProps } from '~/api/interface';
import { backListPilotType, getPilotAuditSumType } from '~/api/interface/flyerCenterType';
......@@ -21,7 +21,127 @@ type statisticsDataType = InterDataType<getPilotAuditSumType>;
const FlyerList = () => {
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[]>([
{
name: 'accountNumber',
......@@ -54,13 +174,15 @@ const FlyerList = () => {
type: 'Cascader',
options: [],
},
]);
const tableColumns: ColumnsType<flyerListType[0]> = [
{
title: 'UID',
dataIndex: 'userAccountId',
align: 'center',
name: 'backUserId',
label: '团队名称',
placeholder: '请选择团队名称',
type: 'Select',
options: [],
},
]);
const tableColumns: ColumnsType<flyerListType[0]> = [
{
title: '姓名',
align: 'center',
......@@ -78,6 +200,11 @@ const FlyerList = () => {
render: (text: number) => (text === 0 ? '审核中' : text === 1 ? '已通过' : '未通过'),
},
{
title: '已加入团队',
dataIndex: 'flyingTeam',
align: 'center',
},
{
title: '能力认证',
align: 'center',
dataIndex: 'pilotAbility',
......@@ -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 (
<div className='flyer-list'>
<SearchBox
......
......@@ -67,18 +67,18 @@ const AddFlyerModal: FC<ModalProps & selfProps> = ({ open, onCancel, title }) =>
pilotId: userAccountId,
});
if (res && res.code === '200') {
message.success('添加成功').then();
message.success('您的邀请已发出,请等待飞手确认加入!').then();
handleCancel();
}
// console.log('提交数据 --->', userAccountId);
};
// 表格结构
const columns: ColumnsType<TableType[0]> = [
{
title: 'UID',
dataIndex: 'userAccountId',
align: 'center',
},
// {
// title: 'UID',
// dataIndex: 'userAccountId',
// align: 'center',
// },
{
title: '姓名',
align: 'center',
......
......@@ -18,7 +18,7 @@ let query: ReqType = {};
const pilotStatusList = [
{ label: '同意', value: 1 },
{ label: '拒绝', value: 2 },
{ label: '待操作', value: 0 },
{ label: '待飞手确认', value: 0 },
];
// 组件
......@@ -93,11 +93,11 @@ const FlyerTeamView = () => {
}, []);
// 表格结构
const columns: ColumnsType<TableType[0]> = [
{
title: 'UID',
dataIndex: 'userAccountId',
align: 'center',
},
// {
// title: 'UID',
// dataIndex: 'userAccountId',
// align: 'center',
// },
{
title: '姓名',
align: 'center',
......
import { Button, Descriptions, Form, message, Modal, Radio, Steps } from 'antd';
import { Button, Descriptions, Form, Image, message, Modal, Radio, Steps } from 'antd';
import { useNavigate } from 'react-router-dom';
import RichText from '~/components/richText';
import { useSearchParams } from 'react-router-dom';
import { OrderManageAPI } from '~/api';
import { useEffect, useState } from 'react';
import { Key, useEffect, useState } from 'react';
import { InterDataType } from '~/api/interface';
import { serviceOrderFormDetailsType } from '~/api/interface/orderManageType';
import './index.scss';
......@@ -86,12 +86,16 @@ const DemandOrderDetail = () => {
(a, b) => Number(a.orderStatus) - Number(b.orderStatus),
);
if (demandDetail) {
const flowDictionaryFilterResult = ['700'].includes(demandDetail.orderStatus)
? flowDictionarySortResult.filter((v) => v.orderStatus === demandDetail.orderStatus)
: ['550'].includes(demandDetail.orderStatus)
const flowDictionaryFilterResult = ['700'].includes(
demandDetail?.serviceOrderFormDetailsDTO?.orderStatus,
)
? flowDictionarySortResult.filter(
(v) => v.orderStatus === demandDetail?.serviceOrderFormDetailsDTO?.orderStatus,
)
: ['550'].includes(demandDetail?.serviceOrderFormDetailsDTO?.orderStatus)
? flowDictionarySortResult.filter((v) => !['700', '500'].includes(v.orderStatus))
: flowDictionarySortResult.filter((v) => !['700', '550'].includes(v.orderStatus));
const stepList = flowDictionaryFilterResult
let stepList = flowDictionaryFilterResult
.map((v) => {
return {
...v,
......@@ -100,15 +104,26 @@ const DemandOrderDetail = () => {
})
.map((v) => {
return {
title: demandDetail?.orderStatus > v.orderStatus ? v.doing : v.waiting,
title:
demandDetail?.serviceOrderFormDetailsDTO?.orderStatus > v.orderStatus
? v.doing
: v.waiting,
orderStatus: v.orderStatus,
description: v.key
? flowDictionaryAndTimeRes.result[v.key]?.createTime || ''
: '',
};
});
// 如果状态大于200,即相当于需求方同意接单,则不显示拒绝的状态
if (demandDetail?.serviceOrderFormDetailsDTO?.orderStatus !== '170') {
stepList = stepList.filter((i) => !['170'].includes(i.orderStatus));
}
setSteps(stepList.map((v) => ({ title: v.title, description: v.description })));
setCurrentStep(stepList.findIndex((v) => v.orderStatus === demandDetail.orderStatus));
setCurrentStep(
stepList.findIndex(
(v) => v.orderStatus === demandDetail?.serviceOrderFormDetailsDTO?.orderStatus,
),
);
}
},
);
......@@ -126,7 +141,7 @@ const DemandOrderDetail = () => {
...values,
}).then(({ code }) => {
if (code === '200') {
message.success('判定成功');
message.success('判定成功').then();
getServiceOrderFormDetails(Number(searchParams.get('id')));
}
});
......@@ -140,6 +155,19 @@ const DemandOrderDetail = () => {
navigate(-1);
};
// 转化图片字段
const transformImg = (img?: string) => {
try {
if (img) {
return JSON.parse(img);
} else {
return [];
}
} catch (err) {
return [];
}
};
useEffect(() => {
getServiceOrderFormDetails(Number(searchParams.get('id')));
}, []);
......@@ -165,40 +193,102 @@ const DemandOrderDetail = () => {
</Descriptions.Item>
</Descriptions>
<Descriptions title='订单信息' bordered style={{ marginTop: '10px' }}>
<Descriptions.Item label='发单时间'>{demandDetail?.createTime}</Descriptions.Item>
<Descriptions.Item label='订单类型'>{demandDetail?.serviceName}</Descriptions.Item>
<Descriptions.Item label='订单编号'>{demandDetail?.publisherNumber}</Descriptions.Item>
<Descriptions.Item label='发单时间'>
{demandDetail?.serviceOrderFormDetailsDTO?.createTime}
</Descriptions.Item>
<Descriptions.Item label='订单类型'>
{demandDetail?.serviceOrderFormDetailsDTO?.serviceName}
</Descriptions.Item>
<Descriptions.Item label='订单编号'>
{demandDetail?.serviceOrderFormDetailsDTO?.publisherNumber}
</Descriptions.Item>
<Descriptions.Item label='订单金额'>
{demandDetail?.orderAmount.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.orderAmount.toFixed(2).toLocaleString()}
</Descriptions.Item>
<Descriptions.Item label='任务时间'>
{demandDetail?.taskStartTime}~{demandDetail?.taskEndTime}
{demandDetail?.serviceOrderFormDetailsDTO?.taskStartTime}~
{demandDetail?.serviceOrderFormDetailsDTO?.taskEndTime}
</Descriptions.Item>
<Descriptions.Item label='任务地址'>
{demandDetail?.serviceOrderFormDetailsDTO?.taskAddress}
</Descriptions.Item>
<Descriptions.Item label='任务地址'>{demandDetail?.taskAddress}</Descriptions.Item>
<Descriptions.Item label='平台收益'>
{demandDetail?.orderEarnings.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.orderEarnings.toFixed(2).toLocaleString()}
</Descriptions.Item>
</Descriptions>
{demandDetail?.serviceArriveSceneDTO && (
<>
<Descriptions
title='飞手抵达任务地点'
bordered
style={{ marginTop: '10px' }}
contentStyle={{ width: 300 }}
>
<Descriptions.Item label='飞手位置'>
{demandDetail?.serviceArriveSceneDTO?.sceneAddress}
</Descriptions.Item>
<Descriptions.Item label='飞手凭证'>
{transformImg(demandDetail?.serviceArriveSceneDTO?.sceneUrl)?.map(
(v: string, i: Key) => (
<Image key={i} src={v} alt='飞手凭证' style={{ width: '35px', height: '35px' }} />
),
)}
</Descriptions.Item>
<Descriptions.Item label='完成时间'>
{demandDetail?.serviceArriveSceneDTO?.updateTime}
</Descriptions.Item>
</Descriptions>
</>
)}
{demandDetail?.serviceArriveSceneDTO && (
<>
<Descriptions
title='飞手完成任务'
bordered
style={{ marginTop: '10px' }}
contentStyle={{ width: 300 }}
>
<Descriptions.Item label='任务描述'>
{demandDetail?.serviceFulfilATaskDTO?.taskDescribe
? demandDetail?.serviceFulfilATaskDTO?.taskDescribe
: '无'}
</Descriptions.Item>
<Descriptions.Item label='飞手凭证'>
{transformImg(demandDetail?.serviceFulfilATaskDTO?.taskUrl)?.map(
(v: string, i: Key) => (
<Image key={i} src={v} alt='飞手凭证' style={{ width: '35px', height: '35px' }} />
),
)}
</Descriptions.Item>
<Descriptions.Item label='抵达时间'>
{demandDetail?.serviceArriveSceneDTO?.updateTime}
</Descriptions.Item>
</Descriptions>
</>
)}
<Descriptions title='发单方' bordered style={{ marginTop: '10px' }}>
<Descriptions.Item label='冻结云享金'>
{demandDetail?.cashAmount.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.cashAmount.toFixed(2).toLocaleString()}
</Descriptions.Item>
<Descriptions.Item label='冻结余额'>
{demandDetail?.salaryAmount.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.salaryAmount.toFixed(2).toLocaleString()}
</Descriptions.Item>
<Descriptions.Item label='冻结微信支付'>
{demandDetail?.weChat.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.weChat.toFixed(2).toLocaleString()}
</Descriptions.Item>
</Descriptions>
<Descriptions title='接单方' bordered style={{ marginTop: '10px' }}>
<Descriptions.Item label='冻结云享金'>
{demandDetail?.preemptCashAmount.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.preemptCashAmount.toFixed(2).toLocaleString()}
</Descriptions.Item>
<Descriptions.Item label='冻结余额'>
{demandDetail?.preemptSalaryAmount.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.preemptSalaryAmount
.toFixed(2)
.toLocaleString()}
</Descriptions.Item>
<Descriptions.Item label='冻结微信支付'>
{demandDetail?.preemptWeChat.toFixed(2).toLocaleString()}
{demandDetail?.serviceOrderFormDetailsDTO?.preemptWeChat.toFixed(2).toLocaleString()}
</Descriptions.Item>
</Descriptions>
<Descriptions
......@@ -206,7 +296,7 @@ const DemandOrderDetail = () => {
style={{ marginTop: '10px' }}
column={1}
extra={
demandDetail?.orderStatus === '700' ? (
demandDetail?.serviceOrderFormDetailsDTO?.orderStatus === '700' ? (
''
) : (
<Button danger type='primary' onClick={submitDispute}>
......@@ -227,19 +317,32 @@ const DemandOrderDetail = () => {
<Descriptions.Item>
<Form
form={controversyForm}
initialValues={{ duty: demandDetail?.orderStatus === '700' ? demandDetail?.duty : 1 }}
initialValues={{
duty:
demandDetail?.serviceOrderFormDetailsDTO?.orderStatus === '700'
? demandDetail?.serviceOrderFormDetailsDTO?.duty
: 1,
}}
>
<Form.Item label='争议结果' name='duty'>
{demandDetail?.orderStatus === '700' ? (
<span>{dutyOptionList.find((v) => v.value === demandDetail.duty)?.label}</span>
{demandDetail?.serviceOrderFormDetailsDTO?.orderStatus === '700' ? (
<span>
{
dutyOptionList.find(
(v) => v.value === demandDetail?.serviceOrderFormDetailsDTO?.duty,
)?.label
}
</span>
) : (
<Radio.Group options={dutyOptionList}></Radio.Group>
)}
</Form.Item>
<Form.Item label='争议描述' name='decisionContent'>
{demandDetail?.orderStatus === '700' ? (
{demandDetail?.serviceOrderFormDetailsDTO?.orderStatus === '700' ? (
<div
dangerouslySetInnerHTML={{ __html: demandDetail.decisionContent || '' }}
dangerouslySetInnerHTML={{
__html: demandDetail?.serviceOrderFormDetailsDTO?.decisionContent || '',
}}
className='detail-rich-text'
></div>
) : (
......
......@@ -323,30 +323,7 @@ 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/flyerList',
path: '/customManage/flyerList',
element: withLoadingComponent(<FlyerListView />),
errorElement: <ErrorPage />,
meta: {
......@@ -356,7 +333,7 @@ export const routerList: Array<RouteObjectType> = [
},
},
{
path: '/flyerManage/flyerAuthDaily',
path: '/customManage/flyerAuthDaily',
element: withLoadingComponent(<FlyerAuthDailyView />),
errorElement: <ErrorPage />,
meta: {
......@@ -368,7 +345,7 @@ export const routerList: Array<RouteObjectType> = [
},
},
{
path: '/flyerManage/flyerDetail',
path: '/customManage/flyerDetail',
element: withLoadingComponent(<FlyerDetailsView />),
errorElement: <ErrorPage />,
meta: {
......@@ -380,7 +357,7 @@ export const routerList: Array<RouteObjectType> = [
},
},
{
path: '/flyerManage/flyerApprove',
path: '/customManage/flyerApprove',
element: withLoadingComponent(<FlyerDetailsView />),
errorElement: <ErrorPage />,
meta: {
......@@ -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',
element: withLoadingComponent(<FlyerTeamView />),
errorElement: <ErrorPage />,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论