师傅端模块

This commit is contained in:
clunt 2022-05-03 01:06:23 +08:00
parent 64d87f54bc
commit b68a673796
9 changed files with 331 additions and 23 deletions

View File

@ -91,6 +91,11 @@
<artifactId>ghy-custom</artifactId> <artifactId>ghy-custom</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ghy</groupId>
<artifactId>ghy-worker</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -0,0 +1,46 @@
package com.ghy.web.controller.worker;
import com.ghy.common.core.controller.BaseController;
import com.ghy.common.core.page.TableDataInfo;
import com.ghy.worker.domain.Worker;
import com.ghy.worker.service.WorkerService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @author clunt
* 师傅端Controller
*/
@Controller
@RequestMapping("/worker")
public class WorkerController extends BaseController {
private String prefix = "worker";
@Autowired
private WorkerService workerService;
@RequiresPermissions("worker:worker:view")
@GetMapping()
public String worker(){
return prefix + "/worker";
}
@RequiresPermissions("worker:worker:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Worker worker)
{
startPage();
List<Worker> list = workerService.getWorkList(worker);
return getDataTable(list);
}
}

View File

@ -0,0 +1,210 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('师傅列表')" />
<th:block th:include="include :: layout-latest-css" />
<th:block th:include="include :: ztree-css" />
</head>
<body class="gray-bg">
<div class="ui-layout-center">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="user-form">
<div class="select-list">
<ul>
<li>
师傅名称:<input type="text" name="name"/>
</li>
<li>
手机号码:<input type="text" name="phone"/>
</li>
<li>
公司归属:<input type="text" name="deptName"/>
</li>
<li>
用户状态:<select name="status" th:with="type=${@dict.getType('sys_normal_disable')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>创建时间: </label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="worker:worker:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="worker:worker:import">
<i class="fa fa-upload"></i> 导入
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="worker:worker:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: layout-latest-js" />
<th:block th:include="include :: ztree-js" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('worker:worker:edit')}]];
var removeFlag = [[${@permission.hasPermi('worker:worker:remove')}]];
var resetPwdFlag = [[${@permission.hasPermi('worker:worker:resetPwd')}]];
var prefix = ctx + "worker";
$(function() {
var panehHidden = false;
if ($(this).width() < 769) {
panehHidden = true;
}
$('body').layout({ initClosed: panehHidden, west__size: 185 });
// 回到顶部绑定
if ($.fn.toTop !== undefined) {
var opt = {
win:$('.ui-layout-center'),
doc:$('.ui-layout-center')
};
$('#scroll-up').toTop(opt);
}
queryUserList();
});
function queryUserList() {
var options = {
url: prefix + "/list",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
importUrl: prefix + "/importData",
importTemplateUrl: prefix + "/importTemplate",
sortName: "createTime",
sortOrder: "desc",
modalName: "师傅",
columns: [{
checkbox: true
},
{
field: 'workerId',
title: '师傅ID'
},
{
field: 'name',
title: '昵称',
sortable: true
},
{
field: 'account',
title: '账户'
},
{
field: 'phone',
title: '手机号'
},
{
field: 'openId',
title: '微信唯一id',
visible: false
},
{
field: 'workerLogoUrl',
title: '头像',
visible: false
},
{
visible: editFlag == 'hidden' ? false : true,
title: '师傅状态',
align: 'center',
formatter: function (value, row, index) {
return statusTools(row);
}
},
{
field: 'createTime',
title: '创建时间',
sortable: true
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
if (row.workerId != 1) {
var actions = [];
actions.push("<a class='btn btn-success btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.workerId + ")'><i class='fa fa-edit'></i>重置密码</a> ");
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.workerId + '\')"><i class="fa fa-remove"></i>删除</a> ');
return actions.join('');
} else {
return "";
}
}
}]
};
$.table.init(options);
}
/* 用户管理-重置密码 */
function resetPwd(workerId) {
var url = prefix + '/resetPwd/' + workerId;
$.modal.open("重置密码", url, '800', '300');
}
/* 用户状态显示 */
function statusTools(row) {
if (row.status == 0) {
return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.workerId + '\')"></i> ';
} else {
return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.workerId + '\')"></i> ';
}
}
/* 用户管理-停用 */
function disable(workerId) {
$.modal.confirm("确认要停用用户吗?", function() {
$.operate.post(prefix + "/changeStatus", { "workerId": workerId, "status": 1 });
})
}
/* 用户管理启用 */
function enable(workerId) {
$.modal.confirm("确认要启用用户吗?", function() {
$.operate.post(prefix + "/changeStatus", { "workerId": workerId, "status": 0 });
})
}
</script>
</body>
<!-- 导入区域 -->
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示仅允许导入“xls”或“xlsx”格式文件
</font>
</div>
</form>
</script>
</html>

View File

@ -1,7 +1,15 @@
package com.ghy.worker.mapper; package com.ghy.worker.mapper;
import com.ghy.worker.domain.Worker;
import java.util.List;
public interface WorkerMapper { public interface WorkerMapper {
/**
* @param worker 师傅端
* @return 师傅集合
*/
List<Worker> getWorkerList(Worker worker);
} }

View File

@ -1,4 +1,16 @@
package com.ghy.worker.service; package com.ghy.worker.service;
import com.ghy.worker.domain.Worker;
import java.util.List;
public interface WorkerService { public interface WorkerService {
/**
* @param worker 师傅
* @return 师傅集合
*/
List<Worker> getWorkList(Worker worker);
} }

View File

@ -1,11 +1,22 @@
package com.ghy.worker.service.impl; package com.ghy.worker.service.impl;
import com.ghy.worker.domain.Worker;
import com.ghy.worker.mapper.WorkerMapper;
import com.ghy.worker.service.WorkerService; import com.ghy.worker.service.WorkerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class WorkerServiceImpl implements WorkerService { public class WorkerServiceImpl implements WorkerService {
@Autowired
private WorkerMapper workerMapper;
@Override
public List<Worker> getWorkList(Worker worker) {
return workerMapper.getWorkerList(worker);
}
} }

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ghy.worker.mapper.WorkerMapper">
<resultMap id="GoodsImgsResult" type="com.ghy.worker.domain.Worker">
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectWorker">
</sql>
</mapper>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ghy.worker.mapper.WorkerMapper">
<resultMap id="WorkerResult" type="com.ghy.worker.domain.Worker">
<result property="workerId" column="worker_id" />
<result property="name" column="name" />
<result property="account" column="account" />
<result property="phone" column="phone" />
<result property="openId" column="open_id" />
<result property="password" column="password" />
<result property="status" column="status" />
<result property="workerLogoUrl" column="worker_logo_url" />
<result property="leaderTeamRate" column="leader_team_rate" />
<result property="leaderTeamMoney" column="leader_team_money" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectWorker">
SELECT
worker_id, name, account, phone, password, open_id, status, worker_logo_url,
leader_team_rate, leader_team_money, create_by, create_time, update_by, update_time, remark
FROM worker
</sql>
<select id="getWorkerList" resultMap="WorkerResult">
<include refid="selectWorker" />
</select>
</mapper>

View File

@ -289,17 +289,17 @@
<version>${ghy.version}</version> <version>${ghy.version}</version>
</dependency> </dependency>
<!-- 财务模块 --> <!-- 消费者模块 -->
<dependency> <dependency>
<groupId>com.ghy</groupId> <groupId>com.ghy</groupId>
<artifactId>ghy-custom</artifactId> <artifactId>ghy-custom</artifactId>
<version>${ghy.version}</version> <version>${ghy.version}</version>
</dependency> </dependency>
<!-- 财务模块 --> <!-- 师傅模块 -->
<dependency> <dependency>
<groupId>com.ghy</groupId> <groupId>com.ghy</groupId>
<artifactId>ghy-payment</artifactId> <artifactId>ghy-worker</artifactId>
<version>${ghy.version}</version> <version>${ghy.version}</version>
</dependency> </dependency>