"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'),
        statusSelect: $('#status'),
        defenseStatusSelect: $('#defense_status'),
    };

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

    //  初始化表单
    var layuiTable = common.layuiTable.render(layui.table, {
        id: Data.tableId
        , elem: '#data_entity_table'
        , url: '/iot/device/pagingQuery'
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        ,autoSort: false
        , cols: [[
             {field: 'device_name', title: '设备名称', align: 'center'}
            , {field: 'device_id', title: '设备sn号', align: 'center'}
            , {field: 'manufacturer', title: '设备厂商', align: 'center'}
            , {
                title: '上线状态', align: 'center',  event: 'status', width: 80, templet: function (entity) {
                    if (entity['defense_status'] === 1) {
                        return '<span class="layui-badge layui-bg-green">已上线</span>';
                    } else if (entity['defense_status'] === 2) {
                        return '<span class="layui-badge layui-bg-cyan">未上线</span>';
                    }else {
                        return '<span class="layui-badge layui-bg-black">未知</span>';
                    }
                }
            }
            // , {field: 'device_type', title: '设备类型', align: 'center',templet: '#device_type'}
            , {
                title: '设备状态', align: 'center',  event: 'status', width: 80, templet: function (entity) {
                    if (entity['status'] == '1') {
                        return '<span class="layui-badge layui-bg-green">正常</span>';
                    } else if(entity['status'] == '2'){
                        return '<span class="layui-badge layui-bg-orange">告警</span>';
                    } else if(entity['status'] == '3'){
                        return '<span class="layui-badge layui-bg-red">失联</span>';
                    }else if(entity['status'] == '4'){
                        return '<span class="layui-badge layui-bg-black">停用</span>';
                    }else if(entity['status'] == '5'){
                        return '<span class="layui-badge layui-bg-blue">待布防</span>';
                    }
                }
            }
            , {field: 'type_name', title: '设备类型名称', align: 'center'}
            , {field: 'latitude_longitude', title: '经纬度', align: 'center'}
            , {field: 'device_install_address', title: '安装位置', align: 'center'}
            , {field: 'electric_quantity', title: '信号强度', align: 'center',templet: function (entity){
                    return entity['signal_intensity'] ? entity['signal_intensity'] : entity['signalPower'] ? entity['signalPower'] : ''
              }}
            , {field: 'electric_quantity', title: '电量（%）', align: 'center',templet: function (entity){
                return entity['electric_quantity'] ? entity['electric_quantity'] : entity['battery_value'] ? entity['battery_value'] : ''
              }}
            , {field: 'lastSyncDate', title: '最近同步时间', align: 'center'}
            , {title: '操作', width: 180, align: 'center', toolbar: '#table-operate'}
        ]]
        , page: true
        , done: function (result) {
        }
    });

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



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

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

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

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

});
