<script setup>
|
import { ref, onMounted, reactive, watch, nextTick, computed } from "vue";
|
|
|
import useElement from "@/hooks/useElement.js";
|
const { $loading, $message, $confirm } = useElement();
|
|
import {
|
getAlarmFromDevice,
|
setAlarmFromDevice,
|
} from "@/api/alarm.js";
|
|
const emit = defineEmits(['update:visible']);
|
|
const props = defineProps({
|
devId: {
|
type: [String, Number],
|
},
|
visible: {
|
type: Boolean,
|
default: false
|
},
|
});
|
|
const layout = {
|
gutter: 16,
|
span: 8,
|
}
|
|
const startFlag = ref(false);
|
const setFlag = ref(false);
|
|
// TODO 参数范围
|
|
const form1 = reactive({
|
num: '',
|
devId: '',
|
// opCmd: '',
|
groupvolHighVal: '',
|
groupvolLowVal: '',
|
monvolHighVal: '',
|
monvolLowVal: '',
|
montmpHighVal: '',
|
montmpLowVal: '',
|
monresHighVal: '',
|
monresLowVal: '',
|
moncapHighVal: '',
|
moncapLowVal: '',
|
battgroupnum: '',
|
onlinevolHighVal: '',
|
onlinevolLowVal: '',
|
onlinevolEn: '',
|
groupvolEn: '',
|
monvolEn: '',
|
montmpEn: '',
|
monresEn: '',
|
moncapEn: '',
|
discurrHighVal: '',
|
discurrEn: '',
|
chrcurrHighVal: '',
|
chrcurrEn: '',
|
});
|
|
async function getParam() {
|
let loading = $loading();
|
let res = await getAlarmFromDevice(props.devId);
|
let { code, data, data2 } = res;
|
loading.close();
|
if (code && data) {
|
$message.success('操作成功');
|
setFlag.value = true;
|
} else {
|
$message.error('操作失败');
|
// setFlag.value = false;
|
setFlag.value = true;
|
}
|
if (data2) {
|
for(let key in form1) {
|
form1[key] = data2[key];
|
}
|
}
|
}
|
|
|
async function setParam() {
|
let loading = $loading();
|
let res = await setAlarmFromDevice(form1);
|
let { code, data } = res;
|
loading.close();
|
if (code && data) {
|
$message.success('操作成功');
|
startFlag.value = true;
|
} else {
|
$message.error('操作失败');
|
// startFlag.value = false;
|
startFlag.value = true;
|
}
|
}
|
|
function close () {
|
emit('update:visible', false);
|
}
|
|
|
|
|
onMounted(() => {
|
getParam();
|
});
|
</script>
|
|
<template>
|
<div class="param-contain">
|
<el-form ref="formRef" :model="form1" label-width="10em">
|
<el-row :gutter="layout.gutter">
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="组端电压高阈值" prop="groupvolHighVal">
|
<el-input v-model="form1.groupvolHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="组端电压低阈值" prop="groupvolLowVal">
|
<el-input v-model="form1.groupvolLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="组端电压告警使能" prop="groupvolEn">
|
<el-checkbox
|
:checked="form1.groupvolEn == 0"
|
@change="(v) => form1.groupvolEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体电压高阈值" prop="monvolHighVal">
|
<el-input v-model="form1.monvolHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体电压低阈值" prop="monvolLowVal">
|
<el-input v-model="form1.monvolLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体电压告警使能" prop="monvolEn">
|
<el-checkbox
|
:checked="form1.monvolEn == 0"
|
@change="(v) => form1.monvolEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体温度高阈值" prop="montmpHighVal">
|
<el-input v-model="form1.montmpHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体温度低阈值" prop="montmpLowVal">
|
<el-input v-model="form1.montmpLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体温度告警使能" prop="montmpEn">
|
<el-checkbox
|
:checked="form1.montmpEn == 0"
|
@change="(v) => form1.montmpEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体内阻高阈值" prop="monresHighVal">
|
<el-input v-model="form1.monresHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体内阻低阈值" prop="monresLowVal">
|
<el-input v-model="form1.monresLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体内阻告警使能" prop="monresEn">
|
<el-checkbox
|
:checked="form1.monresEn == 0"
|
@change="(v) => form1.monresEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体容量高阈值" prop="moncapHighVal">
|
<el-input v-model="form1.moncapHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体容量低阈值" prop="moncapLowVal">
|
<el-input v-model="form1.moncapLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="单体容量告警使能" prop="moncapEn">
|
<el-checkbox
|
:checked="form1.moncapEn == 0"
|
@change="(v) => form1.moncapEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="在线电压高阈值" prop="onlinevolHighVal">
|
<el-input v-model="form1.onlinevolHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="在线电压低阈值" prop="onlinevolLowVal">
|
<el-input v-model="form1.onlinevolLowVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="在线电压告警使能" prop="onlinevolEn">
|
<el-checkbox
|
:checked="form1.onlinevolEn == 0"
|
@change="(v) => form1.onlinevolEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
:offset="layout.span"
|
>
|
<el-form-item label="放电电流上限阈值" prop="discurrHighVal">
|
<el-input v-model="form1.discurrHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="放电电流告警使能" prop="discurrEn">
|
<el-checkbox
|
:checked="form1.discurrEn == 0"
|
@change="(v) => form1.discurrEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
:offset="layout.span"
|
>
|
<el-form-item label="充电电流上限阈值" prop="chrcurrHighVal">
|
<el-input v-model="form1.chrcurrHighVal"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col
|
:span="layout.span"
|
>
|
<el-form-item label="充电电流告警使能" prop="chrcurrEn">
|
<el-checkbox
|
:checked="form1.chrcurrEn == 0"
|
@change="(v) => form1.chrcurrEn = v ? 0 : 1"
|
></el-checkbox>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div class="footer">
|
<el-button @click="close">关闭</el-button>
|
<el-button type="primary" :disabled="!setFlag" @click="setParam">设置</el-button>
|
<el-button type="primary" @click="getParam">读取</el-button>
|
</div>
|
</div>
|
</template>
|
|
<style scoped lang="less">
|
.footer {
|
display: flex;
|
justify-content: flex-end;
|
margin-top: 8px;
|
}
|
</style>
|