Commit 6955c08e authored by qjeslks's avatar qjeslks
parents 5a4c471c 1290b850
// export const ExternalSERVEICE='http://218.69.97.198:8001'
// export const WithinSERVEICE='http://192.168.1.252:8001'
export const ExternalSERVEICE='http://localhost:5013'
export const WithinSERVEICE='http://localhost:5013'
export const ExternalSERVEICE='http://218.69.97.198:8001'
export const WithinSERVEICE='http://192.168.1.252:8001'
// export const ExternalSERVEICE='http://localhost:5013'
// export const WithinSERVEICE='http://localhost:5013'
export const CURRLOGO="LOGO_gangyi.png"
......@@ -2,10 +2,15 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
<link rel="icon" type="image/svg+xml" href="/ams.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>爱默森区域供热管控平台V10.0</title>
<script>
// 兼容es6 不加这行手机版本太低打包后好多方法无法生效
this.globalThis || (this.globalThis = this)
</script>
</head>
<body>
<div id="app"></div>
......
{
"hash": "76d29559",
"configHash": "2effb732",
"lockfileHash": "415b4f88",
"browserHash": "5ddfa83a",
"hash": "c88a64ec",
"configHash": "6bc3ecb5",
"lockfileHash": "cd7189ec",
"browserHash": "c592b5ce",
"optimized": {
"vue": {
"src": "../../vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "6e724a88",
"fileHash": "515b6d6f",
"needsInterop": false
},
"element-plus": {
"src": "../../element-plus/es/index.mjs",
"file": "element-plus.js",
"fileHash": "db311218",
"fileHash": "2e778094",
"needsInterop": false
},
"@element-plus/icons-vue": {
"src": "../../@element-plus/icons-vue/dist/index.js",
"file": "@element-plus_icons-vue.js",
"fileHash": "466ff16a",
"fileHash": "44a77da3",
"needsInterop": false
},
"vue3-smooth-scroll": {
"src": "../../vue3-smooth-scroll/dist/vue-smooth-scroll.min.js",
"file": "vue3-smooth-scroll.js",
"fileHash": "73ac546b",
"fileHash": "68d872a0",
"needsInterop": true
},
"@kyvg/vue3-notification": {
"src": "../../@kyvg/vue3-notification/dist/index.es.js",
"file": "@kyvg_vue3-notification.js",
"fileHash": "7913f170",
"fileHash": "e4b1301c",
"needsInterop": false
},
"jquery": {
"src": "../../jquery/dist/jquery.js",
"file": "jquery.js",
"fileHash": "953bbb02",
"fileHash": "b965b93f",
"needsInterop": true
},
"element-plus/dist/locale/zh-cn.mjs": {
"src": "../../element-plus/dist/locale/zh-cn.mjs",
"file": "element-plus_dist_locale_zh-cn__mjs.js",
"fileHash": "7c795d35",
"needsInterop": false
},
"axios": {
"src": "../../axios/index.js",
"file": "axios.js",
"fileHash": "67fae377",
"needsInterop": false
},
"vue-router": {
"src": "../../vue-router/dist/vue-router.mjs",
"file": "vue-router.js",
"fileHash": "036d0e44",
"fileHash": "d035ba38",
"needsInterop": false
},
"element-plus/dist/locale/zh-cn.mjs": {
"src": "../../element-plus/dist/locale/zh-cn.mjs",
"file": "element-plus_dist_locale_zh-cn__mjs.js",
"fileHash": "1d0385f0",
"needsInterop": false
},
"vuex": {
"src": "../../vuex/dist/vuex.esm-bundler.js",
"file": "vuex.js",
"fileHash": "9c4ab673",
"fileHash": "0a7adb8c",
"needsInterop": false
},
"axios": {
"src": "../../axios/index.js",
"file": "axios.js",
"fileHash": "eccf63c7",
"needsInterop": false
},
"echarts": {
"src": "../../echarts/index.js",
"file": "echarts.js",
"fileHash": "a587f8e5",
"fileHash": "78551daa",
"needsInterop": false
},
"@amap/amap-jsapi-loader": {
"src": "../../@amap/amap-jsapi-loader/dist/index.js",
"file": "@amap_amap-jsapi-loader.js",
"fileHash": "58817286",
"fileHash": "1dd9918c",
"needsInterop": true
},
"mitt": {
"src": "../../mitt/dist/mitt.mjs",
"file": "mitt.js",
"fileHash": "a116a557",
"needsInterop": false
},
"jsencrypt": {
"src": "../../jsencrypt/lib/index.js",
"file": "jsencrypt.js",
"fileHash": "5f3dd49a",
"fileHash": "6cdeaaa7",
"needsInterop": false
},
"lodash/cloneDeep": {
"src": "../../lodash/cloneDeep.js",
"file": "lodash_cloneDeep.js",
"fileHash": "7a95577d",
"needsInterop": true
}
},
"chunks": {
"chunk-YFT6OQ5R": {
"file": "chunk-YFT6OQ5R.js"
},
"chunk-LNZ7GA7G": {
"file": "chunk-LNZ7GA7G.js"
},
"chunk-YFT6OQ5R": {
"file": "chunk-YFT6OQ5R.js"
},
"chunk-VDFR5PMD": {
"file": "chunk-VDFR5PMD.js"
},
......
This source diff could not be displayed because it is too large. You can view the blob instead.
export const ExternalSERVEICE='http://218.69.97.198:8001'
export const WithinSERVEICE='http://192.168.1.252:8001'
// export const ExternalSERVEICE='http://localhost:5013'
// export const WithinSERVEICE='http://localhost:5013'
// export const ExternalSERVEICE='http://218.69.97.198:8001'
// export const WithinSERVEICE='http://192.168.1.252:8001'
export const ExternalSERVEICE='http://localhost:5013'
export const WithinSERVEICE='http://localhost:5013'
export const CURRLOGO="LOGO_gangyi.png"
......@@ -71,6 +71,13 @@ 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 postHeatAnalysis = params => {
return http.post(`/api/analysis/report/HeatAnalysis`, params).then(res => res).catch(function (error) {
......@@ -92,8 +99,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) {
console.log(error);
})
......
......@@ -37,7 +37,7 @@
:header-cell-style="setHeaderCellStyle"
:data="visibleData"
v-loading="isLoading"
:row-key="getRowId"
:row-key="transferId"
element-loading-text="数据加载中......"
:element-loading-spinner="svg"
element-loading-svg-view-box="-10, -10, 50, 50"
......
......@@ -76,7 +76,7 @@
v-model="enertyInfo.type"
placeholder="请选择"
@change="selTypeChange"
style="width: 130px"
style="width: 150px"
>
<!-- <el-option label="用量环比" :value="0" /> -->
<el-option label="热单耗" :value="1" />
......@@ -84,11 +84,12 @@
<el-option label="水单耗" :value="3" />
<el-option label="度日数热耗" :value="4" />
<el-option label="一网回温" :value="5" />
<!-- <el-option label="一网万平米流量" :value="6" />
<el-option label="一网万平米流量" :value="6" />
<el-option label="换热站板换效率" :value="7" />
<el-option label="换热站二网均温" :value="8" /> -->
<!-- <el-option label="二网温差" :value="9" />
<el-option label="二网均温" :value="10" /> -->
<el-option label="换热站二网均温" :value="8" />
<el-option label="二网温差" :value="9" />
<el-option label="二网均温" :value="8" />
<el-option label="二网万平米流量" :value="11" />
</el-select>
</el-form-item>
<!-- <el-form-item label="用量环比类型" v-show="energyTypeDis">
......@@ -166,6 +167,7 @@ import {
postHeatEffiUc,
postSecAvgTUc,
postSecAbsTUc,
postSecTrafficUc,
} from "../../api/analysis";
const options = reactive([]);
const enterpriseId = ref();
......@@ -402,6 +404,12 @@ function sendClick() {
case 8:
postSecAvgTUcFun(); //换热站二网均温
break;
case 9:
postSecAbsTUcFun(); //换热站二网温差
break;
case 11:
postSecTrafficUcFun(); //二网万平米流量
break;
}
enertyTab.value = "能耗值(" + company.value + ")";
} else {
......@@ -565,6 +573,22 @@ function postHeatEffiUcFun() {
});
}
//换热站机组能耗数据接口(二网温差)
function postSecAbsTUcFun() {
tabloading.value = true;
postSecAbsTUc(enertyInfo).then((res) => {
echarts.dispose(document.getElementById("echartsLayer"));
if (res.success === true) {
pageInitFun(res);
} else if (res.status == 9) {
setInterval(function () {
tabloading.value = false;
this.postSecAbsTUcFun();
}, 600000);
}
});
}
//换热站机组能耗数据接口(换热站二网均温)
function postSecAvgTUcFun() {
tabloading.value = true;
......@@ -581,6 +605,22 @@ function postSecAvgTUcFun() {
});
}
//换热站机组能耗数据接口(二网万平米流量)
function postSecTrafficUcFun() {
tabloading.value = true;
postSecTrafficUc(enertyInfo).then((res) => {
echarts.dispose(document.getElementById("echartsLayer"));
if (res.success === true) {
pageInitFun(res);
} else if (res.status == 9) {
setInterval(function () {
tabloading.value = false;
this.postSecTrafficUcFun();
}, 600000);
}
});
}
function pageInitFun(res) {
tableData.length = 0;
res.data.hourWater.forEach((element) => {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -64,7 +64,7 @@
import { ref, reactive, onMounted, onUnmounted, watch } from 'vue';
import http from '../../api/http';
import store from "../../store/index";
import { useRoute, useRouter } from 'vue-router';
// import { useRoute, useRouter } from 'vue-router';
import TransferStatusControl from '../../components/Remote/TransferStatusControl.vue';
import TransferRegControl from '../../components/Remote/TransferRegControl.vue';
import HolidayControl from '../../components/Remote/HolidayControl.vue';
......@@ -95,32 +95,6 @@
const isHeatControl = ref(false);
const isNightFrequency = ref(false);
// const editableTabs = reactive([
// {
// title: '换热站状态',
// path: '../../components/Remote/TransferStatusControl.vue',
// name: 'TransferStatusControl',
// isActive: false,
// component: TransferStatusControl
// },
// {
// title: '远程寄存器值',
// path: '/Remote/RemoteTransferReg',
// name: 'TransferRegControl',
// isActive: false,
// component: TransferRegControl
// }
// ])
// function handleTabClick(tab) {
// activeTab.value = tab.name
// }
// const handleClick = (tab, event) => {
// console.log(tab.props.name);
// console.log(editableTabs.find(t => t.name === tab.props.name).path);
// router.push(editableTabs.find(t => t.name === tab.props.name).path);
// };
//初始化页面
function initPage(){
initRadioList();
......
<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
<script setup>
import {computed, isRef, ref, shallowRef} from "vue";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import ReviseWindow from "./weatherManageSub/ReviseWindow.vue";
import BindWindow from "./weatherManageSub/BindWindow.vue";
const data = ref([
{
id: 1,
customName: '非节能(行政区)', // 自定义名称
heatingStationName: '行政区供热站', // 供热站名称
operateTime: '2024-03-19 21:33:50', // 操作时间
interventionMode: '气象仪模式', // 干预模式
temperature: 15.5, // 温度
windSpeed: 0, // 风速
illumination: 0, // 光照
switching: '手动模式', // 手自动切换
deviationPercentage: 10,// 自动偏差百分比
verifyTime: '20', // 验证时间
adjustTemperature: 1, // 调节温度
sort: 1 // 排序
},
{
id: 2,
customName: '非节能(行政区)', // 自定义名称
heatingStationName: '行政区供热站', // 供热站名称
operateTime: '2024-03-19 21:33:50', // 操作时间
interventionMode: '气象仪模式', // 干预模式
temperature: 15.5, // 温度
windSpeed: 0, // 风速
illumination: 0, // 光照
switching: '手动模式', // 手自动切换
deviationPercentage: 10,// 自动偏差百分比
verifyTime: '20', // 验证时间
adjustTemperature: 1, // 调节温度
sort: 2 // 排序
},
{
id: 3,
customName: '非节能(行政区)', // 自定义名称
heatingStationName: '行政区供热站', // 供热站名称
operateTime: '2024-03-19 21:33:50', // 操作时间
interventionMode: '气象仪模式', // 干预模式
temperature: 15.5, // 温度
windSpeed: 0, // 风速
illumination: 0, // 光照
switching: '手动模式', // 手自动切换
deviationPercentage: 10,// 自动偏差百分比
verifyTime: '20', // 验证时间
adjustTemperature: 1, // 调节温度
sort: 3 // 排序
},
{
id: 4,
customName: '非节能(行政区)', // 自定义名称
heatingStationName: '行政区供热站', // 供热站名称
operateTime: '2024-03-19 21:33:50', // 操作时间
interventionMode: '气象仪模式', // 干预模式
temperature: 15.5, // 温度
windSpeed: 0, // 风速
illumination: 0, // 光照
switching: '手动模式', // 手自动切换
deviationPercentage: 10,// 自动偏差百分比
verifyTime: '20', // 验证时间
adjustTemperature: 1, // 调节温度
sort: 4 // 排序
}
])
const currentPage = ref(1) // 当前页码
const pageSize = ref(30) // 每页显示条数
const reviseWindowOpen = ref(false) // 修改按钮弹窗状态
const bindWindowOpen = ref(false) // 绑定按钮弹窗状态
const totalPageCount = computed(() => { // 页面左下角总页数计算
return Math.ceil(data.value.length / pageSize.value)
})
const dependentSub = ref({}) // 弹窗数据
const tableHeaderClass = data => { // 表头样式
return 'table-header-class'
}
const tableBodyClass = data => { // 表体样式
return 'table-body-class'
}
const setCellStyle = (row, column, rowIndex, columnIndex) => {
let css_color = {}
css_color['padding-left'] = '0px'
css_color['padding-right'] = '0px'
css_color['padding-top'] = '3px'
css_color['padding-bottom'] = '3px'
return css_color
}
const revise = (row) => { // 修改按钮单击事件
dependentSub.value = row
reviseWindowOpen.value = true
}
const bind = (row) => { // 绑定按钮单击事件
dependentSub.value = row
bindWindowOpen.value = true
}
const confirmRevise = val => { // 修改弹窗确认按钮事件
for (let i = 0; i < data.value.length; i++) {
if (data.value[i].id === val.id) {
data.value[i].customName = val.customName
data.value[i].interventionMode = val.interventionMode
data.value[i].temperature = val.temperature
data.value[i].windSpeed = val.windSpeed
data.value[i].illumination = val.illumination
data.value[i].switching = val.switching
data.value[i].deviationPercentage = val.deviationPercentage
data.value[i].verifyTime = val.verifyTime
data.value[i].adjustTemperature = val.adjustTemperature
data.value[i].sort = val.sort
break
}
}
reviseWindowOpen.value = false
}
const confirmBind = val =>{
console.log("处理换热站绑定")
bindWindowOpen.value = false
}
</script>
<template>
<div class="container">
<div class="table-wrapper">
<el-table
:data="data"
stripe
border
style="width: 100%"
:cell-style="setCellStyle"
:header-cell-class-name="tableHeaderClass"
:row-class-name="tableBodyClass">
<el-table-column label="序号" type="index" align="center" width="60"/>
<el-table-column prop="customName" label="自定义名称" width="200"/>
<el-table-column prop="heatingStationName" label="供热站名称" width="160"/>
<el-table-column prop="operateTime" label="操作时间" width="210"/>
<el-table-column prop="interventionMode" label="干预模式" width="120"/>
<el-table-column prop="temperature" label="温度" width="60"/>
<el-table-column prop="windSpeed" label="风速" width="60"/>
<el-table-column prop="illumination" label="光照" width="60"/>
<el-table-column prop="switching" label="手自动切换" width="120"/>
<el-table-column prop="deviationPercentage" label="自动偏差百分比"/>
<el-table-column prop="verifyTime" label="验证时间"/>
<el-table-column prop="adjustTemperature" label="调节温度"/>
<el-table-column prop="sort" label="排序" width="60"/>
<el-table-column label="操作" width="200">
<template #default="scope">
<div class="table-operate-column">
<el-button link @click="revise(scope.row)" type="primary">修改</el-button>
<el-button link @click="bind(scope.row)" type="primary">绑定换热站</el-button>
<el-button link type="primary">详情</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination-wrapper">
<div class="pagination-text-area">
<div class="pagination-text">
共{{ data.length }}条记录,当前为第{{ currentPage }}页,共{{ totalPageCount }}页
</div>
</div>
<el-config-provider :locale="zhCn">
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[30, 40, 50, 100, 200, 300]"
:small="true"
layout="sizes, prev, pager, next, jumper"
:total="data.length"
@change="data"
class="pagination"/>
</el-config-provider>
</div>
<div class="dialog-wrapper">
<ReviseWindow
:open="reviseWindowOpen"
:data="dependentSub"
@onCancel="reviseWindowOpen = false"
@onConfirm="confirmRevise"
></ReviseWindow>
<BindWindow
:open="bindWindowOpen"
:data="dependentSub"
@onCancel="bindWindowOpen = false"
@onConfirm="confirmBind"></BindWindow>
</div>
</div>
</template>
<style scoped>
:deep(.table-header-class) {
text-align: center;
background-color: #c4d8f1 !important;
color: #124c6a;
font-weight: normal;
}
:deep(.table-body-class) {
color: black;
}
.table-operate-column {
display: flex;
justify-content: center;
align-items: center;
}
.table-operate-column .el-button {
color: #124c6a;
font-size: 12px;
}
.pagination-wrapper {
padding: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}
.pagination-text {
font-size: 12px;
}
.pagination {
}
::v-deep .el-table__body tr:hover>td {
background: linear-gradient(to top, rgb(0, 198, 255), rgb(255, 255, 255)) !important;
}
</style>
\ No newline at end of file
<template>
风力配置管理
</template>
\ No newline at end of file
......@@ -73,8 +73,8 @@ const confirmRevise = val => { // 修改弹窗确认按钮事件
}
alterWeatherMagData(params).then(res=>{
if(res.success){
getData()
reviseWindowOpen.value = false
getData()
ElMessage({
message: '修改成功.',
type: 'success',
......
......@@ -78,8 +78,12 @@ function onOpen() {
async function handleConfirm() {
if (reviseData.value.hasOwnProperty('supplyId')) {
if (reviseData.value.supplyId) {
const result = await getTransferInterface(param)
getTransferInterface({
customizeId: reviseData.value.customizeId,
supplyId: reviseData.value.supplyId
}).then(result => {
for (let item of result.data) {
if(item.selected.toLowerCase() === 'true'){
reviseData.value.transfers.push(
{
customizeId: reviseData.value.customizeId,
......@@ -89,12 +93,17 @@ async function handleConfirm() {
)
}
}
}
formRef.value.validate(valid => {
if (valid) {
emit('onConfirm', reviseData.value)
}
})
})
}
}
}
</script>
......
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import legacy from '@vitejs/plugin-legacy'
// 导入path模块
import path from 'path'
//import requireTransform from 'vite-plugin-require-transform'
......@@ -16,6 +17,9 @@ export default defineConfig({
},
plugins: [
[vue()],
legacy({
targets:['defaults','not IE 11'],
}),
// requireTransform({
// fileRegex: /.js$|.vue$/,
// })
......
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