InternetCompetition/.history/src/components/DataAcquisition_20231109153...

197 lines
5.7 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()">确定</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("DB-IotLite_yx");
// console.log(JSON.parse(datas));
datas = { ...JSON.parse(datas), ...this.formdata };
console.log(datas);
let res = await SaveUserAnswer({
mark: "DB-IotLite_yx",
user_id: "USER202307301114011710",
mark_value: JSON.stringify(datas),
});
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_yx", 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;
if (res2.data.data && res2.data.state) {
console.log(res2);
console.log(res2.data.data.mark_value);
let res3 = JSON.parse(res2.data.data.mark_value);
if (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;
}
}
},
},
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>