layui.config({ base: '../js/module/' }).extend({ 'constants': '{/}js/util/constants', 'ajax': '{/}js/util/ajax', 'customUtil': '{/}js/util/util', 'api': '{/}js/api/index.api' }).use(['jquery', 'element', 'laytpl', 'api', 'constants', 'customUtil'], () => { const $ = layui.jquery; const element = layui.element; const laytpl = layui.laytpl; const constants = layui.constants; const form = layui.form; const customUtil = layui.customUtil; const userId = sessionStorage.getItem('login-userId'); const userName = sessionStorage.getItem('login-userName'); const phone = sessionStorage.getItem('login-phone'); $("#indexUserName").text(userName); $('#loginBack').on('click', () => { localStorage.clear(); window.location = constants.LOGIN_PATH; }) $('#updatePwd').on('click', () => { $("#updatePwdWin .layui-form")[0].reset(); layui.form.render(); layer.open({ type:1, title: "修改密码", content:$("#updatePwdWin") }) }) $('#updateTel').on('click', () => { $("#updateTelWin .layui-form")[0].reset(); layui.form.render(); layer.open({ type:1, title: "修改手机号", content:$("#updateTelWin") }) $("#oldTel").val(phone); }) // 校验规则 form.verify({ pwd: [ /^[\S]{6,12}$/, '密码必须6到12位,且不能出现空格' ], samePwd: function (value) { if (value === $('#oldPwd').val()) { return '新密码不能和旧密码相同!'; } }, rePwd: function (value) { if (value !== $('#newPwd').val()) { return '两次密码不一致!'; } }, phoneVal: function (value, item) { var mobile = /^1[3|4|5|6|7|8|9]\d{9}$/; var flag = mobile.test(value); if(!flag){ return '请输入正确手机号'; } } }) form.on('submit(updatePwd)', (data) => { layui.api.updatePwd({ userId : userId, oldPass : btoa(data.field.oldPwd), password : btoa(data.field.newPwd), repeatPass : btoa(data.field.rePwd) }, (json) => { if(json.code == constants.SUCCESS_CODE){ setTimeout( () => { layer.closeAll(); },1500) } customUtil.refush(json.code == constants.SUCCESS_CODE, '保存成功', json.msg) } ) return false }) form.on('submit(updateTel)', (data) => { layui.api.updateTel({ userId : userId, phone : btoa(data.field.phone) }, (json) => { if(json.code == constants.SUCCESS_CODE){ setTimeout( () => { layer.closeAll(); },1500) sessionStorage.setItem('login-phone',data.field.phone); } customUtil.refush(json.code == constants.SUCCESS_CODE, '保存成功', json.msg) } ) return false }) const template = ` `; layui.api.userTree(userId,(json) => { //console.info("", json.result); laytpl(template).render(json.result, (html) => { $('#menu-list').html(html); element.render('nav'); }); setTimeout(() => { $("[data-menu=dealt]").click(); }, 1000) }) /*const data = [{ 'name': '系统管理', 'children': [{ 'name': '菜单管理', 'menu': 'menu', 'icon': 'fa-user-o' }, { 'name': '按钮管理', 'menu': 'button', }, { 'name': '角色管理', 'menu': 'role', }, { 'name': '用户管理', 'menu': 'user', }, { 'name': '单位管理', 'menu': 'corp', }, { 'name': '系统配置', 'menu': 'config', },{ 'name': '短信用户管理', 'menu': 'sms', }], }, { 'name': '业务办理', 'children': [{ 'name': '待办', 'menu': 'dealt', }, { 'name': '已办', 'menu': 'done', }] }];*/ /** * 菜单收折 */ $('#fast-shrink').on('click', (e) => { const icon = $(e.currentTarget).find('i'); const status = icon.hasClass('layui-icon-shrink-right'); $('.fast-menu-left').animate({left: status ? '-200px' : 0}); //$('.fast-logo').animate({left: status ? '-200px' : 0}); //$('.fast-header-left').animate({left: status ? 0 : '200px'}); $('.fast-main').animate({left: status ? 0 : '200px'}); $('.layui-footer').animate({left: status ? 0 : '200px'}); icon.removeClass(status ? 'layui-icon-shrink-right' : 'layui-icon-spread-left'); icon.addClass(status ? 'layui-icon-spread-left' : 'layui-icon-shrink-right'); }); /** * 菜单点击 */ //$(".layui-tab-title li:eq(0) i").remove(); element.on('nav(menu)', (elem) => { /*if (elem.parent().find('.layui-nav-child').length > 0 || elem.data('menu') == $('.layui-tab-item').attr('menu')) { return; }*/ /*$('.fast-header-left-nav').css({display: 'flex'}); $('.fast-header-left-nav span').eq(0).text(elem.parent().parent().prev().text()); $('.fast-header-left-nav span').eq(2).text(elem.text());*/ //$('.fast-iframe').attr({src: 'view/' + elem.data('menu') + '.html', menu: elem.data('menu')}); //$(".layui-tab-title li:eq(0)").remove(); const menu = elem.data('menu'); if(!menu) { return; } let isTabAdd = true; $(".layui-tab-title li").each((i,dom) => { const layid = $(dom).attr("lay-id"); if(layid == menu){ isTabAdd = false; return; } }) if(isTabAdd == true){ //新增一个Tab项 active.tabAdd('view/' + menu + '.html', menu, elem.text()) } active.tabChange(menu); // $(".layui-tab-title li:eq(0) i").remove(); }); //触发事件 const active = { tabfilter : 'index-nev', //在这里给active绑定几项事件,后面可通过active调用这些事件 tabAdd: function (url, id, name) { //新增一个Tab项 传入三个参数,分别对应其标题,tab页面的地址,还有一个规定的id,是标签中data-id的属性值 //关于tabAdd的方法所传入的参数可看layui的开发文档中基础方法部分 element.tabAdd(active.tabfilter, { title: name, content: '', id: id //规定好的id }) CustomRightClick(id); //给tab绑定右击事件 }, tabChange: function (id) { //切换到指定Tab项 element.tabChange(active.tabfilter, id); //根据传入的id传入到指定的tab项 }, tabDelete: function (id) { element.tabDelete(active.tabfilter, id);//删除 }, tabDeleteAll: function (ids) {//删除所有 $.each(ids, function (i, item) { element.tabDelete(active.tabfilter, item); //ids是一个数组,里面存放了多个id,调用tabDelete方法分别删除 }) }, tabRefresh: function (id) { //刷新页面 $("iframe[data-frameid='" + id + "']").attr("src", $("iframe[data-frameid='" + id + "']").attr("src")) //刷新框架 } }; let timeOutIndex = -1; function CustomRightClick(id) { //取消右键 rightmenu属性开始是隐藏的 ,当右击的时候显示,左击的时候隐藏 $('.layui-tab-title').on('contextmenu', function () { return false; }) $('body').click(function () { $('.rightmenu').hide(); }); //桌面点击右击 $('.layui-tab-title').on('contextmenu', function (e) { var popupmenu = $(".rightmenu"); popupmenu.find("li").attr("data-id", id); //在右键菜单中的标签绑定id属性 //判断右侧菜单的位置 l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX - 200; t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY - 30; popupmenu.css({ left: l, top: t }).show(); //进行绝对定位 if(timeOutIndex != -1){ clearTimeout(timeOutIndex); } timeOutIndex = setTimeout(() => { $('.rightmenu').hide(); }, 3000) //alert("右键菜单") return false; }); } $(".rightmenu li").click(function () { //右键菜单中的选项被点击之后,判断type的类型,决定关闭所有还是关闭当前。 if ($(this).attr("data-type") == "closethis") { //如果关闭当前,即根据显示右键菜单时所绑定的id,执行tabDelete active.tabDelete($(this).attr("data-id")) } else if ($(this).attr("data-type") == "closeall") { var tabtitle = $(".layui-tab-title li"); var ids = new Array(); $.each(tabtitle, function (i) { ids[i] = $(this).attr("lay-id"); }) //如果关闭所有 ,即将所有的lay-id放进数组,执行tabDeleteAll active.tabDeleteAll(ids); } else if ($(this).attr("data-type") == "closeothe") { var id = $(this).attr("data-id"); var tabtitle = $(".layui-tab-title li"); var ids = new Array(); $.each(tabtitle, function (i) { if (id != $(this).attr("lay-id")) { ids[i] = $(this).attr("lay-id"); } }) active.tabDeleteAll(ids); } else if ($(this).attr("data-type") == "refreshsys") { location.reload(); } else if ($(this).attr("data-type") == "refreshthis") { active.tabRefresh($(this).attr("data-id")) } }) });