From 5a1319241e2113b9ee2d9a35971cae6963742dd4 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 02 四月 2021 17:02:39 +0800 Subject: [PATCH] # --- src/main/webapp/views/resource/resource.html | 315 +++++++++++++++++++++++++++++++++++++------- src/main/webapp/views/resource/resource2.html | 81 +++++++++++ 2 files changed, 346 insertions(+), 50 deletions(-) diff --git a/src/main/webapp/views/resource/resource.html b/src/main/webapp/views/resource/resource.html index 035884b..974c274 100644 --- a/src/main/webapp/views/resource/resource.html +++ b/src/main/webapp/views/resource/resource.html @@ -9,73 +9,288 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css" media="all"> + <style> + #detail { + padding: 25px 30px 0 0; + } + .ew-tree-table-box { + height: 100%; + } + </style> </head> <body> -<!-- 鎼滅储鏍� --> -<div id="search-box" class="layui-form layui-card-header"> - <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"> - <div class="layui-input-inline"> - <input name="name" class="layui-input" type="text" placeholder="鑿滃崟鍚嶇О" > - </div> - </div> - <div class="layui-inline"> - <div class="layui-input-inline"> - <select name="level"> - <option value="" style="display: none"></option> - <option value="1">涓�绾ц彍鍗�</option> - <option value="2">浜岀骇鑿滃崟</option> - <option value="3">涓夌骇鑿滃崟</option> - </select> - </div> - </div> - <div class="layui-inline"> - <div class="layui-input-inline cool-auto-complete"> - <input id="resourceId" class="layui-input" name="resource_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> - <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐖剁骇鑿滃崟" onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <!-- 寰呮坊鍔� --> - <div id="data-search-btn" class="layui-btn-container layui-form-item"> - <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> - <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> +<!-- 姝f枃寮�濮� --> +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <!-- 鏁版嵁琛ㄦ牸 --> + <table id="resource"></table> + </div> </div> </div> -<!-- 琛ㄦ牸 --> -<table class="layui-hide" id="resource" lay-filter="resource"></table> -<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" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> - </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="operate"> - <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> - <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +<!-- 琛ㄥ崟寮圭獥 --> +<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="resourceParentSel" class="ew-xmselect-tree"></div> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">绫诲瀷</label> + <div class="layui-input-block"> + <select name="type" lay-vertype="tips" lay-verify="required" required=""> + <option value="">璇烽�夋嫨绫诲瀷</option> + <option value="1">鐩掕</option> + <option value="2">琚嬭</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="brief" 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/resource/resource.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: '#resource', + url: baseUrl+'/resource/tree/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"></i>娣诲姞</button> ', + '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>鍒犻櫎</button>', + '</p>'].join(''), + tree: { + iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪 + isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁 + idName: 'id', // id瀛楁鍚嶇О + pidName: 'resourceId' // pid瀛楁鍚嶇О + }, + cols: [[ + {type: 'checkbox', fixed: 'left'} + ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80, hide: true} + ,{field: 'name', align: 'left',title: '鑿滃崟鍚嶇О'} + ,{field: 'code', align: 'center',title: '鑿滃崟缂栫爜'} + // ,{field: 'resourceName', align: 'center',title: '鐖剁骇鑿滃崟'} + ,{field: 'level$', align: 'center',title: '鑿滃崟绛夌骇'} + ,{field: 'sort', align: 'center',title: '鎺掑簭'} + + ,{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(resource)', 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) { + return d.id; + }); + doDel({ids: ids}); + } + }); + + /* 琛ㄦ牸鎿嶄綔鍒楃偣鍑讳簨浠� */ + treeTable.on('tool(resource)', 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+"/resource/"+(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: '#resourceParentSel', + 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+"/resource/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> diff --git a/src/main/webapp/views/resource/resource2.html b/src/main/webapp/views/resource/resource2.html new file mode 100644 index 0000000..035884b --- /dev/null +++ b/src/main/webapp/views/resource/resource2.html @@ -0,0 +1,81 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <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"> + <div class="layui-input-inline"> + <input name="name" class="layui-input" type="text" placeholder="鑿滃崟鍚嶇О" > + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <select name="level"> + <option value="" style="display: none"></option> + <option value="1">涓�绾ц彍鍗�</option> + <option value="2">浜岀骇鑿滃崟</option> + <option value="3">涓夌骇鑿滃崟</option> + </select> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline cool-auto-complete"> + <input id="resourceId" class="layui-input" name="resource_id" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="鐖剁骇鑿滃崟" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + </div> + </div> + + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<table class="layui-hide" id="resource" lay-filter="resource"></table> +<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" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a> + <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a> +</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/resource/resource.js" charset="utf-8"></script> + +<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> + +</body> +</html> + -- Gitblit v1.9.1