|
|
- "use strict";
- const common_vendor = require("../../common/vendor.js");
- const pages_mixins_pullRefreshMixin = require("../mixins/pullRefreshMixin.js");
- const _sfc_main = {
- mixins: [pages_mixins_pullRefreshMixin.pullRefreshMixin],
- data() {
- return {
- searchText: "",
- users: [],
- // 改为空数组,由接口获取
- statusBarHeight: 0,
- showSuggestList: false,
- suggestList: [],
- searchBarOffset: 0,
- searchBarTop: 0,
- contentOffset: 0,
- navBarRealHeight: 0,
- searchBarHeight: 70
- // px
- };
- },
- computed: {
- filteredUsers() {
- if (!this.searchText)
- return this.users;
- return this.users.filter(
- (u) => u.name.includes(this.searchText) || u.phone.includes(this.searchText) || u.role && u.role.includes(this.searchText)
- );
- },
- navbarStyle() {
- return `padding-top: ${this.statusBarHeight}px;`;
- }
- },
- onLoad() {
- common_vendor.index.getSystemInfo({
- success: (res) => {
- this.statusBarHeight = res.statusBarHeight || 20;
- }
- });
- this.$nextTick(() => {
- common_vendor.index.createSelectorQuery().select(".navbar").boundingClientRect((rect) => {
- if (rect) {
- this.navBarRealHeight = rect.height;
- }
- }).exec();
- });
- this.refreshData();
- },
- methods: {
- goBack() {
- common_vendor.index.navigateBack();
- },
- onInput(e) {
- const val = e.detail.value;
- this.searchText = val;
- if (val) {
- this.suggestList = this.users.map((u) => u.phone).filter((phone) => phone.includes(val));
- this.showSuggestList = this.suggestList.length > 0;
- } else {
- this.showSuggestList = false;
- }
- },
- clearInput() {
- this.searchText = "";
- this.showSuggestList = false;
- },
- cancelSearch() {
- this.clearInput();
- },
- highlightMatch(phone, keyword) {
- if (!keyword)
- return [{ name: "span", children: [phone] }];
- const idx = phone.indexOf(keyword);
- if (idx === -1)
- return [{ name: "span", children: [phone] }];
- const before = phone.slice(0, idx);
- const match = phone.slice(idx, idx + keyword.length);
- const after = phone.slice(idx + keyword.length);
- return [
- { name: "span", children: [before] },
- { name: "span", attrs: { style: "color:#ff8917" }, children: [match] },
- { name: "span", children: [after] }
- ];
- },
- goUserDetail(user) {
- const avatar = user.avatar || user.avatarUrl || "";
- common_vendor.index.navigateTo({
- url: "/pages/manager/user-detail",
- success: (res) => {
- res.eventChannel.emit("userDetail", { ...user, avatar });
- }
- });
- },
- async refreshData() {
- try {
- const res = await this.$api("getInfoTeamListPage", {
- pageSize: 1e3,
- current: 1
- });
- if (res && res.code === 200 && res.result && Array.isArray(res.result.records)) {
- this.users = res.result.records.map((user) => ({
- id: user.id,
- name: user.name || user.nickName || "-",
- phone: user.phone || "-",
- role: user.isTuiRole === "Y" ? "推广官" : "",
- blocked: user.isBlack === "Y",
- avatar: user.headImage || user.avatar || user.avatarUrl || ""
- }));
- }
- } catch (error) {
- common_vendor.index.__f__("error", "at pages/manager/user.vue:171", "获取用户列表失败:", error);
- common_vendor.index.showToast({
- title: "获取用户列表失败",
- icon: "none"
- });
- }
- },
- async onRefresh() {
- await this.refreshData && this.refreshData();
- }
- },
- onPullDownRefresh() {
- this.refreshData && this.refreshData();
- common_vendor.index.stopPullDownRefresh();
- }
- };
- if (!Array) {
- const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
- _easycom_uni_icons2();
- }
- const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
- if (!Math) {
- _easycom_uni_icons();
- }
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
- return common_vendor.e({
- a: common_vendor.p({
- type: "back",
- size: "24",
- color: "#222"
- }),
- b: common_vendor.o((...args) => $options.goBack && $options.goBack(...args)),
- c: common_vendor.s($options.navbarStyle),
- d: common_vendor.p({
- type: "search",
- size: "22",
- color: "#bfbfbf"
- }),
- e: common_vendor.o([($event) => $data.searchText = $event.detail.value, (...args) => $options.onInput && $options.onInput(...args)]),
- f: $data.searchText,
- g: $data.searchText.length
- }, $data.searchText.length ? {
- h: common_vendor.p({
- type: "closeempty",
- size: "22",
- color: "#bfbfbf"
- }),
- i: common_vendor.o((...args) => $options.clearInput && $options.clearInput(...args))
- } : {}, {
- j: $data.searchText.length
- }, $data.searchText.length ? {
- k: common_vendor.o((...args) => $options.cancelSearch && $options.cancelSearch(...args))
- } : {}, {
- l: $data.navBarRealHeight + "px",
- m: $data.showSuggestList
- }, $data.showSuggestList ? {
- n: common_vendor.f($data.suggestList, (item, idx, i0) => {
- return {
- a: "1d5a9178-3-" + i0,
- b: $options.highlightMatch(item, $data.searchText),
- c: idx
- };
- }),
- o: common_vendor.p({
- type: "search",
- size: "22",
- color: "#bfbfbf"
- }),
- p: $data.navBarRealHeight + $data.searchBarHeight + "px"
- } : {}, {
- q: !$data.showSuggestList
- }, !$data.showSuggestList ? {
- r: common_vendor.f($options.filteredUsers, (user, idx, i0) => {
- return common_vendor.e({
- a: common_vendor.t(user.name),
- b: common_vendor.t(user.phone),
- c: user.role
- }, user.role ? common_vendor.e({
- d: user.role === "推广官"
- }, user.role === "推广官" ? {} : {
- e: common_vendor.t(user.role)
- }) : {}, {
- f: user.blocked
- }, user.blocked ? {} : {}, {
- g: idx,
- h: common_vendor.o(($event) => $options.goUserDetail(user), idx)
- });
- }),
- s: $data.navBarRealHeight + $data.searchBarHeight + "px"
- } : {});
- }
- const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1d5a9178"]]);
- wx.createPage(MiniProgramPage);
- //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/manager/user.js.map
|