<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="系统限流值(A)" prop="sysCurrLimit">
|
<el-input v-model="params.sysCurrLimit"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载过流值(A)" prop="loadOvercurr">
|
<el-input v-model="params.loadOvercurr"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池过流值(A)" prop="battOvercurr">
|
<el-input v-model="params.battOvercurr"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="过压告警值(V)" prop="overvolCoe">
|
<el-input v-model="params.overvolCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="欠压告警值(V)" prop="undervolCoe">
|
<el-input v-model="params.undervolCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD1启动" prop="lvd1StartFun">
|
<el-select
|
v-model="params.lvd1StartFun"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD1脱离点(V)" prop="lvd1BreakPoint">
|
<el-input v-model="params.lvd1BreakPoint"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD1恢复点(V)" prop="lvd1RecoveryPoint">
|
<el-input v-model="params.lvd1RecoveryPoint"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD2启动" prop="lvd2StartFun">
|
<el-select
|
v-model="params.lvd2StartFun"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD2脱离点(V)" prop="lvd2BreakPoint">
|
<el-input v-model="params.lvd2BreakPoint"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="LVD2恢复点(V)" prop="lvd2RecoveryPoint">
|
<el-input v-model="params.lvd2RecoveryPoint"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池高温告警点(℃)" prop="battHightempCoe">
|
<el-input v-model="params.battHightempCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池低温告警点(℃)" prop="battLowtempCoe">
|
<el-input v-model="params.battLowtempCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="环境高温告警点(℃)" prop="envirHightempCoe">
|
<el-input v-model="params.envirHightempCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="环境低温告警点(℃)" prop="envirLowtempCoe">
|
<el-input v-model="params.envirLowtempCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="环境过湿告警点(%)" prop="envirHighhumidCoe">
|
<el-input v-model="params.envirHighhumidCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="环境低湿告警点(%)" prop="envirLowhumidCoe">
|
<el-input v-model="params.envirLowhumidCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="layout.span">
|
<el-form-item label="浮充电压(V)" prop="floatChargeVol">
|
<el-input v-model="params.floatChargeVol"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="均充电压(V)" prop="junChargeVol">
|
<el-input v-model="params.junChargeVol"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="系统最低电压(V)" prop="sysMinVol">
|
<el-input v-model="params.sysMinVol"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="温度补偿启动" prop="tempCompensateFun">
|
<el-select
|
v-model="params.tempCompensateFun"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="温度补偿系数(mV/℃)" prop="tempCompensateCoe">
|
<el-input v-model="params.tempCompensateCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
|
<el-col :span="layout.span">
|
<el-form-item label="周期均充启动" prop="junChargeCycleFun">
|
<el-select
|
v-model="params.junChargeCycleFun"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="周期均充间隔(天)" prop="junChargeCycleInterval">
|
<el-input v-model="params.junChargeCycleInterval"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="均充持续时间(分)" prop="junChargeCycleTime">
|
<el-input v-model="params.junChargeCycleTime"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="快充启动" prop="fastChargeStart">
|
<el-select
|
v-model="params.fastChargeStart"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="停止" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="快充电压点(V)" prop="fastChargeVolCoe">
|
<el-input v-model="params.fastChargeVolCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="快充时间限制(分)" prop="fastChargeTimeLimit">
|
<el-input v-model="params.fastChargeTimeLimit"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池容量(Ah)" prop="battCapSet">
|
<el-input v-model="params.battCapSet"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="均充转浮充系数(%)" prop="jun2floatChargeCoe">
|
<el-input v-model="params.jun2floatChargeCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="浮充转均充系数(%)" prop="float2junChargeCoe">
|
<el-input v-model="params.float2junChargeCoe"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池充电限流点(%)" prop="battChargecurrLimit">
|
<el-input v-model="params.battChargecurrLimit"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池测试功能启动" prop="battTestFun">
|
<el-select
|
v-model="params.battTestFun"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池测试起始电压(V)" prop="battTestStartvol">
|
<el-input v-model="params.battTestStartvol"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池测试终止电压(V)" prop="battTestEndvol">
|
<el-input v-model="params.battTestEndvol"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池测试持续时间(分)" prop="battTestTime">
|
<el-input v-model="params.battTestTime"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="手动均充启动" prop="junChargeManual">
|
<el-select
|
v-model="params.junChargeManual"
|
:disabled="pReadOnly"
|
placeholder="请选择"
|
>
|
<el-option label="关闭" :value="0"></el-option>
|
<el-option label="启动" :value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="手动均充电时间(时)" prop="junChargeManualTime">
|
<el-input v-model="params.junChargeManualTime"></el-input>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :span="layout.span">
|
<el-form-item label="负载1下电延时(分)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载1下电脱离点(V)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载1下电恢复点(V)" prop="a">
|
<el-input v-model="params.groupInfo" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载2下电延时(分)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载2下电脱离点(V)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载2下电恢复点(V)" prop="a">
|
<el-input v-model="params.groupInfo" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载3下电延时(分)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载3下电脱离点(V)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载3下电恢复点(V)" prop="a">
|
<el-input v-model="params.groupInfo" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载4下电延时(分)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载4下电脱离点(V)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="负载4下电恢复点(V)" prop="a">
|
<el-input v-model="params.groupInfo" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="直流输入过压告警值(V)" prop="a">
|
<el-input v-model="params.fbsdeviceId"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="直流输入欠压告警值(V)" prop="a">
|
<el-input v-model="params.groupInfo" readonly></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-dialog
|
title="人脸校验"
|
width="480px"
|
:visible.sync="startFaceShow"
|
: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="startFaceShow"
|
@checkSuccess="startFaceSuccess"
|
></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 { setDev6159DCParam, getDev6159DCParam } 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,
|
},
|
isRequest: {
|
type: Number,
|
default: 0,
|
},
|
paramData: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
},
|
data() {
|
let rules = const_61590.dcParamsRules;
|
function getRule(prop) {
|
return [
|
{
|
validator(rule, value, callback) {
|
testVal(rule, value, callback, rules[prop]);
|
},
|
trigger: "change",
|
},
|
];
|
}
|
let rulesObj = {};
|
[
|
"sysCurrLimit",
|
"loadOvercurr",
|
"battOvercurr",
|
"overvolCoe",
|
"undervolCoe",
|
"lvd1BreakPoint",
|
"lvd1RecoveryPoint",
|
"lvd2BreakPoint",
|
"lvd2RecoveryPoint",
|
"battHightempCoe",
|
"battLowtempCoe",
|
"envirHightempCoe",
|
"envirLowtempCoe",
|
"envirHighhumidCoe",
|
"envirLowhumidCoe",
|
"floatChargeVol",
|
"junChargeVol",
|
"sysMinVol",
|
"tempCompensateCoe",
|
"junChargeCycleInterval",
|
"junChargeCycleTime",
|
"fastChargeVolCoe",
|
"fastChargeTimeLimit",
|
"battCapSet",
|
"jun2floatChargeCoe",
|
"float2junChargeCoe",
|
"battChargecurrLimit",
|
"battTestStartvol",
|
"battTestEndvol",
|
"battTestTime",
|
"junChargeManualTime",
|
].forEach((v) => {
|
rulesObj[v] = getRule(v);
|
});
|
return {
|
layout: {
|
gutter: 16,
|
span: 4,
|
},
|
reason: "",
|
setFaceShow: false,
|
startFaceShow: false,
|
setTestFlag: false, // 设置参数的状态
|
readOnly: false,
|
params: {
|
sysCurrLimit: 0,
|
loadOvercurr: 0,
|
battOvercurr: 0,
|
overvolCoe: 0,
|
undervolCoe: 0,
|
lvd1BreakPoint: 0,
|
lvd1RecoveryPoint: 0,
|
lvd2BreakPoint: 0,
|
lvd2RecoveryPoint: 0,
|
battHightempCoe: 0,
|
battLowtempCoe: 0,
|
envirHightempCoe: 0,
|
envirLowtempCoe: 0,
|
envirHighhumidCoe: 0,
|
envirLowhumidCoe: 0,
|
floatChargeVol: 0,
|
junChargeVol: 0,
|
sysMinVol: 0,
|
tempCompensateCoe: 0,
|
junChargeCycleInterval: 0,
|
junChargeCycleTime: 0,
|
fastChargeVolCoe: 0,
|
fastChargeTimeLimit: 0,
|
battCapSet: 0,
|
jun2floatChargeCoe: 0,
|
float2junChargeCoe: 0,
|
battChargecurrLimit: 0,
|
battTestStartvol: 0,
|
battTestEndvol: 0,
|
battTestTime: 0,
|
junChargeManualTime: 0,
|
lvd1StartFun: 0,
|
lvd2StartFun: 0,
|
tempCompensateFun: 0,
|
junChargeCycleFun: 0,
|
fastChargeStart: 0,
|
battTestFun: 0,
|
junChargeManual: 0,
|
devId: this.devId,
|
},
|
rules: rulesObj,
|
};
|
},
|
watch: {
|
},
|
methods: {
|
initParams() {
|
// 初始化参数
|
this.params = {
|
sysCurrLimit: 0,
|
loadOvercurr: 0,
|
battOvercurr: 0,
|
overvolCoe: 0,
|
undervolCoe: 0,
|
lvd1BreakPoint: 0,
|
lvd1RecoveryPoint: 0,
|
lvd2BreakPoint: 0,
|
lvd2RecoveryPoint: 0,
|
battHightempCoe: 0,
|
battLowtempCoe: 0,
|
envirHightempCoe: 0,
|
envirLowtempCoe: 0,
|
envirHighhumidCoe: 0,
|
envirLowhumidCoe: 0,
|
floatChargeVol: 0,
|
junChargeVol: 0,
|
sysMinVol: 0,
|
tempCompensateCoe: 0,
|
junChargeCycleInterval: 0,
|
junChargeCycleTime: 0,
|
fastChargeVolCoe: 0,
|
fastChargeTimeLimit: 0,
|
battCapSet: 0,
|
jun2floatChargeCoe: 0,
|
float2junChargeCoe: 0,
|
battChargecurrLimit: 0,
|
battTestStartvol: 0,
|
battTestEndvol: 0,
|
battTestTime: 0,
|
junChargeManualTime: 0,
|
lvd1StartFun: 0,
|
lvd2StartFun: 0,
|
tempCompensateFun: 0,
|
junChargeCycleFun: 0,
|
fastChargeStart: 0,
|
battTestFun: 0,
|
junChargeManual: 0,
|
devId: this.devId,
|
};
|
},
|
// 获取参数
|
getParams() {
|
// 定义等待框
|
let loading = this.$layer.loading(1);
|
// 启动按钮不可点击
|
this.startTestFlag = false;
|
|
// 查询后台
|
getDev6159DCParam(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);
|
// 请求后台
|
setDev6159DCParam(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: 1200px;
|
}
|
.form-footer {
|
margin-top: 16px;
|
margin-bottom: 16px;
|
text-align: right;
|
}
|
|
.form-footer .three-btn {
|
margin-left: 12px;
|
}
|
</style>
|