@opendesign-plus-test/components 0.0.1-rc.63 → 0.0.1-rc.65

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.
@@ -58,7 +58,6 @@ const emits = defineEmits(['edit']);
58
58
  // -------------------- 自动加载下一页 --------------------
59
59
  const nextLoading = ref(false);
60
60
  const bottomReached = ref(false);
61
- const headerRef = ref();
62
61
 
63
62
  const getList = async () => {
64
63
  if (!props.getMeetingListRequest) {
@@ -628,6 +627,8 @@ const cancelActions = computed<DialogActionT[]>(() => {
628
627
  :value="row.sub_id || row.id"
629
628
  :class="{
630
629
  'last-item': idx === groupList.length - 1 && rowIdx === group.list.length - 1,
630
+ 'is-delete': row.is_delete,
631
+ 'is-end': row.isExpired,
631
632
  }"
632
633
  >
633
634
  <template #title>
@@ -635,7 +636,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
635
636
  <div
636
637
  class="meeting-icon"
637
638
  :style="{
638
- backgroundColor: `${getConfig(CalendarDataType.MEETING, 'color')}`
639
+ backgroundColor: `${row.is_delete ? 'var(--o-color-info4)' : getConfig(CalendarDataType.MEETING, 'color')}`
639
640
  }"
640
641
  >
641
642
  <OIcon>
@@ -643,13 +644,7 @@ const cancelActions = computed<DialogActionT[]>(() => {
643
644
  </OIcon>
644
645
  </div>
645
646
  <div class="header-info">
646
- <div
647
- :class="{
648
- 'meeting-title': true,
649
- 'is-delete': row.is_delete,
650
- 'is-end': row.isExpired,
651
- }"
652
- >
647
+ <div class="meeting-title">
653
648
  <div v-if="row.is_delete">{{ t('meeting.meetingCancelled') }}</div>
654
649
  <div class="title-wrapper">
655
650
  <div class="title-text">{{ row.topic }}</div>
@@ -1002,7 +997,8 @@ const cancelActions = computed<DialogActionT[]>(() => {
1002
997
 
1003
998
  &.is-today {
1004
999
  .date-cell-text {
1005
- color: #000;
1000
+ color: var(--o-color-primary1);
1001
+ font-weight: bold;
1006
1002
  background-color: var(--o-color-control3-light);
1007
1003
  }
1008
1004
  }
@@ -1029,9 +1025,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
1029
1025
  }
1030
1026
  }
1031
1027
 
1032
- .is-today {
1033
- color: inherit;
1034
- }
1035
1028
  }
1036
1029
  }
1037
1030
  }
@@ -1072,14 +1065,14 @@ const cancelActions = computed<DialogActionT[]>(() => {
1072
1065
  padding-left: 24px;
1073
1066
  position: relative;
1074
1067
 
1075
- &.last-item {
1076
- flex-grow: 1;
1077
- }
1078
-
1079
1068
  @include respond('phone') {
1080
1069
  padding-left: var(--o-gap-2);
1081
1070
  }
1082
1071
 
1072
+ &.last-item {
1073
+ flex-grow: 1;
1074
+ }
1075
+
1083
1076
  .group-bar {
1084
1077
  position: absolute;
1085
1078
  left: 0;
@@ -1261,6 +1254,19 @@ const cancelActions = computed<DialogActionT[]>(() => {
1261
1254
  border-bottom: none;
1262
1255
  }
1263
1256
  }
1257
+
1258
+ &.is-delete,
1259
+ &.is-end {
1260
+
1261
+ .meeting-title {
1262
+ color: var(--o-color-info4);
1263
+
1264
+ .title-text {
1265
+ color: var(--o-color-info4);
1266
+ }
1267
+ }
1268
+ }
1269
+
1264
1270
  &.o-collapse-item-expanded {
1265
1271
  border-bottom: none;
1266
1272
  background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent) !important;
@@ -1329,8 +1335,10 @@ const cancelActions = computed<DialogActionT[]>(() => {
1329
1335
  align-items: center;
1330
1336
  justify-content: center;
1331
1337
  flex-shrink: 0;
1338
+ --icon-size2: var(--icon-size);
1332
1339
 
1333
1340
  .o-icon {
1341
+ font-size: calc(var(--icon-size2) - 2px);
1334
1342
  svg path {
1335
1343
  fill: currentColor;
1336
1344
  }
@@ -1348,15 +1356,6 @@ const cancelActions = computed<DialogActionT[]>(() => {
1348
1356
  margin-bottom: var(--o-gap-2);
1349
1357
  @include text2;
1350
1358
 
1351
- &.is-delete,
1352
- &.is-end {
1353
- color: var(--o-color-info4);
1354
-
1355
- .title-text {
1356
- color: var(--o-color-info4) !important;
1357
- }
1358
- }
1359
-
1360
1359
  .tag-wrapper {
1361
1360
  flex: 10;
1362
1361
  margin-left: var(--o-gap-2);
@@ -1,6 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import { ref, onMounted, computed, nextTick, watch } from 'vue';
3
3
  import { ODivider, OPopover, OIcon, OTabPane, OTab, OScroller } from '@opensig/opendesign';
4
+ import { ElSelect, ElOption } from 'element-plus';
4
5
  import dayjs from 'dayjs';
5
6
  import IconTips from '~icons/components/icon-tips.svg';
6
7
  import OMeetingSigAside from './components/OMeetingSigAside.vue';
@@ -8,6 +9,7 @@ import { CalendarDataType, MeetingEventsItemT, MeetingItemT } from './types.ts';
8
9
  import { useScreen } from '@opendesign-plus/composables';
9
10
  import { useMeetingConfig } from './composables/useMeetingConfig';
10
11
  import OMeetingCalendarList from '@/components/meeting/components/OMeetingCalendarList.vue';
12
+ import { formatDate } from '@/components/meeting/utils.ts';
11
13
 
12
14
  const props = defineProps<{
13
15
  sigName: String;
@@ -21,7 +23,7 @@ const { lePadV } = useScreen();
21
23
  const selectDate = ref<string>('');
22
24
 
23
25
  const loading = ref(false); // 数据加载状态
24
- const list = ref<(MeetingItemT | MeetingEventsItemT)[]>([]); // 某天的会议列表
26
+ const meetingData = ref<MeetingItemT[]>([]); // 某天的会议列表
25
27
  const calendarRows = computed(() => (lePadV.value ? 100 : 5)); // 日历行数
26
28
 
27
29
  const latestDate = ref<string>('');
@@ -44,7 +46,7 @@ const clickDateCell = async (date: string) => {
44
46
  loading.value = true;
45
47
  selectDate.value = dayjs(date).format('YYYY-MM-DD');
46
48
  const res = await props.getMeetingListRequest(selectDate.value, props.sigName);
47
- list.value = res.map((v: MeetingItemT) => {
49
+ meetingData.value = res.map((v: MeetingItemT) => {
48
50
  return {
49
51
  ...v,
50
52
  time: `${ v.start }-${ v.end }`,
@@ -54,11 +56,6 @@ const clickDateCell = async (date: string) => {
54
56
  });
55
57
  } finally {
56
58
  loading.value = false;
57
- eventsData.value.forEach((v) => {
58
- if (v.dates?.includes(selectDate.value)) {
59
- list.value.push(v);
60
- }
61
- });
62
59
  }
63
60
  };
64
61
 
@@ -68,7 +65,12 @@ const getDates = async () => {
68
65
  meetingDates.value = await props.getDateListRequest();
69
66
  }
70
67
  if (props.getEventsListRequest) {
71
- eventsData.value = await props.getEventsListRequest();
68
+ eventsData.value = (await props.getEventsListRequest(selectDate.value, props.sigName)).map((v: any) => {
69
+ return {
70
+ ...v,
71
+ type: CalendarDataType.EVENTS,
72
+ };
73
+ });
72
74
  eventsDates.value = (eventsData.value || []).map(v => v.dates || []).flat();
73
75
  }
74
76
  };
@@ -94,13 +96,15 @@ const getMonthAndDay = (date: string) => {
94
96
  };
95
97
 
96
98
  const dateList = computed(() => {
97
- let list = [];
99
+ let list: any[];
98
100
  if (tabType.value === CalendarDataType.ALL) {
99
101
  list = [...(meetingDates.value || []), ...eventsDates.value];
100
102
  } else if (tabType.value === CalendarDataType.MEETING) {
101
103
  list = meetingDates.value || [];
104
+ } else if (tabType.value === CalendarDataType.EVENTS) {
105
+ list = eventsDates.value || [];
102
106
  } else {
103
- list = eventsDates.value;
107
+ list = [];
104
108
  }
105
109
  return [...new Set(list)].sort((a, b) => !dayjs(a).isAfter(dayjs(b)) ? -1 : 1).map(v => dayjs(v).format('YYYY-MM-DD'));
106
110
  });
@@ -235,11 +239,25 @@ const changeMonthIdx = (step: number) => {
235
239
  onMounted(() => {
236
240
  getDates();
237
241
  });
242
+
243
+ const list = computed(() => {
244
+ let list: any[];
245
+ if (tabType.value === CalendarDataType.ALL) {
246
+ list = [...(meetingData.value || []), ...eventsData.value];
247
+ } else if (tabType.value === CalendarDataType.MEETING) {
248
+ list = meetingData.value || [];
249
+ } else if (tabType.value === CalendarDataType.EVENTS) {
250
+ list = eventsData.value || [];
251
+ } else {
252
+ list = [];
253
+ }
254
+ return list;
255
+ });
238
256
  </script>
239
257
 
240
258
  <template>
241
259
  <div class="o-sig-meeting-calendar">
242
- <div class="meeting-card-header" v-if="!lePadV">
260
+ <div class="meeting-card-header">
243
261
  <div class="header-left" v-if="latestDate">
244
262
  <span>{{ t('meeting.latestMeeting') }} </span>
245
263
  <span>{{ dayjs(latestDate).format('YYYY/MM/DD') }}</span>
@@ -268,12 +286,12 @@ onMounted(() => {
268
286
  <template v-if="lePadV && dateList.length">
269
287
  <div class="date-select">
270
288
  <ElSelect v-model="selectDate" @change="changeSelect">
271
- <template #label>{{ t('meeting.latestMeeting') }} {{ selectDate }}</template>
289
+ <template #label>{{ t('meeting.latestMeeting') }} {{ formatDate(selectDate) }}</template>
272
290
  <ElOption
273
291
  v-for="date in dateList"
274
292
  :key="date"
275
293
  :value="date"
276
- :label="dayjs(date).format('YYYY/MM/DD')"
294
+ :label="formatDate(date)"
277
295
  />
278
296
  </ElSelect>
279
297
  </div>
@@ -317,7 +335,7 @@ onMounted(() => {
317
335
  margin-top: var(--o-gap-5);
318
336
  @include respond('phone') {
319
337
  .meeting-card-header {
320
- padding: 12px 16px 0;
338
+ padding: var(--o-gap-3) var(--o-gap-4) 0;
321
339
 
322
340
  .el-input {
323
341
  flex-grow: 1;
@@ -329,7 +347,7 @@ onMounted(() => {
329
347
  }
330
348
 
331
349
  .date-select {
332
- padding: 16px;
350
+ padding: var(--o-gap-4);
333
351
 
334
352
  .o-select {
335
353
  width: 100%;
@@ -340,10 +358,13 @@ onMounted(() => {
340
358
  font-weight: 500;
341
359
  display: flex;
342
360
  align-items: center;
343
- padding: 12px 32px 0;
361
+ padding: var(--o-gap-3) var(--o-gap-6) 0;
344
362
  @include text1;
345
363
  @include respond('<=pad') {
346
- padding: 12px 16px 0;
364
+ padding: var(--o-gap-3) var(--o-gap-4) 0;
365
+ }
366
+ @include respond('<=pad_v') {
367
+ display: none;
347
368
  }
348
369
 
349
370
  .date-meeting {
@@ -353,8 +374,9 @@ onMounted(() => {
353
374
 
354
375
  .header-left {
355
376
  width: 35%;
356
- padding-bottom: 12px;
377
+ padding-bottom: var(--o-gap-3);
357
378
  color: var(--o-color-info1);
379
+ @include text1;
358
380
  }
359
381
 
360
382
  .o-tab {
@@ -365,7 +387,7 @@ onMounted(() => {
365
387
  position: relative;
366
388
 
367
389
  .o-tab-nav {
368
- padding-bottom: 12px;
390
+ padding-bottom: var(--o-gap-3);
369
391
 
370
392
  svg path {
371
393
  fill: currentColor;
@@ -406,8 +428,9 @@ onMounted(() => {
406
428
  }
407
429
 
408
430
  .list-content {
431
+ min-width: 0;
409
432
  flex-grow: 1;
410
- height: 400px;
433
+ height: 360px;
411
434
  @include respond('<=pad_v') {
412
435
  height: auto;
413
436
  }
@@ -1,5 +1,14 @@
1
1
  <script setup lang="ts">
2
- import { isClient, OCollapse, OCollapseItem, ODivider, OIcon, OLink, OTag, useMessage } from '@opensig/opendesign';
2
+ import {
3
+ isClient,
4
+ OCollapse,
5
+ OCollapseItem,
6
+ ODivider,
7
+ OIcon,
8
+ OButton,
9
+ OTag,
10
+ useMessage,
11
+ } from '@opensig/opendesign';
3
12
  import OMeetingDetail from './OMeetingDetail.vue';
4
13
  import { computed, nextTick, ref, watch } from 'vue';
5
14
  import IconCopy from '~icons/meeting/icon-copy.svg';
@@ -15,6 +24,7 @@ const { activityTypeMap } = useActivityConfig();
15
24
  const props = withDefaults(defineProps<{
16
25
  list: MeetingItemT[];
17
26
  groupType?: MeetingGroupType;
27
+ disableFormat?: boolean;
18
28
  }>(), {
19
29
  list: () => [],
20
30
  });
@@ -85,15 +95,15 @@ const computedList = computed<any[]>(() => {
85
95
  let activity_type = activityTypeMap.value.get(v.activity_type)?.label;
86
96
  if (v.start && v.end) {
87
97
  if (v.end_date === v.start_date) {
88
- dateRange = `${ formatDate(v.start_date) } ${ v.start }-${ v.end }`;
98
+ dateRange = `${ props.disableFormat ? v.start_date : formatDate(v.start_date) } ${ v.start } - ${ v.end }`;
89
99
  } else {
90
- dateRange = `${ formatDate(v.start_date) } ${ v.start }-${ formatDate(v.end_date) } ${ v.end }`;
100
+ dateRange = `${ props.disableFormat ? v.start_date : formatDate(v.start_date) } ${ v.start } - ${ props.disableFormat ? v.end_date : formatDate(v.end_date) } ${ v.end }`;
91
101
  }
92
102
  } else {
93
103
  if (v.start_date === v.end_date) {
94
- dateRange = formatDate(v.start_date);
104
+ dateRange = props.disableFormat ? v.start_date : formatDate(v.start_date);
95
105
  } else {
96
- dateRange = `${ formatDate(v.start_date) }-${ formatDate(v.end_date) }`;
106
+ dateRange = `${ props.disableFormat ? v.start_date : formatDate(v.start_date) } - ${ props.disableFormat ? v.end_date : formatDate(v.end_date) }`;
97
107
  }
98
108
  }
99
109
 
@@ -116,9 +126,9 @@ const computedList = computed<any[]>(() => {
116
126
  cycle_interval,
117
127
  cycle_point,
118
128
  } = v;
119
- dateRange = `${ formatDate(date) } ${ start } - ${ end }`;
129
+ dateRange = `${ props.disableFormat ? date : formatDate(date) } ${ start } - ${ end }`;
120
130
  if (is_cycle) {
121
- dateRange = `${ formatDate(cycle_start_date) } - ${ formatDate(cycle_end_date) }`;
131
+ dateRange = `${ props.disableFormat ? cycle_start_date : formatDate(cycle_start_date) } - ${ props.disableFormat ? cycle_end_date : formatDate(cycle_end_date) }`;
122
132
  }
123
133
 
124
134
  let timeRange = `${ start } - ${ end }`;
@@ -198,8 +208,8 @@ const computedList = computed<any[]>(() => {
198
208
  <template v-if="item.activity_type">{{ item.activity_type }}</template>
199
209
  </div>
200
210
  </div>
201
- <OLink
202
- :hover-underline="false"
211
+ <OButton
212
+ variant="text"
203
213
  v-if="item.url"
204
214
  :href="item.url"
205
215
  target="_blank"
@@ -211,9 +221,9 @@ const computedList = computed<any[]>(() => {
211
221
  <IconChevronRight />
212
222
  </OIcon>
213
223
  </template>
214
- </OLink>
215
- <OLink
216
- :hover-underline="false"
224
+ </OButton>
225
+ <OButton
226
+ variant="text"
217
227
  v-if="item.join_url"
218
228
  :href="item.join_url"
219
229
  target="_blank"
@@ -225,9 +235,9 @@ const computedList = computed<any[]>(() => {
225
235
  <IconChevronRight />
226
236
  </OIcon>
227
237
  </template>
228
- </OLink>
229
- <OLink
230
- :hover-underline="false"
238
+ </OButton>
239
+ <OButton
240
+ variant="text"
231
241
  v-if="item.content_url"
232
242
  :href="item.content_url"
233
243
  target="_blank"
@@ -239,9 +249,9 @@ const computedList = computed<any[]>(() => {
239
249
  <IconChevronRight />
240
250
  </OIcon>
241
251
  </template>
242
- </OLink>
243
- <OLink
244
- :hover-underline="false"
252
+ </OButton>
253
+ <OButton
254
+ variant="text"
245
255
  v-if="item.register_url"
246
256
  :href="item.register_url"
247
257
  target="_blank"
@@ -253,7 +263,7 @@ const computedList = computed<any[]>(() => {
253
263
  <IconChevronRight />
254
264
  </OIcon>
255
265
  </template>
256
- </OLink>
266
+ </OButton>
257
267
  </div>
258
268
  <OIcon @click.stop="() => copyInfo(index)" class="copy-icon">
259
269
  <IconCopy />
@@ -374,12 +384,13 @@ const computedList = computed<any[]>(() => {
374
384
 
375
385
  .o-collapse-item-title {
376
386
  flex-grow: 1;
387
+ min-width: 0;
377
388
  margin-bottom: 0;
378
389
  display: flex;
379
390
  align-items: center;
380
391
  justify-content: center;
381
392
  gap: var(--o-gap-4);
382
- padding-right: var(--o-gap-4);
393
+ padding-right: var(--o-gap-5);
383
394
 
384
395
  .meet-title-left {
385
396
  flex-grow: 1;
@@ -457,7 +468,7 @@ const computedList = computed<any[]>(() => {
457
468
 
458
469
  .jump-detail-link {
459
470
  padding-left: calc(var(--icon-right) + var(--icon-size2));
460
- margin-top: var(--o-gap-2);
471
+ margin-top: var(--o-gap-1);
461
472
  color: var(--o-color-info2);
462
473
  font-weight: 400;
463
474
  @include tip1;
@@ -508,7 +519,7 @@ const computedList = computed<any[]>(() => {
508
519
  margin-right: var(--icon-right);
509
520
  width: var(--icon-size2);
510
521
  height: var(--icon-size2);
511
- font-size: calc(var(--icon-size2) - 4px);
522
+ font-size: calc(var(--icon-size2) - 2px);
512
523
 
513
524
  svg path {
514
525
  fill: currentColor;
@@ -518,14 +529,16 @@ const computedList = computed<any[]>(() => {
518
529
  .text {
519
530
  display: block;
520
531
  font-weight: 600;
532
+ min-width: 0;
533
+ flex: 1;
521
534
  @include text-truncate(1);
522
535
  }
523
536
  }
524
537
 
525
538
  .meet-info {
539
+ display: flex;
526
540
  margin-left: calc(var(--icon-right) + var(--icon-size2));
527
541
  margin-top: var(--o-gap-2);
528
- display: flex;
529
542
  flex-wrap: wrap;
530
543
  align-items: center;
531
544
  color: var(--o-color-info3);
@@ -333,7 +333,7 @@ watch(
333
333
  <OTabPane :value="0" :label="t('meeting.audioToText')">
334
334
  <OScroller v-if="computedCaptions.length" id="captionsScrollDom" class="captions-scroller" show-type="hover"
335
335
  size="small" disabled-x>
336
- <ORow gap="0 12px" wrap="wrap">
336
+ <ORow gap="0 8px" wrap="wrap">
337
337
  <OCol flex="0 0 100%" v-for="(item, i) in computedCaptions" :key="i">
338
338
  <div class="captions-item" :class="{ 'captions-item-active': currentIndex === i + 1 }"
339
339
  @click="videoPosition(item.start_time)">
@@ -80,12 +80,14 @@ const changeMonth = (step: number) => {
80
80
  .o-sig-meeting-aside {
81
81
  width: 35%;
82
82
  flex-shrink: 0;
83
- padding: var(--o-gap-4) var(--o-gap-6);
83
+ padding: var(--o-gap-4);
84
84
  display: flex;
85
85
  flex-direction: column;
86
86
  border-right: 1px solid var(--o-color-control4);
87
87
  @include respond('<=pad') {
88
88
  padding: var(--o-gap-4);
89
+ }
90
+ @include respond('<=pad_v') {
89
91
  border-right: none;
90
92
  }
91
93
  @include respond('phone') {
@@ -104,7 +106,8 @@ const changeMonth = (step: number) => {
104
106
  .month {
105
107
  color: var(--o-color-info3);
106
108
  margin-bottom: var(--o-gap-2);
107
- @include tip1;
109
+ font-weight: bold;
110
+ @include text1;
108
111
  }
109
112
 
110
113
  .days {
@@ -124,9 +127,11 @@ const changeMonth = (step: number) => {
124
127
  cursor: pointer;
125
128
  border: 1px solid transparent;
126
129
 
127
- &:hover,
128
- &.active {
130
+ &:hover {
129
131
  background-color: var(--o-color-control3-light);
132
+ }
133
+
134
+ &.active {
130
135
  border-color: var(--o-color-primary1);
131
136
  }
132
137
 
@@ -144,7 +149,8 @@ const changeMonth = (step: number) => {
144
149
  .o-icon {
145
150
  width: 20px;
146
151
  height: 20px;
147
- font-size: 20px;
152
+ font-size: 18px;
153
+ padding: 1px;
148
154
  line-height: 1em;
149
155
  position: relative;
150
156
  border-radius: 50%;
@@ -164,7 +170,6 @@ const changeMonth = (step: number) => {
164
170
  }
165
171
 
166
172
  .arrow-wrapper {
167
- margin-top: auto;
168
173
  display: flex;
169
174
  align-items: center;
170
175
  justify-content: space-between;
@@ -42,7 +42,6 @@ export type PlatformT = 'welink' | 'tencent' | 'zoom' | 'WELINK' | 'TENCENT' | '
42
42
  export enum MeetingGroupType {
43
43
  SIG = 'sig',
44
44
  GROUP = 'group',
45
- NONE = 'none',
46
45
  }
47
46
 
48
47
  export interface MeetingCalendarPropsT {
@@ -56,12 +55,15 @@ export interface MeetingCalendarPropsT {
56
55
  hiddenSummit?: boolean;
57
56
  groupType: MeetingGroupType;
58
57
  groups: string[];
58
+ disableFormat?: boolean; //是否禁用日期格式化
59
59
  }
60
60
 
61
61
  // 会议新增、修改
62
62
  export interface MeetingPostT {
63
63
  id?: number; // 会议id
64
64
  topic: string; // 会议主题 128
65
+ name?: string; // 会议主题 128
66
+ title?: string; // 会议主题 128
65
67
  sponsor?: string; // 会议发起人 20
66
68
  group_name: string; // 所属SIG 64
67
69
  platform: PlatformT | string; // 会议平台
package/src/i18n/en.ts CHANGED
@@ -115,7 +115,7 @@ export default {
115
115
  'meeting.meetingDate': 'Date',
116
116
  'meeting.startTime': 'Start time',
117
117
  'meeting.endTime': 'End time',
118
- 'meeting.meetingRecord': 'AI Recording',
118
+ 'meeting.meetingRecord': 'Recording',
119
119
  'meeting.meetingRecordDesc': 'Enables auto screen recording. This service is provided by {0} Meeting. AI-powered playback will be automatically uploaded within one working day.',
120
120
  'meeting.meetingRecordDesc1': '1. Meeting AI recording is now enabled. Turning on Meeting AI Listen automatically activates cloud recording as well. After the meeting, you can replay the recording, and voice-to-text transcripts along with AI meeting minutes will be automatically generated.',
121
121
  'meeting.meetingRecordDesc2': '2. The AI-generated meeting replay link will be automatically generated and uploaded within 1 business day.',
package/src/i18n/zh.ts CHANGED
@@ -115,7 +115,7 @@ export default {
115
115
  'meeting.meetingDate': '会议日期',
116
116
  'meeting.startTime': '开始时间',
117
117
  'meeting.endTime': '结束时间',
118
- 'meeting.meetingRecord': '会议AI录制',
118
+ 'meeting.meetingRecord': '会议录制',
119
119
  'meeting.meetingRecordDesc1': '1、会议AI录制已开启,开启会议AI听即开启云录制,会后可回放会议录制并生成语音文字和AI纪要。',
120
120
  'meeting.meetingRecordDesc2': '2、AI生成的会议回放链接将在 1 个工作日内自动生成并上传。',
121
121
  'meeting.day0': '天',