Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
web-project
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
海康威视
web-project
Commits
de026362
Commit
de026362
authored
Aug 06, 2024
by
xuke
Browse files
Options
Browse Files
Download
Plain Diff
瞬时热量接口调用完成
parents
5a10b476
ddf8f5e1
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1471 additions
and
501 deletions
+1471
-501
package.json
package.json
+1
-0
scheduling.js
src/api/scheduling.js
+22
-0
index.js
src/router/index.js
+426
-380
AnnualParamPage.vue
src/views/SchedulingPage/AnnualParamPage.vue
+279
-0
ConfigBoilerPage.vue
src/views/SchedulingPage/ConfigBoilerPage.vue
+84
-45
EnergyManagePage.vue
src/views/SchedulingPage/EnergyManagePage.vue
+42
-31
PhenomenonPage.vue
src/views/SchedulingPage/PhenomenonPage.vue
+32
-7
WeatherManagePage.vue
src/views/SchedulingPage/WeatherManagePage.vue
+240
-0
WindManagePage.vue
src/views/SchedulingPage/WindManagePage.vue
+327
-0
BindWindow.vue
src/views/SchedulingPage/weatherManageSub/BindWindow.vue
+4
-10
ReviseWindow.vue
src/views/SchedulingPage/weatherManageSub/ReviseWindow.vue
+14
-28
No files found.
package.json
View file @
de026362
...
...
@@ -20,6 +20,7 @@
"
jsencrypt
"
:
"
^3.3.2
"
,
"
less
"
:
"
^4.2.0
"
,
"
mitt
"
:
"
^3.0.1
"
,
"
mock
"
:
"
^0.1.1
"
,
"
mockjs
"
:
"
^1.1.0
"
,
"
node-sass
"
:
"
^9.0.0
"
,
"
public-ip
"
:
"
^6.0.2
"
,
...
...
src/api/scheduling.js
View file @
de026362
...
...
@@ -6,6 +6,7 @@ export const postEnergyManage = params => {
})
}
<<<<<<<
HEAD
// 瞬时热量-获取列表
export
const
postInstantHeat
=
params
=>
{
return
http
.
post
(
`api/Scheduling/BizInstantaneousHeat/Get`
).
then
(
res
=>
res
).
catch
(
function
(
error
)
{
...
...
@@ -33,3 +34,24 @@ export const postEnergyManageSave = params => {
}
=======
export
const
getWeatherMagData
=
()
=>
{
// 获取气象干预数据
return
http
.
get
(
`/api/cusweather/getData`
)
}
export
const
alterWeatherMagData
=
params
=>
{
// 更新气象干预数据
return
http
.
post
(
`/api/cusweather/SaveAll`
,
params
)
}
export
const
getTransfer
=
param
=>
{
return
http
.
post
(
'/api/cusweather/getTransferIds'
,
param
)
}
export
const
getAnnualParam
=
()
=>
{
// 获取年度参数列表
return
http
.
post
(
'/api/Scheduling/BizHeatSet/Get'
)
}
export
const
alterAnnualParam
=
params
=>
{
return
http
.
post
(
'/api/Scheduling/BizHeatSet/Update'
,
params
)
}
>>>>>>>
ddf8f5e185594dc0e6e809967cda5d8f5acc4157
src/router/index.js
View file @
de026362
// 创建路由为历史
import
{
createRouter
,
createWebHistory
}
from
"vue-router"
;
import
{
createRouter
,
createWebHistory
}
from
"vue-router"
;
import
LoginPage
from
'@/views/login/login.vue'
import
HomePage
from
'@/views/home.vue'
import
AboutPage
from
'@/components/About.vue'
...
...
@@ -376,11 +376,19 @@ const routes = [
{
path
:
'/Scheduling/WeatherManage'
,
name
:
'WeatherManagePage'
,
component
:
()
=>
import
(
'@/views/Scheduling
/WeatherManagePage.vue'
),
component
:
()
=>
import
(
'@/views/SchedulingPage
/WeatherManagePage.vue'
),
meta
:
{
title
:
'气象干预'
}
},
{
path
:
'/Scheduling/AnnualParam'
,
name
:
'AnnualParamPage'
,
component
:
()
=>
import
(
'@/views/SchedulingPage/AnnualParamPage.vue'
),
meta
:
{
title
:
'年度参数'
}
},
{
path
:
'/Scheduling/ConfigBoiler'
,
name
:
'ConfigBoiler'
,
...
...
@@ -390,6 +398,14 @@ const routes = [
}
},
{
path
:
'/Scheduling/WindManage'
,
name
:
'WindManage'
,
component
:
()
=>
import
(
'../views/SchedulingPage/WindManagePage.vue'
),
meta
:
{
title
:
'风力配置管理'
}
},
{
path
:
'/Scheduling/Phenomenon'
,
name
:
'Phenomenon'
,
...
...
@@ -397,7 +413,8 @@ const routes = [
meta
:
{
title
:
'天气工况管理'
}
},{
},
{
path
:
'/Scheduling/InstantHeat'
,
name
:
'InstantHeatPage'
,
component
:
()
=>
import
(
'@/views/SchedulingPage/InstantHeatPage.vue'
),
...
...
@@ -409,60 +426,89 @@ const routes = [
},
{
path
:
'/About'
,
name
:
"/About"
,
component
:
AboutPage
},
name
:
"/About"
,
component
:
AboutPage
}
,
{
path
:
'/GisHome'
,
name
:
'/GisHome'
,
component
:
()
=>
import
(
'@/views/Gis/screenDisplay.vue'
),
meta
:
{
name
:
'/GisHome'
,
component
:
()
=>
import
(
'@/views/Gis/screenDisplay.vue'
),
meta
:
{
title
:
'地图'
}
},
//捕获404路由
}
,
//捕获404路由
{
path
:
'/:pathMatch(.*)*'
,
name
:
'NotFound'
,
component
:
()
=>
import
(
'@/views/404.vue'
)
},
name
:
'NotFound'
,
component
:
()
=>
import
(
'@/views/404.vue'
)
}
,
{
path
:
'/TransferArt'
,
name
:
'/TransferArt'
,
component
:
()
=>
import
(
'@/components/art/TransferArt.vue'
),
meta
:
{
name
:
'/TransferArt'
,
component
:
()
=>
import
(
'@/components/art/TransferArt.vue'
),
meta
:
{
title
:
'换热站工艺图'
}
},
}
,
{
path
:
'/BoilerArt'
,
name
:
'/BoilerArt'
,
component
:
()
=>
import
(
'@/components/art/BoilerArt.vue'
),
meta
:
{
name
:
'/BoilerArt'
,
component
:
()
=>
import
(
'@/components/art/BoilerArt.vue'
),
meta
:
{
title
:
'锅炉工艺图'
}
},
}
,
{
path
:
'/AllBoilerArt'
,
name
:
'AllBoilerArt'
,
component
:
()
=>
import
(
'@/components/art/AllBoilerArt.vue'
),
meta
:
{
name
:
'AllBoilerArt'
,
component
:
()
=>
import
(
'@/components/art/AllBoilerArt.vue'
),
meta
:
{
title
:
'锅炉全景工艺图'
}
},
}
,
{
path
:
'/MeasurementArt'
,
name
:
'MeasurementArt'
,
component
:
()
=>
import
(
'@/components/art/MeasurementArt.vue'
),
meta
:
{
name
:
'MeasurementArt'
,
component
:
()
=>
import
(
'@/components/art/MeasurementArt.vue'
),
meta
:
{
title
:
'计量站全景工艺图'
}
},
}
,
{
path
:
'/Visualizations'
,
name
:
'Visualizations'
,
component
:
()
=>
import
(
'@/views/Visualizations/index.vue'
),
meta
:
{
name
:
'Visualizations'
,
component
:
()
=>
import
(
'@/views/Visualizations/index.vue'
),
meta
:
{
title
:
'可视化'
}
}
...
...
@@ -503,7 +549,7 @@ router.beforeEach(async (to, from, next) => {
if
(
!
userInfo
&&
to
.
path
!==
'/login'
)
return
next
(
'/login'
)
//如果已登录避免重复登录
if
(
userInfo
&&
to
.
path
==
'/login'
)
{
return
next
({
path
:
from
.
path
?
from
.
path
:
'/'
})
return
next
({
path
:
from
.
path
?
from
.
path
:
'/'
})
}
let
hasNewRoutes
=
false
...
...
src/views/SchedulingPage/AnnualParamPage.vue
0 → 100644
View file @
de026362
<
script
setup
>
import
{
onMounted
,
reactive
,
ref
}
from
"vue"
;
import
{
zhCn
}
from
"element-plus/es/locale/index"
;
import
{
getAnnualParam
,
alterAnnualParam
}
from
'@/api/scheduling.js'
const
data
=
ref
()
const
tableHeaderClass
=
data
=>
{
// 表头样式
return
'table-header-class'
}
const
tableBodyClass
=
data
=>
{
// 表体样式
return
'table-body-class'
}
const
searchKey
=
ref
(
''
)
// 查询参数
const
page
=
reactive
({
currentPage
:
1
,
pageSize
:
30
,
total
:
0
})
// 当前页码,每页显示条数,总条数
const
currentPage
=
ref
(
1
)
// 当前页码
const
pageSize
=
ref
(
30
)
// 每页显示条数
const
totalData
=
ref
(
0
)
// 数据总条数
const
reviseWindowOpen
=
ref
(
false
)
const
reviseForm
=
ref
({})
const
energyTypeList
=
ref
([
'一步节能'
,
'二步节能'
,
'三步节能'
,
'非节能'
])
// 节能等级列表
const
yearList
=
ref
([
'2016'
,
'2017'
,
'2018'
,
'2019'
,
'2020'
,
'2021'
,
'2022'
,
'2023'
,
'2024'
,
'2025'
,
'2026'
,
'2027'
,
'2028'
,
'2029'
,
'2030'
])
// 年度列表
function
handleEdit
(
val
)
{
reviseForm
.
value
=
{...
val
}
reviseWindowOpen
.
value
=
true
}
// 处理修改
function
handleDelete
(
val
)
{
}
// 处理删除
function
handleAdd
()
{
}
// 处理新增
function
handleSearch
()
{
}
// 处理查询
function
onSubmit
()
{
alterAnnualParam
(
reviseForm
.
value
).
then
(
res
=>
{
if
(
res
.
success
){
getData
()
handleClose
()
}
})
}
// 提交修改
function
handleClose
()
{
reviseWindowOpen
.
value
=
false
}
// 关闭弹窗
onMounted
(()
=>
{
getData
()
})
function
getData
(){
getAnnualParam
().
then
(
res
=>
{
data
.
value
=
res
.
data
page
.
total
=
res
.
data
.
length
})
}
function
handleSizeChange
(
val
)
{
console
.
log
(
val
)
page
.
pageSize
=
val
getData
()
}
function
handleCurrentChange
(
val
)
{
console
.
log
(
val
)
page
.
currentPage
=
val
getData
()
}
</
script
>
<
template
>
<div
class=
"annual-param-container"
>
<div
class=
"search-add-wrapper"
>
<el-row>
<el-col
:span=
"8"
label
>
年度:
</el-col>
<el-col
:span=
"16"
>
<el-input
v-model=
"searchKey"
/>
</el-col>
</el-row>
<el-button
type=
"primary"
class=
"add-search-btn"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
type=
"primary"
class=
"add-search-btn"
@
click=
"handleSearch"
>
查询
</el-button>
</div>
<div
class=
"table-wrapper"
>
<el-table
:data=
"data"
border
stripe
:header-cell-class-name=
"tableHeaderClass"
:row-class-name=
"tableBodyClass"
style=
"width: 100%"
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"60"
/>
<el-table-column
label=
"节能类型"
prop=
"energyType"
/>
<el-table-column
label=
"年度"
prop=
"year"
/>
<el-table-column
label=
"热指标(W/m²)"
prop=
"standard"
/>
<el-table-column
label=
"度日数标定值"
prop=
"degreeStandard"
/>
<el-table-column
label=
"室内温度(℃)"
prop=
"indoorTemperature"
/>
<el-table-column
label=
"室外温度(℃)"
prop=
"outdoorTemperature"
/>
<el-table-column
label=
"回水温度(℃)"
prop=
"backWaterTemperature"
/>
<el-table-column
label=
"操作"
>
<template
#
default=
"scope"
>
<div
class=
"table-operate-column"
>
<el-button
link
type=
"primary"
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-button
link
type=
"primary"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pagination-wrapper"
>
<el-config-provider
:locale=
"zhCn"
>
<el-pagination
v-model:current-page=
"page.currentPage"
v-model:page-size=
"page.pageSize"
:page-sizes=
"[30, 40, 50, 100, 200, 300]"
:small=
"true"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"page.total"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
/>
</el-config-provider>
</div>
<div
class=
"revise-window-dialog"
>
<el-dialog
title=
"年度参数修改"
v-model=
"reviseWindowOpen"
width=
"700px"
:before-close=
"handleClose"
>
<
template
#
default
>
<el-row
first
>
<el-col
:span=
"8"
col-label
>
节能等级:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-select
placeholder=
""
size=
"small"
v-model=
"reviseForm.energyType"
style=
"width: 370px"
>
<el-option
v-for=
"item in energyTypeList"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
年度:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-select
placeholder=
""
v-model=
"reviseForm.year"
size=
"small"
style=
"width: 370px"
>
<el-option
v-for=
"item in yearList"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
标准:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-input
v-model=
"reviseForm.standard"
placeholder=
""
style=
"width: 370px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
度日数标定值:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-input
v-model=
"reviseForm.degreeStandard"
style=
"width: 370px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
室内温度:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-input
v-model=
"reviseForm.indoorTemperature"
style=
"width: 370px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
室外温度:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-input
v-model=
"reviseForm.outdoorTemperature"
style=
"width: 370px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
col-label
>
回水温度:
</el-col>
<el-col
:span=
"16"
col-value
>
<el-input
v-model=
"reviseForm.backWaterTemperature"
style=
"width: 370px"
/>
</el-col>
</el-row>
</
template
>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"handleClose"
>
关闭
</el-button>
</div>
</
template
>
</el-dialog>
</div>
</div>
</template>
<
style
scoped
lang=
"less"
>
.annual-param-container {
width: 100%;
margin: 4px;
}
.search-add-wrapper {
width: 100%;
display: flex;
justify-content: start;
}
.search-add-wrapper .el-row {
width: 50%;
margin: 5px 10px 5px 5px;
}
.el-col[label] {
display: flex;
justify-content: end;
align-items: center;
}
.add-search-btn {
margin: 5px 10px 5px 0;
}
:deep(.table-header-class) {
text-align: center;
font-size: 12px;
background-color: #c4d8f1 !important;
color: #124c6a;
}
:deep(.table-body-class) {
font-size: 12px;
color: black;
}
.table-operate-column {
display: flex;
justify-content: center;
align-items: center;
}
.table-operate-column .el-button {
font-size: 12px;
}
::v-deep .el-table__body tr:hover > td {
background: linear-gradient(to top, rgb(0, 198, 255), rgb(255, 255, 255)) !important;
}
.pagination-wrapper {
padding: 5px;
display: flex;
justify-content: space-between;
align-items: center;
}
.el-row[first]{
border-top: 1px solid #a6c3e9;
}
.el-row{
display: flex;
align-items: center;
width: 100%;
height: 35px;
color: #124362;
}
.el-col[col-label]{
display: flex;
justify-content: end;
align-items: center;
border-right: 1px solid #a6c3e9;
background-color: #f2f6f8;
padding-right: 5px;
}
.el-col[col-value]{
display: flex;
justify-content: start;
align-items: center;
padding-left: 5px;
}
.el-input{
color: black;
height: 24px;
}
</
style
>
\ No newline at end of file
src/views/SchedulingPage/ConfigBoilerPage.vue
View file @
de026362
<
template
>
<div
class=
"contentBlock"
>
<div
class=
"contentBlockInn"
>
<el-card
class=
"card-contianer"
>
<table
cellpadding=
"0"
cellspacing=
"1"
style=
"background-color: #99bbe8"
>
<tr>
<th
style=
"width: 25%"
>
电调阈开启度
</th>
...
...
@@ -13,7 +16,13 @@
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-input
style=
"width: 80%"
></el-input>
%
<el-input
style=
"width: 80%"
v-model=
"formDatas.openingOfElectricValve"
>
<template
#
append
>
<div
style=
"width: 40px"
>
%
</div>
</
template
>
</el-input>
</td>
</tr>
...
...
@@ -22,6 +31,7 @@
</tr>
<tr>
<th
style=
"width: 25%"
>
换热站
</th>
<td
style=
"text-align: left"
>
<el-checkbox-group
v-model=
"form.type"
style=
"width: 60%;"
>
...
...
@@ -43,12 +53,18 @@
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-input
style=
"width: 80%"
></el-input>
℃
<el-input
style=
"width: 80%"
v-model=
"formDatas.boilerOutletWaterTemperature"
>
<
template
#
append
>
<div
style=
"width: 40px;"
>
℃
</div>
</
template
>
</el-input>
</td>
</tr>
</table>
</td>
</tr>
...
...
@@ -59,7 +75,14 @@
<tr>
<td
style=
"text-align: left"
>
<el-form>
<el-input
style=
"width: 80%"
></el-input>
分钟
<el-input
style=
"width: 80%"
v-model=
"formDatas.holdingTime"
>
<
template
#
append
>
<div
style=
"width: 40px"
>
分钟
</div>
</
template
>
</el-input>
</el-form>
</td>
...
...
@@ -77,7 +100,14 @@
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-input
style=
"width: 80%"
></el-input>
m3/h
<el-input
style=
"width: 80%"
v-model=
"formDatas.upperLlimitMainFlow"
>
<
template
#
append
>
<div
style=
"width: 40px;"
>
m3/h
</div>
</
template
>
</el-input>
</td>
</tr>
</table>
...
...
@@ -92,7 +122,14 @@
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-input
style=
"width: 80%"
></el-input>
m3/h
<el-input
style=
"width: 80%"
v-model=
"formDatas.lowerLlimitMainFlow"
>
<
template
#
append
>
<div
style=
"width: 40px"
>
m3/h
</div>
</
template
>
</el-input>
</td>
</tr>
...
...
@@ -100,14 +137,20 @@
</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>
℃
<el-input
style=
"width: 80%"
v-model=
"formDatas.maxTargetTemperature"
>
<
template
#
append
>
<div
style=
"width: 40px;"
>
℃
</div>
</
template
>
</el-input>
</td>
</tr>
...
...
@@ -116,15 +159,19 @@
</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>
分钟
<el-input
style=
"width: 80%"
v-model=
"formDatas.bestHoldingTime"
>
<
template
#
append
>
<div
style=
"width: 40px"
>
分钟
</div>
</
template
>
</el-input>
</td>
</tr>
</table>
...
...
@@ -136,13 +183,12 @@
<th
rowspan=
"3"
>
<div>
<div
class=
"btngrounp"
>
<el-button
type=
"primary"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"save"
>
保存
</el-button>
<el-button
type=
"primary"
style=
"margin: 0 0 0 5px"
>
关闭
</el-button>
</div>
</div>
</th>
</tr>
</table>
</el-card>
</div>
...
...
@@ -151,45 +197,38 @@
<!--操作-->
<!--
<th
rowspan=
"3"
>
-->
<!--
<div>
-->
<!--
<div
class=
"btngrounp"
>
-->
<!--
<el-button-->
<!-- type="primary"-->
<!-- @click="postTransferEnergyFun"-->
<!-- style="margin: 15px 0 0 0"-->
<!-- >查询
</el-button-->
<!-- >
<el-button-->
<!-- type="primary"-->
<!-- @click="exportTableToExcel"-->
<!-- style="margin: 15px 0 0 10px"-->
<!-- >打印
</el-button-->
<!-- >
<el-button-->
<!-- type="primary"-->
<!-- @click="exportTableToExcel"-->
<!-- style="margin: 15px 0 0 10px"-->
<!-- >打印预览
</el-button-->
<!-- >-->
<!--
<el-button-->
<!-- type="primary"-->
<!-- @click="exportTableToExcel"-->
<!-- style="margin: 15px 0 0 10px"-->
<!-- >导出
</el-button-->
<!-- >-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</th>
-->
</template>
<
script
setup
>
import
{
reactive
,
onMounted
,
onUnmounted
}
from
"vue"
;
import
{
ref
,
reactive
,
onMounted
,
onUnmounted
,
onBeforeMount
}
from
"vue"
;
import
http
from
'../../api/http'
;
const
options
=
reactive
([
'瑞景园低区'
,
'瑞景园高区'
,
'翰锦园'
,
'圣美园低区'
,
'圣美园高区'
,
'社区服务中心'
,
'风雅园'
,
'风雅园_幼儿园'
,
'枫润园低区'
,
'枫润园高区'
]);
const
form
=
reactive
({
const
form
=
ref
({
types
:[]
})
const
formDatas
=
ref
({
type
:[],
})
const
listData
=
()
=>
{
http
.
get
(
"/api/configboiler/getData"
).
then
((
result
)
=>
{
formDatas
.
value
=
result
.
data
;
console
.
log
(
formDatas
.
value
)
console
.
log
({...
formDatas
.
value
})
})
}
listData
()
const
save
=
()
=>
{
console
.
log
(
formDatas
.
value
)
http
.
post
(
"/api/configboiler/Save"
,{...
formDatas
.
value
},
false
).
then
((
result
)
=>
{
}).
catch
((
error
)
=>
{
console
.
log
(
error
)
})
}
...
...
src/views/SchedulingPage/EnergyManagePage.vue
View file @
de026362
...
...
@@ -3,42 +3,51 @@ import { ref, onMounted, getCurrentInstance, reactive, nextTick } from 'vue'
import
{
ElMessageBox
,
ElMessage
}
from
'element-plus'
import
axios
from
'axios'
import
{
Search
,
Document
}
from
"@element-plus/icons-vue"
import
{
postEnergyManage
,
postSecAbsTUc
,
postEnergyManageSave
}
from
"@/api/scheduling"
const
{
proxy
}
=
getCurrentInstance
()
const
tableData
=
ref
([])
const
formEnergy
=
reactive
({})
const
dialogVisible
=
ref
(
false
)
const
getEnergyData
=
async
()
=>
{
const
data
=
await
proxy
.
$api
.
getEnergyData
(
config
)
// console.log(data);
tableData
.
value
=
data
.
list
.
map
(
item
=>
({
...
item
}))
// const data = await proxy.$api.getEnergyData(config)
// const data = await postSecAbsTUc(config)
// const data = await postEnergyManage(config)
// const data = await postEnergyManageSave(formEnergy.value)
console
.
log
(
data
);
tableData
.
value
=
data
.
list
// .map(item => ({
// ...item,
// }))
config
.
total
=
data
.
count
}
const
tableLabel
=
reactive
([
{
prop
:
'
i
d'
,
prop
:
'
allowPagingI
d'
,
label
:
"序号"
,
width
:
100
},
{
prop
:
'
n
ame'
,
prop
:
'
supplyN
ame'
,
label
:
'名称'
,
width
:
200
},
{
prop
:
'
t
ype'
,
prop
:
'
energyT
ype'
,
label
:
"能源类型"
},
{
prop
:
'
use
d'
,
prop
:
'
recor
d'
,
label
:
"用度"
,
width
:
200
},
{
prop
:
'
d
ate'
,
prop
:
'
recordD
ate'
,
label
:
"日期"
,
width
:
300
}
...
...
@@ -51,13 +60,13 @@ const formInline = reactive({
const
config
=
reactive
({
total
:
0
,
page
:
1
,
n
ame
:
""
,
supplyN
ame
:
""
,
})
const
handleSearch
=
()
=>
{
config
.
n
ame
,
config
.
supplyN
ame
,
getEnergyData
(),
config
.
n
ame
=
''
config
.
supplyN
ame
=
''
}
const
timeFormat
=
(
time
)
=>
{
...
...
@@ -74,13 +83,13 @@ const timeFormat = (time) => {
//表单校验规则
const
rules
=
reactive
({
n
ame
:
[{
required
:
true
,
message
:
"名称是必填项"
,
trigger
:
"blur"
}],
t
ype
:
[
supplyN
ame
:
[{
required
:
true
,
message
:
"名称是必填项"
,
trigger
:
"blur"
}],
energyT
ype
:
[
{
required
:
true
,
message
:
"能源类型是必填项"
,
trigger
:
"blur"
},
],
use
d
:
[{
required
:
true
,
message
:
"能源用度是必选项"
,
trigger
:
"change"
}],
d
ate
:
[{
required
:
true
,
message
:
"日期是必选项"
}]
recor
d
:
[{
required
:
true
,
message
:
"能源用度是必选项"
,
trigger
:
"change"
}],
recordD
ate
:
[{
required
:
true
,
message
:
"日期是必选项"
}]
})
...
...
@@ -113,7 +122,7 @@ const handleDelete = (row) => {
// 新增
const
action
=
ref
(
'add'
)
const
formEnergy
=
reactive
({})
const
handleClose
=
()
=>
{
dialogVisible
.
value
=
false
proxy
.
$ref
[
'energyForm'
].
resetFields
()
...
...
@@ -124,12 +133,11 @@ const handleCancel = () => {
}
const
handleAdd
=
()
=>
{
action
.
value
=
"add"
,
dialogVisible
.
value
=
true
;
proxy
.
$refs
[
'energyForm'
].
resetFields
()
formEnergy
.
n
ame
=
''
,
formEnergy
.
t
ype
=
''
formEnergy
.
supplyN
ame
=
''
,
formEnergy
.
energyT
ype
=
''
}
...
...
@@ -147,9 +155,12 @@ const onSubmit = () => {
proxy
.
$refs
[
'energyForm'
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
let
res
=
null
;
formEnergy
.
date
=
/^
\d{4}
-
\d{2}
-
\d{2}
$/
.
test
(
formEnergy
.
date
)
?
formEnergy
.
date
:
timeFormat
(
formEnergy
.
d
ate
)
formEnergy
.
recordDate
=
/^
\d{4}
-
\d{2}
-
\d{2}
$/
.
test
(
formEnergy
.
recordDate
)
?
formEnergy
.
recordDate
:
timeFormat
(
formEnergy
.
recordD
ate
)
if
(
action
.
value
===
'add'
)
{
res
=
await
proxy
.
$api
.
addEnergy
(
formEnergy
)
// res = await proxy.$api.addEnergy(formEnergy)
res
=
postEnergyManageSave
(
formEnergy
)
console
.
log
(
res
);
if
(
res
)
{
dialogVisible
.
value
=
false
...
...
@@ -192,8 +203,8 @@ onMounted(() => {
<div
class=
"th_div"
>
<el-form
ref=
"formRef"
:model=
"formInline"
:inline=
"true"
style=
"display: flex; justify-content: center; align-items: center; margin: 0;"
>
<el-form-item
class=
"select-clean"
prop=
"
n
ame"
label-width=
"280px"
style=
"margin: 0;"
>
<el-select
v-model=
"config.
n
ame"
placeholder=
"请选择"
style=
"width:360px; margin-left: 20px;"
>
<el-form-item
class=
"select-clean"
prop=
"
supplyN
ame"
label-width=
"280px"
style=
"margin: 0;"
>
<el-select
v-model=
"config.
supplyN
ame"
placeholder=
"请选择"
style=
"width:360px; margin-left: 20px;"
>
<el-option
label=
"东部供热站"
value=
"东部供热站"
/>
<el-option
label=
"行政区供热站"
value=
"行政区供热站"
/>
<el-option
label=
"福宛里供热站"
value=
"福宛里供热站"
/>
...
...
@@ -255,7 +266,7 @@ onMounted(() => {
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-select
v-model=
"formEnergy.
n
ame"
placeholder=
"请选择"
>
<el-select
v-model=
"formEnergy.
supplyN
ame"
placeholder=
"请选择"
>
<el-option
label=
"东部供热站"
value=
"东部供热站"
/>
<el-option
label=
"行政区供热站"
value=
"行政区供热站"
/>
<el-option
label=
"福宛里供热站"
value=
"福宛里供热站"
/>
...
...
@@ -272,7 +283,7 @@ onMounted(() => {
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-select
v-model=
"formEnergy.
t
ype"
placeholder=
"请选择"
>
<el-select
v-model=
"formEnergy.
energyT
ype"
placeholder=
"请选择"
>
<el-option
label=
"热"
value=
"1"
/>
<el-option
label=
"水"
value=
"2"
/>
<el-option
label=
"电"
value=
"3"
/>
...
...
@@ -292,8 +303,8 @@ onMounted(() => {
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left;"
>
<el-form-item
prop=
"
use
d"
style=
"margin: 0;padding: 0;width: 100%;"
>
<el-input
v-model=
"formEnergy.
use
d"
placeholder=
"请输入能源用度"
/>
<el-form-item
prop=
"
recor
d"
style=
"margin: 0;padding: 0;width: 100%;"
>
<el-input
v-model=
"formEnergy.
recor
d"
placeholder=
"请输入能源用度"
/>
</el-form-item>
</td>
</tr>
...
...
@@ -308,8 +319,8 @@ onMounted(() => {
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td>
<el-form-item
prop=
"
d
ate"
style=
"margin: 0;padding: 0;width: 100%;"
>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-model=
"formEnergy.
d
ate"
type=
"datetime"
placeholder=
"请输入日期"
style=
"width: 100%"
/>
<el-form-item
prop=
"
recordD
ate"
style=
"margin: 0;padding: 0;width: 100%;"
>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-model=
"formEnergy.
recordD
ate"
type=
"datetime"
placeholder=
"请输入日期"
style=
"width: 100%"
/>
</el-form-item>
</td>
</tr>
...
...
src/views/SchedulingPage/PhenomenonPage.vue
View file @
de026362
...
...
@@ -2,7 +2,6 @@
<!-- 条件筛选卡片 -->
<el-card
class=
"card-contianer"
>
<div
class=
"div-header"
>
<el-form-item>
<div>
名称
</div>
</el-form-item>
...
...
@@ -15,7 +14,7 @@
</div>
</el-card>
<el-card
class=
"moduleCard"
:height=
"tableHeight"
>
<el-card
class=
"moduleCard"
:height=
"tableHeight"
style=
"padding: 4px"
>
<el-table
:data=
"tableData"
:height=
"tableHeight"
: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=
"序号"
fixed
/>
...
...
@@ -23,8 +22,12 @@
<el-table-column
prop=
"temperature"
label=
"对应温度"
fixed
/>
<el-table-column
prop=
"desc"
label=
"描述"
fixed
/>
<el-table-column
prop=
"alarmMessage"
label=
"操作"
fixed
>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = true"
>
修改
</el-button>
<el-button
type=
"primary"
>
删除
</el-button>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"dialogFormVisible = true"
>
修改
</el-button>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"del"
>
删除
</el-button>
</el-table-column>
</el-table>
...
...
@@ -51,7 +54,7 @@
<table
cellpadding=
"0"
cellspacing=
"0"
>
<tr>
<td
style=
"text-align: left"
>
<el-select
v-model=
"form.region"
placeholder=
"
please select your zone
"
>
<el-select
v-model=
"form.region"
placeholder=
"
选择天气名称
"
>
<el-option
label=
"阴天"
value=
"阴天"
/>
<el-option
label=
"晴天"
value=
"晴天"
/>
<el-option
label=
"多云"
value=
"多云"
/>
...
...
@@ -108,7 +111,7 @@
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
onMounted
,
onUnmounted
}
from
'vue'
;
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
zhCn
from
'element-plus/dist/locale/zh-cn.mjs'
import
{
useFloating
}
from
"element-plus"
;
//分页设置
...
...
@@ -187,7 +190,29 @@ const form = reactive({
desc
:
''
,
})
const
del
=
()
=>
{
ElMessageBox
.
confirm
(
'您确定要删除此条数据吗?'
,
'警告'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
.
then
(()
=>
{
ElMessage
({
type
:
'success'
,
message
:
'删除成功'
,
})
})
.
catch
(()
=>
{
ElMessage
({
type
:
'info'
,
message
:
'删除取消'
,
})
})
}
</
script
>
<
style
lang=
"less"
scoped
>
.moduleCard {
...
...
src/views/SchedulingPage/WeatherManagePage.vue
0 → 100644
View file @
de026362
<
script
setup
>
import
{
computed
,
isRef
,
onMounted
,
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"
;
import
{
getWeatherMagData
,
alterWeatherMagData
,
getTransfer
}
from
'@/api/scheduling.js'
const
data
=
ref
()
const
currentPage
=
ref
(
1
)
// 当前页码
const
pageSize
=
ref
(
30
)
// 每页显示条数
const
totalData
=
ref
(
0
)
// 数据总条数
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
=
{}
return
css_color
}
const
revise
=
(
row
)
=>
{
// 修改按钮单击事件
dependentSub
.
value
=
row
reviseWindowOpen
.
value
=
true
}
const
bind
=
(
row
)
=>
{
// 绑定按钮单击事件
getTransfer
(
row
.
customizeId
).
then
(
res
=>
{
console
.
log
(
res
)
})
dependentSub
.
value
=
row
bindWindowOpen
.
value
=
true
}
const
confirmRevise
=
val
=>
{
// 修改弹窗确认按钮事件
for
(
let
i
=
0
;
i
<
data
.
value
.
length
;
i
++
)
{
if
(
data
.
value
[
i
].
customizeId
===
val
.
customizeId
)
{
// data.value[i] = {...val}
console
.
log
(
val
)
// alterWeatherMagData(val).then(res => {
// console.log(res)
// console.log("操作结果")
// }).catch(err=>{
// console.log("错误信息",err)
// })
break
}
}
reviseWindowOpen
.
value
=
false
}
const
confirmBind
=
val
=>
{
console
.
log
(
"处理换热站绑定"
)
bindWindowOpen
.
value
=
false
}
onMounted
(()
=>
{
getData
()
})
function
getData
(){
getWeatherMagData
().
then
(
res
=>
{
data
.
value
=
res
.
data
totalData
.
value
=
data
.
value
.
length
console
.
log
(
data
.
value
)
})
}
</
script
>
<
template
>
<div
class=
"weather-manage-container"
>
<el-row>
<el-col
:span=
"15"
left-col
>
</el-col>
<el-col
:span=
"9"
right-col
>
<!--
<el-button
type=
"primary"
@
click=
"reviseWindowOpen = true"
class=
"add-btn"
>
新增
</el-button>
-->
<el-button
type=
"primary"
class=
"add-btn"
>
新增
</el-button>
<el-button
type=
"primary"
>
查询
</el-button>
</el-col>
</el-row>
<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
prop=
"allowPagingId"
label=
"编号"
align=
"center"
width=
"60"
/>
<el-table-column
prop=
"customizeName"
label=
"自定义名称"
width=
"200"
/>
<el-table-column
prop=
"supplyName"
label=
"供热站名称"
width=
"160"
/>
<el-table-column
prop=
"operateTime"
label=
"操作时间"
width=
"210"
/>
<el-table-column
prop=
"isFixed"
label=
"干预模式"
width=
"120"
/>
<el-table-column
prop=
"temperature"
label=
"温度"
width=
"60"
/>
<el-table-column
prop=
"wind"
label=
"风速"
width=
"60"
/>
<el-table-column
prop=
"illumination"
label=
"光照"
width=
"60"
/>
<el-table-column
prop=
"isAuto"
label=
"手自动切换"
width=
"120"
/>
<el-table-column
prop=
"diffPercentage"
label=
"自动偏差百分比"
width=
"170"
/>
<el-table-column
prop=
"timeoutMin"
label=
"验证时间"
width=
"100"
/>
<el-table-column
prop=
"tempRegulation"
label=
"调节温度"
width=
"100"
/>
<el-table-column
prop=
"sort"
label=
"排序"
width=
"60"
/>
<el-table-column
label=
"操作"
width=
"200"
>
<template
#
default=
"scope"
>
<div
class=
"table-operate-column"
>
<!--
<el-link
:underline=
"false"
@
click=
"revise(scope.row)"
type=
"primary"
>
修改
</el-link>
-->
<!--
<el-link
:underline=
"false"
@
click=
"bind(scope.row)"
type=
"primary"
>
绑定换热站
</el-link>
-->
<!--
<el-link
:underline=
"false"
type=
"primary"
>
详情
</el-link>
-->
<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>-->
<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=
"total, sizes, prev, pager, next, jumper"
:total=
"totalData"
@
change=
"getData"
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
>
.weather-manage-container
{
width
:
100%
;
margin
:
4px
;
}
.el-col
[
left-col
]
{
border-right
:
1px
solid
#a6c3e9
;
}
.el-row
{
width
:
100%
;
border
:
1px
solid
#a6c3e9
;
margin
:
5px
0
10px
0
;
}
.el-col
[
right-col
]
{
padding-left
:
10px
;
}
.add-btn
{
margin
:
5px
0
;
}
:deep
(
.table-header-class
)
{
text-align
:
center
;
font-size
:
12px
;
background-color
:
#c4d8f1
!important
;
color
:
#124c6a
;
}
:deep
(
.table-body-class
)
{
font-size
:
12px
;
color
:
black
;
}
.table-wrapper
{
}
.table-operate-column
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.table-operate-column
.el-button
{
font-size
:
12px
;
}
.pagination-wrapper
{
padding
:
5px
;
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
src/views/SchedulingPage/WindManagePage.vue
0 → 100644
View file @
de026362
<
template
>
<!-- 条件筛选卡片 -->
<el-card
class=
"card-contianer"
>
<div
class=
"div-header"
>
<el-form-item>
<div>
级数
</div>
</el-form-item>
<el-form-item
>
<el-select
v-model=
"form.region"
placeholder=
"请选择"
style=
"width: 200px"
>
<el-option
label=
"一级风"
value=
"shanghai"
/>
<el-option
label=
"二级风"
value=
"beijing"
/>
</el-select>
</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"
style=
"padding: 4px;"
>
<el-table
:data=
"tableData"
:height=
"tableHeight"
: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=
"序号"
fixed
/>
<el-table-column
prop=
"magnitude"
label=
"级数"
fixed
/>
<el-table-column
prop=
"temperature"
label=
"对应温度"
fixed
/>
<el-table-column
prop=
"desc"
label=
"描述"
fixed
/>
<el-table-column
prop=
"alarmMessage"
label=
"操作"
fixed
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"dialogFormVisible = true"
>
修改
</el-button>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"del"
>
删除
</el-button>
</el-table-column>
</el-table>
</el-card>
<el-footer
style=
"height: 8px;"
>
<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"
:disabled=
"disabled"
:background=
"background"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
@
size-change=
"getdata"
@
current-change=
"getdata"
class=
"pagination"
/>
</el-config-provider>
</el-footer>
<div
class=
"ams-dialog"
>
<el-dialog
v-model=
"dialogFormVisible"
title=
"天气工况设置修改"
width=
"500"
>
<el-card>
<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-select
v-model=
"form.region"
placeholder=
"选择天气名称"
>
<el-option
label=
"阴天"
value=
"阴天"
/>
<el-option
label=
"晴天"
value=
"晴天"
/>
<el-option
label=
"多云"
value=
"多云"
/>
</el-select>
</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></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></el-input>
</td>
</tr>
</table>
</td>
</tr>
</table>
<template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
保存
</el-button>
<el-button
@
click=
"dialogFormVisible = false"
>
关闭
</el-button>
</div>
</
template
>
</el-card>
</el-dialog>
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
onMounted
,
onUnmounted
}
from
'vue'
;
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
zhCn
from
'element-plus/dist/locale/zh-cn.mjs'
import
{
useFloating
}
from
"element-plus"
;
//分页设置
const
currentPage
=
ref
(
1
)
var
pageSize
=
ref
(
30
)
const
disabled
=
ref
(
false
)
const
background
=
ref
(
false
)
const
total
=
ref
(
1
)
const
tableData
=
ref
([
{
index
:
1
,
magnitude
:
3
,
temperature
:
1.00
.
toFixed
(
2
),
desc
:
'三级风'
},
{
index
:
2
,
magnitude
:
8
,
temperature
:
-
3.00
.
toFixed
(
2
),
desc
:
'八级风'
},
{
index
:
3
,
magnitude
:
6
,
temperature
:
-
1.00
.
toFixed
(
2
),
desc
:
'六级风'
}
]);
const
tableHeight
=
ref
(
500
);
const
sortField
=
reactive
({});
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
;
}
function
handleHeadAddClass
({
column
})
{
if
(
sortField
[
column
.
property
])
{
column
.
order
=
sortField
[
column
.
property
]
}
}
function
setContentHeight
()
{
tableHeight
.
value
=
window
.
innerHeight
-
240
;
}
onMounted
(()
=>
{
window
.
addEventListener
(
'resize'
,
setContentHeight
);
})
onUnmounted
(()
=>
{
window
.
removeEventListener
(
'resize'
,
setContentHeight
);
})
const
dialogFormVisible
=
ref
(
false
)
const
form
=
reactive
({
name
:
''
,
region
:
''
,
date1
:
''
,
date2
:
''
,
delivery
:
false
,
type
:
[],
resource
:
''
,
desc
:
''
,
})
const
del
=
()
=>
{
ElMessageBox
.
confirm
(
'您确定要删除此条数据吗?'
,
'警告'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
)
.
then
(()
=>
{
ElMessage
({
type
:
'success'
,
message
:
'删除成功'
,
})
})
.
catch
(()
=>
{
ElMessage
({
type
:
'info'
,
message
:
'删除取消'
,
})
})
}
</
script
>
<
style
lang=
"less"
scoped
>
.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;
}
.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;
}
.contentBlock {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
overflow: auto;
}
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 {
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
src/views/Scheduling/weatherManageSub/BindWindow.vue
→
src/views/Scheduling
Page
/weatherManageSub/BindWindow.vue
View file @
de026362
...
...
@@ -21,9 +21,7 @@ const emit = defineEmits({
})
const
bindData
=
ref
({})
watchEffect
(()
=>
{
bindData
.
value
.
id
=
props
.
data
.
id
bindData
.
value
.
customName
=
props
.
data
.
customName
bindData
.
value
.
heatingStationName
=
props
.
data
.
heatingStationName
bindData
.
value
=
{...
props
.
data
}
})
const
inputStyle
=
{
color
:
'black'
,
...
...
@@ -64,24 +62,20 @@ const onSubmit = ()=>{
<el-dialog
v-model=
"props.open"
width=
"1000px"
title=
"换热站绑定"
@
close=
"emit('onCancel')"
>
<template
#
header
>
<div
class=
"dialog-custom-header"
>
换热站绑定
</div>
</
template
>
<template
#
default
>
<div
class=
"dialog-content"
>
<el-row
style=
"border-top: #a6c3e9 1px solid"
class=
"not-select-row"
>
<el-col
:span=
"8"
class=
"content-col-label"
>
自定义名称:
</el-col>
<el-col
:span=
"16"
class=
"content-col-value"
>
<el-input
v-model=
"bindData.customName"
style=
"width: 510px"
:input-style=
"inputStyle"
/>
<el-input
v-model=
"bindData.custom
ize
Name"
style=
"width: 510px"
:input-style=
"inputStyle"
/>
</el-col>
</el-row>
<el-row
class=
"not-select-row"
>
<el-col
:span=
"8"
class=
"content-col-label"
>
供热站:
</el-col>
<el-col
:span=
"16"
class=
"content-col-value"
>
<el-select
v-model=
"bindData.
heatingStationName
"
style=
"width: 210px;"
class=
"custom-select"
size=
"small"
>
<el-select
v-model=
"bindData.
supplyName"
placeholder=
"
"
style=
"width: 210px;"
class=
"custom-select"
size=
"small"
>
<el-option
v-for=
"item in heatingStationList"
:key=
"item"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-col>
...
...
src/views/Scheduling/weatherManageSub/ReviseWindow.vue
→
src/views/Scheduling
Page
/weatherManageSub/ReviseWindow.vue
View file @
de026362
...
...
@@ -21,58 +21,44 @@ const emit = defineEmits({
})
const
reviseData
=
ref
({})
watchEffect
(()
=>
{
reviseData
.
value
.
id
=
props
.
data
.
id
reviseData
.
value
.
customName
=
props
.
data
.
customName
reviseData
.
value
.
interventionMode
=
props
.
data
.
interventionMode
reviseData
.
value
.
temperature
=
props
.
data
.
temperature
reviseData
.
value
.
windSpeed
=
props
.
data
.
windSpeed
reviseData
.
value
.
illumination
=
props
.
data
.
illumination
reviseData
.
value
.
sort
=
props
.
data
.
sort
reviseData
.
value
.
switching
=
props
.
data
.
switching
reviseData
.
value
.
deviationPercentage
=
props
.
data
.
deviationPercentage
reviseData
.
value
.
verifyTime
=
props
.
data
.
verifyTime
reviseData
.
value
.
adjustTemperature
=
props
.
data
.
adjustTemperature
reviseData
.
value
=
{...
props
.
data
}
})
const
inputStyle
=
{
color
:
'black'
,
height
:
'24px'
}
const
switching
Model
=
computed
({
const
switching
isAuto
=
computed
({
get
()
{
return
reviseData
.
value
.
switching
===
'自动模式'
return
reviseData
.
value
.
isAuto
===
'自动模式'
},
set
(
newValue
)
{
if
(
newValue
)
{
reviseData
.
value
.
switching
=
'自动模式'
reviseData
.
value
.
isAuto
=
'自动模式'
}
else
{
reviseData
.
value
.
switching
=
'手动模式'
reviseData
.
value
.
isAuto
=
'手动模式'
}
}
})
// 可写计算属性
})
// 可写计算属性
,手动、自动模式切换
</
script
>
<
template
>
<el-dialog
v-model=
"props.open"
width=
"1000px"
title=
"自定义修改"
@
close=
"emit('onCancel')"
>
<template
#
header
>
<div
class=
"dialog-custom-header"
>
自定义修改
</div>
</
template
>
<template
#
default
>
<div
class=
"dialog-content"
>
<el-row
style=
"border-top: #a6c3e9 1px solid"
>
<el-col
:span=
"8"
class=
"content-col-label"
>
自定义名称:
</el-col>
<el-col
:span=
"16"
class=
"content-col-value"
>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.customName"
style=
"width: 510px"
/>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.custom
ize
Name"
style=
"width: 510px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
class=
"content-col-label"
>
干预模式:
</el-col>
<el-col
:span=
"16"
class=
"content-col-value"
>
<el-radio-group
v-model=
"reviseData.i
nterventionMode
"
>
<el-radio-group
v-model=
"reviseData.i
sFixed
"
>
<el-radio
value=
"固定模式"
:style=
"
{marginLeft:'10px'}">固定模式
</el-radio>
<el-radio
value=
"气象仪模式"
:style=
"
{marginLeft:'-15px'}">气象仪模式
</el-radio>
</el-radio-group>
...
...
@@ -87,7 +73,7 @@ const switchingModel = computed({
<el-row>
<el-col
:span=
"8"
class=
"content-col-label"
>
风速:
</el-col>
<el-col
:span=
"16"
class=
"content-col-value"
>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.wind
Speed
"
style=
"width: 510px"
/>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.wind"
style=
"width: 510px"
/>
</el-col>
</el-row>
<el-row>
...
...
@@ -105,21 +91,21 @@ const switchingModel = computed({
<el-row>
<el-col
:span=
"5"
class=
"content-col-label"
>
切换自动模式:
</el-col>
<el-col
:span=
"7"
class=
"content-col-value"
>
<el-checkbox
:style=
"
{marginLeft:'10px'}" v-model="switching
Model
" label="自动模式"/>
<el-checkbox
:style=
"
{marginLeft:'10px'}" v-model="switching
isAuto
" label="自动模式"/>
</el-col>
<el-col
:span=
"5"
class=
"content-col-label"
>
自动偏差百分比(%d):
</el-col>
<el-col
:span=
"7"
class=
"content-col-value"
>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.d
eviation
Percentage"
style=
"width: 240px"
/>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.d
iff
Percentage"
style=
"width: 240px"
/>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"5"
class=
"content-col-label"
>
自动验证循环时间(分钟):
</el-col>
<el-col
:span=
"7"
class=
"content-col-value"
>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.
verifyTime
"
style=
"width: 240px"
/>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.
timeoutMin
"
style=
"width: 240px"
/>
</el-col>
<el-col
:span=
"5"
class=
"content-col-label"
>
自动调节温度(℃):
</el-col>
<el-col
:span=
"7"
class=
"content-col-value"
>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.
adjustTemperature
"
style=
"width: 240px"
/>
<el-input
:input-style=
"inputStyle"
v-model=
"reviseData.
tempRegulation
"
style=
"width: 240px"
/>
</el-col>
</el-row>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment