-
*消息标题:
+
*商圈名称:
{ console.log(e.target.value) }} />
@@ -175,14 +224,16 @@ function HotCbdConf() {
-
*消息内容:
-
+
*商圈中心点位名称:
+
+ { console.log(e.target.value) }} />
+
diff --git a/src/pages/SystemMgm/BusinessConfig/PageConf/index.scss b/src/pages/SystemMgm/BusinessConfig/PageConf/index.scss
index 1838f71..72fc5eb 100644
--- a/src/pages/SystemMgm/BusinessConfig/PageConf/index.scss
+++ b/src/pages/SystemMgm/BusinessConfig/PageConf/index.scss
@@ -3,3 +3,17 @@ $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);
+.page-conf{
+ // padding: 20px;
+ height: 100%;
+ display: flex;
+ .left-search{
+ .bottomBox{
+ height: 60px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ }
+
+}
diff --git a/src/pages/SystemMgm/BusinessConfig/PageConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/PageConf/loadable.jsx
index 2b7656d..8c11bfc 100644
--- a/src/pages/SystemMgm/BusinessConfig/PageConf/loadable.jsx
+++ b/src/pages/SystemMgm/BusinessConfig/PageConf/loadable.jsx
@@ -1,15 +1,115 @@
import React, { useState, useRef, useEffect } from "react";
-// import { message, Pagination, Table, Space, Modal, } from "antd";
-// import { dictionary, utils } from "@/config/common";
+import { message, Pagination, Table, Modal,Button , Switch } from "antd";
+import { dictionary, utils } from "@/config/common";
// import moment from 'moment'
-// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
-// import ajax from "@/services"
-// import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
-// import "./index.scss";
+import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services"
+import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
+import "./index.scss";
// import errorImg from "@/assets/images/layout/error.png"
// import { useLocation } from "react-router-dom";
function PageConf() {
- return
PageConf
+ const [list , setList] = useState([])
+ const [type, setType] = useState('-1')
+ const [scrollHeight, setScrollHeight] = useState(0)
+ const rightListRef = useRef(null)
+ const columns = [
+ {
+ title: "序号",
+ dataIndex: "id",
+ key: "id",
+ align: "center",
+ },
+ {
+ title: "数据项名称",
+ dataIndex: "name",
+ key: "name",
+ align: "center",
+ },
+ {
+ title: "所属系统",
+ dataIndex: "system",
+ key: "system",
+ align: "center",
+ },
+ {
+ title: "展示状态",
+ dataIndex: "show_status",
+ key: "show_status",
+ align: "center",
+ },
+ {
+ title: "操作",
+ align: "center",
+ render: (_,record)=>{
+ return
{onChange(e, record)}} />
+ }
+ }
+ ]
+
+ const onChange = (checked, record)=>{
+ // console.log(checked, record)
+ ajax.switchShowStatus({id: record.id, status: checked ? '1' : '0'}).then((res)=>{
+ if(res.status == 20000){
+ message.success('设置成功')
+ getOverviewConfigList()
+ }
+ }).catch(err=>{
+
+ })
+ }
+ const getOverviewConfigList = (value)=>{
+ ajax.getOverviewConfigList({type: value ? value: type}).then((res)=>{
+ if(res.status == 20000){
+ setList(res.data)
+ }
+ }).catch(err=>{
+
+ })
+ }
+
+ const search = ()=>{
+ getOverviewConfigList()
+ }
+
+ const reset = ()=>{
+ setType('-1')
+ getOverviewConfigList('-1')
+ }
+
+ useEffect(()=>{
+ getOverviewConfigList()
+ }, [])
+ return
+
+
{setType(e)} }
+ />
+
+
+
+
+
+
+
{rightListRef.current = e; if(e){setScrollHeight(e.offsetHeight - 100)}}}>
+
+
+
+
}
export default PageConf;
\ No newline at end of file
diff --git a/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.jsx b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.jsx
new file mode 100644
index 0000000..da1371e
--- /dev/null
+++ b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.jsx
@@ -0,0 +1,6 @@
+import React from "react"
+import loadable from "@loadable/component"
+import { LoadingImg } from "@/components"
+
+const PdaArrearConfLoadable = loadable(() => import("./loadable"))
+export default (pros) => } />
\ No newline at end of file
diff --git a/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.scss b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.scss
new file mode 100644
index 0000000..0dee8f8
--- /dev/null
+++ b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/index.scss
@@ -0,0 +1,18 @@
+@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);
+
+.pda-arrear-conf{
+ padding-left: 30px;
+ padding-top: 30px;
+ .title{
+ height: 45px;
+ line-height: 45px;
+ }
+ .row{
+ height: 50px;
+ line-height: 50px;
+ }
+}
diff --git a/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/loadable.jsx
new file mode 100644
index 0000000..133653c
--- /dev/null
+++ b/src/pages/SystemMgm/BusinessConfig/PdaArrearConf/loadable.jsx
@@ -0,0 +1,56 @@
+import React, { useState, useRef, useEffect } from "react";
+import { message, Pagination, Table, Space, Modal, Button, InputNumber
+ } from "antd";
+// import { dictionary, utils } from "@/config/common";
+// import moment from 'moment'
+import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services"
+import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
+import "./index.scss";
+// import errorImg from "@/assets/images/layout/error.png"
+// import { useLocation } from "react-router-dom";
+function PdaArrearConf() {
+ const [limit, setLimit] = useState(0)
+ const [edit, setEdit] = useState(false)
+ const getData = ()=>{
+ ajax.getPdaArrearConfig().then((res)=>{
+ if(res.status == 20000){
+ setLimit(res.data)
+ }
+ }).catch(err=>{
+
+ })
+ }
+
+ const save = ()=>{
+ ajax.editPdaArrearConfig({data: limit}).then((res)=>{
+ if(res.status == 20000){
+ setLimit(res.data)
+ setEdit(false)
+ }
+ }).catch(err=>{
+
+ })
+ }
+
+ useEffect(()=>{
+ getData()
+ }, [])
+
+ return
+
大额欠费预警设置
+ {
+ !edit ?
+
大额欠费金额: {limit}元
+ :
+
大额欠费金额: {setLimit(e)}} min={1} max={9999} controls={false}>元
+ }
+
+ {
+ !edit ?
:
+
+ }
+
+}
+
+export default PdaArrearConf;
\ No newline at end of file
diff --git a/src/pages/SystemMgm/BusinessConfig/VacationConf/index.scss b/src/pages/SystemMgm/BusinessConfig/VacationConf/index.scss
index 1838f71..6e98f3d 100644
--- a/src/pages/SystemMgm/BusinessConfig/VacationConf/index.scss
+++ b/src/pages/SystemMgm/BusinessConfig/VacationConf/index.scss
@@ -3,3 +3,70 @@ $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);
+
+.vacation-conf{
+ display: flex;
+ padding: 20px;
+ box-sizing: border-box;
+ .left{
+ width: 80%;
+ margin-right: 20px;
+ background-color: #4e586a;
+ padding: 10px;
+ .title{
+ display: flex;
+ justify-content: space-between;
+ height: 50px;
+ align-items: center;
+ }
+ .ant-picker-calendar-mode-switch{
+ display: none;
+ }
+ }
+
+ th{
+ text-align: center;
+ background-color: #464d5f;
+ }
+ .ant-picker-calendar-header{
+ padding-right: 20px;
+ }
+ .calendar-item{
+ height: 80px;
+ text-align: center;
+ margin-left: 5px;
+ margin-bottom: 5px;
+ }
+ tr:nth-child(1) .calendar-item{
+ margin-top: 5px;
+ }
+ td:last-child .calendar-item{
+ margin-right: 5px;
+ }
+ .right{
+ flex:1;
+ background-color: #4f5a6e;
+ padding: 20px;
+ .right-row{
+ height: 50px;
+ }
+ }
+
+ .title-name{
+ font-size: 18px;
+ font-weight: bold;
+ }
+
+}
+.modal-row.vacation{
+ display: flex;
+ margin-top: 20px;
+ .title{
+ display: inline-block;
+ width: 140px;
+ text-align: right;
+ }
+ .red-star{
+ color: red;
+ }
+}
diff --git a/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx
index 1cdf2b0..2dad82b 100644
--- a/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx
+++ b/src/pages/SystemMgm/BusinessConfig/VacationConf/loadable.jsx
@@ -1,15 +1,123 @@
import React, { useState, useRef, useEffect } from "react";
-// import { message, Pagination, Table, Space, Modal, } from "antd";
-// import { dictionary, utils } from "@/config/common";
-// import moment from 'moment'
-// import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
-// import ajax from "@/services"
-// import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
-// import "./index.scss";
+import { message, Modal,Calendar, Button , Input ,DatePicker } from "antd";
+import { dictionary, utils } from "@/config/common";
+import moment from 'moment'
+import { useSessionStorageState, useUpdateEffect, useSize, useUpdate } from 'ahooks';
+import ajax from "@/services"
+import { FormInput, FormSelect, OptionPanel, ResultPanel, FormSliderPicker, AreaCascader, ImgResize, ImgZoom, } from "@/components"
+import "./index.scss";
// import errorImg from "@/assets/images/layout/error.png"
// import { useLocation } from "react-router-dom";
function VacationConf() {
- return VacationConf
+ const [vacationData, setVacationData] = useState([])
+ const [rightDetailData, setRightDetailData] = useState({})
+ const [modalVisible, setModalVisible] = useState(false)
+ const [vacationName,setVacationName]= useState('')
+ const [startDate, setStartDate] = useState(moment(utils.createDateStr(), 'YYYY-MM-DD'))
+ const [endDate, setEndDate] = useState(moment(utils.createDateStr(), 'YYYY-MM-DD'))
+ const [mode, setMode] = useState('0') // 0 新增 1 编辑
+ const getVacationData = ()=>{
+ ajax.getVacationData().then((res)=>{
+ if(res.status == 20000){
+ setVacationData(res.data)
+ }
+ }).catch(err=>{
+
+ })
+ }
+
+ const resetVacation = ()=>{
+ setVacationName(rightDetailData.vacation_name)
+ setStartDate(moment(rightDetailData.vacation_start_date, 'YYYY-MM-DD'))
+ setEndDate(moment(rightDetailData.vacation_end_date, 'YYYY-MM-DD'))
+ setModalVisible(true)
+ setMode('1')
+ }
+
+ const save = ()=>{
+ if(mode == '0'){
+ message.success('新增成功')
+ }else{
+ message.success('修改成功')
+ }
+ }
+
+ const addConfig = ()=>{
+ setModalVisible(true);
+ setMode('0');
+ setVacationName('')
+ setStartDate(moment(utils.createDateStr(), 'YYYY-MM-DD'))
+ setEndDate(moment(utils.createDateStr(), 'YYYY-MM-DD'))
+ }
+
+ const onChange = (value, mode) => {
+ let temp = value.format('MM-DD')
+ if(vacationData.length){
+ let one = vacationData.find(item=> item.day == temp)
+ if(one){
+ setRightDetailData(one)
+ }else{
+ setRightDetailData({})
+ }
+ }
+ };
+
+ const dateFullCellRender = (date)=>{
+ let temp = date.format('MM-DD'),highlight = false,temp_vc_name = '';
+ if(vacationData.length){
+ let one = vacationData.find(item=> item.day == temp)
+ if(one){
+ highlight = true
+ temp_vc_name = one.vacation_name
+ }
+ }
+ return
+
+
{date.format('DD')}
+ {
+ temp_vc_name ?
{temp_vc_name}
: null
+ }
+
+ }
+
+ useEffect(()=>{
+ getVacationData()
+ }, [])
+ return
+
+
+
+
节假日详情
+
节假日名称: {rightDetailData.vacation_name || '--'}
+
节假日区间: {rightDetailData.vacation_start_date}~{rightDetailData.vacation_end_date}
+ {
+ rightDetailData.vacation_name ?
+
+
+
+
+ : null
+ }
+
+
+
{setModalVisible(false)}}>
+
+ *节假日名称
+ {setVacationName(e.target.value)}}>
+
+
+ *节假日区间
+ {setStartDate(e)}} format={'YYYY-MM-DD'} />
+
+
+ 至
+ {setEndDate(e)}} format={'YYYY-MM-DD'} />
+
+
+
}
export default VacationConf;
\ No newline at end of file
diff --git a/src/pages/SystemMgm/BusinessConfig/index.jsx b/src/pages/SystemMgm/BusinessConfig/index.jsx
index d0e614b..6a0021b 100644
--- a/src/pages/SystemMgm/BusinessConfig/index.jsx
+++ b/src/pages/SystemMgm/BusinessConfig/index.jsx
@@ -2,10 +2,11 @@ import BusinessConf from "./BusinessConf"
import HotCbdConf from "./HotCbdConf"
import PageConf from "./PageConf"
import VacationConf from "./VacationConf"
-
+import PdaArrearConf from './PdaArrearConf'
export default {
BusinessConf,
HotCbdConf,
PageConf,
- VacationConf
+ VacationConf,
+ PdaArrearConf
}
\ No newline at end of file
diff --git a/src/router/router.config.js b/src/router/router.config.js
index b4100fb..5501964 100644
--- a/src/router/router.config.js
+++ b/src/router/router.config.js
@@ -1035,6 +1035,24 @@ let routes = [
component: pages.HotCbdConf,
},
{
+ path: "/systemMgm/pageConf",
+ text: "停车概览页配置",
+ name: "pageConf",
+ component: pages.PageConf,
+ },
+ {
+ path: "/systemMgm/vacationConf",
+ text: "节假日配置",
+ name: "vacationConf",
+ component: pages.VacationConf,
+ },
+ {
+ path: "/systemMgm/pdaArrearConf",
+ text: "PDA大额欠费预警配置",
+ name: "pdaArrearConf",
+ component: pages.PdaArrearConf,
+ },
+ {
// -------------------------------商户管理系统
path: "/merchantMgm/merchantInfo",
text: "商户信息",
diff --git a/src/services/SystemMgm/BusinessConf/index.js b/src/services/SystemMgm/BusinessConf/index.js
index 7eea51c..ec26cca 100644
--- a/src/services/SystemMgm/BusinessConf/index.js
+++ b/src/services/SystemMgm/BusinessConf/index.js
@@ -64,6 +64,105 @@ const delBusiness = (params) => {
data: params,
});
};
+
+// 热门商圈配置-获取列表数据
+const getHotCbdList = (params) => {
+ return ajax({
+ url: "/api/manage/business/get_hot_cbd_list",
+ type: "post",
+ data: params,
+ });
+};
+
+// 热门商圈配置-重新配置
+const editHotCbdConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/edit_hot_cbd_config",
+ type: "post",
+ data: params,
+ });
+};
+
+// 热门商圈配置-删除配置
+const deleteHotCbd = (params) => {
+ return ajax({
+ url: "/api/manage/business/delete_hot_cbd",
+ type: "post",
+ data: params,
+ });
+};
+
+//节假日配置-获取某月全部节假日信息
+const getVacationData = (params) => {
+ return ajax({
+ url: "/api/manage/business/get_vacation_data",
+ type: "post",
+ data: params,
+ });
+};
+
+// 节假日配置-新增节假日配置
+const addVacationConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/add_vacation_config",
+ type: "post",
+ data: params,
+ });
+};
+
+// 节假日配置-重新配置
+const editVacationConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/edit_vacation_config",
+ type: "post",
+ data: params,
+ });
+};
+
+// 节假日配置-删除节假日
+const deleteVacationConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/delete_vacation_config",
+ type: "post",
+ data: params,
+ });
+};
+
+// 停车概览页配置-获取列表数据
+const getOverviewConfigList = (params) => {
+ return ajax({
+ url: "/api/manage/business/get_overview_config_list",
+ type: "post",
+ data: params,
+ });
+};
+
+// 停车概览页配置-切换展示隐藏状态
+const switchShowStatus = (params) => {
+ return ajax({
+ url: "/api/manage/business/switch_show_status",
+ type: "post",
+ data: params,
+ });
+};
+
+// PDA大额欠费预警配置-获取数据
+const getPdaArrearConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/get_pda_arrear_config",
+ type: "post",
+ data: params,
+ });
+};
+
+//PDA大额欠费预警配置-修改数据
+const editPdaArrearConfig = (params) => {
+ return ajax({
+ url: "/api/manage/business/edit_pda_arrear_config",
+ type: "post",
+ data: params,
+ });
+};
export default {
getbusinessList,
getItemName,
@@ -72,5 +171,16 @@ export default {
deteleBusiness,
checkBusiness,
editBusiness,
- delBusiness
+ delBusiness,
+ getHotCbdList,
+ editHotCbdConfig,
+ deleteHotCbd,
+ getVacationData,
+ addVacationConfig,
+ editVacationConfig,
+ deleteVacationConfig,
+ getOverviewConfigList,
+ switchShowStatus,
+ getPdaArrearConfig,
+ editPdaArrearConfig
}