// 常量
// const server_ip = '8.130.25.40'; // 测试服务器
// const server_ip = '22.57.64.22:8256'; // 线上内网ip
const server_ip = '192.168.110.168:8256'; // 线上外网
// const server_ip = '192.168.43.25:8258';

export const CONFIG = {
  SERVER_IP: server_ip,
  SOCKET: server_ip + '/socket', // 线上
  // SOCKET: server_ip, // 本地
  API_URL: '/plant/',
  TITLE: '湖南水电公司机组状态监测系统', // 项目名称
  CHARACTER_TAB: '#', // 测点名字里的标识，比如1F定子CA线电压，中的"F"，因为会根据这个标识来分割测点名字，可以为空，也可以为多个字符
}

// 路由映射，key为路由名name（存库），value为显示名
export const RouteMap = {
  FactoryMonitoring: '全厂监测',
  CrewMonitoring: '机组监测',
  FactoryInfo: '数据一览',
  TrendAnalysis: '趋势分析',
  AlarmRecord: '报警记录',
  UserManage: '用户管理',
  RoleManage: '角色管理'
}

// 按钮映射
export const ButtonMap = {
  UserDelete: '用户删除',
}

// 首页图表样式
export const ChartStyle = {
  loadingColor: 'rgba(0, 0, 0, 0.5)', // 加载动画颜色
  color: ['#509FFF', '#E5394C', '#0011A5', '#FF57BF', '#43C6AC', '#AA076B', '#0ED2F7', '#9733EE', '#0cff34',
    '#aa4e03', '#fce00b', '#11ffcc'
  ], // 数据颜色
  color2: ['#6AF6FE', '#F0724D', '#00BAE6', '#FF8B7C', '#F8FFAE', '#E991C3', '#92FE9D', '#C3A0FF', '#bdff23',
    '#e55f12', '#d6a800', '#06c5ff'
  ], // 数据渐变颜色
  // 标题样式
  title: {
    color: '#93FCFF',
    fontSize: 14,
  },
  // 图例样式
  legend: {
    color: '#ffffff',
    fontSize: 12,
  },
  // 轴样式
  axis: {
    color: '#5caac3',
    fontSize: 12,
    lineHeight: 14,
  },
  // 数据文字样式
  label: {
    color: '#ffffff',
    fontSize: 12,
  },
  // 辅助线样式
  split: {
    color: '#93FCFF',
    opacity: 0.2,
  }
}

// 机组状态
export const CrewState = {
  // 报警
  warn: {
    key: 'warn',
    name: '报警',
    color: '#F3B242'
  },
  // 危险
  danger: {
    key: 'danger',
    name: '危险',
    color: '#E53B4C'
  },
  // 停机
  shutdown: {
    key: 'shutdown',
    name: '停机',
    color: '#55B8F0'
  },
  // 正常
  normal: {
    key: 'normal',
    name: '正常',
    color: '#59E594'
  }
}

// 报警数据，key为字段前缀，不要更改
export const WarningConfig = {
  // 高高报警（一级）
  protect: {
    name: '一级报警',
    color: '#ffff00',
    color2: '#828200',
    state: 3,
    warnLevel: 1, // 报警等级，会依次按照这个字段统计报警数量，用于阈值更新里的测试
  },
  // 高报警（二级）
  alert: {
    name: '二级报警',
    color: '#FFBA49',
    color2: '#825e24',
    state: 4,
    warnLevel: 2,
  },
  // 预报警（三级）
  earlywarning: {
    name: '三级报警',
    color: '#FF636B',
    color2: '#823237',
    state: 5,
    warnLevel: 3,
  },
  // // 上趋势报警
  // trendalert: {
  //   name: '趋势报警',
  //   color: '#0000ff',
  //   color2: '#000082',
  //   state: 6,
  //   warnLevel: 4,
  // },
  // // 下趋势报警
  // trendalert2: {
  //   name: '趋势报警',
  //   color: '#00aaff',
  //   color2: '#005782',
  //   state: 7,
  //   warnLevel: 5,
  // },
  // 正常
  normal: {
    name: '正常',
    color: '#00de6b',
    color2: '#00823c',
    state: 1
  },
  // 无效
  invalid: {
    name: '无效',
    color: '#a2a2a2',
    color2: '#484848',
    state: 2
  },
}

// 时间线的按钮组
export const AllDateLineBtn = [{
  name: '原始分析',
  value: 0
}, {
  name: '本周',
  value: 1
  // }, {
  //   name: '本月趋势',
  //   value: 2
  // }, {
  //   name: '本年趋势',
  //   value: 3
}];

// 获取日期时间选择快捷时间，用于方便管理
export function GetPickerOptions() {
  return {
    shortcuts: [{
        text: '最近一小时',
        onClick(picker) {
          const end = new Date();
          const start = new Date();
          start.setTime(start.getTime() - 3600 * 1000);
          picker.$emit('pick', [start, end]);
        }
      },
      {
        text: '最近三小时',
        onClick(picker) {
          const end = new Date();
          const start = new Date();
          start.setTime(start.getTime() - 3600 * 1000 * 3);
          picker.$emit('pick', [start, end]);
        }
      },
      {
        text: '最近一天',
        onClick(picker) {
          const end = new Date();
          const start = new Date();
          start.setTime(start.getTime() - 3600 * 1000 * 24);
          picker.$emit('pick', [start, end]);
        }
      },
      {
        text: '最近三天',
        onClick(picker) {
          const end = new Date();
          const start = new Date();
          start.setTime(start.getTime() - 3600 * 1000 * 24 * 3);
          picker.$emit('pick', [start, end]);
        }
      },
    ]
  }
}

// 日期选择的默认时间
export const DefaultDateSelect = () => [Date.now() - 3600 * 1000, Date.now()]; // 最近1小时

// 全厂监测测点配置
export const FactoryMConfig = {
  // 顶部
  top: [
    ['转速'],
    ['有功功率'],
  ],
  // 框框
  list: [
    ["上导X向摆度"],
    ["上导Y向摆度"],
    ["下导X向摆度"],
    ["下导Y向摆度"],
    ["法兰X向摆度"],
    ["法兰Y向摆度"],
    ["水导X向摆度"],
    ["水导Y向摆度"],
    ["上机架X向振动"],
    ["上机架Y向振动"],
    ["上机架Z向振动"],
    ["下机架X向振动"],
    ["下机架Y向振动"],
    ["下机架Z向振动"],
    ["顶盖X向振动"],
    ["顶盖Y向振动"],
    ["顶盖Z向振动X"],
    ["顶盖Z向振动Y"],
    ["顶盖Z向振动"]
  ]
}

// 机组监测测点配置
export const CrewMConfig = {
  // 顶部
  top: [
    ['转速'],
    ['有功功率'],
  ],
  // 框框左上
  listLeftTop: [
    ["上机架X向振动"],
    ["上机架Y向振动"],
    ["上机架Z向振动"],
    ["下机架X向振动"],
    ["下机架Y向振动"],
    ["下机架Z向振动"],
    ["瓦架X向振动"],
    ["瓦架Z向振动"],
  ],
  // 框框右上
  listRightTop: [
    ["上导X向摆度"],
    ["上导Y向摆度"],
    ["下导X向摆度", "法兰X向摆度"],
    ["下导Y向摆度", "法兰Y向摆度"],
    ["水导X向摆度"],
    ["水导Y向摆度"],
    ["大轴轴向位移A"],
    ["大轴轴向位移B"],
    ["大轴轴向位移C"],
  ],
  // 框框左下
  listLeftBottom: [
    ["定子机座X向振动"],
    ["定子机座Y向振动"],
    ["定子基座X向振动"],
    ["定子基座Y向振动"],
    ["定子铁芯X向振动"],
    ["定子铁芯Y向振动"],
    ["顶盖碰磨Z向振动"],
    ["顶盖碰磨X向振动"],
    ["顶盖X向振动"],
    ["顶盖Y向振动"],
    ["顶盖Z向振动X"],
    ["顶盖Z向振动Y"],
    ["顶盖Z向振动"],
  ],
  // 框框右下
  listRightBottom: [
    ["顶盖下压力脉动"],
    ["蜗壳进口压力脉动"],
    ["蜗壳差压"],
    ["导叶后压力脉动"],
    ["尾水管X向振动"],
    ["尾水管进口压力脉动"],
    ["尾水管出口压力脉动"],
    ["尾水管出口压力"],
  ],
  // 图表左下
  leftBottom: [
    ["有功功率"],
    ["无功功率"],
    ["接力器行程"],
    ["励磁电压"],
    ["励磁电流"],
    ["转速"],
    ["发电机出口开关"],
    ["励磁开关"],
    ["上游水位"],
    ["下游水位"],
    ["水头"],
    ["导叶开度"]
  ],
  // 图表右上
  rightTop: [
    [
      [{name: "上导X向摆度", defaultMax: 560}],
      [{name: "上导Y向摆度", defaultMax: 560}],
    ],
    [
      [{name: "下导X向摆度", defaultMax: 1500}, {name: "法兰X向摆度", defaultMax: 906}],
      [{name: "下导Y向摆度", defaultMax: 1500}, {name: "法兰Y向摆度", defaultMax: 906}],
    ],
    [
      [{name: "水导X向摆度", defaultMax: 703}],
      [{name: "水导Y向摆度", defaultMax: 703}],
    ]
  ],
  // 图表右中
  rightCenter: [
    [
      [{name: "顶盖X向振动", defaultMax: 203}],
      [{name: "顶盖Y向振动", defaultMax: 203}],
      [{name: "顶盖Z向振动X", defaultMax: 293}],
      [{name: "顶盖Z向振动Y", defaultMax: 293}],
      [{name: "顶盖Z向振动", defaultMax: 293}],
    ],
    [
      [{name: "上机架X向振动", defaultMax: 156}],
      [{name: "上机架Y向振动", defaultMax: 156}],
      [{name: "上机架Z向振动", defaultMax: 141}],
    ],
    [
      [{name: "下机架X向振动", defaultMax: 125}],
      [{name: "下机架Y向振动", defaultMax: 125}],
      [{name: "下机架Z向振动", defaultMax: 125}],
    ]
  ],
  // 图表右下
  rightBottom: [
    ["上导瓦温"],
    ["下导瓦温"],
    ["推力瓦温"],
    ["水导瓦温"],
  ],
}
