@opendesign-plus-test/components 0.0.1-rc.49 → 0.0.1-rc.50
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.
- package/dist/chunk-OElCookieNotice.cjs.js +1 -1
- package/dist/chunk-OElCookieNotice.es.js +48 -68
- package/dist/components/OHeaderSearch.vue.d.ts +534 -814
- package/dist/components/OThemeSwitcher.vue.d.ts +2 -5
- package/dist/components/activity/index.d.ts +2 -2
- package/dist/components/meeting/index.d.ts +3 -3
- package/dist/components.cjs.js +42 -42
- package/dist/components.css +1 -1
- package/dist/components.es.js +10448 -11464
- package/dist/index.d.ts +0 -1
- package/package.json +4 -6
- package/src/assets/styles/element-plus.scss +204 -0
- package/src/assets/svg-icons/icon-delete.svg +1 -5
- package/src/components/OHeaderSearch.vue +415 -436
- package/src/components/OThemeSwitcher.vue +51 -27
- package/src/components/activity/OActivityApproval.vue +10 -6
- package/src/components/activity/OActivityForm.vue +5 -3
- package/src/components/activity/{OMyActivityCalendar.vue → OActivityMyCalendar.vue} +43 -21
- package/src/components/activity/index.ts +4 -4
- package/src/components/events/OEventsApply.vue +2 -1
- package/src/components/events/OEventsCalendar.vue +7 -5
- package/src/components/events/OEventsList.vue +6 -4
- package/src/components/meeting/OMeetingCalendar.vue +15 -12
- package/src/components/meeting/OMeetingForm.vue +16 -10
- package/src/components/meeting/{OMyMeetingCalendar.vue → OMeetingMyCalendar.vue} +73 -38
- package/src/components/meeting/OMeetingPlayback.vue +32 -8
- package/src/components/meeting/{OSigMeetingCalendar.vue → OMeetingSigCalendar.vue} +6 -3
- package/src/components/meeting/components/OMeetingCalendarList.vue +3 -3
- package/src/components/meeting/components/OMeetingCalendarSelector.vue +1 -1
- package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +10 -9
- package/src/components/meeting/components/OMeetingPlaybackVideo.vue +6 -6
- package/src/components/meeting/components/{OSigMeetingAside.vue → OMeetingSigAside.vue} +1 -1
- package/src/components/meeting/config.ts +1 -1
- package/src/components/meeting/index.ts +8 -8
- package/src/i18n/en.ts +2 -12
- package/src/i18n/zh.ts +0 -10
- package/src/index.ts +0 -1
- package/vite.config.ts +1 -5
- package/dist/components/search/OSearchInput.vue.d.ts +0 -1003
- package/dist/components/search/composables/useImageSearch.d.ts +0 -48
- package/dist/components/search/composables/useKeywordHighlight.d.ts +0 -2
- package/dist/components/search/composables/useSearchHistory.d.ts +0 -14
- package/dist/components/search/index.d.ts +0 -590
- package/dist/components/search/internal/HighlightText.vue.d.ts +0 -9
- package/dist/components/search/internal/SearchImageInput.vue.d.ts +0 -716
- package/dist/components/search/internal/SearchPanel.vue.d.ts +0 -100
- package/dist/components/search/types.d.ts +0 -20
- package/src/assets/svg-icons/icon-delete-hover.svg +0 -4
- package/src/assets/svg-icons/icon-image-close.svg +0 -4
- package/src/assets/svg-icons/icon-image-upload.svg +0 -3
- package/src/assets/svg-icons/icon-image-zoomin.svg +0 -3
- package/src/assets/svg-icons/icon-refresh.svg +0 -3
- package/src/components/search/OSearchInput.vue +0 -463
- package/src/components/search/composables/useImageSearch.ts +0 -157
- package/src/components/search/composables/useKeywordHighlight.ts +0 -30
- package/src/components/search/composables/useSearchHistory.ts +0 -75
- package/src/components/search/index.ts +0 -23
- package/src/components/search/internal/HighlightText.vue +0 -37
- package/src/components/search/internal/SearchImageInput.vue +0 -488
- package/src/components/search/internal/SearchPanel.vue +0 -430
- package/src/components/search/types.ts +0 -25
- /package/dist/components/activity/{OMyActivityCalendar.vue.d.ts → OActivityMyCalendar.vue.d.ts} +0 -0
- /package/dist/components/meeting/{OMyMeetingCalendar.vue.d.ts → OMeetingMyCalendar.vue.d.ts} +0 -0
- /package/dist/components/meeting/{OSigMeetingCalendar.vue.d.ts → OMeetingSigCalendar.vue.d.ts} +0 -0
- /package/dist/components/meeting/components/{OSigMeetingAside.vue.d.ts → OMeetingSigAside.vue.d.ts} +0 -0
|
@@ -704,6 +704,9 @@ defineExpose({
|
|
|
704
704
|
|
|
705
705
|
<style lang="scss">
|
|
706
706
|
.o-meeting-form {
|
|
707
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
708
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
709
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
707
710
|
.form-wrapper {
|
|
708
711
|
& > .o-form-item {
|
|
709
712
|
max-width: 592px;
|
|
@@ -733,7 +736,7 @@ defineExpose({
|
|
|
733
736
|
}
|
|
734
737
|
|
|
735
738
|
.o-textarea {
|
|
736
|
-
--_box-radius: var(--
|
|
739
|
+
--_box-radius: var(--meeting-input-radius);
|
|
737
740
|
}
|
|
738
741
|
|
|
739
742
|
input,
|
|
@@ -741,8 +744,17 @@ defineExpose({
|
|
|
741
744
|
color: var(--o-input-color);
|
|
742
745
|
@include text1;
|
|
743
746
|
|
|
747
|
+
@include respond('phone') {
|
|
748
|
+
@include text2;
|
|
749
|
+
}
|
|
750
|
+
|
|
744
751
|
&::placeholder {
|
|
745
752
|
color: var(--o-placeholder-color);
|
|
753
|
+
@include text1;
|
|
754
|
+
|
|
755
|
+
@include respond('phone') {
|
|
756
|
+
font-size: 14px !important;
|
|
757
|
+
}
|
|
746
758
|
}
|
|
747
759
|
}
|
|
748
760
|
|
|
@@ -854,11 +866,8 @@ defineExpose({
|
|
|
854
866
|
align-items: center;
|
|
855
867
|
|
|
856
868
|
.o-btn {
|
|
857
|
-
height: 40px !important;
|
|
858
|
-
font-size: 16px !important;
|
|
859
|
-
line-height: 24px !important;
|
|
860
|
-
border-radius: 20px !important;
|
|
861
869
|
--btn-min-width: 90px;
|
|
870
|
+
--btn-radius: calc(var(--btn-height) / 2);
|
|
862
871
|
}
|
|
863
872
|
}
|
|
864
873
|
|
|
@@ -867,7 +876,7 @@ defineExpose({
|
|
|
867
876
|
display: flex;
|
|
868
877
|
align-items: center;
|
|
869
878
|
border: 1px solid var(--o-color-control1);
|
|
870
|
-
border-radius: var(--
|
|
879
|
+
border-radius: var(--meeting-card-radius);
|
|
871
880
|
padding: 0 15px;
|
|
872
881
|
background-color: var(--o-color-fill2);
|
|
873
882
|
|
|
@@ -899,9 +908,6 @@ defineExpose({
|
|
|
899
908
|
gap: 0;
|
|
900
909
|
}
|
|
901
910
|
|
|
902
|
-
.el-select__placeholder {
|
|
903
|
-
@include text1;
|
|
904
|
-
}
|
|
905
911
|
|
|
906
912
|
.el-select__caret,
|
|
907
913
|
.el-input__prefix-icon {
|
|
@@ -955,7 +961,7 @@ defineExpose({
|
|
|
955
961
|
.repeat-config {
|
|
956
962
|
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
957
963
|
padding: var(--o-gap-5);
|
|
958
|
-
border-radius: var(--
|
|
964
|
+
border-radius: var(--meeting-card-radius);
|
|
959
965
|
@include respond('<=pad_v') {
|
|
960
966
|
padding: var(--o-gap-4);
|
|
961
967
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import {
|
|
3
|
-
DialogActionT,
|
|
3
|
+
DialogActionT, OButton,
|
|
4
4
|
OCollapse,
|
|
5
5
|
OCollapseItem,
|
|
6
6
|
ODialog,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import { ElCalendar } from 'element-plus';
|
|
21
21
|
import { computed, nextTick, onMounted, ref, onUnmounted, watch } from 'vue';
|
|
22
22
|
import OMeetingDetail from './components/OMeetingDetail.vue';
|
|
23
|
-
import { MeetingGroupType, MeetingItemT, PageParamsT } from './types.ts';
|
|
23
|
+
import { CalendarDataType, MeetingGroupType, MeetingItemT, PageParamsT } from './types.ts';
|
|
24
24
|
import dayjs from 'dayjs';
|
|
25
25
|
import IconMeeting from '~icons/meeting/icon-meet.svg';
|
|
26
26
|
import { INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from './config.ts';
|
|
@@ -40,7 +40,7 @@ const list = ref<MeetingItemT[]>([]); // 列表数据
|
|
|
40
40
|
const originList = ref<MeetingItemT[]>([]); // 原始数据
|
|
41
41
|
const canLoadMore = computed(() => total.value === null || originList.value.length < total.value);
|
|
42
42
|
const reloadAll = ref(false); // 是否需要清空数据
|
|
43
|
-
const { t, locale, getPointStr, getWeekFromDate } = useMeetingConfig();
|
|
43
|
+
const { t, locale, getPointStr, getConfig, getWeekFromDate } = useMeetingConfig();
|
|
44
44
|
const isEn = computed(() => locale.value === Locales.EN);
|
|
45
45
|
|
|
46
46
|
const props = withDefaults(defineProps<{
|
|
@@ -578,6 +578,9 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
578
578
|
expired: dayjs(formatDate()).isAfter(dayjs(data.day)),
|
|
579
579
|
'all-deleted': calcIfAllDeleted(data.day),
|
|
580
580
|
}"
|
|
581
|
+
:style="{
|
|
582
|
+
'--dot-bg': `${getConfig(CalendarDataType.MEETING, 'color')}`
|
|
583
|
+
}"
|
|
581
584
|
>
|
|
582
585
|
<div class="date-cell-text">
|
|
583
586
|
{{ Number(data.day.split('-')[2]) }}
|
|
@@ -634,9 +637,14 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
634
637
|
>
|
|
635
638
|
<template #title>
|
|
636
639
|
<div class="item-header-left">
|
|
637
|
-
<div
|
|
640
|
+
<div
|
|
641
|
+
class="meeting-icon"
|
|
642
|
+
:style="{
|
|
643
|
+
backgroundColor: `${getConfig(CalendarDataType.MEETING, 'color')}`
|
|
644
|
+
}"
|
|
645
|
+
>
|
|
638
646
|
<OIcon>
|
|
639
|
-
<
|
|
647
|
+
<component :is="getConfig(CalendarDataType.MEETING, 'icon')" />
|
|
640
648
|
</OIcon>
|
|
641
649
|
</div>
|
|
642
650
|
<div class="header-info">
|
|
@@ -667,6 +675,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
667
675
|
</div>
|
|
668
676
|
<div class="item-header-right" v-if="!row.is_delete">
|
|
669
677
|
<OLink
|
|
678
|
+
:hover-underline="false"
|
|
670
679
|
v-if="!row.isExpired"
|
|
671
680
|
target="_blank"
|
|
672
681
|
:href="row.join_url"
|
|
@@ -680,7 +689,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
680
689
|
</template>
|
|
681
690
|
</OLink>
|
|
682
691
|
<template v-else>
|
|
683
|
-
<OLink
|
|
692
|
+
<OLink
|
|
693
|
+
:hover-underline="false"
|
|
694
|
+
target="_blank"
|
|
695
|
+
v-if="row.etherpad"
|
|
696
|
+
:href="row.etherpad"
|
|
697
|
+
>
|
|
684
698
|
{{ t('meeting.meetingSummary') }}
|
|
685
699
|
<template #suffix>
|
|
686
700
|
<OIcon>
|
|
@@ -689,6 +703,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
689
703
|
</template>
|
|
690
704
|
</OLink>
|
|
691
705
|
<OLink
|
|
706
|
+
:hover-underline="false"
|
|
692
707
|
target="_blank"
|
|
693
708
|
:href="`/${locale}/video/${row.group_name}/${row.mid}/${row.date}`"
|
|
694
709
|
v-if="row.hasObsData">
|
|
@@ -713,10 +728,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
713
728
|
from="my"
|
|
714
729
|
/>
|
|
715
730
|
<div class="meeting-btn" v-if="!row.isExpired && !row.is_delete">
|
|
716
|
-
<
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
731
|
+
<OButton color="normal" variant="text" @click="handleItem(row, 'edit')">
|
|
732
|
+
{{ t('meeting.editMeeting') }}
|
|
733
|
+
</OButton>
|
|
734
|
+
<OButton color="normal" variant="text" @click="handleItem(row, 'cancel')">
|
|
735
|
+
{{ t('meeting.cancelMeeting') }}
|
|
736
|
+
</OButton>
|
|
720
737
|
</div>
|
|
721
738
|
</div>
|
|
722
739
|
</OCollapseItem>
|
|
@@ -745,7 +762,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
745
762
|
>
|
|
746
763
|
<template #header>
|
|
747
764
|
{{
|
|
748
|
-
t('meeting.meetingHandleText', [handleDialogType === 'edit' ? t('meeting.edit') : t('meeting.
|
|
765
|
+
t('meeting.meetingHandleText', [handleDialogType === 'edit' ? t('meeting.edit') : t('meeting.cancel')])
|
|
749
766
|
}}
|
|
750
767
|
</template>
|
|
751
768
|
<ORadioGroup v-model="handleType">
|
|
@@ -762,6 +779,9 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
762
779
|
|
|
763
780
|
<style lang="scss">
|
|
764
781
|
.o-my-meeting-calendar {
|
|
782
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
783
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
784
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
765
785
|
|
|
766
786
|
.header {
|
|
767
787
|
display: flex;
|
|
@@ -877,7 +897,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
877
897
|
.el-calendar {
|
|
878
898
|
min-height: 460px;
|
|
879
899
|
height: calc(100% - 54px);
|
|
880
|
-
border-radius: var(--
|
|
900
|
+
border-radius: var(--meeting-card-radius);
|
|
881
901
|
background-color: transparent;
|
|
882
902
|
|
|
883
903
|
.el-calendar__header {
|
|
@@ -911,6 +931,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
911
931
|
|
|
912
932
|
.el-calendar__body {
|
|
913
933
|
.el-calendar-table {
|
|
934
|
+
display: table;
|
|
914
935
|
|
|
915
936
|
th {
|
|
916
937
|
text-align: center;
|
|
@@ -955,8 +976,9 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
955
976
|
.date-cell-text {
|
|
956
977
|
font-size: 14px;
|
|
957
978
|
line-height: 36px;
|
|
958
|
-
border-radius: var(--
|
|
979
|
+
border-radius: var(--meeting-cell-radius);
|
|
959
980
|
background-color: var(--o-color-control2-light);
|
|
981
|
+
border: 1px solid transparent;
|
|
960
982
|
}
|
|
961
983
|
|
|
962
984
|
.date-cell-text {
|
|
@@ -995,14 +1017,14 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
995
1017
|
|
|
996
1018
|
&.is-selected {
|
|
997
1019
|
.date-cell-text {
|
|
998
|
-
color:
|
|
999
|
-
|
|
1020
|
+
background-color: var(--o-color-control3-light);
|
|
1021
|
+
border: 1px solid var(--o-color-primary1);
|
|
1000
1022
|
}
|
|
1001
1023
|
}
|
|
1002
1024
|
|
|
1003
1025
|
&.clickable {
|
|
1004
1026
|
&::after {
|
|
1005
|
-
background-color: var(--
|
|
1027
|
+
background-color: var(--dot-bg);
|
|
1006
1028
|
}
|
|
1007
1029
|
|
|
1008
1030
|
&.expired::after {
|
|
@@ -1207,31 +1229,20 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1207
1229
|
display: flex;
|
|
1208
1230
|
flex-direction: column;
|
|
1209
1231
|
|
|
1210
|
-
.o-collapse-item {
|
|
1211
|
-
&.last-item {
|
|
1212
|
-
.o-collapse-item-header {
|
|
1213
|
-
border-bottom: none;
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
1232
|
.o-collapse-item-expanded + .o-collapse-item-expanded {
|
|
1219
1233
|
margin-top: var(--o-gap-4);
|
|
1220
1234
|
}
|
|
1221
1235
|
|
|
1222
1236
|
.height-placeholder {
|
|
1223
|
-
height: 0;
|
|
1224
|
-
transition: margin var(--o-easing-standard) var(--o-duration-s);
|
|
1225
|
-
}
|
|
1226
|
-
|
|
1227
|
-
.o-collapse-item-expanded + .height-placeholder {
|
|
1228
1237
|
height: var(--o-gap-4);
|
|
1229
1238
|
}
|
|
1230
1239
|
|
|
1240
|
+
|
|
1231
1241
|
.o-collapse-item {
|
|
1232
1242
|
padding: var(--o-gap-4) var(--o-gap-5);
|
|
1243
|
+
padding-bottom: calc(var(--o-gap-5) - var(--o-gap-4));
|
|
1233
1244
|
border-top: none;
|
|
1234
|
-
border-radius: var(--
|
|
1245
|
+
border-radius: var(--meeting-card-radius);
|
|
1235
1246
|
transition: margin var(--o-easing-standard) var(--o-duration-s);
|
|
1236
1247
|
--copy-display: none;
|
|
1237
1248
|
--icon-size: 24px;
|
|
@@ -1239,30 +1250,42 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1239
1250
|
padding: var(--o-gap-3) var(--o-gap-4);
|
|
1240
1251
|
}
|
|
1241
1252
|
|
|
1253
|
+
@include respond('phone') {
|
|
1254
|
+
--icon-size: 20px;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1242
1257
|
&:hover {
|
|
1258
|
+
.title-text {
|
|
1259
|
+
color: var(--o-color-primary1);
|
|
1260
|
+
}
|
|
1243
1261
|
@include respond('>pad_v') {
|
|
1244
1262
|
--copy-display: inline-flex;
|
|
1245
1263
|
}
|
|
1246
1264
|
}
|
|
1247
1265
|
|
|
1248
|
-
|
|
1249
|
-
|
|
1266
|
+
&.last-item {
|
|
1267
|
+
.o-collapse-item-header {
|
|
1268
|
+
border-bottom: none;
|
|
1269
|
+
}
|
|
1250
1270
|
}
|
|
1251
1271
|
&.o-collapse-item-expanded {
|
|
1272
|
+
border-bottom: none;
|
|
1273
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent) !important;
|
|
1274
|
+
|
|
1252
1275
|
@include respond('<=pad_v') {
|
|
1253
1276
|
--copy-display: inline-flex;
|
|
1254
1277
|
}
|
|
1255
|
-
}
|
|
1256
1278
|
|
|
1257
|
-
|
|
1258
|
-
|
|
1279
|
+
.o-collapse-item-header {
|
|
1280
|
+
border-bottom: 1px solid var(--o-color-control4);
|
|
1281
|
+
}
|
|
1259
1282
|
}
|
|
1260
1283
|
}
|
|
1261
1284
|
|
|
1262
1285
|
.o-collapse-item-header {
|
|
1263
|
-
border-bottom:
|
|
1286
|
+
border-bottom: none;
|
|
1264
1287
|
padding-top: 0;
|
|
1265
|
-
padding-bottom: var(--o-gap-
|
|
1288
|
+
padding-bottom: var(--o-gap-4);
|
|
1266
1289
|
display: flex;
|
|
1267
1290
|
align-items: center;
|
|
1268
1291
|
gap: var(--o-gap-4);
|
|
@@ -1334,7 +1357,11 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1334
1357
|
|
|
1335
1358
|
&.is-delete,
|
|
1336
1359
|
&.is-end {
|
|
1337
|
-
color: var(--o-color-
|
|
1360
|
+
color: var(--o-color-info4);
|
|
1361
|
+
|
|
1362
|
+
.title-text {
|
|
1363
|
+
color: var(--o-color-info4) !important;
|
|
1364
|
+
}
|
|
1338
1365
|
}
|
|
1339
1366
|
|
|
1340
1367
|
.tag-wrapper {
|
|
@@ -1380,10 +1407,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1380
1407
|
padding-left: calc(var(--o-gap-3) + var(--icon-size));
|
|
1381
1408
|
gap: var(--o-gap-4);
|
|
1382
1409
|
width: 100%;
|
|
1410
|
+
font-weight: 400;
|
|
1383
1411
|
|
|
1384
1412
|
.o-link {
|
|
1385
1413
|
font-size: 14px;
|
|
1386
1414
|
line-height: 21px;
|
|
1415
|
+
--link-color: var(--o-color-info2);
|
|
1387
1416
|
}
|
|
1388
1417
|
.o-icon {
|
|
1389
1418
|
font-size: 16px;
|
|
@@ -1399,6 +1428,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1399
1428
|
height: 18px;
|
|
1400
1429
|
width: 18px;
|
|
1401
1430
|
display: var(--copy-display);
|
|
1431
|
+
color: var(--o-color-info1);
|
|
1402
1432
|
@include respond('phone') {
|
|
1403
1433
|
bottom: var(--o-gap-2);
|
|
1404
1434
|
right: calc(20px + var(--o-gap-2))
|
|
@@ -1431,10 +1461,15 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1431
1461
|
border-top: 1px solid var(--o-color-control4);
|
|
1432
1462
|
margin-top: var(--o-gap-5);
|
|
1433
1463
|
padding-top: var(--o-gap-4);
|
|
1464
|
+
padding-bottom: var(--o-gap-4);
|
|
1434
1465
|
display: flex;
|
|
1435
1466
|
align-items: center;
|
|
1436
1467
|
justify-content: flex-end;
|
|
1437
1468
|
gap: var(--o-gap-5);
|
|
1469
|
+
|
|
1470
|
+
.o-link {
|
|
1471
|
+
--link-color: inherit;
|
|
1472
|
+
}
|
|
1438
1473
|
}
|
|
1439
1474
|
}
|
|
1440
1475
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, onMounted, onUnmounted, ref, watchEffect } from 'vue';
|
|
3
3
|
import { speakerNum, transformSeconds, transformTime } from './utils';
|
|
4
|
-
import { OOption, OSelect, OTab, OTabPane, type SelectValueT } from '@opensig/opendesign';
|
|
4
|
+
import { OOption, OScroller, OSelect, OTab, OTabPane, type SelectValueT } from '@opensig/opendesign';
|
|
5
5
|
import OMeetingPlaybackSubtitles from './components/OMeetingPlaybackSubtitles.vue';
|
|
6
6
|
import OMeetingPlaybackVideo from './components/OMeetingPlaybackVideo.vue';
|
|
7
7
|
import { useI18n } from '@/i18n';
|
|
@@ -203,7 +203,7 @@ onUnmounted(() => {
|
|
|
203
203
|
<OTab v-model="tab">
|
|
204
204
|
<OTabPane v-for="t in tabOptions" :key="t.value" :value="t.value" :label="t.label" />
|
|
205
205
|
</OTab>
|
|
206
|
-
<
|
|
206
|
+
<OScroller :class="['tab-content', `tab-content-${tab}`]" show-type="hover">
|
|
207
207
|
<div class="base-info" v-if="tab === tabOptions[0].value">
|
|
208
208
|
<div class="info-item">
|
|
209
209
|
<span>{{ t('meeting.item1') }}</span>
|
|
@@ -252,7 +252,7 @@ onUnmounted(() => {
|
|
|
252
252
|
</div>
|
|
253
253
|
</div>
|
|
254
254
|
</div>
|
|
255
|
-
</
|
|
255
|
+
</OScroller>
|
|
256
256
|
</div>
|
|
257
257
|
</div>
|
|
258
258
|
<div class="right-card card-wrapper" :style="{
|
|
@@ -271,15 +271,22 @@ onUnmounted(() => {
|
|
|
271
271
|
display: flex;
|
|
272
272
|
gap: var(--grid-column-gutter);
|
|
273
273
|
align-items: flex-start;
|
|
274
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
275
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
276
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
274
277
|
|
|
275
278
|
@include respond('<=pad_v') {
|
|
276
279
|
flex-wrap: wrap;
|
|
277
280
|
}
|
|
278
281
|
|
|
279
282
|
.card-wrapper {
|
|
280
|
-
border-radius: var(--
|
|
283
|
+
border-radius: var(--meeting-card-radius);
|
|
281
284
|
background-color: var(--o-color-fill2);
|
|
282
285
|
padding: var(--o-gap-5);
|
|
286
|
+
|
|
287
|
+
&.left-card {
|
|
288
|
+
padding-bottom: 0;
|
|
289
|
+
}
|
|
283
290
|
}
|
|
284
291
|
|
|
285
292
|
.left-card {
|
|
@@ -311,6 +318,7 @@ onUnmounted(() => {
|
|
|
311
318
|
margin-top: var(--o-gap-5);
|
|
312
319
|
|
|
313
320
|
.o-tab {
|
|
321
|
+
--tab-nav-justify: flex-start;
|
|
314
322
|
.o-tab-navs {
|
|
315
323
|
justify-content: flex-start;
|
|
316
324
|
}
|
|
@@ -325,9 +333,23 @@ onUnmounted(() => {
|
|
|
325
333
|
|
|
326
334
|
.tab-content {
|
|
327
335
|
padding-top: var(--o-gap-4);
|
|
336
|
+
height: 280px;
|
|
337
|
+
padding-bottom: 0;
|
|
338
|
+
position: relative;
|
|
339
|
+
|
|
340
|
+
&::after {
|
|
341
|
+
height: 24px;
|
|
342
|
+
content: '';
|
|
343
|
+
position: absolute;
|
|
344
|
+
bottom: 0;
|
|
345
|
+
left: 0;
|
|
346
|
+
right: 0;
|
|
347
|
+
background: linear-gradient(180deg, rgba(var(--o-grey-1), 0), rgba(var(--o-grey-1), 1) 100%);
|
|
348
|
+
}
|
|
328
349
|
|
|
329
350
|
.base-info {
|
|
330
|
-
|
|
351
|
+
padding-bottom: var(--o-gap-5);
|
|
352
|
+
@include text1;
|
|
331
353
|
|
|
332
354
|
.info-item {
|
|
333
355
|
display: flex;
|
|
@@ -340,6 +362,7 @@ onUnmounted(() => {
|
|
|
340
362
|
span:first-child {
|
|
341
363
|
width: 6em;
|
|
342
364
|
flex-shrink: 0;
|
|
365
|
+
color: var(--o-color-info3);
|
|
343
366
|
}
|
|
344
367
|
|
|
345
368
|
span:last-child {
|
|
@@ -355,6 +378,7 @@ onUnmounted(() => {
|
|
|
355
378
|
.subject-list {
|
|
356
379
|
counter-reset: itemIndex;
|
|
357
380
|
position: relative;
|
|
381
|
+
padding-bottom: var(--o-gap-5);
|
|
358
382
|
|
|
359
383
|
.mouse-current-time {
|
|
360
384
|
position: absolute;
|
|
@@ -362,7 +386,7 @@ onUnmounted(() => {
|
|
|
362
386
|
padding: var(--o-gap-1);
|
|
363
387
|
box-shadow: var(--o-shadow-1);
|
|
364
388
|
z-index: 10;
|
|
365
|
-
border-radius: var(--
|
|
389
|
+
border-radius: var(--meeting-cell-radius);
|
|
366
390
|
transform: translateY(calc(0px - 100% - 4px));
|
|
367
391
|
color: var(--o-color-info2);
|
|
368
392
|
@include tip1;
|
|
@@ -402,7 +426,7 @@ onUnmounted(() => {
|
|
|
402
426
|
right: 0;
|
|
403
427
|
height: 4px;
|
|
404
428
|
border-radius: 2px;
|
|
405
|
-
background-color: var(--o-color-
|
|
429
|
+
background-color: var(--o-color-fill3);
|
|
406
430
|
}
|
|
407
431
|
|
|
408
432
|
.subject-progress {
|
|
@@ -417,7 +441,7 @@ onUnmounted(() => {
|
|
|
417
441
|
position: absolute;
|
|
418
442
|
top: 0;
|
|
419
443
|
bottom: 0;
|
|
420
|
-
border-radius: var(--
|
|
444
|
+
border-radius: var(--meeting-cell-radius);
|
|
421
445
|
left: calc(var(--start) * 100%);
|
|
422
446
|
right: calc((1 - var(--end)) * 100%);
|
|
423
447
|
z-index: 9;
|
|
@@ -3,7 +3,7 @@ import { ref, onMounted, computed, nextTick, watch } from 'vue';
|
|
|
3
3
|
import { ODivider, OPopover, OIcon, OTabPane, OTab, OScroller } from '@opensig/opendesign';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
5
|
import IconTips from '~icons/components/icon-tips.svg';
|
|
6
|
-
import
|
|
6
|
+
import OMeetingSigAside from './components/OMeetingSigAside.vue';
|
|
7
7
|
import { CalendarDataType, MeetingEventsItemT, MeetingItemT } from './types.ts';
|
|
8
8
|
import { useScreen } from '@opendesign-plus/composables';
|
|
9
9
|
import { useMeetingConfig } from './composables/useMeetingConfig';
|
|
@@ -281,7 +281,7 @@ onMounted(() => {
|
|
|
281
281
|
<ODivider class="meeting-divider" v-if="!lePadV || (lePadV && dateList.length)" />
|
|
282
282
|
<div class="meeting-card-content">
|
|
283
283
|
<template v-if="!lePadV && monthIdx !== -1">
|
|
284
|
-
<
|
|
284
|
+
<OMeetingSigAside
|
|
285
285
|
:data="dateMapList.slice(monthIdx, monthIdx + 1)"
|
|
286
286
|
:meetingDates="tabType !== CalendarDataType.EVENTS ? meetingDates :[] "
|
|
287
287
|
:eventsDates="tabType !== CalendarDataType.MEETING ? eventsDates : []"
|
|
@@ -308,9 +308,12 @@ onMounted(() => {
|
|
|
308
308
|
|
|
309
309
|
<style lang="scss">
|
|
310
310
|
.o-sig-meeting-calendar {
|
|
311
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
312
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
313
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
311
314
|
width: 100%;
|
|
312
315
|
background-color: var(--o-color-fill2);
|
|
313
|
-
border-radius: var(--
|
|
316
|
+
border-radius: var(--meeting-card-radius);
|
|
314
317
|
margin-top: var(--o-gap-5);
|
|
315
318
|
@include respond('phone') {
|
|
316
319
|
.meeting-card-header {
|
|
@@ -165,8 +165,8 @@ const computedList = computed<any[]>(() => {
|
|
|
165
165
|
<div class="meet-title" :title="item.topic || item.name">
|
|
166
166
|
<OIcon
|
|
167
167
|
:style="{
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
backgroundColor: `${getConfig(item.type, 'color')}`
|
|
169
|
+
}"
|
|
170
170
|
>
|
|
171
171
|
<component :is="getConfig(item.type, 'icon')" />
|
|
172
172
|
</OIcon>
|
|
@@ -389,7 +389,7 @@ const computedList = computed<any[]>(() => {
|
|
|
389
389
|
flex-direction: column;
|
|
390
390
|
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
391
391
|
padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + var(--o-gap-5) - 12px);
|
|
392
|
-
border-radius: var(--
|
|
392
|
+
border-radius: var(--meeting-card-radius);
|
|
393
393
|
@include tip1;
|
|
394
394
|
|
|
395
395
|
@include respond('<=pad_v') {
|
|
@@ -173,7 +173,7 @@ const removeTag = (val: number) => {
|
|
|
173
173
|
justify-content: center;
|
|
174
174
|
background-color: var(--o-color-fill2);
|
|
175
175
|
color: var(--o-color-info1);
|
|
176
|
-
border-radius: var(--
|
|
176
|
+
border-radius: var(--meeting-cell-radius);
|
|
177
177
|
|
|
178
178
|
&:hover,
|
|
179
179
|
&.is-checked {
|
|
@@ -363,7 +363,7 @@ watch(
|
|
|
363
363
|
height: 100%;
|
|
364
364
|
min-height: calc(var(--layout-content-min-height) - 104px);
|
|
365
365
|
background-color: var(--o-color-fill2);
|
|
366
|
-
border-radius: var(--
|
|
366
|
+
border-radius: var(--meeting-card-radius);
|
|
367
367
|
|
|
368
368
|
.search-captions {
|
|
369
369
|
display: flex;
|
|
@@ -371,8 +371,8 @@ watch(
|
|
|
371
371
|
gap: var(--o-gap-4);
|
|
372
372
|
|
|
373
373
|
.input-captions {
|
|
374
|
-
--input-radius: var(--
|
|
375
|
-
--_box-radius: var(--
|
|
374
|
+
--input-radius: var(--meeting-input-radius);
|
|
375
|
+
--_box-radius: var(--meeting-input-radius);
|
|
376
376
|
flex-grow: 1;
|
|
377
377
|
|
|
378
378
|
.o-icon {
|
|
@@ -443,6 +443,7 @@ watch(
|
|
|
443
443
|
.o-tab {
|
|
444
444
|
margin-top: var(--o-gap-5);
|
|
445
445
|
height: calc(100% - 64px);
|
|
446
|
+
--tab-nav-justify: flex-start;
|
|
446
447
|
|
|
447
448
|
.o-tab-navs {
|
|
448
449
|
justify-content: flex-start;
|
|
@@ -456,7 +457,7 @@ watch(
|
|
|
456
457
|
height: calc(100% - var(--o-line_height-text2) - var(--o-gap-4));
|
|
457
458
|
.o-tab-pane {
|
|
458
459
|
height: 100%;
|
|
459
|
-
padding-top: var(--o-gap-
|
|
460
|
+
padding-top: var(--o-gap-5);
|
|
460
461
|
|
|
461
462
|
.o-scroller {
|
|
462
463
|
height: 100%;
|
|
@@ -483,7 +484,7 @@ watch(
|
|
|
483
484
|
.captions-item {
|
|
484
485
|
padding: 4px 8px;
|
|
485
486
|
cursor: pointer;
|
|
486
|
-
border-radius: var(--
|
|
487
|
+
border-radius: var(--meeting-cell-radius);
|
|
487
488
|
@include hover {
|
|
488
489
|
background-color: rgba(var(--o-blue-6), 0.1);
|
|
489
490
|
}
|
|
@@ -500,7 +501,7 @@ watch(
|
|
|
500
501
|
width: 18px;
|
|
501
502
|
height: 18px;
|
|
502
503
|
border-radius: 50%;
|
|
503
|
-
background-color: var(--o-color-
|
|
504
|
+
background-color: var(--o-color-primary1);
|
|
504
505
|
color: var(--o-color-info1-inverse);
|
|
505
506
|
display: flex;
|
|
506
507
|
justify-content: center;
|
|
@@ -509,13 +510,13 @@ watch(
|
|
|
509
510
|
}
|
|
510
511
|
|
|
511
512
|
.speaker {
|
|
512
|
-
color: var(--o-color-
|
|
513
|
+
color: var(--o-color-info3);
|
|
513
514
|
margin-left: 4px;
|
|
514
515
|
@include tip2;
|
|
515
516
|
}
|
|
516
517
|
|
|
517
518
|
.start-time {
|
|
518
|
-
color: var(--o-color-
|
|
519
|
+
color: var(--o-color-info3);
|
|
519
520
|
margin-left: 16px;
|
|
520
521
|
@include tip2;
|
|
521
522
|
}
|
|
@@ -534,7 +535,7 @@ watch(
|
|
|
534
535
|
.text {
|
|
535
536
|
color: var(--o-color-info2);
|
|
536
537
|
margin-top: 8px;
|
|
537
|
-
@include
|
|
538
|
+
@include text1;
|
|
538
539
|
|
|
539
540
|
.light-keyword {
|
|
540
541
|
background-color: rgba(var(--o-blue-6), 0.2);
|
|
@@ -264,7 +264,7 @@ defineExpose({
|
|
|
264
264
|
min-height: calc(var(--layout-content-min-height) - 104px);
|
|
265
265
|
background-color: var(--o-color-fill2);
|
|
266
266
|
position: relative;
|
|
267
|
-
border-radius: var(--
|
|
267
|
+
border-radius: var(--meeting-card-radius);
|
|
268
268
|
overflow: hidden;
|
|
269
269
|
|
|
270
270
|
.video-placeholder {
|
|
@@ -443,7 +443,7 @@ defineExpose({
|
|
|
443
443
|
width: calc(100% + 5em);
|
|
444
444
|
max-height: 22em;
|
|
445
445
|
padding: 8px 16px;
|
|
446
|
-
border-radius: var(--
|
|
446
|
+
border-radius: var(--meeting-cell-radius);
|
|
447
447
|
margin-left: -2.5em;
|
|
448
448
|
background-color: var(--o-color-info2);
|
|
449
449
|
box-shadow: 0 3px 9px 0 rgba(var(--o-kleinblue-10), 0.08);
|
|
@@ -509,7 +509,7 @@ defineExpose({
|
|
|
509
509
|
input {
|
|
510
510
|
order: 1;
|
|
511
511
|
margin-right: 12px;
|
|
512
|
-
border-radius:
|
|
512
|
+
border-radius: var(--meeting-input-radius);
|
|
513
513
|
cursor: inherit;
|
|
514
514
|
position: relative;
|
|
515
515
|
top: -1px;
|
|
@@ -598,7 +598,7 @@ defineExpose({
|
|
|
598
598
|
}
|
|
599
599
|
|
|
600
600
|
.vjs-volume-control {
|
|
601
|
-
border-radius: var(--
|
|
601
|
+
border-radius: var(--meeting-cell-radius);
|
|
602
602
|
background-color: var(--o-color-info2);
|
|
603
603
|
box-shadow: 0 3px 9px 0 rgba(var(--o-kleinblue-10), 0.08);
|
|
604
604
|
backdrop-filter: blur(13.59);
|
|
@@ -647,7 +647,7 @@ defineExpose({
|
|
|
647
647
|
left: 0;
|
|
648
648
|
|
|
649
649
|
div {
|
|
650
|
-
border-radius:
|
|
650
|
+
border-radius: var(--meeting-cell-radius);
|
|
651
651
|
}
|
|
652
652
|
|
|
653
653
|
.vjs-progress-holder {
|
|
@@ -692,7 +692,7 @@ defineExpose({
|
|
|
692
692
|
width: fit-content !important;
|
|
693
693
|
color: var(--o-color-info1-inverse) !important;
|
|
694
694
|
background-color: rgba(0, 0, 0, 0.4) !important;
|
|
695
|
-
border-radius: var(--
|
|
695
|
+
border-radius: var(--meeting-cell-radius);
|
|
696
696
|
display: block !important;
|
|
697
697
|
padding: var(--o-gap-1) var(--o-gap-4);
|
|
698
698
|
@include tip1;
|