Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yindong-tongbai-automation
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lichunliang
yindong-tongbai-automation
Commits
2c241633
Commit
2c241633
authored
Jul 09, 2025
by
lei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add:提升机后台管理
parent
36bbea09
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1116 additions
and
258 deletions
+1116
-258
sys.js
src/api/tyler/sys.js
+16
-21
wd-bg2.png
src/assets/images/screen/dlxt/wd-bg2.png
+0
-0
dlxt.vue
src/views/Screen/items/dlxt.vue
+33
-0
index.vue
src/views/hoistSys/hoistCollection/index.vue
+321
-0
index.vue
src/views/hoistSys/hoistStatusSys/index.vue
+155
-0
index.vue
src/views/hoistSys/realtimeDataofHoist/index.vue
+208
-0
index.vue
src/views/power/powerEquipment/index.vue
+309
-0
index.vue
src/views/system/waterSysSet/index.vue
+74
-237
No files found.
src/api/tyler/sys.js
View file @
2c241633
import
request
from
'
@/utils/request
'
// 自动化控制
密码修改
export
function
autoPwdEdit
(
query
)
{
// 自动化控制
状态和频率
export
function
getStatusFre
(
query
)
{
return
request
({
url
:
'
/business/p
assword/edi
t
'
,
method
:
'
pos
t
'
,
url
:
'
/business/p
eak/selec
t
'
,
method
:
'
ge
t
'
,
data
:
query
})
}
//排水系统设置峰谷
返回值
export
function
peakGetDra
(
query
)
{
//排水系统设置峰谷
export
function
getStatusIntervalTimeList
(
query
)
{
return
request
({
url
:
'
/business/peak/get
Dra
'
,
url
:
'
/business/peak/get
StatusIntervalTimeList
'
,
method
:
'
get
'
,
data
:
query
})
}
export
function
peakEditDra
(
query
)
{
return
request
({
url
:
'
/business/peak/add
'
,
method
:
'
post
'
,
data
:
query
})
}
//报警短信设置
export
function
messageGetList
(
query
)
{
//获取水仓设置
export
function
getStatusIntervalNumList
(
query
)
{
return
request
({
url
:
'
/business/
message/l
ist
'
,
url
:
'
/business/
peak/getStatusIntervalNumL
ist
'
,
method
:
'
get
'
,
data
:
query
})
}
export
function
messageEdit
(
query
)
{
//修改自动化排水系统参数
export
function
updateSysSet
(
query
)
{
return
request
({
url
:
'
/business/
message/add
'
,
url
:
'
/business/
peak/update
'
,
method
:
'
post
'
,
data
:
query
})
}
src/assets/images/screen/dlxt/
温湿度
-bg2.png
→
src/assets/images/screen/dlxt/
wd
-bg2.png
View file @
2c241633
File moved
src/views/Screen/items/dlxt.vue
View file @
2c241633
...
...
@@ -49,6 +49,11 @@
</p>
</div>
</div>
<!--温度-->
<div
class=
"dlxt-wd"
>
<p>
温度:33.20℃
</p>
<p>
湿度:51.00%RH
</p>
</div>
</div>
<div
class=
"dlxt-bg dlxt-bg2"
v-show=
"showBtn === 2"
>
<!--电柜布局-->
...
...
@@ -93,6 +98,11 @@
</p>
</div>
</div>
<!--温度-->
<div
class=
"dlxt-wd"
>
<p>
温度:33.20℃
</p>
<p>
湿度:51.00%RH
</p>
</div>
</div>
</div>
</div>
...
...
@@ -2140,6 +2150,29 @@ p {
.dlxt-tit-db13
{
left
:
1915px
;
}
.dlxt-wd
{
width
:
285px
;
height
:
130px
;
background
:
url("~@/assets/images/screen/dlxt/wd-bg2.png")
no-repeat
center
;
background-size
:
100%
;
position
:
absolute
;
top
:
30px
;
left
:
620px
;
/* 新增以下居中样式 */
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
p
{
font-weight
:
400
;
font-size
:
24px
;
color
:
#f0ff01
;
/* 原text-align可以移除,因为flex容器已控制对齐 */
width
:
100%
;
/* 确保文本容器宽度充满父元素 */
text-align
:
center
;
/* 双重保障 */
}
}
}
.dlxt-bg1
{
background
:
url("~@/assets/images/screen/dlxt/bg2.png")
no-repeat
center
;
...
...
src/views/hoistSys/hoistCollection/index.vue
0 → 100644
View file @
2c241633
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
prop=
"deviceName"
>
<el-input
v-model=
"queryParams.deviceName"
placeholder=
"请输入采集设备名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
>
修改
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
>
删除
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"infoList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"采集项名称"
align=
"center"
prop=
"deviceName"
/>
<el-table-column
label=
"寄存器位置"
align=
"center"
prop=
"deviceId"
/>
<el-table-column
label=
"数据类型"
align=
"center"
prop=
"installationLocation"
/>
<el-table-column
label=
"单位"
align=
"center"
prop=
"powerSupplyVoltage"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改风机基本信息对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"150px"
>
<el-form-item
label=
"采集项名称"
prop=
"deviceName"
>
<el-input
v-model=
"form.deviceName"
placeholder=
"请输入风机名称"
/>
</el-form-item>
<el-form-item
label=
"寄存器位置"
prop=
"deviceId"
>
<el-input
v-model=
"form.deviceId"
placeholder=
"请输入风机编号"
/>
</el-form-item>
<el-form-item
label=
"数据类型"
prop=
"installationLocation"
>
<el-input
v-model=
"form.installationLocation"
placeholder=
""
/>
</el-form-item>
<el-form-item
label=
"单位"
prop=
"installationLocation"
>
<el-input
v-model=
"form.installationLocation"
placeholder=
""
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getFanInfo
,
listFanInfo
,
addFanInfo
,
updateFanInfo
,
delFanInfo
,
}
from
"
@/api/tyler/fanDev
"
;
export
default
{
name
:
"
Info
"
,
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 风机基本信息表格数据
infoList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
deviceName
:
null
,
deviceId
:
null
,
installationLocation
:
null
,
powerSupplyVoltage
:
null
,
motorCurrent
:
null
,
operatingFrequency
:
null
,
setFrequency
:
null
,
windPressure
:
null
,
windSpeed
:
null
,
airVolume
:
null
,
frontAxisTemperature
:
null
,
rearAxisTemperature
:
null
,
motorTemperature
:
null
,
frontVibration
:
null
,
rearVibration
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
id
:
[{
required
:
true
,
message
:
"
id不能为空
"
,
trigger
:
"
blur
"
}],
deviceName
:
[
{
required
:
true
,
message
:
"
风机名称不能为空
"
,
trigger
:
"
blur
"
},
],
deviceId
:
[
{
required
:
true
,
message
:
"
风机编号不能为空
"
,
trigger
:
"
blur
"
},
],
},
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询风机基本信息列表 */
getList
()
{
this
.
loading
=
true
;
listFanInfo
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
infoList
=
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
deviceName
:
null
,
deviceId
:
null
,
installationLocation
:
null
,
powerSupplyVoltage
:
null
,
motorCurrent
:
null
,
operatingFrequency
:
null
,
setFrequency
:
null
,
windPressure
:
null
,
windSpeed
:
null
,
airVolume
:
null
,
frontAxisTemperature
:
null
,
rearAxisTemperature
:
null
,
motorTemperature
:
null
,
frontVibration
:
null
,
rearVibration
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加风机基本信息
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
;
getFanInfo
(
id
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改风机基本信息
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateFanInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addFanInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除风机基本信息编号为"
'
+
ids
+
'
"的数据项?
'
)
.
then
(
function
()
{
return
delFanInfo
(
ids
);
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
})
.
catch
(()
=>
{});
},
},
};
</
script
>
src/views/hoistSys/hoistStatusSys/index.vue
0 → 100644
View file @
2c241633
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"状态名称"
>
<el-select
v-model=
"queryParams.cageSection"
style=
"width: 240px"
placeholder=
"请选择状态名称"
clearable
>
<el-option
v-for=
"item in deviceName"
:key=
"item.id"
:label=
"item.cageSection"
:value=
"item.id"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-date-picker
v-model=
"dateRange"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-divider
content-position=
"left"
>
运行实时状态
</el-divider>
<el-table
:data=
"dataList"
style=
"width: 100%"
border
size=
"mini"
:row-key=
"getRowKey"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"状态名称"
align=
"center"
prop=
"mainSpeed"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"coderSpeed"
/>
<el-table-column
label=
"时间"
align=
"center"
prop=
"slaveSpeed"
/>
</el-table>
</div>
</
template
>
<
script
>
import
{
queryHoistHisData
,
listHoistSelectData
}
from
"
@/api/tyler/hoistSys
"
;
export
default
{
name
:
"
Data
"
,
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 提升机历史数据表格数据
dataList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
cageSection
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
id
:
[{
required
:
true
,
message
:
"
$comment不能为空
"
,
trigger
:
"
blur
"
}],
cageSection
:
[
{
required
:
true
,
message
:
"
罐笼所在中段不能为空
"
,
trigger
:
"
blur
"
},
],
},
deviceName
:
[],
dateRange
:
[],
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询提升机历史数据列表 */
getList
()
{
this
.
loading
=
true
;
queryHoistHisData
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)
).
then
((
response
)
=>
{
this
.
dataList
=
[];
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{};
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
cageSection
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
},
};
</
script
>
src/views/hoistSys/realtimeDataofHoist/index.vue
0 → 100644
View file @
2c241633
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
""
>
<el-date-picker
v-model=
"dateRange"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<!--
<el-table
v-loading=
"loading"
:data=
"dataList"
>
<el-table-column
label=
"主控速度m/s"
align=
"center"
prop=
"mainSpeed"
/>
<el-table-column
label=
"编码器速度m/s"
align=
"center"
prop=
"coderSpeed"
/>
<el-table-column
label=
"给定速度m/s"
align=
"center"
prop=
"givenSpeed"
/>
<el-table-column
label=
"从编码器速度m/s"
align=
"center"
prop=
"slaveSpeed"
/>
<el-table-column
label=
"主罐位置m"
align=
"center"
prop=
"position"
/>
<el-table-column
label=
"位置偏差m"
align=
"center"
prop=
"locationDeviation"
/>
<el-table-column
label=
"电枢电流A"
align=
"center"
prop=
"motorCurrent"
/>
<el-table-column
label=
"磁场电流A"
align=
"center"
prop=
"runningPressure"
/>
<el-table-column
label=
"运行油压MPa"
align=
"center"
prop=
"controlPosition"
/>
<el-table-column
label=
"记录时间"
align=
"center"
prop=
"recordedAt"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
recordedAt
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
-->
<el-row
:gutter=
"20"
>
<el-col
:span=
"14"
>
<el-divider
content-position=
"left"
>
运行实时数据
</el-divider>
<el-table
:data=
"dataList"
style=
"width: 100%"
border
size=
"mini"
:row-key=
"getRowKey"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"运行数据项"
align=
"center"
prop=
"mainSpeed"
/>
<el-table-column
label=
"值"
align=
"center"
prop=
"coderSpeed"
/>
<el-table-column
label=
"单位"
align=
"center"
prop=
"givenSpeed"
/>
<el-table-column
label=
"时间"
align=
"center"
prop=
"slaveSpeed"
/>
</el-table>
</el-col>
<el-col
:span=
"10"
>
<el-divider
content-position=
"left"
>
运行实时状态
</el-divider>
<el-table
:data=
"dataList"
style=
"width: 100%"
border
size=
"mini"
:row-key=
"getRowKey"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"状态名称"
align=
"center"
prop=
"mainSpeed"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"coderSpeed"
/>
<el-table-column
label=
"时间"
align=
"center"
prop=
"slaveSpeed"
/>
</el-table>
</el-col>
</el-row>
</div>
</template>
<
script
>
import
{
queryHoistHisData
,
listHoistSelectData
}
from
"
@/api/tyler/hoistSys
"
;
export
default
{
name
:
"
Data
"
,
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 提升机历史数据表格数据
dataList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
cageSection
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
id
:
[{
required
:
true
,
message
:
"
$comment不能为空
"
,
trigger
:
"
blur
"
}],
cageSection
:
[
{
required
:
true
,
message
:
"
罐笼所在中段不能为空
"
,
trigger
:
"
blur
"
},
],
},
deviceName
:
[],
dateRange
:
[],
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询提升机历史数据列表 */
getList
()
{
this
.
loading
=
true
;
queryHoistHisData
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)
).
then
((
response
)
=>
{
this
.
dataList
=
[];
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{};
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
cageSection
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
},
};
</
script
>
src/views/power/powerEquipment/index.vue
0 → 100644
View file @
2c241633
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
prop=
"deviceName"
>
<el-input
v-model=
"queryParams.deviceName"
placeholder=
"请输入采集设备名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
>
修改
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
>
删除
</el-button
>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"infoList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"变电站名称"
align=
"center"
prop=
"deviceName"
/>
<el-table-column
label=
"电箱名称"
align=
"center"
prop=
"deviceId"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改风机基本信息对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"150px"
>
<el-form-item
label=
"变电站名称"
prop=
"deviceName"
>
<el-input
v-model=
"form.deviceName"
placeholder=
"请输入风机名称"
/>
</el-form-item>
<el-form-item
label=
"电箱名称"
prop=
"deviceId"
>
<el-input
v-model=
"form.deviceId"
placeholder=
"请输入风机编号"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getFanInfo
,
listFanInfo
,
addFanInfo
,
updateFanInfo
,
delFanInfo
,
}
from
"
@/api/tyler/fanDev
"
;
export
default
{
name
:
"
Info
"
,
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 风机基本信息表格数据
infoList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
deviceName
:
null
,
deviceId
:
null
,
installationLocation
:
null
,
powerSupplyVoltage
:
null
,
motorCurrent
:
null
,
operatingFrequency
:
null
,
setFrequency
:
null
,
windPressure
:
null
,
windSpeed
:
null
,
airVolume
:
null
,
frontAxisTemperature
:
null
,
rearAxisTemperature
:
null
,
motorTemperature
:
null
,
frontVibration
:
null
,
rearVibration
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
id
:
[{
required
:
true
,
message
:
"
id不能为空
"
,
trigger
:
"
blur
"
}],
deviceName
:
[
{
required
:
true
,
message
:
"
风机名称不能为空
"
,
trigger
:
"
blur
"
},
],
deviceId
:
[
{
required
:
true
,
message
:
"
风机编号不能为空
"
,
trigger
:
"
blur
"
},
],
},
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询风机基本信息列表 */
getList
()
{
this
.
loading
=
true
;
listFanInfo
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
infoList
=
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
deviceName
:
null
,
deviceId
:
null
,
installationLocation
:
null
,
powerSupplyVoltage
:
null
,
motorCurrent
:
null
,
operatingFrequency
:
null
,
setFrequency
:
null
,
windPressure
:
null
,
windSpeed
:
null
,
airVolume
:
null
,
frontAxisTemperature
:
null
,
rearAxisTemperature
:
null
,
motorTemperature
:
null
,
frontVibration
:
null
,
rearVibration
:
null
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加风机基本信息
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
;
getFanInfo
(
id
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改风机基本信息
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateFanInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addFanInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除风机基本信息编号为"
'
+
ids
+
'
"的数据项?
'
)
.
then
(
function
()
{
return
delFanInfo
(
ids
);
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
})
.
catch
(()
=>
{});
},
},
};
</
script
>
src/views/system/waterSysSet/index.vue
View file @
2c241633
...
...
@@ -16,26 +16,9 @@
</div>
</el-card>
<!-- 峰谷值时间段设置 -->
<el-card>
<el-card
v-if=
"formData.status === '1'"
>
<div
class=
"section"
>
<h3>
设置峰谷值时间段
</h3>
<!--
<el-table
:data=
"timeperiodList"
size=
"mini"
>
<el-table-column
label=
"时间段(24小时)"
prop=
"timePeriod"
width=
"120"
align=
"center"
></el-table-column>
<el-table-column
label=
"选择峰谷平期"
width=
"300"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-radio-group
v-model=
"scope.row.value"
size=
"mini"
>
<el-radio
label=
"0"
>
峰时段
</el-radio>
<el-radio
label=
"1"
>
谷时段
</el-radio>
<el-radio
label=
"2"
>
平时段
</el-radio>
</el-radio-group>
</
template
>
</el-table-column>
</el-table>
-->
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
...
...
@@ -45,7 +28,7 @@
<el-table
:data=
"group"
size=
"mini"
>
<el-table-column
label=
"时间段"
width=
"120"
align=
"center"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
timePeriod
}}
{{
scope
.
row
.
name
}}
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -55,13 +38,13 @@
>
<
template
slot-scope=
"scope"
>
<el-radio-group
v-model=
"scope.row.
valu
e"
v-model=
"scope.row.
peakValleyFlatTim
e"
size=
"mini"
v-removeAriaHidden
>
<el-radio
label=
"0
"
>
峰时段
</el-radio>
<el-radio
label=
"1
"
>
谷时段
</el-radio>
<el-radio
label=
"2
"
>
平时段
</el-radio>
<el-radio
:label=
"1
"
>
峰时段
</el-radio>
<el-radio
:label=
"2
"
>
谷时段
</el-radio>
<el-radio
:label=
"3
"
>
平时段
</el-radio>
</el-radio-group>
</
template
>
</el-table-column>
...
...
@@ -73,63 +56,32 @@
<!-- 液体高度设置 -->
<div
class=
"section"
>
<h3
style=
"margin-bottom: 20px"
>
设置液体高度
</h3>
<el-row>
<el-row
v-for=
"(item, index) in list"
:key=
"'sumpName' + index"
>
<el-col
:span=
"3"
class=
"flex-center"
style=
"height: 40px"
>
七中水池液位高度(m):
</el-col>
<el-col
:span=
"18"
>
<el-form-item
label=
"上限值"
prop=
"waterLevel"
>
<el-input
v-model=
"formData.waterLevel"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"平点值"
prop=
"waterLevel"
>
<el-input
v-model=
"formData.waterLevel"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"谷点值"
prop=
"waterLevel"
>
<el-input
v-model=
"formData.waterLevel"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"下限值"
prop=
"waterLevel"
>
<el-input
v-model=
"formData.waterLevel"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"3"
class=
"flex-center"
style=
"height: 40px"
>
二中水仓液位高度(m):
{{ item.sumpName }}水池液位高度(m):
</el-col>
<el-col
:span=
"18"
>
<el-form-item
label=
"上限值"
prop=
"waterLevel"
>
<el-form-item
label=
"上限值"
>
<el-input
v-model=
"
formData.waterLevel
"
v-model=
"
item.heghtThresholdA
"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"平点值"
prop=
"waterLevel"
>
<el-form-item
label=
"平点值"
>
<el-input
v-model=
"
formData.waterLevel
"
v-model=
"
item.heghtThresholdB
"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"谷点值"
prop=
"waterLevel"
>
<el-form-item
label=
"谷点值"
>
<el-input
v-model=
"
formData.waterLevel
"
v-model=
"
item.heghtThresholdC
"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
<el-form-item
label=
"下限值"
prop=
"waterLevel"
>
<el-form-item
label=
"下限值"
>
<el-input
v-model=
"
formData.waterLevel
"
v-model=
"
item.heghtThresholdD
"
placeholder=
"请输入水位高度"
></el-input>
</el-form-item>
...
...
@@ -141,36 +93,30 @@
设置水仓水位采集频率:
</el-col>
<el-col
:span=
"18"
class=
"flex-align"
>
<el-form-item
prop=
"waterLevel"
style=
"margin-bottom: 0"
>
<el-input
v-model=
"formData.waterLevel"
></el-input>
<el-form-item
style=
"margin-bottom: 0"
>
<el-input
v-model=
"formData.waterLevel
Interval
"
></el-input>
</el-form-item>
<span
class=
"unit-text"
>
分钟
</span>
</el-col>
</el-row>
<el-row>
<el-row
v-for=
"(item, index) in list"
:key=
"'sumpName1' + index"
>
<el-col
:span=
"3"
class=
"flex-center"
style=
"height: 40px"
>
设置
二中
水仓液位下降值:
设置
{{ item.sumpName }}
水仓液位下降值:
</el-col>
<el-col
:span=
"18"
class=
"flex-align"
>
<el-form-item
prop=
"waterLevel"
style=
"margin-bottom: 0"
>
<el-input
v-model=
"formData.waterLevel"
></el-input>
</el-form-item>
<span
class=
"unit-text"
>
CM
</span>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"3"
class=
"flex-center"
style=
"height: 40px"
>
设置七中水仓液位下降值:
</el-col>
<el-col
:span=
"18"
class=
"flex-align"
>
<el-form-item
prop=
"waterLevel"
style=
"margin-bottom: 0"
>
<el-input
v-model=
"formData.waterLevel"
></el-input>
<el-form-item
style=
"margin-bottom: 0"
>
<el-input
v-model=
"item.declineNum"
@
input=
"handleInputChange($event, index)"
></el-input>
</el-form-item>
<span
class=
"unit-text"
>
CM
</span>
</el-col>
</el-row>
</div>
</el-card>
<el-card
v-else
>
自动化控制已关闭
</el-card>
<el-card>
<!-- 按钮区域 -->
<div
class=
"button-group"
>
<el-button
@
click=
"handleCancel"
>
取消
</el-button>
...
...
@@ -196,7 +142,12 @@
</template>
<
script
>
import
{
peakGetDra
,
peakEditDra
}
from
"
@/api/tyler/sys
"
;
import
{
getStatusFre
,
getStatusIntervalTimeList
,
getStatusIntervalNumList
,
updateSysSet
,
}
from
"
@/api/tyler/sys
"
;
export
default
{
name
:
"
AutomationControl
"
,
...
...
@@ -208,109 +159,14 @@ export default {
peakBeginTime
:
""
,
peakEndTime
:
""
,
draPeakSumpVos
:
[],
waterLevelInterval
:
""
,
},
rules
:
{},
timeRange
:
[],
title
:
"
液位高度设置说明:
"
,
timeperiodList
:
[
{
timePeriod
:
"
00:00-01:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
01:00-02:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
02:00-03:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
03:00-04:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
04:00-05:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
05:00-06:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
06:00-07:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
07:00-08:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
08:00-09:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
09:00-10:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
10:00-11:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
11:00-12:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
12:00-13:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
13:00-14:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
14:00-15:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
15:00-16:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
16:00-17:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
17:00-18:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
18:00-19:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
19:00-20:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
20:00-21:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
21:00-22:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
22:00-23:00
"
,
value
:
"
0
"
,
},
{
timePeriod
:
"
23:00-24:00
"
,
value
:
"
0
"
,
},
],
timeperiodList
:
[],
list
:
[],
};
},
created
()
{
...
...
@@ -318,72 +174,53 @@ export default {
},
methods
:
{
getList
()
{
peakGetDra
().
then
((
res
)
=>
{
const
data
=
res
.
data
;
// 保存原始水泵顺序
this
.
originalPumpOrder
=
new
Map
();
data
.
draPeakSumpVos
.
forEach
((
sump
,
sumpIndex
)
=>
{
this
.
originalPumpOrder
.
set
(
sumpIndex
,
sump
.
draPeakPumpVos
.
map
((
p
)
=>
p
.
pumpId
)
);
});
// 处理数据时保持原始顺序
data
.
draPeakSumpVos
=
data
.
draPeakSumpVos
.
map
((
sump
,
sumpIndex
)
=>
{
const
orderedPumps
=
[];
const
originalOrder
=
this
.
originalPumpOrder
.
get
(
sumpIndex
);
// 按照原始顺序重新排列水泵
originalOrder
.
forEach
((
pumpId
)
=>
{
const
found
=
sump
.
draPeakPumpVos
.
find
((
p
)
=>
p
.
pumpId
===
pumpId
);
if
(
found
)
{
orderedPumps
.
push
({
...
found
,
pumpStatus
:
parseInt
(
found
.
pumpStatus
,
10
),
});
//处理三个接口获取数据
getStatusFre
().
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
formData
.
status
=
res
.
data
.
draStatus
;
this
.
formData
.
waterLevelInterval
=
res
.
data
.
waterLevelInterval
;
}
});
return
{
...
sump
,
draPeakPumpVos
:
orderedPumps
,
};
getStatusIntervalTimeList
().
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
timeperiodList
=
res
.
rows
;
}
});
this
.
formData
=
data
;
this
.
timeRange
=
[
data
.
peakBeginTime
,
data
.
peakEndTime
];
getStatusIntervalNumList
().
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
list
=
res
.
rows
.
map
((
item
)
=>
({
...
item
,
// 确保包含所有需要的字段
declineNum
:
item
.
declineNum
||
""
,
// 新增字段初始化
heghtThresholdA
:
item
.
heghtThresholdA
||
""
,
heghtThresholdB
:
item
.
heghtThresholdB
||
""
,
heghtThresholdC
:
item
.
heghtThresholdC
||
""
,
heghtThresholdD
:
item
.
heghtThresholdD
||
""
,
}));
}
});
},
handleStatusChange
(
value
)
{
console
.
log
(
"
自动化控制状态已切换为:
"
,
value
);
},
handleTimeRangeChange
(
value
)
{
if
(
value
&&
value
.
length
===
2
)
{
this
.
formData
.
peakBeginTime
=
value
[
0
];
this
.
formData
.
peakEndTime
=
value
[
1
];
}
},
handleCancel
()
{
this
.
getList
();
// 重新获取数据重置表单
},
handleSave
()
{
// 深拷贝时保持数组顺序
const
postData
=
{
...
this
.
formData
,
draPeakSumpVos
:
this
.
formData
.
draPeakSumpVos
.
map
((
sump
)
=>
({
...
sump
,
draPeakPumpVos
:
sump
.
draPeakPumpVos
.
map
((
pump
)
=>
({
...
pump
,
pumpStatus
:
pump
.
pumpStatus
.
toString
(),
})),
})),
const
param
=
{
status
:
this
.
formData
.
status
,
waterLevelInterval
:
this
.
formData
.
waterLevelInterval
,
draPeakTimeList
:
this
.
timeperiodList
,
draPeakNumList
:
this
.
list
,
};
peakEditDra
(
postData
).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
设置保存成功
"
);
updateSysSet
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
({
message
:
"
修改成功
"
,
type
:
"
success
"
,
});
this
.
getList
();
}
});
},
setDis
()
{
...
...
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