diff --git a/src/api/adminUsers.js b/src/api/adminUsers.js
index b4b92e6..d607d4d 100644
--- a/src/api/adminUsers.js
+++ b/src/api/adminUsers.js
@@ -20,6 +20,7 @@ function adminRequest(token, path, options = {}) {
* page?: number,
* pageSize?: number,
* username?: string,
+ * deviceSerial?: string,
* oemId?: number | null,
* agentId?: number | null,
* roleId?: number | null,
@@ -27,7 +28,7 @@ function adminRequest(token, path, options = {}) {
*/
export function listAdminUsersApi(
token,
- { page = 1, pageSize = 20, username, oemId, agentId, roleId } = {},
+ { page = 1, pageSize = 20, username, deviceSerial, oemId, agentId, roleId } = {},
) {
const query = new URLSearchParams({
page: String(page),
@@ -35,6 +36,8 @@ export function listAdminUsersApi(
});
const trimmed = username?.trim();
if (trimmed) query.set("username", trimmed);
+ const serial = deviceSerial?.trim();
+ if (serial) query.set("device_serial", serial);
if (oemId != null) query.set("oem_id", String(oemId));
if (agentId != null) query.set("agent_id", String(agentId));
if (roleId != null) query.set("role_id", String(roleId));
diff --git a/src/views/admin/AdminUsersView.vue b/src/views/admin/AdminUsersView.vue
index ce76239..41e80c9 100644
--- a/src/views/admin/AdminUsersView.vue
+++ b/src/views/admin/AdminUsersView.vue
@@ -35,6 +35,7 @@ const agentOptions = ref([]);
const filters = ref({
username: "",
+ device_serial: "",
oem_id: null,
agent_id: null,
});
@@ -122,6 +123,7 @@ async function loadUsers() {
page: page.value,
pageSize: pageSize.value,
username: filters.value.username,
+ deviceSerial: filters.value.device_serial,
oemId: filters.value.oem_id,
agentId: filters.value.agent_id,
});
@@ -151,7 +153,7 @@ async function applyFilters() {
}
async function resetFilters() {
- filters.value = { username: "", oem_id: null, agent_id: null };
+ filters.value = { username: "", device_serial: "", oem_id: null, agent_id: null };
page.value = 1;
await loadUsers();
}
@@ -305,6 +307,12 @@ onMounted(async () => {
class="admin-users__search"
@keyup.enter="applyFilters"
/>
+