FButton_wev8.js 4.13 KB
define("FButton_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" target-form="${form}">\t<div class="wev-btn-wrapper wev-btn-block">\t\t{@each btns as btn, index}\t\t<a id="${btn.id}" class="wev-btn ${btn.className}">${btn.text}</a>\t\t{@/each}\t</div></div>'}),define(["mUtil","Component"],function(b,i){return i.init(function(e){var a,s,o,c={},d={};i.super(this,e),this.type="FButton",this.tpl=this.type+"_html",this.css=this.type+"_css";var r=this.viewModel={btns:[],form:"",fixed:!0,pageExtend:!0,standalone:!0};for(var t in this.beforeMount=function(){r.btns.forEach(function(e){var t=[];switch(e.action){case"submit":t.push("wev-btn-submit");break;case"reset":t.push("wev-btn-reset");break;case"custom":t.push("wev-btn-custom");break;case"submitAndBack":t.push("wev-btn-submit");break;case"edit":t.push("wev-btn-edit"),r.isLayout&&t.push("wev-btn-hide");break;case"delete":t.push("wev-btn-delete"),r.isLayout&&t.push("wev-btn-hide");break;case"submitAndNew":t.push("wev-btn-submit");break;case"draft":t.push("wev-btn-draft"),t.push("wev-btn-hide")}e.className=t.join(" "),e.id=c.generateBtnId(),d[e.id]=e})},this.mounted=function(){var n=this,e=this.$el,t=r.form;s=e.children(".wev-comp-"+this.type),a=this.$container,o=e.find(".wev-btn.wev-btn-edit"),s.on("click",".wev-btn",function(e){var i=d[$(this).attr("id")],a=i.remindMsg||"保存成功!";if(e.stopPropagation(),i)switch(i.action){case"submit":Mobile_NS.formSubmit(t,function(e){var t=i.callback;b.isFunction(t)&&(b.eval(t,n.pageid,e),Mobile_NS.msg(a))},n.pageid);break;case"reset":Mobile_NS.formReset(t);break;case"custom":b.eval(i.click,n.pageid);break;case"submitAndBack":Mobile_NS.formSubmit(t,function(e){var t=i.callback;b.isFunction(t)&&b.eval(t,n.pageid,e),Mobile_NS.refreshPrevPageList().then(Mobile_NS.backPage),Mobile_NS.msg(a)},n.pageid);break;case"edit":o.hasClass("disabled")||Mobile_NS.formEdit(t);break;case"delete":Mobile_NS.formDelete(t,function(){b.isFunction(i.callback)&&b.eval(i.callback,n.pageid),b.getLabel(3661,"数据删除成功!",function(e){Mobile_NS.msg(e)}),Mobile_NS.refreshPrevPageList().then(Mobile_NS.backPage)},n.pageid);break;case"submitAndNew":$("#"+t).find(".wev-form").find("input[type='hidden'][name='billid']").val(""),Mobile_NS.formSubmit(t,function(e){var t=i.callback;b.isFunction(t)&&(b.eval(t,n.pageid,e),Mobile_NS.msg(a))});break;case"draft":b.getInstance(t,n.pageid).submit({isSkipCheck:!0,onsuccess:function(e){var t=i.callback;b.isFunction(t)&&(b.eval(t,n.pageid,e),Mobile_NS.msg(a))}})}});var i=s.find(".wev-btn-draft");i.size()&&b.pluginLoad(n.pageid,t,function(){b.getInstance(t,n.pageid).hasDraftOperation(function(e){e&&i.removeClass("wev-btn-hide")})}),c.parseLayoutBtns(),c.calculatePosition(),$load(c.pageOnload)},c.parseLayoutBtns=function(){var e=this;if(r.isLayout){var t=b.getActionUrl(e.type,{action:"parseLayoutBtns",pageExtend:r.pageExtend?1:0,pageid:e.pageid.substring(e.pageid.lastIndexOf("_")+1)},e.pageid);b.getJSON(t,function(e){var t=e.data.rightinfo,i=s.find(".wev-btn.wev-btn-delete"),a=s.find(".wev-btn.wev-btn-edit");t.isDel?i.removeClass("wev-btn-hide"):i.remove(),t.isEdit?a.removeClass("wev-btn-hide"):a.remove(),r.pageExtend&&c.appendExpandBtns(e.data.btns||[]),c.calculatePosition()})}},c.appendExpandBtns=function(e){e.map(function(e){e.id=c.generateBtnId(),d[e.id]=e});var t=["{@each btns as btn, index}",'<a id="${btn.id}" class="wev-btn ${btn.className}">${btn.text}</a>',"{@/each}"].join(""),i=b.parseTemplate(t,{btns:e});s.find(".wev-btn-wrapper").append(i)},c.calculatePosition=function(){if(r.fixed){var e=a.children(".page-footer"),t=a.children(".page-content");e.length||(e=$('<div class="page-footer"></div>'),t.after(e)),this.$el.parent().hasClass("page-footer")||e.append(this.$el).show(),e.height()?(e.attr("footer-height",e.height()),t.css("bottom",e.height()+"px")):e.attr("footer-height")?t.css("bottom",e.attr("footer-height")+"px"):t.css("bottom","0px")}},c.generateBtnId=function(){return"fb"+b.UUID()},c.pageOnload=function(){var e=b.getInstance(r.form);o.length&&e&&(o.addClass("disabled"),b.isFunction(e.preloadEditUrl)&&e.preloadEditUrl(function(){o.removeClass("disabled")}))},c)b.isFunction(c[t])&&(c[t]=c[t].bind(this))})});