|
- <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"></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>
|