Browse Source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl
liujiankang 5 years ago
parent
commit
cc79c4ee2c

File diff suppressed because it is too large
+ 87 - 46
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl


+ 68 - 29
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl

@@ -9,7 +9,7 @@
     <link rel="Bookmark" href="/favicon.ico" >
     <link rel="Shortcut Icon" href="/favicon.ico" />
     <#include "/base/list_base.ftl">
-    <script type="text/javascript" src="//s.iamberry.com/js/LodopFuncs.js"></script>
+    <script type="text/javascript" src="//s.iamberry.com/js/LodopFuncs_v_5_0.js"></script>
     <link href="${path}/common/lib/lightbox2/2.8.1/css/lightbox.css" rel="stylesheet" type="text/css" >
     <title>待发货订单列表</title>
     <style>
@@ -117,7 +117,7 @@
         </thead>
         <tbody>
         <#if (page.dataList?size <= 0)>
-        <tr class="text-c"><td colspan="13">暂无数据</td></tr>
+        <tr class="text-c"><td colspan="15">暂无数据</td></tr>
         <#else>
             <#list page.dataList as o>
             <tr class="text-c">
@@ -242,7 +242,6 @@
 </div>
 <#include "/base/page_util.ftl">
 <script type="text/javascript">
-    var LODOP=getLodop();
     $(function () {
         $("#print-order-send").click(function() {
             var inputs = $(".salesid-input:checked");
@@ -283,35 +282,75 @@
     });
 
     function re_print_order(orderId) {
-        // 选择打印设备
-        LODOP.SELECT_PRINTER();
-        $.ajax({
-            type: "POST",
-            data: {
-                "orderId":orderId
-            },
-            async: true,
-            url: "${path}/admin/await_send/rePrintOrder",
-            success: function(data){
-                // 请求成功
-                var res = $.parseJSON(data.returnMsg.json);
-                if (data.resultMsg && res.Success) {
-                    var html = res.PrintTemplate;
-                    $("#temp-print-order").html(html);
-                    LODOP.PRINT_INIT('打印订单');
-                    LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
-                    LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
-                    var flag = LODOP.PRINT();
-                    if (flag) {
-                        layer.msg("打印成功",{icon: 6,time:3000});
+        var LODOP=getLodop();
+        // 选择打印设备,注意:选择打印机时,需要区别IE类浏览器和非IE浏览器
+        var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
+        if (!isIE) {
+            // 非IE类浏览器
+            $.ajax({
+                type: "POST",
+                data: {
+                    "orderId":orderId
+                },
+                async: true,
+                url: "${path}/admin/await_send/rePrintOrder",
+                success: function(data){
+                    // 请求成功
+                    var res = $.parseJSON(data.returnMsg.json);
+                    if (data.resultMsg && res.Success) {
+                        var html = res.PrintTemplate;
+                        $("#temp-print-order").html(html);
+                        LODOP.PRINT_INIT('打印订单' + orderId);
+                        LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
+                        LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
+                        LODOP.SELECT_PRINTER(true);
+                        // 注意,选择打印机后,需要更改打印机事件,否则无法执行回调
+                        var spans = $("span");
+                        for (var i = 0; i < spans.length; i++) {
+                            if ($(spans[i]).text() === "打印份数:") {
+                                $(spans[i]).parent().next()[0].onclick = function () {
+                                    CLODOP.SelectBox.clickOK(false);
+                                    layer.msg("打印成功",{icon: 6,time:3000});
+                                };
+                            }
+                        }
+                    } else {
+                        layer.msg(res.Reason,{icon: 2,time:3000});
                     }
-                } else {
-                    layer.msg(res.Reason,{icon: 2,time:3000});
                 }
+            });
+        } else {
+            // IE浏览器
+            var printIndex = LODOP.SELECT_PRINTER();
+            // 如果返回-1表示不打印
+            if (printIndex!==-1) {
+                $.ajax({
+                    type: "POST",
+                    data: {
+                        "orderId":orderId
+                    },
+                    async: true,
+                    url: "${path}/admin/await_send/rePrintOrder",
+                    success: function(data){
+                        // 请求成功
+                        var res = $.parseJSON(data.returnMsg.json);
+                        if (data.resultMsg && res.Success) {
+                            var html = res.PrintTemplate;
+                            $("#temp-print-order").html(html);
+                            LODOP.PRINT_INIT('打印订单' + orderId);
+                            LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
+                            LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
+                            var flag = LODOP.PRINT();
+                            if (flag) {
+                                layer.msg("打印成功",{icon: 6,time:3000});
+                            }
+                        } else {
+                            layer.msg(res.Reason,{icon: 2,time:3000});
+                        }
+                    }
+                });
             }
-        });
-
-
+        }
     }
 
     /*查看物流*/

+ 64 - 19
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/print_order.ftl

@@ -9,7 +9,7 @@
     <link rel="Bookmark" href="/favicon.ico" >
     <link rel="Shortcut Icon" href="/favicon.ico" />
     <#include "/base/add_base.ftl">
-    <script type="text/javascript" src="https://s.iamberry.com/js/LodopFuncs.js"></script>
+    <script type="text/javascript" src="https://s.iamberry.com/js/LodopFuncs_v_5_0.js"></script>
     <title>打单发货</title>
 
 </head>
@@ -92,7 +92,8 @@
 
 <script type="text/javascript">
     // 选择打印设备
-    var LODOP=getLodop();
+    var selPrinter = -1;
+    var LODOP = null;
     $(function () {
         $.Huitab("#tab_demo .tabBar span","#tab_demo .tabCon","current","click","0");
         // 获取系统的打印机
@@ -106,15 +107,27 @@
         }
         // 开始打印
         $("#sub-post").click(function() {
-            LODOP.SELECT_PRINTER();
+            // 判断当前是否选中了订单
             var index = getCurrTab();
             var orders = $("." + index + "-wait-print-order");
             if (orders == null || orders.length <= 0) {
                 layer.msg("未选中订单",{icon: 2,time:3000});
                 return;
             }
-            // 启动打印
-            startPrint();
+            LODOP=getLodop();
+            // 选择打印设备,注意:选择打印机时,需要区别IE类浏览器和非IE浏览器
+            var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
+            if (!isIE) {
+                // 非IE类浏览器,第一次时需要将内容设置到页面后,调用选择打印机接口,后续调用打印接口
+                startPrint(false, true);
+            } else {
+                // IE 浏览器
+                var printIndex = LODOP.SELECT_PRINTER();
+                if (printIndex!==-1) {
+                    // 启动打印
+                    startPrint(true, true);
+                }
+            }
         });
 
         function nextPrintOrder() {
@@ -130,7 +143,7 @@
             }
         }
 
-        function startPrint() {
+        function startPrint(isIE, isFirst) {
             var order = nextPrintOrder();
             if (order == null || typeof(order) == undefined) {
                 alert("打印完成,请切换快递公司继续打印");
@@ -162,31 +175,63 @@
                     }
                     if (tempObject.hasOwnProperty("error")) {
                         // 捕获系统级的错误(比如因为空指针抛出的Exception)
-                        re_print(order, tempObject.error_msg);
+                        re_print(order, tempObject.error_msg, isIE, isFirst);
                     } else {
                         if (data && data.returnCode && data.returnCode != 200) {
                             // 捕获业务级的操作(如订单的店铺没有绑定发货人信息)
-                            re_print(order, data.returnMsg.error);
+                            re_print(order, data.returnMsg.error, isIE, isFirst);
                         } else {
                             var res = $.parseJSON(data.returnMsg.json);
                             if (data.resultMsg && res.Success) {
                                 var html = res.PrintTemplate;
                                 $("#temp-print-order").html(html);
-                                LODOP.PRINT_INIT('打印订单');
+                                LODOP.PRINT_INIT('打印订单'+orderId);
                                 LODOP.SET_PRINT_PAGESIZE(0, 0, 0,"");
                                 LODOP.ADD_PRINT_HTM("0mm","0mm","100%","100%", $("#temp-print-order").html());
-                                var flag = LODOP.PRINT();
-                                if (flag) {
-                                    startPrint();
-                                    $(order.find("td")[0]).html("<span style='color: blue'>打印完成</span>");
+                                if (isIE) {
+                                    // IE类浏览器,直接打印
+                                    if (LODOP.PRINT()) {
+                                        startPrint(isIE, false);
+                                        $(order.find("td")[0]).html("<span style='color: blue'>打印完成</span>");
+                                    } else {
+                                        // 向后台提交失败打印的信息
+                                        order.attr("printState", "2");
+                                        $(order.find("td")[0]).html("<span style='color: red;'>失败(打印机异常)</span>");
+                                    }
                                 } else {
-                                    // 向后台提交失败打印的信息
-                                    order.attr("printState", "2");
-                                    $(order.find("td")[0]).html("<span style='color: red;'>失败(打印机异常)</span>");
+                                    // 非IE 浏览器
+                                    if (isFirst) {
+                                        // 如果是第一次打印,调用选择打印机接口
+                                        LODOP.SELECT_PRINTER(true);
+                                        // 注意,选择打印机后,需要更改打印机事件,否则无法执行回调
+                                        var spans = $("span");
+                                        for (var i = 0; i < spans.length; i++) {
+                                            if ($(spans[i]).text() === "打印份数:") {
+                                                $(spans[i]).parent().next()[0].onclick = function () {
+                                                    CLODOP.SelectBox.clickOK(false);
+                                                    selPrinter = CLODOP.SelectBox.selPrinter.value;
+                                                    $(order.find("td")[0]).html("<span style='color: blue'>打印完成</span>");
+                                                    startPrint(isIE, false);
+                                                };
+                                            }
+                                        }
+                                    } else {
+                                        // 如果非第一次打印,则调用打印接口
+                                        console.log(selPrinter);
+                                        LODOP.SET_PRINTER_INDEX(selPrinter);
+                                        if (LODOP.PRINT()) {
+                                            startPrint(isIE, false);
+                                            $(order.find("td")[0]).html("<span style='color: blue'>打印完成</span>");
+                                        } else {
+                                            // 向后台提交失败打印的信息
+                                            order.attr("printState", "2");
+                                            $(order.find("td")[0]).html("<span style='color: red;'>失败(打印机异常)</span>");
+                                        }
+                                    }
                                 }
                             } else {
                                 // 第三方接口错误
-                                re_print(order, res.Reason);
+                                re_print(order, res.Reason, isIE, isFirst);
                             }
                         }
                     }
@@ -195,7 +240,7 @@
         }
 
         /* 打印失败后,重新打印 */
-        function re_print(order, errorMsg) {
+        function re_print(order, errorMsg, isIE, isFirst) {
             // 设置当前被打印的内容为“未打印”
             var printNum = parseInt(order.attr("printNum"));
             if(printNum >= 2) {
@@ -207,7 +252,7 @@
                 order.attr("printNum", (printNum + 1));
                 $(order.find("td")[0]).html("<span style='color: blue;'>正在重试(" + errorMsg + ")</span>");
             }
-            startPrint();
+            startPrint(isIE, isFirst);
         }
 
         function getCurrTab() {

+ 1 - 1
watero-rst-web/src/main/webapp/common/static/h-ui.admin/js/H-ui.admin.js

@@ -26,7 +26,7 @@ function tabNavallwidth(){
 		$tabNavmore.show()}
 	else{
 		$tabNavmore.hide();
-		$tabNav.css({left:0})
+		$tabNav.css({left:10})
 	}
 }