|
@@ -1,17 +1,21 @@
|
|
|
<template>
|
|
|
<div class="page-container">
|
|
|
<div class="search-container" v-show="showSearch">
|
|
|
- <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
|
|
|
- <el-form-item label="姓名" prop="userName">
|
|
|
- <el-input v-model="queryParams.userName" placeholder="请输入用户姓名" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="电话号码" prop="phonenumber">
|
|
|
- <el-input v-model="queryParams.phonenumber" placeholder="请输入电话号码" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
|
|
|
- </el-form-item>
|
|
|
+ <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px" class="search_form">
|
|
|
+ <div class="search_input">
|
|
|
+ <el-form-item label="姓名">
|
|
|
+ <el-input v-model="queryParams.realName" placeholder="请输入姓名" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="电话号码">
|
|
|
+ <el-input v-model="queryParams.phonenumber" placeholder="请输入电话号码" clearable size="small" style="width: 240px" @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div class="search_btn">
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="content-container">
|
|
@@ -31,7 +35,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 员工列表 -->
|
|
|
- <el-table v-loading="loading" border :data="userList" >
|
|
|
+ <el-table v-loading="loading" border :data="userList">
|
|
|
<el-table-column label="序号" align="center" prop="userId" v-if="columns[0].visible" width="60">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ scope.$index + 1 }}</span>
|
|
@@ -39,19 +43,24 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="头像" align="center" v-if="columns[1].visible" width="60">
|
|
|
<template slot-scope="scope">
|
|
|
- <img v-bind:src="$store.getters.avatar" class="img-circle img_height" @click="modifyAvatar(scope.row)"/>
|
|
|
+ <img v-bind:src="scope.row.avatar" class="img-circle img_height" @click="modifyAvatar(scope.row)" />
|
|
|
+ <!-- <el-image v-else >
|
|
|
+ <div slot="error" class="image-slot">
|
|
|
+ <i class="el-icon-picture-outline"></i>
|
|
|
+ </div>
|
|
|
+ </el-image> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="姓名" align="center" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" width="120" />
|
|
|
- <el-table-column label="公司部门" align="center" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" width="160" />
|
|
|
- <el-table-column label="级别职务" align="center" prop="phonenumber" v-if="columns[4].visible" width="160" />
|
|
|
- <el-table-column label="性质岗位" align="center" v-if="columns[5].visible" width="160" />
|
|
|
- <el-table-column label="角色权限" align="center" prop="createTime" v-if="columns[6].visible" width="160" />
|
|
|
- <el-table-column label="手机号码" align="center" prop="userId" v-if="columns[7].visible" width="150" />
|
|
|
+ <el-table-column label="姓名" align="center" prop="realName" v-if="columns[2].visible" :show-overflow-tooltip="true" width="120" />
|
|
|
+ <el-table-column label="公司部门" align="center" prop="deptNames" v-if="columns[3].visible" :show-overflow-tooltip="true" width="160" />
|
|
|
+ <el-table-column label="级别职务" align="center" prop="levelJobNames" v-if="columns[4].visible" width="160" />
|
|
|
+ <el-table-column label="性质岗位" align="center" prop="naturePostNames" v-if="columns[5].visible" width="160" />
|
|
|
+ <el-table-column label="角色权限" align="center" prop="roleJurisdictionNames" v-if="columns[6].visible" width="160" />
|
|
|
+ <el-table-column label="手机号码" align="center" prop="phonenumber" v-if="columns[7].visible" width="150" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope" v-if="scope.row.userId !== 1">
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="getDutiesPowers(scope.row)" v-hasPermi="['system:user:edit']">职责权力</el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-edit" @click="getRolePermissions(scope.row)" v-hasPermi="['system:user:edit']">角色权限</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="getRolePermissions(scope.row)" v-hasPermi="['system:user:edit']">功能权限</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">数据权限</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
|
|
@@ -59,7 +68,7 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<!-- 分页 -->
|
|
|
- <pagination v-show="total > queryParams.pageSize" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
|
|
+ <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 添加或修改用户配置对话框 -->
|
|
@@ -69,129 +78,123 @@
|
|
|
<div class="basics"><a href="javascript:void(0);" @click="getBasicsInfo">基础信息</a></div>
|
|
|
</div>
|
|
|
<!-- 账号信息 -->
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="90px" v-show="accountShow">
|
|
|
+ <el-form ref="accountForm" :model="accountForm" :rules="rules" label-width="90px" v-show="accountShow">
|
|
|
<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="userId">
|
|
|
+ <el-input v-model="accountForm.userId" placeholder="请输入序号" maxlength="30" disabled />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="编号" prop="deptId">
|
|
|
- <el-input placeholder="请输入编号" maxlength="30" />
|
|
|
+ <el-form-item label="编号" prop="userNumber">
|
|
|
+ <el-input v-model="accountForm.userNumber" placeholder="请输入编号" maxlength="30" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="姓名" prop="phonenumber">
|
|
|
- <el-input v-model="form.phonenumber" placeholder="请输入姓名" maxlength="11" />
|
|
|
+ <el-form-item label="姓名" prop="realName">
|
|
|
+ <el-input v-model="accountForm.realName" placeholder="请输入姓名" maxlength="11" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="手机号" prop="email">
|
|
|
- <el-input v-model="form.email" placeholder="请输入手机号" />
|
|
|
+ <el-form-item label="手机号" prop="phonenumber">
|
|
|
+ <el-input v-model="accountForm.phonenumber" placeholder="请输入手机号" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="账号状态" prop="userName">
|
|
|
- <el-radio>正常</el-radio>
|
|
|
- <el-radio>停用</el-radio>
|
|
|
+ <el-form-item label="账号状态" prop="status">
|
|
|
+ <el-radio v-model="accountForm.status" label="0">正常</el-radio>
|
|
|
+ <el-radio v-model="accountForm.status" label="1">停用</el-radio>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="性别" prop="password">
|
|
|
- <el-radio>男</el-radio>
|
|
|
- <el-radio>女</el-radio>
|
|
|
+ <el-form-item label="性别" prop="sex">
|
|
|
+ <el-radio v-model="accountForm.sex" label="0">男</el-radio>
|
|
|
+ <el-radio v-model="accountForm.sex" label="1">女</el-radio>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="身份证号">
|
|
|
- <el-input placeholder="请输入身份证号" />
|
|
|
+ <el-form-item label="身份证号" prop="idNumber">
|
|
|
+ <el-input v-model="accountForm.idNumber" placeholder="请输入身份证号" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="公司部门">
|
|
|
- <el-select placeholder="请选择" style="width: 100%">
|
|
|
- <el-optio></el-optio>
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="公司部门" prop="deptIds">
|
|
|
+ <el-cascader ref="deptCascader" :options="deptOptions" :props="props" clearable style="width: 100%" @change="deptCascaderChange"></el-cascader>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="职称级别">
|
|
|
- <el-select placeholder="请选择" style="width: 100%">
|
|
|
- <el-option></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="职称级别" prop="levelJobIds">
|
|
|
+ <el-cascader ref="levelCascader" :options="levelList" :props="props" clearable style="width: 100%" @change="levelCascaderChange"></el-cascader>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="性质岗位">
|
|
|
- <el-select placeholder="请选择" style="width: 100%">
|
|
|
- <el-option></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="性质岗位" prop="naturePostIds">
|
|
|
+ <el-cascader ref="natureCascader" :options="natureList" :props="props" clearable style="width: 100%" @change="natureCascaderChange"></el-cascader>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<!-- 基础信息 -->
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="90px" v-show="basicsShow" class="basics_form">
|
|
|
+ <el-form ref="basicsForm" :model="basicsForm" :rules="rules" label-width="90px" v-show="basicsShow" class="basics_form">
|
|
|
<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="年龄">
|
|
|
+ <el-input placeholder="请输入年龄" maxlength="30" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="出生日期" prop="deptId">
|
|
|
+ <el-form-item label="出生日期">
|
|
|
<el-input placeholder="请输入出生日期" maxlength="30" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="QQ号" prop="phonenumber">
|
|
|
- <el-input v-model="form.phonenumber" placeholder="请输入QQ号" maxlength="11" />
|
|
|
+ <el-form-item label="QQ号">
|
|
|
+ <el-input placeholder="请输入QQ号" maxlength="11" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="企业微信号" prop="email">
|
|
|
- <el-input v-model="form.email" placeholder="请输入企业微信号" />
|
|
|
+ <el-form-item label="企业微信号">
|
|
|
+ <el-input placeholder="请输入企业微信号" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="学历" prop="userName">
|
|
|
+ <el-form-item label="学历">
|
|
|
<el-select placeholder="请选择" style="width: 100%">
|
|
|
<el-optio></el-optio>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="原籍" prop="password">
|
|
|
- <el-input v-model="form.email" placeholder="请输入原籍" />
|
|
|
+ <el-form-item label="原籍">
|
|
|
+ <el-input placeholder="请输入原籍" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="现住址">
|
|
|
- <el-input v-model="form.email" placeholder="请输入现住址" />
|
|
|
+ <el-input placeholder="请输入现住址" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="家庭成员">
|
|
|
- <el-input v-model="form.email" placeholder="请输入家庭成员" />
|
|
|
+ <el-input placeholder="请输入家庭成员" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -205,7 +208,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="家庭收入">
|
|
|
- <el-input v-model="form.email" placeholder="请输入家庭收入" />
|
|
|
+ <el-input placeholder="请输入家庭收入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -276,29 +279,29 @@
|
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="原工作单位">
|
|
|
- <el-input v-model="form.email" placeholder="请输入原单位" />
|
|
|
+ <el-input placeholder="请输入原单位" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="职务">
|
|
|
- <el-input v-model="form.email" placeholder="请输入职务" />
|
|
|
+ <el-input placeholder="请输入职务" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="收入">
|
|
|
- <el-input v-model="form.email" placeholder="请输入收入" />
|
|
|
+ <el-input placeholder="请输入收入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="开始时间">
|
|
|
- <el-input v-model="form.email" placeholder="请输入开始时间" />
|
|
|
+ <el-input placeholder="请输入开始时间" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="结束时间">
|
|
|
- <el-input v-model="form.email" placeholder="请输入结束时间" />
|
|
|
+ <el-input placeholder="请输入结束时间" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
@@ -502,12 +505,12 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="联系电话">
|
|
|
- <el-input v-model="form.email" placeholder="请输入联系电话" />
|
|
|
+ <el-input placeholder="请输入联系电话" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="工作单位">
|
|
|
- <el-input v-model="form.email" placeholder="请输入工作单位" />
|
|
|
+ <el-input placeholder="请输入工作单位" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -547,7 +550,7 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 修改角色权限对话框 -->
|
|
|
- <el-dialog title="角色权限" :visible.sync="dialogTableRolePermissions">
|
|
|
+ <el-dialog title="功能权限" :visible.sync="dialogTableRolePermissions">
|
|
|
<el-table border>
|
|
|
<el-table-column label="名称" align="center" width="180"></el-table-column>
|
|
|
<el-table-column label="描述" align="center"></el-table-column>
|
|
@@ -562,18 +565,18 @@
|
|
|
<el-dialog title="责权信息" :visible.sync="dialogPower" width="30%" :before-close="handleClose">
|
|
|
<div class="">
|
|
|
<span>级别职务:</span>
|
|
|
- <el-select>
|
|
|
- <el-option></el-option>
|
|
|
+ <el-select v-model="jodId" placeholder="请选择" @change="changeJob()">
|
|
|
+ <el-option v-for="item in levelJobs" :key="item.jobId" :label="item.jobName" :value="item.jobId"> </el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="responsibility">
|
|
|
<span>责任</span>
|
|
|
</div>
|
|
|
- <el-input type="textarea" :rows="3" readonly placeholder="请输入内容"> </el-input>
|
|
|
+ <el-input type="textarea" :rows="3" v-model="responsibility" :disabled="true" placeholder="请输入内容"> </el-input>
|
|
|
<div class="responsibility">
|
|
|
<span>权利</span>
|
|
|
</div>
|
|
|
- <el-input type="textarea" :rows="3" readonly placeholder="请输入内容"> </el-input>
|
|
|
+ <el-input type="textarea" :rows="3" v-model="right" :disabled="true" placeholder="请输入内容"> </el-input>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 修改头像对话框 -->
|
|
@@ -582,7 +585,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listUser, getUser, delUser, addUser, updateUser } from '@/api/system/user'
|
|
|
+import { getUser, delUser, addUser, updateUser, getStaffList, getLevelTreeSelect, getResponsibilityRight, getNatureTreeSelect, getAuthRole } from '@/api/system/employeenInfo'
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
import { treeselect } from '@/api/system/dept'
|
|
|
import userAvatar from './profile/userAvatar.vue'
|
|
@@ -610,18 +613,16 @@ export default {
|
|
|
deptOptions: undefined,
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
- // 部门名称
|
|
|
- deptName: undefined,
|
|
|
- // 默认密码
|
|
|
- initPassword: undefined,
|
|
|
- // 日期范围
|
|
|
- dateRange: [],
|
|
|
// 岗位选项
|
|
|
postOptions: [],
|
|
|
// 角色选项
|
|
|
roleOptions: [],
|
|
|
- // 表单参数
|
|
|
- form: {},
|
|
|
+ // 账号表单参数
|
|
|
+ accountForm: {
|
|
|
+ userId: null
|
|
|
+ },
|
|
|
+ // 基础表单参数
|
|
|
+ basicsForm: {},
|
|
|
defaultProps: {
|
|
|
children: 'children',
|
|
|
label: 'label'
|
|
@@ -645,10 +646,8 @@ export default {
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- userName: undefined,
|
|
|
- phonenumber: undefined,
|
|
|
- status: undefined,
|
|
|
- deptId: undefined
|
|
|
+ realName: undefined,
|
|
|
+ phonenumber: undefined
|
|
|
},
|
|
|
// 列信息
|
|
|
columns: [
|
|
@@ -663,51 +662,53 @@ export default {
|
|
|
],
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
- userName: [
|
|
|
- { required: true, message: '用户名称不能为空', trigger: 'blur' },
|
|
|
- { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
|
|
|
- ],
|
|
|
- nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
|
|
|
- password: [
|
|
|
- { required: true, message: '用户密码不能为空', trigger: 'blur' },
|
|
|
- { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
|
|
|
- ],
|
|
|
- email: [
|
|
|
- {
|
|
|
- type: 'email',
|
|
|
- message: "'请输入正确的邮箱地址",
|
|
|
- trigger: ['blur', 'change']
|
|
|
- }
|
|
|
- ],
|
|
|
- phonenumber: [
|
|
|
- {
|
|
|
- pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
- message: '请输入正确的手机号码',
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
- ]
|
|
|
+ // userName: [
|
|
|
+ // { required: true, message: '用户名称不能为空', trigger: 'blur' },
|
|
|
+ // { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
|
|
|
+ // password: [
|
|
|
+ // { required: true, message: '用户密码不能为空', trigger: 'blur' },
|
|
|
+ // { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
|
|
|
+ // ],
|
|
|
+ // email: [
|
|
|
+ // {
|
|
|
+ // type: 'email',
|
|
|
+ // message: "'请输入正确的邮箱地址",
|
|
|
+ // trigger: ['blur', 'change']
|
|
|
+ // }
|
|
|
+ // ],
|
|
|
+ // phonenumber: [
|
|
|
+ // {
|
|
|
+ // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
+ // message: '请输入正确的手机号码',
|
|
|
+ // trigger: 'blur'
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
},
|
|
|
dialogTableRolePermissions: false, // 角色权限弹出层
|
|
|
dialogPower: false, // 责权信息弹出层
|
|
|
accountShow: true, // 账号信息
|
|
|
- basicsShow: false // 基础信息
|
|
|
+ basicsShow: false, // 基础信息
|
|
|
+ props: { multiple: true }, // 联级多选
|
|
|
+ // propsLevel: { multiple: true },
|
|
|
+ levelList: [], // 级别列表
|
|
|
+ natureList: [], // 性质岗位列表
|
|
|
+ levelJobs: [], // 责权信息列表
|
|
|
+ jodId: '', // 职位id
|
|
|
+ responsibility: '', // 职责
|
|
|
+ right: '', // 权力
|
|
|
}
|
|
|
},
|
|
|
- mounted() {
|
|
|
- console.log(this.$store)
|
|
|
- },
|
|
|
created() {
|
|
|
this.getList()
|
|
|
this.getTreeselect()
|
|
|
- this.getConfigKey('sys.user.initPassword').then((response) => {
|
|
|
- this.initPassword = response.msg
|
|
|
- })
|
|
|
},
|
|
|
methods: {
|
|
|
/** 查询用户列表 */
|
|
|
getList() {
|
|
|
this.loading = true
|
|
|
- listUser(this.addDateRange(this.queryParams, this.dateRange)).then((response) => {
|
|
|
+ getStaffList(this.queryParams).then((response) => {
|
|
|
this.userList = response.rows
|
|
|
this.total = response.total
|
|
|
this.loading = false
|
|
@@ -734,7 +735,7 @@ export default {
|
|
|
this.form = {
|
|
|
userId: undefined,
|
|
|
deptId: undefined,
|
|
|
- userName: undefined,
|
|
|
+ // userName: undefined,
|
|
|
nickName: undefined,
|
|
|
password: undefined,
|
|
|
phonenumber: undefined,
|
|
@@ -754,7 +755,6 @@ export default {
|
|
|
},
|
|
|
/** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
|
- this.dateRange = []
|
|
|
this.resetForm('queryForm')
|
|
|
this.handleQuery()
|
|
|
},
|
|
@@ -762,16 +762,28 @@ export default {
|
|
|
handleAdd() {
|
|
|
this.reset()
|
|
|
this.getTreeselect()
|
|
|
- getUser().then((response) => {
|
|
|
- this.postOptions = response.posts
|
|
|
- this.roleOptions = response.roles
|
|
|
- this.open = true
|
|
|
- this.title = '添加用户'
|
|
|
- this.form.password = this.initPassword
|
|
|
- })
|
|
|
+ this.open = true
|
|
|
+ this.title = '添加用户'
|
|
|
+ this.getLevelList()
|
|
|
+ this.getNatureList()
|
|
|
+ this.accountForm.userId =
|
|
|
+ Math.max.apply(
|
|
|
+ Math,
|
|
|
+ this.userList.map(function (item) {
|
|
|
+ return item.userId
|
|
|
+ })
|
|
|
+ ) + 1
|
|
|
+ // getUser().then((response) => {
|
|
|
+ // // this.postOptions = response.posts
|
|
|
+ // // this.roleOptions = response.roles
|
|
|
+ // // this.form.password = this.initPassword
|
|
|
+ // })
|
|
|
},
|
|
|
// 修改角色权限
|
|
|
getRolePermissions(row) {
|
|
|
+ getAuthRole(row.userId).then((res) => {
|
|
|
+ console.log(res)
|
|
|
+ })
|
|
|
this.dialogTableRolePermissions = true
|
|
|
},
|
|
|
// 保存角色权限修改
|
|
@@ -783,9 +795,18 @@ export default {
|
|
|
this.dialogTableRolePermissions = false
|
|
|
},
|
|
|
// 职责权限
|
|
|
- getDutiesPowers() {
|
|
|
+ getDutiesPowers(row) {
|
|
|
+ let staff = this.userList.find((item, index, c) => item.userId === row.userId)
|
|
|
+ this.levelJobs = staff.levelJobs
|
|
|
+ this.jodId = this.levelJobs[0].jobId
|
|
|
+ console.log(this.levelJobs)
|
|
|
this.dialogPower = true
|
|
|
},
|
|
|
+ // 选择职责权限
|
|
|
+ changeJob(val) {
|
|
|
+ // console.log(val)
|
|
|
+ console.log(123)
|
|
|
+ },
|
|
|
// 账号信息
|
|
|
getAccountInfo() {
|
|
|
this.accountShow = true
|
|
@@ -798,9 +819,53 @@ export default {
|
|
|
},
|
|
|
// 修改头像
|
|
|
modifyAvatar(row) {
|
|
|
- // console.log(123)
|
|
|
this.$refs.userAvatar.editCropper()
|
|
|
},
|
|
|
+ // 关闭责权信息
|
|
|
+ handleClose() {
|
|
|
+ this.dialogPower = false
|
|
|
+ },
|
|
|
+ //获取级别数据
|
|
|
+ getLevelList() {
|
|
|
+ getLevelTreeSelect().then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.levelList = res.data
|
|
|
+ } else {
|
|
|
+ this.$msg({ type: 'error', message: res.msg })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取性质岗位数据
|
|
|
+ getNatureList() {
|
|
|
+ getNatureTreeSelect().then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.natureList = res.data
|
|
|
+ } else {
|
|
|
+ this.$msg({ type: 'error', message: res.msg })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 部门级联选择
|
|
|
+ deptCascaderChange(val) {
|
|
|
+ let getCheckedNodes = this.$refs.deptCascader.getCheckedNodes()
|
|
|
+ const newArr = getCheckedNodes.map((item, index, c) => item.data.id)
|
|
|
+ this.accountForm.deptIds = newArr.join(',')
|
|
|
+ console.log(this.accountForm.deptIds)
|
|
|
+ },
|
|
|
+ // 职称级别级联选择
|
|
|
+ levelCascaderChange(val) {
|
|
|
+ let getCheckedNodes = this.$refs.levelCascader.getCheckedNodes()
|
|
|
+ const newArr = getCheckedNodes.map((item, index, c) => item.data.id)
|
|
|
+ this.accountForm.levelJobIds = newArr.join(',')
|
|
|
+ console.log(this.accountForm.levelJobIds)
|
|
|
+ },
|
|
|
+ // 性质岗位级联选择
|
|
|
+ natureCascaderChange(val) {
|
|
|
+ let getCheckedNodes = this.$refs.natureCascader.getCheckedNodes()
|
|
|
+ const newArr = getCheckedNodes.map((item, index, c) => item.data.id)
|
|
|
+ this.accountForm.naturePostIds = newArr.join(',')
|
|
|
+ console.log(this.accountForm.naturePostIds)
|
|
|
+ },
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
this.reset()
|
|
@@ -819,7 +884,8 @@ export default {
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm: function () {
|
|
|
- this.$refs['form'].validate((valid) => {
|
|
|
+ console.log(this.accountForm)
|
|
|
+ this.$refs['accountForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
if (this.form.userId != undefined) {
|
|
|
updateUser(this.form).then((response) => {
|
|
@@ -828,7 +894,7 @@ export default {
|
|
|
this.getList()
|
|
|
})
|
|
|
} else {
|
|
|
- addUser(this.form).then((response) => {
|
|
|
+ addUser(this.accountForm).then((response) => {
|
|
|
this.$modal.msgSuccess('新增成功')
|
|
|
this.open = false
|
|
|
this.getList()
|
|
@@ -839,11 +905,11 @@ export default {
|
|
|
},
|
|
|
/** 删除按钮操作 */
|
|
|
handleDelete(row) {
|
|
|
- const userIds = row.userId
|
|
|
+ // const userIds = row.userId
|
|
|
this.$modal
|
|
|
- .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?')
|
|
|
+ .confirm('是否确认删除用户编号为"' + row.userId + '"的数据项?')
|
|
|
.then(function () {
|
|
|
- return delUser(userIds)
|
|
|
+ return delUser(row.userId)
|
|
|
})
|
|
|
.then(() => {
|
|
|
this.getList()
|
|
@@ -921,11 +987,11 @@ export default {
|
|
|
border: 1px solid #dfe6ec;
|
|
|
border-bottom: none;
|
|
|
}
|
|
|
-.basics_form{
|
|
|
+.basics_form {
|
|
|
overflow: auto;
|
|
|
height: 600px;
|
|
|
}
|
|
|
-.img_height{
|
|
|
+.img_height {
|
|
|
height: 32px;
|
|
|
width: 32px;
|
|
|
vertical-align: middle;
|
|
@@ -934,4 +1000,11 @@ export default {
|
|
|
.el-col-lg-4-8 {
|
|
|
width: 20%;
|
|
|
}
|
|
|
+.search_form {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+.search_form .el-form-item {
|
|
|
+ margin-bottom: 0;
|
|
|
+}
|
|
|
</style>
|