<template>
|
<div class="params-container">
|
<el-form
|
ref="ruleForm"
|
size="mini"
|
label-position="top"
|
:model="params"
|
:rules="rules"
|
class="params-dialog bg-white">
|
<el-form-item label="装置名称">
|
<el-input v-model="otherParams.groupName" readonly></el-input>
|
</el-form-item>
|
<el-row :gutter="layout.gutter">
|
<el-col :span="layout.span">
|
<el-form-item label="电流钳量程">
|
<el-input v-model="params.currentRange" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="背光时间">
|
<el-input v-model="params.backLightTime" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="设备地址">
|
<el-input v-model="params.devAddr" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="环境温度高阈值(℃)">
|
<el-input v-model="params.tempHEnv" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="接触器温度高阈值(℃)">
|
<el-input v-model="params.tempHJCQ" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="支路电流高阈值(A)">
|
<el-input v-model="params.currHZL" type="input"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="form-footer">
|
<three-btn @click="getParams(true)">读取</three-btn>
|
<three-btn :disabled="!setTestFlag" @click="confirmSetParams">设置</three-btn>
|
</div>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import {search61851, update61851} from "@/views/dataTest/js/realTime";
|
import {checkUserPwd} from "@/views/login/js/api";
|
|
export default {
|
name: "CurrParamSet",
|
props: {
|
visible: {
|
type: Boolean,
|
default: false,
|
},
|
batt: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
},
|
data() {
|
return {
|
layout: {
|
gutter: 16,
|
span: 12,
|
},
|
setTestFlag: false, // 设置参数按钮的状态
|
baseParams: {
|
opCmd: 0x81, // 操作命令
|
devId: 0, // 设备ID
|
},
|
params: {
|
currentRange: 0, // 电流钳量程
|
backLightTime: 0, // 背光时间
|
devAddr: "127.0.0.1", // 设备地址
|
tempHEnv: 0, // 环境温度高阈值
|
tempHJCQ: 0, // 接触器温度高阈值
|
currHZL: 0, // 支路电流高阈值
|
},
|
rules: {},
|
}
|
},
|
methods: {
|
initParams() {
|
let batt = this.batt;
|
this.baseParams.devId = batt.fbsdeviceId;
|
this.getParams(true);
|
},
|
getParams(showLoad) {
|
// 定义等待框
|
let loading;
|
if (showLoad) {
|
loading = this.$layer.loading(1);
|
}
|
let devId = this.baseParams.devId;
|
this.setTestFlag = false;
|
search61851(devId).then(res=>{
|
this.$layer.close(loading);
|
let rs = res.data;
|
let data = {...this.params};
|
if(rs.code && rs.data) {
|
this.$message.success(rs.msg);
|
console.log(rs.data2);
|
this.setTestFlag = true;
|
Object.keys(data).forEach(key=>{
|
data[key] = (typeof rs.data2[key] ) !== "undefined"?rs.data2[key]:0;
|
});
|
}else {
|
this.setTestFlag = false;
|
this.$message.warning(rs.msg);
|
}
|
|
Object.keys(this.params).forEach(key=>{
|
this.params[key] = data[key];
|
});
|
}).catch(error=>{
|
this.setTestFlag = false;
|
console.log(error);
|
this.$layer.close(loading);
|
});
|
},
|
confirmSetParams() {
|
this.$layer.prompt(
|
{
|
title: "输入设置口令,并确认",
|
formType: 2,
|
area: ["300px", "180px"],
|
},
|
(pass, index) => {
|
// 请求后台校验密码
|
checkUserPwd(pass).then((res) => {
|
res = res.data;
|
if (res.code) {
|
// 关闭弹出框
|
this.$layer.close(index);
|
// 启动测试
|
this.setParams();
|
} else {
|
this.$layer.msg("启动口令错误!");
|
}
|
}).catch((error) => {
|
console.log(error);
|
this.$layer.msg("网络请求异常");
|
});
|
});
|
},
|
setParams() {
|
let params = {...this.baseParams, ...this.params};
|
let loading = this.$layer.loading();
|
update61851(params).then(res=>{
|
this.$layer.close(loading);
|
let rs = res.data;
|
if(rs.code && rs.data) {
|
this.$message.success("设置成功");
|
}else {
|
this.$message.warning("设置失败");
|
}
|
}).catch(error=>{
|
this.$layer.close(loading);
|
this.$message.error("后台接口请求失败");
|
console.log(error);
|
});
|
},
|
close() {
|
this.$emit("update:visible", false);
|
},
|
},
|
computed: {
|
otherParams() {
|
let batt = this.batt;
|
let groupInfo =
|
"单体数量:" +
|
this.batt.monCount +
|
";电压(V):" +
|
this.batt.monVolStd +
|
";容量(AH):" +
|
this.batt.monCapStd;
|
return {
|
groupName: batt.stationName + "-" + batt.battGroupName,
|
fbsdeviceId: batt.fbsdeviceId,
|
groupInfo: groupInfo,
|
groupIndexInFBSDevice: this.batt.groupIndexInFBSDevice + 1,
|
};
|
},
|
},
|
mounted() {
|
this.initParams();
|
}
|
}
|
</script>
|
|
<style scoped>
|
.params-container {
|
width: 460px;
|
background-color: #ececec;
|
}
|
.form-footer {
|
margin-top: 16px;
|
margin-bottom: 16px;
|
text-align: right;
|
}
|
|
.form-footer .three-btn {
|
margin-left: 12px;
|
}
|
</style>
|