eoss-ui 0.5.67 → 0.5.69

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 (70) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +172 -25
  3. package/lib/button.js +5 -1
  4. package/lib/calendar.js +8 -4
  5. package/lib/data-table.js +31 -22
  6. package/lib/eoss-ui.common.js +1070 -741
  7. package/lib/form.js +22 -7
  8. package/lib/icon.js +12 -3593
  9. package/lib/icons.js +1 -1
  10. package/lib/index.js +1 -1
  11. package/lib/login.js +123 -110
  12. package/lib/main.js +41 -9
  13. package/lib/menu.js +90 -55
  14. package/lib/nav.js +32 -5
  15. package/lib/player.js +2 -2
  16. package/lib/selector.js +469 -429
  17. package/lib/theme-chalk/base.css +1 -1
  18. package/lib/theme-chalk/button-group.css +1 -1
  19. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  20. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  21. package/lib/theme-chalk/icon.css +1 -1
  22. package/lib/theme-chalk/index.css +1 -1
  23. package/lib/theme-chalk/login.css +1 -1
  24. package/lib/theme-chalk/main.css +1 -1
  25. package/lib/theme-chalk/menu.css +1 -1
  26. package/lib/theme-chalk/sizer.css +1 -1
  27. package/lib/theme-chalk/tree.css +1 -1
  28. package/lib/theme-chalk/upload.css +1 -1
  29. package/lib/toolbar.js +6 -0
  30. package/lib/upload.js +6 -6
  31. package/package.json +2 -2
  32. package/packages/button/src/main.vue +5 -1
  33. package/packages/button-group/src/main.vue +62 -7
  34. package/packages/calendar/src/main.vue +6 -2
  35. package/packages/data-table/src/column.vue +1 -1
  36. package/packages/data-table/src/main.vue +10 -5
  37. package/packages/form/src/main.vue +19 -5
  38. package/packages/icon/src/main.vue +10 -3
  39. package/packages/icons/src/icon.json +1 -1
  40. package/packages/login/src/main.vue +67 -66
  41. package/packages/main/src/main.vue +28 -6
  42. package/packages/menu/src/main.vue +75 -65
  43. package/packages/nav/src/main.vue +23 -4
  44. package/packages/selector/src/main.vue +31 -5
  45. package/packages/theme-chalk/lib/base.css +1 -1
  46. package/packages/theme-chalk/lib/button-group.css +1 -1
  47. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  48. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  49. package/packages/theme-chalk/lib/icon.css +1 -1
  50. package/packages/theme-chalk/lib/index.css +1 -1
  51. package/packages/theme-chalk/lib/login.css +1 -1
  52. package/packages/theme-chalk/lib/main.css +1 -1
  53. package/packages/theme-chalk/lib/menu.css +1 -1
  54. package/packages/theme-chalk/lib/sizer.css +1 -1
  55. package/packages/theme-chalk/lib/tree.css +1 -1
  56. package/packages/theme-chalk/lib/upload.css +1 -1
  57. package/packages/theme-chalk/package.json +35 -0
  58. package/packages/theme-chalk/src/button-group.scss +39 -0
  59. package/packages/theme-chalk/src/common/var.scss +2 -0
  60. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  61. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  62. package/packages/theme-chalk/src/icon.scss +430 -426
  63. package/packages/theme-chalk/src/login.scss +2 -3
  64. package/packages/theme-chalk/src/main.scss +14 -5
  65. package/packages/theme-chalk/src/menu.scss +1 -1
  66. package/packages/theme-chalk/src/nav.scss +2 -2
  67. package/packages/theme-chalk/src/tree.scss +1 -0
  68. package/packages/toolbar/src/main.vue +6 -0
  69. package/packages/upload/src/main.vue +1 -1
  70. package/src/index.js +1 -1
package/lib/upload.js CHANGED
@@ -3828,8 +3828,8 @@ module.exports = require("js-base64");
3828
3828
  // ESM COMPAT FLAG
3829
3829
  __webpack_require__.r(__webpack_exports__);
3830
3830
 
3831
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/main.vue?vue&type=template&id=031cebad&
3832
- var mainvue_type_template_id_031cebad_render = function () {
3831
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/main.vue?vue&type=template&id=33bc9a52&
3832
+ var mainvue_type_template_id_33bc9a52_render = function () {
3833
3833
  var _vm = this
3834
3834
  var _h = _vm.$createElement
3835
3835
  var _c = _vm._self._c || _h
@@ -3843,7 +3843,7 @@ var mainvue_type_template_id_031cebad_render = function () {
3843
3843
  class: [
3844
3844
  {
3845
3845
  "es-avatar-uploader": _vm.portrait,
3846
- "es-upload-readonly": _vm.isReadonly,
3846
+ "es-upload-readonly": _vm.isReadonly && !_vm.downloads,
3847
3847
  },
3848
3848
  "es-upload-" + _vm.listType,
3849
3849
  ],
@@ -4210,10 +4210,10 @@ var mainvue_type_template_id_031cebad_render = function () {
4210
4210
  : _vm._e()
4211
4211
  }
4212
4212
  var staticRenderFns = []
4213
- mainvue_type_template_id_031cebad_render._withStripped = true
4213
+ mainvue_type_template_id_33bc9a52_render._withStripped = true
4214
4214
 
4215
4215
 
4216
- // CONCATENATED MODULE: ./packages/upload/src/main.vue?vue&type=template&id=031cebad&
4216
+ // CONCATENATED MODULE: ./packages/upload/src/main.vue?vue&type=template&id=33bc9a52&
4217
4217
 
4218
4218
  // EXTERNAL MODULE: ./src/config/api.js
4219
4219
  var api = __webpack_require__(1);
@@ -5315,7 +5315,7 @@ var componentNormalizer = __webpack_require__(3);
5315
5315
 
5316
5316
  var component = Object(componentNormalizer["a" /* default */])(
5317
5317
  src_mainvue_type_script_lang_js_,
5318
- mainvue_type_template_id_031cebad_render,
5318
+ mainvue_type_template_id_33bc9a52_render,
5319
5319
  staticRenderFns,
5320
5320
  false,
5321
5321
  null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoss-ui",
3
- "version": "0.5.67",
3
+ "version": "0.5.69",
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.95",
100
+ "eoss-element": "^0.2.97",
101
101
  "es6-promise": "^4.0.5",
102
102
  "eslint": "4.18.2",
103
103
  "eslint-config-elemefe": "0.1.1",
@@ -268,7 +268,11 @@ export default {
268
268
  let config = {};
269
269
  if (this.selector) {
270
270
  tag = 'es-selector';
271
- props = { ...this.$attrs, button: { type: this._type, size: this.size } };
271
+ props = {
272
+ reset: true,
273
+ ...this.$attrs,
274
+ button: { type: this._type, size: this.size }
275
+ };
272
276
  listeners = this.$listeners;
273
277
  } else if (this.upload) {
274
278
  tag = 'es-upload';
@@ -7,12 +7,17 @@
7
7
  v-if="item.upload || (item.code && item.ownId)"
8
8
  class="el-button"
9
9
  v-bind="{
10
- ...item,
10
+ ...exclAttribute({
11
+ data: item,
12
+ attrs: ['events']
13
+ }),
14
+ ...parseProps(),
11
15
  method: 'post',
12
16
  btnSize: size,
13
17
  showFileList: false,
14
18
  selectType: item.type ? item.type : ''
15
19
  }"
20
+ v-on="item.events"
16
21
  ></es-upload>
17
22
  <es-button
18
23
  v-else
@@ -40,6 +45,7 @@
40
45
  </template>
41
46
  <el-dropdown
42
47
  v-if="other.length > 0"
48
+ ref="dropdown"
43
49
  @command="handleCommand"
44
50
  @visible-change="handleChange"
45
51
  :trigger="trigger"
@@ -61,12 +67,53 @@
61
67
  v-for="(item, index) in other"
62
68
  :key="index"
63
69
  :command="item"
70
+ :class="{ 'es-dropdown-padding': item.upload || item.selector }"
64
71
  >
65
- <i :class="item.icon" v-if="item.icon"></i
66
- >{{
67
- item.template ? item.template({ ...data, config: item }) : item.text
68
- }}</el-dropdown-item
69
- >
72
+ <es-upload
73
+ v-if="item.upload || (item.code && item.ownId)"
74
+ class="es-dropdown-upload"
75
+ v-bind="{
76
+ ...exclAttribute({
77
+ data: item,
78
+ attrs: ['events']
79
+ }),
80
+ ...parseProps(),
81
+ method: 'post',
82
+ showFileList: false,
83
+ selectType: 'text'
84
+ }"
85
+ v-on="item.events"
86
+ ></es-upload>
87
+ <es-selector
88
+ v-else-if="item.selector"
89
+ class="es-dropdown-selector"
90
+ v-bind="{
91
+ reset: true,
92
+ ...exclAttribute({
93
+ data: item,
94
+ attrs: ['events', 'type', 'value']
95
+ }),
96
+ businessData: data
97
+ }"
98
+ v-on="item.events"
99
+ :button="{ size: 'medium', type: 'text' }"
100
+ >
101
+ <i :class="item.icon" v-if="item.icon"></i
102
+ >{{
103
+ item.template
104
+ ? item.template({ ...data, config: item })
105
+ : item.text
106
+ }}
107
+ </es-selector>
108
+ <template v-else>
109
+ <i :class="item.icon" v-if="item.icon"></i
110
+ >{{
111
+ item.template
112
+ ? item.template({ ...data, config: item })
113
+ : item.text
114
+ }}
115
+ </template>
116
+ </el-dropdown-item>
70
117
  </el-dropdown-menu>
71
118
  </el-dropdown>
72
119
  </el-button-group>
@@ -103,7 +150,8 @@ export default {
103
150
  placement: {
104
151
  type: String,
105
152
  default: 'bottom'
106
- }
153
+ },
154
+ parseData: Function
107
155
  },
108
156
  computed: {
109
157
  btns() {
@@ -175,6 +223,10 @@ export default {
175
223
  this.$emit('handle-click', obj);
176
224
  },
177
225
  handleCommand(res) {
226
+ if (res.upload || res.selector) {
227
+ this.$refs.dropdown.hide();
228
+ return false;
229
+ }
178
230
  this.$emit('handleClick', { ...this.data, handle: res });
179
231
  this.$emit('handle-click', { ...this.data, handle: res });
180
232
  },
@@ -192,6 +244,9 @@ export default {
192
244
  this.$emit('input', w + 'px');
193
245
  }
194
246
  });
247
+ },
248
+ parseProps() {
249
+ return this.parseData && this.data ? this.parseData(this.data) : {};
195
250
  }
196
251
  }
197
252
  };
@@ -22,7 +22,7 @@
22
22
  {{ item }}
23
23
  </li>
24
24
  </ul>
25
- <ul class="es-calendar-days">
25
+ <ul class="es-calendar-days" :style="{ height: _height }">
26
26
  <li
27
27
  class="es-day"
28
28
  @click="handleClick(item)"
@@ -80,7 +80,8 @@ export default {
80
80
  default: true
81
81
  },
82
82
  mark: Boolean,
83
- disabled: Boolean
83
+ disabled: Boolean,
84
+ height: String
84
85
  },
85
86
  watch: {
86
87
  date: {
@@ -117,6 +118,9 @@ export default {
117
118
  }
118
119
  }
119
120
  });
121
+ },
122
+ _height() {
123
+ return this.height && this.all ? parseInt(this.height) + 'px' : '';
120
124
  }
121
125
  },
122
126
  data() {
@@ -479,7 +479,7 @@ export default {
479
479
  width: [Number, String],
480
480
  minWidth: [Number, String],
481
481
  hide: Boolean,
482
- showOverflowTooltip: Boolean,
482
+ showOverflowTooltip: [Boolean, Number],
483
483
  render: [Function, String],
484
484
  contents: Array,
485
485
  events: [Array, Object],
@@ -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) {
@@ -4178,7 +4178,8 @@ export default {
4178
4178
  default() {
4179
4179
  return {};
4180
4180
  }
4181
- }
4181
+ },
4182
+ active: Array
4182
4183
  },
4183
4184
  data() {
4184
4185
  return {
@@ -4393,7 +4394,7 @@ export default {
4393
4394
  if (index === 0) {
4394
4395
  names = item.name || String(index);
4395
4396
  }
4396
- } else {
4397
+ } else if (item.active !== false) {
4397
4398
  names.push(item.name || String(index));
4398
4399
  }
4399
4400
  } else {
@@ -4402,7 +4403,9 @@ export default {
4402
4403
  contents.push(item);
4403
4404
  }
4404
4405
  });
4405
- this.activeNames = names;
4406
+ if (!this.active || (this.active && !this.active.length)) {
4407
+ this.activeNames = names;
4408
+ }
4406
4409
  this.content = contents;
4407
4410
  if (this.content.length === 1) {
4408
4411
  if (
@@ -4492,6 +4495,15 @@ export default {
4492
4495
  },
4493
4496
  readonly() {
4494
4497
  !this.height && this.getHeight();
4498
+ },
4499
+ active: {
4500
+ immediate: true,
4501
+ deep: true,
4502
+ handler(val) {
4503
+ if (val && val.length) {
4504
+ this.activeNames = val;
4505
+ }
4506
+ }
4495
4507
  }
4496
4508
  },
4497
4509
  created() {
@@ -4605,7 +4617,7 @@ export default {
4605
4617
  if (index === 0) {
4606
4618
  names = item.name || String(index);
4607
4619
  }
4608
- } else {
4620
+ } else if (item.active !== false) {
4609
4621
  names.push(item.name || String(index));
4610
4622
  }
4611
4623
  } else {
@@ -4614,7 +4626,9 @@ export default {
4614
4626
  contents.push(util.extend({}, item));
4615
4627
  }
4616
4628
  });
4617
- this.activeNames = names;
4629
+ if (!this.active || (this.active && !this.active.length)) {
4630
+ this.activeNames = names;
4631
+ }
4618
4632
  this.content = contents;
4619
4633
  if (
4620
4634
  this.content.length === 1 &&
@@ -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"]
@@ -2,11 +2,9 @@
2
2
  <div
3
3
  v-if="!code"
4
4
  class="es-login-screen"
5
- :style="{
6
- 'background-image': getImgUrl(loginBackgroundUrl)
7
- }"
5
+ :style="getBackground(loginBackgroundImg)"
8
6
  >
9
- <img v-if="loginLogoUrl" class="es-login-logo" :src="loginLogoUrl" />
7
+ <img v-if="loginLogoImg" class="es-login-logo" :src="loginLogoImg" />
10
8
  <slot></slot>
11
9
  <div
12
10
  class="es-login"
@@ -17,15 +15,10 @@
17
15
  :class="{ 'es-simple': mode == 'simple' }"
18
16
  :style="transform"
19
17
  >
20
- <img v-if="loginNameUrl" class="es-login-name" :src="loginNameUrl" />
21
- <div
22
- class="es-login-main"
23
- :style="{
24
- 'background-image': getImgUrl(loginImageUrl)
25
- }"
26
- >
27
- <div v-if="loginTitleUrl" class="es-login-title-image">
28
- <img class="es-login-title-img" :src="loginTitleUrl" />
18
+ <img v-if="loginNameImg" class="es-login-name" :src="loginNameImg" />
19
+ <div class="es-login-main" :style="getBackground(loginMainImg)">
20
+ <div v-if="loginTitleImg" class="es-login-title-image">
21
+ <img class="es-login-title-img" :src="loginTitleImg" />
29
22
  </div>
30
23
  <div
31
24
  v-if="switchs > 1"
@@ -50,9 +43,13 @@
50
43
  <div class="es-login-form-box">
51
44
  <template v-if="isShow(active) && (active == 0 || active == 12)">
52
45
  <el-form ref="login" class="es-login-form" :model="formData">
53
- <div class="es-login-title" v-if="!loginTitleUrl">
54
- <span class="es-login-title-content">{{ title }}</span>
55
- </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>
56
53
  <el-form-item
57
54
  size="large"
58
55
  prop="username"
@@ -158,11 +155,13 @@
158
155
  v-if="isShow(active) && (active == 3 || active == 7 || active == 9)"
159
156
  >
160
157
  <div class="es-login-qrcode">
161
- <div class="es-login-title" v-if="!loginTitleUrl">
162
- <div class="es-login-title-content">
163
- {{ iconfonts[active].name }}
164
- </div>
165
- </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>
166
165
  <div class="es-login-down-app">
167
166
  打开
168
167
  <template v-if="active == 3">
@@ -206,11 +205,13 @@
206
205
  class="es-login-form es-login-verify"
207
206
  :model="formData"
208
207
  >
209
- <div class="es-login-title" v-if="!loginTitleUrl">
210
- <span class="es-login-title-content">{{
211
- iconfonts[active].name
212
- }}</span>
213
- </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>
214
215
  <el-form-item
215
216
  size="large"
216
217
  prop="target"
@@ -387,8 +388,8 @@ export default {
387
388
  return {};
388
389
  }
389
390
  },
390
- loginBackground: [String, Array],
391
- loginImage: [String, Array],
391
+ loginBackground: [String, Array, Object],
392
+ loginImage: [String, Array, Object],
392
393
  loginLogo: String,
393
394
  loginTitle: String,
394
395
  loginName: String,
@@ -602,23 +603,6 @@ export default {
602
603
  return window.location.href || window.href;
603
604
  }
604
605
  },
605
- loginBackgroundUrl() {
606
- return this.loginBackground
607
- ? this.loginBackground
608
- : this.loginBackgroundImg;
609
- },
610
- loginImageUrl() {
611
- return this.loginImage ? this.loginImage : this.loginMainImg;
612
- },
613
- loginNameUrl() {
614
- return this.loginNameImg ? this.loginNameImg : this.loginName;
615
- },
616
- loginTitleUrl() {
617
- return this.loginTitleImg ? this.loginTitleImg : this.loginTitle;
618
- },
619
- loginLogoUrl() {
620
- return this.loginLogoImg ? this.loginLogoImg : this.loginLogo;
621
- },
622
606
  warnInfo() {
623
607
  return this.warning === false
624
608
  ? false
@@ -736,11 +720,11 @@ export default {
736
720
  data() {
737
721
  return {
738
722
  align: this.position,
739
- loginBackgroundImg: null,
740
- loginMainImg: null,
741
- loginNameImg: null,
742
- loginTitleImg: null,
743
- loginLogoImg: null,
723
+ loginBackgroundImg: this.loginBackground,
724
+ loginMainImg: this.loginImage,
725
+ loginNameImg: this.loginName,
726
+ loginTitleImg: this.loginTitle,
727
+ loginLogoImg: this.loginLogo,
744
728
  loginModel: this.type,
745
729
  passModifyModel: null,
746
730
  active: 0,
@@ -844,21 +828,36 @@ export default {
844
828
  }
845
829
  });
846
830
  },
847
- getImgUrl(urls) {
848
- let url = '';
849
- if (!urls || !urls.length) {
850
- return url;
831
+ getBackground(res) {
832
+ let style = {};
833
+ if (!res || (Array.isArray(res) && !res.length)) {
834
+ return style;
851
835
  }
852
- if (Array.isArray(urls)) {
853
- url = urls
854
- .map((item) => {
855
- return `url(${item})`;
856
- })
857
- .join(',');
836
+ if (Array.isArray(res)) {
837
+ let url = [];
838
+ let image = [];
839
+ res.forEach((item) => {
840
+ if (item.indexOf('url(') > -1) {
841
+ url.push(item);
842
+ } else {
843
+ image.push(`url(${item})`);
844
+ }
845
+ });
846
+ if (url.length == res.length) {
847
+ style = { background: url.join(',') };
848
+ } else if (image.length == res.length) {
849
+ style = { 'background-image': image.join(',') };
850
+ } else {
851
+ console.error('设置的样式不一致!');
852
+ }
853
+ } else if (util.isObject(res)) {
854
+ style = res;
855
+ } else if (res.indexOf('url(') > -1) {
856
+ style = { background: res };
858
857
  } else {
859
- url = `url(${urls})`;
858
+ style = { 'background-image': `url(${res})` };
860
859
  }
861
- return url;
860
+ return style;
862
861
  },
863
862
  getRemember(user) {
864
863
  let values = localStorage.getItem('unpd');
@@ -1023,10 +1022,12 @@ export default {
1023
1022
  if (res.loginModel) {
1024
1023
  this.loginModel = res.loginModel;
1025
1024
  }
1026
- this.loginBackgroundImg = res.loginBackgroundUrl
1027
- ? res.loginBackgroundUrl.split(',')
1028
- : null;
1029
- this.loginLogoImg = res.loginLogoUrl ? res.loginLogoUrl : null;
1025
+ if (res.loginBackgroundUrl) {
1026
+ this.loginBackgroundImg = res.loginBackgroundUrl.split(',');
1027
+ }
1028
+ if (res.loginLogoUrl) {
1029
+ this.loginLogoImg = res.loginLogoUrl;
1030
+ }
1030
1031
  res.loginPage && sessionStorage.setItem('loginPage', res.loginPage);
1031
1032
  if (res.subsystemExtend && Object.keys(res.subsystemExtend).length) {
1032
1033
  this.icpInfo = res.subsystemExtend;