eoss-ui 0.4.21 → 0.4.23

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 (71) hide show
  1. package/lib/button-group.js +34 -34
  2. package/lib/button.js +37 -37
  3. package/lib/cascader.js +2 -2
  4. package/lib/checkbox-group.js +34 -34
  5. package/lib/config/api.js +1 -1
  6. package/lib/data-table-form.js +34 -34
  7. package/lib/data-table.js +48 -40
  8. package/lib/date-picker.js +36 -36
  9. package/lib/dialog.js +42 -39
  10. package/lib/eoss-ui.common.js +2284 -422
  11. package/lib/flow-group.js +42 -36
  12. package/lib/flow-list.js +35 -35
  13. package/lib/flow.js +120 -112
  14. package/lib/form.js +1082 -167
  15. package/lib/handle-user.js +34 -34
  16. package/lib/handler.js +34 -34
  17. package/lib/icon.js +436 -0
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +36 -36
  20. package/lib/input.js +36 -36
  21. package/lib/label.js +2 -2
  22. package/lib/login.js +34 -34
  23. package/lib/main.js +584 -129
  24. package/lib/mainComp.js +54 -53
  25. package/lib/menu.js +2 -2
  26. package/lib/nav.js +36 -36
  27. package/lib/notify.js +36 -36
  28. package/lib/page.js +36 -36
  29. package/lib/pagination.js +2 -2
  30. package/lib/player.js +38 -38
  31. package/lib/qr-code.js +43 -43
  32. package/lib/radio-group.js +36 -36
  33. package/lib/select-ganged.js +36 -36
  34. package/lib/select.js +48 -46
  35. package/lib/selector-panel.js +34 -34
  36. package/lib/selector.js +36 -36
  37. package/lib/sizer.js +36 -36
  38. package/lib/steps.js +36 -36
  39. package/lib/switch.js +36 -36
  40. package/lib/table-form.js +295 -48
  41. package/lib/tabs-panel.js +2 -2
  42. package/lib/tabs.js +43 -39
  43. package/lib/theme-chalk/es-icon.css +1 -0
  44. package/lib/tips.js +36 -36
  45. package/lib/toolbar.js +2 -2
  46. package/lib/tree-group.js +36 -36
  47. package/lib/tree.js +36 -36
  48. package/lib/upload.js +37 -37
  49. package/lib/wujie.js +36 -36
  50. package/lib/wxlogin.js +36 -36
  51. package/package.json +1 -1
  52. package/packages/button/src/main.vue +7 -7
  53. package/packages/data-table/src/main.vue +9 -1
  54. package/packages/dialog/src/main.vue +3 -0
  55. package/packages/flow/src/component/taskUnionExamine.vue +3 -3
  56. package/packages/flow/src/main.vue +48 -17
  57. package/packages/flow/src/startTaskRead.vue +21 -24
  58. package/packages/flow-group/src/main.vue +5 -0
  59. package/packages/form/src/main.vue +209 -0
  60. package/packages/form/src/table.vue +150 -97
  61. package/packages/icon/index.js +5 -0
  62. package/packages/icon/src/main.vue +83 -0
  63. package/packages/main/src/async-component/index.vue +85 -0
  64. package/packages/main/src/main.vue +181 -12
  65. package/packages/mainComp/src/main.vue +1 -1
  66. package/packages/select/src/main.vue +7 -4
  67. package/packages/tabs/src/main.vue +1 -0
  68. package/packages/theme-chalk/lib/es-icon.css +1 -0
  69. package/packages/theme-chalk/src/es-icon.scss +99 -0
  70. package/src/config/api.js +1 -1
  71. package/src/index.js +4 -1
@@ -0,0 +1,83 @@
1
+ <template>
2
+ <div class="es-icon" :class="{ 'es-icon-readonly': readonly }">
3
+ <el-input
4
+ v-if="!readonly"
5
+ v-bind="$attrs"
6
+ v-on="$listeners"
7
+ :placeholder="placeholder"
8
+ readonly
9
+ v-model="model"
10
+ >
11
+ <i class="es-iconfont" :class="model" slot="prepend" v-if="model"></i>
12
+ <el-button slot="suffix" type="primary" size="small" @click="handleClick"
13
+ >选择</el-button
14
+ >
15
+ </el-input>
16
+ <i class="es-iconfont" :class="model" slot="prepend" v-else></i>
17
+ <es-dialog title="选择图标" :visible.sync="visible">
18
+ <el-scrollbar class="es-scrollbar" ref="scrollbar">
19
+ <ul class="es-icon-list">
20
+ <li
21
+ v-for="name in $icon"
22
+ :key="name"
23
+ @click.stop="handleSelect(name)"
24
+ >
25
+ <span>
26
+ <i :class="'es-icon-' + name"></i>
27
+ <span class="icon-name">{{ 'es-icon-' + name }}</span>
28
+ </span>
29
+ </li>
30
+ </ul>
31
+ </el-scrollbar>
32
+ </es-dialog>
33
+ </div>
34
+ </template>
35
+ <script>
36
+ //import util from 'eoss-ui/src/utils/util';
37
+ export default {
38
+ name: 'EsIcon',
39
+ inheritAttrs: false,
40
+ props: {
41
+ value: String,
42
+ placeholder: {
43
+ type: String,
44
+ default: '请选择图标'
45
+ },
46
+ readonly: Boolean
47
+ },
48
+ computed: {
49
+ model: {
50
+ get() {
51
+ return this.value ? this.value : this.icon;
52
+ },
53
+ set(val) {
54
+ return val;
55
+ }
56
+ }
57
+ },
58
+ watch: {
59
+ model(val) {
60
+ this.$emit('change', val);
61
+ }
62
+ },
63
+ data() {
64
+ return {
65
+ icon: null,
66
+ visible: false
67
+ };
68
+ },
69
+ created() {
70
+ //this.loadsub(this.param);
71
+ },
72
+ methods: {
73
+ handleClick() {
74
+ this.visible = true;
75
+ },
76
+ handleSelect(name) {
77
+ this.$emit('input', `es-icon-${name}`);
78
+ this.icon = `es-icon-${name}`;
79
+ this.visible = false;
80
+ }
81
+ }
82
+ };
83
+ </script>
@@ -0,0 +1,85 @@
1
+ <!--
2
+ * @Description: 异步加载网络UMD组件
3
+ * @Version: 1.0
4
+ * @Autor: zhaodongming
5
+ * @Date: 2022-12-01 16:32:36
6
+ * @LastEditors: zhaodongming
7
+ * @LastEditTime: 2023-01-18 11:49:54
8
+ -->
9
+ <template>
10
+ <component :is="comp" v-bind="$attrs" v-on="$listeners"></component>
11
+ </template>
12
+
13
+ <script>
14
+ import { importScript } from 'runtime-import';
15
+ import util from 'eoss-ui/src/utils/util'
16
+ export default {
17
+ name: 'AsyncComponent',
18
+ inheritAttrs: true,
19
+ props: {
20
+ componentRenderUrl: {
21
+ type: [String, Object],
22
+ default: ''
23
+ }
24
+ },
25
+ data() {
26
+ return {
27
+ comp: 'div'
28
+ };
29
+ },
30
+ watch: {
31
+ componentRenderUrl: {
32
+ immediate: true,
33
+ handler: function(newVal) {
34
+ this.handleImport(newVal);
35
+ }
36
+ }
37
+ },
38
+ methods: {
39
+ async handleImport(url = '') {
40
+ try {
41
+ // 如果不是url,当作倒入组件名处理
42
+ if (
43
+ url.indexOf &&
44
+ (url.indexOf('http:') != -1 ||
45
+ url.indexOf('https:') != -1 ||
46
+ url.indexOf('/dev-api') != -1)
47
+ ) {
48
+ // 获取缓存中的组件
49
+ const catchComponent = util.win[url];
50
+ if (catchComponent) {
51
+ // 渲染缓存中的组件
52
+ this.comp = catchComponent;
53
+ // 回传props内容
54
+ this.$emit('handleGetProps', this.comp.props);
55
+ } else {
56
+ // 加载远端umd格式组件内容
57
+ const comp = await importScript(url);
58
+ // 渲染远端组件并缓存到磁盘
59
+ if (!comp) {
60
+ this.$message.error('不是合规组件,请检查组件上传环境和语法');
61
+ return;
62
+ }
63
+ this.comp = comp;
64
+ util.win[url] = comp;
65
+ // 回传props内容
66
+ this.$emit('handleGetProps', this.comp.props);
67
+ }
68
+ } else {
69
+ // 如果不是url则当作文本片段处理
70
+ this.comp = url;
71
+ // 回传props内容
72
+ // this.$emit('handleGetProps', this.comp.props);
73
+ }
74
+
75
+ // }
76
+ // debugger;
77
+ } catch (err) {
78
+ console.error(err);
79
+ }
80
+ }
81
+ }
82
+ };
83
+ </script>
84
+
85
+ <style lang="scss" scoped></style>
@@ -5,10 +5,17 @@
5
5
  class="es-main-header"
6
6
  :style="{ backgroundImage: headerImg ? 'url(' + headerImg + ')' : '' }"
7
7
  >
8
+ <AsyncComponent
9
+ v-if="themeJSON.logo.comp"
10
+ :style="!themeJSON.topNav.comp ? 'width:100%' : ''"
11
+ :key="themeJSON.logo.comp"
12
+ v-bind="themeJSON.logo.data"
13
+ :componentRenderUrl="themeJSON.logo.comp"
14
+ />
8
15
  <img
9
16
  class="es-main-logo"
10
17
  :src="logoUrl"
11
- v-if="modal !== 'topside' && logoUrl"
18
+ v-if="modal !== 'topside' && logoUrl && showDefault"
12
19
  />
13
20
  <div class="es-main-top-nav">
14
21
  <es-menu
@@ -27,7 +34,28 @@
27
34
  "
28
35
  ></es-menu>
29
36
  </div>
37
+ <AsyncComponent
38
+ v-if="themeJSON.topNav.comp"
39
+ :style="!themeJSON.logo.comp ? 'width:100%' : ''"
40
+ :hide="hide"
41
+ :subSystem="subsystem"
42
+ :online="online"
43
+ :application="application"
44
+ :storage="storage"
45
+ :notice="notice"
46
+ :data="handleData"
47
+ :key="themeJSON.topNav.comp"
48
+ v-bind="themeJSON.topNav.data"
49
+ :componentRenderUrl="themeJSON.topNav.comp"
50
+ @select="
51
+ (res) => {
52
+ handleSelect(res, 'sys');
53
+ }
54
+ "
55
+ @click="handleClick"
56
+ />
30
57
  <es-handler
58
+ v-if="showDefault"
31
59
  :userModel="userModel"
32
60
  :hide="hide"
33
61
  :subSystem="subsystem"
@@ -55,8 +83,33 @@
55
83
  @click="handleClick"
56
84
  ></es-handle-user>
57
85
  </div>
86
+ <AsyncComponent
87
+ v-if="themeJSON.leftNav.comp"
88
+ :biserial="biserial"
89
+ :newTitle="showNavTitle ? title : false"
90
+ :default-active="active"
91
+ :menu-tips="menuTips"
92
+ :scene="scene"
93
+ :key="themeJSON.leftNav.comp"
94
+ v-bind="themeJSON.leftNav.data"
95
+ :componentRenderUrl="themeJSON.leftNav.comp"
96
+ :newMenu="menu"
97
+ :application="application"
98
+ :menuUrl="menuUrl"
99
+ @trigger="
100
+ (res) => {
101
+ handleSelect(res, 'sub');
102
+ }
103
+ "
104
+ @select="
105
+ (res) => {
106
+ handleSelect(res, 'menu');
107
+ }
108
+ "
109
+ @success="menuSuccess"
110
+ />
58
111
  <es-nav
59
- v-if="showMenu"
112
+ v-if="showMenu && showDefault"
60
113
  :data="menu"
61
114
  :default-active="active"
62
115
  :width="navWidth"
@@ -124,6 +177,19 @@
124
177
  /></keep-alive>
125
178
  </template>
126
179
  </div>
180
+ <AsyncComponent
181
+ style="
182
+ position: absolute;
183
+ height: 60px;
184
+ bottom: 0;
185
+ left: 0;
186
+ right: 0;
187
+ "
188
+ v-if="themeJSON.copyright.comp"
189
+ :key="themeJSON.copyright.comp"
190
+ v-bind="themeJSON.copyright.data"
191
+ :componentRenderUrl="themeJSON.copyright.comp"
192
+ />
127
193
  <message
128
194
  v-if="showMsg"
129
195
  ref="message"
@@ -174,11 +240,13 @@ import userinfo from './userinfo.vue';
174
240
  import settings from './settings.vue';
175
241
  import message from './message.vue';
176
242
  import notice from './notice.vue';
243
+ import AsyncComponent from './async-component/index.vue';
177
244
  import {
178
245
  mainConfig,
179
246
  updateUserCustomInfo,
180
247
  getComplexApplications,
181
248
  getComplexApplicationsNew,
249
+ mainDetail,
182
250
  wss,
183
251
  topic
184
252
  } from 'eoss-ui/src/config/api.js';
@@ -195,6 +263,7 @@ export default {
195
263
  userinfo,
196
264
  settings,
197
265
  message,
266
+ AsyncComponent,
198
267
  notice
199
268
  },
200
269
  props: {
@@ -298,6 +367,10 @@ export default {
298
367
  remote: {
299
368
  type: Boolean,
300
369
  default: true
370
+ },
371
+ isCustomMain: {
372
+ type: Boolean,
373
+ default: false
301
374
  }
302
375
  },
303
376
  computed: {
@@ -426,6 +499,13 @@ export default {
426
499
  },
427
500
  data() {
428
501
  return {
502
+ showDefault: false,
503
+ themeJSON: {
504
+ logo: { comp: '', data: {} },
505
+ topNav: { comp: '', data: {} },
506
+ leftNav: { comp: '', data: {} },
507
+ copyright: { comp: '', data: {} }
508
+ },
429
509
  pageLoading: false,
430
510
  client: null,
431
511
  websocket: null,
@@ -492,6 +572,8 @@ export default {
492
572
  //是否展示侧边导航
493
573
  showMenu: true,
494
574
  props: {},
575
+ menuType: '',
576
+ customMenu: [],
495
577
  //是否首次加载
496
578
  isDefault: true,
497
579
  reset: true,
@@ -529,6 +611,60 @@ export default {
529
611
  util.win.windowOpen = this.openPage;
530
612
  },
531
613
  methods: {
614
+ menuSuccess(res) {
615
+ // this.menus
616
+ this.menuType = 'custom';
617
+ this.customMenu = res;
618
+ this.setMenu(res);
619
+ },
620
+ //获取主题模板JSON
621
+ getMainDetail(id) {
622
+ let params = {
623
+ url: mainDetail,
624
+ params: { id }
625
+ };
626
+ util
627
+ .ajax(params)
628
+ .then((res) => {
629
+ let _that = this;
630
+ if (!res.results) {
631
+ _that.showDefault = true;
632
+ }
633
+ if (res.rCode == 0) {
634
+ if (res.results && JSON.parse(res.results.layout)) {
635
+ // 初始化布局器
636
+ _that.themeJSON = JSON.parse(res.results.layout);
637
+ let count = 0;
638
+ for (let key in _that.themeJSON) {
639
+ if (_that.themeJSON[key].comp) {
640
+ count++;
641
+ }
642
+ }
643
+ if (count == 0) {
644
+ _that.showDefault = true;
645
+ }
646
+ let theme = JSON.parse(res.results.theme);
647
+
648
+ util.updateTheme(theme.primaryColor);
649
+ _that.handleColorToPage(theme.globalThalk);
650
+ }
651
+ } else {
652
+ _that.$message.error('主题加载发生错误');
653
+ throw res.msg || '系统错误,请联系管理员!';
654
+ }
655
+ if (_that.showDefault && _that.data === undefined) {
656
+ _that.getMenu();
657
+ } else if (_that.showDefault) {
658
+ _that.menus = JSON.parse(JSON.stringify(_that.data));
659
+ _that.setMenu(_that.data);
660
+ }
661
+ })
662
+ .catch((err) => {
663
+ if (err.message && err.message !== 'canceled') {
664
+ this.$message.error(err.message);
665
+ }
666
+ });
667
+ },
532
668
  renderMenu() {
533
669
  if (this.data !== undefined && this.data.length) {
534
670
  this.menus = JSON.parse(JSON.stringify(this.data));
@@ -657,6 +793,14 @@ export default {
657
793
  store.set(i, results[i]);
658
794
  }
659
795
  this.userModel = results.userModel;
796
+ let mainFrameLayout = results.mainFrameLayout;
797
+ if (results.userStyle.layout && this.isCustomMain) {
798
+ this.getMainDetail(results.userStyle.layout);
799
+ } else if (this.isCustomMain) {
800
+ this.getMainDetail(mainFrameLayout);
801
+ } else {
802
+ this.showDefault = true;
803
+ }
660
804
  },
661
805
  //获取用户配置及信息
662
806
  getConfig() {
@@ -824,10 +968,19 @@ export default {
824
968
  }
825
969
  if (this.modal === 'subsystem' || this.modal === 'topside') {
826
970
  if (this.modal === 'subsystem') {
827
- this.subsystem = res;
971
+ if (this.menuType === 'custom') {
972
+ this.subsystem = this.customMenu;
973
+ } else {
974
+ this.subsystem = res;
975
+ }
828
976
  } else if (this.modal === 'topside') {
829
- this.navs = res;
830
- this.topActive = res[0].id;
977
+ if (this.menuType === 'custom') {
978
+ this.navs = this.customMenu;
979
+ this.topActive = res[0].id;
980
+ } else {
981
+ this.navs = res;
982
+ this.topActive = res[0].id;
983
+ }
831
984
  }
832
985
  if (this.application) {
833
986
  for (let i = 0; i < res.length; i++) {
@@ -845,8 +998,13 @@ export default {
845
998
  this.active = this.getFirst(this.menu[0]);
846
999
  }
847
1000
  } else if (this.modal === 'topnav') {
848
- this.navs = res;
849
- this.topActive = this.getFirst(res[0]);
1001
+ if (this.menuType === 'custom') {
1002
+ this.navs = this.customMenu;
1003
+ this.topActive = this.getFirst(res[0]);
1004
+ } else {
1005
+ this.navs = res;
1006
+ this.topActive = this.getFirst(res[0]);
1007
+ }
850
1008
  } else {
851
1009
  this.menu = res;
852
1010
  if (!this.isDefault) {
@@ -956,16 +1114,26 @@ export default {
956
1114
  this.modal === 'topSide'
957
1115
  ) {
958
1116
  if (this.modal === 'subsystem' || this.modal === 'subSystem') {
959
- this.subsystem = res;
960
- this.sysId = active[0];
1117
+ if (this.menuType === 'custom') {
1118
+ this.subsystem = this.customMenu;
1119
+ this.sysId = active[0];
1120
+ } else {
1121
+ this.subsystem = res;
1122
+ this.sysId = active[0];
1123
+ }
961
1124
  } else if (
962
1125
  this.modal === 'topnav' ||
963
1126
  this.modal === 'topNav' ||
964
1127
  this.modal === 'topside' ||
965
1128
  this.modal === 'topSide'
966
1129
  ) {
967
- this.navs = res;
968
- this.topActive = active[0];
1130
+ if (this.menuType === 'custom') {
1131
+ this.navs = this.customMenu;
1132
+ this.topActive = active[0];
1133
+ } else {
1134
+ this.navs = res;
1135
+ this.topActive = active[0];
1136
+ }
969
1137
  }
970
1138
  if (this.tabs.length || this.isTabs) {
971
1139
  this.tabsId = active[active.length - 1];
@@ -1173,7 +1341,7 @@ export default {
1173
1341
  if (this.homePage) {
1174
1342
  this.handleJump(this.homePage);
1175
1343
  }
1176
- this.active = '';
1344
+ this.active = [];
1177
1345
  this.defaultActive = [];
1178
1346
  this.tabs = [];
1179
1347
  this.setMenu(this.menus);
@@ -1215,6 +1383,7 @@ export default {
1215
1383
  },
1216
1384
  //跳转页面
1217
1385
  handleJump(page, type, res) {
1386
+ console.log(page);
1218
1387
  if (util.win.location.hash === page) {
1219
1388
  this.refresh = true;
1220
1389
  return;
@@ -581,10 +581,10 @@ export default {
581
581
  showMenu: true,
582
582
  props: {},
583
583
  menuType: '',
584
+ customMenu: [],
584
585
  //是否首次加载
585
586
  isDefault: true,
586
587
  reset: true,
587
- customMenu: [],
588
588
  isKeepAlive: this.keepAlive,
589
589
  routerKey: '',
590
590
  defaultwjprops: {}
@@ -290,8 +290,9 @@ export default {
290
290
  },
291
291
  getData(sysCode, param, reload) {
292
292
  if (
293
- !this.ajax ||
294
- (!this.isNoParamRequest && Object.keys(this.param).length == 0)
293
+ !reload &&
294
+ (!this.ajax ||
295
+ (!this.isNoParamRequest && Object.keys(this.param).length == 0))
295
296
  ) {
296
297
  return false;
297
298
  }
@@ -328,6 +329,8 @@ export default {
328
329
  if (sysCode) {
329
330
  store.set(sysCode, JSON.parse(JSON.stringify(this.options)));
330
331
  }
332
+ } else {
333
+ this.$message.error(res.msg);
331
334
  }
332
335
  })
333
336
  .catch((err) => {
@@ -472,8 +475,8 @@ export default {
472
475
  }
473
476
  return '';
474
477
  },
475
- reload(param) {
476
- this.getData(null, param, true);
478
+ reload() {
479
+ this.getData(...arguments);
477
480
  },
478
481
  handleExpand(data, node) {
479
482
  if (this.onExpand) {
@@ -529,6 +529,7 @@
529
529
  contents.type === 'flow-list' ||
530
530
  contents.type === 'flowList'
531
531
  }"
532
+ :zoom="zoom"
532
533
  :display="show"
533
534
  v-on="contents.events"
534
535
  >
@@ -0,0 +1 @@
1
+ .es-icon{display:inline-block}.es-icon.es-icon-readonly{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:3px;border:1px solid #d9d9d9;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.75);display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%;position:relative}.es-icon .el-input-group__prepend{width:auto;line-height:38px;position:absolute;z-index:3;left:2px;top:2px;right:62px;bottom:2px;border:0;background-color:#fff;padding:0 12px}.es-icon .es-iconfont{color:#606266;font-size:20px}.es-icon .el-input__inner{border-radius:3px!important;color:transparent;padding-right:60px}.es-icon .el-input__suffix{height:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.es-icon-list{clear:both;overflow:hidden;list-style:none;padding:0!important;border:1px solid #eaeefb;border-radius:4px}.es-icon-list li{float:left;width:148px;text-align:center;height:120px;line-height:120px;color:#666;font-size:13px;border-right:1px solid #eee;border-bottom:1px solid #eee;margin-right:-1px;margin-bottom:-1px;-webkit-box-sizing:border-box;box-sizing:border-box}.es-icon-list li span{display:inline-block;line-height:normal;vertical-align:middle;font-family:'Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',SimSun,sans-serif;color:#99a9bf;-webkit-transition:color .15s linear;transition:color .15s linear}.es-icon-list li i{display:block;font-size:32px;margin-bottom:15px;color:#606266;-webkit-transition:color .15s linear;transition:color .15s linear}.es-icon-list li .icon-name{display:inline-block;padding:0 3px;height:1em}.es-icon-list li:hover i,.es-icon-list li:hover span{color:#5cb6ff}
@@ -0,0 +1,99 @@
1
+ .es-icon {
2
+ display: inline-block;
3
+ &.es-icon-readonly {
4
+ -webkit-appearance: none;
5
+ background-color: #fff;
6
+ background-image: none;
7
+ border-radius: 3px;
8
+ border: 1px solid #d9d9d9;
9
+ -webkit-box-sizing: border-box;
10
+ box-sizing: border-box;
11
+ color: rgba(0, 0, 0, 0.75);
12
+ display: inline-block;
13
+ font-size: inherit;
14
+ height: 40px;
15
+ line-height: 40px;
16
+ outline: 0;
17
+ padding: 0 15px;
18
+ -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
19
+ transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
20
+ width: 100%;
21
+ position: relative;
22
+ }
23
+ .el-input-group__prepend {
24
+ width: auto;
25
+ line-height: 38px;
26
+ position: absolute;
27
+ z-index: 3;
28
+ left: 2px;
29
+ top: 2px;
30
+ right: 62px;
31
+ bottom: 2px;
32
+ border: 0;
33
+ background-color: #fff;
34
+ padding: 0 12px;
35
+ }
36
+ .es-iconfont {
37
+ color: #606266;
38
+ font-size: 20px;
39
+ }
40
+ .el-input__inner {
41
+ border-radius: 3px !important;
42
+ color: transparent;
43
+ padding-right: 60px;
44
+ }
45
+ .el-input__suffix {
46
+ height: auto;
47
+ top: 50%;
48
+ transform: translateY(-50%);
49
+ }
50
+ }
51
+ .es-icon-list {
52
+ clear: both;
53
+ overflow: hidden;
54
+ list-style: none;
55
+ padding: 0 !important;
56
+ border: 1px solid #eaeefb;
57
+ border-radius: 4px;
58
+ li {
59
+ float: left;
60
+ width: 148px;
61
+ text-align: center;
62
+ height: 120px;
63
+ line-height: 120px;
64
+ color: #666;
65
+ font-size: 13px;
66
+ border-right: 1px solid #eee;
67
+ border-bottom: 1px solid #eee;
68
+ margin-right: -1px;
69
+ margin-bottom: -1px;
70
+ box-sizing: border-box;
71
+ span {
72
+ display: inline-block;
73
+ line-height: normal;
74
+ vertical-align: middle;
75
+ font-family: 'Helvetica Neue', Helvetica, 'PingFang SC',
76
+ 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, sans-serif;
77
+ color: #99a9bf;
78
+ transition: color 0.15s linear;
79
+ }
80
+ i {
81
+ display: block;
82
+ font-size: 32px;
83
+ margin-bottom: 15px;
84
+ color: #606266;
85
+ transition: color 0.15s linear;
86
+ }
87
+ .icon-name {
88
+ display: inline-block;
89
+ padding: 0 3px;
90
+ height: 1em;
91
+ }
92
+ &:hover {
93
+ i,
94
+ span {
95
+ color: #5cb6ff;
96
+ }
97
+ }
98
+ }
99
+ }
package/src/config/api.js CHANGED
@@ -196,7 +196,7 @@ export const taskUnionSeal = '/bpm/task/taskHandle/taskUnionSeal.dhtml';
196
196
  // 报送两办
197
197
  export const toTwoOfficesDispatch = '/bpm/bpmBackend/toTwoOfficesDispatch';
198
198
  // 报送两办提交
199
- export const twoOfficesDispatch = 'task/taskHandle/twoOfficesDispatch.dhtml';
199
+ export const twoOfficesDispatch = '/bpm/task/taskHandle/twoOfficesDispatch.dhtml';
200
200
 
201
201
  // notifySend 消息发送
202
202
  export const sendList = '/notify2/notifySendRecord/listJson';
package/src/index.js CHANGED
@@ -18,6 +18,7 @@ import FlowGroup from '../packages/flow-group/index.js';
18
18
  import FlowList from '../packages/flow-list/index.js';
19
19
  import HandleUser from '../packages/handle-user/index.js';
20
20
  import Handler from '../packages/handler/index.js';
21
+ import Icon from '../packages/icon/index.js';
21
22
  import Input from '../packages/input/index.js';
22
23
  import InputNumber from '../packages/input-number/index.js';
23
24
  import Label from '../packages/label/index.js';
@@ -69,6 +70,7 @@ const components = [
69
70
  FlowList,
70
71
  HandleUser,
71
72
  Handler,
73
+ Icon,
72
74
  Input,
73
75
  InputNumber,
74
76
  Label,
@@ -113,7 +115,7 @@ if (typeof window !== 'undefined' && window.Vue) {
113
115
  }
114
116
 
115
117
  export default {
116
- version: '0.4.21',
118
+ version: '0.4.23',
117
119
  install,
118
120
  Button,
119
121
  ButtonGroup,
@@ -133,6 +135,7 @@ export default {
133
135
  FlowList,
134
136
  HandleUser,
135
137
  Handler,
138
+ Icon,
136
139
  Input,
137
140
  InputNumber,
138
141
  Label,