Commit 3d41ec8a authored by 裴文涛's avatar 裴文涛
parents 34e01409 43b14ba3
...@@ -71,6 +71,27 @@ export const postSecAbsTUc = params => { ...@@ -71,6 +71,27 @@ export const postSecAbsTUc = params => {
}) })
} }
//二网万平米流量
export const postSecTrafficUc = params => {
return http.post(`/api/analysis/external/SecTrafficUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//板换效率趋势一
export const postFirEffiTrendUc = params => {
return http.post(`/api/analysis/external/FirEffiTrendUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//板换效率趋势二
export const postSecEffiTrendUc = params => {
return http.post(`/api/analysis/external/SecEffiTrendUc`, 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) {
...@@ -92,8 +113,15 @@ export const postExternalQOQ = params => { ...@@ -92,8 +113,15 @@ export const postExternalQOQ = params => {
}) })
} }
//换热站机组用量同比接口(耗水量、耗电量、耗热量) //换热站机组用量同比接口(耗水量、耗电量、耗热量)网内
export const postYOY = params => { export const postWithinYOY = params => {
return http.post(`/api/analysis/within/YOY`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//换热站机组用量同比接口(耗水量、耗电量、耗热量)网外
export const postExternalYOY = params => {
return http.post(`/api/analysis/external/YOY`, params).then(res => res).catch(function (error) { return http.post(`/api/analysis/external/YOY`, params).then(res => res).catch(function (error) {
console.log(error); console.log(error);
}) })
......
import http from './http'
//能耗总览页---概况接口
export const postArealist = params => {
return http.post(`/api/overview/Area`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---关口实时数据
export const postGYPipeReal = params => {
return http.post(`/api/gis/GYPipeReal`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---公司当日热量使用情况
export const postAllHeat = params => {
return http.post(`/api/overview/AllHeat`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---公司整体能耗
export const postGYCompanyEnergy = params => {
return http.post(`/api/overview/GYCompanyEnergy`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---近七日气象趋势
export const postGYWeather = params => {
return http.post(`/api/overview/GYWeather`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---服务中心热单耗
export const postGYCenterHeatUc = params => {
return http.post(`/api/overview/GYCenterHeatUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---服务中心度日数热耗
export const postGYCenterDayHeatUc = params => {
return http.post(`/api/overview/GYCenterDayHeatUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---二次侧水耗
export const postGYCenterWaterUc = params => {
return http.post(`/api/overview/GYCenterWaterUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---二次侧电耗
export const postGYCenterElecUc = params => {
return http.post(`/api/overview/GYCenterElecUc`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---万平米流量(一次侧)
export const postGYCenterWPMLL = params => {
return http.post(`/api/overview/GYCenterWPMLL`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---一次侧流量分配
export const postGYSupplyWater = params => {
return http.post(`/api/overview/GYSupplyWater`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---二网均温
export const postGYCenterSecAvgT = params => {
return http.post(`/api/overview/GYCenterSecAvgT`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---二网温差
export const postGYCenterSecAbsT = params => {
return http.post(`/api/overview/GYCenterSecAbsT`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//能耗总览页---二网万平米流量
export const postGYCenterECWPMLL = params => {
return http.post(`/api/overview/GYCenterECWPMLL`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
...@@ -21,6 +21,13 @@ export const postPrintHeatForecast = params => { ...@@ -21,6 +21,13 @@ export const postPrintHeatForecast = params => {
}) })
} }
//明日预测报表(保存打印记录)
export const postSaveHeatForecast = params => {
return http.post(`/api/analysis/report/SaveHeatForecast`, params).then(res => res).catch(function (error) {
console.log(error);
})
}
//换热站能耗报表 //换热站能耗报表
export const postTransferEnergy = params => { export const postTransferEnergy = params => {
return http.post(`/api/analysis/report/TransferEnergy`, params).then(res => res).catch(function (error) { return http.post(`/api/analysis/report/TransferEnergy`, params).then(res => res).catch(function (error) {
......
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
placeholder="" @change="callParentMethod"> placeholder="" @change="callParentMethod">
<el-option v-for="obj in item.filterText" :key="obj.text" :label="obj.text" :value="obj.value" /> <el-option v-for="obj in item.filterText" :key="obj.text" :label="obj.text" :value="obj.value" />
</el-select> </el-select>
<el-cascader v-else-if="item.filterType == 3" :options="item.filterText" v-model="item.filterValue" :props="selectprops" collapse-tags
clearable :show-all-levels="false" filterable placeholder="请选择" />
</template> </template>
<template #default="{row, column}"> <template #default="{row, column}">
<div v-if="shouldBlink(row,column)" class="blink-animation">{{ getCellValue(row, column)}}</div> <div v-if="shouldBlink(row,column)" class="blink-animation">{{ getCellValue(row, column)}}</div>
...@@ -94,6 +96,9 @@ const visibleData = ref([]); //可视区数据 ...@@ -94,6 +96,9 @@ const visibleData = ref([]); //可视区数据
const totalCount = ref(1); //总记录数 const totalCount = ref(1); //总记录数
const startIndex = ref(0);//可视区起始标 const startIndex = ref(0);//可视区起始标
const selectprops = { multiple: true, emitPath: false }
// 监听滚动事件来更新显示的数据 // 监听滚动事件来更新显示的数据
const handleScroll = (event) => { const handleScroll = (event) => {
if(totalCount.value <= visibleItemCount.value){ if(totalCount.value <= visibleItemCount.value){
......
<template> <template>
<div class="annual-param-container"> <div class="annual-param-container">
<el-form ref="searchForm" label-suffix=":"> <el-form ref="form" label-suffix=":">
<el-row :gutter="20" justify="space-evenly"> <el-row :gutter="20" justify="space-evenly">
<el-col <el-col
v-for="(item, index) in props.schemas" v-for="(item, index) in props.schemas"
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
:is="components[item.type]" :is="components[item.type]"
:prop="item.prop" :prop="item.prop"
:items="item.componentProps" :items="item.componentProps"
v-model="formData[item.prop]"
></component> ></component>
<!-- <el-input v-model="queryPrarms" placeholder="请选择" /> --> <!-- <el-input v-model="queryPrarms" placeholder="请选择" /> -->
</el-form-item> </el-form-item>
......
<template> <template>
<el-scrollbar> <el-scrollbar>
<div class="ams-el-menu"> <div class="ams-el-menu">
<!-- <div class="menu-search"> <div class="menu-search">
<el-select placement="bottom" v-model="searchValue" clearable filterable remote reserve-keyword <el-select placement="bottom" v-model="searchValue" clearable filterable
:placeholder="'请输入关键字搜索...'" :remote-method="remoteMethod" @change="selectChange" :loading="loading"> :placeholder="'请输入关键字搜索...'" @change="save(searchValue)">
<template #prefix><i class="el-icon-search"></i></template> <template #prefix><i class="el-icon-search"></i></template>
<el-option v-for="item in menus" :key="item.menuId" :label="item.menuName" :value="item.menuName" /> <el-option v-for="item in options" :key="item.menuId" :label="item.menuName" :value="item.navigateUrl" />
</el-select> </el-select>
</div> --> </div>
<el-menu unique-opened :collapse-transition='false' :collapse='$store.state.iscollapse' router :default-active="defaultActive" active-text-color="#409EFF" background-color="#32363f" text-color="#fff"> <el-menu unique-opened :collapse-transition='false' :collapse='$store.state.iscollapse' router :default-active="defaultActive" active-text-color="#409EFF" background-color="#32363f" text-color="#fff">
<!-- 一级菜单 --> <!-- 一级菜单 -->
...@@ -78,15 +78,28 @@ ...@@ -78,15 +78,28 @@
import { import {
Menu as IconMenu Menu as IconMenu
} from '@element-plus/icons-vue' } from '@element-plus/icons-vue'
import { useRouter } from 'vue-router';
// const searchValue = ref(''); const searchValue = ref();
// const proxy = getCurrentInstance(); const router = useRouter();
// const props = defineProps(['meun', 'thisIndex']); const options = ref([]);
// const emit = defineEmits(['subEvent']);
// const options = ref([]);
// const loading = ref(false);
const store = useStore() const store = useStore()
setTimeout(() => {
getoptions(); // 调用你的函数
}, 2000);
function getoptions(){
var menus = store.state.menus;
for(let i = 0;i < 100;i++){
if(menus[i] === undefined)break;
for(let j = 0;j < 100;j++){
if(menus[i].childs[j] === undefined)break;
options.value.push(menus[i].childs[j])
}
}
}
//定义默认展开 //定义默认展开
let defaultActive = ref('/home') let defaultActive = ref('/home')
...@@ -115,5 +128,11 @@ ...@@ -115,5 +128,11 @@
defaultActive.value=path defaultActive.value=path
window.sessionStorage.setItem('activePath',path) window.sessionStorage.setItem('activePath',path)
} }
const save=(routePath)=>{
defaultActive.value=routePath
window.sessionStorage.setItem('activePath',routePath)
router.push({ path: routePath});
}
</script> </script>
\ No newline at end of file
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
:is="components[item.type]" :is="components[item.type]"
:prop="item.prop" :prop="item.prop"
:items="item.componentProps" :items="item.componentProps"
v-model="queryParams[item.prop]"
></component> ></component>
<!-- <el-input v-model="queryPrarms" placeholder="请选择" /> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
室外温度控制参数组
<el-table>
</el-table>
</template>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -27,5 +27,19 @@ export const vFloatNumber = { ...@@ -27,5 +27,19 @@ export const vFloatNumber = {
} }
}); });
} }
}; };
\ No newline at end of file // 只允许输入有符号浮点数
export const vSignedFloatNumber = {
beforeMount(el) {
el.addEventListener('input', (e) => {
// 获取输入框的当前值
let value = e.target.value;
value = value.replace(/[^-\d.]/g, '').replace(/^(-)?(\d*)\.(\d{2}).*$/, '$1$2.$3');
// 如果值有效,则更新输入框的值
if (value !== e.target.value) {
e.target.value = value;
}
});
}
};
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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