mirror of
https://github.com/DzzXH/DzzOffice.git
synced 2026-01-18 22:45:19 +08:00
核心功能修复与优化
1. 网盘空间管理优化:
修复了删除网盘文件后,剩余空间未正确更新的问题,确保用户空间显示准确。
2. 机构用户导航体验提升:
优化了机构用户在使用中的导航栏返回逻辑,提升了用户在不同页面间跳转时的流畅性和一致性。
用户体验与界面改进
1. 登录页面样式优化:
解决了登录页面样式重复引用的问题,提升了页面加载速度和用户体验。
2. 移动端界面适配:
优化了移动端界面的头部名称居中显示,增强了在不同移动设备上的视觉一致性。
3. 卡片显示效果调整:
修改了卡片的显示效果,使信息展示更加美观和易于阅读。
性能与稳定性提升
1. JS代码压缩问题修复:
修复了压缩JS代码过程中导致的报错问题,确保了应用的稳定性和性能。
2. 压缩css、js代码优化前端性能
对前端的CSS和JS代码进行了压缩处理,减少了文件体积,加快了加载速度,从而提升了前端性能。
插件与系统升级
1. jstree插件升级:
升级了jstree插件版本,解决了在某些使用场景中无法选中节点的问题,提升了用户与树形结构交互的可靠性。
2. 应用市场UI优化:
对应用市场界面进行了UI优化,提升了应用展示的美观度和易用性,使用户能够更方便地查找和安装所需的应用。
8 lines
13 KiB
JavaScript
8 lines
13 KiB
JavaScript
/*
|
||
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
|
||
* @license http://www.dzzoffice.com/licenses/license.txt
|
||
* @package DzzOffice
|
||
* @link http://www.dzzoffice.com
|
||
* @author zyx(zyx@dzz.cc)
|
||
*/
|
||
function checkAdminLogin(e){return!!e.match(/id=\"loginform\"/i)}function show_guide(){jQuery("#orguser_container").load(ajaxurl+"do=guide",function(){location.hash=""})}function delDepart(e){jQuery(e).parent().parent().remove()}var tpml_index=0;function addorgsel(){jQuery("#selorg_container").append(' <ul class="nav nav-pills">'+orgsel_html.replace(/orgid_tpml/gi,"orgid_tpml_"+tpml_index)+"</ul>"),tpml_index++}function selJob(e){var r=jQuery(e).attr("_jobid"),o=jQuery(e).parent().parent().parent(),t=e.innerHTML;o.find(".dropdown-toggle").attr("_jobid",r).find("span").html(t),o.find("input").val(r)}function selDepart(e){var r=jQuery(e).val(),o=jQuery(e).parent();o.parent().find(".job .dropdown-menu").load(ajaxurl+"do=getjobs&orgid="+r,function(e){checkAdminLogin(e)&&location.reload(),o.parent().find(".job .dropdown-menu li").length>1&&o.parent().find(".job .dropdown-toggle").trigger("click")}),o.parent().find(".job .dropdown-toggle").attr("_jobid",0).find("span").html(__lang.none),o.parent().find(".job input").val("0")}function errormessage(e,r,o){jQuery("#"+e).length>0&&("succeed"==(r=r||"")?(r="",jQuery("#suc_"+e).addClass("p_right")):""!==r&&jQuery("#suc_"+e).removeClass("p_right"),jQuery("#chk_"+e).find("kbd").html(r),r&&!o?jQuery("#"+e).parent().parent().addClass("has-warning"):jQuery("#"+e).parent().parent().removeClass("has-warning"))}function checkemail(e){errormessage(e);var r=trim(jQuery("#"+e).val());if(r=r.toLowerCase(),(!jQuery("#"+e).parent()[0].className.match(/ p_right/)||""!=r&&r!=lastemail)&&r!=lastemail)if(r.match(/<|"/gi))errormessage(e,__lang.Email_sensitivity);else{new Ajax;jQuery("#suc_"+e).removeClass("p_right"),jQuery.getJSON("user.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkemail&email="+r,function(r){r.error?errormessage(e,r.error):errormessage(e,"succeed")})}}function checknick(e){errormessage(e);var r=trim(jQuery("#"+e).val());if((!jQuery("#chk_"+e).parent()[0].className.match(/ p_right/)||""!=r&&r!=lastusername)&&r!=lastusername)if(r.match(/<|"/gi))errormessage(e,__lang.profile_nickname_illegal);else if(r){var o=r.replace(/[^\x00-\xff]/g,"**").length;if(o<3||o>30)return void errormessage(e,__lang.username_character);new Ajax;jQuery("#suc_"+e).removeClass("p_right"),jQuery.getJSON("user.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkusername&username="+encodeURI(r),function(r){r.error?errormessage(e,r.error):errormessage(e,"succeed")})}}function checkPwdComplexity(e,r,o){modifypwd=o||!1,e.onblur=function(){if(""==e.value){var o=modifypwd?__lang.js_change_password:__lang.register_password_tips;pwlength>0&&(o+=", "+__lang.register_password_length_tips1+pwlength+__lang.register_password_length_tips2),modifypwd||errormessage(e.id,o)}else errormessage(e.id,modifypwd?__lang.js_change_password:"succeed");checkpassword(e.id,r.id)},e.onkeyup=function(){if(0==pwlength||jQuery("#"+e.id).value.length>=pwlength){var r=new Array("",__lang.weak,__lang.center,__lang.strong),o=checkstrongpw(e.id);errormessage(e.id,'<span class="passlevel passlevel'+o+'">'+__lang.intension+":"+r[o]+"</span>","passlevel")}},r.onblur=function(){""==r.value&&(modifypwd||errormessage(r.id,modifypwd?__lang.register_repassword_tips:"succeed")),checkpassword(e.id,r.id)}}function checkstrongpw(e){var r=0,o=document.getElementById(e).value;return o&&o.match(/\d+/g)&&r++,o&&o.match(/[a-z]+/gi)&&r++,o&&o.match(/[^a-z0-9]+/gi)&&r++,r}function checkpassword(e,r){if(!document.getElementById(e).value&&document.getElementById(r).value,pwlength>0&&document.getElementById(e).value.length<pwlength)errormessage(e,__lang.password_too_short+pwlength+__lang.register_password_length_tips2);else{if(strongpw){var o=!1,t=0,a=new Array;for(var n in strongpw)1!==strongpw[n]||document.getElementById(e).value.match(/\d+/g)||(o=!0,a[t]=__lang.strongpw_1,t++),2!==strongpw[n]||document.getElementById(e).value.match(/[a-z]+/g)||(o=!0,a[t]=__lang.strongpw_2,t++),3!==strongpw[n]||document.getElementById(e).value.match(/[A-Z]+/g)||(o=!0,a[t]=__lang.strongpw_3,t++),4!==strongpw[n]||document.getElementById(e).value.match(/[^A-Za-z0-9]+/g)||(o=!0,a[t]=__lang.strongpw_4,t++);if(o)return void errormessage(e,__lang.password_weak+a.join(","))}errormessage(r),document.getElementById(e).value!=document.getElementById(r).value?errormessage(r,__lang.profile_passwd_notmatch):(modifypwd&&errormessage(e,"succeed"),errormessage(r,"succeed"))}}function jstree_search(e){console.log(e),"stop"==e?(jQuery("#jstree_search_input").val(""),jQuery("#searchval").val(""),jQuery(".classtree-search").slideUp(500),jQuery("#classtree").jstree(!0).search()):(""==e&&(jQuery("#jstree_search_input").val(""),jQuery("#searchval").val(""),jQuery(".classtree-search").slideUp(500)),jQuery("#classtree").jstree(!0).search(e))}function jstree_create_organization(){var e=jQuery("#classtree").jstree(!0);jQuery.post(ajaxurl+"do=create",{forgid:0,t:(new Date).getTime()},function(r){if(!r||r.error)showmessage(r.error,"danger",3e3,1);else if(r.orgid>0){var o={id:r.orgid,text:r.orgname,type:"organization",icon:"dzz/system/images/organization.png"};e.create_node(e.get_node("#"),o,"first",function(r){setTimeout(function(){e.edit(r)},0)})}},"json")}function jstree_create_dir(){var e;if((r=jQuery("#classtree").jstree(!0)).get_selected(!0).length>0){if("user"==(e=(e=r.get_selected(!0))[0]).type)return showmessage(__lang.please_select_one_organization_department,"danger",1e3,1),!0;if(r.is_disabled(e))return!0;var r=jQuery("#classtree").jstree(!0);jQuery.post(ajaxurl+"do=create",{forgid:e.id,t:(new Date).getTime()},function(o){if(!o||o.error)showmessage(o.error,"danger",3e3,1);else if(o.orgid>0){var t={id:o.orgid,text:o.orgname,type:"organization",icon:o.forgid>0?"dzz/system/images/department.png":"dzz/system/images/organization.png"};r.create_node(e,t,"first",function(e){setTimeout(function(){r.edit(e)},0)})}},"json")}else showmessage(__lang.please_select_one_organization_department,"danger",1e3,1)}function jstree_create_user(e){var r,o=jQuery("#classtree").jstree(!0);if(o.get_selected(!0).length>0?r=(r=o.get_selected(!0))[0]:(e&&(e=0),r=o.get_node("#")),"user"==r.type&&(r=o.get_node(r.parent)),o.is_disabled(r))return!0;showDetail(0,"user",null,r.id)}function showDetail(e,r,o,t){var a=r+"_"+e,n="";o&&(a+="_"+o,n+="&do="+o),t&&(a+="_"+t,n+="&orgid="+t),currentHash=a,location.hash=a,n+="&t="+(new Date).getTime(),jQuery("#orguser_container").load(baseurl+"op=view&id="+e+"&idtype="+r+n,function(e){checkAdminLogin(e)&&location.reload()})}function open_node_dg(e,r,o){e.open_node(r,function(r){var t=jQuery.inArray(r.id,o);t<o.length&&t>-1&&document.getElementById(o[t+1])&&open_node_dg(e,document.getElementById(o[t+1]),o)})}function job_show_editor(e,r,o){var t=jQuery(o).addClass("hide");t.parent().find(".edit").removeClass("hide"),t.parent().find("input").focus(),jQuery(document).on("click.job_edit_"+e,function(o){jQuery(o.target).closest(t.parent()).length||(job_save(e,r),jQuery(document).off("click.job_edit_"+e))})}function job_save(e,r){var o=jQuery("#job_"+e),t=trim(o.find(".job-name").html()),a=trim(o.find(".job-edit-control input").val());if(t==a)return o.find(".job-name").removeClass("hide"),void o.find(".edit").addClass("hide");jQuery.post(ajaxurl+"do=jobedit",{name:a,jobid:e,orgid:r,t:(new Date).getTime()},function(e){e.error?(o.find(".job-name").html(t).removeClass("hide"),o.find(".edit").addClass("hide"),o.find(".job-edit-control input").val(t)):e.jobid>0&&(o.find(" .job-name").html(e.name).removeClass("hide"),o.find(".edit").addClass("hide"),o.find(".job-edit-control input").val(e.name))},"json")}function job_show_add_editor(e,r){var o=jQuery(r);o.addClass("hide"),o.parent().find(".new-job-control").removeClass("hide"),o.parent().find(".new-job-control input").focus(),jQuery(document).on("click.new-job-"+e,function(r){jQuery(r.target).closest(o.parent()).length||(job_cancel_add_editor(e),jQuery(document).off("click.new-job-"+e))})}function job_cancel_add_editor(e){var r=jQuery(".jobs .new-job");r.find(".new-job-control").addClass("hide"),r.find("a").removeClass("hide")}function job_del(e,r){var o=jQuery("#job_"+e);jQuery.post(ajaxurl+"do=jobdel",{jobid:e,orgid:r,t:(new Date).getTime()},function(e){e.error?showmessage(e.error,"danger",3e3,1):e.jobid>0&&o.remove()},"json")}function job_add(e){var r=jQuery(".jobs .new-job"),o=r.find(".new-job-text").val();""!=o?jQuery.post(ajaxurl+"do=jobadd",{name:o,orgid:e,t:(new Date).getTime()},function(e){e.jobid>0?(appendjob(e),r.find(".new-job-text").val("").focus()):showmessage(e.error,"danger",3e3,1)},"json"):newtodo.find(".new-job-text").focus()}function appendjob(e){var r="";r+='<div id="job_'+e.jobid+'" orgid="'+e.orgid+'" class="job-item-edit pull-left">',r+=" <button onclick=\"job_show_editor('"+e.jobid+"','"+e.orgid+'\', this)" class="btn btn-outline-secondary job-name mr20">'+e.name+"</button>",r+=' <div class="edit hide" style="min-width:250px">',r+=' <div class="job-edit-control pull-left" >',r+=' <input type="text" class="form-control" style="width:100px" value="'+e.name+'" onkeyup="if(event.keyCode==13){job_save(\''+e.name+"','"+e.orgid+"')}\">",r+=" </div>",r+=" <button onclick=\"job_save('"+e.name+"','"+e.orgid+'\')" data-loading-text="'+__lang.save+'" class="btn btn-outline-primary job-save">'+__lang.save+"</button>",r+=' <button class="btn btn-outline-primary todo-del" onclick="job_del(\''+e.name+"','"+e.orgid+"')\">"+__lang.delete+"</button>",r+=" </div> ",r+="</div>",jQuery(".jobs .new-job").before(r)}function callback_moderators(e,r,o){console.log(e),console.log(o),jQuery(".moderators-container .user-item").each(function(){var r=jQuery(this).attr("uid");-1===jQuery.inArray(r,e)&&jQuery(this).find(".delete").trigger("click")});for(var t=0;t<e.length;t++)moderator_add(o,e[t])}function moderator_add(e,r){if(jQuery("#moderators_container_"+e+" .user-item[uid="+r+"]").length)return jQuery("#moderators_container_"+e+" .user-item[uid="+r+"]").insertAfter(jQuery("#moderators_container_"+e+" .moderators-acceptor")),void jQuery("#moderators_container_"+e+" .moderators-acceptor").removeClass("hover");jQuery("#moderators_container_"+e+" .moderators-acceptor").removeClass("hover"),jQuery.post(ajaxurl+"do=moderator_add",{orgid:e,uid:r,t:(new Date).getTime()},function(e){e.error?showmessage(e.error,"danger",3e3,1):appendModerator(e)},"json")}function appendModerator(e){var r="";r+='<li class="user-item pull-left" uid="'+e.uid+'"> ',r+='\t\t\t<a href="javascrip:;" class="delete" onclick="moderator_del(\''+e.id+"','"+e.orgid+'\',this);return false"><i style="color:#d2322d;font-size:16px" class="glyphicon glyphicon-remove-sign"></i></a>',r+='\t\t\t<div class="avatar-cover"></div>',r+='\t\t\t<div class="user-item-avatar">',r+='\t\t\t\t<div class="avatar-face">',r+="\t\t\t\t\t"+e.avatar,r+="\t\t\t\t</div>",r+="\t\t\t</div>",r+='\t\t\t<p class="text-center" style="height:20px;margin:5px 0;line-height:25px;overflow:hidden;"> '+e.username+"</p>",r+="\t </li>",jQuery("#moderators_container_"+e.orgid+" .moderators-acceptor").after(r);var o=jQuery("#classtree").jstree(!0),t=o.get_node("#"+e.orgid);o.refresh_node(t)}function moderator_del(e,r,o){jQuery.post(ajaxurl+"do=moderator_del",{orgid:r,id:e,t:(new Date).getTime()},function(e){e.error?showmessage(e.error,"danger",3e3,1):jQuery(o).parent().remove()},"json")}function folder_available(e,r){jQuery.post(ajaxurl+"do=folder_available",{orgid:r,available:e,t:(new Date).getTime()},function(r){r.error?showmessage(r.error,"danger",3e3,1):e?showmessage(__lang.share_enable_successful,"success",3e3,1):showmessage(__lang.share_close_successful,"success",3e3,1)},"json")}function group_on(e,r){jQuery.post(ajaxurl+"do=group_on",{orgid:r,available:e,t:(new Date).getTime()},function(r){r.error?showmessage(r.error,"danger",3e3,1):e?showmessage(__lang.group_on_successful,"success",3e3,1):showmessage(__lang.group_close_successful,"success",3e3,1)},"json")}function folder_indesk(e,r){jQuery.post(ajaxurl+"do=folder_indesk",{orgid:r,indesk:e,t:(new Date).getTime()},function(e){e.error&&showmessage(e.error,"danger",3e3,1)},"json")}function set_org_logo(e,r){jQuery.post(ajaxurl+"do=set_org_logo",{orgid:e,aid:r},function(e){e.error&&showmessage(e.error,"danger",3e3,1)},"json")}function set_org_orgname(e,r){var o=jQuery(r).data("oldname");console.log(o),jQuery.post(ajaxurl+"do=set_org_orgname",{orgid:e,orgname:r.value},function(t){if(t.error)r.value=o,showmessage(t.error,"danger",3e3,1);else{jQuery(r).data("oldname",r.value),jQuery("#title_orgname").html(r.value);var a=jQuery("#classtree").jstree(!0).get_node("#"+e);jQuery("#classtree").jstree("refresh",a)}},"json")}function set_org_desc(e,r){jQuery.post(ajaxurl+"do=set_org_desc",{orgid:e,desc:r},function(e){e.error&&showmessage(e.error,"danger",3e3,1)},"json")}function folder_maxspacesize(e,r){jQuery.post(ajaxurl+"do=folder_maxspacesize",{orgid:r,maxspacesize:e.value,t:(new Date).getTime()},function(o){o.error?(e.value=o.val,showmessage(o.error,"danger",3e3,1)):(jQuery("#"+r+" a.jstree-clicked").trigger("click"),showmessage("空间大小设置成功","success",3e3,1))},"json")} |