From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #
---
zy-asrs-admin/src/views/system/userLogin/index.vue | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/zy-asrs-admin/src/views/system/userLogin/index.vue b/zy-asrs-admin/src/views/system/userLogin/index.vue
index e0af397..630fdf2 100644
--- a/zy-asrs-admin/src/views/system/userLogin/index.vue
+++ b/zy-asrs-admin/src/views/system/userLogin/index.vue
@@ -6,6 +6,7 @@
import { logout } from '@/config.js';
import EditView from './edit.vue'
import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
@@ -16,45 +17,61 @@
const searchInput = ref("")
const editChild = ref(null)
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+});
+
let tableData = ref([]);
getPage();
+
+const {
+ getColumnSearchProps,
+} = useTableSearch();
const columns = [
{
title: formatMessage('db.sys_user_login.user_id', '鐢ㄦ埛'),
dataIndex: 'userId$',
width: 140,
+ ...getColumnSearchProps('userId$'),
},
{
title: formatMessage('db.sys_user_login.token', '瀵嗛挜'),
dataIndex: 'token',
width: 140,
ellipsis: true,
+ ...getColumnSearchProps('token'),
},
{
title: formatMessage('db.sys_user_login.ip', '鐧诲綍ip'),
dataIndex: 'ip',
width: 140,
+ ...getColumnSearchProps('ip'),
},
{
title: formatMessage('db.sys_user_login.type', '绫诲瀷'),
dataIndex: 'type$',
width: 140,
+ ...getColumnSearchProps('type$'),
},
{
title: formatMessage('db.sys_user_login.create_time', '娣诲姞鏃堕棿'),
dataIndex: 'createTime$',
width: 140,
+ ...getColumnSearchProps('createTime$'),
},
{
title: formatMessage('db.sys_user_login.system', '鐧诲綍绯荤粺'),
dataIndex: 'system',
width: 140,
+ ...getColumnSearchProps('system'),
},
{
title: formatMessage('db.sys_user_login.memo', '澶囨敞'),
dataIndex: 'memo',
width: 140,
+ ...getColumnSearchProps('memo'),
},
{
@@ -66,10 +83,6 @@
},
];
-const state = reactive({
- selectedRowKeys: [],
- loading: false,
-});
const hasSelected = computed(() => state.selectedRowKeys.length > 0);
const start = () => {
state.loading = true;
@@ -85,6 +98,8 @@
};
function getPage() {
+ state.loading = true;
+
post('/api/userLogin/page', {
current: currentPage,
pageSize: pageSize,
@@ -94,6 +109,8 @@
if (result.code == 200) {
let data = result.data;
tableData.value = data;
+
+ state.loading = false;
} else if (result.code === 401) {
message.error(result.msg);
logout()
@@ -135,7 +152,9 @@
}
const handleExport = async (intl) => {
- postBlob('/api/userLogin/export', {}).then(result => {
+ postBlob('/api/userLogin/export', {
+ condition: searchInput.value
+ }).then(result => {
const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
window.location.href = window.URL.createObjectURL(blob);
return true;
@@ -179,7 +198,7 @@
<a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
:data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
:pagination="{ total: tableData.total, onChange: onPageChange }"
- :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns">
+ :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" :loading="state.loading">
<template #bodyCell="{ column, text, record }">
<template v-if="column.dataIndex === 'oper'">
<div style="display: flex;justify-content: space-evenly;">
--
Gitblit v1.9.1