@huyooo/ui 0.7.3 → 0.7.5

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.
@@ -1,1130 +0,0 @@
1
- import { ref as g, defineComponent as M, createBlock as v, openBlock as n, unref as t, withCtx as c, createVNode as N, createCommentVNode as h, createElementBlock as b, normalizeClass as V, createElementVNode as w, renderSlot as T, toDisplayString as L, createTextVNode as C, Fragment as E, renderList as W, createSlots as ee, mergeProps as U, watch as te, computed as X, mergeModels as J, useModel as se, isRef as ae } from "vue";
2
- /* empty css */
3
- /* empty css */
4
- /* empty css */
5
- /* empty css */
6
- /* empty css */
7
- import { Spin as Y, Empty as Z, Tag as x, Button as ne, Breadcrumb as F, BreadcrumbItem as B, Modal as ie } from "@arco-design/web-vue";
8
- import { c as D, g as O } from "./auth-bwwc2iT8.js";
9
- import { TiptapEditor as oe, TiptapTitle as le } from "@huyooo/vue-tiptap";
10
- import { _ as I } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
- import { useIntersectionObserver as re } from "@vueuse/core";
12
- import { m as Q, a as ue, b as de, c as ce } from "./MessageNotifications-CJtKlzc3.js";
13
- import { Icon as fe } from "@iconify/vue";
14
- import { u as me } from "./useAuthkitCreateAndUpdate-Co5wMbv7.js";
15
- import { M as pe } from "./Menu-BjWB9hre.js";
16
- function ge(e) {
17
- return D({
18
- url: `${O.prefixUrl}/restfulApi/messageCenter/changelogNotifications/find`,
19
- method: "post",
20
- data: e
21
- });
22
- }
23
- function ve(e) {
24
- return D({
25
- url: `${O.prefixUrl}/restfulApi/messageCenter/changelogNotifications/findOne`,
26
- method: "post",
27
- data: e
28
- });
29
- }
30
- function G(e, o = {}) {
31
- const {
32
- pageSize: s = 10,
33
- where: u = {}
34
- } = o, l = g(!0), a = g(""), i = g(!1), r = g(!1), d = g([]), p = g({
35
- current: 1,
36
- pageSize: s,
37
- total: 0
38
- });
39
- async function $() {
40
- if (!i.value) {
41
- i.value = !0;
42
- try {
43
- const {
44
- data: A
45
- } = await e({
46
- current: p.value.current,
47
- pageSize: p.value.pageSize,
48
- where: u
49
- });
50
- d.value = A.items, p.value.total = A.count, r.value = A.items.length < p.value.pageSize;
51
- } finally {
52
- i.value = !1;
53
- }
54
- }
55
- }
56
- async function _() {
57
- if (!(i.value || r.value)) {
58
- p.value.current += 1, i.value = !0;
59
- try {
60
- const {
61
- data: A
62
- } = await e({
63
- current: p.value.current,
64
- pageSize: p.value.pageSize,
65
- where: u
66
- });
67
- d.value = [...d.value, ...A.items], p.value.total = A.count, r.value = A.items.length < p.value.pageSize;
68
- } finally {
69
- i.value = !1;
70
- }
71
- }
72
- }
73
- async function f() {
74
- p.value.current = 1, r.value = !1, await $();
75
- }
76
- function m() {
77
- l.value = !0, a.value = "";
78
- }
79
- function z(A) {
80
- a.value = A.id, l.value = !1, R(A.id);
81
- }
82
- function R(A) {
83
- const k = d.value.find((y) => y.id === A);
84
- k && k.read !== void 0 && (k.read = !0);
85
- }
86
- function H(A) {
87
- const k = d.value.find((y) => y.id === A);
88
- k && k.read !== void 0 && (k.read = !1);
89
- }
90
- return $(), {
91
- // 状态
92
- isList: l,
93
- detailId: a,
94
- loading: i,
95
- finished: r,
96
- messageList: d,
97
- pagination: p,
98
- // 方法
99
- loadData: $,
100
- loadMore: _,
101
- refresh: f,
102
- toList: m,
103
- openDetail: z,
104
- markAsRead: R,
105
- markAsUnread: H
106
- };
107
- }
108
- const ye = /* @__PURE__ */ M({
109
- __name: "MessageDetails",
110
- props: {
111
- content: {
112
- type: Object,
113
- default: null
114
- },
115
- title: {
116
- type: String,
117
- required: !0
118
- },
119
- loading: {
120
- type: Boolean,
121
- default: !1
122
- }
123
- },
124
- emits: ["itemClick", "tableOfContentsUpdate", "update:title", "update:content"],
125
- setup(e, {
126
- emit: o
127
- }) {
128
- const s = g([]), u = e, l = g(!1), a = o, i = g();
129
- function r(d) {
130
- s.value = d, a("tableOfContentsUpdate", d);
131
- }
132
- return (d, p) => (n(), v(t(Y), {
133
- loading: u.loading,
134
- tip: "文档加载中...",
135
- class: "Spin",
136
- dot: ""
137
- }, {
138
- default: c(() => [N(t(oe), {
139
- ref_key: "TiptapEditorRef",
140
- ref: i,
141
- "model-value": u.content,
142
- editable: l.value,
143
- "tiptap-editor-content-class": "tiptapEditorContentClass",
144
- onTableOfContentsUpdate: r
145
- }, {
146
- title: c(() => [N(t(le), {
147
- "model-value": u.title,
148
- editable: l.value
149
- }, null, 8, ["model-value", "editable"])]),
150
- _: 1
151
- }, 8, ["model-value", "editable"]), h("", !0)]),
152
- _: 1
153
- }, 8, ["loading"]));
154
- }
155
- }), K = /* @__PURE__ */ I(ye, [["__scopeId", "data-v-8eec0226"]]), _e = /* @__PURE__ */ M({
156
- __name: "MessageChangelogNotificationsDetails",
157
- props: {
158
- id: {
159
- type: String,
160
- required: !0
161
- }
162
- },
163
- setup(e) {
164
- const o = g(!1), s = g(null), u = g(""), l = e;
165
- function a() {
166
- o.value = !0, ve({
167
- id: l.id
168
- }).then(({
169
- data: i
170
- }) => {
171
- s.value = i.content, u.value = i.title, o.value = !1;
172
- }).catch((i) => {
173
- console.error("获取变更日志详情失败:", i), o.value = !1;
174
- });
175
- }
176
- return a(), (i, r) => (n(), v(K, {
177
- content: s.value,
178
- title: u.value,
179
- loading: o.value
180
- }, null, 8, ["content", "title", "loading"]));
181
- }
182
- }), he = {
183
- key: 0,
184
- class: "loading"
185
- }, ke = {
186
- key: 1,
187
- class: "none"
188
- }, be = /* @__PURE__ */ M({
189
- __name: "InfiniteLoading",
190
- props: {
191
- loading: {
192
- type: Boolean,
193
- default: !1
194
- },
195
- finished: {
196
- type: Boolean,
197
- default: !1
198
- },
199
- loadingText: {
200
- type: String,
201
- default: "数据加载中..."
202
- },
203
- finishedText: {
204
- type: String,
205
- default: "亲,没有更多了!"
206
- },
207
- showFinishedText: {
208
- type: Boolean,
209
- default: !0
210
- },
211
- threshold: {
212
- type: Number,
213
- default: 0
214
- }
215
- },
216
- emits: ["infinite"],
217
- setup(e, {
218
- emit: o
219
- }) {
220
- const s = e, u = o, l = g(null);
221
- return re(l, ([{
222
- isIntersecting: a
223
- }]) => {
224
- a && // 当loading和finished的值都为false时,就通知父组件调用方法继续向后台请求数据
225
- !s.loading && !s.finished && u("infinite");
226
- }, {
227
- threshold: s.threshold
228
- }), (a, i) => (n(), b("div", {
229
- ref_key: "container",
230
- ref: l,
231
- class: "infinite-loading"
232
- }, [e.loading ? (n(), b("div", he, [N(t(Y), {
233
- tip: e.loadingText
234
- }, null, 8, ["tip"])])) : h("", !0), e.finished && e.showFinishedText ? (n(), b("div", ke, [N(t(Z), {
235
- description: e.finishedText
236
- }, null, 8, ["description"])])) : h("", !0)], 512));
237
- }
238
- }), Ce = /* @__PURE__ */ I(be, [["__scopeId", "data-v-b513f798"]]), $e = {
239
- class: "message-item__content"
240
- }, Ne = {
241
- class: "message-item__header"
242
- }, Ae = {
243
- class: "message-item__title"
244
- }, Me = {
245
- class: "message-item__tags"
246
- }, Se = {
247
- class: "message-item__description"
248
- }, we = {
249
- class: "message-item__footer"
250
- }, Le = {
251
- class: "message-item__time"
252
- }, Ie = {
253
- class: "message-item__actions"
254
- }, xe = /* @__PURE__ */ M({
255
- __name: "MessageItem",
256
- props: {
257
- item: {},
258
- showReadStatus: {
259
- type: Boolean
260
- },
261
- showViewButton: {
262
- type: Boolean
263
- }
264
- },
265
- emits: ["click"],
266
- setup(e) {
267
- return (o, s) => (n(), b("div", {
268
- class: V(["message-item", {
269
- "message-item--unread": e.showReadStatus && !e.item.read
270
- }]),
271
- onClick: s[0] || (s[0] = (u) => o.$emit("click", e.item))
272
- }, [w("div", $e, [w("div", Ne, [e.showReadStatus ? (n(), b("span", {
273
- key: 0,
274
- class: V(["message-item__dot", {
275
- "message-item__dot--unread": !e.item.read
276
- }])
277
- }, null, 2)) : h("", !0), T(o.$slots, "prefix", {
278
- item: e.item
279
- }, void 0, !0), w("span", Ae, L(e.item.title), 1), w("div", Me, [e.item.pinned ? (n(), v(t(x), {
280
- key: 0,
281
- color: "arcoblue",
282
- size: "small"
283
- }, {
284
- default: c(() => [...s[1] || (s[1] = [C("置顶", -1)])]),
285
- _: 1
286
- })) : h("", !0), T(o.$slots, "tags", {
287
- item: e.item
288
- }, () => [e.item.priority === "urgent" ? (n(), v(t(x), {
289
- key: 0,
290
- color: "red",
291
- size: "small"
292
- }, {
293
- default: c(() => [...s[2] || (s[2] = [C("紧急", -1)])]),
294
- _: 1
295
- })) : e.item.priority === "important" ? (n(), v(t(x), {
296
- key: 1,
297
- color: "orange",
298
- size: "small"
299
- }, {
300
- default: c(() => [...s[3] || (s[3] = [C("重要", -1)])]),
301
- _: 1
302
- })) : e.item.priority === "high" ? (n(), v(t(x), {
303
- key: 2,
304
- color: "orange",
305
- size: "small"
306
- }, {
307
- default: c(() => [...s[4] || (s[4] = [C("高", -1)])]),
308
- _: 1
309
- })) : h("", !0)], !0)])]), w("div", Se, [T(o.$slots, "description", {
310
- item: e.item
311
- }, () => [C(L(e.item.description), 1)], !0)]), w("div", we, [w("span", Le, L(e.item.createAt), 1), T(o.$slots, "footer", {
312
- item: e.item
313
- }, void 0, !0)])]), w("div", Ie, [T(o.$slots, "actions", {
314
- item: e.item
315
- }, () => [e.showViewButton ? (n(), v(t(ne), {
316
- key: 0,
317
- type: "text",
318
- size: "small"
319
- }, {
320
- default: c(() => [...s[5] || (s[5] = [C("查看", -1)])]),
321
- _: 1
322
- })) : h("", !0)], !0)])], 2));
323
- }
324
- }), Te = /* @__PURE__ */ I(xe, [["__scopeId", "data-v-1cf5087b"]]), ze = {
325
- class: "message-list"
326
- }, Be = {
327
- key: 0,
328
- class: "message-list__empty"
329
- }, De = /* @__PURE__ */ M({
330
- __name: "MessageList",
331
- props: {
332
- messageList: {},
333
- loading: {
334
- type: Boolean
335
- },
336
- finished: {
337
- type: Boolean
338
- },
339
- showReadStatus: {
340
- type: Boolean
341
- },
342
- showViewButton: {
343
- type: Boolean
344
- }
345
- },
346
- emits: ["itemClick", "loadMore"],
347
- setup(e, {
348
- emit: o
349
- }) {
350
- const s = e, u = o;
351
- function l(a) {
352
- u("itemClick", a);
353
- }
354
- return (a, i) => (n(), b("div", ze, [s.messageList.length === 0 && !s.loading ? (n(), b("div", Be, [N(t(Z), {
355
- description: "暂无消息"
356
- })])) : (n(), b(E, {
357
- key: 1
358
- }, [(n(!0), b(E, null, W(s.messageList, (r) => (n(), v(Te, {
359
- key: r.id,
360
- item: r,
361
- "show-read-status": s.showReadStatus,
362
- "show-view-button": s.showViewButton,
363
- onClick: (d) => l(r)
364
- }, ee({
365
- _: 2
366
- }, [a.$slots.prefix ? {
367
- name: "prefix",
368
- fn: c((d) => [T(a.$slots, "prefix", U({
369
- ref_for: !0
370
- }, d), void 0, !0)]),
371
- key: "0"
372
- } : void 0, a.$slots.tags ? {
373
- name: "tags",
374
- fn: c((d) => [T(a.$slots, "tags", U({
375
- ref_for: !0
376
- }, d), void 0, !0)]),
377
- key: "1"
378
- } : void 0, a.$slots.description ? {
379
- name: "description",
380
- fn: c((d) => [T(a.$slots, "description", U({
381
- ref_for: !0
382
- }, d), void 0, !0)]),
383
- key: "2"
384
- } : void 0, a.$slots.footer ? {
385
- name: "footer",
386
- fn: c((d) => [T(a.$slots, "footer", U({
387
- ref_for: !0
388
- }, d), void 0, !0)]),
389
- key: "3"
390
- } : void 0, a.$slots.actions ? {
391
- name: "actions",
392
- fn: c((d) => [T(a.$slots, "actions", U({
393
- ref_for: !0
394
- }, d), void 0, !0)]),
395
- key: "4"
396
- } : void 0]), 1032, ["item", "show-read-status", "show-view-button", "onClick"]))), 128)), N(Ce, {
397
- loading: s.loading,
398
- finished: s.finished,
399
- onInfinite: i[0] || (i[0] = (r) => a.$emit("loadMore"))
400
- }, null, 8, ["loading", "finished"])], 64))]));
401
- }
402
- }), q = /* @__PURE__ */ I(De, [["__scopeId", "data-v-991c4730"]]), Oe = {
403
- class: "message-panel"
404
- }, Ue = {
405
- class: "version-prefix"
406
- }, Re = {
407
- key: 0,
408
- class: "publish-time"
409
- }, Ve = /* @__PURE__ */ M({
410
- __name: "MessageChangelogNotifications",
411
- setup(e) {
412
- const {
413
- isList: o,
414
- detailId: s,
415
- loading: u,
416
- finished: l,
417
- messageList: a,
418
- loadMore: i,
419
- toList: r,
420
- openDetail: d
421
- } = G(ge);
422
- function p(_) {
423
- return {
424
- feature: "green",
425
- improvement: "blue",
426
- fix: "orange",
427
- security: "red",
428
- breaking: "magenta"
429
- }[_] || "blue";
430
- }
431
- function $(_) {
432
- return {
433
- feature: "新功能",
434
- improvement: "优化",
435
- fix: "修复",
436
- security: "安全",
437
- breaking: "重大变更"
438
- }[_] || "更新";
439
- }
440
- return (_, f) => (n(), b("div", Oe, [t(o) ? h("", !0) : (n(), v(t(F), {
441
- key: 0,
442
- class: "message-panel__breadcrumb"
443
- }, {
444
- default: c(() => [N(t(B), {
445
- onClick: t(r)
446
- }, {
447
- default: c(() => [...f[0] || (f[0] = [C("更新日志", -1)])]),
448
- _: 1
449
- }, 8, ["onClick"]), N(t(B), null, {
450
- default: c(() => [...f[1] || (f[1] = [C("详情", -1)])]),
451
- _: 1
452
- })]),
453
- _: 1
454
- })), t(o) ? (n(), v(q, {
455
- key: 1,
456
- "message-list": t(a),
457
- loading: t(u),
458
- finished: t(l),
459
- onItemClick: t(d),
460
- onLoadMore: t(i)
461
- }, {
462
- prefix: c(({
463
- item: m
464
- }) => [w("span", Ue, L(m.version), 1)]),
465
- tags: c(({
466
- item: m
467
- }) => [N(t(x), {
468
- color: p(m.changeType),
469
- size: "small"
470
- }, {
471
- default: c(() => [C(L($(m.changeType)), 1)]),
472
- _: 2
473
- }, 1032, ["color"])]),
474
- footer: c(({
475
- item: m
476
- }) => [m.publishedAt ? (n(), b("span", Re, " 发布于 " + L(m.publishedAt), 1)) : h("", !0)]),
477
- _: 1
478
- }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (n(), v(_e, {
479
- key: 2,
480
- id: t(s)
481
- }, null, 8, ["id"]))]));
482
- }
483
- }), Ee = /* @__PURE__ */ I(Ve, [["__scopeId", "data-v-20ecca66"]]);
484
- function Fe(e) {
485
- return D({
486
- url: `${O.prefixUrl}/restfulApi/messageCenter/eventNotifications/find`,
487
- method: "post",
488
- data: e
489
- });
490
- }
491
- function Ke(e) {
492
- return D({
493
- url: `${O.prefixUrl}/restfulApi/messageCenter/eventNotifications/findOne`,
494
- method: "post",
495
- data: e
496
- });
497
- }
498
- const qe = /* @__PURE__ */ M({
499
- __name: "MessageEventNotificationsDetails",
500
- props: {
501
- id: {
502
- type: String,
503
- required: !0
504
- }
505
- },
506
- setup(e) {
507
- const o = g(!1), s = g(null), u = g(""), l = e;
508
- function a() {
509
- o.value = !0, Ke({
510
- id: l.id
511
- }).then(({
512
- data: i
513
- }) => {
514
- s.value = i.content, u.value = i.title, o.value = !1;
515
- }).catch((i) => {
516
- console.error("获取事件通知详情失败:", i), o.value = !1;
517
- });
518
- }
519
- return a(), (i, r) => (n(), v(K, {
520
- content: s.value,
521
- title: u.value,
522
- loading: o.value
523
- }, null, 8, ["content", "title", "loading"]));
524
- }
525
- }), He = {
526
- class: "message-panel"
527
- }, je = {
528
- key: 0,
529
- class: "time-range"
530
- }, Pe = /* @__PURE__ */ M({
531
- __name: "MessageEventNotifications",
532
- setup(e) {
533
- const {
534
- isList: o,
535
- detailId: s,
536
- loading: u,
537
- finished: l,
538
- messageList: a,
539
- loadMore: i,
540
- toList: r,
541
- openDetail: d
542
- } = G((_) => Fe({
543
- ..._,
544
- where: {
545
- status: "published"
546
- }
547
- }));
548
- function p(_) {
549
- return {
550
- upcoming: "blue",
551
- ongoing: "green",
552
- ended: "gray",
553
- published: "arcoblue"
554
- }[_] || "gray";
555
- }
556
- function $(_) {
557
- return {
558
- upcoming: "即将开始",
559
- ongoing: "进行中",
560
- ended: "已结束",
561
- published: "已发布"
562
- }[_] || "未知";
563
- }
564
- return (_, f) => (n(), b("div", He, [t(o) ? h("", !0) : (n(), v(t(F), {
565
- key: 0,
566
- class: "message-panel__breadcrumb"
567
- }, {
568
- default: c(() => [N(t(B), {
569
- onClick: t(r)
570
- }, {
571
- default: c(() => [...f[0] || (f[0] = [C("活动通知", -1)])]),
572
- _: 1
573
- }, 8, ["onClick"]), N(t(B), null, {
574
- default: c(() => [...f[1] || (f[1] = [C("详情", -1)])]),
575
- _: 1
576
- })]),
577
- _: 1
578
- })), t(o) ? (n(), v(q, {
579
- key: 1,
580
- "message-list": t(a),
581
- loading: t(u),
582
- finished: t(l),
583
- onItemClick: t(d),
584
- onLoadMore: t(i)
585
- }, {
586
- tags: c(({
587
- item: m
588
- }) => [N(t(x), {
589
- color: p(m.displayStatus),
590
- size: "small"
591
- }, {
592
- default: c(() => [C(L($(m.displayStatus)), 1)]),
593
- _: 2
594
- }, 1032, ["color"])]),
595
- footer: c(({
596
- item: m
597
- }) => [m.startAt || m.endAt ? (n(), b("span", je, L(m.startAt || "无") + " ~ " + L(m.endAt || "无"), 1)) : h("", !0)]),
598
- _: 1
599
- }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (n(), v(qe, {
600
- key: 2,
601
- id: t(s)
602
- }, null, 8, ["id"]))]));
603
- }
604
- }), Ge = /* @__PURE__ */ I(Pe, [["__scopeId", "data-v-13297e28"]]), Je = {
605
- style: {
606
- display: "flex",
607
- gap: "16px"
608
- }
609
- }, Qe = ["onClick"], We = /* @__PURE__ */ M({
610
- __name: "MessageCustomTabs",
611
- props: {
612
- modelValue: {
613
- type: String,
614
- default: "1"
615
- },
616
- tabs: {
617
- type: Array,
618
- default: () => [{
619
- label: "未读消息",
620
- key: "1"
621
- }, {
622
- label: "已读消息",
623
- key: "2"
624
- }]
625
- }
626
- },
627
- emits: ["update:modelValue", "change"],
628
- setup(e, {
629
- emit: o
630
- }) {
631
- const s = e, u = o;
632
- function l(a) {
633
- a !== s.modelValue && (u("update:modelValue", a), u("change", a));
634
- }
635
- return (a, i) => (n(), b("div", Je, [(n(!0), b(E, null, W(e.tabs, (r) => (n(), b("span", {
636
- key: r.key,
637
- class: V(["custom-tab", [{
638
- active: e.modelValue === r.key
639
- }]]),
640
- onClick: (d) => l(r.key)
641
- }, L(r.label), 11, Qe))), 128))]));
642
- }
643
- }), Xe = /* @__PURE__ */ I(We, [["__scopeId", "data-v-fafcc3ad"]]), Ye = {
644
- class: "tabs"
645
- }, Ze = /* @__PURE__ */ M({
646
- __name: "MessageTabs",
647
- props: {
648
- tabs: {
649
- type: Array,
650
- required: !0
651
- },
652
- messageList: {
653
- type: Array,
654
- required: !0
655
- },
656
- activeTab: {
657
- type: String,
658
- required: !0
659
- }
660
- },
661
- emits: ["update:activeTab", "change", "readAll"],
662
- setup(e, {
663
- emit: o
664
- }) {
665
- const s = e, u = o, l = g(s.activeTab);
666
- te(() => s.activeTab, (r) => {
667
- l.value = r;
668
- });
669
- function a(r) {
670
- l.value = r, u("update:activeTab", r), u("change", r);
671
- }
672
- function i() {
673
- s.messageList.length !== 0 && u("readAll");
674
- }
675
- return (r, d) => (n(), b("div", Ye, [N(Xe, {
676
- modelValue: l.value,
677
- "onUpdate:modelValue": d[0] || (d[0] = (p) => l.value = p),
678
- tabs: e.tabs,
679
- onChange: a
680
- }, null, 8, ["modelValue", "tabs"]), l.value === "unread" ? (n(), b("div", {
681
- key: 0,
682
- class: V(["readAll", {
683
- disabled: e.messageList.length === 0
684
- }]),
685
- onClick: i
686
- }, [N(t(fe), {
687
- class: "icon",
688
- icon: "icon-park-outline:clear"
689
- }), d[1] || (d[1] = w("span", null, " 全部已读", -1))], 2)) : h("", !0)]));
690
- }
691
- }), et = /* @__PURE__ */ I(Ze, [["__scopeId", "data-v-91277265"]]), tt = {
692
- class: "message-panel"
693
- }, P = "system", st = /* @__PURE__ */ M({
694
- __name: "MessageNotifications",
695
- setup(e) {
696
- const o = g(!0), s = g(""), u = g(!1), l = g({
697
- title: "",
698
- content: null
699
- }), a = g(!1), i = g(!1), r = g([]), d = g("unread"), p = g({
700
- current: 1,
701
- pageSize: 10,
702
- total: 0
703
- }), $ = [{
704
- label: "未读消息",
705
- key: "unread"
706
- }, {
707
- label: "已读消息",
708
- key: "read"
709
- }], _ = X(() => d.value === "read");
710
- async function f() {
711
- a.value = !0;
712
- try {
713
- const {
714
- data: k
715
- } = await Q({
716
- current: p.value.current,
717
- pageSize: p.value.pageSize,
718
- where: {
719
- type: P,
720
- read: _.value
721
- }
722
- });
723
- r.value = k.items.map((y) => ({
724
- id: y.id,
725
- title: y.title,
726
- description: y.description,
727
- createAt: y.createAt,
728
- updateAt: y.updateAt,
729
- type: y.type,
730
- priority: y.priority,
731
- read: y.read ?? !1,
732
- readAt: y.readAt ?? null
733
- })), p.value.total = k.count, i.value = k.items.length < p.value.pageSize;
734
- } finally {
735
- a.value = !1;
736
- }
737
- }
738
- async function m() {
739
- if (!(a.value || i.value)) {
740
- p.value.current += 1, a.value = !0;
741
- try {
742
- const {
743
- data: k
744
- } = await Q({
745
- current: p.value.current,
746
- pageSize: p.value.pageSize,
747
- where: {
748
- type: P,
749
- read: _.value
750
- }
751
- }), y = k.items.map((S) => ({
752
- id: S.id,
753
- title: S.title,
754
- description: S.description,
755
- createAt: S.createAt,
756
- updateAt: S.updateAt,
757
- type: S.type,
758
- priority: S.priority,
759
- read: S.read ?? !1,
760
- readAt: S.readAt ?? null
761
- }));
762
- r.value = [...r.value, ...y], i.value = k.items.length < p.value.pageSize;
763
- } finally {
764
- a.value = !1;
765
- }
766
- }
767
- }
768
- function z() {
769
- p.value.current = 1, i.value = !1, f();
770
- }
771
- async function R() {
772
- r.value.length !== 0 && (await ue({
773
- type: P
774
- }), f());
775
- }
776
- function H() {
777
- o.value = !0, s.value = "", l.value = {
778
- title: "",
779
- content: null
780
- };
781
- }
782
- async function A(k) {
783
- u.value = !0;
784
- try {
785
- const {
786
- data: y
787
- } = await ce({
788
- id: k
789
- });
790
- l.value = {
791
- title: y.title,
792
- content: y.content
793
- };
794
- } finally {
795
- u.value = !1;
796
- }
797
- }
798
- async function j(k) {
799
- s.value = k.id, o.value = !1, k.read || await de({
800
- messageId: k.id
801
- }), A(k.id);
802
- }
803
- return f(), (k, y) => (n(), b("div", tt, [o.value ? h("", !0) : (n(), v(t(F), {
804
- key: 0,
805
- class: "message-panel__breadcrumb"
806
- }, {
807
- default: c(() => [N(t(B), {
808
- onClick: H
809
- }, {
810
- default: c(() => [...y[1] || (y[1] = [C("消息通知", -1)])]),
811
- _: 1
812
- }), N(t(B), null, {
813
- default: c(() => [...y[2] || (y[2] = [C("详情", -1)])]),
814
- _: 1
815
- })]),
816
- _: 1
817
- })), o.value ? (n(), v(et, {
818
- key: 1,
819
- "active-tab": d.value,
820
- "onUpdate:activeTab": y[0] || (y[0] = (S) => d.value = S),
821
- tabs: $,
822
- "message-list": r.value,
823
- onChange: z,
824
- onReadAll: R
825
- }, null, 8, ["active-tab", "message-list"])) : h("", !0), o.value ? (n(), v(q, {
826
- key: 2,
827
- "message-list": r.value,
828
- loading: a.value,
829
- finished: i.value,
830
- "show-read-status": !0,
831
- "show-view-button": !1,
832
- onItemClick: j,
833
- onLoadMore: m
834
- }, {
835
- tags: c(({
836
- item: S
837
- }) => [S.priority === "urgent" ? (n(), v(t(x), {
838
- key: 0,
839
- color: "red",
840
- size: "small"
841
- }, {
842
- default: c(() => [...y[3] || (y[3] = [C("紧急", -1)])]),
843
- _: 1
844
- })) : S.priority === "high" ? (n(), v(t(x), {
845
- key: 1,
846
- color: "orange",
847
- size: "small"
848
- }, {
849
- default: c(() => [...y[4] || (y[4] = [C("高", -1)])]),
850
- _: 1
851
- })) : h("", !0)]),
852
- _: 1
853
- }, 8, ["message-list", "loading", "finished"])) : (n(), v(K, {
854
- key: 3,
855
- title: l.value.title,
856
- content: l.value.content,
857
- loading: u.value
858
- }, null, 8, ["title", "content", "loading"]))]));
859
- }
860
- }), at = /* @__PURE__ */ I(st, [["__scopeId", "data-v-2fe260dd"]]);
861
- function nt(e) {
862
- return D({
863
- url: `${O.prefixUrl}/restfulApi/messageCenter/noticeNotifications/find`,
864
- method: "post",
865
- data: e
866
- });
867
- }
868
- function it(e) {
869
- return D({
870
- url: `${O.prefixUrl}/restfulApi/messageCenter/noticeNotifications/findOne`,
871
- method: "post",
872
- data: e
873
- });
874
- }
875
- const ot = /* @__PURE__ */ M({
876
- __name: "MessageNoticeNotificationsDetails",
877
- props: {
878
- id: {
879
- type: String,
880
- required: !0
881
- }
882
- },
883
- setup(e) {
884
- const o = g(!1), s = g(null), u = g(""), l = e;
885
- function a() {
886
- o.value = !0, it({
887
- id: l.id
888
- }).then(({
889
- data: i
890
- }) => {
891
- s.value = i.content, u.value = i.title, o.value = !1;
892
- }).catch((i) => {
893
- console.error("获取通知详情失败:", i), o.value = !1;
894
- });
895
- }
896
- return a(), (i, r) => (n(), v(K, {
897
- content: s.value,
898
- title: u.value,
899
- loading: o.value
900
- }, null, 8, ["content", "title", "loading"]));
901
- }
902
- }), lt = {
903
- class: "message-panel"
904
- }, rt = {
905
- key: 0,
906
- class: "expire-time"
907
- }, ut = /* @__PURE__ */ M({
908
- __name: "MessageNoticeNotifications",
909
- setup(e) {
910
- const {
911
- isList: o,
912
- detailId: s,
913
- loading: u,
914
- finished: l,
915
- messageList: a,
916
- loadMore: i,
917
- toList: r,
918
- openDetail: d
919
- } = G((_) => nt({
920
- ..._,
921
- where: {
922
- status: "published"
923
- }
924
- }));
925
- function p(_) {
926
- return {
927
- published: "green",
928
- expired: "gray"
929
- }[_] || "gray";
930
- }
931
- function $(_) {
932
- return {
933
- published: "有效",
934
- expired: "已过期"
935
- }[_] || "未知";
936
- }
937
- return (_, f) => (n(), b("div", lt, [t(o) ? h("", !0) : (n(), v(t(F), {
938
- key: 0,
939
- class: "message-panel__breadcrumb"
940
- }, {
941
- default: c(() => [N(t(B), {
942
- onClick: t(r)
943
- }, {
944
- default: c(() => [...f[0] || (f[0] = [C("公告通知", -1)])]),
945
- _: 1
946
- }, 8, ["onClick"]), N(t(B), null, {
947
- default: c(() => [...f[1] || (f[1] = [C("详情", -1)])]),
948
- _: 1
949
- })]),
950
- _: 1
951
- })), t(o) ? (n(), v(q, {
952
- key: 1,
953
- "message-list": t(a),
954
- loading: t(u),
955
- finished: t(l),
956
- onItemClick: t(d),
957
- onLoadMore: t(i)
958
- }, {
959
- tags: c(({
960
- item: m
961
- }) => [m.priority === "urgent" ? (n(), v(t(x), {
962
- key: 0,
963
- color: "red",
964
- size: "small"
965
- }, {
966
- default: c(() => [...f[2] || (f[2] = [C("紧急", -1)])]),
967
- _: 1
968
- })) : m.priority === "important" ? (n(), v(t(x), {
969
- key: 1,
970
- color: "orange",
971
- size: "small"
972
- }, {
973
- default: c(() => [...f[3] || (f[3] = [C("重要", -1)])]),
974
- _: 1
975
- })) : h("", !0), N(t(x), {
976
- color: p(m.displayStatus),
977
- size: "small"
978
- }, {
979
- default: c(() => [C(L($(m.displayStatus)), 1)]),
980
- _: 2
981
- }, 1032, ["color"])]),
982
- footer: c(({
983
- item: m
984
- }) => [m.expireAt ? (n(), b("span", rt, L(m.displayStatus === "expired" ? "已过期" : `过期时间: ${m.expireAt}`), 1)) : h("", !0)]),
985
- _: 1
986
- }, 8, ["message-list", "loading", "finished", "onItemClick", "onLoadMore"])) : (n(), v(ot, {
987
- key: 2,
988
- id: t(s)
989
- }, null, 8, ["id"]))]));
990
- }
991
- }), dt = /* @__PURE__ */ I(ut, [["__scopeId", "data-v-7bde4425"]]), ct = {
992
- class: "content"
993
- }, ft = {
994
- class: "left"
995
- }, mt = /* @__PURE__ */ M({
996
- __name: "MessageAppMessage",
997
- props: /* @__PURE__ */ J({
998
- menus: {
999
- type: Array,
1000
- required: !0
1001
- }
1002
- }, {
1003
- selectedKeys: {
1004
- default: ["ChangelogNotifications"]
1005
- },
1006
- selectedKeysModifiers: {}
1007
- }),
1008
- emits: /* @__PURE__ */ J(["cancel", "change"], ["update:selectedKeys"]),
1009
- setup(e, {
1010
- expose: o,
1011
- emit: s
1012
- }) {
1013
- const u = e, l = s, a = se(e, "selectedKeys"), i = X(() => a.value.length !== 0 ? a.value[0] : "");
1014
- function r() {
1015
- l("cancel");
1016
- }
1017
- function d(f, m) {
1018
- const z = f.path;
1019
- a.value = [z], l("change", f, m);
1020
- }
1021
- const {
1022
- changeType: p,
1023
- show: $
1024
- } = me(l);
1025
- function _(f) {
1026
- $.value = f, p.value = "编辑";
1027
- }
1028
- return o({
1029
- setData: _
1030
- }), (f, m) => (n(), v(t(ie), {
1031
- visible: t($),
1032
- "onUpdate:visible": m[1] || (m[1] = (z) => ae($) ? $.value = z : null),
1033
- loading: !1,
1034
- "body-class": "AppMessagebodyClass",
1035
- "mask-closable": !1,
1036
- footer: !1,
1037
- "hide-title": !1,
1038
- width: "880px",
1039
- onCancel: r
1040
- }, {
1041
- default: c(() => [w("div", ct, [w("div", ft, [N(pe, {
1042
- "selected-keys": a.value,
1043
- "onUpdate:selectedKeys": m[0] || (m[0] = (z) => a.value = z),
1044
- menus: u.menus,
1045
- onChange: d
1046
- }, null, 8, ["selected-keys", "menus"])]), t($) ? (n(), b(E, {
1047
- key: 0
1048
- }, [i.value === "ChangelogNotifications" ? (n(), v(Ee, {
1049
- key: 0
1050
- })) : h("", !0), i.value === "EventNotifications" ? (n(), v(Ge, {
1051
- key: 1
1052
- })) : h("", !0), i.value === "MessageNotifications" ? (n(), v(at, {
1053
- key: 2
1054
- })) : h("", !0), i.value === "NoticeNotifications" ? (n(), v(dt, {
1055
- key: 3
1056
- })) : h("", !0)], 64)) : h("", !0)])]),
1057
- _: 1
1058
- }, 8, ["visible"]));
1059
- }
1060
- }), pt = /* @__PURE__ */ I(mt, [["__scopeId", "data-v-8f921467"]]), gt = /* @__PURE__ */ M({
1061
- __name: "MessageHandle",
1062
- setup(e, {
1063
- expose: o
1064
- }) {
1065
- const s = g(["ChangelogNotifications"]), u = g(), l = g(Symbol("key"));
1066
- function a() {
1067
- u.value.setData(!0);
1068
- }
1069
- function i() {
1070
- l.value = Symbol("key");
1071
- }
1072
- function r() {
1073
- l.value = Symbol("key");
1074
- }
1075
- const d = g([{
1076
- name: "功能变更",
1077
- path: "ChangelogNotifications",
1078
- meta: {
1079
- icon: "mingcute:cube-3d-fill"
1080
- }
1081
- }, {
1082
- name: "活动通知",
1083
- path: "EventNotifications",
1084
- meta: {
1085
- icon: "mingcute:receive-money-fill"
1086
- }
1087
- }, {
1088
- name: "消息通知",
1089
- path: "MessageNotifications",
1090
- meta: {
1091
- icon: "mingcute:message-1-fill"
1092
- }
1093
- }, {
1094
- name: "公告",
1095
- path: "NoticeNotifications",
1096
- meta: {
1097
- icon: "mingcute:announcement-fill"
1098
- }
1099
- }]);
1100
- return o({
1101
- openNotification: a
1102
- }), (p, $) => (n(), v(pt, {
1103
- ref_key: "MessageNotificationsRef",
1104
- ref: u,
1105
- key: l.value,
1106
- "selected-keys": s.value,
1107
- "onUpdate:selectedKeys": $[0] || ($[0] = (_) => s.value = _),
1108
- menus: d.value,
1109
- title: "消息中心",
1110
- onConfirm: r,
1111
- onCancel: i
1112
- }, null, 8, ["selected-keys", "menus"]));
1113
- }
1114
- }), xt = /* @__PURE__ */ I(gt, [["__scopeId", "data-v-dd5fd3b4"]]);
1115
- export {
1116
- pt as A,
1117
- Ee as C,
1118
- K as D,
1119
- Ge as E,
1120
- Ce as I,
1121
- xt as M,
1122
- dt as N,
1123
- _e as _,
1124
- Xe as a,
1125
- qe as b,
1126
- q as c,
1127
- at as d,
1128
- et as e,
1129
- ot as f
1130
- };