askbot-dragon 1.6.21-beta → 1.6.21

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 (72) hide show
  1. package/package.json +8 -11
  2. package/public/index.html +9 -8
  3. package/src/assets/image/default_avt_ui.png +0 -0
  4. package/src/assets/image/filtType/audio.png +0 -0
  5. package/src/assets/image/filtType/excel1.png +0 -0
  6. package/src/assets/image/filtType/general.png +0 -0
  7. package/src/assets/image/filtType/image1.png +0 -0
  8. package/src/assets/image/filtType/link.png +0 -0
  9. package/src/assets/image/filtType/md2.png +0 -0
  10. package/src/assets/image/filtType/mode.png +0 -0
  11. package/src/assets/image/filtType/news.png +0 -0
  12. package/src/assets/image/filtType/pdf1.png +0 -0
  13. package/src/assets/image/filtType/ppt1.png +0 -0
  14. package/src/assets/image/filtType/selfadd1.png +0 -0
  15. package/src/assets/image/filtType/txt1.png +0 -0
  16. package/src/assets/image/filtType/video.png +0 -0
  17. package/src/assets/image/filtType/wechat.png +0 -0
  18. package/src/assets/image/filtType/word1.png +0 -0
  19. package/src/assets/image/loading.gif +0 -0
  20. package/src/assets/js/AliyunlssUtil.js +35 -10
  21. package/src/assets/js/common.js +241 -0
  22. package/src/components/ActionAlertIframe.vue +1 -0
  23. package/src/components/AiGuide.vue +7 -4
  24. package/src/components/AnswerDocknowledge.vue +930 -389
  25. package/src/components/ConversationContainer.vue +7111 -1058
  26. package/src/components/MyEditor.vue +342 -0
  27. package/src/components/QwFeedback.vue +303 -0
  28. package/src/components/actionSatisfaction.vue +2 -2
  29. package/src/components/actionSendToBot.vue +2 -2
  30. package/src/components/answerRadio.vue +145 -64
  31. package/src/components/askVideo.vue +3 -6
  32. package/src/components/assetDetails.vue +14 -6
  33. package/src/components/assetMessage.vue +14 -13
  34. package/src/components/associationIntention.vue +31 -6
  35. package/src/components/fielListView.vue +1 -1
  36. package/src/components/file/AliyunOssComponents.vue +1 -1
  37. package/src/components/formTemplate.vue +1590 -1674
  38. package/src/components/imgView.vue +32 -0
  39. package/src/components/intelligentSummary.vue +231 -0
  40. package/src/components/markDownText.vue +198 -0
  41. package/src/components/myPopup.vue +14 -11
  42. package/src/components/pagination.vue +129 -0
  43. package/src/components/pdfPosition.vue +112 -90
  44. package/src/components/popup.vue +8 -7
  45. package/src/components/preview/docView.vue +114 -0
  46. package/src/components/preview/excelView.vue +187 -0
  47. package/src/components/preview/newPositionPreview.vue +370 -0
  48. package/src/components/preview/pdfView.vue +824 -0
  49. package/src/components/previewDoc.vue +6 -0
  50. package/src/components/previewPdf.vue +963 -200
  51. package/src/components/receiverMessagePlatform.vue +25 -21
  52. package/src/components/recommend.vue +2 -2
  53. package/src/components/senderMessagePlatform.vue +21 -13
  54. package/src/components/tree.vue +116 -103
  55. package/src/components/utils/AliyunIssUtil.js +35 -13
  56. package/src/components/utils/ckeditor.js +64 -56
  57. package/src/components/welcomeKnowledgeFile.vue +344 -0
  58. package/src/components/welcomeLlmCard.vue +141 -0
  59. package/src/components/welcomeSuggest.vue +98 -0
  60. package/src/locales/cn.json +62 -0
  61. package/src/locales/en.json +62 -0
  62. package/src/main.js +19 -3
  63. package/vue.config.js +0 -1
  64. package/src/assets/js/obsBrowser.js +0 -63
  65. package/src/components/utils/ckeditorImageUpload/command.js +0 -112
  66. package/src/components/utils/ckeditorImageUpload/editing.js +0 -12
  67. package/src/components/utils/ckeditorImageUpload/plugin-image.js +0 -12
  68. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +0 -41
  69. package/src/components/utils/ckeditorfileUpload/common.js +0 -175
  70. package/src/components/utils/ckeditorfileUpload/editing.js +0 -12
  71. package/src/components/utils/ckeditorfileUpload/plugin_file.js +0 -12
  72. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +0 -35
@@ -1,187 +1,292 @@
1
+ <!--
2
+ isLiBang 字段判断 是否为立邦主体
3
+ 立邦有自己单独的组件分支,但考虑到后期结构改动如果较大改动会不方便,所以还是在推荐知识消息中 在此判断是否是立邦主体。方便后期维护
4
+ -->
1
5
  <template>
2
6
  <div class="answer-docknowledge">
3
- <div :class="['answer-docknowledge-header',msg.content.isKnowledgeSummary ? 'bgc' : '']">
4
- <div v-if="msg.content.isKnowledgeSummary" class="tips">AI为您总结生成了以下摘要</div>
5
- <div v-if="msg.content.type == 0" class="answer-text">
6
- <template v-if="msg.content.renderType == 1">
7
- <p v-html="msg.content.text"></p>
8
- </template>
9
- <template v-else>
10
- {{ msg.content.text }}
11
- </template>
12
- </div>
13
- <div v-if="msg.content.type == 1" class="answer-text">
14
- <template v-if="msg.content.renderType == 1">
15
- <p v-html="msg.content.text"></p>
16
- </template>
17
- <template v-else>
18
- {{ msg.content.text }}
19
- </template>
20
- </div>
21
- <div v-if="msg.content.images && msg.content.images.length != 0" class="answer-kn-image-box">
22
- <img v-for="(imageItem, imageItemIndex) in msg.content.images" style='max-width: 230px;border-radius: 25px;margin-bottom: 15px' :src="imageItem.url" :key="imageItemIndex" alt="" @click="lookAttach(imageItem.url, imageItem, $event)">
23
- </div>
7
+ <div :class="['answer-docknowledge-header', msg.content.isKnowledgeSummary ? 'bgc' : '']">
8
+ <div v-if="msg.content.isKnowledgeSummary" class="tips">{{$t('dragonCommon.summaryGeneratedByAI')}}</div>
9
+ <!-- <div v-if="msg.content.type == 0" class="answer-text">
10
+ <template v-if="msg.content.renderType == 1">
11
+ <p v-html="msg.content.text"></p>
12
+ </template>
13
+ <template v-else>{{ msg.content.text }}</template>
14
+ </div> -->
15
+ <div class="answer-text">
16
+ <template v-if="msg.content.renderType == 1">
17
+ <p v-html="msg.content.text"></p>
18
+ </template>
19
+ <template v-else-if="msg.content.renderType == 2">
20
+ <markDownText :chainValues="msg.content.text" :isHistory="isHistory"></markDownText>
21
+ </template>
22
+ <template v-else>{{ msg.content.text }}</template>
23
+ </div>
24
+ <div v-if="msg.content.images && msg.content.images.length != 0" class="answer-kn-image-box">
25
+ <img v-for="(imageItem, imageItemIndex) in msg.content.images"
26
+ style="max-width: 230px;border-radius: 25px;margin-bottom: 15px" :src="imageItem.url"
27
+ :key="imageItemIndex" alt @click="lookAttach(imageItem.url, imageItem, $event)" />
28
+ </div>
24
29
  </div>
25
- <div class="ad-list">
26
- <div v-for="(item, itemIndex) in msg.content.list" :style="{paddingBottom: itemIndex === msg.content.list.length - 1?0:'10px'}" :key="itemIndex" class="ad-list-cell">
27
- <div class="alc-title">
28
- <div class="alc-box">
29
- <div class="alc-source-left">
30
- <span class="source-form">出自</span>
31
- <img class="alc-title-icon" height="24px" width="24px" :src="item.src" alt="" srcset="">
32
- <span class="alc-title-from">{{ item.from }}</span>
33
- </div>
34
-
35
- </div>
36
- <div v-html="item.introduction" v-if="!srcContentTypeIMG(item)" class="alc-box-introduction">
37
- </div>
38
- <div v-else class="alc-box-introduction">
39
- <img :src="item.expiredUrl" alt="" @click="lookAttach(item.url, item, $event)">
40
- </div>
41
- <div v-if="item.previewImage" class="alc-box-introduction-previewImage">
42
- <img :src="item.previewImage" alt="" @click="lookAttach(item.previewImage, {url: item.previewImage}, $event)">
43
- </div>
44
- <div class="alc-updateTime">
45
- <div v-show="docSource[item.source]" class="upload-source">
46
- {{docSource[item.source]}}
30
+ <template v-if="!isLiBang">
31
+ <div class="ad-list" :class="msg.content.type == 0 ? 'ad-list-recognition' : ''">
32
+ <template v-if="msg.content.type == 1">
33
+ <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex"
34
+ :style="{ paddingBottom: itemIndex === msg.content.list.length - 1 ? 0 : '10px' }" class="ad-list-cell">
35
+ <div class="alc-title">
36
+ <div class="alc-box">
37
+ <div class="alc-source-left">
38
+ <span class="source-form">{{$t('dragonCommon.from')}}</span>
39
+ <img class="alc-title-icon" height="24px" width="24px" :src="getIconSrc(item)" alt=""
40
+ srcset="">
41
+ <span class="alc-title-from">{{ item.from }}</span>
42
+ </div>
43
+ </div>
44
+ <div v-html="item.introduction" v-if="!srcContentTypeIMG(item)" class="alc-box-introduction">
45
+ </div>
46
+ <div v-else class="alc-box-introduction">
47
+ <img :src="item.expiredUrl" alt="" @click="lookAttach(item.url, item, $event)">
48
+ </div>
49
+ <div v-if="item.previewImage" class="alc-box-introduction-previewImage">
50
+ <img :src="item.previewImage" alt=""
51
+ @click="lookAttach(item.previewImage, { url: item.previewImage }, $event)">
52
+ </div>
53
+ <div class="alc-updateTime">
54
+ <div v-show="docSource[item.source]" class="upload-source">
55
+ {{ docSource[item.source] }}
56
+ </div>
57
+ <div v-show="item.url" class="alc-content-text">
58
+ <span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.check')}} ></span>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div class="alc-content" v-if="false">
63
+ <div v-if="msg.content.type == 1" class="alc-content-text">
64
+ {{ item.introduction }}
65
+ <span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.viewOriginal')}} ></span>
66
+ </div>
67
+ <span v-if="!isPC" class="alc-title-updateTime">{{$t('dragonCommon.lastUpdateTime')}}: {{ item.updateTime }}</span>
68
+ <div v-if="false" class="alc-content-info">
69
+ <div class="alcc-box">
70
+ <span class="aci-owner">{{$t('dragonCommon.owner')}}: {{ item.owner }}</span>
71
+ <span class="aci-enterprise">{{$t('dragonCommon.enterprise')}}: {{ item.enterprise }}</span>
72
+ <span class="aci-source">{{$t('dragonCommon.source')}}: {{ item.source }}</span>
73
+ </div>
74
+ </div>
75
+ </div>
47
76
  </div>
48
- <div v-show="item.url" class="alc-content-text">
49
- <span @click="lookAttach(item.url, item, $event)" class="aci-view">查看 ></span>
77
+ </template>
78
+ <template v-if="msg.content.type == 0">
79
+ <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex" class="ad-list-cell-recognition" :id="item.knowledgeId + knowledgeIndex">
80
+ <div class="alc-source-name" @click="lookAttach(item.url, item, $event)">
81
+ <img class="alc-title-icon" height="18px" width="18px" :src="getIconSrc(item)" alt srcset />
82
+ <span class="alc-title-from">{{ item.from }}</span>
83
+ <div v-show="docSource[item.source]" class="upload-source">
84
+ -{{ docSource[item.source] }}
85
+ </div>
86
+ <i class="iconfont guoran-right"></i>
87
+ </div>
50
88
  </div>
51
- <!-- <div class="time">
52
- <span>更新时间:</span>
53
- {{ new Date(item.updateTime).Format('MM-dd hh:mm') }}
54
- </div> -->
55
- </div>
56
- <!-- <span v-if="isPC" class="alc-title-updateTime">最后更新时间: {{ item.updateTime }}</span>-->
57
- </div>
58
- <div class="alc-content" v-if="false">
59
- <div v-if="msg.content.type == 1" class="alc-content-text">{{ item.introduction }} <span
60
- @click="lookAttach(item.url, item, $event)" class="aci-view">查看原文 ></span>
89
+ </template>
90
+ <div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList">{{$t('dragonCommon.viewMore')}}</div>
91
+ </div>
92
+ </template>
93
+ <template v-if="isLiBang">
94
+ <div class="libang_list" :class="msg.content.type == 0 ? 'libang_list_recognition' : ''">
95
+ <template v-if="msg.content.type == 1">
96
+ <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex" class="libang_list_cell">
97
+ <div class="libang_title">
98
+ <div class="libang_box">
99
+ <div class="libang_source_left">
100
+ <span class="source-form">{{$t('dragonCommon.from')}}</span>
101
+ <img class="libang_title_icon" height="24px" width="24px" :src="getIconSrc(item)" alt=""
102
+ srcset="">
103
+ <span class="libang_title_from">{{ item.from }}</span>
104
+ </div>
105
+ </div>
106
+ <div v-html="item.introduction" v-if="!srcContentTypeIMG(item)" class="libang_box_introduction">
107
+ </div>
108
+ <div v-else class="libang_box_introduction">
109
+ <img :src="item.expiredUrl" alt="" @click="lookAttach(item.url, item, $event)">
110
+ </div>
111
+ <div v-if="item.previewImage" class="libang_box_introduction_previewImage">
112
+ <img :src="item.previewImage" alt=""
113
+ @click="lookAttach(item.previewImage, { url: item.previewImage }, $event)">
114
+ </div>
115
+ <div class="libang_updateTime">
116
+ <div class="libang_updataTime_left">
117
+ <div v-show="docSource[item.source]" class="upload-source">
118
+ {{ docSource[item.source] }}
119
+ </div>
120
+ <div class="libang_floder" @click.stop="clickFloder(item)">
121
+ <i class="iconfont guoran-tongyichicun-wenjianjia-zhankaizhuangtai--folderOpen"></i>
122
+ {{ item.folderName }}
123
+ </div>
124
+ </div>
125
+ <div v-show="item.url" class="libang_content_text">
126
+ <span @click="lookAttach(item.url, item, $event)" class="aci-view">{{$t('dragonCommon.check')}} ></span>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ <!-- <div class="alc-content" v-if="false">
131
+ <div v-if="msg.content.type == 1" class="alc-content-text">
132
+ {{ item.introduction }}
133
+ <span @click="lookAttach(item.url, item, $event)" class="aci-view">查看原文 ></span>
134
+ </div>
135
+ <span v-if="!isPC" class="alc-title-updateTime">最后更新时间: {{ item.updateTime }}</span>
136
+ <div v-if="false" class="alc-content-info">
137
+ <div class="alcc-box">
138
+ <span class="aci-owner">所有者: {{ item.owner }}</span>
139
+ <span class="aci-enterprise">所属企业: {{ item.enterprise }}</span>
140
+ <span class="aci-source">文件来源: {{ item.source }}</span>
141
+ </div>
142
+ </div>
143
+ </div> -->
61
144
  </div>
62
- <span v-if="!isPC" class="alc-title-updateTime">最后更新时间: {{ item.updateTime }}</span>
63
- <div v-if="false" class="alc-content-info">
64
- <div class="alcc-box">
65
- <span class="aci-owner">所有者: {{ item.owner }}</span>
66
- <span class="aci-enterprise">所属企业: {{ item.enterprise }}</span>
67
- <span class="aci-source">文件来源: {{ item.source }}</span>
145
+ </template>
146
+ <template v-if="msg.content.type == 0">
147
+ <div v-for="(item, itemIndex) in msg.content.list" :key="itemIndex"
148
+ class="libang_list_cell_recognition" @click="lookAttach(item.url, item, $event)" :id="item.knowledgeId + knowledgeIndex">
149
+ <div class="libang_list_cell_left" >
150
+ <div class="libang_source_name" >
151
+ <img class="libang_title_icon" height="18px" width="18px" :src="getIconSrc(item)" alt srcset />
152
+ <span class="libang_title_from">{{ item.from }}</span>
153
+ <div v-show="docSource[item.source]" class="upload_source">
154
+ -{{ docSource[item.source] }}
155
+ </div>
156
+ </div>
157
+ <div class="libang_source_floder" @click.stop="clickFloder(item)">
158
+ <i class="iconfont guoran-tongyichicun-wenjianjia-zhankaizhuangtai--folderOpen"></i>
159
+ {{ item.folderName }}
160
+ </div>
68
161
  </div>
162
+ <i class="iconfont guoran-right" @click="lookAttach(item.url, item, $event)"></i>
69
163
  </div>
70
- </div>
71
- </div>
72
- <div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList">
73
- 查看更多
164
+ </template>
165
+ <div class="ad-loadmore" v-if="loadMoreFlag" @click="lazyLoadKnowledegList">{{$t('dragonCommon.viewMore')}}</div>
74
166
  </div>
75
- </div>
76
- <previewPdf ref="previewPdf" :url="previewHref" :sourceFileType="sourceFileType" officePreviewType="pdf"></previewPdf>
167
+ </template>
168
+
169
+ <previewPdf ref="previewPdf" :url="previewHref" :previewOssPath="previewOssPath" :title="title"
170
+ :folderName="folderName" :folderUrl="folderUrl"
171
+ :sourceFileType="sourceFileType" officePreviewType="pdf" @previewToDialog="previewToDialog"
172
+ @recommendQues="recommendQues" @close="close" @open="open" :isHasChat="isHasChat"
173
+ :knowledgeId="previewKnowledgeId" :isLiBang="isLiBang" @previewClickFloder="previewClickFloder"></previewPdf>
77
174
  </div>
78
175
  </template>
79
-
176
+
80
177
  <script>
81
178
  /* eslint-disable */
82
179
  import previewPdf from "./previewPdf";
83
180
  import { isMobile } from "../assets/js/common";
181
+ import markDownText from "./markDownText.vue";
84
182
  export default {
85
183
  name: "answerDocknowledge",
86
- components: { previewPdf },
87
- data() {
184
+ components: { previewPdf, markDownText },
185
+ data () {
88
186
  return {
89
187
  isPC: true,
90
188
  previewHref: "",
91
- sourceFileType:'',
92
- docSource: {
93
- LOCAL_FILE: "来源于本地文件",
94
- CREATED_BY_ONESELF: "来源于自建知识",
95
- WECHAT: "来源于微信",
96
- AUTO_SYN_FROM_LOCAL_FILE: "自动同步于本地",
97
- YUQUE: "来源于语雀",
98
- CORP_LOCAL_FILE:'来源于企业知识库',
99
- FEISHU:'来源于飞书-云文档'
100
- },
189
+ sourceFileType: '',
190
+ // docSource: {
191
+ // LOCAL_FILE: "来源于本地文件",
192
+ // CREATED_BY_ONESELF: "来源于自建知识",
193
+ // WECHAT: "来源于微信",
194
+ // AUTO_SYN_FROM_LOCAL_FILE: "自动同步于本地",
195
+ // YUQUE: "来源于语雀",
196
+ // CORP_LOCAL_FILE: '来源于企业知识库',
197
+ // FEISHU: '来源于飞书-云文档'
198
+ // },
199
+ docSource: {},
101
200
  imageObj: {
102
- PDF: 'pdf1',
103
- pdf: 'pdf1',
104
- TXT: 'txt1',
105
- txt: 'txt1',
106
- selfadd: 'selfadd1',
107
- md: "md2",
108
- html: 'selfadd1',
109
- mode: "mode",
110
- general: 'general',
111
- word: "word1",
112
- Word: "word1",
113
- docx: "word1",
114
- doc: "word1",
115
- WORD: "word1",
116
- Excel: 'excel1',
117
- EXCEL: 'excel1',
118
- excel: 'excel1',
119
- PPT: 'ppt1',
120
- ppt: 'ppt1',
121
- pptx: 'ppt1',
122
- img: "image1",
123
- image: "image1",
124
- video: "video",
125
- audio: 'audio',
126
- link: "link",
127
- wechat: "wechat",
128
- mp4: "video",
129
- MP4: "video",
130
- xlsx: "excel1",
131
- SLSX: "excel1",
132
- xls: "excel1",
133
- XLS: "excel1",
134
- jpg: "image1",
135
- JPG: "image1",
136
- jpeg: "image1",
137
- JPEG: "image1",
138
- png: "image1",
139
- PNG: "image1",
140
- webp: "image1",
141
- WEBP: "image1",
142
- gif: "image1",
143
- GIF: "image1",
144
- svg: "image1",
145
- SVG: "image1",
146
- bmp: "image1",
147
- BMP: "image1",
148
- avi: "video",
149
- AVI: "video",
150
- mov: "video",
151
- MOV: "video",
152
- rmvb: "video",
153
- RMVB: "video",
154
- wav: "audio",
155
- WAV: "audio",
156
- mp3: "audio",
157
- MP3: "audio",
158
- yqhtml: "yqhtml",
159
- feishuhtml:"feishuhtml"
201
+ PDF: 'pdf1',
202
+ pdf: 'pdf1',
203
+ TXT: 'txt1',
204
+ txt: 'txt1',
205
+ selfadd: 'selfadd1',
206
+ md: "md2",
207
+ html: 'selfadd1',
208
+ mode: "mode",
209
+ general: 'general',
210
+ word: "word1",
211
+ Word: "word1",
212
+ docx: "word1",
213
+ doc: "word1",
214
+ WORD: "word1",
215
+ Excel: 'excel1',
216
+ EXCEL: 'excel1',
217
+ excel: 'excel1',
218
+ PPT: 'ppt1',
219
+ ppt: 'ppt1',
220
+ pptx: 'ppt1',
221
+ img: "image1",
222
+ image: "image1",
223
+ video: "video",
224
+ audio: 'audio',
225
+ link: "link",
226
+ wechat: "wechat",
227
+ mp4: "video",
228
+ MP4: "video",
229
+ xlsx: "excel1",
230
+ SLSX: "excel1",
231
+ xls: "excel1",
232
+ XLS: "excel1",
233
+ jpg: "image1",
234
+ JPG: "image1",
235
+ jpeg: "image1",
236
+ JPEG: "image1",
237
+ png: "image1",
238
+ PNG: "image1",
239
+ webp: "image1",
240
+ WEBP: "image1",
241
+ gif: "image1",
242
+ GIF: "image1",
243
+ svg: "image1",
244
+ SVG: "image1",
245
+ bmp: "image1",
246
+ BMP: "image1",
247
+ avi: "video",
248
+ AVI: "video",
249
+ mov: "video",
250
+ MOV: "video",
251
+ rmvb: "video",
252
+ RMVB: "video",
253
+ wav: "audio",
254
+ WAV: "audio",
255
+ mp3: "audio",
256
+ MP3: "audio",
257
+ yqhtml: "yqhtml",
258
+ feishuhtml: "feishuhtml"
160
259
  },
161
- allKnowledgeList:[],
162
- loadMoreFlag:false
260
+ allKnowledgeList: [],
261
+ loadMoreFlag: false,
262
+ title: '',
263
+ folderName: '',
264
+ folderUrl: '',
265
+ previewKnowledgeId: "",
266
+ previewKnowledge: {},
267
+ previewOssPath: ""
163
268
  }
164
269
  },
165
- props: ['msg','isAskLightning', 'isMessageRecord',"isApp"],
166
- beforeMounted() {
270
+ props: ['msg', 'isAskLightning', 'isMessageRecord', "isApp", "isHasChat", "activeKnowledgeId", "isLiBang","isHistory","knowledgeIndex"],
271
+ beforeMounted () {
167
272
  },
168
- watch:{
169
- msg:{
170
- handler(n){
171
- console.log(n,'answerDocknowledge');
172
- n.content.list.forEach(element => {
173
- console.log(this.imageObj[element.format],1111);
174
- element.src = 'https://static.guoranbot.com/cdn-office-website/askbot_doc/' + this.imageObj[element.format] + '.png';
175
- if ((element.format === "txt" || element.format === "html") && element.source === "WECHAT") {
176
- element.src = 'https://static.guoranbot.com/cdn-office-website/askbot_doc/wechat.png';
177
- }
178
- });
179
- },
180
- deep:true,
181
- immediate:true
182
- }
273
+ watch: {
274
+ // msg: {
275
+ // handler (n) {
276
+ // console.log(n, 'answerDocknowledge');
277
+ // n.content.list.forEach(element => {
278
+ // console.log(this.imageObj[element.format], 1111);
279
+ // element.src = 'https://static.guoranbot.com/cdn-office-website/askbot_doc/' + this.imageObj[element.format] + '.png';
280
+ // if ((element.format === "txt" || element.format === "html") && element.source === "WECHAT") {
281
+ // element.src = 'https://static.guoranbot.com/cdn-office-website/askbot_doc/wechat.png';
282
+ // }
283
+ // });
284
+ // },
285
+ // deep: true,
286
+ // immediate: true
287
+ // }
183
288
  },
184
- created() {
289
+ created () {
185
290
  var system = {};
186
291
  system.pingtai = /(Win32|Win16|WinCE|Mac68K|MacIntel|MacIntel|MacPPC|Linux mips64)/i.test(navigator.platform);
187
292
  if (system.pingtai) {
@@ -199,82 +304,142 @@ export default {
199
304
  // }
200
305
  // });
201
306
  },
202
- mounted() {
203
- console.log(this.msg.content,'this.msg.content');
204
- // if(this.msg.content.type == 1) {
205
-
206
- // }
207
- if(this.msg.content.list && this.msg.content.list.length > 0) {
208
- this.loadMoreFlag = true
209
- this.allKnowledgeList = JSON.parse(JSON.stringify(this.msg.content.list))
210
- // console.log(this.allKnowledgeList.length, 'this.allKnowledgeList');
211
- this.msg.content.list = []
212
- this.lazyLoadKnowledegList()
213
- }
307
+ mounted () {
308
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
309
+ this.docSource = {
310
+ LOCAL_FILE: this.$t('dragonCommon.personalknowledge'),
311
+ CREATED_BY_ONESELF: this.$t('dragonCommon.personalknowledge'),
312
+ WECHAT: this.$t('dragonCommon.personalknowledge'),
313
+ AUTO_SYN_FROM_LOCAL_FILE: this.$t('dragonCommon.personalknowledge'),
314
+ YUQUE: this.$t('dragonCommon.enterpriseknowledge'),
315
+ CORP_LOCAL_FILE: this.$t('dragonCommon.enterpriseknowledge'),
316
+ FEISHU: this.$t('dragonCommon.enterpriseknowledge'),
317
+ }
318
+ console.log(this.msg.content, 'this.msg.content');
319
+ // if(this.msg.content.type == 1) {
320
+
321
+ // }
322
+ if (this.msg.content.list && this.msg.content.list.length > 0) {
323
+ this.loadMoreFlag = true
324
+ this.allKnowledgeList = JSON.parse(JSON.stringify(this.msg.content.list))
325
+ // console.log(this.allKnowledgeList.length, 'this.allKnowledgeList');
326
+ this.msg.content.list = []
327
+ this.lazyLoadKnowledegList()
328
+ }
214
329
  },
215
330
  methods: {
216
- //预览图片
217
- lookAttach(url, item, event) {
218
- event.preventDefault();
219
- if (this.isAskLightning == 1 && !this.isApp){
220
- window.parent.postMessage({
221
- data: "bot_preview",
222
- item: JSON.stringify(item),
223
- url: url
224
- },"*");
225
- } else {
226
- // if (isMobile()) {
227
- // this.$refs.previewPdf.drawer = true;
228
- // this.$refs.previewPdf.previewShowPopup = false;
229
- // } else {
230
- // this.$refs.previewPdf.drawer = false;
231
- // }
232
- this.$refs.previewPdf.previewShowPopup = false;
233
- this.$refs.previewPdf.drawer = false;
234
- let index = url.lastIndexOf('?')
235
- let type = ''
236
- let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate'
237
- if (index !== -1) {
238
- url = url.substring(0, index)
239
- type = this.fileType(url)
331
+ getIconSrc (element) {
332
+ if ((element.format === "txt" || element.format === "html") && element.source === "WECHAT") {
333
+ return require("../assets/image/filtType/wechat.png")
240
334
  } else {
241
- type = this.fileType(url)
335
+ return require("../assets/image/filtType/" + this.imageObj[element.format] + '.png')
336
+
242
337
  }
243
- if (type === '' || type === 'OTHER') {
244
- httpUrl = httpUrl += '?needEncrypt=true'
338
+ },
339
+ //预览图片
340
+ lookAttach (url, item, event) {
341
+ // console.log(item.knowledgeId);
342
+ // this.$http.get("/knowledge-api/internal/knowledgeBaseStructure/" + "642ffbccde420e2772f7787b")
343
+ // debugger
344
+ event.preventDefault();
345
+ if (this.isAskLightning == 1 && !this.isApp) {
346
+ window.parent.postMessage({
347
+ data: "bot_preview",
348
+ item: JSON.stringify(item),
349
+ url: url
350
+ }, "*");
245
351
  } else {
246
- httpUrl = httpUrl += '?needEncrypt=false'
247
- }
248
- this.$http.post(httpUrl, {
249
- "fileInOssPath":url
250
- }).then(res =>{
251
- if(res.data.code == '0') {
252
- this.previewHref = res.data.data;
253
- this.sourceFileType = url.substring(url.lastIndexOf('.'))
254
- let isOhmPc = sessionStorage.getItem('isOhmPc')
255
- if (isMobile() || isOhmPc == 'true'){
256
- this.$refs.previewPdf.drawer = true;
257
- this.$refs.previewPdf.previewShowPopup = true;
352
+ // if (isMobile()) {
353
+ // this.$refs.previewPdf.drawer = true;
354
+ // this.$refs.previewPdf.previewShowPopup = false;
355
+ // } else {
356
+ // this.$refs.previewPdf.drawer = false;
357
+ // }
358
+ //该事件是为了打开新的弹框时关闭上一个弹框
359
+ window.parent.postMessage({
360
+ type: "close_drawer",
361
+ data:this.knowledgeIndex
362
+ }, "*");
363
+ this.title = item.from || item.name
364
+ this.folderName = item.folderName
365
+ this.folderUrl = item.folderUrl
366
+ this.previewKnowledge = item;
367
+ this.previewKnowledgeId = item.knowledgeId
368
+ this.$refs.previewPdf.previewShowPopup = false;
369
+ this.$refs.previewPdf.drawer = false;
370
+ this.previewOssPath = url;
371
+ let index = url.lastIndexOf('?')
372
+ let type = ''
373
+ let httpUrl = '/knowledge-api/knowledge/getTemporaryCertificate'
374
+ if (index !== -1) {
375
+ url = url.substring(0, index)
376
+ type = this.fileType(url)
258
377
  } else {
259
- this.$refs.previewPdf.previewShowPopup = false;
260
- this.$refs.previewPdf.drawer = true;
378
+ type = this.fileType(url)
261
379
  }
262
- this.$refs.previewPdf.fileType = type
263
- this.$refs.previewPdf.tagIds = item.tagIds
264
- this.$refs.previewPdf.isMessageRecord = this.isMessageRecord ? true : false
265
- if(item.tagIds && item.tagIds.length != 0) {
266
- this.$refs.previewPdf.loading = false
267
- return
380
+ if (type === '' || type === 'OTHER' || type == 'IMAGE') {
381
+ httpUrl = httpUrl += '?needEncrypt=true'
382
+ } else {
383
+ httpUrl = httpUrl += '?needEncrypt=false'
268
384
  }
269
- this.$nextTick(() =>{
270
- if(item.source == 'CREATED_BY_ONESELF' || type === 'HTML') {
271
- this.$refs.previewPdf.getBolb(item)
272
- }
273
- this.$refs.previewPdf.loadIframe(item)
385
+ this.$refs.previewPdf.getOssPath(url);
386
+ this.$http.post(httpUrl, {
387
+ "fileInOssPath": url
388
+ }).then(res => {
389
+ if (res.data.code == '0') {
390
+ this.previewHref = res.data.data;
391
+ this.sourceFileType = url.substring(url.lastIndexOf('.'))
392
+ let isOhmPc = sessionStorage.getItem('isOhmPc')
393
+ if (isMobile() || isOhmPc == 'true') {
394
+ this.$refs.previewPdf.drawer = true;
395
+ this.$refs.previewPdf.previewShowPopup = true;
396
+ } else {
397
+ this.$refs.previewPdf.previewShowPopup = false;
398
+ this.$refs.previewPdf.drawer = true;
399
+ }
400
+ //聊一聊按钮的选中状态
401
+ if (this.activeKnowledgeId == item.knowledgeId) {
402
+ this.$refs.previewPdf.previewKnowledgeId = this.activeKnowledgeId
403
+ } else {
404
+ this.$refs.previewPdf.previewKnowledgeId = ""
405
+ }
406
+ this.$refs.previewPdf.fileType = type
407
+ this.$refs.previewPdf.tagIds = item.tagIds;
408
+ if (item.tagIds && item.tagIds.length > 0){
409
+ this.$refs.previewPdf.getLocationInfo();
410
+ }
411
+ this.$refs.previewPdf.isMessageRecord = this.isMessageRecord ? true : false;
412
+ let index = url.indexOf("?");
413
+ let newFileInOssPath = url;
414
+ if (index !== -1) {
415
+ newFileInOssPath = url.substring(0, url.indexOf("?"))
416
+ }
417
+ let fileName = newFileInOssPath.substring(newFileInOssPath.lastIndexOf('.'))
418
+ if (fileName === '.doc' || fileName === '.docx' || fileName === '.txt' || fileName === '.html') {
419
+ this.$refs.previewPdf.fileName = fileName;
420
+ } else {
421
+ this.$refs.previewPdf.fileName = '';
422
+ }
423
+ if (item.tagIds && item.tagIds.length != 0 && this.$refs.previewPdf.newFileType !== 'PPT') {
424
+ this.$refs.previewPdf.loading = false
425
+ return
426
+ }
427
+ this.$nextTick(() => {
428
+ if (item.source == 'CREATED_BY_ONESELF' || type === 'HTML') {
429
+ this.$refs.previewPdf.getBolb(item)
430
+ }
431
+ this.$refs.previewPdf.loadIframe(item)
432
+ this.$refs.previewPdf.showSummary = false;
433
+ })
434
+ }
274
435
  })
275
- }
276
- })
277
- }
436
+ }
437
+ },
438
+ open () {
439
+ this.$emit('openPreviewDialog')
440
+ },
441
+ close () {
442
+ this.$emit('closePreviewDialog')
278
443
  },
279
444
  fileType (url) {
280
445
  const fileType = url.substring(url.lastIndexOf('.'));
@@ -282,101 +447,149 @@ export default {
282
447
  return 'VIDEO'
283
448
  } else if (fileType === '.html') {
284
449
  return 'HTML'
450
+ } else if (fileType === '.png' || fileType === '.jpg' || fileType === '.jpeg') {
451
+ return 'IMAGE'
285
452
  } else {
286
453
  return 'OTHER'
287
454
  }
288
455
  },
289
- srcContentTypeIMG(item) {
290
- let url = item.url || '';
291
- const type = url.substring(url.lastIndexOf('.'));
292
- if(type === '.jpg' || type === '.jpeg' || type === '.png' || type === '.gif') {
293
- this.getSrc(item)
294
- return true
295
- } else {
296
- return false
297
- }
456
+ srcContentTypeIMG (item) {
457
+ let url = item.url || '';
458
+ const type = url.substring(url.lastIndexOf('.'));
459
+ if (type === '.jpg' || type === '.jpeg' || type === '.png' || type === '.gif') {
460
+ this.getSrc(item)
461
+ return true
462
+ } else {
463
+ return false
464
+ }
298
465
  },
299
466
  getSrc (item) {
300
- // let imgurl = ''
301
- this.$http.post(
302
- '/knowledge-api/temporary-certificate/or-origin?expired=30',
303
- item.url,
304
- {
305
- headers: {
306
- "Content-Type": "application/json",
307
- },
308
- }).then( res => {
309
- console.log(res,'=====');
310
- // imgurl = await res.bodyText
311
- this.$set(item,'expiredUrl',res.data ? res.data : res.bodyText)
312
- // return res.data
313
- })
314
- // return imgurl
467
+ // let imgurl = ''
468
+ this.$http.post(
469
+ '/knowledge-api/temporary-certificate/or-origin?expired=30',
470
+ item.url,
471
+ {
472
+ headers: {
473
+ "Content-Type": "application/json",
474
+ },
475
+ }).then(res => {
476
+ console.log(res, '=====');
477
+ // imgurl = await res.bodyText
478
+ this.$set(item, 'expiredUrl', res.data ? res.data : res.bodyText)
479
+ // return res.data
480
+ })
481
+ // return imgurl
315
482
  },
316
- lazyLoadKnowledegList() {
317
- if(this.allKnowledgeList.length !== 0) {
318
- let arr = this.allKnowledgeList.splice(0, 5)
319
- if(arr.length < 5) {
320
- this.loadMoreFlag = false
321
- this.msg.content.list = [...this.msg.content.list, ...arr]
322
- return
483
+ lazyLoadKnowledegList () {
484
+ if (this.allKnowledgeList.length !== 0) {
485
+ let arr = this.allKnowledgeList.splice(0, 5)
486
+ if (arr.length < 5) {
487
+ this.loadMoreFlag = false
488
+ this.msg.content.list = [...this.msg.content.list, ...arr]
489
+ return
490
+ }
491
+ if (this.allKnowledgeList.length == 0) {
492
+ this.loadMoreFlag = false
493
+ }
494
+ this.msg.content.list = [...this.msg.content.list, ...arr]
495
+ return
323
496
  }
324
- if(this.allKnowledgeList.length == 0) {
325
- this.loadMoreFlag = false
497
+ },
498
+ previewToDialog (flag) {
499
+ if (!flag) {
500
+ this.$refs.previewPdf.previewKnowledgeId = ""
501
+ } else {
502
+ this.$refs.previewPdf.previewKnowledgeId = this.previewKnowledgeId
326
503
  }
327
- this.msg.content.list = [...this.msg.content.list, ...arr]
328
- return
329
- }
504
+ this.$emit('previewToDialog', flag, this.previewKnowledgeId, this.previewKnowledge)
505
+ },
506
+ clearKnowledgeId () {
507
+ this.previewKnowledgeId = "";
508
+ },
509
+ recommendQues (item, knowledgeId) {
510
+ this.$emit('recommendQues', item, knowledgeId)
511
+ },
512
+ clickFloder (item) {
513
+ this.$emit('clickFloder', item)
514
+ },
515
+ previewClickFloder () {
516
+ let item = null
517
+ this.msg.content.list.forEach(element => {
518
+ if (element.knowledgeId == this.previewKnowledgeId) {
519
+ item = element
520
+ }
521
+ });
522
+ this.$emit('clickFloder', item)
330
523
  }
331
524
  }
332
525
  }
333
526
  </script>
334
-
527
+
335
528
  <style scoped lang="less">
336
529
  .answer-docknowledge {
337
530
  min-width: 100px;
338
- .answer-docknowledge-header{
339
-
340
-
341
- .tips{
342
- width: 154px;
343
- height: 22px;
344
- background: #366AFF;
345
- border-radius: 5px;
346
- text-align: center;
347
- line-height: 22px;
348
- color: #fff;
349
- font-size: 12px;
350
- margin-bottom: 7px;
351
- }
352
- .answer-text {
353
- // font-size: 13px;
354
- text-align: left;
355
- line-height: 25px;
356
- padding: 0px 0px 12px 0px;
357
-
358
- .aci-view {
359
- // font-size: 13px;
360
- display: inline-block;
361
- // margin-left: 5px;
362
- color: #366aff;
363
- cursor: pointer;
531
+ background: #ffffff;
532
+
533
+ .answer-docknowledge-header {
534
+ .tips {
535
+ width: 154px;
536
+ height: 22px;
537
+ background: #366aff;
538
+ border-radius: 5px;
539
+ text-align: center;
540
+ line-height: 22px;
541
+ color: #fff;
542
+ font-size: 12px;
543
+ margin-bottom: 7px;
364
544
  }
365
- }
366
- &.bgc{
367
- padding: 10px;
368
- background: #EEF1FF;
369
- border-radius: 10px;
370
- margin-bottom: 16px;
545
+
371
546
  .answer-text {
372
- padding: 0;
547
+ // font-size: 13px;
548
+ text-align: left;
549
+ line-height: 25px;
550
+ padding: 0px 0px 12px 0px;
551
+
552
+ .aci-view {
553
+ // font-size: 13px;
554
+ display: inline-block;
555
+ // margin-left: 5px;
556
+ color: #366aff;
557
+ cursor: pointer;
558
+ }
559
+ }
560
+
561
+ &.bgc {
562
+ padding: 10px;
563
+ background: #eef1ff;
564
+ border-radius: 10px;
565
+ margin-bottom: 16px;
566
+
567
+ .answer-text {
568
+ padding: 0;
569
+ }
570
+ }
571
+
572
+ .answer-kn-image-box {
573
+ margin-bottom: 10px;
373
574
  }
374
- }
575
+ }
576
+
577
+
578
+ .ad-list-recognition {
579
+ display: flex;
580
+ align-items: center;
581
+ flex-wrap: wrap;
582
+ }
583
+
584
+ .libang_list_recognition {
585
+ display: flex;
586
+ align-items: center;
587
+ flex-wrap: wrap;
375
588
  }
376
589
 
377
590
  .ad-list {
378
591
  .ad-list-cell {
379
- border-top: solid 1px #EEEEEE;
592
+ border-top: solid 1px #eeeeee;
380
593
  padding: 10px 0 10px;
381
594
 
382
595
  .alc-title {
@@ -387,28 +600,33 @@ export default {
387
600
  line-height: 16px;
388
601
 
389
602
  .alc-box {
390
- display: flex;
391
- align-items: center;
392
- justify-content: space-between;
393
- // font-size: 12px;
394
- width: 100%;
395
- .alc-source-left{
396
603
  display: flex;
397
604
  align-items: center;
398
- .source-form{
399
- width: 34px;
400
- flex: none;
401
- color: #A9B3C6;
605
+ justify-content: space-between;
606
+ // font-size: 12px;
607
+ width: 100%;
608
+
609
+ .alc-source-left {
610
+ display: flex;
611
+ align-items: center;
612
+
613
+ .source-form {
614
+ width: 34px;
615
+ flex: none;
616
+ color: #a9b3c6;
617
+ }
402
618
  }
403
- }
404
- .alc-content-text{
405
- width: 55px;
406
- flex: none;
407
- .aci-view{
408
- color: #366aff;
409
- cursor: pointer;
619
+
620
+ .alc-content-text {
621
+ width: 55px;
622
+ flex: none;
623
+
624
+ .aci-view {
625
+ color: #366aff;
626
+ cursor: pointer;
627
+ }
410
628
  }
411
- }
629
+
412
630
  .alc-title-from {
413
631
  line-height: 22px;
414
632
  word-break: break-all !important;
@@ -417,78 +635,344 @@ export default {
417
635
  display: flex;
418
636
  justify-content: flex-start;
419
637
  }
638
+ .upload-source {
639
+ // flex: none;
640
+ }
420
641
  }
421
- .alc-box-introduction{
422
- overflow: hidden;
423
- text-overflow: ellipsis;
424
- display: -webkit-box;
425
- -webkit-line-clamp:3;
426
- -webkit-box-orient:vertical;
427
- margin-top: 10px;
428
- color: #616161;
429
- // font-size: 12px;
430
- line-height: 24px;
431
- text-align: left;
432
- img {
433
- width: 50px;
434
- height: 50px;
435
- margin: 10px;
436
- cursor: pointer;
437
- }
642
+
643
+ .alc-box-introduction {
644
+ overflow: hidden;
645
+ text-overflow: ellipsis;
646
+ display: -webkit-box;
647
+ -webkit-line-clamp: 3;
648
+ -webkit-box-orient: vertical;
649
+ margin-top: 10px;
650
+ color: #616161;
651
+ // font-size: 12px;
652
+ line-height: 24px;
653
+ text-align: left;
654
+
655
+ img {
656
+ width: 50px;
657
+ height: 50px;
658
+ margin: 10px;
659
+ cursor: pointer;
660
+ }
438
661
  }
662
+
439
663
  .alc-box-introduction-previewImage {
440
- overflow: hidden;
441
- text-overflow: ellipsis;
442
- display: -webkit-box;
443
- -webkit-line-clamp:3;
444
- -webkit-box-orient:vertical;
445
- margin-top: 10px;
446
- color: #616161;
447
- // font-size: 12px;
448
- line-height: 24px;
449
- text-align: left;
450
- img {
451
- max-width: 300px;
452
664
  width: 100%;
453
- max-height: 150px;
454
- margin: 10px;
455
- cursor: pointer;
456
- }
665
+ display: block;
666
+ overflow: hidden;
667
+ text-overflow: ellipsis;
668
+ display: -webkit-box;
669
+ -webkit-line-clamp: 3;
670
+ -webkit-box-orient: vertical;
671
+ margin-top: 10px;
672
+ color: #616161;
673
+ // font-size: 12px;
674
+ line-height: 24px;
675
+ text-align: left;
676
+
677
+ img {
678
+ max-width: 300px;
679
+ width: 100%;
680
+ max-height: 150px;
681
+ margin: 10px;
682
+ cursor: pointer;
683
+ }
457
684
  }
458
- .alc-updateTime{
459
- display: flex;
460
- align-items: center;
461
- justify-content: space-between;
462
- font-size: 13px;
463
- width: 100%;
464
- margin-top: 10px;
465
- .upload-source{
466
- flex: none;
467
- height: 18px;
468
- line-height: 18px;
469
- background: #E9F9F8;
470
- border: 1px solid #AFF2CD;
471
- border-radius: 2px;
685
+
686
+ .alc-updateTime {
472
687
  display: flex;
473
688
  align-items: center;
474
- justify-content: center;
475
- padding: 0 8px;
476
- color: #00C2BB;
477
- }
478
- .time{
689
+ justify-content: space-between;
690
+ font-size: 13px;
691
+ width: 100%;
692
+ margin-top: 10px;
693
+
694
+ .upload-source {
695
+ flex: none;
696
+ height: 18px;
697
+ line-height: 18px;
698
+ background: #e9f9f8;
699
+ border: 1px solid #aff2cd;
700
+ border-radius: 2px;
701
+ display: flex;
702
+ align-items: center;
703
+ justify-content: center;
704
+ padding: 0 8px;
705
+ color: #00c2bb;
706
+ }
707
+
708
+ .time {
709
+ color: #999999;
710
+ margin-left: 10px;
711
+ }
712
+
713
+ .alc-content-text {
714
+ color: #366aff;
715
+ cursor: pointer;
716
+ }
717
+ }
718
+
719
+ .alc-title-icon {
720
+ margin: 0 2px;
721
+ width: 18px;
722
+ height: 18px;
723
+ flex: none;
724
+ }
725
+
726
+ .alc-title-updateTime {
727
+ text-align: right;
479
728
  color: #999999;
480
- margin-left: 10px;
481
- }
482
- .alc-content-text {
483
- color: #366aff;
484
- cursor: pointer;
485
- }
729
+ // font-size: 13px;
730
+ }
731
+ }
732
+
733
+ .alc-content {
734
+ .alc-title-updateTime {
735
+ margin-top: 6px;
736
+ display: block;
737
+ text-align: right;
738
+ color: #999999;
739
+ // font-size: 13px;
740
+ }
741
+
742
+ .alc-content-text {
743
+ margin-bottom: 6px;
744
+ width: 55px;
745
+ flex: none;
746
+
747
+ .aci-view {
748
+ display: inline-block;
749
+ margin-left: 30px;
750
+ color: #366aff;
751
+ cursor: pointer;
752
+ }
753
+ }
754
+
755
+ .alc-content-info {
756
+ display: flex;
757
+ flex-wrap: wrap;
758
+ justify-content: space-between;
759
+
760
+ .alcc-box {
761
+ display: flex;
762
+ flex-wrap: wrap;
763
+ color: #999999;
764
+
765
+ .aci-owner {
766
+ margin-right: 20px;
767
+ }
768
+
769
+ .aci-enterprise {
770
+ margin-right: 20px;
771
+ }
772
+ }
773
+ }
774
+ }
775
+ }
776
+
777
+ .ad-list-cell-recognition {
778
+ max-width: 270px;
779
+ margin-right: 12px;
780
+ font-size: 12px;
781
+ .alc-source-name {
782
+ flex: none;
783
+ padding: 3px;
784
+ margin-right: 5px;
785
+ margin-bottom: 5px;
786
+ background: #f2f6ff;
787
+ border-radius: 5px;
788
+ display: flex;
789
+ align-items: center;
790
+ justify-content: space-between;
791
+ cursor: pointer;
792
+
793
+ img {
794
+ vertical-align: middle;
795
+ // width: 16px;
796
+ // height: 16px;
797
+ margin: 0 3px 0 5px;
798
+ }
799
+
800
+ .alc-title-from {
801
+ // margin-right: 5px;
802
+ max-width: 240px;
803
+ overflow: hidden;
804
+ text-overflow: ellipsis;
805
+ white-space: nowrap;
806
+ }
807
+
808
+ .upload-source {
809
+ margin-right: 5px;
810
+ flex: none;
811
+ }
812
+
813
+ i {
814
+ font-size: 12px;
815
+ }
816
+ }
817
+ }
818
+
819
+ .ad-loadmore {
820
+ width: 100%;
821
+ height: 40px;
822
+ display: flex;
823
+ align-items: center;
824
+ justify-content: center;
825
+ // background: #FFFFFF;
826
+ color: #366aff;
827
+ font-size: 14px;
828
+ margin-top: 8px;
829
+ cursor: pointer;
830
+ }
831
+ }
832
+
833
+ .libang_list {
834
+ .libang_list_cell {
835
+ border-top: solid 1px #eeeeee;
836
+ padding: 10px 0 10px;
837
+ font-size: 12px;
838
+ .libang_title {
839
+ display: flex;
840
+ flex-wrap: wrap;
841
+ align-items: center;
842
+ justify-content: space-between;
843
+ line-height: 16px;
844
+
845
+ .libang_box {
846
+ display: flex;
847
+ align-items: center;
848
+ justify-content: space-between;
849
+ // font-size: 12px;
850
+ width: 100%;
851
+
852
+ .libang_source_left {
853
+ display: flex;
854
+ align-items: center;
855
+
856
+ .source-form {
857
+ width: 34px;
858
+ flex: none;
859
+ color: #a9b3c6;
860
+ }
861
+ }
862
+
863
+ .alc-content-text {
864
+ width: 55px;
865
+ flex: none;
866
+
867
+ .aci-view {
868
+ color: #366aff;
869
+ cursor: pointer;
870
+ }
871
+ }
872
+
873
+ .libang_title_from {
874
+ line-height: 22px;
875
+ word-break: break-all !important;
876
+ text-align: left;
877
+ flex: auto;
878
+ display: flex;
879
+ justify-content: flex-start;
880
+ }
881
+ }
882
+
883
+ .libang_box_introduction {
884
+ overflow: hidden;
885
+ text-overflow: ellipsis;
886
+ display: -webkit-box;
887
+ -webkit-line-clamp: 3;
888
+ -webkit-box-orient: vertical;
889
+ margin-top: 10px;
890
+ color: #616161;
891
+ // font-size: 12px;
892
+ line-height: 24px;
893
+ text-align: left;
894
+
895
+ img {
896
+ width: 50px;
897
+ height: 50px;
898
+ margin: 10px;
899
+ cursor: pointer;
900
+ }
901
+ }
902
+
903
+ .libang_box_introduction_previewImage {
904
+ overflow: hidden;
905
+ text-overflow: ellipsis;
906
+ display: -webkit-box;
907
+ -webkit-line-clamp: 3;
908
+ -webkit-box-orient: vertical;
909
+ margin-top: 10px;
910
+ color: #616161;
911
+ // font-size: 12px;
912
+ line-height: 24px;
913
+ text-align: left;
914
+
915
+ img {
916
+ max-width: 300px;
917
+ width: 100%;
918
+ max-height: 150px;
919
+ margin: 10px;
920
+ cursor: pointer;
921
+ }
922
+ }
923
+
924
+ .libang_updateTime {
925
+ display: flex;
926
+ align-items: center;
927
+ justify-content: space-between;
928
+ font-size: 13px;
929
+ width: 100%;
930
+ margin-top: 10px;
931
+ .libang_updataTime_left {
932
+ width: calc(100% - 40px);
933
+ display: flex;
934
+ align-items: center;
935
+ .upload-source {
936
+ flex: none;
937
+ height: 18px;
938
+ line-height: 18px;
939
+ background: #e9f9f8;
940
+ border: 1px solid #aff2cd;
941
+ border-radius: 2px;
942
+ display: flex;
943
+ align-items: center;
944
+ justify-content: center;
945
+ padding: 0 8px;
946
+ color: #00c2bb;
947
+ }
948
+ .libang_floder {
949
+ width:calc(100% - 90px);
950
+ // margin-left: 10px;
951
+ overflow: hidden;
952
+ text-overflow: ellipsis;
953
+ white-space: nowrap;
954
+ color: #366aff;
955
+ cursor: pointer;
956
+ text-align: left;
957
+ i {
958
+ margin-left: 8px;
959
+ }
960
+ }
961
+ }
962
+ .libang_content_text {
963
+ color: #366aff;
964
+ cursor: pointer;
965
+ }
966
+ .time {
967
+ color: #999999;
968
+ margin-left: 10px;
969
+ }
486
970
  }
487
971
  .alc-title-icon {
488
- margin: 0 2px;
489
- width: 18px;
490
- height: 18px;
491
- flex: none;
972
+ margin: 0 2px;
973
+ width: 18px;
974
+ height: 18px;
975
+ flex: none;
492
976
  }
493
977
 
494
978
  .alc-title-updateTime {
@@ -511,6 +995,7 @@ export default {
511
995
  margin-bottom: 6px;
512
996
  width: 55px;
513
997
  flex: none;
998
+
514
999
  .aci-view {
515
1000
  display: inline-block;
516
1001
  margin-left: 30px;
@@ -540,18 +1025,74 @@ export default {
540
1025
  }
541
1026
  }
542
1027
  }
1028
+
1029
+ .libang_list_cell_recognition {
1030
+ background: #f2f6ff;
1031
+ display: flex;
1032
+ align-items: center;
1033
+ justify-content: space-between;
1034
+ padding: 3px;
1035
+ margin-right: 5px;
1036
+ margin-bottom: 5px;
1037
+ border-radius: 5px;
1038
+ cursor: pointer;
1039
+ font-size: 12px;
1040
+
1041
+ .libang_list_cell_left {
1042
+ margin-right: 5px;
1043
+ .libang_source_name {
1044
+ display: flex;
1045
+ align-items: center;
1046
+ height: 20px;
1047
+ margin-bottom: 2px;
1048
+ img {
1049
+ vertical-align: middle;
1050
+ // width: 16px;
1051
+ // height: 16px;
1052
+ margin: 0 3px;
1053
+ }
1054
+
1055
+ .libang_title_from {
1056
+ max-width: 226px;
1057
+ overflow: hidden;
1058
+ text-overflow: ellipsis;
1059
+ white-space: nowrap;
1060
+ line-height: 20px;
1061
+ }
1062
+ .upload_source {
1063
+ flex: none;
1064
+ }
1065
+ }
1066
+ .libang_source_floder {
1067
+ max-width: calc(226px - 24px);
1068
+ text-align: left;
1069
+ color: #366aff;
1070
+ overflow: hidden;
1071
+ text-overflow: ellipsis;
1072
+ white-space: nowrap;
1073
+ cursor: pointer;
1074
+ .iconfont {
1075
+ margin: 0 5px;
1076
+ font-size: 14px
1077
+ }
1078
+ }
1079
+ }
1080
+ i {
1081
+ font-size: 12px;
1082
+ }
1083
+ }
1084
+
543
1085
  .ad-loadmore {
544
- width: 100%;
545
- height: 40px;
546
- display: flex;
547
- align-items: center;
548
- justify-content: center;
549
- // background: #FFFFFF;
550
- color: #366AFF;
551
- font-size: 14px;
552
- margin-top: 8px;
553
- cursor: pointer;
1086
+ width: 100%;
1087
+ height: 40px;
1088
+ display: flex;
1089
+ align-items: center;
1090
+ justify-content: center;
1091
+ // background: #FFFFFF;
1092
+ color: #366aff;
1093
+ font-size: 14px;
1094
+ margin-top: 8px;
1095
+ cursor: pointer;
554
1096
  }
555
1097
  }
556
- }
557
- </style>
1098
+ }</style>