<script>
|
import {
|
get9612Params,
|
set9612Params,
|
dev9612Control as start} from "@/views/dataTest/js/realTime";
|
import const_9612 from "@/assets/js/const/const_9612";
|
import {checkUserPwd} from "@/views/login/js/api";
|
|
export default {
|
name: "dischargeParams9612",
|
props: {
|
batt: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
},
|
data() {
|
return {
|
startTestFlag: false, // 启动测试的状态
|
setTestFlag: false, // 设置参数的状态
|
layout: {
|
gutter: 16,
|
span: 8,
|
},
|
params: {
|
devId: 0,
|
testType: 37, // 放电测试
|
disCurr: 0, // 放电电流[1-300A]
|
disCap:0, // 放电容量[1-5000AH]
|
disTime:0, // 放电时长[1-2000分钟]
|
groupvolLow: 0, // 放电截止组端设置[1-1000V]
|
monomervolLow: 0, // 放电截止单体电压设置[1-17.999V]
|
monomertmpHigh: 0, // 放电截止单体温度[0-100℃]
|
offLineYHOnceCycle:0, // 内阻自动测试周期(小时)[0-2300H]
|
},
|
rules: {}
|
}
|
},
|
methods: {
|
async getParams(showLoad) {
|
// 定义等待框
|
let loading;
|
if (showLoad) {
|
loading = this.$layer.loading(1);
|
}
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
let batt = this.batt;
|
try{
|
const res = await get9612Params(batt.fbsdeviceId, const_9612.cmd.get);
|
// 关闭等待框
|
this.$layer.close(loading);
|
const rs = res.data;
|
if(rs.code && rs.data) {
|
this.$layer.msg("读取成功!");
|
Object.keys(this.params).forEach(key=>{
|
let value = rs.data2[key];
|
if(value !== undefined) {
|
this.params[key] = value;
|
}
|
});
|
// 设置按钮可点击
|
this.setTestFlag = true;
|
}else {
|
// 设置按钮不可点击
|
this.setTestFlag = false;
|
this.$layer.msg("读取失败!");
|
}
|
}catch (e) {
|
console.log(e);
|
// 关闭等待框
|
this.$layer.close(loading);
|
// 设置按钮不可点击
|
this.setTestFlag = false;
|
this.$layer.msg("读取失败,请检查网络。");
|
}
|
},
|
submitFrom() {
|
this.$refs.ruleForm.validate((valid) => {
|
// 校验通过
|
if (valid) {
|
// 设置参数
|
this.setParams(true);
|
} else {
|
this.$layer.msg("存在校验未通过的数据!");
|
return false;
|
}
|
});
|
},
|
async setParams(showLoad) {
|
// 定义等待框
|
let loading;
|
if (showLoad) {
|
loading = this.$layer.loading(1);
|
}
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
let batt = this.batt;
|
let params = this.params;
|
try{
|
const res = await set9612Params({
|
opCmd: const_9612.cmd.set,
|
devId: params.devId,
|
testType: params.testType, // 放电测试
|
disCurr: params.disCurr, // 放电电流[1-300A]
|
disCap: params.disCap, // 放电容量[1-5000AH]
|
disTime: params.disTime, // 放电时长[1-2000分钟]
|
groupvolLow: params.groupvolLow, // 放电截止组端设置[1-1000V]
|
monomervolLow: params.monomervolLow, // 放电截止单体电压设置[1-17.999V]
|
monomertmpHigh: params.monomertmpHigh, // 放电截止单体温度[0-100℃]
|
offLineYHOnceCycle: params.offLineYHOnceCycle, // 内阻自动测试周期(小时)[0-2300H]
|
});
|
// 关闭等待框
|
this.$layer.close(loading);
|
const rs = res.data;
|
if (rs.code && rs.data) {
|
this.$layer.msg("设定成功!");
|
this.startTestFlag = true;
|
} else {
|
// 设置按钮不可点击
|
this.startTestFlag = false;
|
this.$layer.msg("设定失败!");
|
}
|
}catch (e) {
|
// 关闭等待框
|
this.$layer.close(loading);
|
// 设置按钮不可点击
|
this.startTestFlag = false;
|
this.$layer.msg("设定失败,请检查网络。");
|
}
|
|
},
|
confirmStartTest() {
|
this.$layer.prompt(
|
{
|
title: "输入启动口令,并确认",
|
formType: 2,
|
area: ["300px", "180px"],
|
},
|
async (pass, index) => {
|
try {
|
const res = await checkUserPwd(pass);
|
const rs = res.data;
|
if (rs.code) {
|
// 关闭弹出框
|
this.$layer.close(index);
|
this.$layer.msg("密码检测通过,启动测试");
|
// 启动测试
|
await this.startTest();
|
} else {
|
this.$layer.msg("启动口令错误!");
|
}
|
}catch (e) {
|
console.log(e);
|
this.$layer.msg("网络请求异常");
|
}
|
}
|
);
|
},
|
async startTest() {
|
// 等待框
|
let loading = this.$layer.loading(1);
|
let params = this.params;
|
try {
|
const res = await start(params.devId, const_9612.cmd.start, params.testType);
|
const rs = res.data;
|
// 关闭等待框
|
this.$layer.close(loading);
|
if (rs.code && rs.data) {
|
// 提示信息
|
this.$layer.msg("启动测试成功");
|
this.$emit('close');
|
} else {
|
// 提示信息
|
this.$layer.msg("启动测试失败!");
|
}
|
}catch (e) {
|
console.log(e);
|
// 关闭等待框
|
this.$layer.close(loading);
|
// 提示信息
|
this.$layer.msg("启动测试失败,启动测试请求异常!");
|
}
|
|
},
|
},
|
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.getParams(true);
|
}
|
}
|
</script>
|
|
<template>
|
<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>
|
<el-row :gutter="layout.gutter">
|
<el-col :span="12">
|
<el-form-item label="测试类型">
|
<el-select v-model="params.testType">
|
<el-option :value="37" label="放电测试"></el-option>
|
<el-option :value="50" label="内阻测试"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电电流(1-300A)">
|
<el-input v-model="params.disCurr"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电容量(1-5000AH)">
|
<el-input v-model="params.disCap"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电时长(1-2000分钟)">
|
<el-input v-model="params.disTime"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电截止组端设置(1-1000V)">
|
<el-input v-model="params.groupvolLow"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电截止单体电压设置(1-17.999V)">
|
<el-input v-model="params.monomervolLow"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="放电截止单体温度(0-100℃)">
|
<el-input v-model="params.monomertmpHigh"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="内阻自动测试周期(0-2300小时)">
|
<el-input v-model="params.offLineYHOnceCycle"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="form-footer">
|
<three-btn :disabled="!startTestFlag" @click="confirmStartTest">启动测试</three-btn>
|
<three-btn @click="getParams(true)">读取</three-btn>
|
<three-btn :disabled="!setTestFlag" @click="submitFrom">设定</three-btn>
|
</div>
|
</el-form>
|
</template>
|
|
<style scoped>
|
|
</style>
|