diff --git a/src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx b/src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx index 0331cf1..086ad90 100644 --- a/src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx +++ b/src/pages/DataAnalysisPrediction/ParkingOverview/loadable.jsx @@ -430,7 +430,7 @@ const ParkingOverview = connect(function mapStateToProps(state) { const [CarRoad, setCarRoad] = useState([ { label: "西海岸新区", - value: "1", + value: "0", type: 1, }, ]); @@ -578,12 +578,12 @@ const ParkingOverview = connect(function mapStateToProps(state) { const SelectDay = (str, val) => { if (str == 1) { setDaySel(val); - if (CarRoad[CarShow].type == 1) { + if (CarRoad[CarShow]?.type == 1) { GetComplaintType(RoadSelect, val); } } else if (str == 2) { setDaySet(val); - if (CarRoad[CarShow].type == 2) { + if (CarRoad[CarShow]?.type == 2) { GetincomeType(RoadSelect, val); } else { GetParkingEvaluate(RoadSelect, val); @@ -1374,8 +1374,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { const GetOverviewData = (val) => { ajax.ParkingOverview.GetOverviewData({ type: val, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1394,8 +1394,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { //车场总数 单独提供给区大屏 const GetParkinfo = () => { ajax.ParkingOverview.GetParkinfo({ - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1415,8 +1415,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { const GetUseInfo = (val) => { ajax.ParkingOverview.GetUseInfo({ type: val, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1464,8 +1464,17 @@ const ParkingOverview = connect(function mapStateToProps(state) { ajax.ParkingOverview.GetAreaShop().then( (res) => { if (parseInt(res?.status) === 20000) { - setCarRoad(res?.data || []); + setCarRoad( + res?.data || [ + { + label: "西海岸新区", + value: "0", + type: 1, + }, + ] + ); } else { + message.error(res?.message); } setLoading(true); @@ -1498,8 +1507,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { const getMapData = (val) => { ajax.ParkingOverview.getMapData({ type: val, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1555,8 +1564,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { const GetDataStatic = (val) => { ajax.ParkingOverview.GetDataStatic({ type: val, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1576,8 +1585,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { //获取收费top5 const GetrateRank = () => { ajax.ParkingOverview.GetrateRank({ - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1599,8 +1608,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { ajax.ParkingOverview.GetincomeType({ type: val, dateType: item, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1622,8 +1631,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { ajax.ParkingOverview.GetRevenueAnalysis({ type: val, dateType: item, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1645,8 +1654,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { ajax.ParkingOverview.GetParkingEvaluate({ type: val, dateType: item, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1668,8 +1677,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { ajax.ParkingOverview.GetComplaintType({ type: val, dateType: item, - areaType: CarRoad[CarShow].type, - value: CarRoad[CarShow].value, + areaType: CarRoad[CarShow]?.type, + value: CarRoad[CarShow]?.value, }).then( (res) => { if (parseInt(res?.status) === 20000) { @@ -1778,7 +1787,7 @@ const ParkingOverview = connect(function mapStateToProps(state) { // GetDataStatic(RoadSelect); GetUseInfo(RoadSelect); GetRevenueAnalysis(RoadSelect, "1"); - if (CarRoad[CarShow].type == 2) { + if (CarRoad[CarShow]?.type == 2) { GetrateRank(); GetincomeType(RoadSelect, "1"); GetOverviewData(RoadSelect); @@ -1812,7 +1821,7 @@ const ParkingOverview = connect(function mapStateToProps(state) {
停车业务概览
- {CarRoad[CarShow].type == 2 + {CarRoad[CarShow]?.type == 2 ? LeftShow.map((ele) => { return (
: ""}
- {CarRoad[CarShow].type == 2 ? ( + {CarRoad[CarShow]?.type == 2 ? (
收费员排行Top5
@@ -2113,8 +2122,8 @@ const ParkingOverview = connect(function mapStateToProps(state) { )}
- {CarRoad[CarShow].type == 2 ? "营业收入分析" : "车场服务评价"} - {CarRoad[CarShow].type == 1 && ( + {CarRoad[CarShow]?.type == 2 ? "营业收入分析" : "车场服务评价"} + {CarRoad[CarShow]?.type == 1 && ( 统计范围内用户对车场进行评价的不同分值占比} @@ -2138,7 +2147,7 @@ const ParkingOverview = connect(function mapStateToProps(state) { ); })}
- {CarRoad[CarShow].type == 1 ? ( + {CarRoad[CarShow]?.type == 1 ? (
) : ( diff --git a/src/pages/InRoadMgm/BusinessMgm/FreeRule/index.scss b/src/pages/InRoadMgm/BusinessMgm/FreeRule/index.scss index d000ed3..0587c45 100644 --- a/src/pages/InRoadMgm/BusinessMgm/FreeRule/index.scss +++ b/src/pages/InRoadMgm/BusinessMgm/FreeRule/index.scss @@ -1,136 +1,146 @@ @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); +$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); - - -.paid-FreeRule{ - display: flex; - padding: 15px; - width: 100%; - .paid-search{ - .search{ - font-size: 16px; - font-family: Microsoft YaHei, Microsoft YaHei-Bold; - font-weight: 700; - text-align: left; - color: #eeeff1; - } - label{ - margin:0 10px; - } - .yisa-search{ - margin-top: 10px; - display: flex; - label{ - line-height: 31px; +.paid-FreeRule { + .tabchange{ + width: 400px; + } + .searchResult { + display: flex; + padding: 15px; + width: 100%; + .paid-search { + .search { + font-size: 16px; + font-family: + Microsoft YaHei, + Microsoft YaHei-Bold; + font-weight: 700; + text-align: left; + color: #eeeff1; } - } - .ant-select:not(.ant-select-customize-input) .ant-select-selector{ - background-color: #50586c !important; - } - .ant-select-arrow .anticon{ - background-color: #50586c !important; - } - .ant-input:placeholder-shown{ - background-color: #50586c !important; - } - .timePicker{ - width: 350px; - margin-top: 22px; - .btnBox{ - display:flex ; + label { + margin: 0 10px; + } + .yisa-search { + margin-top: 10px; + display: flex; + label { + line-height: 31px; + } + } + .ant-select:not(.ant-select-customize-input) .ant-select-selector { + background-color: #50586c !important; + } + .ant-select-arrow .anticon { + background-color: #50586c !important; + } + .ant-input:placeholder-shown { + background-color: #50586c !important; + } + .timePicker { + width: 350px; + margin-top: 22px; + .btnBox { + display: flex; margin-top: 20px; - .yisa-btn{ + .yisa-btn { margin-left: 20px; height: 36px; border: none; width: 150px; } - .root_gfkk{ + .root_gfkk { margin-left: 20px; - .export-content{ - width: 130px; - height: 33px; - display: flex; - align-items: center; - justify-content: center; - background: #3b97ff; - border-radius: 3px; - cursor: pointer; - color: #fff; - margin-right: 10px; - } + .export-content { + width: 130px; + height: 33px; + display: flex; + align-items: center; + justify-content: center; + background: #3b97ff; + border-radius: 3px; + cursor: pointer; + color: #fff; + margin-right: 10px; + } } - } + } } } - - .paid-result{ + .paid-result { width: 100%; height: 800px; background: #505a6f; border-radius: 20px; margin-left: 17px; - .result{ + .result { padding: 25px; - .font{ - font-family: Microsoft YaHei, Microsoft YaHei-Regular; + .font { + font-family: + Microsoft YaHei, + Microsoft YaHei-Regular; font-weight: 400; text-align: left; color: #eeeff1; margin-bottom: 10px; display: inline-block; - - em{ + + em { color: #3aa8fe; margin: 0 5px; } } - .yisa-table .ant-table-thead .ant-table-cell{ + .yisa-table .ant-table-thead .ant-table-cell { background-color: #616b83 !important; - color: #ffffff !important; - font-size: 14px; - font-family: Microsoft YaHei, Microsoft YaHei-Bold; - font-weight: 700; + color: #ffffff !important; + font-size: 14px; + font-family: + Microsoft YaHei, + Microsoft YaHei-Bold; + font-weight: 700; text-align: center; border-right: none !important; border-top-color: #888f9d !important; border-color: #888f9d !important; } - .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table, .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table{ + .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table, + .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table { border-top: none !important; border-left: none !important; } - .ant-table-tbody .ant-table-row .ant-table-cell{ + .ant-table-tbody .ant-table-row .ant-table-cell { background-color: #3e4557 !important; color: #ffffff !important; text-align: center; font-size: 14px; - font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-family: + Microsoft YaHei, + Microsoft YaHei-Regular; font-weight: 400; border-right: none !important; border-left: none !important; border-bottom-color: #626b7e !important; } } - } - } -.revenue{ - .tab-title{ +.revenue { + .tab-title { text-align: center; font-size: 18px; font-weight: 400; - font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-family: + Microsoft YaHei, + Microsoft YaHei-Regular; } width: 700px !important; - .tab-index{ - .tab-top{ + .tab-index { + .tab-top { display: flex; margin-top: 10px; height: 30px; @@ -138,25 +148,27 @@ $color-primary : var(--color-primary); white-space: nowrap; overflow: hidden; border-bottom: 1px solid #e4e7ed; - .tab-li{ + .tab-li { margin-left: 20px; cursor: pointer; } - .active{ - color:#409eff ; + .active { + color: #409eff; cursor: pointer; margin-left: 20px; border-bottom: 1px solid #409eff !important; margin-bottom: -1px !important; } } - .tab-bottom{ - .yisa-tab{ - .ant-table-cell{ + .tab-bottom { + .yisa-tab { + .ant-table-cell { background-color: #616b83 !important; color: #ffffff !important; font-size: 14px; - font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-family: + Microsoft YaHei, + Microsoft YaHei-Bold; font-weight: 700; text-align: center; border-right: none !important; @@ -167,33 +179,33 @@ $color-primary : var(--color-primary); } } } -.freeModal{ +.freeModal { width: 810px !important; - .yisa-search{ + .yisa-search { margin-top: 10px; display: flex; - label{ + label { line-height: 31px; } - .pdaPic{ + .pdaPic { margin-left: 34px; - label{ + label { color: #5a99ff; cursor: pointer; } } - .add{ + .add { width: 80px; - color: black; - margin-left: 30px; + color: black; + margin-left: 30px; } - .redLogo{ + .redLogo { line-height: 37px; } } - .yisa-delete{ + .yisa-delete { margin-left: 27%; - .addDelete{ + .addDelete { margin-top: 15px; display: flex; width: 300px; @@ -203,105 +215,105 @@ $color-primary : var(--color-primary); justify-content: space-between; line-height: 30px; border: 1px solid gray; - .delete{ + .delete { color: #5a99ff; cursor: pointer; } } } - .submitBtn{ + .submitBtn { text-align: center; margin-top: 20px; - .submit{ + .submit { width: 80px; - height: 35px; - background: #409eff; - border: none; - border-radius: 4px; - cursor: pointer; - color: #fff; + height: 35px; + background: #409eff; + border: none; + border-radius: 4px; + cursor: pointer; + color: #fff; } - .cancel{ - width: 80px; - height: 35px; - background: #fff; - border: none; - border-radius: 4px; - cursor: pointer; - margin-left: 20px; + .cancel { + width: 80px; + height: 35px; + background: #fff; + border: none; + border-radius: 4px; + cursor: pointer; + margin-left: 20px; } } } -.freeModalData{ - .name{ +.freeModalData { + .name { margin: 10px; } - .type{ + .type { margin: 10px; } - .submitBtn{ + .submitBtn { text-align: center; margin-top: 20px; - .submit{ + .submit { width: 80px; - height: 35px; - background: #409eff; - border: none; - border-radius: 4px; - cursor: pointer; - color: #fff; + height: 35px; + background: #409eff; + border: none; + border-radius: 4px; + cursor: pointer; + color: #fff; } - .cancel{ - width: 80px; - height: 35px; - background: #fff; - border: none; - border-radius: 4px; - cursor: pointer; - margin-left: 20px; + .cancel { + width: 80px; + height: 35px; + background: #fff; + border: none; + border-radius: 4px; + cursor: pointer; + margin-left: 20px; } } } -.apyPicModal{ +.apyPicModal { width: 390px !important; } -.blackRecordBtn{ +.blackRecordBtn { background: #409eff; - border: none; - border-radius: 4px; - cursor: pointer; + border: none; + border-radius: 4px; + cursor: pointer; } -.black{ - div{ +.black { + div { cursor: pointer; margin-top: 5px; } } -.deleteModal{ - .font{ +.deleteModal { + .font { font-size: 18px; text-align: center; } - .submitBtn{ + .submitBtn { text-align: center; margin-top: 20px; - .submit{ + .submit { width: 80px; - height: 35px; - background: #409eff; - border: none; - border-radius: 4px; - cursor: pointer; - color: #fff; + height: 35px; + background: #409eff; + border: none; + border-radius: 4px; + cursor: pointer; + color: #fff; } - .cancel{ - width: 80px; - height: 35px; - background: #fff; - border: none; - border-radius: 4px; - cursor: pointer; - margin-left: 20px; + .cancel { + width: 80px; + height: 35px; + background: #fff; + border: none; + border-radius: 4px; + cursor: pointer; + margin-left: 20px; } } -} \ No newline at end of file +} diff --git a/src/pages/InRoadMgm/BusinessMgm/FreeRule/loadable.jsx b/src/pages/InRoadMgm/BusinessMgm/FreeRule/loadable.jsx index 98c91e8..b529d5c 100644 --- a/src/pages/InRoadMgm/BusinessMgm/FreeRule/loadable.jsx +++ b/src/pages/InRoadMgm/BusinessMgm/FreeRule/loadable.jsx @@ -1,6 +1,6 @@ import React, { useState, useRef, useEffect } from "react"; -import { ResultFlowResult } from "@/components" -import { Select, Input, Button, Table, message, Pagination, Popover, Modal, Checkbox, Radio } from 'antd' +import { ResultFlowResult ,FormSliderPicker } from "@/components" +import { Select, Input, Button, Tabs, Table, message, Pagination, Popover, Modal, DatePicker, Radio } from 'antd' import { pageSizeOptions } from '@/config/character.config.js' @@ -8,6 +8,9 @@ import "./index.scss"; import { SearchOutlined } from '@ant-design/icons'; import ajax from '@/services' import { useSessionStorageState } from "ahooks" +import moment from "moment"; +const { RangePicker } = DatePicker; +const { TabPane } = Tabs; const { TextArea } = Input; function FreeRule(props) { const [ajaxLoading, setAjaxLoading] = useState(false) @@ -20,11 +23,19 @@ function FreeRule(props) { const parameter = { operate_name: '0',//所属商户 pn: 1, + road: '',//路段 + berth: '',//泊位 + plate: '',//车牌号 + start_time: moment().format('YYYY-MM-DD 00:00:00'), + end_time: moment().format("YYYY-MM-DD 23:59:59"), + tab: '1', page_size: Number(pageSizeOptions[0]), // 每页条数 } const [formData, setFormData] = useState(parameter) const [lastFormData, setLastFormData] = useState(formData) + const [parkFormData, setParkFormData] = useState(formData) const lastFormDataRef = useRef(formData) + const parkFormDataRef = useRef(formData) const [addVisible, setAddVisible] = useState(false) const [picVisible, setPicVisible] = useState(false) const [checkVisible, setCheckVisible] = useState(false) @@ -34,6 +45,26 @@ function FreeRule(props) { const handleOperator = (v) => { setFormData({ ...formData, operate_name: v }) } + //车牌号 + const handlePlate = (v) => { + setFormData({ ...formData, plate: v.target.value }) + } + //路段 + const handleRoad = (v) => { + setFormData({ ...formData, road: v.target.value }) + } + //泊位 + const handleBreth = (v) => { + setFormData({ ...formData, berth: v.target.value }) + } + //进场时间 + const onHandleDateChange = (v) => { + setFormData({ + ...formData, + start_time: v.startDateTime, + end_time: v.endDateTime + }) + } //列表 const handleColumns = (tab) => { let result = [...deployListColumns]; @@ -78,6 +109,77 @@ function FreeRule(props) { }, },] + // 切换Tab + const changeTab = (key) => { + let obj = Object.assign({}, parameter, { + tab: key, + }) + setFormData(JSON.parse(JSON.stringify(obj))) + + lastFormDataRef.current = obj + if (key === '1') { + getData(obj) + } + if (key === '2') { + getParkDataList(obj) + } + + } + const handleApplyColumns = (tab) => { + let result = [...applyColumns]; + return result; + } + const applyColumns = [ + { + title: "序号", + render: (text, record, index) => index + 1, + }, + { + title: "车牌号", + dataIndex: 'plate', + key: 'plate', + }, { + title: "车牌颜色", + dataIndex: 'plate_color', + key: 'plate_color', + }, { + title: "车辆类型", + dataIndex: 'car_type', + key: 'car_type', + }, { + title: "路段", + dataIndex: 'road', + key: 'road', + }, { + title: "泊位", + dataIndex: 'berth', + key: 'berth', + }, { + title: "进场时间", + dataIndex: 'come_time', + key: 'come_time', + }, { + title: "离场时间", + dataIndex: 'leave_time', + key: 'leave_time', + }, + { + title: "停车时长", + dataIndex: 'park_time', + key: 'park_time', + }, + { + title: "进场收费员", + dataIndex: 'come_person', + key: 'come_person', + }, + { + title: "离场收费员", + dataIndex: 'leave_person', + key: 'leave_person', + } + ] + console.log(formData); const [getCheckList, setGetCheckList] = useState({}) const checkBtn = (record) => { let data = { @@ -94,8 +196,8 @@ function FreeRule(props) { setCheckVisible(false) } const [getEditList, setGetEditList] = useState({ - operate_name:'', - free_name:'' + operate_name: '', + free_name: '' }) const [getEditId, setGetEditId] = useState({}) const deleteApplyBtn = (record) => { @@ -159,6 +261,33 @@ function FreeRule(props) { console.log(err) }) } + const getParkDataList = (data = formData) => { + setAjaxLoading(true) + ajax.getAddFreePartList(data).then(res => { + setAjaxLoading(false) + if (res.status === 20000) { + let resDataArr = res.data.list.map((item) => { + item.key = item.id + return item + }) + setResultData({ + ...resultData, + data: resDataArr, + total_records: res.data.total_records + }) + } else { + setResultData({ + data: [], + total_records: 0, + export_url: '', + process_url: "" + }) + message.error(res.message) + } + }, err => { + console.log(err) + }) + } //切换分页 const changePn = (pn, length) => { if (lastFormData.page_size === length) { @@ -168,6 +297,14 @@ function FreeRule(props) { getData(Object.assign({}, formData, { pn: pn, page_size: length })) } } + const changeParkPn = (pn, length) => { + if (parkFormData.page_size === length) { + setFormData(Object.assign({}, formData, { pn: pn, page_size: length })) + setParkFormData(Object.assign({}, parkFormData, { pn: pn, page_size: length })) + parkFormDataRef.current = Object.assign({}, parkFormData, { pn: pn, page_size: length }) + getParkDataList(Object.assign({}, formData, { pn: pn, page_size: length })) + } + } //切换每页条数 const changeLength = (pn, length) => { setFormData(Object.assign({}, formData, { pn: 1, page_size: length })) @@ -175,10 +312,27 @@ function FreeRule(props) { lastFormDataRef.current = Object.assign({}, lastFormData, { pn: 1, page_size: length }) getData(Object.assign({}, formData, { pn: 1, page_size: length })) } + const changeParkLength = (pn, length) => { + setFormData(Object.assign({}, formData, { pn: 1, page_size: length })) + setParkFormData(Object.assign({}, parkFormData, { pn: 1, page_size: length })) + parkFormDataRef.current = Object.assign({}, parkFormData, { pn: 1, page_size: length }) + getParkDataList(Object.assign({}, formData, { pn: 1, page_size: length })) + } //检索数据 const getSearchData = (data = formData) => { getData(data) } + const getParkData = (data = formData) => { + getParkDataList(data) + } + //重置数据 + const resetData = () => { + setFormData({ + ...parameter, + tab: '2' + }) + getParkDataList({ ...parameter }) + } const [getPicList, setGetPicList] = useState({}) //配置预付费 const configuration = () => { @@ -227,14 +381,9 @@ function FreeRule(props) { } const handleDelete = (index) => { getFreeList.splice(index) - console.log(index); let arr = getFreeList setGetFreeList([...arr]) } - useEffect(() => { - console.log(getFreeList); - - }, [getFreeList]) const addSubmit = () => { let data = { operate_name: getCheckData.operate_name, @@ -276,7 +425,15 @@ function FreeRule(props) { useEffect(() => { if (sessionTabList && Object.values(sessionTabList).length > 0) { setFormData({ - operate_name: sessionTabList?.operate_name + operate_name: sessionTabList?.operate_name, + pn: sessionTabList?.pn, + road: sessionTabList?.road, + berth: sessionTabList?.berth, + plate: sessionTabList?.plate, + start_time: sessionTabList?.start_time, + end_time: sessionTabList?.end_time, + tab: sessionTabList?.tab, + page_size: sessionTabList?.page_size, }) } }, []) @@ -294,26 +451,26 @@ function FreeRule(props) { message.error('请选择所属商户') } else if (getEditList.free_name === '') { message.error('请输入免费类型') - } else{ + } else { ajax.getAddEditFree(data).then(res => { if (res.status === 20000) { setEditVisible(false) getData(formData) setGetFreeList([]) - }else{ + } else { message.error(res.message) } }) } - + } - const editcancel=()=>{ + const editcancel = () => { setEditVisible(false) setGetFreeList([]) } const cancel = () => { setCheckVisible(false) - + setDeleteVisible(false) } const picCheckModal = () => { @@ -335,59 +492,178 @@ function FreeRule(props) { }, []) return <>
-
- -
- - +
: '' + } + { + formData.tab === '2' ? +
+ + +
: '' + } + { + formData.tab === '2' ? +
+ + +
: '' + } + { + formData.tab === '2' ? +
+ + +
: '' + } + { + formData.tab === '2' ? +
+ {/* */} + +
: '' + } +
+ { + formData.tab === '1' ? +
+ + +
: '' + } + { + formData.tab === '2' ? +
+ + +
: '' + }
-
-
-
- 共检索到{resultData.total_records}条结果 - - +
+ + + {formData.tab === '1' ? + <> + 共检索到{resultData.total_records}条结果 +
record.cap_id + "_" + record.bk_id} + pagination={false} + loading={ajaxLoading} + /> + `共 ${resultData.total_records} 条`} + total={resultData.total_records} + current={lastFormData.pn} + pageSize={lastFormData.page_size} + pageSizeOptions={pageSizeOptions} + onChange={changePn} + onShowSizeChange={changeLength} + /> + : '' + + } + {formData.tab === '2' ? + <> + 共检索到{resultData.total_records}条结果 +
record.cap_id + "_" + record.bk_id} + pagination={false} + loading={ajaxLoading} + /> + `共 ${resultData.total_records} 条`} + total={resultData.total_records} + current={parkFormData.pn} + pageSize={parkFormData.page_size} + pageSizeOptions={pageSizeOptions} + onChange={changeParkPn} + onShowSizeChange={changeParkLength} + /> + : '' + } - // rowKey={record => record.cap_id + "_" + record.bk_id} - pagination={false} - loading={ajaxLoading} - /> - `共 ${resultData.total_records} 条`} - total={resultData.total_records} - current={lastFormData.pn} - pageSize={lastFormData.page_size} - pageSizeOptions={pageSizeOptions} - onChange={changePn} - onShowSizeChange={changeLength} - /> - + + + +
-
*
+
*
{ - window.open(res.export_url) + window.open(res.url) }) } //列表 diff --git a/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx b/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx index cae7845..e6e2246 100644 --- a/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx +++ b/src/pages/OperationCenter/CarMgm/CarInfo/loadable.jsx @@ -58,6 +58,13 @@ function CarInfo() { align: "center", }, { + title: "PDA录入号码", + dataIndex: "pda_mobile", + key: "pda_mobile", + fixed: "right", + align: "center", + }, + { title: "行驶本认证", dataIndex: "authStateName", key: "authStateName", diff --git a/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx b/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx index a8c2545..ebac4cf 100644 --- a/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx +++ b/src/pages/OperationCenter/OtherBusiness/ParkingCard/ParkingCardOrder/loadable.jsx @@ -903,10 +903,6 @@ function ParkingCardOrder() { { value: '4', label: '黑' - }, - { - value: '5', - label: '黑' } ]} onChange={(e) => {setAddOrderData({plate_type:e})}} diff --git a/src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx index 6a26acd..b625cf6 100644 --- a/src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx +++ b/src/pages/SystemMgm/BusinessConfig/HotCbdConf/loadable.jsx @@ -33,7 +33,7 @@ function HotCbdConf() { defaultValue:{} }) const [formData, setFormData] = useSetState({ - area: defaultParams.formParams?.area ? defaultParams.formParams.area : '0', + area: defaultParams.formParams?.area ? defaultParams.formParams.area : '', name: defaultParams.formParams?.name ? defaultParams.formParams.name : '', }) @@ -159,7 +159,7 @@ function HotCbdConf() { setDetailVisible(false) setModalFormData({ name: '', - area: '0', + area: '', center_name: '' }) message.success('编辑商圈成功') @@ -174,7 +174,7 @@ function HotCbdConf() { setDetailVisible(false) setModalFormData({ name: '', - area: '0', + area: '', center_name: '' }) search(Object.assign({},formData, pageData)) @@ -191,7 +191,7 @@ function HotCbdConf() { setCurrentRecord(record) setModalFormData({ name: record.name, - area: parseInt(record.area_id) ? record.area_id : '0' , + area: parseInt(record.area_id) ? record.area_id : '' , center_name: record.center_name }) setDetailVisible(true) @@ -227,10 +227,10 @@ function HotCbdConf() { const reset = ()=>{ setFormData({ name: '', - area: '0' + area: '' }) setPageData({...pageData, pn: 1}) - search({name: '', area: '0', pn: 1, size: pageData.size}) + search({name: '', area: '', pn: 1, size: pageData.size}) } const addConfig = ()=>{ diff --git a/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx index a9b8ee9..05ee5bb 100644 --- a/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx +++ b/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx @@ -85,6 +85,8 @@ function VacationConf() { message.success('新增成功') setModalVisible(false) getVacationData() + }else{ + message.error(res.message) } }).catch(err=>{ @@ -102,6 +104,8 @@ function VacationConf() { message.success('修改成功') setModalVisible(false) getVacationData() + }else{ + message.error(res.message) } }).catch(err=>{ @@ -118,7 +122,7 @@ function VacationConf() { } const onChange = (value, mode) => { - let temp = value.format('MM-DD') + let temp = value.format('YYYY-MM-DD') if(vacationData.length){ let one = vacationData.find(item=> item.day == temp) if(one){ @@ -130,7 +134,7 @@ function VacationConf() { }; const onPanelChange = (e,a)=>{ - console.log(e,a , 'aaaa',e.years(), e.months()) + // console.log(e,a , 'aaaa',e.years(), e.months()) let tempdate = { year: e.years() + '', month: e.months() + 1 + '' @@ -140,7 +144,7 @@ function VacationConf() { } const dateFullCellRender = (date)=>{ - let temp = date.format('MM-DD'),highlight = false,temp_vc_name = ''; + let temp = date.format('YYYY-MM-DD'),highlight = false,temp_vc_name = ''; if(vacationData.length){ let one = vacationData.find(item=> item.day == temp) if(one){ diff --git a/src/pages/SystemMgm/RoleMgm/loadable.jsx b/src/pages/SystemMgm/RoleMgm/loadable.jsx index 76e9d6a..70d0fe2 100644 --- a/src/pages/SystemMgm/RoleMgm/loadable.jsx +++ b/src/pages/SystemMgm/RoleMgm/loadable.jsx @@ -68,7 +68,7 @@ function RoleMgm(props) { let arr = e let lastElement = arr[arr.length - 1]; setGetGovernment(lastElement) - setAddManage({ ...addManage, depart_id: lastElement }) + setAddManage({ ...addManage, depart_id: e }) }; const [getGovernmentArea, setGetGovernmentArea] = useState([]) @@ -176,8 +176,11 @@ function RoleMgm(props) { }, [checkedKeys]) //添加提交 const placeSaveBtn = () => { + let arr = addManage.depart_id + let lastElement = arr[arr.length - 1]; let data = { - ...addManage + ...addManage, + depart_id:lastElement } let reg = /^ [\s]*$/; @@ -361,7 +364,14 @@ function RoleMgm(props) { const delcancelImg = () => { setEditVisible(false) setCheckedKeys([]) + setGetAuthId({}) setGetGovernment(0) + setAddManage({ + remark: '', + name: '', + depart_id: '', + auth: '' + }) } // 获取列表数据 const getData = (data = formData) => { @@ -415,6 +425,13 @@ function RoleMgm(props) { const editModal = () => { setEditVisible(false) setCheckedKeys([]) + setGetAuthId({}) + setAddManage({ + remark: '', + name: '', + depart_id: '', + auth: '' + }) setGetGovernment(0) } //编辑提交 @@ -435,12 +452,19 @@ function RoleMgm(props) { setEditVisible(false) getData(formData) setGetGovernment(0) + setGetAuthId({}) setGetImg({ remark: '', name: '', depart_id: '', auth: '' }) + setAddManage({ + remark: '', + name: '', + depart_id: '', + auth: '' + }) } else { message.error(res.message) setGetGovernment(0) @@ -459,12 +483,12 @@ function RoleMgm(props) { } // const [getKey,setGetKey]=useState([]) useEffect(() => { - // let arrStr = addManage.depart_id - // let lastElement = addManage[arrStr.length - 1]; + let arrStr = addManage.depart_id + let lastElement = addManage[arrStr.length - 1]; // console.log(addManage); if (getGovernment != 0) { let data = { - id: addManage.depart_id, + id: getGovernment, auth:getAuthId } ajax.getDepartId(data).then(res => { @@ -587,7 +611,7 @@ function RoleMgm(props) { { - setGetGovernment(v) setGetImg( Object.assign({}, getImg, { depart_id: v }) ); let arrStr = v let lastElement = arrStr[arrStr.length - 1]; - setAddManage({ ...addManage, depart_id: lastElement}) + setGetGovernment(lastElement) }} fieldNames={{ label: 'name', diff --git a/src/services/search.js b/src/services/search.js index d047067..5a306c3 100644 --- a/src/services/search.js +++ b/src/services/search.js @@ -1017,6 +1017,14 @@ const getAddFreeList = (params) => { data: params, }); }; +//业务管理-免费规则-公车停车记录 +const getAddFreePartList = (params) => { + return ajax({ + url: "/api/bpm/freeparkingrule/free_parking_record", + type: "post", + data: params, + }); +}; //业务管理-异常停车数据 const getPartList = (params) => { return ajax({ @@ -1130,7 +1138,7 @@ const getBerthWarningListExport = (params) => { //设备运维-预警上报列表 const getReportList = (params) => { return ajax({ - url: "/api/bpm/berthoperation/get_report_list", + url: "/api/bpm/user/get_report_list", type: "post", data: params, }); @@ -1242,6 +1250,7 @@ export default { getAddCheckFree, getAddDetailFree, getAddFreeList, + getAddFreePartList, getPartList, getPartSearchList, getAbnormalList,