@opendesign-plus-test/components 0.0.1-rc.61 → 0.0.1-rc.63
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 +148 -148
- 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 +8 -4
- package/dist/components/activity/index.d.ts +17 -15
- 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/index.d.ts +1 -0
- package/dist/components/{OLanguageSwitcher.vue.d.ts → header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts} +5 -5
- package/dist/components/header-language-switcher/index.d.ts +90 -0
- package/dist/components/{OHeaderSearch.vue.d.ts → header-search/OHeaderSearch.vue.d.ts} +165 -145
- package/dist/components/header-search/index.d.ts +607 -0
- package/dist/components/header-source-code/OHeaderSourceCode.vue.d.ts +18 -0
- package/dist/components/header-source-code/index.d.ts +23 -0
- package/dist/components/header-theme/OHeaderTheme.vue.d.ts +25 -0
- package/dist/components/header-theme/index.d.ts +50 -0
- package/dist/components/{OHeaderUser.vue.d.ts → header-user/OHeaderUser.vue.d.ts} +7 -7
- package/dist/components/header-user/index.d.ts +53 -0
- package/dist/components/meeting/OMeetingCalendar.vue.d.ts +2 -2
- package/dist/components/meeting/OMeetingForm.vue.d.ts +4 -4
- package/dist/components/meeting/OMeetingMyCalendar.vue.d.ts +8 -4
- package/dist/components/meeting/OMeetingPlayback.vue.d.ts +4 -4
- package/dist/components/meeting/components/OMeetingPlaybackVideo.vue.d.ts +1 -1
- package/dist/components/meeting/index.d.ts +11 -9
- package/dist/components/meeting/types.d.ts +3 -1
- package/dist/components/meeting/utils.d.ts +2 -1
- package/dist/components/search/OSearchInput.vue.d.ts +54 -34
- package/dist/components/search/index.d.ts +32 -22
- package/dist/components/search/internal/SearchImageInput.vue.d.ts +41 -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 +36 -36
- package/dist/components.css +1 -1
- package/dist/components.es.js +14568 -14413
- package/dist/index.d.ts +9 -14
- package/docs/design.md +2 -2
- package/package.json +7 -7
- package/scripts/generate-components-index.js +2 -44
- package/src/assets/styles/element-plus.scss +2 -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/index.ts +2 -0
- package/src/components/header-language-switcher/index.ts +10 -0
- package/src/components/{OHeaderSearch.vue → header-search/OHeaderSearch.vue} +4 -4
- package/src/components/header-search/index.ts +10 -0
- package/src/components/{OSourceCode.vue → header-source-code/OHeaderSourceCode.vue} +2 -2
- package/src/components/header-source-code/index.ts +10 -0
- package/src/components/{OThemeSwitcher.vue → header-theme/OHeaderTheme.vue} +4 -4
- package/src/components/header-theme/index.ts +10 -0
- package/src/components/{OHeaderUser.vue → header-user/OHeaderUser.vue} +4 -4
- package/src/components/header-user/index.ts +10 -0
- package/src/components/meeting/OMeetingCalendar.vue +7 -5
- package/src/components/meeting/OMeetingForm.vue +14 -12
- package/src/components/meeting/OMeetingMyCalendar.vue +3 -12
- package/src/components/meeting/components/OMeetingCalendarList.vue +3 -2
- package/src/components/meeting/components/OMeetingDetail.vue +2 -2
- package/src/components/meeting/types.ts +3 -1
- package/src/components/meeting/utils.ts +4 -4
- package/src/components/{OSection.vue → section/OSection.vue} +1 -1
- package/src/components/section/index.ts +10 -0
- package/src/i18n/zh.ts +2 -0
- package/src/index.ts +9 -38
- 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/dist/components/meeting/components/OMeetingCalendarSelector.vue.d.ts +0 -664
- package/src/components/common/ClientOnlyWrapper.ts +0 -21
- /package/src/components/{OLanguageSwitcher.vue → header-language-switcher/OHeaderLanguageSwitcher.vue} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { OIcon, OBadge, ODropdown, ODropdownItem } from '@opensig/opendesign';
|
|
3
3
|
|
|
4
|
-
import AppAvatar from '
|
|
4
|
+
import AppAvatar from '../common/AppAvatar.vue';
|
|
5
5
|
|
|
6
6
|
import IconAvatar from '~icons/components/icon-avatar-line.svg';
|
|
7
7
|
import IconChevronDown from '~icons/components/icon-chevron-down.svg';
|
|
@@ -10,12 +10,12 @@ import { useScreen } from '@opendesign-plus/composables';
|
|
|
10
10
|
|
|
11
11
|
const { lePadV } = useScreen();
|
|
12
12
|
|
|
13
|
-
interface UserInfoT {
|
|
13
|
+
export interface UserInfoT {
|
|
14
14
|
photo: string;
|
|
15
15
|
username: string;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
interface OptionsItemT {
|
|
18
|
+
export interface OptionsItemT {
|
|
19
19
|
id: string; // id
|
|
20
20
|
label: string; // 标题
|
|
21
21
|
icon?: string; // icon
|
|
@@ -25,7 +25,7 @@ interface OptionsItemT {
|
|
|
25
25
|
logout: boolean; // 是否是退出登录 item
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
interface UserPropsT {
|
|
28
|
+
export interface UserPropsT {
|
|
29
29
|
token?: string;
|
|
30
30
|
lang?: string;
|
|
31
31
|
noticeTotal?: number;
|
|
@@ -326,6 +326,7 @@ defineExpose({
|
|
|
326
326
|
</OIcon>
|
|
327
327
|
</div>
|
|
328
328
|
<OSelect
|
|
329
|
+
v-if="groupType !== MeetingGroupType.NONE"
|
|
329
330
|
v-model="group"
|
|
330
331
|
:placeholder="t(groupType === MeetingGroupType.GROUP ? 'meeting.allGroups' : 'meeting.allSigs')"
|
|
331
332
|
clearable
|
|
@@ -337,7 +338,7 @@ defineExpose({
|
|
|
337
338
|
|
|
338
339
|
<div class="right-title">
|
|
339
340
|
{{ t('meeting.latestMeeting') }}
|
|
340
|
-
<span>{{ dayjs(latestDay)
|
|
341
|
+
<span>{{ formatDate(dayjs(latestDay)) }}</span>
|
|
341
342
|
</div>
|
|
342
343
|
</template>
|
|
343
344
|
<template #date-cell="{ data }">
|
|
@@ -383,7 +384,7 @@ defineExpose({
|
|
|
383
384
|
<div class="detail-list">
|
|
384
385
|
<div class="current-day">
|
|
385
386
|
{{ t('meeting.latestMeeting') }}
|
|
386
|
-
<span>{{ dayjs(currentDay)
|
|
387
|
+
<span>{{ formatDate(dayjs(currentDay)) }}</span>
|
|
387
388
|
</div>
|
|
388
389
|
<div class="right-title">
|
|
389
390
|
<div class="title-list">
|
|
@@ -864,9 +865,10 @@ defineExpose({
|
|
|
864
865
|
justify-content: center;
|
|
865
866
|
align-items: flex-end;
|
|
866
867
|
height: 60px;
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
868
|
+
|
|
869
|
+
@include respond-to('pad_v') {
|
|
870
|
+
--tab-nav-justify: flex-end;
|
|
871
|
+
}
|
|
870
872
|
.o-icon {
|
|
871
873
|
svg path {
|
|
872
874
|
fill: currentColor;
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
PlatformT,
|
|
30
30
|
} from './types';
|
|
31
31
|
import dayjs from 'dayjs';
|
|
32
|
-
import { findLabelFromOptions, formatDateNumber, getDateNumber } from './utils';
|
|
32
|
+
import { findLabelFromOptions, formatDate, formatDateNumber, getDateNumber } from './utils';
|
|
33
33
|
import { EMAIL_REGEX, INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from './config';
|
|
34
34
|
import OMeetingCalendarSelector from './components/OMeetingCalendarSelector.vue';
|
|
35
35
|
import { useScreen } from '@opendesign-plus/composables';
|
|
@@ -514,7 +514,7 @@ defineExpose({
|
|
|
514
514
|
<template>
|
|
515
515
|
<div class="o-meeting-form">
|
|
516
516
|
<OForm :model="form" ref="formRef" has-required :layout="lePadV ? 'v' : 'h'" class="form-wrapper">
|
|
517
|
-
<OFormItem :rules="rules.topic" :label="t('meeting.meetingName')" field="topic">
|
|
517
|
+
<OFormItem :rules="rules.topic" :label="labelMap?.topic ?? t('meeting.meetingName')" field="topic">
|
|
518
518
|
<OInput
|
|
519
519
|
:disabled="isSub"
|
|
520
520
|
size="large"
|
|
@@ -524,7 +524,7 @@ defineExpose({
|
|
|
524
524
|
</OFormItem>
|
|
525
525
|
<OFormItem
|
|
526
526
|
:rules="rules.group_name"
|
|
527
|
-
:label="groupType === MeetingGroupType.GROUP ? t('meeting.meetingGroup'):t('meeting.meetingSig')"
|
|
527
|
+
:label="labelMap?.group_name ?? (groupType === MeetingGroupType.GROUP ? t('meeting.meetingGroup') : t('meeting.meetingSig'))"
|
|
528
528
|
field="group_name">
|
|
529
529
|
<OSelect
|
|
530
530
|
:disabled="isEdit"
|
|
@@ -539,7 +539,8 @@ defineExpose({
|
|
|
539
539
|
</OFormItem>
|
|
540
540
|
<OFormItem :rules="rules.etherpad" label="Etherpad" field="etherpad" v-if="form.group_name">
|
|
541
541
|
<template #label>
|
|
542
|
-
<
|
|
542
|
+
<template v-if="labelMap?.etherpad">{{ labelMap.etherpad }}</template>
|
|
543
|
+
<div v-else class="label-wrapper">
|
|
543
544
|
<span>{{ t('meeting.etherpad') }} </span>
|
|
544
545
|
<OPopover>
|
|
545
546
|
<div class="o-meeting-form-popover-content etherpad">{{ t('meeting.etherpadDesc') }}</div>
|
|
@@ -560,7 +561,7 @@ defineExpose({
|
|
|
560
561
|
/>
|
|
561
562
|
</OFormItem>
|
|
562
563
|
|
|
563
|
-
<OFormItem :label="t('meeting.meetingTime')" field="time" :rules="rules.time" class="repeat-row" required>
|
|
564
|
+
<OFormItem :label="labelMap?.time ?? t('meeting.meetingTime')" field="time" :rules="rules.time" class="repeat-row" required>
|
|
564
565
|
<div class="repeat-config-wrapper">
|
|
565
566
|
<OFormItem field="repeat" class="repeat-item" v-if="!isSub">
|
|
566
567
|
<ORadioGroup v-model="form.is_cycle" @change="changeIsCycle" :disabled="isEdit">
|
|
@@ -589,7 +590,7 @@ defineExpose({
|
|
|
589
590
|
</div>
|
|
590
591
|
</OFormItem>
|
|
591
592
|
<OFormItem
|
|
592
|
-
:label="t('meeting.in')"
|
|
593
|
+
:label="labelMap?.cycle_point ?? t('meeting.in')"
|
|
593
594
|
field="cycle_point"
|
|
594
595
|
class="point-item"
|
|
595
596
|
v-if="form.cycle_type !== INTERVAL_DAY"
|
|
@@ -606,7 +607,7 @@ defineExpose({
|
|
|
606
607
|
</OSelect>
|
|
607
608
|
<OMeetingCalendarSelector v-if="form.cycle_type === INTERVAL_MONTH" v-model="form.cycle_point" />
|
|
608
609
|
</OFormItem>
|
|
609
|
-
<OFormItem :label="t('meeting.meetingDuration')" field="date_range">
|
|
610
|
+
<OFormItem :label="labelMap?.date_range ?? t('meeting.meetingDuration')" field="date_range">
|
|
610
611
|
<ElDatePicker
|
|
611
612
|
size="large"
|
|
612
613
|
v-model="form.date_range"
|
|
@@ -622,7 +623,7 @@ defineExpose({
|
|
|
622
623
|
</OFormItem>
|
|
623
624
|
</template>
|
|
624
625
|
<template v-else>
|
|
625
|
-
<OFormItem :label="t('meeting.meetingDate')" field="date">
|
|
626
|
+
<OFormItem :label="labelMap?.date ?? t('meeting.meetingDate')" field="date">
|
|
626
627
|
<ElDatePicker
|
|
627
628
|
popper-class="o-meeting-form-date-picker-popper"
|
|
628
629
|
size="large"
|
|
@@ -671,14 +672,14 @@ defineExpose({
|
|
|
671
672
|
</div>
|
|
672
673
|
</div>
|
|
673
674
|
</OFormItem>
|
|
674
|
-
<OFormItem :label="t('meeting.meetingPlatform')" field="platform" :rules="rules.platform" class="platform-item">
|
|
675
|
+
<OFormItem :label="labelMap?.platform ?? t('meeting.meetingPlatform')" field="platform" :rules="rules.platform" class="platform-item">
|
|
675
676
|
<ORadioGroup v-model="form.platform" v-if="!data" :disabled="form.is_cycle">
|
|
676
677
|
<ORadio v-for="item in typeOptions" :key="item.value" :value="item.value">{{ getPlatformLabel(item.label) }}
|
|
677
678
|
</ORadio>
|
|
678
679
|
</ORadioGroup>
|
|
679
680
|
<span v-else>{{ getPlatformLabel(form.platform) }}</span>
|
|
680
681
|
</OFormItem>
|
|
681
|
-
<OFormItem field="agenda" :label="t('meeting.meetingAgenda')" :rules="rules.genda">
|
|
682
|
+
<OFormItem field="agenda" :label="labelMap?.agenda ?? t('meeting.meetingAgenda')" :rules="rules.genda">
|
|
682
683
|
<OTextarea
|
|
683
684
|
:disabled="isSub"
|
|
684
685
|
size="large"
|
|
@@ -686,7 +687,7 @@ defineExpose({
|
|
|
686
687
|
style="width: 100%"
|
|
687
688
|
:rows="4" v-model="form.agenda" />
|
|
688
689
|
</OFormItem>
|
|
689
|
-
<OFormItem :label="t('meeting.meetingRecord')" field="is_record" class="record-item full-width-item">
|
|
690
|
+
<OFormItem :label="labelMap?.is_record ?? t('meeting.meetingRecord')" field="is_record" class="record-item full-width-item">
|
|
690
691
|
<template v-if="lePadV">
|
|
691
692
|
<OSwitch v-model="form.is_record" :disabled="isSub" />
|
|
692
693
|
</template>
|
|
@@ -723,7 +724,8 @@ defineExpose({
|
|
|
723
724
|
</template>
|
|
724
725
|
<OFormItem field="email_list" :rules="rules.email_list">
|
|
725
726
|
<template #label>
|
|
726
|
-
<
|
|
727
|
+
<template v-if="labelMap?.email_list">{{ labelMap.email_list }}</template>
|
|
728
|
+
<div v-else class="label-wrapper">
|
|
727
729
|
<span>{{ t('meeting.meetingEmail') }} </span>
|
|
728
730
|
<OPopover>
|
|
729
731
|
<div class="o-meeting-form-popover-content">
|
|
@@ -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) {
|
|
@@ -471,14 +467,11 @@ onMounted(() => {
|
|
|
471
467
|
window.addEventListener('scroll', handleScroll);
|
|
472
468
|
// 添加resize监听器
|
|
473
469
|
window.addEventListener('resize', handleScroll);
|
|
474
|
-
getHeaderHeight();
|
|
475
|
-
window.addEventListener('resize', getHeaderHeight);
|
|
476
470
|
});
|
|
477
471
|
|
|
478
472
|
onUnmounted(() => {
|
|
479
473
|
window.removeEventListener('scroll', handleScroll);
|
|
480
474
|
window.removeEventListener('resize', handleScroll);
|
|
481
|
-
window.removeEventListener('resize', getHeaderHeight);
|
|
482
475
|
const scrollerContainerEl = scrollerRef.value?.getContainerEl();
|
|
483
476
|
scrollerContainerEl?.removeEventListener('scroll', scrollerScroll);
|
|
484
477
|
});
|
|
@@ -597,7 +590,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
597
590
|
ref="scrollerRef"
|
|
598
591
|
@scrollend="load"
|
|
599
592
|
v-if="list.length"
|
|
600
|
-
:style="{ '--header-height': headerHeight }"
|
|
601
593
|
class="scroller-container"
|
|
602
594
|
show-type="hover"
|
|
603
595
|
>
|
|
@@ -817,7 +809,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
817
809
|
@include respond('phone') {
|
|
818
810
|
flex-direction: column;
|
|
819
811
|
gap: var(--o-gap-3);
|
|
820
|
-
--phone-padding-top:
|
|
812
|
+
--phone-padding-top: 56px;
|
|
821
813
|
}
|
|
822
814
|
|
|
823
815
|
.o-loading {
|
|
@@ -855,9 +847,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
855
847
|
}
|
|
856
848
|
|
|
857
849
|
@include respond('phone') {
|
|
858
|
-
padding-top: var(--o-gap-7);
|
|
859
850
|
background-color: var(--o-color-fill1);
|
|
860
|
-
padding-bottom: var(--o-gap-4);
|
|
861
851
|
display: flex;
|
|
862
852
|
position: fixed;
|
|
863
853
|
height: var(--phone-padding-top);
|
|
@@ -1072,7 +1062,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1072
1062
|
|
|
1073
1063
|
.scroller-container {
|
|
1074
1064
|
height: 100%;
|
|
1075
|
-
max-height: calc(var(--layout-left-height, 900px) - 4 * var(--o-gap-5) - var(--header-height) * 1px);
|
|
1065
|
+
max-height: calc(var(--layout-left-height, 900px) - 4 * var(--o-gap-5) - var(--header-height, 64) * 1px);
|
|
1076
1066
|
|
|
1077
1067
|
@include respond('phone') {
|
|
1078
1068
|
max-height: fit-content;
|
|
@@ -1374,6 +1364,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1374
1364
|
.o-tag {
|
|
1375
1365
|
background-color: var(--o-color-control2-light);
|
|
1376
1366
|
border: none;
|
|
1367
|
+
font-weight: 400;
|
|
1377
1368
|
}
|
|
1378
1369
|
}
|
|
1379
1370
|
|
|
@@ -91,9 +91,9 @@ const computedList = computed<any[]>(() => {
|
|
|
91
91
|
}
|
|
92
92
|
} else {
|
|
93
93
|
if (v.start_date === v.end_date) {
|
|
94
|
-
dateRange = formatDate(v.start_date
|
|
94
|
+
dateRange = formatDate(v.start_date);
|
|
95
95
|
} else {
|
|
96
|
-
dateRange = `${ formatDate(v.start_date
|
|
96
|
+
dateRange = `${ formatDate(v.start_date) }-${ formatDate(v.end_date) }`;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -496,6 +496,7 @@ const computedList = computed<any[]>(() => {
|
|
|
496
496
|
.o-tag {
|
|
497
497
|
background-color: var(--o-color-control2-light);
|
|
498
498
|
border: none;
|
|
499
|
+
font-weight: 400;
|
|
499
500
|
}
|
|
500
501
|
}
|
|
501
502
|
|
|
@@ -161,11 +161,11 @@ defineExpose({ copyInfo });
|
|
|
161
161
|
display: flex;
|
|
162
162
|
align-items: flex-start;
|
|
163
163
|
font-size: 14px;
|
|
164
|
-
gap: var(--o-gap-
|
|
164
|
+
gap: var(--o-gap-2);
|
|
165
165
|
|
|
166
166
|
@include respond('<=pad_v') {
|
|
167
167
|
font-size: 12px;
|
|
168
|
-
gap: var(--o-gap-
|
|
168
|
+
gap: var(--o-gap-1);
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
&:not(.is-empty) {
|
|
@@ -42,6 +42,7 @@ export type PlatformT = 'welink' | 'tencent' | 'zoom' | 'WELINK' | 'TENCENT' | '
|
|
|
42
42
|
export enum MeetingGroupType {
|
|
43
43
|
SIG = 'sig',
|
|
44
44
|
GROUP = 'group',
|
|
45
|
+
NONE = 'none',
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export interface MeetingCalendarPropsT {
|
|
@@ -96,7 +97,8 @@ export interface MeetingFormPropsT {
|
|
|
96
97
|
getGroupsRequest: any;
|
|
97
98
|
showBtns?: boolean;
|
|
98
99
|
groupType: MeetingGroupType;
|
|
99
|
-
confirmText?: string
|
|
100
|
+
confirmText?: string;
|
|
101
|
+
labelMap?: Record<string, string>;
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
export interface ObsDataItemT {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import dayjs from 'dayjs';
|
|
1
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
2
|
import { OptionItemT } from './types';
|
|
3
3
|
|
|
4
|
-
export const formatDate = (date: string | Date = new Date(), format: string = 'YYYY
|
|
5
|
-
let dateStr = date;
|
|
4
|
+
export const formatDate = (date: undefined | string | Date | Dayjs = new Date(), format: string = 'YYYY/MM/DD'): string => {
|
|
5
|
+
let dateStr: any = date;
|
|
6
6
|
if (!dateStr) {
|
|
7
|
-
dateStr =
|
|
7
|
+
dateStr = undefined;
|
|
8
8
|
}
|
|
9
9
|
if (!dayjs(new Date(dateStr)).isValid()) {
|
|
10
10
|
return dateStr as string;
|
|
@@ -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/zh.ts
CHANGED
|
@@ -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,47 +1,18 @@
|
|
|
1
1
|
// OpenDesignPlus Components 库入口文件
|
|
2
2
|
// 此文件由 scripts/generate-components-index.js 自动生成
|
|
3
|
-
|
|
4
|
-
import OCookieNotice from './components/OCookieNotice.vue';
|
|
5
|
-
import OFooter from './components/OFooter.vue';
|
|
6
|
-
import OHeaderSearch from './components/OHeaderSearch.vue';
|
|
7
|
-
import OHeaderUser from './components/OHeaderUser.vue';
|
|
8
|
-
import OLanguageSwitcher from './components/OLanguageSwitcher.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
|
-
OCookieNotice,
|
|
17
|
-
OFooter,
|
|
18
|
-
OHeaderSearch,
|
|
19
|
-
OHeaderUser,
|
|
20
|
-
OLanguageSwitcher,
|
|
21
|
-
OPlusConfigProvider,
|
|
22
|
-
OSection,
|
|
23
|
-
OSourceCode,
|
|
24
|
-
OThemeSwitcher
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// 导出单个组件
|
|
28
|
-
export { OCookieNotice, OFooter, OHeaderSearch, OHeaderUser, OLanguageSwitcher, OPlusConfigProvider, OSection, OSourceCode, OThemeSwitcher };
|
|
29
|
-
|
|
30
|
-
// 重新导出子目录中的组件
|
|
31
3
|
export * from './components/activity';
|
|
32
4
|
export * from './components/banner';
|
|
5
|
+
export * from './components/config-provider';
|
|
6
|
+
export * from './components/cookie-notice';
|
|
33
7
|
export * from './components/element-plus';
|
|
34
8
|
export * from './components/events';
|
|
9
|
+
export * from './components/footer';
|
|
35
10
|
export * from './components/header';
|
|
11
|
+
export * from './components/header-language-switcher';
|
|
12
|
+
export * from './components/header-search';
|
|
13
|
+
export * from './components/header-source-code';
|
|
14
|
+
export * from './components/header-theme';
|
|
15
|
+
export * from './components/header-user';
|
|
36
16
|
export * from './components/meeting';
|
|
37
17
|
export * from './components/search';
|
|
38
|
-
|
|
39
|
-
// 默认导出(用于Vue插件安装)
|
|
40
|
-
export default {
|
|
41
|
-
install: (app: any) => {
|
|
42
|
-
// 注册所有组件
|
|
43
|
-
Object.entries(components).forEach(([name, component]) => {
|
|
44
|
-
app.component(name, component);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
};
|
|
18
|
+
export * from './components/section';
|
|
@@ -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
|
-
disabled: boolean;
|
|
20
|
-
type: "auto" | "common" | "mobile";
|
|
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;
|