+
+
共检索到 {total} 条数据
+
+
import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.scss b/src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx b/src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx
new file mode 100644
index 0000000..ba26f0b
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx
@@ -0,0 +1,163 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function BookInfo() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ console.log(ajax, 'ajax')
+ ajax.getBookInfoList(params).then((res) => {
+ if (res.status === 20000) {
+ setTableData(res.data.list);
+ setTotal(res.data.total);
+ }
+ });
+ }
+
+ return (
+
+ );
+}
+
+export default BookInfo;
diff --git a/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.jsx b/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.jsx
new file mode 100644
index 0000000..f4a4129
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const BreakInfoLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.scss b/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx b/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx
new file mode 100644
index 0000000..4639f94
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function BreakInfo() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default BreakInfo;
diff --git a/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.jsx b/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.jsx
new file mode 100644
index 0000000..ed90d63
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const OffPeakParkingRecordsLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.scss b/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx b/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx
new file mode 100644
index 0000000..03bba66
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function OffPeakParkingRecords() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default OffPeakParkingRecords;
diff --git a/src/pages/OffPeak/OffPeakParkMgm/index.jsx b/src/pages/OffPeak/OffPeakParkMgm/index.jsx
new file mode 100644
index 0000000..d29cb03
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakParkMgm/index.jsx
@@ -0,0 +1,8 @@
+import BookInfo from "./BookInfo"
+import BreakInfo from "./BreakInfo"
+import OffPeakParkingRecords from "./OffPeakParkingRecords"
+export default {
+ BookInfo,
+ BreakInfo,
+ OffPeakParkingRecords
+}
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.jsx b/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.jsx
new file mode 100644
index 0000000..0feca6e
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const ShareParkMgmLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.scss b/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/loadable.jsx b/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/loadable.jsx
new file mode 100644
index 0000000..b69760e
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function ShareParkMgm() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default ShareParkMgm;
diff --git a/src/pages/OffPeak/OffPeakShareRecords/StallCount/index.jsx b/src/pages/OffPeak/OffPeakShareRecords/StallCount/index.jsx
new file mode 100644
index 0000000..3574318
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakShareRecords/StallCount/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const StallCountLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakShareRecords/StallCount/index.scss b/src/pages/OffPeak/OffPeakShareRecords/StallCount/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakShareRecords/StallCount/loadable.jsx b/src/pages/OffPeak/OffPeakShareRecords/StallCount/loadable.jsx
new file mode 100644
index 0000000..10828b4
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakShareRecords/StallCount/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function StallCount() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default StallCount;
diff --git a/src/pages/OffPeak/OffPeakShareRecords/index.jsx b/src/pages/OffPeak/OffPeakShareRecords/index.jsx
new file mode 100644
index 0000000..4a4893b
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakShareRecords/index.jsx
@@ -0,0 +1,6 @@
+import ShareParkMgm from "./ShareParkMgm"
+import StallCount from "./StallCount"
+export default {
+ ShareParkMgm,
+ StallCount
+}
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.jsx b/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.jsx
new file mode 100644
index 0000000..5d64207
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const RuleDetailLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.scss b/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/loadable.jsx b/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/loadable.jsx
new file mode 100644
index 0000000..f2a3d5f
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function RuleDetail() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default RuleDetail;
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.jsx b/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.jsx
new file mode 100644
index 0000000..c45021e
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const TimeRuleLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.scss b/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/loadable.jsx b/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/loadable.jsx
new file mode 100644
index 0000000..4e9f808
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakTimeMgm/TimeRule/loadable.jsx
@@ -0,0 +1,162 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services";
+import { TableModule } from "@/components";
+// import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+
+function TimeRule() {
+ const columns = [
+ // {
+ // title: "序号",
+ // dataIndex: "index",
+ // key: "index",
+ // align:"center",
+ // render: (_, record, index) => {
+ // return index + 1;
+ // },
+ // },
+ // {
+ // title: "商户名称",
+ // dataIndex: "merchantName",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.merchantName}
+ // )
+ // },
+ // {
+ // title: "操作人",
+ // dataIndex: "operator",
+ // key: "operator",
+ // align: "center",
+ // },
+ // {
+ // title: "车牌号",
+ // dataIndex: "licensePlateNumber",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.licensePlateNumber}
+ // )
+ // },
+ // {
+ // title: "路段",
+ // dataIndex: "section",
+ // key: "section",
+ // align: "center",
+ // },
+ // {
+ // title: "泊位号",
+ // dataIndex: "parkingSpotNumber",
+ // key: "parkingSpotNumber",
+ // align: "center",
+ // },
+ // {
+ // title: "出入场类型",
+ // dataIndex: "entryExitType",
+ // align: "center",
+ // key: "entryExitType",
+ // },
+ // {
+ // title: "出入场时间",
+ // dataIndex: "entryExitTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.entryExitTime}
+ // )
+ // },
+ // {
+ // title: "操作时间",
+ // dataIndex: "operationTime",
+ // align: "center",
+ // render: (text, record, index) => (
+ // {record.operationTime}
+ // )
+ // },
+ // {
+ // title: "间隔时长",
+ // dataIndex: "intervalDuration",
+ // key: "intervalDuration",
+ // align: "center",
+ // },
+ ];
+
+ const formSearch = [
+ // {
+ // type: "Select",
+ // label: "商户名称",
+ // name: "merchantName",
+ // placeholder:"请选择商户名称"
+ // },
+ // {
+ // type: "Input",
+ // label: "路段",
+ // placeholder: "请输入路段",
+ // name: "road_name",
+ // },
+ // {
+ // type: "Input",
+ // label: "泊位号",
+ // placeholder: "请输入泊位号",
+ // name: "parking_num",
+ // },
+ // {
+ // type: "Input",
+ // label: "操作人",
+ // placeholder: "请输入操作人",
+ // name: "operator",
+ // },
+ // {
+ // type: "Input",
+ // label: "间隔时长大于分钟数",
+ // placeholder: "请输入内容",
+ // name: "exceedTime",
+ // },
+ // {
+ // type: "RangePicker",
+ // label: "操作时间",
+ // name: "operationTime",
+ // },
+ ];
+ //搜索参数初始化
+ const initFormData = {
+ merchantName: "0",
+ road_name: "",
+ parking_num: "",
+ operator: "",
+ exceedTime: "",
+ };
+ //搜索的结果
+ const [tableData, setTableData] = useState([]);
+ //搜索的总结果数
+ const [total, setTotal] = useState(0);
+ function search(params) {
+ // ajax.getPDAList(params).then((res) => {
+ // if (res.status === 20000) {
+ // setTableData(res.data.list);
+ // setTotal(res.data.total);
+ // }
+ // });
+ }
+
+ return (
+
+ );
+}
+
+export default TimeRule;
diff --git a/src/pages/OffPeak/OffPeakTimeMgm/index.jsx b/src/pages/OffPeak/OffPeakTimeMgm/index.jsx
new file mode 100644
index 0000000..08d94ea
--- /dev/null
+++ b/src/pages/OffPeak/OffPeakTimeMgm/index.jsx
@@ -0,0 +1,6 @@
+import RuleDetail from "./RuleDetail"
+import TimeRule from "./TimeRule"
+export default {
+ RuleDetail,
+ TimeRule
+}
\ No newline at end of file
diff --git a/src/pages/OffPeak/index.jsx b/src/pages/OffPeak/index.jsx
new file mode 100644
index 0000000..29def03
--- /dev/null
+++ b/src/pages/OffPeak/index.jsx
@@ -0,0 +1,8 @@
+import OffPeakParkMgm from "./OffPeakParkMgm"
+import OffPeakShareRecords from "./OffPeakShareRecords"
+import OffPeakTimeMgm from "./OffPeakTimeMgm"
+export default {
+ ...OffPeakParkMgm,
+ ...OffPeakShareRecords,
+ ...OffPeakTimeMgm
+}
\ No newline at end of file
diff --git a/src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx b/src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
index 6179d7d..0d60583 100644
--- a/src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
+++ b/src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
@@ -139,7 +139,7 @@ function OutMonitorMgm(props) {
setDefaultParams({ ...postData, ...pageInfo });
// console.log(postData);
setTabLoading(true);
- ajax.getMonitorList({ ...postData, ...v, ...pageInfo }).then(
+ ajax.getMonitorList({ ...postData, ...v, ...pageInfo , data_source:2}).then( // data_source用于区分路内和路外的请求
(res) => {
if (parseInt(res?.status) === 20000) {
setResultData(res?.data || {});
@@ -202,7 +202,7 @@ function OutMonitorMgm(props) {
});
};
const getNvrList = () => {
- ajax.getAllNvrList().then(
+ ajax.getAllOutNvrList().then(
(res) => {
if (res.status == 20000) {
setNvrData(res?.data || []);
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/VideoMonitor.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/VideoMonitor.jsx
index e5c63e6..a436023 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/VideoMonitor.jsx
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/VideoMonitor.jsx
@@ -10,102 +10,153 @@ import {
Select,
Popover,
message,
+ Dropdown
} from "antd";
import ajax from "@/services";
function VideoMonitor(props) {
const { id } = props;
const [form] = Form.useForm();
const [editform] = Form.useForm();
- const carTypeList = [
- { label: "小型车", value: 1 },
- { label: "大型车", value: 2 },
+ // 操作-下拉
+ const items = [
+ // { key: "1", label: 查看监控 },
+ { key: "2", label: 编辑 },
+ { key: "3", label: 删除 },
];
const columns = [
{
title: "设备名称",
- dataIndex: "device_name",
- key: "device_name",
+ dataIndex: "name",
+ align: "center",
+ },
+ {
+ title: "区域",
+ dataIndex: "area_name",
+ align: "center",
+ },
+ {
+ title: "所属车场",
+ dataIndex: "road_name",
align: "center",
},
{
title: "IP地址",
dataIndex: "ip_address",
- key: "ip_address",
align: "center",
},
{
title: "端口号",
- dataIndex: "port_id",
- key: "port_id",
+ dataIndex: "port",
align: "center",
},
{
title: "视频端口号",
- dataIndex: "video_port_id",
- key: "video_port_id",
+ width: 110,
+ dataIndex: "video_port",
align: "center",
},
{
title: "用户名",
dataIndex: "user_name",
- key: "user_name",
align: "center",
},
{
title: "密码",
dataIndex: "password",
- key: "password",
align: "center",
},
{
title: "更新时间",
- dataIndex: "create_time",
- key: "create_time",
+ dataIndex: "update_time",
align: "center",
+ width: 110,
},
{
title: "操作",
- dataIndex: "action",
- key: "action",
align: "center",
- render: (_, record) => {
+ width: 140,
+ render: (val, row, index) => {
return (
-
-
-
-
- }
+ {
+ return clickDropDown(key, row);
+ },
+ }}
>
-
+
);
},
- },
+ }
+ // {
+ // title: "操作",
+ // dataIndex: "action",
+ // key: "action",
+ // align: "center",
+ // render: (_, record) => {
+ // return (
+ //
+ //
+ //
+ //
+ // }
+ // >
+ //
+ //
+ // );
+ // },
+ // },
];
+ // 操作
+ const clickDropDown = (param, record) => {
+ // console.log(param.key, record);
+ // setRowData(record);
+ if (param.key == "1") {
+ // 查看监控
+ // handlePlay(record);
+ } else if (param.key == "2") {
+ // 编辑
+ // doEditOutNvr(record);
+ setModalData({ ...modalData, visible: true });
+ editform.setFieldsValue({
+ // vehicle_type: record.rule_id,
+ // vehicle_type: record.vehicle_type,
+ // group_ids: +record.group_ids,
+ });
+ } else {
+ // 删除
+ // doDelOutNvr(record);
+ setDelModal({ id: record.id, visible: true });
+ }
+ };
const [modalData, setModalData] = useState({
visible: false,
status: "add",
@@ -128,15 +179,15 @@ function VideoMonitor(props) {
visible: false,
id: "",
});
- const addRule = () => {
+ const addNvr = () => {
setModalData({ ...modalData, visible: true });
};
- //搜索方法
+ //搜索方法 name: "", // 设备名称 operator_id: "", //运营商 road_id: "", //路段名称
const search = () => {
const params = form.getFieldsValue();
ajax
- .getRoadBillRuleList({ road_id: id, ...pageData, ...params })
+ .getOutNvrList({ road_id: id, operator_id: '', ...pageData, ...params })
.then((res) => {
if (res.status === 20000) {
setTableData(res.data.list);
@@ -145,26 +196,9 @@ function VideoMonitor(props) {
});
};
- //获取计费规则下拉列表
- const getChargeRuleList = () => {
- ajax.getRoadBillRule().then((res) => {
- if (res.status === 20000) {
- setChargeRuleList(res.data);
- }
- });
- };
- //获取临时车辆组
- const getTempGroup = () => {
- ajax.getRoadTemporaryGroup({ road_id: id }).then((res) => {
- if (res.status === 20000) {
- setTempGroup(res.data);
- }
- });
- };
-
//添加 监控设备 接口
- const addRoadBillRule = (params) => {
- ajax.addRoadBillRule(params).then((res) => {
+ const doAddOutNvr = (params) => {
+ ajax.doAddOutNvr(params).then((res) => {
if (res.status === 20000) {
message.success("添加成功");
successSubmit();
@@ -175,8 +209,8 @@ function VideoMonitor(props) {
};
//编辑计费规则接口
- const editRoadBullRule = (params) => {
- ajax.editRoadBullRule(params).then((res) => {
+ const doEditOutNvr = (params) => {
+ ajax.doEditOutNvr(params).then((res) => {
if (res.status === 20000) {
message.success("编辑成功");
successSubmit();
@@ -192,9 +226,9 @@ function VideoMonitor(props) {
.validateFields()
.then((values) => {
if (modalData.status === "add") {
- addRoadBillRule({ ...values, road_id: id, ...pageData });
+ doAddOutNvr({ ...values, road_id: id, ...pageData });
} else if (modalData.status === "edit") {
- editRoadBullRule({ ...values, road_id: id, ...pageData });
+ doEditOutNvr({ ...values, road_id: id, ...pageData });
}
})
.catch((err) => console.error(err));
@@ -208,8 +242,8 @@ function VideoMonitor(props) {
};
//删除接口
- const delRoadBillRule = (id) => {
- ajax.delRoadBillRule({ id }).then((res) => {
+ const doDelOutNvr = (id) => {
+ ajax.doDelOutNvr({ id }).then((res) => {
if (res.status === 20000) {
message.success("删除成功");
setDelModal({ ...delModal, visible: false });
@@ -219,8 +253,7 @@ function VideoMonitor(props) {
};
useEffect(() => {
- getChargeRuleList();
- getTempGroup();
+
}, []);
useEffect(() => {
search();
@@ -238,7 +271,7 @@ function VideoMonitor(props) {
-
@@ -265,7 +298,7 @@ function VideoMonitor(props) {
>
{
setModalData({ ...modalData, visible: false });
@@ -325,7 +358,7 @@ function VideoMonitor(props) {
onCancel={() => {
setDelModal({ ...delModal, visible: false });
}}
- onOk={() => delRoadBillRule(delModal.id)}
+ onOk={() => doDelOutNvr(delModal.id)}
>
确定要删除这条数据吗?
diff --git a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/index.jsx b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/index.jsx
index 7aef693..e86d767 100644
--- a/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/index.jsx
+++ b/src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/index.jsx
@@ -1,4 +1,4 @@
-import React, { useState, lazy, Suspense } from "react";
+import React, { useState, lazy, Suspense, useEffect } from "react";
import { Modal, Tabs } from "antd";
import MSPages from "./MSPages";
import BusinessParameterConfig from "./BusinessParameterConfig";
@@ -15,7 +15,6 @@ function ConfigParking(props) {
const { visible = false, close = () => {}, itemData = {} } = props;
// itemdata.road_type = 0 一级 1 二级 2 三级 ...
-
const createTabs = ()=>{
if(itemData.road_type == '0' || itemData.road_type == '1'){
return [
@@ -107,6 +106,12 @@ function ConfigParking(props) {
const tabsItems = createTabs()
const [type, setType] = useState("1");
const tabsOnChange = (value) => setType(value);
+ useEffect(()=>{
+ if(visible){
+ setType('1')
+ }
+ }, [visible])
+
return (
{
- setConfigModal({ ...configModal, visible: true, record: recordData });
+ setConfigModal={(myData) => {
+ console.log(myData, 'myData')
+ if(myData){
+ setConfigModal({...configModal, record: myData, visible: true})
+ }else{
+ setConfigModal({ ...configModal, visible: true, record: recordData });
+ }
}}
setEditModal={(v) => {
setEditModal({
diff --git a/src/pages/SystemMgm/AdminMgm/loadable.jsx b/src/pages/SystemMgm/AdminMgm/loadable.jsx
index bfcc02e..f9bc1b9 100644
--- a/src/pages/SystemMgm/AdminMgm/loadable.jsx
+++ b/src/pages/SystemMgm/AdminMgm/loadable.jsx
@@ -690,21 +690,25 @@ function AdminMgm(props) {