Files
2026-07-27 14:07:26 +08:00

136 lines
4.9 KiB
JavaScript

"use strict";
const common_vendor = require("../../../common/vendor.js");
const stores_user = require("../../../stores/user.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "list",
setup(__props) {
const userStore = stores_user.useUserStore();
const searchKeyword = common_vendor.ref("");
const showAddModal = common_vendor.ref(false);
const editingUser = common_vendor.ref(null);
const formData = common_vendor.reactive({
name: "",
phone: "",
role: "collector"
});
const filteredUsers = common_vendor.computed(() => {
let users = userStore.users;
if (searchKeyword.value) {
const keyword = searchKeyword.value.toLowerCase();
users = users.filter(
(item) => item.name.toLowerCase().includes(keyword) || item.phone.includes(keyword)
);
}
return users;
});
const editUser = (user) => {
editingUser.value = user;
formData.name = user.name;
formData.phone = user.phone;
formData.role = user.role;
showAddModal.value = true;
};
const deleteUser = (id) => {
common_vendor.index.showModal({
title: "确认删除",
content: "确定要删除此用户吗?",
success: (res) => {
if (res.confirm) {
userStore.deleteUser(id);
common_vendor.index.showToast({ title: "删除成功", icon: "success" });
}
}
});
};
const closeModal = () => {
showAddModal.value = false;
editingUser.value = null;
formData.name = "";
formData.phone = "";
formData.role = "collector";
};
const saveUser = async () => {
if (!formData.name) {
common_vendor.index.showToast({ title: "请输入用户名", icon: "none" });
return;
}
if (!formData.phone || formData.phone.length !== 11) {
common_vendor.index.showToast({ title: "请输入正确的手机号", icon: "none" });
return;
}
if (editingUser.value) {
await userStore.updateUser({
id: editingUser.value.id,
name: formData.name,
phone: formData.phone,
role: formData.role
});
common_vendor.index.showToast({ title: "修改成功", icon: "success" });
} else {
await userStore.addUser({
name: formData.name,
phone: formData.phone,
role: formData.role
});
common_vendor.index.showToast({ title: "新增成功", icon: "success" });
}
closeModal();
};
const goToHome = () => {
common_vendor.index.redirectTo({ url: "/pages/admin/index" });
};
const goToOrderList = () => {
common_vendor.index.redirectTo({ url: "/pages/admin/order/list" });
};
const goToPriceManager = () => {
common_vendor.index.redirectTo({ url: "/pages/admin/price/list" });
};
common_vendor.onMounted(() => {
userStore.loadUsers();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => showAddModal.value = true),
b: searchKeyword.value,
c: common_vendor.o(($event) => searchKeyword.value = $event.detail.value),
d: common_vendor.f(filteredUsers.value, (user, k0, i0) => {
return {
a: common_vendor.t(user.name.charAt(0)),
b: common_vendor.t(user.name),
c: common_vendor.t(user.phone),
d: common_vendor.t(user.role === "admin" ? "管理员" : "回收员"),
e: common_vendor.n(user.role),
f: common_vendor.o(($event) => editUser(user), user.id),
g: common_vendor.o(($event) => deleteUser(user.id), user.id),
h: user.id
};
}),
e: filteredUsers.value.length === 0
}, filteredUsers.value.length === 0 ? {} : {}, {
f: common_vendor.o(goToHome),
g: common_vendor.o(goToOrderList),
h: common_vendor.o(goToPriceManager),
i: showAddModal.value
}, showAddModal.value ? {
j: common_vendor.t(editingUser.value ? "编辑用户" : "新增用户"),
k: common_vendor.o(closeModal),
l: formData.name,
m: common_vendor.o(($event) => formData.name = $event.detail.value),
n: formData.phone,
o: common_vendor.o(($event) => formData.phone = $event.detail.value),
p: formData.role === "admin" ? 1 : "",
q: common_vendor.o(($event) => formData.role = "admin"),
r: formData.role === "collector" ? 1 : "",
s: common_vendor.o(($event) => formData.role = "collector"),
t: common_vendor.o(closeModal),
v: common_vendor.o(saveUser),
w: common_vendor.o(() => {
}),
x: common_vendor.o(closeModal)
} : {});
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-709108fb"]]);
wx.createPage(MiniProgramPage);