feat(ui06): B3c form batch — full-page create/edit form + assets tab
- 新增 /albums/form/create 与 /albums/form/:albumId 整页表单路由(隐藏路由,父菜单高亮) - 编辑模式资料/访问页签(访问=开关行卡:标题+说明+开关);创建模式契约约束下载开关+解释提示 - 校验/提交逻辑与原对话框一致(契约镜像校验;translations 全量替换;创建仅 download 开关) - 保存成功跳相册详情;manage/detail 两处入口改路由跳转,删除 AlbumFormDialog - banner 上传收进详情「品牌资产」独立页签(15) - e2e 适配:整页表单流程(form-page/goback/访问页签)、详情锚点改 summary、banner 页签 - typecheck/lint/vitest/build 全绿 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -170,8 +170,6 @@
|
||||
</ElButton>
|
||||
<span v-else>{{ $t('albumsManage.list.noMore') }}</span>
|
||||
</div>
|
||||
|
||||
<AlbumFormDialog v-model="formVisible" :album="editing" @saved="onSaved" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -180,7 +178,6 @@
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { Search, Menu, Grid } from '@element-plus/icons-vue'
|
||||
import AlbumFormDialog from './AlbumFormDialog.vue'
|
||||
import AlbumCoverCard from '@/components/business/albums/AlbumCoverCard.vue'
|
||||
import { fetchAlbumList } from '@/api/albums'
|
||||
import { useCursorList } from '@/views/albums/composables/useCursorList'
|
||||
@@ -243,22 +240,13 @@
|
||||
]
|
||||
}
|
||||
|
||||
// ── 创建 / 编辑 ──
|
||||
const formVisible = ref(false)
|
||||
const editing = ref<Api.Album.Summary | null>(null)
|
||||
|
||||
// ── 创建 / 编辑(UI06:整页表单路由) ──
|
||||
function openCreate() {
|
||||
editing.value = null
|
||||
formVisible.value = true
|
||||
router.push({ name: 'AlbumsFormCreate' })
|
||||
}
|
||||
|
||||
function openEdit(album: Api.Album.Summary) {
|
||||
editing.value = album
|
||||
formVisible.value = true
|
||||
}
|
||||
|
||||
function onSaved() {
|
||||
loadFirst()
|
||||
router.push({ name: 'AlbumsFormEdit', params: { albumId: album.id } })
|
||||
}
|
||||
|
||||
// ── 跳转 ──
|
||||
|
||||
Reference in New Issue
Block a user