fix: 修复版本管理状态判断和编辑页面数据加载问题

This commit is contained in:
2026-05-08 20:53:24 +08:00
parent a3ebcd3486
commit bc562e04dc
3 changed files with 7 additions and 44 deletions
+1 -21
View File
@@ -45,7 +45,6 @@ const formData = ref({
description: '',
update_strategy: 'optional' as 'optional' | 'forced',
update_method: 'manual' as 'manual' | 'hot' | 'full',
min_version: '',
changelog: '',
entry_file: '',
base_version_id: '',
@@ -83,8 +82,7 @@ function formatFileSize(size: number): string {
async function fetchVersion() {
loading.value = true
try {
const data = await api.get<any>(`/dev/versions/${versionId.value}`)
const ver = data?.version || data
const ver = await api.get<any>(`/dev/versions/${versionId.value}`)
if (ver) {
formData.value.application_id = String(ver.application_id || '')
formData.value.version = ver.version || ''
@@ -92,7 +90,6 @@ async function fetchVersion() {
formData.value.update_strategy = ver.update_strategy || 'optional'
formData.value.update_method = ver.update_method || 'manual'
formData.value.base_version_id = ver.base_version_id ? String(ver.base_version_id) : ''
formData.value.min_version = ver.min_version || ''
formData.value.changelog = ver.changelog || ''
formData.value.entry_file = ver.entry_file || ''
}
@@ -179,7 +176,6 @@ async function handleSubmit() {
description: formData.value.description,
update_strategy: formData.value.update_strategy,
update_method: formData.value.update_method,
min_version: formData.value.min_version,
changelog: formData.value.changelog,
entry_file: formData.value.entry_file,
}
@@ -265,18 +261,6 @@ onMounted(() => {
/>
</div>
<div class="space-y-2">
<UiLabel for="min_version">
{{ t('admin.versions.createForm.minVersion') }}
</UiLabel>
<UiInput
id="min_version"
v-model="formData.min_version"
placeholder="0.9.0"
:disabled="saving"
/>
</div>
<div class="space-y-2">
<UiLabel for="description">
{{ t('admin.versions.createForm.versionDesc') }}
@@ -486,10 +470,6 @@ onMounted(() => {
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewVersion') }}</span>
<span>{{ formData.version || '-' }}</span>
</div>
<div class="flex justify-between text-sm">
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewMinVersion') }}</span>
<span>{{ formData.min_version || '-' }}</span>
</div>
<div class="flex justify-between text-sm">
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewDesc') }}</span>
<span class="truncate max-w-[120px]">{{ formData.description || '-' }}</span>
@@ -90,15 +90,16 @@ export function getColumns(options: ColumnOptions, t: (key: string) => string):
accessorKey: 'status',
header: () => t('admin.versions.columns.status'),
cell: ({ row }) => {
const strategy = row.original.update_strategy
const statusClasses: Record<string, string> = {
active: 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400',
superseded: 'bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400',
optional: 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400',
forced: 'bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400',
}
const statusLabels: Record<string, string> = {
active: t('admin.versions.status.active'),
superseded: t('admin.versions.status.superseded'),
optional: t('admin.versions.strategies.optional'),
forced: t('admin.versions.strategies.forced'),
}
return h(Badge, { class: statusClasses[row.original.status] }, () => statusLabels[row.original.status])
return h(Badge, { class: statusClasses[strategy] || statusClasses.optional }, () => statusLabels[strategy] || strategy)
},
},
{
@@ -50,7 +50,6 @@ const formData = ref({
description: '',
update_strategy: 'optional' as 'optional' | 'forced',
update_method: 'manual' as 'manual' | 'hot' | 'full',
min_version: '',
changelog: '',
entry_file: '',
base_version_id: '',
@@ -195,7 +194,6 @@ async function handleSubmit() {
description: formData.value.description,
update_strategy: formData.value.update_strategy,
update_method: formData.value.update_method,
min_version: formData.value.min_version,
changelog: formData.value.changelog,
entry_file: formData.value.entry_file,
base_version_id: formData.value.base_version_id ? Number(formData.value.base_version_id) : null,
@@ -280,18 +278,6 @@ watch(() => formData.value.application_id, (newAppId) => {
/>
</div>
<div class="space-y-2">
<UiLabel for="min_version">
{{ t('admin.versions.createForm.minVersion') }}
</UiLabel>
<UiInput
id="min_version"
v-model="formData.min_version"
:placeholder="t('admin.versions.createForm.minVersionPlaceholder')"
:disabled="saving"
/>
</div>
<div class="space-y-2">
<UiLabel for="description">
{{ t('admin.versions.createForm.versionDesc') }}
@@ -528,10 +514,6 @@ watch(() => formData.value.application_id, (newAppId) => {
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewVersion') }}</span>
<span>{{ formData.version || '-' }}</span>
</div>
<div class="flex justify-between text-sm">
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewMinVersion') }}</span>
<span>{{ formData.min_version || '-' }}</span>
</div>
<div class="flex justify-between text-sm">
<span class="text-muted-foreground">{{ t('admin.versions.createForm.previewDesc') }}</span>
<span class="truncate max-w-[120px]">{{ formData.description || '-' }}</span>