@opendesign-plus-test/components 0.0.1-rc.24 → 0.0.1-rc.26

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.
@@ -14,6 +14,7 @@ import {
14
14
  OIconArrowRight,
15
15
  OIconChevronLeft,
16
16
  OIconChevronRight,
17
+ DialogActionT, OLink,
17
18
  } from '@opensig/opendesign';
18
19
  import { ElCalendar } from 'element-plus';
19
20
  import dayjs from 'dayjs';
@@ -450,6 +451,56 @@ onUnmounted(() => {
450
451
  const scrollerContainerEl = scrollerRef.value?.getContainerEl();
451
452
  scrollerContainerEl?.removeEventListener('scroll', scrollerScroll);
452
453
  });
454
+
455
+
456
+ const revokeActions = computed<DialogActionT[]>(() => {
457
+ return [{
458
+ id: 'confirm',
459
+ loading: dialogLoading.value,
460
+ color: 'primary',
461
+ variant: 'outline',
462
+ round: 'pill',
463
+ size: 'large',
464
+ label: '确定',
465
+ onClick: () => {
466
+ confirm();
467
+ },
468
+ }, {
469
+ id: 'cancel',
470
+ color: 'primary',
471
+ variant: 'solid',
472
+ round: 'pill',
473
+ size: 'large',
474
+ label: '取消',
475
+ onClick: () => {
476
+ cancel();
477
+ },
478
+ }];
479
+ });
480
+ const deleteActions = computed<DialogActionT[]>(() => {
481
+ return [{
482
+ id: 'confirm',
483
+ loading: dialogLoading.value,
484
+ color: 'primary',
485
+ variant: 'outline',
486
+ round: 'pill',
487
+ size: 'large',
488
+ label: '确定',
489
+ onClick: () => {
490
+ confirmDelete();
491
+ },
492
+ }, {
493
+ id: 'cancel',
494
+ color: 'primary',
495
+ variant: 'solid',
496
+ round: 'pill',
497
+ size: 'large',
498
+ label: '取消',
499
+ onClick: () => {
500
+ cancelDelete();
501
+ },
502
+ }];
503
+ });
453
504
  </script>
454
505
 
455
506
  <template>
@@ -458,8 +509,8 @@ onUnmounted(() => {
458
509
  <div v-if="isPhone" class="list-calendar-mb">
459
510
  <span>{{ (selectedDate ? dayjs(new Date(selectedDate)) : dayjs()).format('YYYY MM月') }}</span>
460
511
  <span>
461
- <OIcon @click="changeMonth('prev-month')"><OIconArrowLeft /></OIcon>
462
- <OIcon @click="changeMonth('next-month')"><OIconArrowRight /></OIcon>
512
+ <OIcon @click="changeMonth('prev-month')"><OIconChevronLeft /></OIcon>
513
+ <OIcon @click="changeMonth('next-month')"><OIconChevronRight /></OIcon>
463
514
  </span>
464
515
  </div>
465
516
  <div class="left-calendar">
@@ -468,10 +519,10 @@ onUnmounted(() => {
468
519
  <span>{{ (selectedDate ? dayjs(new Date(selectedDate)) : dayjs()).format('YYYY MM月') }}</span>
469
520
  <div>
470
521
  <OIcon @click="changeMonth('prev-month')">
471
- <OIconArrowLeft />
522
+ <OIconChevronLeft />
472
523
  </OIcon>
473
524
  <OIcon @click="changeMonth('next-month')">
474
- <OIconArrowRight />
525
+ <OIconChevronRight />
475
526
  </OIcon>
476
527
  </div>
477
528
  </template>
@@ -507,7 +558,7 @@ onUnmounted(() => {
507
558
  <template v-for="(act, idx) in activityList" :key="act.start_date">
508
559
  <div class="list-month-change prev-month" v-if="idx === 0" @click="changeMonth('prev-month')">
509
560
  <OIcon>
510
- <OIconChevronLeft />
561
+ <OIconArrowLeft />
511
562
  </OIcon>
512
563
  <span>上个月</span>
513
564
  </div>
@@ -542,8 +593,7 @@ onUnmounted(() => {
542
593
  >
543
594
  <template #title>
544
595
  <div class="item-header-left">
545
- <div class="act-icon"
546
- :class="[`act-icon-${row.is_delete ? 'delete' : statusMap.get(row.status)?.id}`]">
596
+ <div class="act-icon">
547
597
  <OIcon>
548
598
  <IconEvent />
549
599
  </OIcon>
@@ -574,19 +624,31 @@ onUnmounted(() => {
574
624
  </div>
575
625
  </div>
576
626
  <div class="item-header-right" v-if="!row.is_delete">
577
- <OButton
627
+ <OLink v-if="row.content_url" :href="row.content_url" target="_blank" rel="noopener noreferrer">
628
+ 活动详情
629
+ <template #suffix>
630
+ <OIcon>
631
+ <OIconChevronRight></OIconChevronRight>
632
+ </OIcon>
633
+ </template>
634
+ </OLink>
635
+ <OLink
578
636
  v-if="
579
637
  row.status === 3 ||
580
638
  row.status === 4 ||
581
639
  (row.status === 2 && row.update_activity_id && new Date(row.register_end_date).getTime() > new Date().getTime())
582
640
  "
583
- color="primary"
584
641
  :href="row.register_url"
585
642
  target="_blank"
586
643
  rel="noopener noreferrer"
587
- >我要报名
588
- </OButton
589
644
  >
645
+ 我要报名
646
+ <template #suffix>
647
+ <OIcon>
648
+ <OIconChevronRight></OIconChevronRight>
649
+ </OIcon>
650
+ </template>
651
+ </OLink>
590
652
  </div>
591
653
  </template>
592
654
  <div class="activity-detail">
@@ -596,18 +658,30 @@ onUnmounted(() => {
596
658
  :ref="(insRef) => getDetailRefs(insRef, row.id)"
597
659
  />
598
660
  <div class="activity-btn" v-if="!row.isExpired && !row.is_delete">
599
- <OButton v-if="row.status === 2" variant="text" @click="handleRevokeItem(row)">撤销审核
661
+ <OButton
662
+ v-if="row.status === 2"
663
+ variant="text"
664
+ @click="handleRevokeItem(row)"
665
+ >
666
+ 撤销审核
600
667
  </OButton>
601
- <OButton v-if="row.status === 1 || row.status === 3 || row.status === 4 || row.status === 7"
602
- variant="text" @click="handleEditItem(row)"
603
- >修改活动
604
- </OButton
668
+ <OButton
669
+ v-if="row.status === 1 || row.status === 3 || row.status === 4 || row.status === 7"
670
+ variant="text" @click="handleEditItem(row)"
671
+ >
672
+ 修改活动
673
+ </OButton>
674
+ <OButton
675
+ v-if="row.status === 1 || row.status === 7" variant="text"
676
+ @click="handleDeleteItem(row)"
605
677
  >
606
- <OButton v-if="row.status === 1 || row.status === 7" variant="text"
607
- @click="handleDeleteItem(row)">删除活动
678
+ 删除活动
608
679
  </OButton>
609
- <OButton v-if="row.status === 1 || row.status === 7" variant="text"
610
- @click="handleSubmitReviewItem(row)">提交审核
680
+ <OButton
681
+ v-if="row.status === 1 || row.status === 7" variant="text"
682
+ @click="handleSubmitReviewItem(row)"
683
+ >
684
+ 提交审核
611
685
  </OButton>
612
686
  </div>
613
687
  </div>
@@ -618,7 +692,7 @@ onUnmounted(() => {
618
692
  <div class="load-text" v-if="bottomReached">加载中···</div>
619
693
  <div class="list-month-change next-month" @click="changeMonth('next-month')">
620
694
  <OIcon>
621
- <OIconChevronRight />
695
+ <OIconArrowRight />
622
696
  </OIcon>
623
697
  <span>下个月</span>
624
698
  </div>
@@ -633,30 +707,14 @@ onUnmounted(() => {
633
707
  </div>
634
708
  </div>
635
709
  <!-- 撤销审核弹窗 -->
636
- <ODialog v-model:visible="revokeVisible" main-class="handle-dialog-active">
710
+ <ODialog v-model:visible="revokeVisible" main-class="handle-dialog-active" :actions="revokeActions">
637
711
  <template #header>撤销审核</template>
638
712
  <div class="dialog-content">是否确认要撤销“{{ currentRow.title }}”活动?撤销审核后活动将变成草稿状态。</div>
639
- <template #footer>
640
- <div class="dialog-footer">
641
- <OButton color="primary" variant="outline" size="large" round="pill" @click="confirm" :loading="dialogLoading">
642
- 确定
643
- </OButton>
644
- <OButton color="primary" variant="solid" size="large" round="pill" @click="cancel">取消</OButton>
645
- </div>
646
- </template>
647
713
  </ODialog>
648
714
  <!-- 删除活动弹窗 -->
649
- <ODialog v-model:visible="deleteVisible" main-class="handle-dialog-active">
715
+ <ODialog v-model:visible="deleteVisible" main-class="handle-dialog-active" :actions="deleteActions">
650
716
  <template #header>删除活动</template>
651
717
  <div class="dialog-content">是否确认删除“{{ currentRow.title }}”活动?删除后记录将不再我的个人中心呈现。</div>
652
- <template #footer>
653
- <div class="dialog-footer">
654
- <OButton color="primary" variant="outline" size="large" round="pill" @click="confirmDelete"
655
- :loading="dialogLoading">确定
656
- </OButton>
657
- <OButton color="primary" variant="solid" size="large" round="pill" @click="cancelDelete">取消</OButton>
658
- </div>
659
- </template>
660
718
  </ODialog>
661
719
  </template>
662
720
 
@@ -688,14 +746,18 @@ onUnmounted(() => {
688
746
  .activity-list {
689
747
  display: flex;
690
748
  flex-wrap: nowrap;
691
- height: calc(100% - var(--o-gap-6) * 5);
692
- --table-bg: rgba(243, 246, 250);
693
- --cell-bg: rgba(235, 241, 250);
694
- --cell-bg-hover: rgba(213, 227, 253);
695
- @include respond-to('<=pad_v') {
749
+ gap: var(--o-gap-4);
750
+ height: 100%;
751
+ --phone-padding-top: 0;
752
+ @include respond-to('pad_v') {
696
753
  flex-direction: column;
754
+ gap: var(--o-gap-4);
755
+ }
756
+ @include respond-to('phone') {
757
+ flex-direction: column;
758
+ gap: var(--o-gap-3);
759
+ --phone-padding-top: calc(var(--o-gap-5) + var(--o-gap-3) + var(--o-gap-3));
697
760
  }
698
-
699
761
  .o-loading {
700
762
  .o-layer-mask {
701
763
  background-color: transparent;
@@ -749,10 +811,11 @@ onUnmounted(() => {
749
811
  .left-calendar {
750
812
  width: 336px;
751
813
  flex-shrink: 0;
814
+ --table-bg: var(--o-color-control2-light);
752
815
 
753
816
  .el-calendar {
754
817
  min-height: 460px;
755
- height: 100%;
818
+ height: calc(100% - 54px);
756
819
  background-color: var(--table-bg);
757
820
  border-radius: var(--o-radius-xs);
758
821
 
@@ -783,15 +846,22 @@ onUnmounted(() => {
783
846
 
784
847
  .el-calendar__body {
785
848
  .el-calendar-table {
849
+ tr {
850
+ background: var(--table-bg) !important;
851
+ }
852
+
786
853
  th {
787
854
  text-align: center;
855
+ background: var(--table-bg) !important;
856
+ border: none;
788
857
  }
789
858
 
790
859
  td {
791
- background-color: var(--table-bg);
860
+ background: var(--table-bg) !important;
792
861
  border: none;
793
862
  text-align: center;
794
863
  transition: none;
864
+ padding: 0;
795
865
 
796
866
  .el-calendar-day {
797
867
  padding: 0;
@@ -834,7 +904,7 @@ onUnmounted(() => {
834
904
 
835
905
  &:not(.is-selected) {
836
906
  .date-cell-text:hover {
837
- background-color: var(--cell-bg-hover);
907
+ background-color: var(--o-color-control3-light);
838
908
  }
839
909
  }
840
910
  }
@@ -853,7 +923,7 @@ onUnmounted(() => {
853
923
  &.is-today {
854
924
  .date-cell-text {
855
925
  color: #000;
856
- background-color: var(--cell-bg-hover);
926
+ background-color: var(--o-color-control3-light);
857
927
  }
858
928
  }
859
929
 
@@ -870,7 +940,15 @@ onUnmounted(() => {
870
940
  }
871
941
 
872
942
  &.approved::after {
873
- background-color: rgba(255, 165, 0, 1);
943
+ background-color: rgba(var(--o-cyan-6));
944
+ }
945
+
946
+ &.expired::after {
947
+ background-color: rgb(var(--o-mixedgray-6));
948
+ }
949
+
950
+ &.all-deleted::after {
951
+ background-color: rgb(var(--o-mixedgray-6));
874
952
  }
875
953
  }
876
954
  }
@@ -912,10 +990,15 @@ onUnmounted(() => {
912
990
  .right-meeting {
913
991
  flex-grow: 1;
914
992
  background-color: var(--o-color-fill2);
915
- margin-left: 16px;
993
+
916
994
  @include respond-to('phone') {
917
- margin-top: calc(24px + var(--o-gap-7));
918
- margin-left: 0;
995
+ margin-top: calc(var(--phone-padding-top) - var(--o-gap-4));
996
+ }
997
+
998
+ &.is-empty {
999
+ display: flex;
1000
+ align-items: center;
1001
+ justify-content: center;
919
1002
  }
920
1003
 
921
1004
  .o-scroller {
@@ -932,7 +1015,7 @@ onUnmounted(() => {
932
1015
  }
933
1016
 
934
1017
  .act-item {
935
- padding-left: var(--o-gap-5);
1018
+ padding-left: 24px;
936
1019
  position: relative;
937
1020
 
938
1021
  &.last-item {
@@ -951,7 +1034,7 @@ onUnmounted(() => {
951
1034
  bottom: 0;
952
1035
  overflow: hidden;
953
1036
 
954
- --active-color: rgb(222, 222, 227);
1037
+ --active-color: var(--o-color-primary1);
955
1038
 
956
1039
  &::before {
957
1040
  content: '';
@@ -1019,7 +1102,7 @@ onUnmounted(() => {
1019
1102
  }
1020
1103
 
1021
1104
  .approved {
1022
- --active-color: rgba(255, 165, 0, 1);
1105
+ --active-color: var(--o-color-primary1);
1023
1106
  }
1024
1107
 
1025
1108
  .group-title {
@@ -1028,7 +1111,7 @@ onUnmounted(() => {
1028
1111
  color: var(--o-color-info1);
1029
1112
  @include text2;
1030
1113
  @include respond-to('phone') {
1031
- padding-left: var(--o-gap-4);
1114
+ padding-left: var(--o-gap-5);
1032
1115
  }
1033
1116
 
1034
1117
  &.is-end {
@@ -1088,6 +1171,14 @@ onUnmounted(() => {
1088
1171
  display: flex;
1089
1172
  flex-direction: column;
1090
1173
 
1174
+ .o-collapse-item {
1175
+ &.last-item {
1176
+ .o-collapse-item-header {
1177
+ border-bottom: none;
1178
+ }
1179
+ }
1180
+ }
1181
+
1091
1182
  .o-collapse-item-expanded + .o-collapse-item-expanded {
1092
1183
  margin-top: var(--o-gap-4);
1093
1184
  }
@@ -1106,13 +1197,31 @@ onUnmounted(() => {
1106
1197
  border-top: none;
1107
1198
  border-radius: var(--o-radius-xs);
1108
1199
  transition: margin var(--o-easing-standard) var(--o-duration-s);
1200
+ --copy-display: none;
1201
+ --icon-size: 24px;
1202
+ @include respond-to('<=pad_v') {
1203
+ padding: var(--o-gap-3) var(--o-gap-4);
1204
+ }
1205
+
1206
+ &:hover {
1207
+ @include respond-to('>pad_v') {
1208
+ --copy-display: inline-flex;
1209
+ }
1210
+ }
1211
+
1212
+ @include respond-to('phone') {
1213
+ --icon-size: 20px;
1214
+ }
1109
1215
 
1110
1216
  &.o-collapse-item-expanded {
1111
- background-color: var(--table-bg);
1217
+ @include respond-to('<=pad_v') {
1218
+ --copy-display: inline-flex;
1219
+ }
1112
1220
  }
1113
1221
 
1114
- @include respond-to('<=pad_v') {
1115
- padding: 8px 12px;
1222
+
1223
+ &.o-collapse-item-expanded {
1224
+ background-color: var(--o-color-control2-light);
1116
1225
  }
1117
1226
  }
1118
1227
 
@@ -1125,60 +1234,67 @@ onUnmounted(() => {
1125
1234
  gap: var(--o-gap-4);
1126
1235
 
1127
1236
  .o-collapse-item-icon {
1237
+ position: relative;
1238
+ top: 4px;
1128
1239
  flex-shrink: 0;
1240
+ @include respond-to('phone') {
1241
+ position: absolute;
1242
+ right: 0;
1243
+ width: 20px;
1244
+ height: 20px;
1245
+ font-size: 20px;
1246
+ bottom: var(--o-gap-2);
1247
+ top: revert;
1248
+ }
1129
1249
  }
1130
1250
 
1251
+
1131
1252
  .o-collapse-item-title {
1132
1253
  flex: 1;
1133
1254
  width: 0;
1134
1255
  display: flex;
1135
- align-items: center;
1256
+ flex-direction: column;
1257
+ align-items: flex-start;
1136
1258
  justify-content: space-between;
1137
- flex-wrap: nowrap;
1138
-
1139
1259
  .item-header-left {
1140
1260
  display: flex;
1141
1261
  align-items: flex-start;
1142
1262
  gap: var(--o-gap-3);
1143
- flex: 1;
1144
- width: 0;
1145
-
1263
+ width: 100%;
1264
+ margin-bottom: var(--o-gap-2);
1265
+ @include respond-to('phone') {
1266
+ flex-grow: 1;
1267
+ width: 100%;
1268
+ align-self: stretch;
1269
+ flex-shrink: 0;
1270
+ }
1146
1271
  .act-icon {
1147
- width: 24px;
1148
- height: 24px;
1272
+ width: var(--icon-size);
1273
+ height: var(--icon-size);
1149
1274
  border-radius: 50%;
1150
- background-color: rgba(var(--o-cyan-6));
1275
+ background-color: var(--o-color-primary1);
1151
1276
  color: #fff;
1152
1277
  display: flex;
1153
1278
  align-items: center;
1154
1279
  justify-content: center;
1155
1280
  flex-shrink: 0;
1156
- @include respond-to('phone') {
1157
- width: 20px;
1158
- height: 20px;
1159
- }
1160
1281
 
1161
- svg path {
1162
- fill: currentColor
1282
+ .o-icon {
1283
+ svg path {
1284
+ fill: currentColor;
1285
+ }
1163
1286
  }
1164
- }
1165
-
1166
- .act-icon-registration,
1167
- .act-icon-in-progress {
1168
- background-color: rgba(255, 165, 0, 1);
1169
- }
1170
1287
 
1171
- .act-icon-delete {
1172
- background-color: rgba(222, 222, 227, 1);
1173
1288
  }
1174
1289
 
1175
1290
  .header-info {
1176
- width: calc(100% - var(--o-gap-3) - 24px);
1291
+ width: calc(100% - var(--o-gap-3) - var(--icon-size));
1177
1292
 
1178
1293
  .act-title {
1179
1294
  font-weight: 500;
1180
1295
  display: flex;
1181
1296
  align-items: center;
1297
+ margin-bottom: var(--o-gap-2);
1182
1298
  @include text2;
1183
1299
 
1184
1300
  &.is-delete,
@@ -1237,36 +1353,53 @@ onUnmounted(() => {
1237
1353
  }
1238
1354
 
1239
1355
  .item-header-right {
1240
- flex-shrink: 0;
1241
1356
  display: flex;
1242
1357
  align-items: center;
1243
- padding-left: var(--o-gap-4);
1244
- }
1245
- }
1358
+ padding-left: calc(var(--o-gap-3) + var(--icon-size));
1359
+ gap: var(--o-gap-5);
1360
+ width: 100%;
1246
1361
 
1247
- @include respond-to('phone') {
1248
- .o-collapse-item-icon {
1249
- align-self: flex-end;
1250
- position: relative;
1251
- bottom: 4px;
1362
+ .o-link {
1363
+ font-size: 14px;
1364
+ line-height: 21px;
1365
+ }
1366
+
1367
+ .o-link + .o-link {
1368
+ margin-left: var(--o-gap-section-6);
1369
+ }
1370
+
1371
+ .o-icon {
1372
+ font-size: 16px;
1373
+ }
1252
1374
  }
1253
- .o-collapse-item-title {
1254
- flex-direction: column;
1255
- align-items: flex-start;
1256
1375
 
1257
- .item-header-left {
1258
- flex-grow: 1;
1259
- width: 100%;
1260
- align-self: stretch;
1261
- flex-shrink: 0;
1376
+ .copy-icon {
1377
+ position: absolute;
1378
+ top: 50%;
1379
+ transform: translateY(-50%);
1380
+ right: calc(var(--collapse-item-icon-size) + var(--o-gap-4));
1381
+ font-size: 18px;
1382
+ height: 18px;
1383
+ width: 18px;
1384
+ display: var(--copy-display);
1385
+ @include respond-to('phone') {
1386
+ bottom: var(--o-gap-2);
1387
+ transform: revert;
1388
+ top: revert;
1389
+ right: calc(20px + var(--o-gap-2))
1390
+ }
1391
+
1392
+ &:hover {
1393
+ color: var(--o-color-primary1);
1262
1394
  }
1263
1395
 
1264
- .item-header-right {
1265
- padding-left: 24px;
1266
- margin-top: 8px;
1396
+
1397
+ svg path {
1398
+ fill: currentColor;
1267
1399
  }
1268
1400
  }
1269
1401
  }
1402
+
1270
1403
  }
1271
1404
 
1272
1405
  .o-collapse-item-body {
@@ -1274,7 +1407,7 @@ onUnmounted(() => {
1274
1407
  padding: var(--o-gap-4) 0 0;
1275
1408
 
1276
1409
  .activity-detail {
1277
- padding-left: calc(var(--o-gap-5) + var(--o-gap-3));
1410
+ padding-left: calc(var(--o-gap-3) + var(--icon-size));
1278
1411
  @include respond-to('phone') {
1279
1412
  padding-left: 0;
1280
1413
  }
@@ -1286,14 +1419,16 @@ onUnmounted(() => {
1286
1419
  display: flex;
1287
1420
  align-items: center;
1288
1421
  justify-content: flex-end;
1289
-
1290
- .o-btn + .o-btn {
1291
- margin-left: 16px;
1292
- }
1422
+ gap: var(--o-gap-5);
1293
1423
  }
1294
1424
  }
1295
1425
  }
1296
1426
 
1427
+ .o-btn.o-btn-text {
1428
+ padding-left: 0 !important;
1429
+ padding-right: 0 !important;
1430
+ min-width: auto;
1431
+ }
1297
1432
  .o-btn-text {
1298
1433
  @include hover {
1299
1434
  background-color: transparent;
@@ -1321,8 +1456,7 @@ onUnmounted(() => {
1321
1456
  <style lang="scss">
1322
1457
  .handle-dialog-active {
1323
1458
  width: 450px;
1324
- --dlg-radius: 16px;
1325
-
1459
+ --dlg-radius: var(--o-radius-xs);
1326
1460
  .o-dlg-header {
1327
1461
  margin-bottom: var(--o-gap-5);
1328
1462
  }
@@ -1332,11 +1466,8 @@ onUnmounted(() => {
1332
1466
  justify-content: center;
1333
1467
  }
1334
1468
 
1335
- .dialog-footer {
1336
- display: flex;
1337
- justify-content: center;
1338
- margin-top: var(--o-gap-4);
1339
- column-gap: var(--o-gap-4);
1469
+ .dialog-content {
1470
+ margin-bottom: var(--o-gap-2);
1340
1471
  }
1341
1472
  }
1342
1473
  </style>
@@ -84,8 +84,8 @@ export const statusMap = new Map([
84
84
  7,
85
85
  {
86
86
  id: 'reject',
87
- label: '审核驳回',
88
- text: '审核驳回',
87
+ label: '已驳回',
88
+ text: '已驳回',
89
89
  value: 7,
90
90
  },
91
91
  ],
@@ -15,6 +15,8 @@ export interface ParamsItemT {
15
15
  schedules?: string;
16
16
  is_publish: string; // 是否发布 true-发布审核 false-发布为草稿
17
17
  update_activity_id?: string;
18
+ email_list?: string; // 邮件列表
19
+ organizer?: string; // 主办方
18
20
  approver: string; // 审批人
19
21
  }
20
22
 
@@ -23,7 +25,10 @@ export interface ActivityFormPropsT {
23
25
  creatActivity: any;
24
26
  editActivity: any;
25
27
  admins: string[];
26
- status?: string | null;
28
+ organizers: {
29
+ id: number;
30
+ name: string;
31
+ }[];
27
32
  }
28
33
 
29
34
  export interface TypeOptionT {
@@ -1,6 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import { OIcon, OIconChevronDown, OIconChevronUp } from '@opensig/opendesign';
3
3
  import { nextTick, onMounted, ref, watch } from 'vue';
4
+ import { useI18n } from '@/i18n';
4
5
 
5
6
  const props = withDefaults(
6
7
  defineProps<{
@@ -16,6 +17,9 @@ const props = withDefaults(
16
17
  show: false,
17
18
  },
18
19
  );
20
+
21
+ const { t } = useI18n();
22
+
19
23
  const expanded = ref(false); // 是否展开
20
24
  const showBtn = ref(false); // 受否显示展开按钮
21
25
  const offsetHeight = ref(0); // 内容高度