FRange_wev8.js
2.51 KB
define("FRange_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}{@if needWrap} wev-vertical{@/if}">\t\t<div>${field.label}</div>\t\t<div>\t\t\t<div class="wev-range-wrap">\t\t\t\t<input type="range" name="fieldname_${field.name}" fieldid="${field.id}" value="${field.value}" min="${min}" max="${max}" step="${step}" {@if readonly}disabled{@/if} >\t\t\t\t<span class="wev-range-tip wev-hide"></span>\t\t\t</div>\t\t</div>\t</div></div>'}),define(["mUtil","Component","Form"],function(d,i,l){return i.init(function(e){var a,v;i.super(this,e),this.type="FRange",this.tpl=this.type+"_html",this.css=this.type+"_css",this.dataload=!0;var h=this.viewModel={form:"",field:{label:"",name:"",id:"",value:"0",defaultValue:""},min:0,max:100,step:1,detailtable:{isA:!1},required:!1,readonly:!1,needWrap:!1};this.dbValueHasSet=!1,this.beforeMount=function(){l.utils.setDefaultValue(this.pageid,h,"0")},this.mounted=function(){var i=this;a=this.$el.find(".wev-field"),v=this.$el.find("input[type='range']");var u=$(".wev-range-tip",this.$el),o=null,t=function(e){var i=v.val(),t=parseFloat(i);e||u.removeClass("wev-hide");var a=Math.abs(h.max-h.min),l=(t-h.min)/a,d=(100*(l=1<l?1:l)).toFixed(0);v.css("background-size",d+"% 100%");var n=v[0].offsetLeft,s=v[0].offsetWidth-28,r=u[0].offsetWidth,f=14+n+s/a*Math.abs(i-h.min)-r/2;u.html(i).css("left",f+"px"),e||(o&&clearTimeout(o),o=setTimeout(function(){u.addClass("wev-hide")},1e3))};if(v.on("input",function(e,i){t(i)}),h.field.needParseSqlValue)return l.utils.parseDefaultSqlValue(h.field.defaultValue,this.pageid,function(e){h.field.value=e,i.setValue(h.field.value)});t(!0)},this.getData=function(){return d.parseJSON("fieldname_"+h.field.name,v.val())},this.reset=function(){this.setValue(h.field.value)},this.checkRequired=function(){},this.setRequired=function(e){h.required=e,a.toggleClass("wev-field-required",e),!e&&a.removeClass("wev-required-remind")},this.bindTrigger=function(e,i){var t=this,a=h.field.id;if(a&&d.isObject(e)&&e["field"+a]){var l=e["field"+a];v.bind("change",function(){Mobile_NS.readyToTrigger(l,v,t.$container)}),h.field.value&&(-1==h.form.indexOf("detailtable")&&!$p("billid")||i)&&Mobile_NS.readyToTrigger(l,v,t.$container)}},this.setValueByDB=function(e){this.dbValueHasSet=!0,0==Number(e||"")&&"0"!=h.field.value||(h.field.value=e,this.setValue(e))},this.setValue=function(e){""==e&&(e="0"),v.val(e).triggerHandler("input",!0),this.dbValueHasSet&&d.trigger("dataload",this.pageid,this.id)}})});