Commit 7be83717 authored by qjeslks's avatar qjeslks
parents b92899b4 c8584df8
...@@ -71,13 +71,6 @@ export const postSecAbsTUc = params => { ...@@ -71,13 +71,6 @@ export const postSecAbsTUc = params => {
}) })
} }
// //二网温差
// export const postSecAvgTUc = params => {
// return http.post(`/api/analysis/external/SecAvgTUc`, params).then(res => res).catch(function (error) {
// console.log(error);
// })
// }
//热量分析报表 //热量分析报表
export const postHeatAnalysis = params => { export const postHeatAnalysis = params => {
return http.post(`/api/analysis/report/HeatAnalysis`, params).then(res => res).catch(function (error) { return http.post(`/api/analysis/report/HeatAnalysis`, params).then(res => res).catch(function (error) {
...@@ -85,3 +78,23 @@ export const postHeatAnalysis = params => { ...@@ -85,3 +78,23 @@ export const postHeatAnalysis = params => {
}) })
} }
//换热站机组用量环比接口(耗水量、耗电量、耗热量)网内
export const postWithinQOQ = params => {
return http.post(`/api/analysis/within/QOQ`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//换热站机组用量环比接口(耗水量、耗电量、耗热量)网外
export const postExternalQOQ = params => {
return http.post(`/api/analysis/external/QOQ`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//换热站机组用量同比接口(耗水量、耗电量、耗热量)
export const postYOY = params => {
return http.post(`/api/analysis/external/YOY`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
\ No newline at end of file
<template> <template>
状态 <el-card class="remoteTitle">
<el-table> <div class="card-content">
<div class="demo-button">
<el-button type="primary" size="small" @click="ReadStatus">读取全部</el-button>
<el-button type="primary" size="small" @click="WriteStatus" disabled="false">写入全部</el-button>
</div>
<div class="demo-image">
<div class="block">
<span class="demonstration">读写成功</span>
<el-icon><CircleCheckFilled color="rgb(0,255,0)"/></el-icon>
</div>
<div class="block">
<span class="demonstration">通讯异常</span>
<el-icon><Connection /></el-icon>
</div>
<div class="block">
<span class="demonstration">读写失败</span>
<el-icon><Failed color="rgb(255,0,0)"/></el-icon>
</div>
</div>
</div>
</el-card>
<el-table
ref="tableRef"
v-model:checked="selectedRows"
show-header="true"
:height="tableHeight"
:cell-style="setCellStyle"
border
highlight-current-row
:header-cell-style="setHeaderCellStyle"
:data="visibleData"
v-loading="isLoading"
element-loading-text="数据加载中......"
row-class-name="fixed-row-height"
element-loading-background="rgba(0, 0, 0, 0.8)"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="rowIndex" label="序号" width="45px" fixed />
<el-table-column prop="transferId" label="机组编号" v-if="false" width="80px" fixed />
<el-table-column prop="transferName" label="换热机组" width="150px" fixed />
<el-table-column prop="jDValue" label="华为控制模式" width="80px" />
<el-table-column prop="gainMode" label="增益模式" width="80px" />
<el-table-column prop="weatherMode" label="气象仪模式" width="80px" />
<el-table-column prop="curveMode" label="曲线对应模式" width="80px" />
<el-table-column prop="criclePump1" label="1#循环泵启停" width="80px" />
<el-table-column prop="criclePump2" label="2#循环泵启停" width="80px" />
<el-table-column prop="Pump3" label="3#循环泵启停" width="80px" />
<el-table-column prop="Pump4" label="4#循环泵启停" width="80px" />
<el-table-column prop="ReplenishingPump" label="补水泵启停" width="80px" />
<el-table-column prop="SecPump1" label="1#二级泵启停" width="80px" />
<el-table-column prop="Evc1AutoOrManual" label="1#电动调节阀手动/自动切换" width="100px" />
<el-table-column prop="Evc2AutoOrManual" label="2#电动调节阀手动/自动切换" width="100px" />
<el-table-column prop="Evc3AutoOrManual" label="3#电动调节阀手动/自动切换" width="100px" />
<el-table-column prop="Evc4AutoOrManual" label="4#电动调节阀手动/自动切换" width="100px" />
<el-table-column prop="CriclePump1AutoOrManual" label="一号循环泵 手动/自动切换" width="100px" />
<el-table-column prop="CriclePump2AutoOrManual" label="二号循环泵 手动/自动切换" width="100px" />
<el-table-column prop="CriclePump3AutoOrManual" label="三号循环泵 手动/自动切换" width="100px" />
<el-table-column prop="CriclePump4AutoOrManual" label="四号循环泵 手动/自动切换" width="100px" />
<el-table-column prop="SecCriclePumpAutoOrManual" label="二级泵 手动/自动切换" width="100px" />
<el-table-column fixed="right" label="操作" width="100">
<template #default>
<el-button link type="primary" size="small" @click="ReadStatus">读取</el-button>
<el-button link type="primary" size="small" @click="WriteStatus">写入</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<el-card style="height: 50px; padding: 0;">
<el-progress
:text-inside="true"
:stroke-width="16"
status="success"
:percentage="progress"
/>
</el-card>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, reactive, onMounted, onUnmounted, watch } from 'vue'; import { ref, reactive, onMounted, onUnmounted, watch,toRefs } from 'vue';
import http from '../../api/http'; import http from '../../api/http';
import store from "../../store/index"; import store from "../../store/index";
const props = defineProps(['activeRadio']); const enterpriseId = store.getters.getEnterpriseId();
console.log("1actionValue:"+props.activeRadio); const props = defineProps(['activeRadio']);
const tableRef = ref(null);
const selectedRows = ref([]);
const isLoading= ref(true);
const visibleData = ref([]);
const tableHeight = ref(500);
const progress =ref(0);
const state = reactive({
fits: ['Success', 'fale', 'cover', 'none', 'scale-down'],
url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
})
const { fits, url } = toRefs(state);
//监听修改actionValue状态 //监听修改actionValue状态
watch(() =>props.activeRadio, (oldValue, newValue) => { watch(() =>props.activeRadio, (oldValue, newValue) => {
...@@ -18,8 +100,100 @@ ...@@ -18,8 +100,100 @@
initData(); initData();
},{deep:true}); },{deep:true});
function initData(){ function setContentHeight() {
tableHeight.value = window.innerHeight - 300;
}
async function initData(){
isLoading.value = true;
var type = 0;
if(enterpriseId === "9BCA54BC-8F27-4849-8D7D-50C5099E1949".toLowerCase()){
type = 1;
}
var result = await http.post('/api/remote/GetTransferStatus',{"SupplyType":type, "DeviceId": props.activeRadio});
console.log(result);
visibleData.value = result.data;
isLoading.value = false;
} }
initData(); initData();
</script>
\ No newline at end of file async function ReadStatus(){
if(selectedRows){
selectedRows.value.forEach(item =>{
ReadStation(item);
})
}
}
async function WriteStatus(){
}
async function ReadStation(value){
var result = await http.post('', value);
var jobj = result.data;
console.log(jobj);
}
onMounted(() => {
setContentHeight();
window.addEventListener('resize', setContentHeight);
})
onUnmounted(() => {
window.removeEventListener('resize', setContentHeight);
})
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;
}
</script>
<style scoped>
.remoteTitle{
width: 100%;
}
.card-content {
display: flex;
justify-content: space-between;
}
.demo-image {
width: 70%;
display: right;
flex: 9;
}
.demo-image .block {
padding: 1px 0;
text-align: center;
border-right: solid 1px var(--el-border-color);
display: inline-block;
width: 80px;
box-sizing: border-box;
vertical-align: top;
}
.demo-image .block:last-child {
border-right: none;
}
.demo-image .demonstration {
display: block;
color: var(--el-text-color-secondary);
font-size: 12px;
margin-bottom: 0px;
}
</style>
\ No newline at end of file
This diff is collapsed.
...@@ -364,6 +364,62 @@ const routes = [ ...@@ -364,6 +364,62 @@ const routes = [
meta: { meta: {
title: '视频监控' title: '视频监控'
} }
},{
path: '/Scheduling/WeatherManage',
name: 'WeatherManage',
component: () => import('@/views/Scheduling/WeatherManage.vue'),
meta: {
title: '气象干预'
}
},{
path: '/Scheduling/EnergyManage',
name: 'EnergyManage',
component: () => import('@/views/Scheduling/EnergyManage.vue'),
meta: {
title: '能源消耗'
}
},{
path: '/Scheduling/AnalysisManage',
name: 'AnalysisManage',
component: () => import('@/views/Scheduling/AnalysisManage.vue'),
meta: {
title: '生产与结算数据分析表'
}
},{
path: '/Scheduling/ConfigBoiler',
name: 'ConfigBoiler',
component: () => import('@/views/Scheduling/ConfigBoiler.vue'),
meta: {
title: '锅炉参数配置'
}
},{
path: '/Scheduling/Phenomenon',
name: 'Phenomenon',
component: () => import('@/views/Scheduling/Phenomenon.vue'),
meta: {
title: '天气工况'
}
},{
path: '/Scheduling/InstantHeat',
name: 'InstantHeat',
component: () => import('@/views/Scheduling/InstantHeat.vue'),
meta: {
title: '瞬时热量对比配置'
}
},{
path: '/Scheduling/WindManage',
name: 'WindManage',
component: () => import('@/views/Scheduling/WindManage.vue'),
meta: {
title: '风力配置管理'
}
},{
path: '/Scheduling/AnnualParam',
name: 'AnnualParam',
component: () => import('@/views/Scheduling/AnnualParam.vue'),
meta: {
title: '年度参数管理'
}
} }
] ]
}, },
......
This diff is collapsed.
<template> <template>
<el-card class="card-contianer"> <el-card class="card-contianer">
<label>{{radioTitle}}</label> <div>
<el-radio-group v-model="activeRadio" style="margin-left: 50px;">
<el-radio </div>
v-for="(option, index) in options" <label>{{radioTitle}}</label>
:key="index" <el-radio-group v-model="activeRadio" style="margin-left: 50px;">
:label="option.value" <el-radio
> v-for="(option, index) in options"
{{ option.lable }} :key="index"
</el-radio> :label="option.value"
</el-radio-group> >
{{ option.lable }}
</el-radio>
</el-radio-group>
</el-card> </el-card>
<el-tabs :tab-position="tabPosition" style="height: 100%" class="demo-tabs"> <el-tabs :tab-position="tabPosition" style="height: 100%" class="demo-tabs">
<el-tab-pane label="换热站状态" v-if="isTransferStatus"> <el-tab-pane label="换热站状态" v-if="isTransferStatus">
...@@ -182,7 +185,7 @@ ...@@ -182,7 +185,7 @@
.card-contianer { .card-contianer {
display: flex; display: flex;
width: auto; width: 100%;
height: 50px; height: 50px;
align-items: center; align-items: center;
vertical-align: middle; vertical-align: middle;
......
<template> <template>
电动阀自检 <el-card class="card-contianer">
</template> <el-form class="card-form" :model="form" label-width="auto" :style="{minHeight:h+'px',maxWidth:400+'px'}">
\ No newline at end of file <el-form-item label="自检计划名称">
<el-input v-model="form.name" />
</el-form-item>
<el-form-item label="电动阀自检功能启用">
<el-radio-group v-model="form.radio">
<el-radio :value="true" size="large">启用</el-radio>
<el-radio :value="false" size="large">禁用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="计划开始月">
<el-col :span="11">
<el-input-number v-model="form.startTime" :min="1" :max="12" />
</el-col>
<el-col :span="2" class="text-center">
<span class="text-gray-500">-</span>
</el-col>
</el-form-item>
<el-form-item label="计划结束月">
<el-col :span="11">
<el-input-number v-model="form.endTime" :min="1" :max="12" />
</el-col>
<el-col :span="2" class="text-center">
<span class="text-gray-500">-</span>
</el-col>
</el-form-item>
<el-form-item label="每月执行日(号)">
<el-input-number v-model="form.planDay" :min="1" />
</el-form-item>
<el-form-item label="间隔时间(分钟)">
<el-input-number v-model="form.intervalTime" :min="1" />
</el-form-item>
<el-form-item label="初始值/默认值(%)">
<el-input-number v-model="form.startValue" />
</el-form-item>
<el-form-item label="每次自增/自减(%)">
<el-input-number v-model="form.intervalValue" />
</el-form-item>
<el-form-item label="自控参数列表">
<el-checkbox-group v-model="form.selectValue">
<el-checkbox v-for="item in form.selectOption" :label="item.label" :value="item.value" />
</el-checkbox-group>
<el-button type="primary" @click="onSubmit">保存</el-button>
<!-- <el-button>清空</el-button> -->
</el-form-item>
</el-form>
</el-card>
</template>
<script lang="ts" setup>
import { ref, reactive, onMounted, onUnmounted, provide, computed, handleError } from 'vue'
import { ElMessage } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import http from '../../api/http'
var h=window.innerHeight - 165;
const form = reactive({
planId: '',
name: '',
startTime: '1',
endTime: '12',
radio: '',
selectValue: [],
selectOption: [],
planDay: '15',
intervalTime: '10',
startValue: '50',
intervalValue: '10',
isActive: ''
})
const onSubmit = () => {
save();
}
function setOptions() {
form.selectOption.length = 0;
form.selectOption.push({ value: "380", label: "冷凝水进水电调阀开度设定值 %" });
form.selectOption.push({ value: "361", label: "一号电动调节阀手动给定" })
form.selectOption.push({ value: "362", label: "二号电动调节阀手动给定" })
form.selectOption.push({ value: "363", label: "三号电动调节阀手动给定" })
form.selectOption.push({ value: "364", label: "四号电动调节阀手动给定" })
form.selectOption.push({ value: "69", label: "电动调节阀开度给定" })
form.selectOption.push({ value: "193", label: "一次侧回水电动调节阀给定" })
form.selectOption.push({ value: "381", label: "自来水进水电调阀开度设定值 %" })
}
function save() {
var str = form.selectValue.join(',');
http.post('/api/remote/Save', { planId: form.planId, planName: form.name, isRun: form.radio, startMonth: form.startTime, endMonth: form.endTime, planDay: form.planDay, intervalTime: form.intervalTime, startValue: form.startValue, intervalValue: form.intervalValue, paraIds: str, isActive: form.isActive }).then((result) => {
if (result.status === 0) {
ElMessage({
message: '保存成功',
type: 'success',
})
}else{
ElMessage.error('保存失败')
}
})
}
function init() {
setOptions();
get();
}
init();
function get() {
http.post('/api/remote/Get').then((result) => {
if (result.status === 0) {
//处理返回数据;
var data = result.data;
form.planId = data.planId;
form.name = data.planName;
form.radio = data.isRun;
form.planDay = data.planDay;
form.intervalTime = data.intervalTime;
form.startValue = data.startValue;
form.intervalValue = data.intervalValue;
//日期处理
form.startTime = data.startMonth;
form.endTime = data.endMonth;
form.isActive = data.isActive;
//多选处理
var value = data.paraIds.split(',');
form.selectValue.length = 0;
value.forEach(element => { form.selectValue.push(element) });
console.log(form);
}
})
}
</script>
<style lang="less" scoped>
.card-contianer {
width: calc(100%-1px);
height: 100%;
overflow: hidden;
}
.card-form {
width: 100%;
// text-align: center;
padding-left: 35%;
}
</style>
\ No newline at end of file
<template>
生产与结算数据分析表
</template>
\ No newline at end of file
<template>
年度参数管理
</template>
\ No newline at end of file
<template>
锅炉参数配置
</template>
\ No newline at end of file
<template>
能源消耗
</template>
\ No newline at end of file
<template>
瞬时热量对比配置
</template>
\ No newline at end of file
<template>
天气工况
</template>
\ No newline at end of file
<template>
气象干预
</template>
\ No newline at end of file
<template>
风力配置管理
</template>
\ No newline at end of file
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