InternetCompetition/src/components/DataAcquire.vue

246 lines
6.3 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: "DataAcquire",
data() {
return {
loading: false,
user_id: "",
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,
};
},
created() {
let that = this;
window.getParameter = that.getParameter;
},
methods: {
getParameter(data) {
this.user_id = data;
},
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("DB-IotLite_wx");
console.log(JSON.parse(datas));
this.formdata = { ...JSON.parse(datas), ...this.formdata };
console.log(this.formdata);
let res = await SaveUserAnswer({
mark: "DB-IotLite_wx",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(this.formdata),
});
if (res.status == 200) {
this.$message({
message: "保存成功",
type: "success",
});
}
console.log(res);
console.log(JSON.parse(res.data.data.mark_value));
sessionStorage.setItem("DB-IotLite_wx", JSON.stringify(this.formdata));
this.$router.replace("/channelconfig");
},
async getUserAnswer() {
this.loading = true;
let res2 = await GetUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301114011710",
});
this.loading = false;
console.log(res2);
let res3 = JSON.parse(res2.data.data.mark_value);
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;
},
},
created() {
this.getUserAnswer();
},
};
</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>