askbot-dragon 1.6.76-beta → 1.6.76

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