sa-code.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. // 在使用时,不建议你直接魔改模板的代码,以免在运行时出现意外bug,而是在本文件中根据模板的提供的API,来适应你的业务逻辑
  2. // sa-plus 快速开发平台: http://sa-plus.dev33.cn
  3. // ....
  4. // ================================= 示例:一些基本信息 =================================
  5. // 设置模板标题
  6. // sa_admin.title = "Sa-Admin";
  7. // sa_admin.logo = 'sa-frame/admin-logo.png'; // 设置logo图标地址
  8. // sa_admin.icon = 'sa-frame/admin-logo.png'; // 设置icon图标地址
  9. // ================================= 用户信息 和 菜单 =================================
  10. sa.ajax('/AccAdmin/getLoginInfo', function(res) {
  11. console.log(res)
  12. // 验证权限
  13. if (!(res.data.admin && res.data.perList.indexOf('in-system') > -1)) {
  14. sa.$sys.setCurrUser(res.data.admin);
  15. //return sa.alert('当前账号暂无进入后台权限');
  16. }
  17. // 配置
  18. sa_admin.title = "智慧防疫后台";
  19. sa_admin.logo = 'sa-frame/admin-logo.png'; // 设置logo图标地址
  20. sa_admin.icon = "sa-frame/admin-logo.png"; // 设置logo图标地址
  21. // 当前用户信息
  22. sa_admin.user = {
  23. username: res.data.admin.name,
  24. avatar: res.data.admin.avatar || 'sa-frame/admin-logo.png' // 使用logo作为头像
  25. // avatar: res.data.admin.avatar // 此写法为账号头像
  26. };
  27. sa.$sys.setCurrUser(res.data.admin);
  28. // 所有菜单
  29. // var myMenuList = window.menuList; // window.menuList 在 menu-list.js 中定义
  30. sa_admin.initMenu(res.data.perList); // 初始化菜单
  31. sa.setAuth(res.data.perList); // 当前用户权限码集合
  32. // 配置信息
  33. sa.$sys.setAppCfg(res.appCfg);
  34. // 初始化模板(必须调用)
  35. sa_admin.init();
  36. }.bind(this), {
  37. msg: '正在加载登录信息',
  38. login_url: 'login.html'
  39. });
  40. // ================================= 示例:设置登录后的头像处,下拉可以出现的选项 =================================
  41. sa_admin.dropList = [ // 头像点击处可操作的选项
  42. {
  43. name: '我的资料',
  44. click: function() {
  45. sa.showIframe('我的资料', 'sa-view-sp/sp-admin/admin-info.html', '700px', '600px');
  46. }
  47. },
  48. {
  49. name: '修改名称',
  50. click: function() {
  51. layer.prompt({
  52. title: '请输入新名称'
  53. }, function(pass, index) {
  54. layer.close(index);
  55. sa.ajax('/admin/updateInfo', {
  56. name: pass
  57. }, function(res) {
  58. sa_admin.user.username = pass;
  59. sa.ok2('修改成功');
  60. });
  61. });
  62. }
  63. },
  64. {
  65. name: '修改密码',
  66. click: function() {
  67. sa.showIframe('修改密码', 'sa-view-sp/sp-admin/update-password.html', '550px', '350px');
  68. }
  69. },
  70. {
  71. name: '切换账号',
  72. click: function() {
  73. // sa.showIframe('切换账号', 'login.html', '70%', '80%');
  74. sa.$page.openLogin('login.html');
  75. }
  76. },
  77. {
  78. name: '退出登录',
  79. click: function() {
  80. layer.confirm('退出登录?', function() {
  81. sa.ajax('/AccAdmin/doExit', function(res) {
  82. layer.alert('注销成功', function() {
  83. location.href = "login.html";
  84. })
  85. })
  86. });
  87. }
  88. }
  89. ]
  90. // 退出模拟登陆的方法
  91. sa_admin.closeRunAs = function() {
  92. layer.confirm('退出模拟登录?', function() {
  93. sa.ajax('/AccAdmin/doExit', function(res) {
  94. sa.ok('退出成功,即将刷新页面');
  95. sessionStorage.removeItem('runAsToken');
  96. setTimeout(function() {
  97. top.location.reload(true);
  98. }, 1000);
  99. })
  100. });
  101. }
  102. // ================================= 示例:js控制打开某个菜单 =================================
  103. // 显示主页选项卡
  104. // sa_admin.showHome();
  105. // 显示一个选项卡, 根据id
  106. // sa_admin.showTabById('1-1');
  107. // 关闭一个选项卡,根据 id
  108. // sa_admin.closeTabById('1-1');
  109. // 新增一个选项卡
  110. // sa_admin.addTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'}); // id不要和已有的菜单id冲突,其它属性均可参照菜单项
  111. // 新增一个选项卡、并立即显示
  112. // sa_admin.showTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'}); // 参数同上
  113. // 打开一个 菜单,根据 id
  114. // sa_admin.showMenuById('1-1');
  115. // ================================= 示例:调用另一个页面的代码 =================================
  116. // var win = sa_admin.getTabWindow('2-1'); // 根据id获取其页面的window对象 (如果此页面未打开,则返回空)(跨域模式下无法获取其window对象)
  117. // win.app.f5();
  118. // 注意:
  119. // 根据`iframe`的子父通信原则,在子页面中调用父页面的方法,需要加上parent前缀,例如:
  120. // parent.sa_admin.msg('啦啦啦'); // 调用父页面的弹窗方法