master
yulingwei 5 years ago
parent 7cbf2118e2
commit 5542994e36

@ -862,6 +862,92 @@ class ArticleController extends AdminController {
$this->ajaxReturn(['status'=>0,'info'=>'请求有误'],'json');
}
}
public function pop_rules($row = 10, $type = '', $tag = '', $p = 1)
{
$map = [];
$map['_string'] = " 1=1 ";
if (isset($_GET['time-start'])) {
$map['_string'] .= " and operate_time >= " . strtotime($_GET['time-start']);
}
if (isset($_GET['time-end'])) {
$map['_string'] .= " and operate_time < " . (strtotime($_GET['time-end']) + 86400);
}
if (isset($type)) {
$map['type'] = $type;
}
if (!empty($_GET['title'])) {
$map['title'] = ['like', "%{$_GET['title']}%"];
}
$list = M('document_pop_rules')->where($map)->page($p, $row)->select();
$count = M('document_pop_rules')->where($map)->count();
if (!empty($list)) {
$weekDes = ["一", "二", '三', '四', '五', '六', '日'];
$statusDes = ['1'=>'执行完成', '2'=>'下架', '3'=>'待执行'];
foreach ($list as &$item) {
switch ($item['type']) {
case '1':
$item['time_desc'] = date("Y-m-d", $item['pop_time']);
break;
case '2':
$item['time_desc'] = "每周".$weekDes[$item['pop_time']];
break;
}
}
}
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('list_data', $list);
$this->display('pop_rules');
}
public function pop_rule_edit($id=0)
{
if (IS_POST) {
if (empty($_POST['title']) || empty($_POST['desc']) || !isset($_POST['sort']) || empty($_POST['content'])) {
return $this->error("请填写完整的内容");
}
if (!is_numeric($_POST['sort'])) {
return $this->error("权重值需为数字");
}
if (!empty($_POST['type']) && empty($_POST['pop_time'])) {
return $this->error("请选择弹窗时间");
}
if ($_POST['type'] == 1 ) {
$_POST['pop_time'] = strtotime($_POST['pop_time']);
}
if ($id) {
$pop_rules_model = M('document_pop_rules');//M('$this->$model_name','tab_');
$res = $pop_rules_model->where(['id'=>$id])->save($_POST);
return $res ? $this->success("更新成功") : $this->error("更新失败");
} else {
$pop_rules_model = M('document_pop_rules');//M('$this->$model_name','tab_');
$data = $_POST;
$data['operate_time'] = time();
$data['operater_id'] = is_login();
$data['status'] = 1;
$res = $pop_rules_model->add($data);
return $res ? $this->success("新增完成") : $this->error("新增失败");
}
} else {
if($id) {
if ($_GET['delete']) {
$pop_rules_model = M('document_pop_rules');//M('$this->$model_name','tab_');
$res = $pop_rules_model->where(['id'=>$id])->delete();
return $res ? $this->success("删除成功") : $this->error("删除失败");
}
$rule = M('document_pop_rules')->where(['id'=>$id])->find();
if (!$rule) {
return $this->error('记录不存在');
}
$rule['pop_time'] = date("Y-m-d", ($rule['pop_time'] <= 10 ? time() : $rule['pop_time']));
$this->assign('rule', $rule);
}
}
$this->display('pop_rule_edit');
}
}

@ -0,0 +1,90 @@
<extend name="Public/base" />
<!-- 管理员用户组新增和编辑页面 -->
<block name="body">
<form action="{:U('Article/pop_rule_edit')}" enctype="application/x-www-form-urlencoded" method="POST"
class="form-horizontal form_info_ml">
<div class="formtitle"><span>编辑平台规则</span></div>
<ul class="form_info ">
<input type="hidden" name="id" value="{$rule.id}" />
<li>
<label>标题</label>
<input name="title" type="text" class="" placeholder="标题" value="{$rule.title}" />
</li>
<li>
<label>描述</label>
<textarea name="desc" class="" placeholder="描述" >{$rule.desc}</textarea>
</li>
<li>
<label>权重</label>
<input name="sort" type="text" class="txt" placeholder="权重" value="{$rule.sort}" />
</li>
<li>
<label>类型</label>
<select id="type" name="type" class="select_gallery" onchange="checkPopTime();">
<option value="0" <?php if ($rule['type'] == 0):?>selected<?php endif;?>>不弹窗</option>
<option value="1" <?php if ($rule['type'] == 1):?>selected<?php endif;?>>单次弹窗</option>
<option value="2" <?php if ($rule['type'] == 2):?>selected<?php endif;?>>循环弹窗</option>
</select>
</li>
<li id="li-pop-time"></li>
<li>
<label>内容</label>
<span class="form_textarea">
<textarea name="content">{$rule.content}</textarea>
{:hook('adminArticleEdit', array('name'=>'content','value'=>$rule['content']))}
</span>
</li>
<li>
<label>&nbsp;</label><input type="submit" id="submit" value="确认保存" target-form="form-horizontal" class="form_btn ajax-post">
</li>
</ul>
</form>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="AuthManager/index">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '
<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">
';
</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
<script type="text/javascript">
highlight_subnav('{:U('Article/pop_rule_edit')}');
function checkPopTime()
{
$("#li-pop-time").html("");
var type_val = $("#type").val();
if (type_val == 0) {
//$('#li-pop-time').hide();
} else if (type_val == 1) {
$("#li-pop-time").html('<label>弹窗时间</label><input type="text" id="pop_time" name="pop_time" class="" value="{$rule.pop_time}" placeholder="弹窗时间" />');
$('#pop_time').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
} else if (type_val == 2) {
//$('#li-pop-time').show();
$("#li-pop-time").html('<label>弹窗时间</label><select id="pop_time" name="pop_time" class="select_gallery"><option value="1" <?php if ($rule["pop_time"] == 1):?>selected<?php endif;?>>周一</option><option value="2" <?php if ($rule["pop_time"] == 2):?>selected<?php endif;?> >周二</option><option value="3" <?php if ($rule["pop_time"] == 3):?>selected<?php endif;?> >周三</option><option value="4" <?php if ($rule["pop_time"] == 4):?>selected<?php endif;?> >周四</option><option value="5" <?php if ($rule["pop_time"] == 5):?>selected<?php endif;?> >周五</option><option value="6" <?php if ($rule["pop_time"] == 6):?>selected<?php endif;?> >周六</option><option value="7" <?php if ($rule["pop_time"] == 7):?>selected<?php endif;?> >周日</option></select>');
}
}
checkPopTime();
</script>
</block>

@ -0,0 +1,238 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css"/>
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
</style>
<!-- 标题栏 -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">平台规则</h3>
<p class="description_text">说明:此处显示平台规则记录</p>
</div>
<div class="cf top_nav_list">
<!-- <div class="fl button_list">
<a class="confirm ajax-post" id="dtnn" target-form="ids" url="{:U('Member/delprovide')}"><span class="button_icon button_icon2 "></span>批量删除</a>
</div> -->
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list" >
<input type="text" id="time-start" name="time-start" class="" value="{:I('time-start')}" placeholder="创建开始时间" />
&nbsp;-&nbsp;
<input type="text" id="time-end" name="time-end" class="" value="{:I('time-end')}" placeholder="创建结束时间" />
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="type" name="type" class="select_gallery">
<option value="">类型</option>
<option value="0" <?php echo I('type') == 3 ? "selected" : "" ?>>不弹窗</option>
<option value="1" <?php echo I('type') == 1 ? "selected" : "" ?> >单次弹窗</option>
<option value="2" <?php echo I('type') == 2 ? "selected" : "" ?> >循环弹窗</option>
</select>
</div>
<!-- <div class="input-list input-list-game search_label_rehab">
<select id="status" name="status" class="select_gallery">
<option value="">状态</option>
<option value="3" <?php echo I('status') == 3 ? "selected" : "" ?>>待执行</option>
<option value="1" <?php echo I('status') == 1 ? "selected" : "" ?> >执行完毕</option>
<option value="2" <?php echo I('status') == 2 ? "selected" : "" ?> >下架</option>
</select>
</div> -->
<div class="input-list">
<input type="text" name="title" class="" placeholder="文档标题" value="{:I('title')}">
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search"
url="{:U('Article/pop_rules','model='.$model['name'] . '&row=' . I('row'),false)}">
搜索
</a>
</div>
<div class="input-list">
<a class="sch-btn" href="{:U('Article/pop_rule_edit')}">
新增
</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<!-- <th class="">
<input class="check-all" type="checkbox">
</th> -->
<th>ID</th>
<th>标题</th>
<th>描述</th>
<th>时间</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name="list_data">
<td colspan="8" class="text-center">aOh! 暂时还没有内容!</td>
<else/>
<volist name="list_data" id="data">
<tr>
<!-- <td><input class="ids" type="checkbox" value="{$data['id']}" name="ids"></td> -->
<td>{$data.id}</td>
<td><a href="{:U('Article/pop_rule_edit',array('id'=>$data['id']))}">{$data.title}</a></td>
<td >{$data.desc}</td>
<td>{$data.time_desc}</td>
<td>
<a href="{:U('Article/pop_rule_edit',array('id'=>$data['id']))}">编辑 </a>
<a class="confirm ajax-get" href="{:U('Article/pop_rule_edit',array('id'=>$data['id'], 'delete'=>1))}">删除 </a>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</div>
<div class="page">
{$_page|default=''}
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '
<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">
';
</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Article/pop_rules')}');
$(function () {
<volist name = ":I('get.')" id = "vo" > Think.setValue('{$key}', "{$vo}");
</volist >
$(".select_gallery").select2();
//搜索功能
$("#search").click(function () {
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
var start = $("#time-start").val();
var end = $("#time-end").val();
if (start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function (event) {
if (event.keyCode === 13) {
$("#search").click();
}
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
$(".drop-down2").on('click', function (event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function () {
navlist.addClass('hidden');
});
event.stopPropagation();
});
var a = $('.i_list_li li a');
$('#i_list_id').on('keyup', function (event) {
var val = $.trim($(this).val()).toLowerCase();
$('#i_list_idh').val(val);
});
$("#i_list_li").find("a").each(function () {
$(this).click(function () {
var text = $.trim($(this).text()).toLowerCase();
$("#i_list_id").val(text);
$('#i_list_idh').val(text);
})
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#time-end').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
})
</script>
</block>
Loading…
Cancel
Save