From 19c9d6fa6eb8cac0898886e1a9508f8a83792f3f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 08 十一月 2022 15:13:40 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/order/order_more.html |  425 ++++++++++++++++++++++++++++++
 src/main/webapp/static/js/order/order.js    |  324 ++++++++++++++++------
 src/main/webapp/static/js/common.js         |    1 
 src/main/webapp/views/order/order.html      |   90 ++++-
 4 files changed, 726 insertions(+), 114 deletions(-)

diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 4df8afd..9285287 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -262,3 +262,4 @@
 
 var popupRight;
 var cstmrByMore;
+var orderByMore;
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 895ec78..73503ce 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,29 +1,141 @@
 var pageCurr;
+var pageCount = 0;
+var treeCond;
+var admin;
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
+}).extend({
+    cascader: 'cascader/cascader',
+}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
     var layDate = layui.laydate;
     var form = layui.form;
-    var admin = layui.admin;
+    admin = layui.admin;
+    var xmSelect = layui.xmSelect;
+    var cascader = layui.cascader;
+    var tree = layui.tree;
+    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();
+        }
+    });
+
+    // 鏁版嵁鍚屾
+    dropdown.render({
+        elem: '#data-btn'
+        ,align: 'right'
+        ,style: 'border-radius: 5px;'
+        ,className: 'site-dropdown-demo'
+        ,data: [
+            {
+                title: '妯℃澘涓嬭浇'
+                ,templet: '<i class="layui-icon layui-icon-template-1"></i>{{d.title}}'
+                ,id: 1
+            },
+            {
+                title: '瀵煎叆 Excel'
+                ,templet: '<i class="layui-icon layui-icon-upload"></i>{{d.title}}'
+                ,id: 2
+            },
+            {type: '-'}, //鍒嗗壊绾�
+            {
+                title: '瀵煎嚭 Excel'
+                ,templet: '<i class="layui-icon layui-icon-export"></i>{{d.title}}'
+                ,id: 3
+            }
+        ]
+        ,click: async function(item){
+            switch (item.id) {
+                case 1:
+                    // 妯℃澘涓嬭浇
+                    layer.load(1, {shade: [0.1,'#fff']});
+                    location.href = baseUrl + "/mould/鐢叉柟鍗曚綅瀵煎叆妯℃澘.xls";
+                    layer.closeAll('loading');
+                    break
+                case 2:
+                    // 瀵煎叆 Excel
+                    $("#importExcel").trigger("click");
+                    break
+                case 3:
+                    // 瀵煎嚭 Excel
+                    layer.msg("鏉ヤ笉鍙婂仛锛岀瓑绛�", {icon: 6});
+                    break
+                default:
+                    break
+            }
+        }
+    });
+
+    // 鏍戝舰鍥�
+    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({
         elem: '#order',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/order/list/auth',
+        url: baseUrl+'/order/page/auth',
         page: true,
         limit: 15,
         limits: [15, 30, 50, 100, 200, 500],
-        toolbar: '#toolbar',
-        cellMinWidth: 50,
-        height: 'full-120',
+        // cellMinWidth: 100,
+        height: 'full-148',
+        // size: 'sm',
+        skin: 'line',
         cols: [[
             {type: 'checkbox'}
-            ,{field: 'id', align: 'center',title: 'ID'}
-            ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
+            // ,{field: 'id', align: 'center',title: 'ID'}
+            // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
             ,{field: 'deptId$', align: 'center',title: '鎵�灞為儴闂�'}
             ,{field: 'userId$', align: 'center',title: '鎵�灞炰汉鍛�'}
             ,{field: 'cstmrId$', align: 'center',title: '鐢叉柟鍗曚綅'}
@@ -33,18 +145,18 @@
             ,{field: 'company$', align: 'center',title: '鎵�灞炲叕鍙�'}
             ,{field: 'remarks', align: 'center',title: '澶囨敞'}
             ,{field: 'director$', align: 'center',title: '璐熻矗浜�'}
-            ,{field: 'province', align: 'center',title: '鐪�'}
-            ,{field: 'city', align: 'center',title: '甯�'}
-            ,{field: 'district', align: 'center',title: '鍘�'}
-            ,{field: 'town', align: 'center',title: '闀�'}
-            ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃'}
-            ,{field: 'files', align: 'center',title: '闄勪欢'}
-            ,{field: 'status$', align: 'center',title: '鐘舵��'}
-            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
-            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
-            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
-            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
-            ,{field: 'memo', align: 'center',title: '娉ㄩ噴'}
+            ,{field: 'province', align: 'center',title: '鐪�', hide: true}
+            ,{field: 'city', align: 'center',title: '甯�', hide: true}
+            ,{field: 'district', align: 'center',title: '鍘�', hide: true}
+            ,{field: 'town', align: 'center',title: '闀�', hide: true}
+            ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃', hide: true}
+            ,{field: 'files', align: 'center',title: '闄勪欢', hide: true}
+            ,{field: 'status$', align: 'center',title: '鐘舵��', hide: true}
+            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true}
+            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿', hide: true}
+            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide: true}
+            ,{field: 'memo', align: 'center',title: '娉ㄩ噴', hide: true}
 
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
         ]],
@@ -68,8 +180,26 @@
                 top.location.href = baseUrl+"/";
             }
             pageCurr=curr;
+            pageCount = count;
             limit();
         }
+    });
+
+    // 娣诲姞
+    $("#orderAddBtn").click(function () {
+        showEditModel();
+    });
+
+    // 鍒犻櫎
+    form.on('submit(orderDel)', function (data) {
+        let checkStatus = layui.table.checkStatus('order').data;
+        if (checkStatus.length === 0) {
+            layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+            return;
+        }
+        del(checkStatus.map(function (d) {
+            return d.id;
+        }));
     });
 
     // 鐩戝惉鎺掑簭浜嬩欢
@@ -86,67 +216,23 @@
         });
     });
 
-    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
-    table.on('toolbar(order)', function (obj) {
-        var checkStatus = table.checkStatus(obj.config.id).data;
-        switch(obj.event) {
-            case 'addData':
-                showEditModel();
-                break;
-            case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
-            case 'exportData':
-                admin.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 = {
-                        'order': exportData,
-                        'fields': fields
-                    };
-                    $.ajax({
-                        url: baseUrl+"/order/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;
-        }
-    });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
     table.on('tool(order)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'more':
+                top.orderByMore = data.id;
+                admin.popupRight({
+                    type: 1,
+                    window: "top",
+                    area: "1250px",
+                    url: "order_more.html",
+                    end: function () {
+                        // $(".layui-laypage-btn")[0].click();
+                    }
+                })
+                break;
             case 'edit':
                 showEditModel(data);
                 break;
@@ -225,15 +311,10 @@
     // 鎼滅储
     form.on('submit(search)', function (data) {
         pageCurr = 1;
+        pageCount = 0;
         tableReload(false);
     });
 
-    // 閲嶇疆
-    form.on('submit(reset)', function (data) {
-        pageCurr = 1;
-        clearFormVal($('#search-box'));
-        tableReload(false);
-    });
 
     // 鏃堕棿閫夋嫨鍣�
     function layDateRender(data) {
@@ -258,6 +339,19 @@
     }
     layDateRender();
 
+    // 鐪佸競鍖洪�夋嫨
+    function cascaderRender() {
+        cascader.render({
+            elem: '#cascaderVal',
+            data: citysData,
+            itemHeight: '250px',
+            filterable: true,
+            onChange: function (values, data) {
+                // console.log(values);console.log(data);
+            }
+        });
+    }
+
 });
 
 // 鍏抽棴鍔ㄤ綔
@@ -265,13 +359,63 @@
     parent.layer.closeAll();
 });
 
-function tableReload(child) {
-    var searchData = {};
-    $.each($('#search-box [name]').serializeArray(), function() {
-        searchData[this.name] = this.value;
+function tableReload() {
+    if (pageCount === 0) {
+        let searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        if (treeCond) {
+            searchData[treeCond.key] = treeCond.val;
+        }
+        tableIns.reload({
+            where: searchData,
+            page: {curr: pageCurr}
+        });
+    } else {
+        $(".layui-laypage-btn")[0].click();
+    }
+}
+
+function upload(obj){
+    if(!obj.files) {
+        return;
+    }
+    var file = obj.files[0];
+    admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
+        layer.load(1, {shade: [0.1,'#fff']});
+        var url = baseUrl + "/order/excel/import/auth";
+        var form = new FormData();
+        form.append("file", file);
+        let xhr = new XMLHttpRequest();
+        xhr.open("post", url, true);
+        xhr.setRequestHeader('token', localStorage.getItem('token'));
+        xhr.onload = uploadComplete;
+        xhr.onerror =  uploadFailed;
+        xhr.onloadend = function () {
+            layer.closeAll('loading');
+        };
+        // xhr.upload.onprogress = progressFunction;
+        xhr.upload.onloadstart = function(){
+            ot = new Date().getTime();
+            oloaded = 0;
+        };
+        xhr.send(form);
+    }, function(index){
     });
-    tableIns.reload({
-        where: searchData,
-        page: {curr: pageCurr}
-     });
+}
+function uploadComplete(evt) {
+    let res = JSON.parse(evt.target.responseText);
+    if(res.code === 200) {
+        layer.msg(res.msg, {icon: 1});
+        tableReload();
+    } else {
+        alert(res.msg);
+        // layer.msg(res.msg, {icon: 2});
+    }
+}
+function uploadFailed(evt) {
+    let res = JSON.parse(evt.target.responseText);
+    alert(res.msg);
+    // layer.msg(res.msg, {icon: 2});
 }
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index 1336cf4..74a0acb 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -9,51 +9,92 @@
     <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/tree.css" media="all">
+    <style>
+        .nav-box {
+            position: absolute;
+            top: 1px;
+            left: 5px;
+        }
+        .nav-box-item {
+            display: inline-block;
+            vertical-align: middle;
+            margin-right: 5px;
+        }
+
+        .layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit,.layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit * {
+            box-sizing:inherit;
+        }
+
+        .layui-menu li {
+            width: inherit;
+        }
+        .layui-tree-icon {
+            height: 16px;
+            line-height: 15px;
+            width: 15px;
+            text-align: center;
+            border: 1px solid #c0c4cc;
+        }
+
+        .site-dropdown-demo,
+        .site-dropdown-demo .layui-menu{background: #32363F;border-color: #484e58;}
+        .site-dropdown-demo .layui-menu li{color: #a1a8b8;}
+        .site-dropdown-demo .layui-menu li:hover{background-color: #32363F;}
+        .layui-menu-body-title>.layui-icon {
+            position: relative;
+            margin-right: 5px;
+        }
+    </style>
 </head>
 <body>
 
+<!-- 鏂� -->
 <div class="layui-fluid">
-    <div class="layui-card">
+    <div class="layui-card" style="margin-bottom: 5px">
         <div class="layui-card-body">
-            <div class="layui-form toolbar" id="search-box">
+            <div id="search-box" class="layui-form toolbar" style="display: flex;justify-content: flex-end;position: relative">
+                <div class="nav-box">
+                    <div class="nav-box-item">
+                        <i class="layui-icon" style="color: #1890ff;font-weight: bold">&#xe613;</i>
+                    </div>
+                    <div class="nav-box-item">
+                        <button id="organization" style="border: none;padding-right: 35px;" class="layui-btn layui-btn-primary icon-btn">
+                            鏈煡
+                        </button>
+                    </div>
+                </div>
                 <div class="layui-form-item">
                     <div class="layui-inline">
                         <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
-                        </div>
-                    </div>
-                     <div class="layui-inline" style="width: 300px">
-                        <div class="layui-input-inline">
-                            <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
-                        </div>
-                    </div>
-                    <div class="layui-inline">
-                        <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+                            <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off" style="border-color: #e1e1e1">
                         </div>
                     </div>
                     <div class="layui-inline">&emsp;
-                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+                        <button class="layui-btn icon-btn layui-btn-sm" lay-filter="search" lay-submit>
                             <i class="layui-icon">&#xe615;</i>鎼滅储
                         </button>
-                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
-                            <i class="layui-icon">&#xe666;</i>閲嶇疆
+                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add layui-btn-sm"><i class="layui-icon">&#xe654;</i>娣诲姞
+                        </button>
+                        <button class="layui-btn layui-btn-danger icon-btn layui-btn-sm" lay-filter="orderDel" lay-submit>
+                            <i class="layui-icon">&#xe640;</i>鍒犻櫎
+                        </button>
+                        <button id="data-btn" class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm">&nbsp;鏁版嵁鍚屾
                         </button>
                     </div>
                 </div>
             </div>
             <table class="layui-hide" id="order" lay-filter="order"></table>
+            <input style="display:none" id="importExcel" type="file" onchange="upload(this)" >
+        </div>
+    </div>
+    <div class="layui-card" style="margin-bottom: 0">
+        <div class="layui-card-body">
+            鐢叉柟璧勬枡锛氭暟鎹叧鑱旇鍗曪紝
+            <span class="text-danger">璇峰嬁闅忔剰鍒犻櫎銆�</span>
         </div>
     </div>
 </div>
-
-<script type="text/html" id="toolbar">
-    <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
-        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
-        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
-    </div>
-</script>
 
 <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
@@ -64,6 +105,7 @@
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/layui/lay/modules/cascader/citys-data.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/order/order.js" charset="utf-8"></script>
 </body>
 <!-- 琛ㄥ崟寮圭獥 -->
diff --git a/src/main/webapp/views/order/order_more.html b/src/main/webapp/views/order/order_more.html
new file mode 100644
index 0000000..0004463
--- /dev/null
+++ b/src/main/webapp/views/order/order_more.html
@@ -0,0 +1,425 @@
+<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
+<style>
+    #formAdvForm {
+        background-color: #f3f3f3;
+    }
+    #formAdvForm .layui-form-item {
+        margin-top: 20px;
+        margin-bottom: 0;
+    }
+
+    #formAdvForm .layui-form-item .layui-inline {
+        margin-bottom: 25px;
+        margin-right: 0;
+    }
+
+    .form-group-bottom {
+        position: fixed;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        padding: 10px 20px;
+        background-color: #fff;
+        box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
+    }
+
+    .card-body-item {
+        display: inline-block;
+        border-right: 1px solid #e0e0e0;
+        width: 250px;
+        padding: 0 30px 0 10px;
+    }
+    .header-desc {
+        overflow:hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        -o-text-overflow:ellipsis;
+    }
+
+</style>
+<!-- 姝f枃寮�濮� -->
+<form class="layui-form" id="formAdvForm" lay-filter="formAdvForm" style="height: 100%">
+    <div class="layui-fluid" style="padding-bottom: 75px;">
+        <!-- 鏍囬 -->
+        <div class="layui-card">
+            <div class="layui-card-header" style="padding-top: 5px; padding-bottom: 5px">
+                <div>
+                    <i class="layui-icon" style="font-size: 20px;color: #1890ff;font-weight: bold">&#xe68e;</i>
+                    <span id="form-name" style="margin: 0 6px;font-size: 18px;font-weight: bold;letter-spacing: 1px"></span>
+                </div>
+            </div>
+            <div class="layui-card-body">
+                <div class="card-body-item">
+                    <div class="header-sub">
+                        鐢佃瘽
+                    </div>
+                    <div class="header-desc" id="form-tel">
+                        &nbsp;
+                    </div>
+                </div>
+
+                <div class="card-body-item" style="width: 400px">
+                    <div class="header-sub">
+                        璇︾粏鍦板潃
+                    </div>
+                    <div class="header-desc" id="form-addr">
+                        &nbsp;
+                    </div>
+                </div>
+
+                <div class="card-body-item">
+                    <div class="header-sub">
+                        璐熻矗浜�
+                    </div>
+                    <div class="header-desc" id="form-director" style="color: #006fdb;">
+                        &nbsp;
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-row">
+            <!-- 鍩烘湰淇℃伅 -->
+            <div class="layui-col-md9">
+                <div class="layui-card">
+                    <div class="layui-card-header">
+                        鍩烘湰淇℃伅
+                    </div>
+                    <div class="layui-card-body">
+
+                        <div class="layui-form-item layui-row">
+                            <input name="id" type="hidden" />
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹㈡埛浠e彿:</label>
+                                <div class="layui-input-block">
+                                    <input name="uuid" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鎵�灞為儴闂�:</label>
+                                <div class="layui-input-block">
+                                    <input name="deptId$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹㈡埛绫诲埆:</label>
+                                <div class="layui-input-block">
+                                    <input name="cstmrType$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹㈡埛鍏崇郴:</label>
+                                <div class="layui-input-block">
+                                    <input name="rela" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鐪佸競鍖�:</label>
+                                <div class="layui-input-block">
+                                    <input name="pcd$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">瀹㈡埛鑱旂郴浜�:</label>
+                                <div class="layui-input-block">
+                                    <input name="contacts" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">鍖哄垎:</label>
+                                <div class="layui-input-block">
+                                    <input name="type$" class="layui-input" disabled />
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">澶囨敞:</label>
+                                <div class="layui-input-block">
+                                    <input name="remarks" class="layui-input" disabled />
+                                </div>
+                            </div>
+
+                            <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
+                                <legend style="font-size: 13px">鍏朵粬</legend>
+                            </fieldset>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">娣诲姞浜哄憳:</label>
+                                <div class="layui-input-block">
+                                    <input name="createBy$" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">淇敼浜哄憳:</label>
+                                <div class="layui-input-block">
+                                    <input name="updateBy$" class="layui-input" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">娣诲姞鏃堕棿:</label>
+                                <div class="layui-input-block">
+                                    <input name="createTime$" class="layui-input icon-date" autocomplete="off" disabled/>
+                                </div>
+                            </div>
+                            <div class="layui-inline layui-col-md6">
+                                <label class="layui-form-label">淇敼鏃堕棿:</label>
+                                <div class="layui-input-block">
+                                    <input name="updateTime$" class="layui-input icon-date" autocomplete="off" disabled/>
+                                </div>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+            <!-- 璺熻繘浜� -->
+            <div class="layui-col-md3" style="width: 24%;margin-left: 1%">
+                <div class="layui-card">
+                    <div class="layui-card-header">
+                        <span>璺熻繘浜�</span>
+                        <span lay-filter="followerAdd" lay-submit style="float: right;cursor: pointer;">
+                            <i class="layui-icon" style="font-size: 20px;color: #1890ff;">&#xe61f;</i>
+                        </span>
+                    </div>
+                    <div class="layui-card-body">
+                        <table id="followersTable" lay-filter="followersTable"></table>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="form-group-bottom text-right">
+        <button class="layui-btn" lay-filter="refresh" lay-submit><i class="layui-icon">&#xe666;</i>&emsp;鍒锋柊&emsp;</button>
+    </div>
+
+</form>
+
+<script type="text/html" id="followerTabOperate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<!-- 璺熻繘浜� -->
+<script type="text/html" id="followerEditDialog">
+    <form id="followerEditForm" lay-filter="followerEditForm" class="layui-form model-form">
+        <input name="experimentId" type="hidden"/>
+        <div class="layui-form-item" style="float: left;clear: none;margin-right: 20px">
+            <label class="layui-form-label">閫夋嫨鎴愬憳</label>
+            <div class="layui-input-block">
+                <div id="followersBox" name="followersBox">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item text-right" style="float: left;clear: none">
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn" lay-filter="followerSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+<script>
+    var cstmrId = top.cstmrByMore;
+    $('.layui-layer-close').hide();
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).extend({
+        notice: 'notice/notice',
+    }).use(['form', 'table', 'laydate', 'notice', 'xmSelect'], function () {
+        var $ = layui.jquery;
+        var form = layui.form;
+        var table = layui.table;
+        var laydate = layui.laydate;
+        var notice = layui.notice;
+        var xmSelect = layui.xmSelect;
+
+        form.render('select');
+
+        init();
+        function init(){
+            notice.msg('姝e湪杞藉叆鏁版嵁......', {icon: 4, position: "topRight"});
+            $.ajax({
+                url: baseUrl + "/cstmr/" + cstmrId + "/auth",
+                headers: {'token': localStorage.getItem('token')},
+                method: 'GET',
+                success: function (res) {
+                    notice.destroy();
+                    if (res.code === 200) {
+                        let cstmr = res.data;
+                        top.cstmrByMore = null;
+                        $("#form-name").html(cstmr.name);
+                        if (cstmr.tel) {$("#form-tel").html(cstmr.tel);}
+                        if (cstmr.addr) {$("#form-addr").html(cstmr.addr);$("#form-addr").attr("title", cstmr.addr);}
+                        if (cstmr.director$) {$("#form-director").html(cstmr.director$);}
+                        // 璁惧鏄庣粏
+                        form.val('formAdvForm', cstmr);
+                        // 璺熻繘浜�
+                        initFollowers(cstmr.id);
+                        layDateRender();
+                    } else if (res.code === 403) {
+                        top.location.href = baseUrl + "/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2})
+                    }
+                }
+            })
+        }
+
+        /* 娓叉煋laydate */
+        function layDateRender() {
+            laydate.render({
+                elem: '#endTime',
+                type: 'datetime'
+            });
+        }
+        layDateRender();
+
+        // 娓叉煋璺熻繘浜烘ā鍧�
+        function initFollowers(cstmrId) {
+            if (!cstmrId) {
+                return;
+            }
+            $.ajax({
+                url: baseUrl+"/cstmr/followers/table/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    cstmrId: cstmrId
+                },
+                method: 'GET',
+                success: function (res) {
+                    if (res.code === 200){
+                        var follTab = table.render({
+                            elem: '#followersTable',
+                            data: res.data,
+                            limit: 999,
+                            height: 'full-408',
+                            cols: [[
+                                {field: 'userName', title: '宸ヤ綔浜哄憳'},
+                                {fixed: 'right', title:'', align: 'center', toolbar: '#followerTabOperate', width: 70}
+                            ]],
+                            done: function (res, curr, count) {
+                                $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+                            }
+                        });
+                        // 鐩戝惉琛屽伐鍏蜂簨浠�
+                        table.on('tool(followersTable)', function(obj){
+                            let data = obj.data;
+                            switch (obj.event) {
+                                case "del":
+                                    let loadIndex = layer.load(2);
+                                    $.ajax({
+                                        url: baseUrl+"/cstmr/followers/remove/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        data: {
+                                            cstmrId: cstmrId,
+                                            userId: data.userId
+                                        },
+                                        method: 'POST',
+                                        success: function (res) {
+                                            layer.close(loadIndex);
+                                            if (res.code === 200){
+                                                initFollowers(cstmrId);
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            } else {
+                                                layer.msg(res.msg, {icon: 2});
+                                            }
+                                        }
+                                    })
+                                    break;
+                            }
+                        });
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                    }
+                }
+            })
+        }
+
+        // 娣诲姞璺熻繘浜�
+        var followerLayer;
+        form.on('submit(followerAdd)', function (data) {
+            if (followerLayer) {return;}
+            followerLayer = admin.open({
+                type: 1,
+                offset: '150px',
+                area: '600px',
+                title: '娣诲姞璺熻繘浜�',
+                content: $('#followerEditDialog').html(),
+                success: function (layero, dIndex) {
+                    // 琛ㄥ崟鎻愪氦浜嬩欢
+                    form.on('submit(followerSubmit)', function (data) {
+                        let selectList = xmSelectIdx.getValue();
+                        if (selectList.length === 0) {
+                            layer.msg("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�", {icon: 3});
+                            return false;
+                        }
+                        let loadIndex = layer.load(2);
+                        $.ajax({
+                            url: baseUrl+"/cstmr/followers/add/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: {
+                                cstmrId: cstmrId,
+                                followerIds: selectList.map(function (d) {
+                                    return d.value;
+                                })
+                            },
+                            method: 'POST',
+                            success: function (res) {
+                                if (res.code === 200){
+                                    layer.close(loadIndex);
+                                    initFollowers(cstmrId);
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                }else {
+                                    layer.msg(res.msg, {icon: 2})
+                                }
+                            }
+                        })
+                        layer.close(dIndex);
+                        return false;
+                    });
+                    let xmSelectIdx = xmSelect.render({
+                        el: '#followersBox',
+                        style: {
+                            width: '280px',
+                        },
+                        autoRow: true,
+                        toolbar: { show: true },
+                        filterable: true,
+                        remoteSearch: true,
+                        remoteMethod: function(val, cb, show){
+                            $.ajax({
+                                url: baseUrl+"/user/all/get/kv",
+                                headers: {'token': localStorage.getItem('token')},
+                                data: {
+                                    condition: val
+                                },
+                                method: 'POST',
+                                success: function (res) {
+                                    if (res.code === 200){
+                                        cb(res.data)
+                                    } else {
+                                        cb([]);
+                                        layer.msg(res.msg, {icon: 2});
+                                    }
+                                }
+                            });
+                        }
+                    })
+                    // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                    layui.form.render('select');
+                },
+                end: function () {
+                    followerLayer = null;
+                }
+            })
+        });
+
+        /* 鐩戝惉琛ㄥ崟鎻愪氦 */
+        form.on('submit(refresh)', function (data) {
+            init();
+            return false;
+        });
+
+    })
+</script>

--
Gitblit v1.9.1