eoss-ui 0.7.27 → 0.7.29

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 (283) hide show
  1. package/lib/button-group.js +35 -16
  2. package/lib/button.js +35 -16
  3. package/lib/calogin.js +268 -249
  4. package/lib/checkbox-group.js +35 -16
  5. package/lib/data-table-form.js +35 -16
  6. package/lib/data-table.js +47 -24
  7. package/lib/date-picker.js +35 -16
  8. package/lib/dialog.js +35 -16
  9. package/lib/eoss-ui.common.js +1777 -1427
  10. package/lib/flow-group.js +38 -19
  11. package/lib/flow-list.js +116 -97
  12. package/lib/flow.js +478 -411
  13. package/lib/form.js +35 -16
  14. package/lib/handle-user.js +35 -16
  15. package/lib/handler.js +35 -16
  16. package/lib/icon.js +35 -16
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +35 -16
  19. package/lib/input.js +35 -16
  20. package/lib/login.js +256 -126
  21. package/lib/main.js +742 -554
  22. package/lib/menu.js +0 -1
  23. package/lib/nav.js +35 -16
  24. package/lib/page.js +35 -16
  25. package/lib/pagination.js +35 -16
  26. package/lib/player.js +35 -16
  27. package/lib/qr-code.js +48 -29
  28. package/lib/radio-group.js +35 -16
  29. package/lib/retrial-auth.js +35 -16
  30. package/lib/select-ganged.js +35 -16
  31. package/lib/select.js +35 -16
  32. package/lib/selector-panel.js +35 -16
  33. package/lib/selector.js +35 -16
  34. package/lib/sizer.js +35 -16
  35. package/lib/steps.js +35 -16
  36. package/lib/switch.js +35 -16
  37. package/lib/table-form.js +35 -16
  38. package/lib/tabs.js +35 -16
  39. package/lib/tips.js +35 -16
  40. package/lib/tree-group.js +35 -16
  41. package/lib/tree.js +35 -16
  42. package/lib/upload.js +35 -16
  43. package/lib/utils/util.js +31 -12
  44. package/lib/wujie.js +35 -16
  45. package/lib/wxlogin.js +35 -16
  46. package/package.json +160 -160
  47. package/packages/.DS_Store +0 -0
  48. package/packages/button/index.js +5 -5
  49. package/packages/button/src/main.vue +418 -418
  50. package/packages/button-group/index.js +5 -5
  51. package/packages/button-group/src/main.vue +346 -346
  52. package/packages/calendar/index.js +5 -5
  53. package/packages/calogin/.DS_Store +0 -0
  54. package/packages/calogin/index.js +5 -5
  55. package/packages/calogin/src/main.vue +412 -412
  56. package/packages/calogin/src/plugin.js +915 -915
  57. package/packages/card/index.js +5 -5
  58. package/packages/card/src/main.vue +156 -156
  59. package/packages/cascader/index.js +5 -5
  60. package/packages/cascader/src/main.vue +168 -168
  61. package/packages/checkbox-group/index.js +5 -5
  62. package/packages/checkbox-group/src/main.vue +333 -333
  63. package/packages/clients/index.js +5 -5
  64. package/packages/clients/src/main.vue +151 -151
  65. package/packages/data-table/index.js +5 -5
  66. package/packages/data-table/src/children.vue +39 -39
  67. package/packages/data-table/src/column.vue +992 -988
  68. package/packages/data-table/src/main.vue +1831 -1831
  69. package/packages/data-table/src/sizer.vue +195 -195
  70. package/packages/data-table-form/index.js +5 -5
  71. package/packages/data-table-form/src/checkbox.vue +101 -101
  72. package/packages/data-table-form/src/colgroup.vue +17 -17
  73. package/packages/data-table-form/src/main.vue +181 -181
  74. package/packages/data-table-form/src/radio.vue +65 -65
  75. package/packages/data-table-form/src/table.vue +233 -233
  76. package/packages/data-table-form/src/tbody.vue +336 -336
  77. package/packages/data-table-form/src/thead.vue +68 -68
  78. package/packages/date-picker/.DS_Store +0 -0
  79. package/packages/date-picker/index.js +5 -5
  80. package/packages/date-picker/src/.DS_Store +0 -0
  81. package/packages/date-picker/src/main.vue +236 -236
  82. package/packages/dialog/index.js +5 -5
  83. package/packages/enable-drag/index.js +5 -5
  84. package/packages/enterprise/index.js +5 -5
  85. package/packages/enterprise/src/main.vue +66 -66
  86. package/packages/error-page/index.js +5 -5
  87. package/packages/error-page/src/main.vue +44 -44
  88. package/packages/flow/.DS_Store +0 -0
  89. package/packages/flow/index.js +5 -5
  90. package/packages/flow/src/.DS_Store +0 -0
  91. package/packages/flow/src/component/Circulate.vue +413 -413
  92. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  93. package/packages/flow/src/component/CustomPreset.vue +322 -322
  94. package/packages/flow/src/component/FileList.vue +97 -97
  95. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  96. package/packages/flow/src/component/Preset.vue +255 -255
  97. package/packages/flow/src/component/SendMsg.vue +242 -242
  98. package/packages/flow/src/component/TimeLimit.vue +190 -190
  99. package/packages/flow/src/component/taskUnionExamine.vue +755 -755
  100. package/packages/flow/src/form.vue +121 -121
  101. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  102. package/packages/flow/src/main.vue +3855 -3854
  103. package/packages/flow/src/processForm.vue +1365 -1363
  104. package/packages/flow/src/processReject.vue +309 -309
  105. package/packages/flow/src/reset.vue +941 -941
  106. package/packages/flow/src/startTaskRead.vue +691 -691
  107. package/packages/flow/src/supervise.vue +159 -159
  108. package/packages/flow/src/table.vue +58 -58
  109. package/packages/flow-group/index.js +5 -5
  110. package/packages/flow-group/src/main.vue +717 -717
  111. package/packages/flow-list/.DS_Store +0 -0
  112. package/packages/flow-list/index.js +5 -5
  113. package/packages/flow-list/src/main.vue +1787 -1787
  114. package/packages/form/.DS_Store +0 -0
  115. package/packages/form/index.js +5 -5
  116. package/packages/form/src/main.vue +3901 -3901
  117. package/packages/form/src/table.vue +1512 -1512
  118. package/packages/handle-user/index.js +5 -5
  119. package/packages/handle-user/src/main.vue +137 -137
  120. package/packages/handler/index.js +5 -5
  121. package/packages/handler/src/main.vue +496 -496
  122. package/packages/icon/index.js +5 -5
  123. package/packages/icon/src/main.vue +104 -104
  124. package/packages/icons/index.js +5 -5
  125. package/packages/icons/src/main.vue +81 -81
  126. package/packages/input/index.js +5 -5
  127. package/packages/input/src/main.vue +356 -356
  128. package/packages/input-number/index.js +5 -5
  129. package/packages/input-number/src/main.vue +106 -106
  130. package/packages/label/index.js +5 -5
  131. package/packages/label/src/main.vue +457 -457
  132. package/packages/layout/index.js +5 -5
  133. package/packages/layout/src/item.vue +152 -152
  134. package/packages/layout/src/main.vue +31 -31
  135. package/packages/login/.DS_Store +0 -0
  136. package/packages/login/index.js +5 -5
  137. package/packages/login/src/main.vue +2068 -2020
  138. package/packages/login/src/resetPassword.vue +557 -557
  139. package/packages/main/.DS_Store +0 -0
  140. package/packages/main/index.js +5 -5
  141. package/packages/main/src/.DS_Store +0 -0
  142. package/packages/main/src/default/index.vue +2 -2
  143. package/packages/main/src/default/message.vue +249 -249
  144. package/packages/main/src/default/notice.vue +157 -157
  145. package/packages/main/src/default/userinfo.vue +502 -502
  146. package/packages/main/src/main.vue +165 -69
  147. package/packages/main/src/public/online.vue +89 -89
  148. package/packages/main/src/public/search.vue +464 -464
  149. package/packages/main/src/public/settings.vue +221 -221
  150. package/packages/main/src/simplicity/apps.vue +388 -388
  151. package/packages/main/src/simplicity/avatar.vue +82 -82
  152. package/packages/main/src/simplicity/handler.vue +144 -263
  153. package/packages/main/src/simplicity/index.vue +2253 -2135
  154. package/packages/main/src/simplicity/lists.vue +84 -84
  155. package/packages/main/src/simplicity/menu-list.vue +135 -135
  156. package/packages/main/src/simplicity/message.vue +259 -259
  157. package/packages/main/src/simplicity/notice.vue +190 -190
  158. package/packages/main/src/simplicity/router-page.vue +45 -45
  159. package/packages/main/src/simplicity/sub-menu.vue +266 -264
  160. package/packages/main/src/simplicity/user.vue +259 -259
  161. package/packages/main/src/simplicity/userinfo.vue +398 -398
  162. package/packages/menu/.DS_Store +0 -0
  163. package/packages/menu/index.js +5 -5
  164. package/packages/menu/src/main.vue +595 -596
  165. package/packages/nav/index.js +5 -5
  166. package/packages/nav/src/main.vue +351 -351
  167. package/packages/notify/index.js +5 -5
  168. package/packages/notify/src/main.vue +538 -538
  169. package/packages/page/index.js +5 -5
  170. package/packages/page/src/main.vue +167 -167
  171. package/packages/pagination/index.js +5 -5
  172. package/packages/pagination/src/main.vue +96 -96
  173. package/packages/player/index.js +5 -5
  174. package/packages/player/src/main.vue +194 -194
  175. package/packages/qr-code/index.js +5 -5
  176. package/packages/qr-code/src/main.vue +170 -170
  177. package/packages/radio-group/index.js +6 -6
  178. package/packages/radio-group/src/main.vue +319 -319
  179. package/packages/retrial-auth/index.js +5 -5
  180. package/packages/retrial-auth/src/main.vue +280 -280
  181. package/packages/select/.DS_Store +0 -0
  182. package/packages/select/index.js +5 -5
  183. package/packages/select/src/main.vue +782 -782
  184. package/packages/select-ganged/index.js +5 -5
  185. package/packages/select-ganged/src/main.vue +724 -724
  186. package/packages/selector/.DS_Store +0 -0
  187. package/packages/selector/index.js +5 -5
  188. package/packages/selector/src/main.vue +761 -761
  189. package/packages/selector-panel/.DS_Store +0 -0
  190. package/packages/selector-panel/index.js +5 -5
  191. package/packages/selector-panel/src/main.vue +1027 -1027
  192. package/packages/selector-panel/src/selection.vue +170 -170
  193. package/packages/selector-panel/src/tree.vue +129 -129
  194. package/packages/sizer/index.js +5 -5
  195. package/packages/sizer/src/main.vue +254 -254
  196. package/packages/steps/index.js +5 -5
  197. package/packages/steps/src/main.vue +181 -181
  198. package/packages/switch/index.js +5 -5
  199. package/packages/switch/src/main.vue +170 -170
  200. package/packages/table-form/index.js +5 -5
  201. package/packages/tabs/index.js +5 -5
  202. package/packages/tabs/src/main.vue +788 -788
  203. package/packages/tabs-panel/index.js +5 -5
  204. package/packages/tabs-panel/src/main.vue +29 -29
  205. package/packages/theme-chalk/src/.DS_Store +0 -0
  206. package/packages/theme-chalk/src/base.scss +261 -261
  207. package/packages/theme-chalk/src/button-group.scss +176 -176
  208. package/packages/theme-chalk/src/button.scss +24 -24
  209. package/packages/theme-chalk/src/calendar.scss +113 -113
  210. package/packages/theme-chalk/src/card.scss +99 -99
  211. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  212. package/packages/theme-chalk/src/clients.scss +87 -87
  213. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  214. package/packages/theme-chalk/src/data-table.scss +293 -293
  215. package/packages/theme-chalk/src/date-picker.scss +7 -7
  216. package/packages/theme-chalk/src/dialog.scss +77 -77
  217. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  218. package/packages/theme-chalk/src/enterprise.scss +5 -5
  219. package/packages/theme-chalk/src/error-page.scss +18 -18
  220. package/packages/theme-chalk/src/flow-group.scss +110 -110
  221. package/packages/theme-chalk/src/flow-list.scss +39 -39
  222. package/packages/theme-chalk/src/flow.scss +351 -351
  223. package/packages/theme-chalk/src/form.scss +501 -501
  224. package/packages/theme-chalk/src/handle-user.scss +40 -40
  225. package/packages/theme-chalk/src/handler.scss +148 -148
  226. package/packages/theme-chalk/src/icon.scss +1817 -1817
  227. package/packages/theme-chalk/src/icons.scss +99 -99
  228. package/packages/theme-chalk/src/input.scss +9 -9
  229. package/packages/theme-chalk/src/label.scss +24 -24
  230. package/packages/theme-chalk/src/layout.scss +46 -46
  231. package/packages/theme-chalk/src/login.scss +987 -987
  232. package/packages/theme-chalk/src/main.scss +663 -663
  233. package/packages/theme-chalk/src/menu.scss +224 -224
  234. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  235. package/packages/theme-chalk/src/nav.scss +111 -111
  236. package/packages/theme-chalk/src/page.scss +3 -3
  237. package/packages/theme-chalk/src/pagination.scss +29 -29
  238. package/packages/theme-chalk/src/player.scss +9 -9
  239. package/packages/theme-chalk/src/qr-code.scss +17 -17
  240. package/packages/theme-chalk/src/radio-group.scss +9 -9
  241. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  242. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  243. package/packages/theme-chalk/src/select.scss +8 -8
  244. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  245. package/packages/theme-chalk/src/selector.scss +92 -92
  246. package/packages/theme-chalk/src/simplicity.scss +1370 -1370
  247. package/packages/theme-chalk/src/sizer.scss +36 -36
  248. package/packages/theme-chalk/src/steps.scss +88 -88
  249. package/packages/theme-chalk/src/switch.scss +3 -3
  250. package/packages/theme-chalk/src/table-form.scss +1 -1
  251. package/packages/theme-chalk/src/tabs.scss +87 -87
  252. package/packages/theme-chalk/src/tips.scss +7 -7
  253. package/packages/theme-chalk/src/toolbar.scss +179 -179
  254. package/packages/theme-chalk/src/tree-group.scss +72 -72
  255. package/packages/theme-chalk/src/tree.scss +165 -165
  256. package/packages/theme-chalk/src/upload.scss +172 -172
  257. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  258. package/packages/tips/index.js +5 -5
  259. package/packages/tips/src/main.vue +141 -141
  260. package/packages/toolbar/index.js +5 -5
  261. package/packages/toolbar/src/main.vue +430 -430
  262. package/packages/tree/index.js +5 -5
  263. package/packages/tree-group/index.js +5 -5
  264. package/packages/upload/.DS_Store +0 -0
  265. package/packages/upload/index.js +5 -5
  266. package/packages/upload/src/main.vue +1343 -1343
  267. package/packages/upload/src/picture.js +15 -15
  268. package/packages/wujie/index.js +5 -5
  269. package/packages/wujie/src/main.vue +145 -145
  270. package/packages/wxlogin/index.js +5 -5
  271. package/packages/wxlogin/src/main.vue +128 -128
  272. package/src/.DS_Store +0 -0
  273. package/src/config/api.js +315 -315
  274. package/src/config/image.js +2 -2
  275. package/src/index.js +163 -163
  276. package/src/utils/.DS_Store +0 -0
  277. package/src/utils/bus.js +3 -3
  278. package/src/utils/date-util.js +312 -312
  279. package/src/utils/http.js +50 -50
  280. package/src/utils/rules.js +18 -18
  281. package/src/utils/store.js +21 -21
  282. package/src/utils/util.js +31 -12
  283. package/src/utils/webSocket.js +107 -107
Binary file
@@ -1,5 +1,5 @@
1
- import EsMain from './src/main';
2
-
3
- EsMain.install = Vue => Vue.component(EsMain.name, EsMain);
4
-
5
- export default EsMain;
1
+ import EsMain from './src/main';
2
+
3
+ EsMain.install = Vue => Vue.component(EsMain.name, EsMain);
4
+
5
+ export default EsMain;
Binary file
@@ -952,7 +952,7 @@ export default {
952
952
  document.title = results[i];
953
953
  }
954
954
  if (i === 'loginPage' && results[i]) {
955
- util.setStorage('loginPage', results[i]);
955
+ util.setStorage({ key: 'loginPage', value: results[i] });
956
956
  }
957
957
  if (i === 'sysLogoIco' && results[i]) {
958
958
  localStorage.setItem('sysLogoIco', results[i]);
@@ -986,7 +986,7 @@ export default {
986
986
  } catch (error) {}
987
987
  }
988
988
  if (results[i].loginPage) {
989
- util.setStorage('loginPage', results[i].loginPage);
989
+ util.setStorage({ key: 'loginPage', value: results[i].loginPage });
990
990
  }
991
991
  if (results[i].portalPage || results[i].portalpage) {
992
992
  this.doorIndex = results[i].portalPage || results[i].portalpage;
@@ -1,249 +1,249 @@
1
- <template>
2
- <el-drawer
3
- class="es-msgs-box"
4
- custom-class="es-msgs-main"
5
- direction="rtl"
6
- size="200px"
7
- :modal="false"
8
- :withHeader="false"
9
- :visible.sync="show"
10
- >
11
- <div class="es-msg-header">
12
- <span class="es-msg-title">消息提示</span>
13
- <span class="es-overlook" @click="handleIgnoreAll">全部忽略</span>
14
- </div>
15
- <div class="es-msg-lists-box">
16
- <div class="es-msg-lists">
17
- <el-scrollbar class="es-scrollbar">
18
- <div v-infinite-scroll="getMsg" :infinite-scroll-disabled="disabled">
19
- <el-card
20
- v-for="(item, index) in msgs"
21
- :key="item.id"
22
- class="es-msg-item"
23
- >
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>
30
- <div>
31
- <span class="es-msg-item-time">{{ item.time }}</span>
32
- <span
33
- class="es-overlook"
34
- v-show="item.handlerUrl"
35
- @click="handleMessage(item, index)"
36
- >处理</span
37
- >
38
- </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>
42
- </div>
43
- </el-scrollbar>
44
- </div>
45
- </div>
46
- <div class="es-msg-total">当前共有{{ count }}条消息记录</div>
47
- <es-dialog
48
- title="处理"
49
- name="manage"
50
- width="90%"
51
- height="80%"
52
- :visible.sync="dialog.show"
53
- :url="dialog.url"
54
- :param="dialog.params"
55
- @close="handleClose"
56
- ></es-dialog>
57
- </el-drawer>
58
- </template>
59
- <script>
60
- import {
61
- sysMsgPage,
62
- ignoreSysMsg,
63
- ignoreAllSysMsg
64
- } from 'eoss-ui/src/config/api.js';
65
- import util from 'eoss-ui/src/utils/util';
66
- export default {
67
- name: 'message',
68
- provide() {
69
- return {
70
- deleteMessage: this.handleRemove
71
- };
72
- },
73
- props: {
74
- visible: Boolean,
75
- total: {
76
- type: Number,
77
- default: 0
78
- },
79
- winopen: Boolean
80
- },
81
- computed: {
82
- show: {
83
- get() {
84
- return this.visible;
85
- },
86
- set(val) {
87
- this.$emit('update:visible', val);
88
- }
89
- },
90
- count: {
91
- get() {
92
- return this.total;
93
- },
94
- set(val) {
95
- this.$emit('update:total', val);
96
- }
97
- },
98
- noMore() {
99
- return this.msgs.length >= this.count;
100
- },
101
- disabled() {
102
- return this.loading || this.noMore;
103
- }
104
- },
105
- watch: {
106
- total(val, old) {
107
- if (parseInt(val, 10) < parseInt(old, 10) && this.index !== null) {
108
- this.handleRemove();
109
- }
110
- }
111
- },
112
- data() {
113
- return {
114
- //加载数据
115
- loading: false,
116
- //消息页码
117
- pageNum: 1,
118
- pageSize: 20,
119
- pageCount: 1,
120
- //消息数据,
121
- msgs: [],
122
- dialog: {
123
- params: {},
124
- url: '',
125
- show: false
126
- },
127
- index: null,
128
- deleteId: null
129
- };
130
- },
131
- mounted() {
132
- util.win.deleteMsg = this.handleRemove;
133
- },
134
- methods: {
135
- //获取消息列表
136
- getMsg(reload) {
137
- if (this.pageNum <= this.pageCount) {
138
- this.loading = true;
139
- util
140
- .ajax({
141
- url: sysMsgPage,
142
- params: {
143
- pageNum: reload ? 1 : this.pageNum,
144
- pageSize: this.pageSize
145
- }
146
- })
147
- .then((res) => {
148
- if (res && res.rCode === 0) {
149
- this.pageCount = res.results.pageCount;
150
- this.loading = false;
151
- if (reload || this.pageNum == 1) {
152
- this.msgs = JSON.parse(JSON.stringify(res.results.records));
153
- } else {
154
- this.msgs = this.msgs.concat(res.results.records);
155
- }
156
- this.pageNum++;
157
- } else {
158
- let msg = res.msg || '系统错误,请联系管理员!';
159
- this.$message.error(msg);
160
- }
161
- })
162
- .catch((err) => {
163
- this.loading = false;
164
- if (err.message && err.message !== 'canceled') {
165
- this.$message.error(err.message);
166
- }
167
- });
168
- }
169
- },
170
- //忽略
171
- handleIgnore(res, i) {
172
- util
173
- .ajax({
174
- url: ignoreSysMsg,
175
- params: {
176
- id: res.id
177
- }
178
- })
179
- .then((res) => {
180
- if (res.rCode == 0) {
181
- this.count -= 1;
182
- this.msgs.splice(i, 1);
183
- } else {
184
- let msg = res.msg || '系统错误,请联系管理员!';
185
- this.$message.error(msg);
186
- }
187
- });
188
- },
189
- //全部忽略
190
- handleIgnoreAll() {
191
- util
192
- .ajax({
193
- url: ignoreAllSysMsg
194
- })
195
- .then((res) => {
196
- this.count = 0;
197
- this.msgs = [];
198
- this.$emit('ignore', { type: 'ignore', value: 'all' });
199
- })
200
- .catch((err) => {
201
- if (err.message && err.message !== 'canceled') {
202
- this.$message.error(err.message);
203
- }
204
- });
205
- },
206
- //处理消息
207
- handleMessage(item, index) {
208
- this.count -= 1;
209
- this.msgs.splice(index, 1);
210
- if (this.winopen) {
211
- const mywin = util.win.open(item.handlerUrl);
212
- if (mywin) {
213
- let times = setInterval(() => {
214
- if (mywin.closed) {
215
- clearInterval(times);
216
- this.$parent.$emit('bus-emit', 'waitdone');
217
- }
218
- }, 1000);
219
- }
220
- } else {
221
- this.dialog = {
222
- show: true,
223
- url: item.handlerUrl,
224
- data: {
225
- id: item.id,
226
- pendingId: item.pendingId,
227
- userId: item.userId
228
- }
229
- };
230
- this.index = index;
231
- }
232
- },
233
- handleRemove(id) {
234
- if (this.index !== null) {
235
- this.count -= 1;
236
- this.msgs.splice(this.index, 1);
237
- this.index = null;
238
- }
239
- if (id) {
240
- this.$emit('handle', id);
241
- }
242
- this.dialog.show = false;
243
- },
244
- handleClose() {
245
- this.$parent.$emit('bus-emit', 'waitdone');
246
- }
247
- }
248
- };
249
- </script>
1
+ <template>
2
+ <el-drawer
3
+ class="es-msgs-box"
4
+ custom-class="es-msgs-main"
5
+ direction="rtl"
6
+ size="200px"
7
+ :modal="false"
8
+ :withHeader="false"
9
+ :visible.sync="show"
10
+ >
11
+ <div class="es-msg-header">
12
+ <span class="es-msg-title">消息提示</span>
13
+ <span class="es-overlook" @click="handleIgnoreAll">全部忽略</span>
14
+ </div>
15
+ <div class="es-msg-lists-box">
16
+ <div class="es-msg-lists">
17
+ <el-scrollbar class="es-scrollbar">
18
+ <div v-infinite-scroll="getMsg" :infinite-scroll-disabled="disabled">
19
+ <el-card
20
+ v-for="(item, index) in msgs"
21
+ :key="item.id"
22
+ class="es-msg-item"
23
+ >
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>
30
+ <div>
31
+ <span class="es-msg-item-time">{{ item.time }}</span>
32
+ <span
33
+ class="es-overlook"
34
+ v-show="item.handlerUrl"
35
+ @click="handleMessage(item, index)"
36
+ >处理</span
37
+ >
38
+ </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>
42
+ </div>
43
+ </el-scrollbar>
44
+ </div>
45
+ </div>
46
+ <div class="es-msg-total">当前共有{{ count }}条消息记录</div>
47
+ <es-dialog
48
+ title="处理"
49
+ name="manage"
50
+ width="90%"
51
+ height="80%"
52
+ :visible.sync="dialog.show"
53
+ :url="dialog.url"
54
+ :param="dialog.params"
55
+ @close="handleClose"
56
+ ></es-dialog>
57
+ </el-drawer>
58
+ </template>
59
+ <script>
60
+ import {
61
+ sysMsgPage,
62
+ ignoreSysMsg,
63
+ ignoreAllSysMsg
64
+ } from 'eoss-ui/src/config/api.js';
65
+ import util from 'eoss-ui/src/utils/util';
66
+ export default {
67
+ name: 'message',
68
+ provide() {
69
+ return {
70
+ deleteMessage: this.handleRemove
71
+ };
72
+ },
73
+ props: {
74
+ visible: Boolean,
75
+ total: {
76
+ type: Number,
77
+ default: 0
78
+ },
79
+ winopen: Boolean
80
+ },
81
+ computed: {
82
+ show: {
83
+ get() {
84
+ return this.visible;
85
+ },
86
+ set(val) {
87
+ this.$emit('update:visible', val);
88
+ }
89
+ },
90
+ count: {
91
+ get() {
92
+ return this.total;
93
+ },
94
+ set(val) {
95
+ this.$emit('update:total', val);
96
+ }
97
+ },
98
+ noMore() {
99
+ return this.msgs.length >= this.count;
100
+ },
101
+ disabled() {
102
+ return this.loading || this.noMore;
103
+ }
104
+ },
105
+ watch: {
106
+ total(val, old) {
107
+ if (parseInt(val, 10) < parseInt(old, 10) && this.index !== null) {
108
+ this.handleRemove();
109
+ }
110
+ }
111
+ },
112
+ data() {
113
+ return {
114
+ //加载数据
115
+ loading: false,
116
+ //消息页码
117
+ pageNum: 1,
118
+ pageSize: 20,
119
+ pageCount: 1,
120
+ //消息数据,
121
+ msgs: [],
122
+ dialog: {
123
+ params: {},
124
+ url: '',
125
+ show: false
126
+ },
127
+ index: null,
128
+ deleteId: null
129
+ };
130
+ },
131
+ mounted() {
132
+ util.win.deleteMsg = this.handleRemove;
133
+ },
134
+ methods: {
135
+ //获取消息列表
136
+ getMsg(reload) {
137
+ if (this.pageNum <= this.pageCount) {
138
+ this.loading = true;
139
+ util
140
+ .ajax({
141
+ url: sysMsgPage,
142
+ params: {
143
+ pageNum: reload ? 1 : this.pageNum,
144
+ pageSize: this.pageSize
145
+ }
146
+ })
147
+ .then((res) => {
148
+ if (res && res.rCode === 0) {
149
+ this.pageCount = res.results.pageCount;
150
+ this.loading = false;
151
+ if (reload || this.pageNum == 1) {
152
+ this.msgs = JSON.parse(JSON.stringify(res.results.records));
153
+ } else {
154
+ this.msgs = this.msgs.concat(res.results.records);
155
+ }
156
+ this.pageNum++;
157
+ } else {
158
+ let msg = res.msg || '系统错误,请联系管理员!';
159
+ this.$message.error(msg);
160
+ }
161
+ })
162
+ .catch((err) => {
163
+ this.loading = false;
164
+ if (err.message && err.message !== 'canceled') {
165
+ this.$message.error(err.message);
166
+ }
167
+ });
168
+ }
169
+ },
170
+ //忽略
171
+ handleIgnore(res, i) {
172
+ util
173
+ .ajax({
174
+ url: ignoreSysMsg,
175
+ params: {
176
+ id: res.id
177
+ }
178
+ })
179
+ .then((res) => {
180
+ if (res.rCode == 0) {
181
+ this.count -= 1;
182
+ this.msgs.splice(i, 1);
183
+ } else {
184
+ let msg = res.msg || '系统错误,请联系管理员!';
185
+ this.$message.error(msg);
186
+ }
187
+ });
188
+ },
189
+ //全部忽略
190
+ handleIgnoreAll() {
191
+ util
192
+ .ajax({
193
+ url: ignoreAllSysMsg
194
+ })
195
+ .then((res) => {
196
+ this.count = 0;
197
+ this.msgs = [];
198
+ this.$emit('ignore', { type: 'ignore', value: 'all' });
199
+ })
200
+ .catch((err) => {
201
+ if (err.message && err.message !== 'canceled') {
202
+ this.$message.error(err.message);
203
+ }
204
+ });
205
+ },
206
+ //处理消息
207
+ handleMessage(item, index) {
208
+ this.count -= 1;
209
+ this.msgs.splice(index, 1);
210
+ if (this.winopen) {
211
+ const mywin = util.win.open(item.handlerUrl);
212
+ if (mywin) {
213
+ let times = setInterval(() => {
214
+ if (mywin.closed) {
215
+ clearInterval(times);
216
+ this.$parent.$emit('bus-emit', 'waitdone');
217
+ }
218
+ }, 1000);
219
+ }
220
+ } else {
221
+ this.dialog = {
222
+ show: true,
223
+ url: item.handlerUrl,
224
+ data: {
225
+ id: item.id,
226
+ pendingId: item.pendingId,
227
+ userId: item.userId
228
+ }
229
+ };
230
+ this.index = index;
231
+ }
232
+ },
233
+ handleRemove(id) {
234
+ if (this.index !== null) {
235
+ this.count -= 1;
236
+ this.msgs.splice(this.index, 1);
237
+ this.index = null;
238
+ }
239
+ if (id) {
240
+ this.$emit('handle', id);
241
+ }
242
+ this.dialog.show = false;
243
+ },
244
+ handleClose() {
245
+ this.$parent.$emit('bus-emit', 'waitdone');
246
+ }
247
+ }
248
+ };
249
+ </script>