新增员工业务逻辑,优化登录账号权限,更新设计文档

This commit is contained in:
易焱
2019-08-01 01:15:16 +08:00
parent db4e6b237a
commit 8740a34a4a
37 changed files with 726 additions and 202 deletions
@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="layui-form timo-compile">
<form th:action="@{/bss/employee/add}">
<input type="hidden" name="id" th:if="${bssEmployee}" th:value="${bssEmployee.id}">
<div class="layui-form-item">
<label class="layui-form-label required">名称</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="name" placeholder="请输入名称" th:value="${bssEmployee?.name}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">部门</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="dept_id" placeholder="请输入部门" th:value="${bssEmployee?.dept_id}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">职位</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="position" placeholder="请输入职位" th:value="${bssEmployee?.position}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">手机号码</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="phone_num" placeholder="请输入手机号码" th:value="${bssEmployee?.phone_num}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">身份证号码</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="card" placeholder="请输入身份证号码" th:value="${bssEmployee?.card}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">邮箱</label>
<div class="layui-input-inline">
<input class="layui-input" type="text" name="email" placeholder="请输入邮箱" th:value="${bssEmployee?.email}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">员工状态</label>
<div class="layui-input-inline">
<select name="employeeStatus" mo:dict="EMPLOYEE_TYPE" mo-selected="${bssEmployee?.employeeStatus}" mo-empty="" lay-verify="employeeStatus"></select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">学历</label>
<div class="layui-input-inline">
<select name="education" mo:dict="EDUCATION" mo-selected="${bssEmployee?.education}" mo-empty="" lay-verify="education"></select>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" class="layui-textarea" name="remark">[[${bssEmployee?.remark}]]</textarea>
</div>
</div>
<div class="layui-form-item timo-finally">
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
</div>
</form>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body>
<div class="timo-detail-page">
<div class="timo-detail-title">基本信息</div>
<table class="layui-table timo-detail-table">
<colgroup>
<col width="100px"><col>
<col width="100px"><col>
</colgroup>
<tbody>
<tr>
<th>主键ID</th>
<td th:text="${bssEmployee.id}"></td>
<th>名称</th>
<td th:text="${bssEmployee.name}"></td>
</tr>
<tr>
<th>部门</th>
<td th:text="${bssEmployee.bssDept?.name}"></td>
<th>职位</th>
<td th:text="${bssEmployee.position}"></td>
</tr>
<tr>
<th>手机号码</th>
<td th:text="${bssEmployee.phoneNum}"></td>
<th>身份证号码</th>
<td th:text="${bssEmployee.card}"></td>
</tr>
<tr>
<th>邮箱</th>
<td th:text="${bssEmployee.email}"></td>
<th>员工状态</th>
<td th:text="${#dicts.keyValue('EMPLOYEE_TYPE', bssEmployee.employeeStatus)}"></td>
</tr>
<tr>
<th>学历</th>
<td th:text="${#dicts.keyValue('EDUCATION', bssEmployee.education)}" colspan="3"></td>
</tr>
<tr>
<th>创建者</th>
<td th:text="${bssEmployee.createBy?.nickname}"></td>
<th>更新者</th>
<td th:text="${bssEmployee.updateBy?.nickname}"></td>
</tr>
<tr>
<th>创建时间</th>
<td th:text="${#dates.format(bssEmployee.createDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
<th>更新时间</th>
<td th:text="${#dates.format(bssEmployee.updateDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
</tr>
<tr>
<th>备注</th>
<td th:text="${bssEmployee.remark}" colspan="3"></td>
</tr>
</tbody>
</table>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -0,0 +1,102 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
</head>
<body class="timo-layout-page">
<div class="layui-card">
<div class="layui-card-header timo-card-header">
<span><i class="fa fa-bars"></i> 员工管理</span>
<i class="layui-icon layui-icon-refresh refresh-btn"></i>
</div>
<div class="layui-card-body">
<div class="layui-row timo-card-screen">
<div class="pull-left layui-form-pane timo-search-box">
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-block timo-search-status">
<select class="timo-search-select" name="status" mo:dict="SEARCH_STATUS" mo-selected="${param.status}"></select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">名称</label>
<div class="layui-input-block">
<input type="text" name="name" th:value="${param.name}" placeholder="请输入名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">手机号码</label>
<div class="layui-input-block">
<input type="text" name="phone_num" th:value="${param.phoneNum}" placeholder="请输入手机号码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn timo-search-btn">
<i class="fa fa-search"></i>
</button>
</div>
</div>
<div class="pull-right screen-btn-group">
<button class="layui-btn open-popup" data-title="添加员工" th:attr="data-url=@{/bss/employee/add}" data-size="auto">
<i class="fa fa-plus"></i> 添加</button>
<div class="btn-group">
<button class="layui-btn">操作<span class="caret"></span></button>
<dl class="layui-nav-child layui-anim layui-anim-upbit">
<dd><a class="ajax-status" th:href="@{/bss/employee/status/ok}">启用</a></dd>
<dd><a class="ajax-status" th:href="@{/bss/employee/status/freezed}">冻结</a></dd>
<dd><a class="ajax-status" th:href="@{/bss/employee/status/delete}">删除</a></dd>
</dl>
</div>
</div>
</div>
<div class="timo-table-wrap">
<table class="layui-table timo-table">
<thead>
<tr>
<th class="timo-table-checkbox">
<label class="timo-checkbox"><input type="checkbox">
<i class="layui-icon layui-icon-ok"></i></label>
</th>
<th>名称</th>
<th>部门</th>
<th>职位</th>
<th>手机号码</th>
<th>身份证号码</th>
<th>邮箱</th>
<th>员工状态</th>
<th>学历</th>
<th>创建时间</th>
<th>更新时间</th>
<th>数据状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="item:${list}">
<td><label class="timo-checkbox"><input type="checkbox" th:value="${item.id}">
<i class="layui-icon layui-icon-ok"></i></label></td>
<td th:text="${item.name}">名称</td>
<td th:text="${item.bssDept.name}">部门</td>
<td th:text="${item.position}">职位</td>
<td th:text="${item.phoneNum}">手机号码</td>
<td th:text="${item.card}">身份证号码</td>
<td th:text="${item.email}">邮箱</td>
<td th:text="${#dicts.keyValue('EMPLOYEE_TYPE', item.type)}">员工状态</td>
<td th:text="${#dicts.keyValue('EDUCATION', item.type)}">学历</td>
<td th:text="${#dates.format(item.createDate, 'yyyy-MM-dd HH:mm:ss')}">创建时间</td>
<td th:text="${#dates.format(item.updateDate, 'yyyy-MM-dd HH:mm:ss')}">更新时间</td>
<td th:text="${#dicts.dataStatus(item.status)}">数据状态</td>
<td>
<a class="open-popup" data-title="编辑员工" th:attr="data-url=@{'/bss/employee/edit/'+${item.id}}" data-size="auto" href="#">编辑</a>
<a class="open-popup" data-title="详细信息" th:attr="data-url=@{'/bss/employee/detail/'+${item.id}}" data-size="800,600" href="#">详细</a>
<a class="ajax-get" data-msg="您是否确认删除" th:href="@{/bss/employee/status/delete(ids=${item.id})}">删除</a>
</td>
</tr>
</tbody>
</table>
</div>
<div th:replace="/common/fragment :: page"></div>
</div>
</div>
<script th:replace="/common/template :: script"></script>
</body>
</html>
@@ -31,7 +31,7 @@
</tr>
<tr>
<th>类型</th>
<td th:text="${platform.type}" colspan="3"></td>
<td th:text="${#dicts.keyValue('BSS_PLATFORM_TYPE', platform.type)}" colspan="3"></td>
</tr>
<tr>
<th>创建者</th>
@@ -32,12 +32,20 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">所属</label>
<label class="layui-form-label required">系统</label>
<div class="layui-input-inline">
<input class="layui-input select-tree" th:attr="data-url=@{/system/dept/list}, data-value=${user?.dept?.id}"
type="text" name="dept" placeholder="请选择" th:value="${user?.dept?.title}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">所属</label>
<div class="layui-input-inline">
<select name="bssPlatform" mo-selected="${user?.bssPlatform?.id}" mo-empty="" lay-verify="bssPlatform">
<option th:each="bssPlatform,userStat:${bssPlatforms}" th:value="${bssPlatform.id}" th:text="${bssPlatform.name}" th:selected="${bssPlatform.id == dept?.bssPlatform?.id}"></option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">电话号码</label>
<div class="layui-input-inline">
@@ -50,7 +58,12 @@
<input class="layui-input" type="text" name="email" placeholder="请输入邮箱" th:value="${user?.email}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">类型</label>
<div class="layui-input-inline">
<select name="type" mo:dict="USER_TYPE" mo-selected="${user?.type}" mo-empty="" lay-verify="type"></select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择性别</label>
<div class="layui-input-inline">
@@ -20,9 +20,15 @@
<th>用户性别</th>
<td th:text="${#dicts.keyValue('USER_SEX', user.sex)}"></td>
</tr>
<tr>
<th>系统</th>
<td th:text="${user.dept?.title}"></td>
<th>类型</th>
<td th:text="${#dicts.keyValue('USER_TYPE', user.type)}"></td>
</tr>
<tr>
<th>所属</th>
<td colspan="4" th:text="${user.dept?.title}"></td>
<td th:text="${user.bssPlatform.name}" colspan="4"></td>
</tr>
<tr>
<th>电话号码</th>
@@ -20,12 +20,6 @@
<select class="timo-search-select" name="status" mo:dict="SEARCH_STATUS" mo-selected="${param.status}"></select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">所属</label>
<div class="layui-input-block">
<input class="layui-input select-tree" th:attr="data-url=@{/system/dept/list}, data-value=${dept?.id}" th:value="${dept?.title}" type="text" name="dept" placeholder="请选择部门">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
@@ -75,8 +69,9 @@
</th>
<th class="sortable" data-field="username">用户名</th>
<th class="sortable" data-field="nickname">用户昵称</th>
<th class="sortable" data-field="dept">所属</th>
<th class="sortable" data-field="bssPlatform">所属</th>
<th class="sortable" data-field="sex">性别</th>
<th class="sortable" data-field="type">类型</th>
<th class="sortable" data-field="phone">电话</th>
<th class="sortable" data-field="email">邮箱</th>
<th class="sortable" data-field="createDate">创建时间</th>
@@ -90,8 +85,9 @@
<i class="layui-icon layui-icon-ok"></i></label></td>
<td th:text="${item.username}">用户名</td>
<td th:text="${item.nickname}">用户昵称</td>
<td th:text="${item.dept?.title}">用户昵称</td>
<td th:text="${item.bssPlatform?.name}">所属</td>
<td th:text="${#dicts.keyValue('USER_SEX', item.sex)}">性别</td>
<td th:text="${#dicts.keyValue('USER_TYPE', item.type)}">类型</td>
<td th:text="${item.phone}">电话</td>
<td th:text="${item.email}">邮箱</td>
<td th:text="${#dates.format(item.createDate, 'yyyy-MM-dd HH:mm:ss')}">创建时间</td>