/** * color: 颜色 * text: 文字 * icon: 展示的图标 */ function arrayToDic(arr) { let obj = {}; arr.map((item) => { obj[item.value] = item; }); return obj; } export const WarnintType = { 1: "交通拥堵", 2: "行人", 3: "非机动车", 4: "停车", 5: "违规驾驶", 6: "路障", 7: "道路施工", 8: "异常天气", 9: "护栏碰撞", 10: "交通事故", 11: "车辆故障", 99: "其他" } // 相机状态 export const CameraStatusEnum = { "-1": { color: "", text: "未启用", }, 0: { color: "", text: "正常", }, 1: { color: "", text: "网络中断", }, 2: { color: "", text: "网络正常无图像", }, 3: { color: "", text: "有图像, 图像存在问题", }, }; // 摄像机方向 export const CameraDirectionEnum = { // 0: { // text: "上行", // }, // 1: { // text: "下行", // }, // 2: { // text: "上下行 (双向)", // }, 1: { text: "菏泽方向", }, 2: { text: "中", }, 3: { text: "济南方向", }, }; export const CameraDirectionEnumList = Object.keys(CameraDirectionEnum).map( (key) => { return { value: key, key, label: CameraDirectionEnum[key].text, }; } ); // 设备状态 export const DeviceTypeEnum = { 0: { text: "异常", color: "#FF5F5F", }, 1: { text: "正常", color: "#19E1B1", }, null: { text: "异常", color: "#FF5F5F", }, undefined: { text: "异常", color: "#FF5F5F", }, "": { text: "异常", color: "#FF5F5F", }, }; // 摄像 是否可控 是否有云台控制 0 有(球机) 1 ⽆(枪机) export const CameraControlTypeEnum = { 0: { text: "球机", }, 1: { text: "枪机", }, }; //交通事件主类 export const EventTopics = { 交通事故: 1, 车辆故障: 2, 交通管制: 3, 交通拥堵: 4, 非法上路: 5, 路障清除: 6, 施工建设: 7, 服务区异常: 8, 设施设备隐患: 9, 异常天气: 10, 其他事件: 11, }; //交通事件主类 {1: "交通事故",... } export const trafficType = Object.keys(EventTopics).reduce((prev, now) => { return { ...prev, [EventTopics[now]]: now }; }, {}); //交通事件主类 [{value:"", label:""},...] export const trafficKV = Object.keys(trafficType).map((key) => { return { value: key * 1, label: trafficType[key], }; }); //交通事件子类 export const EventSubclass = { "1-1": "追尾", "1-2": "侧翻", "1-3": "撞护栏", "1-4": "自燃", "1-5": "其他事故", "2-1": "车辆故障", "3-1": "主线封闭限行", "3-2": "收费站封闭和限行", "3-3": "立交封闭和限行", "3-4": "服务区封闭和限行", "4-1": "道路拥堵", "4-2": "立交拥堵", "4-3": "收费站拥堵", "4-4": "服务区拥堵", "5-1": "行人", "5-2": "非机动车", "5-3": "摩托车", "5-4": "其他", "6-1": "烟雾", "6-2": "倒伏树木", "6-3": "撒落物", "6-4": "动物", "6-5": "其他", "7-1": "道路养护施工", "7-2": "收费站养护施工", "7-3": "服务区养护施工", "7-4": "枢纽立交匝道养护施工", "7-5": "地方道路养护施工", "7-6": "道路工程建设施工", "7-7": "收费站工程建设施工", "7-8": "服务区工程建设施工", "7-9": "枢纽立交匝道工程建设施工", "7-10": "地方道路工程建设施工", "8-1": "封闭、暂停营业", "8-2": "重要设施停用", "8-3": "服务区其他异常", "9-1": "摄像机", "9-2": "护栏", "9-3": "隔离栅", "9-4": "情报板", "9-5": "防炫板", "9-6": "其他", "10-1": "雨", "10-2": "雪", "10-3": "雾", "10-4": "大风", "10-5": "低温寒潮", "10-6": "路面积雪", "10-7": "路面结冰", "10-8": "路面积水", "10-9": "其他", "11-1": "其他事件", }; // 感知事件主类 warningType export const WarningType = { 1: "交通拥堵", 2: "行人", 3: "非机动车", 4: "停车", 5: "违规驾驶", 6: "路障", 7: "道路施工", 8: "异常天气", 9: "护栏碰撞", 10: "交通事故", 11: "车辆故障", 99: "其他事件", }; //感知事件主类 [{ value: "", label: "" }, ...] export const WarningTypeList = Object.keys(WarningType).map((key) => { return { value: key * 1, label: WarningType[key], }; }); // 感知事件子类 export const WarningSubclass = { 1: { "1-1": "拥堵", "1-2": "缓行", }, 2: { "2-1": "普通行人", "2-2": "工作人员", }, 3: { "3-1": "摩托车", "3-2": "自行车", "3-3": "三轮车", }, 4: { "4-1": "非工程车", "4-2": "工程车", "4-3": "主路有车", "4-4": "匝道有车", "4-5": "车辆故障", "4-6": "交通事故", "4-7": "应急车道被占用", "4-8": "车离开应急车道", "4-9": "其他", "4-10": "未知车辆", }, 5: { "5-1": "倒车/逆行", "5-2": "压线", "5-3": "掉头", "5-4": "超速", "5-5": "低速", "5-6": "违规变道", "5-7": "未保持安全距离", }, 6: { "6-1": "烟雾", "6-2": "火灾", "6-3": "障碍物", "6-4": "抛洒物", }, 7: { "7-1": "道路施工", }, 8: { "8-1": "雨", "8-2": "冰雹", "8-3": "风", "8-4": "雾", "8-5": "高温", "8-6": "积水", "8-7": "路面湿滑", "8-8": "路面结冰", "8-9": "道路能见度低", "8-10": "道路团雾", }, 9: { "9-1": "只碰撞不倾斜", "9-2": "只倾斜无碰撞", "9-3": "碰撞后倾斜", }, 10: { "10-1": "未知", "10-2": "单车事故", "10-3": "多车事故", }, 11: { "11-1": "车辆抛锚", "11-2": "车辆炸胎(有备胎)", "11-3": "车辆炸胎(无备胎)", }, 99: { "99-1": "其他事件", }, }; //交通事件、感知事件 子类(key vulue)预案使用 export const eventSubClassMap = { 1: { 1: [ { value: "1-1", label: "追尾", }, { value: "1-2", label: "侧翻", }, { value: "1-3", label: "撞护栏", }, { value: "1-4", label: "自燃", }, { value: "1-5", label: "其他事故", }, ], 2: [ { value: "1", label: "高速主线", }, { value: "2", label: "服务区", }, { value: "3", label: "立交桥", }, { value: "4", label: "收费站", }, ], 3: [ { value: "1", label: "主线关闭", }, { value: "2", label: "主线限行", }, { value: "6", label: "收费站关闭", }, { value: "7", label: "收费站限行", }, { value: "10", label: "匝道立交关闭", }, { value: "12", label: "匝道立交限行", }, { value: "14", label: "服务区关闭", }, ], 4: [ { value: "4-1", label: "道路拥堵", }, { value: "4-2", label: "立交拥堵", }, { value: "4-3", label: "收费站拥堵", }, { value: "4-4", label: "收费站服务区拥堵", }, ], 5: [ { value: "5-1", label: "行人", }, { value: "5-2", label: "非机动车", }, { value: "5-3", label: "摩托车", }, { value: "5-4", label: "其他", }, ], 6: [ { value: "6-1", label: "烟雾", }, { value: "6-2", label: "倒伏树木", }, { value: "6-3", label: "撒落物", }, { value: "6-4", label: "动物", }, { value: "6-5", label: "其他", }, ], 7: [ { value: "1", label: "道路养护施工", }, { value: "2", label: "收费站养护施工", }, { value: "3", label: "服务区养护施工", }, { value: "4", label: "枢纽立交匝道养护施工", }, { value: "5", label: "地方道路养护施工", }, { value: "6", label: "道路工程建设施工", }, { value: "7", label: "收费站工程建设施工", }, { value: "8", label: "服务区工程建设施工", }, { value: "9", label: "枢纽立交匝道工程建设施工", }, { value: "10", label: "地方道路工程建设施工", }, ], 8: [ { value: "8-1", label: "封闭、暂停营业", }, { value: "8-2", label: "重要设施停用", }, { value: "8-3", label: "服务区其他异常", }, ], 9: [ { value: "1", label: "摄像机", }, { value: "2", label: "护栏", }, { value: "3", label: "隔离栅", }, { value: "4", label: "情报板", }, { value: "5", label: "防炫板", }, { value: "6", label: "其他", }, ], 10: [ { value: "10-1", label: "雨", }, { value: "10-2", label: "雪", }, { value: "10-3", label: "雾", }, { value: "10-4", label: "大风", }, { value: "10-5", label: "低温寒潮", }, { value: "10-6", label: "路面积雪", }, { value: "10-7", label: "路面结冰", }, { value: "10-8", label: "路面积水", }, { value: "10-9", label: "其他", }, ], 11: [ { value: "1", label: "其他事件", }, ], }, 2: { 1: [ { value: "1-1", label: "拥堵", }, { value: "1-2", label: "缓行", }, ], 2: [ { value: "2-1", label: "普通行人", }, { value: "2-2", label: "工作人员", }, ], 3: [ { value: "3-1", label: "摩托车", }, { value: "3-2", label: "自行车", }, { value: "3-3", label: "三轮车", }, ], 4: [ { value: "4-1", label: "非工程车", }, { value: "4-2", label: "工程车", }, { value: "4-3", label: "主路有车", }, { value: "4-4", label: "匝道有车", }, { value: "4-7", label: "应急车道被占用", }, { value: "4-9", label: "其他", }, { value: "4-10", label: "未知车辆", }, ], 5: [ { value: "5-1", label: "倒车/逆行", }, { value: "5-2", label: "压线", }, { value: "5-3", label: "掉头", }, { value: "5-4", label: "超速", }, { value: "5-5", label: "低速", }, { value: "5-6", label: "违规变道", }, { value: "5-7", label: "未保持安全距离", }, ], 6: [ { value: "6-1", label: "烟雾", }, { value: "6-2", label: "火灾", }, { value: "6-3", label: "障碍物", }, { value: "6-4", label: "抛洒物", }, ], 7: [ { value: "7-1", label: "道路施工", }, ], 8: [ { value: "8-1", label: "雨", }, { value: "8-2", label: "冰雹", }, { value: "8-3", label: "风", }, { value: "8-4", label: "雾", }, { value: "8-5", label: "高温", }, { value: "8-6", label: "积水", }, { value: "8-7", label: "路面湿滑", }, { value: "8-8", label: "路面结冰", }, { value: "8-9", label: "道路能见度低", }, { value: "8-10", label: "道路团雾", }, ], 9: [ { value: "9-1", label: "只碰撞不倾斜", }, { value: "9-2", label: "只倾斜无碰撞", }, { value: "9-3", label: "碰撞后倾斜", }, ], 10: [ { value: "10-1", label: "未知", }, { value: "10-1", label: "单车事故", }, { value: "10-1", label: "多车事故", }, ], 11: [ { value: "11-1", label: "车辆抛锚", }, { value: "11-1", label: "车辆炸胎(有备胎)", }, { value: "11-1", label: "车辆炸胎(无备胎)", }, ], 99: [ { value: "99-1", label: "其他事件", }, ], }, }; export const WarningSubclassOptions = { 1: [ {value:"1-1",label:"拥堵"}, {value:"1-2",label:"缓行"}, ], 2:[ {value:"2-1",label:"普通行人"}, {value:"2-2",label:"工作人员"}, ], 3:[ {value:"3-1",label:"摩托车"}, {value:"3-2",label:"自行车"}, {value:"3-3",label:"三轮车"}, ], 4:[ {value:"4-1",label:"非工程车"}, {value:"4-2",label:"工程车"}, {value:"4-3",label:"主路有车"}, {value:"4-4",label:"匝道有车"}, {value:"4-7",label:"应急车道被占用"}, {value:"4-8",label:"车离开应急车道"}, {value:"4-9",label:"其他"}, {value:"4-10",label:"未知车辆"}, ], 5:[ {value:"5-1",label:"倒车/逆行"}, {value:"5-2",label:"压线"}, {value:"5-3",label:"掉头"}, {value:"5-4",label:"超速"}, {value:"5-5",label:"低速"}, {value:"5-6",label:"违规变道"}, {value:"5-7",label:"未保持安全距离"}, ], 6:[ {value:"6-1",label:"烟雾"}, {value:"6-2",label:"火灾"}, {value:"6-3",label:"障碍物"}, {value:"6-4",label:"抛洒物"}, ], 7:[ {value:"7-1",label:"道路施工"}, ], 8:[ {value:"8-1",label:"雨"}, {value:"8-2",label:"冰雹"}, {value:"8-3",label:"风"}, {value:"8-4",label:"雾"}, {value:"8-5",label:"高温"}, {value:"8-6",label:"积水"}, {value:"8-7",label:"路面湿滑"}, {value:"8-8",label:"路面结冰"}, {value:"8-9",label:"道路能见度低"}, {value:"8-10",label:"道路团雾"}, ], 9:[ {value:"9-1",label:"只碰撞不倾斜"}, {value:"9-2",label:"只倾斜无碰撞"}, {value:"9-3",label:"碰撞后倾斜"}, ], 10:[ {value:"10-1",label:"未知"}, {value:"10-2",label:"单车事故"}, {value:"10-3",label:"多车事故"}, ], 11:[ {value:"11-1",label:"车辆抛锚"}, {value:"11-2",label:"车辆炸胎(有备胎)"}, {value:"11-3",label:"车辆炸胎(无备胎)"}, ], 99:[ {value:"99-1",label:"其他事件"}, ], }; //路网设施类型 // 1-收费站 // 2-桥梁 // 3-互通立交 // 4-枢纽立交 // 5-隧道 // 6-服务区', // 7-停车区, // 8-清障驻点 // 9-边坡 export const RoadNFTopics = { 收费站: 1, 桥梁: 2, 枢纽立交: 4, 服务区: 6, 停车区: 7, 清障驻点: 8, 边坡: 9, }; // 事件类型 eventType export const EventType = { 0: { text: "待确认", }, 1: { text: "处理中", }, 2: { text: "已完成", }, }; // 信息来源 warningSource export const InfoWarningSource = { 1: { text: "视频AI", }, 2: { text: "雷达识别", }, 3: { text: "锥桶", }, 4: { text: "护栏碰撞", }, 5: { text: "扫码报警", }, 6: { text: "非机预警", }, 7: { text: "气象检测器", }, 8: { text: "边坡监测", }, }; export const warningSourceMapping = { 1: "视频AI", 2: "雷达识别", 3: "锥桶", 4: "护栏碰撞", 5: "扫码报警", 6: "非机预警", 7: '气象检测器', 8: '边坡监测', }; export const warningStateMapping = { 1: "上报", 2: "已完成", 3: "已终止", 4: "自动结束", }; //设备Options export const deviceTypeOptions = [ { value: 1, label: "摄像机", }, { value: 2, label: "可变信息标志", timingControl: true, }, { value: 3, label: "气象检测器", }, { value: 4, label: "出口诱导灯", }, { value: 5, label: "路段语音广播", timingControl: true, }, { value: 6, label: "护栏碰撞", }, { value: 7, label: "毫米波雷达", }, { value: 8, label: "合流区预警", }, { value: 9, label: "智慧锥桶", }, { value: 10, label: "激光疲劳唤醒", timingControl: true, }, { value: 11, label: "一类交通量调查站", }, { value: 12, label: "智能行车诱导", timingControl: true, }, { value: 13, label: "智能设备箱", // timingControl: true, }, { value: 14, label: "光线在线监测", }, { value: 15, label: "离网光伏供电", }, { value: 16, label: "远端机", }, ]; export const deviceTypeDic = arrayToDic(deviceTypeOptions); //激光疲劳唤醒 工作模式 export const awakerWorkModeDic = { 0: "激光关闭", 1: "常亮模式", 2: "间隔100ms闪烁模式", 3: "间隔200ms闪烁模式", 4: "间隔500ms闪烁模式", 5: "2次闪烁模式", 6: "SOS模式", 7: "自定义模式1", 8: "自定义模式2", 9: "自定义模式3", }; //激光疲劳唤醒 工作模式 export const gzmsMap = { SETMD0: "激光关闭", SETMD1: "常亮模式", SETMD2: "间隔100ms闪烁模式", SETMD3: "间隔200ms闪烁模式", SETMD4: "间隔500ms闪烁模式", SETMD5: "2次闪烁模式", SETMD6: "SOS模式", SETMD7: "自定义模式1", SETMD8: "自定义模式2", SETMD9: "自定义模式3", }; //预案设备列表 export const planDeviceMap = { 1: "摄像机", 2: "可变信息标志", // 3: "气象检测器", // 4: "出口诱导灯", 5: "路段语音广播", // 6: "护栏碰撞", // 7: "毫米波雷达", 8: "合流区预警", // 9: "智慧锥桶", 10: "激光疲劳唤醒", // 11: "一类交通量调查站", 12: "行车诱导", 13: "智能设备箱", 14: "光线在线监测", }; //预案设备Options export const planDeviceOptions = [ // { // value: 1, // label: "摄像机", // }, { value: 2, label: "可变信息标志", }, // { // value: 3, // label: "气象检测器", // }, // { // value: 4, // label: "出口诱导灯", // }, { value: 5, label: "语音广播", }, // { // value: 6, // label: "护栏碰撞", // }, // { // value: 7, // label: "毫米波雷达", // }, // { // value: 8, // label: "合流区预警", // }, // { // value: 9, // label: "智慧锥桶", // }, { value: 10, label: "疲劳唤醒", }, // { // value: 11, // label: "一类交通量调查站", // }, { value: 12, label: "行车诱导", }, // { // value: 13, // label: "设备箱", // }, // { // value: 14, // label: "光线在线监测", // }, ]; // 非机预警事件主类 export const warningType = { 1: "交通拥堵", 2: "行人", 4: "停车", 5: "违规驾驶", 6: "路障", 7: "道路施工", 99: "其他", }; export const WarningSubclassList = Object.keys(WarningSubclass).reduce( (prev, key) => { prev[key] = Object.keys(WarningSubclass[key]).map((subKey) => { return { value: subKey, label: WarningSubclass[key][subKey], }; }); return prev; }, {} ); export const LaneOccupancy = { 0: { text: "应急", }, 1: { text: "行1", }, 2: { text: "行2", }, 3: { text: "行3", }, 4: { text: "行4", }, }; export const LaneOccupancyList = Object.keys(LaneOccupancy).map((key) => { return { value: key, key, label: LaneOccupancy[key].text, }; }); // 排班 export const SchedulingEnum = { 1: { text: "白班", }, 2: { text: "夜班", }, }; export const CameraChildTypes = { "1-1": "高清网络枪型固定摄像机", "1-2": "高清网络球形摄像机", "1-3": "桥下高清网络球形摄像机", "1-4": "360°全景摄像机", "1-5": "180°全景摄像机", }; export const BoardChildTypes = { "2-1": "门架式可变信息标志", "2-2": "站前可变信息标志", "2-3": "雨棚可变信息标志", "2-4": "站前悬臂式可变信息标志", }; export const PanoramicCameraTypes = Object.keys(CameraChildTypes).slice(3, 5); export const ChildTypes = { 1: CameraChildTypes, 2: BoardChildTypes, }; export const DirectionTypes = { 1: "菏泽方向", 3: "济南方向", 2: "双向", }; // 方向 export const directionOptions = [ { value: "1", label: "菏泽方向" }, { value: "3", label: "济南方向" }, { value: "2", label: "双向" }, ]; //行车诱导控制模式 export const inducerModeDic = { "00": "手动模式", "01": "自动模式", "02": "万年历", }; //行车诱导工作模式 export const inducerWorkTypeDic = { "00": "不更新", "01": "常亮", "02": "流水", "03": "闪烁", "04": "关闭", }; // 非机预警事件 export const manualEarlyWarning = [ { value: "1", label: "拥堵", }, { value: "2", label: "行人", }, { value: "6", label: "抛洒物", }, { value: "5", label: "变道", }, { value: "99", label: "机占非", }, { value: "6", label: "路障", }, { value: "1", label: "施工", }, { value: "2", label: "停车", }, { value: "6", label: "压线", }, { value: "1", label: "掉头", }, { value: "2", label: "逆行", }, ]; export const controlType = { 0: { text: "正常", }, 1: { text: "关闭", }, }; export const auditType = { 0: "未审核", 1: "正确", 2: "错误", }; export const boolType = { 0: { text: "否", }, 1: { text: "是", }, }; export const usageStatus = { 0: { text: "使用", }, 1: { text: "未使用", }, }; //路面类型 export const remoteRoadSurfaceStatus = { "00": { text: "干燥", }, "01": { text: "潮湿", }, "02": { text: "积水", }, "03": { text: "结冰", }, "04": { text: "积雪", }, "05": { text: "冰水混合物", }, "06": { text: "泥泞", }, }; //下雨类型 export const precipitationType = { 0: { text: "无降雨", }, 1: { text: "雨", }, 2: { text: "雪", }, 3: { text: "毛毛雨", }, 4: { text: "雨夹雪", }, }; //能见度类型 export const visibilityType = { 4: { text: "良好", }, 3: { text: "阴霾", }, 2: { text: "雾", }, 1: { text: "浓雾", }, }; //语音广播紧急度 export const broadcastPriority = { "1":"紧急", "2":"重要", "3":"一般", "4":"提示" }