sa-code.js 4.5 KB

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