@opendesign-plus-test/components 0.0.1-rc.60 → 0.0.1-rc.62
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 +150 -150
- package/dist/components/activity/OActivityApproval.vue.d.ts +8 -8
- package/dist/components/activity/OActivityForm.vue.d.ts +6 -6
- package/dist/components/activity/OActivityMyCalendar.vue.d.ts +2 -2
- package/dist/components/activity/index.d.ts +14 -14
- package/dist/components/banner/OBanner.vue.d.ts +13 -0
- package/dist/components/banner/OBannerContent.vue.d.ts +7 -0
- package/dist/components/banner/index.d.ts +68 -0
- package/dist/components/banner/types.d.ts +31 -0
- package/dist/components/{OPlusConfigProvider.vue.d.ts → config-provider/OPlusConfigProvider.vue.d.ts} +2 -2
- package/dist/components/config-provider/index.d.ts +27 -0
- package/dist/components/cookie-notice/OCookieNotice.vue.d.ts +17 -0
- package/dist/components/cookie-notice/index.d.ts +53 -0
- package/dist/components/{OFooter.vue.d.ts → footer/OFooter.vue.d.ts} +3 -3
- package/dist/components/footer/index.d.ts +89 -0
- package/dist/components/header/OHeaderLanguageSwitcher.vue.d.ts +49 -0
- package/dist/components/{OHeaderSearch.vue.d.ts → header/OHeaderSearch.vue.d.ts} +145 -145
- package/dist/components/header/OHeaderSourceCode.vue.d.ts +18 -0
- package/dist/components/header/OHeaderTheme.vue.d.ts +25 -0
- package/dist/components/{OHeaderUser.vue.d.ts → header/OHeaderUser.vue.d.ts} +6 -6
- package/dist/components/header/index.d.ts +805 -1
- package/dist/components/header/types.d.ts +1 -0
- package/dist/components/meeting/OMeetingForm.vue.d.ts +4 -6
- package/dist/components/meeting/OMeetingMyCalendar.vue.d.ts +2 -2
- package/dist/components/meeting/OMeetingPlayback.vue.d.ts +4 -4
- package/dist/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +1 -1
- package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
- package/dist/components/meeting/index.d.ts +7 -13
- package/dist/components/meeting/types.d.ts +2 -4
- package/dist/components/search/OSearchInput.vue.d.ts +34 -34
- package/dist/components/search/index.d.ts +22 -22
- package/dist/components/search/internal/SearchImageInput.vue.d.ts +21 -21
- package/dist/components/search/internal/SearchPanel.vue.d.ts +1 -1
- package/dist/components/{OSection.vue.d.ts → section/OSection.vue.d.ts} +4 -4
- package/dist/components/section/index.d.ts +47 -0
- package/dist/components.cjs.js +38 -38
- package/dist/components.css +1 -1
- package/dist/components.es.js +16822 -16615
- package/dist/index.d.ts +5 -14
- package/docs/design.md +2 -2
- package/package.json +3 -3
- package/scripts/generate-components-index.js +2 -44
- package/src/components/activity/OActivityMyCalendar.vue +1 -1
- package/src/components/banner/OBanner.vue +288 -0
- package/src/components/banner/OBannerContent.vue +175 -0
- package/src/components/banner/index.ts +18 -0
- package/src/components/banner/types.ts +39 -0
- package/src/components/common/ClientOnly.vue +13 -0
- package/src/components/{OPlusConfigProvider.vue → config-provider/OPlusConfigProvider.vue} +2 -2
- package/src/components/config-provider/index.ts +10 -0
- package/src/components/{OCookieNotice.vue → cookie-notice/OCookieNotice.vue} +1 -1
- package/src/components/cookie-notice/index.ts +10 -0
- package/src/components/element-plus/OElCookieNotice.vue +1 -1
- package/src/components/events/OEventsApply.vue +87 -1
- package/src/components/events/OEventsList.vue +47 -2
- package/src/components/{OFooter.vue → footer/OFooter.vue} +4 -4
- package/src/components/footer/index.ts +10 -0
- package/src/components/header/OHeaderLanguageSwitcher.vue +211 -0
- package/src/components/{OHeaderSearch.vue → header/OHeaderSearch.vue} +5 -5
- package/src/components/{OSourceCode.vue → header/OHeaderSourceCode.vue} +2 -2
- package/src/components/{OThemeSwitcher.vue → header/OHeaderTheme.vue} +4 -4
- package/src/components/{OHeaderUser.vue → header/OHeaderUser.vue} +4 -4
- package/src/components/header/index.ts +38 -1
- package/src/components/header/types.ts +1 -0
- package/src/components/meeting/OMeetingCalendar.vue +23 -4
- package/src/components/meeting/OMeetingForm.vue +21 -13
- package/src/components/meeting/OMeetingMyCalendar.vue +3 -9
- package/src/components/meeting/components/OMeetingCalendarList.vue +7 -2
- package/src/components/meeting/components/OMeetingDetail.vue +17 -3
- package/src/components/meeting/types.ts +2 -4
- package/src/components/search/OSearchInput.vue +1 -1
- package/src/components/{OSection.vue → section/OSection.vue} +1 -1
- package/src/components/section/index.ts +10 -0
- package/src/i18n/en.ts +1 -1
- package/src/i18n/zh.ts +3 -1
- package/src/index.ts +5 -38
- package/dist/components/OBanner.vue.d.ts +0 -11
- package/dist/components/OCookieNotice.vue.d.ts +0 -17
- package/dist/components/OSourceCode.vue.d.ts +0 -18
- package/dist/components/OThemeSwitcher.vue.d.ts +0 -25
- package/src/components/OBanner.vue +0 -398
- package/src/components/common/ClientOnlyWrapper.ts +0 -21
|
@@ -77,13 +77,22 @@ const isAutoClick = ref(false);
|
|
|
77
77
|
const group = ref('');
|
|
78
78
|
const getSummitData = async (date: string) => {
|
|
79
79
|
if (props.getSummitListRequest) {
|
|
80
|
+
summitData.value = [];
|
|
80
81
|
const list = await props.getSummitListRequest(date);
|
|
81
82
|
summitData.value = (list || []).map((v: SummitItemT) => {
|
|
83
|
+
const dates: string[] = [];
|
|
84
|
+
let cur = dayjs(v.start_date);
|
|
85
|
+
const end = dayjs(v.end_date);
|
|
86
|
+
while (!cur.isAfter(end)) {
|
|
87
|
+
dates.push(cur.format('YYYY-MM-DD'));
|
|
88
|
+
cur = cur.add(1, 'day');
|
|
89
|
+
}
|
|
82
90
|
return {
|
|
83
91
|
...v,
|
|
92
|
+
dates,
|
|
84
93
|
type: CalendarDataType.SUMMIT,
|
|
85
|
-
start_date_time: `${ formatDate(v.start_date) } ${ v.start }`,
|
|
86
|
-
end_date_time: `${ formatDate(v.end_date) } ${ v.end }`,
|
|
94
|
+
start_date_time: `${ formatDate(v.start_date) } ${ v.start || '' }`,
|
|
95
|
+
end_date_time: `${ formatDate(v.end_date) } ${ v.end || '' }`,
|
|
87
96
|
};
|
|
88
97
|
});
|
|
89
98
|
} else {
|
|
@@ -92,13 +101,22 @@ const getSummitData = async (date: string) => {
|
|
|
92
101
|
};
|
|
93
102
|
const getActivityData = async (date: string) => {
|
|
94
103
|
if (props.getEventsListRequest) {
|
|
104
|
+
eventsData.value = [];
|
|
95
105
|
const list = await props.getEventsListRequest(date);
|
|
96
106
|
eventsData.value = (list || []).map((v: MeetingEventsItemT) => {
|
|
107
|
+
const dates: string[] = [];
|
|
108
|
+
let cur = dayjs(v.start_date);
|
|
109
|
+
const end = dayjs(v.end_date);
|
|
110
|
+
while (!cur.isAfter(end)) {
|
|
111
|
+
dates.push(cur.format('YYYY-MM-DD'));
|
|
112
|
+
cur = cur.add(1, 'day');
|
|
113
|
+
}
|
|
97
114
|
return {
|
|
98
115
|
...v,
|
|
116
|
+
dates,
|
|
99
117
|
type: CalendarDataType.EVENTS,
|
|
100
|
-
start_date_time: `${ formatDate(v.start_date) } ${ v.start }`,
|
|
101
|
-
end_date_time: `${ formatDate(v.end_date) } ${ v.end }`,
|
|
118
|
+
start_date_time: `${ formatDate(v.start_date) } ${ v.start || '' }`,
|
|
119
|
+
end_date_time: `${ formatDate(v.end_date) } ${ v.end || '' }`,
|
|
102
120
|
};
|
|
103
121
|
});
|
|
104
122
|
} else {
|
|
@@ -132,6 +150,7 @@ const paramGetDaysData = async (params: { date: string; type: string }) => {
|
|
|
132
150
|
return;
|
|
133
151
|
}
|
|
134
152
|
try {
|
|
153
|
+
meetingData.value = [];
|
|
135
154
|
const res: MeetingItemT[] = await props.getMeetingListRequest(params.date, group.value, '');
|
|
136
155
|
meetingData.value = res.map((v) => {
|
|
137
156
|
return {
|
|
@@ -19,7 +19,15 @@ import {
|
|
|
19
19
|
} from '@opensig/opendesign';
|
|
20
20
|
import IconHelp from '~icons/meeting/icon-help.svg';
|
|
21
21
|
import IconTip from '~icons/meeting/icon-tip.svg';
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
CycleSubItemT,
|
|
24
|
+
MeetingFormPropsT,
|
|
25
|
+
MeetingGroupType,
|
|
26
|
+
MeetingItemT,
|
|
27
|
+
MeetingPostT,
|
|
28
|
+
OptionItemT,
|
|
29
|
+
PlatformT,
|
|
30
|
+
} from './types';
|
|
23
31
|
import dayjs from 'dayjs';
|
|
24
32
|
import { findLabelFromOptions, formatDateNumber, getDateNumber } from './utils';
|
|
25
33
|
import { EMAIL_REGEX, INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from './config';
|
|
@@ -31,8 +39,6 @@ import { ValidatorResultT } from '@opensig/opendesign/lib/form/types';
|
|
|
31
39
|
const { t, locale, cycleTypeOptions0, intervalWeekOptions, getPlatformLabel } = useMeetingConfig();
|
|
32
40
|
|
|
33
41
|
const props = withDefaults(defineProps<MeetingFormPropsT>(), {
|
|
34
|
-
isSub: false,
|
|
35
|
-
isEdit: false,
|
|
36
42
|
showBtns: true,
|
|
37
43
|
groupType: MeetingGroupType.SIG,
|
|
38
44
|
});
|
|
@@ -41,6 +47,8 @@ const message = useMessage(null);
|
|
|
41
47
|
const cycleTypeOptions = cycleTypeOptions0;
|
|
42
48
|
const weekOptions = intervalWeekOptions;
|
|
43
49
|
|
|
50
|
+
const isEdit = computed(() => Object.keys(props?.data || {}).length > 0);
|
|
51
|
+
const isSub = computed(() => !!props.subId);
|
|
44
52
|
const intervalTypeMax = computed(() => {
|
|
45
53
|
return findLabelFromOptions(form.value.cycle_type, cycleTypeOptions.value, 'max');
|
|
46
54
|
});
|
|
@@ -202,7 +210,7 @@ const rules = computed<Record<string, RulesT[]>>(() => {
|
|
|
202
210
|
email_list: [
|
|
203
211
|
{
|
|
204
212
|
validator: (value: any) => {
|
|
205
|
-
if (
|
|
213
|
+
if (isEdit.value) {
|
|
206
214
|
return {} as unknown as ValidatorResultT;
|
|
207
215
|
}
|
|
208
216
|
const str = value.replaceAll(' ', '').replaceAll(',', ';') || '';
|
|
@@ -287,7 +295,7 @@ const getPropData = () => {
|
|
|
287
295
|
...(is_cycle
|
|
288
296
|
? {
|
|
289
297
|
date_range: [cycle_start_date, cycle_end_date],
|
|
290
|
-
cycle_point: cycle_point?.map((v) => parseInt(v)) || [],
|
|
298
|
+
cycle_point: cycle_point?.map((v) => parseInt(v as unknown as string)) || [],
|
|
291
299
|
cycle_interval: cycle_interval || 1,
|
|
292
300
|
time: `${ cycle_start }-${ cycle_end }`,
|
|
293
301
|
start: cycle_start,
|
|
@@ -301,13 +309,13 @@ watch(
|
|
|
301
309
|
() => props.data,
|
|
302
310
|
(data) => {
|
|
303
311
|
if (data) {
|
|
304
|
-
const propData = getPropData() as unknown as
|
|
305
|
-
const sub = propData?.cycle_sub?.find((v) => v.sub_id === (props.subId
|
|
312
|
+
const propData = getPropData() as unknown as MeetingItemT;
|
|
313
|
+
const sub = propData?.cycle_sub?.find((v) => v.sub_id === (props.subId)) || {} as unknown as CycleSubItemT;
|
|
306
314
|
const { mid, date, start, end, sub_id } = sub;
|
|
307
315
|
Object.assign(
|
|
308
316
|
form.value,
|
|
309
317
|
propData,
|
|
310
|
-
|
|
318
|
+
isSub.value
|
|
311
319
|
? {
|
|
312
320
|
is_cycle: false,
|
|
313
321
|
mid,
|
|
@@ -368,12 +376,12 @@ const changeIntervalType = () => {
|
|
|
368
376
|
};
|
|
369
377
|
|
|
370
378
|
const changeIsCycle = () => {
|
|
371
|
-
form.value.platform = '
|
|
379
|
+
form.value.platform = typeOptions.value.find(v => (v.value as unknown as string).toLowerCase() === 'welink')?.value as unknown as string || 'WeLink';
|
|
372
380
|
};
|
|
373
381
|
|
|
374
382
|
const { lePadV } = useScreen();
|
|
375
383
|
const confirm = async () => {
|
|
376
|
-
let type =
|
|
384
|
+
let type = isEdit.value ? t('meeting.editSuccess') : t('meeting.booSuccess');
|
|
377
385
|
try {
|
|
378
386
|
loading.value = true;
|
|
379
387
|
const valid = await formRef.value.validate();
|
|
@@ -431,8 +439,8 @@ const confirm = async () => {
|
|
|
431
439
|
end,
|
|
432
440
|
};
|
|
433
441
|
}
|
|
434
|
-
if (
|
|
435
|
-
if (
|
|
442
|
+
if (isEdit.value) {
|
|
443
|
+
if (isSub.value) {
|
|
436
444
|
const { mid, sub_id } = form.value;
|
|
437
445
|
const { date, start, end } = params;
|
|
438
446
|
flag = await props?.editSubMeetingRequest(sub_id, {
|
|
@@ -482,7 +490,7 @@ onMounted(() => {
|
|
|
482
490
|
|
|
483
491
|
const changeSig = (sig: any) => {
|
|
484
492
|
const find = sigOptions.value.find((v) => v.value === sig);
|
|
485
|
-
if (!
|
|
493
|
+
if (!isEdit.value) {
|
|
486
494
|
form.value.etherpad = find?.etherpad || '';
|
|
487
495
|
form.value.email_list = find?.email_list || '';
|
|
488
496
|
}
|
|
@@ -59,10 +59,6 @@ const emits = defineEmits(['edit']);
|
|
|
59
59
|
const nextLoading = ref(false);
|
|
60
60
|
const bottomReached = ref(false);
|
|
61
61
|
const headerRef = ref();
|
|
62
|
-
const headerHeight = ref(0);
|
|
63
|
-
const getHeaderHeight = () => {
|
|
64
|
-
headerHeight.value = headerRef.value?.clientHeight || 0;
|
|
65
|
-
};
|
|
66
62
|
|
|
67
63
|
const getList = async () => {
|
|
68
64
|
if (!props.getMeetingListRequest) {
|
|
@@ -597,7 +593,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
597
593
|
ref="scrollerRef"
|
|
598
594
|
@scrollend="load"
|
|
599
595
|
v-if="list.length"
|
|
600
|
-
:style="{ '--header-height': headerHeight }"
|
|
601
596
|
class="scroller-container"
|
|
602
597
|
show-type="hover"
|
|
603
598
|
>
|
|
@@ -817,7 +812,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
817
812
|
@include respond('phone') {
|
|
818
813
|
flex-direction: column;
|
|
819
814
|
gap: var(--o-gap-3);
|
|
820
|
-
--phone-padding-top:
|
|
815
|
+
--phone-padding-top: 56px;
|
|
821
816
|
}
|
|
822
817
|
|
|
823
818
|
.o-loading {
|
|
@@ -855,9 +850,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
855
850
|
}
|
|
856
851
|
|
|
857
852
|
@include respond('phone') {
|
|
858
|
-
padding-top: var(--o-gap-7);
|
|
859
853
|
background-color: var(--o-color-fill1);
|
|
860
|
-
padding-bottom: var(--o-gap-4);
|
|
861
854
|
display: flex;
|
|
862
855
|
position: fixed;
|
|
863
856
|
height: var(--phone-padding-top);
|
|
@@ -1072,7 +1065,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1072
1065
|
|
|
1073
1066
|
.scroller-container {
|
|
1074
1067
|
height: 100%;
|
|
1075
|
-
max-height: calc(var(--layout-left-height, 900px) - 4 * var(--o-gap-5) - var(--header-height) * 1px);
|
|
1068
|
+
max-height: calc(var(--layout-left-height, 900px) - 4 * var(--o-gap-5) - var(--header-height, 64) * 1px);
|
|
1076
1069
|
|
|
1077
1070
|
@include respond('phone') {
|
|
1078
1071
|
max-height: fit-content;
|
|
@@ -1374,6 +1367,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1374
1367
|
.o-tag {
|
|
1375
1368
|
background-color: var(--o-color-control2-light);
|
|
1376
1369
|
border: none;
|
|
1370
|
+
font-weight: 400;
|
|
1377
1371
|
}
|
|
1378
1372
|
}
|
|
1379
1373
|
|
|
@@ -90,7 +90,11 @@ const computedList = computed<any[]>(() => {
|
|
|
90
90
|
dateRange = `${ formatDate(v.start_date) } ${ v.start }-${ formatDate(v.end_date) } ${ v.end }`;
|
|
91
91
|
}
|
|
92
92
|
} else {
|
|
93
|
-
|
|
93
|
+
if (v.start_date === v.end_date) {
|
|
94
|
+
dateRange = formatDate(v.start_date, 'YYYY/MM/DD');
|
|
95
|
+
} else {
|
|
96
|
+
dateRange = `${ formatDate(v.start_date, 'YYYY/MM/DD') }-${ formatDate(v.end_date, 'YYYY/MM/DD') }`;
|
|
97
|
+
}
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
return {
|
|
@@ -169,7 +173,7 @@ const computedList = computed<any[]>(() => {
|
|
|
169
173
|
<OCollapseItem v-for="(item, index) in computedList" :key="item.id" :value="item.id">
|
|
170
174
|
<template #title>
|
|
171
175
|
<div class="meet-title-left">
|
|
172
|
-
<div class="meet-title" :title="item.topic || item.name">
|
|
176
|
+
<div class="meet-title" :title="item.topic || item.name || item.title">
|
|
173
177
|
<OIcon
|
|
174
178
|
:style="{
|
|
175
179
|
backgroundColor: `${getConfig(item.type, 'color')}`
|
|
@@ -492,6 +496,7 @@ const computedList = computed<any[]>(() => {
|
|
|
492
496
|
.o-tag {
|
|
493
497
|
background-color: var(--o-color-control2-light);
|
|
494
498
|
border: none;
|
|
499
|
+
font-weight: 400;
|
|
495
500
|
}
|
|
496
501
|
}
|
|
497
502
|
|
|
@@ -5,6 +5,7 @@ import { CalendarDataType, MeetingItemT } from '../types.ts';
|
|
|
5
5
|
import MoreText from '@/components/common/MoreText.vue';
|
|
6
6
|
import { formatDate } from '@/components/meeting/utils.ts';
|
|
7
7
|
import { useMeetingConfig } from '../composables/useMeetingConfig';
|
|
8
|
+
import { useI18n } from '@/i18n';
|
|
8
9
|
|
|
9
10
|
const props = defineProps<{
|
|
10
11
|
data: MeetingItemT;
|
|
@@ -13,7 +14,8 @@ const props = defineProps<{
|
|
|
13
14
|
page?: CalendarDataType
|
|
14
15
|
}>();
|
|
15
16
|
const { t, getPlatformLabel } = useMeetingConfig();
|
|
16
|
-
|
|
17
|
+
const { locale } = useI18n();
|
|
18
|
+
const isZh = computed(() => locale.value === 'zh');
|
|
17
19
|
// 会议详情配置
|
|
18
20
|
const infoList = computed(() =>
|
|
19
21
|
[
|
|
@@ -83,11 +85,15 @@ const columns = computed<ColumnItemT[]>(() => {
|
|
|
83
85
|
});
|
|
84
86
|
|
|
85
87
|
const domRef = ref([]);
|
|
88
|
+
const SPLIT_MARK = '|';
|
|
86
89
|
// 复制会议内容
|
|
87
90
|
const copyInfo = () => {
|
|
88
91
|
try {
|
|
89
|
-
|
|
90
|
-
text
|
|
92
|
+
const colon = isZh.value ? ':' : ': ';
|
|
93
|
+
let text = `${ t('meeting.meetingTopic') }${ colon }${ props.data.topic || props.data.name || props.data.title }\n`;
|
|
94
|
+
text += [...domRef.value].reduce((pre, cur: HTMLDivElement) => {
|
|
95
|
+
return `${ pre }${ cur.textContent ? cur.textContent.replace(SPLIT_MARK, colon) : '' }\n`;
|
|
96
|
+
}, '');
|
|
91
97
|
navigator.clipboard.writeText(text);
|
|
92
98
|
return Promise.resolve();
|
|
93
99
|
} catch (e) {
|
|
@@ -114,6 +120,7 @@ defineExpose({ copyInfo });
|
|
|
114
120
|
>
|
|
115
121
|
<template v-if="getField(info.key) && !info.isRecord">
|
|
116
122
|
<span class="label">{{ info.label }}</span>
|
|
123
|
+
<span class="split-mark">{{ SPLIT_MARK }}</span>
|
|
117
124
|
<MoreText :show="show" v-if="info.ellipsis" :text="getField(info.key) || '-'" />
|
|
118
125
|
<OLink
|
|
119
126
|
v-else-if="info.isLink"
|
|
@@ -190,6 +197,13 @@ defineExpose({ copyInfo });
|
|
|
190
197
|
}
|
|
191
198
|
}
|
|
192
199
|
|
|
200
|
+
.split-mark {
|
|
201
|
+
width: 0;
|
|
202
|
+
height: 0;
|
|
203
|
+
opacity: 0;
|
|
204
|
+
overflow: hidden;
|
|
205
|
+
}
|
|
206
|
+
|
|
193
207
|
&.type_events {
|
|
194
208
|
.label {
|
|
195
209
|
width: 6em;
|
|
@@ -37,7 +37,7 @@ export interface OptionItemT {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
export type PlatformT = 'welink' | 'tencent' | 'zoom' | 'WELINK' | 'TENCENT' | 'ZOOM';
|
|
40
|
+
export type PlatformT = 'welink' | 'tencent' | 'zoom' | 'WELINK' | 'TENCENT' | 'ZOOM' | 'WeLink' | 'Tencent';
|
|
41
41
|
|
|
42
42
|
export enum MeetingGroupType {
|
|
43
43
|
SIG = 'sig',
|
|
@@ -63,7 +63,7 @@ export interface MeetingPostT {
|
|
|
63
63
|
topic: string; // 会议主题 128
|
|
64
64
|
sponsor?: string; // 会议发起人 20
|
|
65
65
|
group_name: string; // 所属SIG 64
|
|
66
|
-
platform: PlatformT; // 会议平台
|
|
66
|
+
platform: PlatformT | string; // 会议平台
|
|
67
67
|
date: string; // 会议日期
|
|
68
68
|
date_range?: string[]; // 日期返回
|
|
69
69
|
time: string; // 会议时间
|
|
@@ -88,8 +88,6 @@ export interface MeetingPostT {
|
|
|
88
88
|
|
|
89
89
|
export interface MeetingFormPropsT {
|
|
90
90
|
data?: MeetingItemT;
|
|
91
|
-
isSub?: boolean;
|
|
92
|
-
isEdit?: boolean;
|
|
93
91
|
subId?: string;
|
|
94
92
|
createMeetingRequest: any,
|
|
95
93
|
editMeetingRequest: any;
|
|
@@ -230,7 +230,7 @@ const handleSuggestClick = (item: OSearchRecommendItem) => {
|
|
|
230
230
|
emit('recommend-click', item);
|
|
231
231
|
suppressNextInput = true;
|
|
232
232
|
innerValue.value = item.key;
|
|
233
|
-
runSearch(item.key);
|
|
233
|
+
runSearch(item.key ?? '');
|
|
234
234
|
};
|
|
235
235
|
|
|
236
236
|
const handleOnestepClick = (item: OSearchRecommendItem) => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { isArray, OLink, OIcon } from '@opensig/opendesign';
|
|
3
3
|
import IconChevronRight from '~icons/components/icon-chevron-right.svg';
|
|
4
4
|
|
|
5
|
-
interface SectionPropsT {
|
|
5
|
+
export interface SectionPropsT {
|
|
6
6
|
title?: string | Array<string>;
|
|
7
7
|
subtitle?: string;
|
|
8
8
|
full?: boolean;
|
package/src/i18n/en.ts
CHANGED
|
@@ -146,7 +146,7 @@ export default {
|
|
|
146
146
|
'meeting.groups': 'Groups',
|
|
147
147
|
'meeting.activityAddress': 'Address',
|
|
148
148
|
'meeting.livePlatform': 'Live Platform',
|
|
149
|
-
'meeting.meetingTopic': 'Topics
|
|
149
|
+
'meeting.meetingTopic': 'Topics',
|
|
150
150
|
'meeting.meetingDetail': 'Details',
|
|
151
151
|
'meeting.meetingEtherpad': 'Etherpad',
|
|
152
152
|
'meeting.meetingReplay': 'Playback',
|
package/src/i18n/zh.ts
CHANGED
|
@@ -145,7 +145,7 @@ export default {
|
|
|
145
145
|
'meeting.groups': '工作组',
|
|
146
146
|
'meeting.activityAddress': '活动地点',
|
|
147
147
|
'meeting.livePlatform': '直播平台',
|
|
148
|
-
'meeting.meetingTopic': '
|
|
148
|
+
'meeting.meetingTopic': '会议主题',
|
|
149
149
|
'meeting.meetingDetail': '会议详情',
|
|
150
150
|
'meeting.meetingEtherpad': '会议纪要',
|
|
151
151
|
'meeting.meetingReplay': '智能回放',
|
|
@@ -165,6 +165,8 @@ export default {
|
|
|
165
165
|
'common.more': '更多',
|
|
166
166
|
'cookie.desc': '我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。',
|
|
167
167
|
'cookie.about': '查看详情',
|
|
168
|
+
'cookie.acceptAll': '全部接受',
|
|
169
|
+
'cookie.saveSetting': '保存设置',
|
|
168
170
|
'meeting.create': '创建',
|
|
169
171
|
'meeting.createMeeting': '创建会议',
|
|
170
172
|
'meeting.createActivity': '创建活动',
|
package/src/index.ts
CHANGED
|
@@ -1,46 +1,13 @@
|
|
|
1
1
|
// OpenDesignPlus Components 库入口文件
|
|
2
2
|
// 此文件由 scripts/generate-components-index.js 自动生成
|
|
3
|
-
|
|
4
|
-
import OBanner from './components/OBanner.vue';
|
|
5
|
-
import OCookieNotice from './components/OCookieNotice.vue';
|
|
6
|
-
import OFooter from './components/OFooter.vue';
|
|
7
|
-
import OHeaderSearch from './components/OHeaderSearch.vue';
|
|
8
|
-
import OHeaderUser from './components/OHeaderUser.vue';
|
|
9
|
-
import OPlusConfigProvider from './components/OPlusConfigProvider.vue';
|
|
10
|
-
import OSection from './components/OSection.vue';
|
|
11
|
-
import OSourceCode from './components/OSourceCode.vue';
|
|
12
|
-
import OThemeSwitcher from './components/OThemeSwitcher.vue';
|
|
13
|
-
|
|
14
|
-
// 导出组件
|
|
15
|
-
const components = {
|
|
16
|
-
OBanner,
|
|
17
|
-
OCookieNotice,
|
|
18
|
-
OFooter,
|
|
19
|
-
OHeaderSearch,
|
|
20
|
-
OHeaderUser,
|
|
21
|
-
OPlusConfigProvider,
|
|
22
|
-
OSection,
|
|
23
|
-
OSourceCode,
|
|
24
|
-
OThemeSwitcher
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// 导出单个组件
|
|
28
|
-
export { OBanner, OCookieNotice, OFooter, OHeaderSearch, OHeaderUser, OPlusConfigProvider, OSection, OSourceCode, OThemeSwitcher };
|
|
29
|
-
|
|
30
|
-
// 重新导出子目录中的组件
|
|
31
3
|
export * from './components/activity';
|
|
4
|
+
export * from './components/banner';
|
|
5
|
+
export * from './components/config-provider';
|
|
6
|
+
export * from './components/cookie-notice';
|
|
32
7
|
export * from './components/element-plus';
|
|
33
8
|
export * from './components/events';
|
|
9
|
+
export * from './components/footer';
|
|
34
10
|
export * from './components/header';
|
|
35
11
|
export * from './components/meeting';
|
|
36
12
|
export * from './components/search';
|
|
37
|
-
|
|
38
|
-
// 默认导出(用于Vue插件安装)
|
|
39
|
-
export default {
|
|
40
|
-
install: (app: any) => {
|
|
41
|
-
// 注册所有组件
|
|
42
|
-
Object.entries(components).forEach(([name, component]) => {
|
|
43
|
-
app.component(name, component);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
};
|
|
13
|
+
export * from './components/section';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
type __VLS_Props = {
|
|
2
|
-
options: any;
|
|
3
|
-
size: string;
|
|
4
|
-
contentJustifyCenter: boolean;
|
|
5
|
-
};
|
|
6
|
-
declare const _default: import('../../vue/dist/vue.esm-bundler.js').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {}, string, import('../../vue/dist/vue.esm-bundler.js').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
7
|
-
options: any;
|
|
8
|
-
size: string;
|
|
9
|
-
contentJustifyCenter: boolean;
|
|
10
|
-
}, {}, {}, {}, string, import('../../vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
11
|
-
export default _default;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
type __VLS_Props = {
|
|
2
|
-
visible?: boolean;
|
|
3
|
-
community: string;
|
|
4
|
-
detailUrl: string;
|
|
5
|
-
wrapper?: string | HTMLElement;
|
|
6
|
-
cookieDomain: string;
|
|
7
|
-
};
|
|
8
|
-
declare const _default: import('../../vue/dist/vue.esm-bundler.js').DefineComponent<__VLS_Props, {
|
|
9
|
-
check(): void;
|
|
10
|
-
}, {}, {}, {}, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {} & {
|
|
11
|
-
"update:visible": (value: boolean) => any;
|
|
12
|
-
}, string, import('../../vue/dist/vue.esm-bundler.js').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
-
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
14
|
-
}>, {}, {}, {}, {}, string, import('../../vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {
|
|
15
|
-
cookieNoticeRef: HTMLDivElement;
|
|
16
|
-
}, any>;
|
|
17
|
-
export default _default;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface CodeItemT {
|
|
2
|
-
label: string;
|
|
3
|
-
href: string;
|
|
4
|
-
icon?: string;
|
|
5
|
-
target?: string;
|
|
6
|
-
}
|
|
7
|
-
interface CodePropsT {
|
|
8
|
-
title?: string;
|
|
9
|
-
options?: CodeItemT[];
|
|
10
|
-
href?: string;
|
|
11
|
-
target?: string;
|
|
12
|
-
icon?: string;
|
|
13
|
-
justify?: string;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: import('../../vue/dist/vue.esm-bundler.js').DefineComponent<CodePropsT, {}, {}, {}, {}, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {}, string, import('../../vue/dist/vue.esm-bundler.js').PublicProps, Readonly<CodePropsT> & Readonly<{}>, {
|
|
16
|
-
justify: string;
|
|
17
|
-
}, {}, {}, {}, string, import('../../vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
18
|
-
export default _default;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface OThemeSwitcherPropsT {
|
|
2
|
-
theme?: string;
|
|
3
|
-
type?: 'auto' | 'common' | 'mobile';
|
|
4
|
-
lightValue?: string;
|
|
5
|
-
darkValue?: string;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface OThemeSwitcherEmitsT {
|
|
9
|
-
(e: 'update:theme', value: string): void;
|
|
10
|
-
(e: 'change', val: string): void;
|
|
11
|
-
}
|
|
12
|
-
declare const _default: import('../../vue/dist/vue.esm-bundler.js').DefineComponent<OThemeSwitcherPropsT, {}, {}, {}, {}, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {} & {
|
|
13
|
-
change: (val: string) => any;
|
|
14
|
-
"update:theme": (value: string) => any;
|
|
15
|
-
}, string, import('../../vue/dist/vue.esm-bundler.js').PublicProps, Readonly<OThemeSwitcherPropsT> & Readonly<{
|
|
16
|
-
onChange?: ((val: string) => any) | undefined;
|
|
17
|
-
"onUpdate:theme"?: ((value: string) => any) | undefined;
|
|
18
|
-
}>, {
|
|
19
|
-
type: "auto" | "common" | "mobile";
|
|
20
|
-
disabled: boolean;
|
|
21
|
-
theme: string;
|
|
22
|
-
lightValue: string;
|
|
23
|
-
darkValue: string;
|
|
24
|
-
}, {}, {}, {}, string, import('../../vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
25
|
-
export default _default;
|