@opendesign-plus-test/components 0.0.1-rc.70 → 0.0.1-rc.71
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 +37 -37
- package/dist/components/meeting/OMeetingSigCalendar.vue.d.ts +2 -0
- package/dist/components/meeting/index.d.ts +6 -0
- package/dist/components/meeting/types.d.ts +2 -0
- package/dist/components.cjs.js +20 -20
- package/dist/components.css +1 -1
- package/dist/components.es.js +2483 -2480
- package/package.json +1 -1
- package/src/components/meeting/OMeetingCalendar.vue +40 -48
- package/src/components/meeting/OMeetingSigCalendar.vue +5 -3
- package/src/components/meeting/types.ts +2 -0
- package/src/i18n/en.ts +3 -3
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, nextTick, onMounted, ref, watch } from 'vue';
|
|
3
3
|
import {
|
|
4
|
-
isClient,
|
|
4
|
+
isClient,
|
|
5
|
+
OFigure,
|
|
5
6
|
OIcon,
|
|
6
7
|
OIconChevronLeft,
|
|
7
8
|
OIconChevronRight,
|
|
@@ -17,7 +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';
|
|
20
|
-
import
|
|
21
|
+
import emptyDefaultImg from '@/assets/meeting/empty.png';
|
|
21
22
|
import { Locales } from '@/i18n';
|
|
22
23
|
import { useMeetingConfig } from './composables/useMeetingConfig';
|
|
23
24
|
import {
|
|
@@ -42,13 +43,11 @@ const props = withDefaults(defineProps<MeetingCalendarPropsT>(), {
|
|
|
42
43
|
const { t, locale, meetingTabs, getConfig } = useMeetingConfig();
|
|
43
44
|
const isEn = computed(() => locale.value === Locales.EN);
|
|
44
45
|
|
|
45
|
-
const latestDay = ref<string>('');
|
|
46
46
|
const dateList = ref<string[]>([]);
|
|
47
47
|
const summitData = ref<SummitItemT[]>([]);
|
|
48
48
|
const summitDates = ref<string[]>([]);
|
|
49
49
|
const eventsData = ref<MeetingEventsItemT[]>([]);
|
|
50
50
|
const eventsDates = ref<string[]>([]);
|
|
51
|
-
const allDates = ref<string[]>([]);
|
|
52
51
|
const meetingData = ref<MeetingItemT[]>([]);
|
|
53
52
|
const limitTime = '2021-01-01';
|
|
54
53
|
const tabType = ref<CalendarDataType>(CalendarDataType.ALL);
|
|
@@ -168,25 +167,28 @@ const getDateData = async (day?: string) => {
|
|
|
168
167
|
getActivityData(date);
|
|
169
168
|
getDateList(date);
|
|
170
169
|
|
|
171
|
-
allDates.value = [...new Set([...dateList.value, ...summitDates.value, ...eventsDates.value])]
|
|
172
|
-
.flat()
|
|
173
|
-
.sort((a: string, b: string) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
|
|
174
|
-
if (!day) {
|
|
175
|
-
if (!allDates.value.length) {
|
|
176
|
-
latestDay.value = formatDate(new Date());
|
|
177
|
-
} else {
|
|
178
|
-
let find = [...allDates.value].reverse().find((v) => dayjs().isAfter(dayjs(v)));
|
|
179
|
-
if (!find) {
|
|
180
|
-
find = allDates.value.find((v) => dayjs(v).isAfter(dayjs()));
|
|
181
|
-
}
|
|
182
|
-
latestDay.value = formatDate(find);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
170
|
paramGetDaysData({
|
|
186
171
|
date: date,
|
|
187
172
|
type: tabType.value,
|
|
188
173
|
});
|
|
189
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
|
+
});
|
|
190
192
|
|
|
191
193
|
const changeMeetingDay = useDebounceFn((day: string, event?: Event) => {
|
|
192
194
|
if (isAutoClick.value) {
|
|
@@ -403,9 +405,9 @@ defineExpose({
|
|
|
403
405
|
<slot name="empty">
|
|
404
406
|
<OResult class="empty-result">
|
|
405
407
|
<template #image>
|
|
406
|
-
<OFigure class="img" :src="emptyImg" />
|
|
408
|
+
<OFigure class="img" :src="emptyImg ?? emptyDefaultImg" />
|
|
407
409
|
</template>
|
|
408
|
-
<template #description>{{ t('meeting.meetingEmptyText') }}</template>
|
|
410
|
+
<template #description>{{ emptyText ?? t('meeting.meetingEmptyText') }}</template>
|
|
409
411
|
</OResult>
|
|
410
412
|
</slot>
|
|
411
413
|
</template>
|
|
@@ -459,7 +461,7 @@ defineExpose({
|
|
|
459
461
|
display: flex;
|
|
460
462
|
align-items: center;
|
|
461
463
|
justify-content: space-between;
|
|
462
|
-
height:
|
|
464
|
+
height: 58px;
|
|
463
465
|
padding: 0 var(--o-gap-6);
|
|
464
466
|
gap: var(--o-gap-6);
|
|
465
467
|
border-bottom: 1px solid var(--o-color-control4);
|
|
@@ -809,24 +811,22 @@ defineExpose({
|
|
|
809
811
|
}
|
|
810
812
|
|
|
811
813
|
.title-list {
|
|
812
|
-
|
|
813
|
-
align-items: center;
|
|
814
|
-
justify-content: center;
|
|
815
|
-
padding: 14px 24px;
|
|
814
|
+
padding: 16px 0;
|
|
816
815
|
position: relative;
|
|
817
|
-
height:
|
|
816
|
+
height: 58px;
|
|
818
817
|
|
|
819
818
|
@include respond('<=pad_v') {
|
|
820
819
|
justify-content: space-between;
|
|
821
820
|
padding: 0 16px;
|
|
822
|
-
gap:
|
|
821
|
+
gap: var(--o-gap-4);
|
|
823
822
|
height: auto;
|
|
824
823
|
align-items: flex-start;
|
|
824
|
+
display: flex;
|
|
825
825
|
}
|
|
826
826
|
@include respond('phone') {
|
|
827
827
|
flex-direction: column;
|
|
828
828
|
align-items: center;
|
|
829
|
-
gap:
|
|
829
|
+
gap: var(--o-gap-2);
|
|
830
830
|
}
|
|
831
831
|
|
|
832
832
|
&::after {
|
|
@@ -859,38 +859,30 @@ defineExpose({
|
|
|
859
859
|
}
|
|
860
860
|
|
|
861
861
|
.o-tab {
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
862
|
+
--tab-nav-padding: 0 0 16px;
|
|
863
|
+
@include respond('laptop') {
|
|
864
|
+
--tab-nav-padding: 0 0 18px;
|
|
865
|
+
}
|
|
866
866
|
@include respond('pad_h') {
|
|
867
867
|
--tab-nav-gap: 24px;
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
@include respond-to('pad_v') {
|
|
871
|
-
--tab-nav-justify: flex-end;
|
|
868
|
+
--tab-nav-padding: 0 0 18px;
|
|
872
869
|
}
|
|
873
870
|
|
|
874
|
-
@include respond('pad_v-laptop') {
|
|
875
|
-
--tab-nav-padding: 0 0 14px;
|
|
876
|
-
}
|
|
877
871
|
@include respond('<=pad_v') {
|
|
878
872
|
border-bottom: none;
|
|
879
873
|
height: auto;
|
|
880
874
|
.o-icon {
|
|
881
875
|
display: none;
|
|
882
876
|
}
|
|
883
|
-
.o-tab-navs-container {
|
|
884
|
-
|
|
885
|
-
.o-tab-nav {
|
|
886
|
-
line-height: 32px;
|
|
887
|
-
}
|
|
888
|
-
}
|
|
889
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
|
+
|
|
890
884
|
@include respond('phone') {
|
|
891
|
-
|
|
892
|
-
line-height: 2;
|
|
893
|
-
}
|
|
885
|
+
--tab-nav-padding: 0 0 4px;
|
|
894
886
|
}
|
|
895
887
|
|
|
896
888
|
.o-icon {
|
|
@@ -20,7 +20,7 @@ import { useScreen } from '@opendesign-plus/composables';
|
|
|
20
20
|
import { useMeetingConfig } from './composables/useMeetingConfig';
|
|
21
21
|
import OMeetingCalendarList from '@/components/meeting/components/OMeetingCalendarList.vue';
|
|
22
22
|
import { formatDate } from '@/components/meeting/utils.ts';
|
|
23
|
-
import
|
|
23
|
+
import emptyDefaultImg from '@/assets/meeting/empty.png';
|
|
24
24
|
|
|
25
25
|
const props = defineProps<{
|
|
26
26
|
sigName: String;
|
|
@@ -28,6 +28,8 @@ const props = defineProps<{
|
|
|
28
28
|
getDateListRequest: any;
|
|
29
29
|
getEventsListRequest: any;
|
|
30
30
|
dates: String[];
|
|
31
|
+
emptyImg?: any;
|
|
32
|
+
emptyText?: string;
|
|
31
33
|
}>();
|
|
32
34
|
const { t, meetingTabs } = useMeetingConfig();
|
|
33
35
|
const { lePadV } = useScreen();
|
|
@@ -331,9 +333,9 @@ const list = computed(() => {
|
|
|
331
333
|
<slot name="empty">
|
|
332
334
|
<OResult class="empty-result">
|
|
333
335
|
<template #image>
|
|
334
|
-
<OFigure class="img" :src="emptyImg" />
|
|
336
|
+
<OFigure class="img" :src="emptyImg ?? emptyDefaultImg" />
|
|
335
337
|
</template>
|
|
336
|
-
<template #description>{{ t('meeting.meetingEmptyText') }}</template>
|
|
338
|
+
<template #description>{{ emptyText ?? t('meeting.meetingEmptyText') }}</template>
|
|
337
339
|
</OResult>
|
|
338
340
|
</slot>
|
|
339
341
|
</template>
|
package/src/i18n/en.ts
CHANGED
|
@@ -78,7 +78,7 @@ export default {
|
|
|
78
78
|
'meeting.meetingGroup': 'Group',
|
|
79
79
|
'meeting.selectSig': 'Select a SIG.',
|
|
80
80
|
'meeting.selectGroup': 'Select a Group.',
|
|
81
|
-
'meeting.enterEtherpad': 'Enter
|
|
81
|
+
'meeting.enterEtherpad': 'Enter Meeting Minutes.',
|
|
82
82
|
'meeting.etherpadDesc': 'A meeting assistant for recording meeting minutes and conversations.',
|
|
83
83
|
'meeting.selectDate': 'Select a date.',
|
|
84
84
|
'meeting.finishMeetingConfig': 'Complete the meeting settings.',
|
|
@@ -150,12 +150,12 @@ export default {
|
|
|
150
150
|
'meeting.eventsTitle': 'Name',
|
|
151
151
|
'meeting.summitTitle': 'Name',
|
|
152
152
|
'meeting.meetingDetail': 'Details',
|
|
153
|
-
'meeting.meetingEtherpad': '
|
|
153
|
+
'meeting.meetingEtherpad': 'Meeting Minutes',
|
|
154
154
|
'meeting.meetingReplay': 'Playback',
|
|
155
155
|
'meeting.searchSubtitlePlaceholder': 'Enter',
|
|
156
156
|
'meeting.detailHalfYearMeetings': '默认显示近半年的会议。',
|
|
157
157
|
'meeting.tencent': 'Tencent',
|
|
158
|
-
'meeting.etherpad': '
|
|
158
|
+
'meeting.etherpad': 'Meeting Minutes',
|
|
159
159
|
'common.confirm': 'Confirm',
|
|
160
160
|
'common.cancel': 'Cancel',
|
|
161
161
|
'common.copySuccess': 'Copied Successfully',
|