/**
 * color: 颜色
 * text: 文字
 * icon: 展示的图标
 */

// 相机的状态
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",
  },
};

// 摄像 是否可控 是否有云台控制 0 有(球机) 1 ⽆(枪机)
export const CameraControlTypeEnum = {
  0: {
    text: "球机",
  },
  1: {
    text: "枪机",
  },
};

export const EventTopics = {
  交通事故: 1,
  车辆故障: 2,
  交通管制: 3,
  交通拥堵: 4,
  非法上路: 5,
  路障清除: 6,
  施工建设: 7,
  服务区异常: 8,
  设施设备隐患: 9,
  异常天气: 10,
  其他事件: 11,
};

// 事件类型 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: "气象监测器",
  }
};

// 事件主类 warningType
export const WarningType = {
  1: "交通拥堵",
  2: "行人",
  3: "非机动车",
  4: "停车",
  5: "倒车/逆行",
  6: "烟火",
  7: "撒落物",
  8: "异常天气",
  9: "护栏碰撞",
  10: "交通事故",
  11: "车辆故障",
};

export const WarningTypeList = Object.keys(WarningType).map((key) => {
  return {
    value: key * 1,
    label: WarningType[key],
  };
});

// 事件主类的子类(上方) warningSubclass
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": "其他",
  },
  5: {
    "5-1": "倒车/逆行",
  },
  6: {
    "6-1": "烟火",
  },
  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": "碰撞后倾斜",
  },
};

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: "夜班",
  },
};