From 5f14e63a2400456055086632e027951086114648 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 06 十二月 2024 15:07:04 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/views/system/role/index.vue |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/zy-asrs-admin/src/views/system/role/index.vue b/zy-asrs-admin/src/views/system/role/index.vue
index 76cbbeb..2f1f6e0 100644
--- a/zy-asrs-admin/src/views/system/role/index.vue
+++ b/zy-asrs-admin/src/views/system/role/index.vue
@@ -25,6 +25,11 @@
 let expandedKeys = ref([]);
 let selectedKeys = ref([]);
 
+const state = reactive({
+  selectedRowKeys: [],
+  loading: false,
+});
+
 let tableData = ref([]);
 getPage();
 
@@ -79,10 +84,6 @@
   },
 ];
 
-const state = reactive({
-  selectedRowKeys: [],
-  loading: false,
-});
 const hasSelected = computed(() => state.selectedRowKeys.length > 0);
 const start = () => {
   state.loading = true;
@@ -98,6 +99,8 @@
 };
 
 function getPage() {
+  state.loading = true;
+
   post('/api/role/page', {
     current: currentPage,
     pageSize: pageSize,
@@ -107,6 +110,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()
@@ -204,11 +209,17 @@
 
 }
 
+const treeLoading = ref(false)
 const loadMenuTree = (param) => {
+  treeLoading.value = true;
+  treeData.value = [];
+  checkedKeys.value = [];
   post('/api/menu/tree', {}).then(resp => {
     let result = resp.data;
     let data = result.data;
     treeData.value = data;
+
+    treeLoading.value = false;
   })
 
   get('/api/role/scope/list', {
@@ -246,7 +257,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;">
@@ -262,6 +273,7 @@
 
     <a-drawer :width="500" :title="formatMessage('page.assign.role', '鍒嗛厤鏉冮檺') + ' - ' + currentDrawerData?.name"
       placement="right" :open="openDrawer" @close="onCloseDrawer">
+      <a-spin v-if="treeLoading" />
       <template #extra>
         <a-button style="margin-right: 8px" @click="onCloseDrawer">{{ formatMessage('common.cancel', '鍙栨秷') }}</a-button>
         <a-button type="primary" @click="onSubmitDrawer">{{ formatMessage('common.submit', '鎻愪氦') }}</a-button>

--
Gitblit v1.9.1