fix: 创建数据卷的系统卷展示选择镜像
This commit is contained in:
@@ -217,11 +217,11 @@
|
||||
<el-tag :type="row.is_system ? 'danger' : ''" size="small">{{ row.is_system ? '系统盘' : '数据盘' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="挂载" width="80">
|
||||
<!-- <el-table-column label="挂载" width="80">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.is_mount ? 'success' : 'info'" size="small">{{ row.is_mount ? '已挂载' : '未挂载' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="状态" width="80">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.status === 'ready' ? 'success' : 'info'" size="small">{{ row.status === 'ready' ? '就绪' : (row.status || '-') }}</el-tag>
|
||||
@@ -234,7 +234,7 @@
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" size="small" @click="handleVolDetail(row)">详情</el-button>
|
||||
<el-button link type="primary" size="small" @click="handleVolResize(row)">调整大小</el-button>
|
||||
<el-button link type="success" size="small" @click="handleVolMount(row)" v-if="!row.is_mount">挂载</el-button>
|
||||
<!-- <el-button link type="success" size="small" @click="handleVolMount(row)" v-if="!row.is_mount">挂载</el-button> -->
|
||||
<el-button link type="warning" size="small" @click="handleVolUnmount(row)" v-if="row.is_mount">卸载</el-button>
|
||||
<el-button link type="info" size="small" @click="handleVolTransfer(row)">迁移</el-button>
|
||||
<el-button link type="danger" size="small" @click="handleVolDelete(row)">删除</el-button>
|
||||
@@ -590,11 +590,11 @@
|
||||
<el-input-number v-model="editForm.ssh_port" :min="1" :max="65535" controls-position="right" style="width: 200px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="网络">
|
||||
<div style="display: flex; align-items: center; gap: 8px; width: 100%">
|
||||
<el-tag v-if="editSelectedNetworks.length" closable @close="removeEditNetwork(editSelectedNetworks[0].id)">
|
||||
{{ editSelectedNetworks[0].name }} (ID:{{ editSelectedNetworks[0].id }})
|
||||
<div style="display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%">
|
||||
<el-tag v-for="net in editSelectedNetworks" :key="net.id" closable @close="removeEditNetwork(net.id)">
|
||||
{{ net.name }} (ID:{{ net.id }})
|
||||
</el-tag>
|
||||
<el-button size="small" @click="showEditNetworkSelector = true">{{ editSelectedNetworks.length ? '更换网络' : '选择网络' }}</el-button>
|
||||
<el-button size="small" @click="showEditNetworkSelector = true">添加网络</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="内网">
|
||||
@@ -688,11 +688,11 @@
|
||||
<el-input v-model="refactorForm.vnc_password" placeholder="不填随机" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="网络">
|
||||
<div style="display: flex; align-items: center; gap: 8px; width: 100%">
|
||||
<el-tag v-if="refactorSelectedNetworks.length" closable @close="removeRefactorNetwork(refactorSelectedNetworks[0].id)">
|
||||
{{ refactorSelectedNetworks[0].name }} (ID:{{ refactorSelectedNetworks[0].id }})
|
||||
<div style="display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%">
|
||||
<el-tag v-for="net in refactorSelectedNetworks" :key="net.id" closable @close="removeRefactorNetwork(net.id)">
|
||||
{{ net.name }} (ID:{{ net.id }})
|
||||
</el-tag>
|
||||
<el-button size="small" @click="showRefactorNetworkSelector = true">{{ refactorSelectedNetworks.length ? '更换网络' : '选择网络' }}</el-button>
|
||||
<el-button size="small" @click="showRefactorNetworkSelector = true">添加网络</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="内网">
|
||||
@@ -864,7 +864,7 @@
|
||||
<el-input :model-value="vmHostId ? `宿主机 #${vmHostId}` : '-'" disabled style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="系统卷"><el-switch v-model="volCreateForm.is_system" /></el-form-item>
|
||||
<el-form-item label="镜像">
|
||||
<el-form-item v-if="volCreateForm.is_system" label="镜像">
|
||||
<div class="bind-selector-row">
|
||||
<el-input :model-value="volCreateForm.image_id ? `镜像 #${volCreateForm.image_id}${volCreateForm._imageName ? ' - ' + volCreateForm._imageName : ''}` : '未选择'" disabled style="flex: 1" />
|
||||
<el-button type="primary" @click="volImageSelectorFromCreate = true; volCreateVisible = false; showVolImageSelector = true" style="margin-left: 8px">选择</el-button>
|
||||
@@ -1495,7 +1495,9 @@ const editSelectedInternalNetworks = ref([])
|
||||
const showEditInternalNetworkSelector = ref(false)
|
||||
|
||||
const handleEditNetworkConfirm = (network) => {
|
||||
editSelectedNetworks.value = [{ id: network.id, name: network.name }]
|
||||
if (!editSelectedNetworks.value.some(n => n.id === network.id)) {
|
||||
editSelectedNetworks.value = [...editSelectedNetworks.value, { id: network.id, name: network.name }]
|
||||
}
|
||||
}
|
||||
const removeEditNetwork = (id) => {
|
||||
editSelectedNetworks.value = editSelectedNetworks.value.filter(n => n.id !== id)
|
||||
@@ -1519,7 +1521,7 @@ const handleEditVm = async () => {
|
||||
})
|
||||
const bridgeNets = vmNetworks.value.filter(n => n.type === 'bridge')
|
||||
const natNets = vmNetworks.value.filter(n => n.type === 'nat')
|
||||
editSelectedNetworks.value = bridgeNets.length ? [{ id: bridgeNets[0].id, name: bridgeNets[0].name }] : []
|
||||
editSelectedNetworks.value = bridgeNets.map(n => ({ id: n.id, name: n.name }))
|
||||
editSelectedInternalNetworks.value = natNets.length ? [{ id: natNets[0].id, name: natNets[0].name }] : []
|
||||
editDialogVisible.value = true
|
||||
dialogOptionsLoading.value = true
|
||||
@@ -1571,7 +1573,9 @@ const onRefactorMemUnitChange = () => {
|
||||
watch(refactorMemDisplay, (v) => { refactorForm.memory = Math.round(v * refactorMemUnit.value) })
|
||||
|
||||
const handleRefactorNetworkConfirm = (network) => {
|
||||
refactorSelectedNetworks.value = [{ id: network.id, name: network.name }]
|
||||
if (!refactorSelectedNetworks.value.some(n => n.id === network.id)) {
|
||||
refactorSelectedNetworks.value = [...refactorSelectedNetworks.value, { id: network.id, name: network.name }]
|
||||
}
|
||||
}
|
||||
const removeRefactorNetwork = (id) => {
|
||||
refactorSelectedNetworks.value = refactorSelectedNetworks.value.filter(n => n.id !== id)
|
||||
@@ -1597,7 +1601,7 @@ const handleRefactorVm = async () => {
|
||||
})
|
||||
const bridgeNets = vmNetworks.value.filter(n => n.type === 'bridge')
|
||||
const natNets = vmNetworks.value.filter(n => n.type === 'nat')
|
||||
refactorSelectedNetworks.value = bridgeNets.length ? [{ id: bridgeNets[0].id, name: bridgeNets[0].name }] : []
|
||||
refactorSelectedNetworks.value = bridgeNets.map(n => ({ id: n.id, name: n.name }))
|
||||
refactorSelectedInternalNetworks.value = natNets.length ? [{ id: natNets[0].id, name: natNets[0].name }] : []
|
||||
const mem = d.memory || 0
|
||||
if (mem >= 1048576 && mem % 1048576 === 0) { refactorMemUnit.value = 1048576; refactorMemDisplay.value = mem / 1048576 }
|
||||
|
||||
Reference in New Issue
Block a user