"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
  const _easycom_up_tabs2 = common_vendor.resolveComponent("up-tabs");
  const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
  const _easycom_up_overlay2 = common_vendor.resolveComponent("up-overlay");
  (_easycom_up_tabs2 + _easycom_up_empty2 + _easycom_up_overlay2)();
}
const _easycom_up_tabs = () => "../../node-modules/uview-plus/components/u-tabs/u-tabs.js";
const _easycom_up_empty = () => "../../node-modules/uview-plus/components/u-empty/u-empty.js";
const _easycom_up_overlay = () => "../../node-modules/uview-plus/components/u-overlay/u-overlay.js";
if (!Math) {
  (_easycom_up_tabs + _easycom_up_empty + login + _easycom_up_overlay)();
}
const login = () => "../../components/login.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
  __name: "index",
  setup(__props) {
    const $api = common_vendor.inject("$api");
    const config = common_vendor.ref({ logo: [], file: [] });
    const active = common_vendor.ref(0);
    const type = common_vendor.ref("");
    const subject = common_vendor.ref("-1");
    const grade = common_vendor.ref("-1");
    const list = common_vendor.ref([]);
    const total = common_vendor.ref(0);
    const skip = common_vendor.ref(0);
    const limit = common_vendor.ref(5);
    const page = common_vendor.ref(0);
    const is_bottom = common_vendor.ref(false);
    const scrollTop = common_vendor.ref(0);
    const show = common_vendor.ref(false);
    const nick_name = common_vendor.ref("");
    const subjectList = common_vendor.ref([]);
    const gradeList = common_vendor.ref([]);
    const user = common_vendor.computed(() => {
      return common_vendor.index.getStorageSync("user");
    });
    common_vendor.onLoad(async (options) => {
      type.value = options && options.type;
      common_vendor.index.setNavigationBarTitle({
        title: options && options.name + "课程" || "课程"
      });
    });
    common_vendor.onShow(async () => {
      await searchConfig();
      await searchOther();
      await clearPage();
      await search();
      if (!user.value)
        show.value = true;
    });
    common_vendor.onPullDownRefresh(async () => {
      await clearPage();
      await search();
      common_vendor.index.stopPullDownRefresh();
    });
    const searchConfig = async () => {
      config.value = common_vendor.index.getStorageSync("config");
    };
    const searchOther = async () => {
      let res;
      res = await $api(`dictData`, "GET", { code: "subject", is_use: "0" });
      if (res.errcode === 0)
        subjectList.value = res.data;
      subjectList.value.unshift({ label: "全部", value: "-1" });
      res = await $api(`dictData`, "GET", { code: "grade", is_use: "0" });
      if (res.errcode === 0)
        gradeList.value = res.data;
      gradeList.value.unshift({ label: "全部", value: "-1" });
    };
    const searchInfo = async () => {
      await clearPage();
      await search();
    };
    const search = async () => {
      const info = {
        skip: skip.value,
        limit: limit.value,
        status: "1",
        is_show: "0",
        type: type.value
      };
      if (nick_name.value)
        info.name = nick_name.value;
      if (subject.value && subject.value !== "-1")
        info.subject = subject.value;
      if (grade.value && grade.value !== "-1")
        info.grade = grade.value;
      const res = await $api("course/appHome", "GET", info);
      if (res.errcode === 0) {
        list.value = list.value.concat(res.data);
        total.value = res.total;
      } else {
        common_vendor.index.showToast({
          title: res.errmsg || "",
          icon: "error"
        });
      }
    };
    const showChange = () => {
      show.value = false;
    };
    const toChange = async (index, e) => {
      console.log(index, e);
      active.value = index;
      subject.value = e.value;
      await clearPage();
      await search();
    };
    const toTab = async (data) => {
      grade.value = data.value;
      await clearPage();
      await search();
    };
    const toPage = () => {
      if (total.value > list.value.length) {
        common_vendor.index.showLoading({
          title: "加载中",
          mask: true
        });
        page.value = page.value + 1;
        skip.value = page.value * limit.value;
        search();
        common_vendor.index.hideLoading();
      } else
        is_bottom.value = true;
    };
    const toScroll = (e) => {
      let up = scrollTop.value;
      scrollTop.value = e.detail.scrollTop;
      let num = Math.sign(up - e.detail.scrollTop);
      if (num == 1)
        is_bottom.value = false;
    };
    const clearPage = () => {
      list.value = [];
      skip.value = 0;
      limit.value = 6;
      page.value = 0;
    };
    return (_ctx, _cache) => {
      return common_vendor.e({
        a: nick_name.value,
        b: common_vendor.o(($event) => nick_name.value = $event.detail.value),
        c: common_vendor.o(searchInfo),
        d: common_vendor.f(subjectList.value, (item, index, i0) => {
          return {
            a: common_vendor.t(item.label),
            b: common_vendor.n(active.value == index ? "listActive" : ""),
            c: index,
            d: common_vendor.o(($event) => toChange(index, item), index)
          };
        }),
        e: common_vendor.o(toTab),
        f: common_vendor.p({
          list: gradeList.value,
          keyName: "label"
        }),
        g: total.value > 0
      }, total.value > 0 ? common_vendor.e({
        h: common_vendor.f(list.value, (item, index, i0) => {
          return common_vendor.e({
            a: item.icon && item.icon.length > 0 && item.icon
          }, item.icon && item.icon.length > 0 && item.icon ? {
            b: item.icon[0].url
          } : {
            c: config.value.icon[0].url
          }, {
            d: common_vendor.t(item.name || "暂无"),
            e: common_vendor.t(item.teacher_name || "暂无"),
            f: common_vendor.t(item.start_time || "休息中"),
            g: common_vendor.t(item.money || "免费"),
            h: common_vendor.o(($event) => _ctx.toBuy(item), index),
            i: index,
            j: common_vendor.o(($event) => _ctx.toBuy(_ctx.tag), index)
          });
        }),
        i: is_bottom.value
      }, is_bottom.value ? {
        j: common_vendor.t(config.value.bottom_title)
      } : {}, {
        k: common_vendor.o(toPage),
        l: common_vendor.o(toScroll)
      }) : {
        m: common_vendor.p({
          mode: "list",
          icon: "/static/list.png"
        })
      }, {
        n: common_vendor.o(showChange),
        o: common_vendor.p({
          show: show.value
        })
      });
    };
  }
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-db68cfa6"], ["__file", "D:/project/学吧/learn_applet/pagesHome/list/index.vue"]]);
wx.createPage(MiniProgramPage);
