InternetCompetition/src/components/NetworkManagement.vue

330 lines
10 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div style="display: none" :style="{ display: 'block' }">
<el-dialog title="网络管理" :visible.sync="dialogVisible" width="40%">
<p
style="
color: red;
position: absolute;
top: 20px;
left: 110px;
font-size: 18px;
"
>
本页面涉及排错请检查修改默认值
</p>
<h3 style="color: #fff">内网网卡</h3>
<el-divider></el-divider>
<el-table :data="tableData" style="width: 100%" border>
<el-table-column prop="wlgl_nw_name" label="网卡名称">
<template slot-scope="scope">
<el-select v-model="scope.row.wlgl_nw_name" placeholder="">
<el-option
v-for="item in options1"
:key="item"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="wlgl_nw_ip" label="IPV4地址">
<template slot-scope="scope">
<div class="net_setting">
<el-row>
<el-col :span="5">
<el-input v-model="wlgl_nw_ip1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_ip2"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_ip3"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_ip4"></el-input>
</el-col>
</el-row>
</div>
</template>
</el-table-column>
<el-table-column prop="wlgl_nw_zwym" label="IPV4掩码">
<template slot-scope="scope">
<div class="net_setting">
<el-row>
<el-col :span="5">
<el-input v-model="wlgl_nw_zwym1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_zwym2"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_zwym3"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_nw_zwym4"></el-input>
</el-col>
</el-row>
</div> </template
></el-table-column>
</el-table>
<h3 style="color: #fff">外网网卡</h3>
<el-divider></el-divider>
<el-table :data="tableData1" style="width: 100%" border>
<el-table-column prop="wlgl_ww_name" label="网卡名称">
<template slot-scope="scope">
<el-select v-model="scope.row.wlgl_ww_name" placeholder="">
<el-option
v-for="item in options2"
:key="item"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="wlgl_ww_ip" label="IPV4地址">
<template slot-scope="scope">
<div class="net_setting">
<el-row>
<el-col :span="5">
<el-input v-model="wlgl_ww_ip1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_ip2"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_ip3"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_ip4"></el-input>
</el-col>
</el-row>
</div>
</template>
</el-table-column>
<el-table-column prop="wlgl_ww_zwym" label="IPV4掩码">
<template slot-scope="scope">
<div class="net_setting">
<el-row>
<el-col :span="5">
<el-input v-model="wlgl_ww_zwym1"></el-input>
</el-col>
<el-col :span="1">. </el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_zwym2"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_zwym3"></el-input>
</el-col>
<el-col :span="1">.</el-col>
<el-col :span="5">
<el-input v-model="wlgl_ww_zwym4"></el-input>
</el-col>
</el-row>
</div>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="save">保存</el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { SaveUserAnswer, GetUserAnswer } from "../api/user";
export default {
data() {
return {
user_id: "",
type: "",
wlgl_nw_ip1: "192",
wlgl_nw_ip2: "168",
wlgl_nw_ip3: "1",
wlgl_nw_ip4: "1",
wlgl_nw_zwym1: "255",
wlgl_nw_zwym2: "255",
wlgl_nw_zwym3: "255",
wlgl_nw_zwym4: "0",
wlgl_ww_ip1: "",
wlgl_ww_ip2: "",
wlgl_ww_ip3: "",
wlgl_ww_ip4: "",
wlgl_ww_zwym1: "",
wlgl_ww_zwym2: "",
wlgl_ww_zwym3: "",
wlgl_ww_zwym4: "",
options1: [
{
label: "有线区网闸(内网)",
value: "有线区网闸(内网)",
},
{
label: "无线区网闸(内网)",
value: "无线区网闸(内网)",
},
],
options2: [
{
label: "有线区网闸(外网)",
value: "有线区网闸(外网)",
},
{
label: "无线区网闸(外网)",
value: "无线区网闸(外网)",
},
],
dialogVisible: true,
tableData: [
{
wlgl_nw_name: "",
wlgl_nw_ip: "",
wlgl_nw_zwym: "",
},
],
tableData1: [
{
wlgl_ww_name: "",
wlgl_ww_ip: "",
wlgl_ww_zwym: "",
},
],
};
},
created() {
this.dialogVisible = true;
let str = window.location.href.split("?")[1];
this.user_id = str.split("|")[0];
let type = str.split("|")[1];
if (type == 1) {
this.$store.commit("setType", "GYWZ_yx");
} else {
this.$store.commit("setType", "GYWZ_wx");
}
this.GetUserAnswer();
},
methods: {
async save() {
var obj = {
wlgl_nw_name: this.tableData[0].wlgl_nw_name,
wlgl_nw_ip:
this.wlgl_nw_ip1 +
"." +
this.wlgl_nw_ip2 +
"." +
this.wlgl_nw_ip3 +
"." +
this.wlgl_nw_ip4,
wlgl_nw_zwym:
this.wlgl_nw_zwym1 +
"." +
this.wlgl_nw_zwym2 +
"." +
this.wlgl_nw_zwym3 +
"." +
this.wlgl_nw_zwym4,
wlgl_ww_name: this.tableData1[0].wlgl_ww_name,
wlgl_ww_ip:
this.wlgl_ww_ip1 +
"." +
this.wlgl_ww_ip2 +
"." +
this.wlgl_ww_ip3 +
"." +
this.wlgl_ww_ip4,
wlgl_ww_zwym:
this.wlgl_ww_zwym1 +
"." +
this.wlgl_ww_zwym2 +
"." +
this.wlgl_ww_zwym3 +
"." +
this.wlgl_ww_zwym4,
};
let { data } = await SaveUserAnswer({
mark: `${this.$store.state.type}`,
user_id: `${this.user_id}`,
mark_value: JSON.stringify(obj),
});
if (data.state) {
sessionStorage.setItem("GYWZ_yx", JSON.stringify(obj));
this.$message({
message: "保存成功",
type: "success",
});
} else {
this.$message.error("保存失败");
}
},
//拿缓存
async GetUserAnswer() {
var { data } = await GetUserAnswer({
mark: `${this.$store.state.type}`,
user_id: `${this.user_id}`,
});
console.log(data);
if (data.data && data.state) {
let res = JSON.parse(data.data.mark_value);
this.tableData[0].wlgl_nw_name = res.wlgl_nw_name;
this.wlgl_nw_ip1 = res.wlgl_nw_ip.split(".")[0];
this.wlgl_nw_ip2 = res.wlgl_nw_ip.split(".")[1];
this.wlgl_nw_ip3 = res.wlgl_nw_ip.split(".")[2];
this.wlgl_nw_ip4 = res.wlgl_nw_ip.split(".")[3];
this.wlgl_nw_zwym1 = res.wlgl_nw_zwym.split(".")[0];
this.wlgl_nw_zwym2 = res.wlgl_nw_zwym.split(".")[1];
this.wlgl_nw_zwym3 = res.wlgl_nw_zwym.split(".")[2];
this.wlgl_nw_zwym4 = res.wlgl_nw_zwym.split(".")[3];
this.tableData1[0].wlgl_ww_name = res.wlgl_ww_name;
this.wlgl_ww_ip1 = res.wlgl_ww_ip.split(".")[0];
this.wlgl_ww_ip2 = res.wlgl_ww_ip.split(".")[1];
this.wlgl_ww_ip3 = res.wlgl_ww_ip.split(".")[2];
this.wlgl_ww_ip4 = res.wlgl_ww_ip.split(".")[3];
this.wlgl_ww_zwym1 = res.wlgl_ww_zwym.split(".")[0];
this.wlgl_ww_zwym2 = res.wlgl_ww_zwym.split(".")[1];
this.wlgl_ww_zwym3 = res.wlgl_ww_zwym.split(".")[2];
this.wlgl_ww_zwym4 = res.wlgl_ww_zwym.split(".")[3];
}
},
},
};
</script>
<style scoped lang="less">
/deep/ .net_setting {
.el-input__inner {
height: 30px;
text-align: center;
padding: 0;
}
.el-col-1 {
padding: 0px 2px;
color: black;
text-align: left;
line-height: 45px;
height: 20px;
}
.el-col-5 {
width: 43px;
height: 30px;
}
.el-col-24 {
padding-right: 152px;
}
}
</style>