askbot-dragon 88.0.42 → 88.1.1
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/npminstall-debug.log +208 -0
- package/package.json +14 -14
- package/public/index.html +2 -2
- package/src/assets/js/obsBrowser.js +3 -2
- package/src/components/ActionAlertIframe.vue +1 -0
- package/src/components/AiGuide.vue +1 -1
- package/src/components/AnswerDocknowledge.vue +170 -57
- package/src/components/ConversationContainer.vue +17 -10
- package/src/components/MyEditor.vue +1 -1
- package/src/components/QwFeedback.vue +2 -1
- package/src/components/actionSatisfaction.vue +2 -2
- package/src/components/answerRadio.vue +59 -4
- package/src/components/assetDetails.vue +1 -1
- package/src/components/assetMessage.vue +14 -13
- package/src/components/associationIntention.vue +2 -2
- package/src/components/fielListView.vue +1 -1
- package/src/components/formTemplate.vue +24 -3
- package/src/components/intelligentSummary.vue +15 -12
- package/src/components/kkview.vue +0 -10
- package/src/components/markDownText.vue +798 -55
- package/src/components/myPopup.vue +14 -11
- package/src/components/pagination.vue +129 -0
- package/src/components/pdfPosition.vue +67 -67
- package/src/components/popup.vue +8 -7
- package/src/components/preview/docView.vue +114 -0
- package/src/components/preview/excelView.vue +191 -0
- package/src/components/preview/newPositionPreview.vue +385 -0
- package/src/components/preview/pdfView.vue +824 -0
- package/src/components/previewDoc.vue +1 -0
- package/src/components/previewPdf.vue +343 -65
- package/src/components/receiverMessagePlatform.vue +24 -20
- package/src/components/senderMessagePlatform.vue +19 -11
- package/src/components/tree.vue +2 -2
- package/src/components/welcomeKnowledgeFile.vue +5 -2
- package/src/components/welcomeSuggest.vue +1 -1
- package/src/locales/cn.json +99 -0
- package/src/locales/en.json +99 -0
- package/src/main.js +19 -0
|
@@ -5,40 +5,71 @@
|
|
|
5
5
|
<template>
|
|
6
6
|
<div class="answer-docknowledge">
|
|
7
7
|
<div :class="['answer-docknowledge-header', msg.content.isKnowledgeSummary ? 'bgc' : '']">
|
|
8
|
-
<div v-if="msg.content.isKnowledgeSummary" class="tips">
|
|
9
|
-
<div v-if="msg.content.type == 0" class="answer-text">
|
|
8
|
+
<div v-if="msg.content.isKnowledgeSummary" class="tips">{{$t('dragonCommon.summaryGeneratedByAI')}}</div>
|
|
9
|
+
<!-- <div v-if="msg.content.type == 0" class="answer-text">
|
|
10
10
|
<template v-if="msg.content.renderType == 1">
|
|
11
11
|
<p v-html="msg.content.text"></p>
|
|
12
12
|
</template>
|
|
13
|
-
<template v-else-if="msg.content.renderType == 2">
|
|
14
|
-
<markDownText :chainValues="msg.content.text" :isHistory="true"></markDownText>
|
|
15
|
-
</template>
|
|
16
13
|
<template v-else>{{ msg.content.text }}</template>
|
|
17
|
-
</div>
|
|
18
|
-
<div
|
|
14
|
+
</div> -->
|
|
15
|
+
<div class="answer-text">
|
|
19
16
|
<template v-if="msg.content.renderType == 1">
|
|
20
17
|
<p v-html="msg.content.text"></p>
|
|
21
18
|
</template>
|
|
22
19
|
<template v-else-if="msg.content.renderType == 2">
|
|
23
|
-
<markDownText :chainValues="msg.content.text" :isHistory="
|
|
20
|
+
<!-- <markDownText :chainValues="msg.content.text" :isHistory="isHistory"></markDownText> -->
|
|
21
|
+
<markDownText
|
|
22
|
+
:chainValues="msg.content.text || ''"
|
|
23
|
+
:whetherRequestStream="msg.content.whetherRequestStream"
|
|
24
|
+
@sseOtherInfo="sseOtherInfo"
|
|
25
|
+
@answerDocKnowledgeFn="answerDocKnowledgeFn"
|
|
26
|
+
:streamRequestUrl="msg.content.streamRequestUrl"
|
|
27
|
+
:msgId="msg.id"
|
|
28
|
+
:isHistory="isHistory">
|
|
29
|
+
</markDownText>
|
|
30
|
+
</template>
|
|
31
|
+
<template v-else-if="msg.content.renderType == null">
|
|
32
|
+
<!-- <markDownText :chainValues="msg.content.text" :isHistory="isHistory"></markDownText> -->
|
|
33
|
+
<markDownText
|
|
34
|
+
:chainValues="msg.content.text || ''"
|
|
35
|
+
:whetherRequestStream="msg.content.whetherRequestStream"
|
|
36
|
+
@sseOtherInfo="sseOtherInfo"
|
|
37
|
+
@answerDocKnowledgeFn="answerDocKnowledgeFn"
|
|
38
|
+
:streamRequestUrl="msg.content.streamRequestUrl"
|
|
39
|
+
:msgId="msg.id"
|
|
40
|
+
:isHistory="isHistory">
|
|
41
|
+
</markDownText>
|
|
24
42
|
</template>
|
|
25
43
|
<template v-else>{{ msg.content.text }}</template>
|
|
26
44
|
</div>
|
|
27
|
-
<
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
45
|
+
<template v-if="isPC">
|
|
46
|
+
<div v-if="msg.content.images && msg.content.images.length != 0" class="answer-kn-image-box-pc">
|
|
47
|
+
<img v-for="(imageItem, imageItemIndex) in msg.content.images"
|
|
48
|
+
style="max-width: 230px;" :src="imageItem.url"
|
|
49
|
+
v-show="showImage || imageItemIndex < 2"
|
|
50
|
+
:key="imageItemIndex" alt @click="lookAttach(imageItem.url, imageItem, $event)" />
|
|
51
|
+
<div class="img-placeholder" v-if="msg.content.images.length > 2 && !showImage" @click="showImage = true">
|
|
52
|
+
+{{ msg.content.images.length - 2 }}
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
<template v-else>
|
|
57
|
+
<div v-if="msg.content.images && msg.content.images.length != 0" class="answer-kn-image-box-mobile">
|
|
58
|
+
<img v-for="(imageItem, imageItemIndex) in msg.content.images"
|
|
59
|
+
style="max-width: 230px;" :src="imageItem.url"
|
|
60
|
+
:key="imageItemIndex" alt @click="lookAttach(imageItem.url, imageItem, $event)" />
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
32
63
|
</div>
|
|
33
64
|
<template v-if="!isLiBang">
|
|
34
|
-
<div class="ad-list" :class="msg.content.type == 0 ? 'ad-list-recognition' : ''">
|
|
65
|
+
<div class="ad-list" :class="msg.content.type == 0 || msg.content.type == 2 ? 'ad-list-recognition' : ''">
|
|
35
66
|
<template v-if="msg.content.type == 1">
|
|
36
67
|
<div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex"
|
|
37
68
|
:style="{ paddingBottom: itemIndex === msg.content.list.length - 1 ? 0 : '10px' }" class="ad-list-cell">
|
|
38
69
|
<div class="alc-title">
|
|
39
70
|
<div class="alc-box">
|
|
40
71
|
<div class="alc-source-left">
|
|
41
|
-
<span class="source-form"
|
|
72
|
+
<span class="source-form">{{$t('dragonCommon.from')}}</span>
|
|
42
73
|
<img class="alc-title-icon" height="24px" width="24px" :src="getIconSrc(item)" alt=""
|
|
43
74
|
srcset="">
|
|
44
75
|
<span class="alc-title-from">{{ item.from }}</span>
|
|
@@ -58,28 +89,28 @@
|
|
|
58
89
|
{{ docSource[item.source] }}
|
|
59
90
|
</div>
|
|
60
91
|
<div v-show="item.url" class="alc-content-text">
|
|
61
|
-
<span @click="lookAttach(item.url, item, $event)" class="aci-view"
|
|
92
|
+
<span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.check')}} ></span>
|
|
62
93
|
</div>
|
|
63
94
|
</div>
|
|
64
95
|
</div>
|
|
65
96
|
<div class="alc-content" v-if="false">
|
|
66
97
|
<div v-if="msg.content.type == 1" class="alc-content-text">
|
|
67
98
|
{{ item.introduction }}
|
|
68
|
-
<span @click="lookAttach(item.url, item, $event)" class="aci-view"
|
|
99
|
+
<span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.viewOriginal')}} ></span>
|
|
69
100
|
</div>
|
|
70
|
-
<span v-if="!isPC" class="alc-title-updateTime"
|
|
101
|
+
<span v-if="!isPC" class="alc-title-updateTime">{{$t('dragonCommon.lastUpdateTime')}}: {{ item.updateTime }}</span>
|
|
71
102
|
<div v-if="false" class="alc-content-info">
|
|
72
103
|
<div class="alcc-box">
|
|
73
|
-
<span class="aci-owner"
|
|
74
|
-
<span class="aci-enterprise"
|
|
75
|
-
<span class="aci-source"
|
|
104
|
+
<span class="aci-owner">{{$t('dragonCommon.owner')}}: {{ item.owner }}</span>
|
|
105
|
+
<span class="aci-enterprise">{{$t('dragonCommon.enterprise')}}: {{ item.enterprise }}</span>
|
|
106
|
+
<span class="aci-source">{{$t('dragonCommon.source')}}: {{ item.source }}</span>
|
|
76
107
|
</div>
|
|
77
108
|
</div>
|
|
78
109
|
</div>
|
|
79
110
|
</div>
|
|
80
111
|
</template>
|
|
81
|
-
<template v-if="msg.content.type == 0">
|
|
82
|
-
<div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex" class="ad-list-cell-recognition">
|
|
112
|
+
<template v-if="msg.content.type == 0 || msg.content.type == 2">
|
|
113
|
+
<div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex" class="ad-list-cell-recognition" :id="item.knowledgeId + knowledgeIndex">
|
|
83
114
|
<div class="alc-source-name" @click="lookAttach(item.url, item, $event)">
|
|
84
115
|
<img class="alc-title-icon" height="18px" width="18px" :src="getIconSrc(item)" alt srcset />
|
|
85
116
|
<span class="alc-title-from">{{ item.from }}</span>
|
|
@@ -90,7 +121,7 @@
|
|
|
90
121
|
</div>
|
|
91
122
|
</div>
|
|
92
123
|
</template>
|
|
93
|
-
<div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList"
|
|
124
|
+
<div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList">{{$t('dragonCommon.viewMore')}}</div>
|
|
94
125
|
</div>
|
|
95
126
|
</template>
|
|
96
127
|
<template v-if="isLiBang">
|
|
@@ -100,7 +131,7 @@
|
|
|
100
131
|
<div class="libang_title">
|
|
101
132
|
<div class="libang_box">
|
|
102
133
|
<div class="libang_source_left">
|
|
103
|
-
<span class="source-form"
|
|
134
|
+
<span class="source-form">{{$t('dragonCommon.from')}}</span>
|
|
104
135
|
<img class="libang_title_icon" height="24px" width="24px" :src="getIconSrc(item)" alt=""
|
|
105
136
|
srcset="">
|
|
106
137
|
<span class="libang_title_from">{{ item.from }}</span>
|
|
@@ -117,16 +148,16 @@
|
|
|
117
148
|
</div>
|
|
118
149
|
<div class="libang_updateTime">
|
|
119
150
|
<div class="libang_updataTime_left">
|
|
120
|
-
<div v-show="docSource[item.source]" class="upload-source">
|
|
151
|
+
<div v-show="docSource[item.source]" v-if="false" class="upload-source">
|
|
121
152
|
{{ docSource[item.source] }}
|
|
122
153
|
</div>
|
|
123
|
-
<div class="libang_floder" @click.stop="clickFloder(item)">
|
|
154
|
+
<div class="libang_floder" v-if="false" @click.stop="clickFloder(item)">
|
|
124
155
|
<i class="iconfont guoran-tongyichicun-wenjianjia-zhankaizhuangtai--folderOpen"></i>
|
|
125
156
|
{{ item.folderName }}
|
|
126
157
|
</div>
|
|
127
158
|
</div>
|
|
128
159
|
<div v-show="item.url" class="libang_content_text">
|
|
129
|
-
<span @click="lookAttach(item.url, item, $event)" class="aci-view"
|
|
160
|
+
<span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.check')}} ></span>
|
|
130
161
|
</div>
|
|
131
162
|
</div>
|
|
132
163
|
</div>
|
|
@@ -146,18 +177,18 @@
|
|
|
146
177
|
</div> -->
|
|
147
178
|
</div>
|
|
148
179
|
</template>
|
|
149
|
-
<template v-if="msg.content.type == 0">
|
|
180
|
+
<template v-if="msg.content.type == 0 || msg.content.type == 2">
|
|
150
181
|
<div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex"
|
|
151
|
-
class="libang_list_cell_recognition" @click="lookAttach(item.url, item, $event)">
|
|
182
|
+
class="libang_list_cell_recognition" @click="lookAttach(item.url, item, $event)" :id="item.knowledgeId + knowledgeIndex">
|
|
152
183
|
<div class="libang_list_cell_left" >
|
|
153
184
|
<div class="libang_source_name" >
|
|
154
185
|
<img class="libang_title_icon" height="18px" width="18px" :src="getIconSrc(item)" alt srcset />
|
|
155
186
|
<span class="libang_title_from">{{ item.from }}</span>
|
|
156
|
-
<div v-show="docSource[item.source]" class="upload_source">
|
|
187
|
+
<div v-show="docSource[item.source]" v-if="!isLiBang" class="upload_source">
|
|
157
188
|
-{{ docSource[item.source] }}
|
|
158
189
|
</div>
|
|
159
190
|
</div>
|
|
160
|
-
<div class="libang_source_floder" @click.stop="clickFloder(item)">
|
|
191
|
+
<div class="libang_source_floder" v-if="false" @click.stop="clickFloder(item)">
|
|
161
192
|
<i class="iconfont guoran-tongyichicun-wenjianjia-zhankaizhuangtai--folderOpen"></i>
|
|
162
193
|
{{ item.folderName }}
|
|
163
194
|
</div>
|
|
@@ -165,7 +196,7 @@
|
|
|
165
196
|
<i class="iconfont guoran-right" @click="lookAttach(item.url, item, $event)"></i>
|
|
166
197
|
</div>
|
|
167
198
|
</template>
|
|
168
|
-
<div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList"
|
|
199
|
+
<div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList">{{$t('dragonCommon.viewMore')}}</div>
|
|
169
200
|
</div>
|
|
170
201
|
</template>
|
|
171
202
|
|
|
@@ -199,15 +230,7 @@ export default {
|
|
|
199
230
|
// CORP_LOCAL_FILE: '来源于企业知识库',
|
|
200
231
|
// FEISHU: '来源于飞书-云文档'
|
|
201
232
|
// },
|
|
202
|
-
docSource: {
|
|
203
|
-
LOCAL_FILE: "个人知识",
|
|
204
|
-
CREATED_BY_ONESELF: "个人知识",
|
|
205
|
-
WECHAT: "个人知识",
|
|
206
|
-
AUTO_SYN_FROM_LOCAL_FILE: "个人知识",
|
|
207
|
-
YUQUE: "企业知识",
|
|
208
|
-
CORP_LOCAL_FILE: '企业知识',
|
|
209
|
-
FEISHU: '企业知识'
|
|
210
|
-
},
|
|
233
|
+
docSource: {},
|
|
211
234
|
imageObj: {
|
|
212
235
|
PDF: 'pdf1',
|
|
213
236
|
pdf: 'pdf1',
|
|
@@ -275,10 +298,11 @@ export default {
|
|
|
275
298
|
folderUrl: '',
|
|
276
299
|
previewKnowledgeId: "",
|
|
277
300
|
previewKnowledge: {},
|
|
278
|
-
previewOssPath: ""
|
|
301
|
+
previewOssPath: "",
|
|
302
|
+
showImage: false
|
|
279
303
|
}
|
|
280
304
|
},
|
|
281
|
-
props: ['msg', 'isAskLightning', 'isMessageRecord', "isApp", "isHasChat", "activeKnowledgeId", "isLiBang","isHistory"],
|
|
305
|
+
props: ['msg', 'isAskLightning', 'isMessageRecord', "isApp", "isHasChat", "activeKnowledgeId", "isLiBang","isHistory","knowledgeIndex"],
|
|
282
306
|
beforeMounted () {
|
|
283
307
|
},
|
|
284
308
|
watch: {
|
|
@@ -298,15 +322,16 @@ export default {
|
|
|
298
322
|
// }
|
|
299
323
|
},
|
|
300
324
|
created () {
|
|
301
|
-
var system = {};
|
|
302
|
-
system.pingtai = /(Win32|Win16|WinCE|Mac68K|MacIntel|MacIntel|MacPPC|Linux mips64)/i.test(navigator.platform);
|
|
303
|
-
if (system.pingtai) {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
} else {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
325
|
+
// var system = {};
|
|
326
|
+
// system.pingtai = /(Win32|Win16|WinCE|Mac68K|MacIntel|MacIntel|MacPPC|Linux mips64)/i.test(navigator.platform);
|
|
327
|
+
// if (system.pingtai) {
|
|
328
|
+
// //电脑
|
|
329
|
+
// this.isPC = true;
|
|
330
|
+
// } else {
|
|
331
|
+
// //手机
|
|
332
|
+
// this.isPC = false;
|
|
333
|
+
// }
|
|
334
|
+
this.isPC = !isMobile()
|
|
310
335
|
// this.msg.content.list.forEach(element => {
|
|
311
336
|
// console.log(this.imageObj[element.format],1111);
|
|
312
337
|
// element.src = 'https://static.guoranbot.com/cdn-office-website/askbot_doc/' + this.imageObj[element.format] + '.png';
|
|
@@ -316,6 +341,16 @@ export default {
|
|
|
316
341
|
// });
|
|
317
342
|
},
|
|
318
343
|
mounted () {
|
|
344
|
+
this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
|
|
345
|
+
this.docSource = {
|
|
346
|
+
LOCAL_FILE: this.$t('dragonCommon.personalknowledge'),
|
|
347
|
+
CREATED_BY_ONESELF: this.$t('dragonCommon.personalknowledge'),
|
|
348
|
+
WECHAT: this.$t('dragonCommon.personalknowledge'),
|
|
349
|
+
AUTO_SYN_FROM_LOCAL_FILE: this.$t('dragonCommon.personalknowledge'),
|
|
350
|
+
YUQUE: this.$t('dragonCommon.enterpriseknowledge'),
|
|
351
|
+
CORP_LOCAL_FILE: this.$t('dragonCommon.enterpriseknowledge'),
|
|
352
|
+
FEISHU: this.$t('dragonCommon.enterpriseknowledge'),
|
|
353
|
+
}
|
|
319
354
|
console.log(this.msg.content, 'this.msg.content');
|
|
320
355
|
// if(this.msg.content.type == 1) {
|
|
321
356
|
|
|
@@ -329,6 +364,24 @@ export default {
|
|
|
329
364
|
}
|
|
330
365
|
},
|
|
331
366
|
methods: {
|
|
367
|
+
answerDocKnowledgeFn(){
|
|
368
|
+
console.log(
|
|
369
|
+
"answerDocKnowledgeFn 2"
|
|
370
|
+
);
|
|
371
|
+
this.$emit('answerDocKnowledgeFn');
|
|
372
|
+
},
|
|
373
|
+
// 知识类型消息 推荐、关联文档、图片
|
|
374
|
+
sseOtherInfo(msgId, eventId, data){
|
|
375
|
+
if (eventId === "matched") {
|
|
376
|
+
console.log("matched: ", this.msg.content.type);
|
|
377
|
+
|
|
378
|
+
if (JSON.parse(data.content).length > 0) {
|
|
379
|
+
this.$set(this.msg.content, "list", JSON.parse(data.content));
|
|
380
|
+
}
|
|
381
|
+
} else {
|
|
382
|
+
this.$emit("sseOtherInfo",msgId, eventId, data);
|
|
383
|
+
}
|
|
384
|
+
},
|
|
332
385
|
getIconSrc (element) {
|
|
333
386
|
if ((element.format === "txt" || element.format === "html") && element.source === "WECHAT") {
|
|
334
387
|
return require("../assets/image/filtType/wechat.png")
|
|
@@ -356,6 +409,11 @@ export default {
|
|
|
356
409
|
// } else {
|
|
357
410
|
// this.$refs.previewPdf.drawer = false;
|
|
358
411
|
// }
|
|
412
|
+
//该事件是为了打开新的弹框时关闭上一个弹框
|
|
413
|
+
window.parent.postMessage({
|
|
414
|
+
type: "close_drawer",
|
|
415
|
+
data:this.knowledgeIndex
|
|
416
|
+
}, "*");
|
|
359
417
|
this.title = item.from || item.name
|
|
360
418
|
this.folderName = item.folderName
|
|
361
419
|
this.folderUrl = item.folderUrl
|
|
@@ -378,6 +436,7 @@ export default {
|
|
|
378
436
|
} else {
|
|
379
437
|
httpUrl = httpUrl += '?needEncrypt=false'
|
|
380
438
|
}
|
|
439
|
+
this.$refs.previewPdf.getOssPath(url);
|
|
381
440
|
this.$http.post(httpUrl, {
|
|
382
441
|
"fileInOssPath": url
|
|
383
442
|
}).then(res => {
|
|
@@ -399,7 +458,10 @@ export default {
|
|
|
399
458
|
this.$refs.previewPdf.previewKnowledgeId = ""
|
|
400
459
|
}
|
|
401
460
|
this.$refs.previewPdf.fileType = type
|
|
402
|
-
this.$refs.previewPdf.tagIds = item.tagIds
|
|
461
|
+
this.$refs.previewPdf.tagIds = item.tagIds;
|
|
462
|
+
if (item.tagIds && item.tagIds.length > 0){
|
|
463
|
+
this.$refs.previewPdf.getLocationInfo();
|
|
464
|
+
}
|
|
403
465
|
this.$refs.previewPdf.isMessageRecord = this.isMessageRecord ? true : false;
|
|
404
466
|
let index = url.indexOf("?");
|
|
405
467
|
let newFileInOssPath = url;
|
|
@@ -412,7 +474,7 @@ export default {
|
|
|
412
474
|
} else {
|
|
413
475
|
this.$refs.previewPdf.fileName = '';
|
|
414
476
|
}
|
|
415
|
-
if (item.tagIds && item.tagIds.length != 0) {
|
|
477
|
+
if (item.tagIds && item.tagIds.length != 0 && this.$refs.previewPdf.newFileType !== 'PPT') {
|
|
416
478
|
this.$refs.previewPdf.loading = false
|
|
417
479
|
return
|
|
418
480
|
}
|
|
@@ -421,7 +483,7 @@ export default {
|
|
|
421
483
|
this.$refs.previewPdf.getBolb(item)
|
|
422
484
|
}
|
|
423
485
|
this.$refs.previewPdf.loadIframe(item)
|
|
424
|
-
this.$refs.previewPdf.showSummary =
|
|
486
|
+
this.$refs.previewPdf.showSummary = false;
|
|
425
487
|
})
|
|
426
488
|
}
|
|
427
489
|
})
|
|
@@ -561,8 +623,59 @@ export default {
|
|
|
561
623
|
}
|
|
562
624
|
}
|
|
563
625
|
|
|
564
|
-
.answer-kn-image-box {
|
|
626
|
+
// .answer-kn-image-box {
|
|
627
|
+
// margin-bottom: 10px;
|
|
628
|
+
// }
|
|
629
|
+
.answer-kn-image-box-pc {
|
|
630
|
+
margin-bottom: 10px;
|
|
631
|
+
display: flex;
|
|
632
|
+
width: 100%;
|
|
633
|
+
overflow: hidden;
|
|
634
|
+
overflow-x: auto;
|
|
635
|
+
img {
|
|
636
|
+
width: 120px;
|
|
637
|
+
height: 120px;
|
|
638
|
+
border-radius: 5px;
|
|
639
|
+
object-fit: cover;
|
|
640
|
+
margin-right: 10px;
|
|
641
|
+
margin-bottom: 10px;
|
|
642
|
+
cursor: pointer;
|
|
643
|
+
flex: none;
|
|
644
|
+
}
|
|
645
|
+
.img-placeholder {
|
|
646
|
+
width: 120px;
|
|
647
|
+
height: 120px;
|
|
648
|
+
border-radius: 5px;
|
|
649
|
+
margin-right: 10px;
|
|
650
|
+
margin-bottom: 10px;
|
|
651
|
+
cursor: pointer;
|
|
652
|
+
border: 1px dashed #d9d9d9;
|
|
653
|
+
color: #366aff;
|
|
654
|
+
flex: none;
|
|
655
|
+
display: flex;
|
|
656
|
+
align-items: center;
|
|
657
|
+
justify-content: center;
|
|
658
|
+
font-size: 22px;
|
|
659
|
+
}
|
|
660
|
+
.img-placeholder:hover {
|
|
661
|
+
border: 1px dashed #366aff;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
.answer-kn-image-box-mobile {
|
|
565
665
|
margin-bottom: 10px;
|
|
666
|
+
display: flex;
|
|
667
|
+
width: 100%;
|
|
668
|
+
overflow: hidden;
|
|
669
|
+
overflow-x: auto;
|
|
670
|
+
img {
|
|
671
|
+
width: 35vw;
|
|
672
|
+
height: 35vw;
|
|
673
|
+
border-radius: 5px;
|
|
674
|
+
object-fit: cover;
|
|
675
|
+
margin-right: 10px;
|
|
676
|
+
margin-bottom: 10px;
|
|
677
|
+
flex: none;
|
|
678
|
+
}
|
|
566
679
|
}
|
|
567
680
|
}
|
|
568
681
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<answer-dissatisfaction :msg="answerDiss"></answer-dissatisfaction>
|
|
47
47
|
<feed-back :feedBack="feedBack"></feed-back>
|
|
48
48
|
<voice-compontent></voice-compontent> -->
|
|
49
|
-
<ai-guide :aiGuide="ActionAiGuideObj"></ai-guide>
|
|
49
|
+
<!-- <ai-guide :aiGuide="ActionAiGuideObj"></ai-guide> -->
|
|
50
50
|
<!-- <answer-voice :msg="answerVoiceObj"></answer-voice> -->
|
|
51
51
|
<!-- <answer-voice :msg="answerVoiceObj"></answer-voice> -->
|
|
52
52
|
<!-- <div v-for="(item,index) in processAction" :key="index">
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
import TextMessage from '@/components/message/TextMessage'
|
|
69
69
|
import FormTemplate from "@/components/formTemplate";
|
|
70
70
|
|
|
71
|
-
import FormTemplate from "@/components/formTemplate";
|
|
71
|
+
// import FormTemplate from "@/components/formTemplate";
|
|
72
72
|
/* import TextMessage from "@/components/message/TextMessage";*/
|
|
73
73
|
|
|
74
74
|
// import FormTemplate from '@/components/formTemplate'
|
|
@@ -122,8 +122,8 @@ export default {
|
|
|
122
122
|
// TextMessage,
|
|
123
123
|
// FeedBack,
|
|
124
124
|
// VoiceCompontent,
|
|
125
|
-
AiGuide,
|
|
126
|
-
AnswerVoice,
|
|
125
|
+
// AiGuide,
|
|
126
|
+
// AnswerVoice,
|
|
127
127
|
FormTemplate,
|
|
128
128
|
// FormTemplate,
|
|
129
129
|
// FileType,
|
|
@@ -213,7 +213,14 @@ export default {
|
|
|
213
213
|
}
|
|
214
214
|
},
|
|
215
215
|
answerDocknowledge: {"actionCategory":null,"apiKey":null,"content":{"searchResult":null,"images":null,"llmBotPluginId":null,"srcContentId":null,"list":[{"owner":"15901107866","tagId":"67492d69c3fc616496d7708e","enterprise":null,"tagIds":["67492d69c3fc616496d7708e","67492d69c3fc616496d7708d"],"format":"pdf","srcContentId":"8ae8631d27d5fc9e0d6429c32ce02463","updateTime":"2024-11-29 10:56:41","avatar":"https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/10/22/15/29/2d00b3ee264f6b588bc39c87cd71ff86/zrx651dojth.jpeg","source":"LOCAL_FILE","srcContent":"\"\",,,,,,,,,,,,,,,, \"\",境内出差标准(人民币),,,,,,,,,,,,,,, \"\",,,,,,,,,,,,,,,, \"\",,职称,,住宿标准,,出差补贴,,,,,,,,,, \"\",,,,,,,,,,,出差补贴,,,,, \"\",,,(实报实销),,,,,,,,,,,,, \"\",职级,职称,,,,,,,,,,,,,, \"\",,甲类地,,,乙类地,,,丙类地,,,甲类,,,乙丙类,, \"\",,,,,,,,,,,,,,,, \"\",,,区,区,区,地区,地区,,,,,,,,, \"\",24-20,\"总裁/高级副总裁/副总裁/总经理/首 席技术专家/首席幕僚长/总裁资深特 别助理/总监/副总经理/资深技术专家 /专业总监\",无固定限额,无,,,,,,,,,,,, \"\",19-18,\"副总监/资深研究员/专业副总监/高级 经理/高级研究员/专业高级经理\",700,600,500,100/天,80/天,,,,,,,,, \"\",17,\"经理/副经理/专业经理/资深专员/研 究员/资深化学师/资深工程师/经理级 销售/资深销售\",500,400,350,,,,,,,,,,, \"\",16,\"高级主任/高级专员/高级销售/高级工 程师/主任/专员/销售专员/工程师\",400,300,250,,,,,,,,,,, \"\",15 以下,\"初级专员/初级销售专员/助理工程师/ 文员\",300,250,200,,,,,,,,,,, ","url":"https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/11/29/10/56/bb94d33df583b246fd77034eaafe52cd/753yywz8dh.pdf","knowledgeId":"67492d62ff865b253159dd5d","folderUrl":null,"reRankShowScore":"69.53","knowledgePartId":"6MnZdZMB5ZPhLd1ZZb9J","from":"立邦中国差旅管理办法2023.pdf","folderName":null,"introduction":"\"\",,,,,,,,,,,,,,,, \"\",境内出差标准(人民币),,,,,,,,,,,,,,, \"\",,,,,,,,,,,,,,,, \"\",,职称,,住宿标准,,出差补贴,,,,,,,,,, \"\",,,,,,,,,,,出差补贴,,,,, \"\",,,(实报实销),,,,,,,,,,,,, \"\",职级,职称,,,,,,,,,,,,,, \"\",,甲类地,,,乙类地,,,丙类地,,,甲类,,,乙丙类,, \"\",,,,,,,,,,,,,,,, \"\",,,区,区,区,地区,地区,,,,,,,,, \"\",24-20,\"总裁/高级副总裁/副总裁/总经理/首 席技术专家/首席幕僚长/总裁资深特 别助理/总监/副总经理/资深技术专家 /专业总监\",无固定限额,无,,,,,,,,,,,, \"\",19-18,\"副总监/资深研究员/专业副总监/高级 经理/高级研究员/专业高级经理\",700,600,500,100/天,80/天,,,,,,,,, \"\",17,\"经理/副经理/专业经理/资深专员/研 究员/资深化学师/资深工程师/经理级 销售/资深销售\",500,400,350,,,,,,,,,,, \"\",16,\"高级主任/高级专员/高级销售/高级工 程师/主任/专员/销售专员/工程师\",400,300,250,,,,,,,,,,, \"\",15 以下,\"初级专员/初级销售专员/助理工程师/ 文员\",300,250,200,,,,,,,,,,, ","previewImage":null}],"type":0,"srcContent":null,"whetherRequestStream":null,"knowledgeId":null,"actionType":"answer_doc_knowledge","async":null,"stream":null,"knowledgePartId":null,"recommendItems":["离境出差的标准是什么?","出差审批流程是怎样的?","差旅费报销标准有哪些?"],"text":"### 境内出差标准\n\n| 职级 | 职称 | 甲类地住宿标准 | 乙类地住宿标准 | 丙类地住宿标准 | 出差补贴 |\n| --- | --- | --- | --- | --- | --- |\n| 24-20 | 总裁/高级副总裁/副总裁/总经理/首席技术专家/首席幕僚长/总裁资深特别助理/总监/副总经理/资深技术专家/专业总监 | 无固定限额 | 无固定限额 | 无固定限额 | 无 |\n| 19-18 | 副总监/资深研究员/专业副总监/高级经理/高级研究员/专业高级经理 | 700 | 600 | 500 | 100/天 |\n| 17 | 经理/副经理/专业经理/资深专员/研究员/资深化学师/资深工程师/经理级销售/资深销售 | 500 | 400 | 350 | 无 |\n| 16 | 高级主任/高级专员/高级销售/高级工程师/主任/专员/销售专员/工程师 | 400 | 300 | 250 | 无 |\n| 15 以下 | 初级专员/初级销售专员/助理工程师/文员 | 300 | 250 | 200 | 无 |\n\n**备注**:\n- 甲类地区:指北京、上海、广州、深圳。\n- 乙类地区:地级以上城市。\n- 丙类地区:指甲、乙类地区以外的地区。","renderType":2,"streamRequestUrl":null},"id":null,"intentId":null,"msgId":"67492de6524fbe07a2190b90","nodeId":null,"recordId":24190,"type":"answer_doc_knowledge"},
|
|
216
|
-
|
|
216
|
+
answerDocknowledge4: {
|
|
217
|
+
"content":{"images":[
|
|
218
|
+
{"url":"https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/12/25/12/38/58/676b8b26643e014bc160fb76/image1.jpeg"},
|
|
219
|
+
{"url":"https://itsm.mengniu.cn/o/bk_itsm/api/misc/download_rich_file/?file_path=/data/app/code/USERRES/richText/56389331cd62b3c1a47e22d499cd565e"},
|
|
220
|
+
{"url":"https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/front-oss/31623ccfe9dd4957bbd59c5823878bbe/2025/01/07/17/39/3fccf81e21cbcfaf7c0e1a69a848b5c0/1eeb31f8-1d9b-4d70-8cfd-4750f48c95ee.png"},
|
|
221
|
+
{"url":"https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/12/25/12/38/58/676b8b26643e014bc160fb76/image1.jpeg"},
|
|
222
|
+
{"url":"https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/12/25/12/38/58/676b8b26643e014bc160fb76/image1.jpeg"}],
|
|
223
|
+
"list":[{"owner":"吴明岩","tagId":"676b8c634bd318749f3383df","tagIds":["676b8c634bd318749f3383df"],"format":"docx","srcContentId":"4709b61b79242a90a2a5d5cb9b63f815","updateTime":"2024-12-31 14:56:16","avatar":"https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/2022/06/09/07/14/2dbcf1fa-f461-47e8-8e5b-3875df9d7b36/dynamicImage.942908447673894217.cmp.png","source":"CORP_LOCAL_FILE","srcContent":"在人际交往中,我们都怀揣着真诚与善意,希望收获真挚的友情。然而,并非所有人都值得我们倾心相待、深交厚谊。 有些人在相处过程中,会不自觉地流露出轻视与不屑,他们的言行犹如一把把利刃,悄无声息地刺伤我们的心灵。 倘若你身边有人经常如此对待你,那你可要提高警惕,因为这样的人,恐怕并非真心挚友,不值得你深交。","url":"https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/ab0f90737c8b4f2d85ba2157e4473110/2024/12/25/12/33/38120169a2cea918ef08e35e9065c8fa/838120169a2cea91.docx","knowledgeId":"676b8b26643e014bc160fb76","reRankShowScore":"97.66","knowledgePartId":"lPWAG5QBvcIPGxbfPEOj","from":"经常这样对待你的人,其实就是在轻视你,看不起你,不值得深交","folderName":"1225测试(所有文件均重新学习)-勿删","introduction":"在人际交往中,我们都怀揣着真诚与善意,希望收获真挚的友情。然而,并非所有人都值得我们倾心相待、深交厚谊。 有些人在相处过程中,会不自觉地流露出轻视与不屑,他们的言行犹如一把把利刃,悄无声息地刺伤我们的心灵。 倘若你身边有人经常如此对待你,那你可要提高警惕,因为这样的人,恐怕并非真心挚友,不值得你深交。"}],"type":2,"whetherRequestStream":false,"actionType":"answer_doc_knowledge","stream":true,"text":"**在人际交往中,我们都怀揣着真诚与善意,希望收获真挚的友情。然而,并非所有人都值得我们倾心相待、深交厚谊。** 有些人在相处过程中,会不自觉地流露出轻视与不屑,他们的言行犹如一把把利刃,悄无声息地刺伤我们的心灵。倘若你身边有人经常如此对待你,那你可要提高警惕,因为这样的人,恐怕并非真心挚友,不值得你深交。","streamRequestUrl":"https://app.test.askbot.cn/dialog-api/dialog/stream/v2/678484ea6e6197579e9b861b"},"msgId":"678484e654b1d43f0f0ae87d","recordId":27079,"type":"answer_doc_knowledge"},
|
|
217
224
|
ActionAiGuideObj: {
|
|
218
225
|
// 智能引导
|
|
219
226
|
type: "answer_intellect_guide",
|
|
@@ -10488,7 +10495,7 @@ export default {
|
|
|
10488
10495
|
footerStyleValue: "果然大模型"
|
|
10489
10496
|
},
|
|
10490
10497
|
{
|
|
10491
|
-
content: "
|
|
10498
|
+
content: "尊敬的各位:\n 大家好!<br/><br/>很高兴地通知大家,我们的项目已经成功上线!<br/><br/>这是一个重要的里程碑,我们的团队在过去几个月中付出了艰苦的努力,最终实现了这一目标。我们应该感谢所有参与这个项目的人,他们的努力和投入使我们能够取得这一成就。<br/><br/>我们的项目上线后,将为我们的客户提供更好的服务,更多的功能,更快的响应时间,更高的可用性。<br/><br/>我们将继续努力,不断改进和完善我们的项目,以满足客户的需求。<br/><br/>再次感谢大家的支持!<br/><br/>谢谢!<br/><br/>此致<br/><br/>敬礼(--来源于ChatGPT)",
|
|
10492
10499
|
type: 'answer_text',
|
|
10493
10500
|
id: '60df03aeeea6014311dc4285',
|
|
10494
10501
|
intentId: 6064,
|
|
@@ -10511,7 +10518,7 @@ export default {
|
|
|
10511
10518
|
}
|
|
10512
10519
|
}
|
|
10513
10520
|
],
|
|
10514
|
-
inLoading:
|
|
10521
|
+
inLoading: false,
|
|
10515
10522
|
dataNote: 0,
|
|
10516
10523
|
timer: null,
|
|
10517
10524
|
finished: false,
|
|
@@ -10796,9 +10803,9 @@ export default {
|
|
|
10796
10803
|
console.debug('this.dataNote', this.dataNote)
|
|
10797
10804
|
}, 1000)
|
|
10798
10805
|
|
|
10799
|
-
setTimeout(() => {
|
|
10800
|
-
|
|
10801
|
-
}, 2000)
|
|
10806
|
+
// setTimeout(() => {
|
|
10807
|
+
// this.inLoading = true
|
|
10808
|
+
// }, 2000)
|
|
10802
10809
|
setTimeout(() => {
|
|
10803
10810
|
this.finished = true
|
|
10804
10811
|
this.dataNote = 10
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
<!-- <span @click="changeActivePage" class="switch-page-btn"
|
|
93
93
|
>换一批</span
|
|
94
94
|
> -->
|
|
95
|
-
<span @click="showMore" class="switch-page-btn"
|
|
95
|
+
<span @click="showMore" class="switch-page-btn">{{$t('dragonCommon.viewMore')}}</span>
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
98
98
|
</template>
|
|
@@ -112,6 +112,7 @@ export default {
|
|
|
112
112
|
},
|
|
113
113
|
props: ["msg"],
|
|
114
114
|
mounted() {
|
|
115
|
+
this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
|
|
115
116
|
console.log(this.msg, "msg");
|
|
116
117
|
// 关键词推荐 前端分页
|
|
117
118
|
this.msg.content.questionList = this.msg.content.questionList.slice(0, 20);
|
|
@@ -4,16 +4,22 @@
|
|
|
4
4
|
v-if="msg.content.description && !msg.content.isKnowledgeSummary"></p>
|
|
5
5
|
<div class="bottom-link" v-if="msg.content.description && !msg.content.isKnowledgeSummary"></div>
|
|
6
6
|
<div :class="['options-list', msg.content.isKnowledgeSummary ? 'isKnowledgeSummary' : '']">
|
|
7
|
-
<div v-if="msg.content.isKnowledgeSummary" class="tips">
|
|
7
|
+
<div v-if="msg.content.isKnowledgeSummary" class="tips">{{$t('dragonCommon.AIrecommends')}}</div>
|
|
8
8
|
<div v-for="(option, index) in showOptions" class="options-item"
|
|
9
9
|
:class="index !== msg.content.options.length - 1 ? 'recommend-item' : 'last-item'" :key="msg.nodeId + '_' + index"
|
|
10
10
|
@click="radioClick(msg, option, index)">
|
|
11
|
-
<
|
|
11
|
+
<!-- <el-tooltip :disabled="!isMobile" class="item" effect="dark" :content="$t('dragonCommon.clickme')" placement="top">
|
|
12
|
+
<span class="options-item-name"> {{ getFilteredName(option.name) }}</span>
|
|
13
|
+
</el-tooltip> -->
|
|
14
|
+
<div class="tooltip-wrapper">
|
|
15
|
+
<span class="tooltip-text options-item-name"> {{ getFilteredName(option.name) }}</span>
|
|
16
|
+
<span v-if="!isMobile" class="tooltip-content">{{$t('dragonCommon.clickme')}}</span>
|
|
17
|
+
</div>
|
|
12
18
|
<i class="arsenal_icon arsenalangle-right-solid"></i>
|
|
13
19
|
</div>
|
|
14
20
|
</div>
|
|
15
21
|
<div v-if="showPage" class="switch-page">
|
|
16
|
-
<span @click="changeActivePage" class="switch-page-btn"
|
|
22
|
+
<span @click="changeActivePage" class="switch-page-btn">{{$t('dragonCommon.refresh')}}</span>
|
|
17
23
|
<!-- <span @click="showMore" class="switch-page-btn">查看更多</span> -->
|
|
18
24
|
</div>
|
|
19
25
|
</div>
|
|
@@ -34,6 +40,8 @@ export default {
|
|
|
34
40
|
},
|
|
35
41
|
props: ['msg'],
|
|
36
42
|
mounted() {
|
|
43
|
+
console.log("askbot-dragon: systemLanguage", sessionStorage.getItem("systemLanguage"));
|
|
44
|
+
this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
|
|
37
45
|
console.log(this.msg, 'msg');
|
|
38
46
|
// 关键词推荐 前端分页
|
|
39
47
|
if ((this.msg.id == "recdNodeId" || this.msg.content.groupVisible) && this.msg.content.options.length > this.pageSize) {
|
|
@@ -100,7 +108,49 @@ export default {
|
|
|
100
108
|
|
|
101
109
|
}
|
|
102
110
|
</script>
|
|
103
|
-
|
|
111
|
+
<style lang="less">
|
|
112
|
+
/* 包裹元素,相对定位,用于定位提示框 */
|
|
113
|
+
.tooltip-wrapper {
|
|
114
|
+
position: relative;
|
|
115
|
+
display: inline-block;
|
|
116
|
+
}
|
|
117
|
+
/* 实际要显示的文本内容 */
|
|
118
|
+
/* 提示框样式 */
|
|
119
|
+
.tooltip-content {
|
|
120
|
+
visibility: hidden;
|
|
121
|
+
background-color: #333;
|
|
122
|
+
color: white;
|
|
123
|
+
text-align: center;
|
|
124
|
+
border-radius: 6px;
|
|
125
|
+
padding: 5px 10px;
|
|
126
|
+
position: absolute;
|
|
127
|
+
z-index: 1;
|
|
128
|
+
bottom: 100%;
|
|
129
|
+
left: 50%;
|
|
130
|
+
transform: translateX(-50%);
|
|
131
|
+
white-space: nowrap;
|
|
132
|
+
opacity: 0;
|
|
133
|
+
transition: opacity 0.3s;
|
|
134
|
+
}
|
|
135
|
+
/* 提示框下方的小三角样式(使用伪元素实现) */
|
|
136
|
+
.tooltip-content::after {
|
|
137
|
+
content: "";
|
|
138
|
+
position: absolute;
|
|
139
|
+
top: 100%;
|
|
140
|
+
left: 50%;
|
|
141
|
+
margin-left: -5px;
|
|
142
|
+
border-width: 5px;
|
|
143
|
+
border-style: solid;
|
|
144
|
+
border-color: #333 transparent transparent transparent;
|
|
145
|
+
}
|
|
146
|
+
/* 鼠标悬浮在包裹元素上时,显示提示框 */
|
|
147
|
+
.tooltip-wrapper:hover{
|
|
148
|
+
.tooltip-content {
|
|
149
|
+
visibility: visible !important;
|
|
150
|
+
opacity: 0.8;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
</style>
|
|
104
154
|
<style scoped lang="less">
|
|
105
155
|
#answer-radio {
|
|
106
156
|
.switch-page {
|
|
@@ -150,8 +200,13 @@ export default {
|
|
|
150
200
|
align-items: center;
|
|
151
201
|
justify-content: space-between;
|
|
152
202
|
|
|
203
|
+
.options-item-name {
|
|
204
|
+
flex: auto;
|
|
205
|
+
}
|
|
153
206
|
|
|
154
207
|
i {
|
|
208
|
+
width: 16px;
|
|
209
|
+
flex: none;
|
|
155
210
|
padding-left: 10px;
|
|
156
211
|
}
|
|
157
212
|
|