@opendesign-plus-test/components 0.0.1-rc.29 → 0.0.1-rc.30

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.29",
3
+ "version": "0.0.1-rc.30",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -183,7 +183,7 @@ const rules = ref<Record<string, RulesT[]>>({
183
183
  }],
184
184
  email_list: [{
185
185
  validator: (value: string) => {
186
- const str = value.replaceAll(' ', '') || '';
186
+ const str = value.replaceAll(' ', '').replaceAll(',', ';') || '';
187
187
  if (str.length) {
188
188
  if (str.length > 1020) {
189
189
  return {
@@ -866,22 +866,23 @@ const deleteActions = computed<DialogActionT[]>(() => {
866
866
  .el-calendar__body {
867
867
  .el-calendar-table {
868
868
  width: 100%;
869
- tr {
870
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%) !important;
871
- }
872
869
 
873
870
  th {
874
871
  text-align: center;
875
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%) !important;
876
872
  border: none;
873
+ --o-color-control3-light: transparent;
874
+ }
875
+
876
+ tr {
877
+ --o-color-fill2: transparent;
877
878
  }
878
879
 
879
880
  td {
880
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%) !important;
881
881
  border: none;
882
882
  text-align: center;
883
883
  transition: none;
884
884
  padding: 0;
885
+ background-color: transparent !important;
885
886
 
886
887
  .el-calendar-day {
887
888
  padding: 0;
@@ -1251,7 +1252,6 @@ const deleteActions = computed<DialogActionT[]>(() => {
1251
1252
  align-items: flex-start;
1252
1253
  gap: var(--o-gap-3);
1253
1254
  width: 100%;
1254
- margin-bottom: var(--o-gap-2);
1255
1255
  @include respond-to('phone') {
1256
1256
  flex-grow: 1;
1257
1257
  width: 100%;
@@ -1359,6 +1359,7 @@ const deleteActions = computed<DialogActionT[]>(() => {
1359
1359
  align-items: center;
1360
1360
  padding-left: calc(var(--o-gap-3) + var(--icon-size));
1361
1361
  gap: var(--o-gap-4);
1362
+ margin-top: var(--o-gap-2);
1362
1363
  width: 100%;
1363
1364
 
1364
1365
  .o-link {
@@ -102,14 +102,14 @@ export const approvalStatusMap = new Map([
102
102
  [
103
103
  'rejected',
104
104
  {
105
- label: '审核驳回',
105
+ label: '已驳回',
106
106
  value: 'rejected',
107
107
  },
108
108
  ],
109
109
  [
110
110
  'approved',
111
111
  {
112
- label: '审核通过',
112
+ label: '已通过',
113
113
  value: 'approved',
114
114
  },
115
115
  ],
@@ -90,6 +90,8 @@ const getActivityData = async (date) => {
90
90
  return {
91
91
  ...v,
92
92
  type: 'activity',
93
+ start_date_time: `${ formatDate(v.start_date) } ${ v.start }`,
94
+ end_date_time: `${ formatDate(v.end_date) } ${ v.end }`,
93
95
  };
94
96
  });
95
97
  } else {
@@ -144,12 +146,11 @@ const paramGetDaysData = async (params: { date: string; type: string }) => {
144
146
  }
145
147
  };
146
148
 
147
-
148
149
  const renderData = computed(() => {
149
150
  return [
150
151
  ...meetingData.value.filter((v) => !sig.value || v.group_name === sig.value),
151
- ...eventsData.value.filter(v => v.dates.includes(currentDay.value)),
152
- ...summitData.value.filter(v => v.dates.includes(currentDay.value)),
152
+ ...eventsData.value.filter(v => (!dayjs(v.start_date).isAfter(dayjs(currentDay.value)) && !dayjs(currentDay.value).isAfter(dayjs(v.end_date))) || v.dates?.includes(currentDay.value)),
153
+ ...summitData.value.filter(v => v.dates?.includes(currentDay.value)),
153
154
  ].filter((v) => {
154
155
  if (tabType.value === 'all') {
155
156
  return true;
@@ -200,7 +200,7 @@ const rules = computed(() => {
200
200
  if (props.isEdit) {
201
201
  return {};
202
202
  }
203
- const str = value.replaceAll(' ', '') || '';
203
+ const str = value.replaceAll(' ', '').replaceAll(',', ';') || '';
204
204
  if (str.length) {
205
205
  if (str.length > 1020) {
206
206
  return {
@@ -15,6 +15,7 @@ import { CYCLE_TYPE_OPTIONS, INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_WEEK } from
15
15
 
16
16
  import { formatDate, getConfig, getPointStr } from '../utils.ts';
17
17
  import { useI18n } from '@/i18n';
18
+ import { acticityTypeMap } from '@/components/activity/config.ts';
18
19
 
19
20
  const props = withDefaults(defineProps<{
20
21
  list: MeetingItemT[];
@@ -42,6 +43,7 @@ const i18n = computed(() => {
42
43
  LEARN_MORE: t('common.seeMore'),
43
44
  JOIN_MEETING: t('meeting.joinMeeting'),
44
45
  SIGN: t('meeting.sign'),
46
+ DETAILS: t('meeting.detail'),
45
47
  };
46
48
  });
47
49
 
@@ -83,6 +85,21 @@ const computedList = computed(() => {
83
85
  return props.list.map((v) => {
84
86
  const type = v.type;
85
87
  let dateRange = '';
88
+ if (['activity'].includes(type)) {
89
+ let activity_type = acticityTypeMap.get(v.activity_type)?.label;
90
+ if (v.end_date === v.start_date) {
91
+ return {
92
+ ...v,
93
+ activity_type,
94
+ dateRange: `${ formatDate(v.start_date) } ${ v.start }-${ v.end }`,
95
+ };
96
+ }
97
+ return {
98
+ ...v,
99
+ activity_type,
100
+ dateRange: `${ formatDate(v.start_date) } ${ v.start }-${ formatDate(v.end_date) } ${ v.end }`,
101
+ };
102
+ }
86
103
  if (['events', 'summit'].includes(type)) {
87
104
  dateRange = `${ formatDate(v.start_date, 'YYYY/MM/DD HH:mm') } ${ formatDate(v.end_date, 'YYYY/MM/DD HH:mm') }`;
88
105
  return {
@@ -168,7 +185,7 @@ const computedList = computed(() => {
168
185
  <component :is="getConfig(item.type, 'icon')" />
169
186
  </OIcon>
170
187
  <div class="text">
171
- {{ item.topic || item.name }}
188
+ {{ item.topic || item.name || item.title }}
172
189
  </div>
173
190
  <div class="tag-wrapper" v-if="item.is_cycle">
174
191
  <OTag color="primary" variant="outline">{{ t('meeting.cycle') }}</OTag>
@@ -200,7 +217,15 @@ const computedList = computed(() => {
200
217
  </OIcon>
201
218
  </template>
202
219
  </OLink>
203
- <OLink v-if="item.signUrl" :href="item.signUrl" target="_blank" class="jump-detail-link">
220
+ <OLink v-if="item.content_url" :href="item.content_url" target="_blank" class="jump-detail-link">
221
+ <span>{{ i18n.DETAILS }}</span>
222
+ <template #suffix>
223
+ <OIcon>
224
+ <IconChevronRight />
225
+ </OIcon>
226
+ </template>
227
+ </OLink>
228
+ <OLink v-if="item.register_url" :href="item.register_url" target="_blank" class="jump-detail-link">
204
229
  <span>{{ i18n.SIGN }}</span>
205
230
  <template #suffix>
206
231
  <OIcon>
@@ -324,12 +349,44 @@ const computedList = computed(() => {
324
349
  }
325
350
 
326
351
  .o-collapse-item-body {
327
- background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%);
328
352
  margin-bottom: 0;
353
+ padding: 0 12px 16px 12px;
329
354
 
330
355
  a {
331
356
  word-break: break-all;
332
357
  }
358
+
359
+ .calendar-info {
360
+ display: flex;
361
+ color: var(--o-color-info3);
362
+ flex-direction: column;
363
+ background-color: color-mix(in srgb, var(--o-color-control2-light), transparent 60%);
364
+ padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + var(--o-gap-5) - 12px);
365
+ border-radius: var(--o-radius-xs);
366
+ @include tip1;
367
+
368
+ @include respond-to('<=pad_v') {
369
+ padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + 16px - 12px);
370
+
371
+ }
372
+ @include respond-to('phone') {
373
+ padding: 12px 16px;
374
+ }
375
+
376
+ .info-item {
377
+ display: flex;
378
+ margin-top: 8px;
379
+
380
+ .item-title {
381
+ min-width: 110px;
382
+ }
383
+ }
384
+
385
+ .info-item:first-child {
386
+ margin-top: 0;
387
+ }
388
+ }
389
+
333
390
  }
334
391
 
335
392
  .jump-detail-link {
@@ -436,34 +493,6 @@ const computedList = computed(() => {
436
493
  }
437
494
  }
438
495
 
439
- .calendar-info {
440
- display: flex;
441
- color: var(--o-color-info3);
442
- flex-direction: column;
443
- padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + var(--o-gap-5));
444
- @include tip1;
445
-
446
- @include respond-to('<=pad_v') {
447
- padding: 16px 16px 16px calc(var(--icon-right) + var(--icon-size2) + 16px);
448
-
449
- }
450
- @include respond-to('phone') {
451
- padding: 12px 16px;
452
- }
453
-
454
- .info-item {
455
- display: flex;
456
- margin-top: 8px;
457
-
458
- .item-title {
459
- min-width: 110px;
460
- }
461
- }
462
-
463
- .info-item:first-child {
464
- margin-top: 0;
465
- }
466
- }
467
496
  }
468
497
  }
469
498
 
@@ -33,8 +33,8 @@ const activityInfoList = computed(() =>
33
33
  { label: '起始日期', key: 'start_date_time' },
34
34
  { label: '结束日期', key: 'end_date_time' },
35
35
  { label: '报名截止时间', key: 'register_end_date' },
36
- { label: '活动详情地址', key: 'content_url', isLink: true },
37
36
  { label: '活动地点', key: 'address' },
37
+ { label: '活动详情地址', key: 'content_url', isLink: true },
38
38
  { label: '活动审批人', key: 'approver' },
39
39
  { label: '审核备注', key: 'approve_record', isRecord: true },
40
40
  ].slice(0, props.from === 'home' ? 4 : 7),
@@ -92,7 +92,7 @@ defineExpose({ copyInfo });
92
92
  }"
93
93
  >
94
94
  <template v-if="data[info.key] && !info.isRecord">
95
- <span class="label">{{ info.label }}<i>{{ isZh ? ':' : ':' }}</i></span>
95
+ <span class="label">{{ info.label }}</span>
96
96
  <MoreText :show="show" v-if="info.ellipsis" :text="data[info.key] || '-'" />
97
97
  <OLink
98
98
  v-else-if="info.isLink"
@@ -111,7 +111,7 @@ defineExpose({ copyInfo });
111
111
  </span>
112
112
  </template>
113
113
  <template v-if="info.isRecord && data[info.key]?.length">
114
- <span class="label">{{ info.label }}{{ isZh ? ':' : ':' }}</span>
114
+ <span class="label">{{ info.label }}</span>
115
115
  <div>
116
116
  <p v-for="re in data[info.key]" :key="re.create_time" class="value">
117
117
  {{ re.reason }}&nbsp;&nbsp;
package/src/i18n/en.ts CHANGED
@@ -49,6 +49,7 @@ export default {
49
49
  'meeting.cycle': 'Recurrence',
50
50
  'meeting.joinMeeting': 'Join',
51
51
  'meeting.sign': 'Sign Up',
52
+ 'meeting.detail': 'View Details',
52
53
  'meeting.meetingSummary': 'Minutes',
53
54
  'meeting.viewRecord': 'Playback',
54
55
  'meeting.editMeeting': 'Modify',
package/src/i18n/zh.ts CHANGED
@@ -49,6 +49,7 @@ export default {
49
49
  'meeting.cycle': '周期',
50
50
  'meeting.joinMeeting': '加入会议',
51
51
  'meeting.sign': '我要报名',
52
+ 'meeting.detail': '查看详情',
52
53
  'meeting.meetingSummary': '会议纪要',
53
54
  'meeting.viewRecord': '查看回放',
54
55
  'meeting.editMeeting': '修改会议',