Helius
2021-07-20 9a341d58bf0cfc4d9c0b9be745671f4e5c490b02
Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop
2 files added
8 files modified
602 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java 21 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form-bak2.html 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/pbxq-form-bak.html 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/pbxq-form.html 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html 191 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service-hk.html 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/printTemplates/print-service-meidu.html 177 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/printTemplates/print-service-taiyan.html 197 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
@@ -15,6 +15,7 @@
import com.matrix.core.tools.excl.ExcelUtil;
import com.matrix.core.tools.excl.ExcelVersion;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.SysCompanyDao;
import com.matrix.system.common.service.SysUsersService;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.common.tools.ResponseHeadUtil;
@@ -29,6 +30,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -441,6 +443,25 @@
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "成功");
    }
    @Autowired
    private SysCompanyDao sysCompanyDao;
    /**
     * 服务单打印
     */
    @RequestMapping(value = "/printOrder")
    public @ResponseBody
    ModelAndView printOrder() throws GlobleException {
        ModelAndView mv = new ModelAndView("admin/hive/beautySalon/print-service");
        SysUsers user=(SysUsers)WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        String comRegisterCode = sysCompanyDao.selectById(user.getCompanyId()).getComRegisterCode();
        if(StringUtils.isNotBlank(comRegisterCode)){
            mv.addObject("page",comRegisterCode);
        }else {
            mv.addObject("page","taiyan");
        }
        return mv;
    }
    /**
     * 根据id对服务单进行派单
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -1550,7 +1550,7 @@
        sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y);
//        sourceOrder.setStatu(Dictionary.ORDER_STATU_TK);
        sysOrderDao.update(sourceOrder);
        SysOrder oldOrder=sysOrderDao.selectById(   sysOrder.getOldOrderId());
        SysOrder oldOrder=sysOrderDao.selectById(sysOrder.getOldOrderId());
        sysOrder.setId(null);
        sysOrder.setStaffId(user.getSuId());
zq-erp/src/main/resources/templates/views/admin/hive-erp/order/serviceOrderDetail.html
@@ -180,7 +180,7 @@
                    title: "打印服务单",
                    area: ['250px', '550px'],
                    maxmin: true,
                    content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
                    content: [basePath + '/admin/projService/printOrder?id=' + id]
                });
            },
            toBack() {
@@ -205,7 +205,7 @@
            title: "打印服务单",
            area: ['250px', '550px'],
            maxmin: true,
            content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
            content: [basePath + '/admin/projService/printOrder?id=' + id]
        });
    }
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/orderXq-form-bak2.html
@@ -145,7 +145,7 @@
                    title: "打印服务单",
                    area: ['250px', '550px'],
                    maxmin: true,
                    content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
                    content: [basePath + '/admin/projService/printOrder?id=' + id]
                });
            },
            toBack() {
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/pbxq-form-bak.html
@@ -149,7 +149,7 @@
            title: "打印服务单",
            area: ['250px', '550px'],
            maxmin: true,
            content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
            content: [basePath + '/admin/projService/printOrder?id=' + id]
        });
    }
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/pbxq-form.html
@@ -170,7 +170,7 @@
                    title: "打印服务单",
                    area: ['250px', '550px'],
                    maxmin: true,
                    content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
                    content: [basePath + '/admin/projService/printOrder?id=' + id]
                });
            },
            toBack() {
@@ -199,7 +199,7 @@
            title: "打印服务单",
            area: ['250px', '550px'],
            maxmin: true,
            content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
            content: [basePath + '/admin/projService/printOrder?id=' + id]
        });
    }
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/print-service.html
@@ -1,197 +1,8 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <LINK rel="Bookmark" href="../images/favicon.ico">
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript"
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <script type="text/javascript"
            th:src="@{/js/systools/MBase.js}"></script>
    <style>
        .btn{
            position: fixed;
            bottom: 10px;
            left: 45%;
        }
    </style>
</head>
<body>
<div class="ibox-content" id="app">
    <div id="print" style="width: 200px; margin: 5px auto;">
        <h1   style="text-align: center;font-size:18px;margin: 20px auto;">
            {{projService.shopName}}
        </h1>
        <table style="width: 100%; font-size:10px;line-height: 20px;">
            <tr>
                <td colspan="2">
                    <b>订单号</b>:<span>{{projService.serviceNo}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>客户</b>:<span>{{projService.vipInfo.vipName}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>消费日期</b>:<span>{{projService.createTime |format}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <b>电话</b>:<span>{{projService.vipInfo.phone| formatPhone }}</span>
                </td>
            </tr>
        </table>
        <table style="width: 80%;font-size:10px;margin-top: 20px;text-align: left">
            <tr>
                <th style="text-align: left;"  colspan="4">产品</th>
            </tr>
            <tr>
                <th style="">数量</th>
                <th style="">单价</th>
                <th style="">余次</th>
                <th style="">技师</th>
            </tr>
            <template v-for="item in projService.serviceItems">
                <tr  >
                    <td style="text-align: left;" colspan="4" >{{item.projInfo.name }}</td>
                </tr>
                <tr  >
                    <td>{{item.count }}</td>
                    <td>{{item.projUse.price }}</td>
                    <td >{{item.projUse.surplusCount }}</td>
                    <td>{{item.beautiStaffInfo?item.beautiStaffInfo.suName:''}}</td>
                </tr>
            </template>
        </table>
        <table style="width: 100%;font-size: 10px;line-height: 30px;">
            <tr>
                <td>
                    <b>本次划扣:</b> <span >{{projService.money}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>收银人:</b> <span>{{projService.createStaffName}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>客户签名:</b>
                </td>
            </tr>
        </table>
        <div style="width: 100%;text-align: center;margin: 30px auto;margin-bottom: 10px">
            <br>
            *****************<br>
            谢谢惠顾<br>
            *****************<br>
            &nbsp;<br>
        </div>
        <div style="width: 100%;">
            地址:{{shopInfo.shopAddr}}<br>
            电话:{{shopInfo.shopTel}}<br>
            &nbsp;<br>
            &nbsp;<br>
        </div>
        <div style="width: 100%;"  >
            <div style="text-align: center;">
                <img style="width: 100%;" :src="shopInfo.qrcode" /><br>
                更多精彩请访问小程序<br>
            </div>
            &nbsp;<br>
            &nbsp;<br>
        </div>
<div th:include="'admin/hive/printTemplates/print-service-'+${page}::html" ></div>
    </div>
    <a href="javascript:;" onclick="print()" class="btn btn-success radius">打印</a>
</div>
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/LodopFuncs.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script type="text/javascript">
    var id = $.query.get("id");
    var app = new Vue({
        el: '#app',
        data: {
            projService:{
                vipInfo:{},
                serviceItems:[]
            }
        },
        created: function () {
            this.loadInfo();
        },
        mounted: function () {
        },
        methods: {
            loadInfo(){
                var _this=this;
                AjaxProxy.requst({
                    app: _this,
                    url: basePath + '/admin/projService/findProjServiceInfo?id='+id,
                    callback: function (data) {
                        _this.projService=data.mapInfo.projService;
                        _this.shopInfo=data.mapInfo.shopInfo;
                        setTimeout(print,1000)  ;
                    }
                });
            },
        },
        filters:
            {
                format: function (value) {
                    if (!value) return '';
                    return MTools.formatDate(value, 'yyyy-MM-dd')
                } ,
                formatPhone: function (value) {
                    if (!value) return '';
                    return value.substr(0,3) + "****" + value.substr(value.length-4,value.length+1)
                } ,
            },
        },
    );
    var LODOP;
    function print() {
        LODOP = getLodop();
        LODOP.PRINT_INIT("HIVE打印任务");
        LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", document.getElementById("print").innerHTML);
        LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW", true);
        LODOP.PREVIEW();
    }
</script>
</body>
</html>
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/service-hk.html
@@ -160,7 +160,7 @@
            title: "打印服务单",
            area: ['250px', '550px'],
            maxmin: true,
            content: [basePath + '/admin/redirect/hive/beautySalon/print-service?id=' + id]
            content: [basePath + '/admin/projService/printOrder?id=' + id]
        });
    }
zq-erp/src/main/resources/templates/views/admin/hive/printTemplates/print-service-meidu.html
New file
@@ -0,0 +1,177 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <LINK rel="Bookmark" href="../images/favicon.ico">
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript"
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <script type="text/javascript"
            th:src="@{/js/systools/MBase.js}"></script>
    <style>
        .btn{
            position: fixed;
            bottom: 10px;
            left: 45%;
        }
    </style>
</head>
<body>
<div class="ibox-content" id="app">
    <div id="print" style="width: 200px; margin: 5px auto;">
        <h1   style="text-align: center;font-size:18px;margin: 20px auto;">
            {{projService.shopName}}
        </h1>
        <table style="width: 100%; font-size:10px;line-height: 20px;">
            <tr>
                <td colspan="2">
                    <b>订单号</b>:<span>{{projService.serviceNo}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>客户</b>:<span>{{projService.vipInfo.vipName}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>消费日期</b>:<span>{{projService.createTime |format}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <b>电话</b>:<span>{{projService.vipInfo.phone| formatPhone }}</span>
                </td>
            </tr>
        </table>
        <table style="width: 80%;font-size:10px;margin-top: 20px;text-align: left">
            <tr>
                <th style="text-align: left;"  colspan="4">产品</th>
            </tr>
            <tr>
                <th style="">数量</th>
                <th style="">单价</th>
                <th style="">余次</th>
                <th style="">技师</th>
            </tr>
            <template v-for="item in projService.serviceItems">
                <tr  >
                    <td style="text-align: left;" colspan="4" >{{item.projInfo.name }}</td>
                </tr>
                <tr  >
                    <td>{{item.count }}</td>
                    <td>{{item.projUse.price }}</td>
                    <td >{{item.projUse.surplusCount }}</td>
                    <td>{{item.beautiStaffInfo?item.beautiStaffInfo.suName:''}}</td>
                </tr>
            </template>
        </table>
        <table style="width: 100%;font-size: 10px;line-height: 30px;">
            <tr>
                <td>
                    <b>本次划扣:</b> <span >{{projService.money}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>收银人:</b> <span>{{projService.createStaffName}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>客户签名:</b>
                </td>
            </tr>
        </table>
        <div style="width: 100%;">
            地址:{{shopInfo.shopAddr}}<br>
            电话:{{shopInfo.shopTel}}<br>
        </div>
    </div>
    <a href="javascript:;" onclick="print()" class="btn btn-success radius">打印</a>
</div>
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/LodopFuncs.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script type="text/javascript">
    var id = $.query.get("id");
    var app = new Vue({
        el: '#app',
        data: {
            projService:{
                vipInfo:{},
                serviceItems:[]
            }
        },
        created: function () {
            this.loadInfo();
        },
        mounted: function () {
        },
        methods: {
            loadInfo(){
                var _this=this;
                AjaxProxy.requst({
                    app: _this,
                    url: basePath + '/admin/projService/findProjServiceInfo?id='+id,
                    callback: function (data) {
                        _this.projService=data.mapInfo.projService;
                        _this.shopInfo=data.mapInfo.shopInfo;
                        setTimeout(print,1000)  ;
                    }
                });
            },
        },
        filters:
            {
                format: function (value) {
                    if (!value) return '';
                    return MTools.formatDate(value, 'yyyy-MM-dd')
                } ,
                formatPhone: function (value) {
                    if (!value) return '';
                    return value.substr(0,3) + "****" + value.substr(value.length-4,value.length+1)
                } ,
            },
        },
    );
    var LODOP;
    function print() {
        LODOP = getLodop();
        LODOP.PRINT_INIT("HIVE打印任务");
        LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", document.getElementById("print").innerHTML);
        LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW", true);
        LODOP.PREVIEW();
    }
</script>
</body>
</html>
zq-erp/src/main/resources/templates/views/admin/hive/printTemplates/print-service-taiyan.html
New file
@@ -0,0 +1,197 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <LINK rel="Bookmark" href="../images/favicon.ico">
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript"
            th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
    <script type="text/javascript"
            th:src="@{/js/systools/MBase.js}"></script>
    <style>
        .btn{
            position: fixed;
            bottom: 10px;
            left: 45%;
        }
    </style>
</head>
<body>
<div class="ibox-content" id="app">
    <div id="print" style="width: 200px; margin: 5px auto;">
        <h1   style="text-align: center;font-size:18px;margin: 20px auto;">
            {{projService.shopName}}
        </h1>
        <table style="width: 100%; font-size:10px;line-height: 20px;">
            <tr>
                <td colspan="2">
                    <b>订单号</b>:<span>{{projService.serviceNo}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>客户</b>:<span>{{projService.vipInfo.vipName}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2" >
                    <b>消费日期</b>:<span>{{projService.createTime |format}}</span>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <b>电话</b>:<span>{{projService.vipInfo.phone| formatPhone }}</span>
                </td>
            </tr>
        </table>
        <table style="width: 80%;font-size:10px;margin-top: 20px;text-align: left">
            <tr>
                <th style="text-align: left;"  colspan="4">产品</th>
            </tr>
            <tr>
                <th style="">数量</th>
                <th style="">单价</th>
                <th style="">余次</th>
                <th style="">技师</th>
            </tr>
            <template v-for="item in projService.serviceItems">
                <tr  >
                    <td style="text-align: left;" colspan="4" >{{item.projInfo.name }}</td>
                </tr>
                <tr  >
                    <td>{{item.count }}</td>
                    <td>{{item.projUse.price }}</td>
                    <td >{{item.projUse.surplusCount }}</td>
                    <td>{{item.beautiStaffInfo?item.beautiStaffInfo.suName:''}}</td>
                </tr>
            </template>
        </table>
        <table style="width: 100%;font-size: 10px;line-height: 30px;">
            <tr>
                <td>
                    <b>本次划扣:</b> <span >{{projService.money}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>收银人:</b> <span>{{projService.createStaffName}}</span>
                </td>
            </tr>
            <tr>
                <td>
                    <b>客户签名:</b>
                </td>
            </tr>
        </table>
        <div style="width: 100%;text-align: center;margin: 30px auto;margin-bottom: 10px">
            <br>
            *****************<br>
            谢谢惠顾<br>
            *****************<br>
            &nbsp;<br>
        </div>
        <div style="width: 100%;">
            地址:{{shopInfo.shopAddr}}<br>
            电话:{{shopInfo.shopTel}}<br>
            &nbsp;<br>
            &nbsp;<br>
        </div>
        <div style="width: 100%;"  >
            <div style="text-align: center;">
                <img style="width: 100%;" :src="shopInfo.qrcode" /><br>
                更多精彩请访问小程序<br>
            </div>
            &nbsp;<br>
            &nbsp;<br>
        </div>
    </div>
    <a href="javascript:;" onclick="print()" class="btn btn-success radius">打印</a>
</div>
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/LodopFuncs.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script type="text/javascript">
    var id = $.query.get("id");
    var app = new Vue({
        el: '#app',
        data: {
            projService:{
                vipInfo:{},
                serviceItems:[]
            }
        },
        created: function () {
            this.loadInfo();
        },
        mounted: function () {
        },
        methods: {
            loadInfo(){
                var _this=this;
                AjaxProxy.requst({
                    app: _this,
                    url: basePath + '/admin/projService/findProjServiceInfo?id='+id,
                    callback: function (data) {
                        _this.projService=data.mapInfo.projService;
                        _this.shopInfo=data.mapInfo.shopInfo;
                        setTimeout(print,1000)  ;
                    }
                });
            },
        },
        filters:
            {
                format: function (value) {
                    if (!value) return '';
                    return MTools.formatDate(value, 'yyyy-MM-dd')
                } ,
                formatPhone: function (value) {
                    if (!value) return '';
                    return value.substr(0,3) + "****" + value.substr(value.length-4,value.length+1)
                } ,
            },
        },
    );
    var LODOP;
    function print() {
        LODOP = getLodop();
        LODOP.PRINT_INIT("HIVE打印任务");
        LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", document.getElementById("print").innerHTML);
        LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW", true);
        LODOP.PREVIEW();
    }
</script>
</body>
</html>