import * as PresetFormItems from "@screen/pages/control/event/event/FormEvent/PresetFormItems.js";
import { merge, cloneDeep } from "lodash";

const station = {
  label: "桩号:",
  key: "stakeMark",
  required: true,
  type: "MultipleLabelItem",
  options: {
    options: [
      {
        prefix: {
          text: "K",
          style: {
            color: "#3DE8FF",
          },
        },
        key: "stakeMark[0]",
        rules: [
          {
            message: "请补全桩号",
            callback(value, data) {
              if (value || data.stakeMark[1]){
                return /^0\d{2}|\d{3}$/.test(value);
              } else {
                return true
              }
            },
          }
        ],

      },
      {
        prefix: {
          text: "+",
          style: {
            color: "#3DE8FF",
          },
        },
        key: "stakeMark[1]",
        rules: [
          {
            message: "请补全桩号",
            callback(value, data) {
              if (value || data.stakeMark[0]){
                return /^0\d{2}|\d{3}$/.test(value);
              } else {
                return true
              }
            },
          }
        ],
      },
    ],
  },
};

export const tabMap = {
  "1": {
    state: 21,
    textColor: "#007FF4",
    text: "上报",
  },
  "2": {
    state: 22,
    textColor: "#007FF4",
    text: "已完成",
  },
  "3": {
    state: 23,
    textColor: "#007FF4",
    text: "已终止",
  },
  "4": {
    state: 24,
    textColor: "#007FF4",
    text: "自动结束",
  },
};
export const searchFormList = [
  {
    label: "事件状态:",
    key: "warningState",
    type: "select",
    options: {
      clearable: true,
      options: [
        {
          value: 1,
          label: "上报",
        },
        {
          value: 2,
          label: "已完成",
        },
        {
          value: 3,
          label: "已终止",
        },
        {
          value: 4,
          label: "自动结束",
        }
      ],
    },
  },
  {
    label: "事件来源:",
    key: "warningSource",
    type: "select",
    options: {
      clearable: true,
      options: [
        {
          key: "1",
          label: "视频AI",
        },
        {
          key: "2",
          label: "雷达识别",
        },
        {
          key: "3",
          label: "锥桶",
        },
        {
          key: "4",
          label: "护栏碰撞",
        },
        {
          key: "5",
          label: "扫码报警",
        },
        // {
        //   key: "6",
        //   label: "非机预警",
        // },
        {
          key: "7",
          label: "气象检测器",
        },
        {
          key: "8",
          label: "边坡监测",
        },
        {
          key: "9",
          label: "桥梁监测",
        },
      ],
    },
  },
  {
    label: "方向:",
    key: "direction",
    type: "select",
    options: {
      clearable: true,
      options: [
        {
          key: "1",
          label: "菏泽方向",
        },
        {
          key: "3",
          label: "济南方向",
        },
        {
          key: "",
          label: "双向",
        },
      ],
    },
  },
  {
    label: "审核状态:",
    key: "auditFlag",
    type: "select",
    options: {
      clearable: true,
      options: [
        {
          key: "0",
          label: "未审核",
        },
        {
          key: "1",
          label: "正确",
        },
        {
          key: "2",
          label: "错误",
        },
      ],
    },
  },
  {
    label: "事件主类:",
    key: "warningType",
    type: "select",
    options: {
      clearable: true,
      options: [
        {
          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: 99,
          label: "其他事件",
        },
      ],
    },
  },
  {
    label: "时间范围:",
    key: "daterange",
    required: false,
    type: "datePicker",
    options: {
      style: "width: auto",
      type: "datetimerange",
      format: "yyyy-MM-dd HH:mm:ss",
      valueFormat: "yyyy-MM-dd HH:mm:ss",
      pickerOptions:{
        disabledDate(time) {
          return time.getTime() > Date.now() || time.getTime()<new Date(moment().subtract(3, "months").format("YYYY-MM-DD HH:mm:ss"));
        },
      }
    },
    default: [
      moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"),
      moment().format("YYYY-MM-DD HH:mm:ss"),
    ],
  },
  {
    ...station,
    label: "开始桩号:",
    required: false,
  },
  merge(cloneDeep(station), {
    options: {
      options: [
        {
          key: "endStakeMark[0]",
          rules: [
            {
              message: "请补全桩号",
              callback(value, data) {
                if (value || data.endStakeMark[1]){
                  return /^0\d{2}|\d{3}$/.test(value);
                } else {
                  return true
                }
              },
            }
          ],
        },
        {
          key: "endStakeMark[1]",
          rules: [
            {
              message: "请补全桩号",
              callback(value, data) {
                if (value || data.endStakeMark[0]){
                  return /^0\d{2}|\d{3}$/.test(value);
                } else {
                  return true
                }
              },
            }
          ],
        },
      ],
    },
    label: "结束桩号:",
    required: false,
  }),
];