geomagneticData.js 10.9 KB
/**
 * Created by chenbiao on 2017/8/25.
 */
window.downloadFile = function (sUrl) {

    //iOS devices do not support downloading. We have to inform user about this.
    if (/(iP)/g.test(navigator.userAgent)) {
        alert('Your device does not support files downloading. Please try again in desktop browser.');
        return false;
    }

    //If in Chrome or Safari - download via virtual link click
    if (window.downloadFile.isChrome || window.downloadFile.isSafari) {
        //Creating new link node.
        var link = document.createElement('a');
        link.href = sUrl;

        if (link.download !== undefined) {
            //Set HTML5 download attribute. This will prevent file from opening if supported.
            var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length);
            link.download = fileName;
        }

        //Dispatching click event.
        if (document.createEvent) {
            var e = document.createEvent('MouseEvents');
            e.initEvent('click', true, true);
            link.dispatchEvent(e);
            return true;
        }
    }

    // Force file download (whether supported by server).
    if (sUrl.indexOf('?') === -1) {
        sUrl += '?download';
    }

    window.open(sUrl, '_self');
    return true;
}

window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;


$(function () {


//点击导入 弹窗
    $(document).on('click','#enterbtn',function () {
        $('.geomanage-con').css('display','none');
        $('.alert_over').css('display','block');
    })



//关闭弹窗 取消地磁信息
    documentBindFunc.on('click','.loading_alert_cancel',function () {
        $('.alert_over').css('display','none');
        $('.geomanage-con').css('display','block');
    })
//保存弹窗 地磁信息
    documentBindFunc.on('click','.loading_alert_ok',function () {
        $('.alert_over').css('display','none');
        $('.geomanage-con').css('display','block');
    })

})
var fun ={
    init: function () {

        // 周转次数查询时间
        $('#queryTime').val(moment().subtract('days', 0).format('YYYY-MM-DD'));
        $("#queryTime").datetimepicker({
            startDate: moment().subtract('days', 0).format('2017-11-01'),
            endDate: moment().subtract('days', 0).format('YYYY-MM-DD'),
            format: 'yyyy-mm-dd',
            autoclose: true,
            forceParse: false,
            minView: 3,
            minuteStep:1,
            locale: "zh-CN",
            language: 'zh-CN',
            pickerPosition: "bottom-left"
        }).on('changeDate', function(ev){
                var time = moment(ev.date).format('YYYY-MM-DD');
            }
        );

        //初始化设备状态
        $('#eventTypes').selectpicker('render');
        //初始化停车场下拉框
        fun.initPark();
        //初始化设备类型
        fn.getEqpType(fun.getEqpType);
        //初始化车位信息下拉框
        fn.getFactoryInfo(fun.initFactory);
        //基本信息
        fun.createTableData();
        //条件查询
        fun.parkingSpaceQuery();
        //导出
        $("#reportBtn").click(function () {
            fun.downloadOper(this);

        });
    },
    //停车场下拉框
    initPark: function () {
        var data = fn.getParkLot();
        $("#parkIds").empty();
        var html = '';
        var plNos = [];
        for (var i = 0; i < data.length; i++) {
            plNos.push(data[i].code);
            html += "<option value='[\"" + data[i].code + "\"]'>" + data[i].name + "</option>";
        }
        var plnosStr = JSON.stringify(plNos);
        html = '<option value=' + plnosStr + ' selected>全部</option>' + html;
        $("#parkIds").append(html);
        $('#parkIds').selectpicker('render');

    },
    initFactory:function(data){
        $("#factory").empty();
        var html = "<option value='[]' selected >全部</option>";
        $.each(data,function (index,item) {
            html += "<option value='[\"" + item.factoryNo + "\"]'>" + item.factoryName + "</option>";
        })
        $("#factory").append(html);
        $('#factory').selectpicker('render');
    },
    //初始化设备类型下拉框
    getEqpType:function(datas){
        $('#eqpType').empty();
        var html ='';
        $.each(datas, function(index,item) {
            html += "<option  value='[\"" + item.codeValue + "\"]'>" + item.codeValueName+ "</option>";
        })
        $('#eqpType').append(html);
        $('#eqpType').selectpicker('render');
    },
    //生成表格数据
    createTableData: function () {
        $('#eqpTable').bootstrapTable('destroy').bootstrapTable({
            striped: true,//表格显示条纹
            rownumbers:true,
            pagination: true, //启动分页
            pageNumber: 1, //当前第几页
            pageSize: 10,  //每页显示的记录数
            pageList: [10, 15, 20],  //记录数可选列表
            sidePagination: 'server',//表示服务端分页
            queryParamsType: 'limit',
            method: 'POST',//请求方法
            paginationPreText: '<',
            paginationNextText: '>',
            ajax: tableLoadRequest,//自定义ajax加载数据
            uniqueId:'id',
            columns: [
                {field: 'plName', title: '车场名称', width: '15%', align: 'left'},
                {field: 'berthNo', title: '泊位编号', width: '15%', align: 'left'},
                {field: 'eqpNo', title: '地磁编号', width: '15%', align: 'left'},
                {field: 'factoryName', title: '厂家名称', width: '15%', align: 'left'},
                {field: 'eventType', title: '设备状态', width: '15%', align: 'left',formatter:fun.eventTypeFormatter},
                {field: 'eqpType', title: '设备类型', width: '15%', align: 'left',formatter:fun.eqpTypeFormatter},
                {field: 'createTime', title: '上报时间', width: '15%', align: 'left',formatter:fun.timeFormatter}
            ]
        });

    },
    eventTypeFormatter:function(value,row,index){
        if(value=='11'){
            return "车辆入场";
        }else if (value=='10'){
            return "车辆出场";
        }else if (value=='9'){
            return "设备心跳";
        }else if (value=='12'){
            return "车位检测器电压低电压";
        }else if (value=='13'){
            return "车位检测器电压正常";
        }else{
            return "系统判断为故障";
        }
    },
    eqpTypeFormatter:function(value,row,index){
        if(value=='1'){
            return "地磁";
        }else if (value=='2'){
            return "视频桩";
        }else if (value=='3'){
            return "地锁";
        }else if (value=='4'){
            return "网关";
        }else if (value=='5'){
            return "中继器";
        }else{
            return "其他";
        }
    },
    timeFormatter:function(value,row,index){
        if (value == null) {
            return "";
        } else {
            return  DateUtils.long2String(value, 7) ;
        }
    },
    /*获取查询参数*/
    getQueryParam: function () {
        /*停车场编码*/
        var plNos = JSON.parse($("#parkIds").val());
        var geomagneticNo = $("#geomagneticNo").val();
        var berthNo = $("#berthNo").val();
        var eventTypes = JSON.parse($("#eventTypes").val());
        var factoryNos = JSON.parse($("#factory").val());
        var createTime = $("#queryTime").val()+" 00:00:00";
        var eqpType = JSON.parse($("#eqpType").val())[0];
        //条件查询
        var req= {
            baseRequest:{
                pageNum:0,
                pageSize:1
            },
            sysCode:sysComm.sysCode,
            plNos: plNos,
            eqpNo: geomagneticNo,
            berthNo:berthNo,
            eventTypes:eventTypes,
            factoryNos:factoryNos,
            createTime:createTime,
            eqpType:eqpType
        };
        return req;
    },
    //操作显示
    operFormatter:function(value,row,index){
        var operStr ='<a href="javascript:;" style="margin-right: 5px;" modifyPark index="'+index+'" ><i class="fa fa-edit"></i></a>'+
            '<a href="javascript:;" deletePark index="'+index+'" ><i class="fa fa-trash-o"></i></a>';
        return operStr;
    },
    formatTableUnit:function(value,row,index){
        return {
            css: {
                "white-space":"nowrap"
            }
        }
    },
    //条件查询
    parkingSpaceQuery:function () {
        documentBindFunc.on('click', '#parkingSpaceQuery', function () {
            //初始化table
            fun.createTableData();
        });
    },
    //停车场下拉框
    initAddParkSelect: function () {
        var data = fn.getParkLot();
        $("#addParkLot").empty();
        var html = '';
        var plNos = [];
        for (var i = 0; i < data.length; i++) {
            plNos.push(data[i].code);
            html += "<option value='[\"" + data[i].code + "\"]'>" + data[i].name + "</option>";
        }
        var plnosStr = JSON.stringify(plNos);
        $("#addParkLot").append(html);
        $('#addParkLot').selectpicker('refresh');
    },
    downloadOper: function (element) {
        
        var params = fun.getQueryParam();
        var url = dataUrl.util.exportParkEqpLogExcel();
        url += '?plNos=' + params.plNos+'&eqpNo='+params.eqpNo
            +'&eqpType=' +params.eqpType+'&factoryNos='+params.factoryNos
            +'&berthNo='+params.berthNo+'&eventTypes='+params.eventTypes
            +'&createTime='+params.createTime;
        url = encodeURI(url);
        window.downloadFile(url);
    }

}
//停车场默认加载
function tableLoadRequest(params){
    var plNos = JSON.parse($("#parkIds").val());
    var geomagneticNo = $("#geomagneticNo").val();
    var berthNo = $("#berthNo").val();
    var eventTypes = JSON.parse($("#eventTypes").val());
    var factoryNos = JSON.parse($("#factory").val());
    var createTime = $("#queryTime").val();
    var eqpType = JSON.parse($("#eqpType").val())[0];
    //设置请求参数
    var pageNum = (params.data.offset/params.data.limit)+1;
    //条件查询
    var req= {
        baseRequest:{
            pageNum:pageNum,
            pageSize:params.data.limit
        },
        sysCode:sysComm.sysCode,
        plNos: plNos,
        eqpNo: geomagneticNo,
        berthNo:berthNo,
        eventTypes:eventTypes,
        factoryNos:factoryNos,
        createTime:createTime,
        eqpType:eqpType
    };
    var cehicleFlowTableAjax= {
        method: params.type,
        url: dataUrl.util.queryParkEqpLogForPage(),
        data: JSON.stringify(req),
        contentType: 'application/json; charset=utf-8',
        dataType:'json',
        success: function(res){
            console.log(res)
            if(res.code = "8888"){
                params.success(res.data);
            }else{

            }
        }
    };
    sysAjax(cehicleFlowTableAjax);
};

$(function(){
    fun.init();

})