askbot-dragon 1.7.20-beta → 1.7.22-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 +1 -2
- package/public/index.html +10 -8
- package/src/assets/js/AliyunlssUtil.js +26 -50
- package/src/assets/js/hammer.js +2 -13
- package/src/assets/less/converSationContainer/common.less +0 -7
- package/src/components/ActionAlertIframe.vue +1 -24
- package/src/components/AiGuide.vue +154 -121
- package/src/components/AnswerDocknowledge.vue +9 -11
- package/src/components/ConversationContainer.vue +7399 -740
- package/src/components/MyEditor.vue +1 -2
- package/src/components/QwFeedback.vue +302 -0
- package/src/components/actionSatisfaction.vue +3 -3
- package/src/components/answerRadio.vue +3 -3
- package/src/components/askVideo.vue +1 -24
- package/src/components/associationIntention.vue +10 -14
- package/src/components/formTemplate.vue +52 -58
- package/src/components/intelligentSummary.vue +4 -8
- package/src/components/message/TextMessage.vue +11 -15
- package/src/components/message/swiper/ticketSwiper.vue +1 -1
- package/src/components/pdfPosition.vue +37 -217
- package/src/components/popup.vue +2 -2
- package/src/components/previewDoc.vue +2 -6
- package/src/components/previewPdf.vue +134 -159
- package/src/components/senderMessagePlatform.vue +4 -4
- package/src/components/utils/ckeditor.js +1 -1
- package/src/components/welcomeKnowledgeFile.vue +2 -6
- package/src/components/welcomeLlmCard.vue +1 -5
- package/src/components/welcomeSuggest.vue +1 -1
- package/src/main.js +0 -18
- package/src/components/newPdfPosition.vue +0 -878
- package/src/locales/cn.json +0 -72
- package/src/locales/en.json +0 -73
- package/src/locales/jp.json +0 -73
|
@@ -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"
|
|
11
|
+
<el-select size="small" v-model="handScale" @change="changeScale" placeholder="请选择">
|
|
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">上一段</div>
|
|
19
|
+
<div class="next" @click="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">答案由{{ tagIds.length }}段内容生成</span>
|
|
25
25
|
</el-pagination>
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -45,11 +45,10 @@ 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
|
|
49
48
|
// import { zoomElement } from '../assets/js/hammer'
|
|
50
49
|
export default {
|
|
51
50
|
name: 'pdfView',
|
|
52
|
-
props: ['tagIds', 'isMessageRecord','
|
|
51
|
+
props: ['tagIds', 'isMessageRecord','textWatermarkStr'],
|
|
53
52
|
data () {
|
|
54
53
|
return {
|
|
55
54
|
url: '',
|
|
@@ -96,7 +95,6 @@ export default {
|
|
|
96
95
|
},
|
|
97
96
|
isTouchMoved: false,
|
|
98
97
|
transformSalce: null,
|
|
99
|
-
defaultTransform:0.8,
|
|
100
98
|
isPC: false,
|
|
101
99
|
handScale: 'auto',
|
|
102
100
|
scaleList: [
|
|
@@ -287,12 +285,12 @@ export default {
|
|
|
287
285
|
const { pdfPage, pageNo, dom } = page;
|
|
288
286
|
// dom 元素已存在,无须重新渲染,直接返回
|
|
289
287
|
if ((dom && dom.children.length != 0) || page.loading) {
|
|
290
|
-
|
|
288
|
+
return;
|
|
291
289
|
}
|
|
292
290
|
page.loading = true
|
|
293
291
|
const viewport = pdfPage.getViewport({
|
|
294
|
-
|
|
295
|
-
|
|
292
|
+
scale: this.scale,
|
|
293
|
+
rotation: this.rotation,
|
|
296
294
|
});
|
|
297
295
|
// 创建新的canvas
|
|
298
296
|
const canvas = document.createElement('canvas');
|
|
@@ -341,34 +339,32 @@ export default {
|
|
|
341
339
|
rectdom.style.top = 0
|
|
342
340
|
rectdom.style.left = 0
|
|
343
341
|
rectdom.classList.add('rectdom')
|
|
344
|
-
|
|
345
|
-
for (let index = 0; index < lines.length; index++) {
|
|
342
|
+
for (let index = 0; index < lines.length; index++) {
|
|
346
343
|
if (!/^\s+$/g.test(lines[index].content)) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
344
|
+
let postionArr = lines[index].location
|
|
345
|
+
let div = document.createElement('div')
|
|
346
|
+
div.style.position = 'absolute';
|
|
347
|
+
div.style.left = postionArr[0] * this.scale + 'px',
|
|
348
|
+
// 后端返回的坐标有基线对齐的问题,top 值是后端算好(基线top - 文字高度),在此加上文字高度的 1/9 (大致比例)为实际展示出文字的top值
|
|
349
|
+
div.style.top = postionArr[1] * this.scale + 'px'
|
|
350
|
+
div.style.height = postionArr[3] * this.scale + 'px';
|
|
351
|
+
div.style.width = postionArr[2] * this.scale + 'px'
|
|
352
|
+
div.style.backgroundColor = 'rgba(54, 106, 255, 0.3)'
|
|
353
|
+
div.classList.add('lineHeight')
|
|
354
|
+
rectdom.appendChild(div)
|
|
355
|
+
if (index == 0 && j == 0) {
|
|
356
|
+
if (this.transformSalce !== null) {
|
|
357
|
+
rectdomTop = postionArr[1] * this.scale * this.transformSalce
|
|
358
|
+
} else {
|
|
359
|
+
rectdomTop = postionArr[1] * this.scale
|
|
360
|
+
}
|
|
361
|
+
// if(this.isPC) {
|
|
362
|
+
// rectdomTop = rectdomTop - 50 < 0 ? 0 : rectdomTop - 50
|
|
363
|
+
// }
|
|
363
364
|
}
|
|
364
|
-
// if(this.isPC) {
|
|
365
|
-
// rectdomTop = rectdomTop - 50 < 0 ? 0 : rectdomTop - 50
|
|
366
|
-
// }
|
|
367
|
-
}
|
|
368
365
|
}
|
|
369
|
-
}
|
|
370
366
|
}
|
|
371
|
-
if (rectdom.children
|
|
367
|
+
if (rectdom.children.length > 0) {
|
|
372
368
|
pageDom.appendChild(rectdom)
|
|
373
369
|
}
|
|
374
370
|
}
|
|
@@ -385,10 +381,6 @@ export default {
|
|
|
385
381
|
page.dom = await pageDom;
|
|
386
382
|
page.loading = false
|
|
387
383
|
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
|
-
}
|
|
392
384
|
if (this.transformSalce !== null) {
|
|
393
385
|
this.contentView.style.transform = `scale(${this.transformSalce}, ${this.transformSalce})`
|
|
394
386
|
}
|
|
@@ -455,7 +447,7 @@ export default {
|
|
|
455
447
|
startNum = Math.ceil(scrollTop / (that.pageSize.height + that.PAGE_INTVERVAL))
|
|
456
448
|
endNum = startNum + Math.ceil(height / (that.pageSize.height + that.PAGE_INTVERVAL))
|
|
457
449
|
}
|
|
458
|
-
for (let pageIndex = startNum; pageIndex
|
|
450
|
+
for (let pageIndex = startNum; pageIndex < endNum; pageIndex++) {
|
|
459
451
|
if (pageIndex > 0 && pageIndex <= that.pages.length) {
|
|
460
452
|
that.loadPdfData(pageIndex)
|
|
461
453
|
}
|
|
@@ -699,20 +691,14 @@ export default {
|
|
|
699
691
|
// this.currentPageAllLine[i].allLines.lines.push(item.extractInfo.lines)
|
|
700
692
|
this.currentPageAllLine[i].allLines.push({
|
|
701
693
|
pageCount: index,
|
|
702
|
-
lines: item.extractInfo.lines
|
|
703
|
-
content:"测试内容填充,不必理会",
|
|
704
|
-
location:item.extractInfo.location
|
|
705
|
-
}]
|
|
694
|
+
lines: item.extractInfo.lines
|
|
706
695
|
})
|
|
707
696
|
} else {
|
|
708
697
|
this.currentPageAllLine.push({
|
|
709
698
|
page: item.page,
|
|
710
699
|
allLines: [{
|
|
711
700
|
pageCount: index,
|
|
712
|
-
lines: item.extractInfo.lines
|
|
713
|
-
content:"测试内容填充,不必理会",
|
|
714
|
-
location:item.extractInfo.location
|
|
715
|
-
}]
|
|
701
|
+
lines: item.extractInfo.lines
|
|
716
702
|
}],
|
|
717
703
|
})
|
|
718
704
|
}
|
|
@@ -854,164 +840,6 @@ export default {
|
|
|
854
840
|
this.contentView.style.transform = 'scale(' + this.transformSalce + ')';
|
|
855
841
|
// this.getpdfResloutePage(this.cachePdf[0])
|
|
856
842
|
},
|
|
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
|
-
},
|
|
1015
843
|
},
|
|
1016
844
|
computed: {
|
|
1017
845
|
perviewUrl () {
|
|
@@ -1039,18 +867,16 @@ export default {
|
|
|
1039
867
|
if (value && value.length) {
|
|
1040
868
|
// 在 pdf_view 下创建 所有canvs的容器
|
|
1041
869
|
this.contentView = document.createElement('div')
|
|
1042
|
-
this.contentView.setAttribute('id','contentView')
|
|
1043
870
|
this.contentView.style.transformOrigin = '0px 0px 0px'
|
|
1044
871
|
this.contentView.setAttribute('id','contentView');
|
|
1045
|
-
|
|
1046
|
-
this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + value.join(',')).then(res => {
|
|
872
|
+
this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + value.join(',')).then(res => {
|
|
1047
873
|
// 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}
|
|
1048
874
|
// 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}
|
|
1049
875
|
// 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}
|
|
1050
876
|
// 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}
|
|
1051
877
|
// 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}
|
|
1052
878
|
// if(value.length === 1) {
|
|
1053
|
-
// this.$refs.pdfView.style.height = 'calc(100% - 50px)'
|
|
879
|
+
// this.$refs.pdfView.style.height = 'calc(100% - 50px)'
|
|
1054
880
|
// }
|
|
1055
881
|
// res.data = {
|
|
1056
882
|
// "data": [
|
|
@@ -1225,23 +1051,18 @@ export default {
|
|
|
1225
1051
|
"Content-Type": "application/json",
|
|
1226
1052
|
},
|
|
1227
1053
|
}).then(res => {
|
|
1228
|
-
// 使用原声请求方式 axios会带有不需要的请求头
|
|
1054
|
+
// 使用原声请求方式 axios会带有不需要的请求头
|
|
1229
1055
|
let xhr = new XMLHttpRequest();
|
|
1230
1056
|
xhr.open('GET', res.data || res.bodyText, true);
|
|
1231
1057
|
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
|
|
1232
1058
|
xhr.onload = ({ currentTarget }) => {
|
|
1233
1059
|
// 请求完成
|
|
1234
1060
|
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
|
-
}
|
|
1239
1061
|
this.contentView.innerHTML = currentTarget.response
|
|
1240
1062
|
this.contentView.style.padding = '10px'
|
|
1241
1063
|
// this.contentView.style.position = 'relative'
|
|
1242
1064
|
this.$refs.pdfView.style.backgroundColor = '#FFFFFF'
|
|
1243
1065
|
this.$refs.pdfView.appendChild(this.contentView)
|
|
1244
|
-
|
|
1245
1066
|
let allTr = Array.from(this.$refs.pdfView.getElementsByTagName('tr'))
|
|
1246
1067
|
this.allTr = []
|
|
1247
1068
|
for (let index = 0; index < allTr.length; index++) {
|
|
@@ -1285,7 +1106,6 @@ export default {
|
|
|
1285
1106
|
// height: calc(100% - 110px);
|
|
1286
1107
|
height: 100%;
|
|
1287
1108
|
overflow: auto;
|
|
1288
|
-
//overflow-y: scroll;
|
|
1289
1109
|
background-color: #f5f7fb;
|
|
1290
1110
|
// margin-bottom: 60px;
|
|
1291
1111
|
box-sizing: border-box;
|
|
@@ -1511,4 +1331,4 @@ export default {
|
|
|
1511
1331
|
100% {
|
|
1512
1332
|
background: rgba(255, 136, 0, 0.3);
|
|
1513
1333
|
}
|
|
1514
|
-
}</style>
|
|
1334
|
+
}</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">取消</span>
|
|
5
|
+
<span class="sure" @click="sure">确定</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>查看详情</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
|
+
下载
|
|
46
46
|
</div>
|
|
47
47
|
<div id="text">
|
|
48
48
|
{{ copy }}
|
|
@@ -70,10 +70,6 @@ export default {
|
|
|
70
70
|
officePreviewType: {
|
|
71
71
|
type: String,
|
|
72
72
|
default: ''
|
|
73
|
-
},
|
|
74
|
-
language:{
|
|
75
|
-
type:String,
|
|
76
|
-
default:"cn"
|
|
77
73
|
}
|
|
78
74
|
},
|
|
79
75
|
computed: {
|