MacCms增加批量设置视频更新时间功能

在后台视频数据管理页面增加一个更新时间按钮,可以批量设置视频的更新时间

1、application/admin/controller/Vod.php

查找 public function field() 在这个函数上方新增

    public function updateTimeBatch()
{
    $param = input();
    $ids = isset($param['ids']) ? $param['ids'] : '';
    $time = isset($param['time']) ? trim($param['time']) : '';

    if (empty($ids)) {
        return $this->error(lang('param_err'));
    }

    $timestamp = time();
    if (!empty($time)) {
        $tmp = strtotime($time);
        if ($tmp !== false) {
            $timestamp = $tmp;
        }
    }

    $where['vod_id'] = ['in', $ids];
    $update = ['vod_time' => $timestamp];
    $res = model('Vod')->fieldData($where, $update);
    if ($res['code'] > 1) {
        return $this->error($res['msg']);
    }
    return $this->success($res['msg']);
}

2、application/admin/view_new/vod/index.html

查找

<a class="layui-btn layui-btn-primary j-iframe" data-checkbox="true" data-href="{:url('make/make?ac=info&tab=vod')}" href="javascript:;" title="{:lang('make_page')}"><i class="layui-icon">&#xe620;</i>{:lang('make_page')}</a>

在下方新增

<a class="layui-btn layui-btn-primary" id="btnBatchUpdateTime" href="javascript:;" title="{:lang('update_time')}"><i class="layui-icon">&#xe637;</i>{:lang('update_time')}</a>

找到页面底部的js脚本
完整的js脚本代码

<script type="text/javascript">
var curUrl="{:url('vod/data',$param)}";
layui.use(['laypage', 'layer','form','laydate'], function() {
    var laypage = layui.laypage
            , layer = layui.layer,
            form = layui.form,
            laydate = layui.laydate;
            $ = layui.jquery;

    laypage.render({
        elem: 'pages'
        ,count: {$total}
        ,limit: {$limit}
        ,curr: {$page}
        ,layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
        ,jump: function(obj,first){
            if(!first){
                location.href = curUrl.replace('%7Bpage%7D',obj.curr).replace('%7Blimit%7D',obj.limit);
            }
        }
    });

    // 小屏幕下名称问题
    if ($('body').width() <= 600) {
        $('#table_th_vod_name').attr('width', '300');
    }

    $('#btnBatchUpdateTime').on('click', function () {
        var ids = [];
        $('.checkbox-ids:checked').each(function (index, item) {
            if (item.checked) {
                ids.push(item.value);
            }
        });
        if (ids.length < 1) {
            layer.msg('{:lang('请先选择视频')}');
            return false;
        }

        var content = '<div style="padding:15px 20px 0 20px;">' +
            '<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
            '<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
            '</div>';

        var openIndex = layer.open({
            type: 1,
            title: '{:lang('update_time')}',
            area: ['360px', '200px'],
            content: content,
            btn: ['{:lang('确定')}','{:lang('取消')}'],
            success: function () {
                laydate.render({
                    elem: '#batchUpdateTimeInput',
                    type: 'datetime',
                    value: new Date()
                });
            },
            yes: function () {
                var timeVal = $('#batchUpdateTimeInput').val();
                layer.msg('{:lang('wait_submit')}', {time: 500000});
                $.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
                    layer.msg(res.msg, {}, function () {
                        if (res.code == 1) {
                            location.reload();
                        }
                    });
                });
                layer.close(openIndex);
            }
        });
    });

});


点击展开更多信息

layui.use(['laypage', 'layer','form'], function() {

改为

layui.use(['laypage', 'layer','form','laydate'], function() {
form = layui.form;

改为

form = layui.form,
laydate = layui.laydate;
// 小屏幕下名称问题
if ($('body').width() <= 600) {
$('#table_th_vod_name').attr('width', '300');
}

在下方新增

$('#btnBatchUpdateTime').on('click', function () {
        var ids = [];
        $('.checkbox-ids:checked').each(function (index, item) {
            if (item.checked) {
                ids.push(item.value);
            }
        });
        if (ids.length < 1) {
            layer.msg('{:lang('请先选择视频')}');
            return false;
        }

        var content = '<div style="padding:15px 20px 0 20px;">' +
            '<input type="text" class="layui-input" id="batchUpdateTimeInput" placeholder="{:lang('update_time')}">' +
            '<p style="margin-top:8px;color:#999;">{:lang('批量设置视频')} {:lang('update_time')}</p>' +
            '</div>';

        var openIndex = layer.open({
            type: 1,
            title: '{:lang('update_time')}',
            area: ['360px', '200px'],
            content: content,
            btn: ['{:lang('确定')}','{:lang('取消')}'],
            success: function () {
                laydate.render({
                    elem: '#batchUpdateTimeInput',
                    type: 'datetime',
                    value: new Date()
                });
            },
            yes: function () {
                var timeVal = $('#batchUpdateTimeInput').val();
                layer.msg('{:lang('wait_submit')}', {time: 500000});
                $.post("{:url('updateTimeBatch')}", {ids: ids.join(','), time: timeVal}, function (res) {
                    layer.msg(res.msg, {}, function () {
                        if (res.code == 1) {
                            location.reload();
                        }
                    });
                });
                layer.close(openIndex);
            }
        });
    });



本文链接:

https://foglog.cn/p/maccms-vod-laydate