songxingwei 2 年之前
父节点
当前提交
eb32adb4df

+ 2 - 2
app/admin/controller/Hotsearch.php

@@ -33,12 +33,12 @@ use think\db\Query;
 class Hotsearch extends Controller
 {
     /**
-     * 分类管理
+     * 热门搜索管理
      * @auth true
      * @menu true
      */
     public function index(){
-        $this->title='分类管理';
+        $this->title='热门搜索管理';
         DataClassification::mQuery()
             ->show(1)
             ->like('name')

+ 91 - 0
app/admin/view/hotsearch/audit.html

@@ -0,0 +1,91 @@
+<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="MenuTable">
+
+    <div class="layui-card-body">
+        <input type="hidden" name="id" value="{$row.id}">
+        <div class="layui-form-item">
+            <label class="layui-form-label">申请用户</label>
+            <div class="layui-input-block">
+                <input value='{$row.user.nickname|default=""}' class="layui-input" disabled>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">标题</label>
+            <div class="layui-input-block">
+                <input value='{$row.title|default=""}' class="layui-input" disabled>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">内容</label>
+            <div class="layui-input-block">
+                <input value='{$row.content|default=""}' class="layui-input" disabled>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">图片</label>
+            <div class="layui-input-block">
+                {foreach name='row.imgs' item='a'}
+                <div class="headimg" data-tips-image="{$a}">
+                    <img src="{$a}" alt="">
+                </div>
+                {/foreach}
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">视频</label>
+            <div class="layui-input-block">
+                <a target="_blank" data-iframe='{$row.video|default=""}' data-title="查看媒体">查看</a>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">文件</label>
+            <div class="layui-input-block">
+                {foreach name='row.file' item='a'}
+                {$a} <br />
+                {/foreach}
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">收费金额</label>
+            <div class="layui-input-block">
+                <input value='{$row.amount|default=""}' class="layui-input" disabled>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">审核结果</label>
+            <div class="layui-input-block">
+                {if $row['audit']==1}
+                <input type="radio" name="audit" value="2" title="通过" checked>
+                <input type="radio" name="audit" value="3" title="不通过">
+                {else/}
+                {:[2=>'通过',3=>'不通过'][$row.audit]}
+                {/if}
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">备注</label>
+            <div class="layui-input-block">
+                <input name="why" value='{$row.why|default=""}' class="layui-input" {:$row['audit']>1?'disabled':''}>
+            </div>
+        </div>
+        {if $row['audit_at']}
+        <div class="layui-form-item">
+            <label class="layui-form-label">审核时间</label>
+            <div class="layui-input-block">
+                <input value='{$row.audit_at|default=""}' class="layui-input" disabled>
+            </div>
+        </div>
+        {/if}
+    </div>
+
+    <div class="hr-line-dashed"></div>
+    {if $row['audit']==1}
+    <div class="layui-form-item text-center">
+        <button class="layui-btn" type='submit'>保存审核</button>
+        <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消审核吗?" data-close>取消审核</button>
+    </div>
+    {/if}
+</form>
+<script>
+</script>

+ 60 - 0
app/admin/view/hotsearch/class.html

@@ -0,0 +1,60 @@
+{extend name='table'}
+{block name="button"}
+{if auth('class_add')}
+<a class="layui-btn layui-btn-sm" data-title="添加分类" data-modal='{:url("class_add")}?id={{d.id}}'>添加分类</a>
+{/if}
+{if auth('class_del')}
+<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确认删除吗?" data-table-id="Table" data-action='{:url("class_del")}' data-rule="id#{id}">批量删除</a>
+{/if}
+{/block}
+{block name="content"}
+<div class="layui-tab layui-tab-card">
+    <div class="layui-tab-content">
+        <form class="layui-form layui-form-pane form-search" action="{:sysuri()}" onsubmit="return false" method="get" autocomplete="off">
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">名称</label>
+                <label class="layui-input-inline">
+                    <input name="name" value="{$get.name|default=''}" placeholder="名称" class="layui-input">
+                </label>
+            </div>
+            <div class="layui-form-item layui-inline">
+                <input type="hidden" name="type" value="{$type|default='index'}">
+                <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            </div>
+        </form>
+        <table id="Table" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
+    </div>
+</div>
+<script>
+    $(function () {
+        $('#Table').layTable({
+            even: true, height: 'full',
+            sort: {field: 'id', type: 'desc'},
+            where: {},
+            cols: [[
+                {checkbox: true, fixed: true},
+                {field: 'name', title: '名称', align: 'center'},
+                {field: 'is_del', title: '状态', align: 'center',templet(d){
+                    if(d.is_del){
+                        return `<span class="layui-badge layui-bg-green">正常</span>`
+                    }else{
+                        return `<span class="layui-badge">禁用</span>`
+                    }
+                }},
+                {field: 'create_at', title: '创建时间', align: 'center'},
+                {toolbar: '#toolbar', title: '操作', align: 'center', fixed: 'right'}
+            ]]
+        });
+    });
+</script>
+
+<!-- 列表排序权重模板 -->
+<script type="text/html" id="toolbar">
+    {if auth('class_edit')}
+    <a class="layui-btn layui-btn-sm" data-event-dbclick data-title="编辑" data-modal='{:url("class_edit")}?id={{d.id}}'>编 辑</a>
+    {/if}
+    {if auth('class_del')}
+    <a class="layui-btn layui-btn-sm layui-btn-danger" data-title="删除" data-confirm="确认删除吗?" data-action='{:url("class_del")}?id={{d.id}}'>删除</a>
+    {/if}
+</script>
+{/block}

+ 25 - 0
app/admin/view/hotsearch/class_form.html

@@ -0,0 +1,25 @@
+<form action="{:sysuri()}" method="post" data-auto="true" class="layui-form layui-card" data-table-id="MenuTable">
+
+    <div class="layui-card-body">
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">名称</label>
+            <div class="layui-input-block">
+                <input name="name" value='{$vo.name|default=""}' required placeholder="请输入名称" class="layui-input">
+                <p class="help-block"><b>必填</b></p>
+            </div>
+        </div>
+    </div>
+
+    <div class="hr-line-dashed"></div>
+    {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
+
+    <div class="layui-form-item text-center">
+        {if isset($vo.id)}<input type='hidden' value="<?php echo date('Y-m-d H:i:s'); ?>" name='update_at'>{/if}
+        <button class="layui-btn" type='submit'>保存数据</button>
+        <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
+    </div>
+</form>
+
+<script>
+</script>

+ 31 - 0
app/admin/view/hotsearch/config.html

@@ -0,0 +1,31 @@
+{extend name="../../admin/view/main"}
+
+{block name="content"}
+<div class="think-box-shadow">
+    <div class="layui-anim layui-anim-fadein padding-top-20" style="width:850px">
+        <form action="{:url('')}" method="post" data-auto="true"  class='layui-form layui-card shadow-none'>
+            <div class="layui-card-body">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">平台电话</label>
+                    <div class="layui-input-block">
+                        <input name="tel" value="{:sysconf('config_pool_talent.tel')}" required placeholder="平台电话" class="layui-input">
+                        <p class="help-block"><b>必选</b></p>
+                    </div>
+                </div>
+
+                <div class="hr-line-dashed"></div>
+                <div class="hr-line-dashed margin-top-30"></div>
+                <div class="layui-form-item text-center">
+                    <button class="layui-btn" type="submit">保存配置</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+{/block}
+
+{block name="script"}
+<script>
+
+</script>
+{/block}

+ 151 - 0
app/admin/view/hotsearch/form.html

@@ -0,0 +1,151 @@
+{extend name="../../admin/view/main"}
+
+{block name='content'}
+<form action="" class="layui-card layui-form" data-auto="true" method="post">
+    <div class="layui-card-body">
+
+
+        <label class="layui-form-item relative block">
+            <span class="help-label"><b>标题</b>Title</span>
+            <input class="layui-input" name="title" placeholder="请输入新闻标题" required value='{$vo.title|default=""}'>
+        </label>
+        <label class="layui-form-item relative block">
+            <span class="help-label"><b>分类</b>Category</span>
+            <select name="class_id">
+                {foreach $category as $a}
+                <option value="{$a.id}" {:isset($vo['class_id']) && $vo['class_id']==$a['id']?'selected':''}>{$a.name}</option>
+                {/foreach}
+            </select>
+        </label>
+
+        <div class="layui-form-item label-required-prev">
+            <span class="help-label"><b>图片</b>Imgs</span>
+            <table class="layui-table">
+                <thead>
+                <tr>
+                </tr>
+                <tr>
+                    <td class="text-left padding-0">
+
+                        <div class="help-images">
+
+                            <input name="imgs" data-max-width="2048" data-max-height="1024" type="hidden" value="{$vo.imgs|default=''}">
+                            <script>$('[name="imgs"]').uploadMultipleImage();</script>
+                        </div>
+                    </td>
+                </tr>
+                </thead>
+            </table>
+        </div>
+
+
+
+        <div class="layui-form-item label-required-prev">
+            <span class="help-label"><b>内容</b>Content</span>
+            <div class="relative block">
+                <textarea class="layui-hide" name="content" placeholder="请输入内容">{$vo.content|default=''}</textarea>
+            </div>
+        </div>
+
+        <div class="hr-line-dashed"></div>
+        {notempty name='vo.id'}<input name='id' type='hidden' value='{$vo.id}'>{/notempty}
+
+        <div class="layui-form-item text-center">
+            <button class="layui-btn" type="submit">保存数据</button>
+            <button class="layui-btn layui-btn-danger" data-history-back data-confirm="确定要取消编辑吗?" type='button'>取消编辑</button>
+        </div>
+    </div>
+
+</form>
+
+<script>
+    $('input[name="images"]').uploadMultipleImage();
+    require(['ckeditor'], function () {
+        window.createEditor('[name=content]', {height: 350})
+    });
+    layui.use(['upload', 'element', 'layer'], function() {
+        var $ = layui.jquery
+            , upload = layui.upload
+            , element = layui.element
+            , layer = layui.layer;
+
+        upload.render({
+            elem: '#test5'
+            ,url: '' //此处配置你自己的上传接口即可
+            ,accept: 'video' //视频
+            ,done: function(res){
+                layer.msg('上传成功');
+                console.log(res)
+            }
+        });
+
+        //演示多文件列表
+        var uploadListIns = upload.render({
+            elem: '#testList'
+            ,elemList: $('#demoList') //列表元素对象
+            ,url: 'https://httpbin.org/post' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
+            ,accept: 'file'
+            ,multiple: true
+            ,number: 3
+            ,auto: false
+            ,bindAction: '#testListAction'
+            ,choose: function(obj){
+                var that = this;
+                var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
+                //读取本地文件
+                obj.preview(function(index, file, result){
+                    var tr = $(['<tr id="upload-'+ index +'">'
+                        ,'<td>'+ file.name +'</td>'
+                        ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
+                        ,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
+                        ,'<td>'
+                        ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
+                        ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
+                        ,'</td>'
+                        ,'</tr>'].join(''));
+
+                    //单个重传
+                    tr.find('.demo-reload').on('click', function(){
+                        obj.upload(index, file);
+                    });
+
+                    //删除
+                    tr.find('.demo-delete').on('click', function(){
+                        delete files[index]; //删除对应的文件
+                        tr.remove();
+                        uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
+                    });
+
+                    that.elemList.append(tr);
+                    element.render('progress'); //渲染新加的进度条组件
+                });
+            }
+            ,done: function(res, index, upload){ //成功的回调
+                var that = this;
+                //if(res.code == 0){ //上传成功
+                var tr = that.elemList.find('tr#upload-'+ index)
+                    ,tds = tr.children();
+                tds.eq(3).html(''); //清空操作
+                delete this.files[index]; //删除文件队列已经上传成功的文件
+                return;
+                //}
+                this.error(index, upload);
+            }
+            ,allDone: function(obj){ //多文件上传完毕后的状态回调
+                console.log(obj)
+            }
+            ,error: function(index, upload){ //错误回调
+                var that = this;
+                var tr = that.elemList.find('tr#upload-'+ index)
+                    ,tds = tr.children();
+                tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
+            }
+            ,progress: function(n, elem, e, index){ //注意:index 参数为 layui 2.6.6 新增
+                element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
+            }
+        });
+
+    });
+
+</script>
+{/block}

+ 77 - 0
app/admin/view/hotsearch/index.html

@@ -0,0 +1,77 @@
+{extend name='table'}
+{block name="button"}
+
+{/block}
+{block name="content"}
+<div class="layui-tab layui-tab-card">
+    <div class="layui-tab-content">
+        <form class="layui-form layui-form-pane form-search" action="{:sysuri()}" onsubmit="return false" method="get" autocomplete="off">
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">申请用户</label>
+                <label class="layui-input-inline">
+                    <input name="name" value="{$get.name|default=''}" placeholder="申请用户" class="layui-input">
+                </label>
+            </div>
+            <div class="layui-form-item layui-inline">
+                <input type="hidden" name="type" value="{$type|default='index'}">
+                <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            </div>
+        </form>
+        <table id="Table" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
+    </div>
+</div>
+<script>
+    $(function () {
+        $('#Table').layTable({
+            even: true, height: 'full',
+            sort: {field: 'id', type: 'desc'},
+            where: {},
+            cols: [[
+                {field: 'id', title: 'ID', align: 'center'},
+                {field: 'user', title: '申请用户', align: 'center',templet(d){
+                        return d.user?d.user.nickname:''
+                    }},
+                {field: 'title', title: '标题', align: 'center'},
+                {field: 'class_id', title: '类别', align: 'center',templet(d){
+                    return d.classTo.name
+                }},
+                {field: 'imgs', title: '图片',  align: 'center', templet:function (d) {
+                        if (d.imgs.length<1){
+                            return '无图片'
+                        }else {
+                            let b = ''
+                            for (var a=0;a<d.imgs.length;a++){
+                                b = b + '<div class="headimg headimg-no headimg-ss margin-0" data-tips-hover data-tips-image='+ d.imgs[a] +' style="background-image:url('+ d.imgs[a] +')"></div>&nbsp;'
+                            }
+                            return laytpl(b).render(d)
+                        }
+                    }},
+                {field: 'xurl', title: '视频',  align: 'center', templet: function (d) {
+                        return d.video ? laytpl('<div><a target="_blank" data-iframe="{{d.video}}" data-title="查看媒体">查看</a></div>').render(d) : '无视频';
+                    }
+                },
+                {field: 'amount', title: '收费金额', align: 'center',sort:true},
+                {field: 'is_del', title: '状态', align: 'center',templet(d){
+                    if(d.audit===1){
+                        return `<span class="layui-badge layui-bg-green">待审核</span>`
+                    }else if (d.audit===2){
+                        return `<span class="layui-badge layui-bg-blue">审核通过</span>`
+                    }else{
+                        return `<span class="layui-badge layui-bg-red">审核不通过</span>`
+                    }
+                }},
+                {field: 'create_at', title: '创建时间', align: 'center',sort:true},
+                {toolbar: '#toolbar', title: '操作', align: 'center', fixed: 'right'}
+            ]]
+        });
+    });
+</script>
+
+
+<!-- 列表排序权重模板 -->
+<script type="text/html" id="toolbar">
+    {if auth('audit')}
+    <button class="layui-btn layui-btn-sm" data-title="审核" data-modal='{:url("audit")}?id={{d.id}}'>查看</button>
+    {/if}
+</script>
+{/block}

+ 70 - 0
app/admin/view/hotsearch/index2.html

@@ -0,0 +1,70 @@
+{extend name='table'}
+{block name="button"}
+{if auth("add")}
+<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加百知文库</button>
+{/if}
+{/block}
+{block name="content"}
+<div class="layui-tab layui-tab-card">
+    <div class="layui-tab-content">
+        <form class="layui-form layui-form-pane form-search" action="{:sysuri()}" onsubmit="return false" method="get" autocomplete="off">
+            <div class="layui-form-item layui-inline">
+                <label class="layui-form-label">申请用户</label>
+                <label class="layui-input-inline">
+                    <input name="name" value="{$get.name|default=''}" placeholder="申请用户" class="layui-input">
+                </label>
+            </div>
+            <div class="layui-form-item layui-inline">
+                <input type="hidden" name="type" value="{$type|default='index'}">
+                <button class="layui-btn layui-btn-primary"><i class="layui-icon">&#xe615;</i> 搜 索</button>
+            </div>
+        </form>
+        <table id="Table" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
+    </div>
+</div>
+<script>
+    $(function () {
+        $('#Table').layTable({
+            even: true, height: 'full',
+            sort: {field: 'id', type: 'desc'},
+            where: {},
+            cols: [[
+                {field: 'id', title: 'ID', align: 'center'},
+                {field: 'title', title: '标题', align: 'center'},
+                {field: 'class_id', title: '类别', align: 'center',templet(d){
+                    return d.classTo.name
+                }},
+                {field: 'imgs', title: '图片',  align: 'center', templet:function (d) {
+                        if (d.imgs.length<1){
+                            return '无图片'
+                        }else {
+                            let b = ''
+                            for (var a=0;a<d.imgs.length;a++){
+                                b = b + '<div class="headimg headimg-no headimg-ss margin-0" data-tips-hover data-tips-image='+ d.imgs[a] +' style="background-image:url('+ d.imgs[a] +')"></div>&nbsp;'
+                            }
+                            return laytpl(b).render(d)
+                        }
+                    }},
+                {field: 'xurl', title: '视频',  align: 'center', templet: function (d) {
+                        return d.video ? laytpl('<div><a target="_blank" data-iframe="{{d.video}}" data-title="查看媒体">查看</a></div>').render(d) : '无视频';
+                    }
+                },
+
+                {field: 'create_at', title: '创建时间', align: 'center',sort:true},
+                {toolbar: '#toolbar', title: '操作', align: 'center', fixed: 'right'}
+            ]]
+        });
+    });
+</script>
+
+
+<!-- 列表排序权重模板 -->
+<script type="text/html" id="toolbar">
+    {if auth('edit')}
+    <button data-open='{:url("edit")}?id={{d.id}}' class='layui-btn layui-btn-sm layui-btn-primary'>编 辑</button>
+    {/if}
+    {if auth('del')}
+    <a class="layui-btn layui-btn-sm layui-btn-danger" data-title="删除" data-confirm="确认删除吗?" data-action='{:url("del")}?id={{d.id}}'>删除</a>
+    {/if}
+</script>
+{/block}