FBrowser_wev8.js 6.97 KB
define("FBrowser_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t{@if readonly}\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<a href="javascript:void(0);">\t\t\t\t{@if haslink}\t\t\t\t\t<div class="text-haslink"></div>\t\t\t\t{@else}\t\t\t\t\t<div class="text readonly"></div>\t\t\t\t{@/if}\t\t\t\t\t<div class="hiddenText"></div>\t\t\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldid="${field.id}" value="${field.value}"/>\t\t\t\t</a>\t\t\t\t<div class="wev-showall-btn"></div>\t\t\t</div>\t\t</div>\t{@else}\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<a href="javascript:void(0);">\t\t\t\t\t<div class="text"></div>\t\t\t\t\t<div class="hiddenText"></div>\t\t\t\t\t<div class="wev-field-tip">${placeholder}</div>\t\t\t\t\t<i class="search"></i>\t\t\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldid="${field.id}" value="${field.value}"/>\t\t\t\t</a>\t\t\t\t<div class="wev-clear-btn"></div>\t\t\t\t<div class="wev-showall-btn"></div>\t\t\t</div>\t\t</div>\t{@/if}</div>'}),define(["mUtil","Component","mService","Form","fieldParseHelper"],function(m,t,d,r){return t.init(function(e){var f,v,u,c,i,a=!1,h={};t.super(this,e),this.type="FBrowser",this.tpl=this.type+"_html",this.dataload=!0;var w=this.viewModel={form:"",field:{label:"",name:"",id:"",value:"",defaultValue:""},browser:{typeid:"",identifie:"",modeid:-1,haslink:!0},detailtable:{isA:!1},placeholder:"请选择",advancedSearch:!1,required:!1,readonly:!1,needWrap:!1,standalone:!0};this.dbValueHasSet=!1,this.beforeMount=function(){r.utils.setDefaultValue(this.pageid,w);var e=w.browser.typeid,t=w.readonly&&-1!=["7","8","9","16","18","37","135","152","161","162","171","256","257"].indexOf(e+"");t&&-1!=["161","162","256","257"].indexOf(e+"")&&(!w.browser.modeid||w.browser.modeid<0||!w.browser.haslink)&&(t=!1),w.haslink=t},this.mounted=function(){var t=this;if(f=this.$el,v=f.find("input[name='fieldname_"+w.field.name+"']"),u=w.haslink?f.find(".text-haslink"):f.find(".text"),c=f.find(".hiddenText"),i=u.parent(),f.find(".wev-showall-btn").on("click",function(){a&&(i.toggleClass("showall"),$(this).toggleClass("transform180",i.hasClass("showall")))}),w.readonly?w.haslink||u.on("click",function(){a&&f.find(".wev-showall-btn").triggerHandler("click")}):(f.find(".wev-clear-btn").on("click",function(){h.setValue("","")}),f.find(".search,.text,.wev-field-tip").on("click",function(e){var t=w.browser.typeid,i="",a={requestParams:{fieldid:w.field.id,viewtype:w.detailtable.isA?1:0},typeid:t,selectedIds:v.val(),success:function(e,t){h.setValue(e,t)}};1==t||17==t?(i="hrmbrowser",$.extend(a,{browserType:t})):256==t||257==t?(i="treebrowser",$.extend(a,{browserId:t,browserName:w.browser.identifie})):-1<["4","57","167","168","164","194","169","170"].indexOf(t)?(i="deptbrowser",$.extend(a,{browserId:t})):22==t?(i="fnabrowser",$.extend(a,{browserId:t})):(i="commonbrowser",$.extend(a,{browserId:t,browserName:w.browser.identifie,advancedSearch:w.advancedSearch,relateParam:h.getFormData()||{}}),w.advancedSearch&&$.extend(a,{timestamp:(new Date).valueOf()})),d.show(i,a)})),"PC"==m.getOSType()&&$(window).off("resize.FBrowser").on("resize.FBrowser",function(){h.onResetView()}),w.field.needParseSqlValue)return r.utils.parseDefaultSqlValue(w.field.defaultValue,this.pageid,function(e){w.field.value=e,w.field.value&&t.setValue(w.field.value,!0)});w.field.value&&t.setValue(w.field.value,!0)},this.bindTrigger=function(e,t){var i=this.$container,a=w.field.id;if(a&&m.isObject(e)&&e["field"+a]){var d=e["field"+a];v.bind("change",function(){Mobile_NS.readyToTrigger(d,v,i)}),w.field.value&&(-1==w.form.indexOf("detailtable")&&!$p("billid")||t)&&Mobile_NS.readyToTrigger(d,v,i)}},this.getData=function(){return m.parseJSON("fieldname_"+w.field.name,v.val())},this.getShowData=function(){var e=m.parseJSON(w.field.name+"_showvalue",u.html());return e[w.field.name]=v.val(),e},this.reset=function(){h.setValue(w.field.value,w.field.showname),this.$el.find(".wev-field").removeClass("wev-required-remind")},this.checkRequired=function(){var e=w.required&&!v.val(),t=w.field.label||m.getLabel(695,"浏览按钮");return this.$el.find(".wev-field").toggleClass("wev-required-remind",e),e&&t},this.setRequired=function(e){w.required=e,this.$el.find(".wev-field").toggleClass("wev-field-required",e),!e&&this.$el.find(".wev-field").removeClass("wev-required-remind")},this.setValueByDB=function(e){this.dbValueHasSet=!0,!e&&w.field.value||(w.field.value=e,this.setValue(e,!0))},this.setValue=function(i,a,d){if(m.isFunction(a)&&(d=a),!i)return h.setValue("","",d);var e=w.browser.typeid,t=i.indexOf(",");-1!=t&&w.browser.isSingle&&(i=i.substring(0,t));var r=m.getActionUrl(this.type,{action:"parseValues",values:i,typeid:e,identifie:w.browser.identifie},this.pageid);m.getJSON(r,function(e){var t=e.data;a&&(w.field.showname=t),h.setValue(i,t,a,d)})},this.text=function(){return u.text()},h.setValue=function(e,t,i,a){m.isFunction(i)&&(a=i);var d=!e;if(u.html(t),w.haslink){var r=m.getInstance(w.form),l=r?r.viewModel.fieldAuthorize:{},n=w.browser.modeid,s=r?r.viewModel.empowStr:"";if((256==w.browser.typeid||257==w.browser.typeid)&&w.browser.modeid){var o=e.split(",");n="",Object.getOwnPropertyNames(w.browser.modeid).forEach(function(e){for(var t=0;t<o.length;t++)e==o[t].substring(0,o[t].indexOf("_"))&&(n+=e+"_"+w.browser.modeid[e]+",")}),n=0<n.length?n.substring(0,n.length-1):"-1"}u.attr({"data-authorize":l[w.field.id]||"","data-value":e,"data-text":encodeURIComponent(t),"data-typeid":w.browser.typeid,"data-modeid":n,"data-typename":w.browser.identifie,"data-empowStr":s})}c.html(t),f.find(".wev-field-tip").toggle(d),f.find(".wev-clear-btn").toggle(!d),setTimeout(function(){h.onResetView()},100),v.val(e),!i&&v.triggerHandler("change"),(this.dbValueHasSet||i)&&m.trigger("dataload",this.pageid,this.id),a&&a.call(this)},h.onResetView=function(){var e=u[0].clientWidth,t=c[0].scrollWidth;w.readonly||(e-=64),!(a=e<t)&&i.removeClass("showall"),i.parent().toggleClass("wev-expend",a),f.find(".wev-showall-btn").toggleClass("transform180",i.hasClass("showall"))},this.onResetView=function(){h.onResetView()},h.getFormMecIDList=function(e){return $("[data-form='"+e+"']",this.$container).map(function(e,t){return t.id&&t.id.replace("NMEC_","")})},h.getFormData=function(){var e,t=w.form,s={},i=function(e,t){var i=m.getInstance(e),a=i.getData(),d=i.type;if("FTextarea"!=d&&"FPhoto"!=d&&"FSound"!=d&&m.isObject(a))for(var r in a){var l=a[r],n=r.toLowerCase();-1!=n.indexOf("fieldname_")&&(t&&(n=n.replace("fieldname_","fieldname_"+t+"_")),s[n]=l)}};if(0==w.form.indexOf("detailtable")&&(t=w.form.replace("detailtable",""),e=w.form),h.getFormMecIDList(t).forEach(function(e){i(e)}),e){var a=m.getInstance(e).viewModel.table.name.toLowerCase();h.getFormMecIDList(e).forEach(function(e){i(e,a)})}return s},h.setValue=h.setValue.bind(this),h.getFormMecIDList=h.getFormMecIDList.bind(this)})});