|
@@ -206,6 +206,12 @@
|
|
|
</div>
|
|
</div>
|
|
|
</section>
|
|
</section>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div v-if="item.file" class="paper-wrap" @click="downloadFile(item.file.file_url)">
|
|
|
|
|
+ <img src="@/assets/question/word.svg" />
|
|
|
|
|
+ <span>
|
|
|
|
|
+ <b>{{ item.file.file_name }}</b>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
<div class="dialog-other" v-if="item?.other">
|
|
<div class="dialog-other" v-if="item?.other">
|
|
|
<p v-if="isSetting">
|
|
<p v-if="isSetting">
|
|
|
<img src="@/assets/icons/check.png" width="16" />
|
|
<img src="@/assets/icons/check.png" width="16" />
|
|
@@ -517,6 +523,9 @@ export default defineComponent({
|
|
|
loadingData.value.capacity = DOCUMENT_RESULT;
|
|
loadingData.value.capacity = DOCUMENT_RESULT;
|
|
|
addAnswer(loadingData.value);
|
|
addAnswer(loadingData.value);
|
|
|
};
|
|
};
|
|
|
|
|
+ const downloadFile = (url) => {
|
|
|
|
|
+ window.open(url, "_blank");
|
|
|
|
|
+ };
|
|
|
onBeforeUnmount(() => {
|
|
onBeforeUnmount(() => {
|
|
|
helper.$bus.off("send-message");
|
|
helper.$bus.off("send-message");
|
|
|
helper.$bus.off("clear-message");
|
|
helper.$bus.off("clear-message");
|
|
@@ -528,13 +537,18 @@ export default defineComponent({
|
|
|
helper.webSocket = ajax.message.create(helper.read("token"), props.agentId, props.dialogId, props.type);
|
|
helper.webSocket = ajax.message.create(helper.read("token"), props.agentId, props.dialogId, props.type);
|
|
|
helper.webSocket.onmessage = (event) => {
|
|
helper.webSocket.onmessage = (event) => {
|
|
|
console.log(JSON.parse(event.data));
|
|
console.log(JSON.parse(event.data));
|
|
|
- const { type, message, step_message } = JSON.parse(event.data);
|
|
|
|
|
|
|
+ const { type, message, step_message, files } = JSON.parse(event.data);
|
|
|
if (type === "stream") {
|
|
if (type === "stream") {
|
|
|
- answerData.value += props.type === "report" ? step_message + "<br />" : message;
|
|
|
|
|
- if (answerData.value && !isLoaded.value) {
|
|
|
|
|
- answerLoaded();
|
|
|
|
|
|
|
+ if (files && files.length > 0) {
|
|
|
|
|
+ loadingData.value.file = files[0];
|
|
|
|
|
+ addData(loadingData.value);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ answerData.value += props.type === "report" ? step_message + "<br />" : message;
|
|
|
|
|
+ if (answerData.value && !isLoaded.value) {
|
|
|
|
|
+ answerLoaded();
|
|
|
|
|
+ }
|
|
|
|
|
+ addAnswer(loadingData.value);
|
|
|
}
|
|
}
|
|
|
- addAnswer(loadingData.value);
|
|
|
|
|
}
|
|
}
|
|
|
if (type === "close") {
|
|
if (type === "close") {
|
|
|
if (!answerData.value) {
|
|
if (!answerData.value) {
|
|
@@ -586,7 +600,8 @@ export default defineComponent({
|
|
|
stopWriting,
|
|
stopWriting,
|
|
|
knowledgeList,
|
|
knowledgeList,
|
|
|
dialogConfig,
|
|
dialogConfig,
|
|
|
- userName
|
|
|
|
|
|
|
+ userName,
|
|
|
|
|
+ downloadFile
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -631,6 +646,9 @@ export default defineComponent({
|
|
|
display: flex;
|
|
display: flex;
|
|
|
max-width: 200px;
|
|
max-width: 200px;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ margin-left: 40px;
|
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
> img {
|
|
> img {
|
|
|
width: 50px;
|
|
width: 50px;
|
|
|
margin-right: 10px;
|
|
margin-right: 10px;
|