From afa3bc1e2f39f66f59ee9b15d6af16593acdc9a4 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期六, 02 十二月 2023 10:38:27 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/priQuote/priQuote.js |  410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 393 insertions(+), 17 deletions(-)

diff --git a/src/main/webapp/static/js/priQuote/priQuote.js b/src/main/webapp/static/js/priQuote/priQuote.js
index 61c4c26..2e3a6e4 100644
--- a/src/main/webapp/static/js/priQuote/priQuote.js
+++ b/src/main/webapp/static/js/priQuote/priQuote.js
@@ -1,16 +1,94 @@
 var pageCurr;
 var admin;
+let nowUserId2 = 0;
+fPriQuote();
+function fPriQuote() {
+    layui.jquery.ajax({
+        url: baseUrl + "/dashboard/user/id/popup/auth",
+        data:{token : localStorage.getItem('token')},
+        method: 'GET',
+        success: function (res) {
+            if (res.code === 200) {
+                nowUserId2 = res.data;
+            }
+        }
+    })
+}
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).extend({
+    steps: 'steps/steps',
     cascader: 'cascader/cascader',
-}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown'], function(){
+}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'steps', 'tree', 'dropdown','layer','upload', 'cascader'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
     var layDate = layui.laydate;
     var form = layui.form;
     admin = layui.admin;
+    var tree = layui.tree;
+    var steps = layui.steps;
+    var element = layui.element;
+    var upload = layui.upload;
+    var xmSelect = layui.xmSelect;
+    var cascader = layui.cascader;
+    var dropdown = layui.dropdown;
+
+    $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon">&#xe61a;</i>');
+
+    // 閮ㄩ棬浜哄憳 绛涢��
+    dropdown.render({
+        elem: '#organization'
+        ,content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('')
+        ,style: 'width: 370px; height: 350px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);'
+        ,ready: function(){
+            loadTree();
+        }
+    });
+
+    // 鏍戝舰鍥�
+    var organizationTree;
+    window.loadTree = function(condition){
+        var loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/dept/user/tree/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                'condition': condition
+            },
+            method: 'POST',
+            success: function (res) {
+                layer.close(loadIndex);
+                if (res.code === 200){
+                    organizationTree = tree.render({
+                        elem: '#organizationTree',
+                        id: 'organizationTree',
+                        onlyIconControl: true,
+                        data: res.data,
+                        click: function (obj) {
+                            treeCond = {
+                                key: obj.data.key,
+                                val: obj.data.id
+                            }
+                            $('#organization').html(obj.data.title + ' <i class="layui-icon">&#xe61a;</i>');
+                            $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click');
+                            $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click');
+                            clearFormVal($('#search-box'));
+                            tableIns.reload({
+                                where: {[obj.data.key]: obj.data.id},
+                                page: {curr: 1}
+                            });
+                        }
+                    });
+                    treeData = res.data;
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg)
+                }
+            }
+        })
+    }
 
     // 鏁版嵁娓叉煋
     tableIns = table.render({
@@ -24,23 +102,54 @@
         cellMinWidth: 150,
         cols: [[
             {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
-            ,{field: 'templateName', align: 'center',title: '妯℃澘鍚�'}
-            ,{field: 'orderNum', align: 'center',title: '鎶ヤ环棰勭畻鍗曞彿'}
-            ,{field: 'inOrderNum', align: 'center',title: '鎶ヤ环缂栧彿'}
-            ,{field: 'itemId$', align: 'center',title: '椤圭洰鍚�'}
-            ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
-            ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿'}
-            ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�'}
-            ,{field: 'userId$', align: 'center',title: '鍒涘缓浜哄憳'}
-            ,{field: 'updateUserId$', align: 'center',title: '鏇存柊浜哄憳'}
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:200}
+            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true, sort:true}
+            ,{
+                field: 'templateName',
+                align: 'center',
+                title: '瀹㈡埛鍚嶇О',
+                style: 'color: #1890ff;cursor:pointer',
+                event: 'moreCstmr',
+                width: 350,
+                hide: false, sort:true
+            }
+            ,{field: 'cstmrId$', align: 'center',title: '瀹㈡埛id',hide: true}
+            ,{field: 'inOrderNum', align: 'center',title: '鎶ヤ环缂栧彿',hide: false, sort:true}
+            // ,{field: 'orderNum', align: 'center',title: '鎶ヤ环棰勭畻鍗曞彿',hide: false}
+            ,{
+                field: 'planId$',
+                align: 'center',
+                title: '瑙勫垝鍗曞彿',
+                style: 'color: #1890ff;cursor:pointer',
+                event: 'morePlan',hide: false,width: 80}
+            ,{field: 'itemId', align: 'center',title: '瑙勫垝鍗旾D', hide: true, sort:true}
+            ,{field: 'planName$', align: 'center',title: '瑙勫垝鍗曞悕绉�',hide: false,width: 120}
+            ,{
+                field: 'settle$',
+                align: 'center',
+                title: '杩涘害',
+                style: 'color: #1890ff;cursor:pointer',
+                event: 'more',
+                width: 150,
+                hide: false
+            }
+            ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿',hide: false,width: 120}
+            ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿',hide: false,width: 120}
+            // ,{field: 'memberId$', align: 'center',title: '涓氬姟鍛�',hide: false}
+            ,{field: 'userId$', align: 'center',title: '涓氬姟鍛�',hide: true}
+            ,{field: 'updateUserId$', align: 'center',title: '鏇存柊浜哄憳',hide: false,width: 80}
+            ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}}
+            ,{field: 'userId',title: 'userId', hide: true}
+            ,{field: 'memberId',title: 'memberId', hide: true}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:280}
         ]],
         request: {
             pageName: 'curr',
             pageSize: 'limit'
         },
         parseData: function (res) {
+            res.data.records.forEach((item,index) => {
+                item.nowUserId = nowUserId2
+            })
             return {
                 'code': res.code,
                 'msg': res.msg,
@@ -55,9 +164,104 @@
             if (res.code === 403) {
                 top.location.href = baseUrl+"/";
             }
-            pageCurr=curr;
+            pageCurr=curr;pageCount=count;
             limit();
         }
+    });
+
+    $("#data-btn-file2").on("click", (e) => {
+        $("#data-btn-upload").click()
+    });
+
+    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;
+        }
+
+        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-filename-userName-'+ '">' +'</td>'
+            ,'<td id="upload-file-id-' + file.lastModified + '"><div class="layui-progress layui-progress-big" lay-showPercent="true" lay-filter="progress-demo-'+ file.lastModified +'"><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(''));
+
+        //鍒犻櫎
+        tr.find('.demo-delete').on('click', function(){
+            tr.remove();
+            $("#data-btn-upload").val("")
+            _uploadFile = null
+        });
+
+        $('#data-btn-file3').append(tr)
+
+        element.progress('progress-demo-'+ file.lastModified, '0%'); //鎵ц杩涘害鏉°��
+        element.init();
+
+        _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
+
+        putObject(file,(p) => {
+            element.progress('progress-demo-'+ file.lastModified, (Math.round(p * 100)) + "%"); //鎵ц杩涘害鏉°��
+        }).then((result) => {
+            var filename = result.name
+            layer.msg('涓婁紶鎴愬姛', {icon: 1});
+            $("#upload-file-id-" + file.lastModified).html("涓婁紶鎴愬姛")
+            $("#upload-filename-id-" + file.lastModified).html(filename)
+            let token = localStorage.getItem("token");
+            $.ajax({
+                url: baseUrl+"/pri/quote/url/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
     });
 
     // 鐩戝惉鎺掑簭浜嬩欢
@@ -86,6 +290,7 @@
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(priQuote)', function (obj) {
         var checkStatus = table.checkStatus(obj.config.id);
+        // console.log(checkStatus)
         switch(obj.event) {
             case 'addBlank':
                 showEditModel();
@@ -173,14 +378,75 @@
     table.on('tool(priQuote)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'moreCstmr':
+                top.cstmrByMore = data.cstmrId$;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../cstmr/cstmr_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'morePlan':
+                top.planByMore = data.itemId;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "../plan/plan_more_other.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
+            case 'approval':
+                layer.confirm('瀹℃壒閫氳繃锛�', {
+                    skin: 'layui-layer-admin',
+                    shade: .1,
+                    offset: '200px',
+                    title: data.name
+                }, function (i) {
+                    layer.close(i);
+                    approval(data.id);
+                });
+                break;
+            case 'refuse':
+                layer.confirm('鎷掔粷锛�', {
+                    skin: 'layui-layer-admin',
+                    shade: .1,
+                    offset: '200px',
+                    title: data.name
+                }, function (i) {
+                    layer.close(i);
+                    refuse(data.id);
+                });
+                break;
+            case 'more':
+                top.priQuoteByMore = data.id;
+                // console.log(top.priQuoteByMore)
+
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "priQuote_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             case "quote":
+                // console.log(data)
                 layer.open({
                     type: 2,
                     title: '鎶ヤ环鍗曠紪杈�',
                     maxmin: true,
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
-                    content: 'priQuote_detail.html?id=' + data.id,
+                    content: 'priQuote_detail.html?id=' + data.id + "&template=" + data.template,
                     success: function(layero, index){
                         // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                     }
@@ -211,7 +477,64 @@
                     })
                 });
                 break;
+            case "uploadLink":
+                // 鎵撳紑寮圭獥
+                // 鏋勫缓甯﹀弬鏁扮殑鍐呭
+                // console.log(data)
+                layer.open({
+                    type: 1,
+                    title: '涓婁紶鏂囦欢-'+data.itemId+'-'+data.id,
+                    content: $('#myModal')
+                });
+                // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶
+                $.ajax({
+                    url: '/pri/quote/url/view/file/auth',
+                    headers: {'token': localStorage.getItem('token')},
+                    data:{
+                        planId:data.itemId
+                    },
+                    success: function(response) {
+                        if (response.code==200){
+                            var targetTable = document.getElementById("data-btn-file3");
+                            targetTable.innerHTML = '';
+                            // 灏嗚幏鍙栧埌鐨勬枃浠跺垪琛ㄦ坊鍔犲埌鏂囦欢闃熷垪涓繘琛屾樉绀�
+                            response.data.forEach(function(file,index) {
+                                // 鍒涘缓tr鍏冪礌
+                                var tr = document.createElement("tr");
+                                tr.id = "upload-"+index;
+                                tr.innerHTML = '<td>' + file.name + '</td>'
+                                    + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
+                                    + '<td>' + file.userName + '</td>'
+                                    // + '<td><div class="layui-progress" lay-filter="progress-demo-' + index ,100 + '%'+ '"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
+                                    + '<td>'+'宸插畬鎴�'+'</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>'
+                                    + '<a href="' + file.path + '" download class="layui-btn layui-btn-xs layui-btn-primary">涓嬭浇</a>'
+                                    + '</td>';
+                                // 灏唗r鍏冪礌娣诲姞鍒扮洰鏍噒able涓�
+                                targetTable.appendChild(tr);
+                            });
+                        }else {
+                            console.log('Failed to get file list error.');
+                        }
+                    },
+                    error: function() {
+                        console.log('Failed to get file list.');
+                    }
+                });
+                break;
         }
+    });
+
+    // 鐐瑰嚮涓嬭浇鎸夐挳鏃惰Е鍙戞枃浠朵笅杞�
+    $('#data-btn-file3').on('click', 'a', function() {
+        // console.log(this)
+        var downloadUrl = $(this).attr('href');
+        let url = getObjectUrl(downloadUrl)
+        layer.msg("鍑嗗涓嬭浇涓�", {icon: 1});
+        location.href = url
+        return false;  // 闃绘榛樿鐨勯摼鎺ヨ烦杞涓�
     });
 
     // 鎼滅储
@@ -243,7 +566,7 @@
                         maxmin: true,
                         area: [top.detailWidth, top.detailHeight],
                         shadeClose: false,
-                        content: 'priQuote_detail.html?priQuoteBudgetId=' + data.field.id,
+                        content: 'priQuote_detail.html?priQuoteBudgetId=' + data.field.id + "&template=" + data.field.template,
                         success: function(layero, index){
                             clearFormVal(layer.getChildFrame('#detail', index));
                             // layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
@@ -255,6 +578,59 @@
                 layui.form.render('select');
             }
         });
+    }
+
+    function refuse(planId, plannerId, dIdx) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/priQuote/refuse/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                planId: planId,
+                plannerId: plannerId
+            },
+            method: 'POST',
+            success: function (res) {
+                if (dIdx) {
+                    layer.close(dIdx);
+                }
+                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 approval(planId, plannerId, dIdx) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/priQuote/approval/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                planId: planId,
+                plannerId: plannerId
+            },
+            method: 'POST',
+            success: function (res) {
+                if (dIdx) {
+                    layer.close(dIdx);
+                }
+                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});
+                }
+            }
+        })
     }
 
     //鏇存柊form
@@ -377,13 +753,13 @@
 
 function getItemInfo(val) {
     $.ajax({
-        url: baseUrl+"/priQuoteBudget/" + val + "/auth",
+        url: baseUrl+"/priOnline2/" + val + "/auth",
         headers: {'token': localStorage.getItem('token')},
         method: 'GET',
         traditional:true,
         success: function (res) {
             if (res.code === 200){
-                $("#itemName").val(res.data.itemId$)
+                $("#planId").val(res.data.planId$)
                 $("#priSalesNum").val(res.data.orderNum)
             } else if (res.code === 403){
                 top.location.href = baseUrl+"/";

--
Gitblit v1.9.1