@opendesign-plus/components 0.0.1-rc.31 → 0.0.1-rc.32

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 (29) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +41 -37
  3. package/dist/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +9 -0
  4. package/dist/components/header-language-switcher/index.d.ts +15 -0
  5. package/dist/components/meeting/OMeetingPlayback.vue.d.ts +4 -4
  6. package/dist/components/meeting/OMeetingSigCalendar.vue.d.ts +2 -0
  7. package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
  8. package/dist/components/meeting/index.d.ts +8 -2
  9. package/dist/components/meeting/types.d.ts +2 -0
  10. package/dist/components.cjs.js +38 -38
  11. package/dist/components.css +1 -1
  12. package/dist/components.es.js +8102 -8043
  13. package/package.json +1 -1
  14. package/src/assets/meeting/empty.png +0 -0
  15. package/src/assets/meeting/svg-icons/icon-copy.svg +4 -3
  16. package/src/assets/meeting/svg-icons/icon-empty.svg +65 -31
  17. package/src/components/events/OEventsApply.vue +8 -2
  18. package/src/components/events/OEventsList.vue +1 -3
  19. package/src/components/header-language-switcher/OHeaderLanguageSwitcher.vue +45 -3
  20. package/src/components/meeting/OMeetingCalendar.vue +72 -47
  21. package/src/components/meeting/OMeetingMyCalendar.vue +102 -86
  22. package/src/components/meeting/OMeetingSigCalendar.vue +91 -30
  23. package/src/components/meeting/components/OMeetingCalendarList.vue +18 -1
  24. package/src/components/meeting/components/OMeetingDetail.vue +22 -4
  25. package/src/components/meeting/components/OMeetingSigAside.vue +6 -5
  26. package/src/components/meeting/types.ts +2 -0
  27. package/src/i18n/en.ts +5 -3
  28. package/src/i18n/zh.ts +2 -0
  29. package/src/assets/meeting/svg-icons/icon-empty_dark.svg +0 -49
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendesign-plus/components",
3
- "version": "0.0.1-rc.31",
3
+ "version": "0.0.1-rc.32",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
Binary file
@@ -1,3 +1,4 @@
1
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="30" height="32" viewBox="0 0 30 32">
2
- <path opacity="0.8" fill="#000" d="M12.983 5.523c0.341 0 0.667 0.14 0.902 0.388l6.569 6.917c0.142 0.15 0.243 0.331 0.297 0.526 0.054 0.141 0.085 0.295 0.085 0.457 0 0.108-0.014 0.213-0.040 0.314l-0 13.942c0 1.964-1.592 3.556-3.556 3.556h-13.296c-1.964 0-3.556-1.592-3.556-3.556v-18.987c0-1.964 1.592-3.556 3.556-3.556zM11.528 8.011l-7.582 0.001c-0.589 0-1.067 0.478-1.067 1.067v18.987c0 0.589 0.478 1.067 1.067 1.067h13.296c0.589 0 1.067-0.478 1.067-1.067l-0.002-13.012-3.149 0.002c-1.935 0-3.515-1.547-3.555-3.482l-0.075-3.561zM9.777 24.987c0.491 0 0.889 0.398 0.889 0.889s-0.398 0.889-0.889 0.889h-4.432c-0.491 0-0.889-0.398-0.889-0.889s0.398-0.889 0.889-0.889h4.432zM26.256 0.269c1.964 0 3.556 1.592 3.556 3.556v18.012c0 1.964-1.592 3.556-3.556 3.556h-2.586c-0.687 0-1.244-0.557-1.244-1.244s0.557-1.244 1.244-1.244h2.586c0.589 0 1.067-0.478 1.067-1.067v-18.012c0-0.589-0.478-1.067-1.067-1.067h-13.27c-0.496 0-0.912 0.338-1.032 0.796l-2.514 0.002c0.137-1.838 1.672-3.287 3.546-3.287h13.27zM12.112 21.432c0.491 0 0.889 0.398 0.889 0.889s-0.398 0.889-0.889 0.889h-6.743c-0.491 0-0.889-0.398-0.889-0.889s0.398-0.889 0.889-0.889h6.743zM14.234 17.876c0.491 0 0.889 0.398 0.889 0.889s-0.398 0.889-0.889 0.889h-8.853c-0.491 0-0.889-0.398-0.889-0.889s0.398-0.889 0.889-0.889h8.853zM14.052 9.7l0.039 1.821c0.012 0.58 0.486 1.045 1.066 1.045l1.617-0.002-2.722-2.864z"></path>
3
- </svg>
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
+ <path opacity="0.8" fill="#000"
3
+ d="M8.313 5.002h1.414c0.068-0.256 0.302-0.445 0.58-0.445h7.464c0.331 0 0.6 0.269 0.6 0.6v10.132c0 0.331-0.269 0.6-0.6 0.6h-1.455c-0.387 0-0.7 0.313-0.7 0.7s0.313 0.7 0.7 0.7h1.455c1.104 0 2-0.895 2-2v-10.132c0-1.105-0.895-2-2-2h-7.464c-1.052 0-1.915 0.813-1.994 1.845zM10.303 6.102c0.192 0 0.375 0.079 0.508 0.218l3.695 3.891c0.086 0.091 0.146 0.202 0.174 0.321 0.027 0.074 0.042 0.155 0.042 0.238 0 0.062-0.008 0.122-0.023 0.178v7.833c0 1.105-0.895 2-2 2h-7.479c-1.105 0-2-0.895-2-2v-10.68c0-1.105 0.895-2 2-2h5.084zM9.527 9.512l-0.042-2.010h-4.266c-0.331 0-0.6 0.269-0.6 0.6v10.68c0 0.331 0.269 0.6 0.6 0.6h7.479c0.331 0 0.6-0.269 0.6-0.6l-0.001-7.311h-1.77c-1.089 0-1.977-0.87-2-1.959zM10.905 8.453l0.021 1.030c0.007 0.326 0.273 0.588 0.6 0.588h0.915l-1.536-1.617zM11.506 13.554c0 0.276-0.224 0.5-0.5 0.5h-4.98c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h4.98c0.276 0 0.5 0.224 0.5 0.5zM10.315 15.554c0 0.276-0.224 0.5-0.5 0.5h-3.793c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h3.793c0.276 0 0.5 0.224 0.5 0.5zM9 17.554c0 0.276-0.224 0.5-0.5 0.5h-2.493c-0.276 0-0.5-0.224-0.5-0.5s0.224-0.5 0.5-0.5h2.493c0.276 0 0.5 0.224 0.5 0.5z"></path>
4
+ </svg>
@@ -1,31 +1,65 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="206px" height="180px" viewBox="0 0 206 180" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <defs>
4
- <rect id="path-1" x="0" y="0" width="206" height="180"></rect>
5
- <linearGradient x1="49.999996%" y1="0.000591140195%" x2="49.999996%" y2="60.7008904%" id="linearGradient-3">
6
- <stop stop-color="#01489F" stop-opacity="0.150376967" offset="0%"></stop>
7
- <stop stop-color="#01489F" stop-opacity="0" offset="100%"></stop>
8
- </linearGradient>
9
- </defs>
10
- <g id="会议页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
11
- <g id="在线会议" transform="translate(-1137.000000, -388.000000)">
12
- <g id="编组-63备份-2" transform="translate(260.000000, 247.000000)">
13
- <g id="会议页面-空状态icon" transform="translate(877.000000, 141.000000)">
14
- <mask id="mask-2" fill="white">
15
- <use xlink:href="#path-1"></use>
16
- </mask>
17
- <g id="蒙版"></g>
18
- <path d="M152.867261,131.088856 C195.292055,139.512762 224.857143,158.430303 224.857143,180.416864 L-18.1428571,180.416864 C-18.1428571,158.430303 11.4222311,139.512762 53.8470251,131.088856 C55.178629,133.659964 57.8627129,135.416864 60.9571429,135.416864 L145.757143,135.416864 C148.841601,135.416864 151.518354,133.671269 152.853402,131.114077 Z" id="形状结合" fill="url(#linearGradient-3)" mask="url(#mask-2)"></path>
19
- <path d="M153.763602,79.6449682 L153.763602,127.444968 C153.763602,131.863246 150.18188,135.444968 145.763602,135.444968 L60.9636017,135.444968 C56.5453237,135.444968 52.9636017,131.863246 52.9636017,127.444968 L52.9636017,79.6449682 L153.763602,79.6449682 Z M119.563602,94.9449682 L87.1636017,94.9449682 C85.1753766,94.9449682 83.5636017,96.5567431 83.5636017,98.5449682 C83.5636017,100.533193 85.1753766,102.144968 87.1636017,102.144968 L119.563602,102.144968 C121.551827,102.144968 123.163602,100.533193 123.163602,98.5449682 C123.163602,96.5567431 121.551827,94.9449682 119.563602,94.9449682 Z" id="形状结合备份-2" fill-opacity="0.2" fill="#01489F" mask="url(#mask-2)"></path>
20
- <path d="M141.163602,50.8449682 L153.763602,79.6449682 L141.162602,79.6439682 L141.163602,50.8449682 Z M65.5636017,79.6439682 L52.9636017,79.6449682 L65.5636017,50.8449682 L65.5636017,79.6439682 Z" id="形状结合备份-3" fill-opacity="0.4" fill="#01489F" fill-rule="nonzero" mask="url(#mask-2)"></path>
21
- <rect id="矩形备份-2" fill-opacity="0.304966" fill="#01489F" mask="url(#mask-2)" x="65.5636017" y="50.8449682" width="75.6" height="28.8"></rect>
22
- <polygon id="路径-8备份" fill-opacity="0.2" fill="#01489F" mask="url(#mask-2)" points="91.4067882 34.6162946 97.0636017 31.9398399 76.3636017 19.3449682 78.5179397 39.2574421 84.4501253 36.7740389 88.7670427 41.8449682 88.7670427 35.6102033 79.5991513 23.598583"></polygon>
23
- <path d="M88.9636017,44.5449682 C90.3081532,57.035751 94.7603019,63.2811424 102.320048,63.2811424 C113.659667,63.2811424 116.912645,46.0841419 108.189633,45.9132014 C99.4666199,45.7422608 98.6170728,63.2227824 121.864718,65.7525822 C145.112363,68.2823821 133.790154,84.0662064 126.47837,84.1449682" id="路径-9备份" stroke-opacity="0.2" stroke="#01489F" stroke-width="0.758814333" opacity="0.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="3.035257203238351,3.035257203238351" mask="url(#mask-2)"></path>
24
- <path d="M170.00977,113.438857 C169.189214,114.689001 168.585928,115.440278 168.199914,115.692688 C167.103493,116.409624 166.114657,116.570611 165.444312,116.570611 C163.907778,116.570611 167.074574,116.199929 168.199914,114.944344 C168.95014,114.107288 169.838036,112.840829 170.863602,111.144968 L170.00977,111.144968 L169.066444,112.32939 C168.771686,111.956129 168.390509,111.769498 167.922911,111.769498 C167.221515,111.769498 165.409844,112.077211 164.715955,114.059442 C164.253362,115.380929 163.302578,116.544209 161.863602,117.549284 C163.942681,118.610196 165.962451,118.610196 167.922911,117.549284 C169.883371,116.488372 170.578991,115.11823 170.00977,113.438857 Z" id="路径-14备份" fill-opacity="0.2" fill="#01489F" mask="url(#mask-2)" transform="translate(166.363602, 114.744968) rotate(-3.000000) translate(-166.363602, -114.744968) "></path>
25
- <path d="M46.1120883,65.6592731 C44.7171422,67.8470256 43.6915568,69.1617605 43.035332,69.6034778 C41.1714162,70.8581154 39.4903961,71.1398431 38.350809,71.1398431 C35.7387017,71.1398431 41.1222538,70.4911496 43.035332,68.2938765 C44.3107177,66.8290278 45.8201407,64.6127251 47.5636017,61.6449682 L46.1120883,61.6449682 L44.5084331,63.7177069 C44.0073452,63.0644994 43.3593433,62.7378958 42.5644275,62.7378958 C41.372054,62.7378958 38.292214,63.2763937 37.1126022,66.7452969 C36.3261944,69.0578992 34.709861,71.0936405 32.2636017,72.852521 C35.7980363,74.7091173 39.2316448,74.7091173 42.5644275,72.852521 C45.8972104,70.9959249 47.0797639,68.5981755 46.1120883,65.6592731 Z" id="路径-14备份" fill-opacity="0.2" fill="#01489F" mask="url(#mask-2)" transform="translate(39.913602, 67.944968) rotate(-3.000000) translate(-39.913602, -67.944968) "></path>
26
- <path d="M181.492462,91.7954746 C181.74071,91.7836879 181.951511,91.9753781 181.963297,92.2236266 C182.264298,98.5632654 178.904496,103.441201 171.959805,106.805792 C171.736144,106.914152 171.466988,106.820682 171.358627,106.597021 C171.250267,106.37336 171.343737,106.104204 171.567398,105.995844 C178.206651,102.779232 181.346983,98.2199344 181.06431,92.2663098 C181.052523,92.0180613 181.244213,91.8072612 181.492462,91.7954746 Z" id="路径-6" fill-opacity="0.2" fill="#01489F" mask="url(#mask-2)"></path>
27
- </g>
28
- </g>
29
- </g>
30
- </g>
31
- </svg>
1
+ <svg width="320.000000" height="280.000000" viewBox="0 0 320 280" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <clipPath id="clip832_47109">
4
+ <rect id="空内容" width="320.000000" height="280.000000" fill="white" fill-opacity="0"/>
5
+ </clipPath>
6
+ <linearGradient x1="160.000000" y1="203.999634" x2="160.000000" y2="250.525574" id="paint_linear_832_47113_0" gradientUnits="userSpaceOnUse">
7
+ <stop stop-color="#d3d4d8" stop-opacity="0.200000"/>
8
+ <stop offset="1.000000" stop-color="#d3d4d8" stop-opacity="0.000000"/>
9
+ </linearGradient>
10
+ </defs>
11
+ <g clip-path="url(#clip832_47109)">
12
+ <mask id="mask832_47110" mask-type="alpha" maskUnits="userSpaceOnUse" x="0.000000" y="0.000000" width="320.000000" height="280.000000">
13
+ <rect id="蒙版" width="320.000000" height="280.000000" fill="#D8D8D8" fill-opacity="1.000000"/>
14
+ <rect id="蒙版" x="0.500000" y="0.500000" width="319.000000" height="279.000000" stroke="#979797" stroke-opacity="0" stroke-width="1.000000"/>
15
+ </mask>
16
+ <g mask="url(#mask832_47110)">
17
+ <path id="形状结合" d="M82.5635 204C16.7947 217.145 -29 246.52 -29 280.648L349 280.648C349 246.52 303.205 217.145 237.437 204C235.692 207.917 231.765 210.648 227.2 210.648L92.8 210.648C88.2349 210.648 84.3079 207.917 82.5635 204Z" clip-rule="evenodd" fill="url(#paint_linear_832_47113_0)" fill-opacity="1.000000" fill-rule="evenodd"/>
18
+ </g>
19
+ <g mask="url(#mask832_47110)">
20
+ <g opacity="0.800000">
21
+ <g opacity="0.400000">
22
+ <path id="形状结合备份 2"
23
+ d="M238.41 123.892L81.6099 123.892L81.6099 199.492C81.6099 205.678 86.6243 210.692 92.8098 210.692L227.21 210.692C233.396 210.692 238.41 205.678 238.41 199.492L238.41 123.892ZM185.2 147.692L134.8 147.692C131.707 147.692 129.2 150.2 129.2 153.292C129.2 156.385 131.707 158.892 134.8 158.892L185.2 158.892C188.293 158.892 190.8 156.385 190.8 153.292C190.8 150.2 188.293 147.692 185.2 147.692Z"
24
+ clip-rule="evenodd" fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
25
+ </g>
26
+ <g opacity="0.500000">
27
+ <path id="形状结合备份 3"
28
+ d="M101.21 79.0912L218.81 79.0912L238.41 123.891L218.8 123.891L218.8 79.0925L101.209 79.0925L101.21 79.0912ZM101.2 79.1135L81.6099 123.891L101.2 123.891L101.2 101.492L101.2 79.1135Z"
29
+ clip-rule="evenodd" fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
30
+ </g>
31
+ <g opacity="0.600000">
32
+ <rect id="矩形备份 2" x="101.209961" y="79.092285" width="117.599998" height="44.799999"
33
+ fill="#d3d4d8" fill-opacity="1.000000"/>
34
+ </g>
35
+ <g opacity="0.500000">
36
+ <path id="路径 8备份"
37
+ d="M141.41 53.84L150.21 49.68L118.01 30.09L121.36 61.06L130.58 57.2L137.3 65.09L137.3 55.39L123.04 36.7L141.41 53.84Z"
38
+ fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
39
+ </g>
40
+ <g opacity="0.500000">
41
+ <path id="路径 9备份" d="M137.1 69.36L137.08 69.34C137.05 69.05 137.25 68.79 137.55 68.76C137.84 68.73 138.1 68.93 138.13 69.23L138.12 69.25L137.62 69.31L164.2 97.36C162.45 98.04 160.51 98.43 158.38 98.43C141.01 98.43 137.7 70.16 137.61 69.31L137.1 69.36ZM167.76 95.4C166.68 96.19 165.49 96.85 164.2 97.36L195.59 130.5C195.49 130.6 195.43 130.74 195.43 130.89C195.43 131.19 195.67 131.42 195.97 131.42L195.99 131.4L195.98 130.89C207.36 130.74 224.93 106.21 188.78 102.28C179.4 101.26 172.54 98.67 167.76 95.4ZM167.76 95.4C154.13 86.07 157.47 71.22 167.51 71.42C178.24 71.63 177.32 88.38 167.76 95.4Z" fill="#D8D8D8" fill-opacity="0" fill-rule="evenodd"/>
42
+ <path id="路径 9备份"
43
+ d="M137.61 69.29C137.61 69.29 140.74 98.43 158.38 98.43C176.02 98.43 181.08 71.68 167.51 71.42C153.94 71.15 152.62 98.34 188.78 102.28C224.95 106.21 207.34 130.76 195.96 130.89"
44
+ stroke="#d3d4d8" stroke-opacity="0.800000" stroke-width="1.062340" stroke-linejoin="round"
45
+ stroke-linecap="round" stroke-dasharray="4.24936 4.24936"/>
46
+ </g>
47
+ <g opacity="0.300000">
48
+ <path id="路径-14备份"
49
+ d="M263.56 176.16C262.39 178.17 261.51 179.39 260.94 179.81C259.29 181.01 257.77 181.34 256.73 181.4C254.34 181.52 259.23 180.69 260.87 178.65C261.97 177.29 263.25 175.25 264.7 172.53L263.38 172.6L262.01 174.52C261.52 173.96 260.91 173.7 260.19 173.74C259.1 173.8 256.31 174.42 255.39 177.56C254.78 179.65 253.4 181.53 251.24 183.21C254.56 184.69 257.7 184.52 260.66 182.72C263.62 180.91 264.58 178.72 263.56 176.16Z"
50
+ fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
51
+ </g>
52
+ <g opacity="0.300000">
53
+ <path id="路径-14备份"
54
+ d="M70.75 101.63C68.76 105.14 67.27 107.27 66.29 108.01C63.5 110.11 60.91 110.69 59.14 110.78C55.08 110.99 63.39 109.54 66.18 105.98C68.04 103.6 70.21 100.03 72.68 95.28L70.42 95.4L68.1 98.75C67.27 97.77 66.23 97.32 65 97.38C63.15 97.48 58.41 98.57 56.86 104.05C55.82 107.71 53.48 111 49.82 113.93C55.46 116.53 60.8 116.25 65.82 113.1C70.85 109.94 72.49 106.12 70.75 101.63Z"
55
+ fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
56
+ </g>
57
+ <g opacity="0.300000">
58
+ <path id="路径"
59
+ d="M281.54 142.79C281.93 142.77 282.25 143.07 282.27 143.45C282.74 153.32 277.51 160.9 266.71 166.14C266.36 166.31 265.94 166.16 265.78 165.81C265.61 165.47 265.75 165.05 266.1 164.88C276.43 159.87 281.31 152.78 280.87 143.52C280.85 143.13 281.15 142.81 281.54 142.79Z"
60
+ fill="#d3d4d8" fill-opacity="1.000000" fill-rule="evenodd"/>
61
+ </g>
62
+ </g>
63
+ </g>
64
+ </g>
65
+ </svg>
@@ -221,7 +221,7 @@ defineProps<EventsApplyPropsT>();
221
221
  background-color: var(--o-color-primary1);
222
222
  color: #fff;
223
223
  text-align: center;
224
- font-weight: 400;
224
+ font-weight: 600;
225
225
  @include respond('pad_v') {
226
226
  display: none;
227
227
  }
@@ -438,11 +438,17 @@ defineProps<EventsApplyPropsT>();
438
438
  padding-right: 192px;
439
439
  }
440
440
  @include respond('<=pad_v') {
441
- padding-right: var(--o-gap-4);
441
+ padding-right: 0;
442
442
  }
443
443
 
444
444
  .step-desc {
445
445
  padding-bottom: var(--o-gap-5);
446
+ @include respond('laptop') {
447
+ padding-bottom: var(--o-gap-4);
448
+ }
449
+ @include respond('<=pad') {
450
+ padding-bottom: var(--o-gap-3);
451
+ }
446
452
  }
447
453
 
448
454
  .img-wrapper {
@@ -229,6 +229,7 @@ const list = computed(() => {
229
229
  align-items: center;
230
230
  flex-wrap: wrap;
231
231
  justify-content: space-between;
232
+ gap: var(--o-gap-4);
232
233
 
233
234
  .filter-left {
234
235
  display: flex;
@@ -271,9 +272,6 @@ const list = computed(() => {
271
272
  .o-input {
272
273
  .o-icon-search {
273
274
  font-size: 24px;
274
- @include respond('<=pad_v') {
275
- font-size: 16px;
276
- }
277
275
  }
278
276
  }
279
277
  }
@@ -29,6 +29,10 @@ const props = defineProps({
29
29
  type: Boolean,
30
30
  default: true,
31
31
  },
32
+ disabled: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
32
36
  });
33
37
 
34
38
  const { changeLocale, locale } = useLocale();
@@ -66,12 +70,15 @@ const isCommon = computed(() => {
66
70
  <template>
67
71
  <div
68
72
  v-if="isCommon"
69
- :class="options.length <= 1 ? 'hide-lang' : 'header-lang'"
73
+ :class="[options.length <= 1 ? 'hide-lang' : 'header-lang', disabled ? 'is-disabled' : '']"
70
74
  >
71
75
  <ODropdown
72
76
  trigger="hover"
73
77
  optionPosition="bottom"
74
- option-wrap-class="dropdown"
78
+ :optionWrapClass="{
79
+ 'dropdown':true,
80
+ 'is-disabled': disabled,
81
+ }"
75
82
  >
76
83
  <div class="info-wrap">
77
84
  <OIcon class="icon">
@@ -95,7 +102,7 @@ const isCommon = computed(() => {
95
102
 
96
103
  <div
97
104
  v-else
98
- :class="options.length <= 1 ? 'hide-lang' : 'mobile-change-language'"
105
+ :class="[options.length <= 1 ? 'hide-lang' : 'mobile-change-language', disabled ? 'is-disabled' : '']"
99
106
  >
100
107
  <span
101
108
  v-for="item in options"
@@ -150,6 +157,21 @@ const isCommon = computed(() => {
150
157
  }
151
158
  }
152
159
  }
160
+
161
+ &.is-disabled {
162
+ .info-wrap {
163
+ color: var(--o-color-info4);
164
+ cursor: not-allowed;
165
+
166
+ &:hover {
167
+ color: var(--o-color-info4);
168
+ }
169
+
170
+ .o-icon {
171
+ color: inherit;
172
+ }
173
+ }
174
+ }
153
175
  .list {
154
176
  background: var(--o-color-fill2);
155
177
  cursor: pointer;
@@ -207,5 +229,25 @@ const isCommon = computed(() => {
207
229
  }
208
230
  }
209
231
  }
232
+
233
+ &.is-disabled {
234
+ span {
235
+ color: var(--o-color-info4);
236
+ cursor: not-allowed;
237
+ @include hover {
238
+ color: var(--o-color-info4);
239
+ }
240
+
241
+ &:after {
242
+ color: inherit;
243
+ }
244
+ }
245
+ }
246
+ }
247
+ </style>
248
+
249
+ <style lang="scss">
250
+ .o-dropdown-list.is-disabled {
251
+ display: none;
210
252
  }
211
253
  </style>
@@ -2,10 +2,11 @@
2
2
  import { computed, nextTick, onMounted, ref, watch } from 'vue';
3
3
  import {
4
4
  isClient,
5
+ OFigure,
5
6
  OIcon,
6
7
  OIconChevronLeft,
7
8
  OIconChevronRight,
8
- OOption,
9
+ OOption, OResult,
9
10
  OScroller,
10
11
  OSelect,
11
12
  OTab,
@@ -17,6 +18,7 @@ import OMeetingCalendarList from './components/OMeetingCalendarList.vue';
17
18
  import IconEvent from '~icons/meeting/icon-event.svg';
18
19
  import IconSummit from '~icons/meeting/icon-summit.svg';
19
20
  import IconMeeting from '~icons/meeting/icon-meet.svg';
21
+ import emptyDefaultImg from '@/assets/meeting/empty.png';
20
22
  import { Locales } from '@/i18n';
21
23
  import { useMeetingConfig } from './composables/useMeetingConfig';
22
24
  import {
@@ -41,13 +43,11 @@ const props = withDefaults(defineProps<MeetingCalendarPropsT>(), {
41
43
  const { t, locale, meetingTabs, getConfig } = useMeetingConfig();
42
44
  const isEn = computed(() => locale.value === Locales.EN);
43
45
 
44
- const latestDay = ref<string>('');
45
46
  const dateList = ref<string[]>([]);
46
47
  const summitData = ref<SummitItemT[]>([]);
47
48
  const summitDates = ref<string[]>([]);
48
49
  const eventsData = ref<MeetingEventsItemT[]>([]);
49
50
  const eventsDates = ref<string[]>([]);
50
- const allDates = ref<string[]>([]);
51
51
  const meetingData = ref<MeetingItemT[]>([]);
52
52
  const limitTime = '2021-01-01';
53
53
  const tabType = ref<CalendarDataType>(CalendarDataType.ALL);
@@ -167,25 +167,28 @@ const getDateData = async (day?: string) => {
167
167
  getActivityData(date);
168
168
  getDateList(date);
169
169
 
170
- allDates.value = [...new Set([...dateList.value, ...summitDates.value, ...eventsDates.value])]
171
- .flat()
172
- .sort((a: string, b: string) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
173
- if (!day) {
174
- if (!allDates.value.length) {
175
- latestDay.value = formatDate(new Date());
176
- } else {
177
- let find = [...allDates.value].reverse().find((v) => dayjs().isAfter(dayjs(v)));
178
- if (!find) {
179
- find = allDates.value.find((v) => dayjs(v).isAfter(dayjs()));
180
- }
181
- latestDay.value = formatDate(find);
182
- }
183
- }
184
170
  paramGetDaysData({
185
171
  date: date,
186
172
  type: tabType.value,
187
173
  });
188
174
  };
175
+ const allDates = computed<string[]>(() => {
176
+ return [...new Set([...dateList.value, ...summitDates.value, ...eventsDates.value])]
177
+ .flat()
178
+ .sort((a: string, b: string) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
179
+ });
180
+
181
+ const latestDay = computed(() => {
182
+ if (!allDates.value.length) {
183
+ return formatDate(new Date());
184
+ } else {
185
+ let find = allDates.value.find((v) => dayjs(v).isAfter(dayjs()));
186
+ if (!find) {
187
+ find = [...allDates.value].reverse().find((v) => dayjs().isAfter(dayjs(v)));
188
+ }
189
+ return formatDate(find);
190
+ }
191
+ });
189
192
 
190
193
  const changeMeetingDay = useDebounceFn((day: string, event?: Event) => {
191
194
  if (isAutoClick.value) {
@@ -364,7 +367,7 @@ defineExpose({
364
367
  <div class="detail-list">
365
368
  <div class="current-day">
366
369
  {{ t('meeting.latestMeeting') }}&nbsp;
367
- <span>{{ formatDate(dayjs(currentDay)) }}</span>
370
+ <span>{{ formatDate(dayjs(latestDay)) }}</span>
368
371
  </div>
369
372
  <div class="right-title">
370
373
  <div class="title-list">
@@ -399,7 +402,14 @@ defineExpose({
399
402
  :disableFormat="disableFormat"
400
403
  >
401
404
  <template #empty>
402
- <slot name="empty"></slot>
405
+ <slot name="empty">
406
+ <OResult class="empty-result">
407
+ <template #image>
408
+ <OFigure class="img" :src="emptyImg ?? emptyDefaultImg" />
409
+ </template>
410
+ <template #description>{{ emptyText ?? t('meeting.meetingEmptyText') }}</template>
411
+ </OResult>
412
+ </slot>
403
413
  </template>
404
414
  </OMeetingCalendarList>
405
415
  </OScroller>
@@ -451,7 +461,7 @@ defineExpose({
451
461
  display: flex;
452
462
  align-items: center;
453
463
  justify-content: space-between;
454
- height: 60px;
464
+ height: 58px;
455
465
  padding: 0 var(--o-gap-6);
456
466
  gap: var(--o-gap-6);
457
467
  border-bottom: 1px solid var(--o-color-control4);
@@ -801,24 +811,22 @@ defineExpose({
801
811
  }
802
812
 
803
813
  .title-list {
804
- display: flex;
805
- align-items: center;
806
- justify-content: center;
807
- padding: 14px 24px;
814
+ padding: 16px 0;
808
815
  position: relative;
809
- height: 60px;
816
+ height: 58px;
810
817
 
811
818
  @include respond('<=pad_v') {
812
819
  justify-content: space-between;
813
820
  padding: 0 16px;
814
- gap: 24px;
821
+ gap: var(--o-gap-4);
815
822
  height: auto;
816
823
  align-items: flex-start;
824
+ display: flex;
817
825
  }
818
826
  @include respond('phone') {
819
827
  flex-direction: column;
820
828
  align-items: center;
821
- gap: 8px;
829
+ gap: var(--o-gap-2);
822
830
  }
823
831
 
824
832
  &::after {
@@ -837,6 +845,9 @@ defineExpose({
837
845
  @include respond('<=pad_v') {
838
846
  display: inline-flex;
839
847
  }
848
+ @include respond('pad_v') {
849
+ max-width: 160px;
850
+ }
840
851
  @include respond('phone') {
841
852
  display: flex;
842
853
  width: 100%;
@@ -848,38 +859,30 @@ defineExpose({
848
859
  }
849
860
 
850
861
  .o-tab {
851
- display: flex;
852
- justify-content: center;
853
- align-items: flex-end;
854
- height: 60px;
862
+ --tab-nav-padding: 0 0 16px;
863
+ @include respond('laptop') {
864
+ --tab-nav-padding: 0 0 18px;
865
+ }
855
866
  @include respond('pad_h') {
856
867
  --tab-nav-gap: 24px;
857
- }
858
-
859
- @include respond-to('pad_v') {
860
- --tab-nav-justify: flex-end;
868
+ --tab-nav-padding: 0 0 18px;
861
869
  }
862
870
 
863
- @include respond('pad_v-laptop') {
864
- --tab-nav-padding: 0 0 14px;
865
- }
866
871
  @include respond('<=pad_v') {
867
872
  border-bottom: none;
868
873
  height: auto;
869
874
  .o-icon {
870
875
  display: none;
871
876
  }
872
- .o-tab-navs-container {
873
-
874
- .o-tab-nav {
875
- line-height: 32px;
876
- }
877
- }
878
877
  }
878
+ @include respond-to('pad_v') {
879
+ --tab-nav-justify: flex-end;
880
+ width: 50%;
881
+ --tab-nav-padding: 0 0 14px;
882
+ }
883
+
879
884
  @include respond('phone') {
880
- .o-tab-nav {
881
- line-height: 2;
882
- }
885
+ --tab-nav-padding: 0 0 4px;
883
886
  }
884
887
 
885
888
  .o-icon {
@@ -905,5 +908,27 @@ defineExpose({
905
908
  }
906
909
  }
907
910
  }
911
+
912
+ .empty-result {
913
+ --result-image-width: 240px;
914
+ --result-image-height: 210px;
915
+ --result-desc-gap: var(--o-gap-4);
916
+
917
+ @include respond('laptop') {
918
+ --result-image-width: 200px;
919
+ --result-image-height: 175px;
920
+ --result-desc-gap: var(--o-gap-3);
921
+ }
922
+
923
+ @include respond('<=pad') {
924
+ --result-image-width: 160px;
925
+ --result-image-height: 140px;
926
+ --result-desc-gap: var(--o-gap-2);
927
+ }
928
+
929
+ .o-result-description {
930
+ @include tip1;
931
+ }
932
+ }
908
933
  }
909
934
  </style>