service.deptbrowser_wev8.js 11.2 KB
define("mService/deptbrowser_html",function(){return'<div class="page-content dept-browser-container">\t<div class="main-container">\t\t<div class="wev-search">\t\t\t<div class="wev-search-inner">\t\t\t\t<form disabledEnterSubmit action="">\t\t\t\t\t<input type="search" placeholder="$i18n{SEAECH}">\t\t\t\t</form>\t\t\t\t<div class="wev-clear-btn"></div>\t\t\t</div>\t\t</div>\t\t\t\t<div class="tabbar-wrap">\t\t\t<div class="list-tab tabbar active">$i18n{BY_LIST}</div>\t\t\t<div class="tree-tab tabbar">$i18n{ORGANIZATION}</div>\t\t</div>\t\t\t\t<div class="content-container">\t\t\t<div class="wev-loading wev-refresh-loading"><span>$i18n{LOADING_DATA}</span></div>\t\t\t<div class="list-wrap">\t\t\t\t<ul class="wev-table-view"></ul>\t\t\t\t<div class="wev-more-btn"><span>$i18n{LOAD_MORE}</span></div>\t\t\t\t<div class="wev-no-data"></div>\t\t\t\t<div class="wev-loading wev-more-loading"><span>$i18n{LOADING_DATA}</span></div>\t\t\t</div>\t\t</div>\t\t\t\t<div class="tree-container" style="display:none">\t\t\t<ul class="tree-page root-page">\t\t\t\t<li>\t\t\t\t\t<a class="tree-data root-data closed"><span class="arrow-down"></span></a>\t\t\t\t</li>\t\t\t</ul>\t\t</div>\t</div>\t<div class="result-container">\t\t<div class="result-btn">$i18n{SELECTED}<span></span></div>\t\t<div class="ok-btn">$i18n{SURE}<span></span></div>\t</div>\t<div class="selected-container">\t\t<div class="selected-mark"></div>\t\t<div class="selected-content hide">\t\t\t<label>\t\t\t\t<div class="select-all-btn">$i18n{SELECT_ALL}</div>\t\t\t\t<div class="del-btn">$i18n{DELETE}</div>\t\t\t</label>\t\t\t<div class="list-wrap">\t\t\t\t<ul class="wev-table-view"></ul>\t\t\t</div>\t\t</div>\t</div></div>'}),define("mService/deptbrowser",["mUtil","i18n"],function(R,M){return{mounted:function(r,e){var u={browserId:"",selectedIds:"",closeCallback:function(){R.back()},success:function(){}};$.extend(u,e);var c=-1<["164","194","169","170"].indexOf(u.browserId),p=-1<["57","168","194","170"].indexOf(u.browserId);$(".page-content",r).addClass(p?"multi":"single");var v=0,h=1,m=[],s={init:function(e){e&&(h=1);var n=this,t=$(".root-page",r),l=t.children("li").children(".tree-data");$("ul",t.children("li")).remove();var o=$("<div class='wev-loading'><span>"+M.LOADING_DATA+"</span></div>");o.insertAfter(l);var a=R.jionActionUrl("com.api.mobilemode.web.mobile.browser.SystemBrowserAction","action=getData&browserId="+u.browserId+"&virtualtype="+h);R.getJSON(a,function(e){if(o.remove(),"1"==e.status){var t=e.data,a=t.datas;v=a.isVirtual,1==(h=a.companyid)&&(m=t.companys),1<m.length&&1==h&&n.bindCompanysSelect(l);var i=1<m.length?$(".arrow-down",l).prop("outerHTML"):"",s=a.name;1!=h&&m.forEach(function(e,t,a){e.companyid==h&&(s=e.name)}),l.html(s+i),n.fillTreeDatasToPage(a.subs,l),p&&((new Image).src="/mobilemode/mobile/images/plugin/browser/Check.png")}else{var d=e.errMsg;R.getLabel(5359,"加载数据时出现错误:",function(e){alert(e+d)})}})},build:function(e){var o=this;$(".expend[data-haschild='1']",e).click(function(e){var i=$(this),s=$(this).parent();if("1"!=i.attr("expanding")){i.attr("expanding","1");var t=s.siblings(".tree-page");if(i.hasClass("closed"))if(i.removeClass("closed"),i.addClass("opened"),0<t.length)t.show(),i.removeAttr("expanding");else{var d=$("<div class='wev-loading'><span>"+M.LOADING_DATA+"</span></div>");d.insertAfter(s);var a=s.attr("data-id"),n=s.attr("data-type"),l=R.jionActionUrl("com.api.mobilemode.web.mobile.browser.SystemBrowserAction","action=getData&browserId="+u.browserId+"&id="+a);R.getJSON(l,{isVirtual:v,companyid:h,type:n},function(e){if(d.remove(),"1"==e.status){var t=e.data.datas;o.fillTreeDatasToPage(t,s)}else{var a=e.errMsg;R.getLabel(5359,"加载数据时出现错误:",function(e){alert(e+a)}),i.removeClass("opened").addClass("closed")}i.removeAttr("expanding")})}else i.hasClass("opened")&&(t.hide(),i.removeClass("opened").addClass("closed").removeAttr("expanding"));e.stopPropagation()}})},fillTreeDatasToPage:function(e,t){var a=$('<ul class="tree-page"></ul>');a.insertAfter(t);for(var i=0;i<e.length;i++){var s=e[i],d=s.id,n=s.name,l=s.isParent,o=s.canClick,r=s.type,c="";o&&!l&&(c="data"),u.selectedIds&&(c+=-1==(","+u.selectedIds+",").indexOf(","+d+",")?"":" selected");var v=$('<li class="'+c+'" data-id="'+d+'" data-name="'+n+'"></li>'),h='<div class="tree-data" data-id="'+d+'" data-type="'+r+'">';l&&(h+='<div class="expend closed" data-haschild="1"></div>'),h+=n,h+="</div>",v.append(h),a.append(v),o&&!l&&v.click(function(e){p?S[$(this).hasClass("selected")?"remove":"add"](this.dataset):S.onOk($(this).data("id"),$(this).data("name")),e.stopPropagation()})}this.build(a)},bindCompanysSelect:function(e){e.click(function(){for(var e=[],t=0;t<m.length;t++){var a={},i=m[t];a.menuValue=i.companyid,a.text="<div class='wev-ellipsis'>"+i.name+"</div>",a.callback=function(){h=$(this).attr("data-value"),s.init()},e.push(a)}Mobile_NS.footerMenu(e)})}},t=$(".wev-search",r),a=$("input[type='search']",r),i=$(".wev-clear-btn",r);$("form[disabledEnterSubmit]",r).keydown(function(e){if(13==e.keyCode)return!1}),a.on("input",function(){var e=this.value;t.toggleClass("wev-has-value",""!=e)}).keyup(function(e){13==e.keyCode&&(n=this.value,D.toggleTabAndLoad(),this.blur())}),i.click(function(){a.val("").focus().triggerHandler("input")});var d,w=0,n="",f=$(".content-container",r),b=$(".list-wrap .wev-table-view",f),l=$(".wev-refresh-loading",f),o=$(".wev-more-loading",f),g=$(".wev-more-btn",f),C=$(".wev-no-data",f),y=R.runtime.isWebkit()?"webkitAnimationEnd":"animationend";l[0].addEventListener(y,function(){$(this).hasClass("wev-hide")&&$(this).hide()}),g.click(function(){D.loadMore()});var D={refresh:function(e){w=0,f.addClass("wev-refreshing"),l.show().removeClass("wev-hide").addClass("wev-show");var t=(new Date).valueOf();function a(){300<=(new Date).valueOf()-t?(l.removeClass("wev-show").addClass("wev-hide"),f.removeClass("wev-refreshing")):setTimeout(a,100)}D.loadData(function(e){a()},e)},loadMore:function(){o.show(),D.loadData(function(){o.hide()})},loadData:function(a,i){if(g.hide(),C.hide(),i||n||!d){var e=R.jionActionUrl("com.api.mobilemode.web.mobile.browser.SystemBrowserAction","action=getData&list=1&browserId="+u.browserId);i&&(e+="&selectedIds="+u.selectedIds);var t=c?{subcompanyname:n,virtualCompanyid:h}:{departmentname:n,virtualCompanyid:h};R.getJSON(e,t,function(e){var t=e.data.datas;i&&S.init(e.data.sel_datas||[]),i&&(d=t),D.loadDataByDataKey(t,a,i)})}else D.loadDataByDataKey(d,a,i)},loadDataByDataKey:function(e,n,l){var o=++w,t=R.jionActionUrl("com.api.mobilemode.web.mobile.browser.SystemBrowserAction","action=getListData");R.getJSON(t,{current:o,pageSize:20,dataKey:e},function(e){var t,a=e.data,i=a.datas.length,s=c?["{@each datas as d}",'<li class="wev-table-view-cell wev-media ${d.id|deptbrowser_selected}" data-id="${d.id}" data-title="${d.orgInfospan}">','<a href="javascript:void(0);">','<div class="wev-media-body">',"$${d.orgInfospan}",'<div class="wev-ellipsis">',"$${d.subcompanynamespan}","</div>","</div>","</a>","</li>","{@/each}"].join(""):["{@each datas as d}",'<li class="wev-table-view-cell wev-media ${d.id|deptbrowser_selected}" data-id="${d.id}" data-title="${d.departmentname}">','<a href="javascript:void(0);">','<div class="wev-media-body">',"$${d.departmentnamespan}",'<div class="wev-ellipsis">',"$${d.orgInfospan}","</div>","</div>","</a>","</li>","{@/each}"].join("");t=R.parseTemplate(s,a);var d=$(t);1==o&&b.find("*").remove(),b.append(d),d.click(function(){if(p){var e=this.dataset,t=[];$(".wev-ellipsis",$(this)).each(function(){t.push($(this).html())}),e.others=t,S[$(this).hasClass("selected")?"remove":"add"](e)}else S.onOk($(this).data("id"),$(this).data("title"))}),0==i?g.hide():20==i&&g.show(),i<=0&&o<=1&&C.show(),l&&($(".page-content",r).addClass(p?"multi":"single"),p&&((new Image).src="/mobilemode/mobile/images/plugin/browser/Check.png")),R.isFunction(n)&&n()},function(e){var t=$("<div class='wev-error'></div>");t.html(e),f.hide(),f.parent().append(t)})},toggleTabAndLoad:function(){j.addClass("active"),B.removeClass("active"),$(".tree-container",r).css("display","none"),f.css("display",""),D.refresh()}},A=$(".ok-btn",r),k=$(".result-btn",r),S={isReady:!1,selectedData:[],addSelectedData:function(e){this.selectedData.push(e)},indexOfSelectedData:function(e){for(var t=-1,a=0;a<this.selectedData.length;a++)if(this.selectedData[a].id==e){t=a;break}return t},removeSelectedData:function(e){var t=this.indexOfSelectedData(e);-1!=t&&this.selectedData.splice(t,1)},getSelectedNum:function(){return this.selectedData.length},init:function(e){var s=this;$.each(e,function(e,t){s.innerAdd(t)}),A.click(function(){for(var e="",t="",a=s.selectedData,i=0;i<a.length;i++)e+=a[i].id,t+=a[i].name||a[i].title,i!=a.length-1&&(e+=",",t+=",");s.onOk(e,t)}),k.click(function(){N.toggle()}),s.isReady=!0},add:function(e){this.isReady&&this.innerAdd(e)},innerAdd:function(e){this.addSelectedData(e);var t=e.id;j.hasClass("active")&&$(".wev-table-view-cell[data-id='"+t+"']",b).addClass("selected")||$("li.data[data-id='"+t+"']",r).addClass("selected"),this.refreshResultBtn()},remove:function(e){var t=e.id;j.hasClass("active")&&$(".wev-table-view-cell[data-id='"+t+"']",b).removeClass("selected")||$("li.data[data-id='"+t+"']",r).removeClass("selected"),this.removeSelectedData(t),this.refreshResultBtn()},refreshResultBtn:function(){var e=this.getSelectedNum();$("span",k).html(0<e?"("+e+")":""),0<e?k.show():k.hide()},onOk:function(e,t){var a=u.success;a&&a(e,t);var i=u.closeCallback;i&&i()}},I=$(".selected-container",r),O=$(".selected-mark",I),T=$(".selected-content",I),L=$(".list-wrap .wev-table-view",I),E=$(".select-all-btn",I),x=$(".del-btn",I),N={init:function(){var e=this;O.click(function(){e.hide()}),E.click(function(){$(".wev-table-view-cell",L).not(".selected").triggerHandler("click")}),x.click(function(){$(".wev-table-view-cell.selected",L).each(function(){S.remove(this.dataset),$(this).remove()}),S.getSelectedNum()<=0&&e.hide()})},showStatus:!1,toggle:function(){this[this.showStatus?"hide":"show"]()},show:function(){var e=this,t=["{@each datas as d}",'<li class="wev-table-view-cell wev-media" data-id="${d.id}" data-name="${d.name}${d.title}">','<a href="javascript:void(0);">','<div class="wev-media-body">',"$${d.name}$${d.title}","</div>","</a>","</li>","{@/each}"].join(""),a=R.parseTemplate(t,{datas:S.selectedData}),i=$(a);L.find("*").remove(),L.append(i),i.click(function(){$(this).toggleClass("selected")}),I.show(),setTimeout(function(){O.addClass("show"),T.removeClass("hide"),e.showStatus=!0},10),j.hasClass("active")&&$(".list-wrap",f).css("overflow-y","hidden")||$(".tree-container",r).css("overflow-y","hidden")},hide:function(){var e=this;O.removeClass("show"),T.addClass("hide"),setTimeout(function(){I.hide(),e.showStatus=!1},300),j.hasClass("active")&&$(".list-wrap",f).css("overflow-y","auto")||$(".tree-container",r).css("overflow-y","auto")}},_=require("juicer");_.unregister("deptbrowser_selected"),_.register("deptbrowser_selected",function(e){return-1==S.indexOfSelectedData(e)?"":"selected"});var j=$(".list-tab",r),B=$(".tree-tab",r);j.click(function(){var e=$(this);n="",e.hasClass("active")||D.toggleTabAndLoad()}),B.click(function(){var e=$(this);e.hasClass("active")||(e.addClass("active"),j.removeClass("active"),f.css("display","none"),$(".tree-container",r).css("display",""),s.init(!0))}),D.refresh(!0),N.init()}}});