diff --git a/src/assets/images/award/expired.png b/src/assets/images/award/expired.png new file mode 100644 index 00000000..e9e092da Binary files /dev/null and b/src/assets/images/award/expired.png differ diff --git a/src/component/Canvas/CanvasEditor/components/LayersPanel/LayersPanel.vue b/src/component/Canvas/CanvasEditor/components/LayersPanel/LayersPanel.vue index 0ed765d5..9c718004 100644 --- a/src/component/Canvas/CanvasEditor/components/LayersPanel/LayersPanel.vue +++ b/src/component/Canvas/CanvasEditor/components/LayersPanel/LayersPanel.vue @@ -584,15 +584,16 @@ function handleLayerClick(layer, event) { // 如果不是多选模式,才可激活图层 // 1.如果是组,则设置组下的第一个子图层为活动图层 // 2.否则直接设置活动图层 - if (isGroupLayerType(layer) && layer.children && layer.children.length > 0) { + if (isGroupLayerType(layer) && layer.children && layer.children.length > 0 && !layer.isPrintTrimsGroup) { // 如果是组图层,设置第一个子图层为活动图层 layerManager?.setAllActiveGroupLayerCanvasObject?.(layer); setActiveLayer(layer.children[0].id, { parentId: layer.id }); } else { + let id = layer.isPrintTrimsGroup ? layer.children?.[0]?.id || layer.id : layer.id; // 选中画布中的图层对象 - layerManager?.selectLayerObjects(layer.id); + layerManager?.selectLayerObjects(id); // 否则直接设置当前图层为活动图层 - setActiveLayer(layer.id); + setActiveLayer(id); layerManager?.updateLayersObjectsInteractivity(); } } diff --git a/src/views/AwardPage/apply.vue b/src/views/AwardPage/apply.vue index 14e95ff0..bcd14179 100644 --- a/src/views/AwardPage/apply.vue +++ b/src/views/AwardPage/apply.vue @@ -7,16 +7,16 @@
Application Form
Email Verification
AiDA Users Only
- +
{ + const now = new Date() + const targetDate = new Date('2026-03-15') + return now > targetDate + }) + const route = useRoute() const isCompleted = ref(false) const hasValidEmail = ref(false) @@ -432,6 +441,36 @@ ], lastName: [ { required: true, message: 'Please input your last name', trigger: 'blur' } + ], + gender: [ + { required: true, message: 'Please select your gender', trigger: 'blur' } + ], + occupation: [ + { required: true, message: 'Please input your occupation', trigger: 'blur' } + ], + age: [{ required: true, message: 'Please input your age', trigger: 'blur' }], + countryRegionCity: [ + { + required: true, + message: 'Please input your country/region and city', + trigger: 'blur' + } + ], + phoneNumber: [{ required: true, validator: validatePhone, trigger: 'blur' }], + + designTitle: [ + { required: true, message: 'Please input your design title', trigger: 'blur' } + ], + designDescription: [ + { + required: true, + message: 'Please input your design description', + trigger: 'blur' + } + ], + pdfPath: [{ required: true, message: 'Please upload your PDF', trigger: 'null' }], + videoPath: [ + { required: true, message: 'Please upload your video', trigger: 'null' } ] } @@ -962,8 +1001,9 @@ height: 1rem; } .apply-container { - min-height: calc(100% -18rem); + min-height: calc(100% - 18rem); background-color: #f5f5f5; + box-sizing: border-box; } .banner { diff --git a/src/views/AwardPage/components/Bloom.vue b/src/views/AwardPage/components/Bloom.vue index b49bbe7f..c0161f8a 100644 --- a/src/views/AwardPage/components/Bloom.vue +++ b/src/views/AwardPage/components/Bloom.vue @@ -26,13 +26,105 @@ @@ -66,3 +158,4 @@ } } + diff --git a/src/views/AwardPage/components/Slogan.vue b/src/views/AwardPage/components/Slogan.vue new file mode 100644 index 00000000..8829ab7c --- /dev/null +++ b/src/views/AwardPage/components/Slogan.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/views/AwardPage/components/Success.vue b/src/views/AwardPage/components/Success.vue index 56548050..4c42df4c 100644 --- a/src/views/AwardPage/components/Success.vue +++ b/src/views/AwardPage/components/Success.vue @@ -1,24 +1,51 @@ - +