@opendesign-plus/components 0.0.1-rc.34 → 0.0.1-rc.36

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 (527) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +6 -6
  3. package/dist/components/activity/index.d.ts +9 -9
  4. package/dist/components/banner/index.d.ts +6 -6
  5. package/dist/components/events/index.d.ts +20 -20
  6. package/dist/components/header/OHeaderMobile.vue.d.ts +22 -22
  7. package/dist/components/header/components/HeaderNavMobile.vue.d.ts +3 -3
  8. package/dist/components/header/index.d.ts +27 -27
  9. package/dist/components/header-search/index.d.ts +13 -13
  10. package/dist/components/meeting/OMeetingPlayback.vue.d.ts +6 -6
  11. package/dist/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +664 -0
  12. package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
  13. package/dist/components/meeting/index.d.ts +31 -31
  14. package/dist/components/search/index.d.ts +11 -11
  15. package/dist/components.cjs.js +1 -1
  16. package/dist/components.css +1 -1
  17. package/dist/components.es.js +139 -131
  18. package/dist/treeshaking/_virtual/@babel/runtime/helpers/esm/extends.js.mjs +12 -0
  19. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js.mjs +22 -0
  20. package/dist/treeshaking/_virtual/@babel/runtime/helpers/extends.js2.mjs +4 -0
  21. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/byte-helpers.js.mjs +141 -0
  22. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/codecs.js.mjs +158 -0
  23. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/containers.js.mjs +161 -0
  24. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/decode-b64-to-uint8-array.js.mjs +15 -0
  25. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/ebml-helpers.js.mjs +126 -0
  26. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/id3-helpers.js.mjs +32 -0
  27. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-groups.js.mjs +13 -0
  28. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/media-types.js.mjs +17 -0
  29. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/mp4-helpers.js.mjs +57 -0
  30. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/nal-helpers.js.mjs +78 -0
  31. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/resolve-url.js.mjs +23 -0
  32. package/dist/treeshaking/_virtual/@videojs/vhs-utils/es/stream.js.mjs +51 -0
  33. package/dist/treeshaking/_virtual/@videojs/xhr/lib/http-handler.js.mjs +55 -0
  34. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js.mjs +7 -0
  35. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js2.mjs +300 -0
  36. package/dist/treeshaking/_virtual/@videojs/xhr/lib/index.js3.mjs +4 -0
  37. package/dist/treeshaking/_virtual/@videojs/xhr/lib/interceptors.js.mjs +109 -0
  38. package/dist/treeshaking/_virtual/@videojs/xhr/lib/retry.js.mjs +104 -0
  39. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js.mjs +142 -0
  40. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/conventions.js2.mjs +4 -0
  41. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js.mjs +224 -0
  42. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom-parser.js2.mjs +4 -0
  43. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js.mjs +1449 -0
  44. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/dom.js2.mjs +4 -0
  45. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js.mjs +2149 -0
  46. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/entities.js2.mjs +4 -0
  47. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js.mjs +5 -0
  48. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js2.mjs +16 -0
  49. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/index.js3.mjs +4 -0
  50. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js.mjs +594 -0
  51. package/dist/treeshaking/_virtual/@xmldom/xmldom/lib/sax.js2.mjs +4 -0
  52. package/dist/treeshaking/_virtual/___vite-browser-external.mjs +6 -0
  53. package/dist/treeshaking/_virtual/__vite-browser-external.mjs +4 -0
  54. package/dist/treeshaking/_virtual/_commonjsHelpers.mjs +33 -0
  55. package/dist/treeshaking/_virtual/_plugin-vue_export-helper.mjs +10 -0
  56. package/dist/treeshaking/_virtual/global/document.js.mjs +7 -0
  57. package/dist/treeshaking/_virtual/global/document.js2.mjs +24 -0
  58. package/dist/treeshaking/_virtual/global/window.js.mjs +7 -0
  59. package/dist/treeshaking/_virtual/global/window.js2.mjs +22 -0
  60. package/dist/treeshaking/_virtual/icon-all.mjs +20 -0
  61. package/dist/treeshaking/_virtual/icon-avatar-line.mjs +21 -0
  62. package/dist/treeshaking/_virtual/icon-caret-left.mjs +20 -0
  63. package/dist/treeshaking/_virtual/icon-caret-right.mjs +20 -0
  64. package/dist/treeshaking/_virtual/icon-checked.mjs +20 -0
  65. package/dist/treeshaking/_virtual/icon-chevron-down.mjs +20 -0
  66. package/dist/treeshaking/_virtual/icon-chevron-right.mjs +17 -0
  67. package/dist/treeshaking/_virtual/icon-chevron-up.mjs +20 -0
  68. package/dist/treeshaking/_virtual/icon-close.mjs +20 -0
  69. package/dist/treeshaking/_virtual/icon-competition.mjs +31 -0
  70. package/dist/treeshaking/_virtual/icon-copy.mjs +21 -0
  71. package/dist/treeshaking/_virtual/icon-delete-hover.mjs +24 -0
  72. package/dist/treeshaking/_virtual/icon-delete.mjs +17 -0
  73. package/dist/treeshaking/_virtual/icon-event.mjs +21 -0
  74. package/dist/treeshaking/_virtual/icon-events.mjs +31 -0
  75. package/dist/treeshaking/_virtual/icon-filter.mjs +21 -0
  76. package/dist/treeshaking/_virtual/icon-header-back.mjs +20 -0
  77. package/dist/treeshaking/_virtual/icon-header-menu.mjs +20 -0
  78. package/dist/treeshaking/_virtual/icon-header-search.mjs +26 -0
  79. package/dist/treeshaking/_virtual/icon-help.mjs +21 -0
  80. package/dist/treeshaking/_virtual/icon-image-upload.mjs +20 -0
  81. package/dist/treeshaking/_virtual/icon-image-zoomin.mjs +20 -0
  82. package/dist/treeshaking/_virtual/icon-locale.mjs +21 -0
  83. package/dist/treeshaking/_virtual/icon-meet.mjs +21 -0
  84. package/dist/treeshaking/_virtual/icon-moon.mjs +21 -0
  85. package/dist/treeshaking/_virtual/icon-playing.mjs +33 -0
  86. package/dist/treeshaking/_virtual/icon-refresh.mjs +21 -0
  87. package/dist/treeshaking/_virtual/icon-release.mjs +31 -0
  88. package/dist/treeshaking/_virtual/icon-search.mjs +17 -0
  89. package/dist/treeshaking/_virtual/icon-speaker.mjs +17 -0
  90. package/dist/treeshaking/_virtual/icon-summit.mjs +21 -0
  91. package/dist/treeshaking/_virtual/icon-summit2.mjs +31 -0
  92. package/dist/treeshaking/_virtual/icon-sun.mjs +21 -0
  93. package/dist/treeshaking/_virtual/icon-tip.mjs +21 -0
  94. package/dist/treeshaking/_virtual/icon-tips.mjs +17 -0
  95. package/dist/treeshaking/_virtual/is-function/index.js.mjs +20 -0
  96. package/dist/treeshaking/_virtual/m3u8-parser/dist/m3u8-parser.es.js.mjs +1390 -0
  97. package/dist/treeshaking/_virtual/mpd-parser/dist/mpd-parser.es.js.mjs +1693 -0
  98. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js.mjs +7 -0
  99. package/dist/treeshaking/_virtual/mux.js/lib/tools/parse-sidx.js2.mjs +45 -0
  100. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js.mjs +5 -0
  101. package/dist/treeshaking/_virtual/mux.js/lib/utils/clock.js2.mjs +42 -0
  102. package/dist/treeshaking/_virtual/mux.js/lib/utils/numbers.js.mjs +27 -0
  103. package/dist/treeshaking/_virtual/video.js/dist/video-js.css +2018 -0
  104. package/dist/treeshaking/_virtual/video.js/dist/video.es.js.mjs +40111 -0
  105. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js.mjs +7 -0
  106. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js2.mjs +37 -0
  107. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/browser-index.js3.mjs +4 -0
  108. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vtt.js.mjs +1082 -0
  109. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttcue.js.mjs +235 -0
  110. package/dist/treeshaking/_virtual/videojs-vtt.js/lib/vttregion.js.mjs +122 -0
  111. package/dist/treeshaking/assets/meeting/empty.png.mjs +4 -0
  112. package/dist/treeshaking/assets/meeting/transparent.png.mjs +4 -0
  113. package/dist/treeshaking/components/activity/OActivityApproval.css +638 -0
  114. package/dist/treeshaking/components/activity/OActivityApproval.vue.d.ts +273 -0
  115. package/dist/treeshaking/components/activity/OActivityApproval.vue.mjs +718 -0
  116. package/dist/treeshaking/components/activity/OActivityApproval.vue4.mjs +6 -0
  117. package/dist/treeshaking/components/activity/OActivityApproval2.css +331 -0
  118. package/dist/treeshaking/components/activity/OActivityForm.css +367 -0
  119. package/dist/treeshaking/components/activity/OActivityForm.vue.d.ts +138 -0
  120. package/dist/treeshaking/components/activity/OActivityForm.vue.mjs +628 -0
  121. package/dist/treeshaking/components/activity/OActivityForm.vue4.mjs +6 -0
  122. package/dist/treeshaking/components/activity/OActivityForm2.css +330 -0
  123. package/dist/treeshaking/components/activity/OActivityMyCalendar.css +1237 -0
  124. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.d.ts +636 -0
  125. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.mjs +856 -0
  126. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue4.mjs +6 -0
  127. package/dist/treeshaking/components/activity/OActivityMyCalendar2.css +314 -0
  128. package/dist/treeshaking/components/activity/composables/useActivityConfig.d.ts +17 -0
  129. package/dist/treeshaking/components/activity/composables/useActivityConfig.mjs +139 -0
  130. package/dist/treeshaking/components/activity/config.d.ts +1 -0
  131. package/dist/treeshaking/components/activity/config.mjs +4 -0
  132. package/dist/treeshaking/components/activity/index.d.ts +648 -0
  133. package/dist/treeshaking/components/activity/index.mjs +29 -0
  134. package/dist/treeshaking/components/activity/types.d.ts +88 -0
  135. package/dist/treeshaking/components/banner/OBanner.css +151 -0
  136. package/dist/treeshaking/components/banner/OBanner.vue.d.ts +13 -0
  137. package/dist/treeshaking/components/banner/OBanner.vue.mjs +8 -0
  138. package/dist/treeshaking/components/banner/OBanner.vue2.mjs +141 -0
  139. package/dist/treeshaking/components/banner/OBanner2.css +39 -0
  140. package/dist/treeshaking/components/banner/OBannerContent.css +113 -0
  141. package/dist/treeshaking/components/banner/OBannerContent.vue.d.ts +7 -0
  142. package/dist/treeshaking/components/banner/OBannerContent.vue.mjs +7 -0
  143. package/dist/treeshaking/components/banner/OBannerContent.vue2.mjs +102 -0
  144. package/dist/treeshaking/components/banner/index.d.ts +68 -0
  145. package/dist/treeshaking/components/banner/index.mjs +16 -0
  146. package/dist/treeshaking/components/banner/types.d.ts +31 -0
  147. package/dist/treeshaking/components/common/AppAvatar.css +20 -0
  148. package/dist/treeshaking/components/common/AppAvatar.vue.mjs +7 -0
  149. package/dist/treeshaking/components/common/AppAvatar.vue2.mjs +83 -0
  150. package/dist/treeshaking/components/common/ClientOnly.vue.mjs +16 -0
  151. package/dist/treeshaking/components/common/ClientOnly.vue2.mjs +4 -0
  152. package/dist/treeshaking/components/common/ContentWrapper.css +36 -0
  153. package/dist/treeshaking/components/common/ContentWrapper.vue.mjs +7 -0
  154. package/dist/treeshaking/components/common/ContentWrapper.vue2.mjs +50 -0
  155. package/dist/treeshaking/components/common/MoreText.css +69 -0
  156. package/dist/treeshaking/components/common/MoreText.vue.mjs +7 -0
  157. package/dist/treeshaking/components/common/MoreText.vue2.mjs +88 -0
  158. package/dist/treeshaking/components/common/ThFilter.css +146 -0
  159. package/dist/treeshaking/components/common/ThFilter.vue.mjs +270 -0
  160. package/dist/treeshaking/components/common/ThFilter.vue3.mjs +5 -0
  161. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.d.ts +24 -0
  162. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.mjs +33 -0
  163. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue2.mjs +4 -0
  164. package/dist/treeshaking/components/config-provider/index.d.ts +30 -0
  165. package/dist/treeshaking/components/config-provider/index.mjs +9 -0
  166. package/dist/treeshaking/components/cookie-notice/OCookieNotice.css +35 -0
  167. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue.d.ts +17 -0
  168. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue.mjs +8 -0
  169. package/dist/treeshaking/components/cookie-notice/OCookieNotice.vue2.mjs +367 -0
  170. package/dist/treeshaking/components/cookie-notice/OCookieNotice2.css +309 -0
  171. package/dist/treeshaking/components/cookie-notice/index.d.ts +53 -0
  172. package/dist/treeshaking/components/cookie-notice/index.mjs +9 -0
  173. package/dist/treeshaking/components/element-plus/OElCookieNotice.css +306 -0
  174. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue.d.ts +34 -0
  175. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue.mjs +8 -0
  176. package/dist/treeshaking/components/element-plus/OElCookieNotice.vue2.mjs +384 -0
  177. package/dist/treeshaking/components/element-plus/OElCookieNotice2.css +691 -0
  178. package/dist/treeshaking/components/element-plus/index.d.ts +2 -0
  179. package/dist/treeshaking/components/events/OEventsApply.css +583 -0
  180. package/dist/treeshaking/components/events/OEventsApply.vue.d.ts +16 -0
  181. package/dist/treeshaking/components/events/OEventsApply.vue.mjs +98 -0
  182. package/dist/treeshaking/components/events/OEventsApply.vue3.mjs +5 -0
  183. package/dist/treeshaking/components/events/OEventsCalendar.css +501 -0
  184. package/dist/treeshaking/components/events/OEventsCalendar.vue.d.ts +5 -0
  185. package/dist/treeshaking/components/events/OEventsCalendar.vue.mjs +289 -0
  186. package/dist/treeshaking/components/events/OEventsCalendar.vue3.mjs +5 -0
  187. package/dist/treeshaking/components/events/OEventsList.css +470 -0
  188. package/dist/treeshaking/components/events/OEventsList.vue.d.ts +26 -0
  189. package/dist/treeshaking/components/events/OEventsList.vue.mjs +237 -0
  190. package/dist/treeshaking/components/events/OEventsList.vue3.mjs +5 -0
  191. package/dist/treeshaking/components/events/config.d.ts +14 -0
  192. package/dist/treeshaking/components/events/config.mjs +37 -0
  193. package/dist/treeshaking/components/events/index.d.ts +78 -0
  194. package/dist/treeshaking/components/events/index.mjs +26 -0
  195. package/dist/treeshaking/components/events/types.d.ts +73 -0
  196. package/dist/treeshaking/components/events/types.mjs +9 -0
  197. package/{src/components/events/utils.ts → dist/treeshaking/components/events/utils.d.ts} +7 -9
  198. package/dist/treeshaking/components/events/utils.mjs +6 -0
  199. package/dist/treeshaking/components/footer/OFooter.css +617 -0
  200. package/dist/treeshaking/components/footer/OFooter.vue.d.ts +46 -0
  201. package/dist/treeshaking/components/footer/OFooter.vue.mjs +7 -0
  202. package/dist/treeshaking/components/footer/OFooter.vue2.mjs +348 -0
  203. package/dist/treeshaking/components/footer/index.d.ts +89 -0
  204. package/dist/treeshaking/components/footer/index.mjs +9 -0
  205. package/dist/treeshaking/components/header/OHeader.css +65 -0
  206. package/dist/treeshaking/components/header/OHeader.vue.d.ts +30 -0
  207. package/dist/treeshaking/components/header/OHeader.vue.mjs +7 -0
  208. package/dist/treeshaking/components/header/OHeader.vue2.mjs +118 -0
  209. package/dist/treeshaking/components/header/OHeaderMobile.css +106 -0
  210. package/dist/treeshaking/components/header/OHeaderMobile.vue.d.ts +178 -0
  211. package/dist/treeshaking/components/header/OHeaderMobile.vue.mjs +7 -0
  212. package/dist/treeshaking/components/header/OHeaderMobile.vue2.mjs +141 -0
  213. package/dist/treeshaking/components/header/components/HeaderContent.css +1062 -0
  214. package/dist/treeshaking/components/header/components/HeaderContent.vue.d.ts +13 -0
  215. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +7 -0
  216. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +235 -0
  217. package/dist/treeshaking/components/header/components/HeaderNav.css +141 -0
  218. package/dist/treeshaking/components/header/components/HeaderNav.vue.d.ts +19 -0
  219. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +7 -0
  220. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +207 -0
  221. package/dist/treeshaking/components/header/components/HeaderNavMobile.css +419 -0
  222. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.d.ts +36 -0
  223. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +7 -0
  224. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +229 -0
  225. package/dist/treeshaking/components/header/index.d.ts +153 -0
  226. package/dist/treeshaking/components/header/index.mjs +16 -0
  227. package/dist/treeshaking/components/header/types.d.ts +85 -0
  228. package/dist/treeshaking/components/header/types.mjs +9 -0
  229. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.css +140 -0
  230. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +58 -0
  231. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.mjs +8 -0
  232. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue2.mjs +125 -0
  233. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher2.css +11 -0
  234. package/dist/treeshaking/components/header-language-switcher/index.d.ts +105 -0
  235. package/dist/treeshaking/components/header-language-switcher/index.mjs +9 -0
  236. package/dist/treeshaking/components/header-search/OHeaderSearch.css +199 -0
  237. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.d.ts +1032 -0
  238. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.mjs +7 -0
  239. package/dist/treeshaking/components/header-search/OHeaderSearch.vue2.mjs +419 -0
  240. package/dist/treeshaking/components/header-search/index.d.ts +607 -0
  241. package/dist/treeshaking/components/header-search/index.mjs +9 -0
  242. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.css +133 -0
  243. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.d.ts +18 -0
  244. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue.mjs +7 -0
  245. package/dist/treeshaking/components/header-source-code/OHeaderSourceCode.vue2.mjs +88 -0
  246. package/dist/treeshaking/components/header-source-code/index.d.ts +23 -0
  247. package/dist/treeshaking/components/header-source-code/index.mjs +9 -0
  248. package/dist/treeshaking/components/header-theme/OHeaderTheme.css +48 -0
  249. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue.d.ts +25 -0
  250. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue.mjs +7 -0
  251. package/dist/treeshaking/components/header-theme/OHeaderTheme.vue2.mjs +86 -0
  252. package/dist/treeshaking/components/header-theme/index.d.ts +50 -0
  253. package/dist/treeshaking/components/header-theme/index.mjs +9 -0
  254. package/dist/treeshaking/components/header-user/OHeaderUser.css +135 -0
  255. package/dist/treeshaking/components/header-user/OHeaderUser.vue.d.ts +40 -0
  256. package/dist/treeshaking/components/header-user/OHeaderUser.vue.mjs +8 -0
  257. package/dist/treeshaking/components/header-user/OHeaderUser.vue2.mjs +121 -0
  258. package/dist/treeshaking/components/header-user/OHeaderUser2.css +80 -0
  259. package/dist/treeshaking/components/header-user/index.d.ts +53 -0
  260. package/dist/treeshaking/components/header-user/index.mjs +9 -0
  261. package/dist/treeshaking/components/meeting/OMeetingCalendar.css +978 -0
  262. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.d.ts +297 -0
  263. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue.mjs +510 -0
  264. package/dist/treeshaking/components/meeting/OMeetingCalendar.vue3.mjs +5 -0
  265. package/dist/treeshaking/components/meeting/OMeetingForm.css +767 -0
  266. package/dist/treeshaking/components/meeting/OMeetingForm.vue.d.ts +141 -0
  267. package/dist/treeshaking/components/meeting/OMeetingForm.vue.mjs +1020 -0
  268. package/dist/treeshaking/components/meeting/OMeetingForm.vue4.mjs +6 -0
  269. package/dist/treeshaking/components/meeting/OMeetingForm2.css +361 -0
  270. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.css +1342 -0
  271. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.d.ts +644 -0
  272. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.mjs +890 -0
  273. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue4.mjs +6 -0
  274. package/dist/treeshaking/components/meeting/OMeetingMyCalendar2.css +325 -0
  275. package/dist/treeshaking/components/meeting/OMeetingPlayback.css +256 -0
  276. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.d.ts +94 -0
  277. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue.mjs +328 -0
  278. package/dist/treeshaking/components/meeting/OMeetingPlayback.vue3.mjs +5 -0
  279. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +224 -0
  280. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.d.ts +26 -0
  281. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +396 -0
  282. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue3.mjs +5 -0
  283. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.css +421 -0
  284. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.d.ts +29 -0
  285. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +395 -0
  286. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue3.mjs +5 -0
  287. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.css +382 -0
  288. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +664 -0
  289. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue.mjs +132 -0
  290. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.vue4.mjs +6 -0
  291. package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector2.css +346 -0
  292. package/dist/treeshaking/components/meeting/components/OMeetingDetail.css +113 -0
  293. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.d.ts +13 -0
  294. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue.mjs +189 -0
  295. package/dist/treeshaking/components/meeting/components/OMeetingDetail.vue3.mjs +5 -0
  296. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.css +564 -0
  297. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.d.ts +20 -0
  298. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue.mjs +426 -0
  299. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.vue4.mjs +6 -0
  300. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles2.css +347 -0
  301. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.css +431 -0
  302. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +17 -0
  303. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue.mjs +244 -0
  304. package/dist/treeshaking/components/meeting/components/OMeetingPlaybackVideo.vue3.mjs +5 -0
  305. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.css +171 -0
  306. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.d.ts +16 -0
  307. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.mjs +112 -0
  308. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue3.mjs +5 -0
  309. package/dist/treeshaking/components/meeting/composables/useMeetingConfig.d.ts +14 -0
  310. package/dist/treeshaking/components/meeting/composables/useMeetingConfig.mjs +97 -0
  311. package/dist/treeshaking/components/meeting/config.d.ts +12 -0
  312. package/dist/treeshaking/components/meeting/config.mjs +19 -0
  313. package/dist/treeshaking/components/meeting/index.d.ts +829 -0
  314. package/dist/treeshaking/components/meeting/index.mjs +44 -0
  315. package/dist/treeshaking/components/meeting/types.d.ts +237 -0
  316. package/dist/treeshaking/components/meeting/types.mjs +17 -0
  317. package/dist/treeshaking/components/meeting/utils.d.ts +9 -0
  318. package/dist/treeshaking/components/meeting/utils.mjs +68 -0
  319. package/dist/treeshaking/components/search/OSearchInput.css +155 -0
  320. package/dist/treeshaking/components/search/OSearchInput.vue.d.ts +1025 -0
  321. package/dist/treeshaking/components/search/OSearchInput.vue.mjs +7 -0
  322. package/dist/treeshaking/components/search/OSearchInput.vue2.mjs +382 -0
  323. package/dist/treeshaking/components/search/composables/useImageSearch.d.ts +48 -0
  324. package/dist/treeshaking/components/search/composables/useImageSearch.mjs +134 -0
  325. package/dist/treeshaking/components/search/composables/useKeywordHighlight.d.ts +2 -0
  326. package/{src/components/search/composables/useKeywordHighlight.ts → dist/treeshaking/components/search/composables/useKeywordHighlight.mjs} +28 -30
  327. package/dist/treeshaking/components/search/composables/useSearchHistory.d.ts +14 -0
  328. package/{src/components/search/composables/useSearchHistory.ts → dist/treeshaking/components/search/composables/useSearchHistory.mjs} +58 -75
  329. package/dist/treeshaking/components/search/index.d.ts +600 -0
  330. package/dist/treeshaking/components/search/index.mjs +9 -0
  331. package/dist/treeshaking/components/search/internal/HighlightText.css +12 -0
  332. package/dist/treeshaking/components/search/internal/HighlightText.vue.d.ts +9 -0
  333. package/dist/treeshaking/components/search/internal/HighlightText.vue.mjs +7 -0
  334. package/dist/treeshaking/components/search/internal/HighlightText.vue2.mjs +33 -0
  335. package/dist/treeshaking/components/search/internal/SearchImageInput.css +213 -0
  336. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.d.ts +736 -0
  337. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.mjs +8 -0
  338. package/dist/treeshaking/components/search/internal/SearchImageInput.vue2.mjs +305 -0
  339. package/dist/treeshaking/components/search/internal/SearchImageInput2.css +38 -0
  340. package/dist/treeshaking/components/search/internal/SearchPanel.css +547 -0
  341. package/dist/treeshaking/components/search/internal/SearchPanel.vue.d.ts +100 -0
  342. package/dist/treeshaking/components/search/internal/SearchPanel.vue.mjs +7 -0
  343. package/dist/treeshaking/components/search/internal/SearchPanel.vue2.mjs +249 -0
  344. package/{src/components/search/types.ts → dist/treeshaking/components/search/types.d.ts} +20 -25
  345. package/dist/treeshaking/components/section/OSection.css +173 -0
  346. package/dist/treeshaking/components/section/OSection.vue.d.ts +37 -0
  347. package/dist/treeshaking/components/section/OSection.vue.mjs +7 -0
  348. package/dist/treeshaking/components/section/OSection.vue2.mjs +93 -0
  349. package/dist/treeshaking/components/section/index.d.ts +47 -0
  350. package/dist/treeshaking/components/section/index.mjs +9 -0
  351. package/dist/treeshaking/i18n/en.mjs +281 -0
  352. package/{src/i18n/index.ts → dist/treeshaking/i18n/index.mjs} +49 -56
  353. package/dist/treeshaking/i18n/zh.mjs +271 -0
  354. package/{src/index.ts → dist/treeshaking/index.d.ts} +1 -3
  355. package/dist/treeshaking/index.mjs +51 -0
  356. package/dist/treeshaking/shared/provide.mjs +4 -0
  357. package/package.json +15 -5
  358. package/docs/design.md +0 -27
  359. package/docs/design_banner.md +0 -41
  360. package/docs/design_section.md +0 -27
  361. package/scripts/generate-components-index.js +0 -62
  362. package/src/assets/events/svg-icons/icon-checked.svg +0 -3
  363. package/src/assets/events/svg-icons/icon-competition.svg +0 -7
  364. package/src/assets/events/svg-icons/icon-events.svg +0 -4
  365. package/src/assets/events/svg-icons/icon-release.svg +0 -4
  366. package/src/assets/events/svg-icons/icon-summit.svg +0 -4
  367. package/src/assets/meeting/empty.png +0 -0
  368. package/src/assets/meeting/svg-icons/icon-all.svg +0 -4
  369. package/src/assets/meeting/svg-icons/icon-backward.svg +0 -4
  370. package/src/assets/meeting/svg-icons/icon-calendar.svg +0 -3
  371. package/src/assets/meeting/svg-icons/icon-cancel.svg +0 -4
  372. package/src/assets/meeting/svg-icons/icon-captions.svg +0 -4
  373. package/src/assets/meeting/svg-icons/icon-close-captions.svg +0 -6
  374. package/src/assets/meeting/svg-icons/icon-close-fullscreen.svg +0 -6
  375. package/src/assets/meeting/svg-icons/icon-copy.svg +0 -4
  376. package/src/assets/meeting/svg-icons/icon-create.svg +0 -5
  377. package/src/assets/meeting/svg-icons/icon-delete.svg +0 -7
  378. package/src/assets/meeting/svg-icons/icon-empty.svg +0 -65
  379. package/src/assets/meeting/svg-icons/icon-event.svg +0 -4
  380. package/src/assets/meeting/svg-icons/icon-export.svg +0 -3
  381. package/src/assets/meeting/svg-icons/icon-forward.svg +0 -4
  382. package/src/assets/meeting/svg-icons/icon-fullscreen.svg +0 -6
  383. package/src/assets/meeting/svg-icons/icon-help.svg +0 -3
  384. package/src/assets/meeting/svg-icons/icon-important.svg +0 -4
  385. package/src/assets/meeting/svg-icons/icon-info.svg +0 -3
  386. package/src/assets/meeting/svg-icons/icon-meet.svg +0 -4
  387. package/src/assets/meeting/svg-icons/icon-meeting-message.svg +0 -5
  388. package/src/assets/meeting/svg-icons/icon-meeting.svg +0 -4
  389. package/src/assets/meeting/svg-icons/icon-play.svg +0 -5
  390. package/src/assets/meeting/svg-icons/icon-playing-tip.svg +0 -7
  391. package/src/assets/meeting/svg-icons/icon-playing.svg +0 -5
  392. package/src/assets/meeting/svg-icons/icon-question.svg +0 -4
  393. package/src/assets/meeting/svg-icons/icon-sound.svg +0 -5
  394. package/src/assets/meeting/svg-icons/icon-speaker.svg +0 -3
  395. package/src/assets/meeting/svg-icons/icon-summit.svg +0 -4
  396. package/src/assets/meeting/svg-icons/icon-telligent.svg +0 -3
  397. package/src/assets/meeting/svg-icons/icon-tip.svg +0 -3
  398. package/src/assets/meeting/svg-icons/icon-todo.svg +0 -4
  399. package/src/assets/meeting/transparent.png +0 -0
  400. package/src/assets/styles/element-plus.scss +0 -277
  401. package/src/assets/svg-icons/icon-arrow-left.svg +0 -3
  402. package/src/assets/svg-icons/icon-avatar-line.svg +0 -3
  403. package/src/assets/svg-icons/icon-caret-left.svg +0 -3
  404. package/src/assets/svg-icons/icon-caret-right.svg +0 -3
  405. package/src/assets/svg-icons/icon-chevron-down.svg +0 -3
  406. package/src/assets/svg-icons/icon-chevron-right.svg +0 -3
  407. package/src/assets/svg-icons/icon-chevron-up.svg +0 -3
  408. package/src/assets/svg-icons/icon-close.svg +0 -3
  409. package/src/assets/svg-icons/icon-delete-hover.svg +0 -4
  410. package/src/assets/svg-icons/icon-delete.svg +0 -7
  411. package/src/assets/svg-icons/icon-filter.svg +0 -3
  412. package/src/assets/svg-icons/icon-header-back.svg +0 -3
  413. package/src/assets/svg-icons/icon-header-delete.svg +0 -3
  414. package/src/assets/svg-icons/icon-header-menu.svg +0 -3
  415. package/src/assets/svg-icons/icon-header-person.svg +0 -3
  416. package/src/assets/svg-icons/icon-header-search.svg +0 -4
  417. package/src/assets/svg-icons/icon-image-close.svg +0 -4
  418. package/src/assets/svg-icons/icon-image-upload.svg +0 -3
  419. package/src/assets/svg-icons/icon-image-zoomin.svg +0 -3
  420. package/src/assets/svg-icons/icon-loading.svg +0 -4
  421. package/src/assets/svg-icons/icon-locale.svg +0 -3
  422. package/src/assets/svg-icons/icon-log-off.svg +0 -3
  423. package/src/assets/svg-icons/icon-message.svg +0 -3
  424. package/src/assets/svg-icons/icon-moon.svg +0 -3
  425. package/src/assets/svg-icons/icon-outlink.svg +0 -3
  426. package/src/assets/svg-icons/icon-overview.svg +0 -3
  427. package/src/assets/svg-icons/icon-refresh.svg +0 -3
  428. package/src/assets/svg-icons/icon-search.svg +0 -3
  429. package/src/assets/svg-icons/icon-setting.svg +0 -3
  430. package/src/assets/svg-icons/icon-sun.svg +0 -3
  431. package/src/assets/svg-icons/icon-tips.svg +0 -3
  432. package/src/components/activity/OActivityApproval.vue +0 -868
  433. package/src/components/activity/OActivityForm.vue +0 -548
  434. package/src/components/activity/OActivityMyCalendar.vue +0 -1540
  435. package/src/components/activity/composables/useActivityConfig.ts +0 -141
  436. package/src/components/activity/config.ts +0 -1
  437. package/src/components/activity/index.ts +0 -24
  438. package/src/components/activity/types.ts +0 -95
  439. package/src/components/banner/OBanner.vue +0 -288
  440. package/src/components/banner/OBannerContent.vue +0 -175
  441. package/src/components/banner/index.ts +0 -18
  442. package/src/components/banner/types.ts +0 -39
  443. package/src/components/common/AppAvatar.vue +0 -83
  444. package/src/components/common/ClientOnly.vue +0 -13
  445. package/src/components/common/ContentWrapper.vue +0 -85
  446. package/src/components/common/MoreText.vue +0 -124
  447. package/src/components/common/ThFilter.vue +0 -330
  448. package/src/components/config-provider/OPlusConfigProvider.vue +0 -32
  449. package/src/components/config-provider/index.ts +0 -10
  450. package/src/components/cookie-notice/OCookieNotice.vue +0 -575
  451. package/src/components/cookie-notice/index.ts +0 -10
  452. package/src/components/element-plus/OElCookieNotice.vue +0 -603
  453. package/src/components/element-plus/index.ts +0 -3
  454. package/src/components/events/OEventsApply.vue +0 -509
  455. package/src/components/events/OEventsCalendar.vue +0 -600
  456. package/src/components/events/OEventsList.vue +0 -461
  457. package/src/components/events/config.ts +0 -35
  458. package/src/components/events/index.ts +0 -24
  459. package/src/components/events/types.ts +0 -84
  460. package/src/components/footer/OFooter.vue +0 -577
  461. package/src/components/footer/index.ts +0 -10
  462. package/src/components/header/OHeader.vue +0 -157
  463. package/src/components/header/OHeaderMobile.vue +0 -184
  464. package/src/components/header/components/HeaderContent.vue +0 -1125
  465. package/src/components/header/components/HeaderNav.vue +0 -278
  466. package/src/components/header/components/HeaderNavMobile.vue +0 -380
  467. package/src/components/header/index.ts +0 -18
  468. package/src/components/header/types.ts +0 -96
  469. package/src/components/header-language-switcher/OHeaderLanguageSwitcher.vue +0 -253
  470. package/src/components/header-language-switcher/index.ts +0 -10
  471. package/src/components/header-search/OHeaderSearch.vue +0 -628
  472. package/src/components/header-search/index.ts +0 -10
  473. package/src/components/header-source-code/OHeaderSourceCode.vue +0 -151
  474. package/src/components/header-source-code/index.ts +0 -10
  475. package/src/components/header-theme/OHeaderTheme.vue +0 -132
  476. package/src/components/header-theme/index.ts +0 -10
  477. package/src/components/header-user/OHeaderUser.vue +0 -238
  478. package/src/components/header-user/index.ts +0 -10
  479. package/src/components/meeting/OMeetingCalendar.vue +0 -943
  480. package/src/components/meeting/OMeetingForm.vue +0 -1131
  481. package/src/components/meeting/OMeetingMyCalendar.vue +0 -1601
  482. package/src/components/meeting/OMeetingPlayback.vue +0 -469
  483. package/src/components/meeting/OMeetingSigCalendar.vue +0 -500
  484. package/src/components/meeting/components/OMeetingCalendarList.vue +0 -626
  485. package/src/components/meeting/components/OMeetingCalendarSelector.vue +0 -213
  486. package/src/components/meeting/components/OMeetingDetail.vue +0 -285
  487. package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +0 -615
  488. package/src/components/meeting/components/OMeetingPlaybackVideo.vue +0 -741
  489. package/src/components/meeting/components/OMeetingSigAside.vue +0 -205
  490. package/src/components/meeting/composables/useMeetingConfig.ts +0 -108
  491. package/src/components/meeting/config.ts +0 -48
  492. package/src/components/meeting/index.ts +0 -45
  493. package/src/components/meeting/types.ts +0 -270
  494. package/src/components/meeting/utils.ts +0 -70
  495. package/src/components/search/OSearchInput.vue +0 -526
  496. package/src/components/search/composables/useImageSearch.ts +0 -157
  497. package/src/components/search/index.ts +0 -23
  498. package/src/components/search/internal/HighlightText.vue +0 -37
  499. package/src/components/search/internal/SearchImageInput.vue +0 -498
  500. package/src/components/search/internal/SearchPanel.vue +0 -431
  501. package/src/components/section/OSection.vue +0 -178
  502. package/src/components/section/index.ts +0 -10
  503. package/src/draft/Banner.vue +0 -265
  504. package/src/draft/ButtonCards.vue +0 -106
  505. package/src/draft/Feature.vue +0 -134
  506. package/src/draft/Footer.vue +0 -519
  507. package/src/draft/HorizontalAnchor.vue +0 -165
  508. package/src/draft/ItemSwiper.vue +0 -133
  509. package/src/draft/Logo.vue +0 -141
  510. package/src/draft/LogoCard.vue +0 -75
  511. package/src/draft/LogoV2.vue +0 -19
  512. package/src/draft/MainCard.vue +0 -38
  513. package/src/draft/MultiCard.vue +0 -95
  514. package/src/draft/MultiIconCard.vue +0 -74
  515. package/src/draft/OInfoCard.vue +0 -176
  516. package/src/draft/Process.vue +0 -81
  517. package/src/draft/Section.vue +0 -167
  518. package/src/draft/SingleTabCard.vue +0 -85
  519. package/src/draft/SliderCard.vue +0 -111
  520. package/src/env.d.ts +0 -16
  521. package/src/i18n/en.ts +0 -278
  522. package/src/i18n/zh.ts +0 -268
  523. package/src/shared/provide.ts +0 -6
  524. package/src/shims-vue-dompurify-html.d.ts +0 -17
  525. package/src/vue.d.ts +0 -10
  526. package/tsconfig.json +0 -37
  527. package/vite.config.ts +0 -123
@@ -1,1540 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref, computed, watch, onMounted, onUnmounted, nextTick } from 'vue';
3
- import {
4
- OButton,
5
- ODivider,
6
- OIcon,
7
- OScroller,
8
- OCollapse,
9
- OCollapseItem,
10
- OTag,
11
- ODialog,
12
- useMessage,
13
- OIconArrowLeft,
14
- OIconArrowRight,
15
- OIconChevronLeft,
16
- OIconChevronRight,
17
- DialogActionT, OLink,
18
- } from '@opensig/opendesign';
19
- import { ElCalendar } from 'element-plus';
20
- import dayjs from 'dayjs';
21
- import { useDebounceFn } from '@vueuse/core';
22
-
23
- import IconCopy from '~icons/meeting/icon-copy.svg';
24
-
25
- import type { ActivityItemT, MyActivityCalendarPropsT, ParamsItemT } from './types';
26
- import { useScreen } from '@opendesign-plus/composables';
27
- import { formatDate, getDateNumber } from '../meeting/utils';
28
- import { useActivityConfig } from './composables/useActivityConfig';
29
- import { CalendarDataType, MeetingItemT, PageParamsT } from '../meeting/types';
30
- import OMeetingDetail from '@/components/meeting/components/OMeetingDetail.vue';
31
- import { useI18n, Locales } from '@/i18n';
32
- import { useMeetingConfig } from '@/components/meeting/composables/useMeetingConfig.ts';
33
-
34
- const { t, locale } = useI18n();
35
- const isZh = computed(() => locale.value === Locales.ZH);
36
- const { statusMap, activityTypeMap } = useActivityConfig();
37
- const { getConfig } = useMeetingConfig();
38
-
39
- const formatMonthYear = (date: string | Date) => {
40
- const d = dayjs(date || new Date());
41
- return isZh.value ? d.format('YYYY MM月') : d.format('MMMM YYYY');
42
- };
43
-
44
- const message = useMessage(null);
45
- const { isPhone } = useScreen();
46
-
47
- const props = defineProps<MyActivityCalendarPropsT>();
48
-
49
- const emits = defineEmits(['edit']);
50
- const list = ref<ActivityItemT[]>([]); // 列表数据
51
- const originList = ref<ActivityItemT[]>([]); // 原始数据
52
-
53
- const currentPage = ref(1); // 分页-当前页
54
- const pageSize = ref(50); // 分页-每页数量
55
- const total = ref<number | null>(null); // 分页-总数
56
- const reloadAll = ref(false); // 是否需要清空数据
57
-
58
- const expanded = ref<number[]>([]); // 展开的数据,id
59
-
60
- const nextLoading = ref(false);
61
- const bottomReached = ref(false);
62
-
63
- const canLoadMore = computed(() => total.value === null || originList.value.length < total.value);
64
-
65
- const getList = async () => {
66
- if (!props.getListRequest) {
67
- return;
68
- }
69
- if (nextLoading.value) {
70
- return;
71
- }
72
- try {
73
- if (total.value !== null && total.value > 0 && (currentPage.value - 1) * pageSize.value > total.value) {
74
- return;
75
- }
76
- // 当月数据已加载完,手动切换下一月
77
- if (!canLoadMore.value && isPhone.value) {
78
- changeMonth('next-month');
79
- return;
80
- }
81
- nextLoading.value = true;
82
- const res = await props.getListRequest({
83
- page: currentPage.value,
84
- size: pageSize.value,
85
- start_date: selectedDate.value,
86
- } as unknown as PageParamsT);
87
- const tempList = (res.data || [])
88
- .map((item: ActivityItemT) => {
89
- const { start_date, end_date, start, end } = item;
90
- return [
91
- {
92
- ...item,
93
- time: `${ start_date }-${ end }`,
94
- start_date_time: `${ start_date } ${ start }`,
95
- end_date_time: `${ end_date } ${ end }`,
96
- type: CalendarDataType.EVENTS,
97
- dateRange: `${ start_date } ${ start }-${ end_date } ${ end }`,
98
- isExpired: dayjs(`${ start_date } ${ start }`).isBefore(dayjs()),
99
- },
100
- ];
101
- })
102
- .flat()
103
- .filter((v: ActivityItemT) => {
104
- return v.start_date.slice(0, 7) === formatDate(selectedDate.value, 'YYYY-MM-DD').slice(0, 7);
105
- });
106
- if (reloadAll.value) {
107
- originList.value = res.data || [];
108
- list.value = tempList;
109
- } else {
110
- if (currentPage.value === 1 && !isPhone.value) {
111
- originList.value = res.data || [];
112
- list.value = tempList;
113
- } else {
114
- originList.value = [...originList.value, ...(res.data || [])];
115
- list.value = [...list.value, ...tempList];
116
- }
117
- }
118
- list.value.sort((a, b) => {
119
- if (a.start_date === b.start_date) {
120
- return getDateNumber(a.start) > getDateNumber(b.start) ? 1 : -1;
121
- } else {
122
- return dayjs(a.start_date).isAfter(dayjs(b.start_date)) ? 1 : -1;
123
- }
124
- });
125
- total.value = res?.total || 0;
126
- nextTick(() => {
127
- getSelectedDate();
128
- // 监听滚动事件以自动加载下一页
129
- if (scrollerRef.value && !isPhone.value) {
130
- updateScroller();
131
- }
132
- });
133
- } finally {
134
- nextLoading.value = false;
135
- bottomReached.value = false;
136
- reloadAll.value = false;
137
- }
138
- };
139
-
140
- const expandList = ref<number[]>([]);
141
- const getActivityDetail = (val: number) => {
142
- if (!props.getActivityDetailRequest) {
143
- return;
144
- }
145
- if (!expandList.value.includes(val)) {
146
- expandList.value.push(val);
147
- props.getActivityDetailRequest(val).then((res: ActivityItemT) => {
148
- list.value?.forEach((item) => {
149
- if (item.id === res.id) {
150
- item.approve_record = res.approve_record;
151
- }
152
- });
153
- });
154
- }
155
- };
156
-
157
- const change = (val: (number | string)[]) => {
158
- if (val.length) {
159
- val.forEach((item) => {
160
- getActivityDetail(item as unknown as number);
161
- });
162
- }
163
- };
164
-
165
- const calcIfApproved = (date: string) => {
166
- const activityOfDate = list.value.filter((v) => v.start_date === date);
167
- return activityOfDate.length && activityOfDate.every((v) => v.status === 3 || v.status === 4);
168
- };
169
-
170
- const scrollerScroll = (el: any) => {
171
- const container = el.target;
172
- if (!container) return;
173
- const scrollTop = container.scrollTop; // 已经滚动的距离
174
- const scrollHeight = container.scrollHeight; // 内容总高度
175
- const clientHeight = container.clientHeight; // 容器可视高度
176
- if (scrollTop + clientHeight >= scrollHeight) {
177
- load();
178
- }
179
- };
180
- const updateScroller = () => {
181
- const scrollerContainerEl = scrollerRef.value.getContainerEl();
182
- scrollerContainerEl.addEventListener('scroll', scrollerScroll);
183
- };
184
-
185
- // -------------------- 日历 --------------------
186
- const calendarRef = ref();
187
- const selectedDate = ref<any>(dayjs().format('YYYY-MM-DD'));
188
- const allDateList = computed<string[]>(() => [...new Set(list.value.map((v) => v.start_date))].sort((a, b) => (dayjs(a).isBefore(dayjs(b)) ? -1 : 1)));
189
- const dateList = computed<string[]>(() =>
190
- [...new Set(list.value.filter((v) => !v.isExpired && !v.is_delete).map((v) => v.start_date))].sort((a, b) => (dayjs(a).isBefore(dayjs(b)) ? -1 : 1)),
191
- );
192
- const getSelectedDate = () => {
193
- const latest = dateList.value.find((v) => !dayjs(v).isBefore(dayjs(new Date()).format('YYYY-MM-DD')));
194
- if (latest) {
195
- selectedDate.value = latest;
196
- } else if (!selectedDate.value) {
197
- selectedDate.value = dayjs().format('YYYY-MM-DD');
198
- }
199
- calendarRef.value?.pickDay(dayjs(selectedDate.value));
200
- selectedDate.value = dayjs(selectedDate.value).format('YYYY-MM-DD');
201
- // 根据天再计算出需要展开的最近的会议
202
- const needExpand = list.value.find((v) => v.start_date === selectedDate.value && !v.isExpired && !v.is_delete);
203
- if (needExpand) {
204
- getActivityDetail(needExpand.id);
205
- expanded.value = [needExpand.id];
206
- }
207
- };
208
-
209
- const cellClick = (e: PointerEvent & any, clickable: boolean) => {
210
- if (!clickable || !e.target?.className.includes('date-cell-text')) {
211
- e.stopPropagation();
212
- e.preventDefault();
213
- }
214
- };
215
-
216
- const changeMonth = (val: string) => {
217
- if (!calendarRef.value) return;
218
- currentPage.value = 1;
219
- total.value = null;
220
- expandList.value = [];
221
- window.scrollTo({
222
- top: 0,
223
- behavior: 'smooth',
224
- });
225
- calendarRef.value.selectDate(val);
226
- reloadAll.value = true;
227
- nextTick(() => {
228
- selectedDate.value = dayjs(calendarRef.value.selectedDay).format('YYYY-MM-DD');
229
- getList();
230
- });
231
- };
232
-
233
-
234
- // -------------------- 活动列表 --------------------
235
- interface ActivityListItemT {
236
- start_date: string;
237
- list: ActivityItemT[];
238
- }
239
-
240
- const activityList = computed<ActivityListItemT[]>(() => {
241
- return list.value.reduce((prev: ActivityListItemT[], cur: ActivityItemT) => {
242
- if (!prev.length) {
243
- return [
244
- {
245
- start_date: cur.start_date,
246
- list: [cur],
247
- },
248
- ];
249
- } else {
250
- const last = prev.at(-1);
251
- if (last?.start_date === cur.start_date) {
252
- last?.list.push(cur);
253
- } else {
254
- prev.push({
255
- start_date: cur.start_date,
256
- list: [cur],
257
- });
258
- }
259
- return prev;
260
- }
261
- }, []);
262
- });
263
-
264
- // -------------------- 活动详情组件实例 --------------------
265
- const detailRefs = ref<any>({});
266
- const getDetailRefs = (insRef: any, id: number) => {
267
- if (insRef && id) {
268
- detailRefs.value[id] = insRef;
269
- }
270
- };
271
- const copyInfo = async (idx: number) => {
272
- const instance = detailRefs.value[idx];
273
- await instance.copyInfo();
274
- message.success({
275
- content: t('common.copySuccess'),
276
- });
277
- };
278
- // -------------------- 处理滚动事件 --------------------
279
- const scrollerRef = ref();
280
- const scrollToSelectedDate = (date: string) => {
281
- const key = dayjs(date).format('YYYY-MM-DD');
282
- const targetEle = document.querySelector(`#group-title-${ key }`);
283
- if (targetEle) {
284
- if (isPhone.value) {
285
- window.scrollTo({
286
- top: (targetEle.parentElement?.offsetTop || 0) - 52,
287
- behavior: 'smooth',
288
- });
289
- } else {
290
- scrollerRef.value?.scrollTo({
291
- top: targetEle.parentElement?.offsetTop || 0,
292
- behavior: 'smooth',
293
- });
294
- }
295
- }
296
- };
297
-
298
- watch(
299
- () => selectedDate.value,
300
- () => {
301
- scrollToSelectedDate(selectedDate.value);
302
- },
303
- );
304
-
305
- // -------------------- 自动加载下一页 --------------------
306
- const load = useDebounceFn(() => {
307
- if (!canLoadMore.value) return;
308
- if (isPhone.value) return;
309
- bottomReached.value = true;
310
- currentPage.value++;
311
- getList();
312
- }, 200);
313
-
314
- // -------------------- 活动操作 --------------------
315
- const dialogLoading = ref(false); // 弹窗按钮状态
316
- const currentRow = ref<ActivityItemT | null>(null); // 当前活动详情
317
- // 撤销审核
318
- const revokeVisible = ref(false);
319
- const handleRevokeItem = (val: ActivityItemT) => {
320
- currentRow.value = val;
321
- revokeVisible.value = true;
322
- };
323
- const confirm = () => {
324
- if (!props.revokeActivityRequest) {
325
- return;
326
- }
327
- if (!currentRow.value) {
328
- return;
329
- }
330
- dialogLoading.value = true;
331
- props.revokeActivityRequest(currentRow.value?.id)
332
- .then((flag: any) => {
333
- if (typeof flag === 'boolean' && !flag) {
334
- return;
335
- }
336
- message.success({
337
- content: t('meeting.revokeActivitySuccess', [currentRow.value?.title]),
338
- });
339
- reloadAll.value = true;
340
- getList();
341
- })
342
- .finally(() => {
343
- revokeVisible.value = false;
344
- dialogLoading.value = false;
345
- });
346
- };
347
- const cancel = () => {
348
- revokeVisible.value = false;
349
- };
350
- // 修改活动
351
- const handleEditItem = (val: ActivityItemT) => {
352
- emits('edit', val);
353
-
354
- };
355
- // 提交审核
356
- const handleSubmitReviewItem = (val: ActivityItemT) => {
357
- if (!props.editActivityRequest) {
358
- return;
359
- }
360
- const {
361
- title,
362
- start_date,
363
- end_date,
364
- register_end_date,
365
- activity_type,
366
- synopsis,
367
- register_url,
368
- content_url,
369
- address,
370
- start,
371
- end,
372
- approver,
373
- } = val;
374
- let params = {
375
- title,
376
- start_date,
377
- end_date,
378
- register_end_date,
379
- activity_type,
380
- synopsis,
381
- register_url,
382
- content_url,
383
- address,
384
- start,
385
- end,
386
- approver,
387
- is_publish: 'true',
388
- } as ParamsItemT;
389
- props.editActivityRequest(val.id, params)
390
- .then((flag: any) => {
391
- if (typeof flag === 'boolean' && !flag) {
392
- return;
393
- }
394
- message.success({
395
- content: t('meeting.submitReviewSuccess', [val.title]),
396
- });
397
- reloadAll.value = true;
398
- getList();
399
- })
400
- };
401
- // 删除活动
402
- const deleteVisible = ref(false);
403
- const handleDeleteItem = (val: ActivityItemT) => {
404
- currentRow.value = val;
405
- deleteVisible.value = true;
406
- };
407
- const confirmDelete = () => {
408
- if (!props.deleteActivityRequest) {
409
- return;
410
- }
411
- dialogLoading.value = true;
412
- props.deleteActivityRequest(currentRow.value?.id)
413
- .then((flag: any) => {
414
- if (typeof flag === 'boolean' && !flag) {
415
- return;
416
- }
417
- message.success({
418
- content: t('meeting.deleteActivitySuccess', [currentRow.value?.title]),
419
- });
420
- reloadAll.value = true;
421
- getList();
422
- })
423
- .finally(() => {
424
- deleteVisible.value = false;
425
- dialogLoading.value = false;
426
- });
427
- };
428
- const cancelDelete = () => {
429
- deleteVisible.value = false;
430
- };
431
-
432
- // -------------------- 获取header高度 --------------------
433
- const headerRef = ref();
434
- const headerHeight = ref(0);
435
- const getHeaderHeight = () => {
436
- headerHeight.value = headerRef.value?.clientHeight || 0;
437
- };
438
-
439
- const handleScroll = useDebounceFn(() => {
440
- if (!canLoadMore.value) return;
441
- if (!isPhone.value) return;
442
- const scrollPosition = window.scrollY || window.pageYOffset;
443
- // 检测是否接近底部
444
- const windowHeight = window.innerHeight;
445
- const docHeight = document.documentElement.scrollHeight;
446
- const distanceToBottom = docHeight - (scrollPosition + windowHeight);
447
- // 当距离底部300px时开始加载
448
- if (distanceToBottom <= 300 && !nextLoading.value) {
449
- bottomReached.value = true;
450
- // 加载下一页
451
- currentPage.value++;
452
- getList();
453
- }
454
- }, 200);
455
-
456
- onMounted(() => {
457
- getList();
458
- // 添加滚动事件监听
459
- window.addEventListener('scroll', handleScroll);
460
- // 添加resize监听器
461
- window.addEventListener('resize', handleScroll);
462
- getHeaderHeight();
463
- window.addEventListener('resize', getHeaderHeight);
464
- });
465
- onUnmounted(() => {
466
- window.removeEventListener('scroll', handleScroll);
467
- window.removeEventListener('resize', handleScroll);
468
- window.removeEventListener('resize', getHeaderHeight);
469
- const scrollerContainerEl = scrollerRef.value?.getContainerEl();
470
- scrollerContainerEl?.removeEventListener('scroll', scrollerScroll);
471
- });
472
-
473
-
474
- const revokeActions = computed<DialogActionT[]>(() => {
475
- return [{
476
- id: 'confirm',
477
- loading: dialogLoading.value,
478
- color: 'primary',
479
- variant: 'outline',
480
- round: 'pill',
481
- size: 'large',
482
- label: t('meeting.confirmBtn'),
483
- onClick: () => {
484
- confirm();
485
- },
486
- }, {
487
- id: 'cancel',
488
- color: 'primary',
489
- variant: 'solid',
490
- round: 'pill',
491
- size: 'large',
492
- label: t('meeting.cancelBtn'),
493
- onClick: () => {
494
- cancel();
495
- },
496
- }];
497
- });
498
- const deleteActions = computed<DialogActionT[]>(() => {
499
- return [{
500
- id: 'confirm',
501
- loading: dialogLoading.value,
502
- color: 'primary',
503
- variant: 'outline',
504
- round: 'pill',
505
- size: 'large',
506
- label: t('meeting.confirmBtn'),
507
- onClick: () => {
508
- confirmDelete();
509
- },
510
- }, {
511
- id: 'cancel',
512
- color: 'primary',
513
- variant: 'solid',
514
- round: 'pill',
515
- size: 'large',
516
- label: t('meeting.cancelBtn'),
517
- onClick: () => {
518
- cancelDelete();
519
- },
520
- }];
521
- });
522
-
523
- </script>
524
-
525
- <template>
526
- <div class="o-my-activity-calendar">
527
- <div class="activity-list">
528
- <div v-if="isPhone" class="list-calendar-mb">
529
- <span>{{ formatMonthYear(selectedDate) }}</span>
530
- <span>
531
- <OIcon @click="changeMonth('prev-month')"><OIconChevronLeft /></OIcon>
532
- <OIcon @click="changeMonth('next-month')"><OIconChevronRight /></OIcon>
533
- </span>
534
- </div>
535
- <div class="left-calendar">
536
- <ElCalendar ref="calendarRef" v-model="selectedDate">
537
- <template #header>
538
- <span>{{ formatMonthYear(selectedDate) }}</span>
539
- <div>
540
- <OIcon @click="changeMonth('prev-month')">
541
- <OIconChevronLeft />
542
- </OIcon>
543
- <OIcon @click="changeMonth('next-month')">
544
- <OIconChevronRight />
545
- </OIcon>
546
- </div>
547
- </template>
548
- <template #date-cell="{ data }">
549
- <div
550
- @click="(e) => cellClick(e, allDateList.includes(data.day))"
551
- :class="{
552
- 'date-cell': true,
553
- 'is-selected': data.isSelected,
554
- 'is-today': formatDate(data.day) === formatDate(),
555
- clickable: allDateList.includes(data.day),
556
- approved: calcIfApproved(data.day),
557
- }"
558
- :style="{
559
- '--dot-bg': `${getConfig(CalendarDataType.EVENTS, 'color')}`
560
- }"
561
- >
562
- <div class="date-cell-text">
563
- {{ Number(data.day.split('-')[2]) }}
564
- </div>
565
- </div>
566
- </template>
567
- </ElCalendar>
568
- </div>
569
- <div class="right-meeting">
570
- <OScroller
571
- v-if="list.length"
572
- ref="scrollerRef"
573
- @scrollend="load"
574
- :style="{ '--header-height': headerHeight }"
575
- show-type="hover"
576
- class="scroller-container"
577
- >
578
- <div class="list-body">
579
- <OCollapse v-model="expanded" :accordion="isPhone" @change="change">
580
- <template v-for="(act, idx) in activityList" :key="act.start_date">
581
- <div class="list-month-change prev-month" v-if="idx === 0" @click="changeMonth('prev-month')">
582
- <OIcon>
583
- <OIconArrowLeft />
584
- </OIcon>
585
- <span>{{ t('meeting.preMonth') }}</span>
586
- </div>
587
- <div class="act-item" :class="idx === activityList.length - 1 && 'last-item'">
588
- <div
589
- :class="{
590
- 'act-bar': true,
591
- 'is-active': dayjs(selectedDate).format('YYYY-MM-DD') === act.start_date,
592
- 'is-end': act.list.every((row) => row.isExpired),
593
- approved: act.list.every((row) => row.status === 3 || row.status === 4),
594
- }"
595
- >
596
- <div class="act-bar-line"></div>
597
- <div class="act-bar-dot"></div>
598
- </div>
599
- <div
600
- :class="{
601
- 'group-title': true,
602
- 'is-end': act.list.every((row) => row.isExpired),
603
- }"
604
- :id="`group-title-${dayjs(new Date(act.start_date)).format('YYYY-MM-DD')}`"
605
- >
606
- {{ dayjs(act.start_date).format('MM/DD') }}
607
- </div>
608
- <OCollapseItem
609
- v-for="(row, rowIdx) in act.list"
610
- :key="row.sub_id || row.id"
611
- :value="row.sub_id || row.id"
612
- :class="{
613
- 'last-item': idx === activityList.length - 1 && rowIdx === act.list.length - 1,
614
- 'is-delete': row.is_delete,
615
- 'is-end': row.isExpired,
616
- }"
617
- >
618
- <template #title>
619
- <div class="item-header-left">
620
- <div
621
- class="act-icon"
622
- :style="{
623
- backgroundColor: `${row.is_delete ? 'var(--o-color-info4)' : getConfig(CalendarDataType.EVENTS, 'color')}`
624
- }"
625
- >
626
- <OIcon>
627
- <component :is="getConfig(CalendarDataType.EVENTS, 'icon')" />
628
- </OIcon>
629
- </div>
630
- <div class="header-info">
631
- <div class="act-title">
632
- <div class="title-text">{{ row.title }}</div>
633
- <OTag
634
- color="primary"
635
- variant="outline"
636
- :class="[`tag-${row.is_delete ? 'delete' : statusMap.get(row.status)?.id}`]">
637
- {{
638
- row.is_delete === 1 ? t('meeting.statusCanceled') : statusMap.get(row.status)?.text
639
- }}
640
- </OTag>
641
- </div>
642
- <div class="act-info">
643
- <span class="date-range">{{ row.dateRange }}</span>
644
- <ODivider direction="v"></ODivider>
645
- <span>{{ activityTypeMap.get(row.activity_type)?.label }}</span>
646
- </div>
647
- </div>
648
- </div>
649
- <div class="item-header-right"
650
- v-if="row.content_url && !row.is_delete && [3,4,5,6].includes(row.status)">
651
- <OLink
652
- :hover-underline="false"
653
- v-if="row.content_url"
654
- :href="row.content_url"
655
- target="_blank"
656
- rel="noopener noreferrer">
657
- {{ t('meeting.activityDetail') }}
658
- <template #suffix>
659
- <OIcon>
660
- <OIconChevronRight></OIconChevronRight>
661
- </OIcon>
662
- </template>
663
- </OLink>
664
- <OLink
665
- :hover-underline="false"
666
- v-if="
667
- row.register_url && (
668
- row.status === 3 ||
669
- row.status === 4 ||
670
- (row.status === 2 && row.update_activity_id && new Date(row.register_end_date).getTime() > new Date().getTime()))
671
- "
672
- :href="row.register_url"
673
- target="_blank"
674
- rel="noopener noreferrer"
675
- >
676
- {{ t('meeting.registerNow') }}
677
- <template #suffix>
678
- <OIcon>
679
- <OIconChevronRight></OIconChevronRight>
680
- </OIcon>
681
- </template>
682
- </OLink>
683
- </div>
684
- <OIcon @click.stop="() => copyInfo(rowIdx)" class="copy-icon">
685
- <IconCopy />
686
- </OIcon>
687
- </template>
688
- <div class="activity-detail">
689
- <OMeetingDetail
690
- :show="expanded.includes(row.id)"
691
- :data="row as unknown as MeetingItemT"
692
- :ref="(insRef) => getDetailRefs(insRef, row.id)"
693
- />
694
- <div class="activity-btn" v-if="!row.isExpired && !row.is_delete">
695
- <OButton
696
- v-if="row.status === 2"
697
- variant="text"
698
- @click="handleRevokeItem(row)"
699
- >
700
- {{ t('meeting.withdrawReview') }}
701
- </OButton>
702
- <OButton
703
- v-if="row.status === 1 || row.status === 3 || row.status === 4 || row.status === 7"
704
- variant="text" @click="handleEditItem(row)"
705
- >
706
- {{ t('meeting.modifyActivity') }}
707
- </OButton>
708
- <OButton
709
- v-if="row.status === 1 || row.status === 7" variant="text"
710
- @click="handleDeleteItem(row)"
711
- >
712
- {{ t('meeting.deleteActivity') }}
713
- </OButton>
714
- <OButton
715
- v-if="row.status === 1 || row.status === 7" variant="text"
716
- @click="handleSubmitReviewItem(row)"
717
- >
718
- {{ t('meeting.submitReview') }}
719
- </OButton>
720
- </div>
721
- </div>
722
- </OCollapseItem>
723
- <div class="height-placeholder"></div>
724
- </div>
725
- <template v-if="idx === activityList.length - 1">
726
- <div class="load-text" v-if="bottomReached">{{ t('meeting.loading') }}</div>
727
- <div class="list-month-change next-month" @click="changeMonth('next-month')">
728
- <OIcon>
729
- <OIconArrowRight />
730
- </OIcon>
731
- <span>{{ t('meeting.nextMonth') }}</span>
732
- </div>
733
- </template>
734
- </template>
735
- </OCollapse>
736
- </div>
737
- </OScroller>
738
- <slot v-else name="empty">
739
- </slot>
740
- </div>
741
- </div>
742
- </div>
743
- <!-- 撤销审核弹窗 -->
744
- <ODialog v-model:visible="revokeVisible" main-class="handle-dialog-active" :actions="revokeActions">
745
- <template #header>{{ t('meeting.withdrawReview') }}</template>
746
- <div class="dialog-content">{{ t('meeting.confirmRevokeActivity', [currentRow?.title]) }}</div>
747
- </ODialog>
748
- <!-- 删除活动弹窗 -->
749
- <ODialog v-model:visible="deleteVisible" main-class="handle-dialog-active" :actions="deleteActions">
750
- <template #header>{{ t('meeting.deleteActivity') }}</template>
751
- <div class="dialog-content">{{ t('meeting.confirmDeleteActivity', [currentRow?.title]) }}</div>
752
- </ODialog>
753
- </template>
754
-
755
- <style lang="scss">
756
-
757
- .o-my-activity-calendar {
758
- --activity-card-radius: var(--o-radius-xs);
759
- --activity-cell-radius: var(--o-radius-xs);
760
- height: 100%;
761
- display: flex;
762
- flex-direction: column;
763
-
764
- .header {
765
- display: flex;
766
- align-items: center;
767
- justify-content: space-between;
768
- }
769
-
770
- .title {
771
- color: var(--o-color-info1);
772
- font-weight: 500;
773
- @include h2;
774
- }
775
-
776
- .desc {
777
- color: var(--o-color-info2);
778
- margin-top: 12px;
779
- @include tip1;
780
- }
781
-
782
- .activity-list {
783
- display: flex;
784
- flex-wrap: nowrap;
785
- gap: var(--o-gap-4);
786
- height: 100%;
787
- --phone-padding-top: 0;
788
- @include respond('pad_v') {
789
- flex-direction: column;
790
- gap: var(--o-gap-4);
791
- }
792
- @include respond('phone') {
793
- flex-direction: column;
794
- gap: var(--o-gap-3);
795
- --phone-padding-top: calc(var(--o-gap-5) + var(--o-gap-3) + var(--o-gap-3));
796
- }
797
-
798
- .o-loading {
799
- .o-layer-mask {
800
- background-color: transparent;
801
- }
802
-
803
- .o-loading-icon {
804
- color: var(--layer-mask);
805
- }
806
- }
807
- }
808
-
809
- .list-calendar-mb {
810
- align-items: center;
811
- justify-content: space-between;
812
- padding: 0 var(--grid--layout-padding);
813
-
814
- span:first-child {
815
- font-weight: 500;
816
- @include display2;
817
- }
818
-
819
- span:last-child {
820
- display: flex;
821
- align-items: center;
822
- }
823
-
824
- .o-icon {
825
- font-size: 24px;
826
- cursor: pointer;
827
-
828
- &:last-child {
829
- margin-left: 24px;
830
- }
831
- }
832
-
833
- @include respond('phone') {
834
- padding-top: var(--o-gap-7);
835
- background-color: var(--o-color-ubmc-bg);
836
- padding-bottom: var(--o-gap-4);
837
- --phone-padding-top: calc(28px + var(--o-gap-7) + var(--o-gap-4));
838
- display: flex;
839
- position: fixed;
840
- height: var(--phone-padding-top);
841
- z-index: 1;
842
- top: var(--layout-header-height);
843
- left: 0;
844
- right: 0;
845
- }
846
- }
847
-
848
- .left-calendar {
849
- width: 336px;
850
- flex-shrink: 0;
851
- @include respond('pad_h') {
852
- .el-calendar {
853
- .el-calendar__body {
854
- padding-left: 12px;
855
- padding-right: 12px;
856
-
857
- .el-calendar-table .date-cell {
858
- height: 40px;
859
- width: 28px;
860
-
861
- .date-cell-text {
862
- line-height: 24px;
863
- @include tip2;
864
- }
865
- }
866
- }
867
- }
868
- }
869
- @include respond('pad_v') {
870
- width: 100%;
871
- }
872
- @include respond('phone') {
873
- display: none;
874
- }
875
-
876
- .el-calendar {
877
- min-height: 460px;
878
- height: 100%;
879
- background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
880
- border-radius: var(--activity-card-radius);
881
-
882
- .el-calendar__header {
883
- border-bottom: 1px solid var(--o-color-control4);
884
-
885
- & > span {
886
- font-weight: 500;
887
- color: var(--o-color-info1);
888
- @include h1;
889
- }
890
-
891
- & > div {
892
- display: flex;
893
- align-items: center;
894
- gap: var(--o-gap-5);
895
-
896
- .o-icon {
897
- font-size: 24px;
898
- cursor: pointer;
899
-
900
- &:hover {
901
- color: var(--o-color-primary1);
902
- }
903
- }
904
- }
905
- }
906
-
907
- .el-calendar__body {
908
- .el-calendar-table {
909
- display: table;
910
- width: 100%;
911
-
912
- th {
913
- text-align: center;
914
- border: none;
915
- --o-color-control3-light: transparent;
916
- }
917
-
918
- tr {
919
- --o-color-fill2: transparent;
920
- }
921
-
922
- td {
923
- border: none;
924
- text-align: center;
925
- transition: none;
926
- padding: 0;
927
- background-color: transparent !important;
928
-
929
- .el-calendar-day {
930
- padding: 0;
931
- height: fit-content;
932
- }
933
-
934
- div {
935
- cursor: default !important;
936
- }
937
-
938
- &:hover {
939
- .el-calendar-day {
940
- background-color: transparent;
941
- }
942
- }
943
- }
944
-
945
- .date-cell {
946
- height: 56px;
947
- width: 34px;
948
- position: relative;
949
- cursor: default !important;
950
-
951
- .date-cell-text {
952
- font-size: 14px;
953
- line-height: 34px;
954
- border-radius: var(--activity-cell-radius);
955
- background-color: var(--o-color-control2-light);
956
- border: 1px solid transparent;
957
- }
958
-
959
- .date-cell-text {
960
- cursor: not-allowed !important;
961
- }
962
-
963
- &.clickable {
964
- .date-cell-text {
965
- cursor: pointer !important;
966
- }
967
-
968
- &:not(.is-selected) {
969
- .date-cell-text:hover {
970
- background-color: var(--o-color-control3-light);
971
- }
972
- }
973
- }
974
-
975
- &::after {
976
- content: '';
977
- position: absolute;
978
- bottom: 5px;
979
- left: 50%;
980
- transform: translateX(-50%);
981
- width: 8px;
982
- height: 8px;
983
- border-radius: 50%;
984
- }
985
-
986
- &.is-today {
987
- .date-cell-text {
988
- color: #000;
989
- background-color: var(--o-color-control3-light);
990
- }
991
- }
992
-
993
- &.is-selected {
994
- .date-cell-text {
995
- background-color: var(--o-color-control3-light);
996
- border: 1px solid var(--o-color-primary1);
997
- }
998
- }
999
-
1000
- &.clickable {
1001
- &::after {
1002
- background-color: rgb(var(--o-grey-6));
1003
- }
1004
-
1005
- &.approved::after {
1006
- background-color: var(--dot-bg);
1007
- }
1008
-
1009
- &.expired::after {
1010
- background-color: rgb(var(--o-grey-6));
1011
- }
1012
-
1013
- &.all-deleted::after {
1014
- background-color: rgb(var(--o-grey-6));
1015
- }
1016
- }
1017
- }
1018
-
1019
- .is-today {
1020
- color: inherit;
1021
- }
1022
- }
1023
- }
1024
- }
1025
-
1026
-
1027
- }
1028
-
1029
- .right-meeting {
1030
- flex-grow: 1;
1031
- background-color: var(--o-color-fill2);
1032
-
1033
- @include respond('phone') {
1034
- margin-top: calc(var(--phone-padding-top) - var(--o-gap-4));
1035
- }
1036
-
1037
- &.is-empty {
1038
- display: flex;
1039
- align-items: center;
1040
- justify-content: center;
1041
- min-height: 600px;
1042
- }
1043
-
1044
- .o-scroller {
1045
- .o-scrollbar-rail {
1046
- right: -16px;
1047
- height: 100%;
1048
- }
1049
- }
1050
-
1051
- .scroller-container {
1052
- height: 100%;
1053
- max-height: calc(var(--layout-left-height, 900px) - 4 * var(--o-gap-5) - var(--header-height) * 1px);
1054
- @include respond('phone') {
1055
- max-height: fit-content;
1056
- }
1057
-
1058
- .act-item {
1059
- padding-left: 24px;
1060
- position: relative;
1061
-
1062
- &.last-item {
1063
- flex-grow: 1;
1064
- }
1065
-
1066
- @include respond('phone') {
1067
- padding-left: var(--o-gap-2);
1068
- }
1069
-
1070
- .act-bar {
1071
- position: absolute;
1072
- left: 0;
1073
- width: 16px;
1074
- top: 0;
1075
- bottom: 0;
1076
- overflow: hidden;
1077
-
1078
- --active-color: var(--o-color-primary1);
1079
-
1080
- &::before {
1081
- content: '';
1082
- width: 2px;
1083
- position: absolute;
1084
- top: 0;
1085
- bottom: 0;
1086
- left: 50%;
1087
- transform: translateX(-50%);
1088
- background-color: var(--o-color-control4);
1089
- }
1090
-
1091
- .act-bar-dot {
1092
- width: 16px;
1093
- height: 26px;
1094
- position: relative;
1095
- @include respond('laptop') {
1096
- height: 24px;
1097
- }
1098
- @include respond('pad_h') {
1099
- height: 22px;
1100
- }
1101
- @include respond('<=pad_v') {
1102
- height: 22px;
1103
- }
1104
-
1105
- &::before,
1106
- &::after {
1107
- content: '';
1108
- border-radius: 50%;
1109
- position: absolute;
1110
- top: 50%;
1111
- left: 50%;
1112
- transform: translateY(-50%) translateX(-50%);
1113
- }
1114
-
1115
- &::before {
1116
- width: 16px;
1117
- height: 16px;
1118
- background-color: transparent;
1119
- }
1120
-
1121
- &::after {
1122
- width: 8px;
1123
- height: 8px;
1124
- background-color: var(--active-color);
1125
- }
1126
- }
1127
-
1128
- &.is-active {
1129
- .act-bar-dot {
1130
- &::before {
1131
- background-color: var(--active-color);
1132
- }
1133
-
1134
- &::after {
1135
- background-color: var(--o-color-fill2);
1136
- }
1137
- }
1138
- }
1139
-
1140
- &.is-end {
1141
- --active-color: rgb(222, 222, 227);
1142
- }
1143
- }
1144
-
1145
- .approved {
1146
- --active-color: var(--o-color-primary1);
1147
- }
1148
-
1149
- .group-title {
1150
- font-weight: 500;
1151
- margin-bottom: var(--o-gap-2);
1152
- color: var(--o-color-info1);
1153
- @include text2;
1154
- @include respond('phone') {
1155
- padding-left: var(--o-gap-5);
1156
- }
1157
-
1158
- &.is-end {
1159
- color: var(--o-color-info3);
1160
- }
1161
- }
1162
- }
1163
- }
1164
- }
1165
-
1166
- .list-body {
1167
- height: 100%;
1168
-
1169
- @include respond('phone') {
1170
- height: fit-content;
1171
- padding: var(--o-gap-4) !important;
1172
- }
1173
-
1174
- .list-month-change {
1175
- flex-shrink: 0;
1176
- display: flex;
1177
- align-items: center;
1178
- gap: var(--o-gap-5);
1179
- cursor: pointer;
1180
- --btn-color: var(--o-color-primary1);
1181
- @include hover {
1182
- --btn-color: var(--o-color-primary2);
1183
- }
1184
- @include respond('phone') {
1185
- display: none;
1186
- }
1187
-
1188
- &.prev-month {
1189
- margin-bottom: var(--o-gap-6);
1190
- }
1191
-
1192
- &.next-month {
1193
- margin-top: var(--o-gap-6);
1194
- padding-bottom: 32px;
1195
- }
1196
-
1197
- .o-icon {
1198
- font-size: 24px;
1199
- color: var(--btn-color);
1200
- }
1201
-
1202
- span {
1203
- color: var(--btn-color);
1204
- @include text1;
1205
- }
1206
- }
1207
-
1208
- .o-collapse {
1209
- padding: 0;
1210
- border-radius: 0;
1211
- height: 100%;
1212
- display: flex;
1213
- flex-direction: column;
1214
-
1215
- .o-collapse-item-expanded + .o-collapse-item-expanded {
1216
- margin-top: var(--o-gap-4);
1217
- }
1218
-
1219
- .height-placeholder {
1220
- height: var(--o-gap-4);
1221
- }
1222
-
1223
- .o-collapse-item {
1224
- padding: var(--o-gap-4) var(--o-gap-5);
1225
- padding-bottom: calc(var(--o-gap-5) - var(--o-gap-4));
1226
- border-top: none;
1227
- border-radius: var(--activity-card-radius);
1228
- transition: margin var(--o-easing-standard) var(--o-duration-s);
1229
- --copy-display: none;
1230
- --icon-size: 24px;
1231
- @include respond('<=pad_v') {
1232
- padding: var(--o-gap-3) var(--o-gap-4);
1233
- }
1234
-
1235
- @include respond('phone') {
1236
- --icon-size: 20px;
1237
- }
1238
-
1239
- &:hover {
1240
- .title-text {
1241
- color: var(--o-color-primary1);
1242
- }
1243
- @include respond('>pad_v') {
1244
- --copy-display: inline-flex;
1245
- }
1246
- }
1247
-
1248
- &.is-delete,
1249
- &.is-end {
1250
-
1251
- .act-title {
1252
- color: var(--o-color-info4);
1253
-
1254
- .title-text {
1255
- color: var(--o-color-info4);
1256
- }
1257
- }
1258
- }
1259
- &.o-collapse-item-expanded {
1260
- border-bottom: none;
1261
- background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
1262
- @include respond('<=pad_v') {
1263
- --copy-display: inline-flex;
1264
- }
1265
-
1266
- .o-collapse-item-header {
1267
- border-bottom: 1px solid var(--o-color-control4);
1268
- }
1269
- }
1270
- }
1271
-
1272
- .o-collapse-item-header {
1273
- border-bottom: none;
1274
- padding-top: 0;
1275
- padding-bottom: var(--o-gap-4);
1276
- display: flex;
1277
- align-items: center;
1278
- gap: var(--o-gap-4);
1279
- position: relative;
1280
-
1281
- .o-collapse-item-icon {
1282
- position: relative;
1283
- top: 4px;
1284
- flex-shrink: 0;
1285
- @include respond('phone') {
1286
- position: absolute;
1287
- right: 0;
1288
- width: 20px;
1289
- height: 20px;
1290
- font-size: 20px;
1291
- bottom: var(--o-gap-2);
1292
- top: revert;
1293
- }
1294
- }
1295
-
1296
-
1297
- .o-collapse-item-title {
1298
- flex: 1;
1299
- width: 0;
1300
- display: flex;
1301
- flex-direction: column;
1302
- align-items: flex-start;
1303
- justify-content: space-between;
1304
- margin-bottom: 0;
1305
-
1306
- .item-header-left {
1307
- display: flex;
1308
- align-items: flex-start;
1309
- gap: var(--o-gap-3);
1310
- width: 100%;
1311
- padding-right: 48px;
1312
- @include respond('phone') {
1313
- flex-grow: 1;
1314
- width: 100%;
1315
- align-self: stretch;
1316
- flex-shrink: 0;
1317
- }
1318
-
1319
- .act-icon {
1320
- width: var(--icon-size);
1321
- height: var(--icon-size);
1322
- border-radius: 50%;
1323
- background-color: rgb(var(--o-cyan-6));
1324
- color: #fff;
1325
- display: flex;
1326
- align-items: center;
1327
- justify-content: center;
1328
- flex-shrink: 0;
1329
-
1330
- .o-icon {
1331
- svg path {
1332
- fill: currentColor;
1333
- }
1334
- }
1335
-
1336
- }
1337
-
1338
- .header-info {
1339
- width: calc(100% - var(--o-gap-3) - var(--icon-size));
1340
-
1341
- .act-title {
1342
- font-weight: 500;
1343
- display: flex;
1344
- align-items: center;
1345
- margin-bottom: var(--o-gap-2);
1346
- @include text2;
1347
-
1348
- &.is-delete,
1349
- &.is-end {
1350
- color: var(--o-color-info3);
1351
- }
1352
-
1353
- .title-text {
1354
- flex: 0 1 auto;
1355
- min-width: 0;
1356
- max-width: 100%;
1357
- @include text-truncate(1);
1358
- }
1359
-
1360
- .o-tag {
1361
- margin-left: 8px;
1362
- --tag-radius: var(--activity-cell-radius);
1363
- font-weight: 500;
1364
- padding: 0 8px;
1365
- height: 24px;
1366
- line-height: 24px !important;
1367
- @include tip1;
1368
-
1369
- .o-tag-label {
1370
- transform: none !important;
1371
- }
1372
-
1373
- &.o-tag-outline {
1374
- --tag-bd-color: transparent;
1375
- --tag-color: #fff;
1376
- }
1377
-
1378
- &.tag-under-review {
1379
- --tag-bg-color: rgb(var(--o-blue-6));
1380
- }
1381
-
1382
- &.tag-draft,
1383
- &.tag-delete,
1384
- &.tag-cancel {
1385
- --tag-color: var(--o-color-info3);
1386
- --tag-bg-color: var(--o-color-control1-light);
1387
- }
1388
-
1389
- &.tag-registration,
1390
- &.tag-in-progress,
1391
- &.tag-ended {
1392
- --tag-bg-color: var(--o-color-success1);
1393
- }
1394
-
1395
- &.tag-reject {
1396
- --tag-bg-color: var(--o-color-warning1);
1397
- }
1398
- }
1399
- }
1400
-
1401
- .act-info {
1402
- color: var(--o-color-info3);
1403
- display: flex;
1404
- align-items: center;
1405
- font-weight: 400;
1406
- @include tip1;
1407
-
1408
- .date-range {
1409
- flex: 0 1 auto;
1410
- min-width: 0;
1411
- @include text-truncate(1);
1412
- }
1413
- }
1414
- }
1415
- }
1416
-
1417
- .item-header-right {
1418
- display: flex;
1419
- align-items: center;
1420
- padding-left: calc(var(--o-gap-3) + var(--icon-size));
1421
- gap: var(--o-gap-4);
1422
- margin-top: var(--o-gap-2);
1423
- width: 100%;
1424
- font-weight: 400;
1425
-
1426
- .o-link {
1427
- font-size: 14px;
1428
- line-height: 21px;
1429
- --link-color: var(--o-color-info2);
1430
- --link-color-hover: var(--o-color-primary2);
1431
- --link-color-active: var(--o-color-primary3);
1432
- }
1433
-
1434
- .o-icon {
1435
- font-size: 16px;
1436
- }
1437
- }
1438
-
1439
- .copy-icon {
1440
- position: absolute;
1441
- top: 50%;
1442
- transform: translateY(-50%);
1443
- right: calc(var(--collapse-item-icon-size) + var(--o-gap-4));
1444
- font-size: 18px;
1445
- height: 18px;
1446
- width: 18px;
1447
- display: var(--copy-display);
1448
- color: var(--o-color-info1);
1449
- @include respond('phone') {
1450
- bottom: var(--o-gap-2);
1451
- transform: revert;
1452
- top: revert;
1453
- right: calc(20px + var(--o-gap-2))
1454
- }
1455
-
1456
- &:hover {
1457
- color: var(--o-color-primary1);
1458
- }
1459
-
1460
-
1461
- svg path {
1462
- fill: currentColor;
1463
- }
1464
- }
1465
- }
1466
-
1467
- }
1468
-
1469
- .o-collapse-item-body {
1470
- margin-bottom: 0;
1471
- padding: var(--o-gap-4) 0 0;
1472
-
1473
- .activity-detail {
1474
- padding-left: calc(var(--o-gap-3) + var(--icon-size));
1475
- @include respond('phone') {
1476
- padding-left: 0;
1477
- }
1478
-
1479
- .activity-btn {
1480
- border-top: 1px solid var(--o-color-control4);
1481
- margin-top: var(--o-gap-5);
1482
- padding-top: var(--o-gap-4);
1483
- display: flex;
1484
- align-items: center;
1485
- justify-content: flex-end;
1486
- gap: var(--o-gap-5);
1487
- }
1488
- }
1489
- }
1490
-
1491
- .o-btn.o-btn-text {
1492
- padding-left: 0 !important;
1493
- padding-right: 0 !important;
1494
- min-width: auto;
1495
- }
1496
-
1497
- .o-btn-text {
1498
- @include hover {
1499
- background-color: transparent;
1500
- color: var(--o-color-primary1);
1501
- }
1502
- }
1503
-
1504
- .o-btn.o-btn-text {
1505
- padding-left: 0 !important;
1506
- padding-right: 0 !important;
1507
- min-width: auto;
1508
- }
1509
- }
1510
-
1511
- .load-text {
1512
- text-align: center;
1513
- color: var(--o-color-info3);
1514
- @include tip1;
1515
- }
1516
- }
1517
- }
1518
-
1519
- </style>
1520
-
1521
- <style lang="scss">
1522
- .handle-dialog-active {
1523
- --activity-card-radius: var(--o-radius-xs);
1524
- width: 450px;
1525
- --dlg-radius: var(--activity-card-radius);
1526
-
1527
- .o-dlg-header {
1528
- margin-bottom: var(--o-gap-5);
1529
- }
1530
-
1531
- .o-dlg-body-content {
1532
- display: flex;
1533
- justify-content: center;
1534
- }
1535
-
1536
- .dialog-content {
1537
- margin-bottom: var(--o-gap-2);
1538
- }
1539
- }
1540
- </style>