FButton_wev8.js
4.87 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(u,i){return i.init(function(e){var a,s,d,l={},b={};i.super(this,e),this.type="FButton",this.tpl=this.type+"_html",this.css=this.type+"_css";var p=this.viewModel={btns:[],form:"",fixed:!0,pageExtend:!0,standalone:!0};for(var t in this.beforeMount=function(){p.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"),p.isLayout&&t.push("wev-btn-hide");break;case"delete":t.push("wev-btn-delete"),p.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=l.generateBtnId(),b[e.id]=e})},this.mounted=function(){var o,r=this,e=this.$el,c=p.form;s=e.children(".wev-comp-"+this.type),o=e.parents(".page-content"),a=this.$container,d=e.find(".wev-btn.wev-btn-edit"),s.on("click",".wev-btn",function(e){var i=b[$(this).attr("id")],n=i.remindMsg||"保存成功!";if(e.stopPropagation(),i)switch(i.action){case"submit":Mobile_NS.formSubmit(c,function(e,t){var a=i.callback;t&&Object.getOwnPropertyNames(t).forEach(function(e){o.find("input[fieldid='"+e+"']").val(t[e])}),u.isFunction(a)&&(u.eval(a,r.pageid,e),Mobile_NS.msg(n))},r.pageid);break;case"reset":Mobile_NS.formReset(c);break;case"custom":u.eval(i.click,r.pageid);break;case"expand":var t={pageid:r.pageid,resourceType:i.resourceType,remindMsg:i.remindMsg,callback:i.callback},a=u.getPageParam(r.pageid);if(a)for(var s in a)i.interfaceurl?-1==i.interfaceurl.indexOf(s+"=",i.interfaceurl.indexOf("?"))&&(i.interfaceurl+="&"+s+"="+a[s]):i.interfaceurl=s+"="+a[s];Mobile_NS.doPageExpand(i.interfaceurl,i.click,t);break;case"submitAndBack":Mobile_NS.formSubmit(c,function(e){var t=i.callback;u.isFunction(t)&&u.eval(t,r.pageid,e),Mobile_NS.refreshPrevPageList().then(Mobile_NS.backPage),Mobile_NS.msg(n)},r.pageid);break;case"edit":d.hasClass("disabled")||Mobile_NS.formEdit(c);break;case"delete":Mobile_NS.formDelete(c,function(){u.isFunction(i.callback)&&u.eval(i.callback,r.pageid),u.getLabel(3661,"数据删除成功!",function(e){Mobile_NS.msg(e)}),Mobile_NS.refreshPrevPageList().then(Mobile_NS.backPage)},r.pageid);break;case"submitAndNew":Mobile_NS.formSubmit(c,function(e){var t=i.callback;$("#"+c).find(".wev-form").find("input[type='hidden'][name='billid']").val(""),u.isFunction(t)&&(u.eval(t,r.pageid,e),Mobile_NS.msg(n))});break;case"draft":u.getInstance(c,r.pageid).submit({isSkipCheck:!0,onsuccess:function(e){var t=i.callback;u.isFunction(t)&&(u.eval(t,r.pageid,e),Mobile_NS.msg(n))}})}}),l.calculatePosition(),l.parseLayoutBtns(function(){var t=function(){l.calculatePosition();var e=u.getInstance(c,r.pageid);e&&e.resetReplyBtn&&e.resetReplyBtn(),u.trigger("dataload",r.pageid,r.id)},a=s.find(".wev-btn-draft");u.pluginLoad(r.pageid,c,function(){a.size()?u.getInstance(c,r.pageid).hasDraftOperation(function(e){e&&a.removeClass("wev-btn-hide"),t()}):t()})}),$load(l.pageOnload)},l.parseLayoutBtns=function(n){var e=this;if(p.isLayout){var t=u.getActionUrl(e.type,{action:"parseLayoutBtns",pageExtend:p.pageExtend?1:0,pageid:e.pageid.substring(e.pageid.lastIndexOf("_")+1)},e.pageid);u.getJSON(t,function(e){var t=e.data.rightinfo,a=s.find(".wev-btn.wev-btn-delete"),i=s.find(".wev-btn.wev-btn-edit");3==t?(a.removeClass("wev-btn-hide"),i.removeClass("wev-btn-hide")):2==t?(a.remove(),i.removeClass("wev-btn-hide")):(a.remove(),i.remove()),p.pageExtend&&l.appendExpandBtns(e.data.btns||[]),n&&n()})}else n&&n()},l.appendExpandBtns=function(e){e.map(function(e){e.id=l.generateBtnId(),b[e.id]=e});var t=["{@each btns as btn, index}",'<a id="${btn.id}" class="wev-btn ${btn.className}">${btn.text}</a>',"{@/each}"].join(""),a=u.parseTemplate(t,{btns:e});s.find(".wev-btn-wrapper").append(a)},l.calculatePosition=function(){if(p.fixed){var e=a.children(".page-footer"),t=a.children(".page-content");if(this.$once("moveComponent",function(){e.length||(e=$('<div class="page-footer"></div>'),t.after(e)),this.$el.parent().hasClass("page-footer")||e.append(this.$el).show()}),!e||!t)return;setTimeout(function(){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")},100)}},l.generateBtnId=function(){return"fb"+u.UUID()},l.pageOnload=function(){var e=u.getInstance(p.form);d.length&&e&&(d.addClass("disabled"),u.isFunction(e.preloadEditUrl)&&e.preloadEditUrl(function(){d.removeClass("disabled")}))},l)u.isFunction(l[t])&&(l[t]=l[t].bind(this))})});