n20-common-lib 1.2.41 → 1.2.42

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 (187) hide show
  1. package/README.md +2 -2
  2. package/package.json +88 -88
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -26
  12. package/src/assets/css/cl-expandable.scss +24 -24
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +612 -612
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +92 -92
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +128 -128
  29. package/src/assets/css/cl-secondary-tab.scss +53 -53
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +54 -54
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -173
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -27
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -726
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/realUrl.js +12 -12
  51. package/src/components/Anchor/AnchorItem.vue +29 -29
  52. package/src/components/Anchor/index.vue +185 -185
  53. package/src/components/ApprovalButtons/index.vue +233 -233
  54. package/src/components/ApprovalCard/index.vue +128 -128
  55. package/src/components/ApprovalRecord/approvalImg.vue +44 -44
  56. package/src/components/ApprovalRecord/flowDialog.vue +45 -45
  57. package/src/components/ApprovalRecord/index.vue +59 -59
  58. package/src/components/Button/button-group.vue +150 -150
  59. package/src/components/Button/icon-group-button.vue +61 -61
  60. package/src/components/Button/index.vue +56 -56
  61. package/src/components/CascaderArea/index.vue +103 -103
  62. package/src/components/ContentLoading/index.vue +41 -41
  63. package/src/components/ContentNull/index.vue +19 -19
  64. package/src/components/DatePicker/index.vue +27 -27
  65. package/src/components/DatePicker/por.vue +169 -169
  66. package/src/components/Dialog/index.vue +26 -26
  67. package/src/components/Dialog/indexO.vue +116 -116
  68. package/src/components/DragList/index.vue +75 -75
  69. package/src/components/Empty/img/abnormal.svg +108 -108
  70. package/src/components/Empty/img/dispose.svg +71 -71
  71. package/src/components/Empty/img/empty.svg +57 -57
  72. package/src/components/Empty/img/general.svg +58 -58
  73. package/src/components/Empty/img/lock.svg +57 -57
  74. package/src/components/Empty/img/network.svg +59 -59
  75. package/src/components/Empty/img/relevant.svg +68 -68
  76. package/src/components/Empty/img/search.svg +72 -72
  77. package/src/components/Empty/index.vue +92 -92
  78. package/src/components/Expandable/index.vue +49 -49
  79. package/src/components/Expandable/main.vue +52 -52
  80. package/src/components/FileExportAsync/index.vue +178 -178
  81. package/src/components/FileUploadTable/index.vue +484 -484
  82. package/src/components/Filters/index.vue +371 -371
  83. package/src/components/Filters/indexO.vue +104 -104
  84. package/src/components/FlowStep/index.vue +68 -68
  85. package/src/components/FooterBox/index.vue +21 -21
  86. package/src/components/GeneralCard/index.vue +15 -15
  87. package/src/components/InputNumber/index.vue +169 -169
  88. package/src/components/InputNumber/numberRange.vue +47 -47
  89. package/src/components/InputSearch/index.vue +75 -75
  90. package/src/components/Layout/AsideNav/index.vue +120 -119
  91. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  92. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  93. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  94. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  95. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  96. package/src/components/Layout/SubContent/index.vue +127 -127
  97. package/src/components/Layout/TabsNav/index.vue +170 -170
  98. package/src/components/Layout/index.vue +518 -518
  99. package/src/components/Layout/utils.js +12 -12
  100. package/src/components/LoginTemporary/form.vue +570 -570
  101. package/src/components/LoginTemporary/index.vue +139 -139
  102. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  103. package/src/components/MicroApp/index.js +67 -67
  104. package/src/components/MicroFrame/index.vue +95 -95
  105. package/src/components/MoreTab/index.vue +232 -232
  106. package/src/components/NavMenu/index.vue +60 -60
  107. package/src/components/PageLayout/page.vue +15 -15
  108. package/src/components/Pagination/index.vue +165 -165
  109. package/src/components/SecondaryTab/index.vue +58 -58
  110. package/src/components/SelectLazy/index.vue +75 -75
  111. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  112. package/src/components/SelectTree/index.vue +205 -205
  113. package/src/components/ShowColumn/index.vue +213 -213
  114. package/src/components/Sifting/index.vue +99 -99
  115. package/src/components/Statis/index.vue +97 -97
  116. package/src/components/Statis/statisItem.vue +54 -54
  117. package/src/components/Statis/statisPopover.vue +55 -55
  118. package/src/components/Step/index.vue +38 -38
  119. package/src/components/Suspend/index.vue +72 -72
  120. package/src/components/Table/index.vue +209 -209
  121. package/src/components/Table/indexO.vue +149 -149
  122. package/src/components/Task/index.vue +26 -26
  123. package/src/components/TertiaryTab/index.vue +63 -63
  124. package/src/components/TimePicker/index.vue +28 -28
  125. package/src/components/Upload/index.vue +242 -242
  126. package/src/components/WornPagination/index.vue +73 -73
  127. package/src/directives/VClickOutside/index.js +19 -19
  128. package/src/directives/VHas/index.js +58 -58
  129. package/src/directives/VMove/index.js +42 -42
  130. package/src/directives/VTitle/index.js +69 -69
  131. package/src/directives/VTitle/tooltip.vue +21 -21
  132. package/src/index.js +232 -232
  133. package/src/plugins/CompatibleOld/index.js +57 -57
  134. package/src/plugins/Print/index.js +4 -4
  135. package/src/plugins/Print/print-js/.babelrc +12 -12
  136. package/src/plugins/Print/print-js/LICENSE +21 -21
  137. package/src/plugins/Print/print-js/README.md +98 -98
  138. package/src/plugins/Print/print-js/dist/print.css +96 -96
  139. package/src/plugins/Print/print-js/dist/print.js +990 -990
  140. package/src/plugins/Print/print-js/package.json +60 -60
  141. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  142. package/src/plugins/Print/print-js/src/index.js +10 -10
  143. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  144. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  145. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  146. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  147. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  148. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  149. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  150. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  151. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  152. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  153. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  154. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  155. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  156. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  157. package/src/plugins/Print/print.js +2 -2
  158. package/src/plugins/Print/print.scss +1 -1
  159. package/src/plugins/SetMenuTree/index.vue +41 -41
  160. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  161. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  162. package/src/plugins/SetMenuTree/utils.js +74 -74
  163. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  164. package/src/plugins/Sign/index.js +65 -65
  165. package/src/plugins/Sign/sign.js +1 -1
  166. package/src/plugins/setTabsForSub.js +2 -2
  167. package/src/utils/auth.js +53 -53
  168. package/src/utils/axios.js +203 -203
  169. package/src/utils/downloadBlob.js +19 -19
  170. package/src/utils/forEachs.js +16 -16
  171. package/src/utils/getScrollContainer.js +43 -43
  172. package/src/utils/i18n/cn2hk.json +1270 -1270
  173. package/src/utils/i18n/index.js +50 -50
  174. package/src/utils/list2tree.js +36 -36
  175. package/src/utils/msgboxPor.js +26 -26
  176. package/src/utils/print.js +161 -161
  177. package/src/utils/relaNo.js +72 -72
  178. package/src/utils/repairElementUI.js +95 -66
  179. package/src/utils/urlToGo.js +82 -82
  180. package/style/css/normalize.scss +726 -726
  181. package/style/index.css +3 -3
  182. package/style/pageDemo/demo-1.vue +131 -131
  183. package/style/pageDemo/demo-2.vue +35 -35
  184. package/style/pageDemo/demo-3.vue +22 -22
  185. package/style/pageDemo/seeCode.js +20 -20
  186. package/style/server-config.jsonc +606 -607
  187. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +0 -185
@@ -1,316 +1,316 @@
1
- <template>
2
- <el-tabs :key="showKey" v-model="tabAc" stretch class="header-notice-tabs">
3
- <el-tab-pane name="notice">
4
- <el-badge slot="label" :hidden="noticeNum === 0" :value="noticeNum">
5
- 消息中心
6
- </el-badge>
7
-
8
- <div v-loading="nLd" class="notice-list p-b-s">
9
- <div
10
- v-for="item in noticeList"
11
- :key="item.id"
12
- class="flex-box flex-v m-b-ss"
13
- :class="{
14
- 'notice-item': item.processingLinkkUrl,
15
- 'unread-notice': item.readState === '0'
16
- }"
17
- @click="seeDetails(item)"
18
- >
19
- <span class="el-icon-bell"></span>
20
- <span v-title="item.content" class="m-r-auto">{{
21
- item | ctFilter
22
- }}</span>
23
- <span>{{ item.createTime }}</span>
24
- </div>
25
- <emptyC
26
- v-if="!nLd && !noticeList.length"
27
- type="empty"
28
- :height="160"
29
- :width="160"
30
- >
31
- <div slot="content">暂无消息</div>
32
- </emptyC>
33
- </div>
34
- <div class="flex-box bd-t flex-v">
35
- <el-button class="flex-item" type="text" @click="readAll"
36
- >一键已读</el-button
37
- >
38
- <span class="bd-l p-t"></span>
39
- <el-button class="flex-item" type="text" @click="queryMore"
40
- >更多</el-button
41
- >
42
- </div>
43
- </el-tab-pane>
44
- <el-tab-pane name="affiche">
45
- <el-badge slot="label" :hidden="afficheNum === 0" :value="afficheNum">
46
- 系统公告
47
- </el-badge>
48
-
49
- <div v-loading="aLd" class="notice-list p-b-s">
50
- <div
51
- v-for="item in afficheList"
52
- :key="item.ntId"
53
- :class="[
54
- 'flex-box flex-v m-b-ss notice-item',
55
- item.readStatus == 0 ? 'noread' : 'read'
56
- ]"
57
- @click="seeDetailsAffiche(item)"
58
- >
59
- <span class="el-icon-chat-dot-square m-r-s"></span>
60
- <span class="m-r-auto">{{ item.title }}</span>
61
- <span>{{ item.createDate }}</span>
62
- </div>
63
- <emptyC
64
- v-if="!aLd && !afficheList.length"
65
- type="empty"
66
- :height="160"
67
- :width="160"
68
- >
69
- <div slot="content">暂无系统公告</div>
70
- </emptyC>
71
- </div>
72
- <div class="flex-box bd-t flex-v">
73
- <el-button class="flex-item" type="text" @click="readAllAffiche"
74
- >一键已读</el-button
75
- >
76
- <span class="bd-l p-t"></span>
77
- <el-button class="flex-item" type="text" @click="queryMoreAffiche"
78
- >更多</el-button
79
- >
80
- </div>
81
- </el-tab-pane>
82
- </el-tabs>
83
- </template>
84
-
85
- <script>
86
- import axios from '../../../utils/axios'
87
- import emptyC from '../../Empty/index.vue'
88
- export default {
89
- components: {
90
- emptyC
91
- },
92
- filters: {
93
- ctFilter(item) {
94
- let msgT = ''
95
- switch (item.messageType) {
96
- case '0':
97
- msgT = '业务提醒'
98
- break
99
- case '1':
100
- msgT = '异常提醒'
101
- break
102
-
103
- default:
104
- msgT = '其他提醒'
105
- break
106
- }
107
- return `【${msgT}】${item.title}`
108
- }
109
- },
110
- props: {
111
- num: {
112
- type: Number,
113
- default: 0
114
- }
115
- },
116
- data() {
117
- return {
118
- showKey: 0,
119
- tabAc: 'notice',
120
- username: sessionStorage.getItem('userNo'),
121
- nLd: false,
122
- aLd: false,
123
- noticeNum: 0,
124
- afficheNum: 0,
125
- noticeList: [],
126
- noticeTotal: 0,
127
- afficheList: [],
128
- afficheTotal: 0
129
- }
130
- },
131
- computed: {
132
- numC: {
133
- get() {
134
- return this.num
135
- },
136
- set(n) {
137
- this.$emit('update:num', n)
138
- }
139
- }
140
- },
141
- created() {
142
- clearTimeout(this.getNNumTimeOut)
143
- this.getNNumTimeOut = setInterval(this.getNNum, 1000 * 60 * 2)
144
-
145
- this.getNNum()
146
- },
147
- methods: {
148
- show() {
149
- this.showKey = this.showKey + 1
150
-
151
- this.getMsgList()
152
- this.getAfficheList()
153
- },
154
- getNNum() {
155
- Promise.all([
156
- axios.get(
157
- '/bems/wkb/messageCenter/getUnReadTotal/' + this.username,
158
- null,
159
- { loading: false, noMsg: true }
160
- ),
161
- axios.get('/bems/1.0/notice/notReadCount', null, {
162
- loading: false,
163
- noMsg: true
164
- })
165
- ]).then(([res_1, res_2]) => {
166
- this.noticeNum = res_1.data.data
167
- this.afficheNum = res_2.data
168
-
169
- this.numC = this.noticeNum + this.afficheNum
170
- })
171
- },
172
- getMsgList() {
173
- this.nLd = true
174
- axios
175
- .post(
176
- '/bems/wkb/messageCenter/getListForPage',
177
- {
178
- data: {
179
- userNo: this.username
180
- },
181
- descs: ['create_time'],
182
- readState: '0', // 请求未读消息不生效
183
- curentPage: 1,
184
- pageSize: 10
185
- },
186
- {
187
- loading: () => {
188
- this.nLd = false
189
- },
190
- noMsg: true
191
- }
192
- )
193
- .then((res) => {
194
- this.noticeList = res.records || []
195
- this.noticeTotal = res.total
196
- })
197
- },
198
- getAfficheList() {
199
- this.aLd = true
200
- axios
201
- .get(
202
- '/bems/1.0/notice',
203
- {
204
- userId: this.username
205
- // readStatus: '0'
206
- },
207
- {
208
- loading: () => {
209
- this.aLd = false
210
- },
211
- noMsg: true
212
- }
213
- )
214
- .then((res) => {
215
- this.afficheList = res.data || []
216
- this.afficheTotal = res.total
217
- })
218
- },
219
- seeDetails(item) {
220
- if (item.processingLinkkUrl) {
221
- let url = '/' + item.processingLinkkUrl
222
- url = url.replace('//', '/')
223
-
224
- let _fromNo = Date.now()
225
- sessionStorage.setItem(_fromNo, location.href)
226
-
227
- this.$router.push({
228
- path: url,
229
- query: {
230
- _fromNo
231
- }
232
- })
233
- }
234
- if (item.readState === '0') {
235
- this.$axios
236
- .put(
237
- `/bems/wkb/messageCenter/batchUpdate`,
238
- { ids: [item.id], type: '1' },
239
- { loading: false, noMsg: true }
240
- )
241
- .then(() => {
242
- item.readState = '1'
243
- this.noticeNum = this.noticeNum - 1
244
- this.numC = this.numC - 1
245
- })
246
- }
247
- },
248
- seeDetailsAffiche(item) {
249
- if (this.$route.path === '/notice/views') {
250
- this.$router.push('/loading')
251
- setTimeout(() => {
252
- this.$router.push({
253
- path: `/notice/views`,
254
- query: { ntId: item.ntId, status: '1' }
255
- })
256
- }, 500)
257
- } else {
258
- this.$router.push({
259
- path: `/notice/views`,
260
- query: { ntId: item.ntId, status: '1' }
261
- })
262
- }
263
- },
264
- readAll() {
265
- this.$msgboxPor({
266
- title: '一键已读',
267
- message: '确定要把所有未读消息标注为已读吗?',
268
- type: 'warning'
269
- }).then(() => {
270
- axios
271
- .put(
272
- '/bems/wkb/messageCenter/updateReadStateByUserNo/' + this.username,
273
- null,
274
- null,
275
- { noMsg: true }
276
- )
277
- .then(({ msg = '' }) => {
278
- this.$message({
279
- message: '消息一键已读成功 ' + msg,
280
- type: 'success'
281
- })
282
- this.getNNum()
283
- this.getMsgList()
284
- })
285
- })
286
- },
287
- queryMore() {
288
- this.$router.push({ path: '/notice/list' })
289
- },
290
- readAllAffiche() {
291
- axios
292
- .post('/bems/1.0/portalNoticeReadRecord', { data: [] })
293
- .then((res) => {
294
- this.$message({
295
- message: '系统公告一键已读成功',
296
- type: 'success'
297
- })
298
- this.getNNum()
299
- this.getAfficheList()
300
- })
301
- },
302
- queryMoreAffiche() {
303
- this.$router.push({ path: '/notice/index' })
304
- }
305
- }
306
- }
307
- </script>
308
-
309
- <style>
310
- .read {
311
- color: #bac4cf;
312
- }
313
- .noread {
314
- color: black;
315
- }
316
- </style>
1
+ <template>
2
+ <el-tabs :key="showKey" v-model="tabAc" stretch class="header-notice-tabs">
3
+ <el-tab-pane name="notice">
4
+ <el-badge slot="label" :hidden="noticeNum === 0" :value="noticeNum">
5
+ 消息中心
6
+ </el-badge>
7
+
8
+ <div v-loading="nLd" class="notice-list p-b-s">
9
+ <div
10
+ v-for="item in noticeList"
11
+ :key="item.id"
12
+ class="flex-box flex-v m-b-ss"
13
+ :class="{
14
+ 'notice-item': item.processingLinkkUrl,
15
+ 'unread-notice': item.readState === '0'
16
+ }"
17
+ @click="seeDetails(item)"
18
+ >
19
+ <span class="el-icon-bell"></span>
20
+ <span v-title="item.content" class="m-r-auto">{{
21
+ item | ctFilter
22
+ }}</span>
23
+ <span>{{ item.createTime }}</span>
24
+ </div>
25
+ <emptyC
26
+ v-if="!nLd && !noticeList.length"
27
+ type="empty"
28
+ :height="160"
29
+ :width="160"
30
+ >
31
+ <div slot="content">暂无消息</div>
32
+ </emptyC>
33
+ </div>
34
+ <div class="flex-box bd-t flex-v">
35
+ <el-button class="flex-item" type="text" @click="readAll"
36
+ >一键已读</el-button
37
+ >
38
+ <span class="bd-l p-t"></span>
39
+ <el-button class="flex-item" type="text" @click="queryMore"
40
+ >更多</el-button
41
+ >
42
+ </div>
43
+ </el-tab-pane>
44
+ <el-tab-pane name="affiche">
45
+ <el-badge slot="label" :hidden="afficheNum === 0" :value="afficheNum">
46
+ 系统公告
47
+ </el-badge>
48
+
49
+ <div v-loading="aLd" class="notice-list p-b-s">
50
+ <div
51
+ v-for="item in afficheList"
52
+ :key="item.ntId"
53
+ :class="[
54
+ 'flex-box flex-v m-b-ss notice-item',
55
+ item.readStatus == 0 ? 'noread' : 'read'
56
+ ]"
57
+ @click="seeDetailsAffiche(item)"
58
+ >
59
+ <span class="el-icon-chat-dot-square m-r-s"></span>
60
+ <span class="m-r-auto">{{ item.title }}</span>
61
+ <span>{{ item.createDate }}</span>
62
+ </div>
63
+ <emptyC
64
+ v-if="!aLd && !afficheList.length"
65
+ type="empty"
66
+ :height="160"
67
+ :width="160"
68
+ >
69
+ <div slot="content">暂无系统公告</div>
70
+ </emptyC>
71
+ </div>
72
+ <div class="flex-box bd-t flex-v">
73
+ <el-button class="flex-item" type="text" @click="readAllAffiche"
74
+ >一键已读</el-button
75
+ >
76
+ <span class="bd-l p-t"></span>
77
+ <el-button class="flex-item" type="text" @click="queryMoreAffiche"
78
+ >更多</el-button
79
+ >
80
+ </div>
81
+ </el-tab-pane>
82
+ </el-tabs>
83
+ </template>
84
+
85
+ <script>
86
+ import axios from '../../../utils/axios'
87
+ import emptyC from '../../Empty/index.vue'
88
+ export default {
89
+ components: {
90
+ emptyC
91
+ },
92
+ filters: {
93
+ ctFilter(item) {
94
+ let msgT = ''
95
+ switch (item.messageType) {
96
+ case '0':
97
+ msgT = '业务提醒'
98
+ break
99
+ case '1':
100
+ msgT = '异常提醒'
101
+ break
102
+
103
+ default:
104
+ msgT = '其他提醒'
105
+ break
106
+ }
107
+ return `【${msgT}】${item.title}`
108
+ }
109
+ },
110
+ props: {
111
+ num: {
112
+ type: Number,
113
+ default: 0
114
+ }
115
+ },
116
+ data() {
117
+ return {
118
+ showKey: 0,
119
+ tabAc: 'notice',
120
+ username: sessionStorage.getItem('userNo'),
121
+ nLd: false,
122
+ aLd: false,
123
+ noticeNum: 0,
124
+ afficheNum: 0,
125
+ noticeList: [],
126
+ noticeTotal: 0,
127
+ afficheList: [],
128
+ afficheTotal: 0
129
+ }
130
+ },
131
+ computed: {
132
+ numC: {
133
+ get() {
134
+ return this.num
135
+ },
136
+ set(n) {
137
+ this.$emit('update:num', n)
138
+ }
139
+ }
140
+ },
141
+ created() {
142
+ clearTimeout(this.getNNumTimeOut)
143
+ this.getNNumTimeOut = setInterval(this.getNNum, 1000 * 60 * 2)
144
+
145
+ this.getNNum()
146
+ },
147
+ methods: {
148
+ show() {
149
+ this.showKey = this.showKey + 1
150
+
151
+ this.getMsgList()
152
+ this.getAfficheList()
153
+ },
154
+ getNNum() {
155
+ Promise.all([
156
+ axios.get(
157
+ '/bems/wkb/messageCenter/getUnReadTotal/' + this.username,
158
+ null,
159
+ { loading: false, noMsg: true }
160
+ ),
161
+ axios.get('/bems/1.0/notice/notReadCount', null, {
162
+ loading: false,
163
+ noMsg: true
164
+ })
165
+ ]).then(([res_1, res_2]) => {
166
+ this.noticeNum = res_1.data.data
167
+ this.afficheNum = res_2.data
168
+
169
+ this.numC = this.noticeNum + this.afficheNum
170
+ })
171
+ },
172
+ getMsgList() {
173
+ this.nLd = true
174
+ axios
175
+ .post(
176
+ '/bems/wkb/messageCenter/getListForPage',
177
+ {
178
+ data: {
179
+ userNo: this.username
180
+ },
181
+ descs: ['create_time'],
182
+ readState: '0', // 请求未读消息不生效
183
+ curentPage: 1,
184
+ pageSize: 10
185
+ },
186
+ {
187
+ loading: () => {
188
+ this.nLd = false
189
+ },
190
+ noMsg: true
191
+ }
192
+ )
193
+ .then((res) => {
194
+ this.noticeList = res.records || []
195
+ this.noticeTotal = res.total
196
+ })
197
+ },
198
+ getAfficheList() {
199
+ this.aLd = true
200
+ axios
201
+ .get(
202
+ '/bems/1.0/notice',
203
+ {
204
+ userId: this.username
205
+ // readStatus: '0'
206
+ },
207
+ {
208
+ loading: () => {
209
+ this.aLd = false
210
+ },
211
+ noMsg: true
212
+ }
213
+ )
214
+ .then((res) => {
215
+ this.afficheList = res.data || []
216
+ this.afficheTotal = res.total
217
+ })
218
+ },
219
+ seeDetails(item) {
220
+ if (item.processingLinkkUrl) {
221
+ let url = '/' + item.processingLinkkUrl
222
+ url = url.replace('//', '/')
223
+
224
+ let _fromNo = Date.now()
225
+ sessionStorage.setItem(_fromNo, location.href)
226
+
227
+ this.$router.push({
228
+ path: url,
229
+ query: {
230
+ _fromNo
231
+ }
232
+ })
233
+ }
234
+ if (item.readState === '0') {
235
+ this.$axios
236
+ .put(
237
+ `/bems/wkb/messageCenter/batchUpdate`,
238
+ { ids: [item.id], type: '1' },
239
+ { loading: false, noMsg: true }
240
+ )
241
+ .then(() => {
242
+ item.readState = '1'
243
+ this.noticeNum = this.noticeNum - 1
244
+ this.numC = this.numC - 1
245
+ })
246
+ }
247
+ },
248
+ seeDetailsAffiche(item) {
249
+ if (this.$route.path === '/notice/views') {
250
+ this.$router.push('/loading')
251
+ setTimeout(() => {
252
+ this.$router.push({
253
+ path: `/notice/views`,
254
+ query: { ntId: item.ntId, status: '1' }
255
+ })
256
+ }, 500)
257
+ } else {
258
+ this.$router.push({
259
+ path: `/notice/views`,
260
+ query: { ntId: item.ntId, status: '1' }
261
+ })
262
+ }
263
+ },
264
+ readAll() {
265
+ this.$msgboxPor({
266
+ title: '一键已读',
267
+ message: '确定要把所有未读消息标注为已读吗?',
268
+ type: 'warning'
269
+ }).then(() => {
270
+ axios
271
+ .put(
272
+ '/bems/wkb/messageCenter/updateReadStateByUserNo/' + this.username,
273
+ null,
274
+ null,
275
+ { noMsg: true }
276
+ )
277
+ .then(({ msg = '' }) => {
278
+ this.$message({
279
+ message: '消息一键已读成功 ' + msg,
280
+ type: 'success'
281
+ })
282
+ this.getNNum()
283
+ this.getMsgList()
284
+ })
285
+ })
286
+ },
287
+ queryMore() {
288
+ this.$router.push({ path: '/notice/list' })
289
+ },
290
+ readAllAffiche() {
291
+ axios
292
+ .post('/bems/1.0/portalNoticeReadRecord', { data: [] })
293
+ .then((res) => {
294
+ this.$message({
295
+ message: '系统公告一键已读成功',
296
+ type: 'success'
297
+ })
298
+ this.getNNum()
299
+ this.getAfficheList()
300
+ })
301
+ },
302
+ queryMoreAffiche() {
303
+ this.$router.push({ path: '/notice/index' })
304
+ }
305
+ }
306
+ }
307
+ </script>
308
+
309
+ <style>
310
+ .read {
311
+ color: #bac4cf;
312
+ }
313
+ .noread {
314
+ color: black;
315
+ }
316
+ </style>