<script>var pt_nr=/\s+/</script>
<div class="layui-layout layui-layout-admin">
  <div class="layui-header">
    <!-- 头部区域 -->
    <ul class="layui-nav layui-layout-left">
      <li class="layui-nav-item layadmin-flexible" lay-unselect>
        <a href="javascript:;" layadmin-event="flexible" title="侧边伸缩">
          <i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
        </a>
      </li>
      <!--<li class="layui-nav-item layui-this layui-hide-xs layui-hide-sm layui-show-md-inline-block">
        <a lay-href="" title="">
          控制台
        </a>
      </li>-->
      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="/" target="_blank" title="查看网站">
          <i class="layui-icon layui-icon-website"></i>
        </a>
      </li>
      <li class="layui-nav-item" lay-unselect>
        <a href="javascript:;" layadmin-event="refresh" title="刷新">
          <i class="layui-icon layui-icon-refresh-3"></i>
        </a>
      </li>
    </ul>
    <ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="javascript:;" layadmin-event="pinyin" title="拼音转换">
          <i class="layui-icon layui-icon-template"></i>
        </a>
      </li>
      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="javascript:;" layadmin-event="theme" title="配色方案">
          <i class="layui-icon layui-icon-theme"></i>
        </a>
      </li>
      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="javascript:;" layadmin-event="note" title="便签">
          <i class="layui-icon layui-icon-note"></i>
        </a>
      </li>
      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="javascript:;" layadmin-event="fullscreen">
          <i class="layui-icon layui-icon-screen-full"></i>
        </a>
      </li>
      <li class="layui-nav-item" lay-unselect>
        <script type="text/html" template lay-url="/manage/user/info.json?v={{ layui.admin.v }}"
        lay-done="layui.element.render('nav', 'layadmin-layout-right');">
          <a href="javascript:;">
            <cite>{{ d.data.username }}</cite>
          </a>
          <dl class="layui-nav-child">
            <dd><a lay-href="set/user/info">基本资料</a></dd>
            <dd><a lay-href="set/user/password">修改密码</a></dd>
            <hr>
            <dd layadmin-event="logout" style="text-align: center;"><a>退出</a></dd>
          </dl>
        </script>
      </li>

      <li class="layui-nav-item layui-hide-xs" lay-unselect>
        <a href="javascript:;" layadmin-event="about"><i class="layui-icon layui-icon-more-vertical"></i></a>
      </li>
      <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect>
        <a href="javascript:;" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a>
      </li>
    </ul>
  </div>

  <!-- 侧边菜单 -->
  <div class="layui-side layui-side-menu">
    <div class="layui-side-scroll">
      <script type="text/html" template lay-url="/manage/system/menu/left.json?v={{ layui.admin.v }}"
      lay-done="layui.element.render('nav', 'layadmin-system-side-menu');" id="TPL_layout">

        <div class="layui-logo" lay-href="">
          <span>{{ layui.setter.name || 'layuiAdmin' }}</span>
        </div>

        <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
        {{#
          var path =  layui.router().path
          ,pathURL = layui.admin.correctRouter(path.join('/'))
          ,dataName = layui.setter.response.dataName;

          layui.each(d[dataName], function(index, item){
            var hasChildren = typeof item.list === 'object' && item.list.length > 0
            ,classSelected = function(){
              var match =(path[0] == item.name || (index == 0 && !path[0])
              || (item.jump && pathURL == layui.admin.correctRouter(item.jump)) || item.spread);
              if(match){
                return hasChildren ? 'layui-nav-itemed' : 'layui-this';
              }
              return '';
            }
            ,url = (item.jump && typeof item.jump === 'string') ? item.jump : item.name;
        }}
          <li data-name="{{ item.name || '' }}" data-jump="{{ item.jump || '' }}" class="layui-nav-item {{ classSelected() }}">
            <a href="javascript:;" {{ hasChildren ? '' : 'lay-href="'+ url +'"' }} lay-tips="{{ item.title }}" lay-direction="2">
              <i class="layui-icon {{ item.icon }}"></i>
              <cite>{{ item.title }}</cite>
            </a>
            {{# if(hasChildren){ }}
              <dl class="layui-nav-child">
              {{# layui.each(item.list, function(index2, item2){
                var hasChildren2 = typeof item2.list == 'object' && item2.list.length > 0
                ,classSelected2 = function(){
                  var match = path.length>0 && ((path[0] == item.name && path[1] == item2.name)
                  || (item2.jump && pathURL == layui.admin.correctRouter(item2.jump)) || item2.spread);
                  if(match){
                    return hasChildren2 ? 'layui-nav-itemed' : 'layui-this';
                  }
                  return '';
                }
                ,url2 = (item2.jump && typeof item2.jump === 'string')
                  ? item2.jump
                : [item.name, item2.name, ''].join('/');
              }}
                <dd  data-name="{{ item2.name || '' }}"  data-jump="{{ item2.jump || '' }}"
                {{ classSelected2() ? ('class="'+ classSelected2() +'"') : '' }}>
                  <a href="javascript:;" {{ hasChildren2 ? '' : 'lay-href="'+ url2 +'"' }}>{{ item2.title }}</a>
                  {{# if(hasChildren2){ }}
                    <dl class="layui-nav-child">
                      {{# layui.each(item2.list, function(index3, item3){
                        var match = path.length>0 && ((path[0] == item.name && path[1] == item2.name && path[2] == item3.name)
                        || (item3.jump && pathURL == layui.admin.correctRouter(item3.jump)))
                        ,url3 = (item3.jump && typeof item3.jump === 'string')
                          ? item3.jump
                        : [item.name, item2.name, item3.name].join('/')
                      }}
                        <dd data-name="{{ item3.name || '' }}"  data-jump="{{ item3.jump || '' }}"
                        {{ match ? 'class="layui-this"' : '' }}>
                          <a href="javascript:;" lay-href="{{ url3 }}" {{ item3.iframe ? 'lay-iframe="true"' : '' }}>{{ item3.title }}</a>
                        </dd>
                      {{# }); }}
                    </dl>
                  {{# } }}
                </dd>
            {{# }); }}
            </dl>
            {{# } }}
          </li>
        {{# }); }}
        </ul>
      </script>
    </div>
  </div>


  <!-- 页面标签 -->
  <script type="text/html" template lay-done="layui.element.render('nav', 'layadmin-pagetabs-nav')">
    {{# if(layui.setter.pageTabs){ }}
    <div class="layadmin-pagetabs" id="LAY_app_tabs">
      <div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
      <div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
      <div class="layui-icon layadmin-tabs-control layui-icon-down">
        <ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
          <li class="layui-nav-item" lay-unselect>
            <a href="javascript:;"></a>
            <dl class="layui-nav-child layui-anim-fadein">
              <dd layadmin-event="closeThisTabs"><a href="javascript:;">关闭当前标签页</a></dd>
              <dd layadmin-event="closeOtherTabs"><a href="javascript:;">关闭其它标签页</a></dd>
              <dd layadmin-event="closeAllTabs"><a href="javascript:;">关闭全部标签页</a></dd>
            </dl>
          </li>
        </ul>
      </div>
      <div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
        <ul class="layui-tab-title" id="LAY_app_tabsheader">
          <li lay-id="/"><i class="layui-icon layui-icon-home"></i></li>
        </ul>
      </div>
    </div>
    {{# } }}
  </script>


  <!-- 主体内容 -->
  <div class="layui-body" id="LAY_app_body">
    <div class="layadmin-tabsbody-item layui-show"></div>
  </div>

  <!-- 辅助元素，一般用于移动设备下遮罩 -->
  <div class="layadmin-body-shade" layadmin-event="shade"></div>

  <!-- 添加页/编辑页/设定页 模板 -->
  <script id="tplField" type="text/html">
    {{# d.style = typeof d.style ==='undefined'?'':d.style}}
    {{# if(d.type == 'hidden' || d.type == 'hide'){ }}
      <input type="hidden" name="{{d.key}}" value="{{d.value?d.value:''}}">
    {{# }else if(d.type == 'set'){ }}
    <fieldset class="layui-elem-field layui-field-title {{d.style}}" {{=d.color?'style="border-color: '+d.color+';color: '+d.color+'"':''}}><legend >{{d.name}}</legend></fieldset>
    {{# }else if(d.type == 'quote'){ }}
    <blockquote class="layui-elem-quote  {{d.style}}">{{d.name}}</blockquote>
    {{# }else{ }}
      {{# var isdisabled=d.disabled?'disabled':''}}
      <div class="layui-form-item {{d.style}}">
        <label class="layui-form-label">{{d.name}}{{#if(d.require){}} <span style="color: #ff5555;">*</span>{{#}}}</label>
        <div class="layui-input-block">
          {{# if(d.type == 'num'){ }}
            <input type="number" name="{{d.key}}" value="{{d.verify?d.verify:(typeof d.value==='number'?d.value:'')}}" {{d.filter?'lay-filter="'+d.filter+'"':''}} class="layui-input" {{isdisabled}}>
          {{# }else if(d.type == 'date'){ }}
          <input type="text" name="{{d.key}}" value="{{ d.value?d.value:'' }}" class="layui-input" {{isdisabled}} id="date-{{ d.key }}">
          {{# }else if(d.type == 'datetime'){}}
          <input type="text" name="{{d.key}}" value="{{ d.value?d.value:'' }}" class="layui-input" {{isdisabled}} id="datetime-{{ d.key }}">
          {{# }else if(d.type == 'text'){ }}
            {{# var match = d.key.match(/(phone|email|identity)/) }}
            <input type="text" name="{{d.key}}" lay-verify="{{d.verify?d.verify:(match && match.length > 1 ? match[0] : '')}}" value="{{=d.value?d.value:''}}" {{d.filter?'lay-filter="'+d.filter+'"':''}} class="layui-input" {{isdisabled}}>
          {{# }else if(d.type == 'radio'){ }}
            {{# var value,title,values = d.extra.split(pt_nr) }}
            <div>
            {{# layui.each(values, function(i, item){ }}
              {{# item = item.split(':');}}
              {{# if(item.length >= 2){ }}
                {{# value = item[0];item.shift(0);title=item.join(':')}}
                <input type="radio" name="{{d.key}}" value="{{value}}" title="{{title}}" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{d.value && d.value==value?'checked':''}}>
              {{# } }}
            {{# }); }}
            </div>
          {{# }else if(d.type == 'checkbox'){ }}
            {{# var value,title,values = d.extra.split(pt_nr)}}
            <div >
            {{#  layui.each(values, function(i, item){ }}
              {{# item = item.split(':');}}
              {{# if(item.length >= 2){ }}
                {{# value = item[0];item.shift();title=item.join(':')}}
                <input type="checkbox" name="{{d.key}}[]" value="{{value}}" title="{{title}}" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{=d.value && d.value==value?'checked':''}}>
              {{# } }}
            {{# }); }}
            </div>
          {{# }else if(d.type == 'textarea'){ }}
            <textarea name="{{d.key}}" placeholder="请输入{{d.name}}" class="layui-textarea" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{isdisabled}}>{{=d.value?d.value:''}}</textarea>
          {{# }else if(d.type == 'editor'){ }}
            <textarea name="{{d.key}}" class="layui-hide" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{isdisabled}}>{{=d.value?d.value:''}}</textarea>
            <div id="editor_box_{{d.key}}"></div>
          {{# }else if(d.type == 'array'){ }}
            <textarea name="{{d.key}}" placeholder="请输入{{d.name}}" class="layui-textarea" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{isdisabled}}>{{=d.value?d.value:''}}</textarea>
          {{# }else if(d.type == 'select'){ }}
            {{# d.extra = typeof d.extra == 'object' ? d.extra : JSON.parse(d.extra) ;}}
            <select name="{{d.key}}" lay-search {{d.filter?'lay-filter="'+d.filter+'"':''}} {{isdisabled}}>
              <option value=""></option>
            {{#  layui.each(d.extra, function(k, v){ }}
              <option value="{{k}}" {{=d.value && d.value==k?'selected':''}}>{{v}}</option>
            {{# }); }}
            </select>
          {{# }else if(d.type == 'switch'){ }}
            <div>
              <input type="checkbox" name="{{d.key}}" lay-skin="switch" lay-text="{{= d.extra ? d.extra : '开启|关闭'}}" value="1" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{d.value == 1 || d.checked ? 'checked' : ''}} {{isdisabled}}>
            </div>
          {{# }else if(d.type == 'label'){ }}
            <input type="text" name="{{d.key}}" value="{{=d.value?d.value:''}}" class="layui-input" style="border: none;" disabled {{d.filter?'lay-filter="'+d.filter+'"':''}}>
          {{# }else if(d.type == 'password'){ }}
            <input type="password" name="{{d.key}}" value="" placeholder="{{=d.placeholder?d.placeholder:'请输入'+d.name}}" class="layui-input" {{d.filter?'lay-filter="'+d.filter+'"':''}} {{isdisabled}}>
          {{# }else if(d.type == 'slider'){ }}
            <input type="hidden" name="{{d.key}}" value="" class="layui-input" {{d.filter?'lay-filter="'+d.filter+'"':''}}>
            <div id="slider_{{d.key}}" style="top: 16px;"></div>
          {{# }else if(d.type == 'rate'||d.type == 'star'){ }}
          <div id="rate_box_{{d.key}}"></div>
          <input id="rate_input_{{d.key}}" name="{{d.key}}" type="hidden" value="{{=d.value?d.value:''}}">
          {{# }else if(d.type == 'img'||d.type == 'file'){ }}
          <div>
            <div class="layui-col-md10">
              <input type="text" name="{{d.key}}" lay-verify="url" value="{{=d.value?d.value:''}}" {{d.readonly?'readonly="readonly"':''}} {{d.filter?'lay-filter="'+d.filter+'"':''}} class="layui-input">
            </div>
            <div class="layui-col-md2">
              <button type="button" class="layui-btn" id="btn_upload_{{d.key}}" style="width: 100%;">
                  <i class="{{d.icon?d.icon:'layui-icon'}}"></i>{{d.text?d.text:'上传'}}
              </button>
            </div>
          </div>
          {{# }else if(d.type == 'imgs'){ }}
          <div class="img_upload_box">
            <div class="img_file_box" id="img_file_{{d.key}}"></div>
            <div class="img_preview_box" id="img_preview_{{d.key}}">
              <button type="button" class="layui-btn" id="btn_upload_{{d.key}}"><i class="layui-icon">&#xe67c;</i>上传</button>
            </div>
            <div class="layui-form-mid layui-word-aux"></div>
          </div>
          {{# } }}

          {{# if(d.intro){ }}
          <div class="layui-form-mid layui-word-aux">{{d.intro}}</div>
          {{# } }}
        </div>
      </div>
    {{# } }}
  </script>
  <!-- 列表页 模板 -->
  <script type="text/html" id="table-switch">
    <input type="checkbox" lay-skin="switch" lay-text="{{=d.CONFIG.text?d.CONFIG.text:'开启|关闭'}}" lay-filter="table-switch" data-field="{{d.FIELD}}" value="{{d.id}}" {{d.VALUE == 1 ? 'checked' : '' }} {{=d.CONFIG.disabled?'disabled':''}}>
  </script>
  <script type="text/html" id="table-curd-list">
    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
  </script>
  <script type="text/html" id="table-img">
    <img src="{{d.VALUE}}">
  </script>
  <script type="text/html" id="table-label">
    {{#
    var data = typeof d.CONFIG.data === 'object' ? d.CONFIG.data : JSON.parse(d.CONFIG.data);
    var text = data[d.VALUE] ? data[d.VALUE] : '未知'
    }}
    {{ text }}
  </script>
  <script type="text/html" id="table-timestamp">
    {{#
    var time = new Date(d.VALUE*1000),
    y = time.getFullYear(),
    m = time.getMonth()+1,
    d = time.getDate(),
    h = time.getHours(),
    mm = time.getMinutes(),
    s = time.getSeconds();
    var date =  y+'-'+(m<10?'0'+m:m)+'-'+(d<10?'0'+d:d)+' '+(h<10?'0'+h:h)+':'+(mm<10?'0'+mm:mm)+':'+(s<10?'0'+s:s);
    }}
    {{date}}
  </script>
</div>
