From e85439da9f2fb1be90509a72e637613a5c0bbc11 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 09 十一月 2023 12:08:18 +0800
Subject: [PATCH] #副PLAN

---
 src/main/webapp/static/js/plan/plan.js |  241 ++++++++++++++++++++++++++---------------------
 1 files changed, 132 insertions(+), 109 deletions(-)

diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 6fec9e3..372ba08 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -139,7 +139,7 @@
         skin: 'line',
         cols: [[
             {type: 'checkbox'}
-            // ,{field: 'id', align: 'center',title: 'ID'}
+            ,{field: 'id', align: 'center',title: 'ID'}
             // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
             ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100}
             ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false}
@@ -201,7 +201,9 @@
             ,{field: 'updateBy$', align: 'left',title: '淇敼浜�', width: 100}
             ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true}
             ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true}
-
+            ,{field: 'assistantHostSign', align: 'left',title: '涓诲壇鏍囪', hide: false}
+            ,{field: 'hostPlanId', align: 'left',title: '涓籌D', hide: false}
+            ,{field: 'assistantPlanId', align: 'left',title: '鍓疘D', hide: false}
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 340}
         ]],
         request: {
@@ -228,76 +230,94 @@
         }
     });
 
-    //澶氭枃浠跺垪琛�
-    var uploadListIns = upload.render({
-        elem: '#data-btn-file2'
-        ,elemList: $('#data-btn-file3') //鍒楄〃鍏冪礌瀵硅薄
-        ,url: '/plan/insert/file/auth'
-        ,accept: 'file'
-        ,multiple: true
-        ,number: 10
-        ,auto: false
-        ,bindAction: '#testListAction'
-        ,choose: function(obj){
-            // 璧嬪��
-            this.data.planId=$('.layui-layer-title').text()
-            var that = this;
-            var files = this.files = obj.pushFile(); //灏嗘瘡娆¢�夋嫨鐨勬枃浠惰拷鍔犲埌鏂囦欢闃熷垪
-            //璇诲彇鏈湴鏂囦欢
-            obj.preview(function(index, file, result){
-                var tr = $(['<tr id="upload-'+ index +'">'
-                    ,'<td>'+ file.name +'</td>'
-                    ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
-                    ,'<td><div class="layui-progress" id="progress-id-'+ index +'" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
-                    ,'<td>'
-                    ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">閲嶄紶</button>'
-                    ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">鍒犻櫎</button>'
-                    ,'<button id="file-download" class="layui-btn layui-btn-xs demo-reload layui-hide">涓嬭浇</button>'
-                    ,'</td>'
-                    ,'</tr>'].join(''));
+    $("#data-btn-file2").on("click", (e) => {
+        $("#data-btn-upload").click()
+    });
 
-                //鍗曚釜閲嶄紶
-                tr.find('.demo-reload').on('click', function(){
-                    obj.upload(index, file);
-                });
-
-                //鍒犻櫎
-                tr.find('.demo-delete').on('click', function(){
-                    delete files[index]; //鍒犻櫎瀵瑰簲鐨勬枃浠�
-                    tr.remove();
-                    uploadListIns.config.elem.next()[0].value = ''; //娓呯┖ input file 鍊硷紝浠ュ厤鍒犻櫎鍚庡嚭鐜板悓鍚嶆枃浠朵笉鍙��
-                });
-
-                that.elemList.append(tr);
-                element.render('progress'); //娓叉煋鏂板姞鐨勮繘搴︽潯缁勪欢
-            });
+    var _uploadFile = null
+    //鍝嶅簲涓婁紶
+    $("#data-btn-upload").on("change",(evt) => {
+        var files = evt.target.files;
+        if(files==null || files.length==0){
+            alert("No files wait for import");
+            return;
         }
-        ,done: function(res, index, upload){ //鎴愬姛鐨勫洖璋�
-            element.progress('progress-demo-'+ index, '100%'); //鎵ц杩涘害鏉°�俷 鍗充负杩斿洖鐨勮繘搴︾櫨鍒嗘瘮
+
+        var file = files[0]
+
+        var tr = $(['<tr id="upload-">'
+            ,'<td id="upload-filename-id-'+ file.lastModified + '">' + file.name +'</td>'
+            ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
+            ,'<td id="upload-file-id-' + file.lastModified + '">鍑嗗涓婁紶</td>'
+            ,'<td>'
+            ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">閲嶄紶</button>'
+            ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">鍒犻櫎</button>'
+            ,'<button id="file-download" class="layui-btn layui-btn-xs demo-reload layui-hide">涓嬭浇</button>'
+            ,'</td>'
+            ,'</tr>'].join(''));
+
+        //鍒犻櫎
+        tr.find('.demo-delete').on('click', function(){
+            tr.remove();
+            $("#data-btn-upload").val("")
+            _uploadFile = null
+        });
+
+        $('#data-btn-file3').append(tr)
+
+        _uploadFile = file
+    })
+
+    //寮�濮嬩笂浼�
+    $("#testListAction").on("click", async (e) => {
+        if (_uploadFile == null) {
+            return false;
+        }
+
+        var index = layer.load(1, {
+            shadeClose: false,
+            title: '涓婁紶涓�..',
+            shade: [0.5,'#000']
+        });
+
+        var file = _uploadFile
+        $("#upload-file-id-" + file.lastModified).html("涓婁紶涓�")
+
+        putObject(file).then((result) => {
+            var filename = result.name
             layer.msg('涓婁紶鎴愬姛', {icon: 1});
-            $("#progress-id-" + index).html("宸插畬鎴�")
-            var that = this;
-            //if(res.code == 0){ //涓婁紶鎴愬姛
-            var tr = that.elemList.find('tr#upload-'+ index)
-                ,tds = tr.children();
-            tds.eq(3).html(''); //娓呯┖鎿嶄綔
-            delete this.files[index]; //鍒犻櫎鏂囦欢闃熷垪宸茬粡涓婁紶鎴愬姛鐨勬枃浠�
-            // return;
-            //}
-            // this.error(index, upload);
-        }
-        ,allDone: function(obj){ //澶氭枃浠朵笂浼犲畬姣曞悗鐨勭姸鎬佸洖璋�
-            console.log(obj)
-        }
-        ,error: function(index, upload){ //閿欒鍥炶皟
-            var that = this;
-            var tr = that.elemList.find('tr#upload-'+ index)
-                ,tds = tr.children();
-            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //鏄剧ず閲嶄紶
-        }
-        ,progress: function(n, elem, e, index){
-            element.progress('progress-demo-'+ index, '90%'); //鎵ц杩涘害鏉°�俷 鍗充负杩斿洖鐨勮繘搴︾櫨鍒嗘瘮
-        }
+            $("#upload-file-id-" + file.lastModified).html("涓婁紶鎴愬姛")
+            $("#upload-filename-id-" + file.lastModified).html(filename)
+
+            $.ajax({
+                url: baseUrl+"/plan/insert/file/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    'planId': $('.layui-layer-title').text(),
+                    'filename': filename,
+                    'filesize': file.size
+                },
+                method: 'POST',
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.close(index)
+                        console.log(res)
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg)
+                    }
+                }
+            });
+        }).catch((e) => {
+            console.log(e)
+            layer.msg('涓婁紶澶辫触', {icon: 2});
+            $("#upload-file-id-" + file.lastModified).html("涓婁紶澶辫触")
+        })
+
+        //娓呯┖file
+        $("#data-btn-upload").val("")
+        _uploadFile = null
     });
 
     // 娣诲姞
@@ -576,6 +596,9 @@
                     approvalEnd(data.id);
                 });
                 break;
+            case 'assistantPlan':
+                assistantPlan(data);
+                break;
             case 'edit':
                 showEditModel(data);
                 break;
@@ -583,18 +606,22 @@
                 del([data.id]);
                 break;
             case "uploadLink":
+                var planIdSign = data.id;
+                if (data.assistantHostSign==1){
+                    planIdSign = data.hostPlanId;
+                }
                 // 鎵撳紑寮圭獥
                 // 鏋勫缓甯﹀弬鏁扮殑鍐呭
                 layer.open({
                     type: 1,
-                    title: '涓婁紶鏂囦欢-'+data.id,
+                    title: '涓婁紶鏂囦欢-'+planIdSign,
                     content: $('#myModal')
                 });
                 // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶
                 $.ajax({
                     url: '/plan/view/file/auth',
                     data:{
-                        planId:data.id
+                        planId:planIdSign
                     },
                     success: function(response) {
                         if (response.code==200){
@@ -636,44 +663,10 @@
     // 鐐瑰嚮涓嬭浇鎸夐挳鏃惰Е鍙戞枃浠朵笅杞�
     $('#data-btn-file3').on('click', 'a', function() {
         var downloadUrl = $(this).attr('href');
-        // console.log(downloadUrl)
-        // console.log(baseUrl)
-        // window.open("/\//"+downloadUrl);
-        // return false;
-        // var downloadUrl = $(this).attr('href');
-        // console.log(downloadUrl)
-        // // 鍙戣捣 AJAX 璇锋眰锛岃幏鍙栨枃浠�
-        $.ajax({
-            url: '/plan/download/file/auth',
-            type: 'POST',
-            data: { downloadUrl: downloadUrl },  // 浼犻�掍笅杞介摼鎺ヤ綔涓哄弬鏁�
-            success: function(response) {
-                console.log(response)
-                // layer.msg(response.msg+',宸蹭笅杞借嚦榛樿璺緞锛佽缁嗕笅杞借矾寰勶細'+response.data, {icon: 1});
-                layer.msg(response.msg, {icon: 1});
-                location.href = response.data
-        //         // window.open(baseUrl+response.msg)
-        //         // 鍒涘缓涓�涓狟lob瀵硅薄
-        //         var blob = new Blob([response]);
-        //         // 浣跨敤FileSaver淇濆瓨鏂囦欢
-        //         var fileName = downloadUrl.substring(downloadUrl.lastIndexOf('\\') + 1);
-        //         console.log(fileName)
-        //         saveAs(blob, fileName);
-        //         return false;
-            },
-            error: function() {
-                layer.msg('璇锋眰鏂囦欢涓嬭浇澶辫触');
-            }
-        });
-        // var downloadUrl = $(this).attr('href');
-        // console.log(downloadUrl)
-        // if (downloadUrl == "" || downloadUrl == null) {
-        //     layer.msg('璇峰厛涓婁紶app鏂囦欢',{time:1000},() => {
-        //         parent.location.reload()
-        //     })
-        // }else{
-        //     window.open(downloadUrl);
-        // }
+        let url = getObjectUrl(downloadUrl)
+        layer.msg("鍑嗗涓嬭浇涓�", {icon: 1});
+        // location.href = url
+        window.open(url)
         return false;  // 闃绘榛樿鐨勯摼鎺ヨ烦杞涓�
     });
 
@@ -824,6 +817,36 @@
         });
     }
 
+    /* 鏂板缓 */
+    function assistantPlan(data) {
+        layer.confirm('纭畾瑕佹柊寤鸿揣鏋惰鍒掑鎵瑰悧锛�', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/plan/assistantPlan/add/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    hostPlanId: data.id
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
     /* 鍒犻櫎 */
     function del(ids) {
         layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {

--
Gitblit v1.9.1