微调
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<!--短信查询-->
|
||||
<el-dialog :close-on-click-modal="false" draggable v-model="machineVisible" :title="title" width="500">
|
||||
<el-dialog :close-on-click-modal="false" draggable v-model="machineVisible" :title="title" width="500">
|
||||
<div>
|
||||
<div style="height: 360px" class="smsConfig">
|
||||
<el-form :model="form" inline label-width="auto" class="mb10 ml30 mt20">
|
||||
<div class="smsConfig">
|
||||
<el-form :model="form" inline label-width="auto" class=" ml30 mt10">
|
||||
<el-form-item label="屏幕通知">
|
||||
<el-radio-group v-model="form.screenNotic" size="small">
|
||||
<el-radio-button label="关闭" :value="0" />
|
||||
@@ -39,49 +39,30 @@
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="残余电压告警阈值">
|
||||
<el-input-number
|
||||
v-model="form.eventValue"
|
||||
:min="0"
|
||||
:max="0.9"
|
||||
:precision="1"
|
||||
:step="0.1"
|
||||
@change="(e) => (e == null ? (form.eventValue = 0.1) : null)"
|
||||
style="width: 200px"
|
||||
/>
|
||||
<el-input-number v-model="form.eventValue" :min="0" :max="0.9" :precision="1" :step="0.1"
|
||||
@change="(e) => (e == null ? (form.eventValue = 0.1) : null)" style="width: 200px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="持续时间告警阈值">
|
||||
<el-input-number
|
||||
v-model="form.eventDuration"
|
||||
:min="0"
|
||||
:max="1000000"
|
||||
:precision="1"
|
||||
:step="1"
|
||||
@change="(e) => (e == null ? (form.eventDuration = 1) : null)"
|
||||
style="width: 200px"
|
||||
>
|
||||
<el-input-number v-model="form.eventDuration" :min="0" :max="1000000" :precision="1" :step="1"
|
||||
@change="(e) => (e == null ? (form.eventDuration = 1) : null)" style="width: 200px">
|
||||
<template #suffix>
|
||||
<span>ms</span>
|
||||
</template></el-input-number
|
||||
>
|
||||
</template></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-divider />
|
||||
<!-- <el-divider />
|
||||
<div style="text-align: center">
|
||||
<el-button
|
||||
type="primary"
|
||||
:icon="Tools"
|
||||
@click="setUp"
|
||||
class="mt10"
|
||||
size="small"
|
||||
>设置</el-button
|
||||
>
|
||||
<el-button :icon="Close" @click="setUp" class="mt10" size="small"
|
||||
>取消</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
<el-button :icon="Close" @click="setUp" class="mt10" size="small">取消</el-button>
|
||||
<el-button type="primary" :icon="Tools" @click="setUp" class="mt10" size="small">设置</el-button>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button :icon="Close" @click="setUp" size="small">取消</el-button>
|
||||
<el-button type="primary" :icon="Tools" @click="setUp" size="small">设置</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
@@ -143,9 +124,11 @@ defineExpose({ open });
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@use "@/assets/scss/index.scss";
|
||||
|
||||
.smsConfig {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #0a73ff40;
|
||||
height: 30px;
|
||||
@@ -155,22 +138,28 @@ defineExpose({ open });
|
||||
margin-bottom: 10px;
|
||||
border-left: 10px solid var(--el-color-primary);
|
||||
}
|
||||
|
||||
:deep(.el-card__body) {
|
||||
padding: 10px !important;
|
||||
}
|
||||
|
||||
:deep(.el-select) {
|
||||
min-width: 80px !important;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
:deep(.el-form-item__label, ) {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
:deep(.el-checkbox__label) {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
:deep(.el-form-item__label, ) {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -182,44 +182,44 @@
|
||||
<!-- 导出 -->
|
||||
<el-dialog :close-on-click-modal="false" draggable v-model="exportVisible" title="导出" width="500"
|
||||
@close="exportClose">
|
||||
<el-radio-group v-model="exportRadio" size="small">
|
||||
<el-radio-button label="默认导出" value="0" />
|
||||
<el-radio-button label="按时间段导出" value="1" />
|
||||
<el-radio-button label="按时间点导出" value="2" />
|
||||
</el-radio-group>
|
||||
<div class="mb10 ml20 mt10">
|
||||
<el-radio-group v-model="exportRadio" size="small">
|
||||
<el-radio-button label="默认导出" value="0" />
|
||||
<el-radio-button label="按时间段导出" value="1" />
|
||||
<el-radio-button label="按时间点导出" value="2" />
|
||||
</el-radio-group>
|
||||
|
||||
<div class="mt10" v-if="exportRadio == '1'">
|
||||
<div class="mt10">
|
||||
|
||||
<el-form-item label="时间段:" style="width: 400px;">
|
||||
<el-date-picker v-model="timePeriod" type="datetimerange" range-separator="至" start-placeholder="开始时间"
|
||||
size="small" end-placeholder="结束时间" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form label-width="auto">
|
||||
|
||||
<el-form-item label="重要敏感用户:" v-if="exportRadio != '0'">
|
||||
<el-tree-select v-model="treeData" :data="treeList" multiple :render-after-expand="false" show-checkbox size="small"
|
||||
style="width: 200px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="时间段:" v-if="exportRadio == '1'">
|
||||
<el-date-picker v-model="timePeriod" type="datetimerange" range-separator="至" start-placeholder="开始时间"
|
||||
size="small" end-placeholder="结束时间" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="时间点:" v-if="exportRadio == '2'">
|
||||
<el-date-picker v-model="timePoint" type="datetime" placeholder="请选择时间" :disabled-date="disabledDate"
|
||||
size="small" style="width: 200px;" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="聚合精度(秒):" v-if="exportRadio == '2'">
|
||||
<el-input-number v-model="timeInterval" :min="0" :step="1" size="small" style="width: 200px;" />
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt10" v-if="exportRadio == '2'">
|
||||
|
||||
<el-form label-width="auto">
|
||||
<el-form-item label="时间点:">
|
||||
<el-date-picker v-model="timePoint" type="datetime" placeholder="请选择时间" :disabled-date="disabledDate"
|
||||
size="small" style="width: 200px;" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="聚合精度(秒):">
|
||||
<el-input-number v-model="timeInterval" :min="0" :step="1" size="small" style="width: 200px;" />
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button size="small" class="mr10" @click="exportClose">取消</el-button>
|
||||
<el-button type="primary" size="small" @click="exportRadio == '0' ? exportTable() : exportTable2()"
|
||||
:loading="exportLoading">
|
||||
<el-button size="small" class="mr10" @click="exportClose" :icon="Close">取消</el-button>
|
||||
<el-button type="primary" :icon="Check" size="small"
|
||||
@click="exportRadio == '0' ? exportTable() : exportTable2()" :loading="exportLoading">
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -233,7 +233,7 @@ import { onMounted, ref, getCurrentInstance, reactive, computed } from "vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { useStore } from "vuex";
|
||||
import waveForm from "@/components/BX/waveForm.vue";
|
||||
import { DArrowRight, Search, RefreshLeft, Download } from "@element-plus/icons-vue";
|
||||
import { DArrowRight, Search, RefreshLeft, Download, Close, Check } from "@element-plus/icons-vue";
|
||||
import { getDateRange } from "@/utils/index"; //引入封装好的
|
||||
import * as XLSX from "xlsx";
|
||||
const store = useStore();
|
||||
@@ -249,6 +249,8 @@ const dropList = ref([]);
|
||||
const waveFormRef = ref();
|
||||
const detailList: any = ref({});
|
||||
const dataRow: any = ref({});
|
||||
const treeData: any = ref([]);
|
||||
const treeList: any = ref([]);
|
||||
const trendVisible = ref(false);
|
||||
const form: any = ref({
|
||||
eventIndex: "", //id
|
||||
@@ -532,30 +534,39 @@ const exportTable2 = async () => {
|
||||
searchBeginTime: searchBeginTime,
|
||||
searchEndTime: searchEndTime,
|
||||
}).then((res) => {
|
||||
let data = res.data.map((item) => {
|
||||
return [
|
||||
item.timeid + '.' + item.ms,
|
||||
item.gdName,
|
||||
item.bdname,
|
||||
item.busName,
|
||||
item.busName,
|
||||
Math.floor(item.eventvalue * 10000) / 100 + '%',
|
||||
Math.floor(item.persisttime * 1000) / 1000 + 's',
|
||||
item.objName || "/",
|
||||
];
|
||||
});
|
||||
list = [...columnExpor, ...data];
|
||||
// 创建工作表
|
||||
const worksheet = XLSX.utils.aoa_to_sheet(list);
|
||||
|
||||
worksheet["!cols"] = list.map((col) => ({ wch: 20 }));
|
||||
if (res.data.length == 0) {
|
||||
ElMessage({
|
||||
message: "暂无数据!",
|
||||
type: "warning",
|
||||
});
|
||||
} else {
|
||||
let data = res.data.map((item) => {
|
||||
return [
|
||||
item.timeid + '.' + item.ms,
|
||||
item.gdName,
|
||||
item.bdname,
|
||||
item.busName,
|
||||
item.busVoltageLevel,
|
||||
Math.floor(item.eventvalue * 10000) / 100 + '%',
|
||||
Math.floor(item.persisttime * 1000) / 1000 + 's',
|
||||
item.objName || "/",
|
||||
];
|
||||
});
|
||||
list = [...columnExpor, ...data];
|
||||
// 创建工作表
|
||||
const worksheet = XLSX.utils.aoa_to_sheet(list);
|
||||
|
||||
// 创建工作簿
|
||||
const workbook = XLSX.utils.book_new();
|
||||
XLSX.utils.book_append_sheet(workbook, worksheet, '暂降事件列表');
|
||||
worksheet["!cols"] = list.map((col) => ({ wch: 20 }));
|
||||
|
||||
// 创建工作簿
|
||||
const workbook = XLSX.utils.book_new();
|
||||
XLSX.utils.book_append_sheet(workbook, worksheet, '暂降事件列表');
|
||||
|
||||
// 写出文件
|
||||
XLSX.writeFile(workbook, '暂降事件列表' + ".xlsx");
|
||||
}
|
||||
|
||||
// 写出文件
|
||||
XLSX.writeFile(workbook, '暂降事件列表' + ".xlsx");
|
||||
});
|
||||
exportLoading.value = false;
|
||||
exportClose()
|
||||
|
||||
@@ -1,64 +1,32 @@
|
||||
<!--报表导出-->
|
||||
<template>
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
draggable
|
||||
v-model="machineVisible"
|
||||
:title="title"
|
||||
width="500"
|
||||
>
|
||||
<el-dialog :close-on-click-modal="false" draggable v-model="machineVisible" :title="title" width="500">
|
||||
<div>
|
||||
<div style="height: 160px" class="smsConfig">
|
||||
<el-form :model="form" inline label-width="auto" class="mb10 ml30 mt20">
|
||||
<div class="smsConfig">
|
||||
<el-form :model="form" inline label-width="auto" class=" ml30 mt10">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker
|
||||
v-model="timeValue"
|
||||
size="small"
|
||||
type="daterange"
|
||||
:disabled-date="isFutureDate"
|
||||
style="width: 250px; margin-right: 10px"
|
||||
unlink-panels
|
||||
:clearable="false"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
<el-date-picker v-model="timeValue" size="small" type="daterange" :disabled-date="isFutureDate"
|
||||
style="width: 250px; margin-right: 10px" unlink-panels :clearable="false" range-separator="至"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门集合">
|
||||
<el-select
|
||||
v-model="form.deptList"
|
||||
placeholder="请选择"
|
||||
style="width: 250px"
|
||||
size="small"
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
v-for="item in deptLists"
|
||||
:key="item.deptsIndex"
|
||||
:label="item.deptsname"
|
||||
:value="item.deptsIndex"
|
||||
/>
|
||||
<el-select v-model="form.deptList" placeholder="请选择部门集合" style="width: 250px" size="small" multiple>
|
||||
<el-option v-for="item in deptLists" :key="item.deptsIndex" :label="item.deptsname"
|
||||
:value="item.deptsIndex" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-divider />
|
||||
|
||||
<!-- <el-divider />
|
||||
<div style="text-align: center">
|
||||
<el-button
|
||||
type="primary"
|
||||
:icon="Check"
|
||||
@click="save"
|
||||
class="mt10"
|
||||
size="small"
|
||||
>确定</el-button
|
||||
>
|
||||
<el-button :icon="Close" @click="setUp" class="mt10" size="small"
|
||||
>取消</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button :icon="Close" @click="setUp" size="small">取消</el-button>
|
||||
<el-button type="primary" :icon="Check" @click="save" size="small">确定</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
@@ -101,6 +69,15 @@ const init = () => {
|
||||
};
|
||||
|
||||
const save = () => {
|
||||
if (!timeValue.value[0]) {
|
||||
ElMessage.warning("请选择时间!");
|
||||
return;
|
||||
}
|
||||
if (form.value.deptList.length == 0) {
|
||||
ElMessage.warning("请选择部门集合!");
|
||||
return;
|
||||
}
|
||||
|
||||
(form.value.deptId = store.state.deptId),
|
||||
(form.value.searchBeginTime = timeValue.value[0]),
|
||||
(form.value.searchEndTime = timeValue.value[1]
|
||||
|
||||
Reference in New Issue
Block a user