"use strict";
layui.extend({
    common: 'js/common',
    xmSelect: 'layui/dist/xm-select',
    dropdown: 'layui/lay/modules/dropdown'
}).use(['jquery', 'layer', 'common', 'table', 'form', 'dropdown', 'xmSelect'], function () {
    //  弹窗插件
    var layer = layui.layer;
    //  Jquery插件
    var $ = layui.jquery;
    //  引入公共模块
    //  引入公共模块
    var common = layui.common;
    //  引入下拉菜单
    var xmSelect = layui.xmSelect;
    //引入表单
    var form = layui.form;
    var dropdown = layui.dropdown;

    var $node = {
        deviceNameInput: $('#device_name'),
        deviceIdInput: $('#device_id'),
        nameInput: $('#name'),
        levelSelect: $('#level'),
    };

    //  数据
    var Data = {
        //  当前用户机构Id
        myOrgId: parseInt($('#user_org_id').val()),
        //  表格Id
        tableId: 'data_table',
        //  选中的Id列表
        selectedIdSet: new Set(),
        //  选中的告警项列表
        selectedAlarmMap: new Map(),
    };

    //  初始化表单
    var layuiTable = common.layuiTable.render(layui.table, {
        id: Data.tableId
        , elem: '#data_entity_table'
        , url: '/iot/alarm/pagingQuery'
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        ,autoSort: false
        , cols: [[
              {field: 'alarm_id', title: '告警ID', align: 'center'}
            , {field: 'name', title: '告警原因', align: 'center'}
            , {field: 'alarm_times', title: '告警次数', align: 'center'}
            , {
                field: 'level', title: '告警等级', align: 'center', templet: function (entity) {
                    if (entity['level'] == 1) {
                        return '<span class="layui-badge layui-bg-red">严重告警</span>';
                    } else if (entity['level'] == 2) {
                        return '<span class="layui-badge layui-bg-orange">警告告警</span>';
                    } else if (entity['level'] == 3) {
                        return '<span class="layui-badge layui-bg-blue">提示告警</span>';
                    } else {
                        return '<span>未知</span>';
                    }
                }
            }
            , {
                field: 'status', title: '告警状态', align: 'center', templet: function (entity) {
                    if (entity['status'] == 1) {
                        return '<span>实时告警</span>';
                    } else if (entity['status'] == 2) {
                        return '<span>历史告警</span>';
                    } else {
                        return '<span>未知</span>';
                    }
                }
            }
            , {field: 'device_id', title: '设备sn号', align: 'center'}
            , {field: 'device_name', title: '设备名称', align: 'center'}
            , {field: 'record_time', title: '告警时间', align: 'center'}
            , {field: 'update_time', title: '最新告警时间', align: 'center'}
            , {title: '操作', width: 180, align: 'center', toolbar: '#table-operate'}
        ]]
        , page: true
        , done: function (result) {
        }
    });

    //监听排序
    layui.table.on('sort(table_event)',function (obj) {
        reloadTable(obj);
    });

    //监听行工具事件 lay-filter="table_event"
    layui.table.on('tool(table_event)', function(obj){
        var data = obj.data; //获得当前行数据
        switch (obj.event) {
            //  详情
            case 'info':
                common.openDefaultIframe({
                    title: '物联网告警详情',
                    content: '/iot/alarm/detail/' + obj.data.id
                });
                break;
        }
    });



    //  重新加载表格
    var selectedItem = undefined;
    var reloadTable = function (obj) {
        //  重新加载表格
        layuiTable.reload({
            //  设定异步数据接口的额外参数
            where: {
                device_name: $node.deviceNameInput.val(),
                device_id: $node.deviceIdInput.val(),
                name: $node.nameInput.val(),
                level: $node.levelSelect.val()
            }
            //  重新从第1页开始
            , page: {
                curr: 1
            },
            initSort: obj,
        });
    };

    //监听查询
    form.on('submit(query)', function () {
        reloadTable();
    });

    //监听重置
    form.on('submit(reset)', function () {
        $node.deviceNameInput.val("");
        $node.deviceIdInput.val("");
        $node.nameInput.val("");
        $node.levelSelect.val("");
        $('#search_text').val('');
        // 刷新select标签
        form.render('select');
        reloadTable();
    });

});
