/** * @fileoverview 用户 地点记录 模块 * @author Song.Huang * @version 1.0.0 */ define([ 'html!templates/user/userPoint', 'css!styles/user/userPoint'], function(tplLayout) { /** * 模块数据 用于数据存储和外部调用 * @type {Object} * 数据存放 */ var modValue = { options: { page: 1, pageSize: 20 }, favData: null, markerTypeIcon: [ map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_0.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_1_b.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_1_m.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_1_s.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_2_b.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_2_m.png', map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_2_s.png' ] } /** * 模块状态,用于存储模块的状态 例如:收起,关闭 * @type {Object} */ var status = { initialized: false, } //分页 var pageContainer, favPageBtnGroup, pageJump; /** * 初始化 * @type {Function} */ function init() { setLayout(); subscribe(); showPage({ page:1 }); } /** * 设置界面 */ function setLayout(){ $("#usrCenterContent").empty().append(tplLayout); pageContainer = $('
').appendTo($("#usrCenterContent")); $("#userFav").mCustomScrollbar({ scrollInertia: 1000 }); layoutResize(); $(window).resize(function() { layoutResize(); }); } /** * 界面重置 * @return {[type]} [description] */ function layoutResize(){ $("#userFav").css({height:$(window).height()-154}); $("#userFav").mCustomScrollbar("update"); } /** * 显示指定参数的列表 * @type {Function} * @param options {Object} 参数 * @see options * @private */ function showPage(options){ ONEMAP.T.objExtend(modValue.options,options,true); getFavData(); } /** * 获取收藏数据 * @type {Function} * @private */ function getFavData() { ONEMAP.V.loading.load(); $.ajax({ type: "get", dataType: 'json', url: onemapUrlConfig.userCenterUrl+ '/point/list'+ '?page=' + modValue.options.page + '&size=' + modValue.options.pageSize, success: function(data) { ONEMAP.V.loading.loaded(); if(data.code == 4){ ONEMAP.T.noPermission('addFav',data.message); return false; } if(data.code == 3){ ONEMAP.T.logout('addFav'); return false; } modValue.favData = data; setFavItem(); }, error:function(errorData){ ONEMAP.V.loading.loaded(); } }); } /** * 设置收藏列表item * @type {Function} * @private */ function setFavItem(){ var count = 0; $("#userFavList").empty(); if(modValue.favData['list'].length > 0){ for(var i= 0,l=modValue.favData['list'].length; i暂无数据!
'); } $("#userFav").mCustomScrollbar("update"); } /** * 添加收藏 */ function addPoint(pointData) { if(!status.initialized){ init(); } //构造数据 var ajaxData = {}; ajaxData.name = pointData.name; ajaxData.lat = pointData.latlng[1]; ajaxData.lon = pointData.latlng[0]; ajaxData.class2 = map23DData.view.zoom; //ajaxData.class3 = ONEMAP.M.mapHolder.modValue.mainLayers; ajaxData.class4 = pointData.type ? pointData.type : 0; //0为地点 其他为目标标记类型 ONEMAP.V.loading.load(); $.ajax({ type: "get", dataType: 'json', url:onemapUrlConfig.userCenterUrl+'/point/add', data: ajaxData, success: function(data) { ONEMAP.V.loading.load(); if (data.success) { ONEMAP.C.publisher.publish({type:'success',message:'设置目标点('+pointData.name+')成功'},'noteBar::add'); getFavData(); } else { ONEMAP.C.publisher.publish({type:'error',message:'设置目标点('+pointData.name+')失败'},'noteBar::add'); } }, error:function(errorData){ ONEMAP.V.loading.loaded(); } }); } /** * 编辑表单 * @type {Function} * @param data {Object} 表单数据 * @param self {Object} 父类 * @private */ function editForm(data,self){ var parent = self.parent().parent(); var formHtml = $('