ylj20011123 fa1840d21b update
2025-07-23 18:39:23 +08:00

611 lines
35 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 订单汇总统计
import { ConnectState } from "@/models/connect";
import { useEffect, useRef, useState } from "react";
import { connect, CurrentUser } from "umi";
import { handeGetGetOnlineOrderSummary, handeGetSaleBillWholeList } from "../service";
import { Button, Col, FormInstance, Row, Tooltip } from "antd";
import ProForm, { ProFormDateRangePicker } from "@ant-design/pro-form";
import ProTable, { ActionType } from "@ant-design/pro-table";
import moment from 'moment'
import './SummaryOfReservation.less'
import addIcon from '@/assets/detail/addIcon.png'
import reduceIcon from '@/assets/detail/reduceIcon.png'
import { handleSetlogSave } from "@/utils/format";
import OrderDetailModal from "../BookingMealOrder/components/orderDetailModal";
import PageTitleBox from "@/components/PageTitleBox";
const SummaryOfReservation: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => {
const { currentUser } = props
const actionRef = useRef<ActionType>();
const formRef = useRef<FormInstance>();
// 搜索参数
const [searchParams, setSearchParams] = useState<any>({
StartDate: moment().startOf('M').format('YYYY-MM-DD'),
EndDate: moment().format('YYYY-MM-DD')
})
// 当前顶部的选择到了第几个
const [selectTab, setSelectTab] = useState<number>(1)
// 顶部内容的对象值
const [topData, setTopData] = useState<any>()
const [modalVisible, handleModalVisible] = useState<boolean>();
const [currentRow, setCurrentRow] = useState<any>();
// 算的列表合计
const [tableSumDetail, setTableSumDetail] = useState<any>()
// 选择的tab
const [selectPageTab, setSelectPageTab] = useState<any>(1)
const columns: any = [
{
dataIndex: 'searchText',
title: '查询内容',
hideInTable: true,
},
{
title: '查询时间',
dataIndex: 'search_date',
valueType: 'dateRange',
hideInTable: true,
hideInDescriptions: true,
search: {
transform: (value) => {
return {
ORDER_DATE_Start: value[0],
ORDER_DATE_End: value[1],
};
},
},
initialValue: [moment().add(-1, 'M').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
},
{
dataIndex: "index",
title: "序号",
align: 'center',
hideInSearch: true,
valueType: "index",
width: 120,
ellipsis: true,
},
{
dataIndex: 'SALEBILL_CODE',
title: '订单编号',
align: 'center',
hideInSearch: true,
width: 250,
ellipsis: true,
render: (_, record) => {
return record?.SALEBILL_CODE ? record?.SALEBILL_CODE === '合计' ? '合计' : <a onClick={() => {
setCurrentRow(record);
handleModalVisible(true)
handleSetlogSave(`查看编号为【${record?.SALEBILL_CODE}】的订单`)
}}>{record?.SALEBILL_CODE}</a> : "-"
}
},
{
dataIndex: 'SHOPNAME',
title: '门店名称',
align: 'center',
hideInSearch: true,
width: 150,
ellipsis: true,
},
{
dataIndex: 'ORDER_PERSON',
title: '下单人员',
align: 'center',
hideInSearch: true,
width: 250,
ellipsis: true,
},
{
dataIndex: 'TOTAL_COUNT',
title: '销售数量',
align: 'center',
hideInSearch: true,
width: 250,
ellipsis: true,
},
{
dataIndex: 'ORDER_AMOUNT',
title: '订单金额',
align: 'center',
hideInSearch: true,
width: 120,
ellipsis: true,
},
{
dataIndex: 'COUPON_AMOUNT',
title: '优惠金额',
align: 'center',
hideInSearch: true,
width: 120,
ellipsis: true,
},
{
dataIndex: 'PAY_AMOUNT',
title: '实付金额',
align: 'center',
hideInSearch: true,
width: 120,
ellipsis: true,
},
{
title: "获得积分",
dataIndex: "MEMBERSHIP_POINT",
width: 120,
hideInSearch: true,
ellipsis: true,
align: "center",
},
{
title: "获得成长值",
dataIndex: "MEMBERGROWTH_VALUE",
width: 120,
hideInSearch: true,
ellipsis: true,
align: "center",
},
{
dataIndex: 'ORDER_DATE',
title: '订单时间',
align: 'center',
hideInSearch: true,
width: 170,
ellipsis: true,
render: (_, record) => {
return record?.SALEBILL_CODE === '合计' ? '' : record?.ORDER_DATE ? moment(record?.ORDER_DATE).format('YYYY-MM-DD HH:mm:ss') : ''
}
},
{
dataIndex: 'SALEBILL_STATE',
title: '订单状态',
align: 'center',
width: 120,
ellipsis: true,
valueType: 'select',
valueEnum: {
"0": "全部",
"1005": "订单待支付",
"1010": "订单待制作",
"2000": "订单待取餐",
"3000": "订单已完成",
"8000": "退款申请中",
"8900": "订单已退款",
"9000": "订单已关闭",
"9999": "订单已撤销",
},
initialValue: "0"
}
]
// 获取顶部的数据
const handleGetTopData = async (StartDate?: string, EndDate?: string) => {
const req: any = {
CalcType: 1,
OwnerUnitId: currentUser?.OwnerUnitId,
StartDate: StartDate || searchParams?.StartDate || "",
EndDate: EndDate || searchParams?.EndDate || "",
SalebillType: selectPageTab === 1 ? "6000" : "3000,3001,3002",
MerchantId: ""
}
const data = await handeGetGetOnlineOrderSummary(req)
console.log('datadatadatadata', data);
if (data && data.length > 0) {
let obj: any = data[0]
setTopData(obj)
} else {
setTopData(null)
}
}
// 改变顶部的选择
const handleChangeTab = (value: number) => {
setSelectTab(value)
actionRef.current?.reload()
}
// 关闭悬浮框
const handleCloseModal = () => {
handleModalVisible(false)
setCurrentRow(undefined);
}
useEffect(() => {
handleGetTopData()
}, [])
useEffect(() => {
// 每当 selectPageTab 改变时执行
handleGetTopData()
actionRef.current?.reload()
}, [selectPageTab])
return (
<div className="SummaryOfReservationMain">
<div className="SummaryOfReservationTop">
<div className="SummaryOfReservationTitleBox">
<div className={selectPageTab === 1 ? 'SummaryOfReservationTitle SummaryOfReservationTitleSelect' : 'SummaryOfReservationTitle'} onClick={() => {
setSelectPageTab(1)
}}></div>
<div style={{ marginLeft: '48px' }} className={selectPageTab === 2 ? 'SummaryOfReservationTitle SummaryOfReservationTitleSelect' : 'SummaryOfReservationTitle'} onClick={() => {
setSelectPageTab(2)
}}></div>
</div>
<Row style={{ marginTop: "16px" }}>
<Col span={18}>
<ProForm
layout={'horizontal'}
formRef={formRef}
submitter={false}
onFinish={async (values: any) => {
console.log('values', values);
let [StartDate, EndDate] = ['', '']
if (values.searchTime && values.searchTime.length > 0) {
[StartDate, EndDate] = values.searchTime
}
handleGetTopData(StartDate, EndDate)
setSearchParams({
StartDate: StartDate,
EndDate: EndDate
})
actionRef.current?.reload()
}}
>
<ProFormDateRangePicker
label={"查询时间"}
name={"searchTime"}
// initialValue={[moment().startOf('M').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')]}
initialValue={[moment().startOf('M'), moment()]}
fieldProps={{
ranges: {
"本月": [moment().startOf('M'), moment()],
"上月": [moment().subtract(1, 'M').startOf('M'), moment().subtract(1, 'M').endOf('M')],
"近三月": [moment().subtract(3, 'M').startOf('M'), moment().endOf('M')],
"近半年": [moment().subtract(6, 'M').startOf('M'), moment().endOf('M')],
}
}}
/>
</ProForm>
</Col>
<Col span={6}>
<div style={{ display: 'flex', justifyContent: 'flex-end' }}>
<Button style={{ marginRight: '8px' }} onClick={() => {
formRef.current?.resetFields()
}}></Button>
<Button type={"primary"} onClick={() => {
formRef.current?.submit()
}}></Button>
</div>
</Col>
</Row>
<div className="SummaryOfReservationContentBox">
<div className="SummaryOfReservationItemOther">
<div className={selectTab === 1 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(1)
}}>
<div className="otherItemTitle">退</div>
<div className="otherItemValue">{topData && topData?.TotalActualAmount ? topData?.TotalActualAmount.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalActualAmount && topData?.TotalActualAmount.QOQData && topData?.TotalActualAmount.summaryData ?
<img className="addIcon" src={((topData?.TotalActualAmount.summaryData - topData?.TotalActualAmount.QOQData) / topData?.TotalActualAmount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalActualAmount && topData?.TotalActualAmount.QOQData && topData?.TotalActualAmount.summaryData ?
<Tooltip title={`((${topData?.TotalActualAmount.summaryData} - ${topData?.TotalActualAmount.QOQData}) / ${topData?.TotalActualAmount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalActualAmount.summaryData - topData?.TotalActualAmount.QOQData) / topData?.TotalActualAmount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 2 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(2)
}}>
<div className="otherItemTitle"></div>
<div className="otherItemValue">{topData && topData?.TotalSuccAmount ? topData?.TotalSuccAmount.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalSuccAmount && topData?.TotalSuccAmount.QOQData && topData?.TotalSuccAmount.summaryData ?
<img className="addIcon" src={((topData?.TotalSuccAmount.summaryData - topData?.TotalSuccAmount.QOQData) / topData?.TotalSuccAmount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalSuccAmount && topData?.TotalSuccAmount.QOQData && topData?.TotalSuccAmount.summaryData ?
// <span className="addValue">{topData && topData?.TotalSuccAmount ? topData?.TotalSuccAmount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalSuccAmount.summaryData} - ${topData?.TotalSuccAmount.QOQData}) / ${topData?.TotalSuccAmount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalSuccAmount.summaryData - topData?.TotalSuccAmount.QOQData) / topData?.TotalSuccAmount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 3 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(3)
}}>
<div className="otherItemTitle"></div>
<div className="otherItemValue">{topData && topData?.TotalSuccTicket ? topData?.TotalSuccTicket.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalSuccTicket && topData?.TotalSuccTicket.QOQData && topData?.TotalSuccTicket.summaryData ?
<img className="addIcon" src={((topData?.TotalSuccTicket.summaryData - topData?.TotalSuccTicket.QOQData) / topData?.TotalSuccTicket.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalSuccTicket && topData?.TotalSuccTicket.QOQData && topData?.TotalSuccTicket.summaryData ?
// <span className="addValue">{topData && topData?.TotalSuccTicket ? topData?.TotalSuccTicket.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalSuccTicket.summaryData} - ${topData?.TotalSuccTicket.QOQData}) / ${topData?.TotalSuccTicket.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalSuccTicket.summaryData - topData?.TotalSuccTicket.QOQData) / topData?.TotalSuccTicket.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 4 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(4)
}}>
<div className="otherItemTitle"></div>
<div className="otherItemValue">{topData && topData?.TotalCount ? topData?.TotalCount.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalCount && topData?.TotalCount.QOQData && topData?.TotalCount.summaryData ?
<img className="addIcon" src={((topData?.TotalCount.summaryData - topData?.TotalCount.QOQData) / topData?.TotalCount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalCount && topData?.TotalCount.QOQData && topData?.TotalCount.summaryData ?
// <span className="addValue">{topData && topData?.TotalCount ? topData?.TotalCount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalCount.summaryData} - ${topData?.TotalCount.QOQData}) / ${topData?.TotalCount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalCount.summaryData - topData?.TotalCount.QOQData) / topData?.TotalCount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 5 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(5)
}}>
<div className="otherItemTitle"></div>
<div className="otherItemValue">{topData && topData?.TotalFailureTicket ? topData?.TotalFailureTicket.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalFailureTicket && topData?.TotalFailureTicket.QOQData && topData?.TotalFailureTicket.summaryData ?
<img className="addIcon" src={((topData?.TotalFailureTicket.summaryData - topData?.TotalFailureTicket.QOQData) / topData?.TotalFailureTicket.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalFailureTicket && topData?.TotalFailureTicket.QOQData && topData?.TotalFailureTicket.summaryData ?
// <span className="addValue">{topData && topData?.TotalFailureTicket ? topData?.TotalFailureTicket.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalFailureTicket.summaryData} - ${topData?.TotalFailureTicket.QOQData}) / ${topData?.TotalFailureTicket.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalFailureTicket.summaryData - topData?.TotalFailureTicket.QOQData) / topData?.TotalFailureTicket.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 6 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(6)
}}>
<div className="otherItemTitle">退</div>
<div className="otherItemValue">{topData && topData?.TotalRefundTicket ? topData?.TotalRefundTicket.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalRefundTicket && topData?.TotalRefundTicket.QOQData && topData?.TotalRefundTicket.summaryData ?
<img className="addIcon" src={((topData?.TotalRefundTicket.summaryData - topData?.TotalRefundTicket.QOQData) / topData?.TotalRefundTicket.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalRefundTicket && topData?.TotalRefundTicket.QOQData && topData?.TotalRefundTicket.summaryData ?
// <span className="addValue">{topData && topData?.TotalRefundTicket ? topData?.TotalRefundTicket.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalRefundTicket.summaryData} - ${topData?.TotalRefundTicket.QOQData}) / ${topData?.TotalRefundTicket.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalRefundTicket.summaryData - topData?.TotalRefundTicket.QOQData) / topData?.TotalRefundTicket.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 7 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(7)
}}>
<div className="otherItemTitle">退</div>
<div className="otherItemValue">{topData && topData?.TotalRefundAmount ? topData?.TotalRefundAmount.summaryData : "-"}</div>
<div className="addLabel"></div>
<div className="otherItemAddBox">
{
topData && topData?.TotalRefundAmount && topData?.TotalRefundAmount.QOQData && topData?.TotalRefundAmount.summaryData ?
<img className="addIcon" src={((topData?.TotalRefundAmount.summaryData - topData?.TotalRefundAmount.QOQData) / topData?.TotalRefundAmount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.TotalRefundAmount && topData?.TotalRefundAmount.QOQData && topData?.TotalRefundAmount.summaryData ?
// <span className="addValue">{topData && topData?.TotalRefundAmount ? topData?.TotalRefundAmount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.TotalRefundAmount.summaryData} - ${topData?.TotalRefundAmount.QOQData}) / ${topData?.TotalRefundAmount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.TotalRefundAmount.summaryData - topData?.TotalRefundAmount.QOQData) / topData?.TotalRefundAmount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
{/*
<div className={selectTab === 8 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(8)
}}>
<div className="otherItemTitle">用户访问量</div>
<div className="otherItemValue">{topData && topData?.VisitCount ? topData?.VisitCount.summaryData : "-"}</div>
<div className="addLabel">环比增长</div>
<div className="otherItemAddBox">
{
topData && topData?.VisitCount && topData?.VisitCount.QOQData && topData?.VisitCount.summaryData ?
<img className="addIcon" src={((topData?.VisitCount.summaryData - topData?.VisitCount.QOQData) / topData?.VisitCount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.VisitCount && topData?.VisitCount.QOQData && topData?.VisitCount.summaryData ?
// <span className="addValue">{topData && topData?.VisitCount ? topData?.VisitCount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.VisitCount.summaryData} - ${topData?.VisitCount.QOQData}) / ${topData?.VisitCount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.VisitCount.summaryData - topData?.VisitCount.QOQData) / topData?.VisitCount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 9 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(9)
}}>
<div className="otherItemTitle">用户收藏量</div>
<div className="otherItemValue">{topData && topData?.CollectionCount ? topData?.CollectionCount.summaryData : "-"}</div>
<div className="addLabel">环比增长</div>
<div className="otherItemAddBox">
{
topData && topData?.CollectionCount && topData?.CollectionCount.QOQData && topData?.CollectionCount.summaryData ?
<img className="addIcon" src={((topData?.CollectionCount.summaryData - topData?.CollectionCount.QOQData) / topData?.CollectionCount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.CollectionCount && topData?.CollectionCount.QOQData && topData?.CollectionCount.summaryData ?
// <span className="addValue">{topData && topData?.CollectionCount ? topData?.CollectionCount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.CollectionCount.summaryData} - ${topData?.CollectionCount.QOQData}) / ${topData?.CollectionCount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.CollectionCount.summaryData - topData?.CollectionCount.QOQData) / topData?.CollectionCount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div>
<div className={selectTab === 10 ? 'SummaryOfReservationOtherItem SummaryOfReservationOtherItemSelect' : 'SummaryOfReservationOtherItem'}
onClick={() => {
handleChangeTab(10)
}}>
<div className="otherItemTitle">商品数量</div>
<div className="otherItemValue">{topData && topData?.CommodityCount ? topData?.CommodityCount.summaryData : "-"}</div>
<div className="addLabel">环比增长</div>
<div className="otherItemAddBox">
{
topData && topData?.CommodityCount && topData?.CommodityCount.QOQData && topData?.CommodityCount.summaryData ?
<img className="addIcon" src={((topData?.CommodityCount.summaryData - topData?.CommodityCount.QOQData) / topData?.CommodityCount.QOQData) > 0 ? addIcon : reduceIcon} /> : ""
}
{
topData && topData?.CommodityCount && topData?.CommodityCount.QOQData && topData?.CommodityCount.summaryData ?
// <span className="addValue">{topData && topData?.CommodityCount ? topData?.CommodityCount.QOQData : "-"}</span>
<Tooltip title={`((${topData?.CommodityCount.summaryData} - ${topData?.CommodityCount.QOQData}) / ${topData?.CommodityCount.QOQData}) * 100`}>
<span className="addValue">{(((topData?.CommodityCount.summaryData - topData?.CommodityCount.QOQData) / topData?.CommodityCount.QOQData) * 100).toFixed(2) + '%'}</span>
</Tooltip>
: "-"
}
</div>
</div> */}
</div>
</div>
</div>
<div className="SummaryOfReservationBottom">
<ProTable
scroll={{ x: "100%", y: 'calc(100vh - 500px)' }}
rowKey={(record) => `${record?.SALEBILL_CODE}-${record?.ORDER_DATE}`}
formRef={formRef}
bordered
actionRef={actionRef}
search={false}
options={false}
request={async (params, sorter) => {
const req = {
searchParameter: {
SALEBILL_TYPES: selectPageTab === 1 ? 6000 : "3000,3001,3002",
OWNERUNIT_ID: currentUser?.OwnerUnitId,
ORDER_DATE_Start: searchParams?.StartDate || "",
ORDER_DATE_End: searchParams?.EndDate || "",
SALEBILL_STATES: selectTab == 1 ? '1010,2000,3000,8000' :
selectTab == 2 ? '1010,2000,3000,8000,8900' :
selectTab == 3 ? '1010,2000,3000,8000,8900' :
selectTab == 4 ? '1010,2000,3000,8000,8900' :
selectTab == 5 ? '9000,9999' :
selectTab == 6 ? '8900' :
selectTab == 7 ? '8900' :
selectTab == 8 ? '' :
selectTab == 9 ? '' :
selectTab == 10 ? '' : '',
SearchKeyValue: params?.searchText || ""
},
PageIndex: 1,
PageSize: 999999,
SortStr: "ORDER_DATE desc",
}
const data = await handeGetSaleBillWholeList(req)
handleSetlogSave(`点击查询按钮`)
console.log('datadatadatadatadata', data);
if (data.List && data.List.length > 0) {
let PAY_AMOUNTSUM: number = 0
let ORDER_AMOUNTSUM: number = 0
let COUPON_AMOUNTSUM: number = 0
let TOTAL_COUNTSUM: number = 0
data.List.forEach((item: any) => {
PAY_AMOUNTSUM += item.PAY_AMOUNT
ORDER_AMOUNTSUM += item.ORDER_AMOUNT
COUPON_AMOUNTSUM += item.COUPON_AMOUNT
TOTAL_COUNTSUM += item.TOTAL_COUNT
})
let sumTotal: any = {
PAY_AMOUNT: PAY_AMOUNTSUM.toFixed(2),
ORDER_AMOUNT: ORDER_AMOUNTSUM.toFixed(2),
COUPON_AMOUNT: COUPON_AMOUNTSUM.toFixed(2),
TOTAL_COUNT: TOTAL_COUNTSUM.toFixed(0),
SALEBILL_CODE: "合计",
ORDER_DATE: 1
}
let res: any = [{
...sumTotal,
children: data.List
}]
return { data: res, success: true }
// , total: data.TotalCount
}
return { data: [], success: true }
}}
pagination={false}
columns={columns}
expandable={{
defaultExpandedRowKeys: ["合计-1"],
// defaultExpandAllRows: true, // 默认展开所有行(包括合计行)
// indentSize: 0, // 可选:调整缩进大小
}}
/>
</div>
<OrderDetailModal modalVisible={modalVisible} handleCloseModal={handleCloseModal} currentRow={currentRow} />
</div>
)
}
export default connect(({ user }: ConnectState) => ({
currentUser: user.currentUser
}))(SummaryOfReservation);