@opendesign-plus-test/components 0.0.1-rc.31 → 0.0.1-rc.33

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendesign-plus-test/components",
3
- "version": "0.0.1-rc.31",
3
+ "version": "0.0.1-rc.33",
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/styles": "0.0.1-rc.2",
36
- "@opendesign-plus/composables": "0.0.1-rc.6"
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",
@@ -2,10 +2,9 @@
2
2
  import { ElTable, ElTableColumn, dayjs } from 'element-plus';
3
3
  import {
4
4
  DialogActionT,
5
- OButton,
6
- OCollapse, OCollapseItem,
5
+ OCollapse,
6
+ OCollapseItem,
7
7
  ODialog,
8
- ODivider,
9
8
  OForm,
10
9
  OFormItem, OLink,
11
10
  OPagination,
@@ -76,8 +75,10 @@ const COUNT_PER_PAGE = [10, 20, 30, 40];
76
75
  const getData = async () => {
77
76
  const { page, size, status, sponsor, order_by, search, is_delete } = params;
78
77
  let paramsData = { page, size, sponsor, order_by, search } as ReviewParamsT;
79
- if (status === 'cancel') {
78
+ if (status !== 'all') {
80
79
  paramsData.is_delete = is_delete;
80
+ }
81
+ if (status === 'cancel') {
81
82
  paramsData.status = '';
82
83
  } else {
83
84
  paramsData.status = status;
@@ -557,7 +558,7 @@ const reviewActions = computed<DialogActionT[]>(() => {
557
558
  >
558
559
  <template #header>{{ cancelTitle }}</template>
559
560
  <div class="dialog-content">
560
- 是否确认{{ cancelText }}“{{ currentRow?.title }}”活动?{{ cancelText }}后将不在会议首页呈现,且已报名的数据也会被清空,请谨慎操作。
561
+ 是否确认{{ cancelText }}“{{ currentRow?.title }}”活动?{{ cancelText }}后将不在会议首页呈现。
561
562
  </div>
562
563
  </ODialog>
563
564
  </div>
@@ -20,6 +20,7 @@ import { ElCalendar } from 'element-plus';
20
20
  import dayjs from 'dayjs';
21
21
  import { useDebounceFn } from '@vueuse/core';
22
22
 
23
+ import IconCopy from '~icons/meeting/icon-copy.svg';
23
24
  import IconEvent from '~icons/meeting/icon-event.svg';
24
25
 
25
26
  import type { ActivityItemT, MyActivityCalendarPropsT, ParamsItemT } from './types';
@@ -511,7 +512,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
511
512
  </span>
512
513
  </div>
513
514
  <div class="left-calendar">
514
- <ElCalendar ref="calendarRef">
515
+ <ElCalendar ref="calendarRef" v-model="selectedDate">
515
516
  <template #header>
516
517
  <span>{{ (selectedDate ? dayjs(new Date(selectedDate)) : dayjs()).format('YYYY MM月') }}</span>
517
518
  <div>
@@ -620,7 +621,8 @@ const deleteActions = computed<DialogActionT[]>(() => {
620
621
  </div>
621
622
  </div>
622
623
  </div>
623
- <div class="item-header-right" v-if="!row.is_delete && [3,4,5,6].includes(row.status)">
624
+ <div class="item-header-right"
625
+ v-if="row.content_url && !row.is_delete && [3,4,5,6].includes(row.status)">
624
626
  <OLink v-if="row.content_url" :href="row.content_url" target="_blank" rel="noopener noreferrer">
625
627
  活动详情
626
628
  <template #suffix>
@@ -631,9 +633,10 @@ const deleteActions = computed<DialogActionT[]>(() => {
631
633
  </OLink>
632
634
  <OLink
633
635
  v-if="
636
+ row.register_url && (
634
637
  row.status === 3 ||
635
638
  row.status === 4 ||
636
- (row.status === 2 && row.update_activity_id && new Date(row.register_end_date).getTime() > new Date().getTime())
639
+ (row.status === 2 && row.update_activity_id && new Date(row.register_end_date).getTime() > new Date().getTime()))
637
640
  "
638
641
  :href="row.register_url"
639
642
  target="_blank"
@@ -647,6 +650,9 @@ const deleteActions = computed<DialogActionT[]>(() => {
647
650
  </template>
648
651
  </OLink>
649
652
  </div>
653
+ <OIcon @click.stop="() => copyInfo(rowIdx)" class="copy-icon">
654
+ <IconCopy />
655
+ </OIcon>
650
656
  </template>
651
657
  <div class="activity-detail">
652
658
  <OMeetingDetail
@@ -755,6 +761,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
755
761
  gap: var(--o-gap-3);
756
762
  --phone-padding-top: calc(var(--o-gap-5) + var(--o-gap-3) + var(--o-gap-3));
757
763
  }
764
+
758
765
  .o-loading {
759
766
  .o-layer-mask {
760
767
  background-color: transparent;
@@ -832,6 +839,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
832
839
  @include respond-to('phone') {
833
840
  display: none;
834
841
  }
842
+
835
843
  .el-calendar {
836
844
  min-height: 460px;
837
845
  height: calc(100% - 54px);
@@ -1002,6 +1010,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1002
1010
  .o-scroller {
1003
1011
  .o-scrollbar-rail {
1004
1012
  right: -16px;
1013
+ height: 100%;
1005
1014
  }
1006
1015
  }
1007
1016
 
@@ -1222,6 +1231,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1222
1231
  display: flex;
1223
1232
  align-items: center;
1224
1233
  gap: var(--o-gap-4);
1234
+ position: relative;
1225
1235
 
1226
1236
  .o-collapse-item-icon {
1227
1237
  position: relative;
@@ -1246,6 +1256,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1246
1256
  flex-direction: column;
1247
1257
  align-items: flex-start;
1248
1258
  justify-content: space-between;
1259
+ margin-bottom: 0;
1249
1260
 
1250
1261
  .item-header-left {
1251
1262
  display: flex;
@@ -1299,6 +1310,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1299
1310
  max-width: 100%;
1300
1311
  @include text-truncate(1);
1301
1312
  }
1313
+
1302
1314
  .o-tag {
1303
1315
  margin-left: 8px;
1304
1316
  --tag-radius: 4px;
@@ -1322,6 +1334,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1322
1334
  }
1323
1335
 
1324
1336
  &.tag-draft,
1337
+ &.tag-delete,
1325
1338
  &.tag-cancel {
1326
1339
  --tag-color: var(--o-color-info3);
1327
1340
  --tag-bg-color: var(--o-color-control1-light);
@@ -67,6 +67,7 @@ const calendar = ref();
67
67
  const calendarHeight = ref<string>('407px');
68
68
  const isLimit = ref(false);
69
69
  const currentDay = ref('');
70
+ const isAutoClick = ref(false);
70
71
  // sig组列表
71
72
  const sig = ref('');
72
73
  const sigOptions = ref<GroupItemT[]>([]);
@@ -162,6 +163,7 @@ const renderData = computed(() => {
162
163
 
163
164
  const getDateData = async (day?: string) => {
164
165
  const date = dayjs(day).format('YYYY-MM-DD');
166
+ currentDay.value = date;
165
167
  getSummitData(date);
166
168
  getActivityData(date);
167
169
  getDateList(date);
@@ -184,7 +186,6 @@ const getDateData = async (day?: string) => {
184
186
  date: date,
185
187
  type: tabType.value,
186
188
  });
187
- currentDay.value = date;
188
189
  };
189
190
 
190
191
  watch([() => tabType.value, () => tabs.value], () => {
@@ -202,6 +203,10 @@ function selectTab() {
202
203
  }
203
204
 
204
205
  const changeMeetingDay = useDebounceFn((day: string, event?: Event) => {
206
+ if (isAutoClick.value) {
207
+ isAutoClick.value = false;
208
+ return;
209
+ }
205
210
  if (new Date(day).getTime() / 1000 < 1610380800) {
206
211
  event?.stopPropagation();
207
212
  return;
@@ -217,7 +222,7 @@ const selectDate = (val: string, date: string) => {
217
222
  }
218
223
  isLimit.value = false;
219
224
  calendar.value.selectDate(val);
220
- changeMeetingDay(calendar.value.selectedDay);
225
+ changeMeetingDay(formatDate(calendar.value.selectedDay));
221
226
  };
222
227
 
223
228
  const removeLeadingZero = (str: string) => {
@@ -249,10 +254,11 @@ onMounted(() => {
249
254
  const stopWatchData = watch(
250
255
  () => allDates.value.length,
251
256
  () => {
252
- if (isClient) {
257
+ if (isClient && !currentDay.value) {
253
258
  nextTick(() => {
254
259
  const activeBoxes = document.querySelector('.is-today .out-box') as HTMLElement;
255
260
  if (activeBoxes) {
261
+ isAutoClick.value = true;
256
262
  activeBoxes.click();
257
263
  stopWatchData();
258
264
  }
@@ -683,7 +683,7 @@ defineExpose({
683
683
  </OForm>
684
684
  <div class="form-btns" v-if="showBtns">
685
685
  <OButton color="primary" variant="solid" size="large" @click="confirm" :loading="loading">
686
- {{ isEdit ? t('common.save') : t('meeting.book') }}
686
+ {{ isEdit ? t('common.save') : (bookText || t('meeting.book')) }}
687
687
  </OButton>
688
688
  <OButton color="primary" variant="outline" size="large" @click="cancel">{{ t('common.cancel') }}</OButton>
689
689
  </div>
@@ -903,12 +903,16 @@ const cancelActions = computed<DialogActionT[]>(() => {
903
903
 
904
904
  th {
905
905
  text-align: center;
906
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%) !important;
907
906
  border: none;
907
+ --o-color-control3-light: transparent;
908
+ }
909
+
910
+ tr {
911
+ --o-color-fill2: transparent;
908
912
  }
909
913
 
910
914
  td {
911
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%) !important;
915
+ background-color: transparent !important;
912
916
  border: none;
913
917
  text-align: center;
914
918
  transition: none;
@@ -1026,9 +1030,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
1026
1030
  .o-scroller {
1027
1031
  .o-scrollbar-rail {
1028
1032
  right: -16px;
1029
- }
1030
-
1031
- .o-scrollbar {
1032
1033
  height: 100%;
1033
1034
  }
1034
1035
  }
@@ -1266,8 +1267,8 @@ const cancelActions = computed<DialogActionT[]>(() => {
1266
1267
  width: 20px;
1267
1268
  height: 20px;
1268
1269
  font-size: 20px;
1269
- bottom: var(--o-gap-2);
1270
- top: revert;
1270
+ top: 50%;
1271
+ transform: translateY(-50%);
1271
1272
  }
1272
1273
  }
1273
1274
 
@@ -1278,6 +1279,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
1278
1279
  flex-direction: column;
1279
1280
  align-items: flex-start;
1280
1281
  justify-content: space-between;
1282
+ margin-bottom: 0;
1281
1283
  .item-header-left {
1282
1284
  display: flex;
1283
1285
  align-items: flex-start;
@@ -1349,6 +1351,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
1349
1351
  color: var(--o-color-info3);
1350
1352
  display: flex;
1351
1353
  align-items: center;
1354
+ font-weight: 400;
1352
1355
  @include tip1;
1353
1356
 
1354
1357
  span:last-child {
@@ -1387,8 +1390,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
1387
1390
  display: var(--copy-display);
1388
1391
  @include respond-to('phone') {
1389
1392
  bottom: var(--o-gap-2);
1390
- transform: revert;
1391
- top: revert;
1392
1393
  right: calc(20px + var(--o-gap-2))
1393
1394
  }
1394
1395
 
@@ -289,6 +289,10 @@ const computedList = computed(() => {
289
289
  background-color: var(--collapse-division-color);
290
290
  }
291
291
 
292
+ &:last-child::after {
293
+ display: none;
294
+ }
295
+
292
296
  @include hover {
293
297
  .text {
294
298
  color: var(--o-color-primary1);
@@ -137,7 +137,7 @@ defineExpose({ copyInfo });
137
137
 
138
138
  @include respond-to('phone') {
139
139
  font-size: 12px;
140
- gap: var(--o-gap-1);
140
+ gap: var(--o-gap-2);
141
141
  }
142
142
 
143
143
  &:not(.is-empty) {
@@ -7,11 +7,22 @@ import { CalendarDataType, meetingTabT } from './types.ts';
7
7
 
8
8
  const { t } = useI18n();
9
9
 
10
+ const getMeetingColor = () => {
11
+ if (typeof document !== 'undefined') {
12
+ const deepBlue = getComputedStyle(document.documentElement)
13
+ .getPropertyValue('--o-deep-blue-6')?.trim();
14
+ if (deepBlue) {
15
+ return 'rgba(var(--o-deep-blue-6))';
16
+ }
17
+ }
18
+ return 'var(--o-color-primary1)';
19
+ };
20
+
10
21
  export const TYPE_COLOR_MAP = {
11
- summit: 'var(--o-color-warning1)',
22
+ summit: 'rgba(var(--o-orange-6))',
12
23
  events: 'rgba(var(--o-cyan-6))',
13
- meeting: 'var(--o-color-primary1)',
14
- };
24
+ meeting: getMeetingColor(),
25
+ };
15
26
  export const MEETING_TABS: meetingTabT[] = [
16
27
  {
17
28
  label: t('meeting.meetingTypeAll'),
@@ -93,6 +93,7 @@ export interface MeetingFormPropsT {
93
93
  getGroupsRequest: any;
94
94
  showBtns?: boolean;
95
95
  groupType: MeetingGroupType;
96
+ bookText?: string
96
97
  }
97
98
 
98
99
  // 会议详情