师傅列表账号展示
This commit is contained in:
parent
232eed7361
commit
19161fda7f
|
|
@ -119,6 +119,19 @@ public class OrderDetailController extends BaseController {
|
|||
List<Worker> workList = workerService.getWorkList(param);
|
||||
List<Long> ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList());
|
||||
orderDetail.setWorkerIds(ids);
|
||||
if(CollectionUtils.isEmpty(ids)){
|
||||
return getDataTable(new ArrayList<>());
|
||||
}
|
||||
}
|
||||
if(orderDetail.getSysPayStatus() != null){
|
||||
FinancialMaster param = new FinancialMaster();
|
||||
param.setPayStatus(orderDetail.getSysPayStatus());
|
||||
List<FinancialMaster> financialMasters = financialMasterService.selectFinancialMasterList(param);
|
||||
List<Long> masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList());
|
||||
orderDetail.setMasterIds(masterIds);
|
||||
if(CollectionUtils.isEmpty(masterIds)){
|
||||
return getDataTable(new ArrayList<>());
|
||||
}
|
||||
}
|
||||
startPage();
|
||||
if (this.getSysUser().getDept().getParentId() != 101) {
|
||||
|
|
@ -135,16 +148,9 @@ public class OrderDetailController extends BaseController {
|
|||
Map<Long, OrderMaster> orderMasterMap = orderMasters.stream().collect(Collectors.toMap(OrderMaster::getId, x -> x, (x, y) -> y));
|
||||
|
||||
List<FinancialMaster> financialMasters = financialMasterService.selectByOrderMasterIds(orderMasterIds);
|
||||
Map<Long, FinancialMaster> financialMasterMap = new HashMap<>();
|
||||
if(orderDetail.getSysPayStatus() != null && 0 == orderDetail.getSysPayStatus()){
|
||||
financialMasterMap = financialMasters
|
||||
.stream().filter(financialMaster->0 == financialMaster.getPayStatus()).collect(Collectors.toMap(FinancialMaster::getOrderMasterId, x -> x, (x, y) -> y));
|
||||
}else {
|
||||
financialMasterMap = financialMasters
|
||||
.stream().collect(Collectors.toMap(FinancialMaster::getOrderMasterId, x -> x, (x, y) -> y));
|
||||
}
|
||||
|
||||
|
||||
Map<Long, FinancialMaster> financialMasterMap = financialMasters
|
||||
.stream().collect(Collectors.toMap(FinancialMaster::getOrderMasterId, x -> x, (x, y) -> y));
|
||||
|
||||
Set<Long> orderDetailIds = orderDetails.stream().map(OrderDetail::getId).collect(Collectors.toSet());
|
||||
Map<Long, FinancialDetail> financialDetailMap = financialDetailService.selectByOrderDetailIds(orderDetailIds)
|
||||
.stream().collect(Collectors.toMap(FinancialDetail::getOrderDetailId, x -> x, (x, y) -> y));
|
||||
|
|
@ -665,6 +671,14 @@ public class OrderDetailController extends BaseController {
|
|||
return "/order/pay-qrcode";
|
||||
}
|
||||
|
||||
@GetMapping("/orderWorker/{orderId}")
|
||||
public String orderWorker(@PathVariable("orderId") Long orderId, ModelMap mmap) {
|
||||
List<Worker> workList = workerService.getWorkList(new Worker());
|
||||
mmap.put("orderId", orderId);
|
||||
mmap.put("workers", workList);
|
||||
return "/order/orderWorker";
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存详细订单
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
<head>
|
||||
<th:block th:include="include :: header('模板新增')"/>
|
||||
<th:block th:include="include :: layout-latest-css"/>
|
||||
<th:block th:include="include :: bootstrap-fileinput-css"/>
|
||||
|
||||
<style>
|
||||
body {
|
||||
|
|
@ -202,9 +203,8 @@
|
|||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label is-required">图片上传:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="file-loading">
|
||||
<input id="multipleFile" name="files" type="file" multiple required>
|
||||
</div>
|
||||
<input type="text" name="imageUrl" value="" hidden>
|
||||
<input type="file" name="imageUrlStr" id="imageUrlStr" multiple class="file" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -367,6 +367,7 @@
|
|||
<th:block th:include="include :: layout-latest-js"/>
|
||||
<th:block th:include="include :: jquery-cxselect-js" />
|
||||
<th:block th:include="include :: datetimepicker-js" />
|
||||
<th:block th:include="include :: bootstrap-fileinput-js"/>
|
||||
<script th:src="@{/js/plugins/miniCascader/cascader.js}"></script>
|
||||
<script th:src="@{/data/four-level-area.js}"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
@ -594,6 +595,29 @@
|
|||
return params;
|
||||
}
|
||||
|
||||
// 营业执照上传
|
||||
$('#imageUrlStr').fileinput({
|
||||
language: 'zh', //设置语言
|
||||
dropZoneEnabled: false, //是否显示拖拽区域
|
||||
showPreview: false,
|
||||
uploadExtraData: {
|
||||
"name": "imageUrlStr"
|
||||
},
|
||||
dropZoneTitle: "可以将图片拖放到这里", //拖拽区域显示文字
|
||||
uploadUrl: ctx + 'tool/qiniu/dept/upload', //上传路径
|
||||
allowedFileExtensions: ['jpg', 'png', 'gif', 'jpeg'], //指定上传文件类型
|
||||
maxFileSize: 0,
|
||||
maxFileSize: 2048, //上传文件最大值,单位kb
|
||||
uploadAsync: true, //异步上传
|
||||
maxFileCount: 2 //上传文件最大个数。
|
||||
}).on("fileuploaded", function(event,data) { //异步上传成功后回调
|
||||
if(data.response.code === 0){
|
||||
$("input[name='imageUrl']").val(data.response.url)
|
||||
}else {
|
||||
alert("上传失败!");
|
||||
}
|
||||
});
|
||||
|
||||
function submitOrder() {
|
||||
if (!validSpecialComponent()) return;
|
||||
if ($.validate.form()) {
|
||||
|
|
|
|||
|
|
@ -278,6 +278,9 @@
|
|||
shiro:hasPermission="order:order:export">
|
||||
<i class="fa fa-download"></i> 导出
|
||||
</a>
|
||||
<a class="btn btn-default" onclick="$.table.exportExcel()">
|
||||
<i class="fa fa-download"></i> 指派
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -379,6 +382,26 @@
|
|||
}
|
||||
}
|
||||
|
||||
function showOrderWorker(id) {
|
||||
var url = "/order/detail/orderWorker/" + id;
|
||||
layer.open({
|
||||
type: 2,
|
||||
area: ['600px', '360px'],
|
||||
fix: false,
|
||||
//不固定
|
||||
maxmin: true,
|
||||
shade: 0.3,
|
||||
title: '指派师傅',
|
||||
content: url,
|
||||
btn: ['关闭'],
|
||||
// 弹层外区域关闭
|
||||
shadeClose: true,
|
||||
cancel: function(index) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function selectRegion(regionLevelName, nextRegionLevelName) {
|
||||
var regionId = $("#" + regionLevelName).val();
|
||||
if ($.common.isEmpty(regionId)) {
|
||||
|
|
@ -468,6 +491,7 @@
|
|||
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="detail(\'' + row.id + '\')"><i class="fa fa-info"></i>查看</a> ');
|
||||
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="orderDetailReject(\'' + row.id + '\')"></i>师傅退单</a> ');
|
||||
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="orderMasterReject(\'' + row.orderMasterId + '\')"></i>商家退单</a> ');
|
||||
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="showOrderWorker(\'' + row.id + '\')"></i>指派</a> ');
|
||||
if (row.payStatus == 0) {
|
||||
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="showPayQrcode(\'' + row.id + '\')"></i>付款</a> ');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,211 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<style>
|
||||
body {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.pane1 {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.pane2 {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.template-div {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.template-body {
|
||||
padding: 10px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
border: 1px solid #1c84c6;
|
||||
}
|
||||
|
||||
.template-footer {
|
||||
background-color: #1c84c6;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
border: 1px solid #1c84c6;
|
||||
}
|
||||
|
||||
.floor-text {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.floor-input {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.dropdown-btn {
|
||||
height: 31px;
|
||||
}
|
||||
|
||||
.oper-banner {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.oper-banner-start {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.oper-banner-end {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.yuan-symbol {
|
||||
color: red;
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.multiply-symbol {
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.goodsNumList {
|
||||
padding: 5px 8px 14px 5px;
|
||||
min-height: 40px;
|
||||
border: 1px solid #dcdfe6;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.oneGoodsNumList {
|
||||
padding: 5px 8px 5px 5px;
|
||||
min-height: 40px;
|
||||
border: 1px solid #dcdfe6;
|
||||
box-sizing: border-box;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.goodsNum {
|
||||
margin: 2px 0;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
#categoryCxSelect {
|
||||
z-index: 101
|
||||
}
|
||||
|
||||
#categoryCxSelect .eo-cascader-menu:nth-child(-n+3) .has-child label {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<head>
|
||||
<th:block th:include="include :: header('指派师傅')"/>
|
||||
<th:block th:include="include :: layout-latest-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="order-goods-form">
|
||||
<input name="id" type="hidden" th:value="${orderId}" />
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label is-required">商品:</label>
|
||||
<div class="col-sm-1 multiply-symbol">×</div>
|
||||
<div id="goodsNumList" class="col-sm-1 oneGoodsNumList">
|
||||
<input type="number" name="goodsNum" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">选择师傅:</label>
|
||||
<div class="col-sm-8">
|
||||
<select id="workerId" name="workerId" class="form-control control-label" required>
|
||||
<option th:each="worker:${workers}" th:value="${worker.workerId}" th:text="${worker.name}" ></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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"/>
|
||||
|
||||
<script th:inline="javascript">
|
||||
|
||||
var prefix = ctx + "order/goods";
|
||||
var orderId = '[[${orderId}]]';
|
||||
|
||||
$(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);
|
||||
}
|
||||
queryOrderGoodsList();
|
||||
});
|
||||
|
||||
function queryOrderGoodsList() {
|
||||
var options = {
|
||||
url: prefix + "/list?orderDetailId=" + orderId,
|
||||
modalName: "订单商品",
|
||||
search: false,
|
||||
showSearch: false,
|
||||
showToggle: false,
|
||||
showColumns: false,
|
||||
showRefresh: false,
|
||||
columns: [
|
||||
{
|
||||
field: 'orderGoodsId',
|
||||
title: '订单商品id',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'orderId',
|
||||
title: '订单id',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'goodsName',
|
||||
title: '商品名称'
|
||||
},
|
||||
{
|
||||
field: 'goodsNum',
|
||||
title: '商品数量'
|
||||
},
|
||||
{
|
||||
field: 'serverGoodsNum',
|
||||
title: '已服务数量'
|
||||
}
|
||||
]
|
||||
};
|
||||
$.table.init(options);
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -177,4 +177,6 @@ public class OrderDetail extends BaseEntity {
|
|||
|
||||
private List<Long> workerIds;
|
||||
|
||||
private List<Long> masterIds;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,6 +135,12 @@
|
|||
#{workerId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="masterIds != null and masterIds.size() > 0">
|
||||
AND od.order_master_id in
|
||||
<foreach collection="masterIds" item="masterId" open="(" separator="," close=")">
|
||||
#{masterId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="goodsCategoryId != null">
|
||||
AND g.dept_goods_category_id = #{goodsCategoryId}
|
||||
</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue