实例表单:默认 2C12G、去免费文案、配额按 AD 联动

This commit is contained in:
2026-07-17 16:53:03 +08:00
parent fbed8d1ea4
commit c0229b60c1
5 changed files with 132 additions and 49 deletions
@@ -56,12 +56,13 @@ async function submit() {
// 后端 errors / instances 为空时序列化为 null,判空防炸
const ok = result.instances?.length ?? 0
const failed = result.errors?.length ?? 0
if (failed) message.warning(`${ok} 台创建成功,${failed} 台失败${result.errors![0]}`)
if (failed) message.warning(`${ok} 台创建成功,${failed} 台失败`, result.errors!.join('\n'))
else message.success(`已创建 ${ok} 台实例`)
emit('update:show', false)
emit('created')
} catch (e) {
message.error(e instanceof Error ? e.message : '创建失败')
// 逐台错误(可能多行)收进「展开详情」,标题保持简短
message.error('创建实例失败', e instanceof Error && e.message ? e.message : undefined)
} finally {
submitting.value = false
}
@@ -90,17 +91,18 @@ async function submit() {
<InstanceSpecForm
ref="specForm"
sectioned
auto-pick-ad
:cfg-id="cfgId"
:region="region"
:compartment-id="compartmentId"
/>
<div
class="mt-3 flex flex-wrap items-center justify-between gap-2 rounded-lg border border-line-soft bg-wash px-3 py-2 text-xs leading-relaxed text-ink-3"
v-if="specForm?.summary"
class="mt-3 rounded-lg border border-line-soft bg-wash px-3 py-2 text-xs leading-relaxed"
>
<span v-if="specForm?.summary" class="font-medium text-ink-2">
<span class="font-medium text-ink-2">
预估规格:{{ form.count }} · {{ specForm.summary }}
</span>
<span>容量不足Out of host capacity时可改用抢机任务反复尝试</span>
</div>
</FormModal>
</template>