From 3c4fee1db116c11d4f04727cfe076d7c94daeaf2 Mon Sep 17 00:00:00 2001 From: yanzhaofeige <yanzhaofeige@qq.com> Date: Mon, 30 Sep 2024 12:10:57 +0800 Subject: [PATCH] init --- cpzidc-ui/src/views/system/role/selectUser.vue | 136 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 0 deletions(-) diff --git a/cpzidc-ui/src/views/system/role/selectUser.vue b/cpzidc-ui/src/views/system/role/selectUser.vue new file mode 100644 index 0000000..10a5365 --- /dev/null +++ b/cpzidc-ui/src/views/system/role/selectUser.vue @@ -0,0 +1,136 @@ +<template> + <!-- 授权用户 --> + <el-dialog title="选择用户" :visible.sync="visible" width="800px" top="5vh" append-to-body> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> + <el-form-item label="用户名称" prop="userName"> + <el-input + v-model="queryParams.userName" + placeholder="请输入用户名称" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="手机号码" prop="phonenumber"> + <el-input + v-model="queryParams.phonenumber" + placeholder="请输入手机号码" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + <el-row> + <el-table @row-click="clickRow" ref="table" :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 slot-scope="scope"> + <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> + </template> + </el-table-column> + <el-table-column label="创建时间" align="center" prop="createTime" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + </el-table> + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + </el-row> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="handleSelectUser">确 定</el-button> + <el-button @click="visible = false">取 消</el-button> + </div> + </el-dialog> +</template> + +<script> +import { unallocatedUserList, authUserSelectAll } from "@/api/system/role"; +export default { + dicts: ['sys_normal_disable'], + props: { + // 角色编号 + roleId: { + type: [Number, String] + } + }, + data() { + return { + // 遮罩层 + visible: false, + // 选中数组值 + userIds: [], + // 总条数 + total: 0, + // 未授权用户数据 + userList: [], + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + roleId: undefined, + userName: undefined, + phonenumber: undefined + } + }; + }, + methods: { + // 显示弹框 + show() { + this.queryParams.roleId = this.roleId; + this.getList(); + this.visible = true; + }, + clickRow(row) { + this.$refs.table.toggleRowSelection(row); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.userIds = selection.map(item => item.userId); + }, + // 查询表数据 + getList() { + unallocatedUserList(this.queryParams).then(res => { + this.userList = res.rows; + this.total = res.total; + }); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + /** 选择授权用户操作 */ + handleSelectUser() { + const roleId = this.queryParams.roleId; + const userIds = this.userIds.join(","); + if (userIds == "") { + this.$modal.msgError("请选择要分配的用户"); + return; + } + authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => { + this.$modal.msgSuccess(res.msg); + this.visible = false; + this.$emit("ok"); + }); + } + } +}; +</script> -- Gitblit v1.9.3