FLbs_wev8.js 4.4 KB
define("FLbs_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t<div class="wev-field {@if required} wev-field-required{@/if}">\t\t<div class="wev-flbs-before"></div>\t\t<div>\t\t\t<div class="wev-flbs-entry ${hasvalue}">\t\t\t\t<div class="wev-flbs-location">{@if field.label}${field.label}{@else}所在位置{@/if}</div>\t\t\t\t<div class="wev-flbs-content">\t\t\t\t\t<div class="wev-flbs-detail"></div>\t\t\t\t\t<div class="wev-clear-btn ${delbtn}"></div>\t\t\t\t</div>\t\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldlabel="${field.label}" require="${required}"/>\t\t\t\t{@if datatype == \'3\'}\t\t\t\t<input type="hidden" name="fieldname_${field.address}"/>\t\t\t\t{@/if}\t\t\t</div>\t\t</div>\t</div></div>'}),define(["mUtil","Component"],function(v,t){return t.init(function(e){var s,i,d,o,r,f;t.super(this,e),this.type="FLbs",this.tpl=this.type+"_html",this.css=this.type+"_css";var n="||||",u=this.viewModel={form:"",field:{label:"所在位置",name:"",address:"",value:""},datatype:"",poi:{postype:1,radius:500,num:10,btntext:""},limit:{enabled:!1,radius:1e3,tip:"当前位置超出限制范围",lng:"",lat:"",coordinateType:2},isShowCurrLocation:!0,required:!1,readonly:!1};this.dbValueHasSet=!1,this.beforeMount=function(){u.field.value&&(u.hasvalue="wev-flbs-showtext",u.readonly||(u.delbtn="wev-flbs-clear-btn"));var e=u.limit.point;if(e&&-1!=e.indexOf(",")){var t=e.split(",");u.limit.lng=t[0],u.limit.lat=t[1]}1==u.poi.postype&&(u.poi.num=-1)},this.mounted=function(){s=this.$el.children(".wev-comp-"+this.type),i=this.$el.find(".wev-field"),d=$("input[name='fieldname_"+u.field.name+"']",s),o=$("input[name='fieldname_"+u.field.address+"']",s),r=$(".wev-flbs-entry",s),f=$(".wev-flbs-detail",s),u.field.value;var a=this;if(u.readonly||($(".wev-flbs-location",s).on("click",function(){a.getPosition(a.pageid)}),$(".wev-flbs-content",s).on("click",function(){Mobile_NS.openMap(d.val())}),$(".wev-clear-btn",s).on("click",function(e){a.clear(),e.stopPropagation()})),u.isShowCurrLocation&&!$p("billid")){var n=d.siblings(".wev-flbs-location");v.getLabel(4084,"正在获取",function(e){n.html(e)}),Mobile_NS.getCurrentPosition(function(i){if(!i)return v.getLabel(5304,"获取定位信息失败",function(e){Mobile_NS.alert(e)}),void n.html(u.field.label);var l;if("1"==i.status)if(l=i.lng+","+i.lat,u.limit.enabled&&u.limit.lng&&u.limit.lat){var t=new BMap.Point(u.limit.lng,u.limit.lat);require(["mapHelper"],function(e){e.convertPoint(t,u.limit.coordinateType,function(e){u.limit.lng=e.lng,u.limit.lat=e.lat,u.limit.coordinateType=2;var t=new BMap.Point(i.lng,i.lat);(new BMap.Map).getDistance(e,t).toFixed(0)>u.limit.radius?Mobile_NS.alert(u.limit.tip):a.setPosition(l,i.addr),n.html(u.field.label)})})}else a.setPosition(l,i.addr),n.html(u.field.label);else Mobile_NS.alert(i.errMsg),n.html(u.field.label)})}},this.getData=function(){var e=v.parseJSON("fieldname_"+u.field.name,d.val());return"3"==u.datatype&&(e["fieldname_"+u.field.address]=o.val()),e},this.reset=function(){i.removeClass("wev-required-remind"),u.readonly||this.setValue(u.field.value)},this.checkRequired=function(){var e=u.required&&!d.val(),t=u.field.label||v.getLabel(128155,"LBS");return i.toggleClass("wev-required-remind",e),e&&t},this.setRequired=function(e){u.required=e,i.toggleClass("wev-field-required",e),!e&&i.removeClass("wev-required-remind")},this.text=function(){return f.text()},this.getFieldNameOfDB=function(){return"3"==u.datatype?u.field.name+n+u.field.address:u.field.name},this.setValueByDB=function(e){this.dbValueHasSet=!0,u.field.value=e,this.setValue(e)},this.setValue=function(t){if(-1!=t.indexOf(n)){var e=t.split(n),i=e[0],l=e[1];"1"==u.datatype?d.val(i):"2"==u.datatype?d.val(l):"3"==u.datatype&&(d.val(i),o.val(l)),a(l)}else d.val(t),t&&!/.*[\u4e00-\u9fa5]+.*$/.test(t)?require(["mapHelper"],function(e){e.convertToAddress(t,function(e){a(e)})}):a(t);function a(e){f.html(e);var t=""==e;r.toggleClass("wev-flbs-showtext",!t),t||u.readonly||$(".wev-clear-btn",s).addClass("wev-flbs-clear-btn")}this.dbValueHasSet&&v.trigger("dataload",this.pageid,this.id)},this.setPosition=function(e,t){this.setValue(e+n+t)},this.getPosition=function(i){var l=this,e=($(".wev-flbs-location",s),u.poi);Mobile_NS.openLBSWin({posType:e.postype,btnText:e.btntext,poiRadius:e.radius,numPois:e.num,limit:u.limit,success:function(e,t){l.setPosition(e,t),u.backscript&&v.eval(u.backscript,i)}})},this.clear=function(){this.setPosition("","")}})});