From 3ca19bf8f8356440d4bede84cde8450327e189cb Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 06 五月 2022 17:03:25 +0800
Subject: [PATCH] 新增库存同步excel导出功能

---
 src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java |   13 +++++++++++++
 src/main/webapp/static/js/pakin/pakin.js                             |    1 -
 src/main/webapp/views/locSync/locSync.html                           |    1 +
 src/main/webapp/static/js/locSync/locSync.js                         |   39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
index 4ac04c9..c0c88c3 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
@@ -18,6 +18,8 @@
 import zy.cloud.wms.common.model.BillDto;
 import zy.cloud.wms.common.service.erp.ErpService;
 import zy.cloud.wms.common.web.BaseController;
+import zy.cloud.wms.manager.entity.LocSum;
+import zy.cloud.wms.manager.entity.Pakin;
 import zy.cloud.wms.manager.entity.WrkLocSync;
 import zy.cloud.wms.manager.service.LocSyncService;
 import zy.cloud.wms.manager.service.WrkLocSyncService;
@@ -25,6 +27,9 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+
+import static jdk.nashorn.api.scripting.ScriptUtils.convert;
 
 @RestController
 @Slf4j
@@ -136,4 +141,12 @@
         }
 
     }
+
+    @RequestMapping(value = "/locsync/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        List<LocSum> locSums = locSyncService.queryLocSum();
+        return R.ok(exportSupport(locSums, fields));
+    }
 }
diff --git a/src/main/webapp/static/js/locSync/locSync.js b/src/main/webapp/static/js/locSync/locSync.js
index 00e4f42..e6bf0ab 100644
--- a/src/main/webapp/static/js/locSync/locSync.js
+++ b/src/main/webapp/static/js/locSync/locSync.js
@@ -54,6 +54,44 @@
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(locSum)', function (obj) {
         switch (obj.event) {
+            case 'otherExportData':
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        'pakin': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/locsync/export/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg, {icon: 2})
+                            }
+                        }
+                    });
+                });
+                break;
             case 'btnSync':
                 $.ajax({
                     url: baseUrl + "/locSync/syncLocWrkCount",
@@ -133,6 +171,7 @@
                     }
                 });
                 break;
+
             default:
                 break;
         }
diff --git a/src/main/webapp/static/js/pakin/pakin.js b/src/main/webapp/static/js/pakin/pakin.js
index fafc0e7..1f9fff7 100644
--- a/src/main/webapp/static/js/pakin/pakin.js
+++ b/src/main/webapp/static/js/pakin/pakin.js
@@ -90,7 +90,6 @@
 
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(pakin)', function (obj) {
-        console.log(obj)
         var checkStatus = table.checkStatus(obj.config.id);
         switch(obj.event) {
             case 'addData':
diff --git a/src/main/webapp/views/locSync/locSync.html b/src/main/webapp/views/locSync/locSync.html
index 4e8907d..e07d003 100644
--- a/src/main/webapp/views/locSync/locSync.html
+++ b/src/main/webapp/views/locSync/locSync.html
@@ -25,6 +25,7 @@
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
         <button class="layui-btn " id="btn-sync" lay-event="btnSync" style="margin-left: 10px">鍚屾搴撳瓨</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-other" lay-event="otherExportData">瀵煎嚭</button>
     </div>
 </script>
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>

--
Gitblit v1.9.1