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

    var $node = {
        orderIdInput: $('#order_id'),
        deviceIdInput: $('#device_id'),
        alarmIdInput: $('#alarm_id'),
        statusSelect: $('#status'),
        orderNameInput: $('#order_name')
    };

    //  数据
    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/alarmWorkOrder/pagingQuery'
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        ,autoSort: false
        , cols: [[
              {field: 'order_id', title: '工单ID', align: 'center'}
            , {field: 'order_name', title: '工单名称', align: 'center'}
            , {field: 'device_id', title: '设备sn号', align: 'center'}
            , {field: 'alarm_id', title: '告警ID', align: 'center'}
            , {
                field: 'status', title: '处理状态', align: 'center', templet: function (entity) {
                    if (entity['level'] == 1) {
                        return '<span class="layui-badge layui-bg-green">已处理</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-red">未处理</span>';
                    } else {
                        return '<span>未知</span>';
                    }
                }
            }
            , {field: 'create_time', title: '工单创建时间', align: 'center'}
            , {field: 'update_time', title: '工单变更时间', align: 'center'}
            , {field: 'lastSyncDate', 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/alarmWorkOrder/detail/' + obj.data.id
                });
                break;
        }
    });



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

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

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

});
