fix: 网络模块
This commit is contained in:
@@ -144,9 +144,10 @@ const handleConfirm = () => {
|
||||
}
|
||||
const handleClose = () => { selectedItem.value = null }
|
||||
const handleCreate = () => {
|
||||
visible.value = false
|
||||
emit('create')
|
||||
}
|
||||
|
||||
defineExpose({ loadList })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -771,9 +771,9 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
<!-- 编辑用网络选择器(外网 bridge) -->
|
||||
<NetworkSelectorPopup v-model="showEditNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleEditNetworkConfirm" @create="() => handleNetCreate('edit')" />
|
||||
<NetworkSelectorPopup ref="editNetSelectorRef" v-model="showEditNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleEditNetworkConfirm" @create="() => handleNetCreate('edit')" />
|
||||
<!-- 编辑用内网选择器(内网 nat) -->
|
||||
<NetworkSelectorPopup v-model="showEditInternalNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleEditInternalNetworkConfirm" @create="() => handleNetCreate('editInternal')" />
|
||||
<NetworkSelectorPopup ref="editInternalNetSelectorRef" v-model="showEditInternalNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleEditInternalNetworkConfirm" @create="() => handleNetCreate('editInternal')" />
|
||||
|
||||
<!-- 重构虚拟机弹窗 -->
|
||||
<el-dialog v-model="refactorDialogVisible" title="重构虚拟机" width="700px" destroy-on-close class="tk-dialog">
|
||||
@@ -867,9 +867,9 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 重构用网络选择器(外网 bridge) -->
|
||||
<NetworkSelectorPopup v-model="showRefactorNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleRefactorNetworkConfirm" @create="() => handleNetCreate('refactor')" />
|
||||
<NetworkSelectorPopup ref="refactorNetSelectorRef" v-model="showRefactorNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleRefactorNetworkConfirm" @create="() => handleNetCreate('refactor')" />
|
||||
<!-- 重构用内网选择器(内网 nat) -->
|
||||
<NetworkSelectorPopup v-model="showRefactorInternalNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleRefactorInternalNetworkConfirm" @create="() => handleNetCreate('refactorInternal')" />
|
||||
<NetworkSelectorPopup ref="refactorInternalNetSelectorRef" v-model="showRefactorInternalNetworkSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleRefactorInternalNetworkConfirm" @create="() => handleNetCreate('refactorInternal')" />
|
||||
|
||||
<!-- VNC 连接弹窗 -->
|
||||
<el-dialog v-model="vncDialogVisible" title="获取 VNC 连接" width="560px" destroy-on-close class="tk-dialog">
|
||||
@@ -1073,9 +1073,9 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 绑定外网选择器(bridge) -->
|
||||
<NetworkSelectorPopup v-model="showNetBindBridgeSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleNetBindBridgeConfirm" @create="() => handleNetCreate('bindBridge')" />
|
||||
<NetworkSelectorPopup ref="bindBridgeNetSelectorRef" v-model="showNetBindBridgeSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="bridge" filter-used="false" @confirm="handleNetBindBridgeConfirm" @create="() => handleNetCreate('bindBridge')" />
|
||||
<!-- 绑定内网选择器(nat) -->
|
||||
<NetworkSelectorPopup v-model="showNetBindNatSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleNetBindNatConfirm" @create="() => handleNetCreate('bindNat')" />
|
||||
<NetworkSelectorPopup ref="bindNatNetSelectorRef" v-model="showNetBindNatSelector" :service-id="serviceId" :host-id="vmHostId" filter-type="nat" filter-used="false" @confirm="handleNetBindNatConfirm" @create="() => handleNetCreate('bindNat')" />
|
||||
|
||||
<!-- 创建/编辑网络弹窗 -->
|
||||
<el-dialog v-model="netDialogVisible" :title="netDialogType === 'add' ? '创建网络' : '编辑网络'" width="600px" destroy-on-close class="tk-dialog">
|
||||
@@ -2148,6 +2148,12 @@ const dataMigrateForm = reactive({ target_service_id: null, target_host_id: null
|
||||
const dataMigrateNetworkOptions = ref([])
|
||||
const showDataMigrateNetworkSelector = ref(false)
|
||||
const dataMigrateNetSelectorRef = ref(null)
|
||||
const editNetSelectorRef = ref(null)
|
||||
const editInternalNetSelectorRef = ref(null)
|
||||
const refactorNetSelectorRef = ref(null)
|
||||
const refactorInternalNetSelectorRef = ref(null)
|
||||
const bindBridgeNetSelectorRef = ref(null)
|
||||
const bindNatNetSelectorRef = ref(null)
|
||||
const dataMigrateSelectedNetworks = ref([])
|
||||
|
||||
const handleDataMigrateNetworkConfirm = (items) => {
|
||||
@@ -2464,15 +2470,7 @@ const handleNetCreate = (source = '') => {
|
||||
}
|
||||
const handleNetDialogCancel = () => {
|
||||
netDialogVisible.value = false
|
||||
const src = netDialogSource.value
|
||||
netDialogSource.value = ''
|
||||
if (src === 'edit') showEditNetworkSelector.value = true
|
||||
else if (src === 'editInternal') showEditInternalNetworkSelector.value = true
|
||||
else if (src === 'refactor') showRefactorNetworkSelector.value = true
|
||||
else if (src === 'refactorInternal') showRefactorInternalNetworkSelector.value = true
|
||||
else if (src === 'bindBridge') showNetBindBridgeSelector.value = true
|
||||
else if (src === 'bindNat') showNetBindNatSelector.value = true
|
||||
else if (src === 'dataMigrate') showDataMigrateNetworkSelector.value = true
|
||||
}
|
||||
|
||||
const handleNetEdit = (row) => {
|
||||
@@ -2506,16 +2504,20 @@ const submitNetForm = () => {
|
||||
netDialogVisible.value = false
|
||||
const src = netDialogSource.value
|
||||
netDialogSource.value = ''
|
||||
if (src === 'dataMigrate') { nextTick(() => dataMigrateNetSelectorRef.value?.loadList()) }
|
||||
else {
|
||||
if (src === 'edit') showEditNetworkSelector.value = true
|
||||
else if (src === 'editInternal') showEditInternalNetworkSelector.value = true
|
||||
else if (src === 'refactor') showRefactorNetworkSelector.value = true
|
||||
else if (src === 'refactorInternal') showRefactorInternalNetworkSelector.value = true
|
||||
else if (src === 'bindBridge') showNetBindBridgeSelector.value = true
|
||||
else if (src === 'bindNat') showNetBindNatSelector.value = true
|
||||
loadDetail()
|
||||
const refMap = {
|
||||
dataMigrate: dataMigrateNetSelectorRef,
|
||||
edit: editNetSelectorRef,
|
||||
editInternal: editInternalNetSelectorRef,
|
||||
refactor: refactorNetSelectorRef,
|
||||
refactorInternal: refactorInternalNetSelectorRef,
|
||||
bindBridge: bindBridgeNetSelectorRef,
|
||||
bindNat: bindNatNetSelectorRef,
|
||||
}
|
||||
const selectorRef = refMap[src]
|
||||
if (selectorRef) {
|
||||
nextTick(() => selectorRef.value?.loadList())
|
||||
}
|
||||
if (src !== 'dataMigrate') loadDetail()
|
||||
}
|
||||
else ElMessage.error(extractApiError(res?.data, '操作失败'))
|
||||
} catch (e) { ElMessage.error(extractApiError(e?.response?.data, '操作失败')) } finally { actionLoading.value = false }
|
||||
|
||||
Reference in New Issue
Block a user