Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
DC-TOM
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
刘照晖
DC-TOM
Commits
5f81dda4
Commit
5f81dda4
authored
May 27, 2025
by
liuyangyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'lyyDev' into dev
parents
7ae82c56
72878d04
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
358 additions
and
204 deletions
+358
-204
chart.js
src/utils/chart.js
+3
-4
AboutView.vue
src/views/AboutView/AboutView.vue
+181
-53
collectorList.vue
src/views/collectorList/collectorList.vue
+93
-71
chart-line.vue
src/views/collectorList/components/chart-line.vue
+3
-3
suspendManagement.vue
...uipmentManagement/suspendManagement/suspendManagement.vue
+78
-73
No files found.
src/utils/chart.js
View file @
5f81dda4
...
...
@@ -69,10 +69,9 @@ export const getDustLineOption = (xData = [], seriesData = []) => ({
containLabel
:
true
,
},
legend
:
{
data
:
[
"
健康度指数(%)
"
],
data
:
[
"
周期(天数)
"
],
bottom
:
"0%"
,
icon
:
"circle"
,
itemWidth
:
10
,
itemWidth
:
20
,
itemHeight
:
10
,
itemGap
:
10
,
},
...
...
@@ -105,7 +104,7 @@ export const getDustLineOption = (xData = [], seriesData = []) => ({
},
series
:
[
{
name
:
""
,
name
:
"
周期(天数)
"
,
type
:
"line"
,
color
:
"#399DFA"
,
data
:
seriesData
,
...
...
src/views/AboutView/AboutView.vue
View file @
5f81dda4
...
...
@@ -13,7 +13,7 @@
</el-form-item>
<el-form-item
label=
"发生位置"
>
<el-input
v-model=
"formInline.
position
"
v-model=
"formInline.
name
"
placeholder=
"请输入发生位置"
style=
"width: 200px"
clearable
...
...
@@ -21,19 +21,19 @@
</el-form-item>
<el-form-item
label=
"除尘器名称"
>
<el-input
v-model=
"formInline.d
evice
Name"
v-model=
"formInline.d
uster
Name"
placeholder=
"请输入除尘器名称"
style=
"width: 200px"
clearable
/>
</el-form-item>
<el-form-item
label=
"设备类型"
>
<el-select
v-model=
"formInline.
t
ype"
style=
"width: 200px"
>
<el-select
v-model=
"formInline.
deviceT
ype"
style=
"width: 200px"
>
<el-option
v-for=
"i in
dust
List.list"
v-for=
"i in
type
List.list"
:key=
"i"
:label=
"`$
{i.de
viceName
}`"
:value="i.
deviceNo
"
:label=
"`$
{i.de
sc
}`"
:value="i.
code
"
/>
</el-select>
</el-form-item>
...
...
@@ -48,7 +48,7 @@
/>
</el-form-item>
<el-form-item>
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Submi
t"
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Rese
t"
>
重置
</el-button
>
<el-button
type=
"primary"
class=
"search-btn"
@
click=
"onSubmit"
...
...
@@ -64,10 +64,10 @@
</el-form-item>
<br
/>
<el-form-item>
<el-radio-group
v-model=
"formInline.
warnType
"
>
<el-radio-group
v-model=
"formInline.
suspendFlag"
@
change=
"onSubmit
"
>
<el-radio
value=
"1"
>
挂起期间告警
</el-radio>
<el-radio
value=
"
2
"
>
非挂起期间告警
</el-radio>
<el-radio
value=
"
3
"
>
全部告警
</el-radio>
<el-radio
value=
"
0
"
>
非挂起期间告警
</el-radio>
<el-radio
value=
"
2
"
>
全部告警
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
...
...
@@ -76,7 +76,7 @@
<common-table
:data=
"tableData.list"
:columns=
"tableColumns"
:default-page-size=
"
10
"
:default-page-size=
"
pageSize
"
@
pagination-change=
"handlePaginationChange"
:pagination-texts=
"
{
total: '共',
...
...
@@ -89,18 +89,55 @@
<template
#
index=
"
{ $index }">
{{
getIndex
(
$index
)
}}
</
template
>
<!-- <template #deviceName="{ row }">
<span class="health-score" @dblclick="openDialog(row.deviceName)">{{
row.deviceName
}}</span>
</template> -->
<!-- <template #operation="{ row }">
<span class="view-btn" @click="handleView(row)">详情</span>
<span class="edit-btn" @click="handleEdit(row)">编辑</span>
</template> -->
<
template
#
operate=
"{ row }"
>
<span
class=
"health-score"
@
click=
"openDialog(row)"
>
暂挂起
</span>
</
template
>
</common-table>
</div>
</div>
<!-- 设备挂起 -->
<el-dialog
class=
"equWarnDialog"
v-model=
"equDialog"
title=
""
width=
"500px"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
>
<div
class=
"equd_body"
>
<span
>
是否要对
<span
class=
"bold"
>
{{ clickItem.name }}
</span
>
不再告警:
</span
>
<el-form-item>
<el-radio-group
v-model=
"equSubmitInfo.noAlarm"
@
change=
"onSubmit"
>
<el-radio
value=
"1"
>
是
</el-radio>
<el-radio
value=
"0"
>
否
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"开始时间"
>
<el-date-picker
v-model=
"equSubmitInfo.startTime"
type=
"datetime"
placeholder=
"选择开始时间"
/>
</el-form-item>
<el-form-item
label=
"结束时间"
>
<el-date-picker
v-model=
"equSubmitInfo.endTime"
type=
"datetime"
placeholder=
"选择结束时间"
/>
</el-form-item>
</div>
<
template
#
footer
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"equDialog = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"equPending"
>
确认
</el-button>
</span>
</
template
>
</el-dialog>
</div>
</template>
...
...
@@ -108,19 +145,22 @@
import
{
ref
,
onMounted
,
onBeforeUnmount
,
computed
,
reactive
}
from
"vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
getDataFun
,
postDataJSON
}
from
"@/request/method.js"
;
import
moment
from
"moment"
;
const
router
=
useRouter
();
const
formInline
=
ref
({
eventName
:
""
,
deviceName
:
""
,
position
:
""
,
type
:
""
,
name
:
""
,
dusterName
:
""
,
deviceType
:
""
,
suspendFlag
:
"2"
,
date
:
""
,
warnType
:
"3"
,
});
const
currentPage
=
ref
(
1
);
const
pageSize
=
ref
(
10
);
const
pageSize
=
ref
(
20
);
const
equDialog
=
ref
(
false
);
const
tableColumns
=
ref
([
{
...
...
@@ -129,42 +169,42 @@ const tableColumns = ref([
width
:
"5%"
,
},
{
prop
:
"
device
Name"
,
prop
:
"
event
Name"
,
label
:
"事件名称"
,
width
:
"9%"
,
},
{
prop
:
"
compart
"
,
prop
:
"
name
"
,
label
:
"发生位置"
,
width
:
"9%"
,
},
{
prop
:
"
position
"
,
prop
:
"
deviceType
"
,
label
:
"设备类型"
,
width
:
"9%"
,
},
{
prop
:
"
changeDateRemind
"
,
prop
:
"
alarmIndicators
"
,
label
:
"告警指标"
,
width
:
"9%"
,
},
{
prop
:
"
changeDat
e"
,
prop
:
"
valu
e"
,
label
:
"监测值"
,
width
:
"9%"
,
},
{
prop
:
"
changePeo
"
,
prop
:
"
eventTime
"
,
label
:
"告警时间"
,
width
:
"9%"
,
},
{
prop
:
"
ownerdeviceName
"
,
prop
:
"
isSuspendAlarm
"
,
label
:
"是否挂起期间告警"
,
width
:
"9%"
,
},
{
prop
:
"
lastAlarmTim
e"
,
prop
:
"
operat
e"
,
label
:
"操作"
,
width
:
"10%"
,
},
...
...
@@ -182,30 +222,22 @@ const tableData = reactive({
ownerdeviceName
:
"xx"
,
lastAlarmTime
:
"xx"
,
changeRound
:
"xx"
,
operate
:
"挂起"
,
},
],
});
const
dust
List
=
reactive
({
const
type
List
=
reactive
({
list
:
[],
});
const
getDustList
=
()
=>
{
dustList
.
list
=
[
{
deviceName
:
"1#除尘器"
,
deviceNo
:
"11111"
,
},
{
deviceName
:
"2#除尘器"
,
deviceNo
:
"22222"
,
},
{
deviceName
:
"3#除尘器"
,
deviceNo
:
"333333"
,
},
];
const
getTypeList
=
()
=>
{
const
url
=
"/alarm/getDeviceType"
;
return
getDataFun
(
url
,
""
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
typeList
.
list
=
res
.
data
||
[];
}
});
};
getDustList
();
const
getIndex
=
(
index
)
=>
{
return
(
currentPage
.
value
-
1
)
*
pageSize
.
value
+
index
+
1
;
...
...
@@ -214,18 +246,103 @@ const getIndex = (index) => {
const
handlePaginationChange
=
(
pagination
)
=>
{
currentPage
.
value
=
pagination
.
currentPage
;
pageSize
.
value
=
pagination
.
pageSize
;
console
.
log
(
"分页变化"
,
pagination
);
getAlarmList
(
);
};
const
onSubmit
=
()
=>
{
console
.
log
(
"submit!"
,
formInline
.
value
);
getAlarmList
();
};
const
onReset
=
()
=>
{
formInline
.
value
=
{
eventName
:
""
,
name
:
""
,
dusterName
:
""
,
deviceType
:
""
,
suspendFlag
:
"2"
,
date
:
[],
};
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
getAlarmList
();
};
const
openRound
=
()
=>
{
router
.
push
({
path
:
"/management/suspend-management"
});
};
onMounted
(
async
()
=>
{});
const
clickItem
=
ref
({});
const
openDialog
=
(
item
)
=>
{
clickItem
.
value
=
item
;
equDialog
.
value
=
true
;
};
const
getAlarmList
=
()
=>
{
const
url
=
"/alarm/getAlarmListPage"
;
const
params
=
{
eventName
:
formInline
.
value
.
eventName
,
name
:
formInline
.
value
.
name
,
dusterName
:
formInline
.
value
.
dusterName
,
deviceType
:
formInline
.
value
.
deviceType
,
suspendFlag
:
formInline
.
value
.
suspendFlag
,
startTime
:
formInline
.
value
.
date
[
0
]
?
moment
(
new
Date
(
formInline
.
value
.
date
[
0
]).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
endTime
:
formInline
.
value
.
date
[
1
]
?
moment
(
new
Date
(
formInline
.
value
.
date
[
1
]).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
pageNo
:
currentPage
.
value
,
pageSize
:
pageSize
.
value
,
};
return
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
tableData
.
list
=
res
.
data
.
list
||
[];
}
else
{
return
[];
}
});
};
const
equSubmitInfo
=
ref
({
noAlarm
:
"0"
,
startTime
:
""
,
endTime
:
""
,
});
const
equPending
=
()
=>
{
const
url
=
"/alarm/suspendDevice"
;
const
params
=
{
id
:
clickItem
.
value
.
id
,
noAlarm
:
equSubmitInfo
.
value
.
noAlarm
,
startTime
:
equSubmitInfo
.
value
.
startTime
?
moment
(
new
Date
(
equSubmitInfo
.
value
.
startTime
).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
endTime
:
equSubmitInfo
.
value
.
endTime
?
moment
(
new
Date
(
equSubmitInfo
.
value
.
endTime
).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
};
return
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
tableData
.
list
=
res
.
data
.
list
||
[];
}
else
{
return
[];
}
});
};
onMounted
(
async
()
=>
{
getTypeList
();
getAlarmList
();
});
onBeforeUnmount
(()
=>
{});
</
script
>
...
...
@@ -427,5 +544,16 @@ onBeforeUnmount(() => {});
background-color
:
#fef0f0
;
}
}
.equWarnDialog
{
.equd_body
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
.bold
{
font-weight
:
bold
;
}
}
}
}
</
style
>
src/views/collectorList/collectorList.vue
View file @
5f81dda4
...
...
@@ -5,7 +5,7 @@
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item
label=
"仓室"
>
<el-input
v-model=
"formInline.
deviceName
"
v-model=
"formInline.
compart
"
placeholder=
"请输入仓室名称"
style=
"width: 180px"
clearable
...
...
@@ -13,7 +13,7 @@
</el-form-item>
<el-form-item
label=
"除尘器名称"
>
<el-input
v-model=
"formInline.d
evice
Name"
v-model=
"formInline.d
uster
Name"
placeholder=
"请输入除尘器名称"
style=
"width: 180px"
clearable
...
...
@@ -30,7 +30,7 @@
/>
</el-form-item>
<el-form-item>
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Submi
t"
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Rese
t"
>
重置
</el-button
>
<el-button
type=
"primary"
class=
"search-btn"
@
click=
"onSubmit"
...
...
@@ -50,7 +50,7 @@
<common-table
:data=
"tableData.list"
:columns=
"tableColumns"
:default-page-size=
"
1
0"
:default-page-size=
"
2
0"
@
pagination-change=
"handlePaginationChange"
:pagination-texts=
"
{
total: '共',
...
...
@@ -63,9 +63,9 @@
<template
#
index=
"
{ $index }">
{{
getIndex
(
$index
)
}}
</
template
>
<
template
#
d
evice
Name=
"{ row }"
>
<span
class=
"health-score"
@
dblclick=
"openDialog(row.d
evice
Name)"
>
{{
row
.
d
evice
Name
<
template
#
d
uster
Name=
"{ row }"
>
<span
class=
"health-score"
@
dblclick=
"openDialog(row.d
uster
Name)"
>
{{
row
.
d
uster
Name
}}
</span>
</
template
>
<!-- <template #operation="{ row }">
...
...
@@ -95,8 +95,8 @@
<el-option
v-for=
"i in dustList.list"
:key=
"i"
:label=
"`${i.d
evice
Name}`"
:value=
"i.d
evice
No"
:label=
"`${i.d
uster
Name}`"
:value=
"i.d
uster
No"
/>
</el-select>
</div>
...
...
@@ -118,16 +118,19 @@
<
script
setup
>
import
{
ref
,
onMounted
,
onBeforeUnmount
,
computed
,
reactive
}
from
"vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
{
getToken
,
removeToken
,
setToken
}
from
"@/utils/auth"
;
import
chartLine
from
"./components/chart-line.vue"
;
import
{
getDataFun
,
postDataJSON
}
from
"@/request/method.js"
;
import
moment
from
"moment"
;
const
formInline
=
ref
({
compart
:
""
,
dusterName
:
""
,
date
:
""
,
date
:
[
""
,
""
]
,
});
const
currentPage
=
ref
(
1
);
const
pageSize
=
ref
(
1
0
);
const
pageSize
=
ref
(
2
0
);
const
dustLineisShow
=
ref
(
false
);
const
tableColumns
=
ref
([
...
...
@@ -137,7 +140,7 @@ const tableColumns = ref([
width
:
"5%"
,
},
{
prop
:
"d
evice
Name"
,
prop
:
"d
uster
Name"
,
label
:
"除尘器名称"
,
width
:
"8%"
,
},
...
...
@@ -147,37 +150,32 @@ const tableColumns = ref([
width
:
"8%"
,
},
{
prop
:
"
posi
tion"
,
prop
:
"
bagLoca
tion"
,
label
:
"布袋位置(排/列)"
,
width
:
"8%"
,
},
{
prop
:
"
changeDateRemind
"
,
prop
:
"
bagChangeNextTime
"
,
label
:
"布袋更换提醒时间"
,
width
:
"8%"
,
},
{
prop
:
"
changeDat
e"
,
prop
:
"
bagChangeTim
e"
,
label
:
"更换时间"
,
width
:
"8%"
,
},
{
prop
:
"
changePeo
"
,
prop
:
"
bagChangeAuthor
"
,
label
:
"更换人"
,
width
:
"8%"
,
},
{
prop
:
"
ownerdevice
Name"
,
prop
:
"
duster
Name"
,
label
:
"所属除尘器"
,
width
:
"8%"
,
},
{
prop
:
"lastAlarmTime"
,
label
:
"布袋更换提醒时间"
,
width
:
"10%"
,
},
{
prop
:
"changeRound"
,
prop
:
"bagChangePeriod"
,
label
:
"更换周期(与上次更换比)"
,
width
:
"6%"
,
},
...
...
@@ -199,39 +197,64 @@ const tableData = reactive({
],
});
const
getAllDustList
=
()
=>
{
const
url
=
"/bag/cycle/getReplaceListPage"
;
console
.
log
(
formInline
.
value
.
date
);
const
params
=
{
compart
:
formInline
.
value
.
compart
,
dusterName
:
formInline
.
value
.
dusterName
,
startTime
:
formInline
.
value
.
date
[
0
]
?
moment
(
new
Date
(
formInline
.
value
.
date
[
0
]).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
endTime
:
formInline
.
value
.
date
[
1
]
?
moment
(
new
Date
(
formInline
.
value
.
date
[
1
]).
getTime
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
:
""
,
pageNo
:
currentPage
.
value
,
pageSize
:
pageSize
.
value
,
customerId
:
getToken
(
"customerId"
),
};
return
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
tableData
.
list
=
res
.
data
.
records
||
[];
}
else
{
return
[];
}
});
};
const
selectDustNo
=
ref
(
""
);
const
dustList
=
reactive
({
list
:
[],
});
const
getHealthScoreColor
=
(
score
)
=>
{
const
value
=
parseInt
(
score
);
if
(
value
>=
90
)
return
"#67C23A"
;
if
(
value
>=
70
)
return
"#E6A23C"
;
return
"#F56C6C"
;
};
const
getIndex
=
(
index
)
=>
{
return
(
currentPage
.
value
-
1
)
*
pageSize
.
value
+
index
+
1
;
};
const
handleView
=
(
row
)
=>
{
console
.
log
(
"查看详情"
,
row
);
};
const
handleEdit
=
(
row
)
=>
{
console
.
log
(
"编辑"
,
row
);
};
const
handlePaginationChange
=
(
pagination
)
=>
{
currentPage
.
value
=
pagination
.
currentPage
;
pageSize
.
value
=
pagination
.
pageSize
;
console
.
log
(
"分页变化"
,
pagination
);
getAllDustList
(
);
};
const
onSubmit
=
()
=>
{
console
.
log
(
"submit!"
,
formInline
.
value
);
getAllDustList
();
};
const
onReset
=
()
=>
{
formInline
.
value
=
{
compart
:
""
,
dusterName
:
""
,
date
:
[
""
,
""
],
};
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
getAllDustList
();
};
const
dustLineInfo
=
reactive
({
list
:
[{}]
});
...
...
@@ -242,49 +265,48 @@ const openDialog = (deviceName) => {
};
const
getDustList
=
()
=>
{
return
[
{
deviceName
:
"1#除尘器"
,
deviceNo
:
"11111"
,
},
{
deviceName
:
"2#除尘器"
,
deviceNo
:
"22222"
,
},
{
deviceName
:
"3#除尘器"
,
deviceNo
:
"333333"
,
},
];
const
url
=
"/bag/cycle/getDusterList"
;
return
getDataFun
(
url
,
""
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
return
res
.
data
;
}
else
{
return
[];
}
});
};
const
getDustListInfo
=
()
=>
{
return
[
{
time
:
"1"
,
value
:
"20"
},
{
time
:
"2"
,
value
:
"30"
},
{
time
:
"4"
,
value
:
"40"
},
{
time
:
"8"
,
value
:
"45"
},
{
time
:
"10"
,
value
:
"15"
},
{
time
:
"周期"
,
value
:
"20"
},
];
const
getDustInfo
=
()
=>
{
const
url
=
"/bag/cycle/getReplaceAnalysis"
;
const
params
=
{
dusterNo
:
selectDustNo
.
value
,
};
return
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
return
res
.
data
;
}
else
{
return
[];
}
});
};
const
changeDust
=
(
device
Name
)
=>
{
dustList
.
list
=
getDustList
();
if
(
d
evice
Name
)
{
const
changeDust
=
async
(
duster
Name
)
=>
{
dustList
.
list
=
await
getDustList
();
if
(
d
uster
Name
)
{
dustList
.
list
.
forEach
((
i
)
=>
{
if
(
i
.
d
eviceName
==
device
Name
)
{
selectDustNo
.
value
=
i
.
d
evice
No
;
if
(
i
.
d
usterName
==
duster
Name
)
{
selectDustNo
.
value
=
i
.
d
uster
No
;
}
});
}
else
{
selectDustNo
.
value
=
dustList
.
list
[
0
].
d
evice
No
||
""
;
selectDustNo
.
value
=
dustList
.
list
[
0
].
d
uster
No
||
""
;
}
let
list
=
getDustLi
stInfo
();
let
list
=
await
getDu
stInfo
();
dustLineInfo
.
list
=
list
;
};
onMounted
(
async
()
=>
{});
onMounted
(
async
()
=>
{
getAllDustList
();
});
onBeforeUnmount
(()
=>
{});
</
script
>
...
...
src/views/collectorList/components/chart-line.vue
View file @
5f81dda4
...
...
@@ -25,8 +25,8 @@ const initChart = () => {
let
seriesData
=
[];
if
(
props
.
dustLineInfo
)
{
props
.
dustLineInfo
.
forEach
((
i
)
=>
{
xData
.
push
(
i
.
t
ime
);
seriesData
.
push
(
i
.
value
);
xData
.
push
(
i
.
replaceT
ime
);
seriesData
.
push
(
i
.
period
);
});
}
chartInstance
=
echarts
.
init
(
chartDustRef
.
value
);
...
...
@@ -49,7 +49,6 @@ watch(
);
onMounted
(()
=>
{
initChart
();
window
.
addEventListener
(
"resize"
,
()
=>
{
chartInstance
?.
resize
();
});
...
...
@@ -62,6 +61,7 @@ onBeforeUnmount(() => {
<
style
lang=
"scss"
scoped
>
.chart-line
{
margin-top
:
20px
;
canvas
{
width
:
100%
;
height
:
100%
;
...
...
src/views/equipmentManagement/suspendManagement/suspendManagement.vue
View file @
5f81dda4
...
...
@@ -4,38 +4,38 @@
<div
class=
"search"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item
label=
"项目名称"
>
<el-select
v-model=
"formInline.
name
"
style=
"width: 200px"
>
<el-select
v-model=
"formInline.
projectId
"
style=
"width: 200px"
>
<el-option
v-for=
"i in nameList.list"
:key=
"i"
:label=
"`$
{i.
label
}`"
:value="i.
value
"
:label=
"`$
{i.
name
}`"
:value="i.
id
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"设备类别"
>
<el-select
v-model=
"formInline.
t
ype"
style=
"width: 200px"
>
<el-select
v-model=
"formInline.
deviceT
ype"
style=
"width: 200px"
>
<el-option
v-for=
"i in typeList.list"
:key=
"i"
:label=
"`$
{i.
label
}`"
:value="i.
valu
e"
:label=
"`$
{i.
desc
}`"
:value="i.
cod
e"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"原因分类"
>
<el-select
v-model=
"formInline.reason"
style=
"width: 200px"
>
<el-select
v-model=
"formInline.reason
Category
"
style=
"width: 200px"
>
<el-option
v-for=
"i in reasonList.list"
:key=
"i"
:label=
"`$
{i.
label
}`"
:value="i.
value
"
:label=
"`$
{i.
value
}`"
:value="i.
key
"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Submi
t"
<el-button
type=
"default"
class=
"default-btn"
@
click=
"on
Rese
t"
>
重置
</el-button
>
<el-button
type=
"primary"
class=
"search-btn"
@
click=
"onSubmit"
...
...
@@ -79,18 +79,16 @@
<
script
setup
>
import
{
ref
,
onMounted
,
onBeforeUnmount
,
computed
,
reactive
}
from
"vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
{
getDataFun
,
postDataJSON
}
from
"@/request/method.js"
;
const
formInline
=
ref
({
eventName
:
""
,
deviceName
:
""
,
position
:
""
,
type
:
""
,
date
:
""
,
warnType
:
"3"
,
projectId
:
""
,
deviceType
:
""
,
reasonCategory
:
""
,
});
const
currentPage
=
ref
(
1
);
const
pageSize
=
ref
(
1
0
);
const
pageSize
=
ref
(
2
0
);
const
tableColumns
=
ref
([
{
...
...
@@ -99,62 +97,62 @@ const tableColumns = ref([
width
:
"5%"
,
},
{
prop
:
"
device
Name"
,
prop
:
"
project
Name"
,
label
:
"项目名称"
,
width
:
"7%"
,
},
{
prop
:
"
compart
"
,
prop
:
"
deviceNo
"
,
label
:
"设备编号"
,
width
:
"7%"
,
},
{
prop
:
"
position
"
,
prop
:
"
deviceType
"
,
label
:
"设备类型"
,
width
:
"7%"
,
},
{
prop
:
"
changeDateRemind
"
,
prop
:
"
deviceName
"
,
label
:
"设备名称"
,
width
:
"7%"
,
},
{
prop
:
"
changeDate
"
,
prop
:
"
signalNo
"
,
label
:
"设备信号编号"
,
width
:
"7%"
,
},
{
prop
:
"
changePeo
"
,
prop
:
"
location
"
,
label
:
"设备所在位置"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceNa
me"
,
prop
:
"
suspendStartTi
me"
,
label
:
"挂起开始时间"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceNa
me"
,
prop
:
"
suspendEndTi
me"
,
label
:
"结束时间"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceName
"
,
prop
:
"
reasonCategory
"
,
label
:
"原因分类"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceName
"
,
prop
:
"
reasonDesc
"
,
label
:
"原因描述"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceNa
me"
,
prop
:
"
createTi
me"
,
label
:
"创建时间"
,
width
:
"7%"
,
},
{
prop
:
"
ownerdeviceName
"
,
prop
:
"
createUser
"
,
label
:
"创建人"
,
width
:
"7%"
,
},
...
...
@@ -184,61 +182,39 @@ const tableData = reactive({
const
nameList
=
reactive
({
list
:
[],
});
const
getNameList
=
()
=>
{
nameList
.
list
=
[
{
label
:
"1#除尘器"
,
value
:
"11111"
,
},
{
label
:
"2#除尘器"
,
value
:
"22222"
,
},
{
label
:
"3#除尘器"
,
value
:
"333333"
,
},
];
const
url
=
"/alarm/getProjectEnumList"
;
return
getDataFun
(
url
,
""
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
nameList
.
list
=
res
.
data
||
[];
}
});
};
const
typeList
=
reactive
({
list
:
[],
});
const
getTypeList
=
()
=>
{
typeList
.
list
=
[
{
label
:
"1#除尘器"
,
value
:
"11111"
,
},
{
label
:
"2#除尘器"
,
value
:
"22222"
,
},
{
label
:
"3#除尘器"
,
value
:
"333333"
,
},
];
const
url
=
"/alarm/getDeviceType"
;
return
getDataFun
(
url
,
""
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
typeList
.
list
=
res
.
data
||
[];
}
});
};
const
reasonList
=
reactive
({
list
:
[],
});
const
getReasonList
=
()
=>
{
reasonList
.
list
=
[
{
label
:
"1#除尘器"
,
value
:
"11111"
,
},
{
label
:
"2#除尘器"
,
value
:
"22222"
,
},
{
label
:
"3#除尘器"
,
value
:
"333333"
,
},
];
const
url
=
"/alarm/reasonCategoryEnumList"
;
return
getDataFun
(
url
,
""
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
reasonList
.
list
=
res
.
data
||
[];
}
});
};
const
getIndex
=
(
index
)
=>
{
...
...
@@ -248,17 +224,46 @@ const getIndex = (index) => {
const
handlePaginationChange
=
(
pagination
)
=>
{
currentPage
.
value
=
pagination
.
currentPage
;
pageSize
.
value
=
pagination
.
pageSize
;
console
.
log
(
"分页变化"
,
pagination
);
getManagementList
(
);
};
const
onSubmit
=
()
=>
{
console
.
log
(
"submit!"
,
formInline
.
value
);
getManagementList
();
};
const
onReset
=
()
=>
{
formInline
.
value
=
{
deviceType
:
""
,
reasonCategory
:
""
,
projectId
:
""
,
};
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
getManagementList
();
};
const
getManagementList
=
()
=>
{
const
url
=
"/alarm/getSuspendDeviceListPage"
;
const
params
=
{
deviceType
:
formInline
.
value
.
deviceType
,
reasonCategory
:
formInline
.
value
.
reasonCategory
,
projectId
:
formInline
.
value
.
projectId
,
pageNo
:
currentPage
.
value
,
pageSize
:
pageSize
.
value
,
};
tableData
.
list
=
[];
return
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
data
)
{
tableData
.
list
=
res
.
data
.
list
||
[];
}
});
};
onMounted
(
async
()
=>
{
getNameList
();
getTypeList
();
getReasonList
();
getManagementList
();
});
onBeforeUnmount
(()
=>
{});
...
...
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