|
@@ -2,10 +2,7 @@
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
<!--部门数据-->
|
|
<!--部门数据-->
|
|
- <el-col
|
|
|
|
- :span="4"
|
|
|
|
- :xs="24"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-col :span="4" :xs="24">
|
|
<div class="head-container">
|
|
<div class="head-container">
|
|
<el-input
|
|
<el-input
|
|
v-model="deptName"
|
|
v-model="deptName"
|
|
@@ -31,10 +28,7 @@
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
<!--用户数据-->
|
|
<!--用户数据-->
|
|
- <el-col
|
|
|
|
- :span="20"
|
|
|
|
- :xs="24"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-col :span="20" :xs="24">
|
|
<el-form
|
|
<el-form
|
|
:model="queryParams"
|
|
:model="queryParams"
|
|
ref="queryForm"
|
|
ref="queryForm"
|
|
@@ -43,10 +37,7 @@
|
|
v-show="showSearch"
|
|
v-show="showSearch"
|
|
label-width="68px"
|
|
label-width="68px"
|
|
>
|
|
>
|
|
- <el-form-item
|
|
|
|
- label="用户名称"
|
|
|
|
- prop="userName"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="用户名称" prop="userName">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.userName"
|
|
v-model="queryParams.userName"
|
|
placeholder="请输入用户名称"
|
|
placeholder="请输入用户名称"
|
|
@@ -55,10 +46,7 @@
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item
|
|
|
|
- label="手机号码"
|
|
|
|
- prop="phonenumber"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="手机号码" prop="phonenumber">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.phonenumber"
|
|
v-model="queryParams.phonenumber"
|
|
placeholder="请输入手机号码"
|
|
placeholder="请输入手机号码"
|
|
@@ -67,10 +55,7 @@
|
|
@keyup.enter.native="handleQuery"
|
|
@keyup.enter.native="handleQuery"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item
|
|
|
|
- label="状态"
|
|
|
|
- prop="status"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="状态" prop="status">
|
|
<el-select
|
|
<el-select
|
|
v-model="queryParams.status"
|
|
v-model="queryParams.status"
|
|
placeholder="用户状态"
|
|
placeholder="用户状态"
|
|
@@ -102,19 +87,15 @@
|
|
icon="el-icon-search"
|
|
icon="el-icon-search"
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleQuery"
|
|
@click="handleQuery"
|
|
- >搜索</el-button>
|
|
|
|
- <el-button
|
|
|
|
- icon="el-icon-refresh"
|
|
|
|
- size="mini"
|
|
|
|
- @click="resetQuery"
|
|
|
|
- >重置</el-button>
|
|
|
|
|
|
+ >搜索</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
|
|
+ >重置</el-button
|
|
|
|
+ >
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
- <el-row
|
|
|
|
- :gutter="10"
|
|
|
|
- class="mb8"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
@@ -123,7 +104,8 @@
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleAdd"
|
|
@click="handleAdd"
|
|
v-hasPermi="['system:user:add']"
|
|
v-hasPermi="['system:user:add']"
|
|
- >新增</el-button>
|
|
|
|
|
|
+ >新增</el-button
|
|
|
|
+ >
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -134,7 +116,8 @@
|
|
:disabled="single"
|
|
:disabled="single"
|
|
@click="handleUpdate"
|
|
@click="handleUpdate"
|
|
v-hasPermi="['system:user:edit']"
|
|
v-hasPermi="['system:user:edit']"
|
|
- >修改</el-button>
|
|
|
|
|
|
+ >修改</el-button
|
|
|
|
+ >
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -145,7 +128,8 @@
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
@click="handleDelete"
|
|
@click="handleDelete"
|
|
v-hasPermi="['system:user:remove']"
|
|
v-hasPermi="['system:user:remove']"
|
|
- >删除</el-button>
|
|
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -155,7 +139,8 @@
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleImport"
|
|
@click="handleImport"
|
|
v-hasPermi="['system:user:import']"
|
|
v-hasPermi="['system:user:import']"
|
|
- >导入</el-button>
|
|
|
|
|
|
+ >导入</el-button
|
|
|
|
+ >
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -165,7 +150,8 @@
|
|
size="mini"
|
|
size="mini"
|
|
@click="handleExport"
|
|
@click="handleExport"
|
|
v-hasPermi="['system:user:export']"
|
|
v-hasPermi="['system:user:export']"
|
|
- >导出</el-button>
|
|
|
|
|
|
+ >导出</el-button
|
|
|
|
+ >
|
|
</el-col>
|
|
</el-col>
|
|
<right-toolbar
|
|
<right-toolbar
|
|
:showSearch.sync="showSearch"
|
|
:showSearch.sync="showSearch"
|
|
@@ -179,11 +165,7 @@
|
|
:data="userList"
|
|
:data="userList"
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
- <el-table-column
|
|
|
|
- type="selection"
|
|
|
|
- width="50"
|
|
|
|
- align="center"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-table-column type="selection" width="50" align="center" />
|
|
<el-table-column
|
|
<el-table-column
|
|
label="用户编号"
|
|
label="用户编号"
|
|
align="center"
|
|
align="center"
|
|
@@ -255,45 +237,44 @@
|
|
width="160"
|
|
width="160"
|
|
class-name="small-padding fixed-width"
|
|
class-name="small-padding fixed-width"
|
|
>
|
|
>
|
|
- <template
|
|
|
|
- slot-scope="scope"
|
|
|
|
- v-if="scope.row.userId !== 1"
|
|
|
|
- >
|
|
|
|
|
|
+ <template slot-scope="scope" v-if="scope.row.userId !== 1">
|
|
<el-button
|
|
<el-button
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-edit"
|
|
icon="el-icon-edit"
|
|
@click="handleUpdate(scope.row)"
|
|
@click="handleUpdate(scope.row)"
|
|
v-hasPermi="['system:user:edit']"
|
|
v-hasPermi="['system:user:edit']"
|
|
- >修改</el-button>
|
|
|
|
|
|
+ >修改</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
size="mini"
|
|
size="mini"
|
|
type="text"
|
|
type="text"
|
|
icon="el-icon-delete"
|
|
icon="el-icon-delete"
|
|
@click="handleDelete(scope.row)"
|
|
@click="handleDelete(scope.row)"
|
|
v-hasPermi="['system:user:remove']"
|
|
v-hasPermi="['system:user:remove']"
|
|
- >删除</el-button>
|
|
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
<el-dropdown
|
|
<el-dropdown
|
|
size="mini"
|
|
size="mini"
|
|
@command="(command) => handleCommand(command, scope.row)"
|
|
@command="(command) => handleCommand(command, scope.row)"
|
|
v-hasPermi="['system:user:resetPwd', 'system:user:edit']"
|
|
v-hasPermi="['system:user:resetPwd', 'system:user:edit']"
|
|
>
|
|
>
|
|
- <el-button
|
|
|
|
- size="mini"
|
|
|
|
- type="text"
|
|
|
|
- icon="el-icon-d-arrow-right"
|
|
|
|
- >更多</el-button>
|
|
|
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-d-arrow-right"
|
|
|
|
+ >更多</el-button
|
|
|
|
+ >
|
|
<el-dropdown-menu slot="dropdown">
|
|
<el-dropdown-menu slot="dropdown">
|
|
<el-dropdown-item
|
|
<el-dropdown-item
|
|
command="handleResetPwd"
|
|
command="handleResetPwd"
|
|
icon="el-icon-key"
|
|
icon="el-icon-key"
|
|
v-hasPermi="['system:user:resetPwd']"
|
|
v-hasPermi="['system:user:resetPwd']"
|
|
- >重置密码</el-dropdown-item>
|
|
|
|
|
|
+ >重置密码</el-dropdown-item
|
|
|
|
+ >
|
|
<el-dropdown-item
|
|
<el-dropdown-item
|
|
command="handleAuthRole"
|
|
command="handleAuthRole"
|
|
icon="el-icon-circle-check"
|
|
icon="el-icon-circle-check"
|
|
v-hasPermi="['system:user:edit']"
|
|
v-hasPermi="['system:user:edit']"
|
|
- >分配角色</el-dropdown-item>
|
|
|
|
|
|
+ >分配角色</el-dropdown-item
|
|
|
|
+ >
|
|
</el-dropdown-menu>
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</el-dropdown>
|
|
</template>
|
|
</template>
|
|
@@ -311,24 +292,11 @@
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<!-- 添加或修改用户配置对话框 -->
|
|
<!-- 添加或修改用户配置对话框 -->
|
|
- <el-dialog
|
|
|
|
- :title="title"
|
|
|
|
- :visible.sync="open"
|
|
|
|
- width="600px"
|
|
|
|
- append-to-body
|
|
|
|
- >
|
|
|
|
- <el-form
|
|
|
|
- ref="form"
|
|
|
|
- :model="form"
|
|
|
|
- :rules="rules"
|
|
|
|
- label-width="80px"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item
|
|
|
|
- label="用户昵称"
|
|
|
|
- prop="nickName"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="用户昵称" prop="nickName">
|
|
<el-input
|
|
<el-input
|
|
v-model="form.nickName"
|
|
v-model="form.nickName"
|
|
placeholder="请输入用户昵称"
|
|
placeholder="请输入用户昵称"
|
|
@@ -337,10 +305,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item
|
|
|
|
- label="归属部门"
|
|
|
|
- prop="deptId"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="归属部门" prop="deptId">
|
|
<treeselect
|
|
<treeselect
|
|
v-model="form.deptId"
|
|
v-model="form.deptId"
|
|
:options="deptOptions"
|
|
:options="deptOptions"
|
|
@@ -352,10 +317,7 @@
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item
|
|
|
|
- label="手机号码"
|
|
|
|
- prop="phonenumber"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="手机号码" prop="phonenumber">
|
|
<el-input
|
|
<el-input
|
|
v-model="form.phonenumber"
|
|
v-model="form.phonenumber"
|
|
placeholder="请输入手机号码"
|
|
placeholder="请输入手机号码"
|
|
@@ -364,10 +326,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item
|
|
|
|
- label="邮箱"
|
|
|
|
- prop="email"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-form-item label="邮箱" prop="email">
|
|
<el-input
|
|
<el-input
|
|
v-model="form.email"
|
|
v-model="form.email"
|
|
placeholder="请输入邮箱"
|
|
placeholder="请输入邮箱"
|
|
@@ -409,10 +368,7 @@
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="用户性别">
|
|
<el-form-item label="用户性别">
|
|
- <el-select
|
|
|
|
- v-model="form.sex"
|
|
|
|
- placeholder="请选择性别"
|
|
|
|
- >
|
|
|
|
|
|
+ <el-select v-model="form.sex" placeholder="请选择性别">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in dict.type.sys_user_sex"
|
|
v-for="dict in dict.type.sys_user_sex"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -429,7 +385,8 @@
|
|
v-for="dict in dict.type.sys_normal_disable"
|
|
v-for="dict in dict.type.sys_normal_disable"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
:label="dict.value"
|
|
:label="dict.value"
|
|
- >{{ dict.label }}</el-radio>
|
|
|
|
|
|
+ >{{ dict.label }}</el-radio
|
|
|
|
+ >
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -453,7 +410,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="角色">
|
|
|
|
|
|
+ <el-form-item label="角色" prop="roleIds">
|
|
<el-select
|
|
<el-select
|
|
v-model="form.roleIds"
|
|
v-model="form.roleIds"
|
|
multiple
|
|
multiple
|
|
@@ -506,14 +463,8 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
- <div
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="submitForm"
|
|
|
|
- >确 定</el-button>
|
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
@@ -539,14 +490,8 @@
|
|
>
|
|
>
|
|
<i class="el-icon-upload"></i>
|
|
<i class="el-icon-upload"></i>
|
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
|
- <div
|
|
|
|
- class="el-upload__tip text-center"
|
|
|
|
- slot="tip"
|
|
|
|
- >
|
|
|
|
- <div
|
|
|
|
- class="el-upload__tip"
|
|
|
|
- slot="tip"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="el-upload__tip text-center" slot="tip">
|
|
|
|
+ <div class="el-upload__tip" slot="tip">
|
|
<el-checkbox v-model="upload.updateSupport" />
|
|
<el-checkbox v-model="upload.updateSupport" />
|
|
是否更新已经存在的用户数据
|
|
是否更新已经存在的用户数据
|
|
</div>
|
|
</div>
|
|
@@ -556,17 +501,12 @@
|
|
:underline="false"
|
|
:underline="false"
|
|
style="font-size: 12px; vertical-align: baseline"
|
|
style="font-size: 12px; vertical-align: baseline"
|
|
@click="importTemplate"
|
|
@click="importTemplate"
|
|
- >下载模板</el-link>
|
|
|
|
|
|
+ >下载模板</el-link
|
|
|
|
+ >
|
|
</div>
|
|
</div>
|
|
</el-upload>
|
|
</el-upload>
|
|
- <div
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="submitFileForm"
|
|
|
|
- >确 定</el-button>
|
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="submitFileForm">确 定</el-button>
|
|
<el-button @click="upload.open = false">取 消</el-button>
|
|
<el-button @click="upload.open = false">取 消</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
@@ -678,6 +618,12 @@ export default {
|
|
trigger: "blur",
|
|
trigger: "blur",
|
|
},
|
|
},
|
|
],
|
|
],
|
|
|
|
+ roleIds: [
|
|
|
|
+ { required: true, message: "用户角色不能为空", trigger: "blur" },
|
|
|
|
+ ],
|
|
|
|
+ deptId: [
|
|
|
|
+ { required: true, message: "用户部门不能为空", trigger: "blur" },
|
|
|
|
+ ],
|
|
nickName: [
|
|
nickName: [
|
|
{ required: true, message: "用户昵称不能为空", trigger: "blur" },
|
|
{ required: true, message: "用户昵称不能为空", trigger: "blur" },
|
|
],
|
|
],
|