fix: 修复版本管理状态判断和编辑页面数据加载问题
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user