<template>
|
<div class="params-container">
|
<el-form
|
ref="ruleForm"
|
size="mini"
|
label-position="top"
|
:model="params"
|
:rules="rules"
|
class="params-dialog"
|
>
|
<el-form-item label="电池组名称">
|
<el-input v-model="otherParams.groupName" readonly></el-input>
|
</el-form-item>
|
<div class="table-layout">
|
<div class="table-row">
|
<div class="table-cell pr16">
|
<el-form-item label="在线电压低阀值(大于44)" prop="onlinevolLow">
|
<el-input v-model="params.onlinevolLow"></el-input>
|
</el-form-item>
|
</div>
|
<div class="table-cell">
|
<el-form-item label="离线养护开始时间" prop="offLineYHstarttime">
|
<el-date-picker
|
v-model="params.offLineYHstarttime"
|
type="datetime"
|
size="mini"
|
placeholder="选择日期时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="table-row">
|
<div class="table-cell pr16">
|
<el-form-item
|
label="单次离线养护时长(小时)"
|
prop="offlineyhCycle"
|
>
|
<el-input v-model="params.offlineyhCycle"></el-input>
|
</el-form-item>
|
</div>
|
<div class="table-cell">
|
<el-form-item label="离线养护周期(天)" prop="offLineYHOnceCycle">
|
<el-input v-model="params.offLineYHOnceCycle"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
<div class="table-row">
|
<div class="table-cell pr16">
|
<el-form-item label="离线养护次数" prop="offLineYHTimes">
|
<el-input v-model="params.offLineYHTimes"></el-input>
|
</el-form-item>
|
</div>
|
<div class="table-cell">
|
<el-form-item label="单体温度上限(10~60℃)" prop="monomertmpHigh">
|
<el-input v-model="params.monomertmpHigh"></el-input>
|
</el-form-item>
|
</div>
|
</div>
|
</div>
|
<div class="form-footer">
|
<three-btn :disabled="!startFlag" @click="confirmStart">启动</three-btn>
|
<three-btn @click="read">读取</three-btn>
|
<three-btn :disabled="!setFlag" @click="submitForm">设定</three-btn>
|
</div>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import { const_outline } from "@/assets/js/const";
|
import { testVal } from "@/assets/js/tools";
|
import {
|
btsControl as read,
|
outlineControl as update
|
} from '../js/realTime';
|
|
export default {
|
name: "OutlineCuringParams",
|
props: {
|
batt: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
},
|
data() {
|
let nowDate = new Date().format("yyyy-MM-dd hh:mm:ss");
|
let cmd = const_outline.cmd;
|
let rules = const_outline.rules;
|
return {
|
cmd: cmd,
|
startFlag: false, // 启动测试的状态
|
setFlag: false, // 设置参数的状态
|
params: {
|
opCmd: 0,
|
devId: 0, // 设备id
|
onlinevolLow: 0, // 在线电压低阈值
|
offlineyhCycle: 0, // 单次养护时长
|
offLineYHOnceCycle: 0, // 离线养护周期
|
offLineYHTimes: 0, // 离线养护次数
|
offLineYHstarttime: nowDate, // 离线养护开始时间
|
monomertmpHigh: 0, // 单体温度上限
|
},
|
rules: {
|
onlinevolLow: [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules.OnLineVol_Low);
|
},
|
trigger: "change",
|
},
|
],
|
offlineyhCycle: [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules.OffLineYH_Cycle);
|
},
|
trigger: "change",
|
},
|
],
|
offLineYHOnceCycle: [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules.OffLineYHOnceCycle);
|
},
|
trigger: "change",
|
},
|
],
|
offLineYHTimes: [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules.OffLineYHTimes);
|
},
|
trigger: "change",
|
},
|
],
|
monomertmpHigh: [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules.MonomerTmp_High);
|
},
|
trigger: "change",
|
},
|
],
|
},
|
};
|
},
|
methods: {
|
// 初始化
|
init() {
|
// 初始化参数
|
this.params = {
|
opCmd: 0,
|
devId: 0, // 设备id
|
battGroupNum: 0, // 电池组编号
|
onlinevolLow: 0, // 在线电压低阈值
|
offlineyhCycle: 0, // 单次养护时长
|
offLineYHOnceCycle: 0, // 离线养护周期
|
offLineYHTimes: 0, // 离线养护次数
|
offLineYHstarttime: nowDate, // 离线养护开始时间
|
monomertmpHigh: 0, // 单体温度上限
|
};
|
},
|
// 读取
|
read() {
|
let batt = this.batt;
|
// 构造查询条件
|
let searchParams = {
|
num: this.cmd.get,
|
devId: batt.fbsdeviceId,
|
testCmd: 0,
|
battGroupNum: batt.groupIndexInFBSDevice+1,
|
};
|
// 开启等待框
|
let loading = this.$layer.loading();
|
// 启动和设置不可点击
|
this.startFlag = false;
|
this.setFlag = false;
|
// 查询后台
|
read(searchParams)
|
.then((res) => {
|
res = res.data;
|
if (res.code) {
|
let data = res.data;
|
// 遍历参数属性并赋值
|
for (let key in this.params) {
|
let value = data[key];
|
this.params[key] = value;
|
}
|
this.params.devId = this.batt.fbsdeviceId;
|
this.params.opCmd = this.cmd.set;
|
this.battGroupNum = this.batt.groupIndexInFBSDevice;
|
// 提示信息
|
this.$layer.msg("读取成功");
|
// 设置按钮可点击
|
this.setFlag = true;
|
} else {
|
// 提示信息
|
this.$layer.msg("读取失败");
|
}
|
// 关闭等待框
|
this.$layer.close(loading);
|
})
|
.catch((error) => {
|
console.log(error);
|
// 关闭等待框
|
this.$layer.close(loading);
|
});
|
},
|
submitForm() {
|
this.$refs.ruleForm.validate((valid) => {
|
// 校验通过
|
if (valid) {
|
let date = this.params.offLineYHstarttime;
|
this.params.offLineYHstarttime = new Date(date).format(
|
"yyyy-MM-dd hh:mm:ss"
|
);
|
// 更新数据
|
this.update(this.params);
|
} else {
|
this.$layer.msg("存在校验未通过的数据!");
|
return false;
|
}
|
});
|
},
|
// 更新
|
update(params) {
|
params.opCmd = this.cmd.set;
|
// 开启等待框
|
let loading = this.$layer.loading();
|
// 请求后台设置参数
|
update(params)
|
.then((res) => {
|
res = res.data;
|
// console.log('res update=====', res);
|
if (res.code) {
|
// 设置启动按钮可以点击
|
this.startFlag = true;
|
// 提示信息
|
this.$layer.msg("设置成功");
|
} else {
|
// 提示信息
|
this.$layer.msg("设置失败");
|
}
|
// 关闭等待框
|
this.$layer.close(loading);
|
})
|
.catch((error) => {});
|
},
|
// 确认启动
|
confirmStart() {
|
this.$confirm("是否启动离线养护除硫", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
})
|
.then(() => {
|
this.start();
|
})
|
.catch(() => {});
|
},
|
// 启动
|
start() {
|
let start = this.cmd.start;
|
let devId = this.params.devId;
|
let params = {
|
opCmd: start,
|
devId: devId,
|
monomertmpHigh: 0,
|
onlinevolLow: 0,
|
offlineyhCycle: 0,
|
offLineYHOnceCycle: 0,
|
offLineYHstarttime: "2020-01-01 00:00:00",
|
};
|
// 开启等待框
|
let loading = this.$layer.loading();
|
// 请求后台设置参数
|
update(params)
|
.then((res) => {
|
res = res.data;
|
if (res.code) {
|
// 提示信息
|
this.$layer.msg("启动离线养护成功!");
|
} else {
|
// 提示信息
|
this.$layer.msg("启动离线养护失败!");
|
}
|
// 关闭等待框
|
this.$layer.close(loading);
|
})
|
.catch((error) => {
|
// 提示信息
|
this.$layer.msg("网络请求异常,启动离线养护失败!");
|
// 关闭等待框
|
this.$layer.close(loading);
|
});
|
},
|
},
|
computed: {
|
otherParams() {
|
let batt = this.batt;
|
let groupInfo =
|
"单体数量:" +
|
this.batt.monCount +
|
";电压(V):" +
|
this.batt.monVolStd +
|
";容量(AH):" +
|
this.batt.monCapStd;
|
return {
|
groupName: batt.stationName,
|
fbsdeviceId: batt.fbsdeviceId,
|
groupInfo: groupInfo,
|
groupIndexInFBSDevice: this.batt.groupIndexInFBSDevice + 1,
|
};
|
},
|
},
|
mounted() {
|
// 读取信息
|
this.read();
|
},
|
};
|
</script>
|
|
<style scoped>
|
.params-container {
|
padding: 8px;
|
background-color: #ececec;
|
}
|
.form-footer {
|
margin-top: 16px;
|
margin-bottom: 16px;
|
text-align: right;
|
}
|
.form-footer .three-btn {
|
margin-left: 12px;
|
}
|
</style>
|