docs: annotate cloud network and upgrade components
This commit is contained in:
1 parent
7f54cae497
commit
9166b1376d
7 files changed
+95
No files matched your search
@@ -1,4 +1,8 @@
|
||||
<script>
|
||||
/**
|
||||
* 云实例 VPC 网络创建、分配/切换和删除;父级提供商品、机房、网络类型及实例活动态。
|
||||
* 分配成功发 refresh 让父级重取实例资料;已有 host 的网络不可直接删除。
|
||||
*/
|
||||
import "~/assets/styles/MfCloudVpc.CpOEbuWs.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { onMounted } from "vue";
|
||||
@@ -76,12 +80,14 @@ var ie = {
|
||||
k = useApi(),
|
||||
A = useId(),
|
||||
j = ref(!1),
|
||||
// 已是 VPC 的实例直接开放面板;经典网络需先通过商品配置确认支持 VPC。
|
||||
M = computed(
|
||||
() =>
|
||||
cloud_instance_management_i(D.module) &&
|
||||
(D.networkType === `vpc` || j.value),
|
||||
),
|
||||
N = computed(() => `/${D.module}/${D.hostId}/vpc_network`),
|
||||
// P 是当前网络列表,F 是允许分配的网络,I 是可选实例,L 是允许的 CIDR 掩码。
|
||||
P = ref([]),
|
||||
F = ref([]),
|
||||
I = ref([]),
|
||||
@@ -100,6 +106,10 @@ var ie = {
|
||||
Y = 0,
|
||||
X = 0,
|
||||
Z = !1;
|
||||
/**
|
||||
* 核对 VPC 能力后分页拉取全部网络,再按商品/机房查询可分配网络。
|
||||
* 商品能力字段未返回时明确报错;确认不支持 VPC 时不继续查询网络列表。
|
||||
*/
|
||||
async function Q() {
|
||||
let e = ++Y,
|
||||
t = N.value;
|
||||
@@ -168,6 +178,7 @@ var ie = {
|
||||
!Z && e === Y && (R.value = !1);
|
||||
}
|
||||
}
|
||||
// 打开新建表单前检查加载状态和活动态;名称/网段不沿用上一次输入。
|
||||
function fe() {
|
||||
!M.value ||
|
||||
z.value ||
|
||||
@@ -176,6 +187,7 @@ var ie = {
|
||||
!D.active ||
|
||||
((U.value = ``), (W.value = ``), (V.value = ``), (H.value = !0));
|
||||
}
|
||||
/** 统一校验 VPC 名称与 CIDR,网段留空交后端分配,创建完成后重读网络列表。 */
|
||||
async function pe() {
|
||||
if (z.value || !H.value || !M.value || !D.active) return;
|
||||
let e;
|
||||
@@ -199,6 +211,10 @@ var ie = {
|
||||
!Z && t === N.value && (z.value = !1);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 先设置分配弹窗目标;转售模块仅提供当前实例,本地 mf_cloud 再完整加载可选实例。
|
||||
* X 独立隔离分配目标列表请求,避免切换目标期间旧结果覆盖新弹窗。
|
||||
*/
|
||||
async function $(e) {
|
||||
if (
|
||||
!M.value ||
|
||||
@@ -258,6 +274,7 @@ var ie = {
|
||||
!Z && t === X && (J.value = !1);
|
||||
}
|
||||
}
|
||||
/** 分配前同时确认实例与网络仍在各自候选集合,成功后通知父级更新实例网络信息。 */
|
||||
async function me() {
|
||||
let e = K.value,
|
||||
t = q.value;
|
||||
@@ -293,6 +310,7 @@ var ie = {
|
||||
!Z && n === N.value && (z.value = !1);
|
||||
}
|
||||
}
|
||||
/** 删除需要网络仍存在且无已分配实例;此处预检查不替代后端并发/权限校验。 */
|
||||
async function he() {
|
||||
let e = G.value;
|
||||
if (
|
||||
@@ -333,9 +351,11 @@ var ie = {
|
||||
},
|
||||
),
|
||||
onMounted(Q),
|
||||
// 销毁后拒绝列表与可分配实例的迟到结果;实例/商品切换也会关闭全部旧弹窗。
|
||||
onBeforeUnmount(() => {
|
||||
((Z = !0), Y++, X++);
|
||||
}),
|
||||
// 主表展示已分配实例;创建、切换和删除各有确认弹窗,网络切换额外提示连接影响。
|
||||
(t, n) => {
|
||||
let r = button,
|
||||
i = message,
|
||||
|
||||
Reference in new issue
Block a user