"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const utils_util = require("../../utils/util.js");
const common_assets = require("../../common/assets.js");
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
const _sfc_main = {
  data() {
    return {
      menuTop: common_vendor.inject("menuTop"),
      menuH: common_vendor.inject("menuHeight"),
      navH: common_vendor.inject("navHeight"),
      contentTop: "",
      listTop: "",
      sortListTop: "",
      keywords: "",
      //关键词
      sortList: [],
      timeCategoryList: [],
      selectTimeCategory: 0,
      topCategoryList: ["全部", "大周期", "大消费", "大金融地产", "TMT板块", "公共产业板块"],
      selectTopCategory: 0,
      secondCategoryList: ["全部", "石油石化", "煤炭", "有色金属", "钢铁", "基础化工", "建筑材料"],
      selectSecondCategory: 0,
      screenCategoryList: ["日期范围", "行业分类", "重要性"],
      selectYearMonth: "",
      //选择的年月日
      startDate: "",
      //选择开始日期
      startTimeStamp: "",
      //开始日期时间戳
      endDate: "",
      //选择结束日期
      endTimeStamp: "",
      //结束日期时间戳
      weekList: ["一", "二", "三", "四", "五", "六", "日"],
      monthDateList: [],
      selectMonthIndex: 0,
      //选中月份下标
      selectMonth: "",
      //选中年月
      industryTopCategoryList: ["巨潮行业分类", "新财富行业分类", "申银万国行业分类", "证监会行业分类"],
      selectScreenCategory: 0,
      importanceList: [],
      //重要性数组
      selectImportanceIndex: 0,
      //选择重要性下标
      option: {
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow"
          },
          confine: true
        },
        grid: {
          left: "0%",
          right: "0%",
          top: "0%",
          bottom: "20%"
        },
        xAxis: [
          {
            type: "category",
            data: ["跌停", "跌停~5%", "5~1%", "1~0%", "平盘", "0~1%", "1~5%", "5%~涨停", "涨停"],
            axisTick: {
              show: false
            },
            axisLine: {
              show: false
            },
            axisLabel: {
              fontSize: 10,
              interval: "0",
              textStyle: {
                color: function(value, index) {
                  return index == 0 ? "#355422" : index == 8 ? "#C00000" : "#515151";
                }
              }
            }
          }
        ],
        yAxis: [
          {
            type: "value",
            show: false,
            axisTick: { show: false }
          }
        ],
        series: [
          {
            name: "热度",
            type: "bar",
            label: {
              show: true,
              position: "top",
              fontSize: 12
            },
            data: [
              {
                value: 0,
                itemStyle: { color: "#355422" },
                label: {
                  textStyle: { color: "#355422" }
                }
              },
              {
                value: 44,
                itemStyle: { color: "#35542299" },
                label: {
                  textStyle: { color: "#355422" }
                }
              },
              {
                value: 315,
                itemStyle: { color: "#355422CC" },
                label: {
                  textStyle: { color: "#355422" }
                }
              },
              {
                value: 1264,
                itemStyle: { color: "#355422" },
                label: {
                  textStyle: { color: "#355422" }
                }
              },
              {
                value: 1064,
                itemStyle: { color: "#ACB0C0" },
                label: {
                  textStyle: { color: "#666" }
                }
              },
              {
                value: 1809,
                itemStyle: { color: "#C00000" },
                label: {
                  textStyle: { color: "#C00000" }
                }
              },
              {
                value: 602,
                itemStyle: { color: "#C00000CC" },
                label: {
                  textStyle: { color: "#C00000" }
                }
              },
              {
                value: 44,
                itemStyle: { color: "#C0000099" },
                label: {
                  textStyle: { color: "#C00000" }
                }
              },
              {
                value: 0,
                itemStyle: { color: "#C00000" },
                label: {
                  textStyle: { color: "#C00000" }
                }
              }
            ]
          }
        ]
      },
      eventList: [],
      page: 1,
      loadAll: false,
      getRateStr: utils_util.getRateStr,
      getRateUpOrDown: utils_util.getRateUpOrDown,
      getLocaleTime: utils_util.getLocaleTime
    };
  },
  onLoad() {
    this.contentTop = this.navH + (75 + 20) / 750 * common_vendor.inject("windowWidth");
    this.listTop = this.contentTop + (22 + 80 + 72 + 44 + 44) / 750 * common_vendor.inject("windowWidth");
    this.sortListTop = this.navH + (22 + 80 + 80) / 750 * common_vendor.inject("windowWidth");
    this.getEventFilterListData();
    this.getEventListData();
    let currentDate = /* @__PURE__ */ new Date();
    let currentYear = currentDate.getFullYear();
    let currentMonth = currentDate.getMonth() + 1;
    let currentDay = currentDate.getDate();
    let monthDateList = [];
    this.selectMonthIndex = 20 * 12 + currentMonth - 1;
    this.selectMonth = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth);
    for (var i = currentYear - 20; i < currentYear + 20; i++) {
      for (var j = 0; j < 12; j++) {
        let date = new Date(i, j + 1, 0);
        let firstDayOfMonth = new Date(i, j + 1, 0);
        firstDayOfMonth.setDate(1);
        let currentMonthDay = date.getDate();
        let firstDayWeek = firstDayOfMonth.getDay() || 7;
        let daysOfMonth = [];
        for (var k = 1; k <= currentMonthDay; k++) {
          let newDate = new Date(i, j + 1, 0);
          newDate.setDate(k);
          let newMonth = newDate.getMonth() + 1;
          let newDay = newDate.getDate();
          let time = newDate.getTime();
          let date2 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
          daysOfMonth.push({ date: date2, year: i, month: newMonth, day: newDay, isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false, isCurrentMonth: true, timestamp: time });
        }
        for (var k = 0; k < firstDayWeek - 1; k++) {
          let year = i;
          let month = j;
          if (j < 1) {
            year = i - 1;
            month = 12;
          }
          let lastMonthDay = new Date(year, month, 0).getDate();
          let newDate = new Date(year, month - 1, lastMonthDay - k);
          let newMonth = newDate.getMonth() + 1;
          let newDay = newDate.getDate();
          let time = newDate.getTime();
          let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
          daysOfMonth.unshift({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
        }
        let nextMonthFirstDay = new Date(i, j + 1, 1);
        let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
        let lastDayWeek = lastDayOfMonth.getDay() || 7;
        for (var k = 1; k < 8 - lastDayWeek; k++) {
          let year = i;
          let month = j;
          if (month > 11) {
            month = 0;
            year++;
          }
          let newDate = new Date(year, month + 1, k);
          let newMonth = newDate.getMonth() + 1;
          let newDay = newDate.getDate();
          let time = newDate.getTime();
          let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
          daysOfMonth.push({ date: date2, year, month: newMonth, day: newDay, isToday: false, isCurrentMonth: false, timestamp: time });
        }
        monthDateList.push(daysOfMonth);
      }
    }
    this.monthDateList = monthDateList;
  },
  onPullDownRefresh() {
    this.page = 1;
    this.getEventListData();
  },
  methods: {
    loadMoreData() {
      if (!this.loadAll) {
        this.page++;
        this.getEventListData();
      }
    },
    async init() {
      const chart = await this.$refs.chartRef.init(echarts);
      chart.setOption(this.option);
    },
    /**
     * 点击搜索
     */
    clickSearch() {
      this.page = 1;
      this.getEventListData();
    },
    /**
     * 点击事件筛选
     * @param {Object} index
     */
    clickTimeCategoryItem(index) {
      if (this.selectTimeCategory != index) {
        this.selectTimeCategory = index;
      }
    },
    /**
     * 点击排序
     */
    clickSortItem() {
      this.$refs["sortPopup"].open();
    },
    /**
     * 点击筛选
     */
    clickScreenItem() {
      this.$refs["screenPopup"].open();
    },
    /**
     * 点击筛选弹窗取消
     */
    clickCancel() {
      this.$refs["screenPopup"].close();
    },
    /**
     * 点击筛选弹窗确定
     */
    clickCertain() {
      this.clickCancel();
      this.clickSearch();
    },
    /**
     * 点击筛选分类
     * @param {Object} index
     */
    clickScreenCategoryItem(index) {
      if (this.selectScreenCategory != index) {
        this.selectScreenCategory = index;
      }
    },
    /**
     * 点击选择一级分类
     * @param {Object} index
     */
    clickTopCategoryItem(index) {
      if (this.selectTopCategory != index) {
        this.selectTopCategory = index;
      }
    },
    /**
     * 点击选择二级分类
     * @param {Object} index
     */
    clickSecondCategoryItem(index) {
      if (this.selectSecondCategory != index) {
        this.selectSecondCategory = index;
      }
    },
    /**
     * 点击上个月
     */
    clickPreMonth() {
      if (this.selectMonthIndex > 0) {
        this.selectMonthIndex--;
        let monthList = this.monthDateList[this.selectMonthIndex];
        let month = "";
        for (let item of monthList) {
          if (item.isCurrentMonth) {
            month = item.month;
            break;
          }
        }
        this.selectMonth = this.monthDateList[this.selectMonthIndex][0].year + "-" + (month > 9 ? month : "0" + month);
      }
    },
    /**
     * 点击下个月
     */
    clickNextMonth() {
      if (this.selectMonthIndex < this.monthDateList.length - 1) {
        this.selectMonthIndex++;
        let monthList = this.monthDateList[this.selectMonthIndex];
        let month = "";
        for (let item of monthList) {
          if (item.isCurrentMonth) {
            month = item.month;
            break;
          }
        }
        this.selectMonth = this.monthDateList[this.selectMonthIndex][0].year + "-" + (month > 9 ? month : "0" + month);
      }
    },
    /**
     * 点击选择开始日期和结束日期
     * @param {Object} item
     */
    clickSelectDate(item) {
      if (this.startDate) {
        let date1 = new Date(this.startDate);
        let date2 = new Date(item.date);
        if (date1 > date2) {
          this.endDate = this.startDate;
          this.endTimeStamp = this.startTimeStamp;
          this.startDate = item.date;
          this.startTimeStamp = item.timestamp;
        } else {
          this.endDate = item.date;
          this.endTimeStamp = item.timestamp;
        }
      } else {
        this.startDate = item.date;
        this.startTimeStamp = item.timestamp;
      }
    },
    /**
     * 点击选择重要性
     */
    clickImportanceItem(index) {
      if (this.selectImportanceIndex != index) {
        this.selectImportanceIndex = index;
      }
    },
    /**
     * 查看事件详情
     */
    clickEventItem(id) {
      common_vendor.index.navigateTo({
        url: "/pages/index/eventDetails/eventDetails?id=" + id
      });
    },
    /**
     * 获取事件筛选项
     */
    getEventFilterListData() {
      request_api.eventFilterList().then((res) => {
        let timeList = [...res.data.available_sorts];
        this.timeCategoryList = timeList.splice(0, 2);
        let sortList = [...res.data.available_sorts];
        for (let item of sortList) {
          if (item.name == "最新") {
            item.icon = "/static/icon/home/new.png";
          }
          if (item.name == "热门") {
            item.icon = "/static/icon/home/hot.png";
          }
          if (item.name == "收益率") {
            item.icon = "/static/icon/home/yield.png";
          }
        }
        this.sortList = res.data.available_sorts.splice(0, 3);
        this.importanceList = res.data.available_importance_levels;
        this.importanceList.unshift({ desc: "全部", key: "all", name: "全部" });
      }).catch((error) => {
      });
    },
    /**
     * 获取事件列表数据
     */
    getEventListData() {
      let param = { page: this.page, keywords: this.keywords };
      if (this.startDate) {
        param.start_date = this.startDate;
      }
      if (this.endDate) {
        param.end_date = this.endDate;
      }
      if (this.selectImportanceIndex > 0) {
        param.importance = this.importanceList[this.selectImportanceIndex].key;
      }
      request_api.eventList(param).then((res) => {
        if (res.success) {
          if (this.page == 1) {
            this.eventList = res.data.events;
          } else
            this.eventList = this.eventList.concat(res.data.events);
        }
      }).catch((error) => {
      });
    }
  }
};
if (!Array) {
  const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
  _easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
  _easycom_uni_popup();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  return common_vendor.e({
    a: common_assets._imports_0,
    b: common_vendor.s("top:" + $data.menuTop + "px;line-height:" + $data.menuH + "px;"),
    c: common_assets._imports_1,
    d: $data.keywords,
    e: common_vendor.o(($event) => $data.keywords = $event.detail.value),
    f: common_vendor.o(($event) => $options.clickSearch()),
    g: common_vendor.s("top:" + $data.navH + "px;"),
    h: common_vendor.f($data.timeCategoryList, (item, index, i0) => {
      return {
        a: common_vendor.t(item.name),
        b: common_vendor.n("item " + ($data.selectTimeCategory == index ? "select" : "")),
        c: index,
        d: common_vendor.o(($event) => $options.clickTimeCategoryItem(index), index)
      };
    }),
    i: common_assets._imports_2,
    j: common_vendor.o(($event) => $options.clickSortItem()),
    k: common_assets._imports_3,
    l: common_vendor.o(($event) => $options.clickScreenItem()),
    m: common_vendor.f($data.topCategoryList, (item, index, i0) => {
      return {
        a: common_vendor.t(item),
        b: common_vendor.n("item relative " + ($data.selectTopCategory == index ? "select" : "")),
        c: index,
        d: common_vendor.o(($event) => $options.clickTopCategoryItem(index), index)
      };
    }),
    n: common_vendor.f($data.secondCategoryList, (item, index, i0) => {
      return {
        a: common_vendor.t(item),
        b: common_vendor.n("item " + ($data.selectSecondCategory == index ? "select" : "")),
        c: index,
        d: common_vendor.o(($event) => $options.clickSecondCategoryItem(index), index)
      };
    }),
    o: common_vendor.s("top:" + $data.contentTop + "px"),
    p: common_vendor.f($data.eventList, (item, index, i0) => {
      return common_vendor.e({
        a: common_vendor.t(item.importance),
        b: common_vendor.n("level " + item.importance),
        c: common_vendor.t(item.title),
        d: common_vendor.t(item.description),
        e: $data.getRateUpOrDown(item.related_avg_chg)
      }, $data.getRateUpOrDown(item.related_avg_chg) ? {
        f: common_assets._imports_4
      } : {
        g: common_assets._imports_5
      }, {
        h: common_vendor.t($data.getRateStr(item.related_avg_chg)),
        i: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
        j: $data.getRateUpOrDown(item.related_max_chg)
      }, $data.getRateUpOrDown(item.related_max_chg) ? {
        k: common_assets._imports_4
      } : {
        l: common_assets._imports_5
      }, {
        m: common_vendor.t($data.getRateStr(item.related_max_chg)),
        n: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
        o: $data.getRateUpOrDown(item.related_week_chg)
      }, $data.getRateUpOrDown(item.related_week_chg) ? {
        p: common_assets._imports_4
      } : {
        q: common_assets._imports_5
      }, {
        r: common_vendor.t($data.getRateStr(item.related_week_chg)),
        s: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_week_chg) ? "down" : "up")),
        t: common_vendor.t($data.getLocaleTime(item.created_at)),
        v: common_vendor.t(item.view_count),
        w: common_vendor.t(item.post_count),
        x: common_vendor.t(item.follower_count),
        y: common_vendor.o(($event) => $options.clickEventItem(item.id), index),
        z: index
      });
    }),
    q: common_assets._imports_1$1,
    r: common_assets._imports_2$1,
    s: common_assets._imports_3$1,
    t: common_vendor.s("top:" + $data.listTop + "px"),
    v: common_vendor.o(($event) => $options.loadMoreData()),
    w: common_assets._imports_9,
    x: common_vendor.f($data.sortList, (item, index, i0) => {
      return {
        a: item.icon,
        b: common_vendor.t(item.name),
        c: index
      };
    }),
    y: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
    z: common_vendor.sr("sortPopup", "9dfd58d8-0"),
    A: common_vendor.p({
      type: "top",
      ["mask-background-color"]: "transparent"
    }),
    B: common_assets._imports_2$2,
    C: common_vendor.s("height:" + $data.menuH + "px;"),
    D: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
      return common_vendor.e({
        a: common_vendor.t(item),
        b: $data.selectScreenCategory == index
      }, $data.selectScreenCategory == index ? {} : {}, {
        c: common_vendor.n("item relative " + ($data.selectScreenCategory == index ? "select" : "")),
        d: index,
        e: common_vendor.o(($event) => $options.clickScreenCategoryItem(index), index)
      });
    }),
    E: $data.selectScreenCategory == 0
  }, $data.selectScreenCategory == 0 ? {
    F: common_vendor.t($data.startDate),
    G: common_vendor.t($data.endDate),
    H: common_assets._imports_11,
    I: common_vendor.o(($event) => $options.clickPreMonth()),
    J: common_vendor.t($data.selectMonth),
    K: common_assets._imports_12,
    L: common_vendor.o(($event) => $options.clickNextMonth()),
    M: common_vendor.f($data.weekList, (item, index, i0) => {
      return {
        a: common_vendor.t(item),
        b: index
      };
    }),
    N: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
      return common_vendor.e({
        a: item.isToday || item.date == $data.startDate || item.date == $data.endDate
      }, item.isToday || item.date == $data.startDate || item.date == $data.endDate ? {
        b: common_vendor.t(item.day)
      } : common_vendor.e({
        c: item.timestamp > $data.startTimeStamp && item.timestamp < $data.endTimeStamp
      }, item.timestamp > $data.startTimeStamp && item.timestamp < $data.endTimeStamp ? {
        d: common_vendor.t(item.day)
      } : common_vendor.e({
        e: !item.isCurrentMonth
      }, !item.isCurrentMonth ? {
        f: common_vendor.t(item.day)
      } : {
        g: common_vendor.t(item.day)
      })), {
        h: index,
        i: common_vendor.o(($event) => $options.clickSelectDate(item), index)
      });
    })
  } : {}, {
    O: $data.selectScreenCategory == 1
  }, $data.selectScreenCategory == 1 ? {
    P: common_vendor.f($data.industryTopCategoryList, (item, index, i0) => {
      return {
        a: common_vendor.t(item),
        b: index
      };
    }),
    Q: common_assets._imports_1
  } : {}, {
    R: $data.selectScreenCategory == 2
  }, $data.selectScreenCategory == 2 ? {
    S: common_vendor.f($data.importanceList, (item, index, i0) => {
      return {
        a: common_vendor.t(item.name),
        b: common_vendor.n("item " + ($data.selectImportanceIndex == index ? "select" : "")),
        c: index,
        d: common_vendor.o(($event) => $options.clickImportanceItem(index), index)
      };
    })
  } : {}, {
    T: common_vendor.o(($event) => $options.clickCancel()),
    U: common_vendor.o(($event) => $options.clickCertain()),
    V: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
    W: common_vendor.sr("screenPopup", "9dfd58d8-1"),
    X: common_vendor.p({
      type: "top"
    })
  });
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map
