From 78839ec83b089ed91ad00585748e78f1c724e570 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 16 九月 2022 08:46:28 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/dept/dept.html |  295 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 273 insertions(+), 22 deletions(-)

diff --git a/src/main/webapp/views/dept/dept.html b/src/main/webapp/views/dept/dept.html
index 663faab..ef03e88 100644
--- a/src/main/webapp/views/dept/dept.html
+++ b/src/main/webapp/views/dept/dept.html
@@ -9,28 +9,30 @@
     <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/common.css" media="all">
     <style>
-        body {
-            /*background-color: #F1F1F1;*/
-            padding: 15px;
+        #detail {
+            padding: 25px 30px 0 0;
         }
-        .btn-edit {
-            display: none;
-        }
-        .btn-del {
-            display: none;
+        .ew-tree-table-box {
+            height: 100%;
         }
     </style>
 </head>
 <body>
-
-<!-- 鎼滅储鏍� -->
-
-<!-- 琛ㄦ牸 -->
-<div class="layui-form">
-    <table class="layui-hide" id="dept" lay-filter="dept"></table>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-card-body">
+            <!-- 鏁版嵁琛ㄦ牸 -->
+            <table id="dept"></table>
+        </div>
+    </div>
 </div>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-del" lay-event="del">鍒犻櫎</a>
+</script>
 <script type="text/html" id="statusTpl">
     <span name="status"
           {{# if( d.status === 0){ }}
@@ -40,21 +42,270 @@
           {{# } }}
     >{{d.status$}}</span>
 </script>
-<!-- 琛ㄦ牸鎿嶄綔鍒� -->
-<script type="text/html" id="tbBar">
-    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
-    <a class="layui-btn layui-btn-danger layui-btn-xs btn-del" lay-event="del">鍒犻櫎</a>
-</script>
 
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="detail" lay-filter="detail" class="layui-form">
+        <input name="id" type="hidden">
+        <input name="uuid" type="hidden">
+        <input name="path" type="hidden">
+        <input name="pathName" type="hidden">
+        <input name="img" type="hidden">
+        <input name="brief" type="hidden">
+        <input name="level" type="hidden">
+        <input name="count" type="hidden">
+        <input name="createTime$" type="hidden">
+        <input name="createBy" type="hidden">
+        <input name="updateTime$" type="hidden">
+        <input name="updateBy" type="hidden">
+        <div class="layui-row">
+
+            <div class="layui-col-md6">
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">涓婄骇閮ㄩ棬</label>
+                    <div class="layui-input-block">
+                        <div id="deptParentSel" class="ew-xmselect-tree"></div>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">绫诲瀷</label>
+                    <div class="layui-input-block">
+                        <select name="type" lay-vertype="tips">
+                            <option value="">璇烽�夋嫨绫诲瀷</option>
+                            <option value="0">鍏朵粬</option>
+                        </select>
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璐熻矗浜�</label>
+                    <div class="layui-input-block">
+                        <input name="leading" placeholder="璇疯緭鍏ヨ礋璐d汉" class="layui-input">
+                    </div>
+                </div>
+
+            </div>
+
+            <div class="layui-col-md6">
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">褰掔被鍚嶇О</label>
+                    <div class="layui-input-block">
+                        <input name="name" placeholder="璇疯緭鍏ュ綊绫诲悕绉�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎺掑簭</label>
+                    <div class="layui-input-block">
+                        <input name="sort" placeholder="璇疯緭鍏ユ帓搴�" class="layui-input">
+                    </div>
+                </div>
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞</label>
+                    <div class="layui-input-block">
+                        <input name="memo" placeholder="璇疯緭鍏ュ娉�" class="layui-input">
+                    </div>
+                </div>
+
+            </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </form>
+</script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <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/js/dept/dept.js" charset="utf-8"></script>
 
-<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+<script>
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['form','treeTable', 'admin', 'xmSelect'], function() {
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var form = layui.form;
+        var admin = layui.admin;
+        var treeTable = layui.treeTable;
+        var xmSelect = layui.xmSelect;
+        var tbDataList = [];
 
+        var insTb = treeTable.render({
+            elem: '#dept',
+            url: baseUrl+'/dept/list/auth',
+            headers: {token: localStorage.getItem('token')},
+            height: 'full-200',
+            toolbar: ['<p>',
+                '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>娣诲姞</button>&nbsp;',
+                '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>鍒犻櫎</button>',
+                '</p>'].join(''),
+            tree: {
+                iconIndex: 2,           // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
+                isPidData: true,        // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁
+                idName: 'id',           // id瀛楁鍚嶇О
+                pidName: 'parentId'     // pid瀛楁鍚嶇О
+            },
+            cols: [[
+                {type: 'checkbox'}
+                ,{type: 'numbers'}
+                ,{field: 'name', align: 'left',title: '鍚嶇О', minWidth: 150}
+                // ,{field: 'uuid', align: 'center',title: '缂栧彿'}
+                ,{field: 'type$', align: 'center',title: '绫诲瀷'}
+                ,{field: 'leading', align: 'center',title: '璐熻矗浜�'}
+                ,{field: 'img', align: 'center',title: '鍥剧墖', hide: true}
+                // ,{field: 'brief', align: 'center',title: '绠�瑕佹弿杩�'}
+                // ,{field: 'count', align: 'center',title: '鏁伴噺'}
+                ,{field: 'sort', align: 'center',title: '鎺掑簭'}
+                ,{field: 'status$', align: 'center',title: '鐘舵��'}
+                ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+                ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true}
+                ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true}
+
+                ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+            ]],
+            done: function (data) {
+                $('.ew-tree-table-box').css('height', '100%');
+                insTb.expandAll();
+                tbDataList = data;
+            }
+        });
+
+        /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+        treeTable.on('toolbar(dept)', function (obj) {
+            if (obj.event === 'add') { // 娣诲姞
+                showEditModel();
+            } else if (obj.event === 'del') { // 鍒犻櫎
+                var checkRows = insTb.checkStatus();
+                if (checkRows.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
+                }
+                var ids = checkRows.map(function (d) {
+                    if (!d.LAY_INDETERMINATE) {
+                        return d.id;
+                    } else {
+                        return null;
+                    }
+                });
+                doDel({ids: ids});
+            }
+        });
+
+        /* 琛ㄦ牸鎿嶄綔鍒楃偣鍑讳簨浠� */
+        treeTable.on('tool(dept)', function (obj) {
+            if (obj.event === 'edit') { // 淇敼
+                showEditModel(obj.data);
+            } else if (obj.event === 'del') { // 鍒犻櫎
+                doDel(obj);
+            }
+        });
+
+        /* 鏄剧ず琛ㄥ崟寮圭獥 */
+        function showEditModel(mData) {
+            admin.open({
+                type: 1,
+                area: '600px',
+                title: (mData ? '淇敼' : '娣诲姞') + '閮ㄩ棬',
+                content: $('#editDialog').html(),
+                success: function (layero, dIndex) {
+                    // 鍥炴樉琛ㄥ崟鏁版嵁
+                    form.val('detail', mData);
+                    // 琛ㄥ崟鎻愪氦浜嬩欢
+                    form.on('submit(editSubmit)', function (data) {
+                        data.field.parentId = insXmSel.getValue('valueStr');
+                        var loadIndex = layer.load(2);
+                        $.ajax({
+                            url: baseUrl+"/dept/"+(mData?'update':'add')+"/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: data.field,
+                            method: 'POST',
+                            success: function (res) {
+                                layer.close(loadIndex);
+                                if (res.code === 200){
+                                    layer.close(dIndex);
+                                    layer.msg(res.msg, {icon: 1});
+                                    insTb.refresh();
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                }else {
+                                    layer.msg(res.msg, {icon: 2});
+                                }
+                            }
+                        })
+                        return false;
+                    });
+                    // 娓叉煋涓嬫媺鏍�
+                    var insXmSel = xmSelect.render({
+                        el: '#deptParentSel',
+                        height: '250px',
+                        data: insTb.options.data,
+                        initValue: mData ? [mData.parentId] : [],
+                        model: {label: {type: 'text'}},
+                        prop: {
+                            name: 'name',
+                            value: 'id'
+                        },
+                        radio: true,
+                        clickClose: true,
+                        tree: {
+                            show: true,
+                            indent: 15,
+                            strict: false,
+                            expandedKeys: true
+                        }
+                    });
+                    // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                    layui.form.render('select');
+                }
+            });
+        }
+
+        /* 鍒犻櫎 */
+        function doDel(obj) {
+            layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+                skin: 'layui-layer-admin',
+                shade: .1
+            }, function (i) {
+                layer.close(i);
+                var loadIndex = layer.load(2);
+                var ids;
+                if (obj.data) {
+                    ids = [];
+                    ids[0] = obj.data.id;
+                } else {
+                    ids = obj.ids;
+                }
+                $.ajax({
+                    url: baseUrl+"/dept/delete/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {ids: ids},
+                    method: 'POST',
+                    success: function (res) {
+                        layer.close(loadIndex);
+                        if (res.code === 200){
+                            layer.msg(res.msg, {icon: 1});
+                            insTb.refresh();
+                        } else if (res.code === 403){
+                            top.location.href = baseUrl+"/";
+                        } else {
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                })
+            });
+        }
+
+    });
+</script>
 </body>
 </html>
 

--
Gitblit v1.9.1