diff --git a/src/components/DataSelect/index.jsx b/src/components/DataSelect/index.jsx new file mode 100644 index 0000000..2a6ef3c --- /dev/null +++ b/src/components/DataSelect/index.jsx @@ -0,0 +1,144 @@ +import React, { useState, useEffect } from 'react' +import moment from 'moment' +import { Select, DatePicker, } from "antd"; +// import { Dropdown, Menu } from 'antd' +// import Icon from '../Icon' +import './index.scss' + +function DataSelect(props) { + console.log(props) + const { + formData = { + date_type:'4' + }, + SetTimeNow, + } = props + + //时间状态切换 + const TimeChange = () => { + let e = formData?.date_type||''; + let str = "day"; + let mat = "YYYY-MM-DD"; + if (e == 4) { + str = "year"; + mat = "YYYY"; + } else if (e == 3) { + str = "month"; + mat = "YYYY-MM"; + } else if (e == 2) { + str = "week"; + mat = "YYYY-MM-DD"; + } + return { str, mat }; + }; + + + return ( + <> +
+
+ +
+
+
+
泊位利用率变化趋势
+ 展示统计时间段内的泊位利用率的趋势变化情况} + > + ? + + +
+
+ + + + + + + ); } export default ParkTurnoverAly; \ No newline at end of file diff --git a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss index 3454906..2a2bc34 100644 --- a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss +++ b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/index.scss @@ -111,7 +111,12 @@ $color-primary : var(--color-primary); background-color: #67c23a; border-color: #67c23a; } - + .soll-result { + overflow: auto; + .result { + display: block !important; + } + } .paid-result { width: calc(100% - 375px); padding-bottom: 15px; @@ -122,7 +127,80 @@ $color-primary : var(--color-primary); .result { @include flex-columns; - + .result-box { + color: #ffffff; + background: #3e4557; + border-radius: 4px; + margin-bottom: 20px; + .result-box-title { + height: 21px; + font-size: 16px; + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: left; + margin: 18px 0 18px 18px; + display: inline-block; + + } + i { + border: 1px solid; + border-radius: 22px; + display: inline-block; + text-align: center; + font-size: 12px; + width: 22px; + cursor: pointer; + } + .ant-table .ant-table-thead tr th { + background: #3e4557; + } + } + .parkinglive-box { + display: flex; + .result-box { + color: #ffffff; + background: #3e4557; + border-radius: 4px; + margin-bottom: 20px; + .result-box-title { + height: 21px; + font-size: 16px; + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: left; + margin: 18px 0 18px 18px; + display: inline-block; + } + i { + border: 1px solid; + border-radius: 22px; + display: inline-block; + text-align: center; + font-size: 12px; + width: 22px; + cursor: pointer; + } + .ant-table .ant-table-thead tr th { + background: #3e4557; + } + } + .parkinglive-left { + width: 50%; + margin-right: 20px; + } + .parkinglive-right { + width: 50%; + } + } + .overview-left { + display: inline-block; + width: 46%; + margin-right: 20px; + } + .overview-right { + display: inline-block; + width: 50%; + } .row-head { height: 32px; display: flex; @@ -211,123 +289,4 @@ $color-primary : var(--color-primary); margin-left: 20px; } } -} -.ltc-box { - width: 100%; - .ltc-box-title { - font-size: 18px; - font-weight: bolder; - width: 100%; - white-space: nowrap; - overflow: hidden; - .text { - display: inline-block; - } - .line { - display: inline-block; - border: 1px dotted #607092; - width: inherit; - margin-bottom: 6px; - } - .ltc-icon { - width: 5px; - background: #0080db; - height: 19px; - display: inline-block; - margin-right: 10px; - } - .ltc-btn { - display: inline-block; - border: 1px solid; - border-radius: 5px; - margin: 0 10px; - width: 60px; - height: 35px; - line-height: 35px; - text-align: center; - background: #409eff; - color: #fff; - font-weight: 100; - cursor: pointer; - } - .ltc-cancel { - background: #fff; - color: #000; - } - } - .ltc-box-line { - border: 1px solid #e7e7e7; - margin: 8px 0; - } - .ltc-box-in { - margin-left: 20px; - .ant-descriptions { - margin-left: 20px; - } - } - .ltc-title { - margin: auto; - width: 50%; - text-align: center; - font-size: 18px; - font-weight: 600; - } - .ltc-content { - margin: auto; - padding: 20px; - .ltc-item { - font-size: 14px; - margin: 6px 12px 6px 0; - display: inline-flex; - //width: 470px; - .new-item { - display: inline-block; - width: 120px; - height: 32px; - line-height: 32px; - background: rgba(150,161,192,0.24); - text-align: center; - } - .new-value { - display: inline-block; - width: 320px; - height: 32px; - line-height: 32px; - text-align: center; - background: #3E4557; - box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.12); - } - .ltc-item-input { - display: inline-block; - width: 200px; - } - div { - width: 150px; - } - } - } - .ltc-liuc { - display: flex; - margin-left: 200px; - .ltc-item { - display: flex; - .ltc-item-name { - margin: 6px 10px 0 10px; - color: #3f94df; - } - } - .ltc-work{ - text-align: center; - .ltc-tips { - border: 3px solid #000; - text-align: center; - line-height: 27px; - height: 35px; - width: 35px; - border-radius: 28px; - margin: auto; - } - } - - } -} \ No newline at end of file +} \ No newline at end of file diff --git a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx index 81dceac..30a7b90 100644 --- a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx +++ b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { ResultFlowResult } from "@/components"; +import { ResultFlowResult, DataSelect } from "@/components"; import { Select, Input, Button, Table, message, Pagination, DatePicker, Modal, Cascader, Tooltip } from "antd"; import { useSessionStorageState } from "ahooks"; import { dictionary } from "@/config/common"; @@ -8,24 +8,18 @@ import { setTabList } from "@/store/common.js"; import { useSelector, useDispatch } from "react-redux"; import { QuestionCircleFilled } from "@ant-design/icons" import moment from "moment"; +import ReactEcharts from "echarts-for-react"; import "./index.scss"; import ajax from "@/services"; //停车总分析 function ParkingAlyOverview() { - const navigate = useNavigate(); - const dispatch = useDispatch(); - const tabList = useSelector((state) => state.common.tabList); // session缓存 const [defaultParams, setDefaultParams] = useSessionStorageState( - "formData_editOrderInquiry", + "formData_parkingAlyOverview", { defaultValue: null } ); //区域的下拉数据 const [areaList, setAreaList] = useState([]); - const [detailVisible, setDetailVisible] = useState(false); - const [bigpicVisible, setBigpicVisible] = useState(false);//大图展示 - const [bigPic, setBigPic] = useState(); - const [ycddData, setYcddData] = useState([])//异常订单数据 // 默认数据 const defaultData = { confirm_start_time: moment().subtract('days').startOf('day').format("YYYY-MM-DD HH:mm:ss"), @@ -43,6 +37,7 @@ function ParkingAlyOverview() { }); // 表单数据 const [formData, setFormData] = useState({ + date_type: '4', ...defaultData, ...defaultParams, }); @@ -59,12 +54,39 @@ function ParkingAlyOverview() { total: 0, list: [], }); - const [detailTableData, setDetailTableData] = useState([]); + //停车场收入概览数据 + const [revenueData, setRevenueData] = useState({}); const [searchSelectList, setSearchSelectList] = useState([]); //搜索下拉数据 - const [sessionTabList, setSessionTabList] = useSessionStorageState('editOrderInquiry', { + const [sessionTabList, setSessionTabList] = useSessionStorageState('parkingAlyOverview', { value: { } }) + const columns = [ + { + title: '时间', + dataIndex: 'index', + key: 'index', + // width: 100, + // fixed: 'left', + }, + + { + title: '停车总时长', + dataIndex: 'age', + key: 'age', + }, + { + title: '日均泊位停车时长', + dataIndex: 'age', + key: 'age', + }, + { + title: '日均泊位利用率', + dataIndex: 'age', + key: 'age', + }, + + ] useEffect(() => { if (sessionTabList && Object.values(sessionTabList).length > 0) { setFormData({ @@ -90,20 +112,6 @@ function ParkingAlyOverview() { // useEffect(() => { // getData(); // }, [isAjax]); - - // 获取下拉数据 - const getSelectList = () => { - ajax.getPayRecordTotalSelect().then( - (res) => { - if (parseInt(res?.status) === 20000) { - setSearchSelectList(res.data || {}); - } - }, - (err) => { - console.log(err); - } - ); - }; //时间状态切换 const TimeChange = () => { let e = formData.date_type; @@ -145,6 +153,148 @@ function ParkingAlyOverview() { end_time: end, }); }; + // + const getRevenueOption = (data) => { + // 获取所有地区名称 + data.sort((a, b) => { + return new Date(a.pay_date) - new Date(b.pay_date); + }); + console.log(data); + const areaNames = [...new Set(data.map((item) => item.area_name))]; + // 获取所有日期 + const dates = [...new Set(data.map((item) => item.pay_date))].sort( + (a, b) => a.pay_date - b.pay_date + ); + // 构建数据对象 + const seriesData = areaNames.map((areaName, index) => { + // 获取该地区的数据 + const areaData = data.filter((item) => item.area_name === areaName); + // 构建该地区的数据对象 + return { + name: areaName, + type: "line", + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: 'white',//字体颜色 + fontSize: 10//字体大小 + } + }, + }, + }, + data: dates.map((item) => { + for (const { pay_date, income } of areaData) { + console.log(pay_date, income); + if (pay_date === item) return income; + } + return 0; + }), + yAxisIndex: index == 1 ? 1 : null, + }; + }); + console.log(21, areaNames, seriesData) + // 构建X轴数据 + const xAxisData = dates.map((date) => { + return { + value: date, + textStyle: { + align: "center", + lineStyle: { + color: "skyblue", // 设置线的颜色为天蓝色 + shadowBlur: 6, + }, + }, + }; + }); + + setRevenueData({ + title: { + text: "", + textStyle: { + color: "#fff", + }, + }, + tooltip: { + trigger: "axis", + }, + xAxis: { + data: xAxisData, + type: 'category', + axisLine: { + lineStyle: { + color: "#bbb", + }, + }, + axisLabel: { + textStyle: { + color: "#bbb", + }, + }, + }, + yAxis: { + type: "value", + name: '泊位利用率', + min: 0, + // /max: 50, + interval: 10, + splitNumber: 6, //设置坐标轴的分割段数 + axisLabel: { + formatter: "{value}%", + textStyle: { + color: "#bbb", + }, + }, + }, + color: ["#4DC3FF", "#FFD767"], + //series: seriesData, + series: + { + "name": "西区", + "type": "line", + "data": [ + 12, + 12, + 24 + ] + }, + grid: { + x: 50, + y: 55, + x2: 70, + y2: 20, + }, + }); + }; + + function getParkingIncome() { + ajax + .getParkingIncome() + .then((res) => { + if (res.status === 20000) { + console.log(res) + getRevenueOption(res.data); + } + }) + .catch((err) => console.error(err)); + } + + // 获取下拉数据 + const getSelectList = () => { + ajax.getPayRecordTotalSelect().then( + (res) => { + if (parseInt(res?.status) === 20000) { + setSearchSelectList(res.data || {}); + } + }, + (err) => { + console.log(err); + } + ); + }; + // 获取列表数据 const getData = (v) => { let postData = { ...formData }; @@ -179,257 +329,6 @@ function ParkingAlyOverview() { setIsAjax(!isAjax); }; - // 分页 - const paginationProps = { - className: "pagination-common", - showQuickJumper: true, - showSizeChanger: true, - current: pageInfo.pn, - total: resultData?.total, - pageSize: pageInfo.page_size, - pageSizeOptions: Array.from( - new Set([...[15], ...(dictionary?.pageSizeOptions || [])]) - ), - onChange: (current, size) => { - setPageInfo({ - ...pageInfo, - ...{ pn: pageInfo.page_size == size ? current : 1, page_size: size }, - }); - setIsAjax(!isAjax); - }, - }; - - //列表 - const tableColumns = [ - { - title: "序号", - width: 60, - align: "center", - render: (text, record, index) => index + 1, - }, - { - title: "修改原因", - dataIndex: "app_name", - align: "center", - }, - { - title: "处理记录ID", - dataIndex: "app_name", - align: "center", - }, - { - title: "业务订单类型", - dataIndex: "app_name", - align: "center", - }, - { - title: "业务订单ID", - dataIndex: "app_name", - align: "center", - }, - { - title: "订单金额(元)", - dataIndex: "app_name", - align: "center", - }, - { - title: "优惠总计(元)", - dataIndex: "app_name", - align: "center", - }, - { - title: "实付总计(元)", - dataIndex: "app_name", - align: "center", - }, - { - title: "欠费总计(元)", - dataIndex: "app_name", - align: "center", - }, - { - title: "确认时间", - dataIndex: "app_name", - align: "center", - }, - { - title: "发起时间", - dataIndex: "app_name", - align: "center", - }, - { - title: "状态", - dataIndex: "app_name", - align: "center", - }, - { - title: "操作", - align: "center", - width: 140, - render: (val, row, index) => { - return ( - { handleView(); setYcddData(row) }}> - 查看 - - ); - }, - }, - ]; - //详情订单修改明细列表 - const detailColumns = [ - { - title: "修改状态", - dataIndex: "statusName", - align: "center", - }, - { - title: "订单生成时间", - dataIndex: "a", - align: "center", - }, - { - title: "支付订单类型", - dataIndex: "a", - align: "center", - }, - { - title: "支付渠道", - dataIndex: "app_name", - align: "center", - }, - { - title: "支付订单ID", - dataIndex: "app_name", - align: "center", - }, - { - title: "抵扣修改金额", - dataIndex: "app_name", - align: "center", - }, - { - title: "优惠金额", - dataIndex: "app_name", - align: "center", - }, - { - title: "实付金额", - dataIndex: "app_name", - align: "center", - }, - { - title: "欠费金额", - dataIndex: "app_name", - align: "center", - }, - { - title: "需要退款金额", - dataIndex: "app_name", - align: "center", - }, - ]; - // 查看 - const handleView = () => { - setDetailVisible(true) - }; - //订单详情 - const tkddModal =
-
停车订单:{ycddData.park_record_id}
-
车厂详情
-
-
-
停车场名称
{ycddData?.road_name}
-
-
-
区域
{ycddData.area_name}
-
-
-
商户名称
{ycddData.park_operator_name}
-
-
-
泊位号
{ycddData.berth_code}
-
-
-
车场类型
{ycddData.road_type}
-
-
- -
车辆详情
-
-
-
车牌号
{ycddData.plate_number}
-
-
-
停车时长
{ycddData.parking_duration}
-
-
-
入场时间
{ycddData.in_time}
-
-
-
出场时间
{ycddData.out_time}
-
-
-
入场记录来源
{ycddData.inSource}
-
-
-
出场记录来源
{ycddData.outSource}
-
- -
- -
订单详情:{ycddData?.refund_id}
-
-
-
应收金额
{ycddData?.r || "--"}
-
-
-
优惠总计
{ycddData.r || "--"}
-
-
-
实付总计
{ycddData.p || "--"}
-
-
-
欠费总计
{ycddData.r || "--"}
-
- -
-
修改信息:{ycddData?.refund_id}
-
-
-
修改原因
{ycddData.s || "--"}
-
-
-
欠费金额修改
{ycddData.s || "--"}
-
-
-
修改金额
{ycddData.s || "--"}
-
-
-
优惠金额修改
{ycddData.s || "--"}
-
-
-
退款方式
{ycddData.refund_type || "--"}
-
-
-
退款金额共计
{ycddData.r || "--"}
-
-
-
订单修改明细
-
- // 导出 const handleExport = () => { if (resultData.list?.length > 0) { @@ -451,6 +350,10 @@ function ParkingAlyOverview() { } }; useEffect(() => { + getParkingIncome(); + }, []); + //区域下拉框数据 + useEffect(() => { ajax .getAreaTree() .then((res) => { @@ -500,6 +403,31 @@ function ParkingAlyOverview() { />
+ +
-
-
+
-
- { - setDetailVisible(false); - }} - footer={[ - ]} - > - {tkddModal} - - { - setBigpicVisible(false); - }} - footer={false} - > -
-
- -
+
+
停车指标总览
+
+
+
停车趋势分析
+ +
+
+
+
停车资源利用情况分析
+
- +
+
停车资源利用率排行榜
+
+ + diff --git a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx index 536634e..fcc18fd 100644 --- a/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx +++ b/src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx @@ -15,7 +15,7 @@ import ajax from "@/services"; function ParkingLiveData() { // session缓存 const [defaultParams, setDefaultParams] = useSessionStorageState( - "formData_temporaryParkStat", + "formData_parkingLiveData", { defaultValue: null } ); //区域的下拉数据 @@ -59,7 +59,7 @@ function ParkingLiveData() { // const [ringData, setRingData] = useState({}); const [searchSelectList, setSearchSelectList] = useState([]); //搜索下拉数据 - const [sessionTabList, setSessionTabList] = useSessionStorageState('temporaryParkStat', { + const [sessionTabList, setSessionTabList] = useSessionStorageState('parkingLiveData', { value: { } }) diff --git a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx index 27c2c0c..a5e3f30 100644 --- a/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx +++ b/src/pages/FinancialMgm/OrderInquiry/ReturnOrderInquiry/index.jsx @@ -146,12 +146,20 @@ function ReturnOrderInquiry() { value: 0, }, { + label: "重复支付退款", + value: 2, + }, + { + label: "异常支付退款", + value: 7, + }, + { label: "异常订单处理", - value: 1, + value: 11, }, { label: "自动平单退款", - value: 2, + value: 12, }, ], }, @@ -377,7 +385,7 @@ function ReturnOrderInquiry() { <> {renderTable( createCol(['序号', '最近尝试时间', '支付渠道', '应退实付(元)', '应退优惠(元)', '退款原因', '退款申请时间', '退款订单ID', '业务订单类型', '业务订单ID', '支付订单类型', '支付订单ID', '渠道流水号', '状态'], - ['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason', 'refund_time', 'payment_order_id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 8), + ['index', 'latest_try_time', 'payment_channels_name', 'refund_actual_amount', 'refund_discount_amount', 'reason_name', 'refund_time', 'payment_order_id', 'parking_type_name', 'park_record_id', 'payment_type_name', 'payment_order_id', 'flow_id', 'state_name'], 8), formRefundSearch, resultData )} diff --git a/src/pages/InRoadMgm/RecordInquiry/ArrearsInquiries/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/ArrearsInquiries/loadable.jsx index c72e545..1e595e4 100644 --- a/src/pages/InRoadMgm/RecordInquiry/ArrearsInquiries/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/ArrearsInquiries/loadable.jsx @@ -144,6 +144,8 @@ function ArrearsInquiries() { total={total} search={fetch} initFormData={initFormData} + mandatory={'plate'} + mandatory_name={'车牌号'} pagename="欠费追缴查询" pageName={'arrearsInquiries'} otherData={{ diff --git a/src/pages/InRoadMgm/RecordInquiry/ArrearsRecordTotal/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/ArrearsRecordTotal/loadable.jsx index 1c796a3..90acc83 100644 --- a/src/pages/InRoadMgm/RecordInquiry/ArrearsRecordTotal/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/ArrearsRecordTotal/loadable.jsx @@ -149,6 +149,8 @@ function ArrearsRecordTotal() { tableData={tableData} formSearch={formSearch} total={total} + mandatory={'plate'} + mandatory_name={'车牌号'} pagename="停车欠费订单" pageName={'arrearsRecordTotal'} search={fetch} diff --git a/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx index 7c5c924..ac410d9 100644 --- a/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx @@ -699,6 +699,8 @@ function DisabledCarParkRecordTotal() { tableData={resultData} formSearch={formSearch} total={total} + mandatory={'plate'} + mandatory_name={'车牌号'} pageName={'disabledCarParkRecordTotal'} search={search} exportUrl={'http://192.168.5.149:90/PMS/api/bpm/record/get_record_export'} diff --git a/src/pages/InRoadMgm/RecordInquiry/EntryExitOptPDA/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/EntryExitOptPDA/loadable.jsx index f039e73..30512b0 100644 --- a/src/pages/InRoadMgm/RecordInquiry/EntryExitOptPDA/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/EntryExitOptPDA/loadable.jsx @@ -134,6 +134,8 @@ function EntryExitOptPDA() { formSearch={formSearch} search={search} total={total} + mandatory={'parking_num'} + mandatory_name={'泊位号'} pagename="PDA操作记录" pageName={'entryExitOptPDA'} initFormData={initFormData} diff --git a/src/pages/InRoadMgm/RecordInquiry/GeomagneticSignalMgm/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/GeomagneticSignalMgm/loadable.jsx index d0581ac..5021224 100644 --- a/src/pages/InRoadMgm/RecordInquiry/GeomagneticSignalMgm/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/GeomagneticSignalMgm/loadable.jsx @@ -150,6 +150,8 @@ function GeomagneticSignalMgm() { formSearch={formSearch} search={search} total={total} + mandatory={'parkingSpotNumber'} + mandatory_name={'泊位号'} initFormData={initFormData} pagename="地磁信号记录" pageName={'geomagneticSignalMgm'} diff --git a/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx index e92a603..bf93b3a 100644 --- a/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx @@ -656,6 +656,8 @@ function ParkRecordTotal() { tableData={tableData} formSearch={formSearch} pagename="停车记录查询" + mandatory={'plate'} + mandatory_name={'车牌号'} pageName={'parkRecordTotal'} initFormData={initFormData} total={total} diff --git a/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx index 6d648fe..aade1bf 100644 --- a/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx @@ -183,6 +183,8 @@ function PreOrderRecord() { <>