爱简收旧衣按件回收前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

204 lines
6.4 KiB

"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