askbot-dragon 1.7.22-beta → 1.7.23-beta
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/package.json +2 -1
- package/public/index.html +8 -10
- package/src/assets/js/AliyunlssUtil.js +50 -26
- package/src/assets/js/hammer.js +13 -2
- package/src/assets/less/converSationContainer/common.less +7 -0
- package/src/components/ActionAlertIframe.vue +24 -1
- package/src/components/AiGuide.vue +121 -154
- package/src/components/AnswerDocknowledge.vue +108 -100
- package/src/components/ConversationContainer.vue +13 -220
- package/src/components/MyEditor.vue +2 -1
- package/src/components/actionSatisfaction.vue +3 -3
- package/src/components/answerRadio.vue +3 -3
- package/src/components/askVideo.vue +23 -0
- package/src/components/associationIntention.vue +11 -7
- package/src/components/formTemplate.vue +54 -50
- package/src/components/intelligentSummary.vue +8 -4
- package/src/components/message/TextMessage.vue +15 -11
- package/src/components/message/swiper/ticketSwiper.vue +1 -1
- package/src/components/newPdfPosition.vue +878 -0
- package/src/components/pdfPosition.vue +217 -37
- package/src/components/popup.vue +2 -2
- package/src/components/previewDoc.vue +6 -2
- package/src/components/previewPdf.vue +159 -134
- package/src/components/senderMessagePlatform.vue +4 -4
- package/src/components/utils/ckeditor.js +1 -1
- package/src/components/welcomeKnowledgeFile.vue +6 -2
- package/src/components/welcomeLlmCard.vue +5 -1
- package/src/components/welcomeSuggest.vue +1 -1
- package/src/locales/cn.json +72 -0
- package/src/locales/en.json +73 -0
- package/src/locales/jp.json +73 -0
- package/src/main.js +18 -0
- package/src/components/QwFeedback.vue +0 -302
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
<section @click="changeScale('zoom')">
|
|
9
9
|
<i class="el-icon-plus"></i>
|
|
10
10
|
</section>
|
|
11
|
-
<el-select size="small" v-model="handScale" @change="changeScale" placeholder="
|
|
11
|
+
<el-select size="small" v-model="handScale" @change="changeScale" :placeholder="$t('common.selectPlaceholder')">
|
|
12
12
|
<el-option v-for="item in scaleList" :key="item.value" :label="item.label" :value="item.value">
|
|
13
13
|
</el-option>
|
|
14
14
|
</el-select>
|
|
15
15
|
</div>
|
|
16
16
|
<div class="pdf_container_view" id="pdf_container_view" @scroll="pdfScroll" ref="pdfView"></div>
|
|
17
17
|
<div class="btn_footer" v-if="tagIds.length > 1 && !isPC">
|
|
18
|
-
<div class="prev" @click="prev"
|
|
19
|
-
<div class="next" @click="next"
|
|
18
|
+
<div class="prev" @click="prev">{{$t('common.previous')}}</div>
|
|
19
|
+
<div class="next" @click="next">{{$t('common.next')}}</div>
|
|
20
20
|
</div>
|
|
21
21
|
<div id="pagination" v-if="tagIds.length > 1 && isPC">
|
|
22
22
|
<el-pagination :current-page="currentPage + 1" @current-change="currentChange" @prev-click="prev"
|
|
23
23
|
@next-click="next" layout="slot, prev, pager, next" :page-size="1" :total="tagIds.length">
|
|
24
|
-
<span class="total-class"
|
|
24
|
+
<span class="total-class">{{$t('previewPdf.answer')}}{{ tagIds.length }}{{$t('previewPdf.answerTip')}}</span>
|
|
25
25
|
</el-pagination>
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -45,10 +45,11 @@ if (pdfjsLib) {
|
|
|
45
45
|
// 'pdfjs-dist/build/pdf.worker';
|
|
46
46
|
}
|
|
47
47
|
const { TextLayerBuilder } = window['pdfjs-dist/web/pdf_viewer']
|
|
48
|
+
const CSS_UNITS = 96.0 / 72.0
|
|
48
49
|
// import { zoomElement } from '../assets/js/hammer'
|
|
49
50
|
export default {
|
|
50
51
|
name: 'pdfView',
|
|
51
|
-
props: ['tagIds', 'isMessageRecord','textWatermarkStr'],
|
|
52
|
+
props: ['tagIds', 'isMessageRecord','fileName', "knowledgeItem",'textWatermarkStr'],
|
|
52
53
|
data () {
|
|
53
54
|
return {
|
|
54
55
|
url: '',
|
|
@@ -95,6 +96,7 @@ export default {
|
|
|
95
96
|
},
|
|
96
97
|
isTouchMoved: false,
|
|
97
98
|
transformSalce: null,
|
|
99
|
+
defaultTransform:0.8,
|
|
98
100
|
isPC: false,
|
|
99
101
|
handScale: 'auto',
|
|
100
102
|
scaleList: [
|
|
@@ -285,12 +287,12 @@ export default {
|
|
|
285
287
|
const { pdfPage, pageNo, dom } = page;
|
|
286
288
|
// dom 元素已存在,无须重新渲染,直接返回
|
|
287
289
|
if ((dom && dom.children.length != 0) || page.loading) {
|
|
288
|
-
|
|
290
|
+
return;
|
|
289
291
|
}
|
|
290
292
|
page.loading = true
|
|
291
293
|
const viewport = pdfPage.getViewport({
|
|
292
|
-
|
|
293
|
-
|
|
294
|
+
scale: this.scale,
|
|
295
|
+
rotation: this.rotation,
|
|
294
296
|
});
|
|
295
297
|
// 创建新的canvas
|
|
296
298
|
const canvas = document.createElement('canvas');
|
|
@@ -339,32 +341,34 @@ export default {
|
|
|
339
341
|
rectdom.style.top = 0
|
|
340
342
|
rectdom.style.left = 0
|
|
341
343
|
rectdom.classList.add('rectdom')
|
|
342
|
-
|
|
344
|
+
if (lines){
|
|
345
|
+
for (let index = 0; index < lines.length; index++) {
|
|
343
346
|
if (!/^\s+$/g.test(lines[index].content)) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
}
|
|
361
|
-
// if(this.isPC) {
|
|
362
|
-
// rectdomTop = rectdomTop - 50 < 0 ? 0 : rectdomTop - 50
|
|
363
|
-
// }
|
|
347
|
+
let postionArr = lines[index].location
|
|
348
|
+
let div = document.createElement('div')
|
|
349
|
+
div.style.position = 'absolute';
|
|
350
|
+
div.style.left = postionArr[0] * this.scale + 'px',
|
|
351
|
+
// 后端返回的坐标有基线对齐的问题,top 值是后端算好(基线top - 文字高度),在此加上文字高度的 1/9 (大致比例)为实际展示出文字的top值
|
|
352
|
+
div.style.top = postionArr[1] * this.scale + 'px'
|
|
353
|
+
div.style.height = postionArr[3] * this.scale + 'px';
|
|
354
|
+
div.style.width = postionArr[2] * this.scale + 'px'
|
|
355
|
+
div.style.backgroundColor = 'rgba(54, 106, 255, 0.3)'
|
|
356
|
+
div.classList.add('lineHeight')
|
|
357
|
+
rectdom.appendChild(div)
|
|
358
|
+
if (index == 0 && j == 0) {
|
|
359
|
+
if (this.transformSalce !== null) {
|
|
360
|
+
rectdomTop = postionArr[1] * this.scale * this.transformSalce
|
|
361
|
+
} else {
|
|
362
|
+
rectdomTop = postionArr[1] * this.scale
|
|
364
363
|
}
|
|
364
|
+
// if(this.isPC) {
|
|
365
|
+
// rectdomTop = rectdomTop - 50 < 0 ? 0 : rectdomTop - 50
|
|
366
|
+
// }
|
|
367
|
+
}
|
|
365
368
|
}
|
|
369
|
+
}
|
|
366
370
|
}
|
|
367
|
-
if (rectdom.children.length > 0) {
|
|
371
|
+
if (rectdom.children && rectdom.children.length > 0) {
|
|
368
372
|
pageDom.appendChild(rectdom)
|
|
369
373
|
}
|
|
370
374
|
}
|
|
@@ -381,6 +385,10 @@ export default {
|
|
|
381
385
|
page.dom = await pageDom;
|
|
382
386
|
page.loading = false
|
|
383
387
|
this.contentView.appendChild(pageDom);
|
|
388
|
+
let pdf_view = document.getElementsByClassName('pdf_view');
|
|
389
|
+
if (pdf_view && pdf_view[0]){
|
|
390
|
+
pdf_view[0].style.backgroundImage = 'none'
|
|
391
|
+
}
|
|
384
392
|
if (this.transformSalce !== null) {
|
|
385
393
|
this.contentView.style.transform = `scale(${this.transformSalce}, ${this.transformSalce})`
|
|
386
394
|
}
|
|
@@ -447,7 +455,7 @@ export default {
|
|
|
447
455
|
startNum = Math.ceil(scrollTop / (that.pageSize.height + that.PAGE_INTVERVAL))
|
|
448
456
|
endNum = startNum + Math.ceil(height / (that.pageSize.height + that.PAGE_INTVERVAL))
|
|
449
457
|
}
|
|
450
|
-
for (let pageIndex = startNum; pageIndex
|
|
458
|
+
for (let pageIndex = startNum; pageIndex <= endNum; pageIndex++) {
|
|
451
459
|
if (pageIndex > 0 && pageIndex <= that.pages.length) {
|
|
452
460
|
that.loadPdfData(pageIndex)
|
|
453
461
|
}
|
|
@@ -691,14 +699,20 @@ export default {
|
|
|
691
699
|
// this.currentPageAllLine[i].allLines.lines.push(item.extractInfo.lines)
|
|
692
700
|
this.currentPageAllLine[i].allLines.push({
|
|
693
701
|
pageCount: index,
|
|
694
|
-
lines: item.extractInfo.lines
|
|
702
|
+
lines: item.extractInfo.lines ? item.extractInfo.lines : [{
|
|
703
|
+
content:"测试内容填充,不必理会",
|
|
704
|
+
location:item.extractInfo.location
|
|
705
|
+
}]
|
|
695
706
|
})
|
|
696
707
|
} else {
|
|
697
708
|
this.currentPageAllLine.push({
|
|
698
709
|
page: item.page,
|
|
699
710
|
allLines: [{
|
|
700
711
|
pageCount: index,
|
|
701
|
-
lines: item.extractInfo.lines
|
|
712
|
+
lines: item.extractInfo.lines ? item.extractInfo.lines : [{
|
|
713
|
+
content:"测试内容填充,不必理会",
|
|
714
|
+
location:item.extractInfo.location
|
|
715
|
+
}]
|
|
702
716
|
}],
|
|
703
717
|
})
|
|
704
718
|
}
|
|
@@ -840,6 +854,164 @@ export default {
|
|
|
840
854
|
this.contentView.style.transform = 'scale(' + this.transformSalce + ')';
|
|
841
855
|
// this.getpdfResloutePage(this.cachePdf[0])
|
|
842
856
|
},
|
|
857
|
+
//添加水印
|
|
858
|
+
watermark() {
|
|
859
|
+
//默认设置
|
|
860
|
+
var defaultSettings = {
|
|
861
|
+
watermark_txt:"",
|
|
862
|
+
watermark_x: 0,//水印起始位置x轴坐标
|
|
863
|
+
watermark_y: 0,//水印起始位置Y轴坐标
|
|
864
|
+
watermark_rows: 0,//水印行数
|
|
865
|
+
watermark_cols: 0,//水印列数
|
|
866
|
+
watermark_x_space: 40,//水印x轴间隔
|
|
867
|
+
watermark_y_space: 60,//水印y轴间隔
|
|
868
|
+
watermark_color: 'black',//水印字体颜色
|
|
869
|
+
watermark_alpha: .3,//水印透明度
|
|
870
|
+
watermark_fontsize: 12,//水印字体大小
|
|
871
|
+
watermark_font: '微软雅黑',//水印字体
|
|
872
|
+
watermark_width: 100,//水印宽度
|
|
873
|
+
watermark_height: 80,//水印长度
|
|
874
|
+
watermark_angle: 20,//水印倾斜度数***
|
|
875
|
+
visitorWatermark_txt:""
|
|
876
|
+
};
|
|
877
|
+
if(this.knowledgeItem.textWatermarkValue){
|
|
878
|
+
defaultSettings.watermark_txt = this.knowledgeItem.textWatermarkValue;
|
|
879
|
+
}
|
|
880
|
+
if (this.knowledgeItem.visitorWatermarkValue){
|
|
881
|
+
defaultSettings.visitorWatermark_txt = this.knowledgeItem.visitorWatermarkValue
|
|
882
|
+
}
|
|
883
|
+
//采用配置项替换默认值,作用类似jquery.extend
|
|
884
|
+
if (arguments.length === 1 && typeof arguments[0] === "object") {
|
|
885
|
+
console.log("arguments = " + JSON.stringify(arguments[0]));
|
|
886
|
+
// 获取参数配置
|
|
887
|
+
var src = arguments[0];
|
|
888
|
+
for (let key in src) {
|
|
889
|
+
if (src[key] && defaultSettings[key] && src[key] === defaultSettings[key])
|
|
890
|
+
continue;
|
|
891
|
+
else if (src[key])
|
|
892
|
+
defaultSettings[key] = src[key];
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
var oTemp = document.createDocumentFragment();
|
|
896
|
+
//获取页面最大宽度
|
|
897
|
+
console.debug('pdf_view',document.getElementById('pdf_view'))
|
|
898
|
+
let scrollWidth = document.getElementById('pdf_view').scrollWidth;
|
|
899
|
+
let clientWidth = document.getElementById('pdf_view').clientWidth;
|
|
900
|
+
var page_width = Math.max(scrollWidth, clientWidth);
|
|
901
|
+
|
|
902
|
+
var cutWidth = page_width * 0.0150;
|
|
903
|
+
|
|
904
|
+
page_width = page_width - cutWidth;
|
|
905
|
+
|
|
906
|
+
//获取页面最大高度
|
|
907
|
+
let height = parseInt(this.totalPageCount * this.pageSize.height)
|
|
908
|
+
var page_height = Math.max(document.getElementById('pdf_container_view').scrollHeight,height);
|
|
909
|
+
|
|
910
|
+
console.debug('page_height',page_height,this.totalPageCount * this.pageSize.height);
|
|
911
|
+
|
|
912
|
+
// var page_height = document.body.scrollHeight+document.body.scrollTop;
|
|
913
|
+
|
|
914
|
+
//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
|
|
915
|
+
|
|
916
|
+
if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings
|
|
917
|
+
.watermark_width * defaultSettings.watermark_cols + defaultSettings.watermark_x_space *
|
|
918
|
+
(defaultSettings.watermark_cols - 1)) > page_width)) {
|
|
919
|
+
defaultSettings.watermark_cols = parseInt((page_width - defaultSettings.watermark_x + defaultSettings
|
|
920
|
+
.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings
|
|
921
|
+
.watermark_x_space));
|
|
922
|
+
defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x -
|
|
923
|
+
defaultSettings
|
|
924
|
+
.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1));
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
//如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
|
|
928
|
+
|
|
929
|
+
if (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings
|
|
930
|
+
|
|
931
|
+
.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (
|
|
932
|
+
|
|
933
|
+
defaultSettings.watermark_rows - 1)) > page_height)) {
|
|
934
|
+
|
|
935
|
+
defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height -
|
|
936
|
+
|
|
937
|
+
defaultSettings
|
|
938
|
+
|
|
939
|
+
.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space));
|
|
940
|
+
|
|
941
|
+
defaultSettings.watermark_y_space = parseInt(((page_height - defaultSettings.watermark_y) -
|
|
942
|
+
|
|
943
|
+
defaultSettings
|
|
944
|
+
|
|
945
|
+
.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1));
|
|
946
|
+
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
var x;
|
|
950
|
+
|
|
951
|
+
var y;
|
|
952
|
+
|
|
953
|
+
for (var i = 0; i < defaultSettings.watermark_rows; i++) {
|
|
954
|
+
y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i;
|
|
955
|
+
for (var j = 0; j < defaultSettings.watermark_cols; j++) {
|
|
956
|
+
x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j;
|
|
957
|
+
|
|
958
|
+
var mask_div = document.createElement('div');
|
|
959
|
+
mask_div.id = 'mask_div' + i + j;
|
|
960
|
+
mask_div.className = 'mask_div';
|
|
961
|
+
|
|
962
|
+
//注意看这里加了图片水印
|
|
963
|
+
mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
|
|
964
|
+
mask_div.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
|
|
965
|
+
mask_div.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
|
|
966
|
+
mask_div.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
|
|
967
|
+
mask_div.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)";
|
|
968
|
+
mask_div.style.visibility = "";
|
|
969
|
+
mask_div.style.position = "absolute";
|
|
970
|
+
//奇偶行错开,这样水印就不对齐,显的不呆板
|
|
971
|
+
console.debug('x',x)
|
|
972
|
+
if (i % 2 != 0) {
|
|
973
|
+
mask_div.style.left = x + 'px';
|
|
974
|
+
if (j % 2 != 0 && this.knowledgeItem.visitorWatermarkValue){
|
|
975
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.visitorWatermark_txt));
|
|
976
|
+
} else {
|
|
977
|
+
if (!this.knowledgeItem.textWatermarkValue){
|
|
978
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.visitorWatermark_txt));
|
|
979
|
+
} else {
|
|
980
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
} else {
|
|
984
|
+
mask_div.style.left = x + 'px';
|
|
985
|
+
if (j % 2 != 0 && this.knowledgeItem.textWatermarkValue){
|
|
986
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
|
|
987
|
+
} else {
|
|
988
|
+
if (!this.knowledgeItem.visitorWatermarkValue){
|
|
989
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));
|
|
990
|
+
} else {
|
|
991
|
+
mask_div.appendChild(document.createTextNode(defaultSettings.visitorWatermark_txt));
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
mask_div.style.top = y + 'px';
|
|
997
|
+
mask_div.style.overflow = "hidden";
|
|
998
|
+
mask_div.style.zIndex = "9999";
|
|
999
|
+
mask_div.style.pointerEvents = 'none'; //让水印不遮挡页面的点击事件
|
|
1000
|
+
mask_div.style.opacity = defaultSettings.watermark_alpha;
|
|
1001
|
+
mask_div.style.fontSize = defaultSettings.watermark_fontsize;
|
|
1002
|
+
mask_div.style.fontFamily = defaultSettings.watermark_font;
|
|
1003
|
+
mask_div.style.color = defaultSettings.watermark_color;
|
|
1004
|
+
mask_div.style.textAlign = "center";
|
|
1005
|
+
mask_div.style.width = defaultSettings.watermark_width + 'px';
|
|
1006
|
+
mask_div.style.height = defaultSettings.watermark_height + 'px';
|
|
1007
|
+
mask_div.style.display = "block";
|
|
1008
|
+
oTemp.appendChild(mask_div);
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
let pageDom = document.getElementById('pdf_container_view')
|
|
1012
|
+
pageDom.appendChild(oTemp);
|
|
1013
|
+
|
|
1014
|
+
},
|
|
843
1015
|
},
|
|
844
1016
|
computed: {
|
|
845
1017
|
perviewUrl () {
|
|
@@ -867,16 +1039,18 @@ export default {
|
|
|
867
1039
|
if (value && value.length) {
|
|
868
1040
|
// 在 pdf_view 下创建 所有canvs的容器
|
|
869
1041
|
this.contentView = document.createElement('div')
|
|
1042
|
+
this.contentView.setAttribute('id','contentView')
|
|
870
1043
|
this.contentView.style.transformOrigin = '0px 0px 0px'
|
|
871
1044
|
this.contentView.setAttribute('id','contentView');
|
|
872
|
-
|
|
1045
|
+
|
|
1046
|
+
this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + value.join(',')).then(res => {
|
|
873
1047
|
// res.data = {"data":[{"id":"64591b7d8bb8ab1b91c65f24","knowledgeId":"64591a9c8da27649473f3b4b","mainId":"fb348d095c0b4fd7bbd37826563dac7d","page":3,"total":18,"pageHeight":540.0,"pageWidth":960.00946,"publicPageFileUrl":"https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/fb348d095c0b4fd7bbd37826563dac7d/2023/05/08/11/55/18/64591b638bb8ab1b91c65eed/3.pdf","extractInfo":{"location":[280.488,161.32,398.71573,61.99298],"content":"黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距北京市区65公里,是以奇而著称,融山川、碧水、古长城为一体的旅游休闲胜地。而这里的“三绝景”更是引人入","lines":[{"content":"黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距","location":[280.488,161.32,398.71573,15.9869995]},{"content":"北京市区65公里,是以奇而著称,融山川、碧水、古长","location":[283.691,184.30899,392.3055,15.9869995]},{"content":"城为一体的旅游休闲胜地。而这里的“三绝景”更是引人入","location":[282.699,207.32599,394.3033,15.9869995]}],"tagId":null}}],"code":"0","msg":null,"traceId":null}
|
|
874
1048
|
// res.data = {"data":[{"id":"64590ce1eb1320043401cc90","knowledgeId":"64590cd5017b461d67e282e1","mainId":"fb348d095c0b4fd7bbd37826563dac7d","page":2,"total":5,"pageHeight":841.8898,"pageWidth":595.30396,"publicPageFileUrl":"https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/fb348d095c0b4fd7bbd37826563dac7d/2023/05/08/10/53/20/64590ce0eb1320043401cc7b/2.pdf","extractInfo":{"location":[89.32981,638.1907,415.15512,98.63251],"content":":北京地铁 13\r号线 :藤黄\r色 :西直门站—\r东直门站 :17 :41.\r5 :6\r准\rB :2002年\r09月\r28日 ","lines":[{"content":":北京地铁 13\r号线 ","location":[89.32981,638.1907,99.44599,98.63251]},{"content":":藤黄\r色 ","location":[188.7758,638.1907,46.79959,98.63251]},{"content":":西直门站—\r东直门站 ","location":[235.5754,638.1907,86.09996,98.63251]},{"content":":17 ","location":[321.67535,638.1907,36.200012,98.63251]},{"content":":41.\r5 ","location":[357.87537,638.1907,39.400696,98.63251]},{"content":":6\r准\rB ","location":[397.27606,638.1907,41.099,98.63251]},{"content":":2002年\r09月\r28日 ","location":[438.37506,638.1907,66.10986,98.63251]}],"tagId":null}}],"code":"0","msg":null,"traceId":null}
|
|
875
1049
|
// res.data = {"data":[{"id":"64591b7d8bb8ab1b91c65f24","knowledgeId":"64591a9c8da27649473f3b4b","mainId":"fb348d095c0b4fd7bbd37826563dac7d","page":3,"total":18,"pageHeight":540.0,"pageWidth":960.00946,"publicPageFileUrl":"https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/fb348d095c0b4fd7bbd37826563dac7d/2023/05/08/11/55/18/64591b638bb8ab1b91c65eed/3.pdf","extractInfo":{"location":[280.488,161.32,398.71573,61.99298],"content":"黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距北京市区65公里,是以奇而著称,融山川、碧水、古长城为一体的旅游休闲胜地。而这里的“三绝景”更是引人入","lines":[{"content":"黄花城水长城旅游区位于北京市怀柔区九渡河镇境内,距","location":[280.488,161.32,398.71573,15.9869995]},{"content":"北京市区65公里,是以奇而著称,融山川、碧水、古长","location":[283.691,184.30899,392.3055,15.9869995]},{"content":"城为一体的旅游休闲胜地。而这里的“三绝景”更是引人入","location":[282.699,207.32599,394.3033,15.9869995]}],"tagId":null}}],"code":"0","msg":null,"traceId":null}
|
|
876
1050
|
// res.data = {"data":[{"id":"6475eab868110215ab821a80","knowledgeId":"6475e7eac724c54c46cbfa2d","mainId":"5ecf2fcd704541149201ab9c1c31162d","page":0,"total":1,"pageHeight":0.0,"pageWidth":0.0,"publicPageFileUrl":"https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/5ecf2fcd704541149201ab9c1c31162d/2023/05/30/08/23/20/6475eab63339db423f26b196/0.html","extractInfo":{"location":null,"content":"产品:系统配置,产品型号:存储,VX30:4G+16G,VX50:16G+256G","lines":null,"tagId":"6475eab868110215ab821a80"}}],"code":"0","msg":null,"traceId":null}
|
|
877
1051
|
// res.data = {"data":[{"id":"6475e9393339db423f26af01","knowledgeId":"6475e44fc724c54c46cbfa21","mainId":"5ecf2fcd704541149201ab9c1c31162d","page":2,"total":2,"pageHeight":510.25,"pageWidth":1559.05,"publicPageFileUrl":"https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/5ecf2fcd704541149201ab9c1c31162d/2023/05/30/08/00/29/6475e55d3339db423f26a9b8/2.pdf","extractInfo":{"location":[327.70532,288.0498,414.9734,12.241608],"content":"三、指示灯状态说明1.白色常亮:开机/开机中2.红色常亮:待机3.白色呼吸:息屏4.红色闪烁:升级1.LAN:通过网线连接到主机的Camera端口2.电源开关:电源切换开关","lines":[{"content":"三、指示灯状态说明","location":[634.3203,288.0498,108.3584,12.0]},{"content":"1.白色常亮:开机/开机中","location":[634.3203,320.08978,108.23407,9.0]},{"content":"2.红色常亮:待机","location":[634.3204,341.3298,78.597046,9.0]},{"content":"3.白色呼吸:息屏","location":[634.32043,362.45282,78.597046,9.0]},{"content":"4.红色闪烁:升级","location":[634.3205,383.6928,78.597046,9.0]},{"content":"1.LAN:通过网线连接到主机的","location":[327.70535,291.2914,144.35995,9.0]},{"content":"Camera端口","location":[327.70532,306.88843,55.322998,9.0]},{"content":"2.电源开关:电源切换开关","location":[482.74832,291.2914,105.36301,9.0]}],"tagId":null}}],"code":"0","msg":null,"traceId":null}
|
|
878
1052
|
// if(value.length === 1) {
|
|
879
|
-
// this.$refs.pdfView.style.height = 'calc(100% - 50px)'
|
|
1053
|
+
// this.$refs.pdfView.style.height = 'calc(100% - 50px)'
|
|
880
1054
|
// }
|
|
881
1055
|
// res.data = {
|
|
882
1056
|
// "data": [
|
|
@@ -1051,18 +1225,23 @@ export default {
|
|
|
1051
1225
|
"Content-Type": "application/json",
|
|
1052
1226
|
},
|
|
1053
1227
|
}).then(res => {
|
|
1054
|
-
// 使用原声请求方式 axios会带有不需要的请求头
|
|
1228
|
+
// 使用原声请求方式 axios会带有不需要的请求头
|
|
1055
1229
|
let xhr = new XMLHttpRequest();
|
|
1056
1230
|
xhr.open('GET', res.data || res.bodyText, true);
|
|
1057
1231
|
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
|
|
1058
1232
|
xhr.onload = ({ currentTarget }) => {
|
|
1059
1233
|
// 请求完成
|
|
1060
1234
|
if (currentTarget.status === 200) { // 返回200
|
|
1235
|
+
let pdf_view = document.getElementsByClassName('pdf_view');
|
|
1236
|
+
if (pdf_view && pdf_view[0]){
|
|
1237
|
+
pdf_view[0].style.backgroundImage = 'none'
|
|
1238
|
+
}
|
|
1061
1239
|
this.contentView.innerHTML = currentTarget.response
|
|
1062
1240
|
this.contentView.style.padding = '10px'
|
|
1063
1241
|
// this.contentView.style.position = 'relative'
|
|
1064
1242
|
this.$refs.pdfView.style.backgroundColor = '#FFFFFF'
|
|
1065
1243
|
this.$refs.pdfView.appendChild(this.contentView)
|
|
1244
|
+
|
|
1066
1245
|
let allTr = Array.from(this.$refs.pdfView.getElementsByTagName('tr'))
|
|
1067
1246
|
this.allTr = []
|
|
1068
1247
|
for (let index = 0; index < allTr.length; index++) {
|
|
@@ -1106,6 +1285,7 @@ export default {
|
|
|
1106
1285
|
// height: calc(100% - 110px);
|
|
1107
1286
|
height: 100%;
|
|
1108
1287
|
overflow: auto;
|
|
1288
|
+
//overflow-y: scroll;
|
|
1109
1289
|
background-color: #f5f7fb;
|
|
1110
1290
|
// margin-bottom: 60px;
|
|
1111
1291
|
box-sizing: border-box;
|
|
@@ -1331,4 +1511,4 @@ export default {
|
|
|
1331
1511
|
100% {
|
|
1332
1512
|
background: rgba(255, 136, 0, 0.3);
|
|
1333
1513
|
}
|
|
1334
|
-
}</style>
|
|
1514
|
+
}</style>
|
package/src/components/popup.vue
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="popUp">
|
|
3
3
|
<div class="topBtn">
|
|
4
|
-
<span class="cancel" @click="closeBtn"
|
|
5
|
-
<span class="sure" @click="sure"
|
|
4
|
+
<span class="cancel" @click="closeBtn">{{$t('common.cancel')}}</span>
|
|
5
|
+
<span class="sure" @click="sure">{{$t('common.confirm')}}</span>
|
|
6
6
|
</div>
|
|
7
7
|
<slot name="popup-header" class="popup-header"></slot>
|
|
8
8
|
<div class="popup-content">
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<div class="previewDoc">
|
|
8
8
|
<div class="footer">
|
|
9
|
-
<span
|
|
9
|
+
<span>{{$t('common.viewDetail')}}</span>
|
|
10
10
|
<section @click="close">
|
|
11
11
|
<i class="iconfont guoran-shanchu"></i>
|
|
12
12
|
</section>
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<iframe class="preview_iframe" :src="previewUrl" style="border:none;"></iframe>
|
|
43
43
|
</div>
|
|
44
44
|
<div class="onload_btn" @click="downLoad">
|
|
45
|
-
|
|
45
|
+
{{$t('common.download')}}
|
|
46
46
|
</div>
|
|
47
47
|
<div id="text">
|
|
48
48
|
{{ copy }}
|
|
@@ -70,6 +70,10 @@ export default {
|
|
|
70
70
|
officePreviewType: {
|
|
71
71
|
type: String,
|
|
72
72
|
default: ''
|
|
73
|
+
},
|
|
74
|
+
language:{
|
|
75
|
+
type:String,
|
|
76
|
+
default:"cn"
|
|
73
77
|
}
|
|
74
78
|
},
|
|
75
79
|
computed: {
|