InternetCompetition/src/components/DataAcquisition.vue

237 lines
6.2 KiB
Vue

<template>
<div>
<div>
<el-dialog
title="新建网关"
:visible.sync="outerVisible"
width="382px"
v-loading="loading"
>
<el-form
:model="formdata"
:rules="rules"
ref="formdata"
label-width="85px"
class="demo-ruleForm"
>
<el-form-item label="网关名称:" prop="wgpz_wgmc">
<el-select
v-model="formdata.wgpz_wgmc"
placeholder="有线区网关1"
style="width: 200px"
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="网关ID:" prop="wgpz_wgid">
<el-select
v-model="formdata.wgpz_wgid"
placeholder="LAN-BOX1"
style="width: 200px"
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="网关类型:" prop="wgpz_wglx">
<el-select
v-model="formdata.wgpz_wglx"
placeholder="lot Life 网关"
style="width: 200px"
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<el-dialog
width="382px"
title="系统提示"
:visible.sync="innerVisible"
append-to-body
>
<p class="inner_content" style="color: #fff !important">
请确认选择的网关类型与网关实体一致:否则该工程无法下载至实体网关
</p>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="innerConfirm('formdata')"
>确定</el-button
>
<el-button @click="innerVisible = false">取 消</el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer-outer">
<el-button type="primary" @click="saveInfo('formdata')"
>保存</el-button
>
<el-button @click="outerVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import { SaveUserAnswer, GetUserAnswer } from "@/api/user";
export default {
name: "TestDataAcquisition",
data() {
return {
loading: false,
options1: [
{
value: "有线区网关1",
label: "有线区网关1",
},
{
value: "无线区网关1",
label: "无线区网关1",
},
],
options2: [
{
value: "LAN-BOX1",
label: "LAN-BOX1",
},
{
value: "WLAN-BOX1",
label: "WLAN-BOX1",
},
],
options3: [
{
value: "loT Lite网关",
label: "loT Lite网关",
},
{
value: "MODBUS网关",
label: "MODBUS网关",
},
{
value: "BACNET网关",
label: "BACNET网关",
},
{
value: "OPC UA网关",
label: "OPC UA网关",
},
{
value: "OPC DA网关",
label: "OPC DA网关",
},
{
value: "loT网关",
label: "loT网关",
},
],
value: "",
formdata: {
wgpz_wgmc: "有线区网关1",
wgpz_wgid: "LAN-BOX1",
wgpz_wglx: "loT网关",
},
rules: {
wgpz_wgmc: [
{ required: true, message: "请选择网关名称", trigger: "blur" },
],
wgpz_wgid: [
{ required: true, message: "请选择网关id", trigger: "blur" },
],
wgpz_wglx: [
{ required: true, message: "请选择网关类型", trigger: "blur" },
],
},
outerVisible: true,
innerVisible: false,
};
},
mounted() {},
methods: {
saveInfo(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
// alert('submit!');
this.innerVisible = true;
} else {
console.log("error submit!!");
return false;
}
});
},
async innerConfirm() {
this.outerVisible = false;
this.innerVisible = false;
let datas = sessionStorage.getItem("answer");
console.log(JSON.parse(datas));
this.formdata = { ...JSON.parse(datas), ...this.formdata };
console.log(this.formdata);
let res = await SaveUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301109254198",
mark_value: JSON.stringify(this.formdata),
});
console.log(res);
console.log(JSON.parse(res.data.data.mark_value));
sessionStorage.setItem("answer", JSON.stringify(this.formdata));
// let res2 = await GetUserAnswer({
// mark: "DB-IotLite_yx",
// user_id: "USER202307301109254198",
// });
// console.log(res2);
this.$router.replace("/channelconfig");
},
},
async created() {
this.loading = true;
let res2 = await GetUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301109254198",
});
this.loading = false;
console.log(res2);
let res3 = JSON.parse(res2.data.data.mark_value);
// console.log(res3);
// console.log(res3.wgpz_wgid);
this.formdata.wgpz_wgid = res3.wgpz_wgid;
console.log(this.formdata.wgpz_wgid);
this.formdata.wgpz_wgmc = res3.wgpz_wgmc;
this.formdata.wgpz_wglx = res3.wgpz_wglx;
},
};
</script>
<style lang="less" scoped>
.data_acquire {
font-size: 14px;
}
.inner_content {
margin-left: 30px;
width: 280px;
height: 40px;
// color: rgba(255, 255, 255, 0);
font-size: 14px;
text-align: left;
font-family: "SourceHanSansSC-regular";
}
</style>