eoss-ui 0.5.68 → 0.5.70

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 (96) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +34 -36
  3. package/lib/button.js +34 -36
  4. package/lib/checkbox-group.js +70 -56
  5. package/lib/data-table-form.js +37 -39
  6. package/lib/data-table.js +73 -64
  7. package/lib/date-picker.js +34 -36
  8. package/lib/dialog.js +49 -51
  9. package/lib/eoss-ui.common.js +944 -728
  10. package/lib/flow-group.js +34 -36
  11. package/lib/flow-list.js +36 -38
  12. package/lib/flow.js +40 -42
  13. package/lib/form.js +410 -376
  14. package/lib/handle-user.js +36 -38
  15. package/lib/handler.js +34 -36
  16. package/lib/icon.js +12 -3593
  17. package/lib/icons.js +1 -1
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +34 -36
  20. package/lib/input.js +65 -48
  21. package/lib/layout.js +2 -2
  22. package/lib/login.js +131 -114
  23. package/lib/main.js +80 -50
  24. package/lib/menu.js +91 -55
  25. package/lib/nav.js +66 -41
  26. package/lib/page.js +34 -36
  27. package/lib/player.js +36 -38
  28. package/lib/qr-code.js +34 -36
  29. package/lib/radio-group.js +69 -53
  30. package/lib/retrial-auth.js +34 -36
  31. package/lib/select-ganged.js +122 -106
  32. package/lib/select.js +112 -96
  33. package/lib/selector-panel.js +90 -76
  34. package/lib/selector.js +34 -36
  35. package/lib/sizer.js +36 -38
  36. package/lib/steps.js +60 -44
  37. package/lib/switch.js +34 -36
  38. package/lib/table-form.js +36 -38
  39. package/lib/tabs.js +34 -36
  40. package/lib/theme-chalk/base.css +1 -1
  41. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  42. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  43. package/lib/theme-chalk/icon.css +1 -1
  44. package/lib/theme-chalk/index.css +1 -1
  45. package/lib/theme-chalk/login.css +1 -1
  46. package/lib/theme-chalk/main.css +1 -1
  47. package/lib/theme-chalk/menu.css +1 -1
  48. package/lib/theme-chalk/sizer.css +1 -1
  49. package/lib/theme-chalk/upload.css +1 -1
  50. package/lib/tips.js +59 -42
  51. package/lib/tree-group.js +34 -36
  52. package/lib/tree.js +93 -77
  53. package/lib/upload.js +111 -94
  54. package/lib/utils/util.js +34 -36
  55. package/lib/wujie.js +34 -36
  56. package/lib/wxlogin.js +34 -36
  57. package/package.json +2 -2
  58. package/packages/checkbox-group/src/main.vue +7 -1
  59. package/packages/data-table/src/main.vue +13 -6
  60. package/packages/dialog/src/main.vue +2 -3
  61. package/packages/form/src/main.vue +11 -2
  62. package/packages/icon/src/main.vue +10 -3
  63. package/packages/icons/src/icon.json +1 -1
  64. package/packages/input/src/main.vue +8 -1
  65. package/packages/login/src/main.vue +36 -24
  66. package/packages/main/src/main.vue +28 -6
  67. package/packages/menu/src/main.vue +76 -65
  68. package/packages/nav/src/main.vue +23 -4
  69. package/packages/radio-group/src/main.vue +7 -1
  70. package/packages/select/src/main.vue +7 -1
  71. package/packages/select-ganged/src/main.vue +7 -1
  72. package/packages/selector-panel/src/main.vue +7 -1
  73. package/packages/steps/src/main.vue +9 -3
  74. package/packages/theme-chalk/lib/base.css +1 -1
  75. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  76. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  77. package/packages/theme-chalk/lib/icon.css +1 -1
  78. package/packages/theme-chalk/lib/index.css +1 -1
  79. package/packages/theme-chalk/lib/login.css +1 -1
  80. package/packages/theme-chalk/lib/main.css +1 -1
  81. package/packages/theme-chalk/lib/menu.css +1 -1
  82. package/packages/theme-chalk/lib/sizer.css +1 -1
  83. package/packages/theme-chalk/lib/upload.css +1 -1
  84. package/packages/theme-chalk/src/common/var.scss +2 -0
  85. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  86. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  87. package/packages/theme-chalk/src/icon.scss +430 -426
  88. package/packages/theme-chalk/src/login.scss +2 -3
  89. package/packages/theme-chalk/src/main.scss +14 -5
  90. package/packages/theme-chalk/src/menu.scss +1 -1
  91. package/packages/theme-chalk/src/nav.scss +2 -2
  92. package/packages/tips/src/main.vue +8 -1
  93. package/packages/tree/src/main.vue +8 -2
  94. package/packages/upload/src/main.vue +11 -2
  95. package/src/index.js +1 -1
  96. package/src/utils/util.js +34 -34
package/lib/wxlogin.js CHANGED
@@ -154,21 +154,17 @@ var JSONbigToString = json_bigint__WEBPACK_IMPORTED_MODULE_3___default()({ store
154
154
  * @param {Array} [encodes] - 需要对参数值进行encodeURIComponent编码的参数值名称
155
155
  **/
156
156
  // 请求
157
- var pendingRequest = new Map();
158
- function getRequestKey(config) {
159
- var method = config.method,
160
- url = config.url,
161
- params = config.params,
162
- data = config.data;
163
-
164
- return [method, url, qs__WEBPACK_IMPORTED_MODULE_2___default.a.stringify(params), qs__WEBPACK_IMPORTED_MODULE_2___default.a.stringify(data)].join('&');
165
- };
166
- function delPendingRequest(config) {
167
- var requestKey = getRequestKey(config);
168
- if (pendingRequest.has(requestKey)) {
169
- pendingRequest.delete(requestKey);
170
- }
171
- }
157
+ // const pendingRequest = new Map();
158
+ // function getRequestKey(config) {
159
+ // const { method, url, params, data } = config;
160
+ // return [method, url, qs.stringify(params), qs.stringify(data)].join('&');
161
+ // };
162
+ // function delPendingRequest(config) {
163
+ // let requestKey = getRequestKey(config);
164
+ // if (pendingRequest.has(requestKey)) {
165
+ // pendingRequest.delete(requestKey);
166
+ // }
167
+ // }
172
168
  var ajax = function ajax(_ref) {
173
169
  var headers = _ref.headers,
174
170
  method = _ref.method,
@@ -217,30 +213,32 @@ var ajax = function ajax(_ref) {
217
213
  http.interceptors.request.use(function (config) {
218
214
  config.headers.common = getStorage();
219
215
  // 根据请求的信息(请求方式,url,请求get/post数据),产生map的key
220
- var requestKey = getRequestKey(config);
221
- // 判断请求是否重复
222
- if (pendingRequest.has(requestKey)) {
223
- // 取消上次请求
224
- var cancel = pendingRequest.get(requestKey);
225
- cancel();
226
- // 删除请求信息
227
- pendingRequest.delete(requestKey);
228
- }
229
- // 把请求信息,添加请求到map当中
230
- // 生成取消方法
231
- config.cancelToken = config.cancelToken || new axios__WEBPACK_IMPORTED_MODULE_1___default.a.CancelToken(function (cancel) {
232
- // 把取消方法添加到map
233
- if (!pendingRequest.has(requestKey)) {
234
- pendingRequest.set(requestKey, cancel);
235
- }
236
- });
216
+ // let requestKey = getRequestKey(config);
217
+ // // 判断请求是否重复
218
+ // if (pendingRequest.has(requestKey)) {
219
+ // // 取消上次请求
220
+ // let cancel = pendingRequest.get(requestKey);
221
+ // cancel();
222
+ // // 删除请求信息
223
+ // pendingRequest.delete(requestKey);
224
+ // }
225
+ // // 把请求信息,添加请求到map当中
226
+ // // 生成取消方法
227
+ // config.cancelToken =
228
+ // config.cancelToken ||
229
+ // new axios.CancelToken(cancel => {
230
+ // // 把取消方法添加到map
231
+ // if (!pendingRequest.has(requestKey)) {
232
+ // pendingRequest.set(requestKey, cancel);
233
+ // }
234
+ // });
237
235
  return config;
238
236
  }, function (err) {
239
237
  return err;
240
238
  });
241
239
  // 响应拦截
242
240
  http.interceptors.response.use(function (response) {
243
- delPendingRequest(response.config);
241
+ // delPendingRequest(response.config);
244
242
  loading && loading.close();
245
243
  if (response.headers.authorization && response.headers.authorization !== getStorage('token')) {
246
244
  if (localStorage.getItem('storage') === 'localStorage' || localStorage.getItem('token') || localStorage.getItem('Authorization')) {
@@ -357,9 +355,9 @@ var ajax = function ajax(_ref) {
357
355
  }
358
356
  }, function (error) {
359
357
  loading && loading.close();
360
- if (!axios__WEBPACK_IMPORTED_MODULE_1___default.a.isCancel(error)) {
361
- delPendingRequest(error.config || {});
362
- }
358
+ // if (!axios.isCancel(error)) {
359
+ // delPendingRequest(error.config || {});
360
+ // }
363
361
  if (error && error.response) {
364
362
  if (error.response.status) {
365
363
  switch (error.response.status) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoss-ui",
3
- "version": "0.5.68",
3
+ "version": "0.5.70",
4
4
  "description": "eoss内部业务组件",
5
5
  "main": "lib/eoss-ui.common.js",
6
6
  "files": [
@@ -97,7 +97,7 @@
97
97
  "cp-cli": "^1.0.2",
98
98
  "cross-env": "^3.1.3",
99
99
  "css-loader": "^2.1.0",
100
- "eoss-element": "^0.2.96",
100
+ "eoss-element": "^0.2.98",
101
101
  "es6-promise": "^4.0.5",
102
102
  "eslint": "4.18.2",
103
103
  "eslint-config-elemefe": "0.1.1",
@@ -55,6 +55,7 @@
55
55
 
56
56
  <script>
57
57
  import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
58
+ import { debounce } from 'throttle-debounce';
58
59
  import store from 'eoss-ui/src/utils/store';
59
60
  import util from 'eoss-ui/src/utils/util';
60
61
  import bus from 'eoss-ui/src/utils/bus';
@@ -239,12 +240,17 @@ export default {
239
240
  }
240
241
  }
241
242
  },
243
+ beforeCreate() {
244
+ this.getData = debounce(300, (url, sysCode) => {
245
+ this.getDatas(url, sysCode);
246
+ });
247
+ },
242
248
  created() {
243
249
  this.bindEventBus();
244
250
  },
245
251
  mounted() {},
246
252
  methods: {
247
- getData(url, sysCode) {
253
+ getDatas(url, sysCode) {
248
254
  let params = {};
249
255
  if (this.results.length === 0) {
250
256
  params = util.extend(
@@ -83,7 +83,9 @@
83
83
  <el-table-column
84
84
  v-if="item.type === 'sort'"
85
85
  width="32"
86
- :key="index"
86
+ prop="id"
87
+ :key="item.key || index"
88
+ label=" "
87
89
  >
88
90
  <template slot-scope="scope">
89
91
  <es-icon class="es-move" :contents="dragSortIcon"></es-icon>
@@ -91,7 +93,7 @@
91
93
  </el-table-column>
92
94
  <el-table-column
93
95
  v-else-if="item.type === 'index' || item.type === 'selection'"
94
- :key="index"
96
+ :key="item.key || index"
95
97
  v-bind="dragSort ? { ...item, fixed: false } : item"
96
98
  ></el-table-column>
97
99
  <children
@@ -487,7 +489,8 @@ export default {
487
489
  });
488
490
  if (this.dragSort && !types.includes('sort')) {
489
491
  thead.push({
490
- type: 'sort'
492
+ type: 'sort',
493
+ key: 'es-sort'
491
494
  });
492
495
  }
493
496
  if (this.checkbox && !types.includes('selection')) {
@@ -497,7 +500,8 @@ export default {
497
500
  align: 'center',
498
501
  fixed: 'left',
499
502
  selectable: this.selectable,
500
- reserveSelection: this.reserveSelection
503
+ reserveSelection: this.reserveSelection,
504
+ key: 'es-checkbox'
501
505
  });
502
506
  }
503
507
  if (this.numbers && !types.includes('index')) {
@@ -517,7 +521,8 @@ export default {
517
521
  align: 'center',
518
522
  fixed: 'left',
519
523
  index: index,
520
- filterIcon: this.filter ? 'es-icon-biao' : undefined
524
+ filterIcon: this.filter ? 'es-icon-biao' : undefined,
525
+ key: 'es-index'
521
526
  });
522
527
  }
523
528
  if (this.theadData.length) {
@@ -716,10 +721,12 @@ export default {
716
721
  }
717
722
  }
718
723
  },
719
- created() {
724
+ beforeCreate() {
720
725
  this.getTableData = debounce(300, (res) => {
721
726
  this.getTableDatas(res);
722
727
  });
728
+ },
729
+ created() {
723
730
  if (Array.isArray(this.thead) && this.thead.length) {
724
731
  this.getOptions(this.thead);
725
732
  }
@@ -10,13 +10,11 @@
10
10
  :drag="drag"
11
11
  :modal-append-to-body="modalAppendToBody"
12
12
  v-bind="$attrs"
13
- v-on="$listeners"
13
+ v-on="{ ...$listeners, close: handleClosed, scale: handleScale }"
14
14
  :class="{ 'is-middle': middle }"
15
15
  :append-to-body="appendToBody"
16
16
  :id="wujieName"
17
17
  :ref="wujieName"
18
- @close="handleClosed"
19
- @scale="handleScale"
20
18
  >
21
19
  <slot></slot>
22
20
  <template v-if="contents">
@@ -449,6 +447,7 @@ export default {
449
447
  this.show = false;
450
448
  this.$emit('close', res, this);
451
449
  if (this.closeParent && this.esDialog) {
450
+ console.log(12121);
452
451
  this.esDialog.handleClosed(res);
453
452
  }
454
453
  },
@@ -4002,6 +4002,7 @@
4002
4002
  </template>
4003
4003
  <script>
4004
4004
  import { formContents } from 'eoss-ui/src/config/api.js';
4005
+ import { debounce } from 'throttle-debounce';
4005
4006
  import util from 'eoss-ui/src/utils/util';
4006
4007
  import rules from 'eoss-ui/src/utils/rules.js';
4007
4008
  export default {
@@ -4506,6 +4507,14 @@ export default {
4506
4507
  }
4507
4508
  }
4508
4509
  },
4510
+ beforeCreate() {
4511
+ this.getContent = debounce(300, () => {
4512
+ this.getContents();
4513
+ });
4514
+ this.getValue = debounce(300, () => {
4515
+ this.getValues();
4516
+ });
4517
+ },
4509
4518
  created() {
4510
4519
  this.dialog =
4511
4520
  window.$wujie && window.$wujie.props
@@ -4548,7 +4557,7 @@ export default {
4548
4557
  }
4549
4558
  return this.getParentHeight(dom.parentNode);
4550
4559
  },
4551
- getContent() {
4560
+ getContents() {
4552
4561
  if (
4553
4562
  typeof this.contents === 'string' ||
4554
4563
  (util.isObject(this.contents) &&
@@ -4649,7 +4658,7 @@ export default {
4649
4658
  }
4650
4659
  }
4651
4660
  },
4652
- getValue() {
4661
+ getValues() {
4653
4662
  if (typeof this.model === 'string') {
4654
4663
  this.loading = true;
4655
4664
  let param = this.paramId
@@ -7,7 +7,6 @@
7
7
  </i>
8
8
  </template>
9
9
  <script>
10
- import util from 'eoss-ui/src/utils/util';
11
10
  export default {
12
11
  name: 'EsIcon',
13
12
  inheritAttrs: false,
@@ -21,7 +20,7 @@ export default {
21
20
  handler(val) {
22
21
  if (val) {
23
22
  if (typeof val == 'string') {
24
- if (util.startWith(val, '&#')) {
23
+ if (!this.unicode(val)) {
25
24
  this.code = val;
26
25
  this.className = 'es-icon';
27
26
  } else {
@@ -44,6 +43,14 @@ export default {
44
43
  };
45
44
  },
46
45
  created() {},
47
- methods: {}
46
+ methods: {
47
+ unicode(res) {
48
+ if (!res) {
49
+ return false;
50
+ }
51
+ var reg = new RegExp(/^es-\S+/, 'g');
52
+ return res.match(reg) ? res.match(reg).length : 0;
53
+ }
54
+ }
48
55
  };
49
56
  </script>
@@ -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","home","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"]
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","home","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"]
@@ -1,4 +1,5 @@
1
1
  <script>
2
+ import { debounce } from 'throttle-debounce';
2
3
  import util from 'eoss-ui/src/utils/util';
3
4
  import rules from 'eoss-ui/src/utils/rules.js';
4
5
  export default {
@@ -127,9 +128,15 @@ export default {
127
128
  return undefined;
128
129
  }
129
130
  },
131
+ beforeCreate() {
132
+ this.getData = debounce(300, (query, callback, isChange) => {
133
+ this.getDatas(query, callback, isChange);
134
+ });
135
+ },
136
+ created() {},
130
137
  mounted() {},
131
138
  methods: {
132
- getData(query, callback, isChange) {
139
+ getDatas(query, callback, isChange) {
133
140
  if (typeof this.url && this.results.length === 0) {
134
141
  util
135
142
  .ajax({
@@ -30,7 +30,7 @@
30
30
  <i
31
31
  v-for="(item, index) in icons"
32
32
  v-show="switchs > 2 || active != item.type"
33
- @click="switchLogin(item.type)"
33
+ @click="switchLogin(item)"
34
34
  :title="switchs > 2 ? item.name : ''"
35
35
  :key="index"
36
36
  :class="[
@@ -43,9 +43,13 @@
43
43
  <div class="es-login-form-box">
44
44
  <template v-if="isShow(active) && (active == 0 || active == 12)">
45
45
  <el-form ref="login" class="es-login-form" :model="formData">
46
- <div class="es-login-title" v-if="!loginTitleImg">
47
- <span class="es-login-title-content">{{ title }}</span>
48
- </div>
46
+ <template v-if="!loginTitleImg">
47
+ <slot name="login-title" :type="active">
48
+ <div class="es-login-title">
49
+ <span class="es-login-title-content">{{ title }}</span>
50
+ </div>
51
+ </slot>
52
+ </template>
49
53
  <el-form-item
50
54
  size="large"
51
55
  prop="username"
@@ -151,11 +155,13 @@
151
155
  v-if="isShow(active) && (active == 3 || active == 7 || active == 9)"
152
156
  >
153
157
  <div class="es-login-qrcode">
154
- <div class="es-login-title" v-if="!loginTitleImg">
155
- <div class="es-login-title-content">
156
- {{ iconfonts[active].name }}
157
- </div>
158
- </div>
158
+ <template v-if="!loginTitleImg">
159
+ <slot name="login-title" :type="active">
160
+ <div class="es-login-title">
161
+ <span class="es-login-title-content">{{ title }}</span>
162
+ </div>
163
+ </slot>
164
+ </template>
159
165
  <div class="es-login-down-app">
160
166
  打开
161
167
  <template v-if="active == 3">
@@ -199,11 +205,13 @@
199
205
  class="es-login-form es-login-verify"
200
206
  :model="formData"
201
207
  >
202
- <div class="es-login-title" v-if="!loginTitleImg">
203
- <span class="es-login-title-content">{{
204
- iconfonts[active].name
205
- }}</span>
206
- </div>
208
+ <template v-if="!loginTitleImg">
209
+ <slot name="login-title" :type="active">
210
+ <div class="es-login-title">
211
+ <span class="es-login-title-content">{{ title }}</span>
212
+ </div>
213
+ </slot>
214
+ </template>
207
215
  <el-form-item
208
216
  size="large"
209
217
  prop="target"
@@ -370,10 +378,6 @@ export default {
370
378
  type: String,
371
379
  default: 'default'
372
380
  },
373
- title: {
374
- type: String,
375
- default: '账号登录'
376
- },
377
381
  param: {
378
382
  type: Object,
379
383
  default() {
@@ -627,11 +631,7 @@ export default {
627
631
  6: { type: '6', icon: 'es-icon-duanxin', name: '短信登录' },
628
632
  7: { type: '7', icon: 'es-icon-dingding', name: '钉钉扫码登录' },
629
633
  9: { type: '9', icon: 'es-icon-weixin', name: '微信扫码登录' },
630
- 11: {
631
- type: '11',
632
- icon: 'es-icon-wodeyouxiang',
633
- name: '邮箱登录'
634
- },
634
+ 11: { type: '11', icon: 'es-icon-wodeyouxiang', name: '邮箱登录' },
635
635
  12: { type: '12', icon: 'es-icon-jianpan', name: '账号登录' } //双因素
636
636
  };
637
637
  },
@@ -663,6 +663,7 @@ export default {
663
663
  immediate: true,
664
664
  handler(val) {
665
665
  this.active = val.split(',')[0];
666
+ this.title = this.iconfonts[this.active].name;
666
667
  }
667
668
  },
668
669
  active: {
@@ -711,6 +712,7 @@ export default {
711
712
  },
712
713
  data() {
713
714
  return {
715
+ title: '',
714
716
  align: this.position,
715
717
  loginBackgroundImg: this.loginBackground,
716
718
  loginMainImg: this.loginImage,
@@ -781,12 +783,17 @@ export default {
781
783
  document.addEventListener('keyup', this.doLogin);
782
784
  document.addEventListener('keydown', this.forbiddenTab);
783
785
  }
786
+ this.init();
784
787
  },
785
788
  mounted() {
786
789
  this.getRemember();
787
790
  delete util.win.websocket;
788
791
  },
789
792
  methods: {
793
+ init() {
794
+ let loginBoxAlign = localStorage.getItem('loginBoxAlign');
795
+ loginBoxAlign && (this.align = loginBoxAlign);
796
+ },
790
797
  doWechatLogin(code) {
791
798
  util
792
799
  .ajax({
@@ -940,7 +947,8 @@ export default {
940
947
  //this.$refs.login && this.$refs.login.resetFields();
941
948
  this.$refs.login && this.$refs.login.clearValidate();
942
949
  if (res != 1) {
943
- this.active = res;
950
+ this.active = res.type;
951
+ this.title = res.name;
944
952
  Object.keys(this.defaultModel).length &&
945
953
  (this.formData = JSON.parse(JSON.stringify(this.defaultModel)));
946
954
  }
@@ -1042,6 +1050,10 @@ export default {
1042
1050
  this.loginNameImg = res.subsystemExtend.loginBoxName;
1043
1051
  }
1044
1052
  if (res.subsystemExtend.loginBoxAlign && this.useResults) {
1053
+ localStorage.setItem(
1054
+ 'loginBoxAlign',
1055
+ res.subsystemExtend.loginBoxAlign
1056
+ );
1045
1057
  this.align = res.subsystemExtend.loginBoxAlign;
1046
1058
  }
1047
1059
  if (res.subsystemExtend.copyrightColor) {
@@ -23,6 +23,8 @@
23
23
  class="es-fourth-tabs"
24
24
  mode="horizontal"
25
25
  :icons="icons"
26
+ :menu-icon="menuIcon"
27
+ :sub-icon="subIcon"
26
28
  :popperClass="`el-menu--popup-${layout}`"
27
29
  :data="navs"
28
30
  :deep="layout === 'topnav'"
@@ -82,6 +84,7 @@
82
84
  </div>
83
85
  <es-handle-user
84
86
  :data="{ type: 'user' }"
87
+ :userModel="userModel"
85
88
  @click="handleClick"
86
89
  ></es-handle-user>
87
90
  </div>
@@ -115,13 +118,17 @@
115
118
  :is-top="layout == 'topside'"
116
119
  :data="menu"
117
120
  :default-active="active"
118
- :width="navWidth"
121
+ :width="navsWidth"
122
+ :nav-width="navWidth"
119
123
  :icons="icons"
124
+ :menu-icon="menuIcon"
125
+ :sub-icon="subIcon"
120
126
  :biserial="biserial"
121
127
  :title="showNavTitle ? title : false"
122
128
  :showCollapse="showNavTitle"
123
129
  :menu-tips="menuTips"
124
130
  :is-default="isDefault"
131
+ :paddingLeft="navPaddingLeft"
125
132
  @open="
126
133
  (res) => {
127
134
  handleSelect(res, 'menu', true);
@@ -147,6 +154,7 @@
147
154
  :data="tabs"
148
155
  :titleIcons="false"
149
156
  :default-active="tabsId"
157
+ :menu-icon="menuIcon"
150
158
  :menu-tips="menuTips"
151
159
  @select="
152
160
  (res) => {
@@ -288,8 +296,15 @@ export default {
288
296
  maxHeight: String,
289
297
  //菜单导航地址
290
298
  menuUrl: String,
291
- //菜单展开关闭
299
+ //菜单展开关闭图标
292
300
  icons: Object,
301
+ //菜单前置默认图标
302
+ menuIcon: String,
303
+ //子菜单是否显示前置图标
304
+ subIcon: {
305
+ type: Boolean,
306
+ default: true
307
+ },
293
308
  //logo
294
309
  logo: String,
295
310
  //菜单显示类型
@@ -413,7 +428,10 @@ export default {
413
428
  type: [Boolean, String],
414
429
  default: true
415
430
  },
416
- appCode: String
431
+ appCode: String,
432
+ //菜单左边距
433
+ navPaddingLeft: Number,
434
+ navWidth: String
417
435
  },
418
436
  computed: {
419
437
  showHeader() {
@@ -444,7 +462,7 @@ export default {
444
462
  }
445
463
  return true;
446
464
  },
447
- navWidth() {
465
+ navsWidth() {
448
466
  return this.layout === 'topside' ? '230px' : undefined;
449
467
  },
450
468
  showNavTitle() {
@@ -1852,8 +1870,12 @@ export default {
1852
1870
  }
1853
1871
  }
1854
1872
  } else {
1855
- console.error('缺少路由配置');
1856
- return;
1873
+ this.method = 'iframe';
1874
+ this.refresh = false;
1875
+ this.page = util.handlerUrl(page, param);
1876
+ this.$nextTick(() => {
1877
+ this.refresh = true;
1878
+ });
1857
1879
  }
1858
1880
  }
1859
1881
  }