From 7fd5c2d17a4df2c6818ab76d6dffe851afa18c9c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期四, 23 二月 2023 13:25:43 +0800 Subject: [PATCH] 外包修改 --- src/views/system/user/index.vue | 116 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 74 insertions(+), 42 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index adbbd49..06e520f 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -2,8 +2,18 @@ <div class="system-user-container"> <el-card shadow="hover"> <div class="system-user-search mb15"> - <el-input size="default" placeholder="请输入用户名称" style="max-width: 180px"> </el-input> - <el-button size="default" type="primary" class="ml10"> + <el-cascader + v-model="userTableData.listQuery.searchParams.depId" + :props="props" + :options="departmentList" + :show-all-levels="false" + placeholder="请选择部门" + clearable + size="default" + ></el-cascader> + <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.username" placeholder="请输入用户名" style="max-width: 180px;margin-left: 10px;margin-right: 10px"> </el-input> + <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.realName" placeholder="请输入真实姓名" style="max-width: 180px"> </el-input> + <el-button size="default" type="primary" class="ml10" @click="initUserTableData"> <el-icon> <ele-Search /> </el-icon> @@ -18,11 +28,16 @@ </div> <el-table :data="userTableData.data" style="width: 100%"> <el-table-column type="index" label="序号" width="60" /> - <el-table-column prop="username" label="账户名称" show-overflow-tooltip></el-table-column> - <el-table-column prop="realName" label="用户昵称" show-overflow-tooltip></el-table-column> - <el-table-column prop="sex" label="性别" show-overflow-tooltip></el-table-column> - <el-table-column prop="role.name" label="关联角色" show-overflow-tooltip></el-table-column> - <el-table-column prop="department.name" label="部门" show-overflow-tooltip></el-table-column> + <el-table-column prop="username" label="用户名" show-overflow-tooltip></el-table-column> + <el-table-column prop="realName" label="真实姓名" show-overflow-tooltip></el-table-column> + <el-table-column prop="gender" label="性别" show-overflow-tooltip> + <template #default="scope"> + <el-tag type="success" v-if="scope.row.gender == 1">男</el-tag> + <el-tag type="success" v-else-if="scope.row.gender == 0">女</el-tag> + </template> + </el-table-column> + <el-table-column prop="role.roleName" label="关联角色" show-overflow-tooltip></el-table-column> + <el-table-column prop="department.depName" label="部门" show-overflow-tooltip></el-table-column> <el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column> <el-table-column prop="email" label="邮箱" show-overflow-tooltip></el-table-column> <el-table-column prop="status" label="用户状态" show-overflow-tooltip> @@ -34,34 +49,13 @@ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column> <el-table-column label="操作" width="100"> <template #default="scope"> - <el-button - :disabled="scope.row.userName === 'admin'" - size="small" - text - type="primary" - @click="onOpenUserDialog('修改', scope.row)" - >修改</el-button - > - <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onRowDel(scope.row)" - >删除</el-button - > + <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenUserDialog('修改', scope.row)">修改</el-button> + <el-button style="color: red" :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button> </template> </el-table-column> </el-table> <br /> - <el-pagination - @size-change="onHandleSizeChange" - @current-change="onHandleCurrentChange" - class="page-position" - :pager-count="5" - :page-sizes="[10, 20, 30]" - v-model:current-page="userTableData.listQuery.pageIndex" - background - v-model:page-size="userTableData.listQuery.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="userTableData.total" - > - </el-pagination> + <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" class="page-position" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="userTableData.listQuery.pageIndex" background v-model:page-size="userTableData.listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="userTableData.total"> </el-pagination> <br /> <br /> </el-card> @@ -73,9 +67,9 @@ import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import userDialog from '/@/views/system/user/component/userDialog.vue'; -import { userApi } from '/@/api/user'; -import { departmentApi } from '/@/api/department'; -import { useRoleApi } from '/@/api/role'; +import { userApi } from '/@/api/systemManage/user'; +import { departmentApi } from '/@/api/systemManage/department'; +import { useRoleApi } from '/@/api/systemManage/role'; // 定义接口来定义对象的类型 interface TableDataRow { @@ -100,8 +94,9 @@ loading: boolean; listQuery: { searchParams: { - username: string; - realName: string; + depId: string | null; + username: string | null; + realName: string | null; }; pageIndex: number; pageSize: number; @@ -109,6 +104,7 @@ }; departmentList: []; roleList: []; + props:{} } export default defineComponent({ @@ -123,15 +119,22 @@ loading: false, listQuery: { searchParams: { - username: '', - realName: '' + depId: null, + username: null, + realName: null }, pageIndex: 1, pageSize: 10 } }, departmentList: [], - roleList: [] + roleList: [], + props: { + label: 'depName', + value: 'depId', + checkStrictly: true, + emitPath: false + } }); // 初始化表格数据 const initUserTableData = async () => { @@ -178,13 +181,26 @@ // 删除用户 const onRowDel = (row: TableDataRow) => { - ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.userName}”,是否继续?`, '提示', { + ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.realName}”,是否继续?`, '提示', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }) - .then(() => { - ElMessage.success('删除成功'); + .then(async () => { + let res = await userApi().deleteUser({ uid: row.uid }); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + duration: 2000, + message: '删除成功' + }); + await initUserTableData(); + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } }) .catch(() => {}); }; @@ -200,6 +216,10 @@ }; // 页面加载时 onMounted(() => { + let a = { name: 1, c: { name: 1 } }; + let b = Object.assign({}, a); + b.c.name = 2; + console.log(a.c.name); initUserTableData(); getDepartmentData(); getRoleData(); @@ -216,3 +236,15 @@ } }); </script> +<style scoped> +:deep(.el-textarea.is-disabled .el-textarea__inner) { + background-color: var(--el-card-bg-color); + color: var(--el-input-text-color, var(--el-text-color-regular)); +} +:deep(.el-input.is-disabled .el-input__inner) { + color: var(--el-input-text-color, var(--el-text-color-regular)); +} +:deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); +} +</style> -- Gitblit v1.9.2