askbot-dragon 88.0.43 → 88.1.1

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 +191 -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 +343 -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,111 @@ 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
+ this.newVersion = false;
566
+ }
567
+ }
568
+ })
569
+ },
570
+ currentChange (value) {
571
+ this.currentPage = value - 1;
572
+ this.scrollPPTPage()
573
+ },
574
+ prev(){
575
+ if (this.currentPage == 0){
576
+ return
577
+ }
578
+ this.currentPage--;
579
+ this.scrollPPTPage()
580
+ },
581
+ next(){
582
+ if (this.currentPage === (this.pageChunkData.length - 1)){
583
+ return;
584
+ }
585
+ this.currentPage++;
586
+ this.scrollPPTPage()
587
+ },
588
+ scrollPPTPage(){
589
+ if (this.numberPage > 0){
590
+ let pageNumber = this.pageChunkData[this.currentPage];
591
+ let height = Math.floor(Number(this.iframeHeight.replace('px',"")));
592
+ let pageHeight = Math.floor(height / this.numberPage);
593
+ let scrollHeight = (pageNumber - 1) * pageHeight;
594
+ let dom = document.getElementById('drawer_content_pre');
595
+ if (dom){
596
+ dom.scrollTo(0,scrollHeight)
597
+ }
598
+ }
457
599
  }
458
- },
459
- beforeDestroy() {
600
+ },
601
+ beforeDestroy () {
460
602
  window.removeEventListener('message', this.handleIframeMessage);
461
603
  }
462
604
  }
@@ -522,7 +664,133 @@ export default {
522
664
  width: 100%;
523
665
  height: 100%;
524
666
  }
667
+ .btn_footer {
668
+ width: 100%;
669
+ height: 60px;
670
+ display: flex;
671
+ align-items: center;
672
+ justify-content: space-around;
673
+ position: absolute;
674
+ bottom: 0px;
675
+ left: 0;
676
+ z-index: 999;
677
+ background: #ffffff;
525
678
 
679
+ .prev,
680
+ .next {
681
+ width: 35%;
682
+ height: 40px;
683
+ display: flex;
684
+ align-items: center;
685
+ justify-content: center;
686
+ border-radius: 50px;
687
+ cursor: pointer;
688
+ }
689
+
690
+ .prev {
691
+ background: #F2F5FA;
692
+ color: #000;
693
+ }
694
+
695
+ .next {
696
+ background: #366aff;
697
+ color: #ffffff;
698
+ }
699
+ }
700
+ #pagination {
701
+ .total-class {
702
+ margin-right: 13px;
703
+ font-weight: 400;
704
+ }
705
+
706
+ position: absolute;
707
+ bottom: 0px;
708
+ right: 0;
709
+ width: 100%;
710
+ display: flex;
711
+ align-items: center;
712
+ justify-content: center;
713
+ height: 50px;
714
+ background-color: white;
715
+ box-shadow: 0px 0px 18px 0px rgba(29, 55, 129, 0.07);
716
+ border-radius: 5px;
717
+ z-index: 1000;
718
+
719
+
720
+
721
+ /deep/.el-pagination {
722
+ margin-right: 110px;
723
+ }
724
+
725
+ /deep/.el-pager {
726
+ background: #EDF0F6;
727
+ border-radius: 15px;
728
+ }
729
+
730
+ /deep/.el-pagination.is-background .btn-next {
731
+ width: 30px;
732
+ height: 30px;
733
+ background: #EDF0F6;
734
+ border-radius: 50%;
735
+ }
736
+
737
+ /deep/.el-pagination .btn-next {
738
+ width: 30px;
739
+ height: 30px;
740
+ background: #EDF0F6;
741
+ border-radius: 50%;
742
+ padding-left: 0;
743
+ margin-left: 5px;
744
+ }
745
+
746
+ /deep/.el-pagination .btn-prev {
747
+ width: 30px;
748
+ height: 30px;
749
+ background: #EDF0F6;
750
+ border-radius: 50%;
751
+ padding-right: 0;
752
+ margin-right: 5px;
753
+ }
754
+
755
+ /deep/.el-pagination button {
756
+ padding: 0;
757
+ min-width: 30px;
758
+ }
759
+
760
+ /deep/.el-pager li {
761
+ background: #EDF0F6;
762
+ height: 30px;
763
+ min-width: 30px;
764
+ line-height: 30px;
765
+ font-size: 12px;
766
+ color: #717b90;
767
+ }
768
+
769
+ /deep/.el-pager li:first-child {
770
+ border-bottom-left-radius: 15px !important;
771
+ border-top-left-radius: 15px !important;
772
+ }
773
+
774
+ /deep/.el-pager li:last-child {
775
+ border-top-right-radius: 15px !important;
776
+ border-bottom-right-radius: 15px !important;
777
+ }
778
+
779
+ /deep/.el-pager li.active {
780
+ width: 30px;
781
+ height: 30px;
782
+ min-width: 30px;
783
+ background: #366AFF;
784
+ border: 3px solid #A1B9FF;
785
+ border-radius: 50%;
786
+ line-height: 24px;
787
+ color: white;
788
+ }
789
+
790
+ /deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
791
+ background: #366AFF;
792
+ }
793
+ }
526
794
  .preview_iframe_html {
527
795
  width: 100%;
528
796
  height: 100%;
@@ -597,7 +865,12 @@ export default {
597
865
  .libang_head {
598
866
  height: 64px !important;
599
867
  }
600
-
868
+ .has_btn_libang_head{
869
+ height: 85px!important;
870
+ }
871
+ .has_btn_head{
872
+ height: 60px!important;
873
+ }
601
874
  .drawer-header {
602
875
  width: 100%;
603
876
  height: 50px;
@@ -687,23 +960,26 @@ export default {
687
960
  align-items: center;
688
961
  justify-content: space-between;
689
962
  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
- }
963
+ }
964
+ .title_left {
965
+ white-space: nowrap; /* 确保文本不会换行 */
966
+ overflow: hidden; /* 隐藏超出容器的文本 */
967
+ text-overflow: ellipsis; /* 当文本超出容器时显示省略号 */
968
+ margin-right: 8px;
969
+ text-align: left;
970
+ }
971
+ .top-header{
972
+ display: flex;
973
+ align-items: center;
974
+ justify-content: flex-end;
975
+ margin-bottom: 6px;
700
976
  }
701
977
 
702
978
  .header_floder {
703
979
  display: flex;
704
980
  align-items: center;
705
981
  line-height: 26px;
706
-
982
+ text-align: left;
707
983
  i {
708
984
  margin: 0 5px;
709
985
  color: #366aff;
@@ -718,7 +994,9 @@ export default {
718
994
  }
719
995
  }
720
996
  }
721
-
997
+ .has_btn_libang_content_pre{
998
+ height: calc(100% - 85px) !important;
999
+ }
722
1000
  @media screen and (max-width: 767px) {
723
1001
 
724
1002
  /* 这里是针对移动设备的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