rainfall.js 4.5 KB
define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'jstree'], function ($, undefined, Backend, Table, Form,Jstree) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'cloudapishow/rain/rainfall/index' + location.search,
                    add_url: 'cloudapishow/rain/rainfall/add',
                    edit_url: 'cloudapishow/rain/rainfall/edit',
                    del_url: 'cloudapishow/rain/rainfall/del',
                    multi_url: 'cloudapishow/rain/rainfall/multi',
                    import_url: 'cloudapishow/rain/rainfall/import',
                    table: 'reservoir_rain_rainfall',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'createtime',
                search:false,//搜索框
                showToggle: true,//浏览模式
                showColumns: true,//显示或隐藏列
                showExport: false,//导出按钮
                commonSearch: true,//通用搜索按钮
                searchFormVisible: true,//直接显示搜索模块
                columns: [
                    [
                        {field: 'reservoir_id', visible:false, title: __('Reservoir_id'), searchList: Config.reservoirList, formatter: Table.api.formatter.normal},
                        {field: 'number', title: __('Number'), searchList: Config.deviceList, formatter: Table.api.formatter.normal},
                        {field: 'rainfall', title: __('Rainfall'), operate:false},
                        {field: 'total_rainfall', title: __('Total_rainfall'), operate:false},
                        {field: 'createtime', title: __('Createtime'), operate:false, formatter: Table.api.formatter.datetime},
                    ]
                ]
            });

            //树
            var treeBox = $('#treeBox');
            //全选、取消全选
            // $(document).on("click", "#checkall", function () {
            //     treeBox.jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
            // });
            //展开全部、折叠全部
            $(document).on("click", "#expandall", function () {
                treeBox.jstree($(this).prop("checked") ? "open_all" : "close_all");
            });
            //监听单击事件
            treeBox.on('changed.jstree', function (e, data) {
                var selectedNode = data.selected[0]; // 获取当前选中的节点ID
                var node = data.instance.get_selected(true)[0]; // 获取当前选中的节点
                var nodeData = node.original; // 获取当前选中的节点的原始数据
                // console.log(selectedNode,node,nodeData);
                if (parseInt(nodeData.level) === 4){
                    //点击水库的时候进行数据查询筛选
                    $(".commonsearch-table select[name=reservoir_id]").val(nodeData.real_id);
                    $(".commonsearch-table select[name=number]").val(null);
                    table.bootstrapTable('refresh', {});
                    return false;
                }
            });
            //初始化树
            treeBox.jstree({
                core:{
                    data: Config.treeList
                },
                themes: {
                    "stripes": true
                },
                plugins:[
                    // 'checkbox',
                    'types',//定制图标插件
                    // 'contextmenu',
                ],
                checkbox : {
                    "keep_selected_style" : false,
                    "three_state":false,//是否父子级别级联
                    "cascade":"down",
                },
                types:{
                    '1':{
                        icon:"fa fa-map"
                    },
                    '2':{
                        icon:"fa fa-fort-awesome"
                    }
                }
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});