fix: Fix the issue of abnormal container network creation (#10527)

Refs #10511
This commit is contained in:
ssongliu 2025-09-28 18:22:16 +08:00 committed by GitHub
parent 97d6d9c69f
commit 7f05c1ef33
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 16 deletions

View file

@ -227,7 +227,7 @@ export namespace Container {
driver: string; driver: string;
subnet: string; subnet: string;
gateway: string; gateway: string;
scope: string; ipRange: string;
} }
export interface VolumeInfo { export interface VolumeInfo {

View file

@ -18,22 +18,22 @@
<el-row type="flex" justify="center" :gutter="20"> <el-row type="flex" justify="center" :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('container.subnet')" prop="subnet"> <el-form-item :label="$t('container.subnet')" prop="subnet">
<el-input placeholder="172.16.10.0/24" clearable v-model.trim="form.subnet" /> <el-input placeholder="172.13.0.0/16" clearable v-model.trim="form.subnet" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('container.gateway')" prop="gateway"> <el-form-item :label="$t('container.gateway')" prop="gateway">
<el-input placeholder="172.16.10.12" clearable v-model.trim="form.gateway" /> <el-input placeholder="172.13.10.254" clearable v-model.trim="form.gateway" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('container.scope')" prop="scope"> <el-form-item :label="$t('container.scope')" prop="ipRange">
<el-input placeholder="172.16.10.0/16" clearable v-model.trim="form.scope" /> <el-input placeholder="172.13.1.0/24" clearable v-model.trim="form.ipRange" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"></el-col> <el-col :span="12"></el-col>
</el-row> </el-row>
<el-form-item :label="$t('container.auxAddress')" prop="scopeV6"> <el-form-item :label="$t('container.auxAddress')" prop="auxAddress">
<el-table :data="form.auxAddress" v-if="form.auxAddress.length !== 0"> <el-table :data="form.auxAddress" v-if="form.auxAddress.length !== 0">
<el-table-column :label="$t('container.label')" min-width="100"> <el-table-column :label="$t('container.label')" min-width="100">
<template #default="{ row }"> <template #default="{ row }">
@ -42,7 +42,7 @@
</el-table-column> </el-table-column>
<el-table-column label="IP" min-width="150"> <el-table-column label="IP" min-width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-input placeholder="172.16.10.13" v-model="row.value" /> <el-input placeholder="172.13.1.13" v-model="row.value" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="40"> <el-table-column min-width="40">
@ -73,13 +73,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('container.scope')" prop="scopeV6"> <el-form-item :label="$t('container.scope')" prop="ipRangeV6">
<el-input placeholder="2408:400e::/64" clearable v-model.trim="form.scopeV6" /> <el-input placeholder="2408:400e::/64" clearable v-model.trim="form.ipRangeV6" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"></el-col> <el-col :span="12"></el-col>
</el-row> </el-row>
<el-form-item :label="$t('container.auxAddress')" prop="scopeV6"> <el-form-item :label="$t('container.auxAddress')" prop="auxAddressV6">
<el-table :data="form.auxAddressV6" v-if="form.auxAddressV6.length !== 0"> <el-table :data="form.auxAddressV6" v-if="form.auxAddressV6.length !== 0">
<el-table-column :label="$t('container.label')" min-width="100"> <el-table-column :label="$t('container.label')" min-width="100">
<template #default="{ row }"> <template #default="{ row }">
@ -147,12 +147,12 @@ const form = reactive({
ipv4: true, ipv4: true,
subnet: '', subnet: '',
gateway: '', gateway: '',
scope: '', ipRange: '',
auxAddress: [], auxAddress: [],
ipv6: false, ipv6: false,
subnetV6: '', subnetV6: '',
gatewayV6: '', gatewayV6: '',
scopeV6: '', ipRangeV6: '',
auxAddressV6: [], auxAddressV6: [],
}); });
@ -166,12 +166,12 @@ const acceptParams = (): void => {
form.ipv4 = true; form.ipv4 = true;
form.subnet = ''; form.subnet = '';
form.gateway = ''; form.gateway = '';
form.scope = ''; form.ipRange = '';
form.auxAddress = []; form.auxAddress = [];
form.ipv6 = false; form.ipv6 = false;
form.subnetV6 = ''; form.subnetV6 = '';
form.gatewayV6 = ''; form.gatewayV6 = '';
form.scopeV6 = ''; form.ipRangeV6 = '';
form.auxAddressV6 = []; form.auxAddressV6 = [];
drawerVisible.value = true; drawerVisible.value = true;
}; };
@ -186,10 +186,10 @@ const rules = reactive({
driver: [Rules.requiredSelect], driver: [Rules.requiredSelect],
subnet: [{ validator: checkCidr, trigger: 'blur' }, Rules.requiredInput], subnet: [{ validator: checkCidr, trigger: 'blur' }, Rules.requiredInput],
gateway: [{ validator: checkGateway, trigger: 'blur' }], gateway: [{ validator: checkGateway, trigger: 'blur' }],
scope: [{ validator: checkCidr, trigger: 'blur' }], ipRange: [{ validator: checkCidr, trigger: 'blur' }],
subnetV6: [{ validator: checkFixedCidrV6, trigger: 'blur' }, Rules.requiredInput], subnetV6: [{ validator: checkFixedCidrV6, trigger: 'blur' }, Rules.requiredInput],
gatewayV6: [{ validator: checkGatewayV6, trigger: 'blur' }], gatewayV6: [{ validator: checkGatewayV6, trigger: 'blur' }],
scopeV6: [{ validator: checkFixedCidrV6, trigger: 'blur' }], ipRangeV6: [{ validator: checkFixedCidrV6, trigger: 'blur' }],
}); });
function checkGateway(rule: any, value: any, callback: any) { function checkGateway(rule: any, value: any, callback: any) {