@ibiz-template/vue3-components 0.7.41-alpha.42 → 0.7.41-alpha.43
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/ibiz-markdown-editor-DJ662N4_.js +1 -0
- package/dist/{index-CaWTEUU1.js → index-CG3sQH0b.js} +1 -1
- package/dist/index-D3x_MFr-.js +11 -0
- package/dist/{index-CD2XM6M6.js → index-kZrZndeH.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/wang-editor-DDSO3Ha9.js +1 -0
- package/dist/{xlsx-util-B1eGfH7d.js → xlsx-util-8YSXhmdI.js} +1 -1
- package/es/control/toolbar/export-excel/export-excel.mjs +19 -4
- package/es/editor/code/monaco-editor/monaco-editor.mjs +6 -194
- package/es/editor/html/wang-editor/module/ai-module.mjs +1 -1
- package/es/editor/html/wang-editor/wang-editor.mjs +20 -201
- package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +7 -223
- package/es/editor/text-box/input/input.mjs +9 -197
- package/es/locale/en/index.mjs +24 -1
- package/es/locale/zh-CN/index.mjs +24 -1
- package/es/panel-component/panel-app-title/panel-app-title.mjs +19 -42
- package/es/util/ai-chat-util/ai-chat-util.mjs +637 -7
- package/es/util/ai-chat-util/ai-feedback/ai-feedback.css +1 -0
- package/es/util/ai-chat-util/ai-feedback/ai-feedback.mjs +130 -0
- package/es/util/app-util/app-util.mjs +24 -246
- package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +5 -1
- package/lib/control/toolbar/export-excel/export-excel.cjs +18 -3
- package/lib/editor/code/monaco-editor/monaco-editor.cjs +6 -194
- package/lib/editor/html/wang-editor/module/ai-module.cjs +1 -1
- package/lib/editor/html/wang-editor/wang-editor.cjs +19 -200
- package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +7 -223
- package/lib/editor/text-box/input/input.cjs +8 -196
- package/lib/locale/en/index.cjs +24 -1
- package/lib/locale/zh-CN/index.cjs +24 -1
- package/lib/panel-component/panel-app-title/panel-app-title.cjs +18 -41
- package/lib/util/ai-chat-util/ai-chat-util.cjs +635 -5
- package/lib/util/ai-chat-util/ai-feedback/ai-feedback.cjs +132 -0
- package/lib/util/ai-chat-util/ai-feedback/ai-feedback.css +1 -0
- package/lib/util/app-util/app-util.cjs +23 -245
- package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +5 -1
- package/package.json +7 -7
- package/dist/ibiz-markdown-editor-pEdb_gS_.js +0 -1
- package/dist/index-BObZTN7-.js +0 -11
- package/dist/wang-editor-Ck-JCWqK.js +0 -1
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import Cherry from 'cherry-markdown';
|
|
2
2
|
import { nextTick } from 'vue';
|
|
3
|
-
import { createUUID } from 'qx-util';
|
|
4
3
|
import { useUIStore } from '@ibiz-template/vue3-util';
|
|
5
|
-
import { IBizContext } from '@ibiz-template/core';
|
|
6
|
-
import { UIActionUtil, SysUIActionTag } from '@ibiz-template/runtime';
|
|
7
4
|
|
|
8
5
|
"use strict";
|
|
9
6
|
function initCustomMenu(c, opts) {
|
|
@@ -60,28 +57,17 @@ function initCustomMenu(c, opts) {
|
|
|
60
57
|
const appDataEntityId = c.model.appDataEntityId;
|
|
61
58
|
if (!appDataEntityId || !c.deACMode)
|
|
62
59
|
return;
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
);
|
|
68
|
-
const {
|
|
69
|
-
contentToolbarItems,
|
|
70
|
-
footerToolbarItems,
|
|
71
|
-
questionToolbarItems,
|
|
72
|
-
otherToolbarItems
|
|
73
|
-
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
74
|
-
const { containerOptions, chatOptions } = ibiz.aiChatUtil.getEditorExAIChatParams(
|
|
60
|
+
const { zIndex } = useUIStore();
|
|
61
|
+
const containerZIndex = zIndex.increment();
|
|
62
|
+
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
63
|
+
const { containerOptions, chatOptions } = await ibiz.aiChatUtil.getEditorExAIChatParams(
|
|
75
64
|
c.editorParams,
|
|
76
65
|
c.context,
|
|
77
66
|
c.params,
|
|
78
|
-
props.data
|
|
67
|
+
props.data,
|
|
68
|
+
c.deACMode,
|
|
69
|
+
{ chatInstance, view: c.view, ctrl: c.ctrl }
|
|
79
70
|
);
|
|
80
|
-
const { zIndex } = useUIStore();
|
|
81
|
-
const containerZIndex = zIndex.increment();
|
|
82
|
-
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
83
|
-
let id = "";
|
|
84
|
-
let abortController;
|
|
85
71
|
chatInstance.create({
|
|
86
72
|
containerOptions: {
|
|
87
73
|
zIndex: containerZIndex,
|
|
@@ -92,89 +78,7 @@ function initCustomMenu(c, opts) {
|
|
|
92
78
|
context: { ...c.context },
|
|
93
79
|
params: { ...c.params, srfactag: c.deACMode.codeName },
|
|
94
80
|
appDataEntityId,
|
|
95
|
-
contentToolbarItems,
|
|
96
|
-
footerToolbarItems,
|
|
97
|
-
questionToolbarItems,
|
|
98
|
-
otherToolbarItems,
|
|
99
|
-
aiAgentlist,
|
|
100
81
|
...chatOptions,
|
|
101
|
-
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
102
|
-
id = createUUID();
|
|
103
|
-
abortController = new AbortController();
|
|
104
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
105
|
-
try {
|
|
106
|
-
const questionRequestData = {
|
|
107
|
-
messages: arr,
|
|
108
|
-
sessionid
|
|
109
|
-
};
|
|
110
|
-
if (srfaiagent) {
|
|
111
|
-
questionRequestData.srfaiagent = srfaiagent;
|
|
112
|
-
}
|
|
113
|
-
if (srfmode) {
|
|
114
|
-
questionRequestData.mode = srfmode;
|
|
115
|
-
}
|
|
116
|
-
await deService.aiChatSse(
|
|
117
|
-
(msg) => {
|
|
118
|
-
if (msg.actionstate === 20 && msg.actionresult) {
|
|
119
|
-
aiChat.addMessage({
|
|
120
|
-
messageid: id,
|
|
121
|
-
state: msg.actionstate,
|
|
122
|
-
type: "DEFAULT",
|
|
123
|
-
role: "ASSISTANT",
|
|
124
|
-
content: msg.actionresult
|
|
125
|
-
});
|
|
126
|
-
} else if (msg.actionstate === 30 && msg.actionresult) {
|
|
127
|
-
const result = JSON.parse(msg.actionresult);
|
|
128
|
-
const choices = result.choices;
|
|
129
|
-
if (choices && choices.length > 0) {
|
|
130
|
-
aiChat.replaceMessage({
|
|
131
|
-
messageid: id,
|
|
132
|
-
state: msg.actionstate,
|
|
133
|
-
type: "DEFAULT",
|
|
134
|
-
role: "ASSISTANT",
|
|
135
|
-
content: choices[0].content || ""
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
} else if (msg.actionstate === 40) {
|
|
139
|
-
aiChat.replaceMessage({
|
|
140
|
-
messageid: id,
|
|
141
|
-
state: msg.actionstate,
|
|
142
|
-
type: "ERROR",
|
|
143
|
-
role: "ASSISTANT",
|
|
144
|
-
content: msg.actionresult
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
abortController,
|
|
149
|
-
ctx,
|
|
150
|
-
param,
|
|
151
|
-
{ ...questionRequestData }
|
|
152
|
-
);
|
|
153
|
-
} catch (error) {
|
|
154
|
-
aiChat.replaceMessage({
|
|
155
|
-
messageid: id,
|
|
156
|
-
state: 40,
|
|
157
|
-
type: "ERROR",
|
|
158
|
-
role: "ASSISTANT",
|
|
159
|
-
content: error.message || ibiz.i18n.t("app.aiError")
|
|
160
|
-
});
|
|
161
|
-
abortController == null ? void 0 : abortController.abort();
|
|
162
|
-
} finally {
|
|
163
|
-
aiChat.completeMessage(id, true);
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
abortQuestion: async (aiChat) => {
|
|
168
|
-
abortController == null ? void 0 : abortController.abort();
|
|
169
|
-
await aiChat.stopMessage({
|
|
170
|
-
messageid: id,
|
|
171
|
-
state: 30,
|
|
172
|
-
type: "DEFAULT",
|
|
173
|
-
role: "ASSISTANT",
|
|
174
|
-
content: ""
|
|
175
|
-
});
|
|
176
|
-
await aiChat.completeMessage(id, true);
|
|
177
|
-
},
|
|
178
82
|
action: (action, message) => {
|
|
179
83
|
if (action === "backfill") {
|
|
180
84
|
if (isEditing.value) {
|
|
@@ -183,126 +87,6 @@ function initCustomMenu(c, opts) {
|
|
|
183
87
|
emit("change", message.realcontent);
|
|
184
88
|
}
|
|
185
89
|
}
|
|
186
|
-
},
|
|
187
|
-
history: async (ctx, param, other) => {
|
|
188
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
189
|
-
const historyRequestData = {};
|
|
190
|
-
if (other.appendCurData) {
|
|
191
|
-
Object.assign(historyRequestData, {
|
|
192
|
-
...other.appendCurData
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
if (other.srfaiagent) {
|
|
196
|
-
Object.assign(historyRequestData, {
|
|
197
|
-
srfaiagent: other.srfaiagent
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
if (other.srfmode) {
|
|
201
|
-
Object.assign(historyRequestData, {
|
|
202
|
-
mode: other.srfmode
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
const result = await deService.aiChatHistory(
|
|
206
|
-
ctx,
|
|
207
|
-
param,
|
|
208
|
-
historyRequestData
|
|
209
|
-
);
|
|
210
|
-
if (result.data && Array.isArray(result.data)) {
|
|
211
|
-
let preMsg;
|
|
212
|
-
result.data.forEach((item) => {
|
|
213
|
-
if (item.role === "TOOL") {
|
|
214
|
-
if (preMsg && item.content) {
|
|
215
|
-
chatInstance.aiChat.updateRecommendPrompt(
|
|
216
|
-
preMsg,
|
|
217
|
-
item.content
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
} else {
|
|
221
|
-
const msg = {
|
|
222
|
-
messageid: createUUID(),
|
|
223
|
-
state: 30,
|
|
224
|
-
type: "DEFAULT",
|
|
225
|
-
role: item.role,
|
|
226
|
-
content: item.content,
|
|
227
|
-
completed: true
|
|
228
|
-
};
|
|
229
|
-
preMsg = msg;
|
|
230
|
-
chatInstance.aiChat.addMessage(msg);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
return true;
|
|
235
|
-
},
|
|
236
|
-
recommendPrompt: async (ctx, param, other) => {
|
|
237
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
238
|
-
const result = await deService.aiChatRecommendPrompt(
|
|
239
|
-
ctx,
|
|
240
|
-
param,
|
|
241
|
-
other.message
|
|
242
|
-
);
|
|
243
|
-
if (result.ok && result.data) {
|
|
244
|
-
const choices = result.data.choices;
|
|
245
|
-
if (choices && choices.length > 0) {
|
|
246
|
-
return choices[0];
|
|
247
|
-
}
|
|
248
|
-
return null;
|
|
249
|
-
}
|
|
250
|
-
return null;
|
|
251
|
-
},
|
|
252
|
-
uploader: {
|
|
253
|
-
onUpload: async (file, reportProgress, options) => {
|
|
254
|
-
const fileMeata = ibiz.util.file.calcFileUpDownUrl(
|
|
255
|
-
(options == null ? void 0 : options.context) || c.context,
|
|
256
|
-
(options == null ? void 0 : options.params) || c.params,
|
|
257
|
-
{}
|
|
258
|
-
);
|
|
259
|
-
const fielUploadHeaders = ibiz.util.file.getUploadHeaders();
|
|
260
|
-
const formData = new FormData();
|
|
261
|
-
formData.append("file", file);
|
|
262
|
-
const res = await ibiz.net.axios({
|
|
263
|
-
url: fileMeata.uploadUrl,
|
|
264
|
-
method: "post",
|
|
265
|
-
headers: fielUploadHeaders,
|
|
266
|
-
data: formData,
|
|
267
|
-
onUploadProgress: (progressEvent) => {
|
|
268
|
-
const percent = progressEvent.loaded / progressEvent.total * 100;
|
|
269
|
-
reportProgress(percent);
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
return res.data;
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
extendToolbarClick: async (event, source, context, params, data) => {
|
|
276
|
-
var _a, _b;
|
|
277
|
-
const result = await UIActionUtil.exec(
|
|
278
|
-
source.id,
|
|
279
|
-
{
|
|
280
|
-
view: c.view,
|
|
281
|
-
ctrl: c.ctrl,
|
|
282
|
-
context: IBizContext.create(context),
|
|
283
|
-
params,
|
|
284
|
-
data: [data],
|
|
285
|
-
event
|
|
286
|
-
},
|
|
287
|
-
source.appId
|
|
288
|
-
);
|
|
289
|
-
if (result.closeView) {
|
|
290
|
-
c.view.closeView({ ok: true });
|
|
291
|
-
} else if (result.refresh) {
|
|
292
|
-
switch (result.refreshMode) {
|
|
293
|
-
case 1:
|
|
294
|
-
c.view.callUIAction(SysUIActionTag.REFRESH);
|
|
295
|
-
break;
|
|
296
|
-
case 2:
|
|
297
|
-
(_a = c.view.parentView) == null ? void 0 : _a.callUIAction(SysUIActionTag.REFRESH);
|
|
298
|
-
break;
|
|
299
|
-
case 3:
|
|
300
|
-
(_b = c.view.getTopView()) == null ? void 0 : _b.callUIAction(SysUIActionTag.REFRESH);
|
|
301
|
-
break;
|
|
302
|
-
default:
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
return result;
|
|
306
90
|
}
|
|
307
91
|
}
|
|
308
92
|
});
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { isVNode, defineComponent, createVNode, resolveComponent, mergeProps, ref, computed, watch, onUnmounted } from 'vue';
|
|
2
2
|
import { debounce } from 'lodash-es';
|
|
3
3
|
import { useNamespace, useUIStore, useCodeListListen, getEditorEmits, getInputProps } from '@ibiz-template/vue3-util';
|
|
4
|
-
import {
|
|
5
|
-
import { isEmoji, base64ToStr, IBizContext } from '@ibiz-template/core';
|
|
6
|
-
import { createUUID } from 'qx-util';
|
|
4
|
+
import { isEmoji, base64ToStr } from '@ibiz-template/core';
|
|
7
5
|
import './input.css';
|
|
8
6
|
|
|
9
7
|
"use strict";
|
|
@@ -164,24 +162,19 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
164
162
|
const appDataEntityId = c.model.appDataEntityId;
|
|
165
163
|
if (!appDataEntityId || !c.deACMode)
|
|
166
164
|
return;
|
|
167
|
-
const {
|
|
168
|
-
contentToolbarItems,
|
|
169
|
-
footerToolbarItems,
|
|
170
|
-
questionToolbarItems,
|
|
171
|
-
otherToolbarItems
|
|
172
|
-
} = ibiz.aiChatUtil.calcAiToolbarItemsByAc(c.deACMode);
|
|
173
|
-
const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(c.context, c.params, c.editorParams);
|
|
174
|
-
const {
|
|
175
|
-
containerOptions,
|
|
176
|
-
chatOptions
|
|
177
|
-
} = ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data);
|
|
178
165
|
const {
|
|
179
166
|
zIndex
|
|
180
167
|
} = useUIStore();
|
|
181
168
|
const containerZIndex = zIndex.increment();
|
|
182
169
|
chatInstance = await ibiz.aiChatUtil.getAIChat();
|
|
183
|
-
|
|
184
|
-
|
|
170
|
+
const {
|
|
171
|
+
containerOptions,
|
|
172
|
+
chatOptions
|
|
173
|
+
} = await ibiz.aiChatUtil.getEditorExAIChatParams(c.editorParams, c.context, c.params, props.data, c.deACMode, {
|
|
174
|
+
chatInstance,
|
|
175
|
+
view: c.view,
|
|
176
|
+
ctrl: c.ctrl
|
|
177
|
+
});
|
|
185
178
|
chatInstance.create({
|
|
186
179
|
containerOptions: {
|
|
187
180
|
zIndex: containerZIndex,
|
|
@@ -197,191 +190,10 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
197
190
|
srfactag: c.deACMode.codeName
|
|
198
191
|
},
|
|
199
192
|
appDataEntityId,
|
|
200
|
-
contentToolbarItems,
|
|
201
|
-
footerToolbarItems,
|
|
202
|
-
questionToolbarItems,
|
|
203
|
-
otherToolbarItems,
|
|
204
|
-
aiAgentlist,
|
|
205
193
|
...chatOptions,
|
|
206
|
-
question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
|
|
207
|
-
id = createUUID();
|
|
208
|
-
abortController = new AbortController();
|
|
209
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
210
|
-
try {
|
|
211
|
-
const questionRequestData = {
|
|
212
|
-
messages: arr,
|
|
213
|
-
sessionid
|
|
214
|
-
};
|
|
215
|
-
if (srfaiagent) {
|
|
216
|
-
questionRequestData.srfaiagent = srfaiagent;
|
|
217
|
-
}
|
|
218
|
-
if (srfmode) {
|
|
219
|
-
questionRequestData.mode = srfmode;
|
|
220
|
-
}
|
|
221
|
-
await deService.aiChatSse((msg) => {
|
|
222
|
-
if (msg.actionstate === 20 && msg.actionresult) {
|
|
223
|
-
aiChat.addMessage({
|
|
224
|
-
messageid: id,
|
|
225
|
-
state: msg.actionstate,
|
|
226
|
-
type: "DEFAULT",
|
|
227
|
-
role: "ASSISTANT",
|
|
228
|
-
content: msg.actionresult
|
|
229
|
-
});
|
|
230
|
-
} else if (msg.actionstate === 30 && msg.actionresult) {
|
|
231
|
-
const result = JSON.parse(msg.actionresult);
|
|
232
|
-
const choices = result.choices;
|
|
233
|
-
if (choices && choices.length > 0) {
|
|
234
|
-
aiChat.replaceMessage({
|
|
235
|
-
messageid: id,
|
|
236
|
-
state: msg.actionstate,
|
|
237
|
-
type: "DEFAULT",
|
|
238
|
-
role: "ASSISTANT",
|
|
239
|
-
content: choices[0].content || ""
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
} else if (msg.actionstate === 40) {
|
|
243
|
-
aiChat.replaceMessage({
|
|
244
|
-
messageid: id,
|
|
245
|
-
state: msg.actionstate,
|
|
246
|
-
type: "ERROR",
|
|
247
|
-
role: "ASSISTANT",
|
|
248
|
-
content: msg.actionresult
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
}, abortController, ctx, param, {
|
|
252
|
-
...questionRequestData
|
|
253
|
-
});
|
|
254
|
-
} catch (error) {
|
|
255
|
-
aiChat.replaceMessage({
|
|
256
|
-
messageid: id,
|
|
257
|
-
state: 40,
|
|
258
|
-
type: "ERROR",
|
|
259
|
-
role: "ASSISTANT",
|
|
260
|
-
content: error.message || ibiz.i18n.t("app.aiError")
|
|
261
|
-
});
|
|
262
|
-
abortController == null ? void 0 : abortController.abort();
|
|
263
|
-
} finally {
|
|
264
|
-
aiChat.completeMessage(id, true);
|
|
265
|
-
return true;
|
|
266
|
-
}
|
|
267
|
-
},
|
|
268
|
-
abortQuestion: async (aiChat) => {
|
|
269
|
-
abortController == null ? void 0 : abortController.abort();
|
|
270
|
-
await aiChat.stopMessage({
|
|
271
|
-
messageid: id,
|
|
272
|
-
state: 30,
|
|
273
|
-
type: "DEFAULT",
|
|
274
|
-
role: "ASSISTANT",
|
|
275
|
-
content: ""
|
|
276
|
-
});
|
|
277
|
-
await aiChat.completeMessage(id, true);
|
|
278
|
-
},
|
|
279
194
|
action: (action, message) => {
|
|
280
195
|
if (action === "backfill")
|
|
281
196
|
emit("change", message.realcontent);
|
|
282
|
-
},
|
|
283
|
-
history: async (ctx, param, other) => {
|
|
284
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
285
|
-
const historyRequestData = {};
|
|
286
|
-
if (other.appendCurData) {
|
|
287
|
-
Object.assign(historyRequestData, {
|
|
288
|
-
...other.appendCurData
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
if (other.srfaiagent) {
|
|
292
|
-
Object.assign(historyRequestData, {
|
|
293
|
-
srfaiagent: other.srfaiagent
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
if (other.srfmode) {
|
|
297
|
-
Object.assign(historyRequestData, {
|
|
298
|
-
mode: other.srfmode
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
const result = await deService.aiChatHistory(ctx, param, historyRequestData);
|
|
302
|
-
if (result.data && Array.isArray(result.data)) {
|
|
303
|
-
let preMsg;
|
|
304
|
-
result.data.forEach((item) => {
|
|
305
|
-
if (item.role === "TOOL") {
|
|
306
|
-
if (preMsg && item.content) {
|
|
307
|
-
chatInstance.aiChat.updateRecommendPrompt(preMsg, item.content);
|
|
308
|
-
}
|
|
309
|
-
} else {
|
|
310
|
-
const msg = {
|
|
311
|
-
messageid: createUUID(),
|
|
312
|
-
state: 30,
|
|
313
|
-
type: "DEFAULT",
|
|
314
|
-
role: item.role,
|
|
315
|
-
content: item.content,
|
|
316
|
-
completed: true
|
|
317
|
-
};
|
|
318
|
-
preMsg = msg;
|
|
319
|
-
chatInstance.aiChat.addMessage(msg);
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
return true;
|
|
324
|
-
},
|
|
325
|
-
recommendPrompt: async (ctx, param, other) => {
|
|
326
|
-
const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
|
|
327
|
-
const result = await deService.aiChatRecommendPrompt(ctx, param, other.message);
|
|
328
|
-
if (result.ok && result.data) {
|
|
329
|
-
const choices = result.data.choices;
|
|
330
|
-
if (choices && choices.length > 0) {
|
|
331
|
-
return choices[0];
|
|
332
|
-
}
|
|
333
|
-
return null;
|
|
334
|
-
}
|
|
335
|
-
return null;
|
|
336
|
-
},
|
|
337
|
-
uploader: {
|
|
338
|
-
onUpload: async (file, reportProgress, options) => {
|
|
339
|
-
const fileMeata = ibiz.util.file.calcFileUpDownUrl((options == null ? void 0 : options.context) || c.context, (options == null ? void 0 : options.params) || c.params, {});
|
|
340
|
-
const uploadHeaders = ibiz.util.file.getUploadHeaders();
|
|
341
|
-
const formData = new FormData();
|
|
342
|
-
formData.append("file", file);
|
|
343
|
-
const res = await ibiz.net.axios({
|
|
344
|
-
url: fileMeata.uploadUrl,
|
|
345
|
-
method: "post",
|
|
346
|
-
headers: uploadHeaders,
|
|
347
|
-
data: formData,
|
|
348
|
-
onUploadProgress: (progressEvent) => {
|
|
349
|
-
const percent = progressEvent.loaded / progressEvent.total * 100;
|
|
350
|
-
reportProgress(percent);
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
return res.data;
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
extendToolbarClick: async (event, source, context, params, data) => {
|
|
357
|
-
var _a, _b;
|
|
358
|
-
const result = await UIActionUtil.exec(source.id, {
|
|
359
|
-
view: c.view,
|
|
360
|
-
ctrl: c.ctrl,
|
|
361
|
-
context: IBizContext.create(context),
|
|
362
|
-
params,
|
|
363
|
-
data: [data],
|
|
364
|
-
event
|
|
365
|
-
}, source.appId);
|
|
366
|
-
if (result.closeView) {
|
|
367
|
-
c.view.closeView({
|
|
368
|
-
ok: true
|
|
369
|
-
});
|
|
370
|
-
} else if (result.refresh) {
|
|
371
|
-
switch (result.refreshMode) {
|
|
372
|
-
case 1:
|
|
373
|
-
c.view.callUIAction(SysUIActionTag.REFRESH);
|
|
374
|
-
break;
|
|
375
|
-
case 2:
|
|
376
|
-
(_a = c.view.parentView) == null ? void 0 : _a.callUIAction(SysUIActionTag.REFRESH);
|
|
377
|
-
break;
|
|
378
|
-
case 3:
|
|
379
|
-
(_b = c.view.getTopView()) == null ? void 0 : _b.callUIAction(SysUIActionTag.REFRESH);
|
|
380
|
-
break;
|
|
381
|
-
default:
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
return result;
|
|
385
197
|
}
|
|
386
198
|
}
|
|
387
199
|
});
|
package/es/locale/en/index.mjs
CHANGED
|
@@ -482,7 +482,7 @@ var index = {
|
|
|
482
482
|
},
|
|
483
483
|
toolbar: {
|
|
484
484
|
exportExcel: {
|
|
485
|
-
exportAll: "Export all(Export up to
|
|
485
|
+
exportAll: "Export all(Export up to {maxRowCount} rows)",
|
|
486
486
|
expCurrentPage: "Export current page",
|
|
487
487
|
expCurrentSelect: "Export the current selection",
|
|
488
488
|
page: "Page",
|
|
@@ -848,6 +848,29 @@ var index = {
|
|
|
848
848
|
warningDesc: "Are you sure to terminate the creation?",
|
|
849
849
|
thinking: "In depth thinking",
|
|
850
850
|
thinked: "Deeply pondered"
|
|
851
|
+
},
|
|
852
|
+
aiChartUtil: {
|
|
853
|
+
feedback: "Feedback",
|
|
854
|
+
description: "Description",
|
|
855
|
+
regardingIssue: "Regarding the problem",
|
|
856
|
+
understandProblem: "Not understanding the problem",
|
|
857
|
+
forgotContext: "Forgot the previous text",
|
|
858
|
+
notFollowingRequire: "Not Following Requirements",
|
|
859
|
+
regardingResponse: "Regarding the effectiveness of the answer",
|
|
860
|
+
incorrectAswer: "Incorrect answer",
|
|
861
|
+
logicalConfusion: "Logical confusion",
|
|
862
|
+
poorTimeliness: "Poor timeliness",
|
|
863
|
+
poorReadability: "Poor readability",
|
|
864
|
+
incompleteAnswer: "Incomplete answer",
|
|
865
|
+
unprofessional: "The answer is vague and unprofessional",
|
|
866
|
+
report: "Report",
|
|
867
|
+
pornographicVulgar: "Pornographic Vulgar",
|
|
868
|
+
politicallySensitive: "Politically sensitive",
|
|
869
|
+
illegalCriminal: "Illegal crime",
|
|
870
|
+
discriminationPrejudice: "Discrimination or Prejudice Answer",
|
|
871
|
+
violationPrivacy: "Violation of Privacy",
|
|
872
|
+
contentInfringement: "Content infringement",
|
|
873
|
+
placeholder: "Please enter"
|
|
851
874
|
}
|
|
852
875
|
},
|
|
853
876
|
// runTime
|
|
@@ -478,7 +478,7 @@ var index = {
|
|
|
478
478
|
},
|
|
479
479
|
toolbar: {
|
|
480
480
|
exportExcel: {
|
|
481
|
-
exportAll: "\u5BFC\u51FA\u5168\u90E8(\u6700\u5927\u5BFC\
|
|
481
|
+
exportAll: "\u5BFC\u51FA\u5168\u90E8(\u6700\u5927\u5BFC\u51FA{maxRowCount}\u884C)",
|
|
482
482
|
expCurrentPage: "\u5BFC\u51FA\u5F53\u524D\u9875",
|
|
483
483
|
expCurrentSelect: "\u5BFC\u51FA\u5F53\u524D\u9009\u4E2D",
|
|
484
484
|
page: "\u9875",
|
|
@@ -844,6 +844,29 @@ var index = {
|
|
|
844
844
|
warningDesc: "\u786E\u8BA4\u4E2D\u6B62\u521B\u4F5C\u5417\uFF1F",
|
|
845
845
|
thinking: "\u6DF1\u5EA6\u601D\u8003\u4E2D",
|
|
846
846
|
thinked: "\u5DF2\u6DF1\u5EA6\u601D\u8003"
|
|
847
|
+
},
|
|
848
|
+
aiChartUtil: {
|
|
849
|
+
feedback: "\u53CD\u9988",
|
|
850
|
+
description: "\u63CF\u8FF0",
|
|
851
|
+
regardingIssue: "\u9488\u5BF9\u95EE\u9898",
|
|
852
|
+
understandProblem: "\u4E0D\u7406\u89E3\u95EE\u9898",
|
|
853
|
+
forgotContext: "\u9057\u5FD8\u4E86\u4E0A\u6587",
|
|
854
|
+
notFollowingRequire: "\u4E0D\u9075\u5FAA\u8981\u6C42",
|
|
855
|
+
regardingResponse: "\u9488\u5BF9\u56DE\u7B54\u6548\u679C",
|
|
856
|
+
incorrectAswer: "\u56DE\u7B54\u9519\u8BEF",
|
|
857
|
+
logicalConfusion: "\u903B\u8F91\u6DF7\u4E71",
|
|
858
|
+
poorTimeliness: "\u65F6\u6548\u6027\u5DEE",
|
|
859
|
+
poorReadability: "\u53EF\u8BFB\u6027\u5DEE",
|
|
860
|
+
incompleteAnswer: "\u56DE\u7B54\u4E0D\u5B8C\u6574",
|
|
861
|
+
unprofessional: "\u56DE\u7B54\u7B3C\u7EDF\u4E0D\u4E13\u4E1A",
|
|
862
|
+
report: "\u4E3E\u62A5",
|
|
863
|
+
pornographicVulgar: "\u8272\u60C5\u4F4E\u4FD7",
|
|
864
|
+
politicallySensitive: "\u653F\u6CBB\u654F\u611F",
|
|
865
|
+
illegalCriminal: "\u8FDD\u6CD5\u72AF\u7F6A",
|
|
866
|
+
discriminationPrejudice: "\u6B67\u89C6\u6216\u504F\u89C1\u56DE\u7B54",
|
|
867
|
+
violationPrivacy: "\u4FB5\u72AF\u9690\u79C1",
|
|
868
|
+
contentInfringement: "\u5185\u5BB9\u4FB5\u6743",
|
|
869
|
+
placeholder: "\u8BF7\u8F93\u5165"
|
|
847
870
|
}
|
|
848
871
|
},
|
|
849
872
|
// runTime
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, createVNode, inject, computed } from 'vue';
|
|
1
|
+
import { defineComponent, createVNode, resolveComponent, inject, computed } from 'vue';
|
|
2
2
|
import { useNamespace, route2routePath, routePath2string } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { useRoute, useRouter } from 'vue-router';
|
|
4
4
|
import { PanelAppTitleController } from './panel-app-title.controller.mjs';
|
|
@@ -85,7 +85,6 @@ const PanelAppTitle = /* @__PURE__ */ defineComponent({
|
|
|
85
85
|
render() {
|
|
86
86
|
const {
|
|
87
87
|
icon,
|
|
88
|
-
isSvg,
|
|
89
88
|
caption,
|
|
90
89
|
caption2,
|
|
91
90
|
subCaption,
|
|
@@ -102,22 +101,14 @@ const PanelAppTitle = /* @__PURE__ */ defineComponent({
|
|
|
102
101
|
if (this.menuAlign === "LEFT") {
|
|
103
102
|
if (this.isCollapse) {
|
|
104
103
|
if (icon) {
|
|
105
|
-
let tempIcon = null;
|
|
106
|
-
if (isSvg) {
|
|
107
|
-
tempIcon = createVNode("ion-icon", {
|
|
108
|
-
"class": this.ns.e("logo"),
|
|
109
|
-
"icon": icon
|
|
110
|
-
}, null);
|
|
111
|
-
} else {
|
|
112
|
-
tempIcon = createVNode("span", {
|
|
113
|
-
"class": this.ns.e("logo")
|
|
114
|
-
}, [createVNode("img", {
|
|
115
|
-
"src": icon
|
|
116
|
-
}, null)]);
|
|
117
|
-
}
|
|
118
104
|
iconVNode = createVNode("div", {
|
|
119
105
|
"class": this.ns.e("collpase-icon")
|
|
120
|
-
}, [
|
|
106
|
+
}, [createVNode(resolveComponent("iBizIcon"), {
|
|
107
|
+
"class": this.ns.e("logo"),
|
|
108
|
+
"icon": {
|
|
109
|
+
rawContent: icon
|
|
110
|
+
}
|
|
111
|
+
}, null)]);
|
|
121
112
|
} else {
|
|
122
113
|
iconVNode = createVNode("div", {
|
|
123
114
|
"class": this.ns.e("collapse-title")
|
|
@@ -128,19 +119,6 @@ const PanelAppTitle = /* @__PURE__ */ defineComponent({
|
|
|
128
119
|
}, [subCaption2])]);
|
|
129
120
|
}
|
|
130
121
|
} else if (this.showIcon && icon) {
|
|
131
|
-
let tempIcon = null;
|
|
132
|
-
if (isSvg) {
|
|
133
|
-
tempIcon = createVNode("ion-icon", {
|
|
134
|
-
"class": this.ns.em("logo", "expand"),
|
|
135
|
-
"icon": icon
|
|
136
|
-
}, null);
|
|
137
|
-
} else {
|
|
138
|
-
tempIcon = createVNode("span", {
|
|
139
|
-
"class": this.ns.em("logo", "expand")
|
|
140
|
-
}, [createVNode("img", {
|
|
141
|
-
"src": icon
|
|
142
|
-
}, null)]);
|
|
143
|
-
}
|
|
144
122
|
let tempContent = createVNode("g", {
|
|
145
123
|
"id": "app-caption-panel",
|
|
146
124
|
"stroke": "none",
|
|
@@ -181,7 +159,12 @@ const PanelAppTitle = /* @__PURE__ */ defineComponent({
|
|
|
181
159
|
}
|
|
182
160
|
iconVNode = createVNode("span", {
|
|
183
161
|
"class": this.ns.e("logo")
|
|
184
|
-
}, [
|
|
162
|
+
}, [createVNode(resolveComponent("iBizIcon"), {
|
|
163
|
+
"class": this.ns.em("logo", "expand"),
|
|
164
|
+
"icon": {
|
|
165
|
+
rawContent: icon
|
|
166
|
+
}
|
|
167
|
+
}, null), createVNode("svg", {
|
|
185
168
|
"width": "166px",
|
|
186
169
|
"height": "80px",
|
|
187
170
|
"viewBox": "0 0 166 90",
|
|
@@ -220,18 +203,12 @@ const PanelAppTitle = /* @__PURE__ */ defineComponent({
|
|
|
220
203
|
}
|
|
221
204
|
} else if (this.menuAlign === "TOP") {
|
|
222
205
|
if (icon) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
iconVNode = createVNode("span", {
|
|
230
|
-
"class": this.ns.e("logo")
|
|
231
|
-
}, [createVNode("img", {
|
|
232
|
-
"src": icon
|
|
233
|
-
}, null)]);
|
|
234
|
-
}
|
|
206
|
+
iconVNode = createVNode(resolveComponent("iBizIcon"), {
|
|
207
|
+
"class": this.ns.e("logo"),
|
|
208
|
+
"icon": {
|
|
209
|
+
rawContent: icon
|
|
210
|
+
}
|
|
211
|
+
}, null);
|
|
235
212
|
}
|
|
236
213
|
}
|
|
237
214
|
if (this.menuAlign === "LEFT") {
|