Commit 140f5795 authored by 裴文涛's avatar 裴文涛
parents b69fb0bc c84a2ccb
......@@ -24,6 +24,7 @@
"mockjs": "^1.1.0",
"node-sass": "^9.0.0",
"public-ip": "^6.0.2",
"qs": "^6.13.0",
"virtual-list": "^1.0.1",
"vue": "^3.4.27",
"vue-router": "^4.3.0",
......
import axios from 'axios'
import store from '../store/index'
import qs from "qs";
//import { useRouter, useRoute } from 'vue-router'
import { useRouter } from "vue-router";
//import { ref } from 'vue'
......@@ -23,6 +24,7 @@ let ipAddress = axios.defaults.baseURL;
axios.interceptors.request.use((config) => {
config.baseURL = store.getters.getSERVEICE();
console.log(config.baseURL);
config.data = qs.stringify(config.data);
return config;
}, (error) => {
return Promise.reject(error);
......
......@@ -16,11 +16,19 @@ export const postInstantHeat = params => {
// 瞬时热量-新增修改
export const postInstantHeatUpdate = params => {
return http.post(`api/Scheduling/BizInstantaneousHeat/Update`).then(res => res).catch(function (error) {
return http.post(`api/Scheduling/BizInstantaneousHeat/Update`,params).then(res => res).catch(function (error) {
console.log(error);
})
}
// 参数设置
export const postConfigBoilerUpdate = params => {
return http.post(`api/configboiler/Save`,params).then(res => res).catch(function (error) {
console.log(error);
})
}
export const postSecAbsTUc = params => {
return http.post(`/api/analysis/external/SecAbsTUc`, params).then(res => res).catch(function (error) {
console.log(error);
......
<template>
<!-- 条件筛选卡片 -->
<el-card class="card-contianer">
<div class="div-header">
<el-form-item label="查询类型:">
<el-select v-model="type" placeholder="请选择" style="width: 150px" @change="getoptions" >
<el-option label="换热机组" value="GetTransAlarmStatusData" />
<el-option label="锅炉" value="GetBoilerAlarmStatusData" />
<el-option label="总管" value="GetPipeAlarmStatusData" />
</el-select>
</el-form-item>
<el-form-item label="设备:">
<el-cascader :options="options" v-model="AlarmInfo" :props="props" collapse-tags clearable :show-all-levels="false"
placeholder="请选择" style="min-width: 210px;" @change="getopt" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getdata" style="min-width: 70px;">查询</el-button>
</el-form-item>
</div>
</el-card>
<el-card class="moduleCard" :height="tableHeight">
<el-table :data="tableData" :row-class-name="rowClassName" :height="tableHeight" v-loading="loading" :cell-style="setCellStyle" id="out-table"
border highlight-current-row :header-cell-style="setHeaderCellStyle" :header-cell-class-name="handleHeadAddClass" >
<el-table-column prop="index" label="编号" :sortable="false" width="100px" fixed />
<el-table-column prop="name" label="设施名称" :sortable="false" width="250px" fixed />
<el-table-column prop="cnName" label="报警类型" :sortable="false" fixed />
<el-table-column prop="gatherTime" label="报警时间" :sortable="false" width="200px" fixed />
<el-table-column prop="topMost" label="上上限" :sortable="false" width="200px" fixed >
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope,scope.column.property)" style="width: 20px; height: 20px"
:src="getImgUrl(scope,scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="upper" label="上限" :sortable="false" width="200px" fixed >
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope,scope.column.property)" style="width: 20px; height: 20px"
:src="getImgUrl(scope,scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="lower" label="下限" :sortable="false" width="200px" fixed >
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope,scope.column.property)" style="width: 20px; height: 20px"
:src="getImgUrl(scope,scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="downMost" label="下下限" :sortable="false" width="200px" fixed >
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope,scope.column.property)" style="width: 20px; height: 20px"
:src="getImgUrl(scope,scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
</el-table>
</el-card>
</template>
<script lang="ts" setup>
import { ref, reactive, onMounted, onUnmounted } from 'vue';
import http from '../../api/http';
import store from "../../store/index";
//分页设置
const currentPage = ref(1)
var pageSize = ref(30)
const disabled = ref(false)
const background = ref(false);
const options = reactive([]);
const tableData = ref([]);
const tableHeight = ref(500);
const enterpriseId = ref();
const loading = ref(true);
const sortField = reactive({});
const type = ref('GetTransAlarmStatusData');
getEnterprise();
function getEnterprise(){
var result = store.getters.getEnterprise();
if (result) {
enterpriseId.value = result[0].enterpriseId;
}
}
const props = { multiple: true, emitPath: false }
function setContentHeight() {
tableHeight.value = window.innerHeight - 195;
}
function handleHeadAddClass({ column }) {
if (sortField[column.property]) {
column.order = sortField[column.property]
}
}
var date = new Date();
var year = date.getFullYear();
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];
}
}
day = dateArr[1] - 1;
if (day >= 1 && day <= 9) {
day = "0" + day;
}
var startTime = sessionStorage.getItem("DeviceQueryStart");
if(!startTime){
startTime = year + "-" + dateArr[0] + '-' + day + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryStart", startTime);
<!-- 条件筛选卡片 -->
<el-card class="card-contianer">
<div class="div-header">
<el-form-item label="查询类型:">
<el-select v-model="type" placeholder="请选择" style="width: 150px" @change="getoptions">
<el-option label="换热机组" value="GetTransAlarmStatusData" />
<el-option label="锅炉" value="GetBoilerAlarmStatusData" />
<el-option label="总管" value="GetPipeAlarmStatusData" />
</el-select>
</el-form-item>
<el-form-item label="设备:">
<el-cascader :options="options" v-model="AlarmInfo" :props="props" collapse-tags clearable
:show-all-levels="false" placeholder="请选择" style="min-width: 210px;" @change="getopt" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getdata" style="min-width: 70px;">查询</el-button>
<el-button type="primary" @click="paramsSetting" style="min-width: 70px;">报警参数设置</el-button>
</el-form-item>
</div>
</el-card>
<el-card class="moduleCard" :height="tableHeight">
<el-table :data="tableData" :row-class-name="rowClassName" :height="tableHeight" v-loading="loading"
:cell-style="setCellStyle" id="out-table" border highlight-current-row :header-cell-style="setHeaderCellStyle"
:header-cell-class-name="handleHeadAddClass">
<el-table-column prop="index" label="编号" :sortable="false" width="100px" fixed />
<el-table-column prop="name" label="设施名称" :sortable="false" width="250px" fixed />
<el-table-column prop="cnName" label="报警类型" :sortable="false" fixed />
<el-table-column prop="gatherTime" label="报警时间" :sortable="false" width="200px" fixed />
<el-table-column prop="topMost" label="上上限" :sortable="false" width="200px" fixed>
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope, scope.column.property)"
style="width: 20px; height: 20px" :src="getImgUrl(scope, scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="upper" label="上限" :sortable="false" width="200px" fixed>
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope, scope.column.property)"
style="width: 20px; height: 20px" :src="getImgUrl(scope, scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="lower" label="下限" :sortable="false" width="200px" fixed>
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope, scope.column.property)"
style="width: 20px; height: 20px" :src="getImgUrl(scope, scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
<el-table-column prop="downMost" label="下下限" :sortable="false" width="200px" fixed>
<template #default="scope">
<div class="div-form-img">
<el-image class="img-center" v-if="getImgUrl(scope, scope.column.property)"
style="width: 20px; height: 20px" :src="getImgUrl(scope, scope.column.property)" :fit="'cover'" />
</div>
</template>
</el-table-column>
</el-table>
</el-card>
<el-drawer v-model="show" :size="800">
<main>
<el-card class="card_contianer">
<table cellpadding="0" cellspacing="1" border="1" class="big_table">
<tr>
<th style="width: 25%">报警名称:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">启用提示音:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-checkbox></el-checkbox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">报警上上限:</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">报警上限:</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">报警下下限:</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">报警预案</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" type="textarea" rows="6"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">启用报警:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-checkbox></el-checkbox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">启用短息通知:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-checkbox></el-checkbox>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="btngrounp">
<el-button type="primary" @click="onDel">删除</el-button>
</div>
</el-card>
</main>
</el-drawer>
</template>
<script lang="ts" setup>
import { ref, reactive, onMounted, onUnmounted } from 'vue';
import http from '../../api/http';
import store from "../../store/index";
//分页设置
const currentPage = ref(1)
var pageSize = ref(30)
const disabled = ref(false)
const background = ref(false);
const options = reactive([]);
const tableData = ref([]);
const tableHeight = ref(500);
const enterpriseId = ref();
const loading = ref(true);
const sortField = reactive({});
const type = ref('GetTransAlarmStatusData');
const show = ref(false)
const refreshItem = ref(0)
const allOptions = reactive([
{
value: 1,
label: '天津港毅',
children: [
{
value: 2,
label: '重阳里计量站',
children: [
{ value: 3, label: '重阳里北区' },
{ value: 4, label: '重阳里南区' },
{ value: 5, label: '重阳里南高区' },
],
},
{
value: 6,
label: '行政区供热站',
children: [
{ value: 7, label: '百郦低区' },
{ value: 8, label: '百郦高区' },
{ value: 9, label: '大港医院' },
{ value: 10, label: '古林里低区' },
{ value: 12, label: '古林里高区' },
{ value: 13, label: '开元里' },
],
},
{
value: 14,
label: '福苑里供热站',
children: [
{ value: 15, label: 'xxx' },
{ value: 16, label: 'xxx' },
{ value: 17, label: 'xxx' },
],
},
{
value: 18,
label: '东部供热站',
children: [
{ value: 19, label: 'xxx' },
{ value: 20, label: 'xxx' },
{ value: 21, label: 'xxx' },
],
},
{
value: 22,
label: '小王庄供热站',
children: [
{ value: 21, label: 'xxx' },
{ value: 22, label: 'xxxx' },
{ value: 23, label: 'xxx' },
],
},
],
},
{
value: 24,
label: '大纲供热中心',
children: [
{
value: 25,
label: 'xxx',
children: [
{ value: 26, label: 'xxx' },
{ value: 27, label: 'xxx' },
{ value: 28, label: 'xxxx' },
],
},
{
value: 29,
label: 'xxx',
children: [
{ value: 30, label: 'xx' },
{ value: 31, label: 'xxx' },
{ value: 32, label: 'xxxx' },
],
},
],
},
])
function paramsSetting() {
show.value = true
}
function onsubmit() {
show.value = false
}
function onCancel() {
show.value = false
refreshItem++
}
getEnterprise();
function getEnterprise() {
var result = store.getters.getEnterprise();
if (result) {
enterpriseId.value = result[0].enterpriseId;
}
var endTime = sessionStorage.getItem("DeviceQueryEnd");
if(!endTime){
endTime = year + "-" + dateArr[0] + "-" + dateArr[1] + " " + dateArr[2] + ":" + dateArr[3] + ":" + dateArr[4];
sessionStorage.setItem("DeviceQueryEnd", endTime);
}
const props = { multiple: true, emitPath: false }
function setContentHeight() {
tableHeight.value = window.innerHeight - 195;
}
function handleHeadAddClass({ column }) {
if (sortField[column.property]) {
column.order = sortField[column.property]
}
const AlarmInfo = ref([])
getSupplys();
getdata();
function getdata() {
sessionStorage.setItem("DeviceQueryStart", AlarmInfo.startTime);
sessionStorage.setItem("DeviceQueryEnd", AlarmInfo.endTime);
gettransfer();
}
var date = new Date();
var year = date.getFullYear();
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];
}
//获取选择列表
function getoptions(){
if(type.value === "GetPipeAlarmStatusData"){
getPipes();
}else if(type.value === "GetBoilerAlarmStatusData"){
getBoilers();
}else{
getSupplys();
}
gettransfer();
}
day = dateArr[1] - 1;
if (day >= 1 && day <= 9) {
day = "0" + day;
}
var startTime = sessionStorage.getItem("DeviceQueryStart");
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 AlarmInfo = ref([])
getSupplys();
getdata();
function getdata() {
sessionStorage.setItem("DeviceQueryStart", AlarmInfo.startTime);
sessionStorage.setItem("DeviceQueryEnd", AlarmInfo.endTime);
gettransfer();
}
//获取选择列表
function getoptions() {
if (type.value === "GetPipeAlarmStatusData") {
getPipes();
} else if (type.value === "GetBoilerAlarmStatusData") {
getBoilers();
} else {
getSupplys();
}
//获取锅炉列表
function getBoilers(){
loading.value = true;
tableData.length = 0;
AlarmInfo.value = [];
options.length = 0;
var result = store.getters.getEnterprise();
if (result) {
result.forEach(element=>{
if(element.enterpriseId === enterpriseId.value){
if(element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()){
element.serviceCenterList.forEach(center=>{
center.supplyList.forEach(supply => {
supply.boilerList.forEach(boiler => {
options.push({ value: boiler.boilerId, label: boiler.description });
})
});
})
}else{
element.supplyList.forEach(supply => {
gettransfer();
}
//获取锅炉列表
function getBoilers() {
loading.value = true;
tableData.length = 0;
AlarmInfo.value = [];
options.length = 0;
var result = store.getters.getEnterprise();
if (result) {
result.forEach(element => {
if (element.enterpriseId === enterpriseId.value) {
if (element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()) {
element.serviceCenterList.forEach(center => {
center.supplyList.forEach(supply => {
supply.boilerList.forEach(boiler => {
options.push({ value: boiler.boilerId, label: boiler.description });
options.push({ value: boiler.boilerId, label: boiler.description });
})
});
})
} else {
element.supplyList.forEach(supply => {
supply.boilerList.forEach(boiler => {
options.push({ value: boiler.boilerId, label: boiler.description });
})
}
}
});
options.forEach(element =>{
AlarmInfo.value.push(element.value);
})
}
}
//获取总管列表
function getPipes(){
loading.value = true;
tableData.length = 0;
AlarmInfo.value = [];
var result = store.getters.getEnterprise();
if (result) {
options.length = 0;
result.forEach(element=>{
if(element.enterpriseId === enterpriseId.value){
if(element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()){
element.serviceCenterList.forEach(center=>{
center.supplyList.forEach(supply => {
options.push({ value: supply.pipeInfo.pipeId, label: supply.pipeInfo.pipeName});
});
})
}else{
element.supplyList.forEach(supply => {
options.push({ value: supply.pipeInfo.pipeId, label: supply.pipeInfo.pipeName});
})
}
})
}
});
}
options.forEach(element =>{
AlarmInfo.push(element.value);
}
});
options.forEach(element => {
AlarmInfo.value.push(element.value);
})
console.log(AlarmInfo.value);
}
//获取换热机组列表
function getSupplys(){
loading.value = true;
tableData.length = 0;
}
//获取总管列表
function getPipes() {
loading.value = true;
tableData.length = 0;
AlarmInfo.value = [];
var result = store.getters.getEnterprise();
if (result) {
options.length = 0;
AlarmInfo.length = 0;
var result = store.getters.getEnterprise();
if (result) {
console.log(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 => {
let chi = [];
supply.transferList.forEach(unit => {
chi.push({ value: unit.unitId, label: unit.unitName });
});
c.push({ children: chi, label: supply.supplyName});
});
options.push({children: c, label: center.serviceCenterName});
})
}else{
element.supplyList.forEach(element => {
result.forEach(element => {
if (element.enterpriseId === enterpriseId.value) {
if (element.enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()) {
element.serviceCenterList.forEach(center => {
center.supplyList.forEach(supply => {
options.push({ value: supply.pipeInfo.pipeId, label: supply.pipeInfo.pipeName });
});
})
} else {
element.supplyList.forEach(supply => {
options.push({ value: supply.pipeInfo.pipeId, label: supply.pipeInfo.pipeName });
})
}
}
});
}
options.forEach(element => {
AlarmInfo.push(element.value);
})
console.log(AlarmInfo.value);
}
//获取换热机组列表
function getSupplys() {
loading.value = true;
tableData.length = 0;
options.length = 0;
AlarmInfo.length = 0;
var result = store.getters.getEnterprise();
if (result) {
console.log(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 => {
let chi = [];
element.transferList.forEach(unit => {
supply.transferList.forEach(unit => {
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 });
})
}
});
}
AlarmInfo.value.push(options[0].children[0].children[0].value);
}
//获取数据列表
function gettransfer() {
loading.value = true;
http.post("/api/alarm/" + type.value, AlarmInfo.value).then((result) => {
console.log(result.data);
if(result.data !== null){
tableData.value = result.data;
}
if(result.data === null){
tableData.value = null;
}
loading.value = false;
});
}
function setCellStyle({ row, column, rowIndex, columnIndex }) {
let css_color = {};
css_color['padding-left'] = 'px';
css_color['padding-right'] = '0px';
css_color['borderColor'] = '#97d5fd';
css_color['padding'] = '5px';
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;
}
AlarmInfo.value.push(options[0].children[0].children[0].value);
}
//获取数据列表
function gettransfer() {
loading.value = true;
http.post("/api/alarm/" + type.value, AlarmInfo.value).then((result) => {
console.log(result.data);
if (result.data !== null) {
tableData.value = result.data;
}
if (result.data === null) {
tableData.value = null;
}
loading.value = false;
});
}
function setCellStyle({ row, column, rowIndex, columnIndex }) {
let css_color = {};
css_color['padding-left'] = 'px';
css_color['padding-right'] = '0px';
css_color['borderColor'] = '#97d5fd';
css_color['padding'] = '5px';
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;
}
function getopt() {
console.log(AlarmInfo.value);
}
function getopt(){
console.log(AlarmInfo.value);
function getImgUrl(scope, item) {
var url = null;
switch (scope.row[item]) {
case true: url = new URL('/imgs/status/status_alarm.png', import.meta.url).href; break;
}
function getImgUrl(scope,item) {
var url = null;
switch (scope.row[item]) {
case true: url = new URL('/imgs/status/status_alarm.png', import.meta.url).href; break;
}
return url;
return url;
}
onMounted(() => {
setContentHeight();
window.addEventListener('resize', setContentHeight);
})
onUnmounted(() => {
window.removeEventListener('resize', setContentHeight);
})
</script>
<style lang="less" scoped>
.moduleCard {
width: auto;
overflow: auto;
onMounted(() => {
setContentHeight();
window.addEventListener('resize', setContentHeight);
})
onUnmounted(() => {
window.removeEventListener('resize', setContentHeight);
})
</script>
<style lang="less" scoped>
.moduleCard {
width: auto;
overflow: auto;
padding: 0px;
::v-deep .el-card__body {
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;
}
.card-contianer {
width: auto;
height: 70px;
.div-header {
width: 100%;
display: flex;
margin: 20px;
}
}
.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;
}
.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;
}
.card-contianer {
width: auto;
height: 70px;
.div-header {
width: 100%;
display: flex;
margin: 20px;
}
}
.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;
}
:deep(.div-form-img) {
display: flex;
align-items: center;
justify-content: center;
display: flex;
align-items: center;
justify-content: center;
}
.show {
width: 400px;
height: 300px;
border: 1px solid red;
}
.big_table {
border-collapse: collapse;
border-color: #c9dbff;
}
table {
width: 100%;
}
table,
tr,
th,
td {
font-size: 14px;
margin: 0;
padding: 0;
}
table {
width: 100%;
}
table th {
background-color: #dfe8f6;
text-align: center;
padding: 5px 10px;
}
table td {
text-align: center;
background-color: #ffffff;
padding: 5px 10px;
}
.btngrounp {
margin-top: 10px;
text-align: center;
}
</style>
\ No newline at end of file
</style>
\ No newline at end of file
......@@ -4,25 +4,20 @@
<div class="contentBlockInn">
<el-card class="card-contianer">
<table
cellpadding="0"
cellspacing="1"
style="background-color: #99bbe8"
>
<table cellpadding="0" cellspacing="1" style="background-color: #99bbe8">
<tr>
<th style="width: 25%">电调阈开启度</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="formDatas.openingOfElectricValve">
<el-input style="width: 80%" v-model="formDatas.openingOfElectricValve">
<template #append>
<div style="width: 40px">%
</div>
</template>
</el-input>
<template #append>
<div style="width: 40px">%
</div>
</template>
</el-input>
</td>
</tr>
......@@ -35,11 +30,7 @@
<th style="width: 25%">换热站</th>
<td style="text-align: left">
<el-checkbox-group v-model="form.type" style="width: 60%;">
<el-checkbox
v-for="(option, index) in options"
:key="index"
:label="option"
>
<el-checkbox v-for="(option, index) in options" :key="index" :label="option">
{{ option }}
</el-checkbox>
</el-checkbox-group>
......@@ -55,9 +46,9 @@
<td style="text-align: left">
<el-input style="width: 80%" v-model="formDatas.boilerOutletWaterTemperature">
<template #append >
<template #append>
<div style="width: 40px;">
</div>
</template>
</el-input>
......@@ -76,7 +67,7 @@
<td style="text-align: left">
<el-form>
<el-input style="width: 80%" v-model="formDatas.holdingTime">
<template #append >
<template #append>
<div style="width: 40px">
分钟
</div>
......@@ -101,7 +92,7 @@
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="formDatas.upperLlimitMainFlow">
<template #append >
<template #append>
<div style="width: 40px;">
m3/h
</div>
......@@ -183,7 +174,7 @@
<th rowspan="3">
<div>
<div class="btngrounp">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="onSave">保存</el-button>
<el-button type="primary" style="margin: 0 0 0 5px">关闭</el-button>
</div>
</div>
......@@ -200,37 +191,70 @@
</template>
<script setup>
import {ref, reactive, onMounted, onUnmounted, onBeforeMount} from "vue";
import { ref, reactive, onMounted, onUnmounted, onBeforeMount } from "vue";
import { postConfigBoilerUpdate } from '@/api/scheduling.js'
import http from '../../api/http';
const options = reactive(['瑞景园低区','瑞景园高区','翰锦园','圣美园低区','圣美园高区','社区服务中心','风雅园','风雅园_幼儿园','枫润园低区','枫润园高区']);
const options = reactive(['瑞景园低区', '瑞景园高区', '翰锦园', '圣美园低区', '圣美园高区', '社区服务中心', '风雅园', '风雅园_幼儿园', '枫润园低区', '枫润园高区']);
const form = ref({
types:[]
types: []
})
const formDatas = ref({
})
const listData = ()=>{
http.get("/api/configboiler/getData").then((result)=>{
formDatas.value=result.data;
console.log(formDatas.value)
console.log({...formDatas.value})
const formDatas = ref([
{
"updateNullFields": "updateNullFields",
"configId": "",
"openingOfElectricValve": "",
"boilerOutletWaterTemperature": "",
"holdingTime": "",
"upperLlimitMainFlow": "",
"lowerLlimitMainFlow": "",
"maxTargetTemperature": "",
"bestHoldingTime": "",
"transferIds": ""
}
])
const getListData = () => {
http.get("/api/configboiler/getData").then((result) => {
formDatas.value = result.data;
})
}
listData()
const save = ()=>{
console.log(formDatas.value)
http.post("/api/configboiler/Save",{...formDatas.value},false).then((result)=>{
}).catch((error)=>{
console.log(error)
const onSave = async () => {
await postConfigBoilerUpdate({...formDatas.value}).then((res) => {
if (res.success) {
ElMessage.success('修改成功')
getListData()
}
})
}
// const onSave = () => {
// http.post("api/configboiler/Save","`updateNullFields=formDatas.updateNullFields&configId=formDatas.configId&openingOfElectricValve=formDatas.openingOfElectricValve&boilerOutletWaterTemperature=formDatas.boilerOutletWaterTemperature&holdingTime=formDatas.holdingTime&upperLlimitMainFlow=formDatas.upperLlimitMainFlow&lowerLlimitMainFlow=formDatas.lowerLlimitMainFlow&maxTargetTemperature=formDatas.maxTargetTemperature&bestHoldingTime=formDatas.bestHoldingTime&transferIds=formDatas.transferIds`").then((result) => {
// if (result.success) {
// ElMessage.success('修改成功')
// getListData()
// }
// }).catch((error) => {
// console.log(error)
// })
// }
// const onSave = () => {
// http.post("api/configboiler/Save","formDatas.value").then((result) => {
// if (result.success) {
// ElMessage.success('修改成功')
// getListData()
// }
// }).catch((error) => {
// console.log(error)
// })
// }
onMounted(() => {
getListData()
})
</script>
<style lang="less" scoped>
......@@ -243,9 +267,11 @@ console.log(formDatas.value)
background-color: #ffffff;
overflow: auto;
}
table {
width: 100%;
}
table,
tr,
th,
......@@ -254,34 +280,40 @@ td {
margin: 0;
padding: 0;
}
table {
width: 100%;
}
table th {
background-color: #dfe8f6;
text-align: center;
padding: 5px 10px;
}
table td {
text-align: center;
background-color: #ffffff;
padding: 5px 10px;
}
.btngrounp {
width: 300px;
}
.gc td {
background-color: #a6ffa6;
}
.gc td:first-child {
background-color: #ffffff;
}
table.botList td {
width: 33%;
text-align: left;
font-weight: bolder;
}
</style>
\ No newline at end of file
......@@ -7,81 +7,80 @@
</div>
<table cellpadding="0" cellspacing="1">
<tr>
<th style="width: 25%">计划名称:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.planName"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">偏差百分比 (%):</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.diffPercentage"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">判断时间 (分):</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.timeoutMin"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">调节温度 (℃)</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.tempRegulation"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">备注</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" type="textarea" rows="6"
v-model="List.description"></el-input>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="btngrounp">
<el-button type="primary" @click="onSave">保存</el-button>
<el-button type="primary" style="margin: 0 0 0 5px" @click="onCancel">关闭</el-button>
</div>
<table cellpadding="0" cellspacing="1">
<tr>
<th style="width: 25%">计划名称:</th>
<td style="width: 60%; margin:0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.planName"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">偏差百分比 (%):</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.diffPercentage"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">判断时间 (分):</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.timeoutMin"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">调节温度 (℃)</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" v-model="List.tempRegulation"></el-input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<th style="width: 25%">备注</th>
<td style="width: 60%; margin: 0; padding: 0">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="text-align: left">
<el-input style="width: 80%" type="textarea" rows="6" v-model="List.description"></el-input>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="btngrounp">
<el-button type="primary" @click="onSave">保存</el-button>
<el-button type="primary" style="margin: 0 0 0 5px" @click="onCancel">关闭</el-button>
</div>
</el-card>
</div>
......@@ -90,23 +89,23 @@
</template>
<script setup>
import { ref, reactive, onMounted, onUnmounted } from "vue";
import { postInstantHeat,postInstantHeatUpdate} from "@/api/scheduling"
import { postInstantHeat, postInstantHeatUpdate } from "@/api/scheduling"
import { toRaw } from "@vue/reactivity";
import { ElMessage } from "element-plus";
import http from "../../api/http";
const loading = ref(false)
const List=ref([
{
const List = ref([
{
"planId": "",
"planName":"",
"diffPercentage":"",
"timeoutMin":"",
"tempRegulation":"",
"description":"",
"isActive":''
}
"planName": "",
"diffPercentage": "",
"timeoutMin": "",
"tempRegulation": "",
"description": "",
"isActive": ''
}
])
......@@ -117,13 +116,13 @@ const getInstanceHeat = async () => {
List.value = data.data[0]
loading.value = false
}
const onSave = async() => {
const onSave = async () => {
// await postInstantHeatUpdate(List.value)
await http.post("/api/Scheduling/BizInstantaneousHeat/Update",{...List.value},false).then((result)=>{
}).catch((error)=>{
console.log(error)
})
await http.post("/api/Scheduling/BizInstantaneousHeat/Update", { ...List.value }, false).then((result) => {
}).catch((error) => {
console.log(error)
})
ElMessage.success('修改成功')
getInstanceHeat()
}
......
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