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/host/index.vue |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/zy-asrs-admin/src/views/system/host/index.vue b/zy-asrs-admin/src/views/system/host/index.vue
index d653ffd..7241a5e 100644
--- a/zy-asrs-admin/src/views/system/host/index.vue
+++ b/zy-asrs-admin/src/views/system/host/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,34 +17,48 @@
 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_host.name', '鍚嶇О'),
     dataIndex: 'name',
     width: 140,
+    ...getColumnSearchProps('name'),
   },
   {
     title: formatMessage('db.sys_host.status', '鐘舵��'),
     dataIndex: 'status$',
     width: 140,
+    ...getColumnSearchProps('status$'),
   },
   {
     title: formatMessage('db.sys_host.create_time', '娣诲姞鏃堕棿'),
     dataIndex: 'createTime$',
     width: 140,
+    ...getColumnSearchProps('createTime$'),
   },
   {
     title: formatMessage('db.sys_host.update_time', '淇敼鏃堕棿'),
     dataIndex: 'updateTime$',
     width: 140,
+    ...getColumnSearchProps('updateTime$'),
   },
   {
     title: formatMessage('db.sys_host.memo', '澶囨敞'),
     dataIndex: 'memo',
     width: 140,
+    ...getColumnSearchProps('memo'),
   },
 
   {
@@ -55,10 +70,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -74,6 +85,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/host/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -83,6 +96,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()
@@ -169,7 +184,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