FTextarea_wev8.js 2.91 KB
define("FTextarea_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t{@if readonly}\t<div class="wev-field wev-vertical {@if required} wev-field-required{@/if}">\t\t<div>${field.label}</div>\t\t<div>\t\t\t<textarea style="display:none;" class="needsclick" name="fieldname_${field.name}" fieldid="${field.id}" placeholder="${placeholder}">${field.value}</textarea>\t\t\t<span class="wev-field-view-span">$${field.valueHtml}</span>\t\t</div>\t</div>\t{@else}\t<div class="wev-field wev-vertical {@if required} wev-field-required{@/if}">\t\t<div>${field.label}</div>\t\t<div>\t\t\t<textarea style="height:${height}px" {@if readonly}readonly disabled{@/if} class="needsclick" name="fieldname_${field.name}" fieldid="${field.id}" placeholder="$${placeholder}">${field.value}</textarea>\t\t</div>\t</div>\t{@/if}</div>'}),define(["mUtil","Component","Form"],function(n,a,f){return a.init(function(e){var t,d,l,i={};a.super(this,e),this.type="FTextarea",this.tpl=this.type+"_html",this.dataload=!0;var r=this.viewModel={form:"",field:{label:"",type:1,name:"",id:"",value:"",defaultValue:""},detailtable:{isA:!1},placeholder:"请输入...",height:"80",required:!1,readonly:!1};this.dbValueHasSet=!1,this.beforeMount=function(){f.utils.setDefaultValue(this.pageid,r),r.field.valueHtml=i.formatValue(r.field.value)},this.mounted=function(){var i=this;if(t=this.$el.find(".wev-field"),d=this.$el.find("textarea"),l=this.$el.find(".wev-field-view-span"),r.field.needParseSqlValue)return f.utils.parseDefaultSqlValue(r.field.defaultValue,this.pageid,function(e){r.field.value=e,r.field.value&&i.setValue(r.field.value)})},this.getData=function(){return n.parseJSON("fieldname_"+r.field.name,d.val())},this.getShowData=function(){var e=n.parseJSON(r.field.name+"_showvalue",i.formatValue(d.val()));return e[r.field.name]=d.val(),e},this.reset=function(){this.setValue(r.field.value),t.removeClass("wev-required-remind")},this.checkRequired=function(){var e=r.required&&!d.val(),i=r.field.label||n.getLabel(386757,"多行文本");return t.toggleClass("wev-required-remind",e),e&&i},this.setRequired=function(e){r.required=e,t.toggleClass("wev-field-required",e),!e&&t.removeClass("wev-required-remind")},this.bindTrigger=function(e,i){var t=this,l=r.field.id;if(l&&n.isObject(e)&&e["field"+l]){var a=e["field"+l];d.on("change",function(){Mobile_NS.readyToTrigger(a,d,t.$container)}),r.field.value&&(-1==r.form.indexOf("detailtable")&&!$p("billid")||i)&&Mobile_NS.readyToTrigger(a,d,t.$container)}},this.setValueByDB=function(e){this.dbValueHasSet=!0,!e&&r.field.value||(r.field.value=e,this.setValue(e))},this.setValue=function(e){d.val(e.replace(/&#\d{5,7};/g,function(e){return $("<div></div>").html(e).html()})).triggerHandler("change"),l.html(i.formatValue(e)),this.dbValueHasSet&&n.trigger("dataload",this.pageid,this.id)},i.formatValue=function(e){return 2===r.field.type?e:new String(e).replace(/\n/gi,"<br>").replace(/\s/gi,"&nbsp;")}})});