xiaoyong931011
2021-04-13 9e10e7d221c8a7f5ca20ce11d0d721eff5370720
20210413 后台订单管理修改
4 files modified
295 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopOrderAction.java 47 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/pojo/ShopOrderQueryPOJO.java 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/shop/shopOrder-list.html 234 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopOrderAction.java
@@ -16,7 +16,6 @@
import com.matrix.core.tools.excl.ExcelVersion;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.action.BaseController;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.SysShopInfo;
@@ -108,8 +107,8 @@
        ExcelSheetPO orderSheet = new ExcelSheetPO();
        orderSheet.setSheetName("订单列表");
        orderSheet.setTitle("订单列表");
        String[] header = new String[]{"订单编号", "客户姓名", "客户电话", "收货地址", "下单时间", "订单金额",
                "优惠总金额", "优惠说明", "订单状态", "配送方式", "门店名称", "商品名称", "规格", "生产企业", "单价", "购买数量"};
        String[] header = new String[]{"订单编号", "客户姓名", "客户电话", "收货地址", "店铺名称","订单状态","下单时间",  "购买商品","订单金额",
                "优惠总金额",  "配送方式"};
        orderSheet.setHeaders(header);
        List<List<Object>> body = new ArrayList<>();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
@@ -133,42 +132,26 @@
                } else {
                    bodyItem.add("");
                }
                //下单时间
                bodyItem.add(dateFormat.format(shopOrder.getOrderTime()));
                //购买数量
//                bodyItem.add(shopOrder.getPurchaseQuantity());
                //订单金额
                bodyItem.add(shopOrder.getOrderMoney());
                //优惠总金额
                bodyItem.add(shopOrder.getDiscountAmount());
                //优惠说明
                bodyItem.add(shopOrder.getDiscountExplain());
                //店铺名称
                bodyItem.add(shopOrder.getStoreName());
                //订单状态
                bodyItem.add(OrderStatusEnum.getNameByCode(shopOrder.getOrderStatus()));
                //配送方式 门店
                bodyItem.add("物流");
                bodyItem.add("");
                //商品名称
                //下单时间
                bodyItem.add(dateFormat.format(shopOrder.getOrderTime()));
                //购买商品
                ShopSku shopSku = shopOrderDetails.getShopSku();
                ShopProduct shopProduct = shopOrderDetails.getShopProduct();
                if (shopProduct == null) {
                    bodyItem.add("");
                } else {
                    bodyItem.add(shopProduct.getTitle());
                    bodyItem.add(shopProduct.getTitle()+ "(" +shopSku.getName()+ ")*" + shopOrderDetails.getCount());
                }
                //规格名称、生产企业、单价
                ShopSku shopSku = shopOrderDetails.getShopSku();
                if (shopSku == null) {
                    bodyItem.add("");
                    bodyItem.add(shopOrderDetails.getProductionEnterprise());
                    bodyItem.add("");
                } else {
                    bodyItem.add(shopSku.getName());
                    bodyItem.add(shopOrderDetails.getProductionEnterprise());
                    bodyItem.add(shopSku.getPrice());
                }
                //购买数量
                bodyItem.add(shopOrderDetails.getCount());
                //订单金额
                bodyItem.add(shopOrder.getOrderMoney());
                //优惠总金额
                bodyItem.add(shopOrder.getDiscountAmount());
                //配送方式 门店
                bodyItem.add("物流");
                body.add(bodyItem);
            }
        }
zq-erp/src/main/java/com/matrix/system/shopXcx/pojo/ShopOrderQueryPOJO.java
@@ -19,6 +19,10 @@
     * 开始时间
     */
    private String orderBeginTime;
    /**
     * 开始时间
     */
    private String orderTime;
    /**
     * 结束时间
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderDao.xml
@@ -35,6 +35,9 @@
            <result property="applyStatus" column="apply_status" />
            <result property="scorePay" column="score_pay" />
            <result property="companyId" column="company_id" />
            <!--返回详情列表-->
            <collection property="details" column="{orderId=id}"
                        select="com.matrix.system.shopXcx.dao.ShopOrderDetailsDao.selectByOrderId"/>
    </resultMap>
@@ -639,11 +642,10 @@
        o.wx_order_no,
        o.pay_result,
        o.postage,
        s.store_name,
        s.score_pay,
        s.shop_name,
        o.order_type
        from shop_order o
        LEFT JOIN shop_store s on o.store_id = s.store_id
        LEFT JOIN sys_shop_info s on o.store_id = s.ID
        where del_flag = 2 and o.company_id  = #{record.companyId}
        <if test="record != null">
@@ -666,7 +668,7 @@
                and  o.order_status = #{record.orderStatus}
            </if>
            <if test="(record.storeName!=null and record.storeName!='')">
                and s.store_name like concat('%', #{record.storeName}, '%')
                and s.shop_name like concat('%', #{record.storeName}, '%')
            </if>
        </if>
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
zq-erp/src/main/resources/templates/views/admin/shop/shopOrder-list.html
@@ -13,120 +13,108 @@
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <script type="text/javascript"
            th:src="@{/js/systools/MBase.js}"></script>
    <style type="text/css">
        .btn-my {
            background-color: #f8ac59;
            border-color: #f8ac59;
            color: #fff
        }
        .btn-my:hover {
            background-color: #FFD19F;
            border-color: #FFD19F;
            color: #fff
        }
        .btn-my:focus {
            outline: 0 !important;
        }
        .btn-my.active {
            background-color: rgb(185, 136, 85);
            border-color: rgb(185, 136, 85);
            color: #fff;
            outline: 0;
        }
    </style>
</head>
<body class=" container-fluid">
<div class="pd-10">
    <!-- 搜索框部分start -->
    <!-- 搜索框部分start -->
    <div class="row form-head">
        <div class="col-md-2 col-xs-12">
            <!-- 功能按钮部分 -->
            <div class="">
                <!--<button onclick="myGrid.delItems('id')" type="button"-->
                <!--class="btn btn-danger btn-sm">-->
                <!--<i class="fa fa-trash"></i>批量删除-->
                <!--</button>-->
            </div>
        </div>
        <div class="col-md-10 col-xs-12">
            <div class="row">
                <div class="col-md-11" style="text-align: right">
                    <form class="form-inline" id="serchform">
                        <div class="input-group">
                            <div class="btn-group search-list " data-for="search-text">
                                <button type="button"
                                        class="btn btn-default dropdown-toggle searchlist"
                                        data-toggle="dropdown">
                                    用户姓名 <span class="caret "></span>
                                </button>
                                <ul class="dropdown-menu" role="menu">
                                    <li data-field="userName"><a>用户姓名</a></li>
                                    <li data-field="userTel"><a>用户电话 </a></li>
                                    <li data-field="orderNo"><a>订单号 </a></li>
                                    <li data-field="storeName"><a>门店名称 </a></li>
                                </ul>
                            </div>
                            <div class="form-group mr-20 ml-20">
                                <input autocomplete="off"   id="search-text" name="userName" placeholder="输入查询关键词"
                                       type="text" class="form-control">
                            </div>
                            <div class="form-group">
                                <button onclick="myGrid.serchData(1)" type="button"
                                        class="btn btn-info">
                                    <i class="fa fa-search "></i> 搜索
                                </button>
                                <button onclick="exportExcel()" type="button"
                                        class="btn btn-info"
                                        matrix:btn="order-exportExcel">
                                    <i class="fa fa-search "></i> 导出EXCEL
                                </button>
                                <button type="reset" class="btn btn-info ">
                                    <i class="fa fa-refresh "></i> 重置
                                </button>
                                <button type="reset" class="btn btn-info " onclick="applyMoney()">
                                    <i class="fa fa-bank "></i> 申请提现
                                </button>
                            </div>
                        </div>
                        <!-- 高级搜索 -->
                        <div class="senior-content">
                            <!-- <div><a class="serch-close closestyle">×</a></div> -->
                            <div class="serch-headline">高级搜索</div>
                            <div>
                                <div style="margin-bottom: 20px!important;">
                                    <div class="col-sm-6" style="text-align: right!important;">
                                        <label class="col-sm-12 control-label">
                                            开始日期:
                                        </label>
                                    </div>
                                    <div class="col-sm-6">
                                        <input autocomplete="off"   name="orderBeginTime" readonly="readonly"
                                               type="text" class="form-control datetimepicker" style="width: 98%">
                                    </div>
                                </div>
                                <div style="margin-bottom: 20px!important;">
                                    <div class="col-sm-6" style="text-align: right!important;">
                                        <label class="col-sm-12 control-label">
                                            结束日期:
                                        </label>
                                    </div>
                                    <div class="col-sm-6">
                                        <input autocomplete="off"   name="orderEndTime" readonly="readonly"
                                               type="text" class="form-control datetimepicker" style="width: 98%">
                                    </div>
                                </div>
        <!-- ------------搜索服务单开始---------------- -->
        <form class="form-inline" id="serchform">
                                <div style="margin-bottom: 20px!important;">
                                    <div class="col-sm-6" style="text-align: right!important;">
                                        <label class="col-sm-12 control-label">
                                            订单状态:
                                        </label>
                                    </div>
                                    <div class="col-sm-6">
                                        <select class="form-control autoFull select2" dataType="*"
                                                th:data-url="@{/admin/shopOrder/getOrderStatusSelectValue}"
                                                data-value="code"
                                                data-filed="name" name="orderStatus" style="width: 98%">
                                            <option value=''>请选择</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div class="button col-sm-12">
                                <button type="button" class="btn btn-sm btn-info mr20" onclick="myGrid.serchData()">确认
                                </button>
                                <button type="button" class="btn btn-warning serch-close">取消</button>
                            </div>
                        </div>
                    </form>
                </div>
                <div class="col-md-1 text-r layui-anim" data-anim="layui-anim-up">
                    <a class="senior-serch">高级搜索</a>
            <div class="form-group mr-20">
                <div class="btn-group search-list " data-for="search-text">
                    <button type="button"
                            class="btn btn-default dropdown-toggle searchlist"
                            data-toggle="dropdown">
                        用户姓名 <span class="caret "></span>
                    </button>
                    <ul class="dropdown-menu" role="menu">
                        <li data-field="userName"><a>用户姓名</a></li>
                        <li data-field="userTel"><a>用户电话 </a></li>
                        <li data-field="orderNo"><a>订单号 </a></li>
                        <li data-field="storeName"><a>门店名称 </a></li>
                    </ul>
                </div>
            </div>
        </div>
            <div class="form-group mr-20">
                <input autocomplete="off"   id="search-text" name="userName" placeholder="输入查询关键词"
                       type="text" class="form-control">
            </div>
            <div class="form-group mr-20">
                <label>开始日期:</label>
                <input autocomplete="off"   name="orderBeginTime" type="text"
                       class="form-control datetimepicker" id="orderBeginTime">
            </div>
            <div class="form-group mr-20">
                <label>结束日期:</label>
                <input autocomplete="off"   name="orderEndTime" type="text"
                       class="form-control datetimepicker" id="orderEndTime">
            </div>
            <input type="hidden" value="" name="orderStatus" id="orderStatus"/>
            <div class="form-group mr-20">
                <button type="button" class="btn btn-my btn-sm active" id="btn0" value="">全部</button>
                <button type="button" class="btn btn-my btn-sm" id="btn1" value="1">待付款</button>
                <button type="button" class="btn btn-my btn-sm" id="btn2" value="2">待配送</button>
                <button type="button" class="btn btn-my btn-sm" id="btn3" value="3">待收货</button>
                <button type="button" class="btn btn-my btn-sm" id="btn4" value="4">待评价</button>
                <button type="button" class="btn btn-my btn-sm" id="btn5" value="5">已评价</button>
                <button type="button" class="btn btn-my btn-sm" id="btn6" value="6">申请退款</button>
                <button type="button" class="btn btn-my btn-sm" id="btn7" value="7">退款成功</button>
                <button type="button" class="btn btn-my btn-sm" id="btn8" value="8">退款拒绝</button>
                <button type="button" class="btn btn-my btn-sm" id="btn9" value="9">已取消</button>
            </div>
            <div class="form-group mr-20">
                <button onclick="myGrid.serchData(1)" type="button"
                        class="btn btn-info">
                    <i class="fa fa-search "></i> 搜索
                </button>
                <button onclick="exportExcel()" type="button"
                        class="btn btn-info"
                        matrix:btn="order-exportExcel">
                    <i class="fa fa-search "></i> 导出EXCEL
                </button>
                <button type="reset" class="btn btn-info ">
                    <i class="fa fa-refresh "></i> 重置
                </button>
                <!--<button type="reset" class="btn btn-info " onclick="applyMoney()">
                    <i class="fa fa-bank "></i> 申请提现
                </button>-->
            </div>
        </form>
    </div>
    <div class="row">
@@ -142,13 +130,14 @@
                    <th data-field="storeName">店铺名称</th>
                    <th data-field="orderStatus" data-formatter="buildOrderStatus">订单状态</th>
                    <th data-field="orderTime" data-formatter="MGrid.getTime">下单时间</th>
                    <th data-field="purchaseQuantity">购买件数</th>
                    <th data-field="details" data-formatter="buildDetails">购买商品</th>
                    <!--<th data-field="purchaseQuantity">购买件数</th>-->
                    <th data-field="orderMoney">订单金额</th>
                    <th data-field="discountAmount">优惠总金额</th>
                    <th data-field="shippingMethod" >配送方式</th>
                    <th data-field="orderType" data-formatter="orderTypeFormatter">订单类型</th>
                    <th data-field="shippingMethod"  data-formatter="buildShippingMethod" >配送方式</th>
                    <!--<th data-field="orderType" data-formatter="orderTypeFormatter">订单类型</th>-->
                    <th data-field="orderNo">订单编号</th>
                    <th data-field="applyStatus" data-formatter="applyStatusFormatter">是否已提现</th>
                    <!--<th data-field="applyStatus" data-formatter="applyStatusFormatter">是否已提现</th>-->
                </tr>
                </thead>
            </table>
@@ -172,6 +161,17 @@
    });
    $(".btn-my").click(function () {
        var btnValue = $(this).val();
        $("#orderStatus").val(btnValue);
        myGrid.serchData();
        /* $("#state").val(""); */
        $(".btn-my").removeClass("active");
        $(this).addClass("active");
    });
    function exportExcel() {
        var userName = $('input[name=userName]').val();
        if (typeof userName == 'undefined') {
@@ -191,7 +191,7 @@
        }
        var orderBeginTime = $('input[name=orderBeginTime]').val();
        var orderEndTime = $('input[name=orderEndTime]').val();
        var orderStatus = $('select[name=orderStatus]').val();
        var orderStatus = $('input[name=orderStatus]').val();
        var url = basePath + "/admin/shopOrder/exportOrderExcel";
        url += "?userName=" + userName;
        url += "&orderNo=" + orderNo;
@@ -201,6 +201,14 @@
        url += "&userTel=" + userTel;
        url += "&storeName=" + storeName;
        window.open(url);
    }
    function buildDetails(value, row, index) {
        var details = "";
        for(var i= 0;i<value.length;i++){
            details = details +value[i].shopProduct.title+ "("+value[i].shopSku.name+ ")*"+value[i].count+";";
        }
        return details;
    }
@@ -227,6 +235,16 @@
        return "";
    }
    function buildShippingMethod(value, row, index) {
        if (value == 1) {
            return "物流配送";
        } else if (value == 2) {
            return "<lable class='label label-warning' >门店自取</lable>";
        }else {
            return "-";
        }
    }
    var btns = [];
    btns[0] = "", btns[1] = "", btns[2] = "";