diff --git a/demon.json b/demon.json index ab3d620..cecd485 100644 --- a/demon.json +++ b/demon.json @@ -2,158 +2,1525 @@ "status": 20000, "message": "success", "data": { - "left":[ - { - "value": "45281456715296481", - "label": "122030" - }, - { - "value": "65221961866203115", - "label": "122032" - }, - { - "value": "83647253392876694", - "label": "122034" - }, - { - "value": "101154137600961442", - "label": "122036" - }, - { - "value": "120914115372859582", - "label": "122038" - }, - { - "value": "146272449267100615", - "label": "122040" - }, - { - "value": "165901383121572714", - "label": "122042" - }, - { - "value": "183328660619630770", - "label": "122044" - }, - { - "value": "201841698734977007", - "label": "122046" - }, - { - "value": "220696929006944800", - "label": "122048" - }, - { - "value": "239846287393037134", - "label": "122050" - }, - { - "value": "262425714027586166", - "label": "122052" - }, - { - "value": "279692691812267977", - "label": "122002" - }, - { - "value": "281725321315613070", - "label": "122054" - }, - { - "value": "298899875048576974", - "label": "122004" - }, - { - "value": "299509975240950515", - "label": "122056" - }, - { - "value": "315504016243878502", - "label": "122006" - }, - { - "value": "319574443916216258", - "label": "122058" - }, - { - "value": "332406949094366423", - "label": "122008" - }, - { - "value": "337438784651425661", - "label": "122060" - }, - { - "value": "350606492843366970", - "label": "122010" - }, - { - "value": "356769718153842693", - "label": "122062" - }, - { - "value": "367407665788852574", - "label": "122012" - }, - { - "value": "376252865933277426", - "label": "122064" - }, - { - "value": "385213002396321920", - "label": "122014" - }, - { - "value": "394729205493449142", - "label": "122066" - }, - { - "value": "401606564612314220", - "label": "122016" - }, - { - "value": "412513399547629919", - "label": "122068" - }, - { - "value": "418274481798628411", - "label": "122018" - }, - { - "value": "431483695535960691", - "label": "122070" - }, - { - "value": "439599410339209150", - "label": "122020" - }, - { - "value": "449348022212988260", - "label": "122072" - }, - { - "value": "456757439969944183", - "label": "122022" - }, - { - "value": "474604319418541337", - "label": "122074" - }, - { - "value": "474740879987019423", - "label": "122024" - }, - { - "value": "490787133472717559", - "label": "122026" - }, - { - "value": "507612820262760920", - "label": "122028" - } + "user_info": { + "user_uid": 1, + "id_card": "420103199901011234", + "role_id": 2, + "name": "角色1", + "department_name": "青岛公共事业集团", + "user_name": "ceshi", + "tel": "13512341234", + "auth": "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90" + }, + "route": [ + "inRoadOverview", + "RecordInquiry", + "parkRecordTotal", + "", + "roadMgm", + "personMgm", + "stuffMgmDir", + "businessMgmDir", + "eqMgmDir", + "parkList", + "roadConf", + "arrearsInquiries", + "disabledCarParkRecordTotal", + "arrearsRecordTotal", + "entryExitOptPDA", + "geomagneticSignalMgm", + "payRecordQuery", + "preOrderRecord", + "unRecordOrder", + "personInfo", + "attendance", + "workerAttendance", + "fence", + "scheduleMgm", + "workerSchedule", + "audit", + "performance", + "workerStat", + "salesStat", + "collectorWorkStat", + "inspectorWorkStat", + "mesNotification", + "auditConf", + "auditCheck", + "stuffMgm", + "stuffStat", + "categroyConf", + "modelConf", + "specialRecord", + "blacklist", + "chargeRules", + "preChargeRules", + "selfParkingRules", + "freeRule", + "abnormalParking", + "exceptionParkReport", + "exceptionParkStat", + "equipmentStatus", + "berthStatus", + "faultReport", + "patrolStatistics", + "barMgm", + "nvrMgm", + "monitorEquipment", + "equipmentBrand", + "addRoad", + "roadDetail", + "configRoad", + "carInfo", + "carAuth", + "userInfo", + "userAuth", + "userTag", + "arrearsCar", + "callbackSuggestion", + "complaintMgm", + "errorCorrection", + "complainManage", + "complainWorkStat", + "complainStat", + "areaManage", + "orgnizationMgm", + "adminMgm", + "roleMgm", + "systemLog", + "confMes", + "businessConf", + "hotCbdConf", + "merchantInfo", + "invoiceConf", + "couponRules", + "activitySpecificTopic", + "couponDistribute", + "writeOffDetail", + "writeOffStat", + "adsMgm", + "yardDiscount", + "informationMgm", + "appPushMgm", + "generalBusiness", + "payRepeat", + "geoSignalIgnoreAudit", + "geoSignalIgnoreInquiry", + "geoSignalIgnoreConf", + "outRoadOverview", + "chargeRulesMgm", + "outSegment", + "zombieCarMgm", + "liftUpPoleRecord", + "zombieCarCleanRecord", + "outParkingRecordInquiry", + "outPayOrders", + "outDevice", + "outMonitorMgm", + "outNvrMgm", + "merchantAdmin", + "shortMessageMgm", + "functionMgm", + "appConfiguration", + "merchantConfiguration", + "platformConfiguration", + "payRecordTotal", + "startExceptionDeal", + "dealRecordAudit", + "dealRecordList", + "editOrderInquiry", + "parkingOrderInquiry", + "productOrderInquiry", + "refundOrderInquiry", + "createInvoice", + "createInvoiceRecord", + "parkingIncomeReport", + "operationReport", + "preOrderReport", + "paySummaryReport", + "payChannelStat", + "pdaStat", + "parkCardReport", + "bookReport", + "billDiff", + "abnormalPayment", + "parkingCardMgm", + "parkingCardOrder", + "parkingCardStat", + "StaggeredMgm", + "staggeredOrder", + "staggeredStat", + "parkingAlyOverview", + "parkingAlyReport", + "parkingAlyDuration", + "parkingAlyPeriod", + "temporaryParkStat", + "nightParkStat", + "parkingLivedata", + "parkUsageAly", + "parkTurnoverAly", + "carTypeAly", + "parkBerthAly", + "parkingAly", + "registerAly", + "payAly", + "equipmentRunningStat", + "arrearageAly", + "orderArrearageAly", + "cityArrearageAly", + "arrearageRecoverAly", + "cityIncomeStat", + "cityIncomeAly", + "priceAly", + "outParkingArrearsOrders", + // "parkingOverview" ], - "right":[ - "507612820262760920","490787133472717559","474740879987019423" - ] + "menus_new": { + "inRoad": [ + { + "path": "/inRoad/InRoadOverview", + "icon": "zongshujuliang", + "text": "概览", + "name": "inRoadOverview", + "id": 2, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "记录查询", + "name": "RecordInquiry", + "id": 3, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/ParkRecordTotal", + "icon": "", + "text": "停车记录查询", + "name": "parkRecordTotal", + "id": 4, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/ArrearsInquiries", + "icon": "", + "text": "欠费追缴查询", + "name": "arrearsInquiries", + "id": 13, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/DisabledCarParkRecordTotal", + "icon": "", + "text": "残疾车停车记录查询", + "name": "disabledCarParkRecordTotal", + "id": 14, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/ArrearsRecordTotal", + "icon": "", + "text": "停车欠费订单", + "name": "arrearsRecordTotal", + "id": 15, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/EntryExitOptPDA", + "icon": "", + "text": "PDA操作记录", + "name": "entryExitOptPDA", + "id": 16, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/GeomagneticSignalMgm", + "icon": "", + "text": "地磁信号记录", + "name": "geomagneticSignalMgm", + "id": 17, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/PayRecordQuery", + "icon": "", + "text": "停车支付订单", + "name": "payRecordQuery", + "id": 18, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/PreOrderRecord", + "icon": "", + "text": "停车预付订单", + "name": "preOrderRecord", + "id": 19, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/UnRecordOrder", + "icon": "", + "text": "未登记订单查询", + "name": "unRecordOrder", + "id": 20, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "路段管理", + "name": "roadMgm", + "id": 6, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/ParkList", + "icon": "", + "text": "泊位列表", + "name": "parkList", + "id": 11, + "pid": 6, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/RoadConf", + "icon": "", + "text": "路段配置", + "name": "roadConf", + "id": 12, + "pid": 6, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "xinxijiansuo", + "text": "人员管理", + "name": "personMgm", + "id": 7, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/personInfo", + "icon": "", + "text": "人员信息", + "name": "personInfo", + "id": 21, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "", + "icon": "", + "text": "排班考勤", + "name": "attendance", + "id": 22, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/workerAttendance", + "icon": "", + "text": "人员考勤", + "name": "workerAttendance", + "id": 23, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/fence", + "icon": "", + "text": "电子围栏", + "name": "fence", + "id": 24, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/scheduleMgm", + "icon": "", + "text": "排班管理", + "name": "scheduleMgm", + "id": 25, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/workerSchedule", + "icon": "", + "text": "人员排班", + "name": "workerSchedule", + "id": 26, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "", + "text": "稽查管理", + "name": "audit", + "id": 27, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/auditConf", + "icon": "", + "text": "稽查配置", + "name": "auditConf", + "id": 34, + "pid": 27, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/auditCheck", + "icon": "", + "text": "稽查审核", + "name": "auditCheck", + "id": 35, + "pid": 27, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "", + "text": "绩效考核", + "name": "performance", + "id": 28, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/workerStat", + "icon": "", + "text": "收费员工统计", + "name": "workerStat", + "id": 29, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/salesStat", + "icon": "", + "text": "营收统计", + "name": "salesStat", + "id": 30, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/collectorWorkStat", + "icon": "", + "text": "稽查员工统计", + "name": "collectorWorkStat", + "id": 31, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/inspectorWorkStat", + "icon": "", + "text": "被稽查员工统计", + "name": "inspectorWorkStat", + "id": 32, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "/inRoad/mesNotification", + "icon": "", + "text": "消息通知", + "name": "mesNotification", + "id": 33, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "物品管理", + "name": "stuffMgmDir", + "id": 8, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/stuffMgm", + "icon": "", + "text": "物品管理", + "name": "stuffMgm", + "id": 36, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/stuffStat", + "icon": "", + "text": "物品统计", + "name": "stuffStat", + "id": 37, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/categroyConf", + "icon": "", + "text": "类型配置", + "name": "categroyConf", + "id": 38, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/modelConf", + "icon": "", + "text": "型号配置", + "name": "modelConf", + "id": 39, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "业务管理", + "name": "businessMgmDir", + "id": 9, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/specialRecord", + "icon": "", + "text": "白名单管理", + "name": "specialRecord", + "id": 40, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/blacklist", + "icon": "", + "text": "黑名单管理", + "name": "blacklist", + "id": 41, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/chargeRules", + "icon": "", + "text": "计费规则", + "name": "chargeRules", + "id": 42, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/preChargeRules", + "icon": "", + "text": "预付费规则", + "name": "preChargeRules", + "id": 43, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/selfParkingRules", + "icon": "", + "text": "自主停车规则", + "name": "selfParkingRules", + "id": 44, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/freeRule", + "icon": "", + "text": "免费规则", + "name": "freeRule", + "id": 45, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "", + "icon": "", + "text": "异常停车", + "name": "abnormalParking", + "id": 46, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/exceptionParkReport", + "icon": "", + "text": "上报记录查询", + "name": "exceptionParkReport", + "id": 47, + "pid": 46, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/exceptionParkStat", + "icon": "", + "text": "异常停车统计", + "name": "exceptionParkStat", + "id": 48, + "pid": 46, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备管理", + "name": "eqMgmDir", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [ + { + "path": "/inRoad/equipmentStatus", + "icon": "", + "text": "设备状态", + "name": "equipmentStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/barMgm", + "icon": "", + "text": "杆位管理", + "name": "barMgm", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/nvrMgm", + "icon": "", + "text": "NVR管理", + "name": "nvrMgm", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/monitorEquipment", + "icon": "", + "text": "监控设备", + "name": "monitorEquipment", + "id": 52, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/equipmentBrand", + "icon": "", + "text": "设备品牌", + "name": "equipmentBrand", + "id": 53, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备运维", + "name": "eqManage", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/berthStatus", + "icon": "", + "text": "泊位运营状态", + "name": "berthStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/faultReport", + "icon": "", + "text": "故障上报记录", + "name": "faultReport", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/patrolStatistics", + "icon": "", + "text": "巡检预警统计", + "name": "patrolStatistics", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } + ], + "operationCenter": [ + { + "text": "车辆管理", + "name": "carMgmDir", + "icon": "zongshujuliang", + "children": [ + { + "text": "车辆信息", + "name": "carInfo", + "path": "/operationCenter/carInfo" + }, + { + "text": "车辆认证", + "name": "carAuth", + "path": "/operationCenter/carAuth" + } + ] + }, + { + "text": "用户管理", + "name": "userMgmDir", + "icon": "zongshujuliang", + "children": [ + { + "text": "用户信息", + "name": "userInfo", + "path": "/operationCenter/userInfo" + }, + { + "path": "/operationCenter/userAuth", + "text": "用户认证", + "name": "userAuth" + }, + { + "path": "/operationCenter/userTag", + "text": "用户标签", + "name": "userTag" + } + ] + }, + { + "text": "欠费追缴", + "name": "arrearsRecover", + "icon": "zongshujuliang", + "children": [ + { + "text": "欠费车辆", + "name": "arrearsCar", + "path": "/operationCenter/arrearsCar" + } + ] + }, + { + "text": "运营营销", + "name": "operationSales", + "icon": "zongshujuliang", + "children": [ + { + "text": "优惠券管理", + "name": "couponMgm", + "icon": "", + "children": [ + { + "text": "优惠券规则", + "name": "couponRules", + "path": "/operationCenter/couponRules" + }, + { + "text": "活动专题", + "name": "activitySpecificTopic", + "path": "/operationCenter/activitySpecificTopic" + }, + { + "text": "手动派发", + "name": "couponDistribute", + "path": "/operationCenter/couponDistribute" + }, + { + "text": "核销明细", + "name": "writeOffDetail", + "path": "/operationCenter/writeOffDetail" + }, + { + "text": "核销统计", + "name": "writeOffStat", + "path": "/operationCenter/writeOffStat" + } + ] + }, + { + "text": "车场折扣", + "name": "yardDiscount", + "path": "/operationCenter/yardDiscount" + }, + { + "text": "广告管理", + "name": "adsMgm", + "path": "/operationCenter/adsMgm" + }, + { + "text": "资讯管理", + "name": "informationMgm", + "path": "/operationCenter/informationMgm" + }, + { + "text": "推送管理", + "name": "appPushMgm", + "path": "/operationCenter/appPushMgm" + }, + { + "text": "短信管理", + "name": "shortMessageMgm", + "path": "/operationCenter/shortMessageMgm" + } + ] + }, + { + "text": "增值业务", + "icon": "zongshujuliang", + "children": [ + { + "text": "停车卡", + "icon": "", + "children": [ + { + "path": "/operationCenter/parkingCardMgm", + "text": "停车卡管理", + "name": "parkingCardMgm" + }, + { + "path": "/operationCenter/parkingCardOrder", + "text": "停车卡订单", + "name": "parkingCardOrder" + }, + { + "path": "/operationCenter/parkingCardStat", + "text": "停车卡统计", + "name": "parkingCardStat" + } + ] + }, + { + "text": "错峰停车", + "icon": "", + "children": [ + { + "path": "/operationCenter/StaggeredMgm", + "text": "错峰管理", + "name": "StaggeredMgm" + }, + { + "path": "/operationCenter/staggeredOrder", + "text": "错峰订单", + "name": "staggeredOrder" + }, + { + "path": "/operationCenter/staggeredStat", + "text": "错峰统计", + "name": "staggeredStat" + } + ] + } + ] + }, + { + "text": "客服管理", + "name": "customerServieMgm", + "icon": "zongshujuliang", + "children": [ + { + "text": "反馈建议", + "name": "callbackSuggestion", + "path": "/operationCenter/callbackSuggestion" + }, + { + "text": "申诉管理", + "name": "complaintMgm", + "path": "/operationCenter/complaintMgm" + }, + { + "text": "车场纠错", + "name": "errorCorrection", + "path": "/operationCenter/errorCorrection" + }, + { + "text": "客诉工单", + "name": "complainManage", + "path": "/operationCenter/complainManage" + }, + { + "text": "客诉统计", + "name": "complainStat", + "path": "/operationCenter/complainStat" + }, + { + "text": "工作统计", + "name": "complainWorkStat", + "path": "/operationCenter/complainWorkStat" + } + ] + }, + { + "text": "地磁信号忽略", + "name": "geoSignalIgnore", + "icon": "zongshujuliang", + "children": [ + { + "text": "地磁信号忽略审核", + "name": "geoSignalIgnoreAudit", + "path": "/operationCenter/geoSignalIgnoreAudit" + }, + { + "text": "地磁信号忽略查询", + "name": "geoSignalIgnoreInquiry", + "path": "/operationCenter/geoSignalIgnoreInquiry" + }, + { + "text": "地磁信号忽略配置", + "name": "geoSignalIgnoreConf", + "path": "/operationCenter/geoSignalIgnoreConf" + } + ] + } + ], + "systemMgm": [ + { + "text": "区域管理", + "name": "areaManage", + "icon": "zongshujuliang", + "path": "/systemMgm/areaManage" + }, + { + "text": "组织架构", + "name": "orgnizationMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/orgnizationMgm" + }, + { + "text": "管理员管理", + "name": "adminMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/adminMgm" + }, + { + "text": "角色管理", + "name": "roleMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/roleMgm" + }, + { + "text": "系统日志", + "name": "systemLog", + "icon": "zongshujuliang", + "path": "/systemMgm/systemLog" + }, + { + "text": "消息管理", + "name": "messageMgm", + "icon": "zongshujuliang", + "children": [ + { + "text": "业务配置", + "name": "confMes", + "icon": "", + "path": "/systemMgm/confMes" + } + ] + }, + { + "text": "业务配置", + "name": "businessConfig", + "icon": "zongshujuliang", + "children": [ + { + "text": "业务配置", + "name": "businessConf", + "icon": "", + "path": "/systemMgm/businessConf" + }, + { + "text": "热门商圈配置", + "name": "hotCbdConf", + "icon": "", + "path": "/systemMgm/hotCbdConf" + } + ] + } + ], + "merchantMgm": [ + { + "text": "商户信息", + "name": "merchantInfo", + "icon": "zongshujuliang", + "path": "/merchantMgm/merchantInfo" + }, + { + "text": "发票配置", + "name": "invoiceConf", + "icon": "zongshujuliang", + "path": "/merchantMgm/invoiceConf" + }, + { + "text": "商户管理员", + "name": "merchantAdmin", + "icon": "zongshujuliang", + "path": "/merchantMgm/merchantAdmin" + }, + { + "text": "功能信息", + "name": "functionMgm", + "icon": "zongshujuliang", + "path": "/merchantMgm/functionMgm" + } + ], + "financialMgm": [ + { + "text": "异常处理", + "icon": "zongshujuliang", + "children": [ + { + "text": "发起异常处理", + "name": "startExceptionDeal", + "icon": "", + "path": "/financialMgm/startExceptionDeal" + }, + { + "text": "处理记录审核", + "name": "dealRecordAudit", + "icon": "", + "path": "/financialMgm/dealRecordAudit" + }, + { + "text": "处理记录列表", + "name": "dealRecordList", + "icon": "", + "path": "/financialMgm/dealRecordList" + } + ] + }, + { + "text": "订单查询", + "icon": "zongshujuliang", + "children": [ + { + "text": "订单修改查询", + "name": "editOrderInquiry", + "icon": "", + "path": "/financialMgm/editOrderInquiry" + }, + { + "text": "停车订单查询", + "name": "parkingOrderInquiry", + "icon": "", + "path": "/financialMgm/parkingOrderInquiry" + }, + { + "text": "商品订单查询", + "name": "productOrderInquiry", + "icon": "", + "path": "/financialMgm/productOrderInquiry" + }, + { + "text": "退款订单查询", + "name": "refundOrderInquiry", + "icon": "", + "path": "/financialMgm/refundOrderInquiry" + } + ] + }, + { + "text": "交易流水", + "name": "payRecordTotal", + "icon": "zongshujuliang", + "path": "/financialMgm/payRecordTotal" + }, + { + "text": "电子发票", + "icon": "zongshujuliang", + "children": [ + { + "text": "发票记录", + "name": "createInvoiceRecord", + "icon": "", + "path": "/financialMgm/createInvoiceRecord" + }, + { + "text": "开具发票", + "name": "createInvoice", + "icon": "", + "path": "/financialMgm/createInvoice" + } + ] + }, + { + "text": "财务报表", + "icon": "zongshujuliang", + "children": [ + { + "text": "停车收入报表", + "name": "parkingIncomeReport", + "icon": "", + "path": "/financialMgm/parkingIncomeReport" + }, + { + "text": "运营报表", + "name": "operationReport", + "icon": "", + "path": "/financialMgm/operationReport" + }, + { + "text": "预付报表", + "name": "preOrderReport", + "icon": "", + "path": "/financialMgm/preOrderReport" + }, + { + "text": "停车卡报表", + "name": "parkCardReport", + "icon": "", + "path": "/financialMgm/parkCardReport" + }, + { + "text": "预约报表", + "name": "bookReport", + "icon": "", + "path": "/financialMgm/bookReport" + }, + { + "text": "总收入报表", + "name": "paySummaryReport", + "icon": "", + "path": "/financialMgm/paySummaryReport" + }, + { + "text": "渠道统计", + "name": "payChannelStat", + "icon": "", + "path": "/financialMgm/payChannelStat" + }, + { + "text": "PDA统计", + "name": "pdaStat", + "icon": "", + "path": "/financialMgm/pdaStat" + } + ] + }, + { + "text": "清分结算", + "icon": "zongshujuliang", + "children": [ + { + "text": "渠道对账", + "name": "generalBusiness", + "icon": "", + "path": "/financialMgm/generalBusiness" + }, + { + "text": "差账处理", + "name": "billDiff", + "icon": "", + "path": "/financialMgm/billDiff" + }, + { + "text": "重复支付", + "name": "payRepeat", + "icon": "", + "path": "/financialMgm/payRepeat" + }, + { + "text": "异常支付", + "name": "abnormalPayment", + "icon": "", + "path": "/financialMgm/abnormalPayment" + } + ] + }, + { + "text": "支付配置", + "icon": "zongshujuliang", + "children": [ + { + "text": "应用配置", + "name": "appConfiguration", + "icon": "", + "path": "/financialMgm/appConfiguration" + }, + { + "text": "支付商户配置", + "name": "merchantConfiguration", + "icon": "", + "path": "/financialMgm/merchantConfiguration" + }, + { + "text": "平台商户配置", + "name": "platformConfiguration", + "icon": "", + "path": "/financialMgm/platformConfiguration" + } + ] + } + ], + "outRoad": [ + { + "text": "概览", + "name": "outRoadOverview", + "icon": "zongshujuliang", + "path": "/outRoad/outRoadOverview" + }, + { + "text": "路段管理", + "name": "outRoadMgm", + "icon": "zongshujuliang", + "children": [ + { + "text": "计费规则管理", + "name": "chargeRulesMgm", + "icon": "", + "path": "/outRoad/chargeRulesMgm" + }, + { + "text": "路段管理", + "name": "outSegment", + "icon": "", + "path": "/outRoad/outSegment" + }, + { + "text": "僵尸车管理", + "name": "zombieCarMgm", + "icon": "", + "path": "/outRoad/zombieCarMgm" + } + ] + }, + { + "text": "异常管理", + "name": "outExceptionMgm", + "icon": "zongshujuliang", + "children": [ + { + "text": "抬杆记录", + "name": "liftUpPoleRecord", + "icon": "", + "path": "/outRoad/liftUpPoleRecord" + }, + { + "text": "僵尸车清理记录", + "name": "zombieCarCleanRecord", + "icon": "", + "path": "/outRoad/zombieCarCleanRecord" + } + ] + }, + { + "text": "业务记录", + "name": "outBusinessRecord", + "icon": "zongshujuliang", + "children": [ + { + "text": "停车记录查询", + "name": "outParkingRecordInquiry", + "icon": "", + "path": "/outRoad/outParkingRecordInquiry" + }, + { + "text": "停车支付订单", + "name": "outPayOrders", + "icon": "", + "path": "/outRoad/outPayOrders" + }, + { + "text": "停车欠费订单", + "name": "outParkingArrearsOrders", + "icon": "", + "path": "/outRoad/outParkingArrearsOrders" + } + ] + }, + { + "text": "设备管理", + "name": "outDeviceMgm", + "icon": "zongshujuliang", + "children": [ + { + "text": "路外设备管理", + "name": "outDevice", + "icon": "", + "path": "/outRoad/outDevice" + }, + { + "text": "视频监控设备管理", + "name": "outMonitorMgm", + "icon": "", + "path": "/outRoad/outMonitorMgm" + }, + { + "text": "NVR管理", + "name": "outNvrMgm", + "icon": "", + "path": "/outRoad/outNvrMgm" + } + ] + } + ], + "dataAlyPrediction": [ + // { + // "text": "停车业务概览", + // "name": "parkingOverview", + // "icon": "", + // "path": "/dataAlyPrediction/parkingOverview" + // }, + { + "text": "停车业务分析", + "name": "parkingBusinessAly", + "icon": "zongshujuliang", + "children": [ + { + "text": "停车总分析", + "name": "parkingAlyOverview", + "icon": "", + "path": "/dataAlyPrediction/parkingAlyOverview" + }, + { + "text": "停车分析报表", + "name": "parkingAlyReport", + "icon": "", + "path": "/dataAlyPrediction/parkingAlyReport" + }, + { + "text": "停车时长分析", + "name": "parkingAlyDuration", + "icon": "", + "path": "/dataAlyPrediction/parkingAlyDuration" + }, + { + "text": "停车时段分析", + "name": "parkingAlyPeriod", + "icon": "", + "path": "/dataAlyPrediction/parkingAlyPeriod" + }, + { + "text": "临时停车统计", + "name": "temporaryParkStat", + "icon": "", + "path": "/dataAlyPrediction/temporaryParkStat" + }, + { + "text": "夜间停车统计", + "name": "nightParkStat", + "icon": "", + "path": "/dataAlyPrediction/nightParkStat" + }, + { + "text": "停车实况数据", + "name": "parkingLivedata", + "icon": "", + "path": "/dataAlyPrediction/parkingLivedata" + }, + { + "text": "泊位利用分析", + "name": "parkUsageAly", + "icon": "", + "path": "/dataAlyPrediction/parkUsageAly" + }, + { + "text": "泊位周转分析", + "name": "parkTurnoverAly", + "icon": "", + "path": "/dataAlyPrediction/parkTurnoverAly" + }, + { + "text": "车辆类型分析", + "name": "carTypeAly", + "icon": "", + "path": "/dataAlyPrediction/carTypeAly" + }, + { + "text": "停车泊位分析", + "name": "parkBerthAly", + "icon": "", + "path": "/dataAlyPrediction/parkBerthAly" + } + ] + }, + { + "text": "停车营收分析", + "name": "parkingIncomeAly", + "icon": "zongshujuliang", + "children": [ + { + "text": "欠费总分析", + "name": "arrearageAly", + "icon": "", + "path": "/dataAlyPrediction/arrearageAly" + }, + { + "text": "订单欠费分析", + "name": "orderArrearageAly", + "icon": "", + "path": "/dataAlyPrediction/orderArrearageAly" + }, + { + "text": "城市欠费分析", + "name": "cityArrearageAly", + "icon": "", + "path": "/dataAlyPrediction/cityArrearageAly" + }, + { + "text": "欠费追缴分析", + "name": "arrearageRecoverAly", + "icon": "", + "path": "/dataAlyPrediction/arrearageRecoverAly" + }, + { + "text": "城市收入统计", + "name": "cityIncomeStat", + "icon": "", + "path": "/dataAlyPrediction/cityIncomeStat" + }, + { + "text": "城市收入分析", + "name": "cityIncomeAly", + "icon": "", + "path": "/dataAlyPrediction/cityIncomeAly" + }, + { + "text": "客单价分析", + "name": "priceAly", + "icon": "", + "path": "/dataAlyPrediction/priceAly" + } + ] + }, + { + "text": "会员统计", + "name": "memberStat", + "icon": "zongshujuliang", + "children": [ + { + "text": "停车分析", + "name": "parkingAly", + "icon": "", + "path": "/dataAlyPrediction/parkingAly" + }, + { + "text": "注册分析", + "name": "registerAly", + "icon": "", + "path": "/dataAlyPrediction/registerAly" + }, + { + "text": "支付分析", + "name": "payAly", + "icon": "", + "path": "/dataAlyPrediction/payAly" + } + ] + }, + { + "text": "设备分析", + "name": "equipmentAly", + "icon": "zongshujuliang", + "children": [ + { + "text": "设备运行统计", + "name": "equipmentRunningStat", + "icon": "", + "path": "/dataAlyPrediction/equipmentRunningStat" + } + ] + } + ] + } } } \ No newline at end of file diff --git a/src/assets/fonts/font_pda/demo_index.html b/src/assets/fonts/font_pda/demo_index.html index b1e1350..004de24 100644 --- a/src/assets/fonts/font_pda/demo_index.html +++ b/src/assets/fonts/font_pda/demo_index.html @@ -313,7 +313,11 @@ <div class="name">设备管理</div> <div class="code-name">&#xe76c;</div> </li> - + <li class="dib"> + <span class="icon iconfont"></span> + <div class="name">设备运维</div> + <div class="code-name">&#xe776;</div> + </li> <li class="dib"> <span class="icon iconfont"></span> <div class="name">全屏</div> @@ -819,7 +823,14 @@ <div class="code-name">.icon-shebeiguanli </div> </li> - + <li class="dib"> + <span class="icon iconfont icon-shebeiguanli"></span> + <div class="name"> + 设备运维 + </div> + <div class="code-name">.icon-shebeiguanli + </div> + </li> <li class="dib"> <span class="icon iconfont icon-quanping"></span> <div class="name"> @@ -1298,7 +1309,13 @@ <div class="name">设备管理</div> <div class="code-name">#icon-shebeiguanli</div> </li> - + <li class="dib"> + <svg class="icon svg-icon" aria-hidden="true"> + <use xlink:href="#icon-shebeiguanli"></use> + </svg> + <div class="name">设备运维</div> + <div class="code-name">#icon-shebeiyunwei</div> + </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#icon-quanping"></use> diff --git a/src/pages/InRoadMgm/BusinessMgm/ChargeRules/loadable.jsx b/src/pages/InRoadMgm/BusinessMgm/ChargeRules/loadable.jsx index 32fb68c..fe412a6 100644 --- a/src/pages/InRoadMgm/BusinessMgm/ChargeRules/loadable.jsx +++ b/src/pages/InRoadMgm/BusinessMgm/ChargeRules/loadable.jsx @@ -229,7 +229,7 @@ function ChargeRules(props) { setBindData(Object.assign({}, bindData, { pn: pn, page_size: length })) setTableFormData(Object.assign({}, tableFormData, { pn: pn, page_size: length })) tableFormDataRef.current = Object.assign({}, tableFormData, { pn: pn, page_size: length }) - getBindData(Object.assign({}, bindData, { pn: pn, page_size: length ,id: getBindId.id,})) + getBindData(Object.assign({}, bindData, { pn: pn, page_size: length ,id: getBindId.id})) } } //切换每页条数 @@ -237,7 +237,7 @@ function ChargeRules(props) { setBindData(Object.assign({}, bindData, { pn: 1, page_size: length })) setTableFormData(Object.assign({}, tableFormData, { pn: 1, page_size: length })) tableFormDataRef.current = Object.assign({}, tableFormData, { pn: 1, page_size: length }) - getBindData(Object.assign({}, bindData, { pn: 1, page_size: length })) + getBindData(Object.assign({}, bindData, { pn: 1, page_size: length,id: getBindId.id })) } //检索数据 const getSearchData = (data = formData) => { diff --git a/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.jsx b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.jsx new file mode 100644 index 0000000..f386ede --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.jsx @@ -0,0 +1,6 @@ +import React from "react" +import loadable from "@loadable/component" +import { LoadingImg } from "@/components" + +const BerthStatusLoadable = loadable(() => import("./loadable")) +export default (pros) => <BerthStatusLoadable {...pros} fallback={<LoadingImg />} /> \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.scss b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.scss new file mode 100644 index 0000000..c9d43e3 --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/index.scss @@ -0,0 +1,197 @@ +@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); + + +.colorBtn { + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff) !important; + border-radius: 4px; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff); + border-radius: 4px; + } +} +.colorReset { + width: 90px; + height: 36px; + border-radius: 4px; + border: none; + background: #636d80 !important; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: #636d80; + border: none; + border-radius: 4px; + } +} +.paid-berthStatus{ + 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; + } + } + .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{ + margin-left: 20px; + width: 130px; + } + .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; + } + } + + } + } + } + .paid-result{ + width: 100%; + height: 800px; + background: #505a6f; + border-radius: 20px; + margin-left: 17px; + .result{ + padding: 25px; + .font{ + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-weight: 400; + text-align: left; + color: #eeeff1; + margin-bottom: 10px; + display: inline-block; + + em{ + color: #3aa8fe; + margin: 0 5px; + } + } + .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; + 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{ + border-top: none !important; + border-left: none !important; + } + .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-weight: 400; + border-right: none !important; + border-left: none !important; + border-bottom-color: #626b7e !important; + } + } + + } + +} +.revenue{ + .tab-title{ + text-align: center; + font-size: 18px; + font-weight: 400; + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + } + width: 700px !important; + .tab-index{ + .tab-top{ + display: flex; + margin-top: 10px; + height: 30px; + line-height: 30px; + white-space: nowrap; + overflow: hidden; + border-bottom: 1px solid #e4e7ed; + .tab-li{ + margin-left: 20px; + cursor: pointer; + } + .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{ + background-color: #616b83 !important; + color: #ffffff !important; + font-size: 14px; + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: center; + border-right: none !important; + border-left: none !important; + border-bottom-color: #868d9d !important; + } + } + } + } +} diff --git a/src/pages/InRoadMgm/EquipmentOpe/berthStatus/loadable.jsx b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/loadable.jsx new file mode 100644 index 0000000..f6a545e --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/berthStatus/loadable.jsx @@ -0,0 +1,333 @@ +import React, { useState, useRef, useEffect } from "react"; +import { ResultFlowResult } from "@/components" +import { Select, Button, Input, Table, message, Pagination } from 'antd' +import { + pageSizeOptions +} from '@/config/character.config.js' +import "./index.scss"; +import { SearchOutlined, DeleteOutlined } from '@ant-design/icons'; +import ajax from '@/services' +import { useSessionStorageState } from "ahooks" +function berthStatus(props) { + const [ajaxLoading, setAjaxLoading] = useState(false) + const [resultData, setResultData] = useState({ + data: [], + total_records: 0, + export_url: '', + process_url: "" + }) + const parameter = { + berth_code: '', + road_name: '', + operate_name: '0', + berth_type_name: '0', + service_type_name: '0', + park_name: '', + status:'1', + pn: 1, + page_size: Number(pageSizeOptions[0]), // 每页条数 + } + const [formData, setFormData] = useState(parameter) + const lastFormDataRef = useRef(formData) + const [lastFormData, setLastFormData] = useState(formData) + //物品型号 + const handleRoadName = (v) => { + setFormData({ ...formData, road_name: v.target.value }) + } + //泊位编号 + const handleBerthCode = (v) => { + setFormData({ ...formData, model_id: v.target.value }) + } + //泊位类型 + const handleBerthTypeName = (v) => { + setFormData({ ...formData, berth_type_name: v }) + } + //商户名称 + const handleDeployType = (value) => { + setFormData({ ...formData, operate_name: value }) + } + //停车场名称 + const handleParkname = (v) => { + setFormData({ ...formData, park_name: v.target.value }) + } + //服务属性 + const handleServiceTypeName=(v)=>{ + setFormData({ ...formData, service_type_name: v}) + } + //运营状态 + const handleStatus=(v)=>{ + setFormData({ ...formData, status: v}) + } + + + //列表 + const handleColumns = (tab) => { + let result = [...deployListColumns]; + switch (tab) { + case '1': + result.splice(5, 1) + break; + + } + return result; + } + //重置数据 + const getResetData = () => { + setFormData({ + ...parameter + }) + getData({ ...parameter }) + } + //列表 + const deployListColumns = [ + { + title: '序号', + render: (text, record, index) => index + 1, + }, + { + title: '商户名称', + dataIndex: 'operator_name', + key: 'operator_name', + }, + { + title: '所属路段', + dataIndex: 'road_name', + key: 'road_name', + }, + { + title: '停车场名称', + dataIndex: 'park_name', + key: 'park_name', + }, + { + title: '泊位类型', + dataIndex: 'berth_type_name', + key: 'berth_type_name', + }, + { + title: '泊位号', + dataIndex: 'berth_code', + key: 'berth_code', + }, + + { + title: '服务属性', + dataIndex: 'service_type_name', + key: 'service_type_name', + }, + { + title: '运营状态', + dataIndex: 'status_name', + key: 'status_name', + }, + { + title: '更新时间', + dataIndex: 'update_time', + key: 'update_time', + }] + + // 获取列表数据 + const getData = (data = formData) => { + setAjaxLoading(true) + ajax.getBerthList(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 (formData.page_size === length) { + setFormData(Object.assign({}, formData, { pn: pn, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: pn, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: pn, page_size: length })) + } + } + //切换每页条数 + const changeLength = (pn, length) => { + setFormData(Object.assign({}, formData, { pn: 1, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: 1, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: 1, page_size: length })) + } + //检索数据 + const getSearchData = (data = formData) => { + getData(data) + } + + const [getMerchantDataName, setGetMerchantDataName] = useState([]) + const merchantDataName = () => { + ajax.getOperator().then(res => { + setGetMerchantDataName(res.data) + }) + } + + + + const [sessionTabList, setSessionTabList] = useSessionStorageState('berthStatus', { + value: { + } + }) + useEffect(() => { + console.log(location) + if (sessionTabList && Object.values(sessionTabList).length > 0) { + setFormData({ + berth_code: sessionTabList?.berth_code, + road_name: sessionTabList?.road_name, + operate_name: sessionTabList?.operate_name, + berth_type_name: sessionTabList?.berth_type_name, + service_type_name: sessionTabList?.service_type_name, + park_name: sessionTabList?.park_name, + status: sessionTabList?.status, + pn: sessionTabList?.pn, + page_size: sessionTabList?.page_size, + }) + } + }, []) + console.log(formData); + useEffect(() => { + setSessionTabList({ + ...formData + }) + }, [formData]) + useEffect(() => { + getData() + merchantDataName() + }, []) + return <> + <div className="paid-berthStatus"> + <div className="paid-search"> + <label className="search">查询条件</label> + <div className="yisa-search"> + <label>泊位编号</label> + <Input + style={{ width: 240,marginLeft:14 }} + value={formData.berth_code} + placeholder="请输入泊位编号" + onChange={handleBerthCode} + /> + </div> + <div className="yisa-search"> + <label>泊位类型</label> + <Select + style={{ width: 240,marginLeft:14 }} + // allowClear + value={formData.berth_type_name} + options={sysConfig.berth_list} + onChange={handleBerthTypeName} + /> + </div> + <div className="yisa-search"> + <label>商户名称</label> + <Select + style={{ width: 240,marginLeft:14 }} + // allowClear + value={formData.operate_name} + options={getMerchantDataName} + onChange={handleDeployType} + /> + </div> + <div className="yisa-search"> + <label>所属路段</label> + <Input + style={{ width: 240,marginLeft:14 }} + value={formData.road_name} + placeholder="请输入所属路段" + onChange={handleRoadName} + /> + </div> + <div className="yisa-search"> + <label>停车场名称</label> + <Input + style={{ width: 240}} + value={formData.park_name} + placeholder="请输入停车场名称" + onChange={handleParkname} + /> + </div> + <div className="yisa-search"> + <label>服务属性</label> + <Select + style={{ width: 240,marginLeft:14 }} + // allowClear + value={formData.service_type_name} + options={sysConfig.service_list} + onChange={handleServiceTypeName} + /> + </div> + <div className="yisa-search"> + <label>运营状态</label> + <Select + style={{ width: 240 ,marginLeft:14 }} + // allowClear + value={formData.status} + options={sysConfig.opertion_list} + onChange={handleStatus} + /> + </div> + <div className="timePicker "> + <div className="btnBox"> + <Button type="primary" className="yisa-btn colorBtn" icon={<SearchOutlined />} onClick={() => { getSearchData() }}> + 搜索 + </Button> + <Button type="primary" className="yisa-btn colorReset" icon={<DeleteOutlined />} onClick={() => { getResetData() }}> + 清空 + </Button> + </div> + </div> + </div> + <div className="paid-result"> + <div className="result"> + <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> + <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> + <Table + bordered + // className='yisa-table' + dataSource={resultData.data} + columns={ + handleColumns() + } + pagination={false} + loading={ajaxLoading} + /> + <Pagination + className="pagination-common" + showSizeChanger + showQuickJumper + showTotal={() => `共 ${resultData.total_records} 条`} + total={resultData.total_records} + current={lastFormData.pn} + pageSize={lastFormData.page_size} + pageSizeOptions={pageSizeOptions} + onChange={changePn} + onShowSizeChange={changeLength} + /> + </ResultFlowResult> + </div> + </div> + + </div> + </> +} + +export default berthStatus; \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.jsx b/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.jsx new file mode 100644 index 0000000..0618f7b --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.jsx @@ -0,0 +1,6 @@ +import React from "react" +import loadable from "@loadable/component" +import { LoadingImg } from "@/components" + +const FaultReportLoadable = loadable(() => import("./loadable")) +export default (pros) => <FaultReportLoadable {...pros} fallback={<LoadingImg />} /> \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.scss b/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.scss new file mode 100644 index 0000000..9a1a3f0 --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/faultReport/index.scss @@ -0,0 +1,197 @@ +@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); + + +.colorBtn { + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff) !important; + border-radius: 4px; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff); + border-radius: 4px; + } +} +.colorReset { + width: 90px; + height: 36px; + border-radius: 4px; + border: none; + background: #636d80 !important; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: #636d80; + border: none; + border-radius: 4px; + } +} +.paid-faultReport{ + 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; + } + } + .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{ + margin-left: 20px; + width: 130px; + } + .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; + } + } + + } + } + } + .paid-result{ + width: 100%; + height: 800px; + background: #505a6f; + border-radius: 20px; + margin-left: 17px; + .result{ + padding: 25px; + .font{ + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-weight: 400; + text-align: left; + color: #eeeff1; + margin-bottom: 10px; + display: inline-block; + + em{ + color: #3aa8fe; + margin: 0 5px; + } + } + .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; + 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{ + border-top: none !important; + border-left: none !important; + } + .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-weight: 400; + border-right: none !important; + border-left: none !important; + border-bottom-color: #626b7e !important; + } + } + + } + +} +.revenue{ + .tab-title{ + text-align: center; + font-size: 18px; + font-weight: 400; + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + } + width: 700px !important; + .tab-index{ + .tab-top{ + display: flex; + margin-top: 10px; + height: 30px; + line-height: 30px; + white-space: nowrap; + overflow: hidden; + border-bottom: 1px solid #e4e7ed; + .tab-li{ + margin-left: 20px; + cursor: pointer; + } + .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{ + background-color: #616b83 !important; + color: #ffffff !important; + font-size: 14px; + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: center; + border-right: none !important; + border-left: none !important; + border-bottom-color: #868d9d !important; + } + } + } + } +} diff --git a/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx new file mode 100644 index 0000000..104b11e --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx @@ -0,0 +1,329 @@ +import React, { useState, useRef, useEffect } from "react"; +import { ResultFlowResult, FormSliderPicker } from "@/components" +import { Select, Button, Input, Table, message, Pagination } from 'antd' +import { + pageSizeOptions +} from '@/config/character.config.js' +import "./index.scss"; +import moment from "moment"; +import { SearchOutlined, DeleteOutlined } from '@ant-design/icons'; +import ajax from '@/services' +import { useSessionStorageState } from "ahooks" +const { TextArea } = Input; +function faultReport(props) { + const [ajaxLoading, setAjaxLoading] = useState(false) + const [resultData, setResultData] = useState({ + data: [], + total_records: 0, + export_url: '', + process_url: "" + }) + const parameter = { + road_name: '', + reason: '', + name: '', + operate_name: '0', + park_name: '', + start: moment().format('YYYY-MM-DD 00:00:00'), + end: moment().format("YYYY-MM-DD 23:59:59"), + pn: 1, + page_size: Number(pageSizeOptions[0]), // 每页条数 + } + const [formData, setFormData] = useState(parameter) + const lastFormDataRef = useRef(formData) + const [lastFormData, setLastFormData] = useState(formData) + //物品型号 + const handleRoadName = (v) => { + setFormData({ ...formData, road_name: v.target.value }) + } + //上报人 + const handleName = (v) => { + setFormData({ ...formData, name: v.target.value }) + } + //故障原因 + const handleReason = (v) => { + setFormData({ ...formData, reason: v.target.value }) + } + //商户名称 + const handleDeployType = (value) => { + setFormData({ ...formData, operate_name: value }) + } + //停车场名称 + const handleParkname = (v) => { + setFormData({ ...formData, park_name: v.target.value }) + } + const onHandleDateChange = (v) => { + setFormData({ + ...formData, + start: v.startDateTime, + end: v.endDateTime + }) + } + //导出 + const getExportData = () => { + let data = { + ...formData + } + ajax.getFaultReportExport(data).then(res => { + window.open(res.export_url) + }) + } + //列表 + const handleColumns = (tab) => { + let result = [...deployListColumns]; + switch (tab) { + case '1': + result.splice(5, 1) + break; + + } + return result; + } + //重置数据 + const getResetData = () => { + setFormData({ + ...parameter + }) + getData({ ...parameter }) + } + //列表 + const deployListColumns = [ + { + title: '序号', + render: (text, record, index) => index + 1, + }, + { + title: '商户名称', + dataIndex: 'operator_name', + key: 'operator_name', + }, + { + title: '所属路段', + dataIndex: 'road_name', + key: 'road_name', + }, + { + title: '停车场名称', + dataIndex: 'park_name', + key: 'park_name', + }, + { + title: '设备类型', + dataIndex: 'fault_type_name', + key: 'fault_type_name', + }, + { + title: '上报人', + dataIndex: 'name', + key: 'name', + }, + { + title: '故障原因', + dataIndex: 'reason', + key: 'reason', + }, + { + title: '上报时间', + dataIndex: 'create_time', + key: 'create_time', + }] + + // 获取列表数据 + const getData = (data = formData) => { + setAjaxLoading(true) + ajax.getShowFaultReport(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 (formData.page_size === length) { + setFormData(Object.assign({}, formData, { pn: pn, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: pn, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: pn, page_size: length })) + } + } + //切换每页条数 + const changeLength = (pn, length) => { + setFormData(Object.assign({}, formData, { pn: 1, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: 1, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: 1, page_size: length })) + } + //检索数据 + const getSearchData = (data = formData) => { + getData(data) + } + + const [getMerchantDataName, setGetMerchantDataName] = useState([]) + const merchantDataName = () => { + ajax.getOperator().then(res => { + setGetMerchantDataName(res.data) + }) + } + + + + const [sessionTabList, setSessionTabList] = useSessionStorageState('faultReport', { + value: { + } + }) + useEffect(() => { + console.log(location) + if (sessionTabList && Object.values(sessionTabList).length > 0) { + setFormData({ + road_name: sessionTabList?.road_name, + operate_name: sessionTabList?.operate_name, + park_name: sessionTabList?.park_name, + reason: sessionTabList?.reason, + name: sessionTabList?.name, + pn: sessionTabList?.pn, + page_size: sessionTabList?.page_size, + }) + } + }, []) + console.log(formData); + useEffect(() => { + setSessionTabList({ + ...formData + }) + }, [formData]) + useEffect(() => { + getData() + merchantDataName() + }, []) + return <> + <div className="paid-faultReport"> + <div className="paid-search"> + <label className="search">查询条件</label> + <div className="yisa-search"> + <label>上报人</label> + <Input + style={{ width: 240, marginLeft: 29 }} + value={formData.name} + placeholder="请输入上报人" + onChange={handleName} + /> + </div> + <div className="yisa-search"> + <label>商户名称</label> + <Select + style={{ width: 240, marginLeft: 14 }} + // allowClear + value={formData.operate_name} + options={getMerchantDataName} + onChange={handleDeployType} + /> + </div> + <div className="yisa-search"> + <label>所属路段</label> + <Input + style={{ width: 240, marginLeft: 14 }} + value={formData.road_name} + placeholder="请输入所属路段" + onChange={handleRoadName} + /> + </div> + <div className="yisa-search"> + <label>停车场名称</label> + <Input + style={{ width: 240 }} + value={formData.park_name} + placeholder="请输入停车场名称" + onChange={handleParkname} + /> + </div> + <div className="yisa-search"> + <label>故障原因</label> + <TextArea + style={{ width: 240, marginLeft: 14 }} + value={formData.reason} + placeholder="请输入故障原因" + onChange={handleReason} + maxLength={10} + /> + </div> + <div className="timePicker "> + <FormSliderPicker + yisaLabel='上报时间' + defaultStartDateTime={moment(formData.start)} + defaultEndDateTime={moment(formData.end)} + yisaOnChange={onHandleDateChange} + limit={730} + dropdownData={[ + { text: "昨天", value: 1 }, + { text: "近30天", value: 30 }, + { text: "近90天", value: 90 }, + { text: "近180天", value: 180 }, + ]} + /> + <div className="btnBox"> + <Button type="primary" className="yisa-btn colorBtn" icon={<SearchOutlined />} onClick={() => { getSearchData() }}> + 搜索 + </Button> + <Button type="primary" className="yisa-btn colorReset" icon={<DeleteOutlined />} onClick={() => { getResetData() }}> + 清空 + </Button> + <Button type="primary" className="yisa-btn colorBtn" onClick={() => { getExportData() }}> + 导出 + </Button> + </div> + </div> + </div> + <div className="paid-result"> + <div className="result"> + <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> + <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> + <Table + bordered + // className='yisa-table' + dataSource={resultData.data} + columns={ + handleColumns() + } + pagination={false} + loading={ajaxLoading} + /> + <Pagination + className="pagination-common" + showSizeChanger + showQuickJumper + showTotal={() => `共 ${resultData.total_records} 条`} + total={resultData.total_records} + current={lastFormData.pn} + pageSize={lastFormData.page_size} + pageSizeOptions={pageSizeOptions} + onChange={changePn} + onShowSizeChange={changeLength} + /> + </ResultFlowResult> + </div> + </div> + + </div> + </> +} + +export default faultReport; \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/index.jsx b/src/pages/InRoadMgm/EquipmentOpe/index.jsx new file mode 100644 index 0000000..469fa89 --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/index.jsx @@ -0,0 +1,9 @@ +import berthStatus from "./berthStatus" +import faultReport from "./faultReport" +import patrolStatistics from "./patrolStatistics" + +export default { + berthStatus, + faultReport, + patrolStatistics +} \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.jsx b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.jsx new file mode 100644 index 0000000..a6260d2 --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.jsx @@ -0,0 +1,6 @@ +import React from "react" +import loadable from "@loadable/component" +import { LoadingImg } from "@/components" + +const PatrolStatisticsLoadable = loadable(() => import("./loadable")) +export default (pros) => <PatrolStatisticsLoadable {...pros} fallback={<LoadingImg />} /> \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.scss b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.scss new file mode 100644 index 0000000..8f2ffeb --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/index.scss @@ -0,0 +1,228 @@ +@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); + + +.colorBtn { + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff) !important; + border-radius: 4px; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff); + border-radius: 4px; + } +} +.colorReset { + width: 90px; + height: 36px; + border-radius: 4px; + border: none; + background: #636d80 !important; + &:hover { + color: var(--color-text); + border-color: transparent; + // background: var(--button-default-bg-hover); + width: 90px; + height: 36px; + background: #636d80; + border: none; + border-radius: 4px; + } +} +.paid-patrolStatistics{ + 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; + } + } + .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{ + margin-left: 20px; + width: 130px; + } + .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; + } + } + + } + } + } + .paid-result{ + width: 100%; + height: 800px; + background: #505a6f; + border-radius: 20px; + margin-left: 17px; + .result{ + padding: 25px; + .font{ + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + font-weight: 400; + text-align: left; + color: #eeeff1; + margin-bottom: 10px; + display: inline-block; + + em{ + color: #3aa8fe; + margin: 0 5px; + } + } + .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; + 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{ + border-top: none !important; + border-left: none !important; + } + .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-weight: 400; + border-right: none !important; + border-left: none !important; + border-bottom-color: #626b7e !important; + } + } + + } + +} +.revenue{ + .tab-title{ + text-align: center; + font-size: 18px; + font-weight: 400; + font-family: Microsoft YaHei, Microsoft YaHei-Regular; + } + width: 700px !important; + .tab-index{ + .tab-top{ + display: flex; + margin-top: 10px; + height: 30px; + line-height: 30px; + white-space: nowrap; + overflow: hidden; + border-bottom: 1px solid #e4e7ed; + .tab-li{ + margin-left: 20px; + cursor: pointer; + } + .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{ + background-color: #616b83 !important; + color: #ffffff !important; + font-size: 14px; + font-family: Microsoft YaHei, Microsoft YaHei-Bold; + font-weight: 700; + text-align: center; + border-right: none !important; + border-left: none !important; + border-bottom-color: #868d9d !important; + } + } + } + } +} +.iconTipColor{ + cursor: pointer; +} +.iconModal{ + .iconChoose{ + text-align: center; + } + .submitBtn{ + text-align: center; + margin-top: 20px; + .submit{ + width: 80px; + height: 35px; + background: #409eff; + border: none; + border-radius: 4px; + cursor: pointer; + color: #fff; + } + .cancel{ + width: 80px; + height: 35px; + background: #3e4557; + border: none; + border-radius: 4px; + color: #fff; + cursor: pointer; + margin-left: 20px; + } + } +} \ No newline at end of file diff --git a/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/loadable.jsx b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/loadable.jsx new file mode 100644 index 0000000..48b4bd1 --- /dev/null +++ b/src/pages/InRoadMgm/EquipmentOpe/patrolStatistics/loadable.jsx @@ -0,0 +1,375 @@ +import React, { useState, useRef, useEffect } from "react"; +import { ResultFlowResult, FormSliderPicker } from "@/components" +import { Select, Button, Input, Table, message, Pagination, Modal, Radio } from 'antd' +import { + pageSizeOptions +} from '@/config/character.config.js' +import "./index.scss"; +import moment from "moment"; +import { SearchOutlined, DeleteOutlined } from '@ant-design/icons'; +import ajax from '@/services' +import { useSessionStorageState } from "ahooks" +import { + DownloadOutlined +} from '@ant-design/icons'; +const { TextArea } = Input; +function patrolStatistics(props) { + const [ajaxLoading, setAjaxLoading] = useState(false) + const [resultData, setResultData] = useState({ + data: [], + total_records: 0, + export_url: '', + process_url: "" + }) + const parameter = { + road_name: '', + warning_type_name: '', + operate_name: '0', + park_name: '', + start: moment().format('YYYY-MM-DD 00:00:00'), + end: moment().format("YYYY-MM-DD 23:59:59"), + pn: 1, + page_size: Number(pageSizeOptions[0]), // 每页条数 + } + const [formData, setFormData] = useState(parameter) + const lastFormDataRef = useRef(formData) + const [lastFormData, setLastFormData] = useState(formData) + const [deleteVisible, setDeleteVisible] = useState(false) + //物品型号 + const handleRoadName = (v) => { + setFormData({ ...formData, road_name: v.target.value }) + } + //预警类型 + const handleWarningTypeName = (v) => { + setFormData({ ...formData, warning_type_name: v }) + } + //商户名称 + const handleDeployType = (value) => { + setFormData({ ...formData, operate_name: value }) + } + //停车场名称 + const handleParkname = (v) => { + setFormData({ ...formData, park_name: v.target.value }) + } + const onHandleDateChange = (v) => { + setFormData({ + ...formData, + start: v.startDateTime, + end: v.endDateTime + }) + } + //导出 + const getExportData = () => { + let data = { + ...formData + } + ajax.getBerthWarningListExport(data).then(res => { + window.open(res.export_url) + }) + } + //列表 + const handleColumns = (tab) => { + let result = [...deployListColumns]; + switch (tab) { + case '1': + result.splice(5, 1) + break; + + } + return result; + } + //重置数据 + const getResetData = () => { + setFormData({ + ...parameter + }) + getData({ ...parameter }) + } + //列表 + const deployListColumns = [ + { + title: '序号', + render: (text, record, index) => index + 1, + }, + { + title: '商户名称', + dataIndex: 'operator_name', + key: 'operator_name', + }, + { + title: '所属路段', + dataIndex: 'road_name', + key: 'road_name', + }, + { + title: '停车场名称', + dataIndex: 'park_name', + key: 'park_name', + }, + { + title: '预警类型', + dataIndex: 'warning_type_name', + key: 'warning_type_name', + }, + { + title: '预警时间', + dataIndex: 'create_time', + key: 'create_time', + }, + { + title: '点位', + dataIndex: 'reason', + key: 'reason', + }, + { + title: '处理状态', + render: (text, record) => { + return <div className="iconTipColor" onClick={() => iconBtn(record)}> + <DownloadOutlined style={{ color: '#409eff' }} /> + </div> + } + }] + const [getIconId, setGetIconId] = useState({}) + const iconBtn = (record) => { + setGetIconId(record) + setDeleteVisible(true) + } + const deleteModal = () => { + setDeleteVisible(false) + } + const [getChangeRideo, setGetchangeRideo] = useState({}) + const onChangeRideo = (e) => { + setGetchangeRideo(e.target.value) + } + const deleteModalBtn = () => { + let data = { + status: getChangeRideo, + id: getIconId.info_id + } + ajax.getChooseStatus(data).then(res => { + if (res.status === 20000) { + setDeleteVisible(false) + message.success('更新成功') + setGetchangeRideo({}) + } else { + message.error(res.message) + } + }) + } + const placeBtn = () => { + setDeleteVisible(false) + setGetchangeRideo({}) + } + // 获取列表数据 + const getData = (data = formData) => { + setAjaxLoading(true) + ajax.getBerthWarningList(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 (formData.page_size === length) { + setFormData(Object.assign({}, formData, { pn: pn, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: pn, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: pn, page_size: length })) + } + } + //切换每页条数 + const changeLength = (pn, length) => { + setFormData(Object.assign({}, formData, { pn: 1, page_size: length })) + setLastFormData(Object.assign({}, lastFormData, { pn: 1, page_size: length })) + lastFormDataRef.current = Object.assign({}, lastFormData, { pn: pn, page_size: length }) + getData(Object.assign({}, formData, { pn: 1, page_size: length })) + } + //检索数据 + const getSearchData = (data = formData) => { + getData(data) + } + + const [getMerchantDataName, setGetMerchantDataName] = useState([]) + const merchantDataName = () => { + ajax.getOperator().then(res => { + setGetMerchantDataName(res.data) + }) + } + + + + const [sessionTabList, setSessionTabList] = useSessionStorageState('patrolStatistics', { + value: { + } + }) + useEffect(() => { + console.log(location) + if (sessionTabList && Object.values(sessionTabList).length > 0) { + setFormData({ + road_name: sessionTabList?.road_name, + operate_name: sessionTabList?.operate_name, + park_name: sessionTabList?.park_name, + warning_type_name: sessionTabList?.warning_type_name, + pn: sessionTabList?.pn, + start: sessionTabList?.start, + end: sessionTabList?.end, + page_size: sessionTabList?.page_size, + }) + } + }, []) + console.log(formData); + useEffect(() => { + setSessionTabList({ + ...formData + }) + }, [formData]) + useEffect(() => { + getData() + merchantDataName() + }, []) + return <> + <div className="paid-patrolStatistics"> + <div className="paid-search"> + <label className="search">查询条件</label> + <div className="yisa-search"> + <label>预警类型</label> + <Select + style={{ width: 240, marginLeft: 14 }} + value={formData.warning_type_name} + options={sysConfig.warning_list} + onChange={handleWarningTypeName} + /> + </div> + <div className="yisa-search"> + <label>商户名称</label> + <Select + style={{ width: 240, marginLeft: 14 }} + // allowClear + value={formData.operate_name} + options={getMerchantDataName} + onChange={handleDeployType} + /> + </div> + <div className="yisa-search"> + <label>所属路段</label> + <Input + style={{ width: 240, marginLeft: 14 }} + value={formData.road_name} + placeholder="请输入所属路段" + onChange={handleRoadName} + /> + </div> + <div className="yisa-search"> + <label>停车场名称</label> + <Input + style={{ width: 240 }} + value={formData.park_name} + placeholder="请输入停车场名称" + onChange={handleParkname} + /> + </div> + <div className="timePicker "> + <FormSliderPicker + yisaLabel='上报时间' + defaultStartDateTime={moment(formData.start)} + defaultEndDateTime={moment(formData.end)} + yisaOnChange={onHandleDateChange} + limit={730} + dropdownData={[ + { text: "昨天", value: 1 }, + { text: "近30天", value: 30 }, + { text: "近90天", value: 90 }, + { text: "近180天", value: 180 }, + ]} + /> + <div className="btnBox"> + <Button type="primary" className="yisa-btn colorBtn" icon={<SearchOutlined />} onClick={() => { getSearchData() }}> + 搜索 + </Button> + <Button type="primary" className="yisa-btn colorReset" icon={<DeleteOutlined />} onClick={() => { getResetData() }}> + 清空 + </Button> + <Button type="primary" className="yisa-btn colorBtn" onClick={() => { getExportData() }}> + 导出 + </Button> + </div> + </div> + </div> + <div className="paid-result"> + <div className="result"> + <span className="font">共检索到<em>{resultData.total_records}</em>条结果</span> + <ResultFlowResult ajaxLoad={ajaxLoading} resultData={resultData.data ? resultData.data : []}> + <Table + bordered + // className='yisa-table' + dataSource={resultData.data} + columns={ + handleColumns() + } + pagination={false} + loading={ajaxLoading} + /> + <Pagination + className="pagination-common" + showSizeChanger + showQuickJumper + showTotal={() => `共 ${resultData.total_records} 条`} + total={resultData.total_records} + current={lastFormData.pn} + pageSize={lastFormData.page_size} + pageSizeOptions={pageSizeOptions} + onChange={changePn} + onShowSizeChange={changeLength} + /> + </ResultFlowResult> + </div> + </div> + + </div> + <Modal + visible={deleteVisible} + onCancel={deleteModal} + footer={null} + className="iconModal" + title='处理状态' + > + <div className="iconChoose"> + <Radio.Group onChange={onChangeRideo} value={getChangeRideo}> + <Radio value={1}>已处理</Radio> + <Radio value={2}>未处理</Radio> + <Radio value={3}>处理中</Radio> + </Radio.Group> + </div> + <div className="submitBtn"> + <button type="primary" className="submit" onClick={() => { deleteModalBtn() }}> + 提交 + </button> + <button type="primary" className="cancel colorReset" onClick={() => { placeBtn() }}> + 取消 + </button> + </div> + </Modal> + </> +} + +export default patrolStatistics; \ No newline at end of file diff --git a/src/pages/InRoadMgm/PersonMgm/Performance/SalesStat/loadable.jsx b/src/pages/InRoadMgm/PersonMgm/Performance/SalesStat/loadable.jsx index 264823d..09a571a 100644 --- a/src/pages/InRoadMgm/PersonMgm/Performance/SalesStat/loadable.jsx +++ b/src/pages/InRoadMgm/PersonMgm/Performance/SalesStat/loadable.jsx @@ -21,7 +21,7 @@ function SalesStat(props) { }) const parameter = { name: '',//登录名 - start: moment().format('YYYY-MM-DD HH:mm:ss'), + start: moment().format('YYYY-MM-DD 00:00:00'), end: moment().format("YYYY-MM-DD 23:59:59"), pn: 1, length: Number(pageSizeOptions[0]), // 每页条数 diff --git a/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx index 041e4c3..27f9df1 100644 --- a/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/DisabledCarParkRecordTotal/loadable.jsx @@ -360,31 +360,11 @@ function DisabledCarParkRecordTotal() { //options: [], }, { - name: "operator", + name: "operator", type: "Select", label: "商户名称", - options: [ - { - label: "全部", - value: -1, - }, - { - label: "错时共享停车场", - value: 0, - }, - { - label: "公共事业集团", - value: 1, - }, - { - label: "社会类停车场", - value: 2, - }, - { - label: "智慧互通", - value: 3, - }, - ], + defaultValue: "0", + placeholder: "请选择商户名称", }, { name: "road", @@ -396,28 +376,8 @@ function DisabledCarParkRecordTotal() { name: "road_type", type: "Select", label: "路段类型", - options: [ - { - label: "全部", - value: 0, - }, - { - label: "路侧平行", - value: 1, - }, - { - label: "路侧垂停", - value: 2, - }, - { - label: "封闭车场", - value: 3, - }, - { - label: "半封闭车场", - value: 4, - }, - ], + defaultValue: 0, + options: sysConfig.roadType, }, { name: "phone", @@ -430,7 +390,7 @@ function DisabledCarParkRecordTotal() { type: "Select", label: "认证状态", placeholder: "请选择认证状态", - //defaultValue: 0, + defaultValue: 0, options: [ { label: "全部", @@ -490,7 +450,7 @@ function DisabledCarParkRecordTotal() { name: "order_type", type: "Select", label: "订单类型", - //defaultValue: 1, + defaultValue: 1, options: [ { label: "进行中", diff --git a/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx index 9445f43..e2e66d3 100644 --- a/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/ParkRecordTotal/loadable.jsx @@ -69,41 +69,7 @@ function ParkRecordTotal() { render: (text, record, index) => index + 1, width: 100, }, - { - title: "停车记录ID", - dataIndex: "park_id", - align: "center", - render: (text, record, index) => ( - <div style={{ width: "130px", wordBreak: "break-all" }}> - <a onClick={() => { - navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") }); - }}>{record.park_id}</a> - </div> - ), - }, - { - title: "区域", - dataIndex: "region", - align: "center", - render: (text, record, index) => ( - <div style={{ width: "120px", wordBreak: "break-all" }}>{record.region}</div> - ) - }, - { - title: "商户名称", - dataIndex: "operator", - align: "center", - render: (text, record, index) => ( - <div style={{ width: "150px", wordBreak: "break-all" }}>{record.operator}</div> - ) - }, - { - title: "路段类型", - dataIndex: "road_type", - key: "road_type", - width: 100, - align: "center", - }, + { title: "路段名称", dataIndex: "road", @@ -240,6 +206,41 @@ function ParkRecordTotal() { </Popover> }, { + title: "停车记录ID", + dataIndex: "park_id", + align: "center", + render: (text, record, index) => ( + <div style={{ width: "130px", wordBreak: "break-all" }}> + <a onClick={() => { + navigator.clipboard.writeText(`${text}`).then(() => { message.success("已复制到剪切板") }); + }}>{record.park_id}</a> + </div> + ), + }, + { + title: "区域", + dataIndex: "region", + align: "center", + render: (text, record, index) => ( + <div style={{ width: "120px", wordBreak: "break-all" }}>{record.region}</div> + ) + }, + { + title: "商户名称", + dataIndex: "operator", + align: "center", + render: (text, record, index) => ( + <div style={{ width: "150px", wordBreak: "break-all" }}>{record.operator}</div> + ) + }, + { + title: "路段类型", + dataIndex: "road_type", + key: "road_type", + width: 100, + align: "center", + }, + { title: "操作", dataIndex: "operation", key: "operation", diff --git a/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx b/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx index 069cab9..5c25ae0 100644 --- a/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx +++ b/src/pages/InRoadMgm/RecordInquiry/UnRecordOrder/loadable.jsx @@ -131,6 +131,7 @@ function PreOrderRecord() { name: "operator", type: "Select", label: "商户名称", + defaultValue: "0", placeholder: "请输入商户名称", }, { diff --git a/src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx b/src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx index c9890a9..0e5271e 100644 --- a/src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx +++ b/src/pages/InRoadMgm/RoadMgm/AddRoad/loadable.jsx @@ -19,7 +19,7 @@ import { import { PlusOutlined } from "@ant-design/icons"; import { useLocation, useNavigate } from "react-router-dom"; -import { ImgUpload, TreeSelectGroup, SelectGaodeLngLat} from "@/components"; +import { ImgUpload, TreeSelectGroup, SelectGaodeLngLat } from "@/components"; import moment from "moment"; import "./index.scss"; import ajax from "@/services"; @@ -223,7 +223,9 @@ function AddRoad() { function getAllOperator() { ajax.getAllOperator().then((res) => { if (res.status === 20000) { - setOperatorList(res.data); + let arr = res.data + let newArr = arr.slice(1) + setOperatorList(newArr); } }); } @@ -342,8 +344,56 @@ function AddRoad() { (err) => console.error(err) ); } - + const [getRodeType, setGetRodeType] = useState([]) + const rodeType = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetRodeType(newArr) + } + const [getDeviceType, setGetDeviceType] = useState([]) + const deviceType = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetDeviceType(newArr) + } + const [getAccessType, setGetAccessType] = useState([]) + const accessType = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetAccessType(newArr) + } + const [getBusinessRoad, setGetBusinessRoad] = useState([]) + const businessRoad = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetBusinessRoad(newArr) + } + const [getCooperationModel, setGetCooperationModel] = useState([]) + const cooperationModel = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetCooperationModel(newArr) + } + const [getOperatorStatus, setGetOperatorStatus] = useState([]) + const operatorStatus = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetOperatorStatus(newArr) + } + const [getRoadStatus, setGetRoadStatus] = useState([]) + const roadStatus = () => { + let arr = sysConfig.roadType + let newArr = arr.slice(1) + setGetRoadStatus(newArr) + } useEffect(() => { + deviceType() + rodeType() + accessType() + businessRoad() + roadStatus() + operatorStatus() + cooperationModel() // getTradingArea(id); getEtcStatus(id); getAllOperator(); @@ -431,7 +481,7 @@ function AddRoad() { </Col> <Col span={8}> <Form.Item label="路段物理类型" name="road_type" rules={rules}> - <Select options={sysConfig.roadType} /> + <Select options={getRodeType} /> </Form.Item> </Col> <Form.Item @@ -448,7 +498,7 @@ function AddRoad() { name="road_device_type" rules={rules} > - <Select options={sysConfig.roadDeviceType} /> + <Select options={getDeviceType} /> </Form.Item> </Col> ) : null; @@ -519,7 +569,7 @@ function AddRoad() { rules={rules} > <Select - options={sysConfig.accessType} + options={getAccessType} disabled={getFieldValue("road_level") === 3} /> </Form.Item> @@ -607,7 +657,7 @@ function AddRoad() { > <Select disabled={roadLevel === 3} - options={sysConfig.businessRoad} + options={getBusinessRoad} /> </Form.Item> </Col> @@ -619,7 +669,7 @@ function AddRoad() { > <Select disabled={roadLevel === 3} - options={sysConfig.cooperationModel} + options={getCooperationModel} /> </Form.Item> </Col> @@ -669,7 +719,7 @@ function AddRoad() { name="operator_status" rules={rules} > - <Select options={sysConfig.operatorStatus} /> + <Select options={getOperatorStatus} /> </Form.Item> </Col> <Col span={8}> @@ -678,7 +728,7 @@ function AddRoad() { name="road_status" rules={rules} > - <Select options={sysConfig.roadStatus} /> + <Select options={getRoadStatus} /> </Form.Item> </Col> <Col span={8}> diff --git a/src/pages/InRoadMgm/RoadMgm/ParkList/loadable.jsx b/src/pages/InRoadMgm/RoadMgm/ParkList/loadable.jsx index 2fee734..9d9a9d2 100644 --- a/src/pages/InRoadMgm/RoadMgm/ParkList/loadable.jsx +++ b/src/pages/InRoadMgm/RoadMgm/ParkList/loadable.jsx @@ -348,7 +348,7 @@ const reastBtn=()=>{ title="停车记录信息" > <Descriptions title="停车记录信息"> - <Descriptions.Item label="停车场名称">{}</Descriptions.Item> + <Descriptions.Item label="停车场名称">{currentParkingItem.road}</Descriptions.Item> <Descriptions.Item label="区域"> {currentParkingItem.region} </Descriptions.Item> @@ -356,7 +356,7 @@ const reastBtn=()=>{ {currentParkingItem.operator} </Descriptions.Item> <Descriptions.Item label="泊位号"> - {currentParkingItem.road} + {currentParkingItem.berth_id} </Descriptions.Item> </Descriptions> <Descriptions title="车辆详情"> diff --git a/src/pages/InRoadMgm/RoadMgm/RoadConf/loadable.jsx b/src/pages/InRoadMgm/RoadMgm/RoadConf/loadable.jsx index 4fb98cf..f3e6f40 100644 --- a/src/pages/InRoadMgm/RoadMgm/RoadConf/loadable.jsx +++ b/src/pages/InRoadMgm/RoadMgm/RoadConf/loadable.jsx @@ -210,14 +210,14 @@ function RoadConf() { } const merchantDataName = () => { ajax.getOperator().then(res => { - let arr = res.data - let newArr = arr.slice(1) - setOperatorList(res.data) + let arr = res.data + let newArr = arr.slice(1) + setOperatorList(res.data) }) -} -useEffect(()=>{ - merchantDataName() -},[]) + } + useEffect(() => { + merchantDataName() + }, []) function getProgressData(params) { let data = { ...params, @@ -264,7 +264,7 @@ useEffect(()=>{ } // const onFinish = (value) => { - ajax.commentSetting({ ...value }).then((res) => { + ajax.commentSettings({ ...value }).then((res) => { if (res.status === 20000) { message.success(res.message); setAppraiseModal(false); @@ -438,6 +438,17 @@ useEffect(()=>{ const reastBtn = () => { searchForm.resetFields(); } + const [getAppraiseList,setAppraiseList]=useState({ + + }) + const appraise =() => { + ajax.getAppraiseData().then(res=>{ + if(res.status===20000){ + setAppraiseModal(true); + setAppraiseList(res.data) + } + }) + } useEffect(() => { search(); getAreaTree(); @@ -474,7 +485,8 @@ useEffect(()=>{ <Button type="primary" onClick={() => { - setAppraiseModal(true); + appraise() + }} > 评价批量配置 @@ -540,6 +552,7 @@ useEffect(()=>{ tooltip={{ title: "参数默认为5次,“≥n”代表正常,若为“0”表示不限制", }} + value={getAppraiseList.count} name="count" initialValue={5} required @@ -550,7 +563,8 @@ useEffect(()=>{ label="车主注册时间≥" initialValue={30} required - name="days" + value={getAppraiseList.register_time} + name="register_time" tooltip={{ title: "参数默认为30天,“≥n”代表正常,若为“0”表示不限制", }} diff --git a/src/pages/InRoadMgm/RoadMgm/RoadDetail/loadable.jsx b/src/pages/InRoadMgm/RoadMgm/RoadDetail/loadable.jsx index 934b25d..d44f84d 100644 --- a/src/pages/InRoadMgm/RoadMgm/RoadDetail/loadable.jsx +++ b/src/pages/InRoadMgm/RoadMgm/RoadDetail/loadable.jsx @@ -120,11 +120,11 @@ function RoadDetail(props) { <Panel header="车主评价详情" key="2"> <div className="score"> <label>车场评分:</label> - <span>123</span> + <span> {resultData.evaluate_score}</span> </div> <div className="level"> <label>车场评级:</label> - <span>暂无</span> + <span> {resultData.evaluate}</span> </div> </Panel> </Collapse> diff --git a/src/pages/InRoadMgm/Stuff/CategroyConf/loadable.jsx b/src/pages/InRoadMgm/Stuff/CategroyConf/loadable.jsx index 6f7ed83..8bef433 100644 --- a/src/pages/InRoadMgm/Stuff/CategroyConf/loadable.jsx +++ b/src/pages/InRoadMgm/Stuff/CategroyConf/loadable.jsx @@ -247,8 +247,8 @@ function CategroyConf(props) { setCheckData({ ...checkData, remarks: v.target.value }) } //物品类型 - const handleAddOperator = (v,option) => { - setCheckData({ ...checkData, brand_name: option.label }) + const handleAddOperator = (v) => { + setCheckData({ ...checkData, brand_name: v.target.value }) } const placeSaveBtn = () => { let data = { @@ -458,10 +458,10 @@ function CategroyConf(props) { <div className="yisa-search"> <div className="redLogo">*</div> <label>类型名称</label> - <Select + <Input value={checkData.brand_name} style={{ width: 180, marginLeft: 20 }} - options={getOperationName} + // options={getOperationName} onChange={handleAddOperator} /> </div> @@ -508,13 +508,13 @@ function CategroyConf(props) { <div className="yisa-search"> <div className="redLogo">*</div> <label>类型名称</label> - <Select + <Input value={getEditData.brand_name} style={{ width: 180, marginLeft: 20 }} - options={getOperationName} - onChange={(v,option) => { + // options={getOperationName} + onChange={() => { setGetEditData( - Object.assign({}, getEditData, { brand_name: option.label }) + Object.assign({}, getEditData, { brand_name: v.target.value }) ); }} /> diff --git a/src/pages/InRoadMgm/index.jsx b/src/pages/InRoadMgm/index.jsx index 20a42ca..a119302 100644 --- a/src/pages/InRoadMgm/index.jsx +++ b/src/pages/InRoadMgm/index.jsx @@ -1,6 +1,7 @@ import BusinessMgm from "./BusinessMgm" import EquipmentMgm from "./EquipmentMgm" import EquipmentOps from "./EquipmentOps" +import EquipmentOpe from "./EquipmentOpe" import PersonMgm from "./PersonMgm" import RecordInquiry from "./RecordInquiry" import RoadMgm from "./RoadMgm" @@ -10,6 +11,7 @@ export default { ...BusinessMgm, ...EquipmentMgm, ...EquipmentOps, + ...EquipmentOpe, ...PersonMgm, ...RecordInquiry, ...RoadMgm, diff --git a/src/pages/OperationCenter/CustomerServieMgm/ErrorCorrection/loadable.jsx b/src/pages/OperationCenter/CustomerServieMgm/ErrorCorrection/loadable.jsx index f685c8e..129305c 100644 --- a/src/pages/OperationCenter/CustomerServieMgm/ErrorCorrection/loadable.jsx +++ b/src/pages/OperationCenter/CustomerServieMgm/ErrorCorrection/loadable.jsx @@ -175,10 +175,7 @@ function ErrorCorrection(props) { const [getCanCaDer, setGetCanCaDer] = useState([]) const getCascaderList = () => { - let data = { - type: 3 - } - ajax.cascaderList(data).then(res => { + ajax.cascaderList().then(res => { if (res.status === 20000) { setGetCanCaDer(res.data) } @@ -296,7 +293,7 @@ function ErrorCorrection(props) { 区域:<span className="font">{getImg.cityName}</span> </div> <div className="plate"> - 车辆状态:<span className="font">{getImg.parkStateDesc}</span> + 车场状态:<span className="font">{getImg.parkStateDesc}</span> </div> </div> </div> diff --git a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreAudit/loadable.jsx b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreAudit/loadable.jsx index 9ee87da..f0d69e9 100644 --- a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreAudit/loadable.jsx +++ b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreAudit/loadable.jsx @@ -382,7 +382,7 @@ function GeoSignalIgnoreAudit(props) { /> </div> <div className="yisa-search"> - <label>忽略型号</label> + <label>忽略类型</label> <Select style={{ width: 270 }} placeholder="请选择" diff --git a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreConf/loadable.jsx b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreConf/loadable.jsx index 883893b..45974e5 100644 --- a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreConf/loadable.jsx +++ b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreConf/loadable.jsx @@ -236,12 +236,14 @@ function GeoSignalIgnoreConf(props) { placeholder='请输入类型名称' style={{ width: 400, height: 50, marginLeft: 7 }} onChange={handleConfName} + value={getModalData.confName} /> </div> <div className="yisa-search" style={{marginLeft:15}}> <label>类型描述</label> <TextArea placeholder='请输入类型描述' + value={getModalData.content} style={{ width: 400, height: 100, marginLeft: 7 }} onChange={handleContent} /> diff --git a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreInquiry/loadable.jsx b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreInquiry/loadable.jsx index d7ddeb3..2163831 100644 --- a/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreInquiry/loadable.jsx +++ b/src/pages/OperationCenter/GeoSignalIgnore/GeoSignalIgnoreInquiry/loadable.jsx @@ -311,7 +311,7 @@ function GeoSignalIgnoreInquiry(props) { /> </div> <div className="yisa-search"> - <label>忽略型号</label> + <label>忽略类型</label> <Select style={{ width: 270 }} placeholder="请选择" diff --git a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx index 9886272..df867ac 100644 --- a/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx +++ b/src/pages/OperationCenter/OtherBusiness/Staggered/StaggeredMgm/loadable.jsx @@ -512,10 +512,9 @@ function StaggeredMgm(props) { onCancel={checkModal} footer={null} className="roadModal" - title='查看' > <div className="carTitle"> - <span className="font">车辆信息</span> + <span className="font">基础信息</span> </div> <div className="foundation"> <div className="add"> @@ -678,7 +677,7 @@ function StaggeredMgm(props) { className="staggered-add" > <div className="carTitle"> - <span className="font">车辆信息</span> + <span className="font">基础信息</span> </div> <div className="foundation"> <div className="add"> @@ -842,10 +841,9 @@ function StaggeredMgm(props) { onCancel={editModal} footer={null} className="staggered-add" - title='编辑' > <div className="carTitle"> - <span className="font">车辆信息</span> + <span className="font">基础信息</span> </div> <div className="foundation"> <div className="add"> diff --git a/src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx b/src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx index ae12ed1..ff32406 100644 --- a/src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx +++ b/src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx @@ -48,8 +48,8 @@ function BusinessConf(props) { operator_name: "0", item_name: '', parameterValue: 1, - parameter:'', - parameterValu:'' + parameter_exit:'', + parameter_exit_pda:'' }) const addAdmin = () => { setImgVisible(true) @@ -77,19 +77,15 @@ function BusinessConf(props) { } //添加 const onChangeAdd = (e) => { - setAddManage({ ...addManage, parameterValue: e.target.value }) - setAddManage({ - parameter:'', - parameterValu:'' - }) + setAddManage({ ...addManage, parameterValue: e.target.value , parameter_exit:'', parameter_exit_pda:''}) } //添加 const onChangehoose = (e) => { - setAddManage({ ...addManage, parameter: e.target.value }) + setAddManage({ ...addManage, parameter_exit: e.target.value }) } //添加 const onChangeAddTypeValue = (e) => { - setAddManage({ ...addManage, parameterValu: e.target.value }) + setAddManage({ ...addManage, parameter_exit_pda: e.target.value }) } const [getType, setGetType] = useState(1) const onChangeAddType = (e) => { @@ -590,10 +586,10 @@ function BusinessConf(props) { { getType == 1 ? <> - <Radio.Group onChange={onChangehoose} value={addManage.parameter}> + <Radio.Group onChange={onChangehoose} value={addManage.parameter_exit}> <Radio value={3}>自动出场</Radio> </Radio.Group> - <Radio.Group onChange={onChangeAddTypeValue} value={addManage.parameterValu}> + <Radio.Group onChange={onChangeAddTypeValue} value={addManage.parameter_exit_pda}> <Radio value={4}>PDA确认出场</Radio> </Radio.Group> </> diff --git a/src/router/menu-bk.js b/src/router/menu-bk.js index b430e9a..3d94dc2 100644 --- a/src/router/menu-bk.js +++ b/src/router/menu-bk.js @@ -638,7 +638,48 @@ "is_menu": 1 } ] - } + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备运维", + "name": "eqManage", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/berthStatus", + "icon": "", + "text": "泊位运营状态", + "name": "berthStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/faultReport", + "icon": "", + "text": "故障上报记录", + "name": "faultReport", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/patrolStatistics", + "icon": "", + "text": "巡检预警统计", + "name": "patrolStatistics", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } ], "operationCenter":[ { diff --git a/src/router/menu.js b/src/router/menu.js index a1ededa..7e7712b 100644 --- a/src/router/menu.js +++ b/src/router/menu.js @@ -1,1283 +1,1328 @@ { - "status": 20000, - "message": "success", - "data": { - "user_info": { - "user_uid": 1, - "id_card": "420103199901011234", - "role_id": 2, - "name": "角色1", - "department_name": "青岛公共事业集团", - "user_name": "ceshi", - "tel": "13512341234", - "auth": "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90" + "status": 20000, + "message": "success", + "data": { + "user_info": { + "user_uid": 1, + "id_card": "420103199901011234", + "role_id": 2, + "name": "角色1", + "department_name": "青岛公共事业集团", + "user_name": "ceshi", + "tel": "13512341234", + "auth": "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90" + }, + "route": [ + "inRoadOverview", + "RecordInquiry", + "parkRecordTotal", + "", + "roadMgm", + "personMgm", + "stuffMgmDir", + "businessMgmDir", + "eqMgmDir", + "parkList", + "roadConf", + "arrearsInquiries", + "disabledCarParkRecordTotal", + "arrearsRecordTotal", + "entryExitOptPDA", + "geomagneticSignalMgm", + "payRecordQuery", + "preOrderRecord", + "unRecordOrder", + "personInfo", + "attendance", + "workerAttendance", + "fence", + "scheduleMgm", + "workerSchedule", + "audit", + "performance", + "workerStat", + "salesStat", + "collectorWorkStat", + "inspectorWorkStat", + "mesNotification", + "auditConf", + "auditCheck", + "stuffMgm", + "stuffStat", + "categroyConf", + "modelConf", + "specialRecord", + "blacklist", + "chargeRules", + "preChargeRules", + "selfParkingRules", + "freeRule", + "abnormalParking", + "exceptionParkReport", + "exceptionParkStat", + "equipmentStatus", + "barMgm", + "nvrMgm", + "monitorEquipment", + "equipmentBrand", + "addRoad", + "roadDetail", + "configRoad", + "carInfo", + "carAuth", + "userInfo", + "userAuth", + "userTag", + "arrearsCar", + "callbackSuggestion", + "complaintMgm", + "errorCorrection", + "complainManage", + "complainWorkStat", + "complainStat", + "areaManage", + "orgnizationMgm", + "adminMgm", + "roleMgm", + "systemLog", + "confMes", + "businessConf", + "hotCbdConf", + "merchantInfo", + "invoiceConf", + "couponRules", + "activitySpecificTopic", + "couponDistribute", + "writeOffDetail", + "writeOffStat", + "adsMgm", + "informationMgm", + "appPushMgm", + "generalBusiness", + "payRepeat", + "geoSignalIgnoreAudit", + "geoSignalIgnoreInquiry", + "geoSignalIgnoreConf", + "outRoadOverview", + "chargeRulesMgm", + "outSegment", + "zombieCarMgm", + "liftUpPoleRecord", + "zombieCarCleanRecord", + "outParkingRecordInquiry", + "outPayOrders", + "outDevice", + "berthStatus", + "faultReport", + "patrolStatistics", + "outMonitorMgm", + "outNvrMgm", + "merchantAdmin", + "shortMessageMgm", + "functionMgm", + "appConfiguration", + "merchantConfiguration", + "platformConfiguration", + "payRecordTotal", + "startExceptionDeal", + "dealRecordAudit", + "dealRecordList", + "editOrderInquiry", + "parkingOrderInquiry", + "productOrderInquiry", + "refundOrderInquiry", + "createInvoice", + "createInvoiceRecord", + "parkingIncomeReport", + "operationReport", + "preOrderReport", + "paySummaryReport", + "payChannelStat", + "pdaStat", + "parkCardReport", + "bookReport", + "billDiff", + "abnormalPayment", + "parkingCardMgm", + "parkingCardOrder", + "parkingCardStat", + "StaggeredMgm", + "staggeredOrder", + "staggeredStat" + ], + "menus_new": { + "inRoad": [{ + "path": "/inRoad/InRoadOverview", + "icon": "zongshujuliang", + "text": "概览", + "name": "inRoadOverview", + "id": 2, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1 }, - "route": [ - "inRoadOverview", - "RecordInquiry", - "parkRecordTotal", - "", - "roadMgm", - "personMgm", - "stuffMgmDir", - "businessMgmDir", - "eqMgmDir", - "parkList", - "roadConf", - "arrearsInquiries", - "disabledCarParkRecordTotal", - "arrearsRecordTotal", - "entryExitOptPDA", - "geomagneticSignalMgm", - "payRecordQuery", - "preOrderRecord", - "unRecordOrder", - "personInfo", - "attendance", - "workerAttendance", - "fence", - "scheduleMgm", - "workerSchedule", - "audit", - "performance", - "workerStat", - "salesStat", - "collectorWorkStat", - "inspectorWorkStat", - "mesNotification", - "auditConf", - "auditCheck", - "stuffMgm", - "stuffStat", - "categroyConf", - "modelConf", - "specialRecord", - "blacklist", - "chargeRules", - "preChargeRules", - "selfParkingRules", - "freeRule", - "abnormalParking", - "exceptionParkReport", - "exceptionParkStat", - "equipmentStatus", - "barMgm", - "nvrMgm", - "monitorEquipment", - "equipmentBrand", - "addRoad", - "roadDetail", - "configRoad", - "carInfo", - "carAuth", - "userInfo", - "userAuth", - "userTag", - "arrearsCar", - "callbackSuggestion", - "complaintMgm", - "errorCorrection", - "complainManage", - "complainWorkStat", - "complainStat", - "areaManage", - "orgnizationMgm", - "adminMgm", - "roleMgm", - "systemLog", - "confMes", - "businessConf", - "hotCbdConf", - "merchantInfo", - "invoiceConf", - "couponRules", - "activitySpecificTopic", - "couponDistribute", - "writeOffDetail", - "writeOffStat", - "adsMgm", - "informationMgm", - "appPushMgm", - "generalBusiness", - "payRepeat", - "geoSignalIgnoreAudit", - "geoSignalIgnoreInquiry", - "geoSignalIgnoreConf", - "outRoadOverview", - "chargeRulesMgm", - "outSegment", - "zombieCarMgm", - "liftUpPoleRecord", - "zombieCarCleanRecord", - "outParkingRecordInquiry", - "outPayOrders", - "outDevice", - "outMonitorMgm", - "outNvrMgm", - "merchantAdmin", - "shortMessageMgm", - "functionMgm", - "appConfiguration", - "merchantConfiguration", - "platformConfiguration", - "payRecordTotal", - "startExceptionDeal", - "dealRecordAudit", - "dealRecordList", - "editOrderInquiry", - "parkingOrderInquiry", - "productOrderInquiry", - "refundOrderInquiry", - "createInvoice", - "createInvoiceRecord", - "parkingIncomeReport", - "operationReport", - "preOrderReport", - "paySummaryReport", - "payChannelStat", - "pdaStat", - "parkCardReport", - "bookReport", - "billDiff", - "abnormalPayment", - "parkingCardMgm", - "parkingCardOrder", - "parkingCardStat", - "StaggeredMgm", - "staggeredOrder", - "staggeredStat" - ], - "menus_new": { - "inRoad": [ - { - "path": "/inRoad/InRoadOverview", - "icon": "zongshujuliang", - "text": "概览", - "name": "inRoadOverview", - "id": 2, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "", - "icon": "zongshujuliang", - "text": "记录查询", - "name": "RecordInquiry", - "id": 3, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/ParkRecordTotal", - "icon": "", - "text": "停车记录查询", - "name": "parkRecordTotal", - "id": 4, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/ArrearsInquiries", - "icon": "", - "text": "欠费追缴查询", - "name": "arrearsInquiries", - "id": 13, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/DisabledCarParkRecordTotal", - "icon": "", - "text": "残疾车停车记录查询", - "name": "disabledCarParkRecordTotal", - "id": 14, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/ArrearsRecordTotal", - "icon": "", - "text": "停车欠费订单", - "name": "arrearsRecordTotal", - "id": 15, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/EntryExitOptPDA", - "icon": "", - "text": "PDA操作记录", - "name": "entryExitOptPDA", - "id": 16, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/GeomagneticSignalMgm", - "icon": "", - "text": "地磁信号记录", - "name": "geomagneticSignalMgm", - "id": 17, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/PayRecordQuery", - "icon": "", - "text": "停车支付订单", - "name": "payRecordQuery", - "id": 18, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/PreOrderRecord", - "icon": "", - "text": "停车预付订单", - "name": "preOrderRecord", - "id": 19, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/UnRecordOrder", - "icon": "", - "text": "未登记订单查询", - "name": "unRecordOrder", - "id": 20, - "pid": 3, - "project_name": "inRoad", - "is_menu": 1 - } - ] - }, - { - "path": "", - "icon": "zongshujuliang", - "text": "路段管理", - "name": "roadMgm", - "id": 6, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/ParkList", - "icon": "", - "text": "泊位列表", - "name": "parkList", - "id": 11, - "pid": 6, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/RoadConf", - "icon": "", - "text": "路段配置", - "name": "roadConf", - "id": 12, - "pid": 6, - "project_name": "inRoad", - "is_menu": 1 - } - ] - }, - { - "path": "", - "icon": "xinxijiansuo", - "text": "人员管理", - "name": "personMgm", - "id": 7, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/personInfo", - "icon": "", - "text": "人员信息", - "name": "personInfo", - "id": 21, - "pid": 7, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "", - "icon": "", - "text": "排班考勤", - "name": "attendance", - "id": 22, - "pid": 7, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/workerAttendance", - "icon": "", - "text": "人员考勤", - "name": "workerAttendance", - "id": 23, - "pid": 22, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/fence", - "icon": "", - "text": "电子围栏", - "name": "fence", - "id": 24, - "pid": 22, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/scheduleMgm", - "icon": "", - "text": "排班管理", - "name": "scheduleMgm", - "id": 25, - "pid": 22, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/workerSchedule", - "icon": "", - "text": "人员排班", - "name": "workerSchedule", - "id": 26, - "pid": 22, - "project_name": "inRoad", - "is_menu": 1 - } - ] - }, - { - "path": "", - "icon": "", - "text": "稽查管理", - "name": "audit", - "id": 27, - "pid": 7, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/auditConf", - "icon": "", - "text": "稽查配置", - "name": "auditConf", - "id": 34, - "pid": 27, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/auditCheck", - "icon": "", - "text": "稽查审核", - "name": "auditCheck", - "id": 35, - "pid": 27, - "project_name": "inRoad", - "is_menu": 1 - } - ] - }, - { - "path": "", - "icon": "", - "text": "绩效考核", - "name": "performance", - "id": 28, - "pid": 7, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/workerStat", - "icon": "", - "text": "收费员工统计", - "name": "workerStat", - "id": 29, - "pid": 28, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/salesStat", - "icon": "", - "text": "营收统计", - "name": "salesStat", - "id": 30, - "pid": 28, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/collectorWorkStat", - "icon": "", - "text": "稽查员工统计", - "name": "collectorWorkStat", - "id": 31, - "pid": 28, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/inspectorWorkStat", - "icon": "", - "text": "被稽查员工统计", - "name": "inspectorWorkStat", - "id": 32, - "pid": 28, - "project_name": "inRoad", - "is_menu": 1 - } - ] - }, - { - "path": "/inRoad/mesNotification", - "icon": "", - "text": "消息通知", - "name": "mesNotification", - "id": 33, - "pid": 7, - "project_name": "inRoad", - "is_menu": 1 - } - ] + { + "path": "", + "icon": "zongshujuliang", + "text": "记录查询", + "name": "RecordInquiry", + "id": 3, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/ParkRecordTotal", + "icon": "", + "text": "停车记录查询", + "name": "parkRecordTotal", + "id": 4, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/ArrearsInquiries", + "icon": "", + "text": "欠费追缴查询", + "name": "arrearsInquiries", + "id": 13, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/DisabledCarParkRecordTotal", + "icon": "", + "text": "残疾车停车记录查询", + "name": "disabledCarParkRecordTotal", + "id": 14, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/ArrearsRecordTotal", + "icon": "", + "text": "停车欠费订单", + "name": "arrearsRecordTotal", + "id": 15, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/EntryExitOptPDA", + "icon": "", + "text": "PDA操作记录", + "name": "entryExitOptPDA", + "id": 16, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/GeomagneticSignalMgm", + "icon": "", + "text": "地磁信号记录", + "name": "geomagneticSignalMgm", + "id": 17, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/PayRecordQuery", + "icon": "", + "text": "停车支付订单", + "name": "payRecordQuery", + "id": 18, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/PreOrderRecord", + "icon": "", + "text": "停车预付订单", + "name": "preOrderRecord", + "id": 19, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/UnRecordOrder", + "icon": "", + "text": "未登记订单查询", + "name": "unRecordOrder", + "id": 20, + "pid": 3, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "路段管理", + "name": "roadMgm", + "id": 6, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/ParkList", + "icon": "", + "text": "泊位列表", + "name": "parkList", + "id": 11, + "pid": 6, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/RoadConf", + "icon": "", + "text": "路段配置", + "name": "roadConf", + "id": 12, + "pid": 6, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "xinxijiansuo", + "text": "人员管理", + "name": "personMgm", + "id": 7, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/personInfo", + "icon": "", + "text": "人员信息", + "name": "personInfo", + "id": 21, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "", + "icon": "", + "text": "排班考勤", + "name": "attendance", + "id": 22, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/workerAttendance", + "icon": "", + "text": "人员考勤", + "name": "workerAttendance", + "id": 23, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 }, { - "path": "", - "icon": "zongshujuliang", - "text": "物品管理", - "name": "stuffMgmDir", - "id": 8, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/stuffMgm", - "icon": "", - "text": "物品管理", - "name": "stuffMgm", - "id": 36, - "pid": 8, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/stuffStat", - "icon": "", - "text": "物品统计", - "name": "stuffStat", - "id": 37, - "pid": 8, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/categroyConf", - "icon": "", - "text": "类型配置", - "name": "categroyConf", - "id": 38, - "pid": 8, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/modelConf", - "icon": "", - "text": "型号配置", - "name": "modelConf", - "id": 39, - "pid": 8, - "project_name": "inRoad", - "is_menu": 1 - } - ] + "path": "/inRoad/fence", + "icon": "", + "text": "电子围栏", + "name": "fence", + "id": 24, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 }, { - "path": "", - "icon": "zongshujuliang", - "text": "业务管理", - "name": "businessMgmDir", - "id": 9, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/specialRecord", - "icon": "", - "text": "白名单管理", - "name": "specialRecord", - "id": 40, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/blacklist", - "icon": "", - "text": "黑名单管理", - "name": "blacklist", - "id": 41, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/chargeRules", - "icon": "", - "text": "计费规则", - "name": "chargeRules", - "id": 42, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/preChargeRules", - "icon": "", - "text": "预付费规则", - "name": "preChargeRules", - "id": 43, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/selfParkingRules", - "icon": "", - "text": "自主停车规则", - "name": "selfParkingRules", - "id": 44, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/freeRule", - "icon": "", - "text": "免费规则", - "name": "freeRule", - "id": 45, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "", - "icon": "", - "text": "异常停车", - "name": "abnormalParking", - "id": 46, - "pid": 9, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/exceptionParkReport", - "icon": "", - "text": "上报记录查询", - "name": "exceptionParkReport", - "id": 47, - "pid": 46, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/exceptionParkStat", - "icon": "", - "text": "异常停车统计", - "name": "exceptionParkStat", - "id": 48, - "pid": 46, - "project_name": "inRoad", - "is_menu": 1 - } - ] - } - ] + "path": "/inRoad/scheduleMgm", + "icon": "", + "text": "排班管理", + "name": "scheduleMgm", + "id": 25, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 }, { - "path": "", - "icon": "zongshujuliang", - "text": "设备管理", - "name": "eqMgmDir", - "id": 10, - "pid": 1, - "project_name": "inRoad", - "is_menu": 1, - "children": [ - { - "path": "/inRoad/equipmentStatus", - "icon": "", - "text": "设备状态", - "name": "equipmentStatus", - "id": 49, - "pid": 10, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/barMgm", - "icon": "", - "text": "杆位管理", - "name": "barMgm", - "id": 50, - "pid": 10, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/nvrMgm", - "icon": "", - "text": "NVR管理", - "name": "nvrMgm", - "id": 51, - "pid": 10, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/monitorEquipment", - "icon": "", - "text": "监控设备", - "name": "monitorEquipment", - "id": 52, - "pid": 10, - "project_name": "inRoad", - "is_menu": 1 - }, - { - "path": "/inRoad/equipmentBrand", - "icon": "", - "text": "设备品牌", - "name": "equipmentBrand", - "id": 53, - "pid": 10, - "project_name": "inRoad", - "is_menu": 1 - } - ] + "path": "/inRoad/workerSchedule", + "icon": "", + "text": "人员排班", + "name": "workerSchedule", + "id": 26, + "pid": 22, + "project_name": "inRoad", + "is_menu": 1 } - ], - "operationCenter":[ - { - "text": "车辆管理", - "name": "carMgmDir", - "icon": "zongshujuliang", - "children": [ - { - "text": "车辆信息", - "name": "carInfo", - "path":"/operationCenter/carInfo" - }, - { - "text": "车辆认证", - "name": "carAuth", - "path":"/operationCenter/carAuth" - } - ] + ] + }, + { + "path": "", + "icon": "", + "text": "稽查管理", + "name": "audit", + "id": 27, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/auditConf", + "icon": "", + "text": "稽查配置", + "name": "auditConf", + "id": 34, + "pid": 27, + "project_name": "inRoad", + "is_menu": 1 }, { - "text": "用户管理", - "name": "userMgmDir", - "icon": "zongshujuliang", - "children": [ - { - "text": "用户信息", - "name": "userInfo", - "path":"/operationCenter/userInfo" - }, - { - "path": "/operationCenter/userAuth", - "text": "用户认证", - "name": "userAuth" - }, - { - "path": "/operationCenter/userTag", - "text": "用户标签", - "name": "userTag" - } - ] - }, - { - "text": "欠费追缴", - "name": "arrearsRecover", - "icon": "zongshujuliang", - "children": [ - { - "text": "欠费车辆", - "name": "arrearsCar", - "path":"/operationCenter/arrearsCar" - } - ] - }, - { - "text": "运营营销", - "name": "operationSales", - "icon": "zongshujuliang", - "children": [ - { - "text": "优惠券管理", - "name": "couponMgm", - "icon": "", - "children": [ - { - "text": "优惠券规则", - "name": "couponRules", - "path":"/operationCenter/couponRules" - }, - { - "text": "活动专题", - "name": "activitySpecificTopic", - "path":"/operationCenter/activitySpecificTopic" - }, - { - "text": "手动派发", - "name": "couponDistribute", - "path":"/operationCenter/couponDistribute" - }, - { - "text": "核销明细", - "name": "writeOffDetail", - "path":"/operationCenter/writeOffDetail" - }, - { - "text": "核销统计", - "name": "writeOffStat", - "path":"/operationCenter/writeOffStat" - } - ] - }, - { - "text": "广告管理", - "name": "adsMgm", - "path":"/operationCenter/adsMgm" - }, - { - "text": "资讯管理", - "name": "informationMgm", - "path":"/operationCenter/informationMgm" - }, - { - "text": "推送管理", - "name": "appPushMgm", - "path":"/operationCenter/appPushMgm" - }, - { - "text": "短信管理", - "name": "shortMessageMgm", - "path": "/operationCenter/shortMessageMgm" - } - ] + "path": "/inRoad/auditCheck", + "icon": "", + "text": "稽查审核", + "name": "auditCheck", + "id": 35, + "pid": 27, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "", + "text": "绩效考核", + "name": "performance", + "id": 28, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/workerStat", + "icon": "", + "text": "收费员工统计", + "name": "workerStat", + "id": 29, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 }, { - "text": "增值业务", - "icon": "zongshujuliang", - "children":[ - { - "text": "停车卡", - "icon": "", - "children":[ - { - "path": "/operationCenter/parkingCardMgm", - "text": "停车卡管理", - "name": "parkingCardMgm" - }, - { - "path": "/operationCenter/parkingCardOrder", - "text": "停车卡订单", - "name": "parkingCardOrder" - }, - { - "path": "/operationCenter/parkingCardStat", - "text": "停车卡统计", - "name": "parkingCardStat" - } - ] - }, - { - "text": "错峰停车", - "icon": "", - "children":[ - { - "path": "/operationCenter/StaggeredMgm", - "text": "错峰管理", - "name": "StaggeredMgm" - }, - { - "path": "/operationCenter/staggeredOrder", - "text": "错峰订单", - "name": "staggeredOrder" - }, - { - "path": "/operationCenter/staggeredStat", - "text": "错峰统计", - "name": "staggeredStat" - } - ] - } - ] + "path": "/inRoad/salesStat", + "icon": "", + "text": "营收统计", + "name": "salesStat", + "id": 30, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 }, { - "text": "客服管理", - "name": "customerServieMgm", - "icon": "zongshujuliang", - "children": [ - { - "text": "反馈建议", - "name": "callbackSuggestion", - "path":"/operationCenter/callbackSuggestion" - }, - { - "text": "申诉管理", - "name": "complaintMgm", - "path":"/operationCenter/complaintMgm" - }, - { - "text": "车场纠错", - "name": "errorCorrection", - "path":"/operationCenter/errorCorrection" - }, - { - "text": "客诉工单", - "name": "complainManage", - "path":"/operationCenter/complainManage" - }, - { - "text": "客诉统计", - "name": "complainStat", - "path":"/operationCenter/complainStat" - }, - { - "text": "工作统计", - "name": "complainWorkStat", - "path":"/operationCenter/complainWorkStat" - } - ] + "path": "/inRoad/collectorWorkStat", + "icon": "", + "text": "稽查员工统计", + "name": "collectorWorkStat", + "id": 31, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 }, { - "text": "地磁信号忽略", - "name": "geoSignalIgnore", - "icon": "zongshujuliang", - "children": [ - { - "text": "地磁信号忽略审核", - "name": "geoSignalIgnoreAudit", - "path":"/operationCenter/geoSignalIgnoreAudit" - }, - { - "text": "地磁信号忽略查询", - "name": "geoSignalIgnoreInquiry", - "path":"/operationCenter/geoSignalIgnoreInquiry" - }, - { - "text": "地磁信号忽略配置", - "name": "geoSignalIgnoreConf", - "path":"/operationCenter/geoSignalIgnoreConf" - } - ] + "path": "/inRoad/inspectorWorkStat", + "icon": "", + "text": "被稽查员工统计", + "name": "inspectorWorkStat", + "id": 32, + "pid": 28, + "project_name": "inRoad", + "is_menu": 1 } - ], - "systemMgm":[ - { - "text": "区域管理", - "name": "areaManage", - "icon": "zongshujuliang", - "path": "/systemMgm/areaManage", - }, - { - "text": "组织架构", - "name": "orgnizationMgm", - "icon": "zongshujuliang", - "path": "/systemMgm/orgnizationMgm", + ] + }, + { + "path": "/inRoad/mesNotification", + "icon": "", + "text": "消息通知", + "name": "mesNotification", + "id": 33, + "pid": 7, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "物品管理", + "name": "stuffMgmDir", + "id": 8, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/stuffMgm", + "icon": "", + "text": "物品管理", + "name": "stuffMgm", + "id": 36, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/stuffStat", + "icon": "", + "text": "物品统计", + "name": "stuffStat", + "id": 37, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/categroyConf", + "icon": "", + "text": "类型配置", + "name": "categroyConf", + "id": 38, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/modelConf", + "icon": "", + "text": "型号配置", + "name": "modelConf", + "id": 39, + "pid": 8, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "业务管理", + "name": "businessMgmDir", + "id": 9, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/specialRecord", + "icon": "", + "text": "白名单管理", + "name": "specialRecord", + "id": 40, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/blacklist", + "icon": "", + "text": "黑名单管理", + "name": "blacklist", + "id": 41, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/chargeRules", + "icon": "", + "text": "计费规则", + "name": "chargeRules", + "id": 42, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/preChargeRules", + "icon": "", + "text": "预付费规则", + "name": "preChargeRules", + "id": 43, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/selfParkingRules", + "icon": "", + "text": "自主停车规则", + "name": "selfParkingRules", + "id": 44, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/freeRule", + "icon": "", + "text": "免费规则", + "name": "freeRule", + "id": 45, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "", + "icon": "", + "text": "异常停车", + "name": "abnormalParking", + "id": 46, + "pid": 9, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/exceptionParkReport", + "icon": "", + "text": "上报记录查询", + "name": "exceptionParkReport", + "id": 47, + "pid": 46, + "project_name": "inRoad", + "is_menu": 1 }, { - "text": "管理员管理", - "name": "adminMgm", - "icon": "zongshujuliang", - "path": "/systemMgm/adminMgm", + "path": "/inRoad/exceptionParkStat", + "icon": "", + "text": "异常停车统计", + "name": "exceptionParkStat", + "id": 48, + "pid": 46, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备管理", + "name": "eqMgmDir", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/equipmentStatus", + "icon": "", + "text": "设备状态", + "name": "equipmentStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/barMgm", + "icon": "", + "text": "杆位管理", + "name": "barMgm", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/nvrMgm", + "icon": "", + "text": "NVR管理", + "name": "nvrMgm", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/monitorEquipment", + "icon": "", + "text": "监控设备", + "name": "monitorEquipment", + "id": 52, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/equipmentBrand", + "icon": "", + "text": "设备品牌", + "name": "equipmentBrand", + "id": 53, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备运维", + "name": "eqManage", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/berthStatus", + "icon": "", + "text": "泊位运营状态", + "name": "berthStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/faultReport", + "icon": "", + "text": "故障上报记录", + "name": "faultReport", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/patrolStatistics", + "icon": "", + "text": "巡检预警统计", + "name": "patrolStatistics", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } + ], + "operationCenter": [{ + "text": "车辆管理", + "name": "carMgmDir", + "icon": "zongshujuliang", + "children": [{ + "text": "车辆信息", + "name": "carInfo", + "path": "/operationCenter/carInfo" + }, + { + "text": "车辆认证", + "name": "carAuth", + "path": "/operationCenter/carAuth" + } + ] + }, + { + "text": "用户管理", + "name": "userMgmDir", + "icon": "zongshujuliang", + "children": [{ + "text": "用户信息", + "name": "userInfo", + "path": "/operationCenter/userInfo" + }, + { + "path": "/operationCenter/userAuth", + "text": "用户认证", + "name": "userAuth" + }, + { + "path": "/operationCenter/userTag", + "text": "用户标签", + "name": "userTag" + } + ] + }, + { + "text": "欠费追缴", + "name": "arrearsRecover", + "icon": "zongshujuliang", + "children": [{ + "text": "欠费车辆", + "name": "arrearsCar", + "path": "/operationCenter/arrearsCar" + }] + }, + { + "text": "运营营销", + "name": "operationSales", + "icon": "zongshujuliang", + "children": [{ + "text": "优惠券管理", + "name": "couponMgm", + "icon": "", + "children": [{ + "text": "优惠券规则", + "name": "couponRules", + "path": "/operationCenter/couponRules" }, { - "text": "角色管理", - "name": "roleMgm", - "icon": "zongshujuliang", - "path": "/systemMgm/roleMgm", + "text": "活动专题", + "name": "activitySpecificTopic", + "path": "/operationCenter/activitySpecificTopic" }, { - "text": "系统日志", - "name": "systemLog", - "icon": "zongshujuliang", - "path": "/systemMgm/systemLog", + "text": "手动派发", + "name": "couponDistribute", + "path": "/operationCenter/couponDistribute" }, { - "text": "消息管理", - "name": "messageMgm", - "icon": "zongshujuliang", - "children": [ - { - "text": "业务配置", - "name": "confMes", - "icon": "", - "path": "/systemMgm/confMes", - }, - ] + "text": "核销明细", + "name": "writeOffDetail", + "path": "/operationCenter/writeOffDetail" }, { - "text": "业务配置", - "name": "businessConfig", - "icon": "zongshujuliang", - "children": [ - { - "text": "业务配置", - "name": "businessConf", - "icon": "", - "path": "/systemMgm/businessConf", - }, - { - "text": "热门商圈配置", - "name": "hotCbdConf", - "icon": "", - "path": "/systemMgm/hotCbdConf", - }, - ] + "text": "核销统计", + "name": "writeOffStat", + "path": "/operationCenter/writeOffStat" } - ], - "merchantMgm": [ - { - "text": "商户信息", - "name": "merchantInfo", - "icon": "zongshujuliang", - "path": "/merchantMgm/merchantInfo", - }, - { - "text": "发票配置", - "name": "invoiceConf", - "icon": "zongshujuliang", - "path": "/merchantMgm/invoiceConf", + ] + }, + { + "text": "广告管理", + "name": "adsMgm", + "path": "/operationCenter/adsMgm" + }, + { + "text": "资讯管理", + "name": "informationMgm", + "path": "/operationCenter/informationMgm" + }, + { + "text": "推送管理", + "name": "appPushMgm", + "path": "/operationCenter/appPushMgm" + }, + { + "text": "短信管理", + "name": "shortMessageMgm", + "path": "/operationCenter/shortMessageMgm" + } + ] + }, + { + "text": "增值业务", + "icon": "zongshujuliang", + "children": [{ + "text": "停车卡", + "icon": "", + "children": [{ + "path": "/operationCenter/parkingCardMgm", + "text": "停车卡管理", + "name": "parkingCardMgm" }, { - "text": "商户管理员", - "name": "merchantAdmin", - "icon": "zongshujuliang", - "path": "/merchantMgm/merchantAdmin", + "path": "/operationCenter/parkingCardOrder", + "text": "停车卡订单", + "name": "parkingCardOrder" }, { - "text": "功能信息", - "name": "functionMgm", - "icon": "zongshujuliang", - "path": "/merchantMgm/functionMgm", + "path": "/operationCenter/parkingCardStat", + "text": "停车卡统计", + "name": "parkingCardStat" } - ], - "financialMgm":[ - { - "text": "异常处理", - "icon": "zongshujuliang", - "children":[ - { - "text": "发起异常处理", - "name": "startExceptionDeal", - "icon": "", - "path": "/financialMgm/startExceptionDeal", - }, - { - "text": "处理记录审核", - "name": "dealRecordAudit", - "icon": "", - "path": "/financialMgm/dealRecordAudit", - }, - { - "text": "处理记录列表", - "name": "dealRecordList", - "icon": "", - "path": "/financialMgm/dealRecordList", - } - ] + ] + }, + { + "text": "错峰停车", + "icon": "", + "children": [{ + "path": "/operationCenter/StaggeredMgm", + "text": "错峰管理", + "name": "StaggeredMgm" }, { - "text": "订单查询", - "icon": "zongshujuliang", - "children":[ - { - "text": "订单修改查询", - "name": "editOrderInquiry", - "icon": "", - "path": "/financialMgm/editOrderInquiry", - }, - { - "text": "停车订单查询", - "name": "parkingOrderInquiry", - "icon": "", - "path": "/financialMgm/parkingOrderInquiry", - }, - { - "text": "商品订单查询", - "name": "productOrderInquiry", - "icon": "", - "path": "/financialMgm/productOrderInquiry", - }, - { - "text": "退款订单查询", - "name": "refundOrderInquiry", - "icon": "", - "path": "/financialMgm/refundOrderInquiry", - } - ] - }, - { - "text": "交易流水", - "name": "payRecordTotal", - "icon": "zongshujuliang", - "path": "/financialMgm/payRecordTotal", - }, - { - "text": "电子发票", - "icon": "zongshujuliang", - "children":[ - { - "text": "发票记录", - "name": "createInvoiceRecord", - "icon": "", - "path": "/financialMgm/createInvoiceRecord", - }, - { - "text": "开具发票", - "name": "createInvoice", - "icon": "", - "path": "/financialMgm/createInvoice", - } - ] - }, - { - "text": "财务报表", - "icon": "zongshujuliang", - "children":[ - { - "text": "停车收入报表", - "name": "parkingIncomeReport", - "icon": "", - "path": "/financialMgm/parkingIncomeReport", - }, - { - "text": "运营报表", - "name": "operationReport", - "icon": "", - "path": "/financialMgm/operationReport", - }, - { - "text": "预付报表", - "name": "preOrderReport", - "icon": "", - "path": "/financialMgm/preOrderReport", - }, - { - "text": "停车卡报表", - "name": "parkCardReport", - "icon": "", - "path": "/financialMgm/parkCardReport", - },{ - "text": "预约报表", - "name": "bookReport", - "icon": "", - "path": "/financialMgm/bookReport", - }, - { - "text": "总收入报表", - "name": "paySummaryReport", - "icon": "", - "path": "/financialMgm/paySummaryReport", - }, - { - "text": "渠道统计", - "name": "payChannelStat", - "icon": "", - "path": "/financialMgm/payChannelStat", - }, - { - "text": "PDA统计", - "name": "pdaStat", - "icon": "", - "path": "/financialMgm/pdaStat", - } - ] - }, - { - "text": "清分结算", - "icon": "zongshujuliang", - "children":[ - { - "text": "渠道对账", - "name": "generalBusiness", - "icon": "", - "path": "/financialMgm/generalBusiness", - },{ - "text": "差账处理", - "name": "billDiff", - "icon": "", - "path": "/financialMgm/billDiff", - }, - { - "text": "重复支付", - "name": "payRepeat", - "icon": "", - "path": "/financialMgm/payRepeat", - }, - { - "text": "异常支付", - "name": "abnormalPayment", - "icon": "", - "path": "/financialMgm/abnormalPayment", - } - ] + "path": "/operationCenter/staggeredOrder", + "text": "错峰订单", + "name": "staggeredOrder" }, { - "text": "支付配置", - "icon": "zongshujuliang", - "children":[ - { - "text": "应用配置", - "name": "appConfiguration", - "icon": "", - "path": "/financialMgm/appConfiguration", - }, - { - "text": "支付商户配置", - "name": "merchantConfiguration", - "icon": "", - "path": "/financialMgm/merchantConfiguration", - }, - { - "text": "平台商户配置", - "name": "platformConfiguration", - "icon": "", - "path": "/financialMgm/platformConfiguration", - } - ] + "path": "/operationCenter/staggeredStat", + "text": "错峰统计", + "name": "staggeredStat" } - - ], - "outRoad": [ - { - "text": "概览", - "name": "outRoadOverview", - "icon": "zongshujuliang", - "path": "/outRoad/outRoadOverview" - }, - { - "text": "路段管理", - "name": "outRoadMgm", - "icon": "zongshujuliang", - "children": [ - { - "text": "计费规则管理", - "name": "chargeRulesMgm", - "icon": "", - "path": "/outRoad/chargeRulesMgm" - }, - { - "text": "路段管理", - "name": "outSegment", - "icon": "", - "path": "/outRoad/outSegment" - }, - { - "text": "僵尸车管理", - "name": "zombieCarMgm", - "icon": "", - "path": "/outRoad/zombieCarMgm" - } - ] - }, - { - "text": "异常管理", - "name": "outExceptionMgm", - "icon": "zongshujuliang", - "children": [ - { - "text": "抬杆记录", - "name": "liftUpPoleRecord", - "icon": "", - "path": "/outRoad/liftUpPoleRecord" - }, - { - "text": "僵尸车清理记录", - "name": "zombieCarCleanRecord", - "icon": "", - "path": "/outRoad/zombieCarCleanRecord" - } - ] - }, - { - "text": "业务记录", - "name": "outBusinessRecord", - "icon": "zongshujuliang", - "children": [ - { - "text": "停车记录查询", - "name": "outParkingRecordInquiry", - "icon": "", - "path": "/outRoad/outParkingRecordInquiry" - }, - { - "text": "停车支付订单", - "name": "outPayOrders", - "icon": "", - "path": "/outRoad/outPayOrders" - }, - { - "text": "停车欠费订单", - "name": "outParkingArrearsOrders", - "icon": "", - "path": "/outRoad/outParkingArrearsOrders" - } - ] - }, - { - "text": "设备管理", - "name": "outDeviceMgm", - "icon": "zongshujuliang", - "children": [ - { - "text": "路外设备管理", - "name": "outDevice", - "icon": "", - "path": "/outRoad/outDevice" - }, - { - "text": "视频监控设备管理", - "name": "outMonitorMgm", - "icon": "", - "path": "/outRoad/outMonitorMgm" - }, - { - "text": "NVR管理", - "name": "outNvrMgm", - "icon": "", - "path": "/outRoad/outNvrMgm" - } - ] - }, - ] + ] + } + ] + }, + { + "text": "客服管理", + "name": "customerServieMgm", + "icon": "zongshujuliang", + "children": [{ + "text": "反馈建议", + "name": "callbackSuggestion", + "path": "/operationCenter/callbackSuggestion" + }, + { + "text": "申诉管理", + "name": "complaintMgm", + "path": "/operationCenter/complaintMgm" + }, + { + "text": "车场纠错", + "name": "errorCorrection", + "path": "/operationCenter/errorCorrection" + }, + { + "text": "客诉工单", + "name": "complainManage", + "path": "/operationCenter/complainManage" + }, + { + "text": "客诉统计", + "name": "complainStat", + "path": "/operationCenter/complainStat" + }, + { + "text": "工作统计", + "name": "complainWorkStat", + "path": "/operationCenter/complainWorkStat" + } + ] + }, + { + "text": "地磁信号忽略", + "name": "geoSignalIgnore", + "icon": "zongshujuliang", + "children": [{ + "text": "地磁信号忽略审核", + "name": "geoSignalIgnoreAudit", + "path": "/operationCenter/geoSignalIgnoreAudit" + }, + { + "text": "地磁信号忽略查询", + "name": "geoSignalIgnoreInquiry", + "path": "/operationCenter/geoSignalIgnoreInquiry" + }, + { + "text": "地磁信号忽略配置", + "name": "geoSignalIgnoreConf", + "path": "/operationCenter/geoSignalIgnoreConf" + } + ] } + ], + "systemMgm": [{ + "text": "区域管理", + "name": "areaManage", + "icon": "zongshujuliang", + "path": "/systemMgm/areaManage", + }, + { + "text": "组织架构", + "name": "orgnizationMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/orgnizationMgm", + }, + { + "text": "管理员管理", + "name": "adminMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/adminMgm", + }, + { + "text": "角色管理", + "name": "roleMgm", + "icon": "zongshujuliang", + "path": "/systemMgm/roleMgm", + }, + { + "text": "系统日志", + "name": "systemLog", + "icon": "zongshujuliang", + "path": "/systemMgm/systemLog", + }, + { + "text": "消息管理", + "name": "messageMgm", + "icon": "zongshujuliang", + "children": [{ + "text": "业务配置", + "name": "confMes", + "icon": "", + "path": "/systemMgm/confMes", + }, ] + }, + { + "text": "业务配置", + "name": "businessConfig", + "icon": "zongshujuliang", + "children": [{ + "text": "业务配置", + "name": "businessConf", + "icon": "", + "path": "/systemMgm/businessConf", + }, + { + "text": "热门商圈配置", + "name": "hotCbdConf", + "icon": "", + "path": "/systemMgm/hotCbdConf", + }, + ] + } + ], + "merchantMgm": [{ + "text": "商户信息", + "name": "merchantInfo", + "icon": "zongshujuliang", + "path": "/merchantMgm/merchantInfo", + }, + { + "text": "发票配置", + "name": "invoiceConf", + "icon": "zongshujuliang", + "path": "/merchantMgm/invoiceConf", + }, + { + "text": "商户管理员", + "name": "merchantAdmin", + "icon": "zongshujuliang", + "path": "/merchantMgm/merchantAdmin", + }, + { + "text": "功能信息", + "name": "functionMgm", + "icon": "zongshujuliang", + "path": "/merchantMgm/functionMgm", + } + ], + "financialMgm": [{ + "text": "异常处理", + "icon": "zongshujuliang", + "children": [{ + "text": "发起异常处理", + "name": "startExceptionDeal", + "icon": "", + "path": "/financialMgm/startExceptionDeal", + }, + { + "text": "处理记录审核", + "name": "dealRecordAudit", + "icon": "", + "path": "/financialMgm/dealRecordAudit", + }, + { + "text": "处理记录列表", + "name": "dealRecordList", + "icon": "", + "path": "/financialMgm/dealRecordList", + } + ] + }, + { + "text": "订单查询", + "icon": "zongshujuliang", + "children": [{ + "text": "订单修改查询", + "name": "editOrderInquiry", + "icon": "", + "path": "/financialMgm/editOrderInquiry", + }, + { + "text": "停车订单查询", + "name": "parkingOrderInquiry", + "icon": "", + "path": "/financialMgm/parkingOrderInquiry", + }, + { + "text": "商品订单查询", + "name": "productOrderInquiry", + "icon": "", + "path": "/financialMgm/productOrderInquiry", + }, + { + "text": "退款订单查询", + "name": "refundOrderInquiry", + "icon": "", + "path": "/financialMgm/refundOrderInquiry", + } + ] + }, + { + "text": "交易流水", + "name": "payRecordTotal", + "icon": "zongshujuliang", + "path": "/financialMgm/payRecordTotal", + }, + { + "text": "电子发票", + "icon": "zongshujuliang", + "children": [{ + "text": "发票记录", + "name": "createInvoiceRecord", + "icon": "", + "path": "/financialMgm/createInvoiceRecord", + }, + { + "text": "开具发票", + "name": "createInvoice", + "icon": "", + "path": "/financialMgm/createInvoice", + } + ] + }, + { + "text": "财务报表", + "icon": "zongshujuliang", + "children": [{ + "text": "停车收入报表", + "name": "parkingIncomeReport", + "icon": "", + "path": "/financialMgm/parkingIncomeReport", + }, + { + "text": "运营报表", + "name": "operationReport", + "icon": "", + "path": "/financialMgm/operationReport", + }, + { + "text": "预付报表", + "name": "preOrderReport", + "icon": "", + "path": "/financialMgm/preOrderReport", + }, + { + "text": "停车卡报表", + "name": "parkCardReport", + "icon": "", + "path": "/financialMgm/parkCardReport", + }, { + "text": "预约报表", + "name": "bookReport", + "icon": "", + "path": "/financialMgm/bookReport", + }, + { + "text": "总收入报表", + "name": "paySummaryReport", + "icon": "", + "path": "/financialMgm/paySummaryReport", + }, + { + "text": "渠道统计", + "name": "payChannelStat", + "icon": "", + "path": "/financialMgm/payChannelStat", + }, + { + "text": "PDA统计", + "name": "pdaStat", + "icon": "", + "path": "/financialMgm/pdaStat", + } + ] + }, + { + "text": "清分结算", + "icon": "zongshujuliang", + "children": [{ + "text": "渠道对账", + "name": "generalBusiness", + "icon": "", + "path": "/financialMgm/generalBusiness", + }, { + "text": "差账处理", + "name": "billDiff", + "icon": "", + "path": "/financialMgm/billDiff", + }, + { + "text": "重复支付", + "name": "payRepeat", + "icon": "", + "path": "/financialMgm/payRepeat", + }, + { + "text": "异常支付", + "name": "abnormalPayment", + "icon": "", + "path": "/financialMgm/abnormalPayment", + } + ] + }, + { + "text": "支付配置", + "icon": "zongshujuliang", + "children": [{ + "text": "应用配置", + "name": "appConfiguration", + "icon": "", + "path": "/financialMgm/appConfiguration", + }, + { + "text": "支付商户配置", + "name": "merchantConfiguration", + "icon": "", + "path": "/financialMgm/merchantConfiguration", + }, + { + "text": "平台商户配置", + "name": "platformConfiguration", + "icon": "", + "path": "/financialMgm/platformConfiguration", + } + ] + } + + ], + "outRoad": [{ + "text": "概览", + "name": "outRoadOverview", + "icon": "zongshujuliang", + "path": "/outRoad/outRoadOverview" + }, + { + "text": "路段管理", + "name": "outRoadMgm", + "icon": "zongshujuliang", + "children": [{ + "text": "计费规则管理", + "name": "chargeRulesMgm", + "icon": "", + "path": "/outRoad/chargeRulesMgm" + }, + { + "text": "路段管理", + "name": "outSegment", + "icon": "", + "path": "/outRoad/outSegment" + }, + { + "text": "僵尸车管理", + "name": "zombieCarMgm", + "icon": "", + "path": "/outRoad/zombieCarMgm" + } + ] + }, + { + "text": "异常管理", + "name": "outExceptionMgm", + "icon": "zongshujuliang", + "children": [{ + "text": "抬杆记录", + "name": "liftUpPoleRecord", + "icon": "", + "path": "/outRoad/liftUpPoleRecord" + }, + { + "text": "僵尸车清理记录", + "name": "zombieCarCleanRecord", + "icon": "", + "path": "/outRoad/zombieCarCleanRecord" + } + ] + }, + { + "text": "业务记录", + "name": "outBusinessRecord", + "icon": "zongshujuliang", + "children": [{ + "text": "停车记录查询", + "name": "outParkingRecordInquiry", + "icon": "", + "path": "/outRoad/outParkingRecordInquiry" + }, + { + "text": "停车支付订单", + "name": "outPayOrders", + "icon": "", + "path": "/outRoad/outPayOrders" + }, + { + "text": "停车欠费订单", + "name": "outParkingArrearsOrders", + "icon": "", + "path": "/outRoad/outParkingArrearsOrders" + } + ] + }, + { + "text": "设备管理", + "name": "outDeviceMgm", + "icon": "zongshujuliang", + "children": [{ + "text": "路外设备管理", + "name": "outDevice", + "icon": "", + "path": "/outRoad/outDevice" + }, + { + "text": "视频监控设备管理", + "name": "outMonitorMgm", + "icon": "", + "path": "/outRoad/outMonitorMgm" + }, + { + "text": "NVR管理", + "name": "outNvrMgm", + "icon": "", + "path": "/outRoad/outNvrMgm" + } + ] + }, + { + "path": "", + "icon": "zongshujuliang", + "text": "设备运维", + "name": "eqManage", + "id": 10, + "pid": 1, + "project_name": "inRoad", + "is_menu": 1, + "children": [{ + "path": "/inRoad/berthStatus", + "icon": "", + "text": "泊位运营状态", + "name": "berthStatus", + "id": 49, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/faultReport", + "icon": "", + "text": "故障上报记录", + "name": "faultReport", + "id": 50, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + }, + { + "path": "/inRoad/patrolStatistics", + "icon": "", + "text": "巡检预警统计", + "name": "patrolStatistics", + "id": 51, + "pid": 10, + "project_name": "inRoad", + "is_menu": 1 + } + ] + } + ] } } +} diff --git a/src/router/router.config.js b/src/router/router.config.js index 35f7528..892b385 100644 --- a/src/router/router.config.js +++ b/src/router/router.config.js @@ -416,6 +416,28 @@ let routes = [ component: pages.EquipmentStatus, }, { + // -------------------------------路内管理 - 设备运维 + path: "/inRoad/faultReport", + text: "故障上报记录", + name: "faultReport", + component: pages.faultReport, + }, + { + // -------------------------------路内管理 - 设备运维 + path: "/inRoad/patrolStatistics", + text: "巡检预警统计", + name: "patrolStatistics", + component: pages.patrolStatistics, + }, + { + // -------------------------------路内管理 - 设备运维 + path: "/inRoad/berthStatus", + text: "泊位运营状态", + name: "berthStatus", + component: pages.berthStatus, + }, + + { path: "/inRoad/barMgm", text: "杆位管理", name: "barMgm", diff --git a/src/services/InroadMgm/RoadMgm/RoadMgm.js b/src/services/InroadMgm/RoadMgm/RoadMgm.js index b84422d..2879df0 100644 --- a/src/services/InroadMgm/RoadMgm/RoadMgm.js +++ b/src/services/InroadMgm/RoadMgm/RoadMgm.js @@ -32,6 +32,13 @@ const changeAlipayNoPWD = (params) => { data: params, }); }; +const getAppraiseData = (params) => { + return ajax({ + url: "/api/bpm/road/get_comment_setting", + type: "get", + data: params, + }); +}; // /api/bpm/berth/manage_list 泊位管理列表查询展示 const getManageList = (params) => { return ajax({ @@ -305,9 +312,9 @@ const delPolePosition = (params) => { }; ///api/bpm/road/comment_setting 评价批量设置 -const commentSetting = (params) => { +const commentSettings = (params) => { return ajax({ - url: "/api/orp/road/get_comment_setting", + url: "/api/bpm/road/comment_setting", type: "post", data: params, }); @@ -361,6 +368,7 @@ export default { changeAlipayNoPWD, getManageList, editStatus, + getAppraiseData, importBerth, getTollList, addBerth, @@ -389,7 +397,7 @@ export default { addPolePosition, getBillRule, delPolePosition, - commentSetting, + commentSettings, getDeviceInfo, delRoadRule, getAllParentRoad, diff --git a/src/services/search.js b/src/services/search.js index c9de078..5427d55 100644 --- a/src/services/search.js +++ b/src/services/search.js @@ -1072,7 +1072,60 @@ const getNameData = (params) => { data: params, }); }; +const getChooseStatus = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/update_berth_warning_status", + type: "post", + data: params, + }); +}; +//设备运维-泊位状态列表 +const getBerthList = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/show_berth_operation", + type: "post", + data: params, + }); +}; +//设备运维-泊位状态列表 +const getFaultReportExport = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/get_fault_report_export", + type: "post", + data: params, + }); +}; +//设备运维-故障上报列表 +const getShowFaultReport = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/show_fault_report", + type: "post", + data: params, + }); +}; +//设备运维-预警上报列表 +const getBerthWarningList = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/berth_warning_list", + type: "post", + data: params, + }); +}; +//设备运维-预警上报列表 +const getBerthWarningListExport = (params) => { + return ajax({ + url: "/api/bpm/berthoperation/get_warning_list_export", + type: "post", + data: params, + }); +}; export default { + getBerthList, + getChooseStatus, + getBerthWarningList, + getBerthWarningListExport, + getShowFaultReport, + getFaultReportExport, getCaseSearchData, getDataSourceData, getCaseStatusData,