@ibiz-template/vue3-components 0.7.41-alpha.52 → 0.7.41-alpha.53
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.
- package/dist/{index-B0XiEslO.js → index-B65kCxFK.js} +1 -1
- package/dist/index-BF8huIAU.js +11 -0
- package/dist/{index-B6kaPJDO.js → index-CIEKzp7k.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-BbR16ZTX.js → wang-editor-uEldtkHX.js} +1 -1
- package/dist/{xlsx-util-BkJoKKKt.js → xlsx-util-DmPcr7YV.js} +1 -1
- package/es/common/action-toolbar/action-toolbar.css +1 -1
- package/es/locale/en/index.mjs +4 -0
- package/es/locale/zh-CN/index.mjs +4 -0
- package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +7 -6
- package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.mjs +3 -1
- package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.mjs +0 -1
- package/es/panel-component/user-message/internal-message/index.mjs +2 -0
- package/es/panel-component/user-message/internal-message/internal-message-group/internal-message-group.css +1 -0
- package/es/panel-component/user-message/internal-message/internal-message-group/internal-message-group.mjs +122 -0
- package/es/panel-component/user-message/internal-message/internal-message-html/internal-message-html.mjs +4 -2
- package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +5 -3
- package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +75 -12
- package/es/panel-component/user-message/internal-message/internal-message-text/internal-message-text.mjs +3 -1
- package/es/util/ai-chat-util/ai-chat-util.mjs +58 -6
- package/es/view-engine/wf-dyna-edit-view.engine.mjs +2 -2
- package/lib/common/action-toolbar/action-toolbar.css +1 -1
- package/lib/locale/en/index.cjs +4 -0
- package/lib/locale/zh-CN/index.cjs +4 -0
- package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +7 -6
- package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.cjs +3 -1
- package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.cjs +0 -1
- package/lib/panel-component/user-message/internal-message/index.cjs +2 -0
- package/lib/panel-component/user-message/internal-message/internal-message-group/internal-message-group.cjs +124 -0
- package/lib/panel-component/user-message/internal-message/internal-message-group/internal-message-group.css +1 -0
- package/lib/panel-component/user-message/internal-message/internal-message-html/internal-message-html.cjs +4 -2
- package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +5 -3
- package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +75 -12
- package/lib/panel-component/user-message/internal-message/internal-message-text/internal-message-text.cjs +3 -1
- package/lib/util/ai-chat-util/ai-chat-util.cjs +58 -6
- package/lib/view-engine/wf-dyna-edit-view.engine.cjs +2 -2
- package/package.json +8 -8
- package/dist/index-DFvp2f5r.js +0 -11
|
@@ -802,6 +802,10 @@ var index = {
|
|
|
802
802
|
notificationYet: "\u6682\u65E0\u901A\u77E5",
|
|
803
803
|
loadMore: "\u52A0\u8F7D\u66F4\u591A({length})",
|
|
804
804
|
onlyShowUnread: "\u53EA\u663E\u793A\u672A\u8BFB"
|
|
805
|
+
},
|
|
806
|
+
internalMessageGroup: {
|
|
807
|
+
expand: "\u5C55\u5F00",
|
|
808
|
+
collapse: "\u6536\u8D77"
|
|
805
809
|
}
|
|
806
810
|
},
|
|
807
811
|
customSetting: {
|
|
@@ -28,7 +28,8 @@ const InternalMessageContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
28
28
|
},
|
|
29
29
|
emits: {
|
|
30
30
|
toolbarClick: (_key) => true,
|
|
31
|
-
close: () => true
|
|
31
|
+
close: () => true,
|
|
32
|
+
read: () => true
|
|
32
33
|
},
|
|
33
34
|
setup(props, {
|
|
34
35
|
emit
|
|
@@ -51,7 +52,7 @@ const InternalMessageContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
51
52
|
const onToolbarClick = (event, key) => {
|
|
52
53
|
event.stopPropagation();
|
|
53
54
|
if (key === "read") {
|
|
54
|
-
|
|
55
|
+
emit("read");
|
|
55
56
|
} else {
|
|
56
57
|
emit("toolbarClick", key);
|
|
57
58
|
}
|
|
@@ -65,18 +66,18 @@ const InternalMessageContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
65
66
|
const onClick = async (event) => {
|
|
66
67
|
if (isClickable.value && props.provider.onClick) {
|
|
67
68
|
const isClose = await props.provider.onClick(props.message, event);
|
|
68
|
-
if (isClose)
|
|
69
|
+
if (isClose)
|
|
69
70
|
emit("close");
|
|
70
|
-
}
|
|
71
71
|
}
|
|
72
|
+
emit("read");
|
|
72
73
|
};
|
|
73
74
|
return {
|
|
74
75
|
ns,
|
|
75
76
|
isUnread,
|
|
76
77
|
isClickable,
|
|
77
78
|
finalToolbarItems,
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
onClick,
|
|
80
|
+
onToolbarClick
|
|
80
81
|
};
|
|
81
82
|
},
|
|
82
83
|
render() {
|
|
@@ -36,7 +36,8 @@ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
emits: {
|
|
39
|
-
close: () => true
|
|
39
|
+
close: () => true,
|
|
40
|
+
read: () => true
|
|
40
41
|
},
|
|
41
42
|
setup() {
|
|
42
43
|
const ns = vue3Util.useNamespace("internal-message");
|
|
@@ -58,6 +59,7 @@ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
|
|
|
58
59
|
"class": [this.ns.b()],
|
|
59
60
|
"message": this.message,
|
|
60
61
|
"provider": this.provider,
|
|
62
|
+
"onRead": () => this.$emit("read"),
|
|
61
63
|
"onClose": () => this.$emit("close")
|
|
62
64
|
}, {
|
|
63
65
|
default: () => [vue.createVNode("div", {
|
|
@@ -25,7 +25,6 @@ class InternalMessageDefaultProvider {
|
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
async onClick(message, _event) {
|
|
28
|
-
await ibiz.hub.notice.internalMessage.markRead(message);
|
|
29
28
|
const redirectUrl = ibiz.env.isMob ? message.mobile_url : message.url;
|
|
30
29
|
return this.openViewByUrl(redirectUrl);
|
|
31
30
|
}
|
|
@@ -10,10 +10,12 @@ var internalMessageHtml = require('./internal-message-html/internal-message-html
|
|
|
10
10
|
var internalMessageHtml_provider = require('./internal-message-html/internal-message-html.provider.cjs');
|
|
11
11
|
var internalMessageText_provider = require('./internal-message-text/internal-message-text.provider.cjs');
|
|
12
12
|
var internalMessageText = require('./internal-message-text/internal-message-text.cjs');
|
|
13
|
+
var internalMessageGroup = require('./internal-message-group/internal-message-group.cjs');
|
|
13
14
|
var internalMessageTab = require('./internal-message-tab/internal-message-tab.cjs');
|
|
14
15
|
|
|
15
16
|
"use strict";
|
|
16
17
|
function installInternalMessage(v) {
|
|
18
|
+
v.component(internalMessageGroup.InternalMessagGroup.name, internalMessageGroup.InternalMessagGroup);
|
|
17
19
|
v.component(internalMessageContainer.InternalMessageContainer.name, internalMessageContainer.InternalMessageContainer);
|
|
18
20
|
v.component(internalMessageDefault.InternalMessageDefault.name, internalMessageDefault.InternalMessageDefault);
|
|
19
21
|
v.component(internalMessageJson.InternalMessageJSON.name, internalMessageJson.InternalMessageJSON);
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
var core = require('@ibiz-template/core');
|
|
6
|
+
var runtime = require('@ibiz-template/runtime');
|
|
7
|
+
require('../../../../util/index.cjs');
|
|
8
|
+
require('./internal-message-group.css');
|
|
9
|
+
var wangEditorUtil = require('../../../../util/wang-editor-util/wang-editor-util.cjs');
|
|
10
|
+
|
|
11
|
+
"use strict";
|
|
12
|
+
const InternalMessagGroup = /* @__PURE__ */ vue.defineComponent({
|
|
13
|
+
name: "IBizInternalMessageGroup",
|
|
14
|
+
props: {
|
|
15
|
+
message: {
|
|
16
|
+
type: Object,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
provider: {
|
|
20
|
+
type: Object,
|
|
21
|
+
required: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
emits: {
|
|
25
|
+
close: (_msg) => true,
|
|
26
|
+
read: (_msg) => true
|
|
27
|
+
},
|
|
28
|
+
setup(props, {
|
|
29
|
+
emit
|
|
30
|
+
}) {
|
|
31
|
+
const ns = vue3Util.useNamespace("internal-message-group");
|
|
32
|
+
const isExpand = vue.ref(false);
|
|
33
|
+
const onExpandChange = () => {
|
|
34
|
+
isExpand.value = !isExpand.value;
|
|
35
|
+
};
|
|
36
|
+
const html = vue.computed(() => {
|
|
37
|
+
const {
|
|
38
|
+
content_type,
|
|
39
|
+
content
|
|
40
|
+
} = props.message;
|
|
41
|
+
if (content_type === "JSON")
|
|
42
|
+
return content ? JSON.parse(content).html : content;
|
|
43
|
+
if (content === "HTML")
|
|
44
|
+
return wangEditorUtil.parseHtml(content);
|
|
45
|
+
return content;
|
|
46
|
+
});
|
|
47
|
+
const onClose = (msg) => {
|
|
48
|
+
emit("close", msg);
|
|
49
|
+
};
|
|
50
|
+
const onRead = (msg) => {
|
|
51
|
+
emit("read", msg);
|
|
52
|
+
};
|
|
53
|
+
const onClick = async (event) => {
|
|
54
|
+
if (props.provider.onClick) {
|
|
55
|
+
const isClose = await props.provider.onClick(props.message, event);
|
|
56
|
+
if (isClose)
|
|
57
|
+
onClose();
|
|
58
|
+
}
|
|
59
|
+
onRead(props.message);
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
ns,
|
|
63
|
+
html,
|
|
64
|
+
isExpand,
|
|
65
|
+
onRead,
|
|
66
|
+
onClose,
|
|
67
|
+
onClick,
|
|
68
|
+
onExpandChange
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
render() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
return vue.createVNode("div", {
|
|
74
|
+
"class": this.ns.b()
|
|
75
|
+
}, [vue.createVNode("div", {
|
|
76
|
+
"class": this.ns.e("content")
|
|
77
|
+
}, [vue.createVNode("div", {
|
|
78
|
+
"innerHTML": this.html,
|
|
79
|
+
"onClick": this.onClick,
|
|
80
|
+
"class": this.ns.em("content", "html")
|
|
81
|
+
}, null), vue.createVNode("div", {
|
|
82
|
+
"class": this.ns.e("action")
|
|
83
|
+
}, [vue.createVNode("ion-icon", {
|
|
84
|
+
"class": this.ns.em("action", "item"),
|
|
85
|
+
"title": core.showTitle(this.isExpand ? ibiz.i18n.t("panelComponent.userMessage.internalMessageGroup.collapse") : ibiz.i18n.t("panelComponent.userMessage.internalMessageGroup.expand")),
|
|
86
|
+
"name": this.isExpand ? "chevron-down-outline" : "chevron-forward-outline",
|
|
87
|
+
"onClick": this.onExpandChange
|
|
88
|
+
}, null), vue.createVNode(vue.resolveComponent("iBizBadge"), {
|
|
89
|
+
"class": this.ns.e("badge"),
|
|
90
|
+
"value": (_a = this.message.children) == null ? void 0 : _a.length
|
|
91
|
+
}, null), vue.createVNode(vue.resolveComponent("iBizIcon"), {
|
|
92
|
+
"baseDir": "iconfont",
|
|
93
|
+
"icon": {
|
|
94
|
+
imagePath: "svg/read.svg"
|
|
95
|
+
},
|
|
96
|
+
"class": [this.ns.em("action", "item"), this.ns.em("action", "read")],
|
|
97
|
+
"title": core.showTitle(ibiz.i18n.t("panelComponent.userMessage.internalMessageContainer.markAsRead")),
|
|
98
|
+
"onClick": () => this.onRead(this.message)
|
|
99
|
+
}, null)])]), this.isExpand && vue.createVNode("div", {
|
|
100
|
+
"class": this.ns.e("children")
|
|
101
|
+
}, [(_b = this.message.children) == null ? void 0 : _b.map((msg) => {
|
|
102
|
+
let provider;
|
|
103
|
+
try {
|
|
104
|
+
provider = runtime.getInternalMessageProvider(msg);
|
|
105
|
+
} catch (error) {
|
|
106
|
+
ibiz.log.error(error);
|
|
107
|
+
}
|
|
108
|
+
if (provider)
|
|
109
|
+
return provider.render({
|
|
110
|
+
message: msg,
|
|
111
|
+
class: this.ns.em("children", "item"),
|
|
112
|
+
onClose: () => this.onClose(msg),
|
|
113
|
+
onRead: () => this.onRead(msg)
|
|
114
|
+
});
|
|
115
|
+
return vue.createVNode("div", {
|
|
116
|
+
"class": this.ns.em("children", "item")
|
|
117
|
+
}, [ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.noSupportType", {
|
|
118
|
+
type: msg.content_type
|
|
119
|
+
})]);
|
|
120
|
+
})])]);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
exports.InternalMessagGroup = InternalMessagGroup;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-internal-message-group{display:flex;flex-flow:column nowrap;height:auto}.ibiz-internal-message-group__content{position:relative;flex-shrink:0;min-height:60px;padding:var(--ibiz-spacing-tight);cursor:pointer}.ibiz-internal-message-group__content:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-internal-message-group__content:hover .ibiz-internal-message-group__badge{display:none}.ibiz-internal-message-group__content:hover .ibiz-internal-message-group__action--read{display:block}.ibiz-internal-message-group__badge{color:var(--ibiz-color-white)!important;background-color:var(--ibiz-color-danger)!important}.ibiz-internal-message-group__action{position:absolute;top:var(--ibiz-spacing-tight);right:var(--ibiz-spacing-tight);display:flex;gap:var(--ibiz-spacing-tight);align-items:center;width:40px;height:18px}.ibiz-internal-message-group__action--item{cursor:pointer}.ibiz-internal-message-group__action--item:hover{color:var(--ibiz-color-primary)}.ibiz-internal-message-group__action--read{display:none}.ibiz-internal-message-group__children{flex-grow:1;padding-left:var(--ibiz-spacing-loose)}.ibiz-internal-message-group__children--item{min-height:60px;padding:var(--ibiz-spacing-tight)}.ibiz-internal-message-group__children--item:hover{background-color:var(--ibiz-color-fill-1)}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
-
require('./internal-message-html.css');
|
|
6
5
|
require('../../../../util/index.cjs');
|
|
6
|
+
require('./internal-message-html.css');
|
|
7
7
|
var wangEditorUtil = require('../../../../util/wang-editor-util/wang-editor-util.cjs');
|
|
8
8
|
|
|
9
9
|
"use strict";
|
|
@@ -20,7 +20,8 @@ const InternalMessageHTML = /* @__PURE__ */ vue.defineComponent({
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
emits: {
|
|
23
|
-
close: () => true
|
|
23
|
+
close: () => true,
|
|
24
|
+
read: () => true
|
|
24
25
|
},
|
|
25
26
|
setup(props) {
|
|
26
27
|
const ns = vue3Util.useNamespace("internal-message-html");
|
|
@@ -37,6 +38,7 @@ const InternalMessageHTML = /* @__PURE__ */ vue.defineComponent({
|
|
|
37
38
|
"class": [this.ns.b()],
|
|
38
39
|
"message": this.message,
|
|
39
40
|
"provider": this.provider,
|
|
41
|
+
"onRead": () => this.$emit("read"),
|
|
40
42
|
"onClose": () => this.$emit("close")
|
|
41
43
|
}, {
|
|
42
44
|
default: () => [vue.createVNode("div", {
|
|
@@ -21,7 +21,8 @@ const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
emits: {
|
|
24
|
-
close: () => true
|
|
24
|
+
close: () => true,
|
|
25
|
+
read: () => true
|
|
25
26
|
},
|
|
26
27
|
setup(props, {
|
|
27
28
|
emit
|
|
@@ -60,10 +61,10 @@ const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
61
|
};
|
|
61
62
|
return {
|
|
62
63
|
ns,
|
|
63
|
-
jsonContent,
|
|
64
|
-
toolbarItems,
|
|
65
64
|
redirectUrl,
|
|
66
65
|
isWFMessage,
|
|
66
|
+
jsonContent,
|
|
67
|
+
toolbarItems,
|
|
67
68
|
onToolbarClick
|
|
68
69
|
};
|
|
69
70
|
},
|
|
@@ -106,6 +107,7 @@ const InternalMessageJSON = /* @__PURE__ */ vue.defineComponent({
|
|
|
106
107
|
"clickable": !!this.redirectUrl || !!this.isWFMessage,
|
|
107
108
|
"toolbarItems": this.toolbarItems,
|
|
108
109
|
"onToolbarClick": this.onToolbarClick,
|
|
110
|
+
"onRead": () => this.$emit("read"),
|
|
109
111
|
"onClose": () => this.$emit("close")
|
|
110
112
|
}, _isSlot(content) ? content : {
|
|
111
113
|
default: () => [content]
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
|
+
var dayjs = require('dayjs');
|
|
5
|
+
var ramda = require('ramda');
|
|
4
6
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
7
|
var runtime = require('@ibiz-template/runtime');
|
|
6
8
|
require('./internal-message-tab.css');
|
|
7
|
-
var ramda = require('ramda');
|
|
8
9
|
|
|
9
10
|
"use strict";
|
|
10
11
|
const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -30,6 +31,18 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
|
30
31
|
const hiddenPopover = () => {
|
|
31
32
|
emit("hiddenPopover");
|
|
32
33
|
};
|
|
34
|
+
const onMarkRead = async (message, filter) => {
|
|
35
|
+
var _a2;
|
|
36
|
+
if ((_a2 = message.children) == null ? void 0 : _a2.length) {
|
|
37
|
+
await Promise.all(message.children.filter((child) => child.id !== (filter == null ? void 0 : filter.id)).map((child) => ibiz.hub.notice.internalMessage.markRead(child)));
|
|
38
|
+
} else {
|
|
39
|
+
await ibiz.hub.notice.internalMessage.markRead(message);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const onGroupClose = async (message, filter) => {
|
|
43
|
+
hiddenPopover();
|
|
44
|
+
await onMarkRead(message, filter);
|
|
45
|
+
};
|
|
33
46
|
const c = props.controller;
|
|
34
47
|
const unreadOnlyTag = "".concat((_a = ibiz.appData) == null ? void 0 : _a.context.srfsystemid, "-unreadOnly");
|
|
35
48
|
const hasNotice = vue.ref(false);
|
|
@@ -47,15 +60,55 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
|
47
60
|
}
|
|
48
61
|
});
|
|
49
62
|
const allItems = vue.ref([]);
|
|
63
|
+
const messages = vue.ref([]);
|
|
50
64
|
const state = vue.reactive({
|
|
51
65
|
total: 0,
|
|
52
66
|
pageSize: 0,
|
|
53
67
|
unreadOnly: c.unreadOnly
|
|
54
68
|
});
|
|
69
|
+
const handleMessageGroup = () => {
|
|
70
|
+
const grouped = {};
|
|
71
|
+
const ungrouped = [];
|
|
72
|
+
allItems.value.forEach((item) => {
|
|
73
|
+
const key = ibiz.env.isMob ? "".concat(item.message_type).concat(item.mobile_url) : "".concat(item.message_type).concat(item.url);
|
|
74
|
+
const shouldGroup = key && item.status === "RECEIVED";
|
|
75
|
+
if (shouldGroup) {
|
|
76
|
+
if (!grouped[key])
|
|
77
|
+
grouped[key] = [];
|
|
78
|
+
grouped[key].push({
|
|
79
|
+
...item
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
ungrouped.push({
|
|
83
|
+
...item
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
const finalResult = [...ungrouped];
|
|
88
|
+
Object.values(grouped).forEach((group) => {
|
|
89
|
+
if (group.length === 1) {
|
|
90
|
+
finalResult.push({
|
|
91
|
+
...group[0]
|
|
92
|
+
});
|
|
93
|
+
} else {
|
|
94
|
+
const parent = {
|
|
95
|
+
...group[0]
|
|
96
|
+
};
|
|
97
|
+
parent.children = group.map((item) => ({
|
|
98
|
+
...item
|
|
99
|
+
}));
|
|
100
|
+
finalResult.push(parent);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
messages.value = finalResult.sort((a, b) => {
|
|
104
|
+
return dayjs(a.update_time).isAfter(b.update_time) ? -1 : 1;
|
|
105
|
+
});
|
|
106
|
+
};
|
|
55
107
|
const updateData = () => {
|
|
56
|
-
allItems.value = ramda.clone(c.messages);
|
|
57
108
|
state.total = c.total;
|
|
58
109
|
state.pageSize = c.size;
|
|
110
|
+
allItems.value = ramda.clone(c.messages);
|
|
111
|
+
handleMessageGroup();
|
|
59
112
|
};
|
|
60
113
|
updateData();
|
|
61
114
|
const updateUnreadOnlyChange = (val) => {
|
|
@@ -92,11 +145,14 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
145
|
});
|
|
93
146
|
return {
|
|
94
147
|
ns,
|
|
95
|
-
allItems,
|
|
96
148
|
state,
|
|
97
|
-
|
|
149
|
+
allItems,
|
|
150
|
+
messages,
|
|
98
151
|
showMore,
|
|
99
|
-
|
|
152
|
+
onMarkRead,
|
|
153
|
+
onGroupClose,
|
|
154
|
+
switchChange,
|
|
155
|
+
hiddenPopover
|
|
100
156
|
};
|
|
101
157
|
},
|
|
102
158
|
render() {
|
|
@@ -105,20 +161,27 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
|
105
161
|
"class": [this.ns.b()]
|
|
106
162
|
}, [vue.createVNode("div", {
|
|
107
163
|
"class": this.ns.b("content")
|
|
108
|
-
}, [this.allItems.length > 0 && this.
|
|
164
|
+
}, [this.allItems.length > 0 && this.messages.map((msg) => {
|
|
165
|
+
var _a;
|
|
109
166
|
let provider;
|
|
110
167
|
try {
|
|
111
168
|
provider = runtime.getInternalMessageProvider(msg);
|
|
112
169
|
} catch (error) {
|
|
113
170
|
ibiz.log.error(error);
|
|
114
171
|
}
|
|
115
|
-
if (provider)
|
|
116
|
-
return
|
|
117
|
-
|
|
172
|
+
if (provider)
|
|
173
|
+
return ((_a = msg.children) == null ? void 0 : _a.length) ? vue.createVNode(vue.resolveComponent("iBizInternalMessageGroup"), {
|
|
174
|
+
"message": msg,
|
|
175
|
+
"provider": provider,
|
|
176
|
+
"class": this.ns.e("group"),
|
|
177
|
+
"onRead": this.onMarkRead,
|
|
178
|
+
"onClose": (filter) => this.onGroupClose(msg, filter)
|
|
179
|
+
}, null) : provider.render({
|
|
118
180
|
message: msg,
|
|
119
|
-
|
|
181
|
+
class: this.ns.e("item"),
|
|
182
|
+
onClose: this.hiddenPopover,
|
|
183
|
+
onRead: () => this.onMarkRead(msg)
|
|
120
184
|
});
|
|
121
|
-
}
|
|
122
185
|
return vue.createVNode("div", {
|
|
123
186
|
"class": this.ns.e("item")
|
|
124
187
|
}, [ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.noSupportType", {
|
|
@@ -137,7 +200,7 @@ const InternalMessageTab = /* @__PURE__ */ vue.defineComponent({
|
|
|
137
200
|
"value": this.state.unreadOnly,
|
|
138
201
|
"onChange": this.switchChange,
|
|
139
202
|
"class": this.ns.be("footer", "switch")
|
|
140
|
-
}, null),
|
|
203
|
+
}, null), ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.onlyShowUnread")])]);
|
|
141
204
|
}
|
|
142
205
|
});
|
|
143
206
|
|
|
@@ -18,7 +18,8 @@ const InternalMessageText = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
emits: {
|
|
21
|
-
close: () => true
|
|
21
|
+
close: () => true,
|
|
22
|
+
read: () => true
|
|
22
23
|
},
|
|
23
24
|
setup() {
|
|
24
25
|
const ns = vue3Util.useNamespace("internal-message-text");
|
|
@@ -36,6 +37,7 @@ const InternalMessageText = /* @__PURE__ */ vue.defineComponent({
|
|
|
36
37
|
"class": [this.ns.b()],
|
|
37
38
|
"message": this.message,
|
|
38
39
|
"provider": this.provider,
|
|
40
|
+
"onRead": () => this.$emit("read"),
|
|
39
41
|
"onClose": () => this.$emit("close")
|
|
40
42
|
}, {
|
|
41
43
|
default: () => [vue.createVNode("div", {
|
|
@@ -36,6 +36,7 @@ class AIChatUtil {
|
|
|
36
36
|
* @param data
|
|
37
37
|
*/
|
|
38
38
|
async getEditorExAIChatParams(editorParams, context, params, data, deACMode, args) {
|
|
39
|
+
var _a;
|
|
39
40
|
const containerOptions = {};
|
|
40
41
|
if (editorParams.enableaiminimize) {
|
|
41
42
|
containerOptions.enableAIMinimize = editorParams.enableaiminimize === "true";
|
|
@@ -275,13 +276,16 @@ class AIChatUtil {
|
|
|
275
276
|
}
|
|
276
277
|
return null;
|
|
277
278
|
};
|
|
279
|
+
const app = ibiz.hub.getApp(context.srfappid);
|
|
280
|
+
const folder = app.model.defaultOSSCat || ((_a = app.model.userParam) == null ? void 0 : _a.DefaultOSSCat);
|
|
278
281
|
chatOptions.uploader = {
|
|
282
|
+
folder: "".concat(folder, "$"),
|
|
279
283
|
onUpload: async (file, reportProgress, options) => {
|
|
280
284
|
const fileMeata = ibiz.util.file.calcFileUpDownUrl(
|
|
281
285
|
(options == null ? void 0 : options.context) || context,
|
|
282
286
|
(options == null ? void 0 : options.params) || params,
|
|
283
287
|
{},
|
|
284
|
-
{ enableNoAccess: true }
|
|
288
|
+
{ enableNoAccess: true, osscat: folder }
|
|
285
289
|
);
|
|
286
290
|
const fielUploadHeaders = ibiz.util.file.getUploadHeaders();
|
|
287
291
|
const formData = new FormData();
|
|
@@ -297,16 +301,38 @@ class AIChatUtil {
|
|
|
297
301
|
}
|
|
298
302
|
});
|
|
299
303
|
return res.data;
|
|
304
|
+
},
|
|
305
|
+
onDownLoad: async (file, options) => {
|
|
306
|
+
const { downloadUrl } = ibiz.util.file.calcFileUpDownUrl(
|
|
307
|
+
(options == null ? void 0 : options.context) || context,
|
|
308
|
+
(options == null ? void 0 : options.params) || params,
|
|
309
|
+
{},
|
|
310
|
+
{ enableNoAccess: true, osscat: folder }
|
|
311
|
+
);
|
|
312
|
+
const url = downloadUrl.replace("%fileId%", file.fileid);
|
|
313
|
+
await ibiz.util.file.fileDownload(
|
|
314
|
+
url,
|
|
315
|
+
file.filename,
|
|
316
|
+
{
|
|
317
|
+
context: (options == null ? void 0 : options.context) || context,
|
|
318
|
+
params: (options == null ? void 0 : options.params) || params,
|
|
319
|
+
data: {},
|
|
320
|
+
file: { fileId: file.id, ...file },
|
|
321
|
+
extraParams: { enableNoAccess: true, osscat: folder }
|
|
322
|
+
},
|
|
323
|
+
void 0,
|
|
324
|
+
true
|
|
325
|
+
);
|
|
300
326
|
}
|
|
301
327
|
};
|
|
302
328
|
chatOptions.extendToolbarClick = async (event, source, context2, params2, data2) => {
|
|
303
|
-
var
|
|
329
|
+
var _a2, _b, _c;
|
|
304
330
|
const { id: id2, isPluginApp } = source;
|
|
305
331
|
let appId = source.appId;
|
|
306
332
|
const tempContext = core.IBizContext.create(context2);
|
|
307
333
|
if (isPluginApp) {
|
|
308
334
|
const mainApp = ibiz.hub.getApp();
|
|
309
|
-
const targetApp = (
|
|
335
|
+
const targetApp = (_a2 = mainApp.model.subAppRefs) == null ? void 0 : _a2.find(
|
|
310
336
|
(subAppRef) => subAppRef.appId.endsWith("__".concat(appId))
|
|
311
337
|
);
|
|
312
338
|
if (targetApp) {
|
|
@@ -357,6 +383,7 @@ class AIChatUtil {
|
|
|
357
383
|
* @returns
|
|
358
384
|
*/
|
|
359
385
|
async getUIActionExAIChatParams(context, params, data, deACMode, args) {
|
|
386
|
+
var _a;
|
|
360
387
|
const containerOptions = {};
|
|
361
388
|
if (params.hasOwnProperty("enableaiminimize")) {
|
|
362
389
|
containerOptions.enableAIMinimize = params.enableaiminimize === "true";
|
|
@@ -653,13 +680,16 @@ class AIChatUtil {
|
|
|
653
680
|
}
|
|
654
681
|
return null;
|
|
655
682
|
};
|
|
683
|
+
const app = ibiz.hub.getApp(context.srfappid);
|
|
684
|
+
const folder = app.model.defaultOSSCat || ((_a = app.model.userParam) == null ? void 0 : _a.DefaultOSSCat);
|
|
656
685
|
chatOptions.uploader = {
|
|
686
|
+
folder: "".concat(folder, "$"),
|
|
657
687
|
onUpload: async (file, reportProgress, options) => {
|
|
658
688
|
const { uploadUrl } = ibiz.util.file.calcFileUpDownUrl(
|
|
659
689
|
(options == null ? void 0 : options.context) || context,
|
|
660
690
|
(options == null ? void 0 : options.params) || params,
|
|
661
691
|
{},
|
|
662
|
-
{ enableNoAccess: true }
|
|
692
|
+
{ enableNoAccess: true, osscat: folder }
|
|
663
693
|
);
|
|
664
694
|
const headers = ibiz.util.file.getUploadHeaders();
|
|
665
695
|
const formData = new FormData();
|
|
@@ -675,16 +705,38 @@ class AIChatUtil {
|
|
|
675
705
|
}
|
|
676
706
|
});
|
|
677
707
|
return res.data;
|
|
708
|
+
},
|
|
709
|
+
onDownLoad: async (file, options) => {
|
|
710
|
+
const { downloadUrl } = ibiz.util.file.calcFileUpDownUrl(
|
|
711
|
+
(options == null ? void 0 : options.context) || context,
|
|
712
|
+
(options == null ? void 0 : options.params) || params,
|
|
713
|
+
{},
|
|
714
|
+
{ enableNoAccess: true, osscat: folder }
|
|
715
|
+
);
|
|
716
|
+
const url = downloadUrl.replace("%fileId%", file.fileid);
|
|
717
|
+
await ibiz.util.file.fileDownload(
|
|
718
|
+
url,
|
|
719
|
+
file.filename,
|
|
720
|
+
{
|
|
721
|
+
context: (options == null ? void 0 : options.context) || context,
|
|
722
|
+
params: (options == null ? void 0 : options.params) || params,
|
|
723
|
+
data: {},
|
|
724
|
+
file: { fileId: file.id, ...file },
|
|
725
|
+
extraParams: { enableNoAccess: true, osscat: folder }
|
|
726
|
+
},
|
|
727
|
+
void 0,
|
|
728
|
+
true
|
|
729
|
+
);
|
|
678
730
|
}
|
|
679
731
|
};
|
|
680
732
|
chatOptions.extendToolbarClick = async (event, source, context2, params2, data2) => {
|
|
681
|
-
var
|
|
733
|
+
var _a2, _b, _c;
|
|
682
734
|
const { id: id2, isPluginApp } = source;
|
|
683
735
|
let appId = source.appId;
|
|
684
736
|
const tempContext = core.IBizContext.create(context2);
|
|
685
737
|
if (isPluginApp) {
|
|
686
738
|
const mainApp = ibiz.hub.getApp();
|
|
687
|
-
const targetApp = (
|
|
739
|
+
const targetApp = (_a2 = mainApp.model.subAppRefs) == null ? void 0 : _a2.find(
|
|
688
740
|
(subAppRef) => subAppRef.appId.endsWith("__".concat(appId))
|
|
689
741
|
);
|
|
690
742
|
if (targetApp) {
|
|
@@ -224,7 +224,7 @@ class WFDynaEditViewEngine extends editView_engine.EditViewEngine {
|
|
|
224
224
|
const submitView = runtime.getWFSubmitViewId(this.view.model, link);
|
|
225
225
|
if (!submitView) {
|
|
226
226
|
await this.form.wfSubmit({ viewParam: newParams });
|
|
227
|
-
await this.view.closeView();
|
|
227
|
+
await this.view.closeView({ ok: true, data: this.form.getData() });
|
|
228
228
|
return;
|
|
229
229
|
}
|
|
230
230
|
const result = await ibiz.commands.execute(
|
|
@@ -234,7 +234,7 @@ class WFDynaEditViewEngine extends editView_engine.EditViewEngine {
|
|
|
234
234
|
newParams
|
|
235
235
|
);
|
|
236
236
|
if (result.ok) {
|
|
237
|
-
await this.view.closeView();
|
|
237
|
+
await this.view.closeView({ ok: true, data: this.form.getData() });
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/vue3-components",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.53",
|
|
4
4
|
"description": "web端组件库(vue3)",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
32
32
|
"@floating-ui/dom": "^1.5.3",
|
|
33
|
-
"@ibiz-template-plugin/ai-chat": "^0.0.
|
|
33
|
+
"@ibiz-template-plugin/ai-chat": "^0.0.44",
|
|
34
34
|
"@ibiz-template-plugin/gantt": "0.1.8-alpha.378",
|
|
35
|
-
"@ibiz-template-plugin/bi-report": "0.0.
|
|
35
|
+
"@ibiz-template-plugin/bi-report": "0.0.31",
|
|
36
36
|
"@ibiz-template-plugin/data-view": "0.0.6",
|
|
37
37
|
"@ibiz-template/core": "0.7.41-alpha.53",
|
|
38
|
-
"@ibiz-template/devtool": "0.0.
|
|
39
|
-
"@ibiz-template/model-helper": "0.7.41-alpha.
|
|
40
|
-
"@ibiz-template/runtime": "0.7.41-alpha.
|
|
38
|
+
"@ibiz-template/devtool": "0.0.14",
|
|
39
|
+
"@ibiz-template/model-helper": "0.7.41-alpha.55",
|
|
40
|
+
"@ibiz-template/runtime": "0.7.41-alpha.55",
|
|
41
41
|
"@ibiz-template/theme": "0.7.39",
|
|
42
|
-
"@ibiz-template/vue3-util": "0.7.41-alpha.
|
|
42
|
+
"@ibiz-template/vue3-util": "0.7.41-alpha.55",
|
|
43
43
|
"@ibiz-template/web-theme": "3.10.0",
|
|
44
44
|
"@ibiz/model-core": "^0.1.84",
|
|
45
45
|
"@imengyu/vue3-context-menu": "^1.3.5",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@commitlint/cli": "^18.5.0",
|
|
76
76
|
"@commitlint/config-conventional": "^18.5.0",
|
|
77
|
-
"@ibiz-template/cli": "^0.3.
|
|
77
|
+
"@ibiz-template/cli": "^0.3.31",
|
|
78
78
|
"@types/lodash-es": "^4.17.12",
|
|
79
79
|
"@types/sortablejs": "^1.15.8",
|
|
80
80
|
"@types/node": "^20.11.5",
|