diff --git a/.env b/.env index 6c0acfa..3e24a7d 100644 --- a/.env +++ b/.env @@ -8,4 +8,4 @@ VITE_OPEN = true VITE_OPEN_CDN = false # public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可 -VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202603250222/' \ No newline at end of file +VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202603261000/' \ No newline at end of file diff --git a/src/views/match/manage/Steps/Step3ProjectConfig.vue b/src/views/match/manage/Steps/Step3ProjectConfig.vue index 53602c3..9350366 100644 --- a/src/views/match/manage/Steps/Step3ProjectConfig.vue +++ b/src/views/match/manage/Steps/Step3ProjectConfig.vue @@ -5,52 +5,114 @@ - - - - - {{ item.projectTypeName }} - {{ item.durationMinutes }}:{{ item.durationSeconds - }} - {{ item.fee }} - - {{ group.groupName }} - {{ group.birthDateStart }} -- {{ group.birthDateEnd - }} - {{ genderList[group.gender] }} - - - - +
+
+
{{ item.name }}
+
类型:{{ item.projectTypeName }}
+
时长: {{ item.durationMinutes ?? 0 }}分 {{ item.durationSeconds ?? 0 }}秒
+
费用:{{ item.fee }} 元
+
+
+
+
+ + + + + + + + + +
+ +
+ + + +
+
+ +
暂无组别
+
+
- - - - +
+
+
+ * + 项目限报配置 +
+
为每个项目设置单独的限报数(必填)
+
+ +
+ + + + + + + + +
+
+ +
+
+
+ * + 个人项目限报数 +
+ + - - - - +
+
+
+ * + 团队项目限报数 +
+ + - - +
+
@@ -167,6 +229,13 @@ const columns = ref([ const removeProject = (idx) => localFormData.value.projects.splice(idx, 1); +const removeGroup = (projectIndex, groupIndex) => { + const p = localFormData.value.projects?.[projectIndex]; + if (!p) return; + if (!Array.isArray(p.groups)) p.groups = []; + p.groups.splice(groupIndex, 1); + ElMessage.success('删除组别成功'); +}; const isSyncingFromParent = ref(false); @@ -241,23 +310,172 @@ defineExpose({ validate }); margin-bottom: 24px; } -.project-collapse-title { +.project-limit-section { + margin-bottom: 16px; +} + +.project-limit-section__header { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 12px; + margin-bottom: 10px; +} + +.project-limit-section__title { + font-weight: 600; + color: var(--el-text-color-primary); +} + +.project-limit-section__desc { + color: var(--el-text-color-secondary); + font-size: 12px; + white-space: nowrap; +} + +.required-star { + color: var(--el-color-danger); + margin-right: 4px; +} + +.project-limit-table { + border: 1px solid var(--el-border-color); + border-radius: 12px; + overflow: hidden; + background: #fff; +} + +.project-limit-name { display: flex; align-items: center; gap: 10px; } -.project-collapse-title__label { - color: var(--el-text-color-secondary); +.project-limit-name__idx { font-size: 12px; - white-space: nowrap; - margin-left: 40px; + color: var(--el-text-color-secondary); + background: var(--el-fill-color-light); + border: 1px solid var(--el-border-color-lighter); + padding: 2px 8px; + border-radius: 999px; } -.project-collapse-title .el-input-number { +.project-limit-name__text { + font-weight: 600; + color: var(--el-text-color-primary); +} + +.project-limit-input { width: 160px; } +.limit-summary { + margin-top: 14px; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.limit-summary__card { + border: 1px solid var(--el-border-color); + border-radius: 12px; + background: var(--el-fill-color-light); + padding: 12px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.limit-summary__label { + font-weight: 600; + color: var(--el-text-color-primary); +} + +.project-card { + display: flex; + border: 1px solid var(--el-border-color); + border-radius: 14px; + overflow: hidden; + background: #fff; + margin-bottom: 16px; +} + +.project-card__meta { + width: 210px; + padding: 16px 14px; + background: linear-gradient(180deg, #4f8ffb 0%, #2f73f5 100%); + color: #fff; + display: flex; + flex-direction: column; + gap: 8px; +} + +.project-card__meta-name { + font-size: 16px; + font-weight: 700; + line-height: 1.2; +} + +.project-card__meta-line { + font-size: 13px; + opacity: 0.95; +} + +.meta-muted { + opacity: 0.85; +} + +.project-card__groups { + flex: 1; + padding: 14px 16px; + display: flex; + flex-direction: column; + gap: 12px; + background: #fff; +} + +.group-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 10px 12px; + border: 1px solid var(--el-border-color-lighter); + border-radius: 10px; + background: var(--el-fill-color-light); +} + +.group-row__fields { + display: grid; + grid-template-columns: 140px minmax(280px, 1fr) 120px; + gap: 10px; + align-items: center; + flex: 1; +} + +.group-row__name, +.group-row__range, +.group-row__gender { + width: 100%; +} + +.group-row__actions { + opacity: 0; + transition: opacity 0.15s ease; + flex: none; +} + +.group-row:hover .group-row__actions { + opacity: 1; +} + +.group-empty { + color: var(--el-text-color-secondary); + font-size: 13px; + padding: 6px 2px; +} + .input-hint { font-size: 12px; color: #909399; diff --git a/src/views/match/manage/Steps/Step4FeeConfig.vue b/src/views/match/manage/Steps/Step4FeeConfig.vue index bd909f5..11c51c0 100644 --- a/src/views/match/manage/Steps/Step4FeeConfig.vue +++ b/src/views/match/manage/Steps/Step4FeeConfig.vue @@ -16,11 +16,36 @@ 账户信息 - - - - - +
+ + + + + + +
+ + + + + +
+