{% extends "framework/base.html" %}
{#{% load i18n %}#}
{% block header %}
    <title>{{ _(' 列表') }}</title>
{% endblock %}


{% block content %}
<div class="row header">
    <div class="col-sm-12">
        <h1 >{{ _('操作记录') }}
            <small>{{ _('列表') }}</small>
        </h1>
    </div>
</div>


<div class="row ">
    <div class="col-sm-12">
        <form id="filter-form" class="form-inline pane">
            <input style="display:none" type="text">
            


                    <script>
                    // 过滤条件字段定义
                    var filter_field_schemas = {
                         id :
                         {
                            label: '{{ _('id') }}',
                            name:'id',
                            type:'number',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         user_id :
                         {
                            label: '{{ _('管理员ID') }}',
                            name:'user_id',
                            type:'number',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         type :
                         {
                            label: '{{ _('类型') }}',
                            name:'type',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         ip :
                         {
                            label: '{{ _('IP') }}',
                            name:'ip',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         full_path :
                         {
                            label: '{{ _('访问路径') }}',
                            name:'full_path',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         post_params :
                         {
                            label: '{{ _('提交参数') }}',
                            name:'post_params',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         msg :
                         {
                            label: '{{ _('其他消息') }}',
                            name:'msg',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         user_agent :
                         {
                            label: '{{ _('User-Agent') }}',
                            name:'user_agent',
                            type:'char',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         create_datetime :
                         {
                            label: '{{ _('创建时间') }}',
                            name:'create_datetime',
                            type:'date',
                            data_url: '',
                            choices:[
                                    ]
                         },
                         update_datetime :
                         {
                            label: '{{ _('更新时间') }}',
                            name:'update_datetime',
                            type:'date',
                            data_url: '',
                            choices:[
                                    ]
                         },
                    }

                    // 默认过滤条件
                    var filter_conditions = [{
                        name: 'id',
                        operator: "exact",
                        value: "",
                        type: "number",
                        label: '{{ _('ID') }}',
                        choices: [],
                        is_default:true
                    }]
                    </script>
                    {% include "framework/widgets/filter.html" %}
        </form>
    </div>
</div>

<div class="row">
    <div class="col-sm-12">
        <div class="table-container">
            <div id="toolbar" class="">
                <a id="add-btn" class="btn btn-sm btn-primary openDialog"
                   href="/myadmin/operate_log/edit">
                    <span class="glyphicon glyphicon-plus-sign"></span> {{ _('添加') }}
                </a>
                <button id="delete-btn" class="btn btn-sm btn-danger " disabled>
                    <span class="glyphicon glyphicon-remove"></span> {{ _('删除') }}
                </button>
            </div>
            <table id="table" class="table table-striped"></table>
        </div>
    </div>
</div>


<script>

var $table=$('#table')
var bootstrapTableOption = {
    height: Math.max(600, getWindowHeightWidth()[1] - Math.min($('html').height(), $('#table').offset().top) + 10),
    url: window.location.pathname,  //请求后台的URL（*）
    locale: BootstrapTableLocale,
    toolbar:'#toolbar',
    method: "GET", //请求方式（*）
    dataType:"json",
    striped: true, //是否显示行间隔色
    cache: false,  //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
    pagination: true, //是否显示分页（*）
    sortable: true,  //是否启用排序
    sortOrder: "asc", //排序方式
    resizable: true,
    queryParams: function (params) {
        var paramsArray = $('#filter-form').serializeArray()
        paramsArray.push({name: 'page_size', value: params.pageSize || 100})
        paramsArray.push({name: 'page', value: params.pageNumber || 1})
        paramsArray.push({name: 'keywords', value: params.searchText})
        var orderPrefix = params.sortOrder == 'asc' ? '' : '-'
        paramsArray.push({name: 'ordering', value: orderPrefix + (params.sortName || '')})
        return paramsArray;

    },//传递参数（*）
    showExport:true,
    totalField:'count',
    dataField:'results',
    showJumpTo:"true",
    responseHandler: function (res) {
        if (res.code !==0){
            art.dialog.alert(res.msg)
        }
        return res.data
      },
    onLoadError: function (status, jqXHR) {
        console.dir(status)
        console.dir(jqXHR)
        art.dialog.alert(jqXHR.responseJSON.msg)

    },
    sidePagination: "server", //分页方式：client 客户端分页，server 服务端分页（*）
    queryParamsType: "",      //https://examples.bootstrap-table.com/index.html?bootstrap3#options/query-params-type.html
    pageNumber: 1, //初始化加载第一页，默认第一页
    pageSize: 100, //每页的记录行数（*）
    pageList: [100, 200, 600,2400], //可供选择的每页的行数（*）
    search: false, //是否显示表格搜索，此搜索是客户端搜索，不会进服务端
    showSearchClearButton:true,
    strictSearch: false, //严格查询
    showFullscreen:false,
    showColumnsToggleAll:true,
    showColumns: true, //是否显示所有的列
    showRefresh: true, //是否显示刷新按钮
    minimumCountColumns: 2, //最少允许的列数
    clickToSelect: true, //是否启用点击选中行
    multipleSelectRow: true,//按shift 多选
    showToggle: false, //是否显示详细视图和列表视图的切换按钮
    fixedColumns: true,
    fixedNumber: 1,
    fixedRightNumber: 1,
    cardView: false,   //是否显示详细视图
    detailView: false,//显示详情
    uniqueId: 'id',
    columns: [{
        checkbox: true,
        align: 'center',
        valign: 'middle'
      },
      {
        field: 'id',
        title: "{{ _('id') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'user_id',
        title: "{{ _('管理员ID') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'type',
        title: "{{ _('类型') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'ip',
        title: "{{ _('IP') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'full_path',
        title: "{{ _('访问路径') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'post_params',
        title: "{{ _('提交参数') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'msg',
        title: "{{ _('其他消息') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'user_agent',
        title: "{{ _('User-Agent') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'create_datetime',
        title: "{{ _('创建时间') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
      {
        field: 'update_datetime',
        title: "{{ _('更新时间') }}",
        align: 'center',
        valign: 'middle',
        sortable: true,
    },
    {
        field: '_operate',
        title: '{{ _('操作') }}',
        align: 'center',
        valign: 'middle',
        formatter: function(value, row, index){
              return [
                    '<a href="/myadmin/operate_log/edit?id='+row.id+'" class="btn btn-xs btn-info openDialog">{{ _('编辑') }}</a>',
                    '<a href="/myadmin/operate_log/edit?id='+row.id+'&is_copy=1" class="btn btn-default btn-xs openDialog">{{ _('复制') }}</a>',
                ].join('');
    },
     },
    ]
}

var $delete = $('#delete-btn')

// 刷新表格
function refreshTable(){
    $table.bootstrapTable('refreshOptions', {})
}

$('.filter-btn').click(function(event){
    event.preventDefault();
    refreshTable()
    return false
})


$(function () {
    $table.bootstrapTable(bootstrapTableOption)
    $table.on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function () {
        $delete.prop('disabled', !$table.bootstrapTable('getSelections').length)
    })

    $delete.click(function () {
        if (!confirmRandom('确认删除吗?')) {
            return false
        }
        var ids = $.map($table.bootstrapTable('getSelections'), function (row) {
            return row.id
        })
        $.post("/myadmin/operate_log/delete", {id: ids}, function (data) {
            if (data.code == 0) {
                $table.bootstrapTable('remove', {
                    field: 'id',
                    values: ids
                })
                $delete.prop('disabled', true)
                art.dialog(data.msg).time(1)
            } else {
                art.dialog.alert(data.msg)
            }
        }, 'json')
    })
})

</script>
{% endblock %}