136 lines
4.9 KiB
JavaScript
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);
|