xiaoyong931011
2021-05-14 6ed309c5a80c36e752bfd799cbaba7665cf7364b
src/main/resources/templates/febs/views/layout.html
@@ -1,178 +1,178 @@
<div class="layui-layout layui-layout-admin" id="febs-layout">
    <div class="layui-header layui-anim febs-anim-down" id="app-header">
        <script type="text/html"
                template
                lay-done="layui.element.render('nav','febs-header')">
            <ul class="layui-nav layui-layout-left" lay-filter="febs-header">
                <li class="layui-nav-item" lay-unselect>
                    <a febs-event="flexible" title="侧边伸缩">
                        <i class="layui-icon layui-icon-shrink-right"></i>
                    </a>
                </li>
                 <span class="febs-breadcrumb"></span>
            </ul>
            <ul class="layui-nav layui-layout-right" lay-filter="febs-header">
                <li class="layui-nav-item layui-hide-xs" id="fullscreen" lay-unselect>
                    <a title="切换全屏">
                        <i class="layui-icon layui-icon-screen-full"></i>
                    </a>
                </li>
                <li class="layui-nav-item layui-user" lay-unselect>
                    <a>
                        <img style="width: 1.9rem;margin-right:.5rem;border-radius: 50%"
                             src="{{= ctx + 'febs/images/avatar/' + currentUser.avatar }}" title="头像">
                        {{ currentUser.username }}
                    </a>
                    <dl class="layui-nav-child">
                        <dd><a class="layui-nav-child-href" id="user-profile">个人中心</a></dd>
                        <dd><a class="layui-nav-child-href" id="password-update">密码修改</a></dd>
                        <dd><a class="layui-nav-child-href" data-th-href="@{logout}">退出登录</a></dd>
                    </dl>
                </li>
            </ul>
        </script>
    </div>
    <div class="febs-tabs-hidden">
        <script type="text/html" id="TPL-app-tabsmenu" template>
            {{# if(layui.conf.viewTabs){ }}
            <div class="febs-tabs-wrap">
          <span class="febs-tabs-btn febs-tabs-action febs-tabs-prev" data-type="prev">
              <i class="layui-icon layui-icon-left"></i>
          </span>
                <span class="febs-tabs-btn febs-tabs-action febs-tabs-next" data-type="next">
              <i class="layui-icon layui-icon-right"></i>
          </span>
                <span class="febs-tabs-btn febs-tabs-action febs-tabs-down" data-type="down">
              <i class="layui-icon layui-icon-close"></i>
          </span>
                <ul class="febs-tabs-menu">
                    {{# layui.each(layui.view.tab.data,function(i, item){ }}
                    <li data-type="page" class="febs-tabs-btn" lay-url="{{item.fileurl}}">
                        <i class="febs-tabs-ball"></i>{{ item.title }}<b class="layui-icon layui-icon-close febs-tabs-close"></b>
                    </li>
                    {{# }) }}
                </ul>
            </div>
            {{# } }}
        </script>
    </div>
    <!-- 侧边菜单 -->
    <div class="layui-side" id="app-sidebar">
        <div class="layui-side-scroll">
            <div class="layui-logo" style="cursor: pointer">
                <img data-th-src="@{febs/images/logo.png}">
                <span>ExCoin 管理系统</span>
            </div>
            <script
                    type="text/html"
                    template
                    lay-api="getMenus"
                    lay-done="layui.element.render('nav','febs-sidebar');layui.febs.sidebarFocus()">
                <ul class="layui-nav layui-nav-tree" lay-filter="febs-sidebar" lay-shrink="all">
                    {{#
                    function __createSlidebar(data,index){
                    if(!data || data.length == 0) return '';
                    var html = '
                    <dl class="layui-nav-child">';
                        layui.each(data, function(i, child) {
                        var left = index == 0 ? 50 : 50 + index * 20;
                        var title = child.title;
                        if (child.icon) {
                            title = '<i class="layui-icon '+child.icon+'"></i>' + child.title
                        }
                        html += '
                        <dd><a style="padding-left:' + left + 'px" target="'+(child.target||'')+'"
                               lay-href="'+ (child.href||'') +'">' + title + '</a>';
                            if(child.childs) html += __createSlidebar(child.childs,index+1);
                            html += '</dd>';
                        });
                        html = html +'</dl>';
                    return html;
                    }
                    layui.each(d.childs, function(i,child){
                    }}
                    <li class="layui-nav-item">
                        <a lay-href="{{child.href||''}}" target="{{child.target||''}}" title="{{child.title}}"><i
                                class="layui-icon {{child.icon}}"></i>{{child.title}} {{# if(child.notice){ }}<span
                                class="layui-badge">{{ child.notice }}</span>{{# } }}</a>
                        {{ __createSlidebar(child.childs,0) }}
                    </li>
                    {{# }) }}
                </ul>
            </script>
        </div>
    </div>
    <!-- 主体内容 -->
    <div class="layui-body" id="febs-body"></div>
</div>
<script data-th-inline="javascript" type="text/javascript">
    layui.use(['jquery', 'febs', 'element'], function () {
        var $ = layui.jquery,
            $view = $('#febs-layout'),
            febs = layui.febs;
        var element = layui.element;
        initTheme();
        $view.find('#user-avatar').attr('src', ctx + "febs/images/avatar/" + currentUser.avatar);
        $view.on('click', '.layui-logo', function () {
            febs.navigate("/index");
        });
        $view.on('click', '#fullscreen', function () {
            var $this = $(this);
            var normalCls = 'layui-icon-screen-full';
            var activeCls = 'layui-icon-screen-restore';
            var ico = $this.find('.layui-icon');
            if (ico.hasClass(normalCls)) {
                var a = document.body;
                a.webkitRequestFullScreen
                    ? a.webkitRequestFullScreen()
                    : a.mozRequestFullScreen
                    ? a.mozRequestFullScreen()
                    : a.requestFullScreen && a.requestFullscreen();
                ico.removeClass(normalCls).addClass(activeCls)
            } else {
                var b = document;
                b.webkitCancelFullScreen
                    ? b.webkitCancelFullScreen()
                    : b.mozCancelFullScreen
                    ? b.mozCancelFullScreen()
                    : b.cancelFullScreen
                        ? b.cancelFullScreen()
                        : b.exitFullscreen && b.exitFullscreen();
                ico.removeClass(activeCls).addClass(normalCls)
            }
        });
        $view.on('click', '#password-update', function () {
            febs.modal.view('密码修改', 'password/update', {
                area: $(window).width() <= 750 ? '90%' : '500px',
                btn: ['确定'],
                yes: function () {
                    $('#user-password-update').find('#submit').trigger('click');
                }
            });
        });
        $view.on('click', '#user-profile', function () {
            febs.navigate("/user/profile");
        });
        function initTheme() {
            var theme = currentUser.theme;
            var $sidebar = $('#app-sidebar');
            if (theme === 'black') {
                $sidebar.removeClass('febs-theme-white');
            }
            if (theme === 'white') {
                $sidebar.addClass('febs-theme-white');
            }
        }
    });
<div class="layui-layout layui-layout-admin" id="febs-layout">
    <div class="layui-header layui-anim febs-anim-down" id="app-header">
        <script type="text/html"
                template
                lay-done="layui.element.render('nav','febs-header')">
            <ul class="layui-nav layui-layout-left" lay-filter="febs-header">
                <li class="layui-nav-item" lay-unselect>
                    <a febs-event="flexible" title="侧边伸缩">
                        <i class="layui-icon layui-icon-shrink-right"></i>
                    </a>
                </li>
                 <span class="febs-breadcrumb"></span>
            </ul>
            <ul class="layui-nav layui-layout-right" lay-filter="febs-header">
                <li class="layui-nav-item layui-hide-xs" id="fullscreen" lay-unselect>
                    <a title="切换全屏">
                        <i class="layui-icon layui-icon-screen-full"></i>
                    </a>
                </li>
                <li class="layui-nav-item layui-user" lay-unselect>
                    <a>
                        <img style="width: 1.9rem;margin-right:.5rem;border-radius: 50%"
                             src="{{= ctx + 'febs/images/avatar/' + currentUser.avatar }}" title="头像">
                        {{ currentUser.username }}
                    </a>
                    <dl class="layui-nav-child">
                        <dd><a class="layui-nav-child-href" id="user-profile">个人中心</a></dd>
                        <dd><a class="layui-nav-child-href" id="password-update">密码修改</a></dd>
                        <dd><a class="layui-nav-child-href" data-th-href="@{logout}">退出登录</a></dd>
                    </dl>
                </li>
            </ul>
        </script>
    </div>
    <div class="febs-tabs-hidden">
        <script type="text/html" id="TPL-app-tabsmenu" template>
            {{# if(layui.conf.viewTabs){ }}
            <div class="febs-tabs-wrap">
          <span class="febs-tabs-btn febs-tabs-action febs-tabs-prev" data-type="prev">
              <i class="layui-icon layui-icon-left"></i>
          </span>
                <span class="febs-tabs-btn febs-tabs-action febs-tabs-next" data-type="next">
              <i class="layui-icon layui-icon-right"></i>
          </span>
                <span class="febs-tabs-btn febs-tabs-action febs-tabs-down" data-type="down">
              <i class="layui-icon layui-icon-close"></i>
          </span>
                <ul class="febs-tabs-menu">
                    {{# layui.each(layui.view.tab.data,function(i, item){ }}
                    <li data-type="page" class="febs-tabs-btn" lay-url="{{item.fileurl}}">
                        <i class="febs-tabs-ball"></i>{{ item.title }}<b class="layui-icon layui-icon-close febs-tabs-close"></b>
                    </li>
                    {{# }) }}
                </ul>
            </div>
            {{# } }}
        </script>
    </div>
    <!-- 侧边菜单 -->
    <div class="layui-side" id="app-sidebar">
        <div class="layui-side-scroll">
            <div class="layui-logo" style="cursor: pointer">
                <img data-th-src="@{febs/images/logo.png}">
                <span>Hibit 管理系统</span>
            </div>
            <script
                    type="text/html"
                    template
                    lay-api="getMenus"
                    lay-done="layui.element.render('nav','febs-sidebar');layui.febs.sidebarFocus()">
                <ul class="layui-nav layui-nav-tree" lay-filter="febs-sidebar" lay-shrink="all">
                    {{#
                    function __createSlidebar(data,index){
                    if(!data || data.length == 0) return '';
                    var html = '
                    <dl class="layui-nav-child">';
                        layui.each(data, function(i, child) {
                        var left = index == 0 ? 50 : 50 + index * 20;
                        var title = child.title;
                        if (child.icon) {
                            title = '<i class="layui-icon '+child.icon+'"></i>' + child.title
                        }
                        html += '
                        <dd><a style="padding-left:' + left + 'px" target="'+(child.target||'')+'"
                               lay-href="'+ (child.href||'') +'">' + title + '</a>';
                            if(child.childs) html += __createSlidebar(child.childs,index+1);
                            html += '</dd>';
                        });
                        html = html +'</dl>';
                    return html;
                    }
                    layui.each(d.childs, function(i,child){
                    }}
                    <li class="layui-nav-item">
                        <a lay-href="{{child.href||''}}" target="{{child.target||''}}" title="{{child.title}}"><i
                                class="layui-icon {{child.icon}}"></i>{{child.title}} {{# if(child.notice){ }}<span
                                class="layui-badge">{{ child.notice }}</span>{{# } }}</a>
                        {{ __createSlidebar(child.childs,0) }}
                    </li>
                    {{# }) }}
                </ul>
            </script>
        </div>
    </div>
    <!-- 主体内容 -->
    <div class="layui-body" id="febs-body"></div>
</div>
<script data-th-inline="javascript" type="text/javascript">
    layui.use(['jquery', 'febs', 'element'], function () {
        var $ = layui.jquery,
            $view = $('#febs-layout'),
            febs = layui.febs;
        var element = layui.element;
        initTheme();
        $view.find('#user-avatar').attr('src', ctx + "febs/images/avatar/" + currentUser.avatar);
        $view.on('click', '.layui-logo', function () {
            febs.navigate("/index");
        });
        $view.on('click', '#fullscreen', function () {
            var $this = $(this);
            var normalCls = 'layui-icon-screen-full';
            var activeCls = 'layui-icon-screen-restore';
            var ico = $this.find('.layui-icon');
            if (ico.hasClass(normalCls)) {
                var a = document.body;
                a.webkitRequestFullScreen
                    ? a.webkitRequestFullScreen()
                    : a.mozRequestFullScreen
                    ? a.mozRequestFullScreen()
                    : a.requestFullScreen && a.requestFullscreen();
                ico.removeClass(normalCls).addClass(activeCls)
            } else {
                var b = document;
                b.webkitCancelFullScreen
                    ? b.webkitCancelFullScreen()
                    : b.mozCancelFullScreen
                    ? b.mozCancelFullScreen()
                    : b.cancelFullScreen
                        ? b.cancelFullScreen()
                        : b.exitFullscreen && b.exitFullscreen();
                ico.removeClass(activeCls).addClass(normalCls)
            }
        });
        $view.on('click', '#password-update', function () {
            febs.modal.view('密码修改', 'password/update', {
                area: $(window).width() <= 750 ? '90%' : '500px',
                btn: ['确定'],
                yes: function () {
                    $('#user-password-update').find('#submit').trigger('click');
                }
            });
        });
        $view.on('click', '#user-profile', function () {
            febs.navigate("/user/profile");
        });
        function initTheme() {
            var theme = currentUser.theme;
            var $sidebar = $('#app-sidebar');
            if (theme === 'black') {
                $sidebar.removeClass('febs-theme-white');
            }
            if (theme === 'white') {
                $sidebar.addClass('febs-theme-white');
            }
        }
    });
</script>