关于日期插件My97 DatePicker与Think php模版标签冲突的解决方法
http://www.h-ui.net/H-ui.admin.shtml
common.js
function singwaapp_save(form) {
var data = $(form).serialize();
url = $(form).attr('url');
$.post(url, data, function (result) {
if (result.code == 0) {
layer.msg(result.msg, {icon: 5, time: 2000});
} else if (result.code == 1) {
self.location = result.data.jump_url;
}
}, 'JSON');
}
function selecttime(flag){
if(flag==1){
var endTime = $("#countTimeend").val();
if(endTime != ""){
WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',maxDate:endTime})}else{
WdatePicker({dateFmt:'yyyy-MM-dd HH:mm'})}
}else{
var startTime = $("#countTimestart").val();
if(startTime != ""){
WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',minDate:startTime})}else{
WdatePicker({dateFmt:'yyyy-MM-dd HH:mm'})}
}
}
News.php(Model)
<?php
/**
* Created by PhpStorm.
* User: tong
* Date: 2017/11/8
* Time: 16:43
*/
namespace app\common\model;
class News extends Base
{
public function getNews($data = [])
{
$data['status'] = [
'neq', config('code.status_delete')];
$order = ['id' => 'desc'];
$result = $this->where($data)
->order($order)
->paginate();
//调试
echo $this->getLastSql();
/**
* SELECT * FROM `ent_news` WHERE `status` <> -1 ORDER BY `id` desc LIMIT 0,3 <>
* SELECT * FROM `ent_news` WHERE `status` <> -1 ORDER BY `id` desc LIMIT 3,3 <>
*/
return $result;
}
/**
* 根据来获取列表的数据
* @param array $param
*/
public function getNewsByCondition($condition = [], $from = 0, $size = 5)
{
$condition['status'] = [
'neq', config('code.status_delete')];
$order = ['id' => 'desc'];
$result = $this->where($condition)
->limit($from, $size)
->order($order)
->select();
//SELECT * FROM `ent_news` WHERE `status` <> -1 ORDER BY `id` desc LIMIT 0,3
// echo $this->getLastSql();
return $result;
}
/**
* 根据条件来获取列表的数据的总数
* @param array $param
*/
public function getNewsCountCondition($condition = [])
{
$condition['status'] = [
'neq', config('code.status_delete')];
return $this->where($condition)
->count();
//SELECT COUNT(*) AS tp_count FROM `ent_news` WHERE `status` <> -1 LIMIT 1
//echo $this->getLastSql();
}
}
/**
* 根据来获取列表的数据
* @param array $param
*/
public function getNewsByCondition($condition = [], $from = 0, $size = 5)
{
$condition['status'] = [
'neq', config('code.status_delete')];
$order = ['id' => 'desc'];
$result = $this->where($condition)
->limit($from, $size)
->order($order)
->select();
//SELECT * FROM `ent_news` WHERE `status` <> -1 ORDER BY `id` desc LIMIT 0,3
// echo $this->getLastSql();
return $result;
}
/**
* 根据条件来获取列表的数据的总数
* @param array $param
*/
public function getNewsCountCondition($condition = [])
{
$condition['status'] = [
'neq', config('code.status_delete')];
return $this->where($condition)
->count();
//SELECT COUNT(*) AS tp_count FROM `ent_news` WHERE `status` <> -1 LIMIT 1
//echo $this->getLastSql();
}
Base.php(Controller)
<?php
/**
* Created by PhpStorm.
* User: tong
* Date: 2017/11/8
* Time: 15:14
*/
namespace app\admin\controller;
use think\Controller;
class Base extends Controller
{
/**
* page
* @var string
*/
public $page = '';
/**
* 每页显示多少条
* @var string
*/
public $size = '';
/**
* 查询条件的起始值
* @var int
*/
public $from = 0;
protected function _initialize()
{
$isLogin = $this->isLogin();
if (!$isLogin) {
$this->redirect('login/index');
}
}
public function isLogin()
{
$user = session(config('admin.session_user'), '',
config('admin.session_user_scope'));
if ($user && $user->id) {
return true;
}
return false;
}
/**
* 获取分页page size内容
*/
public function getPageAndSize($data)
{
$this->page = !empty($data['page']) ? $data['page'] : 1;
$this->size = !empty($data['size']) ? $data['size'] : config('paginate.list_rows');
$this->from = ($this->page - 1) * $this->size;
}
}
News.php(Controller)
<?php
/**
* Created by PhpStorm.
* User: tong
* Date: 2017/11/8
* Time: 15:21
*/
namespace app\admin\controller;
class News extends Base
{
public function index()
{
$data = input('param.');
$whereData = [];
$query=http_build_query($data);
/**
* string 'catid=1&start_time=2017-10-03+15%3A24
* &end_time=2017-11-09+15%3A24&title=d' (length=73)
*/
//halt($query);
/**
* array (size=4)
* 'catid' => string '0' (length=1)
* 'start_time' => string '2017-10-02 14:23' (length=16)
* 'end_time' => string '2017-11-09 14:23' (length=16)
* 'title' => string '1233333' (length=7)
*/
//halt($data);
//转换查询条件
if (!empty($data['start_time']) &&
!empty($data['end_time']) &&
$data['end_time'] > $data['start_time']
) {
$whereData['create_time'] = [
['gt', strtotime($data['start_time'])],
['lt', strtotime($data['end_time'])],
];
}
if (!empty($data['catid'])) {
$whereData['catid'] = intval($data['catid']);
}
if (!empty($data['title'])) {
$whereData['title'] = [
'like', '%' . $data['title'] . '%'
];
}
$this->getPageAndSize($data);
//获取表里面的数据
$news = model('News')->getNewsByCondition($whereData, $this->from, $this->size);
//获取满足条件的数据总数=》有多少页
$total = model('News')->getNewsCountCondition($whereData);
//结合总数+size =>有多少页
//1.1=>2
$pageTotal = ceil($total / $this->size);
return $this->fetch('', [
'cats' => config('cat.list'),
'news' => $news,
'pageTotal' => $pageTotal,
'curr' => $this->page,
'start_time' => empty($data['start_time']) ? '' : $data['start_time'],
'end_time' => empty($data['end_time']) ? '' : $data['end_time'],
'catid' => empty($data['catid']) ? '' : $data['catid'],
'title' => empty($data['title']) ? '' : $data['title'],
'query'=>$query,
]);
}
public function add()
{
if (request()->isPost()) {
$data = input('post.');
try {
$id = model('News')->add($data);
} catch (\Exception $e) {
return $this->result('', 0, '新增失败:' . $e->getMessage());
}
if ($id) {
return $this->result([
'jump_url' => url('news/index')], 1, 'OK');
} else {
return $this->result('', 0, '新增失败');
}
} else {
return $this->fetch('', [
'cats' => config('cat.list')
]);
}
}
}
index.html(News)
<!--header-->
{include file="public/_meta" title="娱乐资讯"/}
<nav class="breadcrumb"><i class="Hui-iconfont"></i> 首页 <span class="c-gray en">></span> 资讯管理 <span
class="c-gray en">></span> 资讯列表 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px"
href="javascript:location.replace(location.href);" title="刷新"><i
class="Hui-iconfont"></i></a></nav>
<div class="page-container">
<div class="text-c">
<form action="{:url('news/index')}" method="get">
<span class="select-box inline">
<select name="catid" class="select">
<option value="0">全部分类</option>
{volist name="cats" id="vo"}
<option value="{$key}" {if condition="$key eq $catid" } selected="selected" {/if}>{$vo}</option>
{/volist}
</select>
</span> 日期范围:
<input type="text" name="start_time" class="input-text" id="countTimestart" onfocus="selecttime(1)"
value="{$start_time}"
style="width:120px;">
-
<input type="text" name="end_time" class="input-text" id="countTimestart" onfocus="selecttime(1)"
value="{$end_time}"
style="width:120px;">
<input type="text" name="title" id="" value="{$title}" placeholder=" 资讯名称" style="width:250px"
class="input-text">
<button name="" id="" class="btn btn-success" type="submit"><i class="Hui-iconfont"></i> 搜资讯</button>
</form>
</div>
<div class="mt-20">
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
<thead>
<tr class="text-c">
<th width="25"><input type="checkbox" name="" value=""></th>
<th width="80">ID</th>
<th>标题</th>
<th width="80">分类</th>
<th width="80">缩图</th>
<th width="120">更新时间</th>
<th width="40">是否推荐</th>
<th width="60">发布状态</th>
<th width="120">操作</th>
</tr>
</thead>
<tbody>
{volist name="news" id="vo"}
<tr class="text-c">
<td><input type="checkbox" value="" name=""></td>
<td>{$vo.id}</td>
<td class="text-l"><u style="cursor:pointer" class="text-primary" title="查看">{$vo.title}</u></td>
<td>{$vo.catid|getCatName}</td>
<td><img width="60" height="60" class="picture-thumb" src="{$vo.image}"></td>
<td>{$vo.update_time}</td>
<td>{$vo.is_position|isYesNo}</td>
<td class="td-status">{$vo.is_position}</td>
<td class="f-14 td-manage"><a style="text-decoration:none" class="ml-5"
onClick="article_edit('资讯编辑','article-add.html','10001')"
href="javascript:;" title="编辑"><i class="Hui-iconfont"></i></a> <a
style="text-decoration:none" class="ml-5" onClick="" href="javascript:;" title="删除"
del_url=""><i class="Hui-iconfont"></i></a></td>
</tr>
{/volist}
</tbody>
</table>
<div id="laypage"></div>
</div>
</div>
<!--header-->
{include file="public/_footer" /}
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="__STATIC__/hadmin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="__STATIC__/hadmin/lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
var url = '{url("news/index")}' + '?{$query}';
//alert(url);
laypage({
cont: 'laypage',
pages: '{$pageTotal}',
skin: '#5FB878',
curr: '{$curr}',
jump: function (e, first) {
if (!first) {
location.href = url + '&page=' + e.curr;
}
}
});
</script>
<style>
.imooc-app .pagination li {
display: inline;
padding-left: 10px;
}
.pagination .active {
color: red
}
.pagination .disabled {
color: #888888
}
</style>
</body>
</html>
<form action="{:url('news/index')}" method="get">
<option value="0">全部分类</option>
{volist name="cats" id="vo"}
<option value="{$key}" {if condition="$key eq $catid" }
selected="selected" {/if}>{$vo}</option>
{/volist}
<input type="text" name="start_time" class="input-text" id="countTimestart"
onfocus="selecttime(1)" value="{$start_time}" style="width:120px;">
<input type="text" name="end_time" class="input-text" id="countTimestart"
onfocus="selecttime(1)" value="{$end_time}" style="width:120px;">
<input type="text" name="title" id="" value="{$title}" placeholder=" 资讯名称"
style="width:250px" class="input-text">
<script type="text/javascript">
var url = '{url("news/index")}' + '?{$query}';
//alert(url);
laypage({
cont: 'laypage',
pages: '{$pageTotal}',
skin: '#5FB878',
curr: '{$curr}',
jump: function (e, first) {
if (!first) {
location.href = url + '&page=' + e.curr;
}
}
});
222.png
网友评论