初始化项目

This commit is contained in:
2016-06-21 17:12:08 +08:00
commit 7ea154d684
903 changed files with 226100 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
{extend name="public/base"/}
{block name="body"}
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>{:isset($info['id'])?'编辑':'新增'}后台菜单</h2>
</div>
<div class="pull-right"></div>
</header>
<div class="main-box-body clearfix">
<form method="post" class="form form-horizontal">
<div class="form-group">
<label class="col-lg-2 control-label">标题</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="title" value="{$info.title|default=''}" style="width: 80%">
<span class="help-block">(用于后台显示的配置标题)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">小图标</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="icon" value="{$info.icon|default=''}" style="width: 80%">
<span class="help-block">(用于显示在菜单左侧,不填则不显示)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">排序</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="sort" value="{$info.sort|default=0}" style="width: 60%">
<span class="help-block">(用于分组显示的顺序)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">链接</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="url" value="{$info['url']|default=''}" style="width: 80%">
<span class="help-block">U函数解析的URL或者外链</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">上级菜单</label>
<div class="col-lg-10">
<select name="pid" class="form-control" style="width: 50%">
{volist name="Menus" id="menu"}
<option value="{$menu['id']}" {if $info['pid'] == $menu['id']}selected{/if}>{$menu.title_show}</option>
{/volist}
</select>
<span class="help-block">(所属的上级菜单)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">分组</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="group" value="{$info['group']|default=''}" style="width: 50%">
<span class="help-block">(用于左侧分组二级菜单)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">是否隐藏</label>
<div class="col-lg-1">
<select name="hide" class="form-control">
<option value="0" ></option>
<option value="1" {if isset($info['hide']) && $info['hide']==1}selected{/if}>
</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">仅开发者模式可见</label>
<div class="col-lg-1">
<select name="is_dev" class="form-control">
<option value="0" ></option>
<option value="1" {if isset($info['is_dev']) && $info['is_dev']==1}selected{/if}>
</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">说明</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="tip" value="{$info.tip|default=''}" style="width: 60%;">
<span class="help-block">(菜单详细说明)</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input type="hidden" name="id" value="{$info['id']|default=''}">
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
</div>
</div>
</form>
</div>
</div>
{/block}

View File

@@ -0,0 +1,29 @@
{extend name="public/base"/}
{block name="body"}
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>批量导入 [{$data['title']|default='顶级菜单'}]</h2>
</div>
</header>
<div class="main-box-body clearfix">
<form id="form" action="{:url('import')}" method="post" class="form form-horizontal">
<!-- 基础文档模型 -->
<div class="form-group">
<label class="col-lg-2 control-label">导入的内容</label>
<div class="col-lg-10">
<textarea name="tree" class="form-control" style="width:80%; height:160px;"></textarea>
<span class="help-block"><b>导入格式:</b><br/>首页|Index/index|0|分组名称<br/>更新缓存|Index/clear|0|分组名称<br/>(请按照导入格式输入)</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input type="hidden" name="id" value="{$info.id|default=''}">
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
</div>
</div>
</form>
</div>
</div>
{/block}

View File

@@ -0,0 +1,120 @@
{extend name="public/base"/}
{block name="style"}
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/bootstrap-editable.css">
{/block}
{block name="body"}
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>{present name="data"}[ {$data['title']} ] 子{/present}菜单管理</h2>
</div>
<div class="pull-right">
<!-- <div class="search-form pull-left">
<div class="form-group">
<input type="text" name="title" class="form-control" value="{:input('title')}"
placeholder="请输入菜单名称">
<span class="input-group-btn"><a class="btn btn-default" href="javascript:;" id="search" url="__SELF__"><i class="icon-search"></i></a></span>
</div>
</div> -->
<a class="btn btn-primary" href="{:url('add',array('pid'=>input('get.pid',0)))}">新 增</a>
<button class="btn btn-danger ajax-post confirm" url="{:url('del')}" target-form="ids">删 除</button>
<a class="btn btn-success" href="{:url('import',array('pid'=>input('get.pid',0)))}">导 入</a>
</div>
</header>
<div class="main-box-body clearfix">
<form class="ids">
<div class="table-responsive clearfix">
<table class="table table-hover">
<thead>
<tr>
<th class="row-selected">
<input class="checkbox check-all" type="checkbox">
</th>
<th>ID</th>
<th>名称</th>
<th>上级菜单</th>
<th>分组</th>
<th>URL</th>
<th>排序</th>
<th>仅开发者模式显示</th>
<th>隐藏</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{notempty name="list"}
{volist name="list" id="menu"}
<tr>
<td><input class="ids row-selected" type="checkbox" name="id[]" value="{$menu.id}"></td>
<td>{$menu.id}</td>
<td>
{$menu['level_show']}
<a href="#" class="editable editable-click" data-id="{$menu['id']}" data-name="title" data-type="text" data-pk="{$menu['id']}" data-url="{:url('editable')}">{$menu['title']}</a>
<a class="add-sub-cate" title="添加子分类" href="{:url('add?pid='.$menu['id'])}">
<i class="fa fa-plus-square"></i>
</a>
</td>
<td>{$menu.up_title|default='无'}</td>
<td>{$menu.group}</td>
<td>{$menu.url}</td>
<td><a href="#" class="editable editable-click" data-id="{$menu['id']}" data-name="sort" data-type="text" data-pk="{$menu['id']}" data-url="{:url('editable')}">{$menu['sort']}</a></td>
<td>
<a href="{:url('toogleDev',array('id'=>$menu['id'],'value'=>abs($menu['is_dev']-1)))}"
class="ajax-get">
{$menu.is_dev_text}
</a>
</td>
<td>
<a href="{:url('toogleHide',array('id'=>$menu['id'],'value'=>abs($menu['hide']-1)))}"
class="ajax-get">
{$menu.hide_text}
</a>
</td>
<td>
<a title="编辑" href="{:url('edit?id='.$menu['id'])}">编辑</a>
<a class="confirm ajax-get" title="删除" href="{:url('del?id='.$menu['id'])}">删除</a>
</td>
</tr>
{/volist}
{else/}
<td colspan="10" class="text-center"> aOh! 暂时还没有内容!</td>
{/notempty}
</tbody>
</table>
</div>
</form>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript" src="__PUBLIC__/js/bootstrap-editable.min.js"></script>
<script type="text/javascript">
$(function () {
$.fn.editable.defaults.mode = 'popup';
$.fn.editableform.buttons = '<button type="submit" class="btn btn-success editable-submit btn-mini"><i class="fa fa-check-square-o fa-white"></i></button>' +
'<button type="button" class="btn editable-cancel btn-mini"><i class="fa fa-times"></i></button>';
$('.editable').editable();
//搜索功能
$("#search").click(function () {
var url = $(this).attr('url');
var query = $('.search-form').find('input').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.location.href = url;
});
//回车搜索
$(".search-input").keyup(function (e) {
if (e.keyCode === 13) {
$("#search").click();
return false;
}
});
});
</script>
{/block}

View File

@@ -0,0 +1,111 @@
{extend name="public/base"/}
{block name="body"}
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>菜单排序 [ <a href="{:url('index',array('pid'=>I('pid')))}">返回列表</a> ]</h2>
</div>
</header>
<div class="main-box-body clearfix">
<form action="{:url('sort')}" method="post" class="form form-horizontal">
<div class="form-group">
<div class="col-lg-2">
<select value="" size="8" class="form-control">
{volist name="list" id="vo"}
<option class="ids" title="{$vo.title}" value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</div>
<div class="col-lg-2">
<button class="top btn btn-primary btn-block" type="button"><i class="fa fa-arrow-up"></i> 第 一</button>
<button class="up btn btn-primary btn-block" type="button"><i class="fa fa-chevron-up"></i> 上 移</button>
<button class="down btn btn-primary btn-block" type="button"><i class="fa fa-chevron-down"></i> 下 移</button>
<button class="bottom btn btn-primary btn-block" type="button"><i class="fa fa-arrow-down"></i> 最 后</button>
</div>
</div>
<div class="sort_bottom form-group">
<div class="col-lg-12">
<input type="hidden" name="ids">
<button class="sort_confirm btn btn-primary submit-btn" type="button">确 定</button>&nbsp;
<button class="sort_cancel btn btn-dafault btn-return" type="button" url="{$Think.cookie.__forward__}">返 回</button>
</div>
</div>
</form>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript">
$(function(){
sort();
$(".top").click(function(){
rest();
$("option:selected").prependTo("select");
sort();
})
$(".bottom").click(function(){
rest();
$("option:selected").appendTo("select");
sort();
})
$(".up").click(function(){
rest();
$("option:selected").after($("option:selected").prev());
sort();
})
$(".down").click(function(){
rest();
$("option:selected").before($("option:selected").next());
sort();
})
$(".search").click(function(){
var v = $("input").val();
$("option:contains("+v+")").attr('selected','selected');
})
function sort(){
$('option').text(function(){return ($(this).index()+1)+'.'+$(this).text()});
}
//重置所有option文字。
function rest(){
$('option').text(function(){
return $(this).text().split('.')[1]
});
}
//获取排序并提交
$('.sort_confirm').click(function(){
var arr = new Array();
$('.ids').each(function(){
arr.push($(this).val());
});
$('input[name=ids]').val(arr.join(','));
$.post(
$('form').attr('action'),
{
'ids' : arr.join(',')
},
function(data){
if (data.status) {
updateAlert(data.info + ' 页面即将自动跳转~','alert-success');
}else{
updateAlert(data.info,'alert-success');
}
setTimeout(function(){
if (data.status) {
$('.sort_cancel').click();
}
},1500);
},
'json'
);
});
//点击取消按钮
$('.sort_cancel').click(function(){
window.location.href = $(this).attr('url');
});
})
</script>
{/block}