ai-error-assistant-pro 0.0.20 → 0.0.22
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/components/demo/src/chat-tools.vue +1 -1
- package/components/demo/src/chat.vue +44 -2
- package/components/demo/src/error-chat.vue +14 -3
- package/components/demo/src/main.vue +1 -1
- package/dist/ai-error-assistant-pro.common.js +98 -36
- package/dist/ai-error-assistant-pro.common.js.map +1 -1
- package/dist/ai-error-assistant-pro.css +1 -1
- package/dist/ai-error-assistant-pro.umd.js +98 -36
- package/dist/ai-error-assistant-pro.umd.js.map +1 -1
- package/dist/ai-error-assistant-pro.umd.min.js +2 -2
- package/dist/ai-error-assistant-pro.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<img alt="" src="../static/zan-active.png" v-else />
|
|
20
20
|
</div>
|
|
21
21
|
</el-tooltip>
|
|
22
|
-
<el-popover v-model="popover" placement="top-start" trigger="manual">
|
|
22
|
+
<el-popover ref="popoverRef" v-model="popover" placement="top-start" trigger="manual">
|
|
23
23
|
<div slot="reference">
|
|
24
24
|
<el-tooltip content="踩" effect="light" placement="bottom">
|
|
25
25
|
<div class="tools-icon" @click="openPopover" v-if="!listData.cai">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="chat-contain" ref="chatContainer">
|
|
3
|
-
<error-chat :question-stem="analyExercise" :businessSource ="businessSource" @on-init="errorChatInit"/>
|
|
2
|
+
<div class="chat-contain" ref="chatContainer" @scroll="handleScroll">
|
|
3
|
+
<error-chat :question-stem="analyExercise" :businessSource ="businessSource" @on-init="errorChatInit" ref="errorChat"/>
|
|
4
4
|
<div v-for="(list, index) in messageData" :key="index"
|
|
5
5
|
:class="{'user-list': list.type === 'user'}"
|
|
6
6
|
class="message">
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
</div>
|
|
74
74
|
</div>
|
|
75
75
|
<chat-tools v-if="list.type === 'robot'"
|
|
76
|
+
:ref="'chatTools' + index"
|
|
76
77
|
:chatId="chatId"
|
|
77
78
|
:detail-data="list"
|
|
78
79
|
:sending="list.sending"
|
|
@@ -140,6 +141,7 @@ export default {
|
|
|
140
141
|
chatId: '', // 对话id
|
|
141
142
|
chatMajorId: '',
|
|
142
143
|
finish: false,
|
|
144
|
+
lastScrollTop: 0,
|
|
143
145
|
}
|
|
144
146
|
},
|
|
145
147
|
computed: {
|
|
@@ -159,6 +161,46 @@ export default {
|
|
|
159
161
|
}
|
|
160
162
|
},
|
|
161
163
|
methods: {
|
|
164
|
+
handleScroll() {
|
|
165
|
+
const container = this.$refs.chatContainer;
|
|
166
|
+
const containerRect = container.getBoundingClientRect();
|
|
167
|
+
// 检查所有消息中的popover是否在可视区域内
|
|
168
|
+
const errorRef = this.$refs.errorChat;
|
|
169
|
+
this.messageData.forEach((_, index) => {
|
|
170
|
+
const ref = this.$refs['chatTools' + index];
|
|
171
|
+
if (ref && ref[0]) {
|
|
172
|
+
// 只有当popover开启时,才去判断它的位置
|
|
173
|
+
if (ref[0].popover) {
|
|
174
|
+
// 通过 ref 属性获取 el-popover 的 DOM 元素
|
|
175
|
+
const popoverEl = ref[0].$refs.popoverRef.$el;
|
|
176
|
+
if (popoverEl) {
|
|
177
|
+
const popoverRect = popoverEl.getBoundingClientRect();
|
|
178
|
+
if (popoverRect.top < containerRect.top || popoverRect.bottom > containerRect.bottom) {
|
|
179
|
+
ref[0].cancelPopover();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// 处理 errorChat 组件内部的 chatTools popover
|
|
187
|
+
const errorChatRef = this.$refs.errorChat;
|
|
188
|
+
if (errorChatRef && errorChatRef.$refs.chatTools) {
|
|
189
|
+
const errorChatToolsRef = errorChatRef.$refs.chatTools;
|
|
190
|
+
// 只有当popover开启时,才去判断它的位置
|
|
191
|
+
if (errorChatToolsRef.popover) {
|
|
192
|
+
const popoverEl = errorChatToolsRef.$refs.popoverRef.$el;
|
|
193
|
+
if (popoverEl) {
|
|
194
|
+
const popoverRect = popoverEl.getBoundingClientRect();
|
|
195
|
+
|
|
196
|
+
// 如果popover的顶部或底部超出 主聊天容器 的可视区域,则关闭它
|
|
197
|
+
if (popoverRect.top < containerRect.top || popoverRect.bottom > containerRect.bottom) {
|
|
198
|
+
errorChatToolsRef.cancelPopover();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
162
204
|
cancelPopover() {
|
|
163
205
|
this.popover = false;
|
|
164
206
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="error-chat-contain">
|
|
2
|
+
<div class="error-chat-contain" @scroll="handleScroll">
|
|
3
3
|
<div class="exercises-answer">
|
|
4
4
|
<div class="exercises-answer-bg"></div>
|
|
5
5
|
<p class="question-stem" v-html="questionStem.title"></p>
|
|
@@ -72,13 +72,14 @@
|
|
|
72
72
|
</div>
|
|
73
73
|
<div class="answer-content" v-if="businessSource !== '2' ">
|
|
74
74
|
<div v-for="(list,index) in analysisData.recommend" :key="index" style="margin-bottom: 8px">
|
|
75
|
-
<a :href="
|
|
75
|
+
<a :href="seeDetail(list.pageIndex, list.url)"
|
|
76
76
|
target="_blank"
|
|
77
77
|
v-if="!list.title.startsWith(chatMajorId)">{{ list.title }}
|
|
78
78
|
</a>
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
81
81
|
<chat-tools type="error"
|
|
82
|
+
ref="chatTools"
|
|
82
83
|
:chatId="chatId"
|
|
83
84
|
:detailData="detailData"
|
|
84
85
|
@on-reanswer="reanswer" />
|
|
@@ -87,7 +88,7 @@
|
|
|
87
88
|
</template>
|
|
88
89
|
<script>
|
|
89
90
|
import ChatTools from './chat-tools.vue';
|
|
90
|
-
import {
|
|
91
|
+
import {erranalysis, pdfUrlBase, retryAnalysis} from '../api/index'
|
|
91
92
|
export default {
|
|
92
93
|
name: 'ErrorChart',
|
|
93
94
|
components: {
|
|
@@ -118,6 +119,12 @@ export default {
|
|
|
118
119
|
}
|
|
119
120
|
},
|
|
120
121
|
methods: {
|
|
122
|
+
handleScroll() {
|
|
123
|
+
console.log('scroll');
|
|
124
|
+
if (this.$refs.chatTools) {
|
|
125
|
+
this.$refs.chatTools.cancelPopover();
|
|
126
|
+
}
|
|
127
|
+
},
|
|
121
128
|
async getErrorAnalysis() {
|
|
122
129
|
try {
|
|
123
130
|
this.analysisData = {};
|
|
@@ -163,6 +170,10 @@ export default {
|
|
|
163
170
|
throw new Error(e);
|
|
164
171
|
}
|
|
165
172
|
},
|
|
173
|
+
seeDetail(pageIndex, url){
|
|
174
|
+
const baseUrl = `${pdfUrlBase}/#/pdf-view?documentUrl=${encodeURIComponent(url)}&pageIndex=${pageIndex}`;
|
|
175
|
+
return baseUrl
|
|
176
|
+
},
|
|
166
177
|
async reanswer(list) {
|
|
167
178
|
const cache = {...this.analysisData};
|
|
168
179
|
this.analysisData = {};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="ai-contain-header">
|
|
5
5
|
<div class="logo-title">
|
|
6
6
|
<img src="../static/logo.png" alt="" style="width: 48px; height: 48px">
|
|
7
|
-
<span class="title-font">AI
|
|
7
|
+
<span class="title-font">AI错题解析</span>
|
|
8
8
|
</div>
|
|
9
9
|
<div class="icon-close" @click="closeMessage">
|
|
10
10
|
<i class="el-icon-close"></i>
|
|
@@ -6546,7 +6546,7 @@ if (typeof window !== 'undefined') {
|
|
|
6546
6546
|
// Indicate to webpack that this file can be concatenated
|
|
6547
6547
|
/* harmony default export */ var setPublicPath = (null);
|
|
6548
6548
|
|
|
6549
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=template&id=
|
|
6549
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=template&id=236c26cc&scoped=true
|
|
6550
6550
|
var render = function render() {
|
|
6551
6551
|
var _vm = this,
|
|
6552
6552
|
_c = _vm._self._c;
|
|
@@ -6644,19 +6644,23 @@ var staticRenderFns = [function () {
|
|
|
6644
6644
|
}
|
|
6645
6645
|
}), _c('span', {
|
|
6646
6646
|
staticClass: "title-font"
|
|
6647
|
-
}, [_vm._v("AI
|
|
6647
|
+
}, [_vm._v("AI错题解析")])]);
|
|
6648
6648
|
}];
|
|
6649
6649
|
|
|
6650
|
-
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=
|
|
6650
|
+
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=template&id=236c26cc&scoped=true
|
|
6651
6651
|
|
|
6652
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=template&id=
|
|
6653
|
-
var
|
|
6652
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=template&id=610f94f3&scoped=true
|
|
6653
|
+
var chatvue_type_template_id_610f94f3_scoped_true_render = function render() {
|
|
6654
6654
|
var _vm = this,
|
|
6655
6655
|
_c = _vm._self._c;
|
|
6656
6656
|
return _c('div', {
|
|
6657
6657
|
ref: "chatContainer",
|
|
6658
|
-
staticClass: "chat-contain"
|
|
6658
|
+
staticClass: "chat-contain",
|
|
6659
|
+
on: {
|
|
6660
|
+
"scroll": _vm.handleScroll
|
|
6661
|
+
}
|
|
6659
6662
|
}, [_c('error-chat', {
|
|
6663
|
+
ref: "errorChat",
|
|
6660
6664
|
attrs: {
|
|
6661
6665
|
"question-stem": _vm.analyExercise,
|
|
6662
6666
|
"businessSource": _vm.businessSource
|
|
@@ -6758,6 +6762,8 @@ var chatvue_type_template_id_75accbf1_scoped_true_render = function render() {
|
|
|
6758
6762
|
staticClass: "el-icon-arrow-right go-icon"
|
|
6759
6763
|
})]);
|
|
6760
6764
|
}), 0)]) : _vm._e(), list.type === 'robot' ? _c('chat-tools', {
|
|
6765
|
+
ref: 'chatTools' + index,
|
|
6766
|
+
refInFor: true,
|
|
6761
6767
|
attrs: {
|
|
6762
6768
|
"chatId": _vm.chatId,
|
|
6763
6769
|
"detail-data": list,
|
|
@@ -6771,7 +6777,7 @@ var chatvue_type_template_id_75accbf1_scoped_true_render = function render() {
|
|
|
6771
6777
|
}) : _vm._e()], 1)]);
|
|
6772
6778
|
})], 2);
|
|
6773
6779
|
};
|
|
6774
|
-
var
|
|
6780
|
+
var chatvue_type_template_id_610f94f3_scoped_true_staticRenderFns = [];
|
|
6775
6781
|
|
|
6776
6782
|
;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/bind.js
|
|
6777
6783
|
|
|
@@ -11103,8 +11109,8 @@ const getUserInfo = async (token, businessSource, fn) => {
|
|
|
11103
11109
|
cache.session.setJSON('SRKJ_TOKEN_CACHE', token);
|
|
11104
11110
|
if (fn) fn();
|
|
11105
11111
|
};
|
|
11106
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat-tools.vue?vue&type=template&id=
|
|
11107
|
-
var
|
|
11112
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat-tools.vue?vue&type=template&id=882f7ed8&scoped=true
|
|
11113
|
+
var chat_toolsvue_type_template_id_882f7ed8_scoped_true_render = function render() {
|
|
11108
11114
|
var _vm = this,
|
|
11109
11115
|
_c = _vm._self._c;
|
|
11110
11116
|
return _vm.listData ? _c('div', {
|
|
@@ -11160,6 +11166,7 @@ var chat_toolsvue_type_template_id_a40a67cc_scoped_true_render = function render
|
|
|
11160
11166
|
"src": __webpack_require__(793)
|
|
11161
11167
|
}
|
|
11162
11168
|
})])]), _c('el-popover', {
|
|
11169
|
+
ref: "popoverRef",
|
|
11163
11170
|
attrs: {
|
|
11164
11171
|
"placement": "top-start",
|
|
11165
11172
|
"trigger": "manual"
|
|
@@ -11266,9 +11273,9 @@ var chat_toolsvue_type_template_id_a40a67cc_scoped_true_render = function render
|
|
|
11266
11273
|
}
|
|
11267
11274
|
}, [_vm._v("提交")])], 1)], 1)])])], 1)]) : _vm._e();
|
|
11268
11275
|
};
|
|
11269
|
-
var
|
|
11276
|
+
var chat_toolsvue_type_template_id_882f7ed8_scoped_true_staticRenderFns = [];
|
|
11270
11277
|
|
|
11271
|
-
;// CONCATENATED MODULE: ./components/demo/src/chat-tools.vue?vue&type=template&id=
|
|
11278
|
+
;// CONCATENATED MODULE: ./components/demo/src/chat-tools.vue?vue&type=template&id=882f7ed8&scoped=true
|
|
11272
11279
|
|
|
11273
11280
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat-tools.vue?vue&type=script&lang=js
|
|
11274
11281
|
|
|
@@ -11369,10 +11376,10 @@ var chat_toolsvue_type_template_id_a40a67cc_scoped_true_staticRenderFns = [];
|
|
|
11369
11376
|
});
|
|
11370
11377
|
;// CONCATENATED MODULE: ./components/demo/src/chat-tools.vue?vue&type=script&lang=js
|
|
11371
11378
|
/* harmony default export */ var src_chat_toolsvue_type_script_lang_js = (chat_toolsvue_type_script_lang_js);
|
|
11372
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat-tools.vue?vue&type=style&index=0&id=
|
|
11379
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat-tools.vue?vue&type=style&index=0&id=882f7ed8&prod&lang=scss&scoped=true
|
|
11373
11380
|
// extracted by mini-css-extract-plugin
|
|
11374
11381
|
|
|
11375
|
-
;// CONCATENATED MODULE: ./components/demo/src/chat-tools.vue?vue&type=style&index=0&id=
|
|
11382
|
+
;// CONCATENATED MODULE: ./components/demo/src/chat-tools.vue?vue&type=style&index=0&id=882f7ed8&prod&lang=scss&scoped=true
|
|
11376
11383
|
|
|
11377
11384
|
;// CONCATENATED MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
11378
11385
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -11483,22 +11490,25 @@ function normalizeComponent(
|
|
|
11483
11490
|
|
|
11484
11491
|
var component = normalizeComponent(
|
|
11485
11492
|
src_chat_toolsvue_type_script_lang_js,
|
|
11486
|
-
|
|
11487
|
-
|
|
11493
|
+
chat_toolsvue_type_template_id_882f7ed8_scoped_true_render,
|
|
11494
|
+
chat_toolsvue_type_template_id_882f7ed8_scoped_true_staticRenderFns,
|
|
11488
11495
|
false,
|
|
11489
11496
|
null,
|
|
11490
|
-
"
|
|
11497
|
+
"882f7ed8",
|
|
11491
11498
|
null
|
|
11492
11499
|
|
|
11493
11500
|
)
|
|
11494
11501
|
|
|
11495
11502
|
/* harmony default export */ var chat_tools = (component.exports);
|
|
11496
|
-
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=template&id=
|
|
11497
|
-
var
|
|
11503
|
+
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=template&id=f32a40f0&scoped=true
|
|
11504
|
+
var error_chatvue_type_template_id_f32a40f0_scoped_true_render = function render() {
|
|
11498
11505
|
var _vm = this,
|
|
11499
11506
|
_c = _vm._self._c;
|
|
11500
11507
|
return _c('div', {
|
|
11501
|
-
staticClass: "error-chat-contain"
|
|
11508
|
+
staticClass: "error-chat-contain",
|
|
11509
|
+
on: {
|
|
11510
|
+
"scroll": _vm.handleScroll
|
|
11511
|
+
}
|
|
11502
11512
|
}, [_c('div', {
|
|
11503
11513
|
staticClass: "exercises-answer"
|
|
11504
11514
|
}, [_c('div', {
|
|
@@ -11622,11 +11632,12 @@ var error_chatvue_type_template_id_750eca81_scoped_true_render = function render
|
|
|
11622
11632
|
}
|
|
11623
11633
|
}, [!list.title.startsWith(_vm.chatMajorId) ? _c('a', {
|
|
11624
11634
|
attrs: {
|
|
11625
|
-
"href":
|
|
11635
|
+
"href": _vm.seeDetail(list.pageIndex, list.url),
|
|
11626
11636
|
"target": "_blank"
|
|
11627
11637
|
}
|
|
11628
11638
|
}, [_vm._v(_vm._s(list.title) + " ")]) : _vm._e()]);
|
|
11629
11639
|
}), 0) : _vm._e(), _c('chat-tools', {
|
|
11640
|
+
ref: "chatTools",
|
|
11630
11641
|
attrs: {
|
|
11631
11642
|
"type": "error",
|
|
11632
11643
|
"chatId": _vm.chatId,
|
|
@@ -11637,7 +11648,7 @@ var error_chatvue_type_template_id_750eca81_scoped_true_render = function render
|
|
|
11637
11648
|
}
|
|
11638
11649
|
})], 1)]);
|
|
11639
11650
|
};
|
|
11640
|
-
var
|
|
11651
|
+
var error_chatvue_type_template_id_f32a40f0_scoped_true_staticRenderFns = [function () {
|
|
11641
11652
|
var _vm = this,
|
|
11642
11653
|
_c = _vm._self._c;
|
|
11643
11654
|
return _c('div', {
|
|
@@ -11656,7 +11667,7 @@ var error_chatvue_type_template_id_750eca81_scoped_true_staticRenderFns = [funct
|
|
|
11656
11667
|
})]);
|
|
11657
11668
|
}];
|
|
11658
11669
|
|
|
11659
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=
|
|
11670
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=template&id=f32a40f0&scoped=true
|
|
11660
11671
|
|
|
11661
11672
|
;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=script&lang=js
|
|
11662
11673
|
|
|
@@ -11695,6 +11706,12 @@ var error_chatvue_type_template_id_750eca81_scoped_true_staticRenderFns = [funct
|
|
|
11695
11706
|
}
|
|
11696
11707
|
},
|
|
11697
11708
|
methods: {
|
|
11709
|
+
handleScroll() {
|
|
11710
|
+
console.log('scroll');
|
|
11711
|
+
if (this.$refs.chatTools) {
|
|
11712
|
+
this.$refs.chatTools.cancelPopover();
|
|
11713
|
+
}
|
|
11714
|
+
},
|
|
11698
11715
|
async getErrorAnalysis() {
|
|
11699
11716
|
try {
|
|
11700
11717
|
this.analysisData = {};
|
|
@@ -11747,6 +11764,10 @@ var error_chatvue_type_template_id_750eca81_scoped_true_staticRenderFns = [funct
|
|
|
11747
11764
|
throw new Error(e);
|
|
11748
11765
|
}
|
|
11749
11766
|
},
|
|
11767
|
+
seeDetail(pageIndex, url) {
|
|
11768
|
+
const baseUrl = `${pdfUrlBase}/#/pdf-view?documentUrl=${encodeURIComponent(url)}&pageIndex=${pageIndex}`;
|
|
11769
|
+
return baseUrl;
|
|
11770
|
+
},
|
|
11750
11771
|
async reanswer(list) {
|
|
11751
11772
|
const cache = {
|
|
11752
11773
|
...this.analysisData
|
|
@@ -11787,10 +11808,10 @@ var error_chatvue_type_template_id_750eca81_scoped_true_staticRenderFns = [funct
|
|
|
11787
11808
|
});
|
|
11788
11809
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=script&lang=js
|
|
11789
11810
|
/* harmony default export */ var src_error_chatvue_type_script_lang_js = (error_chatvue_type_script_lang_js);
|
|
11790
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=style&index=0&id=
|
|
11811
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/error-chat.vue?vue&type=style&index=0&id=f32a40f0&prod&lang=scss&scoped=true
|
|
11791
11812
|
// extracted by mini-css-extract-plugin
|
|
11792
11813
|
|
|
11793
|
-
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=
|
|
11814
|
+
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue?vue&type=style&index=0&id=f32a40f0&prod&lang=scss&scoped=true
|
|
11794
11815
|
|
|
11795
11816
|
;// CONCATENATED MODULE: ./components/demo/src/error-chat.vue
|
|
11796
11817
|
|
|
@@ -11803,11 +11824,11 @@ var error_chatvue_type_template_id_750eca81_scoped_true_staticRenderFns = [funct
|
|
|
11803
11824
|
|
|
11804
11825
|
var error_chat_component = normalizeComponent(
|
|
11805
11826
|
src_error_chatvue_type_script_lang_js,
|
|
11806
|
-
|
|
11807
|
-
|
|
11827
|
+
error_chatvue_type_template_id_f32a40f0_scoped_true_render,
|
|
11828
|
+
error_chatvue_type_template_id_f32a40f0_scoped_true_staticRenderFns,
|
|
11808
11829
|
false,
|
|
11809
11830
|
null,
|
|
11810
|
-
"
|
|
11831
|
+
"f32a40f0",
|
|
11811
11832
|
null
|
|
11812
11833
|
|
|
11813
11834
|
)
|
|
@@ -14358,7 +14379,8 @@ const signal = controller.signal;
|
|
|
14358
14379
|
chatId: '',
|
|
14359
14380
|
// 对话id
|
|
14360
14381
|
chatMajorId: '',
|
|
14361
|
-
finish: false
|
|
14382
|
+
finish: false,
|
|
14383
|
+
lastScrollTop: 0
|
|
14362
14384
|
};
|
|
14363
14385
|
},
|
|
14364
14386
|
computed: {
|
|
@@ -14378,6 +14400,46 @@ const signal = controller.signal;
|
|
|
14378
14400
|
}
|
|
14379
14401
|
},
|
|
14380
14402
|
methods: {
|
|
14403
|
+
handleScroll() {
|
|
14404
|
+
const container = this.$refs.chatContainer;
|
|
14405
|
+
const containerRect = container.getBoundingClientRect();
|
|
14406
|
+
// 检查所有消息中的popover是否在可视区域内
|
|
14407
|
+
const errorRef = this.$refs.errorChat;
|
|
14408
|
+
this.messageData.forEach((_, index) => {
|
|
14409
|
+
const ref = this.$refs['chatTools' + index];
|
|
14410
|
+
if (ref && ref[0]) {
|
|
14411
|
+
// 只有当popover开启时,才去判断它的位置
|
|
14412
|
+
if (ref[0].popover) {
|
|
14413
|
+
// 通过 ref 属性获取 el-popover 的 DOM 元素
|
|
14414
|
+
const popoverEl = ref[0].$refs.popoverRef.$el;
|
|
14415
|
+
if (popoverEl) {
|
|
14416
|
+
const popoverRect = popoverEl.getBoundingClientRect();
|
|
14417
|
+
if (popoverRect.top < containerRect.top || popoverRect.bottom > containerRect.bottom) {
|
|
14418
|
+
ref[0].cancelPopover();
|
|
14419
|
+
}
|
|
14420
|
+
}
|
|
14421
|
+
}
|
|
14422
|
+
}
|
|
14423
|
+
});
|
|
14424
|
+
|
|
14425
|
+
// 处理 errorChat 组件内部的 chatTools popover
|
|
14426
|
+
const errorChatRef = this.$refs.errorChat;
|
|
14427
|
+
if (errorChatRef && errorChatRef.$refs.chatTools) {
|
|
14428
|
+
const errorChatToolsRef = errorChatRef.$refs.chatTools;
|
|
14429
|
+
// 只有当popover开启时,才去判断它的位置
|
|
14430
|
+
if (errorChatToolsRef.popover) {
|
|
14431
|
+
const popoverEl = errorChatToolsRef.$refs.popoverRef.$el;
|
|
14432
|
+
if (popoverEl) {
|
|
14433
|
+
const popoverRect = popoverEl.getBoundingClientRect();
|
|
14434
|
+
|
|
14435
|
+
// 如果popover的顶部或底部超出 主聊天容器 的可视区域,则关闭它
|
|
14436
|
+
if (popoverRect.top < containerRect.top || popoverRect.bottom > containerRect.bottom) {
|
|
14437
|
+
errorChatToolsRef.cancelPopover();
|
|
14438
|
+
}
|
|
14439
|
+
}
|
|
14440
|
+
}
|
|
14441
|
+
}
|
|
14442
|
+
},
|
|
14381
14443
|
cancelPopover() {
|
|
14382
14444
|
this.popover = false;
|
|
14383
14445
|
},
|
|
@@ -14594,10 +14656,10 @@ const signal = controller.signal;
|
|
|
14594
14656
|
});
|
|
14595
14657
|
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=script&lang=js
|
|
14596
14658
|
/* harmony default export */ var src_chatvue_type_script_lang_js = (chatvue_type_script_lang_js);
|
|
14597
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=style&index=0&id=
|
|
14659
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/chat.vue?vue&type=style&index=0&id=610f94f3&prod&lang=scss&scoped=true
|
|
14598
14660
|
// extracted by mini-css-extract-plugin
|
|
14599
14661
|
|
|
14600
|
-
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=style&index=0&id=
|
|
14662
|
+
;// CONCATENATED MODULE: ./components/demo/src/chat.vue?vue&type=style&index=0&id=610f94f3&prod&lang=scss&scoped=true
|
|
14601
14663
|
|
|
14602
14664
|
;// CONCATENATED MODULE: ./components/demo/src/chat.vue
|
|
14603
14665
|
|
|
@@ -14610,11 +14672,11 @@ const signal = controller.signal;
|
|
|
14610
14672
|
|
|
14611
14673
|
var chat_component = normalizeComponent(
|
|
14612
14674
|
src_chatvue_type_script_lang_js,
|
|
14613
|
-
|
|
14614
|
-
|
|
14675
|
+
chatvue_type_template_id_610f94f3_scoped_true_render,
|
|
14676
|
+
chatvue_type_template_id_610f94f3_scoped_true_staticRenderFns,
|
|
14615
14677
|
false,
|
|
14616
14678
|
null,
|
|
14617
|
-
"
|
|
14679
|
+
"610f94f3",
|
|
14618
14680
|
null
|
|
14619
14681
|
|
|
14620
14682
|
)
|
|
@@ -14878,10 +14940,10 @@ var api = init(defaultConverter, { path: '/' });
|
|
|
14878
14940
|
});
|
|
14879
14941
|
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=script&lang=js
|
|
14880
14942
|
/* harmony default export */ var src_mainvue_type_script_lang_js = (mainvue_type_script_lang_js);
|
|
14881
|
-
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=style&index=0&id=
|
|
14943
|
+
;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/demo/src/main.vue?vue&type=style&index=0&id=236c26cc&prod&lang=scss&scoped=true
|
|
14882
14944
|
// extracted by mini-css-extract-plugin
|
|
14883
14945
|
|
|
14884
|
-
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=
|
|
14946
|
+
;// CONCATENATED MODULE: ./components/demo/src/main.vue?vue&type=style&index=0&id=236c26cc&prod&lang=scss&scoped=true
|
|
14885
14947
|
|
|
14886
14948
|
;// CONCATENATED MODULE: ./components/demo/src/main.vue
|
|
14887
14949
|
|
|
@@ -14898,7 +14960,7 @@ var main_component = normalizeComponent(
|
|
|
14898
14960
|
staticRenderFns,
|
|
14899
14961
|
false,
|
|
14900
14962
|
null,
|
|
14901
|
-
"
|
|
14963
|
+
"236c26cc",
|
|
14902
14964
|
null
|
|
14903
14965
|
|
|
14904
14966
|
)
|