normalberth.js 10.3 KB

define(function (require, exports, module) {
    require("sPath/norberfile/normalberth.css");
    /*
     @页面初始化
     */
    var init = function () {
        // setContent();//页面开发完删除
        bindEvent();
        // pageInit();
        return "空闲泊位";
    };
    function pageInit(){
        var fun={
            init:function () {
                fun.initBlockSelect();
                fun.createtableData();
            },
            /**初始化区域-服务点信息 */
            initBlockSelect:function () {
                var req = {
                    baseRequest: {
                        pageNum: 1,
                        pageSize: 0
                    },
                    sysCode: sysComm.sysCode
                };
                var opt = {
                    async:false,
                    method: 'post',
                    url: dataUrl.util.queryAreaByOpIdAndOrgId(),
                    data: JSON.stringify(req),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function(res) {
                        console.log(res);
                        if(res.code == '8888') {
                            var data = res.data;
                            $("#berthintval-service").empty();
                            var html = '';
                            var blockIds = [];
                            for(var key in data) {
                                blockIds.push(key);
                                html += "<option value='[\"" + key + "\"]'>" + data[key] + "</option>";
                            }
                            blockIds.push(-1);
                            var plnosStr = JSON.stringify(blockIds);
                            html = '<option value=' + plnosStr + ' selected="selected">所有办事处</option>' + html;
                            $("#berthintval-service").append(html);
                            $('#berthintval-service').selectpicker('refresh');
                            if(blockIds.length>0){
                                //初始化停车场下拉框
                                fun.initParkSelect("#berthintval-service", "#berthintval-park");
                            }

                        }
                    }
                };
                sysAjax(opt);
            },
            //根据块信息查询停车场信息
            initParkSelect: function (areaDom, parkDom) {
                //停车场下拉框
                var data = fun.getParkingLotMsg(areaDom, parkDom);
                $(parkDom).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;
                $(parkDom).append(html);
                $(parkDom).selectpicker('refresh');
            },
            getParkingLotMsg: function (areaDom, parkDom) {
                var parkLot = "";
                var plAreaBlockIds = JSON.parse($(areaDom).val());
                var req = {plBlockIds: plAreaBlockIds};
                console.log(plAreaBlockIds);
                var opt = {
                    async: false,
                    data: 'plBlockIds=' + plAreaBlockIds,
                    method: "get",
                    contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                    url: dataUrl.util.getParkBlockNamesByBlockId(),
                    success: function (res) {
                        console.log(res);
                        if (res.code == '8888') {
                            parkLot = JSON.stringify(res.data);
                        }
                    }
                }
                sysAjax(opt);
                return JSON.parse(parkLot);
            },
            /*获取查询参数*/
            getQueryParam: function () {

                var plNo = "";
                var parkName= $("#berthintval-park option:selected").text();
                if("所有停车场"!=parkName && "" != parkName){
                    var plNos = JSON.parse($("#berthintval-park option:selected").val());
                    if (plNos != "" && plNos != undefined && plNos.length>0) {
                        plNo = plNos[0];
                    }
                }
                var blockIds=JSON.parse($("#berthintval-service").val());
                var req = {
                    plNo: plNo,
                    blockIds: blockIds
                };
                console.log(req);
                return req;
            },
            /**泊位表格初始化.*/
            createtableData:function () {
                    $('#norbertable').bootstrapTable('destroy').bootstrapTable({
                        striped: true, //表格显示条纹
                        pagination: true, //启动分页
                        pageNumber: 1, //当前第几页
                        pageSize: 10, //每页显示的记录数
                        pageList: [10,20,50], //记录数可选列表
                        sidePagination: 'server', //表示服务端分页
                        queryParamsType: 'limit',
                        method: 'POST', //请求方法
                        paginationPreText: '<',
                        paginationNextText: '>',
                        ajax: func.ajaxTableLoadRequest, //自定义ajax加载数据
                        uniqueId: 'id',
                        columns: [
                            {
                                field: 'id',
                                title: '主键',
                                visible: false,
                                align: 'left'
                            },
                            {
                                field: 'plName',
                                title: '<span class="parking-icon"></span>车场名称',
                                visible: true,
                                // width: '5%',
                                align: 'left',
                                formatter:function(value,row,index){
                                    var plName = commonObj.replacenull(value,row,index);
                                    return '<span title="'+row.plNo+'">'+plName+'</span>';
                                }
                            },
                            {
                                field: 'plNo',
                                title: '<span class="business-icon"></span>车场编码',
                                visible: true,
                                align: 'left',
                                formatter:commonObj.replacenull
                            },
                            {
                                field: 'parkAreaName',
                                title: '<span class="person-icon"></span>泊位区间名称',
                                // width: '10%',
                                align: 'left',
                                formatter:commonObj.replacenull
                            },
                            {
                                field: 'berthNo',
                                title: '<span class="business-icon"></span>泊位编号',
                                width: '33%',
                                visible: true,
                                align: 'left',
                                formatter:commonObj.replacenull
                            },


                            {
                                field: 'oper',
                                title: '<span class="opration-icon"></span>操作',
                                width: '33%',
                                align: 'left',
                                formatter: operFormatter
                            }
                        ],
                    });
                    //操作显示
                    function operFormatter(value, row, index) {
                        var operStr = '<span class="modifyBerthmsg ITD-status-blue"  data-value="' + row.id + '">修改</span>' +
                            '<span class="berthPop ITD-status-blue"  data-value="' + row.id + '">诱导推送</span>'
                        return operStr;
                    };

                },

            /**停车场ajax请求 */
            ajaxTableLoadRequest: function(params) {
                var req=fun.getQueryParam();

                //设置请求参数
                var pageNum = (params.data.offset / params.data.limit) + 1;
                //条件查询
                req.baseRequest = {
                    pageNum: pageNum,
                    pageSize: params.data.limit
                };
                req.sysCode = sysComm.sysCode;
                req.lonAndLatFlag = false;
                var easyUIOps = {
                    method: params.type,
                    async: false,
                    url: dataUrl.util.berthInfoList(),
                    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);
                        }
                    }
                };
                sysAjax(easyUIOps);

            },
            poploadClick:function () {
                documentBindFunc.on('click', '.modifyBerthmsg', function() {
                    $('#popberthmodel').modal('show');
                });
            },

        };
        fun.init();
    }
/*
 @设置内容
 */
var setContent = function (url) {
    var strHtml ='';
    $("#main-con").empty();
    strHtml = require("text!./norberfile/normalberth.html");
    $("#main-con").html(strHtml);
    pageInit();


};

/*
 @绑定事件
 */
var bindEvent = function () {
    $("#button-normalberth").on('click', function () {
        $(this).addClass('ITD-topbar-clickactive').siblings('li').removeClass('ITD-topbar-clickactive');
        var url = $(this).attr('data-url');
        setContent(url);
    });
}
module.exports = {
    init: init,
    setContentInit:setContent
}
});