// 库位图
let total = [],
    rack = '',
    racks = '',
    rackDesc = '',
    rackDescs = '',
    crn = '',
    crns = '',
    track = '',
    tracks = '',
    stn = '',
    stns = '',
    stnArr = [],
    floorBtn = '',
    floorBtns = '',
    floorBtnss = '',
    floorInfo='';  // 库区信息
let rackss = mapInfo.racks,
    rackDescss = mapInfo.rackDescs,
    crnss = mapInfo.crns,
    areas = mapInfo.areas[0].floors,
    floorId;
function getMap() {
    // 货架
    for (let i = 0;i < rackss.length;i++) {
        let bay ='' // 单个库位
        let bays = '' // 库位集合
        let bayWidth = rackss[i].width / (rackss[i].maxBayNo / rackss[i].minBayNo)
        let maxBayNo = rackss[i].maxBayNo // 最大库位号
        let minBayNo = rackss[i].minBayNo // 最小库位号
        let bLen = maxBayNo / minBayNo // 库位个数
        let bNum // 库位号码
        // hpPosition 0 表示货架序号 左->右 1 表示货架序号 右->左
        if (mapInfo.hpPosition == 1) {
            bNum = maxBayNo
            for (let j = bLen; j > 0; j--) {
                bay = ""
                bays = bays + bay
                bNum = bNum - minBayNo;
            }
        }else {
            bNum = minBayNo
            for (let j = 0; j < bLen; j++) {
                bay = ""
                bays = bays + bay
                bNum = bNum + minBayNo;
            }
        }
        rack = "
" + bays + "
"
        racks = racks + rack
        // getCrnInfo(minBayNo);
    }
    // 货架描述
    for (let i = 0;i < rackDescss.length;i++) {
        rackDesc = "" + rackDescss[i].text + "
"
        rackDescs = rackDescs + rackDesc
    }
    // 堆垛机和地轨
    for (let i = 0;i < crnss.length;i++) {
        if (crnss[i].type == "crane") {
            crn = ""
            crns = crns + crn
        } else {
            track = "" + crnss[i].text + "
"
            tracks = tracks + track
        }
    }
    // 楼层
    for (let i = 0; i < areas.length;i++) {
        let stnss = areas[i].stns
        let floor = areas[i].text
        console.log(areas[i].top)
        floorId = areas[i].id
        var position = (i+1)*100
        floorBtn =
            ""
        console.log(mapInfo.areas[0].floors.length)
        if (mapInfo.areas[0].floors.length == 1) {
            floorBtnss = ''
        } else {
            floorBtnss =  floorBtnss + floorBtn
        }
        // 每层的 输送线站点
        var index = i
        var n = 1
        stnArr[index] = ''
        total[index] = ''
        for (let j = 0; j < stnss.length; j++) {
            if (stnss[j].type == "stn") {
                stn = "" + stnss[j].text + "
"
                stnArr[i] = stnArr[i] + stn
                total[i] = n++
            } else if(stnss[j].type == "track"){
                stn = "" + stnss[j].text  + "
"
                stnArr[i] = stnArr[i] + stn
            }
        }
    }
    floorInfo = racks + rackDescs + tracks + crns + stnArr[0] + floorBtnss
    $(".main-part").append(floorInfo)
    $("#line-total").html(total[0])
    // listenChange();
}
function changFloor(e) {
    $(".main-part").empty()  // 清空节点
    floorInfo = racks  + stnArr[e] +rackDescs + crns + tracks + floorBtnss
    $(".main-part").append(floorInfo)
    $("#line-total").empty()
    $("#line-total").html(total[e])
    // listenChange();
}
layui.config({
    base: baseUrl + "/static/wms/layui/lay/modules/"
}).use(['table', 'form'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var cache;
    // 数据渲染
    tableIns = table.render({
        elem: '#deviceInfo',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl + '/console/deviceInfo',
        page: false,
        limit: 16,
        limits: [16, 30, 50, 100, 200, 500],
        even: true,
        cellMinWidth: 50,
        cols: [[
            {field: 'device', align: 'center', title: '设备'}
            , {field: 'deviceId', align: 'center', title: '编号'}
            , {field: 'battery', align: 'center', title: '电量'}
            , {field: 'error', align: 'center', title: '异常', templet: '#errorTpl'}
            , {field: 'status', align: 'center', title: '状态', width: 150}
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            }
        },
        response: {
            statusCode: 200
        },
        done: function (res, curr, count) {
            $(".layui-table-tool").hide()
            $(".layui-table-view").css({"margin":"0px"})
            $(".layui-table-box").css({"padding-bottom":"0px"})
            cache = table.cache['deviceInfo'];
        }
    });
    setInterval(() => {
        tableReload()
    },10000)
    function tableReload() {
        $.ajax({
            url: baseUrl + "/console/deviceInfo",
            headers: {'token': localStorage.getItem('token')},
            contentType: 'application/json;charset=UTF-8',
            method: 'GET',
            traditional: true,
            success: function (res) {
                cache = res.data.records
                table.reload('deviceInfo',{
                    data: cache
                })
            }
        })
    }
});