|
|
|
|
@ -24,11 +24,11 @@
|
|
|
|
|
<div v-show="showSearch" class="mb-[10px]">
|
|
|
|
|
<el-card shadow="hover">
|
|
|
|
|
<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 label="用户账号" prop="userName">
|
|
|
|
|
<el-input v-model="queryParams.userName" placeholder="请输入用户账号" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="用户昵称" prop="nickName">
|
|
|
|
|
<el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
<el-form-item label="用户姓名" prop="nickName">
|
|
|
|
|
<el-input v-model="queryParams.nickName" placeholder="请输入用户姓名" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="手机号码" prop="phonenumber">
|
|
|
|
|
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
@ -98,17 +98,21 @@
|
|
|
|
|
<el-table v-loading="loading" border :data="userList" @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="50" align="center" />
|
|
|
|
|
<el-table-column v-if="columns[0].visible" key="userId" label="用户编号" align="center" prop="userId" />
|
|
|
|
|
<el-table-column v-if="columns[1].visible" key="userName" label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" />
|
|
|
|
|
<el-table-column v-if="columns[2].visible" key="nickName" label="用户昵称" align="center" prop="nickName" :show-overflow-tooltip="true" />
|
|
|
|
|
<el-table-column v-if="columns[1].visible" key="userName" label="用户账号" align="center" prop="userName" :show-overflow-tooltip="true" />
|
|
|
|
|
<el-table-column v-if="columns[2].visible" key="nickName" label="用户姓名" align="center" prop="nickName" :show-overflow-tooltip="true" />
|
|
|
|
|
<el-table-column v-if="columns[3].visible" key="deptName" label="部门" align="center" prop="deptName" :show-overflow-tooltip="true" />
|
|
|
|
|
<el-table-column v-if="columns[4].visible" key="phonenumber" label="手机号码" align="center" prop="phonenumber" width="120" />
|
|
|
|
|
<el-table-column v-if="columns[5].visible" key="status" label="状态" align="center">
|
|
|
|
|
<el-table-column v-if="columns[5].visible" key="roles" label="角色" align="center" prop="roles" :show-overflow-tooltip="true">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<span>{{ scope.row.roles?.map((role: any) => role.roleName).join(', ') || '-' }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column v-if="columns[6].visible" key="status" label="状态" align="center">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column v-if="columns[6].visible" label="创建时间" align="center" prop="createTime" width="160">
|
|
|
|
|
<el-table-column v-if="columns[7].visible" label="创建时间" align="center" prop="createTime" width="160">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<span>{{ scope.row.createTime }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
@ -150,8 +154,8 @@
|
|
|
|
|
<el-form ref="userFormRef" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="用户昵称" prop="nickName">
|
|
|
|
|
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
|
|
|
|
|
<el-form-item label="用户姓名" prop="nickName">
|
|
|
|
|
<el-input v-model="form.nickName" placeholder="请输入用户姓名" maxlength="30" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12" v-if="form.userId == null || form.userId != useUserStore().userId">
|
|
|
|
|
@ -182,8 +186,8 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
|
|
|
|
|
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
|
|
|
|
|
<el-form-item v-if="form.userId == undefined" label="用户账号" prop="userName">
|
|
|
|
|
<el-input v-model="form.userName" placeholder="请输入用户账号" maxlength="30" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
@ -335,12 +339,13 @@ const upload = reactive<ImportOption>({
|
|
|
|
|
// 列显隐信息
|
|
|
|
|
const columns = ref<FieldOption[]>([
|
|
|
|
|
{ key: 0, label: `用户编号`, visible: false, children: [] },
|
|
|
|
|
{ key: 1, label: `用户名称`, visible: true, children: [] },
|
|
|
|
|
{ key: 2, label: `用户昵称`, visible: true, children: [] },
|
|
|
|
|
{ key: 1, label: `用户账号`, visible: true, children: [] },
|
|
|
|
|
{ key: 2, label: `用户姓名`, visible: true, children: [] },
|
|
|
|
|
{ key: 3, label: `部门`, visible: true, children: [] },
|
|
|
|
|
{ key: 4, label: `手机号码`, visible: true, children: [] },
|
|
|
|
|
{ key: 5, label: `状态`, visible: true, children: [] },
|
|
|
|
|
{ key: 6, label: `创建时间`, visible: true, children: [] }
|
|
|
|
|
{ key: 5, label: `角色`, visible: true, children: [] },
|
|
|
|
|
{ key: 6, label: `状态`, visible: true, children: [] },
|
|
|
|
|
{ key: 7, label: `创建时间`, visible: true, children: [] }
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const deptTreeRef = ref<ElTreeInstance>();
|
|
|
|
|
@ -382,15 +387,15 @@ const initData: PageData<UserForm, UserQuery> = {
|
|
|
|
|
},
|
|
|
|
|
rules: {
|
|
|
|
|
userName: [
|
|
|
|
|
{ required: true, message: '用户名称不能为空', trigger: 'blur' },
|
|
|
|
|
{ required: true, message: '用户账号不能为空', trigger: 'blur' },
|
|
|
|
|
{
|
|
|
|
|
min: 2,
|
|
|
|
|
max: 20,
|
|
|
|
|
message: '用户名称长度必须介于 2 和 20 之间',
|
|
|
|
|
message: '用户账号长度必须介于 2 和 20 之间',
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
|
|
|
|
|
nickName: [{ required: true, message: '用户姓名不能为空', trigger: 'blur' }],
|
|
|
|
|
password: [
|
|
|
|
|
{ required: true, message: '用户密码不能为空', trigger: 'blur' },
|
|
|
|
|
{
|
|
|
|
|
|