@opendesign-plus-test/components 0.0.1-rc.41 → 0.0.1-rc.42
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/components/activity/OMyActivityCalendar.vue.d.ts +2 -2
- package/dist/components/activity/index.d.ts +1 -1
- package/dist/components/meeting/OMeetingCalendar.vue.d.ts +2 -2
- package/dist/components/meeting/OMyMeetingCalendar.vue.d.ts +2 -2
- package/dist/components/meeting/components/OMeetingDetail.vue.d.ts +2 -1
- package/dist/components/meeting/types.d.ts +1 -1
- package/dist/components.cjs.js +36 -36
- package/dist/components.css +1 -1
- package/dist/components.es.js +10496 -10492
- package/package.json +3 -3
- package/src/components/activity/OActivityApproval.vue +8 -7
- package/src/components/activity/OActivityForm.vue +1 -1
- package/src/components/activity/OMyActivityCalendar.vue +6 -5
- package/src/components/events/OEventsList.vue +8 -0
- package/src/components/meeting/OMeetingCalendar.vue +3 -21
- package/src/components/meeting/OMeetingForm.vue +21 -2
- package/src/components/meeting/OMyMeetingCalendar.vue +2 -7
- package/src/components/meeting/components/OMeetingCalendarList.vue +88 -74
- package/src/components/meeting/components/OMeetingDetail.vue +3 -1
- package/src/components/meeting/config.ts +1 -12
- package/src/components/meeting/types.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendesign-plus-test/components",
|
|
3
|
-
"version": "0.0.1-rc.
|
|
3
|
+
"version": "0.0.1-rc.42",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"dayjs": "^1.11.13",
|
|
33
33
|
"video.js": "^8.23.7",
|
|
34
34
|
"vue-dompurify-html": "^3.1.2",
|
|
35
|
-
"@opendesign-plus/
|
|
36
|
-
"@opendesign-plus/
|
|
35
|
+
"@opendesign-plus/composables": "0.0.1-rc.6",
|
|
36
|
+
"@opendesign-plus/styles": "0.0.1-rc.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@vitejs/plugin-vue": "^5.1.0",
|
|
@@ -19,11 +19,11 @@ import { useActivityConfig } from './composables/useActivityConfig';
|
|
|
19
19
|
import ThFilter from '../common/ThFilter.vue';
|
|
20
20
|
import OMeetingDetail from '@/components/meeting/components/OMeetingDetail.vue';
|
|
21
21
|
import { useI18n } from '@/i18n';
|
|
22
|
+
import { CalendarDataType } from '@/components/meeting';
|
|
22
23
|
|
|
23
24
|
const { t, locale } = useI18n();
|
|
24
25
|
const isZh = computed(() => locale.value === 'zh');
|
|
25
|
-
const { approvalStatusMap, statusMap } = useActivityConfig();
|
|
26
|
-
|
|
26
|
+
const { approvalStatusMap, statusMap, activityTypeMap } = useActivityConfig();
|
|
27
27
|
|
|
28
28
|
const message = useMessage(null);
|
|
29
29
|
const { isPhone, lePadV } = useScreen();
|
|
@@ -94,15 +94,16 @@ const getData = async () => {
|
|
|
94
94
|
const res = await props.getTableDataRequest(paramsData);
|
|
95
95
|
tableData.value = (res.data || [])
|
|
96
96
|
.map((item) => {
|
|
97
|
-
const { start_date, end_date, start, end } = item;
|
|
97
|
+
const { start_date, end_date, start, end, activity_type } = item;
|
|
98
98
|
return [
|
|
99
99
|
{
|
|
100
100
|
...item,
|
|
101
101
|
time: `${ start_date }-${ end }`,
|
|
102
102
|
start_date_time: `${ start_date } ${ start }`,
|
|
103
103
|
end_date_time: `${ end_date } ${ end }`,
|
|
104
|
-
type:
|
|
104
|
+
type: CalendarDataType.EVENTS,
|
|
105
105
|
dateRange: `${ start_date } ${ start }-${ end_date } ${ end }`,
|
|
106
|
+
activity_type: activityTypeMap.value.get(activity_type)?.label,
|
|
106
107
|
},
|
|
107
108
|
];
|
|
108
109
|
})
|
|
@@ -503,7 +504,7 @@ const reviewActions = computed<DialogActionT[]>(() => {
|
|
|
503
504
|
:show="expanded.includes(act.id)"
|
|
504
505
|
:data="act"
|
|
505
506
|
:ref="(insRef) => getDetailRefs(insRef, act.id)"
|
|
506
|
-
page="
|
|
507
|
+
:page="CalendarDataType.APPROVAL"
|
|
507
508
|
/>
|
|
508
509
|
</div>
|
|
509
510
|
</OCollapseItem>
|
|
@@ -716,8 +717,8 @@ const reviewActions = computed<DialogActionT[]>(() => {
|
|
|
716
717
|
}
|
|
717
718
|
}
|
|
718
719
|
|
|
719
|
-
.pagination {
|
|
720
|
-
margin-top:
|
|
720
|
+
.pagination, .pagination-wrapper {
|
|
721
|
+
margin-top: var(--o-gap-6);
|
|
721
722
|
display: flex;
|
|
722
723
|
align-items: center;
|
|
723
724
|
justify-content: flex-end;
|
|
@@ -494,7 +494,7 @@ defineExpose({
|
|
|
494
494
|
|
|
495
495
|
.time-config {
|
|
496
496
|
width: 100%;
|
|
497
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
497
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
498
498
|
padding: var(--o-gap-5);
|
|
499
499
|
padding-right: calc(var(--o-gap-4) + var(--o-gap-5));
|
|
500
500
|
border-radius: var(--o-radius-xs);
|
|
@@ -27,7 +27,7 @@ import type { ActivityItemT, MyActivityCalendarPropsT, ParamsItemT } from './typ
|
|
|
27
27
|
import { useScreen } from '@opendesign-plus/composables';
|
|
28
28
|
import { formatDate, getDateNumber } from '../meeting/utils';
|
|
29
29
|
import { useActivityConfig } from './composables/useActivityConfig';
|
|
30
|
-
import { PageParamsT } from '../meeting/types';
|
|
30
|
+
import { CalendarDataType, PageParamsT } from '../meeting/types';
|
|
31
31
|
import OMeetingDetail from '@/components/meeting/components/OMeetingDetail.vue';
|
|
32
32
|
import { useI18n, Locales } from '@/i18n';
|
|
33
33
|
|
|
@@ -81,6 +81,7 @@ const getList = async () => {
|
|
|
81
81
|
const res = await props.getListRequest({
|
|
82
82
|
page: currentPage.value,
|
|
83
83
|
size: pageSize.value,
|
|
84
|
+
start_date: selectedDate.value,
|
|
84
85
|
} as unknown as PageParamsT);
|
|
85
86
|
const tempList = (res.data || [])
|
|
86
87
|
.map((item: ActivityItemT) => {
|
|
@@ -91,7 +92,7 @@ const getList = async () => {
|
|
|
91
92
|
time: `${ start_date }-${ end }`,
|
|
92
93
|
start_date_time: `${ start_date } ${ start }`,
|
|
93
94
|
end_date_time: `${ end_date } ${ end }`,
|
|
94
|
-
type:
|
|
95
|
+
type: CalendarDataType.EVENTS,
|
|
95
96
|
dateRange: `${ start_date } ${ start }-${ end_date } ${ end }`,
|
|
96
97
|
isExpired: dayjs(`${ start_date } ${ start }`).isBefore(dayjs()),
|
|
97
98
|
},
|
|
@@ -182,7 +183,7 @@ const updateScroller = () => {
|
|
|
182
183
|
|
|
183
184
|
// -------------------- 日历 --------------------
|
|
184
185
|
const calendarRef = ref();
|
|
185
|
-
const selectedDate = ref();
|
|
186
|
+
const selectedDate = ref(dayjs().format('YYYY-MM-DD'));
|
|
186
187
|
const allDateList = computed<string[]>(() => [...new Set(list.value.map((v) => v.start_date))].sort((a, b) => (dayjs(a).isBefore(dayjs(b)) ? -1 : 1)));
|
|
187
188
|
const dateList = computed<string[]>(() =>
|
|
188
189
|
[...new Set(list.value.filter((v) => !v.isExpired && !v.is_delete).map((v) => v.start_date))].sort((a, b) => (dayjs(a).isBefore(dayjs(b)) ? -1 : 1)),
|
|
@@ -838,7 +839,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
|
|
|
838
839
|
.el-calendar {
|
|
839
840
|
min-height: 460px;
|
|
840
841
|
height: calc(100% - 54px);
|
|
841
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
842
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
842
843
|
border-radius: var(--o-radius-xs);
|
|
843
844
|
|
|
844
845
|
.el-calendar__header {
|
|
@@ -1215,7 +1216,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
|
|
|
1215
1216
|
|
|
1216
1217
|
|
|
1217
1218
|
&.o-collapse-item-expanded {
|
|
1218
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
1219
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
1219
1220
|
}
|
|
1220
1221
|
}
|
|
1221
1222
|
|
|
@@ -177,6 +177,9 @@ const list = computed(() => {
|
|
|
177
177
|
padding: var(--o-gap-5) var(--o-gap-6);
|
|
178
178
|
gap: var(--o-gap-3) var(--o-gap-2);
|
|
179
179
|
@include text1;
|
|
180
|
+
@include respond-to('<=pad_v') {
|
|
181
|
+
padding: var(--o-gap-3) var(--o-gap-4);
|
|
182
|
+
}
|
|
180
183
|
|
|
181
184
|
.filter-left {
|
|
182
185
|
display: flex;
|
|
@@ -227,6 +230,7 @@ const list = computed(() => {
|
|
|
227
230
|
margin-top: var(--o-gap-6);
|
|
228
231
|
@include respond-to('<=pad_v') {
|
|
229
232
|
grid-template-columns: repeat(1, 1fr);
|
|
233
|
+
container-type: inline-size;
|
|
230
234
|
}
|
|
231
235
|
@include respond-to('pad_v') {
|
|
232
236
|
margin-top: var(--o-gap-4);
|
|
@@ -243,6 +247,10 @@ const list = computed(() => {
|
|
|
243
247
|
@include respond-to('<=pad_v') {
|
|
244
248
|
aspect-ratio: 1 / 0.4;
|
|
245
249
|
}
|
|
250
|
+
@container (max-width: 300px) {
|
|
251
|
+
height: 140px;
|
|
252
|
+
aspect-ratio: unset;
|
|
253
|
+
}
|
|
246
254
|
|
|
247
255
|
.o-card-cover {
|
|
248
256
|
padding: 0;
|
|
@@ -401,20 +401,6 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
|
|
|
401
401
|
width: 100%;
|
|
402
402
|
}
|
|
403
403
|
|
|
404
|
-
.calendar-header {
|
|
405
|
-
display: flex;
|
|
406
|
-
align-items: center;
|
|
407
|
-
justify-content: flex-end;
|
|
408
|
-
gap: var(--o-gap-5);
|
|
409
|
-
margin-bottom: var(--o-gap-5);
|
|
410
|
-
@include respond-to('<=pad_v') {
|
|
411
|
-
flex-direction: column-reverse;
|
|
412
|
-
justify-content: center;
|
|
413
|
-
gap: var(--o-gap-2);
|
|
414
|
-
margin-bottom: var(--o-gap-3);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
404
|
.calendar-body {
|
|
419
405
|
display: flex;
|
|
420
406
|
border-radius: var(--o-radius-xs);
|
|
@@ -751,12 +737,6 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
|
|
|
751
737
|
}
|
|
752
738
|
}
|
|
753
739
|
}
|
|
754
|
-
|
|
755
|
-
.prev, .next {
|
|
756
|
-
.el-calendar-day {
|
|
757
|
-
color: var(--o-color-info3);
|
|
758
|
-
}
|
|
759
|
-
}
|
|
760
740
|
}
|
|
761
741
|
|
|
762
742
|
.detail-list {
|
|
@@ -842,7 +822,6 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
|
|
|
842
822
|
justify-content: center;
|
|
843
823
|
align-items: flex-end;
|
|
844
824
|
height: 60px;
|
|
845
|
-
border-bottom: 1px solid var(--o-color-control4);
|
|
846
825
|
}
|
|
847
826
|
|
|
848
827
|
.o-tab {
|
|
@@ -878,6 +857,9 @@ const checkSelectedDay = (type: CalendarDataType, date: string) => {
|
|
|
878
857
|
.o-tab-nav-anchor {
|
|
879
858
|
.o-tab-nav-anchor-line {
|
|
880
859
|
width: 100%;
|
|
860
|
+
@include respond-to('<=pad_v') {
|
|
861
|
+
width: 16px;
|
|
862
|
+
}
|
|
881
863
|
}
|
|
882
864
|
}
|
|
883
865
|
}
|
|
@@ -606,7 +606,7 @@ defineExpose({
|
|
|
606
606
|
</div>
|
|
607
607
|
</div>
|
|
608
608
|
</OFormItem>
|
|
609
|
-
<OFormItem :label="t('meeting.meetingPlatform')" field="platform" :rules="rules.platform">
|
|
609
|
+
<OFormItem :label="t('meeting.meetingPlatform')" field="platform" :rules="rules.platform" class="platform-item">
|
|
610
610
|
<ORadioGroup v-model="form.platform" v-if="!data" :disabled="form.is_cycle">
|
|
611
611
|
<ORadio v-for="item in typeOptions" :key="item.value" :value="item.value">{{ getPlatformLabel(item.label) }}
|
|
612
612
|
</ORadio>
|
|
@@ -740,8 +740,10 @@ defineExpose({
|
|
|
740
740
|
display: flex;
|
|
741
741
|
align-items: center;
|
|
742
742
|
--form-label-gap-top: 0;
|
|
743
|
+
color: var(--o-color-info2);
|
|
743
744
|
@include respond-to('<=pad_v') {
|
|
744
745
|
height: fit-content;
|
|
746
|
+
@include text2;
|
|
745
747
|
}
|
|
746
748
|
}
|
|
747
749
|
|
|
@@ -749,6 +751,15 @@ defineExpose({
|
|
|
749
751
|
margin-left: var(--o-gap-3);
|
|
750
752
|
}
|
|
751
753
|
|
|
754
|
+
.platform-item {
|
|
755
|
+
align-items: center;
|
|
756
|
+
|
|
757
|
+
.o-form-item-main-wrap {
|
|
758
|
+
@include respond-to('<=pad_v') {
|
|
759
|
+
@include text2;
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
}
|
|
752
763
|
.record-item {
|
|
753
764
|
@include respond-to('<=pad_v') {
|
|
754
765
|
display: flex;
|
|
@@ -792,6 +803,10 @@ defineExpose({
|
|
|
792
803
|
font-size: 16px;
|
|
793
804
|
position: relative;
|
|
794
805
|
top: 2px;
|
|
806
|
+
|
|
807
|
+
svg path {
|
|
808
|
+
fill: currentColor;
|
|
809
|
+
}
|
|
795
810
|
}
|
|
796
811
|
}
|
|
797
812
|
}
|
|
@@ -807,6 +822,10 @@ defineExpose({
|
|
|
807
822
|
.o-svg-icon {
|
|
808
823
|
font-size: 1.5em;
|
|
809
824
|
}
|
|
825
|
+
|
|
826
|
+
svg path {
|
|
827
|
+
fill: currentColor;
|
|
828
|
+
}
|
|
810
829
|
}
|
|
811
830
|
}
|
|
812
831
|
|
|
@@ -915,7 +934,7 @@ defineExpose({
|
|
|
915
934
|
}
|
|
916
935
|
|
|
917
936
|
.repeat-config {
|
|
918
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
937
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
919
938
|
padding: var(--o-gap-5);
|
|
920
939
|
border-radius: var(--o-radius-xs);
|
|
921
940
|
@include respond-to('<=pad_v') {
|
|
@@ -837,7 +837,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
837
837
|
.list-calendar {
|
|
838
838
|
flex-shrink: 0;
|
|
839
839
|
width: 334px;
|
|
840
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
840
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
841
841
|
|
|
842
842
|
@include respond-to('pad_h') {
|
|
843
843
|
.el-calendar {
|
|
@@ -1244,7 +1244,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1244
1244
|
}
|
|
1245
1245
|
|
|
1246
1246
|
&.o-collapse-item-expanded {
|
|
1247
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
1247
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent) !important;
|
|
1248
1248
|
}
|
|
1249
1249
|
}
|
|
1250
1250
|
|
|
@@ -1494,9 +1494,4 @@ const cancelActions = computed<DialogActionT[]>(() => {
|
|
|
1494
1494
|
}
|
|
1495
1495
|
}
|
|
1496
1496
|
|
|
1497
|
-
[data-o-theme='dark'] .meeting-list {
|
|
1498
|
-
.o-collapse-item-body {
|
|
1499
|
-
background-color: rgb(43, 43, 47) !important;
|
|
1500
|
-
}
|
|
1501
|
-
}
|
|
1502
1497
|
</style>
|
|
@@ -161,63 +161,65 @@ const computedList = computed(() => {
|
|
|
161
161
|
<OCollapse v-else v-model="collapseNames" :style="{ '--collapse-padding': '0' }">
|
|
162
162
|
<OCollapseItem v-for="(item, index) in computedList" :key="item.id" :value="item.id">
|
|
163
163
|
<template #title>
|
|
164
|
-
<div class="meet-title"
|
|
165
|
-
<
|
|
166
|
-
|
|
164
|
+
<div class="meet-title-left">
|
|
165
|
+
<div class="meet-title" :title="item.topic || item.name">
|
|
166
|
+
<OIcon
|
|
167
|
+
:style="{
|
|
167
168
|
backgroundColor: `${getConfig(item.type, 'color')}`
|
|
168
169
|
}"
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
170
|
+
>
|
|
171
|
+
<component :is="getConfig(item.type, 'icon')" />
|
|
172
|
+
</OIcon>
|
|
173
|
+
<div class="text">
|
|
174
|
+
{{ item.topic || item.name || item.title }}
|
|
175
|
+
</div>
|
|
176
|
+
<div class="tag-wrapper" v-if="item.is_cycle">
|
|
177
|
+
<OTag color="primary" variant="outline">{{ t('meeting.cycle') }}</OTag>
|
|
178
|
+
</div>
|
|
177
179
|
</div>
|
|
178
|
-
|
|
179
|
-
<div class="meet-info" ref="meetInfoRef">
|
|
180
|
+
<div class="meet-info" ref="meetInfoRef">
|
|
180
181
|
<span class="start-time">
|
|
181
182
|
<span>{{ item.dateRange }}</span>
|
|
182
183
|
</span>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
<ODivider direction="v" />
|
|
185
|
+
<div>
|
|
186
|
+
<template v-if="item.group_name">{{ i18n.SIG_GROUP }} {{ item.group_name }}</template>
|
|
187
|
+
<template v-if="item.activity_type">{{ item.activity_type }}</template>
|
|
188
|
+
</div>
|
|
187
189
|
</div>
|
|
190
|
+
<OLink v-if="item.url" :href="item.url" target="_blank" class="jump-detail-link">
|
|
191
|
+
<span>{{ i18n.LEARN_MORE }}</span>
|
|
192
|
+
<template #suffix>
|
|
193
|
+
<OIcon>
|
|
194
|
+
<IconChevronRight />
|
|
195
|
+
</OIcon>
|
|
196
|
+
</template>
|
|
197
|
+
</OLink>
|
|
198
|
+
<OLink v-if="item.join_url" :href="item.join_url" target="_blank" class="jump-detail-link">
|
|
199
|
+
<span>{{ i18n.JOIN_MEETING }}</span>
|
|
200
|
+
<template #suffix>
|
|
201
|
+
<OIcon>
|
|
202
|
+
<IconChevronRight />
|
|
203
|
+
</OIcon>
|
|
204
|
+
</template>
|
|
205
|
+
</OLink>
|
|
206
|
+
<OLink v-if="item.content_url" :href="item.content_url" target="_blank" class="jump-detail-link">
|
|
207
|
+
<span>{{ i18n.DETAILS }}</span>
|
|
208
|
+
<template #suffix>
|
|
209
|
+
<OIcon>
|
|
210
|
+
<IconChevronRight />
|
|
211
|
+
</OIcon>
|
|
212
|
+
</template>
|
|
213
|
+
</OLink>
|
|
214
|
+
<OLink v-if="item.register_url" :href="item.register_url" target="_blank" class="jump-detail-link">
|
|
215
|
+
<span>{{ i18n.SIGN }}</span>
|
|
216
|
+
<template #suffix>
|
|
217
|
+
<OIcon>
|
|
218
|
+
<IconChevronRight />
|
|
219
|
+
</OIcon>
|
|
220
|
+
</template>
|
|
221
|
+
</OLink>
|
|
188
222
|
</div>
|
|
189
|
-
<OLink v-if="item.url" :href="item.url" target="_blank" class="jump-detail-link">
|
|
190
|
-
<span>{{ i18n.LEARN_MORE }}</span>
|
|
191
|
-
<template #suffix>
|
|
192
|
-
<OIcon>
|
|
193
|
-
<IconChevronRight />
|
|
194
|
-
</OIcon>
|
|
195
|
-
</template>
|
|
196
|
-
</OLink>
|
|
197
|
-
<OLink v-if="item.join_url" :href="item.join_url" target="_blank" class="jump-detail-link">
|
|
198
|
-
<span>{{ i18n.JOIN_MEETING }}</span>
|
|
199
|
-
<template #suffix>
|
|
200
|
-
<OIcon>
|
|
201
|
-
<IconChevronRight />
|
|
202
|
-
</OIcon>
|
|
203
|
-
</template>
|
|
204
|
-
</OLink>
|
|
205
|
-
<OLink v-if="item.content_url" :href="item.content_url" target="_blank" class="jump-detail-link">
|
|
206
|
-
<span>{{ i18n.DETAILS }}</span>
|
|
207
|
-
<template #suffix>
|
|
208
|
-
<OIcon>
|
|
209
|
-
<IconChevronRight />
|
|
210
|
-
</OIcon>
|
|
211
|
-
</template>
|
|
212
|
-
</OLink>
|
|
213
|
-
<OLink v-if="item.register_url" :href="item.register_url" target="_blank" class="jump-detail-link">
|
|
214
|
-
<span>{{ i18n.SIGN }}</span>
|
|
215
|
-
<template #suffix>
|
|
216
|
-
<OIcon>
|
|
217
|
-
<IconChevronRight />
|
|
218
|
-
</OIcon>
|
|
219
|
-
</template>
|
|
220
|
-
</OLink>
|
|
221
223
|
<OIcon @click.stop="() => copyInfo(index)" class="copy-icon">
|
|
222
224
|
<IconCopy />
|
|
223
225
|
</OIcon>
|
|
@@ -295,9 +297,16 @@ const computedList = computed(() => {
|
|
|
295
297
|
}
|
|
296
298
|
|
|
297
299
|
&.o-collapse-item-expanded {
|
|
298
|
-
.
|
|
299
|
-
|
|
300
|
+
.o-collapse-item-header {
|
|
301
|
+
padding-bottom: var(--o-gap-2);
|
|
302
|
+
|
|
303
|
+
.o-collapse-item-title {
|
|
304
|
+
.copy-icon {
|
|
305
|
+
display: inline-flex;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
300
308
|
}
|
|
309
|
+
|
|
301
310
|
}
|
|
302
311
|
}
|
|
303
312
|
|
|
@@ -312,8 +321,10 @@ const computedList = computed(() => {
|
|
|
312
321
|
|
|
313
322
|
@include respond-to('>pad_v') {
|
|
314
323
|
&:hover {
|
|
315
|
-
.
|
|
316
|
-
|
|
324
|
+
.o-collapse-item-title {
|
|
325
|
+
.copy-icon {
|
|
326
|
+
display: inline-flex;
|
|
327
|
+
}
|
|
317
328
|
}
|
|
318
329
|
}
|
|
319
330
|
}
|
|
@@ -324,6 +335,28 @@ const computedList = computed(() => {
|
|
|
324
335
|
.o-collapse-item-title {
|
|
325
336
|
flex-grow: 1;
|
|
326
337
|
margin-bottom: 0;
|
|
338
|
+
display: flex;
|
|
339
|
+
align-items: center;
|
|
340
|
+
justify-content: center;
|
|
341
|
+
gap: var(--o-gap-4);
|
|
342
|
+
padding-right: var(--o-gap-4);
|
|
343
|
+
|
|
344
|
+
.meet-title-left {
|
|
345
|
+
flex-grow: 1;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.copy-icon {
|
|
349
|
+
flex-shrink: 0;
|
|
350
|
+
display: none;
|
|
351
|
+
|
|
352
|
+
&:hover {
|
|
353
|
+
color: var(--o-color-primary1);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
svg path {
|
|
357
|
+
fill: currentColor;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
327
360
|
}
|
|
328
361
|
|
|
329
362
|
|
|
@@ -349,7 +382,7 @@ const computedList = computed(() => {
|
|
|
349
382
|
display: flex;
|
|
350
383
|
color: var(--o-color-info3);
|
|
351
384
|
flex-direction: column;
|
|
352
|
-
background-color: color-mix(in srgb, var(--o-color-control2-light)
|
|
385
|
+
background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
|
|
353
386
|
padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + var(--o-gap-5) - 12px);
|
|
354
387
|
border-radius: var(--o-radius-xs);
|
|
355
388
|
@include tip1;
|
|
@@ -405,7 +438,7 @@ const computedList = computed(() => {
|
|
|
405
438
|
display: flex;
|
|
406
439
|
align-items: center;
|
|
407
440
|
width: calc(100% - 48px);
|
|
408
|
-
color: var(--o-color-
|
|
441
|
+
color: var(--o-color-info2);
|
|
409
442
|
@include text2;
|
|
410
443
|
|
|
411
444
|
@include respond-to('<=pad_v') {
|
|
@@ -469,26 +502,7 @@ const computedList = computed(() => {
|
|
|
469
502
|
}
|
|
470
503
|
}
|
|
471
504
|
|
|
472
|
-
.copy-icon {
|
|
473
|
-
position: absolute;
|
|
474
|
-
top: 50%;
|
|
475
|
-
transform: translateY(-50%);
|
|
476
|
-
right: 56px;
|
|
477
|
-
font-size: 18px;
|
|
478
|
-
display: none;
|
|
479
505
|
|
|
480
|
-
@include respond-to('phone') {
|
|
481
|
-
right: 48px;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
&:hover {
|
|
485
|
-
color: var(--o-color-primary1);
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
svg path {
|
|
489
|
-
fill: currentColor;
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
506
|
|
|
493
507
|
}
|
|
494
508
|
}
|
|
@@ -10,6 +10,7 @@ const props = defineProps<{
|
|
|
10
10
|
data: MeetingItemT;
|
|
11
11
|
from?: string;
|
|
12
12
|
show: boolean;
|
|
13
|
+
page?: CalendarDataType
|
|
13
14
|
}>();
|
|
14
15
|
const { t, getPlatformLabel } = useMeetingConfig();
|
|
15
16
|
|
|
@@ -57,6 +58,7 @@ const activityInfoApprovalList = computed(() => {
|
|
|
57
58
|
});
|
|
58
59
|
|
|
59
60
|
const columns = computed(() => {
|
|
61
|
+
console.log(props.page);
|
|
60
62
|
if (props.data.type === CalendarDataType.EVENTS) {
|
|
61
63
|
if (props.page === CalendarDataType.APPROVAL) {
|
|
62
64
|
return activityInfoApprovalList.value;
|
|
@@ -174,7 +176,7 @@ defineExpose({ copyInfo });
|
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
|
|
177
|
-
&.
|
|
179
|
+
&.type_events {
|
|
178
180
|
.label {
|
|
179
181
|
width: 6em;
|
|
180
182
|
}
|
|
@@ -4,21 +4,10 @@ import IconEvent from '~icons/meeting/icon-event.svg';
|
|
|
4
4
|
import IconMeeting from '~icons/meeting/icon-meet.svg';
|
|
5
5
|
import IconSummit from '~icons/meeting/icon-summit.svg';
|
|
6
6
|
|
|
7
|
-
const getMeetingColor = () => {
|
|
8
|
-
if (typeof document !== 'undefined') {
|
|
9
|
-
const deepBlue = getComputedStyle(document.documentElement)
|
|
10
|
-
.getPropertyValue('--o-deep-blue-6')?.trim();
|
|
11
|
-
if (deepBlue) {
|
|
12
|
-
return 'rgba(var(--o-deep-blue-6))';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return 'var(--o-color-primary1)';
|
|
16
|
-
};
|
|
17
|
-
|
|
18
7
|
export const TYPE_COLOR_MAP = {
|
|
19
8
|
summit: 'rgba(var(--o-orange-6))',
|
|
20
9
|
events: 'rgba(var(--o-cyan-6))',
|
|
21
|
-
meeting:
|
|
10
|
+
meeting: 'rgba(var(--o-deep-blue-6))',
|
|
22
11
|
};
|
|
23
12
|
|
|
24
13
|
export const INTERVAL_DAY = 0;
|
|
@@ -13,7 +13,6 @@ export enum CalendarDataType {
|
|
|
13
13
|
MEETING = 'meeting',
|
|
14
14
|
EVENTS = 'events',
|
|
15
15
|
SUMMIT = 'summit',
|
|
16
|
-
ACTIVITY = 'activity',
|
|
17
16
|
APPROVAL = 'approval'
|
|
18
17
|
}
|
|
19
18
|
|
|
@@ -111,6 +110,7 @@ export interface MeetingItemT extends MeetingPostT {
|
|
|
111
110
|
time: string; // 处理一下时间范围
|
|
112
111
|
cycle_sub: any[];
|
|
113
112
|
live_url?: string;
|
|
113
|
+
type: CalendarDataType;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
export interface PageParamsT {
|