Commit 9b74824a authored by xuke's avatar xuke

能源消耗完善

parent 50e09761
...@@ -509,6 +509,24 @@ function getImgUrl(scope, item) { ...@@ -509,6 +509,24 @@ function getImgUrl(scope, item) {
console.log("AlarmInfo.value:::", AlarmInfo.value); console.log("AlarmInfo.value:::", AlarmInfo.value);
// 报警参数设置 // 报警参数设置
// 是否显示该按钮
//报警弹窗
const userId = ref();
const roleIds = ref();
//获取用户信息
function getuser() {
var user = store.getters.getUserInfo();
console.log("user================>", user);
console.log("user.enterpriseId================>", user.enterpriseId);
if (user) {
enterpriseId.value = user.enterpriseId;
userId.value = user.userId;
roleIds.value = user.roleId;
}
}
console.log("userId=========>", userId.value);
console.log("roleIds=========>", roleIds.value);
let cnNames_before = ref([]) let cnNames_before = ref([])
let cnNames_after = ref([]) let cnNames_after = ref([])
console.log("---------------------AlarmInfo.value:", AlarmInfo.value); console.log("---------------------AlarmInfo.value:", AlarmInfo.value);
...@@ -593,6 +611,7 @@ const rules = reactive({ ...@@ -593,6 +611,7 @@ const rules = reactive({
let newType = ref(0) let newType = ref(0)
watchEffect(() => { watchEffect(() => {
console.log("监听::::", type.value); console.log("监听::::", type.value);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;min-width: 130px;" @change="getchart" /> style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949;min-width: 130px;" @change="getchart" />
</el-form-item> </el-form-item>
<el-form-item label="锅炉:"> <el-form-item label="锅炉:">
<el-select v-model="HisBoilerInfo.id" multiple="true" collapse-tags placeholder="请选择" style="min-width: 170px" > <el-select v-model="HisBoilerInfo.id" multiple="true" collapse-tags placeholder="请选择" style="min-width: 170px">
<el-option v-for="item in options" :label="item.label" :value="item.value" /> <el-option v-for="item in options" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -46,14 +46,19 @@ ...@@ -46,14 +46,19 @@
</el-card> </el-card>
<el-card v-show="value" class="moduleCard" :height="tableHeight"> <el-card v-show="value" class="moduleCard" :height="tableHeight">
<el-table :data="tableData" :height="tableHeight" v-loading="loading" :cell-style="setCellStyle" id="out-table" <el-scrollbar height="400px">
border highlight-current-row :header-cell-style="setHeaderCellStyle" @sort-change="sortMethod" :header-cell-class-name="handleHeadAddClass"> <el-table :data="tableData" :height="tableHeight" v-loading="loading" :cell-style="setCellStyle" id="out-table"
<el-table-column v-for="(item, i) in frozenList" :prop="item.field" :label="item.title" :width="item.width" :sortable="(item.field === 'name' || item.field === 'gatherTime') ? true : false" border highlight-current-row :header-cell-style="setHeaderCellStyle" @sort-change="sortMethod"
fixed /> :header-cell-class-name="handleHeadAddClass">
<template v-for="(item, i) in otherList"> <el-table-column v-for="(item, i) in frozenList" :prop="item.field" :label="item.title" :width="item.width"
<el-table-column v-if="item.isVisible" :prop="item.enName" :label="item.alias" :width="item.width"></el-table-column> :sortable="(item.field === 'name' || item.field === 'gatherTime') ? true : false" fixed />
</template> <template v-for="(item, i) in otherList">
</el-table> <el-table-column v-if="item.isVisible" :prop="item.enName" :label="item.alias"
:width="item.width"></el-table-column>
</template>
</el-table>
</el-scrollbar>
</el-card> </el-card>
<el-footer style="height: 8px;" v-show="value"> <el-footer style="height: 8px;" v-show="value">
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
...@@ -66,7 +71,8 @@ ...@@ -66,7 +71,8 @@
<el-card v-show="(value === false)"> <el-card v-show="(value === false)">
<div id="chart" style="width: 99%; height: 690px"></div> <div id="chart" style="width: 99%; height: 690px"></div>
</el-card> </el-card>
<CfgSupply v-model="autoColBoxShow" @onChangeDialog="onChangeDialog" :titleData="value? titleData:curveTitleData" :height="500" :width="950" :deviceType="HisBoilerInfo.deviceType" :title="title" :cfgType="value? 0 :1"/> <CfgSupply v-model="autoColBoxShow" @onChangeDialog="onChangeDialog" :titleData="value ? titleData : curveTitleData"
:height="500" :width="950" :deviceType="HisBoilerInfo.deviceType" :title="title" :cfgType="value ? 0 : 1" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -105,18 +111,18 @@ const title = ref('换热站历史数据自定义列'); ...@@ -105,18 +111,18 @@ const title = ref('换热站历史数据自定义列');
const onChangeDialog = (val) => { const onChangeDialog = (val) => {
// console.log('onclick',val); // console.log('onclick',val);
autoColBoxShow.value = false; autoColBoxShow.value = false;
if(value){ if (value) {
loading.value = true; loading.value = true;
getcolumn(); getcolumn();
getBoiler(); getBoiler();
}else{ } else {
getchart(); getchart();
} }
} }
getEnterprise(); getEnterprise();
function getEnterprise(){ function getEnterprise() {
var result = store.getters.getEnterprise(); var result = store.getters.getEnterprise();
if (result) { if (result) {
enterpriseId.value = result[0].enterpriseId; enterpriseId.value = result[0].enterpriseId;
...@@ -129,37 +135,37 @@ function setContentHeight() { ...@@ -129,37 +135,37 @@ function setContentHeight() {
} }
//获取排序的方法 //获取排序的方法
function sortMethod({ order, prop }){ function sortMethod({ order, prop }) {
// 触发的排序和缓存的排序相同时,取消该字段的排序 // 触发的排序和缓存的排序相同时,取消该字段的排序
if (!order || sortField[prop] === order) { if (!order || sortField[prop] === order) {
sortField[prop] = null sortField[prop] = null
} else { } else {
sortField[prop] = order sortField[prop] = order
} }
// console.log(sortField) // console.log(sortField)
let sortname = ""; let sortname = "";
let sortnames = ""; let sortnames = "";
let direction = ''; let direction = '';
for (const i in sortField) { for (const i in sortField) {
if (sortField[i] == 'ascending') { if (sortField[i] == 'ascending') {
direction = 'ASC' direction = 'ASC'
} else if (sortField[i] == 'descending') { } else if (sortField[i] == 'descending') {
direction = 'DESC' direction = 'DESC'
} }
if(i === "name"){ if (i === "name") {
sortname = "BoilerName"; sortname = "BoilerName";
}else if(i === "gatherTime"){ } else if (i === "gatherTime") {
sortname = "GatherTime"; sortname = "GatherTime";
} }
// console.log(sortname) // console.log(sortname)
if(sortnames===""){ if (sortnames === "") {
sortnames = sortnames + sortname + " " + direction; sortnames = sortnames + sortname + " " + direction;
}else{ } else {
sortnames = sortnames + "," + sortname + " " + direction; sortnames = sortnames + "," + sortname + " " + direction;
} }
HisBoilerInfo.sort = sortnames; HisBoilerInfo.sort = sortnames;
} }
getdata() //调用后端查询接口 getdata() //调用后端查询接口
} }
function handleHeadAddClass({ column }) { function handleHeadAddClass({ column }) {
...@@ -192,12 +198,12 @@ if (day >= 1 && day <= 9) { ...@@ -192,12 +198,12 @@ if (day >= 1 && day <= 9) {
// var endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4]; // var endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
// var startTime = year + "-" + dateArr[0] + "-" + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4]; // var startTime = year + "-" + dateArr[0] + "-" + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
var startTime = sessionStorage.getItem("DeviceQueryStart"); var startTime = sessionStorage.getItem("DeviceQueryStart");
if(!startTime){ if (!startTime) {
startTime = year + "-" + dateArr[0] + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4]; startTime = year + "-" + dateArr[0] + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryStart", startTime); sessionStorage.setItem("DeviceQueryStart", startTime);
} }
var endTime = sessionStorage.getItem("DeviceQueryEnd"); var endTime = sessionStorage.getItem("DeviceQueryEnd");
if(!endTime){ if (!endTime) {
endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4]; endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryEnd", endTime); sessionStorage.setItem("DeviceQueryEnd", endTime);
} }
...@@ -216,29 +222,29 @@ const HisBoilerInfo = reactive({ ...@@ -216,29 +222,29 @@ const HisBoilerInfo = reactive({
}) })
//获取下拉列表 //获取下拉列表
function getoptions(){ function getoptions() {
var result = store.getters.getEnterprise(); var result = store.getters.getEnterprise();
if (result) { if (result) {
result.forEach(element=>{ result.forEach(element => {
if(element.enterpriseId === enterpriseId.value){ if (element.enterpriseId === enterpriseId.value) {
if(element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()){ if (element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()) {
element.serviceCenterList.forEach(center=>{ element.serviceCenterList.forEach(center => {
center.supplyList.forEach(supply => { center.supplyList.forEach(supply => {
supply.boilerList.forEach(boiler => { supply.boilerList.forEach(boiler => {
options.push({ value: boiler.boilerId, label: boiler.description }); options.push({ value: boiler.boilerId, label: boiler.description });
}) })
}); });
}) })
}else{ } else {
element.supplyList.forEach(supply => { element.supplyList.forEach(supply => {
supply.boilerList.forEach(boiler => { supply.boilerList.forEach(boiler => {
options.push({ value: boiler.boilerId, label: boiler.description }); options.push({ value: boiler.boilerId, label: boiler.description });
}) })
}) })
} }
} }
}); });
options.forEach(element =>{ options.forEach(element => {
HisBoilerInfo.id.push(element.value); HisBoilerInfo.id.push(element.value);
}) })
} }
...@@ -306,13 +312,13 @@ function getBoiler() { ...@@ -306,13 +312,13 @@ function getBoiler() {
http.post("/api/boiler/History", HisBoilerInfo).then((result) => { http.post("/api/boiler/History", HisBoilerInfo).then((result) => {
console.log(result); console.log(result);
tableData.value = null; tableData.value = null;
if(result.data !== null){ if (result.data !== null) {
tableData.value = result.data.dataInfoList; tableData.value = result.data.dataInfoList;
total.value = result.data.rowCount; total.value = result.data.rowCount;
console.log(tableData.value); console.log(tableData.value);
} }
if(result.data === null || HisBoilerInfo.id.length < 1){ if (result.data === null || HisBoilerInfo.id.length < 1) {
tableData.value = null; tableData.value = null;
total.value = 0; total.value = 0;
} }
...@@ -384,7 +390,7 @@ function currentTime() { ...@@ -384,7 +390,7 @@ function currentTime() {
} }
// 导出表格 按钮点击后触发事件 // 导出表格 按钮点击后触发事件
async function exportExcel () { async function exportExcel() {
sessionStorage.setItem("DeviceQueryStart", HisBoilerInfo.startTime); sessionStorage.setItem("DeviceQueryStart", HisBoilerInfo.startTime);
sessionStorage.setItem("DeviceQueryEnd", HisBoilerInfo.endTime); sessionStorage.setItem("DeviceQueryEnd", HisBoilerInfo.endTime);
HisBoilerInfo.pageIndex = 0; HisBoilerInfo.pageIndex = 0;
...@@ -396,7 +402,7 @@ async function exportExcel () { ...@@ -396,7 +402,7 @@ async function exportExcel () {
var fileName = getFileName("锅炉历史数据"); var fileName = getFileName("锅炉历史数据");
await http.post("/api/boiler/hisExport", HisBoilerInfo, '正在导出数据....', { responseType: 'blob' }).then((content) => { await http.post("/api/boiler/hisExport", HisBoilerInfo, '正在导出数据....', { responseType: 'blob' }).then((content) => {
try{ try {
const blob = new Blob([content]); const blob = new Blob([content]);
if ('download' in document.createElement('a')) { if ('download' in document.createElement('a')) {
// 非IE下载 // 非IE下载
...@@ -412,35 +418,35 @@ async function exportExcel () { ...@@ -412,35 +418,35 @@ async function exportExcel () {
// IE10+下载 // IE10+下载
navigator.msSaveBlob(blob, fileName); navigator.msSaveBlob(blob, fileName);
} }
}catch(error){ } catch (error) {
console.log(error); console.log(error);
} }
}); });
} }
// var xlsxParam = { raw: true };//转换成excel时,使用原始的格式 // var xlsxParam = { raw: true };//转换成excel时,使用原始的格式
// /* 从表生成工作簿对象 */ // /* 从表生成工作簿对象 */
// var wb = XLSX.utils.table_to_book(document.querySelector("#out-table"), xlsxParam); // var wb = XLSX.utils.table_to_book(document.querySelector("#out-table"), xlsxParam);
// /* 获取二进制字符串作为输出 */ // /* 获取二进制字符串作为输出 */
// var wbout = XLSX.write(wb, { // var wbout = XLSX.write(wb, {
// bookType: "xlsx", // bookType: "xlsx",
// bookSST: true, // bookSST: true,
// type: "array" // type: "array"
// }); // });
// try { // try {
// FileSaver.saveAs( // FileSaver.saveAs(
// //Blob 对象表示一个不可变、原始数据的类文件对象。 // //Blob 对象表示一个不可变、原始数据的类文件对象。
// //Blob 表示的不一定是JavaScript原生格式的数据。 // //Blob 表示的不一定是JavaScript原生格式的数据。
// //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。 // //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
// //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。 // //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
// new Blob([wbout], { type: "application/octet-stream;charset=utf-8" }), // new Blob([wbout], { type: "application/octet-stream;charset=utf-8" }),
// //设置导出文件名称 // //设置导出文件名称
// currentTime() + ".xlsx" // currentTime() + ".xlsx"
// ); // );
// } catch (e) { // } catch (e) {
// if (typeof console !== "undefined") console.log(e, wbout); // if (typeof console !== "undefined") console.log(e, wbout);
// } // }
// return wbout; // return wbout;
onMounted(() => { onMounted(() => {
setContentHeight(); setContentHeight();
...@@ -456,15 +462,15 @@ function getchart() { ...@@ -456,15 +462,15 @@ function getchart() {
const series = reactive([]); const series = reactive([]);
const titles = reactive([]); const titles = reactive([]);
const title = ref(); const title = ref();
let id = ""; let id = "";
id = HisBoilerInfo.id[0]; id = HisBoilerInfo.id[0];
HisBoilerInfo.id = []; HisBoilerInfo.id = [];
HisBoilerInfo.id.push(id); HisBoilerInfo.id.push(id);
HisBoilerInfo.pageCount = 999999; HisBoilerInfo.pageCount = 999999;
options.forEach(element =>{ options.forEach(element => {
if(element.value === id){ if (element.value === id) {
title.value = element.label; title.value = element.label;
} }
}) })
...@@ -516,7 +522,7 @@ function getchart() { ...@@ -516,7 +522,7 @@ function getchart() {
yAxis: { yAxis: {
type: 'value', type: 'value',
axisLabel: { axisLabel: {
formatter:'{value} ℃' formatter: '{value} ℃'
} }
}, },
series: series series: series
......
<template> <template>
<!-- 条件筛选卡片 --> <!-- 条件筛选卡片 -->
<el-card class="card-contianer"> <el-card class="card-contianer">
<div class="div-header"> <div class="div-header">
<el-form-item label="设备:"> <el-form-item label="设备:">
<el-cascader :options="options" v-model="PatrolInfo.Id" :props="props" collapse-tags clearable :show-all-levels="false" <el-cascader :options="options" v-model="PatrolInfo.Id" :props="props" collapse-tags clearable
placeholder="请选择" style="min-width: 210px;" /> :show-all-levels="false" placeholder="请选择" style="min-width: 210px;" />
</el-form-item> </el-form-item>
<el-form-item label="开始时间:"> <el-form-item label="开始时间:">
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
<el-date-picker v-model="PatrolInfo.startTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" <el-date-picker v-model="PatrolInfo.startTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="选择开始时间" style="min-width: 180px;" /> <!-- 日期时间格式 2024-01-01 00:00:00--> placeholder="选择开始时间" style="min-width: 180px;" /> <!-- 日期时间格式 2024-01-01 00:00:00-->
</el-config-provider> </el-config-provider>
</el-form-item> </el-form-item>
<el-form-item label="结束时间:"> <el-form-item label="结束时间:">
<el-config-provider :locale="zhCn"> <el-config-provider :locale="zhCn">
<el-date-picker v-model="PatrolInfo.endTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" <el-date-picker v-model="PatrolInfo.endTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="选择结束时间" style="min-width: 180px;" /> placeholder="选择结束时间" style="min-width: 180px;" />
</el-config-provider> </el-config-provider>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getdata" style="min-width: 70px;">查询</el-button> <el-button type="primary" @click="getdata" style="min-width: 70px;">查询</el-button>
</el-form-item> </el-form-item>
</div> </div>
</el-card> </el-card>
<el-card class="moduleCard" :height="tableHeight"> <el-card class="moduleCard" :height="tableHeight">
<el-table :data="tableData" :height="tableHeight" v-loading="loading" :cell-style="setCellStyle" id="out-table" <el-table :data="tableData" :height="tableHeight" v-loading="loading" :cell-style="setCellStyle" id="out-table"
border highlight-current-row :header-cell-style="setHeaderCellStyle" @sort-change="sortMethod" :header-cell-class-name="handleHeadAddClass" > border highlight-current-row :header-cell-style="setHeaderCellStyle" @sort-change="sortMethod"
<el-table-column prop="index" label="编号" :sortable="false" width="80px" fixed /> :header-cell-class-name="handleHeadAddClass">
<el-table-column prop="transferName" label="换热站" :sortable="true" width="200px" fixed /> <el-table-column prop="index" label="编号" :sortable="false" width="80px" fixed />
<el-table-column prop="realName" label="巡更人" :sortable="false" width="200px" fixed /> <el-table-column prop="transferName" label="换热站" :sortable="true" width="200px" fixed />
<el-table-column prop="patrolTime" label="巡更时间" :sortable="true" width="200px" fixed /> <el-table-column prop="realName" label="巡更人" :sortable="false" width="200px" fixed />
</el-table> <el-table-column prop="patrolTime" label="巡更时间" :sortable="true" width="200px" fixed />
</el-card> </el-table>
<el-footer style="height: 8px;"> </el-card>
<el-config-provider :locale="zhCn"> <el-footer style="height: 8px;">
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize" <el-config-provider :locale="zhCn">
:page-sizes="[30, 40, 50, 100, 200, 300]" :small="true" :disabled="disabled" :background="background" <el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="getdata" @current-change="getdata" :page-sizes="[30, 40, 50, 100, 200, 300]" :small="true" :disabled="disabled" :background="background"
class="pagination" /> layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="getdata" @current-change="getdata"
</el-config-provider> class="pagination" />
</el-footer> </el-config-provider>
</template> </el-footer>
</template>
<script lang="ts" setup>
import { ref, reactive, onMounted, onUnmounted } from 'vue'; <script lang="ts" setup>
import http from '../../api/http'; import { ref, reactive, onMounted, onUnmounted } from 'vue';
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import http from '../../api/http';
import store from "../../store/index"; import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { getFileName } from '../../utils/utils'; import store from "../../store/index";
import { getFileName } from '../../utils/utils';
//分页设置
const currentPage = ref(1) //分页设置
var pageSize = ref(30) const currentPage = ref(1)
const disabled = ref(false) var pageSize = ref(30)
const background = ref(false) const disabled = ref(false)
const total = ref() const background = ref(false)
const options = reactive([]); const total = ref()
const exporter = ref("TransExport") const options = reactive([]);
const tableData = ref([]); const exporter = ref("TransExport")
const tableHeight = ref(500); const tableData = ref([]);
const enterpriseId = ref(); const tableHeight = ref(500);
const loading = ref(true); const enterpriseId = ref();
const sortField = reactive({}); const loading = ref(true);
const type = ref('GetTransAlarmData'); const sortField = reactive({});
const type = ref('GetTransAlarmData');
getEnterprise();
function getEnterprise(){ getEnterprise();
var result = store.getters.getEnterprise(); function getEnterprise() {
if (result) { var result = store.getters.getEnterprise();
enterpriseId.value = result[0].enterpriseId; if (result) {
} enterpriseId.value = result[0].enterpriseId;
}
const props = { multiple: true, emitPath: false }
function setContentHeight() {
tableHeight.value = window.innerHeight - 232;
} }
}
//获取排序的方法 const props = { multiple: true, emitPath: false }
function sortMethod({ order, prop }){
// 触发的排序和缓存的排序相同时,取消该字段的排序 function setContentHeight() {
if (!order || sortField[prop] === order) { tableHeight.value = window.innerHeight - 232;
sortField[prop] = null }
} else {
sortField[prop] = order //获取排序的方法
} function sortMethod({ order, prop }) {
// console.log(sortField) // 触发的排序和缓存的排序相同时,取消该字段的排序
let sortname = ""; if (!order || sortField[prop] === order) {
let sortnames = ""; sortField[prop] = null
let direction = ''; } else {
for (const i in sortField) { sortField[prop] = order
if (sortField[i] == 'ascending') {
direction = 'ASC'
} else if (sortField[i] == 'descending') {
direction = 'DESC'
}
if(i === "transferName"){
sortname = "UnitName";
}else if(i === "patrolTime"){
sortname = "PatrolTime";
}
// console.log(sortname)
if(sortnames===""){
sortnames = sortnames + sortname + " " + direction;
}else{
sortnames = sortnames + "," + sortname + " " + direction;
}
PatrolInfo.sort = sortnames;
}
getdata() //调用后端查询接口
} }
// console.log(sortField)
function handleHeadAddClass({ column }) { let sortname = "";
if (sortField[column.property]) { let sortnames = "";
column.order = sortField[column.property] let direction = '';
for (const i in sortField) {
if (sortField[i] == 'ascending') {
direction = 'ASC'
} else if (sortField[i] == 'descending') {
direction = 'DESC'
} }
} if (i === "transferName") {
sortname = "UnitName";
var date = new Date(); } else if (i === "patrolTime") {
var year = date.getFullYear(); sortname = "PatrolTime";
var day = 0;
var dateArr = [
date.getMonth() + 1, //月份从0~11,所以加一
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
];
for (var i = 0; i < dateArr.length; i++) {
if (dateArr[i] >= 1 && dateArr[i] <= 9) {
dateArr[i] = "0" + dateArr[i];
} }
// console.log(sortname)
if (sortnames === "") {
sortnames = sortnames + sortname + " " + direction;
} else {
sortnames = sortnames + "," + sortname + " " + direction;
}
PatrolInfo.sort = sortnames;
} }
getdata() //调用后端查询接口
day = dateArr[1] - 1; }
if (day >= 1 && day <= 9) {
day = "0" + day; function handleHeadAddClass({ column }) {
} if (sortField[column.property]) {
var startTime = sessionStorage.getItem("DeviceQueryStart"); column.order = sortField[column.property]
console.log(!!startTime);
if(!!startTime){
startTime = year + "-" + dateArr[0] + '-' + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryStart", startTime);
}
var endTime = sessionStorage.getItem("DeviceQueryEnd");
if(!!endTime){
endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryEnd", endTime);
} }
}
const PatrolInfo = reactive({
"Id": [], var date = new Date();
"startTime": startTime, var year = date.getFullYear();
"endTime": endTime, var day = 0;
"start": 0, var dateArr = [
"count": 30, date.getMonth() + 1, //月份从0~11,所以加一
"sort": "" date.getDate(),
}) date.getHours(),
date.getMinutes(),
getSupplys(); date.getSeconds(),
getdata(); ];
function getdata() { for (var i = 0; i < dateArr.length; i++) {
sessionStorage.setItem("DeviceQueryStart", PatrolInfo.startTime); if (dateArr[i] >= 1 && dateArr[i] <= 9) {
sessionStorage.setItem("DeviceQueryEnd", PatrolInfo.endTime); dateArr[i] = "0" + dateArr[i];
gettransfer();
} }
}
//获取换热机组列表
function getSupplys(){
loading.value = true;
tableData.value.length = 0;
options.length = 0;
PatrolInfo.Id.length = 0;
var result = store.getters.getEnterprise();
console.log("result的值:",result)
if (result) {
result.forEach(element=>{ day = dateArr[1] - 1;
if(element.enterpriseId=== enterpriseId.value){ if (day >= 1 && day <= 9) {
if(element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()){ day = "0" + day;
element.serviceCenterList.forEach(center=>{ }
let c = []; var startTime = sessionStorage.getItem("DeviceQueryStart");
center.supplyList.forEach(supply => { console.log(!!startTime);
// console.log("suppleList",supply) if (!!startTime) {
let chi = []; startTime = year + "-" + dateArr[0] + '-' + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
supply.transferList.forEach(unit => { sessionStorage.setItem("DeviceQueryStart", startTime);
chi.push({ value: unit.unitId, label: unit.unitName }); }
}); var endTime = sessionStorage.getItem("DeviceQueryEnd");
c.push({ children: chi, label: supply.supplyName}); if (!!endTime) {
}); endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
options.push({children: c, label: center.serviceCenterName}); sessionStorage.setItem("DeviceQueryEnd", endTime);
}) }
}else{
element.supplyList.forEach(element => { const PatrolInfo = reactive({
"Id": [],
"startTime": startTime,
"endTime": endTime,
"start": 0,
"count": 30,
"sort": ""
})
getSupplys();
getdata();
function getdata() {
sessionStorage.setItem("DeviceQueryStart", PatrolInfo.startTime);
sessionStorage.setItem("DeviceQueryEnd", PatrolInfo.endTime);
gettransfer();
}
//获取换热机组列表
function getSupplys() {
loading.value = true;
tableData.value.length = 0;
options.length = 0;
PatrolInfo.Id.length = 0;
var result = store.getters.getEnterprise();
console.log("result的值:", result)
if (result) {
result.forEach(element => {
if (element.enterpriseId === enterpriseId.value) {
if (element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()) {
element.serviceCenterList.forEach(center => {
let c = [];
center.supplyList.forEach(supply => {
// console.log("suppleList",supply)
let chi = []; let chi = [];
element.transferList.forEach(unit => { supply.transferList.forEach(unit => {
chi.push({ value: unit.unitId, label: unit.unitName }); chi.push({ value: unit.unitId, label: unit.unitName });
}) });
options.push({ children: chi, label: element.supplyName}); c.push({ children: chi, label: supply.supplyName });
});
options.push({ children: c, label: center.serviceCenterName });
})
} else {
element.supplyList.forEach(element => {
let chi = [];
element.transferList.forEach(unit => {
chi.push({ value: unit.unitId, label: unit.unitName });
}) })
} options.push({ children: chi, label: element.supplyName });
})
} }
});
}
PatrolInfo.Id.push(options[0].children[0].children[0].value);
}
//获取数据列表
function gettransfer() {
loading.value = true;
if (currentPage.value == 1) {
PatrolInfo.start = 0;
PatrolInfo.count = pageSize.value;
} else {
PatrolInfo.start = ((currentPage.value - 1) * pageSize.value) + 1;
PatrolInfo.count = pageSize.value - 1;
}
http.post("/api/patrol/GetPatrolHisData", PatrolInfo).then((result) => {
console.log(result.data);
console.log(PatrolInfo);
if(result.data !== null){
tableData.value = result.data.dataInfoList;
total.value = result.data.rowCount;
}
if(result.data === null || PatrolInfo.Id.length < 1){
tableData.value = null;
total.value = 0;
} }
loading.value = false;
}); });
} }
PatrolInfo.Id.push(options[0].children[0].children[0].value);
function setCellStyle({ row, column, rowIndex, columnIndex }) { }
let css_color = {}; // console.log("options=========>", options);
css_color['padding-left'] = '0px';
css_color['padding-right'] = '0px';
css_color['borderColor'] = '#97d5fd';
css_color['padding'] = '0px';
return css_color;
}
function setHeaderCellStyle({ row, column, rowIndex, columnIndex }) {
let css_color;
var backcolor = 'd9f1ff';
css_color = { 'background-color': '#' + backcolor, 'padding-left': '0px', 'padding-right': '0px', 'borderColor': '#97d5fd', 'color': '#000', 'text-align': 'center', 'vertical-align': 'top' };
var backcolor = 'd9f1ff';
css_color = { 'background-color': '#' + backcolor, 'padding-left': '0px', 'padding-right': '0px', 'borderColor': '#97d5fd', 'color': '#000', 'text-align': 'center', 'vertical-align': 'top' };
return css_color;
}
onMounted(() => { //获取数据列表
setContentHeight(); function gettransfer() {
window.addEventListener('resize', setContentHeight); loading.value = true;
}) if (currentPage.value == 1) {
onUnmounted(() => { PatrolInfo.start = 0;
window.removeEventListener('resize', setContentHeight); PatrolInfo.count = pageSize.value;
}) } else {
</script> PatrolInfo.start = ((currentPage.value - 1) * pageSize.value) + 1;
<style lang="less" scoped> PatrolInfo.count = pageSize.value - 1;
.moduleCard {
width: auto;
overflow: auto;
//max-height: 540px;
padding: 0px;
::v-deep .el-card__body {
padding: 0px;
}
}
.pagination {
padding: 4px;
margin-left: 20px;
height: 30px;
//background-color: #8939cf;
vertical-align: middle;
}
//鼠标所在行的颜色
::v-deep .el-table__body tr:hover>td {
background: linear-gradient(to top, rgb(0, 198, 255), rgb(255, 255, 255)) !important;
}
::v-deep .el-table__body tr.current-row>td {
background-color: #92cbf1 !important;
} }
http.post("/api/patrol/GetPatrolHisData", PatrolInfo).then((result) => {
.card-contianer { console.log(result.data);
width: auto; console.log(PatrolInfo);
height: 70px; if (result.data !== null) {
tableData.value = result.data.dataInfoList;
.div-header { total.value = result.data.rowCount;
width: 100%;
display: flex;
margin: 20px;
} }
if (result.data === null || PatrolInfo.Id.length < 1) {
tableData.value = null;
total.value = 0;
}
loading.value = false;
});
}
function setCellStyle({ row, column, rowIndex, columnIndex }) {
let css_color = {};
css_color['padding-left'] = '0px';
css_color['padding-right'] = '0px';
css_color['borderColor'] = '#97d5fd';
css_color['padding'] = '0px';
return css_color;
}
function setHeaderCellStyle({ row, column, rowIndex, columnIndex }) {
let css_color;
var backcolor = 'd9f1ff';
css_color = { 'background-color': '#' + backcolor, 'padding-left': '0px', 'padding-right': '0px', 'borderColor': '#97d5fd', 'color': '#000', 'text-align': 'center', 'vertical-align': 'top' };
var backcolor = 'd9f1ff';
css_color = { 'background-color': '#' + backcolor, 'padding-left': '0px', 'padding-right': '0px', 'borderColor': '#97d5fd', 'color': '#000', 'text-align': 'center', 'vertical-align': 'top' };
return css_color;
}
onMounted(() => {
setContentHeight();
window.addEventListener('resize', setContentHeight);
})
onUnmounted(() => {
window.removeEventListener('resize', setContentHeight);
})
</script>
<style lang="less" scoped>
.moduleCard {
width: auto;
overflow: auto;
//max-height: 540px;
padding: 0px;
::v-deep .el-card__body {
padding: 0px;
} }
}
.el-form-item {
margin-top: -20px; .pagination {
margin-right: 30px; padding: 4px;
} margin-left: 20px;
.el-tag--mini { height: 30px;
height: 21px !important //background-color: #8939cf;
} vertical-align: middle;
.el-cascader .el-input .el-input__inner:focus, .el-cascader .el-input.is-focus .el-input__inner{ }
height: 33px; //这里高度根据需求自己设定
} //鼠标所在行的颜色
.el-cascader__tags { ::v-deep .el-table__body tr:hover>td {
display: inline-flex; background: linear-gradient(to top, rgb(0, 198, 255), rgb(255, 255, 255)) !important;
margin-right: 10px; }
flex-wrap: nowrap;
::v-deep .el-table__body tr.current-row>td {
background-color: #92cbf1 !important;
}
.card-contianer {
width: auto;
height: 70px;
.div-header {
width: 100%;
display: flex;
margin: 20px;
} }
</style> }
\ No newline at end of file
.el-form-item {
margin-top: -20px;
margin-right: 30px;
}
.el-tag--mini {
height: 21px !important
}
.el-cascader .el-input .el-input__inner:focus,
.el-cascader .el-input.is-focus .el-input__inner {
height: 33px; //这里高度根据需求自己设定
}
.el-cascader__tags {
display: inline-flex;
margin-right: 10px;
flex-wrap: nowrap;
}
</style>
\ No newline at end of file
...@@ -282,6 +282,9 @@ function getSupplys() { ...@@ -282,6 +282,9 @@ function getSupplys() {
let c = []; let c = [];
center.supplyList.forEach((supply) => { center.supplyList.forEach((supply) => {
let chi = []; let chi = [];
// if(supplyId === "b354f45b-23e5-42be-a210-0fb92394f457") {
// }
supply.transferList.forEach((unit) => { supply.transferList.forEach((unit) => {
options.push({ value: unit.unitId, label: unit.unitName }); options.push({ value: unit.unitId, label: unit.unitName });
}); });
...@@ -292,7 +295,7 @@ function getSupplys() { ...@@ -292,7 +295,7 @@ function getSupplys() {
} }
}); });
} }
// console.log("遍历的options:", options); console.log("遍历的options===========>:", options);
} }
onMounted(() => { onMounted(() => {
getListData(); getListData();
......
...@@ -298,12 +298,25 @@ onMounted(() => { ...@@ -298,12 +298,25 @@ onMounted(() => {
</th> </th>
</tr> </tr>
</table> </table>
<el-table :data="tableData" style="width: 100%;font-size: 12px;color: #181818;" <el-table :data="tableData" style="width: 100%;font-size: 12px;color: #181818;"
:header-cell-style="{ color: '#225475', backgroundColor: '#B8CFEE', 'text-align': 'center', height: '40px', padding: '0px', border: '1px solid #99bbe8' }" :header-cell-style="{ color: '#225475', backgroundColor: '#B8CFEE', 'text-align': 'center', height: '40px', padding: '0px', border: '1px solid #99bbe8' }"
:cell-style="{ 'text-align': 'center', padding: '0px' }" :row-style="{ height: '30px', padding: '0px' }" border :cell-style="{ 'text-align': 'center', padding: '0px' }" :row-style="{ height: '30px', padding: '0px' }" border
stripe> stripe max-height="633">
<el-table-column v-for="item in tableLabel" :key="item.prop" :width="item.width ? item.width : 150" <el-table-column prop="allowPagingId" label="序号" />
:prop="item.prop" :label="item.label" /> <el-table-column prop="supplyName" label="名称" />
<el-table-column prop="energyType" property="energyType" label="能源类型">
<template #default="scope">
<span v-if="scope.row.energyType == '0'">非节能</span>
<span v-if="scope.row.energyType == '1'">一步节能</span>
<span v-if="scope.row.energyType == '2'">二步节能</span>
<span v-if="scope.row.energyType == '3'">三步节能</span>
<span v-if="scope.row.energyType == '4'">四步节能</span>
</template>
</el-table-column>
<el-table-column prop="record" label="用度" />
<el-table-column prop="recordDate" label="用度日期" />
<el-table-column fixed="right" label="操作" min-width="140"> <el-table-column fixed="right" label="操作" min-width="140">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" size="small" @click="handleEdit(scope.row)"> <el-button link type="primary" size="small" @click="handleEdit(scope.row)">
...@@ -441,6 +454,12 @@ table td { ...@@ -441,6 +454,12 @@ table td {
padding: 5px 10px; padding: 5px 10px;
} }
// 固定表头
.el-table__body-wrapper.is-scrolling-none {
overflow-y: auto;
max-height: calc(100vh - 457px); //table-固定头部的高度
}
.dialog-footer { .dialog-footer {
text-align: center; text-align: center;
...@@ -450,14 +469,11 @@ table td { ...@@ -450,14 +469,11 @@ table td {
.el-table__header th { .el-table__header th {
height: 50px; height: 50px;
/* 调整表头的高度 */
line-height: 50px; line-height: 50px;
/* 使文本垂直居中 */
} }
.el-table__header th .cell { .el-table__header th .cell {
font-size: 14px; font-size: 14px;
/* 调整字体大小 */
} }
//鼠标所在行的颜色 //鼠标所在行的颜色
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment