Browse Source

fix():对接数据预测分析部分页面

tags/PMS_Frontend_v1.0.6-develop
xingjx 1 year ago
parent
commit
4d9ba3555a
  1. 2
      src/components/TableModule/index.jsx
  2. 6
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkBerthAly/loadable.jsx
  3. 2
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkUsageAly/loadable.jsx
  4. 170
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/loadable.jsx
  5. 8
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx
  6. 165
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyPeriod/loadable.jsx
  7. 1
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/loadable.jsx
  8. 89
      src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx
  9. 27
      src/services/DataAnalysisPrediction/ParkingBusinessAly/index.js

2
src/components/TableModule/index.jsx

@ -61,7 +61,7 @@ const TableModule = forwardRef((props, ref) => {
const [sessionTabList, setSessionTabList] = useSessionStorageState(pageName, { const [sessionTabList, setSessionTabList] = useSessionStorageState(pageName, {
value: '' value: ''
}) })
console.log(locale);
//console.log(locale);
const [formData, setFormData] = useState() const [formData, setFormData] = useState()
const [inputSelectGroup, setInputSelectGroup] = useState([]) const [inputSelectGroup, setInputSelectGroup] = useState([])
const [deftime, setDeftime] = useState([]) const [deftime, setDeftime] = useState([])

6
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkBerthAly/loadable.jsx

@ -32,7 +32,7 @@ function ParkBerthAly() {
// //
const [pageInfo, setPageInfo] = useState({ const [pageInfo, setPageInfo] = useState({
pn: 1, pn: 1,
length: 10
page_size: 10
}); });
// //
const [formData, setFormData] = useState({ const [formData, setFormData] = useState({
@ -128,7 +128,7 @@ function ParkBerthAly() {
showSizeChanger: true, showSizeChanger: true,
current: pageInfo.pn, current: pageInfo.pn,
//total: resultData?.totalRecords, //total: resultData?.totalRecords,
pageSize: pageInfo.length,
pageSize: pageInfo.page_size,
pageSizeOptions: Array.from( pageSizeOptions: Array.from(
new Set([...[15], ...(dictionary?.pageSizeOptions || [])]) new Set([...[15], ...(dictionary?.pageSizeOptions || [])])
), ),
@ -543,7 +543,7 @@ function ParkBerthAly() {
} }
); );
}; };
// //
const handleSearch = () => { const handleSearch = () => {

2
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkUsageAly/loadable.jsx

@ -181,7 +181,7 @@ function ParkUsageAly() {
}, },
data: dates.map((item) => { data: dates.map((item) => {
for (const { date, berth_utilization } of areaData) { for (const { date, berth_utilization } of areaData) {
if (date === item) return berth_utilization;
if (date === item) return parseFloat(berth_utilization);
} }
return 0; return 0;
}), }),

170
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyDuration/loadable.jsx

@ -30,7 +30,7 @@ function ParkingAlyDuration() {
// //
const [pageInfo, setPageInfo] = useState({ const [pageInfo, setPageInfo] = useState({
pn: 1, pn: 1,
length: 10
page_size: 10
}); });
// //
const [formData, setFormData] = useState({ const [formData, setFormData] = useState({
@ -50,11 +50,16 @@ function ParkingAlyDuration() {
total: 0, total: 0,
list: [], list: [],
}); });
//
//
const [tableData, setTableData] = useState({ const [tableData, setTableData] = useState({
area_list: [], area_list: [],
road_list: [], road_list: [],
}); });
// setTableCarData
const [tableCarData, setTableCarData] = useState({
area_list: [],
road_list: [],
});
// //
const [revenueData, setRevenueData] = useState({}); const [revenueData, setRevenueData] = useState({});
const [searchSelectList, setSearchSelectList] = useState([]); // const [searchSelectList, setSearchSelectList] = useState([]); //
@ -144,7 +149,7 @@ function ParkingAlyDuration() {
showSizeChanger: true, showSizeChanger: true,
current: pageInfo.pn, current: pageInfo.pn,
//total: resultData?.totalRecords, //total: resultData?.totalRecords,
pageSize: pageInfo.length,
pageSize: pageInfo.page_size,
pageSizeOptions: Array.from( pageSizeOptions: Array.from(
new Set([...[15], ...(dictionary?.pageSizeOptions || [])]) new Set([...[15], ...(dictionary?.pageSizeOptions || [])])
), ),
@ -684,8 +689,8 @@ function ParkingAlyDuration() {
}; };
// //
const getData = (v) => {
ajax.getParkingAlyDurationBerthList({ ...v}).then(
const getData = (v, pn = {}) => {
ajax.getParkingAlyDurationBerthList({ ...v, ...pn }).then(
(res) => { (res) => {
if (parseInt(res?.status) === 20000) { if (parseInt(res?.status) === 20000) {
setTableData(res?.data || {}); setTableData(res?.data || {});
@ -703,17 +708,17 @@ function ParkingAlyDuration() {
); );
}; };
// //
const getListData = (v) => {
const getListData = (v, pn = {}) => {
let postData = { ...formData, sort: 1 }; let postData = { ...formData, sort: 1 };
if (!loading) { if (!loading) {
postData = { ...holdData }; postData = { ...holdData };
} }
setDefaultParams({ ...postData, ...pageInfo }); setDefaultParams({ ...postData, ...pageInfo });
setTabLoading(true); setTabLoading(true);
ajax.getParkingAlyDurationParkingList({ ...postData, ...v, ...pageInfo }).then(
ajax.getParkingAlyDurationParkingList({ ...postData, ...v, ...pageInfo, ...pn }).then(
(res) => { (res) => {
if (parseInt(res?.status) === 20000) { if (parseInt(res?.status) === 20000) {
//setResultData(res?.data || {});
setTableCarData(res?.data || {});
} else { } else {
message.error(res?.message); message.error(res?.message);
} }
@ -775,6 +780,26 @@ function ParkingAlyDuration() {
message.error("暂无数据"); message.error("暂无数据");
} }
}; };
//
const handleExportCar = () => {
if (tableData.list.area_list?.length > 0) {
let { pn, page_size, ...params } = defaultParams;
ajax.getParkingAlyDurationExp(defaultParams).then(
(res) => {
if (res) {
window.open(res.export_url)
} else {
message.error(res?.message);
}
},
(err) => {
console.log(err);
}
);
} else {
message.error("暂无数据");
}
};
// //
useEffect(() => { useEffect(() => {
ajax ajax
@ -981,7 +1006,11 @@ function ParkingAlyDuration() {
<Tabs <Tabs
defaultActiveKey="2" defaultActiveKey="2"
activeKey={tabKey} activeKey={tabKey}
onChange={changeKey}
onChange={(key) => {
setTabKey(key);
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getData({}, { pn: 1 })
}}
items={[ items={[
{ {
label: `序号`, label: `序号`,
@ -992,8 +1021,16 @@ function ParkingAlyDuration() {
label: <div className="tab-title"> label: <div className="tab-title">
<div className="title">区域</div> <div className="title">区域</div>
<div className="btn"> <div className="btn">
<div onClick={() => { message.success('升序'); getData({ sort: 1 }) }}></div>
<div onClick={() => { message.success('降序'); getData({ sort: 2 }) }}></div>
<div onClick={() => {
message.success('升序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getData({ sort: 1 }, { pn: 1 })
}}></div>
<div onClick={() => {
message.success('降序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getData({ sort: 2 }, { pn: 1 })
}}></div>
</div> </div>
</div>, </div>,
key: '1', key: '1',
@ -1013,8 +1050,16 @@ function ParkingAlyDuration() {
label: <div className="tab-title"> label: <div className="tab-title">
<div className="title">停车场</div> <div className="title">停车场</div>
<div className="btn"> <div className="btn">
<div onClick={() => { message.success('升序'); getData({ sort: 1 }) }}></div>
<div onClick={() => { message.success('降序'); getData({ sort: 2 }) }}></div>
<div onClick={() => {
message.success('升序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getData({ sort: 1 }, { pn: 1 })
}}></div>
<div onClick={() => {
message.success('降序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getData({ sort: 2 }, { pn: 1 })
}}></div>
</div> </div>
</div>, </div>,
key: '2', key: '2',
@ -1050,16 +1095,95 @@ function ParkingAlyDuration() {
</div> </div>
<div className="result-box duration-right"> <div className="result-box duration-right">
<div className="result-box-title">平均停车时长排行榜</div> <div className="result-box-title">平均停车时长排行榜</div>
<div className="export-btn" onClick={() => { window.open('/get_parking_duration_export') }}>导出</div>
<Table
columns={parkColumns}
dataSource={[]}
bordered
size="middle"
// scroll={{
// x: 'calc(700px + 50%)',
// y: 240,
// }}
<div className="export-btn" onClick={() => { handleExportCar }}>导出</div>
<Tabs
defaultActiveKey="2"
activeKey={tabKey}
onChange={(key) => {
setTabKey(key);
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({}, { pn: 1 })
}}
items={[
{
label: `序号`,
key: '0',
disabled: "true"
},
{
label: <div className="tab-title">
<div className="title">区域</div>
<div className="btn">
<div onClick={() => {
message.success('升序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({ sort: 1 }, { pn: 1 })
}}></div>
<div onClick={() => {
message.success('降序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({ sort: 2 }, { pn: 1 })
}}></div>
</div>
</div>,
key: '1',
children: <><Table
showHeader={false}
columns={columns}
dataSource={tableData?.list?.area_list || []}
rowKey={'area_name'}
bordered
pagination={false}
size="middle"
/>
<Pagination {...paginationProps} className="pagination-common" total={tableData?.area_total_records} />
</>,
},
{
label: <div className="tab-title">
<div className="title">停车场</div>
<div className="btn">
<div onClick={() => {
message.success('升序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({ sort: 1 }, { pn: 1 })
}}></div>
<div onClick={() => {
message.success('降序');
setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({ sort: 2 }, { pn: 1 })
}}></div>
</div>
</div>,
key: '2',
children: <><Table
showHeader={false}
columns={parkColumns}
dataSource={tableData?.list?.road_list}
rowKey={'area_name'}
bordered
pagination={false}
size="middle"
//scroll={{ y: 305 }}
// scroll={{
// x: 'calc(700px + 50%)',
// y: 240,
// }}
/>
<Pagination {...paginationProps} className="pagination-common" total={tableData?.area_total_records} />
</>,
},
{
label: `停车次数`,
key: '3',
disabled: "true"
},
{
label: `平均停车时长`,
key: '4',
disabled: "true"
},
]}
/> />
</div> </div>
</div> </div>

8
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyOverview/loadable.jsx

@ -32,7 +32,7 @@ function ParkingAlyOverview() {
// //
const [pageInfo, setPageInfo] = useState({ const [pageInfo, setPageInfo] = useState({
pn: 1, pn: 1,
length: 10
page_size: 10
}); });
// //
const [formData, setFormData] = useState({ const [formData, setFormData] = useState({
@ -163,7 +163,7 @@ function ParkingAlyOverview() {
showSizeChanger: true, showSizeChanger: true,
current: pageInfo.pn, current: pageInfo.pn,
//total: resultData?.totalRecords, //total: resultData?.totalRecords,
pageSize: pageInfo.length,
pageSize: pageInfo.page_size,
pageSizeOptions: Array.from( pageSizeOptions: Array.from(
new Set([...[15], ...(dictionary?.pageSizeOptions || [])]) new Set([...[15], ...(dictionary?.pageSizeOptions || [])])
), ),
@ -700,7 +700,7 @@ function ParkingAlyOverview() {
<Tabs <Tabs
defaultActiveKey="2" defaultActiveKey="2"
activeKey={tabKey} activeKey={tabKey}
onChange={() => {
onChange={(key) => {
setTabKey(key); setTabKey(key);
setPageInfo({ ...pageInfo, ...{ pn: 1 } }); setPageInfo({ ...pageInfo, ...{ pn: 1 } });
getListData({}, { pn: 1 }) getListData({}, { pn: 1 })
@ -762,7 +762,7 @@ function ParkingAlyOverview() {
showHeader={false} showHeader={false}
columns={parkColumns} columns={parkColumns}
dataSource={tableData?.list?.road_list || []} dataSource={tableData?.list?.road_list || []}
rowKey={'area_name'}
rowKey={'road_name'}
bordered bordered
pagination={false} pagination={false}
size="middle" size="middle"

165
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyPeriod/loadable.jsx

@ -171,7 +171,153 @@ function ParkingAlyPeriod() {
}; };
// 线 // 线
const getParkOption = (data) => { const getParkOption = (data) => {
const areaNames = data[0].name ? [...new Set(data.map((item) => item.name))] : ['入场车次', '出场车次'];
// data = [
// {
// "hour": 0,
// "occupancy_rate": "0.01%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 1,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 2,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 3,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 4,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 5,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 6,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 7,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 8,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 9,
// "occupancy_rate": "0.1%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 10,
// "occupancy_rate": "0.01%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 11,
// "occupancy_rate": "0.04%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 12,
// "occupancy_rate": "0.06%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 13,
// "occupancy_rate": "0.04%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 14,
// "occupancy_rate": "0.06%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 15,
// "occupancy_rate": "0.01%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 16,
// "occupancy_rate": "0.04%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 17,
// "occupancy_rate": "0.04%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 18,
// "occupancy_rate": "0.07%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 19,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 20,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 21,
// "occupancy_rate": "0.01%",
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 22,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// },
// {
// "hour": 23,
// "occupancy_rate": 0,
// "charge_type": "2",
// "charge_type_name": ""
// }
// ]
const areaNames = data[0].charge_type_name ? [...new Set(data.map((item) => item.charge_type_name))] : [''];
// //
const dates = [...new Set(data.map((item) => item.hour))].sort( const dates = [...new Set(data.map((item) => item.hour))].sort(
(a, b) => a.hour - b.hour (a, b) => a.hour - b.hour
@ -179,10 +325,10 @@ function ParkingAlyPeriod() {
// //
const seriesData = areaNames.map((areaName, index) => { const seriesData = areaNames.map((areaName, index) => {
// //
const areaData = data[0].name ? data.filter((item) => item.name === areaName) : data
const areaData = data[0].charge_type_name ? data.filter((item) => item.charge_type_name === areaName) : data
// //
return { return {
name: areaNames.length > 1 ? areaName : '',
name: areaName,
type: "line", type: "line",
itemStyle: { itemStyle: {
label: { label: {
@ -193,8 +339,8 @@ function ParkingAlyPeriod() {
}, },
}, },
data: dates.map((item) => { data: dates.map((item) => {
for (const { hour, total_in_records, total_out_records } of areaData) {
if (hour === item) return index == 1 ? total_in_records : total_out_records;
for (const { hour, occupancy_rate } of areaData) {
if (hour === item) return parseFloat(occupancy_rate);
} }
return 0; return 0;
}), }),
@ -212,14 +358,17 @@ function ParkingAlyPeriod() {
}; };
}); });
setParkData(lineChartOption(areaNames, xAxisData, "饱和度", seriesData)); setParkData(lineChartOption(areaNames, xAxisData, "饱和度", seriesData));
}; };
function getParkingIncome(data) { function getParkingIncome(data) {
ajax ajax
.getParkingAlyPeriodLine(data) .getParkingAlyPeriodLine(data)
.then((res) => { .then((res) => {
if (res.status === 20000) { if (res.status === 20000) {
getRevenueOption(res.data.list); getRevenueOption(res.data.list);
setResultData(res.data)
} }
}) })
.catch((err) => console.error(err)); .catch((err) => console.error(err));
@ -491,21 +640,21 @@ function ParkingAlyPeriod() {
<div className="result-icon"><Icon type="shijian" /></div> <div className="result-icon"><Icon type="shijian" /></div>
<div className="result-content"> <div className="result-content">
<div className="title">停车高峰时段</div> <div className="title">停车高峰时段</div>
<div className="time">||"--"</div>
<div className="time">{resultData.peak_hours || "--"}</div>
</div> </div>
</div> </div>
<div className="result-header reb"> <div className="result-header reb">
<div className="result-icon"><Icon type="shijian" /></div> <div className="result-icon"><Icon type="shijian" /></div>
<div className="result-content"> <div className="result-content">
<div className="title">入场压力时段</div> <div className="title">入场压力时段</div>
<div className="time"></div>
<div className="time">{resultData.entry_pressure_hours || "--"}</div>
</div> </div>
</div> </div>
<div className="result-header rec"> <div className="result-header rec">
<div className="result-icon"><Icon type="shijian" /></div> <div className="result-icon"><Icon type="shijian" /></div>
<div className="result-content"> <div className="result-content">
<div className="title">出场压力时段</div> <div className="title">出场压力时段</div>
<div className="time">00:00 - 22:00</div>
<div className="time">{resultData.exit_pressure_hours || "--"}</div>
</div> </div>
</div> </div>
</div> </div>

1
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingAlyReport/loadable.jsx

@ -183,6 +183,7 @@ function ParkingAlyReport() {
formSearch={formSearch} formSearch={formSearch}
search={search} search={search}
total={total} total={total}
rowKey={"road_name"}
initFormData={{}} initFormData={{}}
pageName={'parkingAlyReport'} pageName={'parkingAlyReport'}
// exportUrl="" // exportUrl=""

89
src/pages/DataAnalysisPrediction/ParkingBusinessAly/ParkingLiveData/loadable.jsx

@ -94,14 +94,67 @@ function ParkingLiveData() {
// }, [isAjax]); // }, [isAjax]);
// //
const getRevenueOption = (data) => { const getRevenueOption = (data) => {
if (!data.entry_list) return
data.entry_list.sort((a, b) => {
return new Date(a.hour) - new Date(b.hour);
});
data.entry_list.sort((a, b) => {
return new Date(a.hour) - new Date(b.hour);
});
const areaNames = ['入场', '出场'];
//
const dates = [...new Set(data.entry_list.map((item) => item.hour))].sort(
(a, b) => a.hour - b.hour
);
//
const seriesData = areaNames.map((areaName, index) => {
let newsave = ''
if (index == 0) {
newsave = data.entry_list.map((item) => { return item.entry_count })
} else {
newsave = data.exit_list.map((item) => { return item.exit_count })
}
//
//const areaData = data[0].name ? data.filter((item) => item.name === areaName) : data
//
return {
name: areaNames.length > 1 ? areaName : '',
type: "line",
itemStyle: {
label: {
show: true, //
position: 'top', //
color: 'white',//
fontSize: 10//
},
},
data: newsave
};
});
// X
const xAxisData = dates.map((date) => {
return {
value: date,
align: "center",
lineStyle: {
color: "skyblue", // 线
shadowBlur: 6,
},
};
});
setRevenueData(lineChartOption(areaNames, xAxisData, "数量(次)", seriesData));
};
//
const getLineOption = (data) => {
// //
data.sort((a, b) => { data.sort((a, b) => {
return new Date(a.date) - new Date(b.date);
return new Date(a.hour) - new Date(b.hour);
}); });
const areaNames = data[0].name ? [...new Set(data.map((item) => item.name))] : ['']; const areaNames = data[0].name ? [...new Set(data.map((item) => item.name))] : [''];
// //
const dates = [...new Set(data.map((item) => item.date))].sort(
(a, b) => a.date - b.date
const dates = [...new Set(data.map((item) => item.hour))].sort(
(a, b) => a.hour - b.hour
); );
// //
const seriesData = areaNames.map((areaName, index) => { const seriesData = areaNames.map((areaName, index) => {
@ -120,8 +173,8 @@ function ParkingLiveData() {
}, },
}, },
data: dates.map((item) => { data: dates.map((item) => {
for (const { date, record_count } of areaData) {
if (date === item) return record_count;
for (const { hour, occupancy_rate } of areaData) {
if (hour === item) return parseFloat(occupancy_rate);
} }
return 0; return 0;
}), }),
@ -140,9 +193,9 @@ function ParkingLiveData() {
}; };
}); });
setRevenueData(lineChartOption(areaNames, xAxisData, "数量(次)", seriesData));
setParkingData(lineChartOption(areaNames, xAxisData, "数量(次)", seriesData));
}; };
//
//
const getParkingOption = (data) => { const getParkingOption = (data) => {
console.log(data) console.log(data)
const areaNames = [data.vacant_name, data.occupied_name]; const areaNames = [data.vacant_name, data.occupied_name];
@ -152,7 +205,7 @@ function ParkingLiveData() {
] ]
setRingData(ringChartOption(areaNames, todata)); setRingData(ringChartOption(areaNames, todata));
}; };
//
//
const getRingOption = (data) => { const getRingOption = (data) => {
const areaNames = [data.member_name, data.no_member_name]; const areaNames = [data.member_name, data.no_member_name];
let todata = [ let todata = [
@ -181,6 +234,26 @@ function ParkingLiveData() {
} }
}) })
.catch((err) => console.error(err)); .catch((err) => console.error(err));
ajax
.getParkingLiveDataLine(data)
.then((res) => {
if (res.status === 20000) {
console.log(res)
getRevenueOption(res.data.list)
}
})
.catch((err) => console.error(err));
ajax
.getParkingLiveDataParkLine(data)
.then((res) => {
if (res.status === 20000) {
console.log(res)
getLineOption(res.data.list)
}
})
.catch((err) => console.error(err));
} }
// //

27
src/services/DataAnalysisPrediction/ParkingBusinessAly/index.js

@ -73,6 +73,14 @@ const getParkingAlyDurationParkingExp = (params) => {
data: params, data: params,
}); });
}; };
//停车业务分析-停车时长分析-平均停车时长排行榜导出
const getParkingAlyDurationExp = (params) => {
return ajax({
url: "/get_parking_duration_export",
type: "post",
data: params,
});
};
//停车业务分析-停车时段分析-出入场车流量分析 折线图 //停车业务分析-停车时段分析-出入场车流量分析 折线图
const getParkingAlyPeriodLine = (params) => { const getParkingAlyPeriodLine = (params) => {
return ajax({ return ajax({
@ -145,6 +153,22 @@ const getParkingLiveDataVip = (params) => {
data: params, data: params,
}); });
}; };
//停车业务分析-停车实况数据-出入场趋势 折线图
const getParkingLiveDataLine = (params) => {
return ajax({
url: "/api/ana/dataanalysis/show_inout_record_data",
type: "post",
data: params,
});
};
//停车业务分析-停车实况数据-泊位占用趋势 折线图
const getParkingLiveDataParkLine = (params) => {
return ajax({
url: "/api/ana/dataanalysis/get_berth_occupancy",
type: "post",
data: params,
});
};
//停车业务分析-泊位周转分析-列表 //停车业务分析-泊位周转分析-列表
const getparkTurnoverAlyList = (params) => { const getparkTurnoverAlyList = (params) => {
return ajax({ return ajax({
@ -198,6 +222,7 @@ export default {
getParkingAlyDurationBerthList, getParkingAlyDurationBerthList,
getParkingAlyDurationParkingList, getParkingAlyDurationParkingList,
getParkingAlyDurationParkingExp, getParkingAlyDurationParkingExp,
getParkingAlyDurationExp,
getParkingAlyPeriodLine, getParkingAlyPeriodLine,
getParkingAlyPeriodParkLine, getParkingAlyPeriodParkLine,
@ -211,6 +236,8 @@ export default {
getParkingLiveDataPark, getParkingLiveDataPark,
getParkingLiveDataVip, getParkingLiveDataVip,
getParkingLiveDataLine,
getParkingLiveDataParkLine,
getparkTurnoverAlyList, getparkTurnoverAlyList,

Loading…
Cancel
Save