Browse Source

fix: 错峰共享新页面,

tags/PMS_V1.0.0_Alpha5
chenglb 1 year ago
parent
commit
aee37ea8e9
  1. BIN
      src/assets/images/no-data (2).png
  2. 2
      src/components/ResultFlow/index.scss
  3. BIN
      src/components/ResultFlow/no-data.png
  4. BIN
      src/components/ResultFlow/no-data1.png
  5. BIN
      src/components/ResultFlow/no-pic.png
  6. 2
      src/components/ResultFlowResult/index.scss
  7. BIN
      src/components/ResultFlowResult/no-data.png
  8. BIN
      src/components/ResultFlowResult/no-pic.png
  9. 11
      src/pages/InRoadMgm/PersonMgm/Attendance/Fence/loadable.jsx
  10. 6
      src/pages/InRoadMgm/PersonMgm/Attendance/WorkerSchedule/loadable.jsx
  11. 4
      src/pages/InRoadMgm/PersonMgm/PersonInfo/loadable.jsx
  12. 17
      src/pages/MerchantMgm/InvoiceConf/loadable.jsx
  13. 15
      src/pages/MerchantMgm/MerchantAdmin/loadable.jsx
  14. 17
      src/pages/MerchantMgm/MerchantInfo/loadable.jsx
  15. 8
      src/pages/Nav/index.scss
  16. 6
      src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.jsx
  17. 0
      src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.scss
  18. 163
      src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx
  19. 6
      src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.jsx
  20. 0
      src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.scss
  21. 162
      src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx
  22. 6
      src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.jsx
  23. 0
      src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.scss
  24. 162
      src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx
  25. 8
      src/pages/OffPeak/OffPeakParkMgm/index.jsx
  26. 6
      src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.jsx
  27. 0
      src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.scss
  28. 162
      src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/loadable.jsx
  29. 6
      src/pages/OffPeak/OffPeakShareRecords/StallCount/index.jsx
  30. 0
      src/pages/OffPeak/OffPeakShareRecords/StallCount/index.scss
  31. 162
      src/pages/OffPeak/OffPeakShareRecords/StallCount/loadable.jsx
  32. 6
      src/pages/OffPeak/OffPeakShareRecords/index.jsx
  33. 6
      src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.jsx
  34. 0
      src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.scss
  35. 162
      src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/loadable.jsx
  36. 6
      src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.jsx
  37. 0
      src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.scss
  38. 162
      src/pages/OffPeak/OffPeakTimeMgm/TimeRule/loadable.jsx
  39. 6
      src/pages/OffPeak/OffPeakTimeMgm/index.jsx
  40. 8
      src/pages/OffPeak/index.jsx
  41. 4
      src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
  42. 195
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/VideoMonitor.jsx
  43. 9
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/index.jsx
  44. 9
      src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx
  45. 18
      src/pages/SystemMgm/AdminMgm/loadable.jsx
  46. 16
      src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx
  47. 6
      src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx
  48. 23
      src/pages/SystemMgm/MessageMgm/ConfMes/loadable.jsx
  49. 4
      src/pages/SystemMgm/MessageMgm/DeviceAlarmMes/loadable.jsx
  50. 4
      src/pages/SystemMgm/MessageMgm/MonitorCarAlarmMes/loadable.jsx
  51. 23
      src/pages/SystemMgm/MessageMgm/NotificationMes/loadable.jsx
  52. 18
      src/pages/SystemMgm/RoleMgm/loadable.jsx
  53. 18
      src/pages/SystemMgm/SystemLog/loadable.jsx
  54. 4
      src/pages/index.jsx
  55. 43
      src/router/router.config.js
  56. 11
      src/services/OffPeak/index.js
  57. 2
      src/services/index.js
  58. 8
      src/services/search.js

BIN
src/assets/images/no-data (2).png

After

Width: 384  |  Height: 216  |  Size: 4.2 KiB

2
src/components/ResultFlow/index.scss

@ -10,7 +10,7 @@
}
.nodata{
background: url(./no-data.png) no-repeat;
width: 220px;
width: 196px;
height: 220px;
padding-top: 195px;
text-align: center;

BIN
src/components/ResultFlow/no-data.png

Before

Width: 213  |  Height: 180  |  Size: 14 KiB

After

Width: 196  |  Height: 212  |  Size: 23 KiB

BIN
src/components/ResultFlow/no-data1.png

After

Width: 213  |  Height: 180  |  Size: 14 KiB

BIN
src/components/ResultFlow/no-pic.png

After

Width: 384  |  Height: 216  |  Size: 4.2 KiB

2
src/components/ResultFlowResult/index.scss

@ -10,7 +10,7 @@
}
.nodata{
background: url(./no-data.png) no-repeat;
width: 220px;
width: 196px;
height: 220px;
padding-top: 195px;
text-align: center;

BIN
src/components/ResultFlowResult/no-data.png

Before

Width: 213  |  Height: 180  |  Size: 14 KiB

After

Width: 196  |  Height: 212  |  Size: 23 KiB

BIN
src/components/ResultFlowResult/no-pic.png

After

Width: 384  |  Height: 216  |  Size: 4.2 KiB

11
src/pages/InRoadMgm/PersonMgm/Attendance/Fence/loadable.jsx

@ -490,15 +490,18 @@ function Fence(props) {
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { getSearchData() }}>
查询
</Button>
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { setUp() }}>
批量设置
</Button>
</div>
</div>
</div>
<div className="paid-result">
<div className="result">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { setUp() }}>
批量设置
</Button>
</div>
<ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}>
<Table
bordered

6
src/pages/InRoadMgm/PersonMgm/Attendance/WorkerSchedule/loadable.jsx

@ -431,11 +431,11 @@ function WorkerSchedule(props) {
/>
</div>
<div className="timePicker ">
<div className="btnBox">
<Button type="primary" className="yisa-btn colorBtn" onClick={() => { getResetData() }}>
<div className="btnBox bottomBox">
<Button className="yisa-btn reset" onClick={() => { getResetData() }}>
重置
</Button>
<Button type="primary " className="yisa-btn colorBtn" onClick={() => { getSearchData() }}>
<Button type="primary " className="yisa-btn submit" onClick={() => { getSearchData() }}>
查询
</Button>

4
src/pages/InRoadMgm/PersonMgm/PersonInfo/loadable.jsx

@ -607,9 +607,9 @@ function PersonInfo() {
}
<div className="bottomBox">
<Button type="primary" className="colorReset" onClick={reset}>重置</Button>
<Button type="primary" className="colorReset reset" onClick={reset}>重置</Button>
<Button type="primary" className="colorBtn" loading={loading} onClick={search}>查询</Button>
<Button type="primary" className="colorBtn submit" loading={loading} onClick={search}>查询</Button>
</div>
</div>
</div>

17
src/pages/MerchantMgm/InvoiceConf/loadable.jsx

@ -748,20 +748,25 @@ function InvoiceConf(props) {
</Form.Item>
<Form.Item className="btnBox" layout="inline">
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
<Button onClick={() => { getResetData() }}>
条件重置
重置
</Button>
<Button type="primary" onClick={() => { createData() }}>
创建配置
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
</Form.Item>
</Form>
</div>
</div>
<div className="table-content">
<div className="result-info-row">
<div>共检索到 {total} 条数据</div>
<Button type="primary" onClick={() => { createData() }}>
创建配置
</Button>
</div>
<Table
columns={columns}
className="table"

15
src/pages/MerchantMgm/MerchantAdmin/loadable.jsx

@ -609,20 +609,23 @@ function MerchantAdmin() {
<Form.Item
className="btnBox"
>
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
<Button onClick={() => { getResetData() }}>
条件重置
重置
</Button>
<Button type="primary" onClick={() => { createData() }}>
创建用户
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
</Form.Item>
</Form>
</div>
</div>
<div className="table-content">
<div className="result-info-row">
<div>共检索到 {total} 条数据</div>
<Button type="primary" onClick={() => { createData() }}>
创建用户
</Button>
</div>
<Table
columns={columns}
className="table"

17
src/pages/MerchantMgm/MerchantInfo/loadable.jsx

@ -956,20 +956,25 @@ const MerchantInfo = (props) => {
className="btnBox"
layout="inline"
>
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
<Button onClick={() => { getResetData() }}>
条件重置
重置
</Button>
<Button type="primary" onClick={() => { createData() }}>
创建商户
<Button type="primary" onClick={() => { getSearchData() }}>
查询
</Button>
</Form.Item>
</Form>
</div>
</div>
<div className="table-content">
<div className="result-info-row">
<div>共检索到 {total} 条数据</div>
<Button type="primary" onClick={() => { createData() }}>
创建商户
</Button>
</div>
<Table
columns={columns}
className="table"

8
src/pages/Nav/index.scss

@ -46,15 +46,15 @@
font-size: 16px;
}
.line{
margin-top: px2vh(50);
margin-top: 50px;
}
&::after{
content: '';
display: block;
background-color: #3AA9FF;
width: 246px;
height: px2vh(4);
border-radius: px2vh(2);
width: 100%;
height: 4px;
border-radius: 2px;
position: absolute;
bottom: -20px;
}

6
src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.jsx

@ -0,0 +1,6 @@
import React from "react"
import loadable from "@loadable/component"
import { LoadingImg } from "@/components"
const BookInfoLoadable = loadable(() => import("./loadable"))
export default (pros) => <BookInfoLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakParkMgm/BookInfo/index.scss

163
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
columns={columns}
tableData={tableData}
formSearch={formSearch}
search={search}
total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
pageName={'bookInfo'}
initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default BookInfo;

6
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) => <BreakInfoLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default BreakInfo;

6
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) => <OffPeakParkingRecordsLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default OffPeakParkingRecords;

8
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
}

6
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) => <ShareParkMgmLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakShareRecords/ShareParkMgm/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default ShareParkMgm;

6
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) => <StallCountLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakShareRecords/StallCount/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default StallCount;

6
src/pages/OffPeak/OffPeakShareRecords/index.jsx

@ -0,0 +1,6 @@
import ShareParkMgm from "./ShareParkMgm"
import StallCount from "./StallCount"
export default {
ShareParkMgm,
StallCount
}

6
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) => <RuleDetailLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakTimeMgm/RuleDetail/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default RuleDetail;

6
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) => <TimeRuleLoadable {...pros} fallback={<LoadingImg />} />

0
src/pages/OffPeak/OffPeakTimeMgm/TimeRule/index.scss

162
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) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.merchantName}</div>
// )
// },
// {
// title: "",
// dataIndex: "operator",
// key: "operator",
// align: "center",
// },
// {
// title: "",
// dataIndex: "licensePlateNumber",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "100px", wordBreak: "break-all" }}>{record.licensePlateNumber}</div>
// )
// },
// {
// 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) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.entryExitTime}</div>
// )
// },
// {
// title: "",
// dataIndex: "operationTime",
// align: "center",
// render: (text, record, index) => (
// <div style={{ width: "130px", wordBreak: "break-all" }}>{record.operationTime}</div>
// )
// },
// {
// 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 (
<TableModule
// columns={columns}
// tableData={tableData}
// formSearch={formSearch}
// search={search}
// total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
// initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
);
}
export default TimeRule;

6
src/pages/OffPeak/OffPeakTimeMgm/index.jsx

@ -0,0 +1,6 @@
import RuleDetail from "./RuleDetail"
import TimeRule from "./TimeRule"
export default {
RuleDetail,
TimeRule
}

8
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
}

4
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 || []);

195
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: <span></span> },
{ key: "2", label: <span>编辑</span> },
{ key: "3", label: <span>删除</span> },
];
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 (
<Popover
trigger="hover"
content={
<div>
<div>
<a
onClick={() => {
setModalData({ ...modalData, visible: true });
editform.setFieldsValue({
vehicle_type: record.rule_id,
vehicle_type: record.vehicle_type,
group_ids: +record.group_ids,
});
}}
>
编辑
</a>
</div>
<div>
<a
onClick={() => {
setDelModal({ id: record.id, visible: true });
}}
>
删除
</a>
</div>
</div>
}
<Dropdown
arrow
placement="bottomLeft"
menu={{
items,
onClick: (key) => {
return clickDropDown(key, row);
},
}}
>
<Button type="primary">操作</Button>
</Popover>
</Dropdown>
);
},
},
}
// {
// title: "",
// dataIndex: "action",
// key: "action",
// align: "center",
// render: (_, record) => {
// return (
// <Popover
// trigger="hover"
// content={
// <div>
// <div>
// <a
// onClick={() => {
// setModalData({ ...modalData, visible: true });
// editform.setFieldsValue({
// vehicle_type: record.rule_id,
// vehicle_type: record.vehicle_type,
// group_ids: +record.group_ids,
// });
// }}
// >
//
// </a>
// </div>
// <div>
// <a
// onClick={() => {
// setDelModal({ id: record.id, visible: true });
// }}
// >
//
// </a>
// </div>
// </div>
// }
// >
// <Button type="primary"></Button>
// </Popover>
// );
// },
// },
];
//
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) {
<Form.Item>
<div className="bottom-button">
<Button type="primary">查询</Button>
<Button type="primary" onClick={addRule}>
<Button type="primary" onClick={addNvr}>
添加
</Button>
</div>
@ -265,7 +298,7 @@ function VideoMonitor(props) {
></Table>
</main>
<Modal
title="添加计费规则"
title="添加监控设备"
open={modalData.visible}
onCancel={() => {
setModalData({ ...modalData, visible: false });
@ -325,7 +358,7 @@ function VideoMonitor(props) {
onCancel={() => {
setDelModal({ ...delModal, visible: false });
}}
onOk={() => delRoadBillRule(delModal.id)}
onOk={() => doDelOutNvr(delModal.id)}
>
确定要删除这条数据吗
</Modal>

9
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 (
<Modal
width={1500}

9
src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx

@ -617,8 +617,13 @@ function OutSegment() {
visible={checkModal.visible}
close={checkModal.close}
itemData={checkModal.record}
setConfigModal={() => {
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({

18
src/pages/SystemMgm/AdminMgm/loadable.jsx

@ -690,21 +690,25 @@ function AdminMgm(props) {
</div>
<div className="timePicker ">
<div className="btnBox">
<Button className="yisa-btn" onClick={() => { getResetData() }}>
重置
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getSearchData() }}>
查询
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getResetData() }}>
清除
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</div>
</div>
</div>
<div className="paid-result">
<div className="result">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</div>
<ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}>
<Table
bordered

16
src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx

@ -510,21 +510,23 @@ function BusinessConf(props) {
</div>
<div className="timePicker ">
<div className="btnBox">
<Button className="yisa-btn" onClick={() => { getResetData() }}>
重置
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getSearchData() }}>
查询
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getResetData() }}>
清除
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</div>
</div>
</div>
<div className="paid-result">
<div className="result">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</div>
<ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}>
<Table
bordered

6
src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx

@ -356,11 +356,13 @@ function HotCbdConf() {
<Button onClick={reset}>重置</Button>&emsp;
<Button type="primary" onClick={()=>{excuteSearch()}}>查询</Button>&emsp;
<Button type="primary" onClick={addConfig} >商圈配置</Button>
</div>
</div>
<div className="right-list">
<span className="font">共检索到&ensp;<span style={{color: '#3B97FF'}}>{total}</span>&ensp;条结果</span>
<div className="result-info-row">
<span className="font">共检索到&ensp;<span style={{color: '#3B97FF'}}>{total}</span>&ensp;条结果</span>
<Button type="primary" onClick={addConfig} >商圈配置</Button>
</div>
<div className="table-wrap" >
<Table
rowKey="id"

23
src/pages/SystemMgm/MessageMgm/ConfMes/loadable.jsx

@ -404,18 +404,12 @@ function ConfMes(props) {
<div className="form-btn">
<Button
className="reset"
icon={<DeleteFilled/>}
// icon={<DeleteFilled/>}
onClick={handleReset}
>
清除
</Button>
<Button
className="add-btn"
type="primary"
onClick={handleAdd}
>
消息配置
重置
</Button>
<Button
className="submit"
type="primary"
@ -433,7 +427,16 @@ function ConfMes(props) {
ajaxLoad={loading}
resultData={resultData?.list || []}
>
<div>共检索到 {resultData.totalRecords} 条数据</div>
<div className="result-info-row">
<div>共检索到 {resultData.totalRecords} 条数据</div>
<Button
className="add-btn"
type="primary"
onClick={handleAdd}
>
消息配置
</Button>
</div>
<Table
className='sys-table'
dataSource={resultData?.list || []}

4
src/pages/SystemMgm/MessageMgm/DeviceAlarmMes/loadable.jsx

@ -333,10 +333,10 @@ function NotificationMes(props) {
<div className="form-btn-alarm">
<Button
className="reset"
icon={<DeleteFilled/>}
// icon={<DeleteFilled/>}
onClick={handleReset}
>
清除
重置
</Button>
<Button
className="submit"

4
src/pages/SystemMgm/MessageMgm/MonitorCarAlarmMes/loadable.jsx

@ -323,10 +323,10 @@ function MonitorCarAlarmMes(props) {
<div className="form-btn-alarm">
<Button
className="reset"
icon={<DeleteFilled/>}
// icon={<DeleteFilled/>}
onClick={handleReset}
>
清除
重置
</Button>
<Button
className="submit"

23
src/pages/SystemMgm/MessageMgm/NotificationMes/loadable.jsx

@ -448,10 +448,10 @@ function NotificationMes(props) {
<div className="form-btn">
<Button
className="reset"
icon={<DeleteFilled/>}
// icon={<DeleteFilled/>}
onClick={handleReset}
>
清除
重置
</Button>
<Button
className="submit"
@ -460,13 +460,7 @@ function NotificationMes(props) {
>
查询
</Button>
<Button
className="add-btn"
type="primary"
onClick={() => handleRead({infoId: ""}, 1)}
>
全部已读
</Button>
</div>
</div>
</div>
@ -477,7 +471,16 @@ function NotificationMes(props) {
ajaxLoad={loading}
resultData={resultData?.list || []}
>
<div>共检索到 {resultData.totalRecords} 条数据</div>
<div className="result-info-row">
<div>共检索到 {resultData.totalRecords} 条数据</div>
<Button
className="add-btn"
type="primary"
onClick={() => handleRead({infoId: ""}, 1)}
>
全部已读
</Button>
</div>
<Table
className='sys-table'
dataSource={resultData?.list || []}

18
src/pages/SystemMgm/RoleMgm/loadable.jsx

@ -598,21 +598,23 @@ function RoleMgm(props) {
</div>
<div className="timePicker ">
<div className="btnBox">
<Button className="yisa-btn" onClick={() => { getResetData() }}>
重置
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getSearchData() }}>
查询
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { getResetData() }}>
清除
</Button>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</Button>
</div>
</div>
</div>
<div className="paid-result">
<div className="result">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" className="yisa-btn" onClick={() => { addAdmin() }}>
添加
</Button>
</div>
<ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}>
<Table
bordered

18
src/pages/SystemMgm/SystemLog/loadable.jsx

@ -417,10 +417,11 @@ const SystemLog = () => {
</div>
</div>
<div className="form-btn">
<Button onClick={() => setFormData({...defaultData, pn: formData?.pn || 1, page_size: formData?.page_size || dictionary?.pageSizeOptions1[0]})}>
重置
</Button>
<Button
type="primary"
loading={loading}
//
onClick={() => {
let _data = {
...formData,
@ -432,17 +433,18 @@ const SystemLog = () => {
}}>
查询
</Button>
<Button onClick={() => setFormData({...defaultData, pn: formData?.pn || 1, page_size: formData?.page_size || dictionary?.pageSizeOptions1[0]})}>
条件重置
</Button>
<Button type="primary" icon={<DownloadOutlined />} onClick={() => setModalExport({ ...modalExport, open: true })}>
导出
</Button>
</div>
</div>
</div>
<div className="paid-result">
<div className="result">
<div className="result-info-row">
<span className="font">共检索到<em>{resultData.total_records}</em>条结果</span>
<Button type="primary" onClick={() => setModalExport({ ...modalExport, open: true })}>
导出
</Button>
</div>
<div className="result-data">
<Table
rowKey={(row) => row.id}

4
src/pages/index.jsx

@ -13,6 +13,7 @@ import MerchantMgm from "./MerchantMgm"
import OperationCenter from "./OperationCenter"
import FinancialMgm from "./FinancialMgm"
import SystemMgm from "./SystemMgm"
import OffPeak from "./OffPeak"
export default {
_404,
_403,
@ -24,5 +25,6 @@ export default {
...MerchantMgm,
...OperationCenter,
...FinancialMgm,
...SystemMgm
...SystemMgm,
...OffPeak
}

43
src/router/router.config.js

@ -1236,6 +1236,49 @@ let routes = [
name: "outNvrMgm",
component: pages.OutNvrMgm,
},
{
// -------------------------------错时共享
path: "/offPeak/bookInfo",
text: "预约信息",
name: "bookInfo",
component: pages.BookInfo,
},
{
path: "/offPeak/breakInfo",
text: "违约信息",
name: "breakInfo",
component: pages.BreakInfo,
},
{
path: "/offPeak/offPeakParkingRecords",
text: "错时车辆停车记录",
name: "offPeakParkingRecords",
component: pages.OffPeakParkingRecords,
},
{
path: "/offPeak/shareParkMgm",
text: "共享车场管理",
name: "shareParkMgm",
component: pages.ShareParkMgm,
},
{
path: "/offPeak/stallCount",
text: "车场车位数",
name: "stallCount",
component: pages.StallCount,
},
{
path: "/offPeak/ruleDetail",
text: "规则详情",
name: "ruleDetail",
component: pages.RuleDetail,
},
{
path: "/offPeak/timeRule",
text: "时间规则",
name: "timeRule",
component: pages.TimeRule,
}
],
},
];

11
src/services/OffPeak/index.js

@ -0,0 +1,11 @@
import ajax from "@/config/ajax";
const getBookInfoList = (params) => {
return ajax({
url: "/api/off_peak/book_info/get_book_info_list",
type: "post",
data: params,
});
}
export default {
getBookInfoList
}

2
src/services/index.js

@ -22,6 +22,7 @@ import ElectInvoice from "./ElectInvoice";
import FinancialMgm from "./FinancialMgm";
import DataAnalysisPrediction from "./DataAnalysisPrediction";
import ParkingOverview from "./ParkingOverview";
import OffPeak from "./OffPeak";
const api = {};
export default {
...api,
@ -49,4 +50,5 @@ export default {
...FinancialMgm,
...DataAnalysisPrediction,
ParkingOverview,
...OffPeak
};

8
src/services/search.js

@ -805,6 +805,13 @@ const getAllNvrList = (params) => {
data: params,
});
};
const getAllOutNvrList = (params) => {
return ajax({
url: "/api/orp/nvr/get_All_NVR",
type: "get",
data: params,
});
};
const getAllBrandNameList = (params) => {
return ajax({
url: "/api/bpm/device/get_all_brand",
@ -1246,6 +1253,7 @@ export default {
getMonitorList,
getBerthByNvr,
getAllNvrList,
getAllOutNvrList,
getAllBrandList,
brandAdd,
brandEdit,

Loading…
Cancel
Save