-
-
-
-
+
@@ -488,16 +472,7 @@ onMounted(async () => {
disabled
/>
-
-
-
-
+
diff --git a/src/views/oem/OemUsersView.vue b/src/views/oem/OemUsersView.vue
index 9d16b1e..fa79064 100644
--- a/src/views/oem/OemUsersView.vue
+++ b/src/views/oem/OemUsersView.vue
@@ -2,7 +2,7 @@
import { computed, onMounted, ref } from "vue";
import { useAuthStore, ROLE_ADMIN, ROLE_AGENT,ROLE_OEM } from "../../stores/auth.js";
import {
- listAgentUsersApi,
+ listOemUsersApi,
createOemUserApi,
updateOemUserApi,
deleteOemUserApi,
@@ -10,11 +10,10 @@ import {
const auth = useAuthStore();
-const ROLE_OPTIONS = [
+/** 新建/编辑时可分配的角色(仅普通用户、代理) */
+const FORM_ROLE_OPTIONS = [
{ label: "普通用户", value: 0 },
- { label: "管理员", value: 1 },
{ label: "代理", value: 2 },
- { label: "OEM", value: 3 },
];
const ROLE_LABELS = {
@@ -49,8 +48,6 @@ const emptyForm = () => ({
password: "",
phone: "",
role_id: 0,
- vip_end_time: "",
- clear_vip_end_time: false,
});
const form = ref(emptyForm());
@@ -66,14 +63,6 @@ function formatDateTime(value) {
return d.toLocaleString("zh-CN", { hour12: false });
}
-function toDatetimeLocalValue(iso) {
- if (!iso) return "";
- const d = new Date(iso);
- if (Number.isNaN(d.getTime())) return "";
- const pad = (n) => String(n).padStart(2, "0");
- return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
-}
-
function roleLabel(roleId) {
return ROLE_LABELS[roleId] ?? `角色 ${roleId}`;
}
@@ -104,7 +93,7 @@ function showMessage(severity, message) {
async function loadFilterOptions() {
const [ agentRes] = await Promise.all([
- listAgentUsersApi(auth.token, { page: 1, pageSize: 200, roleId: ROLE_AGENT }),
+ listOemUsersApi(auth.token, { page: 1, pageSize: 200, roleId: ROLE_AGENT }),
]);
if (agentRes.ok && Array.isArray(agentRes.data?.items)) {
@@ -115,27 +104,25 @@ async function loadFilterOptions() {
async function loadUsers() {
loading.value = true;
feedback.value = { severity: "", message: "" };
- // const res = await listOemUsersApi(auth.token, {
- // page: page.value,
- // pageSize: pageSize.value,
- // username: filters.value.username,
- // oemId: filters.value.oem_id,
- // agentId: filters.value.agent_id,
- // });
- // loading.value = false;
+ const res = await listOemUsersApi(auth.token, {
+ page: page.value,
+ pageSize: pageSize.value,
+ username: filters.value.username,
+ oemId: filters.value.oem_id,
+ agentId: filters.value.agent_id,
+ });
+ loading.value = false;
- // if (!res.ok) {
- // showMessage("error", res.message || "加载用户列表失败");
- // return;
- // }
+ if (!res.ok) {
+ showMessage("error", res.message || "加载用户列表失败");
+ return;
+ }
- // const data = res.data;
- // users.value = Array.isArray(data?.items) ? data.items : [];
- // total.value = typeof data?.total === "number" ? data.total : 0;
- users.value=[];
- total.value=0;
- // if (typeof data?.page === "number") page.value = data.page;
- // if (typeof data?.page_size === "number") pageSize.value = data.page_size;
+ const data = res.data;
+ users.value = Array.isArray(data?.items) ? data.items : [];
+ total.value = typeof data?.total === "number" ? data.total : 0;
+ if (typeof data?.page === "number") page.value = data.page;
+ if (typeof data?.page_size === "number") pageSize.value = data.page_size;
}
async function onPage(event) {
@@ -170,8 +157,6 @@ function openEditDialog(row) {
password: "",
phone: row.phone || "",
role_id: row.role_id,
- vip_end_time: toDatetimeLocalValue(row.vip_end_time),
- clear_vip_end_time: false,
};
dialogVisible.value = true;
}
@@ -187,12 +172,6 @@ function buildPayload() {
payload.password = form.value.password;
}
- if (form.value.clear_vip_end_time) {
- payload.clear_vip_end_time = true;
- } else if (form.value.vip_end_time) {
- payload.vip_end_time = new Date(form.value.vip_end_time).toISOString();
- }
-
return payload;
}
@@ -415,26 +394,12 @@ onMounted(async () => {
-
-
-
-
-
-