diff --git a/src/components/Export/ExportBtnNew/index.jsx b/src/components/Export/ExportBtnNew/index.jsx
index b73aca2..048b657 100644
--- a/src/components/Export/ExportBtnNew/index.jsx
+++ b/src/components/Export/ExportBtnNew/index.jsx
@@ -183,6 +183,9 @@ function ExportBtn(props) {
// setInProcess("2");
// setProcess(res.data?.task_url)
// onExportProcess(res.data?.task_url)
+ } else if (res.status == 0) {
+ message.error('导出失败,查询数据为空')
+ handleCancel()
} else {
setInProcess("4");
message.error(res.message);
@@ -197,6 +200,9 @@ function ExportBtn(props) {
// setInProcess("2");
// setProcess(res.data?.task_url)
// onExportProcess(res.data?.task_url)
+ } else if (res.status == 0) {
+ message.error('导出失败,查询数据为空')
+ handleCancel()
} else {
setInProcess("4");
message.error(res.message);
diff --git a/src/config/utils.js b/src/config/utils.js
index d637a35..0f2da65 100644
--- a/src/config/utils.js
+++ b/src/config/utils.js
@@ -36,15 +36,27 @@ const utils = {
console.log("当前localStorage已存容量为" + (size / 1024).toFixed(2) + "KB")
},
+ // parseFormatNum: (number) => {
+ // if (!number) return
+ // const a = number.toString().split("")
+ // let v = a.reverse()
+ // let vn = ""
+ // for (let i = 0; i < v.length; i++) {
+ // vn += v[i] + ((i + 1) % 3 == 0 && i + 1 != v.length ? "," : "")
+ // }
+ // return vn.split("").reverse().join("")
+ // },
parseFormatNum: (number) => {
if (!number) return
- const a = number.toString().split("")
+ let arr = number.toString().split(".")
+ let hasXiaoShu = arr.length > 1 // 有小数
+ const a = arr[0].split("")
let v = a.reverse()
let vn = ""
for (let i = 0; i < v.length; i++) {
vn += v[i] + ((i + 1) % 3 == 0 && i + 1 != v.length ? "," : "")
}
- return vn.split("").reverse().join("")
+ return vn.split("").reverse().join("") + (hasXiaoShu ? `.${arr[1]}` : '')
},
idCardTest: (value) => {
let re = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/Overview/index.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/Overview/index.jsx
index 8634db6..1a3aceb 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/Overview/index.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/Overview/index.jsx
@@ -32,7 +32,7 @@ const Overview = forwardRef((props, ref) => {
const initMoneyPieChart = (data, unit) => {
let total = 0
data.map((item) => {
- total += item.value
+ total += Number(item.value || 0)
})
setMoneyPieChartOption({
...moneyPieChartOption,
@@ -66,7 +66,7 @@ const Overview = forwardRef((props, ref) => {
const initItemPieChart = (data, unit) => {
let total = 0
data.map((item) => {
- total += item.value
+ total += Number(item.value || 0)
})
setItemPieChartOption({
...itemPieChartOption,
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/ParkArrear/index.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/ParkArrear/index.jsx
index cd616b5..9174210 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/ParkArrear/index.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/ParkArrear/index.jsx
@@ -139,7 +139,8 @@ const ParkArrear = forwardRef((props, ref) => {
modalType="noImg"
totalRecords={resultData.totalRecords}
// exportUrl="/api/dataAnalysis/arrearsPark/export"
- exportUrl="/api/dataAnalysis/arrearsPark"
+ // exportUrl="/api/dataAnalysis/arrearsPark"
+ exportUrl="/api/ana/arrearage/arrears_park"
postdata={{
formData: {...formData, ...pageInfo, ...{is_excel: 1}}
}}
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/PlateArrear/index.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/PlateArrear/index.jsx
index 6bf2c66..6335f51 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/PlateArrear/index.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/PlateArrear/index.jsx
@@ -132,7 +132,8 @@ const PlateArrear = forwardRef((props, ref) => {
children={}
modalType="noImg"
totalRecords={resultData.totalRecords}
- exportUrl="/api/dataAnalysis/arrearsPlate"
+ // exportUrl="/api/dataAnalysis/arrearsPlate"
+ exportUrl="/api/ana/arrearage/arrears_plate"
postdata={{
formData: {...formData, ...pageInfo, ...{is_excel: 1}}
}}
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/loadable.jsx
index 166a0cf..2dbf53b 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageAly/loadable.jsx
@@ -109,6 +109,28 @@ function ArrearageAly(props) {
}
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
const handleReset = () => {
if (activeTab == 3) {
setFormDataNew(defaultNewData)
@@ -178,10 +200,11 @@ function ArrearageAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageRecoverAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageRecoverAly/loadable.jsx
index 8026624..26c96b8 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageRecoverAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/ArrearageRecoverAly/loadable.jsx
@@ -21,8 +21,8 @@ function ArrearageRecoverAly(props) {
park_type: 0,
date_type: "day",
park_bussiness_type: 0,
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -147,10 +147,32 @@ function ArrearageRecoverAly(props) {
})
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -177,8 +199,8 @@ function ArrearageRecoverAly(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -195,6 +217,17 @@ function ArrearageRecoverAly(props) {
}
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
ajaxGetListData()
}
@@ -224,10 +257,11 @@ function ArrearageRecoverAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
@@ -398,7 +432,8 @@ function ArrearageRecoverAly(props) {
children={}
modalType="noImg"
totalRecords={resultData.totalRecords}
- exportUrl="/api/dataAnalysis/arrearsOrder"
+ // exportUrl="/api/dataAnalysis/arrearsOrder"
+ exportUrl="/api/ana/arrearage/arrears_catch"
postdata={{
formData: {...formData, ...{is_excel: 1}}
}}
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityArrearageAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityArrearageAly/loadable.jsx
index e5c743c..79e419a 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityArrearageAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityArrearageAly/loadable.jsx
@@ -21,8 +21,8 @@ function CityArrearageAly(props) {
park_type: 0,
date_type: "day",
park_bussiness_type: 0,
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -150,7 +150,7 @@ function CityArrearageAly(props) {
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -177,8 +177,8 @@ function CityArrearageAly(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -188,6 +188,29 @@ function CityArrearageAly(props) {
});
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
+
const handleReset = () => {
setFormData({
...defaultFormData
@@ -195,6 +218,17 @@ function CityArrearageAly(props) {
}
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
ajaxGetListData()
}
@@ -224,10 +258,11 @@ function CityArrearageAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
@@ -398,7 +433,8 @@ function CityArrearageAly(props) {
children={}
modalType="noImg"
totalRecords={resultData.totalRecords}
- exportUrl="/api/dataAnalysis/arrearsOrder"
+ // exportUrl="/api/dataAnalysis/arrearsOrder"
+ exportUrl="/api/ana/arrearage/arrears_city"
postdata={{
formData: {...formData, ...{is_excel: 1}}
}}
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeAly/loadable.jsx
index 9d7a26e..ec3e2a9 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeAly/loadable.jsx
@@ -21,8 +21,8 @@ function CityIncomeAly(props) {
park_type: 0,
date_type: "day",
park_bussiness_type: 0,
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -167,10 +167,32 @@ function CityIncomeAly(props) {
}
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -197,8 +219,8 @@ function CityIncomeAly(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -215,6 +237,17 @@ function CityIncomeAly(props) {
}
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
ajaxGetListData()
}
@@ -244,10 +277,11 @@ function CityIncomeAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeStat/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeStat/loadable.jsx
index 635a23f..86d904e 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeStat/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/CityIncomeStat/loadable.jsx
@@ -1,7 +1,7 @@
import React, { useState, useRef, useEffect } from "react"
import { Select, Input, Button, Table, message, Pagination, DatePicker, Cascader, Tooltip } from "antd"
import { QuestionCircleFilled } from '@ant-design/icons'
-import { ResultFlowResult } from '@/components'
+import { ResultFlowResult, ExportBtnNew } from '@/components'
import { dictionary } from "@/config/common"
import ReactEcharts from "echarts-for-react"
import { lineChartOption, stackBarChartOption } from "@/config/character.config"
@@ -21,8 +21,8 @@ function CityIncomeStat(props) {
park_type: 0,
date_type: "day",
park_bussiness_type: 0,
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -144,7 +144,7 @@ function CityIncomeStat(props) {
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -171,8 +171,8 @@ function CityIncomeStat(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -182,6 +182,28 @@ function CityIncomeStat(props) {
});
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
const handleReset = () => {
setFormData({
...defaultFormData
@@ -189,6 +211,17 @@ function CityIncomeStat(props) {
}
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
ajaxGetListData()
}
@@ -218,10 +251,11 @@ function CityIncomeStat(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
@@ -387,6 +421,18 @@ function CityIncomeStat(props) {
+
+ 导出}
+ modalType="noImg"
+ totalRecords={resultData.totalRecords}
+ exportUrl="/api/ana/arrearage/city_revenue"
+ postdata={{
+ formData: {...formData, ...{is_excel: 1}}
+ }}
+ imgno={false}
+ />
+
订单收入对比
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/OrderArrearageAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/OrderArrearageAly/loadable.jsx
index 1a2c00e..d044d34 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/OrderArrearageAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/OrderArrearageAly/loadable.jsx
@@ -26,8 +26,8 @@ function OrderArrearageAly(props) {
pay_merchant_id: 0,
park_text: "",
date_type: "day",
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -120,15 +120,15 @@ function OrderArrearageAly(props) {
setLoading(true)
ajax.getArrearOrderTrendData(Object.assign({...formData, ...newPageInfo}, isLine ? {} : {...pageInfo})).then(res => {
if (res.status == 20000) {
- if (isLine) {
+ // if (isLine) {
initTrendLineChart([...res.data])
setStaticsTime(moment().format("YYYY-MM-DD HH:mm:ss"))
- } else {
+ // } else {
setResultDate({
list: res.data,
totalRecords: res.totalRecords
})
- }
+ // }
}
setLoading(false)
})
@@ -165,7 +165,7 @@ function OrderArrearageAly(props) {
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -192,8 +192,8 @@ function OrderArrearageAly(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -233,16 +233,49 @@ function OrderArrearageAly(props) {
timeout = setTimeout(fake, 1000);
};
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
const handleSearchPark = (newValue) => {
fetchSearch(newValue)
};
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
setPageInfo({
...pageInfo,
pn: 1
})
- ajaxGetListData(false, {pn: 1})
+ // ajaxGetListData(false, {pn: 1})
ajaxGetListData(true)
}
@@ -254,7 +287,7 @@ function OrderArrearageAly(props) {
handleSearchPark()
ajaxGetAreaData()
ajaxGetOperatorData()
- ajaxGetListData(true)
+ // ajaxGetListData(true)
ajaxGetListData()
}, [])
@@ -278,10 +311,11 @@ function OrderArrearageAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
@@ -470,7 +504,8 @@ function OrderArrearageAly(props) {
children={}
modalType="noImg"
totalRecords={resultData.totalRecords}
- exportUrl="/api/dataAnalysis/arrearsCity"
+ // exportUrl="/api/dataAnalysis/arrearsCity"
+ exportUrl="/api/ana/arrearage/arrears_order"
postdata={{
formData: {...formData, ...{is_excel: 1}}
}}
diff --git a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/PriceAly/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/PriceAly/loadable.jsx
index 99d0fb7..af5f028 100644
--- a/src/pages/DataAnalysisPrediction/ParkingIncomeAly/PriceAly/loadable.jsx
+++ b/src/pages/DataAnalysisPrediction/ParkingIncomeAly/PriceAly/loadable.jsx
@@ -1,7 +1,7 @@
import React, { useState, useRef, useEffect } from "react"
import { Select, Input, Button, Table, message, Pagination, DatePicker, Cascader, Tooltip } from "antd"
import { QuestionCircleFilled } from '@ant-design/icons'
-import { ResultFlowResult } from '@/components'
+import { ResultFlowResult, ExportBtnNew } from '@/components'
import { dictionary } from "@/config/common"
import ReactEcharts from "echarts-for-react"
import { lineChartOption } from "@/config/character.config"
@@ -24,8 +24,8 @@ function PriceAly(props) {
park_type: 0,
date_type: "day",
park_text: "",
- start_time: moment().startOf("day").format('YYYY-MM-DD HH:mm:ss'),
- end_time: moment().format('YYYY-MM-DD HH:mm:ss')
+ start_time: moment().startOf("day").format('YYYY-MM-DD'),
+ end_time: moment().format('YYYY-MM-DD')
}
const [formData, setFormData] = useState({
...defaultFormData
@@ -141,7 +141,7 @@ function PriceAly(props) {
const TimeChange = () => {
let e = formData.date_type;
let str = "day";
- let mat = "YYYY-MM-DD HH:mm:ss";
+ let mat = "YYYY-MM-DD";
if (e == "year") {
str = "year";
mat = "YYYY";
@@ -155,6 +155,29 @@ function PriceAly(props) {
return { str, mat };
}
+ function cascaderChange(value, options) {
+ let last = options[options.length - 1];
+ let res = [];
+ if (last.children) {
+ addChild(last, res);
+ }
+ res.push(last.id);
+ setFormData({
+ ...formData,
+ region: [...res]
+ })
+ }
+ const addChild = (child, res) => {
+ if (child.children) {
+ child.children.forEach((item) => {
+ addChild(item, res);
+ })
+ } else {
+ res.push(child.id);
+ }
+ }
+
+
const SetTimeNow = (e) => {
let start = "";
let end = "";
@@ -168,8 +191,8 @@ function PriceAly(props) {
start = moment().day(1).format("YYYY-MM-DD");
end = moment().day(7).format("YYYY-MM-DD");
} else {
- start = moment().startOf("day").format("YYYY-MM-DD HH:mm:ss");
- end = moment().endOf("day").format("YYYY-MM-DD HH:mm:ss");
+ start = moment().startOf("day").format("YYYY-MM-DD");
+ end = moment().endOf("day").format("YYYY-MM-DD");
}
setFormData({
...formData,
@@ -214,6 +237,17 @@ function PriceAly(props) {
};
const handleSearch = () => {
+ let days = moment(formData.end_time).diff(moment(formData.start_time), 'days')
+ if (formData.date_type == 'day' && days > 31) {
+ message.error('日统计查询,请勿超过1个月,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'week' && days > 105) {
+ message.error('周统计查询,请勿超过15周,请重新选择时间范围')
+ return
+ } else if (formData.date_type == 'month' && days > 180) {
+ message.error('月统计查询,请勿超过6个月,请重新选择时间范围')
+ return
+ }
ajaxGetListData()
}
@@ -244,10 +278,11 @@ function PriceAly(props) {
value: "id",
children: "children",
}}
- value={formData.region}
- onChange={(v, option) => {
- setFormData({ ...formData, region: v ? v : null });
- }}
+ // value={formData.region}
+ // onChange={(v, option) => {
+ // setFormData({ ...formData, region: v ? v : null });
+ // }}
+ onChange={cascaderChange}
/>
@@ -422,6 +457,18 @@ function PriceAly(props) {
+
+ 导出}
+ modalType="noImg"
+ totalRecords={resultData.totalRecords}
+ exportUrl="/api/ana/arrearage/price_analysis"
+ postdata={{
+ formData: {...formData, ...{is_excel: 1}}
+ }}
+ imgno={false}
+ />
+