eoss-ui 0.5.97 → 0.5.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/lib/button-group.js +8 -4
  2. package/lib/button.js +8 -4
  3. package/lib/calendar.js +2 -2
  4. package/lib/card.js +2 -2
  5. package/lib/cascader.js +2 -2
  6. package/lib/checkbox-group.js +9 -4
  7. package/lib/clients.js +2 -2
  8. package/lib/data-table-form.js +9 -4
  9. package/lib/data-table.js +31 -18
  10. package/lib/date-picker.js +8 -4
  11. package/lib/dialog.js +12 -7
  12. package/lib/enterprise.js +2 -2
  13. package/lib/eoss-ui.common.js +767 -797
  14. package/lib/error-page.js +2 -2
  15. package/lib/flow-group.js +8 -4
  16. package/lib/flow-list.js +8 -4
  17. package/lib/flow.js +9 -4
  18. package/lib/form.js +9 -4
  19. package/lib/handle-user.js +8 -4
  20. package/lib/handler.js +22 -18
  21. package/lib/icon.js +8 -4
  22. package/lib/icons.js +3 -3
  23. package/lib/index.js +1 -1
  24. package/lib/input-number.js +8 -4
  25. package/lib/input.js +8 -4
  26. package/lib/label.js +2 -2
  27. package/lib/layout.js +2 -2
  28. package/lib/login.js +13 -7
  29. package/lib/main.js +2720 -2759
  30. package/lib/menu.js +2 -2
  31. package/lib/nav.js +8 -4
  32. package/lib/notify.js +2 -2
  33. package/lib/page.js +8 -4
  34. package/lib/pagination.js +8 -4
  35. package/lib/player.js +10 -6
  36. package/lib/qr-code.js +10 -6
  37. package/lib/radio-group.js +8 -4
  38. package/lib/retrial-auth.js +15 -11
  39. package/lib/select-ganged.js +15 -11
  40. package/lib/select.js +8 -4
  41. package/lib/selector-panel.js +9 -4
  42. package/lib/selector.js +8 -4
  43. package/lib/sizer.js +8 -4
  44. package/lib/steps.js +8 -4
  45. package/lib/switch.js +8 -4
  46. package/lib/table-form.js +8 -4
  47. package/lib/tabs-panel.js +2 -2
  48. package/lib/tabs.js +8 -4
  49. package/lib/theme-chalk/base.css +1 -1
  50. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  51. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  52. package/lib/theme-chalk/icon.css +1 -1
  53. package/lib/theme-chalk/index.css +1 -1
  54. package/lib/theme-chalk/main.css +1 -1
  55. package/lib/theme-chalk/menu.css +1 -1
  56. package/lib/theme-chalk/simplicity.css +1 -1
  57. package/lib/theme-chalk/sizer.css +1 -1
  58. package/lib/theme-chalk/upload.css +1 -1
  59. package/lib/tips.js +8 -4
  60. package/lib/toolbar.js +2 -2
  61. package/lib/tree-group.js +8 -4
  62. package/lib/tree.js +8 -4
  63. package/lib/upload.js +9 -4
  64. package/lib/utils/util.js +6 -2
  65. package/lib/wujie.js +151 -147
  66. package/lib/wxlogin.js +8 -4
  67. package/package.json +1 -1
  68. package/packages/.DS_Store +0 -0
  69. package/packages/data-table/src/main.vue +18 -12
  70. package/packages/dialog/src/main.vue +1 -1
  71. package/packages/handler/.DS_Store +0 -0
  72. package/packages/handler/src/main.vue +6 -6
  73. package/packages/icons/src/icon.json +1 -1
  74. package/packages/login/.DS_Store +0 -0
  75. package/packages/login/src/main.vue +2 -1
  76. package/packages/main/.DS_Store +0 -0
  77. package/packages/main/src/.DS_Store +0 -0
  78. package/packages/main/src/default/index.vue +34 -12
  79. package/packages/main/src/main.vue +28 -3
  80. package/packages/main/src/{default → public}/settings.vue +53 -21
  81. package/packages/main/src/simplicity/handler.vue +21 -28
  82. package/packages/main/src/simplicity/index.vue +132 -114
  83. package/packages/theme-chalk/lib/base.css +1 -1
  84. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  85. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  86. package/packages/theme-chalk/lib/icon.css +1 -1
  87. package/packages/theme-chalk/lib/index.css +1 -1
  88. package/packages/theme-chalk/lib/main.css +1 -1
  89. package/packages/theme-chalk/lib/menu.css +1 -1
  90. package/packages/theme-chalk/lib/simplicity.css +1 -1
  91. package/packages/theme-chalk/lib/sizer.css +1 -1
  92. package/packages/theme-chalk/lib/upload.css +1 -1
  93. package/packages/theme-chalk/src/.DS_Store +0 -0
  94. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  95. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  96. package/packages/theme-chalk/src/icon.scss +8 -0
  97. package/packages/theme-chalk/src/main.scss +16 -0
  98. package/packages/theme-chalk/src/mixins/util.scss +0 -0
  99. package/packages/theme-chalk/src/simplicity.scss +197 -0
  100. package/src/.DS_Store +0 -0
  101. package/src/index.js +1 -1
  102. package/src/utils/util.js +6 -2
  103. package/packages/main/src/simplicity/settings.vue +0 -119
@@ -385,7 +385,7 @@ export default {
385
385
  mini: { width: '800px', height: '400px' },
386
386
  sm: { width: '960px', height: '500px' },
387
387
  md: { width: '1060px', height: '600px' },
388
- lg: { width: '1200px', height: '800px' },
388
+ lg: { width: '1200px', height: availHeight < 800 ? '560px' : '800px' },
389
389
  max: { width: `${availWidth}px`, height: `${availHeight}px` },
390
390
  full: { width: '100%', height: '100%' }
391
391
  },
Binary file
@@ -135,7 +135,7 @@ export default {
135
135
  hide: {
136
136
  type: Object,
137
137
  default() {
138
- return { system: true };
138
+ return { system: true, new: true };
139
139
  }
140
140
  },
141
141
  online: {
@@ -217,16 +217,16 @@ export default {
217
217
  icon: 'es-icon-zuomian',
218
218
  title: '个人工作台'
219
219
  },
220
- {
221
- type: 'notice',
222
- icon: 'es-icon-tongzhi',
223
- title: '通知消息'
224
- },
225
220
  {
226
221
  type: 'index',
227
222
  icon: 'es-icon-home',
228
223
  title: '门户'
229
224
  },
225
+ {
226
+ type: 'notice',
227
+ icon: 'es-icon-tongzhi',
228
+ title: '通知消息'
229
+ },
230
230
  {
231
231
  type: 'refresh',
232
232
  icon: 'es-icon-shuaxin',
@@ -1 +1 @@
1
- ["zuomian","monitor","maximize","pointer-up","pointer-left","pointer-down","tri-down","retrograde","rainfall","caveat","print","alarm","table","duigouquan","bumen","mm","accelerate","quanping","password","qing","kaifa","daoru","piaochongicon","instructions","notice","wifi","tishicuo","minganciguanli","switch-off","switch-on","narrow","yidongduan","web","upload","message","go-back","close","shujutongji","folder","edit","enter","dian","wendu","shangwu","shenbao","magnifier","project-add","xiexian","caidan","tupian","yinyu","wenhao","template","daiban","set","zhengwen","cuowu","chenggong","indent","increase","ziliaoku","tuichu","quit","leaf","refresh","statistic","gengduo","lvyou","mail","user","zhishi","weizhi","jinggao","zuzhijigou","xue","fenxiang","jinrong","shanchu","jianhao","jiahao","yinzhang","renyuanqiehuan","gouxuanzhong1","circle","fuxuankuang1","fangkuang","application","wenjianjia","jiaren","xiugai","duanxinguanli","workbench","rizhi","gongwen","qingshi","shiwu","official","baogao","document","wodeyouxiang","ziliaojiaohuan","denglu","podium","fangkuai","xuewei","duoyun","pm","xiajia","huanbao","dunpai","shu","gongzuozheng","more","fenlei","delete","fengsu","bar","yuanqu","duomeiti","youjian","qiye","zuixinzixun","biaoge","omit","diaotou","jiantou-left","jiantou-right","jiantou-up","roles","jiantou-next","chijiuhuacunchu","zhuanhuan","cloudy","form","wuye","tri-up","pointer-right","bianji","tri-right","tri-left","daimaguanli","jiankong","kaifazhong","fujian","bingtu","zhuzhuangtu","lose","rmb","move","xiazai","yiban","laoshi","clear","jinyong","yunxing","weihu","chakan","pifu","ren","gouwuche","loading2","yulan","ziliao","yidong","fenxiang11","kaoqin","change","shidu","portfolio","info","yanjing","laba","camera","xitongxiaoxi","xitongguanli","webduan","wagnz","group","shengqian","jiantou-prev","attention","look","guanzhu","daikuan","tubiao","duigou","star","dayin","xinzeng","reduce","goup","calendar","tree","yingyong","caution","zhuanfa","add","zongtiqixian","daochu","gongwu","ihouse","chilun","weixiu","chengguo","trophy","duiwu","qiehuanjiaose","door","shebei","fangjian","microscope","huaxue","shiyanshianquan","shiyan","qiyexinxi","yewuxinxi","lab","shiyanguanli","yuqing","big-screen","signal-search","database","star-mark","cng","professor","informatization","code","science","price","xunhuan","savings","administration","aid","biao","line","xietong","jingzheng","enterprise","datatable","toubiao","bingdu","keji2","qiyeku5","touzi5","zijinliu","zhishichanquan3","kejifuwu2","zhishichanquan2","zijinanquan","kejifuwu1","geju","yiqingfangkong","kejifuwu","anquanfangkong","shujufuwu","shujuceng","shujugongxiang","flows","setup","shujulian","caiwujianguan","caiwuliushui","mubiaogeju","juxing","fuwuqi","touzijigou","xiezilou","jianzhu","logo","touzhi","zijin","fintech","touzixiangmu","library","touziguanli","zhongda","ziyuan","shujutai","shujudongtai","bank","shujuzhongxin","zhongyaomubiao","touzishijian","caiwuguanli","mingzhong","touzishenpi","jingzhenggeju","property","keji","qiyeku","zhongyaojihui","touzilicai","zhishichanquan","touzi","tzz","menu","xiangmushu","pdf","jiazai","gongsi","rise","jbxx","zwxx","jypx","jcgl","ndkh","grjl","shgx","gou","shijian","fukuan","guoji","shoukuan","down","gongzuotai","gaigedongtai","xitongshezhi","relation","zuzhirenshi","kaohepingjia","caiwujiandu","sanzhongyida","mima","xianshi","zhanghao","bangongshi","checked","checke","help","kuoda","banli","xiaoxi","shouqicaidan","shouqicaidan-right","smile","tongzhi","guanji","shuaxin","guiji","tianjiawenjianjia","yunxiazai","del","touzifangan","zongheguanli","sanzhongyida_mian","gongwenguanli1","heguiguanli","jingyingfenxi","txl","diannao","renliziyuan","caiwuxitong","shiwuguanli","shouye","bangongyongpin","sidebar","zhidulashi","log","fawenguanli","huiyiguanli","zuzhishishi","gongwenqianshou","jinxiupeixun","gongwenbao","jiaohuan","daibanshixiang","richeng","tongxunlu","yongche","yanzheng","daibanxinxi","shuben","fanfu","guangbo","shuzhuangtu","bengqiye","tongguo","dengdai","cross","daichuli","zhenggai","shouli","shujuhecha","guanli","paper-file","wenjian","dakaiwenjian","yewu","jiance","jiheguanli","jinru","arrow-right","lingdao","rencai","prev","next","jianpan","qrcode","bohui","homepage","download","gantanhao","dingding","weixin","pad","ios","android","txt","doc","audioo","video","zip","shuru","duanxin","saoma","youxiang","word","excel","fileword","picture","ppt","ca","usb-key","wenjianjiadakai","yingyonglan","home"]
1
+ ["zuomian","monitor","maximize","pointer-up","pointer-left","pointer-down","tri-down","retrograde","rainfall","caveat","print","alarm","table","duigouquan","bumen","mm","accelerate","quanping","password","qing","kaifa","daoru","piaochongicon","instructions","notice","wifi","tishicuo","minganciguanli","switch-off","switch-on","narrow","yidongduan","web","upload","message","go-back","close","shujutongji","folder","edit","enter","dian","wendu","shangwu","shenbao","magnifier","project-add","xiexian","caidan","tupian","yinyu","wenhao","template","daiban","set","zhengwen","cuowu","chenggong","indent","increase","ziliaoku","tuichu","quit","leaf","refresh","statistic","gengduo","lvyou","mail","user","zhishi","weizhi","jinggao","zuzhijigou","xue","fenxiang","jinrong","shanchu","jianhao","jiahao","yinzhang","renyuanqiehuan","gouxuanzhong1","circle","fuxuankuang1","fangkuang","application","wenjianjia","jiaren","xiugai","duanxinguanli","workbench","rizhi","gongwen","qingshi","shiwu","official","baogao","document","wodeyouxiang","ziliaojiaohuan","denglu","podium","fangkuai","xuewei","duoyun","pm","xiajia","huanbao","dunpai","shu","gongzuozheng","more","fenlei","delete","fengsu","bar","yuanqu","duomeiti","youjian","qiye","zuixinzixun","biaoge","omit","diaotou","jiantou-left","jiantou-right","jiantou-up","roles","jiantou-next","chijiuhuacunchu","zhuanhuan","cloudy","form","wuye","tri-up","pointer-right","bianji","tri-right","tri-left","daimaguanli","jiankong","kaifazhong","fujian","bingtu","zhuzhuangtu","lose","rmb","move","xiazai","yiban","laoshi","clear","jinyong","yunxing","weihu","chakan","pifu","ren","gouwuche","loading2","yulan","ziliao","yidong","fenxiang11","kaoqin","change","shidu","portfolio","info","yanjing","laba","camera","xitongxiaoxi","xitongguanli","webduan","wagnz","group","shengqian","jiantou-prev","attention","look","guanzhu","daikuan","tubiao","duigou","star","dayin","xinzeng","reduce","goup","calendar","tree","yingyong","caution","zhuanfa","add","zongtiqixian","daochu","gongwu","ihouse","chilun","weixiu","chengguo","trophy","duiwu","qiehuanjiaose","door","shebei","fangjian","microscope","huaxue","shiyanshianquan","shiyan","qiyexinxi","yewuxinxi","lab","shiyanguanli","yuqing","big-screen","signal-search","database","star-mark","cng","professor","informatization","code","science","price","xunhuan","savings","administration","aid","biao","line","xietong","jingzheng","enterprise","datatable","toubiao","bingdu","keji2","qiyeku5","touzi5","zijinliu","zhishichanquan3","kejifuwu2","zhishichanquan2","zijinanquan","kejifuwu1","geju","yiqingfangkong","kejifuwu","anquanfangkong","shujufuwu","shujuceng","shujugongxiang","flows","setup","shujulian","caiwujianguan","caiwuliushui","mubiaogeju","juxing","fuwuqi","touzijigou","xiezilou","jianzhu","logo","touzhi","zijin","fintech","touzixiangmu","library","touziguanli","zhongda","ziyuan","shujutai","shujudongtai","bank","shujuzhongxin","zhongyaomubiao","touzishijian","caiwuguanli","mingzhong","touzishenpi","jingzhenggeju","property","keji","qiyeku","zhongyaojihui","touzilicai","zhishichanquan","touzi","tzz","menu","xiangmushu","pdf","jiazai","gongsi","rise","jbxx","zwxx","jypx","jcgl","ndkh","grjl","shgx","gou","shijian","fukuan","guoji","shoukuan","down","gongzuotai","gaigedongtai","xitongshezhi","relation","zuzhirenshi","kaohepingjia","caiwujiandu","sanzhongyida","mima","xianshi","zhanghao","bangongshi","checked","checke","help","kuoda","banli","xiaoxi","shouqicaidan","shouqicaidan-right","smile","tongzhi","guanji","shuaxin","guiji","tianjiawenjianjia","yunxiazai","del","touzifangan","zongheguanli","sanzhongyida_mian","gongwenguanli1","heguiguanli","jingyingfenxi","txl","diannao","renliziyuan","caiwuxitong","shiwuguanli","shouye","bangongyongpin","sidebar","zhidulashi","log","fawenguanli","huiyiguanli","zuzhishishi","gongwenqianshou","jinxiupeixun","gongwenbao","jiaohuan","daibanshixiang","richeng","tongxunlu","yongche","yanzheng","daibanxinxi","shuben","fanfu","guangbo","shuzhuangtu","bengqiye","tongguo","dengdai","cross","daichuli","zhenggai","shouli","shujuhecha","guanli","paper-file","wenjian","dakaiwenjian","yewu","jiance","jiheguanli","jinru","arrow-right","lingdao","rencai","prev","next","jianpan","qrcode","bohui","homepage","download","gantanhao","dingding","weixin","pad","ios","android","txt","doc","audioo","video","zip","shuru","duanxin","saoma","youxiang","word","excel","fileword","picture","ppt","ca","usb-key","wenjianjiadakai","yingyonglan","home","tiyanxinban","shiyongjiuban"]
Binary file
@@ -885,7 +885,7 @@ export default {
885
885
  if (ceshi == 'true' || ceshi == true) {
886
886
  this.loginModel = '0';
887
887
  }
888
- if (this.isScale) {
888
+ if (this.isScale || util.getParams('scale')) {
889
889
  util.setScale();
890
890
  window.addEventListener('resize', this.setScale);
891
891
  }
@@ -1237,6 +1237,7 @@ export default {
1237
1237
  this.wechatScope = res.wechatScope;
1238
1238
  this.download = { ...this.downLoadUrls, ...downloads };
1239
1239
  if (res.sysLogoIco) {
1240
+ localStorage.setItem('sysLogoIco', res.sysLogoIco);
1240
1241
  util.setFavicon(res.sysLogoIco);
1241
1242
  }
1242
1243
  },
Binary file
Binary file
@@ -167,10 +167,11 @@
167
167
  </div>
168
168
  <settings
169
169
  v-bind="$attrs"
170
+ layout-type="default"
171
+ :active="layout"
170
172
  :theme="color"
171
173
  :predefine="themes"
172
- :visible.sync="showSet"
173
- :layout="layout"
174
+ :visible.sync="showSets"
174
175
  @change="handleChange"
175
176
  @layout="handleLayout"
176
177
  ></settings>
@@ -208,7 +209,7 @@
208
209
  </template>
209
210
  <script>
210
211
  import userinfo from './userinfo.vue';
211
- import settings from './settings.vue';
212
+ import settings from '../public/settings.vue';
212
213
  import message from './message.vue';
213
214
  import notice from './notice.vue';
214
215
  import online from '../public/online.vue';
@@ -400,7 +401,8 @@ export default {
400
401
  onlineView: {
401
402
  type: [String, Boolean],
402
403
  default: true
403
- }
404
+ },
405
+ newVersion: Boolean
404
406
  },
405
407
  computed: {
406
408
  showHeader() {
@@ -482,10 +484,10 @@ export default {
482
484
  );
483
485
  }
484
486
  let hides = {
485
- set: !this.set,
487
+ set: !this.showSet,
486
488
  index: this.doorIndex ? false : true,
487
489
  system: true,
488
- home: this.homePage ? false : true
490
+ home: this.homePage ? false : tru
489
491
  };
490
492
 
491
493
  if (this.layout === 'subsystem' || this.application) {
@@ -539,6 +541,11 @@ export default {
539
541
  util.updateTheme(val);
540
542
  }
541
543
  }
544
+ },
545
+ scene(val) {
546
+ if (val) {
547
+ this.layout = val.toLowerCase();
548
+ }
542
549
  }
543
550
  },
544
551
  data() {
@@ -607,7 +614,7 @@ export default {
607
614
  //刷新路由
608
615
  refresh: true,
609
616
  //显示设置面板
610
- showSet: false,
617
+ showSets: false,
611
618
  //当前设置的主题
612
619
  color: util.getStorage('theme') ? util.getStorage('theme') : this.theme,
613
620
  //显示用户信息
@@ -635,10 +642,13 @@ export default {
635
642
  dialog: {},
636
643
  hideSubMenu: false,
637
644
  doorIndex: '',
638
- topRightToolHide: ''
645
+ topRightToolHide: '',
646
+ showSet: this.set
639
647
  };
640
648
  },
641
649
  created() {
650
+ const layout = localStorage.getItem('layout');
651
+ layout && (this.layout = layout);
642
652
  let params = util.getParams() || {};
643
653
  if (params.homePage == 0) {
644
654
  this.isLoadHomePage = false;
@@ -783,7 +793,7 @@ export default {
783
793
  },
784
794
  //显示隐藏设置面板
785
795
  handleSet() {
786
- this.showSet = !this.showSet;
796
+ this.showSets = !this.showSets;
787
797
  },
788
798
  setConfig(results) {
789
799
  if (this.socket) {
@@ -892,6 +902,9 @@ export default {
892
902
  if (results[i].portalPage || results[i].portalpage) {
893
903
  this.doorIndex = results[i].portalPage || results[i].portalpage;
894
904
  }
905
+ if (results[i].multipleVersion) {
906
+ this.showSet = true;
907
+ }
895
908
  if (results[i].topRightToolHide) {
896
909
  this.topRightToolHide = results[i].topRightToolHide;
897
910
  }
@@ -1114,6 +1127,13 @@ export default {
1114
1127
  },
1115
1128
  //获取应用导航菜单
1116
1129
  getMenu() {
1130
+ const menuData = store.get('nav');
1131
+ if (menuData && menuData.length) {
1132
+ this.menus = JSON.parse(JSON.stringify(menuData));
1133
+ this.setTips(this.menus);
1134
+ this.setMenu(this.menus);
1135
+ return;
1136
+ }
1117
1137
  let param = this.menuCode ? { menuCode: this.menuCode } : {};
1118
1138
  let params = { ...this.param, ...param };
1119
1139
  util
@@ -1123,7 +1143,7 @@ export default {
1123
1143
  if (res.results && res.results.length) {
1124
1144
  this.menus = JSON.parse(JSON.stringify(res.results));
1125
1145
  this.setTips(this.menus);
1126
- store.set('nav', this.menus);
1146
+ store.set('nav', JSON.parse(JSON.stringify(res.results)));
1127
1147
  this.setMenu(this.menus);
1128
1148
  } else {
1129
1149
  this.$message.error('未分配菜单权限,请联系管理员!');
@@ -1868,11 +1888,13 @@ export default {
1868
1888
  }
1869
1889
  return false;
1870
1890
  },
1871
- handleLayout(res, old) {
1872
- if (res == old) {
1891
+ handleLayout(layout, res, old) {
1892
+ this.$emit('chang-layout', layout);
1893
+ if (res == old || layout == 'simplicity') {
1873
1894
  return;
1874
1895
  }
1875
1896
  this.layout = res;
1897
+ localStorage.setItem('layout', res);
1876
1898
  switch (res) {
1877
1899
  case 'topnav':
1878
1900
  this.navs = this.menus;
@@ -2,16 +2,21 @@
2
2
  <div class="es-main-box" v-if="isLogin">
3
3
  <simplicity
4
4
  ref="main"
5
- v-if="type == 'simplicity'"
5
+ v-if="layoutType == 'simplicity'"
6
6
  :appCode="appCode"
7
+ :old-version="multiple"
7
8
  v-bind="$attrs"
8
9
  v-on="$listeners"
10
+ @chang-layout="changLayout"
9
11
  ></simplicity>
10
12
  <main-default
11
13
  v-else
14
+ :new-version="multiple"
15
+ :scene="layout"
12
16
  v-bind="$attrs"
13
17
  ref="main"
14
18
  v-on="$listeners"
19
+ @chang-layout="changLayout"
15
20
  ></main-default>
16
21
 
17
22
  <!-- 公用弹窗 -->
@@ -59,6 +64,7 @@ export default {
59
64
  MainDefault
60
65
  },
61
66
  props: {
67
+ scene: String,
62
68
  launch: Boolean,
63
69
  type: String,
64
70
  launchImage: {
@@ -73,7 +79,8 @@ export default {
73
79
  launchTime: {
74
80
  type: Number,
75
81
  default: 3000
76
- }
82
+ },
83
+ multiple: Boolean
77
84
  },
78
85
  computed: {
79
86
  _launchImage() {
@@ -91,10 +98,16 @@ export default {
91
98
  params: {},
92
99
  dialogs: [],
93
100
  visibles: [],
94
- isLogin: false
101
+ isLogin: false,
102
+ layoutType: this.type,
103
+ layout: this.scene
95
104
  };
96
105
  },
97
106
  created() {
107
+ const layoutType = localStorage.getItem('layoutType');
108
+ if (layoutType) {
109
+ this.layoutType = layoutType;
110
+ }
98
111
  this.params = util.getParams() || {};
99
112
  this.sysCode = this.params.sysCode;
100
113
  this.appCode = this.params.appCode;
@@ -155,6 +168,18 @@ export default {
155
168
  });
156
169
  },
157
170
  methods: {
171
+ /**
172
+ * @desc: 切换布局风格
173
+ * @author huangbo
174
+ * @date 2024年9月7日
175
+ **/
176
+ changLayout(res, active) {
177
+ this.layoutType = res;
178
+ localStorage.setItem('layoutType', res);
179
+ if (active) {
180
+ this.layout = active;
181
+ }
182
+ },
158
183
  /**
159
184
  * @desc:重新登录
160
185
  * @author huangbo
@@ -34,7 +34,7 @@
34
34
  </div>
35
35
  </div>
36
36
  <div class="es-setting-item">
37
- <div class="es-setting-title">导航模式</div>
37
+ <div class="es-setting-title">菜单风格</div>
38
38
  <div class="es-setting-navs-box">
39
39
  <el-tooltip
40
40
  class="es-setting-navs-item"
@@ -44,9 +44,12 @@
44
44
  >
45
45
  <div
46
46
  class="es-setting-navs es-setting-top-nav"
47
- @click.stop="handleLayout('topnav')"
47
+ @click.stop="handleLayout('default', 'topnav')"
48
48
  >
49
- <i class="es-icon-gou" v-show="activeName == 'topnav'"></i>
49
+ <i
50
+ class="es-icon-gou"
51
+ v-show="layoutType == 'default' && activeName == 'topnav'"
52
+ ></i>
50
53
  </div>
51
54
  </el-tooltip>
52
55
  <el-tooltip
@@ -57,10 +60,13 @@
57
60
  >
58
61
  <div
59
62
  class="es-setting-navs es-setting-side-nav"
60
- @click.stop="handleLayout('default')"
63
+ @click.stop="handleLayout('default', 'default')"
61
64
  >
62
65
  <div class="es-setting-side-sub-nav"></div>
63
- <i class="es-icon-gou" v-show="activeName == 'default'"></i>
66
+ <i
67
+ class="es-icon-gou"
68
+ v-show="layoutType == 'default' && activeName == 'default'"
69
+ ></i>
64
70
  </div>
65
71
  </el-tooltip>
66
72
  <el-tooltip
@@ -71,9 +77,12 @@
71
77
  >
72
78
  <div
73
79
  class="es-setting-navs es-setting-subsystem-nav"
74
- @click.stop="handleLayout('subsystem')"
80
+ @click.stop="handleLayout('default', 'subsystem')"
75
81
  >
76
- <i class="es-icon-gou" v-show="activeName == 'subsystem'"></i>
82
+ <i
83
+ class="es-icon-gou"
84
+ v-show="layoutType == 'default' && activeName == 'subsystem'"
85
+ ></i>
77
86
  </div>
78
87
  </el-tooltip>
79
88
  <el-tooltip
@@ -84,22 +93,45 @@
84
93
  >
85
94
  <div
86
95
  class="es-setting-navs es-setting-top-side-nav"
87
- @click.stop="handleLayout('topside')"
96
+ @click.stop="handleLayout('default', 'topside')"
88
97
  >
89
- <i class="es-icon-gou" v-show="activeName == 'topside'"></i>
98
+ <i
99
+ class="es-icon-gou"
100
+ v-show="layoutType == 'default' && activeName == 'topside'"
101
+ ></i>
90
102
  </div>
91
103
  </el-tooltip>
92
104
  <el-tooltip
93
105
  class="es-setting-navs-item"
94
106
  effect="dark"
95
- content="侧边菜单布局"
107
+ content="侧边+按钮菜单布局"
96
108
  placement="bottom"
97
109
  >
98
110
  <div
99
111
  class="es-setting-navs es-setting-side-navs"
100
- @click.stop="handleLayout('side')"
112
+ @click.stop="handleLayout('default', 'side')"
101
113
  >
102
- <i class="es-icon-gou" v-show="activeName == 'side'"></i>
114
+ <i
115
+ class="es-icon-gou"
116
+ v-show="layoutType == 'default' && activeName == 'side'"
117
+ ></i>
118
+ </div>
119
+ </el-tooltip>
120
+ <el-tooltip
121
+ class="es-setting-navs-item"
122
+ effect="dark"
123
+ content="(新)应用菜单布局"
124
+ placement="bottom"
125
+ >
126
+ <div
127
+ class="es-setting-navs es-setting-app-nav"
128
+ @click.stop="handleLayout('simplicity')"
129
+ >
130
+ <div class="es-setting-side-sub-nav"></div>
131
+ <i
132
+ class="es-icon-gou"
133
+ v-show="layoutType == 'simplicity' && activeName == 'simplicity'"
134
+ ></i>
103
135
  </div>
104
136
  </el-tooltip>
105
137
  </div>
@@ -108,6 +140,7 @@
108
140
  </template>
109
141
  <script>
110
142
  import util from 'eoss-ui/src/utils/util';
143
+ import { string } from 'slate';
111
144
  export default {
112
145
  name: 'message',
113
146
  props: {
@@ -123,10 +156,8 @@ export default {
123
156
  return ['#a60006', '#409eff'];
124
157
  }
125
158
  },
126
- layout: {
127
- type: String,
128
- default: 'default'
129
- }
159
+ active: String,
160
+ layoutType: String
130
161
  },
131
162
  computed: {
132
163
  show: {
@@ -163,7 +194,8 @@ export default {
163
194
  data() {
164
195
  return {
165
196
  color: '',
166
- activeName: this.layout
197
+ layoutName: this.layoutType,
198
+ activeName: this.active
167
199
  };
168
200
  },
169
201
  mounted() {},
@@ -179,11 +211,11 @@ export default {
179
211
  //this.setTheme(res);
180
212
  },
181
213
  //选择菜单布局
182
- handleLayout(res) {
214
+ handleLayout(res, active) {
183
215
  let old = this.activeName;
184
- this.activeName = res;
185
- this.$emit('update:layout', res);
186
- this.$emit('layout', res, old);
216
+ this.layoutName = res;
217
+ this.activeName = active;
218
+ this.$emit('layout', res, active, old);
187
219
  }
188
220
  }
189
221
  };
@@ -16,31 +16,29 @@
16
16
  人在线
17
17
  </div>
18
18
  <template v-for="item in lists">
19
- <template v-if="isShow(item.type)">
20
- <el-badge
21
- class="es-simplicity-handler-item"
22
- v-if="item.type === 'notice'"
23
- :key="item.type"
24
- :value="noticeNum"
25
- :max="99"
26
- :hidden="noticeNum === 0"
27
- >
28
- <div
29
- class="es-simplicity-handler-icon"
30
- :title="item.title"
31
- :class="item.icon"
32
- @click="handleClick(item)"
33
- ></div>
34
- </el-badge>
19
+ <el-badge
20
+ class="es-simplicity-handler-item"
21
+ v-if="item.type === 'notice'"
22
+ :key="item.type"
23
+ :value="noticeNum"
24
+ :max="99"
25
+ :hidden="noticeNum === 0"
26
+ >
35
27
  <div
36
- v-else
37
- class="es-simplicity-handler-item es-simplicity-handler-icon"
38
- :key="item.type"
28
+ class="es-simplicity-handler-icon"
39
29
  :title="item.title"
40
30
  :class="item.icon"
41
31
  @click="handleClick(item)"
42
32
  ></div>
43
- </template>
33
+ </el-badge>
34
+ <div
35
+ v-else
36
+ class="es-simplicity-handler-item es-simplicity-handler-icon"
37
+ :key="item.type"
38
+ :title="item.title"
39
+ :class="item.icon"
40
+ @click="handleClick(item)"
41
+ ></div>
44
42
  </template>
45
43
  </div>
46
44
  </template>
@@ -115,7 +113,9 @@ export default {
115
113
  hide: {
116
114
  type: Object,
117
115
  default() {
118
- return {};
116
+ return {
117
+ old: true
118
+ };
119
119
  }
120
120
  },
121
121
  noticeNum: {
@@ -170,13 +170,6 @@ export default {
170
170
  this.time = util.formatDate('', 'HH:mm:ss');
171
171
  });
172
172
  },
173
- isShow(res) {
174
- if (Array.isArray(this.hide)) {
175
- return !this.hide.includes(res);
176
- } else {
177
- return !this.hide[res];
178
- }
179
- },
180
173
  handleClick(res) {
181
174
  this.$emit('click', res);
182
175
  }