From 31da01bdd1e4fe8fb8eec41f401d73bcf6cc18b7 Mon Sep 17 00:00:00 2001 From: ahao <liuhaoai545@gmail.com> Date: 星期六, 06 一月 2024 17:27:01 +0800 Subject: [PATCH] fix https://gitee.com/dromara/RuoYi-Vue-Plus/issues/I8TMAI --- src/views/system/user/authRole.vue | 41 ++++++++++++++++++++++++++--------------- 1 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue index e55a8d8..656ffc2 100644 --- a/src/views/system/user/authRole.vue +++ b/src/views/system/user/authRole.vue @@ -21,12 +21,12 @@ <h4 class="panel-title">瑙掕壊淇℃伅</h4> <div> <el-table + ref="tableRef" v-loading="loading" :row-key="getRowKey" - @row-click="clickRow" - ref="tableRef" - @selection-change="handleSelectionChange" :data="roles.slice((pageNum - 1) * pageSize, pageNum * pageSize)" + @row-click="clickRow" + @selection-change="handleSelectionChange" > <el-table-column label="搴忓彿" width="55" type="index" align="center"> <template #default="scope"> @@ -43,8 +43,8 @@ </template> </el-table-column> </el-table> - <pagination v-show="total > 0" :total="total" v-model:page="pageNum" v-model:limit="pageSize" /> - <div style="text-align: center;margin-left:-120px;margin-top:30px;"> + <pagination v-show="total > 0" v-model:page="pageNum" v-model:limit="pageSize" :total="total" /> + <div style="text-align: center; margin-left: -120px; margin-top: 30px"> <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> <el-button @click="close()">杩斿洖</el-button> </div> @@ -55,9 +55,10 @@ </template> <script setup name="AuthRole" lang="ts"> -import { RoleVO } from "@/api/system/role/types"; -import { getAuthRole, updateAuthRole } from "@/api/system/user"; -import { UserForm } from "@/api/system/user/types"; +import { RoleVO } from '@/api/system/role/types'; +import { getAuthRole, updateAuthRole } from '@/api/system/user'; +import { UserForm } from '@/api/system/user/types'; +import { RouteLocationNormalized } from 'vue-router'; const route = useRoute(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -70,7 +71,7 @@ const roles = ref<RoleVO[]>([]); const form = ref<Partial<UserForm>>({ nickName: undefined, - userName: "", + userName: '', userId: undefined }); @@ -79,11 +80,11 @@ /** 鍗曞嚮閫変腑琛屾暟鎹� */ const clickRow = (row: RoleVO) => { // ele鐨勬柟娉曟湁闂锛宻elected搴旇涓哄彲閫夊弬鏁� - tableRef.value?.toggleRowSelection(row); + tableRef.value?.toggleRowSelection(row, false); }; /** 澶氶�夋閫変腑鏁版嵁 */ const handleSelectionChange = (selection: RoleVO[]) => { - roleIds.value = selection.map(item => item.roleId); + roleIds.value = selection.map((item) => item.roleId); }; /** 淇濆瓨閫変腑鐨勬暟鎹紪鍙� */ const getRowKey = (row: RoleVO): string => { @@ -91,15 +92,25 @@ }; /** 鍏抽棴鎸夐挳 */ const close = () => { - const obj = { path: "/system/user" }; + const obj: RouteLocationNormalized = { + fullPath: '', + hash: '', + matched: [], + meta: undefined, + name: undefined, + params: undefined, + query: undefined, + redirectedFrom: undefined, + path: '/system/user' + }; proxy?.$tab.closeOpenPage(obj); }; /** 鎻愪氦鎸夐挳 */ const submitForm = async () => { const userId = form.value.userId; - const rIds = roleIds.value.join(","); + const rIds = roleIds.value.join(','); await updateAuthRole({ userId: userId as string, roleIds: rIds }); - proxy?.$modal.msgSuccess("鎺堟潈鎴愬姛"); + proxy?.$modal.msgSuccess('鎺堟潈鎴愬姛'); close(); }; @@ -112,7 +123,7 @@ Object.assign(roles.value, res.data.roles); total.value = roles.value.length; await nextTick(() => { - roles.value.forEach(row => { + roles.value.forEach((row) => { if (row?.flag) { tableRef.value?.toggleRowSelection(row, true); } -- Gitblit v1.9.3