<template>
|
<el-form
|
ref="ruleForm"
|
size="mini"
|
label-position="top"
|
:model="params"
|
:rules="rules"
|
class="params-dialog"
|
>
|
<el-row :gutter="layout.gutter">
|
<el-col :span="layout.span">
|
<el-form-item label="交流过压告警值(V)" prop="acOvervolCoeAc">
|
<el-input v-model="params.acOvervolCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="交流欠压告警值(V)" prop="acUndervolCoeAc">
|
<el-input v-model="params.acUndervolCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="缺相告警点(V)" prop="acLessvolCoeAc">
|
<el-input v-model="params.acLessvolCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="交流过流告警值(A)" prop="acOvercurrCoeAc">
|
<el-input v-model="params.acOvercurrCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="频率高告警值(Hz)" prop="freqHighCoeAc">
|
<el-input v-model="params.freqHighCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="频率低告警值(Hz)" prop="freqLowCoeAc">
|
<el-input v-model="params.freqLowCoeAc"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="form-footer">
|
<template v-if="!pReadOnly">
|
<three-btn @click="getParams()">读取</three-btn>
|
<three-btn :disabled="!setTestFlag" @click="submitFrom">设定</three-btn>
|
</template>
|
<three-btn v-else @click="$emit('close')">关闭</three-btn>
|
</div>
|
<el-dialog
|
title="人脸校验"
|
width="480px"
|
:visible.sync="setFaceShow"
|
:close-on-click-modal="false"
|
top="0"
|
:modal="false"
|
class="dialog-center"
|
:modal-append-to-body="false"
|
:destroy-on-close="true"
|
>
|
<check-face
|
v-if="setFaceShow"
|
@checkSuccess="setFaceSuccess"
|
></check-face>
|
</el-dialog>
|
</el-form>
|
</template>
|
|
<script>
|
import const_61590 from "@/assets/js/const/const_61590";
|
|
import { testVal } from "@/assets/js/tools";
|
import CheckFace from "@/components/checkFace";
|
|
import config from "@/assets/js/config";
|
import {
|
setDev6159ACParam,
|
getDev6159ACParam,
|
} from "../js/realTime";
|
|
import { checkUserPwd } from "@/views/login/js/api";
|
|
export default {
|
components: { CheckFace },
|
props: {
|
devId: {
|
type: [String, Number],
|
required: true,
|
},
|
// 只读模式 显示参数用
|
pReadOnly: {
|
type: Boolean,
|
default: false,
|
},
|
paramData: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
},
|
data() {
|
let rules = const_61590.acParamsRules;
|
function getRule(prop) {
|
return [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules[prop]);
|
},
|
trigger: "change",
|
},
|
];
|
}
|
let rulesObj = {};
|
[
|
"acOvervolCoeAc",
|
"acUndervolCoeAc",
|
"acLessvolCoeAc",
|
"acOvercurrCoeAc",
|
"freqHighCoeAc",
|
"freqLowCoeAc",
|
].forEach((v) => {
|
rulesObj[v] = getRule(v);
|
});
|
|
return {
|
// 组号
|
groupIdx: "",
|
layout: {
|
gutter: 16,
|
span: 12,
|
},
|
reason: "",
|
setFaceShow: false,
|
startFaceShow: false,
|
setTestFlag: false, // 设置参数的状态
|
readOnly: false,
|
|
params: {
|
acOvervolCoeAc: 0,
|
acUndervolCoeAc: 0,
|
acLessvolCoeAc: 0,
|
acOvercurrCoeAc: 0,
|
freqHighCoeAc: 0,
|
freqLowCoeAc: 0,
|
devId: this.devId,
|
},
|
rules: rulesObj,
|
};
|
},
|
watch: {
|
},
|
methods: {
|
initParams() {
|
// 初始化参数
|
this.params = {
|
acOvervolCoeAc: 0,
|
acUndervolCoeAc: 0,
|
acLessvolCoeAc: 0,
|
acOvercurrCoeAc: 0,
|
freqHighCoeAc: 0,
|
freqLowCoeAc: 0,
|
devId: this.devId,
|
};
|
},
|
// 获取参数
|
getParams() {
|
// 定义等待框
|
let loading = this.$layer.loading(1);
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
|
// 查询后台
|
getDev6159ACParam(this.devId)
|
.then((res) => {
|
res = res.data;
|
if (res.code && res.data) {
|
let fsparam = res.data2;
|
// 遍历参数属性并赋值
|
for (let key in this.params) {
|
this.params[key] = fsparam[key];
|
}
|
if (res.data2) {
|
this.$layer.msg("读取成功!");
|
// 设置按钮可点击
|
this.setTestFlag = true;
|
}
|
} else {
|
// 初始化参数
|
this.initParams();
|
// 设置按钮不可点击
|
this.setTestFlag = false;
|
this.$layer.msg("读取失败!");
|
}
|
// 关闭等待框
|
this.$layer.close(loading);
|
})
|
.catch((error) => {
|
console.log(error);
|
// 初始化参数
|
this.initParams();
|
// 设置按钮不可点击
|
this.setTestFlag = false;
|
// 关闭等待框
|
this.$layer.close(loading);
|
this.$layer.msg("读取失败,读取请求异常!");
|
});
|
},
|
// 提交表单设置参数
|
submitFrom() {
|
this.$refs.ruleForm.validate((valid) => {
|
// 校验通过
|
if (valid) {
|
// 设置参数
|
this.setParamsCheck();
|
} else {
|
this.$layer.msg("存在校验未通过的数据!");
|
return false;
|
}
|
});
|
},
|
setParamsCheck() {
|
if (config.setParamsByFace.value) {
|
this.setFaceShow = true;
|
} else {
|
this.setParams(true);
|
}
|
},
|
// 设置参数
|
setParams() {
|
// 等待框
|
let loading = this.$layer.loading(1);
|
// 请求后台
|
setDev6159ACParam(this.params)
|
.then((res) => {
|
res = res.data;
|
if (res.code && res.data) {
|
// 启动按钮可点击
|
this.startTestFlag = true;
|
// 提示信息
|
this.$layer.msg("设置成功");
|
} else {
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
// 提示信息
|
this.$layer.msg("设置失败!");
|
}
|
// 关闭等待框
|
this.$layer.close(loading);
|
})
|
.catch((error) => {
|
console.log(error);
|
// 关闭等待框
|
this.$layer.close(loading);
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
// 提示信息
|
this.$layer.msg("设置失败,设置请求异常!");
|
});
|
},
|
setFaceSuccess() {
|
this.setFaceShow = false;
|
this.setParams();
|
},
|
},
|
computed: {
|
},
|
mounted() {
|
// 获取数据
|
if (this.pReadOnly) {
|
this.initParams();
|
this.params = {
|
...this.params,
|
...this.paramData,
|
};
|
} else {
|
this.getParams();
|
}
|
},
|
};
|
</script>
|
|
<style scoped>
|
.params-dialog {
|
background: #f0f0f0;
|
padding: 20px 20px 1px;
|
width: 600px;
|
}
|
.form-footer {
|
margin-top: 16px;
|
margin-bottom: 16px;
|
text-align: right;
|
}
|
|
.form-footer .three-btn {
|
margin-left: 12px;
|
}
|
</style>
|