From 5e440a7dc434c43eb828fa62cf9c12b0078b8565 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 一月 2025 11:36:18 +0800 Subject: [PATCH] !173 发布 5.3.0-BETA 公测版本 Merge pull request !173 from 疯狂的狮子Li/dev --- src/views/system/role/selectUser.vue | 103 +++++++++++++++++++++++++-------------------------- 1 files changed, 51 insertions(+), 52 deletions(-) diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue index 38c6a44..e55120a 100644 --- a/src/views/system/role/selectUser.vue +++ b/src/views/system/role/selectUser.vue @@ -1,7 +1,7 @@ <template> <el-row> - <el-dialog title="閫夋嫨鐢ㄦ埛" v-model="visible" width="800px" top="5vh" append-to-body> - <el-form :model="queryParams" ref="queryFormRef" :inline="true"> + <el-dialog v-model="visible" title="閫夋嫨鐢ㄦ埛" width="800px" top="5vh" append-to-body> + <el-form ref="queryFormRef" :model="queryParams" :inline="true"> <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> <el-input v-model="queryParams.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable @keyup.enter="handleQuery" /> </el-form-item> @@ -14,7 +14,7 @@ </el-form-item> </el-form> <el-row> - <el-table @row-click="clickRow" ref="tableRef" :data="userList" @selection-change="handleSelectionChange" height="260px"> + <el-table ref="tableRef" :data="userList" height="260px" @row-click="clickRow" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column label="鐢ㄦ埛鍚嶇О" prop="userName" :show-overflow-tooltip="true" /> <el-table-column label="鐢ㄦ埛鏄电О" prop="nickName" :show-overflow-tooltip="true" /> @@ -27,11 +27,11 @@ </el-table-column> <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> <template #default="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> + <span>{{ proxy.parseTime(scope.row.createTime) }}</span> </template> </el-table-column> </el-table> - <pagination v-if="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> + <pagination v-if="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" /> </el-row> <template #footer> <div class="dialog-footer"> @@ -44,18 +44,16 @@ </template> <script setup name="SelectUser" lang="ts"> -import { authUserSelectAll, unallocatedUserList } from "@/api/system/role"; +import { authUserSelectAll, unallocatedUserList } from '@/api/system/role'; import { UserVO } from '@/api/system/user/types'; import { UserQuery } from '@/api/system/user/types'; -import { ComponentInternalInstance } from 'vue'; -import { ElForm, ElTable } from 'element-plus'; - const props = defineProps({ - roleId: { - type: [Number, String] - } -}) + roleId: { + type: [Number, String], + required: true + } +}); const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { sys_normal_disable } = toRefs<any>(proxy?.useDict('sys_normal_disable')); @@ -66,67 +64,68 @@ const userIds = ref<Array<string | number>>([]); const queryParams = reactive<UserQuery>({ - pageNum: 1, - pageSize: 10, - roleId: undefined, - userName: undefined, - phonenumber: undefined -}) + pageNum: 1, + pageSize: 10, + roleId: undefined, + userName: undefined, + phonenumber: undefined +}); -const tableRef = ref(ElTable); -const queryFormRef = ref(ElForm); +const tableRef = ref<ElTableInstance>(); +const queryFormRef = ref<ElFormInstance>(); const show = () => { - queryParams.roleId = props.roleId; - getList(); - visible.value = true; -} + queryParams.roleId = props.roleId; + getList(); + visible.value = true; +}; /** * 閫夋嫨琛� */ const clickRow = (row: any) => { - tableRef.value.toggleRowSelection(row); -} + // ele鐨刡ug + tableRef.value?.toggleRowSelection(row, false); +}; /** 澶氶�夋閫変腑鏁版嵁 */ const handleSelectionChange = (selection: UserVO[]) => { - userIds.value = selection.map((item: UserVO) => item.userId); -} + userIds.value = selection.map((item: UserVO) => item.userId); +}; /** 鏌ヨ鏁版嵁 */ const getList = async () => { - const res = await unallocatedUserList(queryParams); - userList.value = res.rows; - total.value = res.total; -} + const res = await unallocatedUserList(queryParams); + userList.value = res.rows; + total.value = res.total; +}; /** 鎼滅储鎸夐挳鎿嶄綔 */ const handleQuery = () => { - queryParams.pageNum = 1; - getList(); -} + queryParams.pageNum = 1; + getList(); +}; /** 閲嶇疆鎸夐挳鎿嶄綔 */ const resetQuery = () => { - queryFormRef.value.resetFields(); - getList(); -} + queryFormRef.value?.resetFields(); + getList(); +}; -const emit = defineEmits(["ok"]); +const emit = defineEmits(['ok']); /**閫夋嫨鎺堟潈鐢ㄦ埛鎿嶄綔 */ const handleSelectUser = async () => { - const roleId = queryParams.roleId; - const ids = userIds.value.join(','); - if (ids == "") { - proxy?.$modal.msgError('璇烽�夋嫨瑕佸垎閰嶇殑鐢ㄦ埛'); - return; - } - await authUserSelectAll({ roleId, userIds: ids }); - proxy?.$modal.msgSuccess('鍒嗛厤鎴愬姛'); - emit('ok'); - visible.value = false; -} + const roleId = queryParams.roleId; + const ids = userIds.value.join(','); + if (ids == '') { + proxy?.$modal.msgError('璇烽�夋嫨瑕佸垎閰嶇殑鐢ㄦ埛'); + return; + } + await authUserSelectAll({ roleId, userIds: ids }); + proxy?.$modal.msgSuccess('鍒嗛厤鎴愬姛'); + emit('ok'); + visible.value = false; +}; // 鏆撮湶 defineExpose({ - show, + show }); </script> -- Gitblit v1.9.3