点赞城市

This commit is contained in:
2024-12-02 11:34:34 +08:00
parent 19d38802a9
commit 59e77906f0
6 changed files with 234 additions and 0 deletions

View File

@ -0,0 +1,63 @@
<?php
namespace plugin\cms\controller;
use plugin\cms\model\CmsThumb;
use think\admin\Controller;
use think\admin\helper\QueryHelper;
/**
* 点赞城市管理
*/
class Thumb extends Controller
{
public function index()
{
$this->title = '点赞城市管理';
CmsThumb::mQuery()->layTable(function () {
}, static function (QueryHelper $query) {
$query->equal('status')->like('name');
});
}
public function add()
{
$this->title = '添加点赞城市';
CmsThumb::mForm('form');
}
public function edit()
{
$this->title = '编辑点赞城市';
$this->id = $this->request->param('id', 0, 'intval'); //当前栏目ID
CmsThumb::mForm('form');
}
public function remove()
{
CmsThumb::mDelete('id');
}
public function status()
{
CmsThumb::mSave($this->_vali([
'id.require' => '点赞城市ID不能为空',
'status.in:0,1' => '状态值范围异常!',
'status.require' => '状态值不能为空!',
]), 'id');
}
public function _status_save_result($state, $data)
{
if ($state) {
$status = $this->request->param('status');
$id = $this->request->param('id');
if ($status == 1) {
CmsThumb::mk()->where('id', $id)->save([
'publish_at' => date('Y-m-d H:i:s')
]);
}
}
}
}

View File

@ -0,0 +1,10 @@
<?php
namespace plugin\cms\model;
use think\admin\Model;
class CmsThumb extends Model
{
}

View File

@ -0,0 +1,57 @@
<form class="layui-form layui-card" action="{:sysuri()}" data-auto="true" method="post" autocomplete="off" data-table-id="articleTable">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">点赞城市标题</label>
<div class="layui-input-block">
<input type="text" name="title" value='{$vo.title|default=""}' required placeholder="请输入点赞城市标题" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">点赞城市图片</label>
<div class="layui-input-block">
<input type="hidden" onchange="$(this).nextAll('img').attr('src', this.value)" name="thumb" value='{$vo.thumb|default=""}' placeholder="请上传缩略图图片" class="layui-input layui-hide">
<div class="layui-btn-container">
<a data-file="btn" data-type="bmp,png,jpeg,jpg" data-field="thumb" class="input-group-addon layui-btn layui-btn-active">
<i class="layui-icon layui-icon-upload"></i>
点击上传图片
</a>
<div class="layui-form-mid layui-word-aux">建议尺寸:750px*300px</div>
<a onclick="$('input[name=thumb]').val('').trigger('change')" class="layui-btn layui-btn-danger">
<i class="layui-icon layui-icon-close"></i>
点击清除图片
</a>
</div>
<img data-tips-image src='{$vo.thumb|default=""}' alt="image" style="width: 375px; height: 150px; object-fit: cover">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">点赞城市内容</label>
<div class="layui-input-block">
<textarea data-textarea class="layui-hide" name='content'>{$vo.content|default=""}</textarea>
</div>
</div>
</div>
{notempty name='id'}<input class="layui-input layui-hide" type='hidden' value='{$id}' name='id'>{/notempty}
<input class="layui-input layui-hide" type='hidden' value='0' name='user_id'>
<div class="layui-form-item text-center">
<button class="layui-btn layui-btn-normal" type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
</div>
</form>
<script>
$(function () {
var editor = window.createEditor('[name="content"]');
if (typeof editor !== 'undefined') {
editor.on('change', function () {
$('[name="content"]').text(editor.getData());
});
} else {
$('[name="content"]').on('editor.init', function (event, myEditor) {
editor = myEditor;
myEditor.on('change', function () {
$('[name="content"]').text(editor.getData());
});
})
}
})
</script>

View File

@ -0,0 +1,80 @@
{extend name="table"}
{block name="button"}
<!--{if auth("add")}-->
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary" data-modal='{:url("add")}' data-title="添加点赞城市">添加</button>
<!--{/if}-->
{/block}
{block name="content"}
<div class="layui-tab">
<div class="layui-row">
<div class="layui-col">
<div class="article_list think-bg-white">
{include file='article/index_search'}
<table class="layui-hide" data-url="{$request->url()}" data-target-search="form.form-search" id="Table" lay-filter="Table"></table>
</div>
</div>
</div>
</div>
<script type="text/html" id="toolbar">
<!--{if auth("edit")}-->
<a data-modal="{:url('edit')}?id={{ d.id }}" data-height="80%" data-width="80%" class="layui-btn layui-btn-xs layui-btn-normal" title="修改">修改</a>
<!--{/if}-->
<!--{if auth("status")}-->
{{# if(d.status == 0){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" data-title="启用该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=1'> </a>
{{# } else { }}
<a class="layui-btn layui-btn-xs layui-btn-primary" data-title="隐藏该点赞城市" data-modal='{:url("status")}?id={{ d.id }}&status=0'> </a>
{{# } }}
<!--{/if}-->
<!--{if auth("remove")}-->
<a data-confirm="确定要永久删除此点赞城市吗?" data-action="{:url('remove')}" data-value="id#{{ d.id }}" data-csrf="{:systoken('remove')}" class="layui-btn layui-btn-xs layui-btn-danger" title="删除">删除</a>
<!--{/if}-->
</script>
{/block}
{block name='style'}
<style>
</style>
{/block}
{block name='script'}
<script>
$(function () {
$('#Table').layTable({
height: 'full-250',
toolbar: true,
sort: {field: 'create_at', type: 'asc'},
title: '点赞城市列表',
cols: [[
{type: 'numbers'},
{field: 'thumb', title: '缩略图', width: 140, templet:function(item){
if (item.thumb) {
return '<img data-tips-image src="'+item.thumb+'" alt="image" style="width: 120px;height: 60px;">';
} else {
return '';
}
}},
{field:'title', title:'标题'},
{field:'status', title:'状态', width:80, templet:function(item){
if(item.status == 0){
return '<span style="color:red;">待发布</span>';
}else if(item.status == 1){
return '<span style="color:green;">已发布</span>';
}
}},
{field:'view_count', title:'浏览数', width:100, sort: true},
{field:'like_count', title:'点赞数', width:100, sort: true},
{fixed: 'right', title:'操作', toolbar: '#toolbar', width:180}
]],
page: true
})
layui.use(['table'], function(){
var table = layui.table,
layer = layui.layer;
})
})
</script>
{/block}

View File

@ -0,0 +1,23 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<div class="layui-form-item layui-inline">
<label class="layui-form-label">标题</label>
<div class="layui-input-inline">
<input name="title" value="{:input('get.title')}" placeholder="请输入文章标题" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input data-date-range name="create_at" value="{:input('get.create_at')}" placeholder="请选择创建时间" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-inline">
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="searchData"><i class="layui-icon">&#xe615;</i> 搜 索</button>
</div>
</form>
</fieldset>

View File

@ -6,6 +6,7 @@ use think\admin\Model;
class TicketUserShare extends Model
{
protected $append = ['type_name', 'imgs_arr'];
public function getImgsArrAttr($value, $data)
{
return str2arr($data['imgs'] ?: '', '|');