/* empty css              */ /* empty css              */ import { C as e } from "./index-325f2a5d.js";
/* empty css              */ /* empty css              */ import {
  H as t,
  K as a,
  J as l,
  a1 as o,
  a0 as s,
  I as i,
  j as n,
  ae as r,
  a2 as d,
  c as u,
  ah as c,
  ad as p,
  aY as v,
  a6 as f,
  v as h,
  a9 as g,
  ab as m,
  M as x,
  a3 as y,
  ao as w,
  aZ as b,
  aJ as k,
  an as C,
  L as O,
  as as j,
  at as _,
  aK as T,
  aw as $,
  P as z,
  Q as V,
  w as P,
  a_ as S,
  D as I,
  a8 as R,
  a7 as A,
  aG as q,
  _ as B,
  a$ as K,
  aC as F,
  o as L,
  m as W,
  p as D,
  h as E,
  f as J,
  e as U,
  r as Y,
  n as Z,
  t as G,
  F as H,
  i as M,
  R as Q,
} from "./index-476be0bb.js";
import { u as X } from "./use-id-50eda0ee.js";
import { u as N } from "./use-tab-status-b7c46689.js";
const [ee, te] = t("dropdown-menu"),
  ae = {
    overlay: a,
    zIndex: l,
    duration: o(0.2),
    direction: s("down"),
    activeColor: String,
    closeOnClickOutside: a,
    closeOnClickOverlay: a,
    swipeThreshold: l,
  },
  le = Symbol(ee);
var oe = i({
  name: ee,
  props: ae,
  setup(e, { slots: t }) {
    const a = X(),
      l = n(),
      o = n(),
      s = n(0),
      { children: i, linkChildren: y } = r(le),
      w = d(l),
      b = u(() => i.some((e) => e.state.showWrapper)),
      k = u(() => e.swipeThreshold && i.length > +e.swipeThreshold),
      C = u(() => {
        if (b.value && c(e.zIndex)) return { zIndex: +e.zIndex + 1 };
      }),
      O = () => {
        i.forEach((e) => {
          e.toggle(!1);
        });
      },
      j = () => {
        if (o.value) {
          const t = g(o);
          "down" === e.direction
            ? (s.value = t.bottom)
            : (s.value = m.value - t.top);
        }
      },
      _ = (t, l) => {
        const { showPopup: o } = t.state,
          { disabled: s, titleClass: n } = t;
        return h(
          "div",
          {
            id: "".concat(a, "-").concat(l),
            role: "button",
            tabindex: s ? void 0 : 0,
            class: [te("item", { disabled: s, grow: k.value }), { [x]: !s }],
            onClick: () => {
              var e;
              s ||
                ((e = l),
                i.forEach((t, a) => {
                  a === e
                    ? t.toggle()
                    : t.state.showPopup && t.toggle(!1, { immediate: !0 });
                }));
            },
          },
          [
            h(
              "span",
              {
                class: [
                  te("title", {
                    down: o === ("down" === e.direction),
                    active: o,
                  }),
                  n,
                ],
                style: { color: o ? e.activeColor : "" },
              },
              [h("div", { class: "van-ellipsis" }, [t.renderTitle()])]
            ),
          ]
        );
      };
    return (
      p({ close: O }),
      y({ id: a, props: e, offset: s, updateOffset: j }),
      v(l, () => {
        e.closeOnClickOutside && O();
      }),
      f(
        "scroll",
        () => {
          b.value && j();
        },
        { target: w, passive: !0 }
      ),
      () => {
        var e;
        return h("div", { ref: l, class: te() }, [
          h(
            "div",
            {
              ref: o,
              style: C.value,
              class: te("bar", { opened: b.value, scrollable: k.value }),
            },
            [i.map(_)]
          ),
          null == (e = t.default) ? void 0 : e.call(t),
        ]);
      }
    );
  },
});
const [se, ie] = t("dropdown-item");
const ne = V(
    i({
      name: se,
      inheritAttrs: !1,
      props: {
        title: String,
        options: k(),
        disabled: Boolean,
        teleport: [String, Object],
        lazyRender: a,
        modelValue: C,
        titleClass: C,
      },
      emits: [
        "open",
        "opened",
        "close",
        "closed",
        "change",
        "update:modelValue",
      ],
      setup(t, { emit: a, slots: l, attrs: o }) {
        const s = y({ showPopup: !1, transition: !0, showWrapper: !1 }),
          { parent: i, index: n } = w(le);
        if (!i) return;
        const r = (e) => () => a(e),
          d = r("open"),
          u = r("close"),
          c = r("opened"),
          v = () => {
            (s.showWrapper = !1), a("closed");
          },
          f = (e) => {
            t.teleport && e.stopPropagation();
          },
          g = (l) => {
            const { activeColor: o } = i.props,
              n = l.value === t.modelValue;
            return h(
              e,
              {
                role: "menuitem",
                key: String(l.value),
                icon: l.icon,
                title: l.text,
                class: ie("option", { active: n }),
                style: { color: n ? o : "" },
                tabindex: n ? 0 : -1,
                clickable: !0,
                onClick: () => {
                  (s.showPopup = !1),
                    l.value !== t.modelValue &&
                      (a("update:modelValue", l.value), a("change", l.value));
                },
              },
              {
                value: () => {
                  if (n)
                    return h(
                      z,
                      { class: ie("icon"), color: o, name: "success" },
                      null
                    );
                },
              }
            );
          },
          m = () => {
            const { offset: e } = i,
              {
                zIndex: a,
                overlay: r,
                duration: p,
                direction: m,
                closeOnClickOverlay: x,
              } = i.props,
              y = O(a);
            return (
              "down" === m
                ? (y.top = "".concat(e.value, "px"))
                : (y.bottom = "".concat(e.value, "px")),
              j(
                h("div", $({ style: y, class: ie([m]), onClick: f }, o), [
                  h(
                    T,
                    {
                      show: s.showPopup,
                      "onUpdate:show": (e) => (s.showPopup = e),
                      role: "menu",
                      class: ie("content"),
                      overlay: r,
                      position: "down" === m ? "top" : "bottom",
                      duration: s.transition ? p : 0,
                      lazyRender: t.lazyRender,
                      overlayStyle: { position: "absolute" },
                      "aria-labelledby": "".concat(i.id, "-").concat(n.value),
                      closeOnClickOverlay: x,
                      onOpen: d,
                      onClose: u,
                      onOpened: c,
                      onClosed: v,
                    },
                    {
                      default: () => {
                        var e;
                        return [
                          t.options.map(g),
                          null == (e = l.default) ? void 0 : e.call(l),
                        ];
                      },
                    }
                  ),
                ]),
                [[_, s.showWrapper]]
              )
            );
          };
        return (
          p({
            state: s,
            toggle: (e = !s.showPopup, t = {}) => {
              e !== s.showPopup &&
                ((s.showPopup = e),
                (s.transition = !t.immediate),
                e && (i.updateOffset(), (s.showWrapper = !0)));
            },
            renderTitle: () => {
              if (l.title) return l.title();
              if (t.title) return t.title;
              const e = t.options.find((e) => e.value === t.modelValue);
              return e ? e.text : "";
            },
          }),
          () =>
            t.teleport
              ? h(b, { to: t.teleport }, { default: () => [m()] })
              : m()
        );
      },
    })
  ),
  re = V(oe),
  [de, ue, ce] = t("list");
const pe = V(
  i({
    name: de,
    props: {
      error: Boolean,
      offset: o(300),
      loading: Boolean,
      disabled: Boolean,
      finished: Boolean,
      scroller: Object,
      errorText: String,
      direction: s("down"),
      loadingText: String,
      finishedText: String,
      immediateCheck: a,
    },
    emits: ["load", "update:error", "update:loading"],
    setup(e, { emit: t, slots: a }) {
      const l = n(e.loading),
        o = n(),
        s = n(),
        i = N(),
        r = d(o),
        c = u(() => e.scroller || r.value),
        v = () => {
          R(() => {
            if (
              l.value ||
              e.finished ||
              e.disabled ||
              e.error ||
              !1 === (null == i ? void 0 : i.value)
            )
              return;
            const { direction: a } = e,
              n = +e.offset,
              r = g(c);
            if (!r.height || A(o)) return;
            let d = !1;
            const u = g(s);
            (d = "up" === a ? r.top - u.top <= n : u.bottom - r.bottom <= n),
              d && ((l.value = !0), t("update:loading", !0), t("load"));
          });
        },
        m = () => {
          if (e.finished) {
            const t = a.finished ? a.finished() : e.finishedText;
            if (t) return h("div", { class: ue("finished-text") }, [t]);
          }
        },
        x = () => {
          t("update:error", !1), v();
        },
        y = () => {
          if (e.error) {
            const t = a.error ? a.error() : e.errorText;
            if (t)
              return h(
                "div",
                {
                  role: "button",
                  class: ue("error-text"),
                  tabindex: 0,
                  onClick: x,
                },
                [t]
              );
          }
        },
        w = () => {
          if (l.value && !e.finished && !e.disabled)
            return h("div", { class: ue("loading") }, [
              a.loading
                ? a.loading()
                : h(
                    q,
                    { class: ue("loading-icon") },
                    { default: () => [e.loadingText || ce("loading")] }
                  ),
            ]);
        };
      return (
        P(() => [e.loading, e.finished, e.error], v),
        i &&
          P(i, (e) => {
            e && v();
          }),
        S(() => {
          l.value = e.loading;
        }),
        I(() => {
          e.immediateCheck && v();
        }),
        p({ check: v }),
        f("scroll", v, { target: c, passive: !0 }),
        () => {
          var t;
          const i = null == (t = a.default) ? void 0 : t.call(a),
            n = h("div", { ref: s, class: ue("placeholder") }, null);
          return h(
            "div",
            { ref: o, role: "feed", class: ue(), "aria-busy": l.value },
            [
              "down" === e.direction ? i : n,
              w(),
              m(),
              y(),
              "up" === e.direction ? i : n,
            ]
          );
        }
      );
    },
  })
);
const ve = { class: "px-12 py-7" },
  fe = { class: "flex items-center flex-wrap justify-between" },
  he = ["onClick"],
  ge = { class: "px-12 py-7" },
  me = { class: "flex items-center flex-wrap justify-between" },
  xe = ["onClick"],
  ye = { class: "mt-12 px-12 text-center" },
  we = { class: "flex py-12 rounded-4 bg-#e9e9e9 text-12" },
  be = { class: "w-30%" },
  ke = { class: "w-27%" },
  Ce = { class: "flex-1" },
  Oe = { class: "w-30%" },
  je = { key: 0, class: "w-27% text-main" },
  _e = { key: 1, class: "w-27%" },
  Te = { key: 2, class: "w-27% text-#199D2A" },
  $e = { key: 3, class: "w-27% text-#CD2727" },
  ze = { class: "flex-1" },
  Ve = B(
    {
      __name: "index",
      props: {
        title: { type: String, required: !0 },
        leftOption: { type: Array, required: !0 },
        rightOption: { type: Array, required: !0 },
        leftValue: { required: !0 },
        rightValue: { required: !0 },
        valueKey: { type: Array, required: !0 },
        listTitle: { type: Array, required: !0 },
        ajaxFun: Function,
      },
      emits: ["update:leftValue", "update:rightValue"],
      setup(e, { emit: t }) {
        const a = e,
          { leftValue: l, rightValue: o } = K(a, t),
          s = n(a.leftOption[0].text),
          i = n(null),
          r = n(a.rightOption[0].text),
          d = n(null),
          {
            list: u,
            loading: c,
            finished: p,
            onLoad: v,
            form: f,
            refreshing: g,
            onRefresh: m,
          } = (function (e, t) {
            const a = n(!1),
              l = n(!1),
              o = n(!1),
              s = y({ page: 1, size: 10, ...e });
            P(
              () => s.time,
              (e) => {
                d();
              }
            ),
              P(
                () => s.status,
                (e) => {
                  d();
                }
              ),
              P(
                () => s.date,
                (e) => {
                  d();
                }
              );
            const i = n([]),
              r = n(),
              d = () => {
                (s.page = 1),
                  (i.value = []),
                  (l.value = !1),
                  (o.value = !1),
                  (a.value = !0),
                  u();
              },
              u = () => {
                t &&
                  t(s).then((e) => {
                    var t, o;
                    const n =
                      (null == (t = e.data) ? void 0 : t.list) ||
                      (null == (o = e.data) ? void 0 : o.ranking) ||
                      e.data;
                    (r.value = e.data),
                      1 === e.code &&
                        ((i.value =
                          n instanceof Array
                            ? i.value.concat(n)
                            : i.value.concat(n.data)),
                        (a.value = !1),
                        n instanceof Array
                          ? n.length < s.size
                            ? (l.value = !0)
                            : s.page++
                          : "data" in n &&
                            (n.data.length < s.size
                              ? (l.value = !0)
                              : s.page++));
                  });
              };
            return {
              refreshing: o,
              list: i,
              data: r,
              loading: a,
              finished: l,
              onLoad: u,
              form: s,
              Func: t,
              onRefresh: d,
            };
          })({ page: 1, size: 20, status: l, time: o }, a.ajaxFun);
        return (t, a) => {
          const n = ne,
            f = re,
            g = pe,
            m = F("normal-layout");
          return (
            L(),
            W(
              m,
              {
                flex: "",
                title: t.$t(e.title),
                "bg-color": "#fff",
                "nav-bg-color": "#fff",
                "text-color": "#000",
                backType: 0,
              },
              {
                default: D(() => [
                  h(
                    f,
                    { "active-color": "#5B56E8" },
                    {
                      default: D(() => [
                        h(
                          n,
                          { title: t.$t(E(s)), ref_key: "leftItemRef", ref: i },
                          {
                            default: D(() => [
                              J("div", ve, [
                                J("div", fe, [
                                  (L(!0),
                                  U(
                                    H,
                                    null,
                                    Y(
                                      e.leftOption,
                                      (e) => (
                                        L(),
                                        U(
                                          "div",
                                          {
                                            class: Z([
                                              "flex items-center justify-center w-46% h-36 bg-#f2f2f2 text-12 rounded-4 my-8",
                                              {
                                                "left-active": E(l) === e.value,
                                              },
                                            ]),
                                            key: e.value,
                                            onClick: (t) =>
                                              (({ text: e, value: t }) => {
                                                (s.value = e),
                                                  (l.value = t),
                                                  i.value.toggle();
                                              })(e),
                                          },
                                          G(t.$t(e.text)),
                                          11,
                                          he
                                        )
                                      )
                                    ),
                                    128
                                  )),
                                ]),
                              ]),
                            ]),
                            _: 1,
                          },
                          8,
                          ["title"]
                        ),
                        h(
                          n,
                          {
                            title: t.$t(E(r)),
                            ref_key: "rightItemRef",
                            ref: d,
                          },
                          {
                            default: D(() => [
                              J("div", ge, [
                                J("div", me, [
                                  (L(!0),
                                  U(
                                    H,
                                    null,
                                    Y(
                                      e.rightOption,
                                      (e) => (
                                        L(),
                                        U(
                                          "div",
                                          {
                                            class: Z([
                                              "flex items-center justify-center w-46% h-36 bg-#f2f2f2 text-12 rounded-4 my-8",
                                              {
                                                "left-active": E(o) === e.value,
                                              },
                                            ]),
                                            key: e.value,
                                            onClick: (t) =>
                                              (({ text: e, value: t }) => {
                                                (r.value = e),
                                                  (o.value = t),
                                                  d.value.toggle();
                                              })(e),
                                          },
                                          G(t.$t(e.text)),
                                          11,
                                          xe
                                        )
                                      )
                                    ),
                                    128
                                  )),
                                ]),
                              ]),
                            ]),
                            _: 1,
                          },
                          8,
                          ["title"]
                        ),
                      ]),
                      _: 1,
                    }
                  ),
                  J("div", ye, [
                    J("div", we, [
                      J("div", be, G(t.$t(e.listTitle[0])), 1),
                      J("div", ke, G(t.$t(e.listTitle[1])), 1),
                      J("div", Ce, G(t.$t(e.listTitle[2])), 1),
                    ]),
                    h(
                      g,
                      {
                        loading: E(c),
                        "onUpdate:loading":
                          a[0] || (a[0] = (e) => (Q(c) ? (c.value = e) : null)),
                        finished: E(p),
                        "finished-text": t.$t("没有更多了"),
                        "loading-text": t.$t("加载中..."),
                        onLoad: E(v),
                      },
                      {
                        default: D(() => [
                          (L(!0),
                          U(
                            H,
                            null,
                            Y(
                              E(u),
                              (a, l) => (
                                L(),
                                U(
                                  "div",
                                  {
                                    class:
                                      "flex py-12 text-12 van-hairline--bottom",
                                    key: a.id,
                                  },
                                  [
                                    J("div", Oe, G(a[e.valueKey[0]]), 1),
                                    a.order_no
                                      ? M("", !0)
                                      : (L(),
                                        U("div", je, G(a[e.valueKey[1]]), 1)),
                                    (1 != a.status && 0 != a.status) ||
                                    !a.order_no
                                      ? M("", !0)
                                      : (L(),
                                        U("div", _e, G(t.$t("出款中")), 1)),
                                    2 == a.status && a.order_no
                                      ? (L(), U("div", Te, G(t.$t("成功")), 1))
                                      : M("", !0),
                                    3 == a.status && a.order_no
                                      ? (L(), U("div", $e, G(t.$t("失败")), 1))
                                      : M("", !0),
                                    J("div", ze, G(a[e.valueKey[2]]), 1),
                                  ]
                                )
                              )
                            ),
                            128
                          )),
                        ]),
                        _: 1,
                      },
                      8,
                      [
                        "loading",
                        "finished",
                        "finished-text",
                        "loading-text",
                        "onLoad",
                      ]
                    ),
                  ]),
                ]),
                _: 1,
              },
              8,
              ["title"]
            )
          );
        };
      },
    },
    [["__scopeId", "data-v-303919d0"]]
  );
export { Ve as R };
