2 Commits

  1. 282
      src/assets/fonts/font_pda/demo_index.html
  2. 54
      src/assets/fonts/font_pda/iconfont.css
  3. 2
      src/assets/fonts/font_pda/iconfont.js
  4. 84
      src/assets/fonts/font_pda/iconfont.json
  5. BIN
      src/assets/fonts/font_pda/iconfont.ttf
  6. BIN
      src/assets/fonts/font_pda/iconfont.woff
  7. BIN
      src/assets/fonts/font_pda/iconfont.woff2
  8. 10
      src/components/TableModule/index.jsx
  9. 67
      src/config/ajax.js
  10. 68
      src/pages/Nav/index.jsx
  11. 14
      src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx
  12. 6
      src/pages/OffPeak/OffPeakParkMgm/BreakInfo/index.scss
  13. 61
      src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx
  14. 165
      src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/index.scss
  15. 113
      src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx
  16. 3
      src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/HistoryTable.jsx
  17. 3
      src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx
  18. 2
      src/services/common.js

282
src/assets/fonts/font_pda/demo_index.html
File diff suppressed because it is too large
View File

54
src/assets/fonts/font_pda/iconfont.css
File diff suppressed because it is too large
View File

2
src/assets/fonts/font_pda/iconfont.js
File diff suppressed because it is too large
View File

84
src/assets/fonts/font_pda/iconfont.json

@ -6,6 +6,90 @@
"description": "",
"glyphs": [
{
"icon_id": "14144510",
"name": "展开",
"font_class": "zhankai1",
"unicode": "e641",
"unicode_decimal": 58945
},
{
"icon_id": "39017326",
"name": "错时共享记录",
"font_class": "cuoshigongxiangjilu",
"unicode": "e7a4",
"unicode_decimal": 59300
},
{
"icon_id": "39017324",
"name": "错时时间管理",
"font_class": "cuoshishijianguanli",
"unicode": "e7a5",
"unicode_decimal": 59301
},
{
"icon_id": "39017325",
"name": "错峰停车场管理",
"font_class": "cuofengtingchechangguanli",
"unicode": "e7a6",
"unicode_decimal": 59302
},
{
"icon_id": "38988132",
"name": "充电业务管理",
"font_class": "chongdianyewuguanli",
"unicode": "e79e",
"unicode_decimal": 59294
},
{
"icon_id": "38988131",
"name": "设备管理",
"font_class": "shebeiguanli1",
"unicode": "e79f",
"unicode_decimal": 59295
},
{
"icon_id": "38988130",
"name": "实时监控",
"font_class": "shishijiankong",
"unicode": "e7a0",
"unicode_decimal": 59296
},
{
"icon_id": "38988128",
"name": "记录查询",
"font_class": "jiluchaxun1",
"unicode": "e7a1",
"unicode_decimal": 59297
},
{
"icon_id": "38988129",
"name": "数据概览",
"font_class": "shujugailan",
"unicode": "e7a2",
"unicode_decimal": 59298
},
{
"icon_id": "38988127",
"name": "充电站管理",
"font_class": "chongdianzhanguanli",
"unicode": "e7a3",
"unicode_decimal": 59299
},
{
"icon_id": "38900586",
"name": "新能源",
"font_class": "xinnengyuan",
"unicode": "e79c",
"unicode_decimal": 59292
},
{
"icon_id": "38900426",
"name": "错时共享",
"font_class": "cuoshigongxiang",
"unicode": "e79d",
"unicode_decimal": 59293
},
{
"icon_id": "1240777",
"name": "应用",
"font_class": "yingyongguanli2",

BIN
src/assets/fonts/font_pda/iconfont.ttf

BIN
src/assets/fonts/font_pda/iconfont.woff

BIN
src/assets/fonts/font_pda/iconfont.woff2

10
src/components/TableModule/index.jsx

@ -1009,7 +1009,9 @@ const TableModule = forwardRef((props, ref) => {
}, []);
useEffect(() => {
ajax
// ,
if(formSearch.find(item=> item.type == 'TreeSelect')){
ajax
.getAreaTree()
.then((res) => {
if (res.status === 20000) {
@ -1019,7 +1021,9 @@ const TableModule = forwardRef((props, ref) => {
.catch((err) => {
console.error(err);
});
}, []);
}
}, [formSearch]);
const [getRoadList, setGetRoadList] = useState([])
useEffect(() => {
@ -1030,7 +1034,7 @@ const TableModule = forwardRef((props, ref) => {
return (
<div className={`TableModule ${className}`}>
<div className="left-search">
<div className="title">{"查询条件"}</div>
<div className="title" title="查询条件">{"查询条件"}</div>
<div className="searchWrap">
{renderSearch()}
<div className="bottomBox">

67
src/config/ajax.js

@ -8,9 +8,6 @@ axios.defaults.baseURL = baseApi
axios.defaults.timeout = 5 * 60 * 1000
axios.defaults.headers.common['Authorization'] = getToken()
window.queryRecord = {} // 临时方案, 对于查询比较慢的接口, 先统一在这里处理, todo, 后期每个接口再加loading,
const longtimeInterfaces = [ // 对于一些查询比较慢的接口, 先定义一个数组,
"/api/orp/road/road_list"
]
// axios.defaults.headers.common['Authorization'] = `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTk2MzAwNzUsInN1YiI6Inlpc2Ffand0IiwibmJmIjoxNjk5NjI2NDc1LCJhdWQiOiJ5aXNhX3VzZXIiLCJpYXQiOjE2OTk2MjY0NzUsImp0aSI6IjlhYzg3MzcxNGUyYWUyNjQyOWNlMTFjMDliZjZiMTFiIiwiaXNzIjoieWlzYV9pc3MiLCJzdGF0dXMiOjEsImRhdGEiOnsidXNlcl91aWQiOjE4MTkwOTEwNDA1MzQ2MTU5NjksImlkX2NhcmQiOm51bGwsInJvbGVfaWQiOjE3NjcyMTAwNDQ0NDE2MTQ0NzksIm5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJkZXBhcnRtZW50X25hbWUiOiLopb_mtbflsrjlhaznlKjkuovkuJrpm4blm6IiLCJ1c2VyX25hbWUiOiJ4dXF1biIsInRlbCI6IjE4OTc2MzMwMzIwIiwiYXV0aCI6IjE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTUyLDEyMSwxMzQsMTM1LDEzOSwxNDMsMTQ5LDEzNiwxMzcsMTM4LDE0MCwxNDEsMTQyLDE0NCwxNDUsMTUwLDE1MSwxMjAsMTIyLDEyMywxMjQsMTI1LDExMiwxMTMsMTE0LDExNSwxNDYsMTQ3LDE0OCw4OCw4OSw5MCw5MSwxMDMsMTE4LDEyNiwxMzAsOTcsMTE2LDExNyw5Miw5Myw5NCw5NSw5NiwxMDQsMTA1LDExOSwxMjcsMTI4LDEyOSwxMzEsMTMyLDEzMyw5OCw5OSwxMDAsMTAxLDEwMiwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxLDIsMyw2LDcsOCw5LDEwLDQsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMTEsMTIsMjEsMjIsMjcsMjgsMzMsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDksNTAsNTEsNTIsNTMsNSw1Nyw1OCw1NCw1NSw1Niw3MSw3Miw1OSw2MCw2MSw2Miw2OSw3MCw3Myw3NCw3NSw3Niw3Nyw2NSw2Niw2Nyw2OCw2Myw2NCwyMywyNCwyNSwyNiwzNCwzNSwyOSwzMCwzMSwzMiw0Nyw0OCw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4NyIsInBpZCI6MCwiaWRfbmFtZSI6IuiuuOe-pCJ9fQ.mYH-k_uKUDxysOiytBSRzOj4hWjKSxkTBVEpy4FnLe8`
/**
* @description 请求全局拦截
@ -46,9 +43,10 @@ function ajax(ajaxData = {}) {
if( window.queryRecord[ajaxData.url]?.ing ){
message.destroy()
if(ajaxData.data.pn && ajaxData.data.pn != window.queryRecord[ajaxData.url].pn){ // 约定pn 作为分页器 页码的唯一变量名
message.error('建议不要快速切换')
// message.error('建议不要快速切换')
}else{
message.error('请勿重复操作')
// message.error('请勿重复操作') // todo 直接组织重复操作, 不提示
console.error('重复操作')
// 返回一个promise防止语法错误
return new Promise((resolve, reject)=>{
new Error(1)
@ -62,6 +60,8 @@ function ajax(ajaxData = {}) {
}
}
}
// 新增逻辑 用于判断发起该请求的页面是否已经销毁
ajaxData.data = {...ajaxData.data, pageHash: location.hash.replace(/\?.*/, '').replace('#/',"").replace('/', '_')}
return new Promise((resolve, reject) => {
if (!utils.isObject(ajaxData)) {
return reject(new Error('ajax请求配置错误'))
@ -70,23 +70,38 @@ function ajax(ajaxData = {}) {
method = method.toLowerCase()
let url = ajaxData.mock && isDevelopment ? `/mock` + ajaxData.url : ajaxData.url
// let data = method === 'get' ? { params: ajaxData.data } : ajaxData.data
let data =
method === "get" || method === 'delete'
? { params: ajaxData.data }
: ajaxData.data;
let data = method === "get" || method === 'delete' ? { params: ajaxData.data }: ajaxData.data;
axios[method](url, data)
.then(res => {
if(res?.config?.data && JSON.parse(res.config.data)?.guard){
if(window.queryRecord[res.config.url]){
window.queryRecord[res.config.url].ing = false
if(res.config.method == 'post'){
if(res?.config?.data ){
if(JSON.parse(res.config.data)?.guard){
if(window.queryRecord[res.config.url]){
window.queryRecord[res.config.url].ing = false
}
}
// if(location.hash.replace(/\?.*/, '') != JSON.parse(res.config.data)?.pageHash){
// console.log('页面已销毁')
// resolve({message: "",status: 20000,data: [] })
// return
// }
}
}else{
if(res.config.params.guard){
if(window.queryRecord[res.config.url]){
window.queryRecord[res.config.url].ing = false
}
}
// if(location.hash.replace(/\?.*/, '') != res.config.params.pageHash){
// console.log('页面已销毁')
// resolve({message: "", status: 20000,data: [] })
// return
// }
}
if (res.data.status === 30009 || res.data.status === 40006 || res.data.status === 40005 ) {
removeToken()
window.location.replace(sysConfig.logout_url)
// window.location.replace("/#/login")
message.error(res.data.message)
reject(res)
} else {
@ -94,9 +109,27 @@ function ajax(ajaxData = {}) {
}
})
.catch(err => {
if(err?.config?.data && JSON.parse(err.config.data)?.guard){
if(window.queryRecord[err.config.url]){
window.queryRecord[err.config.url].ing = false
if(err.config.method == 'post'){
if(err?.config?.data ){
if(JSON.parse(err.config.data)?.guard){
window.queryRecord[err.config.url].ing = false
}
if(location.hash.replace(/\?.*/, '') != JSON.parse(err.config.data)?.pageHash){
console.log('接口异常,但页面已销毁')
reject(new Error(1))
return
}
}
}else{
if(err.config.params.guard){
if(window.queryRecord[err.config.url]){
window.queryRecord[err.config.url].ing = false
}
}
if(location.hash.replace(/\?.*/, '') != err.config.params.pageHash){
console.log('接口异常,但页面已销毁')
reject(new Error(1))
return
}
}
let response = err.response

68
src/pages/Nav/index.jsx

@ -18,39 +18,51 @@ export default function Nav() {
const menusNew = useSelector(state=>{ return state.user.menus_new })
const [activeIndex,setActiveIndex] = useState(-1)
const getNavData = ()=>{
ajax.getNavData().then(res=>{
if(res.status == 20000){
setNavData(res.data)
let tempmap = {};
res.data.map(dataItem=>{
for(let key in menusNew){
menusNew[key].map(menuItem=>{
if(menuItem.path == dataItem.path){
tempmap[menuItem.path.split('/')[1]] = {
path: menuItem.path,
text: menuItem.text ,
name: menuItem.name,
if(!sessionStorage.getItem('navData')){
ajax.getNavData().then(res=>{
if(res.status == 20000){
setNavData(res.data)
sessionStorage.setItem('navData', JSON.stringify(res.data))
createFirstPageMap(res.data)
}
})
}else{
let nav_temp = JSON.parse(sessionStorage.getItem('navData'))
setNavData(nav_temp)
createFirstPageMap(nav_temp)
}
}
const createFirstPageMap = (data)=>{
let tempmap = {};
data.map(dataItem=>{
for(let key in menusNew){
menusNew[key].map(menuItem=>{
if(menuItem.path == dataItem.path){
tempmap[menuItem.path.split('/')[1]] = {
path: menuItem.path,
text: menuItem.text ,
name: menuItem.name,
}
}
if(menuItem.children){
menuItem.children.map(childItem=>{
if(childItem.path == dataItem.path){
tempmap[childItem.path.split('/')[1]] = {
path: childItem.path,
text: childItem.text ,
name: childItem.name,
}
}
if(menuItem.children){
menuItem.children.map(childItem=>{
if(childItem.path == dataItem.path){
tempmap[childItem.path.split('/')[1]] = {
path: childItem.path,
text: childItem.text ,
name: childItem.name,
}
}
})
}
})
}
})
sessionStorage.setItem('firstPageMap', JSON.stringify(tempmap))
dispatch(setFirstPageMap(tempmap))
}
})
}
})
sessionStorage.setItem('firstPageMap', JSON.stringify(tempmap))
dispatch(setFirstPageMap(tempmap))
}
const clickItem = (item)=>{
if(item.is_disable == 0){

14
src/pages/OffPeak/OffPeakParkMgm/BookInfo/loadable.jsx

@ -7,9 +7,10 @@ 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";
import { useLocation } from "react-router-dom";
function BookInfo() {
function BookInfo(props) {
const stateInfo = useLocation();
const columns = [
{
title: "手机号",
@ -113,11 +114,10 @@ function BookInfo() {
];
//
const initFormData = {
merchantName: "0",
road_name: "",
parking_num: "",
operator: "",
exceedTime: "",
park_name: "",
plate: "",
status: "",
tel: stateInfo?.state?.tel ? stateInfo.state.tel : '',
book_time_range: [moment('2023-10-10'), moment('2024-01-01')]
};
//

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

@ -0,0 +1,6 @@
.break-info-op{
span{
cursor: pointer;
color: #02a7f0;
}
}

61
src/pages/OffPeak/OffPeakParkMgm/BreakInfo/loadable.jsx

@ -5,9 +5,9 @@ import { message, Pagination, Table, Space, Modal, Button } from "antd";
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import ajax from "@/services";
import { TableModule } from "@/components";
// import "./index.scss";
import "./index.scss";
// import errorImg from "@/assets/images/layout/error.png"
// import { useLocation } from "react-router-dom";
import { Link } from "react-router-dom";
function BreakInfo() {
const columns = [
@ -51,7 +51,21 @@ function BreakInfo() {
title: "操作",
align: "center",
render: (text, record, index) => (
<div ><span>查看</span>&emsp;<span>修改</span></div>
<div className="break-info-op">
{/* <span onClick={()=>{}}>查看</span> */}
<Link
// to={{
// pathname: "/offPeak/bookInfo",
// search: `?id=${record.id}aaaa`,
// }}
to="/offPeak/bookInfo"
state={{tel: record.tel}}
>
查看
</Link>
&emsp;
<span onClick={()=>{setCurrentRecord(record); setVisible(true)}}>修改</span>
</div>
)
}
];
@ -82,6 +96,9 @@ function BreakInfo() {
};
//
const [tableData, setTableData] = useState([]);
const [visible, setVisible] = useState(false)
const [currentRecord,setCurrentRecord] = useState({})
//
const [total, setTotal] = useState(0);
function search(params) {
@ -98,19 +115,31 @@ function BreakInfo() {
}
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"
/>
<>
<TableModule
columns={columns}
tableData={tableData}
formSearch={formSearch}
search={search}
total={total}
// mandatory={'parking_num'}
// mandatory_name={''}
// pagename="PDA"
// pageName={'entryExitOptPDA'}
diyButton={<Button type="primary" style={{width: '130px'}} onClick={()=>setVisible(true)}>违约次数配置</Button>}
isExport={false}
initFormData={initFormData}
// exportUrl="/api/bpm/record/get_pda_export"
/>
<Modal
open={visible}
title="违约次数配置"
onCancel={()=>{setVisible(false);setCurrentRecord({})}}
>
</Modal>
</>
);
}

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

@ -0,0 +1,165 @@
.offpeak-records-op {
cursor: pointer;
color: #02a7f0;
}
.offpeak-record-box {
width: 100%;
.ltc-box-title {
font-size: 18px;
font-weight: bolder;
width: 100%;
white-space: nowrap;
overflow: hidden;
.text {
display: inline-block;
}
.line {
display: inline-block;
border: 1px dotted #607092;
width: inherit;
margin-bottom: 6px;
}
.ltc-icon {
width: 5px;
background: #0080db;
height: 19px;
display: inline-block;
margin-right: 10px;
}
.ltc-btn {
display: inline-block;
border: 1px solid;
border-radius: 5px;
margin: 0 10px;
width: 60px;
height: 35px;
line-height: 35px;
text-align: center;
background: #409eff;
color: #fff;
font-weight: 100;
cursor: pointer;
}
.ltc-cancel {
background: #fff;
color: #000;
}
}
.ltc-box-line {
border: 1px solid #e7e7e7;
margin: 8px 0;
}
.ltc-box-in {
margin-left: 20px;
.ant-descriptions {
margin-left: 20px;
}
}
.ltc-title {
margin: auto;
width: 50%;
text-align: center;
font-size: 18px;
font-weight: 600;
}
.ltc-content {
margin: auto;
padding: 20px;
.ltc-item {
font-size: 14px;
margin: 6px 12px 6px 0;
display: inline-flex;
//width: 470px;
.new-item {
display: inline-block;
width: 120px;
height: 32px;
line-height: 32px;
background: rgba(150, 161, 192, 0.24);
text-align: center;
}
.new-value {
display: inline-block;
width: 320px;
height: 32px;
line-height: 32px;
text-align: center;
background: #3E4557;
box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.12);
}
.ltc-item-input {
display: inline-block;
width: 200px;
}
div {
width: 150px;
}
}
}
.ltc-liuc {
display: flex;
margin-left: 200px;
.ltc-item {
display: flex;
.ltc-item-name {
margin: 6px 10px 0 10px;
color: #3f94df;
}
}
.ltc-work {
text-align: center;
.ltc-tips {
border: 3px solid #000;
text-align: center;
line-height: 27px;
height: 35px;
width: 35px;
border-radius: 28px;
margin: auto;
}
}
}
}
.offpeak-bigpic-modal {
.eae-modal-title {
font-size: 18px;
font-weight: bolder;
.ltc-icon {
width: 5px;
background: #0080db;
height: 19px;
display: inline-block;
margin-right: 10px;
}
}
.eae-modal-item {
display: inline-block;
font-size: 16px;
}
}

113
src/pages/OffPeak/OffPeakParkMgm/OffPeakParkingRecords/loadable.jsx

@ -5,7 +5,7 @@ import { message, Pagination, Table, Space, Modal, Button } from "antd";
// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
import ajax from "@/services";
import { TableModule } from "@/components";
// import "./index.scss";
import "./index.scss";
// import errorImg from "@/assets/images/layout/error.png"
// import { useLocation } from "react-router-dom";
@ -57,7 +57,7 @@ function OffPeakParkingRecords() {
title: "操作",
align: "center",
render: (text, record, index) => (
<span>详情</span>
<span className="offpeak-records-op" onClick={()=>{setVisible(true);setCurrentRecord(record)}}>详情</span>
)
},
];
@ -70,7 +70,7 @@ function OffPeakParkingRecords() {
// placeholder:""
// },
{
type: "Input",
type: "SearchSelect",
label: "停车场名称",
placeholder: "请输入",
name: "park_name",
@ -131,6 +131,10 @@ function OffPeakParkingRecords() {
};
//
const [tableData, setTableData] = useState([]);
const [visible,setVisible] = useState(false)
const [currentRecord,setCurrentRecord] = useState({})
const [bigPic, setBigPic] = useState();
const [bigpicVisible, setBigpicVisible] = useState(false);//
//
const [total, setTotal] = useState(0);
function search(params) {
@ -143,19 +147,96 @@ function OffPeakParkingRecords() {
}
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"
/>
<>
<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"
/>
<Modal
open={visible}
width={1500}
title="详情"
onCancel={() => { setVisible(false); setCurrentRecord({}) }}
>
<div className="offpeak-record-box ">
<div className="ltc-box-title"><div className="text">停车场信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">停车场名称</div><div className="new-value">{currentRecord?.road || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">区域</div><div className="new-value">{currentRecord.region || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">商户</div><div className="new-value">{currentRecord.operator || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">车场类型</div><div className="new-value">{currentRecord.road_type || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">停车信息</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item">
<div className="new-item">车牌号</div><div className="new-value">{currentRecord.plate || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">会员手机号</div><div className="new-value">{currentRecord.phone || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">入场时间</div><div className="new-value">{currentRecord.in_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">出场时间</div><div className="new-value">{currentRecord.out_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">停车时长</div><div className="new-value">{currentRecord.admission_time || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">应收金额</div><div className="new-value">{currentRecord.receivable_amount || "--"}</div>
</div>
<div className="ltc-item">
<div className="new-item">实付金额</div><div className="new-value">{currentRecord.actual_amount || "--"}</div>
</div>
</div>
<div className="ltc-box-title"><div className="text">入场照片</div><div className="line"></div></div>
<div className="ltc-content">
<div className="ltc-item ltc-item-img ">
<img src={currentRecord.in_veh_pic || require("@/assets/images/error-img.png")} onClick={() => { setBigPic(currentRecord.in_veh_pic); setBigpicVisible(true) }} />
</div>
<div className="ltc-item ltc-item-img ">
<img src={currentRecord.in_plate_pic || require("@/assets/images/error-img.png")} onClick={() => { setBigPic(currentRecord.in_plate_pic); setBigpicVisible(true) }} />
</div>
</div>
</div>
</Modal>
<Modal
open={bigpicVisible}
width={1600}
title={'图片展示'}
className="offpeak-bigpic-modal"
onCancel={() => {
setBigpicVisible(false);
}}
footer={false}
>
<div>
<div className="eae-modal-item">
<img src={bigPic} width={1550} />
</div>
</div>
</Modal>
</>
);
}

3
src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/HistoryTable.jsx

@ -66,6 +66,7 @@ export default function HistoryTable(props) {
}else{
setTableData([])
setTotal(0)
message.error(res.message)
}
}
).catch(err=>{
@ -85,6 +86,8 @@ export default function HistoryTable(props) {
modalVideoRef.current.changeUrl(res.data.url)
}, 300);
startIntervalToPlay()
}else {
message.error(res.message)
}
}
).catch(err=>{

3
src/pages/OutRoadMgm/OutDeviceMgm/OutMonitorMgm/loadable.jsx

@ -218,7 +218,8 @@ function OutMonitorMgm(props) {
}, 300);
startIntervalToPlay(1) //
}else{
message.error(`播放数据暂未对接`);
// message.error(``);
message.error(res.message);
}
}
).catch(err=>{

2
src/services/common.js

@ -14,7 +14,7 @@ const getUserInfo = (params) => {
return ajax({
url: "/api/manage/com/get_user_info",
type: "get",
data: params,
data: {...params, guard: true},
});
};

Loading…
Cancel
Save