Browse Source
Merge branch 'develop' of http://120.27.195.166:3000/chenglb/PMS_Frontend_v1.0.0 into develop
tags/PMS_V1.0.0_Alpha5
Merge branch 'develop' of http://120.27.195.166:3000/chenglb/PMS_Frontend_v1.0.0 into develop
tags/PMS_V1.0.0_Alpha5
53 changed files with 5312 additions and 2520 deletions
-
6src/pages/InRoadMgm/PersonMgm/PersonInfo/loadable.jsx
-
2src/pages/Nav/index.scss
-
0src/pages/NewEnergy/ChargeBusinessMgm/index.jsx
-
0src/pages/NewEnergy/ChargeDeviceMgm/index.jsx
-
0src/pages/NewEnergy/ChargeStationMgm/index.jsx
-
1049src/pages/NewEnergy/ChargingMgm/BillingRule/loadable.jsx
-
1049src/pages/NewEnergy/ChargingMgm/OrderRuleMgm/loadable.jsx
-
0src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/dataSource.js
-
6src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/index.jsx
-
238src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/index.scss
-
1126src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/loadable.jsx
-
0src/pages/NewEnergy/RealtimeMonitor/LockMonitor/dataSource.js
-
6src/pages/NewEnergy/RealtimeMonitor/LockMonitor/index.jsx
-
238src/pages/NewEnergy/RealtimeMonitor/LockMonitor/index.scss
-
177src/pages/NewEnergy/RealtimeMonitor/LockMonitor/loadable.jsx
-
183src/pages/NewEnergy/RealtimeMonitor/PileMonitor/dataSource.js
-
6src/pages/NewEnergy/RealtimeMonitor/PileMonitor/index.jsx
-
238src/pages/NewEnergy/RealtimeMonitor/PileMonitor/index.scss
-
177src/pages/NewEnergy/RealtimeMonitor/PileMonitor/loadable.jsx
-
10src/pages/NewEnergy/RealtimeMonitor/index.jsx
-
6src/pages/NewEnergy/RecordsInquiry/Appointment/index.jsx
-
238src/pages/NewEnergy/RecordsInquiry/Appointment/index.scss
-
231src/pages/NewEnergy/RecordsInquiry/Appointment/loadable.jsx
-
6src/pages/NewEnergy/RecordsInquiry/Charge/index.jsx
-
238src/pages/NewEnergy/RecordsInquiry/Charge/index.scss
-
231src/pages/NewEnergy/RecordsInquiry/Charge/loadable.jsx
-
6src/pages/NewEnergy/RecordsInquiry/Unlocking/index.jsx
-
238src/pages/NewEnergy/RecordsInquiry/Unlocking/index.scss
-
181src/pages/NewEnergy/RecordsInquiry/Unlocking/loadable.jsx
-
6src/pages/NewEnergy/RecordsInquiry/Violation/index.jsx
-
238src/pages/NewEnergy/RecordsInquiry/Violation/index.scss
-
231src/pages/NewEnergy/RecordsInquiry/Violation/loadable.jsx
-
13src/pages/NewEnergy/RecordsInquiry/index.jsx
-
6src/pages/NewEnergy/index.jsx
-
8src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
-
177src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.jsx
-
151src/pages/OutRoadMgm/OutExceptionMgm/PlateChangeMgm/index.scss
-
189src/pages/OutRoadMgm/OutExceptionMgm/SpecialReleaseMgm/index.jsx
-
4src/pages/OutRoadMgm/OutExceptionMgm/ZombieCarCleanRecord/loadable.jsx
-
2src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/AddParking.jsx
-
4src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/ConfigParking/CarMgm/CarManagement.jsx
-
6src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/Detail.jsx
-
2src/pages/OutRoadMgm/OutSegmentMgm/OutSegment/loadable.jsx
-
42src/router/router.config.js
-
9src/services/InroadMgm/PersonMgm/index.js
-
4src/services/NewEnergy/index.js
-
14src/services/NewEnergy/realtimeMonitor.js
-
33src/services/OutRoadMgm/OutExceptionMgm/index.js
-
2src/services/OutRoadMgm/index.js
-
4src/services/index.js
-
27src/services/search.js
1049
src/pages/NewEnergy/ChargingMgm/BillingRule/loadable.jsx
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1049
src/pages/NewEnergy/ChargingMgm/OrderRuleMgm/loadable.jsx
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const ChargerMonitor = loadable(() => import("./loadable")) |
|||
export default (pros) => <ChargerMonitor {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
1126
src/pages/NewEnergy/RealtimeMonitor/ChargerMonitor/loadable.jsx
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const PileMonitor = loadable(() => import("./loadable")) |
|||
export default (pros) => <PileMonitor {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,177 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary, utils } from "@/config/common"; |
|||
// import moment from 'moment' |
|||
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; |
|||
import ajax from "@/services"; |
|||
import errorImg from '@/assets/images/error-img-new.png' |
|||
import { QuestionCircleOutlined } from '@ant-design/icons'; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
// import errorImg from "@/assets/images/layout/error.png" |
|||
// import { useLocation } from "react-router-dom"; |
|||
const { TextArea } = Input; |
|||
|
|||
let array = []; |
|||
|
|||
function PileMonitor() { |
|||
|
|||
|
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "device_name", |
|||
type: "Input", |
|||
label: "设备名称", |
|||
placeholder:"请输入" |
|||
}, |
|||
{ |
|||
name: "device_num", |
|||
type: "Input", |
|||
label: "设备编码", |
|||
placeholder:"请输入" |
|||
}, |
|||
{ |
|||
name: "device_state", |
|||
type: "Select", |
|||
label: "设备状态", |
|||
defaultValue: 0, |
|||
options: sysConfig.energyDeviceType, |
|||
}, |
|||
{ |
|||
name: "lock_state", |
|||
type: "Select", |
|||
label: "车位锁状态", |
|||
defaultValue: 0, |
|||
options: sysConfig.energyLockState, |
|||
}, |
|||
|
|||
]; |
|||
const initFormData = { |
|||
device_name:"", |
|||
device_num:"" |
|||
}; |
|||
//历史处理的表头 |
|||
const columns = [ |
|||
{ |
|||
title: "序号", |
|||
dataIndex: "id", |
|||
key: "id", |
|||
align: "center", |
|||
render: (text, record, index) => index + 1, |
|||
}, |
|||
{ |
|||
title: "设备名称", |
|||
dataIndex: "device_name", |
|||
key: "device_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备编码", |
|||
dataIndex: "device_num", |
|||
key: "device_num", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备类型", |
|||
dataIndex: "device_type", |
|||
key: "device_type", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备供应商", |
|||
dataIndex: "device_vendor", |
|||
key: "device_vendor", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "对接平台", |
|||
dataIndex: "platform", |
|||
key: "platform", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "车位锁状态", |
|||
dataIndex: "lock_state_name", |
|||
key: "lock_state_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备状态", |
|||
dataIndex: "device_state_name", |
|||
key: "device_state_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
render: (_, record) => { |
|||
return ( |
|||
<Button |
|||
type="primary" |
|||
|
|||
> |
|||
操作 |
|||
</Button> |
|||
); |
|||
}, |
|||
}, |
|||
]; |
|||
|
|||
|
|||
|
|||
|
|||
const [tableData, setTableData] = useState([]); |
|||
const [total, setTotal] = useState(0); |
|||
//获取函数 |
|||
function search(params) { |
|||
utils.tableScrollTop("parent-table-scroll") |
|||
ajax.getPileMonitor(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
}else{ |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="电桩监控" |
|||
// mandatory={['plate','berth_id']} |
|||
// mandatory_name={['车牌号或泊位号']} |
|||
pageName={'pileMonitor'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
// exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default PileMonitor; |
@ -0,0 +1,183 @@ |
|||
//用来存储表头的js文件
|
|||
import React from "react"; |
|||
import { Button } from "antd"; |
|||
//支付记录的表头
|
|||
export const payRecordColumns = [ |
|||
{ |
|||
title: "序号", |
|||
dataIndex: "id", |
|||
key: "id", |
|||
align: "center", |
|||
render: (text, record, index) => index + 1, |
|||
}, |
|||
{ |
|||
title: "订单ID", |
|||
dataIndex: "order_id", |
|||
key: "order_id", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "入场时间", |
|||
dataIndex: "admission_time", |
|||
key: "admission_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "计费时间", |
|||
dataIndex: "charging_time", |
|||
key: "charging_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付时间", |
|||
dataIndex: "pay_time", |
|||
key: "pay_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "应收金额", |
|||
dataIndex: "receivable_amount", |
|||
key: "receivable_amount", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "优惠金额", |
|||
dataIndex: "discount_amount", |
|||
key: "discount_amount", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "实付金额", |
|||
dataIndex: "paid_in_money", |
|||
key: "paid_in_money", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付类型", |
|||
dataIndex: "pay_type_name", |
|||
key: "pay_type_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付渠道", |
|||
dataIndex: "payment_channels", |
|||
key: "payment_channels", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付设备", |
|||
dataIndex: "payment_equipment", |
|||
key: "payment_equipment", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付人", |
|||
dataIndex: "pay_person", |
|||
key: "pay_person", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "付款路段", |
|||
dataIndex: "pay_road", |
|||
key: "pay_road", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "第三方流水ID", |
|||
dataIndex: "third_party_flow_id", |
|||
key: "third_party_flow_id", |
|||
align: "center", |
|||
}, |
|||
]; |
|||
//退款订单的表头
|
|||
export const refundRecordColumns = [ |
|||
{ |
|||
title: "序号", |
|||
dataIndex: "id", |
|||
key: "id", |
|||
align: "center", |
|||
render: (text, record, index) => index + 1, |
|||
}, |
|||
{ |
|||
title: "退款方式", |
|||
dataIndex: "refund_type", |
|||
key: "refund_type", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付渠道", |
|||
dataIndex: "pay_road", |
|||
key: "pay_road", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "支付设备", |
|||
dataIndex: "paymentDevice", |
|||
key: "paymentDevice", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "退款原因", |
|||
dataIndex: "reason", |
|||
key: "reason", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "退款金额", |
|||
dataIndex: "refund_amount", |
|||
key: "refund_amount", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "申请人", |
|||
dataIndex: "application_person", |
|||
key: "application_person", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "申请时间", |
|||
dataIndex: "application_time", |
|||
key: "application_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "退款时间", |
|||
dataIndex: "refund_time", |
|||
key: "refund_time", |
|||
align: "center", |
|||
}, |
|||
]; |
|||
//操作记录
|
|||
export const operatorRecordColumns = [ |
|||
{ |
|||
title: "序号", |
|||
dataIndex: "id", |
|||
key: "id", |
|||
align: "center", |
|||
render: (text, record, index) => index + 1, |
|||
}, |
|||
{ |
|||
title: "操作类型", |
|||
dataIndex: "type", |
|||
key: "type", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作来源", |
|||
dataIndex: "source", |
|||
key: "source", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作人/设备", |
|||
dataIndex: "object", |
|||
key: "object", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作时间", |
|||
dataIndex: "time", |
|||
key: "time", |
|||
align: "center", |
|||
}, |
|||
]; |
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const PileMonitor = loadable(() => import("./loadable")) |
|||
export default (pros) => <PileMonitor {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,177 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary, utils } from "@/config/common"; |
|||
// import moment from 'moment' |
|||
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks'; |
|||
import ajax from "@/services"; |
|||
import errorImg from '@/assets/images/error-img-new.png' |
|||
import { QuestionCircleOutlined } from '@ant-design/icons'; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
// import errorImg from "@/assets/images/layout/error.png" |
|||
// import { useLocation } from "react-router-dom"; |
|||
const { TextArea } = Input; |
|||
|
|||
let array = []; |
|||
|
|||
function PileMonitor() { |
|||
|
|||
|
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "device_name", |
|||
type: "Input", |
|||
label: "设备名称", |
|||
placeholder:"请输入" |
|||
}, |
|||
{ |
|||
name: "device_num", |
|||
type: "Input", |
|||
label: "设备编码", |
|||
placeholder:"请输入" |
|||
}, |
|||
{ |
|||
name: "device_state", |
|||
type: "Select", |
|||
label: "设备状态", |
|||
defaultValue: 0, |
|||
options: sysConfig.energyDeviceType, |
|||
}, |
|||
{ |
|||
name: "lock_state", |
|||
type: "Select", |
|||
label: "车位锁状态", |
|||
defaultValue: 0, |
|||
options: sysConfig.energyLockState, |
|||
}, |
|||
|
|||
]; |
|||
const initFormData = { |
|||
device_name:"", |
|||
device_num:"" |
|||
}; |
|||
//历史处理的表头 |
|||
const columns = [ |
|||
{ |
|||
title: "序号", |
|||
dataIndex: "id", |
|||
key: "id", |
|||
align: "center", |
|||
render: (text, record, index) => index + 1, |
|||
}, |
|||
{ |
|||
title: "设备名称", |
|||
dataIndex: "device_name", |
|||
key: "device_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备编码", |
|||
dataIndex: "device_num", |
|||
key: "device_num", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备类型", |
|||
dataIndex: "device_type", |
|||
key: "device_type", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备供应商", |
|||
dataIndex: "device_vendor", |
|||
key: "device_vendor", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "对接平台", |
|||
dataIndex: "platform", |
|||
key: "platform", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "车位锁状态", |
|||
dataIndex: "lock_state_name", |
|||
key: "lock_state_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "设备状态", |
|||
dataIndex: "device_state_name", |
|||
key: "device_state_name", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
render: (_, record) => { |
|||
return ( |
|||
<Button |
|||
type="primary" |
|||
|
|||
> |
|||
操作 |
|||
</Button> |
|||
); |
|||
}, |
|||
}, |
|||
]; |
|||
|
|||
|
|||
|
|||
|
|||
const [tableData, setTableData] = useState([]); |
|||
const [total, setTotal] = useState(0); |
|||
//获取函数 |
|||
function search(params) { |
|||
utils.tableScrollTop("parent-table-scroll") |
|||
ajax.getPileMonitor(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
}else{ |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="电桩监控" |
|||
// mandatory={['plate','berth_id']} |
|||
// mandatory_name={['车牌号或泊位号']} |
|||
pageName={'pileMonitor'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
// exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default PileMonitor; |
@ -0,0 +1,10 @@ |
|||
import ChargerMonitor from "./ChargerMonitor" |
|||
import LockMonitor from "./LockMonitor" |
|||
import PileMonitor from "./PileMonitor" |
|||
|
|||
|
|||
export default { |
|||
ChargerMonitor, |
|||
LockMonitor, |
|||
PileMonitor |
|||
} |
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const Appointment = loadable(() => import("./loadable")) |
|||
export default (pros) => <Appointment {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,231 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary } from "@/config/common"; |
|||
import ajax from "@/services"; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
const { TextArea } = Input; |
|||
|
|||
function Appointment() { |
|||
// 详情弹窗 |
|||
const [detailVisible, setDetailVisible] = useState(false); |
|||
// 列表数据 |
|||
const [tableData, setTableData] = useState([]); |
|||
// 数据总数 |
|||
const [total, setTotal] = useState(0); |
|||
// 详情数据 |
|||
const [detailData, setDetailData] = useState({}); |
|||
// 初始搜索条件 |
|||
const initFormData = { |
|||
operator: "0", |
|||
rule_name: "", |
|||
}; |
|||
|
|||
const columns = [ |
|||
{ |
|||
title: "用户手机号", |
|||
dataIndex: "operator", |
|||
key: "operator", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "车牌号", |
|||
dataIndex: "plate", |
|||
key: "plate", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "充电站", |
|||
dataIndex: "plate_color", |
|||
key: "plate_color", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "商户名称", |
|||
dataIndex: "berth_id", |
|||
key: "berth_id", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "降预约开始时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约截至时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴纳预约费用金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴费时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单状态", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单完结时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约费用退款金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "顶动感实收金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
width: 100, |
|||
render: (text, record, index) => { |
|||
return ( |
|||
<> |
|||
<Button type="primary" onClick={() => openModal(index, record)}> |
|||
详情 |
|||
</Button> |
|||
</> |
|||
) |
|||
|
|||
}, |
|||
}, |
|||
]; |
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "phone", |
|||
type: "Input", |
|||
label: "用户手机号", |
|||
placeholder: "请输入用户手机号", |
|||
}, |
|||
{ |
|||
name: "plate", |
|||
type: "Input", |
|||
label: "车牌号", |
|||
placeholder: "请输入车牌号", |
|||
}, |
|||
{ |
|||
name: "charging", |
|||
type: "Input", |
|||
label: "充电站", |
|||
placeholder: "请输入充电站", |
|||
}, |
|||
{ |
|||
name: "operator", |
|||
type: "Select", |
|||
label: "商户名称", |
|||
defaultValue: "0", |
|||
placeholder: "请选择商户名称", |
|||
}, |
|||
{ |
|||
name: "timeStart", |
|||
type: "DateRangePicker", |
|||
label: "预约开始时间", |
|||
}, |
|||
{ |
|||
name: "timeEnd", |
|||
type: "DateRangePicker", |
|||
label: "订单完结时间", |
|||
}, |
|||
]; |
|||
|
|||
// 打开弹窗 |
|||
const openModal = (index, record) => { |
|||
setDetailData(record) |
|||
setDetailVisible(true); |
|||
} |
|||
|
|||
// 检索 |
|||
const search = (params) => { |
|||
ajax.getParkingList(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
} else { |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
const handelAdd = () => { |
|||
setDetailVisible(true) |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
showSerial={true} |
|||
isExport={false} |
|||
diyButton={ |
|||
<Button |
|||
type="primary" |
|||
onClick={handelAdd} |
|||
> |
|||
新增 |
|||
</Button> |
|||
} |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="预约订单" |
|||
pageName={'Appointment'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
<Modal |
|||
open={detailVisible} |
|||
width={800} |
|||
className="totalModal" |
|||
onCancel={() => { |
|||
setDetailVisible(false); |
|||
}} |
|||
destroyOnClose |
|||
> |
|||
|
|||
</Modal> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default Appointment; |
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const Charge = loadable(() => import("./loadable")) |
|||
export default (pros) => <Charge {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,231 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary } from "@/config/common"; |
|||
import ajax from "@/services"; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
const { TextArea } = Input; |
|||
|
|||
function Charge() { |
|||
// 详情弹窗 |
|||
const [detailVisible, setDetailVisible] = useState(false); |
|||
// 列表数据 |
|||
const [tableData, setTableData] = useState([]); |
|||
// 数据总数 |
|||
const [total, setTotal] = useState(0); |
|||
// 详情数据 |
|||
const [detailData, setDetailData] = useState({}); |
|||
// 初始搜索条件 |
|||
const initFormData = { |
|||
operator: "0", |
|||
rule_name: "", |
|||
}; |
|||
|
|||
const columns = [ |
|||
{ |
|||
title: "用户手机号", |
|||
dataIndex: "operator", |
|||
key: "operator", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "车牌号", |
|||
dataIndex: "plate", |
|||
key: "plate", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "充电站", |
|||
dataIndex: "plate_color", |
|||
key: "plate_color", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "商户名称", |
|||
dataIndex: "berth_id", |
|||
key: "berth_id", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "降预约开始时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约截至时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴纳预约费用金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴费时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单状态", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单完结时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约费用退款金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "顶动感实收金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
width: 100, |
|||
render: (text, record, index) => { |
|||
return ( |
|||
<> |
|||
<Button type="primary" onClick={() => openModal(index, record)}> |
|||
详情 |
|||
</Button> |
|||
</> |
|||
) |
|||
|
|||
}, |
|||
}, |
|||
]; |
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "phone", |
|||
type: "Input", |
|||
label: "用户手机号", |
|||
placeholder: "请输入用户手机号", |
|||
}, |
|||
{ |
|||
name: "plate", |
|||
type: "Input", |
|||
label: "车牌号", |
|||
placeholder: "请输入车牌号", |
|||
}, |
|||
{ |
|||
name: "charging", |
|||
type: "Input", |
|||
label: "充电站", |
|||
placeholder: "请输入充电站", |
|||
}, |
|||
{ |
|||
name: "operator", |
|||
type: "Select", |
|||
label: "商户名称", |
|||
defaultValue: "0", |
|||
placeholder: "请选择商户名称", |
|||
}, |
|||
{ |
|||
name: "timeStart", |
|||
type: "DateRangePicker", |
|||
label: "预约开始时间", |
|||
}, |
|||
{ |
|||
name: "timeEnd", |
|||
type: "DateRangePicker", |
|||
label: "订单完结时间", |
|||
}, |
|||
]; |
|||
|
|||
// 打开弹窗 |
|||
const openModal = (index, record) => { |
|||
setDetailData(record) |
|||
setDetailVisible(true); |
|||
} |
|||
|
|||
// 检索 |
|||
const search = (params) => { |
|||
ajax.getParkingList(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
} else { |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
const handelAdd = () => { |
|||
setDetailVisible(true) |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
showSerial={true} |
|||
isExport={false} |
|||
diyButton={ |
|||
<Button |
|||
type="primary" |
|||
onClick={handelAdd} |
|||
> |
|||
新增 |
|||
</Button> |
|||
} |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="预约订单" |
|||
pageName={'Appointment'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
<Modal |
|||
open={detailVisible} |
|||
width={800} |
|||
className="totalModal" |
|||
onCancel={() => { |
|||
setDetailVisible(false); |
|||
}} |
|||
destroyOnClose |
|||
> |
|||
|
|||
</Modal> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default Charge; |
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const UnlockingRecord = loadable(() => import("./loadable")) |
|||
export default (pros) => <UnlockingRecord {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,181 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary } from "@/config/common"; |
|||
import ajax from "@/services"; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
const { TextArea } = Input; |
|||
|
|||
function UnlockingRecord() { |
|||
// 详情弹窗 |
|||
const [detailVisible, setDetailVisible] = useState(false); |
|||
// 列表数据 |
|||
const [tableData, setTableData] = useState([]); |
|||
// 数据总数 |
|||
const [total, setTotal] = useState(0); |
|||
// 详情数据 |
|||
const [detailData, setDetailData] = useState({}); |
|||
// 初始搜索条件 |
|||
const initFormData = { |
|||
operator: "0", |
|||
rule_name: "", |
|||
}; |
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "tel_number", |
|||
type: "Input", |
|||
label: "手机号", |
|||
placeholder: "请输入手机号", |
|||
}, |
|||
{ |
|||
name: "tel_number", |
|||
type: "Input", |
|||
label: "充电站", |
|||
placeholder: "请输入充电站", |
|||
}, |
|||
{ |
|||
name: "tel_number", |
|||
type: "Input", |
|||
label: "地锁名称", |
|||
placeholder: "请输入地锁名称", |
|||
}, |
|||
|
|||
{ |
|||
name: "timePeriod", |
|||
type: "RangePicker", |
|||
label: "开锁时间范围", |
|||
}, |
|||
]; // 搜搜栏 |
|||
|
|||
const columns = [ |
|||
{ |
|||
title: "运营商名称", |
|||
dataIndex: "operator", |
|||
key: "operator", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "规则名称", |
|||
dataIndex: "plate", |
|||
key: "plate", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "规则编码", |
|||
dataIndex: "plate_color", |
|||
key: "plate_color", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "创建人", |
|||
dataIndex: "berth_id", |
|||
key: "berth_id", |
|||
width: 100, |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "创建时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
width: 100, |
|||
render: (text, record, index) => { |
|||
return ( |
|||
<> |
|||
<Button type="primary" onClick={() => openModal(index, record)}> |
|||
详情 |
|||
</Button> |
|||
</> |
|||
) |
|||
|
|||
}, |
|||
}, |
|||
]; // 表头 |
|||
|
|||
|
|||
|
|||
// 打开弹窗 |
|||
const openModal = (index, record) => { |
|||
setDetailData(record) |
|||
setDetailVisible(true); |
|||
} |
|||
|
|||
// 检索 |
|||
const search = (params) => { |
|||
ajax.getParkingList(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
} else { |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
const handelAdd = () => { |
|||
setDetailVisible(true) |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
showSerial={true} |
|||
isExport={false} |
|||
diyButton={ |
|||
<Button |
|||
type="primary" |
|||
onClick={handelAdd} |
|||
> |
|||
新增 |
|||
</Button> |
|||
} |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="停车记录查询" |
|||
pageName={'AppointmentRecord'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
<Modal |
|||
open={detailVisible} |
|||
width={1500} |
|||
className="totalModal" |
|||
onCancel={() => { |
|||
setDetailVisible(false); |
|||
}} |
|||
destroyOnClose |
|||
> |
|||
|
|||
</Modal> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default UnlockingRecord; |
@ -0,0 +1,6 @@ |
|||
import React from "react" |
|||
import loadable from "@loadable/component" |
|||
import { LoadingImg } from "@/components" |
|||
|
|||
const Violation = loadable(() => import("./loadable")) |
|||
export default (pros) => <Violation {...pros} fallback={<LoadingImg />} /> |
@ -0,0 +1,238 @@ |
|||
@import "@/assets/css/mixin.scss"; |
|||
$color-container-bg: var(--color-container-bg); |
|||
$color-user-list-bg: var(--color-user-list-bg); |
|||
$color-text: var(--color-text); |
|||
$color-primary: var(--color-primary); |
|||
|
|||
.ant-tabs { |
|||
margin-bottom: 16px; |
|||
|
|||
.ant-tabs-nav { |
|||
margin-bottom: 0 !important; |
|||
|
|||
&::before { |
|||
border-bottom: 1px solid var(--color-card-line) !important; |
|||
} |
|||
} |
|||
|
|||
.ant-tabs-nav-wrap { |
|||
width: 100%; |
|||
box-sizing: content-box; |
|||
|
|||
.ant-tabs-nav-list { |
|||
width: 340px; |
|||
|
|||
.ant-tabs-ink-bar { |
|||
height: 3px; |
|||
background-color: #00ccff; |
|||
} |
|||
|
|||
.ant-tabs-tab { |
|||
flex: 1; |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
padding-bottom: 10px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
font-size: 14px !important; |
|||
font-family: MicrosoftYaHei; |
|||
text-align: center; |
|||
letter-spacing: 0.7px; |
|||
} |
|||
|
|||
.ant-tabs-tab-active { |
|||
div { |
|||
color: #00ccff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-input::-webkit-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-input::-moz-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .ant-btn-primary { |
|||
width: 68px; |
|||
height: 30px; |
|||
background: linear-gradient(180deg, #3aa9ff, #59b7ff); |
|||
border-radius: 4px; |
|||
} |
|||
.ant-input:-ms-input-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { |
|||
background-color: #616b83 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { |
|||
background-color: #3e4557 !important; |
|||
} |
|||
.ant-input::placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-selection-placeholder { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { |
|||
background: var(--color-input-disabled-bg); |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled .ant-select-arrow { |
|||
color: var(--color-placeholder); |
|||
} |
|||
|
|||
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { |
|||
background-color: var(--color-input-disabled-bg); |
|||
color: var(--color-input-disabled-color); |
|||
cursor: not-allowed; |
|||
} |
|||
|
|||
.ant-select-multiple { |
|||
.ant-select-selector { |
|||
.ant-select-selection-item { |
|||
background-color: var(--color-bg-body); |
|||
border-color: var(--color-border); |
|||
|
|||
.ant-select-selection-item-remove { |
|||
color: var(--color-text); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-arrow { |
|||
color: var(--color-text); |
|||
} |
|||
|
|||
.ant-select-clear { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
.ant-select-dropdown-menu { |
|||
background-color: var(--color-input-bg); |
|||
|
|||
.ant-select-dropdown-menu-item { |
|||
color: var(--color-text); |
|||
|
|||
&.ant-select-dropdown-menu-item-active { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&.ant-select-dropdown-menu-item-selected { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
|
|||
&:hover { |
|||
color: #fff; |
|||
// background-color: var(--radio-button-bg-checked); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-select-selector { |
|||
background-color: var(--color-search-list-item-bg) !important; |
|||
box-shadow: none !important; |
|||
border-radius: 4px; |
|||
color: var(--color-search-list-item-value); |
|||
border-color: var(--color-search-list-item-bd) !important; |
|||
} |
|||
|
|||
.ant-select-selection { |
|||
background-color: var(--color-input-bg); |
|||
box-shadow: none; |
|||
color: var(--color-text); |
|||
// border-color:var(--checkable-tag-border); |
|||
} |
|||
|
|||
.ant-form-horizontal .ant-form-item-label { |
|||
label { |
|||
display: inline-block; |
|||
word-wrap: break-word; |
|||
white-space: normal; |
|||
} |
|||
} |
|||
|
|||
.ant-picker { |
|||
width: 100%; |
|||
background-color: var(--color-search-list-item-bg); |
|||
border-color: var(--color-border); |
|||
} |
|||
|
|||
// .yisa-table { |
|||
// width: 100%; |
|||
|
|||
// .ant-table-thead { |
|||
// th { |
|||
// background: var(--color-table-header-bg) !important; |
|||
// } |
|||
// } |
|||
|
|||
// .ant-table-tbody { |
|||
// td { |
|||
// background: var(--color-table-body-bg) !important; |
|||
// border-bottom-color: var(--color-table-border-bottom-color); |
|||
// } |
|||
|
|||
// tr:nth-child(even) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
|
|||
// tr:nth-child(odd) { |
|||
// td { |
|||
// background: var(--color-table-body-bg-nth-child-even) !important; |
|||
// } |
|||
// } |
|||
// } |
|||
// } |
|||
.totalModal{ |
|||
.ant-modal-footer{ |
|||
display: none; |
|||
} |
|||
position: absolute; |
|||
top: 40px; |
|||
right: 174px; |
|||
} |
|||
.ltc-item-img { |
|||
width: 390px; |
|||
height: 300px; |
|||
border: 1px solid; |
|||
background: #6565656b; |
|||
margin-right: 20px !important; |
|||
img { |
|||
height: 295px; |
|||
width: 387px; |
|||
// object-fit: contain; |
|||
} |
|||
} |
|||
.hanleHistoyModal{ |
|||
max-height: 700px; |
|||
overflow: auto; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar { |
|||
width: 5px; |
|||
} |
|||
.hanleHistoyModal::-webkit-scrollbar-thumb { |
|||
background-color: #9da2ab; |
|||
border-radius: 10px; |
|||
} |
|||
.modal-img{ |
|||
img{ |
|||
width: 200px; |
|||
height: 200px; |
|||
} |
|||
} |
@ -0,0 +1,231 @@ |
|||
import React, { useState, useRef, useEffect } from "react"; |
|||
import { |
|||
message, |
|||
Pagination, |
|||
Table, |
|||
Space, |
|||
Modal, |
|||
Button, |
|||
Tabs, |
|||
Descriptions, |
|||
Input, |
|||
Steps, |
|||
Select, |
|||
Image, |
|||
Timeline, |
|||
Popover |
|||
} from "antd"; |
|||
import { dictionary } from "@/config/common"; |
|||
import ajax from "@/services"; |
|||
import { TableModule } from "@/components"; |
|||
import "./index.scss"; |
|||
|
|||
const { TextArea } = Input; |
|||
|
|||
function Violation() { |
|||
// 详情弹窗 |
|||
const [detailVisible, setDetailVisible] = useState(false); |
|||
// 列表数据 |
|||
const [tableData, setTableData] = useState([]); |
|||
// 数据总数 |
|||
const [total, setTotal] = useState(0); |
|||
// 详情数据 |
|||
const [detailData, setDetailData] = useState({}); |
|||
// 初始搜索条件 |
|||
const initFormData = { |
|||
operator: "0", |
|||
rule_name: "", |
|||
}; |
|||
|
|||
const columns = [ |
|||
{ |
|||
title: "用户手机号", |
|||
dataIndex: "operator", |
|||
key: "operator", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "车牌号", |
|||
dataIndex: "plate", |
|||
key: "plate", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "充电站", |
|||
dataIndex: "plate_color", |
|||
key: "plate_color", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "商户名称", |
|||
dataIndex: "berth_id", |
|||
key: "berth_id", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "降预约开始时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约截至时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴纳预约费用金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "缴费时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单状态", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "订单完结时间", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "预约费用退款金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "顶动感实收金额", |
|||
dataIndex: "in_time", |
|||
key: "in_time", |
|||
align: "center", |
|||
}, |
|||
{ |
|||
title: "操作", |
|||
dataIndex: "operation", |
|||
key: "operation", |
|||
align: "center", |
|||
fixed: "right", |
|||
width: 100, |
|||
render: (text, record, index) => { |
|||
return ( |
|||
<> |
|||
<Button type="primary" onClick={() => openModal(index, record)}> |
|||
详情 |
|||
</Button> |
|||
</> |
|||
) |
|||
|
|||
}, |
|||
}, |
|||
]; |
|||
|
|||
const formSearch = [ |
|||
{ |
|||
name: "phone", |
|||
type: "Input", |
|||
label: "用户手机号", |
|||
placeholder: "请输入用户手机号", |
|||
}, |
|||
{ |
|||
name: "plate", |
|||
type: "Input", |
|||
label: "车牌号", |
|||
placeholder: "请输入车牌号", |
|||
}, |
|||
{ |
|||
name: "charging", |
|||
type: "Input", |
|||
label: "充电站", |
|||
placeholder: "请输入充电站", |
|||
}, |
|||
{ |
|||
name: "operator", |
|||
type: "Select", |
|||
label: "商户名称", |
|||
defaultValue: "0", |
|||
placeholder: "请选择商户名称", |
|||
}, |
|||
{ |
|||
name: "timeStart", |
|||
type: "DateRangePicker", |
|||
label: "预约开始时间", |
|||
}, |
|||
{ |
|||
name: "timeEnd", |
|||
type: "DateRangePicker", |
|||
label: "订单完结时间", |
|||
}, |
|||
]; |
|||
|
|||
// 打开弹窗 |
|||
const openModal = (index, record) => { |
|||
setDetailData(record) |
|||
setDetailVisible(true); |
|||
} |
|||
|
|||
// 检索 |
|||
const search = (params) => { |
|||
ajax.getParkingList(params).then((res) => { |
|||
if (res.status === 20000) { |
|||
setTableData(res.data.list); |
|||
setTotal(res.data.total); |
|||
} else { |
|||
message.error(res.message) |
|||
} |
|||
}); |
|||
} |
|||
|
|||
const handelAdd = () => { |
|||
setDetailVisible(true) |
|||
} |
|||
|
|||
return ( |
|||
<> |
|||
<TableModule |
|||
showSerial={true} |
|||
isExport={false} |
|||
diyButton={ |
|||
<Button |
|||
type="primary" |
|||
onClick={handelAdd} |
|||
> |
|||
新增 |
|||
</Button> |
|||
} |
|||
columns={columns} |
|||
tableData={tableData} |
|||
formSearch={formSearch} |
|||
pagename="预约订单" |
|||
pageName={'Appointment'} |
|||
initFormData={initFormData} |
|||
total={total} |
|||
search={search} |
|||
exportUrl="/api/bpm/record/get_record_export" |
|||
/> |
|||
<Modal |
|||
open={detailVisible} |
|||
width={800} |
|||
className="totalModal" |
|||
onCancel={() => { |
|||
setDetailVisible(false); |
|||
}} |
|||
destroyOnClose |
|||
> |
|||
|
|||
</Modal> |
|||
</> |
|||
); |
|||
} |
|||
|
|||
export default Violation; |
@ -0,0 +1,13 @@ |
|||
import Appointment from './Appointment' |
|||
import Charge from './Charge' |
|||
import Violation from './Violation' |
|||
import Unlocking from './Unlocking' |
|||
|
|||
|
|||
|
|||
export default { |
|||
Appointment, |
|||
Charge, |
|||
Violation, |
|||
Unlocking |
|||
} |
@ -1,7 +1,11 @@ |
|||
import ChargingMgm from './ChargingMgm' |
|||
import NewEnergyOverview from './NewEnergyOverview' |
|||
import RecordsInquiry from './RecordsInquiry' |
|||
import RealtimeMonitor from './RealtimeMonitor' |
|||
|
|||
export default { |
|||
NewEnergyOverview, |
|||
...ChargingMgm |
|||
...RealtimeMonitor, |
|||
...ChargingMgm, |
|||
...RecordsInquiry, |
|||
} |
@ -1,5 +1,7 @@ |
|||
import chargingMgm from './chargingMgm' |
|||
import realtimeMonitor from './realtimeMonitor' |
|||
|
|||
export default { |
|||
...chargingMgm |
|||
...chargingMgm, |
|||
...realtimeMonitor |
|||
} |
@ -0,0 +1,14 @@ |
|||
import ajax from "@/config/ajax" |
|||
|
|||
//获取电桩监控接口
|
|||
const getPileMonitor = (params) => { |
|||
return ajax({ |
|||
url: "/api/new_power/realtime_monitor/pile_monitor/get_record_list", |
|||
type: "post", |
|||
data: params, |
|||
}); |
|||
}; |
|||
|
|||
export default{ |
|||
getPileMonitor, |
|||
} |
@ -0,0 +1,33 @@ |
|||
import ajax from "@/config/ajax" |
|||
|
|||
//异常管理-车牌修正记录-列表
|
|||
const getPlateChangeList = (params) => { |
|||
return ajax({ |
|||
url: "/api/bpm/correct/get_correct_res", |
|||
type: "post", |
|||
data: params, |
|||
}); |
|||
}; |
|||
|
|||
//异常管理-车牌修正记录-详情
|
|||
const getPlateChangeDetail = (params) => { |
|||
return ajax({ |
|||
url: "/api/bpm/correct/show_correct_detail", |
|||
type: "post", |
|||
data: params, |
|||
}); |
|||
}; |
|||
|
|||
//异常管理-车牌修正记录-导出
|
|||
const getPlateChangeExport = (params) => { |
|||
return ajax({ |
|||
url: "/api/bpm/clearzom/export_zomcar", |
|||
type: "post", |
|||
data: params, |
|||
}); |
|||
}; |
|||
export default { |
|||
getPlateChangeList, |
|||
getPlateChangeDetail, |
|||
getPlateChangeExport, |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue