@opendesign-plus-test/components 0.0.1-rc.51 → 0.0.1-rc.52
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 +49 -69
- 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/OMeetingCalendar.vue.d.ts +3 -1
- package/dist/components/meeting/OMeetingPlayback.vue.d.ts +50 -1
- package/dist/components/meeting/components/OMeetingPlaybackSubtitles.vue.d.ts +16 -1
- package/dist/components/meeting/composables/useMeetingConfig.d.ts +1 -1
- package/dist/components/meeting/index.d.ts +17 -7
- package/dist/components/meeting/types.d.ts +1 -1
- package/dist/components.cjs.js +43 -43
- package/dist/components.css +1 -1
- package/dist/components.es.js +10946 -11901
- package/dist/index.d.ts +0 -1
- package/package.json +2 -4
- package/src/assets/styles/element-plus.scss +211 -0
- package/src/assets/svg-icons/icon-delete.svg +1 -5
- package/src/components/OHeaderSearch.vue +415 -437
- package/src/components/OThemeSwitcher.vue +51 -27
- package/src/components/activity/OActivityApproval.vue +10 -6
- package/src/components/activity/OActivityForm.vue +12 -6
- package/src/components/activity/{OMyActivityCalendar.vue → OActivityMyCalendar.vue} +59 -28
- 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 +26 -18
- package/src/components/meeting/OMeetingForm.vue +65 -17
- package/src/components/meeting/{OMyMeetingCalendar.vue → OMeetingMyCalendar.vue} +87 -46
- package/src/components/meeting/OMeetingPlayback.vue +42 -12
- package/src/components/meeting/{OSigMeetingCalendar.vue → OMeetingSigCalendar.vue} +7 -4
- package/src/components/meeting/components/OMeetingCalendarList.vue +56 -24
- package/src/components/meeting/components/OMeetingCalendarSelector.vue +12 -9
- package/src/components/meeting/components/OMeetingDetail.vue +1 -1
- package/src/components/meeting/components/OMeetingPlaybackSubtitles.vue +17 -13
- package/src/components/meeting/components/OMeetingPlaybackVideo.vue +6 -6
- package/src/components/meeting/components/{OSigMeetingAside.vue → OMeetingSigAside.vue} +1 -1
- package/src/components/meeting/composables/useMeetingConfig.ts +5 -5
- package/src/components/meeting/config.ts +1 -1
- package/src/components/meeting/index.ts +8 -8
- package/src/components/meeting/types.ts +1 -1
- package/src/i18n/en.ts +2 -12
- package/src/i18n/zh.ts +1 -11
- 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
|
@@ -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,9 +20,8 @@ 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
|
-
import IconMeeting from '~icons/meeting/icon-meet.svg';
|
|
26
25
|
import { INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from './config.ts';
|
|
27
26
|
import { formatDate, getDateNumber } from './utils.ts';
|
|
28
27
|
import { useMeetingConfig } from './composables/useMeetingConfig';
|
|
@@ -40,7 +39,7 @@ const list = ref<MeetingItemT[]>([]); // 列表数据
|
|
|
40
39
|
const originList = ref<MeetingItemT[]>([]); // 原始数据
|
|
41
40
|
const canLoadMore = computed(() => total.value === null || originList.value.length < total.value);
|
|
42
41
|
const reloadAll = ref(false); // 是否需要清空数据
|
|
43
|
-
const { t, locale, getPointStr, getWeekFromDate } = useMeetingConfig();
|
|
42
|
+
const { t, locale, getPointStr, getConfig, getWeekFromDate } = useMeetingConfig();
|
|
44
43
|
const isEn = computed(() => locale.value === Locales.EN);
|
|
45
44
|
|
|
46
45
|
const props = withDefaults(defineProps<{
|
|
@@ -279,7 +278,10 @@ const confirmCancel = async () => {
|
|
|
279
278
|
}
|
|
280
279
|
try {
|
|
281
280
|
dialogLoading.value = true;
|
|
282
|
-
await props.deleteMeetingRequest(currentRow.value.id);
|
|
281
|
+
const flag = await props.deleteMeetingRequest(currentRow.value.id);
|
|
282
|
+
if (typeof flag === 'boolean' && !flag) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
283
285
|
cancelVisible.value = false;
|
|
284
286
|
message.success({
|
|
285
287
|
content: `${ t('meeting.meetingCancel', [currentRow.value.topic]) }`,
|
|
@@ -331,12 +333,13 @@ const confirmHandleItem = async () => {
|
|
|
331
333
|
}
|
|
332
334
|
if (handleDialogType.value === 'cancel') {
|
|
333
335
|
try {
|
|
336
|
+
let flag = undefined;
|
|
334
337
|
dialogLoading.value = true;
|
|
335
338
|
if (handleType.value === 'single' && row.is_cycle) {
|
|
336
339
|
if (!props.cancelSubMeetingRequest) {
|
|
337
340
|
return;
|
|
338
341
|
}
|
|
339
|
-
await props.cancelSubMeetingRequest(row.sub_id);
|
|
342
|
+
flag = await props.cancelSubMeetingRequest(row.sub_id);
|
|
340
343
|
message.success({
|
|
341
344
|
content: `${ t('meeting.meetingCancel', [row.topic]) }`,
|
|
342
345
|
});
|
|
@@ -344,11 +347,14 @@ const confirmHandleItem = async () => {
|
|
|
344
347
|
if (!props.deleteMeetingRequest) {
|
|
345
348
|
return;
|
|
346
349
|
}
|
|
347
|
-
await props.deleteMeetingRequest(row.id);
|
|
350
|
+
flag = await props.deleteMeetingRequest(row.id);
|
|
348
351
|
message.success({
|
|
349
352
|
content: `${ t('meeting.meetingCancel', [row.topic]) }`,
|
|
350
353
|
});
|
|
351
354
|
}
|
|
355
|
+
if (typeof flag === 'boolean' && !flag) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
352
358
|
cancelHandleItem();
|
|
353
359
|
reloadAll.value = true;
|
|
354
360
|
getList();
|
|
@@ -578,6 +584,9 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
578
584
|
expired: dayjs(formatDate()).isAfter(dayjs(data.day)),
|
|
579
585
|
'all-deleted': calcIfAllDeleted(data.day),
|
|
580
586
|
}"
|
|
587
|
+
:style="{
|
|
588
|
+
'--dot-bg': `${getConfig(CalendarDataType.MEETING, 'color')}`
|
|
589
|
+
}"
|
|
581
590
|
>
|
|
582
591
|
<div class="date-cell-text">
|
|
583
592
|
{{ Number(data.day.split('-')[2]) }}
|
|
@@ -634,9 +643,14 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
634
643
|
>
|
|
635
644
|
<template #title>
|
|
636
645
|
<div class="item-header-left">
|
|
637
|
-
<div
|
|
646
|
+
<div
|
|
647
|
+
class="meeting-icon"
|
|
648
|
+
:style="{
|
|
649
|
+
backgroundColor: `${getConfig(CalendarDataType.MEETING, 'color')}`
|
|
650
|
+
}"
|
|
651
|
+
>
|
|
638
652
|
<OIcon>
|
|
639
|
-
<
|
|
653
|
+
<component :is="getConfig(CalendarDataType.MEETING, 'icon')" />
|
|
640
654
|
</OIcon>
|
|
641
655
|
</div>
|
|
642
656
|
<div class="header-info">
|
|
@@ -667,6 +681,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
667
681
|
</div>
|
|
668
682
|
<div class="item-header-right" v-if="!row.is_delete">
|
|
669
683
|
<OLink
|
|
684
|
+
:hover-underline="false"
|
|
670
685
|
v-if="!row.isExpired"
|
|
671
686
|
target="_blank"
|
|
672
687
|
:href="row.join_url"
|
|
@@ -680,7 +695,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
680
695
|
</template>
|
|
681
696
|
</OLink>
|
|
682
697
|
<template v-else>
|
|
683
|
-
<OLink
|
|
698
|
+
<OLink
|
|
699
|
+
:hover-underline="false"
|
|
700
|
+
target="_blank"
|
|
701
|
+
v-if="row.etherpad"
|
|
702
|
+
:href="row.etherpad"
|
|
703
|
+
>
|
|
684
704
|
{{ t('meeting.meetingSummary') }}
|
|
685
705
|
<template #suffix>
|
|
686
706
|
<OIcon>
|
|
@@ -689,6 +709,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
689
709
|
</template>
|
|
690
710
|
</OLink>
|
|
691
711
|
<OLink
|
|
712
|
+
:hover-underline="false"
|
|
692
713
|
target="_blank"
|
|
693
714
|
:href="`/${locale}/video/${row.group_name}/${row.mid}/${row.date}`"
|
|
694
715
|
v-if="row.hasObsData">
|
|
@@ -713,10 +734,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
713
734
|
from="my"
|
|
714
735
|
/>
|
|
715
736
|
<div class="meeting-btn" v-if="!row.isExpired && !row.is_delete">
|
|
716
|
-
<
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
737
|
+
<OButton color="normal" variant="text" @click="handleItem(row, 'edit')">
|
|
738
|
+
{{ t('meeting.editMeeting') }}
|
|
739
|
+
</OButton>
|
|
740
|
+
<OButton color="normal" variant="text" @click="handleItem(row, 'cancel')">
|
|
741
|
+
{{ t('meeting.cancelMeeting') }}
|
|
742
|
+
</OButton>
|
|
720
743
|
</div>
|
|
721
744
|
</div>
|
|
722
745
|
</OCollapseItem>
|
|
@@ -745,7 +768,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
745
768
|
>
|
|
746
769
|
<template #header>
|
|
747
770
|
{{
|
|
748
|
-
t('meeting.meetingHandleText', [handleDialogType === 'edit' ? t('meeting.edit') : t('meeting.
|
|
771
|
+
t('meeting.meetingHandleText', [handleDialogType === 'edit' ? t('meeting.edit') : t('meeting.cancel')])
|
|
749
772
|
}}
|
|
750
773
|
</template>
|
|
751
774
|
<ORadioGroup v-model="handleType">
|
|
@@ -762,6 +785,9 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
762
785
|
|
|
763
786
|
<style lang="scss">
|
|
764
787
|
.o-my-meeting-calendar {
|
|
788
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
789
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
790
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
765
791
|
|
|
766
792
|
.header {
|
|
767
793
|
display: flex;
|
|
@@ -877,7 +903,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
877
903
|
.el-calendar {
|
|
878
904
|
min-height: 460px;
|
|
879
905
|
height: calc(100% - 54px);
|
|
880
|
-
border-radius: var(--
|
|
906
|
+
border-radius: var(--meeting-card-radius);
|
|
881
907
|
background-color: transparent;
|
|
882
908
|
|
|
883
909
|
.el-calendar__header {
|
|
@@ -911,6 +937,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
911
937
|
|
|
912
938
|
.el-calendar__body {
|
|
913
939
|
.el-calendar-table {
|
|
940
|
+
display: table;
|
|
914
941
|
|
|
915
942
|
th {
|
|
916
943
|
text-align: center;
|
|
@@ -947,16 +974,16 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
947
974
|
|
|
948
975
|
.date-cell {
|
|
949
976
|
height: 56px;
|
|
950
|
-
width:
|
|
951
|
-
padding: var(--o-gap-1);
|
|
977
|
+
width: 34px;
|
|
952
978
|
position: relative;
|
|
953
979
|
cursor: default !important;
|
|
954
980
|
|
|
955
981
|
.date-cell-text {
|
|
956
982
|
font-size: 14px;
|
|
957
|
-
line-height:
|
|
958
|
-
border-radius: var(--
|
|
983
|
+
line-height: 34px;
|
|
984
|
+
border-radius: var(--meeting-cell-radius);
|
|
959
985
|
background-color: var(--o-color-control2-light);
|
|
986
|
+
border: 1px solid transparent;
|
|
960
987
|
}
|
|
961
988
|
|
|
962
989
|
.date-cell-text {
|
|
@@ -978,7 +1005,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
978
1005
|
&::after {
|
|
979
1006
|
content: '';
|
|
980
1007
|
position: absolute;
|
|
981
|
-
bottom:
|
|
1008
|
+
bottom: 5px;
|
|
982
1009
|
left: 50%;
|
|
983
1010
|
transform: translateX(-50%);
|
|
984
1011
|
width: 8px;
|
|
@@ -995,14 +1022,14 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
995
1022
|
|
|
996
1023
|
&.is-selected {
|
|
997
1024
|
.date-cell-text {
|
|
998
|
-
color:
|
|
999
|
-
|
|
1025
|
+
background-color: var(--o-color-control3-light);
|
|
1026
|
+
border: 1px solid var(--o-color-primary1);
|
|
1000
1027
|
}
|
|
1001
1028
|
}
|
|
1002
1029
|
|
|
1003
1030
|
&.clickable {
|
|
1004
1031
|
&::after {
|
|
1005
|
-
background-color: var(--
|
|
1032
|
+
background-color: var(--dot-bg);
|
|
1006
1033
|
}
|
|
1007
1034
|
|
|
1008
1035
|
&.expired::after {
|
|
@@ -1035,6 +1062,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1035
1062
|
display: flex;
|
|
1036
1063
|
align-items: center;
|
|
1037
1064
|
justify-content: center;
|
|
1065
|
+
min-height: 600px;
|
|
1038
1066
|
}
|
|
1039
1067
|
|
|
1040
1068
|
|
|
@@ -1207,31 +1235,20 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1207
1235
|
display: flex;
|
|
1208
1236
|
flex-direction: column;
|
|
1209
1237
|
|
|
1210
|
-
.o-collapse-item {
|
|
1211
|
-
&.last-item {
|
|
1212
|
-
.o-collapse-item-header {
|
|
1213
|
-
border-bottom: none;
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
1238
|
.o-collapse-item-expanded + .o-collapse-item-expanded {
|
|
1219
1239
|
margin-top: var(--o-gap-4);
|
|
1220
1240
|
}
|
|
1221
1241
|
|
|
1222
1242
|
.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
1243
|
height: var(--o-gap-4);
|
|
1229
1244
|
}
|
|
1230
1245
|
|
|
1246
|
+
|
|
1231
1247
|
.o-collapse-item {
|
|
1232
1248
|
padding: var(--o-gap-4) var(--o-gap-5);
|
|
1249
|
+
padding-bottom: calc(var(--o-gap-5) - var(--o-gap-4));
|
|
1233
1250
|
border-top: none;
|
|
1234
|
-
border-radius: var(--
|
|
1251
|
+
border-radius: var(--meeting-card-radius);
|
|
1235
1252
|
transition: margin var(--o-easing-standard) var(--o-duration-s);
|
|
1236
1253
|
--copy-display: none;
|
|
1237
1254
|
--icon-size: 24px;
|
|
@@ -1239,30 +1256,42 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1239
1256
|
padding: var(--o-gap-3) var(--o-gap-4);
|
|
1240
1257
|
}
|
|
1241
1258
|
|
|
1259
|
+
@include respond('phone') {
|
|
1260
|
+
--icon-size: 20px;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1242
1263
|
&:hover {
|
|
1264
|
+
.title-text {
|
|
1265
|
+
color: var(--o-color-primary1);
|
|
1266
|
+
}
|
|
1243
1267
|
@include respond('>pad_v') {
|
|
1244
1268
|
--copy-display: inline-flex;
|
|
1245
1269
|
}
|
|
1246
1270
|
}
|
|
1247
1271
|
|
|
1248
|
-
|
|
1249
|
-
|
|
1272
|
+
&.last-item {
|
|
1273
|
+
.o-collapse-item-header {
|
|
1274
|
+
border-bottom: none;
|
|
1275
|
+
}
|
|
1250
1276
|
}
|
|
1251
1277
|
&.o-collapse-item-expanded {
|
|
1278
|
+
border-bottom: none;
|
|
1279
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent) !important;
|
|
1280
|
+
|
|
1252
1281
|
@include respond('<=pad_v') {
|
|
1253
1282
|
--copy-display: inline-flex;
|
|
1254
1283
|
}
|
|
1255
|
-
}
|
|
1256
1284
|
|
|
1257
|
-
|
|
1258
|
-
|
|
1285
|
+
.o-collapse-item-header {
|
|
1286
|
+
border-bottom: 1px solid var(--o-color-control4);
|
|
1287
|
+
}
|
|
1259
1288
|
}
|
|
1260
1289
|
}
|
|
1261
1290
|
|
|
1262
1291
|
.o-collapse-item-header {
|
|
1263
|
-
border-bottom:
|
|
1292
|
+
border-bottom: none;
|
|
1264
1293
|
padding-top: 0;
|
|
1265
|
-
padding-bottom: var(--o-gap-
|
|
1294
|
+
padding-bottom: var(--o-gap-4);
|
|
1266
1295
|
display: flex;
|
|
1267
1296
|
align-items: center;
|
|
1268
1297
|
gap: var(--o-gap-4);
|
|
@@ -1334,7 +1363,11 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1334
1363
|
|
|
1335
1364
|
&.is-delete,
|
|
1336
1365
|
&.is-end {
|
|
1337
|
-
color: var(--o-color-
|
|
1366
|
+
color: var(--o-color-info4);
|
|
1367
|
+
|
|
1368
|
+
.title-text {
|
|
1369
|
+
color: var(--o-color-info4) !important;
|
|
1370
|
+
}
|
|
1338
1371
|
}
|
|
1339
1372
|
|
|
1340
1373
|
.tag-wrapper {
|
|
@@ -1380,10 +1413,12 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1380
1413
|
padding-left: calc(var(--o-gap-3) + var(--icon-size));
|
|
1381
1414
|
gap: var(--o-gap-4);
|
|
1382
1415
|
width: 100%;
|
|
1416
|
+
font-weight: 400;
|
|
1383
1417
|
|
|
1384
1418
|
.o-link {
|
|
1385
1419
|
font-size: 14px;
|
|
1386
1420
|
line-height: 21px;
|
|
1421
|
+
--link-color: var(--o-color-info2);
|
|
1387
1422
|
}
|
|
1388
1423
|
.o-icon {
|
|
1389
1424
|
font-size: 16px;
|
|
@@ -1399,6 +1434,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1399
1434
|
height: 18px;
|
|
1400
1435
|
width: 18px;
|
|
1401
1436
|
display: var(--copy-display);
|
|
1437
|
+
color: var(--o-color-info1);
|
|
1402
1438
|
@include respond('phone') {
|
|
1403
1439
|
bottom: var(--o-gap-2);
|
|
1404
1440
|
right: calc(20px + var(--o-gap-2))
|
|
@@ -1431,10 +1467,15 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1431
1467
|
border-top: 1px solid var(--o-color-control4);
|
|
1432
1468
|
margin-top: var(--o-gap-5);
|
|
1433
1469
|
padding-top: var(--o-gap-4);
|
|
1470
|
+
padding-bottom: var(--o-gap-4);
|
|
1434
1471
|
display: flex;
|
|
1435
1472
|
align-items: center;
|
|
1436
1473
|
justify-content: flex-end;
|
|
1437
1474
|
gap: var(--o-gap-5);
|
|
1475
|
+
|
|
1476
|
+
.o-link {
|
|
1477
|
+
--link-color: inherit;
|
|
1478
|
+
}
|
|
1438
1479
|
}
|
|
1439
1480
|
}
|
|
1440
1481
|
}
|
|
@@ -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';
|
|
@@ -200,10 +200,10 @@ onUnmounted(() => {
|
|
|
200
200
|
/>
|
|
201
201
|
</div>
|
|
202
202
|
<div class="info-wrapper">
|
|
203
|
-
<OTab v-model="tab">
|
|
203
|
+
<OTab v-model="tab" :max-show="9999">
|
|
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="{
|
|
@@ -261,7 +261,12 @@ onUnmounted(() => {
|
|
|
261
261
|
<OMeetingPlaybackSubtitles
|
|
262
262
|
:captions="captionsList"
|
|
263
263
|
:trackIdx="trackIdx"
|
|
264
|
-
:instance="playbackInstance"
|
|
264
|
+
:instance="playbackInstance"
|
|
265
|
+
>
|
|
266
|
+
<template #empty>
|
|
267
|
+
<slot name="empty"></slot>
|
|
268
|
+
</template>
|
|
269
|
+
</OMeetingPlaybackSubtitles>
|
|
265
270
|
</div>
|
|
266
271
|
</div>
|
|
267
272
|
</template>
|
|
@@ -271,15 +276,22 @@ onUnmounted(() => {
|
|
|
271
276
|
display: flex;
|
|
272
277
|
gap: var(--grid-column-gutter);
|
|
273
278
|
align-items: flex-start;
|
|
279
|
+
--meeting-card-radius: var(--o-radius-xs);
|
|
280
|
+
--meeting-input-radius: var(--o-radius-xs);
|
|
281
|
+
--meeting-cell-radius: var(--o-radius-xs);
|
|
274
282
|
|
|
275
283
|
@include respond('<=pad_v') {
|
|
276
284
|
flex-wrap: wrap;
|
|
277
285
|
}
|
|
278
286
|
|
|
279
287
|
.card-wrapper {
|
|
280
|
-
border-radius: var(--
|
|
288
|
+
border-radius: var(--meeting-card-radius);
|
|
281
289
|
background-color: var(--o-color-fill2);
|
|
282
290
|
padding: var(--o-gap-5);
|
|
291
|
+
|
|
292
|
+
&.left-card {
|
|
293
|
+
padding-bottom: 0;
|
|
294
|
+
}
|
|
283
295
|
}
|
|
284
296
|
|
|
285
297
|
.left-card {
|
|
@@ -311,8 +323,10 @@ onUnmounted(() => {
|
|
|
311
323
|
margin-top: var(--o-gap-5);
|
|
312
324
|
|
|
313
325
|
.o-tab {
|
|
314
|
-
|
|
315
|
-
|
|
326
|
+
--tab-nav-justify: flex-start;
|
|
327
|
+
|
|
328
|
+
.o-tab-nav-list {
|
|
329
|
+
width: 100%;
|
|
316
330
|
}
|
|
317
331
|
|
|
318
332
|
.o-tab-nav {
|
|
@@ -325,9 +339,23 @@ onUnmounted(() => {
|
|
|
325
339
|
|
|
326
340
|
.tab-content {
|
|
327
341
|
padding-top: var(--o-gap-4);
|
|
342
|
+
height: 280px;
|
|
343
|
+
padding-bottom: 0;
|
|
344
|
+
position: relative;
|
|
345
|
+
|
|
346
|
+
&::after {
|
|
347
|
+
height: 24px;
|
|
348
|
+
content: '';
|
|
349
|
+
position: absolute;
|
|
350
|
+
bottom: 0;
|
|
351
|
+
left: 0;
|
|
352
|
+
right: 0;
|
|
353
|
+
background: linear-gradient(180deg, rgba(var(--o-grey-1), 0), rgba(var(--o-grey-1), 1) 100%);
|
|
354
|
+
}
|
|
328
355
|
|
|
329
356
|
.base-info {
|
|
330
|
-
|
|
357
|
+
padding-bottom: var(--o-gap-5);
|
|
358
|
+
@include text1;
|
|
331
359
|
|
|
332
360
|
.info-item {
|
|
333
361
|
display: flex;
|
|
@@ -340,6 +368,7 @@ onUnmounted(() => {
|
|
|
340
368
|
span:first-child {
|
|
341
369
|
width: 6em;
|
|
342
370
|
flex-shrink: 0;
|
|
371
|
+
color: var(--o-color-info3);
|
|
343
372
|
}
|
|
344
373
|
|
|
345
374
|
span:last-child {
|
|
@@ -355,6 +384,7 @@ onUnmounted(() => {
|
|
|
355
384
|
.subject-list {
|
|
356
385
|
counter-reset: itemIndex;
|
|
357
386
|
position: relative;
|
|
387
|
+
padding-bottom: var(--o-gap-5);
|
|
358
388
|
|
|
359
389
|
.mouse-current-time {
|
|
360
390
|
position: absolute;
|
|
@@ -362,7 +392,7 @@ onUnmounted(() => {
|
|
|
362
392
|
padding: var(--o-gap-1);
|
|
363
393
|
box-shadow: var(--o-shadow-1);
|
|
364
394
|
z-index: 10;
|
|
365
|
-
border-radius: var(--
|
|
395
|
+
border-radius: var(--meeting-cell-radius);
|
|
366
396
|
transform: translateY(calc(0px - 100% - 4px));
|
|
367
397
|
color: var(--o-color-info2);
|
|
368
398
|
@include tip1;
|
|
@@ -402,7 +432,7 @@ onUnmounted(() => {
|
|
|
402
432
|
right: 0;
|
|
403
433
|
height: 4px;
|
|
404
434
|
border-radius: 2px;
|
|
405
|
-
background-color: var(--o-color-
|
|
435
|
+
background-color: var(--o-color-fill3);
|
|
406
436
|
}
|
|
407
437
|
|
|
408
438
|
.subject-progress {
|
|
@@ -417,7 +447,7 @@ onUnmounted(() => {
|
|
|
417
447
|
position: absolute;
|
|
418
448
|
top: 0;
|
|
419
449
|
bottom: 0;
|
|
420
|
-
border-radius: var(--
|
|
450
|
+
border-radius: var(--meeting-cell-radius);
|
|
421
451
|
left: calc(var(--start) * 100%);
|
|
422
452
|
right: calc((1 - var(--end)) * 100%);
|
|
423
453
|
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';
|
|
@@ -254,7 +254,7 @@ onMounted(() => {
|
|
|
254
254
|
</div>
|
|
255
255
|
</OPopover>
|
|
256
256
|
</div>
|
|
257
|
-
<OTab v-model="tabType" @change="selectTab" :line="false">
|
|
257
|
+
<OTab v-model="tabType" @change="selectTab" :line="false" :max-show="9999">
|
|
258
258
|
<OTabPane v-for="item in meetingTabs.slice(0, -1)" :key="item.value" :value="item.value">
|
|
259
259
|
<template #nav>
|
|
260
260
|
<OIcon>
|
|
@@ -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 {
|