FScores_wev8.js
3.19 KB
define("FScores_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t\t<div class="wev-field{@if required} wev-field-required{@/if}{@if needWrap} wev-vertical{@/if}">\t\t\t<div>${field.label}</div>\t\t\t<div>\t\t\t\t<div class="wev-comp-score ${scoreClass}">\t\t\t\t\t{@each activeClass as active}\t\t\t\t\t<b class="${active}"></b>\t\t\t\t\t{@/each}\t\t\t\t\t<label>$${starlabel}</label>\t\t\t\t</div>\t\t\t<input type="hidden" name="fieldname_${field.name}" value="${field.value}" fieldlabel="${field.label}" require="${required}"/>\t\t\t</div>\t\t</div></div>'}),define(["mUtil","Component","Form"],function(d,t,o){return t.init(function(e){var i,l,s,r,a={};t.super(this,e),this.type="FScores",this.tpl=this.type+"_html",this.css=this.type+"_css",this.dataload=!0;var n=this.viewModel={form:"",field:{label:"",name:"",size:5,text:"",value:"",defaultValue:""},required:!1,readonly:!1,needWrap:!1,icons:{icon1:"/mobilemode/mobile/images/plugin/favor-fill.png",icon2:"/mobilemode/mobile/images/plugin/favor.png"},detailtable:{isA:!1}};this.dbValueHasSet=!1,this.beforeMount=function(){o.utils.setDefaultValue(this.pageid,n);var e=n.field.value-1;s=n.field.text.split(","),0<=e&&e<s.length&&(n.starlabel=s[e]);for(var t=[],i=0,a=n.field.size;i<a;i++)i==e?(t.push("active"),n.scoreClass="wev-comp-score-fill"):t.push("");if(n.activeClass=t,n.icons){var l='<style type="text/css">#NMEC_'+this.id+" .wev-comp-score > b:before{background-image: url("+n.icons.icon2+");}#NMEC_"+this.id+" .wev-comp-score > b:after{background-image: url("+n.icons.icon1+");}</style>";$(".page-content",this.$container).append(l)}},this.mounted=function(){var t=this,e=this.$el;if(i=e.find(".wev-field"),l=$("input[name='fieldname_"+n.field.name+"']",e),r=$(".wev-comp-score label",e),n.readonly||$(".wev-comp-score > b",e).click(function(){a.changeValue($(this).index())}),n.field.needParseSqlValue)return o.utils.parseDefaultSqlValue(n.field.defaultValue,this.pageid,function(e){n.field.value=e,t.setValue(n.field.value,!0)})},this.getData=function(){return d.parseJSON("fieldname_"+n.field.name,l.val())},this.reset=function(){if(!n.readonly){var e=n.field.value;e<=0||isNaN(e)?($(".wev-comp-score",this.$el).removeClass("wev-comp-score-fill"),r.html(""),l.val("").trigger("input").trigger("change")):a.changeValue(e-1)}i.removeClass("wev-required-remind")},this.checkRequired=function(){var e=n.required&&!l.val(),t=n.field.label||d.getLabel(131418,"星级评分");return i.toggleClass("wev-required-remind",e),e&&t},this.setRequired=function(e){n.required=e,i.toggleClass("wev-field-required",e),!e&&i.removeClass("wev-required-remind")},this.text=function(){return r.text()},this.setValueByDB=function(e){this.dbValueHasSet=!0,!e&&n.field.value||(n.field.value=e,this.setValue(e,!0))},this.setValue=function(e,t){var i=Number(e);!isNaN(i)&&0<i&&a.changeValue(i-1,t)},a.changeValue=function(e,t){var i=$(".wev-comp-score > b",this.$el).eq(e);i.siblings("b.active").removeClass("active"),i.addClass("active"),i.parent().addClass("wev-comp-score-fill");var a="";e<s.length&&(a=s[e]),r.html(a),l.val(e+1).trigger("input").trigger("change"),t&&this.dbValueHasSet&&d.trigger("dataload",this.pageid,this.id)},a.changeValue=a.changeValue.bind(this)})});