askbot-dragon 88.0.43 → 88.1.2

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.
Files changed (38) hide show
  1. package/npminstall-debug.log +208 -0
  2. package/package.json +14 -14
  3. package/public/index.html +2 -2
  4. package/src/assets/js/obsBrowser.js +3 -2
  5. package/src/components/ActionAlertIframe.vue +1 -0
  6. package/src/components/AiGuide.vue +1 -1
  7. package/src/components/AnswerDocknowledge.vue +167 -54
  8. package/src/components/ConversationContainer.vue +16 -9
  9. package/src/components/MyEditor.vue +1 -1
  10. package/src/components/QwFeedback.vue +2 -1
  11. package/src/components/actionSatisfaction.vue +2 -2
  12. package/src/components/answerRadio.vue +59 -4
  13. package/src/components/assetDetails.vue +1 -1
  14. package/src/components/assetMessage.vue +14 -13
  15. package/src/components/associationIntention.vue +2 -2
  16. package/src/components/fielListView.vue +1 -1
  17. package/src/components/formTemplate.vue +24 -3
  18. package/src/components/intelligentSummary.vue +15 -12
  19. package/src/components/kkview.vue +0 -10
  20. package/src/components/markDownText.vue +798 -55
  21. package/src/components/myPopup.vue +14 -11
  22. package/src/components/pagination.vue +129 -0
  23. package/src/components/pdfPosition.vue +67 -67
  24. package/src/components/popup.vue +8 -7
  25. package/src/components/preview/docView.vue +114 -0
  26. package/src/components/preview/excelView.vue +199 -0
  27. package/src/components/preview/newPositionPreview.vue +385 -0
  28. package/src/components/preview/pdfView.vue +824 -0
  29. package/src/components/previewDoc.vue +1 -0
  30. package/src/components/previewPdf.vue +346 -65
  31. package/src/components/receiverMessagePlatform.vue +24 -20
  32. package/src/components/senderMessagePlatform.vue +19 -11
  33. package/src/components/tree.vue +2 -2
  34. package/src/components/welcomeKnowledgeFile.vue +5 -2
  35. package/src/components/welcomeSuggest.vue +1 -1
  36. package/src/locales/cn.json +99 -0
  37. package/src/locales/en.json +99 -0
  38. package/src/main.js +19 -0
@@ -187,6 +187,7 @@ export default {
187
187
  }
188
188
  },
189
189
  mounted() {
190
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
190
191
  setTimeout(() =>{
191
192
  let previewIframe = document.getElementsByClassName('preview_iframe')
192
193
  Array.from(previewIframe).forEach(item =>{
@@ -4,35 +4,43 @@
4
4
  另外增加了在知识项目中预览当前文件的一些功能
5
5
  -->
6
6
  <template>
7
- <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false" :append-to-body="true" :destroy-on-close="true"
8
- :modal="formKnowledgeManagement ? true : false" :direction="previewShowPopup ? 'btt' : 'rtl'"
9
- :size="previewShowPopup ? '90%' : '65%'" custom-class="pdf-preview-drawer" v-if="drawer">
10
- <!-- v-else-if="drawer" -->
11
- <div class="drawer-header" :class="isLiBang ? 'libang_head' : ''" v-if="!isPc">
12
- <div class="header-btn btn_position">
13
- <div class="onload_btn" v-if="isDownload" @click="downLoad">
14
- 下载
15
- </div>
16
- <div class="summaryBtn" :class="showSummary ? 'summaryActiveBtn' : ''" @click="summaryFun"
17
- v-if="isHasChat || formKnowledgeManagement">
18
- <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
19
- <span>智能摘要</span>
20
- </div>
21
- <template v-if="isHasChat">
22
- <div class="chat" @click="previewToDialog(true)" v-if="!previewKnowledgeId">
23
- <i class="iconfont guoran-wendapingjia"></i>
24
- 聊一聊
25
- </div>
26
- <div class="chat chat_active" @click="previewToDialog(false)" v-else>
27
- <i class="iconfont guoran-wendapingjia"></i>
28
- 聊一聊
7
+ <el-drawer title="" :visible.sync="drawer" :with-header="false" :append-to-body="true" :destroy-on-close="true"
8
+ :modal="false" :direction="previewShowPopup ? 'btt' : 'rtl'" :size="previewShowPopup ? '90%' : '65%'"
9
+ custom-class="pdf-preview-drawer" v-if="drawer">
10
+ <div class="drawer-header" :class="(isDownload || (isHasChat && fileType != 'IMAGE')) && isLiBang ? 'has_btn_libang_head' : (isLiBang ? 'libang_head' : (isDownload || (isHasChat && fileType != 'IMAGE') ? 'has_btn_head' : ''))" v-if="!isPc">
11
+ <div class="header_title">
12
+ <template v-if="isDownload || (isHasChat && fileType != 'IMAGE')">
13
+ <div class="top-header">
14
+ <div class="header-btn">
15
+ <div class="onload_btn" v-if="isDownload" @click="downLoad">
16
+ {{ $t('dragonCommon.download') }}
17
+ </div>
18
+ <div class="summaryBtn" :class="showSummary ? 'summaryActiveBtn' : ''" @click="summaryFun" v-if="isHasChat && fileType != 'IMAGE'">
19
+ <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
20
+ <span>{{ $t('dragonCommon.smartSummary') }}</span>
21
+ </div>
22
+ <template v-if="isHasChat && fileType != 'IMAGE'">
23
+ <div class="chat" @click="previewToDialog(true)" v-if="!previewKnowledgeId">
24
+ <i class="iconfont guoran-wendapingjia"></i>
25
+ {{ $t('dragonCommon.chat') }}
26
+ </div>
27
+ <div class="chat chat_active" @click="previewToDialog(false)" v-else>
28
+ <i class="iconfont guoran-wendapingjia"></i>
29
+ {{ $t('dragonCommon.chat') }}
30
+ </div>
31
+ </template>
32
+ </div>
33
+ <section @click="close">
34
+ <i class="iconfont guoran-shanchu"></i>
35
+ </section>
29
36
  </div>
37
+ <span class="title_left">
38
+ {{ title ? title : $t('dragonCommon.viewDetails') }}
39
+ </span>
30
40
  </template>
31
- </div>
32
- <div class="header_title">
33
- <div class="header_close">
41
+ <div class="header_close" v-else>
34
42
  <span class="title_left">
35
- {{ title ? title : "查看详情" }}
43
+ {{ title ? title : $t('dragonCommon.viewDetails') }}
36
44
  </span>
37
45
  <section @click="close">
38
46
  <i class="iconfont guoran-shanchu"></i>
@@ -49,25 +57,25 @@
49
57
  <div class="header_title">
50
58
  <div :class="isLiBang && folderName ? 'header_close' : 'header_top'">
51
59
  <span class="title_left">
52
- {{ title ? title : "查看详情" }}
60
+ {{ title ? title : $t('dragonCommon.viewDetails') }}
53
61
  </span>
54
62
  <div class="header-btn">
55
63
  <div class="onload_btn" v-if="isDownload" @click="downLoad">
56
- 下载
64
+ {{ $t('dragonCommon.download') }}
57
65
  </div>
58
66
  <div class="summaryBtn" :class="showSummary ? 'summaryActiveBtn' : ''" @click="summaryFun"
59
- v-if="isHasChat || formKnowledgeManagement">
67
+ v-if="(isHasChat || formKnowledgeManagement) && fileType != 'IMAGE'">
60
68
  <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
61
- <span>智能摘要</span>
69
+ <span>{{ $t('dragonCommon.smartSummary') }}</span>
62
70
  </div>
63
- <template v-if="isHasChat">
71
+ <template v-if="isHasChat && fileType != 'IMAGE'">
64
72
  <div class="chat" @click="previewToDialog(true)" v-if="!previewKnowledgeId">
65
73
  <i class="iconfont guoran-wendapingjia"></i>
66
- 聊一聊
74
+ {{ $t('dragonCommon.chat') }}
67
75
  </div>
68
76
  <div class="chat chat_active" @click="previewToDialog(false)" v-else>
69
77
  <i class="iconfont guoran-wendapingjia"></i>
70
- 聊一聊
78
+ {{ $t('dragonCommon.chat') }}
71
79
  </div>
72
80
  </template>
73
81
  <section @click="close">
@@ -82,23 +90,27 @@
82
90
  </p>
83
91
  </div>
84
92
  </div>
85
- <div id="drawer_content_pre" :class="isLiBang && folderName ? 'libang_content_pre' : ''">
86
- <!-- :style="{marginTop:tagIds && tagIds.length != 0 && isPc ? '50px' : ''}" -->
87
- <intelligent-summary
88
- v-show="showSummary && (isHasChat || formKnowledgeManagement) && fileType !== 'VIDEO' && fileType !== 'IMAGE'"
89
- :tagIds="tagIds" :knowledgeId="knowledgeId" :formKnowledgeManagement="formKnowledgeManagement"
93
+ <div id="drawer_content_pre" :class="(isDownload || (isHasChat && fileType != 'IMAGE')) && !isPc && isLiBang && folderName ? 'has_btn_libang_content_pre' : (isLiBang && folderName ? 'libang_content_pre' : '')">
94
+ <intelligent-summary v-show="showSummary && (isHasChat && fileType != 'IMAGE')" :tagIds="tagIds" :knowledgeId="knowledgeId"
90
95
  @closeSummary="closeSummary" @recommendQues="recommendQues"
91
96
  @getSummarySuccess="getSummarySuccess"></intelligent-summary>
92
- <div class="pdf_positon" :style="pdfStyle" v-if="tagIds && tagIds.length != 0 && drawer">
97
+ <div class="pdf_positon" :style="pdfStyle" v-if="tagIds && tagIds.length != 0 && drawer && newVersion === false && newFileType !== 'PPT'">
93
98
  <pdfPosition :tagIds="tagIds" :isMessageRecord="isMessageRecord" :textWatermarkStr="textWatermarkStr">
94
99
  </pdfPosition>
95
100
  </div>
101
+ <new-position-preview
102
+ ref="newPositionPreview"
103
+ v-else-if="tagIds && tagIds.length!= 0 && newVersion && newFileType !== 'PPT'"
104
+ :knowledgeId="knowledgeId"
105
+ :tagIds="tagIds"
106
+ :url="previewHref"
107
+ ></new-position-preview>
96
108
  <template v-else>
97
109
  <div v-if="fileType == 'VIDEO'" style="width: 100%;height: 100%">
98
110
  <video :src="url" controls width="100%;" height="98%"></video>
99
111
  </div>
100
112
  <div v-else-if="fileType == 'HTML'" style="width: 100%;">
101
- <div class="preview_iframe_html" style="text-algin:left" v-html="fileText"></div>
113
+ <div class="preview_iframe_html" style="text-align:left" v-html="fileText"></div>
102
114
  </div>
103
115
  <template v-else-if="url.includes('https://www') || url.includes('http://www')">
104
116
  <iframe class="preview_iframe" :src="url" width="100%" height="100%" scrolling="100%" frameborder="no"
@@ -107,11 +119,20 @@
107
119
  <template v-else>
108
120
  <iframe class="preview_iframe_kk" :src="previewUrl" style="border:none;"
109
121
  :style="{ height: iframeHeight }"></iframe>
122
+ <template v-if="!loading && (newFileType === 'PPT' && pageChunkData.length > 1)">
123
+ <div class="btn_footer" v-if="!isPc">
124
+ <div class="prev" @click="prev">上一段</div>
125
+ <div class="next" @click="next">下一段</div>
126
+ </div>
127
+ <div id="pagination" v-if="isPc">
128
+ <el-pagination :current-page="currentPage + 1" @current-change="currentChange" @prev-click="prev"
129
+ @next-click="next" layout="slot, prev, pager, next" :page-size="1" :total="pageChunkData.length">
130
+ <span class="total-class">答案由{{ pageChunkData.length }}段内容生成</span>
131
+ </el-pagination>
132
+ </div>
133
+ </template>
110
134
  </template>
111
135
  </template>
112
- <!-- <div class="mobile_onload_btn" v-if="isDownload && !isPc" @click="downLoad">
113
- 下载
114
- </div> -->
115
136
  </div>
116
137
  <div class="loading_img" v-show="loading">
117
138
  <img src="https://guoranopen-zjk.oss-cn-zhangjiakou.aliyuncs.com/cdn-common/images/loading.gif" alt="">
@@ -128,6 +149,7 @@ import { zoomElement } from '../assets/js/hammer'
128
149
  import IntelligentSummary from "./intelligentSummary";
129
150
  import { isMobile } from "../assets/js/common";
130
151
  import { Toast } from 'vant';
152
+ import NewPositionPreview from "./preview/newPositionPreview";
131
153
  export default {
132
154
  data() {
133
155
  return {
@@ -140,14 +162,21 @@ export default {
140
162
  // '6454aa1a70573a6ead6f0f7d', '6454aa1a70573a6ead6f0f81',
141
163
  loading: true,
142
164
  previewKnowledgeId: "",
143
- showSummary: true,
165
+ showSummary: false,
144
166
  iframeHeight: "100%",
145
167
  isDownload: false,
146
168
  textWatermarkStr: "",
147
- copy: ''
169
+ copy:'',
170
+ newVersion:'',
171
+ previewHref:"",
172
+ newFileType:"",
173
+ numberPage:0,
174
+ pageChunkData:[],
175
+ currentPage:0
148
176
  }
149
177
  },
150
- mounted() {
178
+ mounted () {
179
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
151
180
  window.addEventListener('message', this.handleIframeMessage, false);
152
181
  this.isPcFun();
153
182
  },
@@ -202,6 +231,7 @@ export default {
202
231
  }
203
232
  },
204
233
  components: {
234
+ NewPositionPreview,
205
235
  IntelligentSummary,
206
236
  pdfPosition
207
237
  },
@@ -290,7 +320,7 @@ export default {
290
320
  },
291
321
  loadIframe() {
292
322
 
293
- if (this.fileType == 'VIDEO' || this.fileType == 'WECHAT' || (this.tagIds && this.tagIds.length != 0)) {
323
+ if (this.fileType == 'VIDEO' || this.fileType == 'WECHAT' || (this.tagIds && this.tagIds.length != 0 && this.newFileType !== 'PPT')) {
294
324
  this.loading = false
295
325
  } else {
296
326
  let iframe = document.getElementsByClassName('preview_iframe')[0] || document.getElementsByClassName('preview_iframe_kk')[0];
@@ -330,14 +360,24 @@ export default {
330
360
  console.log('recommendQues', item, knowledgeId);
331
361
  this.$emit('recommendQues', item, knowledgeId)
332
362
  },
333
- handleIframeMessage(res) {
334
- console.log('handleIframeMessage', res)
363
+ handleIframeMessage (res) {
335
364
  if (res.data.type == 'getViewerHeight') {
336
365
  let iframeHeight = this.iframeHeight.replace('px', '')
337
366
  if (res.data.data && iframeHeight != (res.data.data + 50)) {
338
367
  this.iframeHeight = res.data.data + 50 + 'px'
339
368
  }
340
369
  }
370
+ if (res.data.type == 'getViewPage' && res.data.data){
371
+ this.numberPage = Number(res.data.data);
372
+ if (this.pageChunkData.length > 0){
373
+ this.scrollPPTPage(this.pageChunkData[0])
374
+ }
375
+ }
376
+ if (res.data.type == 'getViewerHeight' || res.data.type == 'getViewPage'){
377
+ if (this.pageChunkData.length > 0){
378
+ this.scrollPPTPage(this.pageChunkData[0])
379
+ }
380
+ }
341
381
  },
342
382
  summaryFun() {
343
383
  this.showSummary = !this.showSummary;
@@ -408,7 +448,7 @@ export default {
408
448
  selection.addRange(range);
409
449
  document.execCommand('copy');
410
450
  selection.removeAllRanges()
411
- Toast('下载地址已复制,请前往Safari浏览器访问下载');
451
+ Toast(this.$t('dragonCommon.Safaridownload'));
412
452
  this.close()
413
453
  }, 100)
414
454
  } else {
@@ -454,9 +494,114 @@ export default {
454
494
  },
455
495
  clickFloder() {
456
496
  this.$emit('previewClickFloder')
497
+ },
498
+ getOssPath(url){
499
+ let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate';
500
+ let type = this.getFileType(url)
501
+ this.newFileType = type;
502
+ if (type === 'VIDEO' || type === 'PDF' || type === 'EXCEL' || type === 'TXT' || type === 'DOC') {
503
+ httpUrl += '?needEncrypt=false'
504
+ } else {
505
+ httpUrl += '?needEncrypt=true'
506
+ }
507
+ this.$http.post(httpUrl, {
508
+ "fileInOssPath": url
509
+ }).then(res => {
510
+ console.log('getOssPath',res)
511
+ if (res.data.code == '0'){
512
+ this.previewHref = res.data.data;
513
+ }
514
+ })
515
+ },
516
+ getFileType(url){
517
+ let index = url.lastIndexOf('?')
518
+ let newFileInOssPath = url.substring(0, url.indexOf("?"))
519
+ if (index == -1){
520
+ newFileInOssPath = url
521
+ }
522
+ const fileType = newFileInOssPath.substring(newFileInOssPath.lastIndexOf('.'));
523
+ if (fileType === '.mp4' || fileType === '.MP4' || fileType === '.MOV' || fileType === '.MOVC' || fileType === '.mov' || fileType === '.movc') {
524
+ return 'VIDEO'
525
+ } else if (fileType === '.html') {
526
+ return 'HTML'
527
+ } else if (fileType === '.png' || fileType === '.jpg' || fileType === '.jpeg' || fileType === '.PNG' || fileType === '.JPG' || fileType === '.JPEG') {
528
+ return 'IMAGE'
529
+ } else if (fileType === '.docx' || fileType === '.doc'){
530
+ return 'DOC'
531
+ } else if (fileType === '.ppt' || fileType === '.pptx'){
532
+ return 'PPT'
533
+ } else if (fileType === '.pdf'){
534
+ return 'PDF'
535
+ } else if (fileType === '.txt'){
536
+ return 'TXT'
537
+ } else {
538
+ return 'OTHER'
539
+ }
540
+ },
541
+ //判断是否使用新定位组件
542
+ getLocationInfo(){
543
+ this.newVersion = "";
544
+ this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + this.tagIds.join(',')).then(res => {
545
+ console.log('getLocationInfo',res)
546
+ this.pageChunkData = [];
547
+ if (res.data.code == 0){
548
+ if (res.data.data && res.data.data.length > 0 && res.data.data[0].extractVersion == 'v3'){
549
+ this.newVersion = true;
550
+ if (this.newFileType !== 'PPT'){
551
+ this.loading = false;
552
+ }
553
+ for (let i=0;i<res.data.data.length;i++){
554
+ if (res.data.data[i].paragraphChunkInfo && res.data.data[i].paragraphChunkInfo.pageChunkData){
555
+ this.pageChunkData.push(res.data.data[i].paragraphChunkInfo.pageChunkData.page_number)
556
+ }
557
+ }
558
+ if (this.pageChunkData.length > 1){
559
+ let iframe = document.getElementsByClassName('preview_iframe_kk')
560
+ if (iframe && iframe.length > 0){
561
+ iframe[0].style.paddingBottom = '50px'
562
+ }
563
+ }
564
+ } else {
565
+ if (this.newFileType == 'PPT'){
566
+ this.pageChunkData = res.data.data.map(item => { return item.page }).filter(item =>{ return !!item })
567
+ }
568
+ this.newVersion = false;
569
+ }
570
+ }
571
+ })
572
+ },
573
+ currentChange (value) {
574
+ this.currentPage = value - 1;
575
+ this.scrollPPTPage()
576
+ },
577
+ prev(){
578
+ if (this.currentPage == 0){
579
+ return
580
+ }
581
+ this.currentPage--;
582
+ this.scrollPPTPage()
583
+ },
584
+ next(){
585
+ if (this.currentPage === (this.pageChunkData.length - 1)){
586
+ return;
587
+ }
588
+ this.currentPage++;
589
+ this.scrollPPTPage()
590
+ },
591
+ scrollPPTPage(){
592
+ if (this.numberPage > 0){
593
+ let pageNumber = this.pageChunkData[this.currentPage];
594
+ let height = Math.floor(Number(this.iframeHeight.replace('px',"")));
595
+ let pageHeight = Math.floor(height / this.numberPage);
596
+ let scrollHeight = (pageNumber - 1) * pageHeight;
597
+ let dom = document.getElementById('drawer_content_pre');
598
+ if (dom){
599
+ dom.scrollTo(0,scrollHeight)
600
+ }
601
+ }
457
602
  }
458
- },
459
- beforeDestroy() {
603
+ },
604
+ beforeDestroy () {
460
605
  window.removeEventListener('message', this.handleIframeMessage);
461
606
  }
462
607
  }
@@ -522,7 +667,133 @@ export default {
522
667
  width: 100%;
523
668
  height: 100%;
524
669
  }
670
+ .btn_footer {
671
+ width: 100%;
672
+ height: 60px;
673
+ display: flex;
674
+ align-items: center;
675
+ justify-content: space-around;
676
+ position: absolute;
677
+ bottom: 0px;
678
+ left: 0;
679
+ z-index: 999;
680
+ background: #ffffff;
681
+
682
+ .prev,
683
+ .next {
684
+ width: 35%;
685
+ height: 40px;
686
+ display: flex;
687
+ align-items: center;
688
+ justify-content: center;
689
+ border-radius: 50px;
690
+ cursor: pointer;
691
+ }
692
+
693
+ .prev {
694
+ background: #F2F5FA;
695
+ color: #000;
696
+ }
697
+
698
+ .next {
699
+ background: #366aff;
700
+ color: #ffffff;
701
+ }
702
+ }
703
+ #pagination {
704
+ .total-class {
705
+ margin-right: 13px;
706
+ font-weight: 400;
707
+ }
708
+
709
+ position: absolute;
710
+ bottom: 0px;
711
+ right: 0;
712
+ width: 100%;
713
+ display: flex;
714
+ align-items: center;
715
+ justify-content: center;
716
+ height: 50px;
717
+ background-color: white;
718
+ box-shadow: 0px 0px 18px 0px rgba(29, 55, 129, 0.07);
719
+ border-radius: 5px;
720
+ z-index: 1000;
721
+
722
+
723
+
724
+ /deep/.el-pagination {
725
+ margin-right: 110px;
726
+ }
727
+
728
+ /deep/.el-pager {
729
+ background: #EDF0F6;
730
+ border-radius: 15px;
731
+ }
732
+
733
+ /deep/.el-pagination.is-background .btn-next {
734
+ width: 30px;
735
+ height: 30px;
736
+ background: #EDF0F6;
737
+ border-radius: 50%;
738
+ }
739
+
740
+ /deep/.el-pagination .btn-next {
741
+ width: 30px;
742
+ height: 30px;
743
+ background: #EDF0F6;
744
+ border-radius: 50%;
745
+ padding-left: 0;
746
+ margin-left: 5px;
747
+ }
748
+
749
+ /deep/.el-pagination .btn-prev {
750
+ width: 30px;
751
+ height: 30px;
752
+ background: #EDF0F6;
753
+ border-radius: 50%;
754
+ padding-right: 0;
755
+ margin-right: 5px;
756
+ }
757
+
758
+ /deep/.el-pagination button {
759
+ padding: 0;
760
+ min-width: 30px;
761
+ }
762
+
763
+ /deep/.el-pager li {
764
+ background: #EDF0F6;
765
+ height: 30px;
766
+ min-width: 30px;
767
+ line-height: 30px;
768
+ font-size: 12px;
769
+ color: #717b90;
770
+ }
771
+
772
+ /deep/.el-pager li:first-child {
773
+ border-bottom-left-radius: 15px !important;
774
+ border-top-left-radius: 15px !important;
775
+ }
776
+
777
+ /deep/.el-pager li:last-child {
778
+ border-top-right-radius: 15px !important;
779
+ border-bottom-right-radius: 15px !important;
780
+ }
781
+
782
+ /deep/.el-pager li.active {
783
+ width: 30px;
784
+ height: 30px;
785
+ min-width: 30px;
786
+ background: #366AFF;
787
+ border: 3px solid #A1B9FF;
788
+ border-radius: 50%;
789
+ line-height: 24px;
790
+ color: white;
791
+ }
525
792
 
793
+ /deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
794
+ background: #366AFF;
795
+ }
796
+ }
526
797
  .preview_iframe_html {
527
798
  width: 100%;
528
799
  height: 100%;
@@ -597,7 +868,12 @@ export default {
597
868
  .libang_head {
598
869
  height: 64px !important;
599
870
  }
600
-
871
+ .has_btn_libang_head{
872
+ height: 85px!important;
873
+ }
874
+ .has_btn_head{
875
+ height: 60px!important;
876
+ }
601
877
  .drawer-header {
602
878
  width: 100%;
603
879
  height: 50px;
@@ -687,23 +963,26 @@ export default {
687
963
  align-items: center;
688
964
  justify-content: space-between;
689
965
  line-height: 26px;
690
-
691
- .title_left {
692
- white-space: nowrap;
693
- /* 确保文本不会换行 */
694
- overflow: hidden;
695
- /* 隐藏超出容器的文本 */
696
- text-overflow: ellipsis;
697
- /* 当文本超出容器时显示省略号 */
698
- margin-right: 8px;
699
- }
966
+ }
967
+ .title_left {
968
+ white-space: nowrap; /* 确保文本不会换行 */
969
+ overflow: hidden; /* 隐藏超出容器的文本 */
970
+ text-overflow: ellipsis; /* 当文本超出容器时显示省略号 */
971
+ margin-right: 8px;
972
+ text-align: left;
973
+ }
974
+ .top-header{
975
+ display: flex;
976
+ align-items: center;
977
+ justify-content: flex-end;
978
+ margin-bottom: 6px;
700
979
  }
701
980
 
702
981
  .header_floder {
703
982
  display: flex;
704
983
  align-items: center;
705
984
  line-height: 26px;
706
-
985
+ text-align: left;
707
986
  i {
708
987
  margin: 0 5px;
709
988
  color: #366aff;
@@ -718,7 +997,9 @@ export default {
718
997
  }
719
998
  }
720
999
  }
721
-
1000
+ .has_btn_libang_content_pre{
1001
+ height: calc(100% - 85px) !important;
1002
+ }
722
1003
  @media screen and (max-width: 767px) {
723
1004
 
724
1005
  /* 这里是针对移动设备的css样式设置 */
@@ -1,26 +1,27 @@
1
1
  <template>
2
2
  <div class="">
3
- <span v-if="messagePlateform == 'IM'">
4
-
5
- <span :class="payload.newSession.receiverId == userId ? '':'text_color'">
6
- {{payload.newSession.receiverId == userId ? '': payload.newSession.receiverDisplayInfo.name}}
7
- </span>
8
- 建立对话
9
- </span>
10
- <span v-if="messagePlateform == 'BOT'">
11
- 与机器人【
12
- <span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>
13
- 】建立对话
14
- </span>
15
- <span v-if="messagePlateform == 'oldTransfer' && (isShow == true || isShow === null)">
16
- 您将会话转接给&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>
17
- </span>
18
- <span v-if="messagePlateform == 'newTransfer' && (isShow == true || isShow === null)">
19
- <span class="text_color">{{payload.oldSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将会话转接给您
3
+ <span v-if="messagePlateform == 'IM'">
4
+ {{ $t('dragonCommon.establishConversationWith') }}
5
+ <span :class="payload.newSession.receiverId == userId ? '': 'text_color'">
6
+ {{ payload.newSession.receiverId == userId ? $t('dragonCommon.you') : payload.newSession.receiverDisplayInfo.name }}
20
7
  </span>
8
+ {{ $t('dragonCommon.establishConversationWith') }}
9
+ </span>
10
+ <span v-if="messagePlateform == 'BOT'">
11
+ {{ $t('dragonCommon.establishConversationWith') }}
12
+ <span class="text_color">{{ $t('dragonCommon.bot') }}【{{ payload.newSession.receiverDisplayInfo.name }}】</span>
13
+ {{ $t('dragonCommon.establishConversationWith') }}
14
+ </span>
15
+ <span v-if="messagePlateform == 'oldTransfer' && (isShow == true || isShow === null)">
16
+ {{ $t('dragonCommon.transferTo') }}
17
+ &nbsp;&nbsp;<span class="text_color">{{ payload.newSession.receiverDisplayInfo.name }}</span>
18
+ </span>
19
+ <span v-if="messagePlateform == 'newTransfer' && (isShow == true || isShow === null)">
20
+ <span class="text_color">{{ payload.oldSession.receiverDisplayInfo.name }}</span>
21
+ &nbsp;&nbsp;{{ $t('dragonCommon.transferFrom') }}
22
+ </span>
21
23
  </div>
22
- </template>
23
-
24
+ </template>
24
25
  <script>
25
26
  // 客服 的接入消息展示
26
27
  export default {
@@ -55,7 +56,10 @@ export default {
55
56
  }
56
57
  }
57
58
  }
58
- }
59
+ },
60
+ mounted() {
61
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
62
+ },
59
63
  }
60
64
  </script>
61
65
 
@@ -1,16 +1,21 @@
1
1
  <template>
2
2
  <div class="">
3
- <span v-if="messagePlateform == 'IM'">
4
- IM人工&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将为您服务
5
- </span>
6
- <span v-if="messagePlateform == 'BOT'">
7
- <span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将为您服务
8
- </span>
9
- <span v-if="messagePlateform == 'Transfer' && (isShow === true || isShow === null)">
10
- <span class="text_color">{{payload.oldSession.receiverDisplayInfo.name}}</span>&nbsp;&nbsp;将会话转接给&nbsp;&nbsp;<span class="text_color">{{payload.newSession.receiverDisplayInfo.name}}</span>
11
- </span>
3
+ <span v-if="messagePlateform == 'IM'">
4
+ {{ $t('dragonCommon.imService') }}&nbsp;&nbsp;
5
+ <span class="text_color">{{ payload.newSession.receiverDisplayInfo.name }}</span>&nbsp;&nbsp;
6
+ {{ $t('dragonCommon.willServeYou') }}
7
+ </span>
8
+ <span v-if="messagePlateform == 'BOT'">
9
+ <span class="text_color">{{ payload.newSession.receiverDisplayInfo.name }}</span>&nbsp;&nbsp;
10
+ {{ $t('dragonCommon.willServeYou') }}
11
+ </span>
12
+ <span v-if="messagePlateform == 'Transfer' && (isShow === true || isShow === null)">
13
+ <span class="text_color">{{ payload.oldSession.receiverDisplayInfo.name }}</span>&nbsp;&nbsp;
14
+ {{ $t('dragonCommon.transferTo') }}&nbsp;&nbsp;
15
+ <span class="text_color">{{ payload.newSession.receiverDisplayInfo.name }}</span>
16
+ </span>
12
17
  </div>
13
- </template>
18
+ </template>
14
19
 
15
20
  <script>
16
21
  // 咨询者的接入消息展示
@@ -40,7 +45,10 @@ export default {
40
45
  }
41
46
  }
42
47
  }
43
- }
48
+ },
49
+ mounted() {
50
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
51
+ },
44
52
  }
45
53
  </script>
46
54