eoss-ui 0.5.81-beta1 → 0.5.81-beta10

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 (78) hide show
  1. package/lib/data-table.js +145 -124
  2. package/lib/eoss-ui.common.js +2085 -1113
  3. package/lib/form.js +40 -2
  4. package/lib/handle-user.js +16 -3
  5. package/lib/handler.js +9 -3
  6. package/lib/icon.js +14 -7
  7. package/lib/index.js +1 -1
  8. package/lib/login.js +8 -6
  9. package/lib/main.js +1752 -919
  10. package/lib/select.js +1 -1
  11. package/lib/selector-panel.js +65 -17
  12. package/lib/selector.js +8 -4
  13. package/lib/theme-chalk/base.css +1 -1
  14. package/lib/theme-chalk/button-group.css +1 -1
  15. package/lib/theme-chalk/data-table.css +1 -1
  16. package/lib/theme-chalk/form.css +1 -1
  17. package/lib/theme-chalk/handler.css +1 -1
  18. package/lib/theme-chalk/index.css +1 -1
  19. package/lib/theme-chalk/main.css +1 -1
  20. package/lib/theme-chalk/menu.css +1 -1
  21. package/lib/theme-chalk/nav.css +1 -1
  22. package/lib/theme-chalk/selector-panel.css +1 -1
  23. package/lib/theme-chalk/simplicity.css +1 -1
  24. package/lib/theme-chalk/sizer.css +1 -1
  25. package/lib/theme-chalk/tree.css +1 -1
  26. package/lib/theme-chalk/upload.css +1 -1
  27. package/lib/upload.js +6 -6
  28. package/package.json +2 -2
  29. package/packages/data-table/src/main.vue +53 -28
  30. package/packages/form/src/main.vue +38 -8
  31. package/packages/handle-user/src/main.vue +10 -3
  32. package/packages/handler/src/main.vue +2 -0
  33. package/packages/icon/src/main.vue +12 -5
  34. package/packages/login/src/main.vue +10 -4
  35. package/packages/main/src/default/index.vue +4 -3
  36. package/packages/main/src/main.vue +16 -12
  37. package/packages/main/src/simplicity/apps.vue +176 -145
  38. package/packages/main/src/simplicity/avatar.vue +16 -6
  39. package/packages/main/src/simplicity/index.vue +372 -179
  40. package/packages/main/src/simplicity/menu-list.vue +74 -24
  41. package/packages/main/src/simplicity/message.vue +35 -25
  42. package/packages/main/src/simplicity/notice.vue +72 -39
  43. package/packages/main/src/simplicity/router-page.vue +53 -0
  44. package/packages/main/src/simplicity/settings.vue +1 -1
  45. package/packages/main/src/simplicity/sub-menu.vue +159 -57
  46. package/packages/main/src/simplicity/user.vue +10 -5
  47. package/packages/main/src/simplicity/userinfo.vue +1 -0
  48. package/packages/select/src/main.vue +4 -1
  49. package/packages/selector/src/main.vue +6 -2
  50. package/packages/selector-panel/src/main.vue +22 -8
  51. package/packages/selector-panel/src/selection.vue +6 -0
  52. package/packages/theme-chalk/lib/base.css +1 -1
  53. package/packages/theme-chalk/lib/button-group.css +1 -1
  54. package/packages/theme-chalk/lib/data-table.css +1 -1
  55. package/packages/theme-chalk/lib/form.css +1 -1
  56. package/packages/theme-chalk/lib/handler.css +1 -1
  57. package/packages/theme-chalk/lib/index.css +1 -1
  58. package/packages/theme-chalk/lib/main.css +1 -1
  59. package/packages/theme-chalk/lib/menu.css +1 -1
  60. package/packages/theme-chalk/lib/nav.css +1 -1
  61. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  62. package/packages/theme-chalk/lib/simplicity.css +1 -1
  63. package/packages/theme-chalk/lib/sizer.css +1 -1
  64. package/packages/theme-chalk/lib/tree.css +1 -1
  65. package/packages/theme-chalk/lib/upload.css +1 -1
  66. package/packages/theme-chalk/src/base.scss +5 -0
  67. package/packages/theme-chalk/src/button-group.scss +3 -3
  68. package/packages/theme-chalk/src/common/var.scss +6 -0
  69. package/packages/theme-chalk/src/data-table.scss +9 -9
  70. package/packages/theme-chalk/src/form.scss +2 -4
  71. package/packages/theme-chalk/src/handler.scss +5 -1
  72. package/packages/theme-chalk/src/login.scss +2 -2
  73. package/packages/theme-chalk/src/nav.scss +3 -2
  74. package/packages/theme-chalk/src/selector-panel.scss +2 -1
  75. package/packages/theme-chalk/src/simplicity.scss +340 -58
  76. package/packages/theme-chalk/src/tree.scss +4 -2
  77. package/packages/upload/src/main.vue +3 -1
  78. package/src/index.js +1 -1
@@ -1,22 +1,43 @@
1
1
  <template>
2
- <el-scrollbar>
2
+ <el-scrollbar class="es-simplicity-menus-scrollbar">
3
3
  <div
4
- class="es-simplicity-menus-item"
5
- v-for="(item, index) in data"
6
- :key="item.id"
7
- :class="{ 'is-active': active === item.id }"
8
- @click="handleClick(item)"
4
+ class="es-simplicity-menus-lists"
5
+ :class="{ 'is-fold': fold }"
6
+ @mouseleave="handleOut(true)"
7
+ @mouseenter="handleOut(false)"
9
8
  >
10
- <es-icon
11
- class="es-simplicity_apps-icon"
12
- :style="setStyle(index)"
13
- :contents="item.icons || item.icon || menuIcon"
14
- ></es-icon>
15
- <div class="es-simplicity-menus-tips" v-if="item.tips">
16
- {{ item.tips > 99 ? '99+' : item.tips }}
17
- </div>
18
- <div class="es-simplicity_apps-text">
19
- {{ item.text || item.name }}
9
+ <div
10
+ v-for="(item, index) in data"
11
+ class="es-simplicity-menus-item"
12
+ :key="item.id"
13
+ :class="{ 'is-fold': fold }"
14
+ :title="fold ? item.text || item.name : ''"
15
+ @click="handleClick(item)"
16
+ @mouseenter="handleEnter(item)"
17
+ @mouseleave="handleLeave(item)"
18
+ >
19
+ <template v-if="fold">
20
+ <el-badge is-dot :hidden="!item.tips">
21
+ <es-icon
22
+ class="es-simplicity_apps-icon"
23
+ :style="setStyle(index)"
24
+ :contents="item.icons || item.icon || menuIcon"
25
+ ></es-icon>
26
+ </el-badge>
27
+ </template>
28
+ <template v-else>
29
+ <es-icon
30
+ class="es-simplicity_apps-icon"
31
+ :style="setStyle(index)"
32
+ :contents="item.icons || item.icon || menuIcon"
33
+ ></es-icon>
34
+ <div class="es-simplicity-menus-tips" v-if="item.tips">
35
+ {{ item.tips > 99 ? '99+' : item.tips }}
36
+ </div>
37
+ </template>
38
+ <div class="es-simplicity_apps-text" v-show="!fold">
39
+ {{ item.text || item.name }}
40
+ </div>
20
41
  </div>
21
42
  </div>
22
43
  </el-scrollbar>
@@ -27,19 +48,33 @@ export default {
27
48
  name: 'MenuList',
28
49
  components: {},
29
50
  props: {
30
- index: [Number, String],
51
+ active: String,
31
52
  menuIcon: String,
32
53
  color: [String, Array],
33
54
  backgroundColor: [String, Array],
34
- data: Array
55
+ data: Array,
56
+ fold: Boolean,
57
+ width: Number,
58
+ popover: Boolean,
59
+ parent: Object
35
60
  },
36
61
  data() {
37
62
  return {
38
- active: ''
63
+ defaultActive: this.active,
64
+ show: false,
65
+ height: document.body.offsetHeight - 44
39
66
  };
40
67
  },
41
68
  computed: {},
42
- watch: {},
69
+ watch: {
70
+ popover() {
71
+ if (this.$el.offsetHeight > this.height) {
72
+ this.$el.style.height = this.height + 'px';
73
+ } else {
74
+ this.$el.style.height = '';
75
+ }
76
+ }
77
+ },
43
78
  created() {},
44
79
  mounted() {},
45
80
  methods: {
@@ -64,11 +99,26 @@ export default {
64
99
  return obj;
65
100
  },
66
101
  handleClick(res) {
67
- this.active = res.id;
68
- this.$emit('command', res, this.index);
102
+ this.defaultActive = res.id;
103
+ if (res.url) {
104
+ if (res.urlopenmode == 1) {
105
+ util.win.open(res.url);
106
+ return;
107
+ } else if (res.urlopenmode == 2) {
108
+ util.win.location.href = res.url;
109
+ return;
110
+ }
111
+ this.$emit('command', res);
112
+ }
113
+ },
114
+ handleEnter(res) {
115
+ this.$emit('menter', res);
116
+ },
117
+ handleLeave(res) {
118
+ this.$emit('mleave', res);
69
119
  },
70
- clearActive() {
71
- this.active = '';
120
+ handleOut(res) {
121
+ this.$emit('mout', res);
72
122
  }
73
123
  }
74
124
  };
@@ -1,49 +1,59 @@
1
1
  <template>
2
2
  <el-drawer
3
- class="es-msgs-box"
4
- custom-class="es-msgs-main"
3
+ class="es-simplicity-message"
4
+ modal-class="es-simplicity-message-modal"
5
5
  direction="rtl"
6
- size="200px"
7
- :modal="false"
6
+ size="648px"
8
7
  :withHeader="false"
9
8
  :visible.sync="show"
9
+ :modal-append-to-body="false"
10
10
  >
11
- <div class="es-msg-header">
12
- <span class="es-msg-title">消息提示</span>
13
- <span class="es-overlook" @click="handleIgnoreAll">全部忽略</span>
11
+ <div class="es-simplicity-message-header">
12
+ <span class="es-simplicity-message-title">消息提示</span>
13
+ <span class="es-simplicity-message-overlook" @click="handleIgnoreAll"
14
+ >全部忽略</span
15
+ >
14
16
  </div>
15
- <div class="es-msg-lists-box">
16
- <div class="es-msg-lists">
17
+ <div class="es-simplicity-message-lists-box">
18
+ <div class="es-simplicity-message-lists">
17
19
  <el-scrollbar class="es-scrollbar">
18
20
  <div v-infinite-scroll="getMsg" :infinite-scroll-disabled="disabled">
19
- <el-card
21
+ <div
20
22
  v-for="(item, index) in msgs"
21
23
  :key="item.id"
22
- class="es-msg-item"
24
+ class="es-simplicity-message-item"
23
25
  >
24
- <i
25
- class="el-icon-circle-close"
26
- title="忽略"
27
- @click="handleIgnore(item, index)"
28
- ></i>
29
- <div class="es-msg-item-title">{{ item.title }}</div>
26
+ <div class="es-simplicity-message-item-title">
27
+ {{ item.title }}
28
+ </div>
30
29
  <div>
31
- <span class="es-msg-item-time">{{ item.time }}</span>
30
+ <span class="es-simplicity-message-item-time">
31
+ {{ item.time }}
32
+ </span>
32
33
  <span
33
- class="es-overlook"
34
+ class="es-simplicity-message-handler"
34
35
  v-show="item.handlerUrl"
35
36
  @click="handleMessage(item, index)"
36
- >处理</span
37
37
  >
38
+ 处理
39
+ </span>
40
+ <span
41
+ class="es-simplicity-message-overlook"
42
+ @click="handleIgnore(item, index)"
43
+ >
44
+ 忽略
45
+ </span>
38
46
  </div>
39
- </el-card>
40
- <p class="es-msg-tips" v-if="loading">加载中...</p>
41
- <p class="es-msg-tips" v-if="noMore && count > 0">没有更多了</p>
47
+ </div>
48
+ <p class="es-simplicity-message-tips" v-if="loading">加载中...</p>
49
+ <p class="es-simplicity-message-tips" v-if="noMore && count > 0">
50
+ 没有更多了
51
+ </p>
42
52
  </div>
43
53
  </el-scrollbar>
44
54
  </div>
45
55
  </div>
46
- <div class="es-msg-total">当前共有{{ count }}条消息记录</div>
56
+ <div class="es-simplicity-message-total">共有 {{ count }} 条消息记录</div>
47
57
  <es-dialog
48
58
  title="处理"
49
59
  name="manage"
@@ -63,7 +73,7 @@ import {
63
73
  } from 'eoss-ui/src/config/api.js';
64
74
  import util from 'eoss-ui/src/utils/util';
65
75
  export default {
66
- name: 'message',
76
+ name: 'Message',
67
77
  provide() {
68
78
  return {
69
79
  deleteMessage: this.handleRemove
@@ -1,44 +1,53 @@
1
1
  <template>
2
2
  <transition name="el-drawer-fade" @after-enter="handleMouse(false)">
3
3
  <div
4
- class="es-notice-box"
5
- v-show="data.length"
4
+ class="es-simplicity-notice-box"
5
+ :class="{ 'es-in': msgs.length }"
6
+ v-show="msgs.length"
6
7
  @mouseover="handleMouse(true)"
7
8
  @mouseout="handleMouse(false)"
8
9
  >
9
- <div class="es-msgs-box" :class="{ 'es-in': data.length }">
10
- <div class="es-msg-header">
11
- <span class="es-notice-title">通知消息</span>
12
- </div>
13
- <div class="es-msg-lists-box">
14
- <div class="es-msg-lists">
15
- <el-scrollbar class="es-scrollbar">
16
- <el-card
17
- v-for="(item, index) in data"
18
- :key="item.id"
19
- class="es-msg-item"
20
- >
21
- <div class="es-msg-item-title">{{ item.title }}</div>
22
- <div>
23
- <span class="es-msg-item-time">{{ item.time }}</span>
24
- <span
25
- class="es-overlook"
26
- v-show="item.handlerUrl"
27
- @click="handleMessage(item, index)"
28
- >处理</span
29
- >
30
- </div>
31
- </el-card>
32
- </el-scrollbar>
33
- </div>
34
- </div>
10
+ <div class="es-simplicity-notice-header">
11
+ <span class="es-notice-title">通知消息</span>
12
+ </div>
13
+ <el-scrollbar
14
+ class="es-simplicity-notice-lists es-simplicity-message-lists"
15
+ >
35
16
  <div
36
- class="es-notice-footer"
37
- style="display:flex;justify-content: space-between;"
17
+ v-for="(item, index) in msgs"
18
+ :key="item.id"
19
+ class="es-simplicity-message-item"
38
20
  >
39
- <span @click="handleIgnoreAll">忽略全部</span
40
- ><span @click="afterEnter">我知道了</span>
21
+ <div class="es-simplicity-message-item-title">
22
+ {{ item.title }}
23
+ </div>
24
+ <div>
25
+ <span class="es-simplicity-message-item-time">
26
+ {{ item.time }}
27
+ </span>
28
+ <span
29
+ class="es-simplicity-message-handler"
30
+ v-show="item.handlerUrl"
31
+ @click="handleMessage(item, index)"
32
+ >
33
+ 处理
34
+ </span>
35
+ <span
36
+ class="es-simplicity-message-overlook"
37
+ @click="handleIgnore(item, index)"
38
+ >
39
+ 忽略
40
+ </span>
41
+ </div>
41
42
  </div>
43
+ </el-scrollbar>
44
+ <div class="es-notice-footer">
45
+ <span class="es-simplicity-message-overlook" @click="handleIgnoreAll"
46
+ >忽略全部</span
47
+ >
48
+ <span class="es-simplicity-message-handler" @click="afterEnter"
49
+ >我知道了</span
50
+ >
42
51
  </div>
43
52
  <es-dialog
44
53
  title="处理"
@@ -53,10 +62,10 @@
53
62
  </transition>
54
63
  </template>
55
64
  <script>
56
- import { ignoreAllSysMsg } from 'eoss-ui/src/config/api.js';
65
+ import { ignoreSysMsg, ignoreAllSysMsg } from 'eoss-ui/src/config/api.js';
57
66
  import util from 'eoss-ui/src/utils/util';
58
67
  export default {
59
- name: 'notice',
68
+ name: 'Notice',
60
69
  provide() {
61
70
  return {
62
71
  deleteNotice: this.handleRemove
@@ -73,12 +82,19 @@ export default {
73
82
  }
74
83
  },
75
84
  computed: {},
85
+ watch: {
86
+ data: {
87
+ immediate: true,
88
+ deep: true,
89
+ handler(val) {
90
+ this.msgs = val;
91
+ }
92
+ }
93
+ },
76
94
  data() {
77
95
  return {
78
96
  //加载数据
79
97
  loading: false,
80
- //消息页码
81
- pageNum: 1,
82
98
  //消息数据,
83
99
  msgs: [],
84
100
  //即时消息
@@ -98,19 +114,36 @@ export default {
98
114
  handleMouse(flag) {
99
115
  this.$emit('opened', flag);
100
116
  },
117
+ //忽略
118
+ handleIgnore(res, i) {
119
+ util
120
+ .ajax({
121
+ url: ignoreSysMsg,
122
+ params: {
123
+ id: res.id
124
+ }
125
+ })
126
+ .then((res) => {
127
+ if (res.rCode == 0) {
128
+ this.msgs.splice(i, 1);
129
+ } else {
130
+ let msg = res.msg || '系统错误,请联系管理员!';
131
+ this.$message.error(msg);
132
+ }
133
+ });
134
+ },
101
135
  //全部忽略
102
136
  handleIgnoreAll() {
103
137
  util
104
138
  .ajax({
105
139
  url: ignoreAllSysMsg
106
140
  })
107
- .then(res => {
108
- this.count = 0;
141
+ .then((res) => {
109
142
  this.msgs = [];
110
143
  this.$emit('ignore', { type: 'ignore', value: 'all' });
111
144
  this.$emit('opened', false);
112
145
  })
113
- .catch(err => {
146
+ .catch((err) => {
114
147
  if (err.message && err.message !== 'canceled') {
115
148
  this.$message.error(err.message);
116
149
  }
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <keep-alive>
3
+ <router-view :name="appCode" />
4
+ </keep-alive>
5
+ </template>
6
+
7
+ <script>
8
+ import util from 'eoss-ui/src/utils/util';
9
+ export default {
10
+ name: 'RouterPage',
11
+ components: {},
12
+ props: {
13
+ appCode: String,
14
+ path: String,
15
+ url: String,
16
+ query: {
17
+ type: Object,
18
+ default() {
19
+ return {};
20
+ }
21
+ },
22
+ show: Boolean
23
+ },
24
+ data() {
25
+ return {
26
+ params: {}
27
+ };
28
+ },
29
+ computed: {},
30
+ watch: {
31
+ show(val) {
32
+ if (val) {
33
+ this.jump();
34
+ }
35
+ }
36
+ },
37
+ created() {},
38
+ mounted() {
39
+ this.params = util.getParams({ url: this.url });
40
+ this.jump();
41
+ },
42
+ methods: {
43
+ jump() {
44
+ this.$router.push({
45
+ path: this.path,
46
+ query: { ...this.query, ...this.params }
47
+ });
48
+ }
49
+ }
50
+ };
51
+ </script>
52
+
53
+ <style lang="scss" scoped></style>
@@ -38,7 +38,7 @@
38
38
  <script>
39
39
  import util from 'eoss-ui/src/utils/util';
40
40
  export default {
41
- name: 'message',
41
+ name: 'Message',
42
42
  props: {
43
43
  visible: Boolean,
44
44
  //主题颜色选择颜色集合