From 64d172717748c383a5c88348037354bffd60f966 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 27 五月 2025 17:52:03 +0800 Subject: [PATCH] 页面样式修改 --- src/views/system/role/selectUser.vue | 144 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 144 insertions(+), 0 deletions(-) diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue new file mode 100644 index 0000000..0796618 --- /dev/null +++ b/src/views/system/role/selectUser.vue @@ -0,0 +1,144 @@ +<template> + <!-- 鎺堟潈鐢ㄦ埛 --> + <el-dialog title="閫夋嫨鐢ㄦ埛" v-model="visible" width="800px" top="5vh" append-to-body> + <el-form :model="queryParams" ref="queryRef" :inline="true"> + <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> + <el-input + v-model="queryParams.userName" + placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" + clearable + style="width: 180px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> + <el-input + v-model="queryParams.phonenumber" + placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" + clearable + style="width: 180px" + @keyup.enter="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-row> + <el-table @row-click="clickRow" ref="refTable" :data="userList" @selection-change="handleSelectionChange" height="260px"> + <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" /> + <el-table-column label="閭" prop="email" :show-overflow-tooltip="true" /> + <el-table-column label="鎵嬫満" prop="phonenumber" :show-overflow-tooltip="true" /> + <el-table-column label="鐘舵��" align="center" prop="status"> + <template #default="scope"> + <dict-tag :options="sys_normal_disable" :value="scope.row.status" /> + </template> + </el-table-column> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> + <template #default="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + </el-table> + <pagination + v-show="total > 0" + :total="total" + v-model:page="queryParams.pageNum" + v-model:limit="queryParams.pageSize" + @pagination="getList" + /> + </el-row> + <template #footer> + <div class="dialog-footer"> + <el-button type="primary" @click="handleSelectUser">纭� 瀹�</el-button> + <el-button @click="visible = false">鍙� 娑�</el-button> + </div> + </template> + </el-dialog> +</template> + +<script setup name="SelectUser"> +import { authUserSelectAll, unallocatedUserList } from "@/api/system/role" + +const props = defineProps({ + roleId: { + type: [Number, String] + } +}) + +const { proxy } = getCurrentInstance() +const { sys_normal_disable } = proxy.useDict("sys_normal_disable") + +const userList = ref([]) +const visible = ref(false) +const total = ref(0) +const userIds = ref([]) + +const queryParams = reactive({ + pageNum: 1, + pageSize: 10, + roleId: undefined, + userName: undefined, + phonenumber: undefined +}) + +// 鏄剧ず寮规 +function show() { + queryParams.roleId = props.roleId + getList() + visible.value = true +} + +/**閫夋嫨琛� */ +function clickRow(row) { + proxy.$refs["refTable"].toggleRowSelection(row) +} + +// 澶氶�夋閫変腑鏁版嵁 +function handleSelectionChange(selection) { + userIds.value = selection.map(item => item.userId) +} + +// 鏌ヨ琛ㄦ暟鎹� +function getList() { + unallocatedUserList(queryParams).then(res => { + userList.value = res.rows + total.value = res.total + }) +} + +/** 鎼滅储鎸夐挳鎿嶄綔 */ +function handleQuery() { + queryParams.pageNum = 1 + getList() +} + +/** 閲嶇疆鎸夐挳鎿嶄綔 */ +function resetQuery() { + proxy.resetForm("queryRef") + handleQuery() +} + +const emit = defineEmits(["ok"]) +/** 閫夋嫨鎺堟潈鐢ㄦ埛鎿嶄綔 */ +function handleSelectUser() { + const roleId = queryParams.roleId + const uIds = userIds.value.join(",") + if (uIds == "") { + proxy.$modal.msgError("璇烽�夋嫨瑕佸垎閰嶇殑鐢ㄦ埛") + return + } + authUserSelectAll({ roleId: roleId, userIds: uIds }).then(res => { + proxy.$modal.msgSuccess(res.msg) + visible.value = false + emit("ok") + }) +} + +defineExpose({ + show, +}) +</script> -- Gitblit v1.9.3