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