UNPKG

fd-gulp-convert-encoding

Version:

convert file to assigned charset

107 lines (93 loc) 3.45 kB
/** * areaList交互逻辑 */ define('detail.modules.areaList.View', ['jQuery', 'Class','detail.core.Event','lofty.ui.scroller'], function($, Class,Event,Scroller) { return Class({ init: function(view, config) { this.onEvent = $.os.supportsTouch ? 'tap' : 'click'; this.div = view; this.config = config; this.bindEvent(); this.getAreaList(); //this.initScroller(); }, bindEvent:function(){ var self = this; this.div.on(this.onEvent,'dt',function(){ var p = $(this), parent = p.closest('dl'), code = p.data('code'), content = p.data('content'), cityData = self.areaList[content]; // self.div.find('dl').removeClass('selected'); parent.toggleClass('selected'); !parent.data('dataDone') && self.renderCityList(cityData,parent,content); }).on(this.onEvent,'li',function(){ var li = $(this), content = li.data('content'), pContent = li.data('pContent'); self.div.find('li').removeClass('selected'); li.addClass('selected'); Event.trigger('logisticsChange',{"content":content,"pContent":pContent,"countryCode":1001}); }); }, initScroller:function(){ var height = $(window).height(); $('#d-area-list').height(height-120); this.myScroll = new Scroller({ container: '#d-area-list', topOffset: 0 }); }, getAreaList:function(){ var self = this, url = this.config.laputaServer+'/offer/ajax/AreaList.do'; $.ajax(url,{ dataType:'jsonp', success:function(o){ o.success && o.data && self.renderProvinceList(o.data.areaList); } }); }, renderProvinceList:function(data){ var self = this, container = $('div.pack',this.div), temp=[],provinceData,province,html; this.areaList = data['CN_1001']; provinceData = this.serializeData(this.areaList); for (var i = 0; i < provinceData.length; i++) { province = provinceData[i]; temp.push('<dl><dt data-code="'+province.code+'" data-content="'+province.content+'">'+province.name+'</dt><dd><ul>') temp.push('</ul></dd></dl>'); }; html = temp.join(''); container.html(html); setTimeout(function(){ self.initScroller(); },200); //this.myScroll.refresh(); }, renderCityList:function(data,container,content){ var temp=[],cityData,city,html; cityData = this.serializeData(data); for (var i = 0; i < cityData.length; i++) { city = cityData[i]; temp.push('<li data-pContent="'+content+'" data-content="'+city.content+'">'+city.name+'</li>'); }; html = temp.join(''); container.data('dataDone',true).find('ul').html(html); this.myScroll.refresh(); }, serializeData:function(data,pCode){ var p, dataArr = []; for(var k in data){ p = k.split("_"); dataArr.push({"name":p[0],"code":p[1],"content":k}); } return dataArr; } }); });