let tableIns;
let tree;
let mallType = 0;
layui.use(['element', 'form', 'table', 'layer', 'laydate', 'tree', 'util'], function () {
    let table = layui.table;
    let form = layui.form;//select、单选、复选等依赖form
    //form自定义校验,使用在标签上lay-verify="phoneRequiredFalse"      非必填项验证：新增部分：(^$)|
    form.verify({
        positiveNumberRequiredTrue: [/^(([0-9]+[\.]?[0-9]+)|[1-9])$/, '只能填写正数'],//必填，且只能输入正数
        positiveWholeNumberRequiredTrue: [/^[+]{0,1}(\d+)$/, '只能填写正整数'],//必填，且只能输入正整数
    });
    let element = layui.element; //导航的hover效果、二级菜单等功能，需要依赖element模块
    let laydate = layui.laydate;
    tree = layui.tree;
    let height = document.documentElement.clientHeight * 0.8; //随便设置下，和操作表单大概一样
    //用户列表
    tableIns = table.render({
        elem: '#configTable'
        , url: ctx + "/sys/sysExcel/findAllExcelResources"
        , method: 'POST'
        , response: {
            statusName: 'flag' //规定数据状态的字段名称，默认：code
            , statusCode: true //规定成功的状态码，默认：0
            , msgName: 'msg' //规定状态信息的字段名称，默认：msg
            , countName: 'records' //规定数据总数的字段名称，默认：count
            , dataName: 'rows' //规定数据列表的字段名称，默认：data
        }
        //响应后数据处理
        , parseData: function (res) { //res 即为原始返回的数据
            let data = res.data;
            // console.log(res);
            return {
                "flag": res.flag, //解析接口状态
                "msg": res.msg, //解析提示文本
                "records": data.records, //解析数据长度
                "rows": data.rows //解析数据列表
            };
        }
        , toolbar: '#configToolbar'
        , title: '种子列表'
        , cols: [[
            {field: 'id', title: 'art编号'}
            , {field: 'artType', title: '美术资源种类(1场景，2动作，3特效，4图标)'}
            , {field: 'artName', title: '美术资源名'}
            , {field: 'artLocal', title: '资源位置'}
            , {field: 'note', title: '备注'}
            , {field: 'createTime', title: '创建时间', hide: true}
            , {field: 'updateTime', title: '更新时间', hide: true}
            , {fixed: 'right', title: '操作', toolbar: '#configTableBarDemo'}
        ]]
        , defaultToolbar: ['', 'exports', 'print']
        , page: true
        , height: height
        , cellMinWidth: 80
    });

    //工具栏事件
    table.on('toolbar(test)', function(obj){
        let data = obj.data;
        switch(obj.event){
            case 'addNewRow':
                $("#tableId").css("display", "none");
                $("#tableTime").css("display", "none");
                $("#saveBtn").css("display", "none");
                $("#addBtn").css("display", "block");
                $("#configForm")[0].reset();
                form.render();
                break;
        };
    });
    //监听行工具事件
    table.on('tool(test)', function (obj) {
        let data = obj.data;
        if (obj.event === 'edit') {
            $("#tableId").css("display", "block");
            $("#tableTime").css("display", "block");
            $("#saveBtn").css("display", "block");
            $("#addBtn").css("display", "none");
            $("#configForm").form(data);
            form.render();
        }else if(obj.event === 'del'){
            layer.confirm('真的删除行么?', function(index){
                $.post(ctx + "/sys/sysExcel/deleteExcelResources", {id:data.id}, function (data) {
                    if (!data.flag) {
                        layer.msg(data.msg, {icon: 2, time: 2000}, function () {
                        });
                        return;
                    }
                    obj.del();
                    tableIns.reload();
                });
                layer.close(index);
            });
        }
    });

    //监听提交
    form.on('submit(configFilter)', function (data) {
        configSave(false);
    });
    form.on('submit(configAddFilter)', function (data) {
        configSave(true);
    });

    $("#saveBtn").css("display", "none");
    $("#addBtn").css("display", "none");
});

/**
 * 提交保存
 */
function configSave(isAddNew) {
    let configForm = $("#configForm").serializeObject();
    if (!configForm.id && !isAddNew) {
        layer.msg("选择编辑的数据", {icon: 2, time: 1000}, function () {
        });
        return;
    }
    let nowTime = commonUtil.getNowTime();
    configForm.updateTime = nowTime;
    $("input[name='updateTime']").val(nowTime);
    $.post(ctx + "/sys/sysExcel/saveExcelResources", configForm, function (data) {
        if (!data.flag) {
            layer.msg(data.msg, {icon: 2, time: 2000}, function () {
            });
            return;
        }
        tableIns.reload();
    });
}
