Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
multiSystem
Project
Project
Details
Activity
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
Yulun Yao
multiSystem
Commits
84a87405
Commit
84a87405
authored
Apr 06, 2021
by
Gakki
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
ssh://git.omniview.pro:256/fangdi/housemanage/web/majorproject
into dev
parents
131d61df
56494319
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2631 additions
and
23 deletions
+2631
-23
documentsRoutes.json
src/router/documentsRoutes.json
+15
-15
routes.js
src/router/routes.js
+4
-0
api.js
src/server/api.js
+2
-0
dashBoard.vue
src/views/dashBoard.vue
+947
-0
home copy.vue
src/views/home copy.vue
+1552
-0
ComplaintsTrain.vue
src/views/home/ComplaintsTrain.vue
+77
-5
shebei.vue
src/views/houseData/shebei.vue
+34
-3
No files found.
src/router/documentsRoutes.json
View file @
84a87405
...
@@ -63,47 +63,47 @@
...
@@ -63,47 +63,47 @@
]
]
},
},
{
{
"path"
:
"/documents/fiveSearch"
,
"name"
:
"fiveSearch"
,
"path"
:
"/documents/fiveSearch"
,
"name"
:
"fiveSearch"
,
"meta"
:
{
"title"
:
"物业五查"
,
"menuPath"
:
true
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
true
},
"meta"
:
{
"title"
:
"物业五查"
,
"menuPath"
:
true
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
true
},
"children"
:
[
"children"
:
[
{
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList"
,
"name"
:
"managerSelfCheckList"
,
"path"
:
"/documents/fiveSearch/managerSelfCheckList"
,
"name"
:
"managerSelfCheckList"
,
"meta"
:
{
"title"
:
"小区经理自查"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"小区经理自查"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
"children"
:
[
{
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckList"
,
"name"
:
"managerCheckList"
,
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckList"
,
"name"
:
"managerCheckList"
,
"meta"
:
{
"title"
:
"小区经理自查检查单列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"小区经理自查检查单列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
},
{
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckInfo"
,
"name"
:
"managerCheckInfo"
,
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckInfo"
,
"name"
:
"managerCheckInfo"
,
"meta"
:
{
"title"
:
"小区经理自查检查单详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"小区经理自查检查单详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
},
{
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerAllIn"
,
"name"
:
"allIn"
,
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
}
]
]
},
},
{
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList"
,
"name"
:
"doubleWeekCheckList"
,
"path"
:
"/documents/fiveSearch/doubleWeekCheckList"
,
"name"
:
"doubleWeekCheckList"
,
"meta"
:
{
"title"
:
"物企双周查"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"物企双周查"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
"children"
:
[
{
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckList"
,
"name"
:
"doubleCheckList"
,
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckList"
,
"name"
:
"doubleCheckList"
,
"meta"
:
{
"title"
:
"物企双周查列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"物企双周查列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
},
{
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckInfo"
,
"name"
:
"doubleCheckInfo"
,
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckInfo"
,
"name"
:
"doubleCheckInfo"
,
"meta"
:
{
"title"
:
"物企双周查详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"物企双周查详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
},
{
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleAllIn"
,
"name"
:
"allIn"
,
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
}
]
]
},
},
{
{
"path"
:
"/documents/fiveSearch/mutableList"
,
"name"
:
"mutableList"
,
"path"
:
"/documents/fiveSearch/mutableList"
,
"name"
:
"mutableList"
,
"meta"
:
{
"title"
:
"整改单列表"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"整改单列表"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
"children"
:
[
{
{
...
@@ -112,8 +112,8 @@
...
@@ -112,8 +112,8 @@
}
}
]
]
},
},
{
{
"path"
:
"/documents/fiveSearch/monthList"
,
"name"
:
"month"
,
"path"
:
"/documents/fiveSearch/monthList"
,
"name"
:
"month"
,
"meta"
:
{
"title"
:
"房办月查"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"房办月查"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
"children"
:
[
{
{
...
@@ -121,7 +121,7 @@
...
@@ -121,7 +121,7 @@
"meta"
:
{
"title"
:
"房办月查小区列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"房办月查小区列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
"children"
:
[
{
{
"path"
:
"/documents/fiveSearch/monthList/monthListSect/monthInfo"
,
"name"
:
"monthInfo"
,
"path"
:
"/documents/fiveSearch/monthList/monthListSect/monthInfo"
,
"name"
:
"monthInfo"
,
"meta"
:
{
"title"
:
"检查详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"检查详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
}
]
]
...
...
src/router/routes.js
View file @
84a87405
...
@@ -27,6 +27,10 @@ const appRoutes = [
...
@@ -27,6 +27,10 @@ const appRoutes = [
path
:
'/portal-home'
,
name
:
'home'
,
component
:
resolve
=>
require
([
'@/views/home'
],
resolve
),
//Home,
path
:
'/portal-home'
,
name
:
'home'
,
component
:
resolve
=>
require
([
'@/views/home'
],
resolve
),
//Home,
meta
:
{
title
:
'首页'
},
meta
:
{
title
:
'首页'
},
},
},
{
path
:
'/dashBoard'
,
name
:
'dashBoard'
,
component
:
resolve
=>
require
([
'@/views/dashBoard'
],
resolve
),
//Home,
meta
:
{
title
:
'首页'
},
},
{
path
:
'/person'
,
name
:
'person'
,
component
:
resolve
=>
require
([
'@/views/person-center'
],
resolve
),
//PersonCenter,
{
path
:
'/person'
,
name
:
'person'
,
component
:
resolve
=>
require
([
'@/views/person-center'
],
resolve
),
//PersonCenter,
meta
:
{
title
:
'个人中心'
},
meta
:
{
title
:
'个人中心'
},
},
},
...
...
src/server/api.js
View file @
84a87405
...
@@ -204,4 +204,6 @@ export default {
...
@@ -204,4 +204,6 @@ export default {
GET_LABEL_LIST
:
MOCK_URL
+
'/service-customkey-ddd/labels'
,
// 获取标签列表
GET_LABEL_LIST
:
MOCK_URL
+
'/service-customkey-ddd/labels'
,
// 获取标签列表
GET_FB_WY_MANAGE_CHECK
:
'/service-documents-ddd/checkOrder/dahboard/countDatas'
,
//首页-房办月查-物业双周查-经理自查
}
}
src/views/dashBoard.vue
0 → 100644
View file @
84a87405
<
template
>
<div
id=
"home"
class=
"layoutPadding"
>
<a-row
type=
"flex"
class=
"align-stretch"
style=
""
>
<a-col
:span=
"24"
>
<a-row
type=
"flex"
style=
"height:100%;"
>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin-right:10px;"
>
<a-row>
<a-col
:span=
'7'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
小区数
</p>
<span
class=
"top-count"
>
{{
baseData
.
community
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'12'
>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px; padding-bottom: 5px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
本月新增 :
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
2
}}
</span>
</a-col>
</a-row>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px;padding-top: 10px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
本月注销 :
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
3
}}
</span>
</a-col>
</a-row>
</a-col>
<a-col
:span=
'1'
/>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<img
src=
"@/assets/icon/xqs.png"
style=
"width:50px;"
alt=
""
>
</div>
</a-col>
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'7'
>
商品 :
{{
332
}}
</a-col>
<a-col
:span=
'7'
>
直管 :
{{
224
}}
</a-col>
<a-col
:span=
'10'
>
保障及其他 :
{{
321
}}
</a-col>
</a-row>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin-right:10px;"
>
<a-row>
<a-col
:span=
'7'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
门牌幢
</p>
<span
class=
"top-count"
>
{{
baseData
.
building
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'12'
>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px; padding-bottom: 5px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
本月增加 :
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
0
}}
</span>
</a-col>
</a-row>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px;padding-top: 10px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
本月注销 :
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
4
}}
</span>
</a-col>
</a-row>
</a-col>
<a-col
:span=
'1'
/>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<img
src=
"@/assets/icon/mpzs.png"
style=
"width:50px;"
alt=
""
>
</div>
</a-col>
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
有电梯 :
{{
332
}}
</a-col>
</a-row>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin-right:10px;"
>
<a-row>
<a-col
:span=
'7'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
物业企业
</p>
<span
class=
"top-count"
>
{{
baseData
.
company
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'12'
/>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<img
src=
"@/assets/icon/wyqys.png"
style=
"width:50px;"
alt=
""
>
</div>
</a-col>
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
区属物业 :
{{
111
}}
</a-col>
<a-col
:span=
'12'
>
本市注册 :
{{
222
}}
</a-col>
</a-row>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
""
>
<a-row>
<a-col
:span=
'7'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
业委会
</p>
<span
class=
"top-count"
>
{{
baseData
.
ic
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'12'
/>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<img
src=
"@/assets/icon/ywhs.png"
style=
"width:50px;"
alt=
""
>
</div>
</a-col>
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
近五个月到期 :
{{
11
}}
</a-col>
<a-col
:span=
'12'
>
已过期 :
{{
5
}}
</a-col>
</a-row>
</div>
</a-col>
</a-row>
</a-col>
</a-row>
<a-row
class=
"align-stretch"
style=
"margin-top:10px;"
>
<a-col
:span=
"6"
>
<div
class=
"month"
>
<div
class=
"home-card monthTitle"
>
<span>
房办月查
</span>
<span>
{{
parseInt
(((
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifiedCount
/
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifyCount
)
*
100
))
}}
%
</span>
</div>
<div
class=
"home-card monthBox"
>
<p
class=
"monthBoxTitle"
>
今年完成情况
</p>
<div
class=
"monthBoxContent"
>
<div
class=
"hoverTest"
v-for=
"item in FB_month"
:key=
"item.name"
>
<div
@
click=
"checkMonth(item)"
:class=
"'monthImg blue '"
:style=
"`background:$
{item.backgroundColor}; color:${item.color}`">
{{
item
.
name
}}
<div
class=
"monthHover"
@
click=
"hoverMonth(item)"
>
<div>
<span>
明细
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"home-card monthBottom"
>
<span>
整改执行
</span>
<span
style=
"fontSize:13px"
><span
class=
"monthBottomNum"
>
{{
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifiedCount
}}
/
</span>
{{
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifyCount
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"month"
>
<div
class=
"home-card monthTitle"
>
<span>
物企双周查
</span>
<span>
{{
parseInt
(((
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifiedCount
/
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifyCount
)
*
100
))
}}
%
</span>
</div>
<div
class=
"home-card monthBox"
>
<p
class=
"monthBoxTitle"
>
今年完成情况
</p>
<div
class=
"monthBoxContent"
>
<div
class=
"hoverTest"
v-for=
"item in WQ_month"
:key=
"item.name"
>
<div
@
click=
"checkMonth(item)"
:class=
"'monthImg blue '"
:style=
"`background:$
{item.backgroundColor}; color:${item.color}`">
{{
item
.
name
}}
<div
class=
"monthHover"
@
click=
"hoverMonth(item)"
>
<div>
<span>
明细
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"home-card monthBottom"
>
<span>
整改执行
</span>
<span
style=
"fontSize:13px"
><span
class=
"monthBottomNum"
>
{{
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifiedCount
}}
/
</span>
{{
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifyCount
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"month"
style=
"height:100%"
>
<div
class=
"home-card monthTitle"
>
<span>
物业经理自查
</span>
</div>
<div
class=
"home-card monthBox"
>
<p
class=
"monthBoxTitle"
>
{{
!
showMonthOrYear
?
'本月'
:
'今年'
}}
完成情况
<span
@
click=
"showMonthOrYear=!showMonthOrYear"
style=
"float:right;fontSize:12px;cursor:pointer;color:rgb(80,150,250)"
>
切换今年
</span></p>
<div
class=
"monthBoxContent"
v-show=
"showMonthOrYear"
>
<div
class=
"hoverTest"
v-for=
"item in manager_month"
:key=
"item.name"
>
<div
@
click=
"checkMonth(item)"
:class=
"'monthImg blue'"
:style=
"`background:$
{item.backgroundColor}; color:${item.color}`">
{{
item
.
name
}}
<div
class=
"monthHover"
@
click=
"hoverMonth(item)"
>
<div>
<span>
明细
</span>
</div>
</div>
</div>
</div>
</div>
<div
v-show=
"!showMonthOrYear"
class=
"calendar"
>
<!--
<a-calendar
id=
"calendar"
:validRange=
"validRange"
:fullscreen=
"false"
/>
-->
<table
border=
0
style=
"width:100%;height:100%;text-align:center;marginTop:10px"
>
<thead>
<tr>
<th>
周一
</th>
<th>
周二
</th>
<th>
周三
</th>
<th>
周四
</th>
<th>
周五
</th>
<th>
周六
</th>
<th>
周日
</th>
</tr>
</thead>
<tbody
ref=
'calendar'
>
</tbody>
</table>
</div>
</div>
<div
class=
"home-card monthBottom"
>
<span>
整改执行
</span>
<span
style=
"fontSize:13px"
><span
class=
"monthBottomNum"
>
{{
secRowInfos
.
COMMUNITY_MANAGER_YEAR
.
count
.
rectifiedCount
}}
/
</span>
{{
secRowInfos
.
COMMUNITY_MANAGER_YEAR
.
count
.
rectifyCount
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"sec-right"
>
<div
style=
""
>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"home-card middle-right"
@
click=
"$router.push(
{path: '/houseData/basicInfo'})">
<img
src=
"@/assets/icon/xqda.png"
style=
"width:40px;margin:0 10%"
alt=
""
>
<p
style=
"color:rgb(80,150,250)"
>
小区档案
</p>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
>
<div
class=
"home-card middle-right"
@
click=
"$router.push(
{path: '/houseData/propertyInfo'})">
<img
src=
"@/assets/icon/wyqyda.png"
style=
"width:40px;margin:0 10%"
alt=
""
>
<p
style=
"color:rgb(80,150,250)"
>
物业企业档案
</p>
</div>
</a-col>
</a-row>
</div>
<div
style=
"flex:1;marginTop:10px; display:flex;flex-direction:column"
class=
"home-card"
>
<div
class=
"home-card"
style=
"border-bottom:1px solid #ccc;font-weight:550;"
>
<span>
专项检查
</span>
</div
>
<div
style=
"flex:1;display:flex;flex-direction:column;justify-content:space-around;paddingLeft:10%;font-weight:600;fontSize:15px"
>
<div
style=
""
>
<span
><img
src=
"@/assets/icon/yyzt.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已有主题
</span>
<span
style=
"float:right;paddingRight:50px;color:rgb(80,150,250)"
>
{{
theme
}}
</span>
</div>
<div>
<span
><img
src=
"@/assets/icon/ywcjcxq.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已完成小区
</span>
<span
style=
"float:right;paddingRight:50px;color:rgb(80,150,250)"
>
{{
sect
}}
</span>
</div>
<div>
<span
><img
src=
"@/assets/icon/zt.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已开整改单
</span>
<span
style=
"float:right;paddingRight:50px;color:rgb(80,150,250)"
>
{{
receipts
}}
</span>
</div>
<div>
<span
><img
src=
"@/assets/icon/zt.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已完成整改
</span>
<span
style=
"float:right;paddingRight:50px;color:rgb(80,150,250)"
>
0
</span>
</div>
</div>
</div>
</div>
</a-col>
</a-row>
<a-row
class=
"align-stretch"
style=
"margin-top:10px;"
>
<a-col
:span=
"12"
style=
"marginRight:10px"
>
<div
class=
"home-card"
style=
"margin-top:10px;"
>
<ComplaintsTrain
moduletitle=
"投诉问题"
/>
</div>
</a-col>
<a-col
:span=
"12"
>
<div
class=
"home-card"
style=
"margin-top:10px;"
>
<ComplaintsTrain
moduletitle=
"报修"
/>
</div>
</a-col>
</a-row>
</div>
</
template
>
<
script
>
import
ComplaintsTrain
from
'@/views/home/ComplaintsTrain'
import
qs
from
'qs'
import
axios
from
'axios'
export
default
{
name
:
'HomePage'
,
components
:
{
ComplaintsTrain
},
data
()
{
return
{
sect
:
0
,
//已完成小区
theme
:
0
,
//已有主题
receipts
:
0
,
//已开整改单
baseData
:
{},
showMonthOrYear
:
false
,
date
:
new
Date
(),
titleData
:
{},
openConfig
:
false
,
disposal
:
{},
nowMonth
:
'本月'
,
checkStreet
:
0
,
totStreet
:
0
,
FB_month
:
[
{
name
:
'1月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
],
WQ_month
:
[
{
name
:
'1月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
],
manager_month
:
[
{
name
:
'1月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
],
expired
:
0
,
secRowInfos
:
{},
}
},
mounted
(){
this
.
getFBCheck
()
this
.
getCheckData
()
this
.
getSectNum
()
this
.
getbaseInfo
()
this
.
getReceiptsNum
()
},
updated
(){
this
.
$nextTick
(()
=>
{
this
.
myCanlendar
()
})
},
computed
:
{
validRange
(){
//限制日历只展示当前月的日期
let
year
=
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
let
month
=
+
this
.
$moment
(
new
Date
()).
format
(
'MM'
)
let
last
=
''
let
start
=
year
+
'-'
+
month
+
'-01'
let
arr1
=
[
1
,
3
,
5
,
7
,
8
,
10
,
12
]
let
arr2
=
[
4
,
6
,
9
,
11
]
if
(
arr1
.
indexOf
(
month
)
!=-
1
)
{
last
=
year
+
'-'
+
month
+
'-31'
}
else
if
(
arr2
.
indexOf
(
month
)
!=-
1
){
last
=
year
+
'-'
+
month
+
'-30'
}
else
if
(
String
((
year
/
4
)).
indexOf
(
'.'
)
!=-
1
){
last
=
year
+
'-'
+
month
+
'-28'
}
else
{
last
=
year
+
'-'
+
month
+
'-29'
}
return
[
this
.
$moment
(
start
),
this
.
$moment
(
last
)]
}
},
methods
:
{
//日历组件
myCanlendar
(){
let
dateArr
=
[...
this
.
$moment
(
new
Date
()).
format
(
'YYYY-MM-DD'
).
split
(
'-'
)]
// console.log('获取当前日期:'dateArr)
// 获取当前月对应的最大天数
let
maxDayObj
=
new
Date
(
dateArr
[
0
],
dateArr
[
1
],
0
)
let
maxDay
=
maxDayObj
.
getDate
()
// console.log('当前月对应的最大天数:'+maxDay)
// 获取当前日期第一天对应周几
let
firstDayObj
=
new
Date
(
dateArr
[
0
],
dateArr
[
1
]
-
1
,
1
)
let
firstDay
=
firstDayObj
.
getDay
()
firstDay
=
firstDay
==
0
?
7
:
firstDay
// console.log('获取当前日期第一天对应周几:'+firstDay)
// 打印表格
let
spaceOnce
=
true
let
tab
=
'<tr>'
for
(
let
i
=
1
;
i
<=
maxDay
;
i
++
){
// 打印最前面的空格子,确保只打印一次
if
(
firstDay
>
0
&&
spaceOnce
){
for
(
let
j
=
1
;
j
<
firstDay
;
j
++
){
tab
+=
'<td> </td>'
}
spaceOnce
=
false
}
let
info
=
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
]
let
color
=
'rgb(226,235,245)'
if
(
info
)
{
if
(
info
.
rectifiedCount
/
info
.
rectifyCount
<
0.9
)
{
color
=
'#CC4D4D'
}
else
if
(
info
.
rectifiedCount
/
info
.
rectifyCount
==
1
||
info
.
rectifyCount
==
0
)
{
color
=
'#6EB629'
}
else
{
color
=
'#FFD400'
}
}
tab
+=
'<td style="border-radius:20%;text-align:center;border:4px solid #fff;background:'
+
color
+
'">'
+
i
+
'</td>'
if
((
i
-
(
8
-
firstDay
))
%
7
==
0
){
tab
+=
'</tr><tr>'
}
/*
如果某月的第一天是周日,那么格子总数会有42个,反之35个就够了,这里按42个打印
// 打印最后几个空格子, tbody总共应有42个格子,-天数 -前面的空格子
*/
let
lastSpace
=
42
-
maxDay
-
(
firstDay
-
1
)
// console.log('最后总共有空格:'+lastSpace+',倒数第二行空格:'+(lastSpace-7))
if
(
i
==
maxDay
&&
lastSpace
>
0
){
for
(
let
k
=
0
;
k
<
lastSpace
;
k
++
){
tab
+=
'<td> </td>'
// 减7是计算倒数第二行最后有几个空格,然后换下一行.
if
((
lastSpace
-
7
)
>
0
&&
k
+
1
==
(
lastSpace
-
7
))
tab
+=
'</tr><tr>'
}
}
}
tab
+=
'</tr>'
this
.
$refs
.
calendar
.
innerHTML
=
tab
},
/**
* 获取dashboard数据
*/
getbaseInfo
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RESOURE_LIST
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
baseData
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_ALREADY_OR_EXPIRE
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
let
inner
=
res
.
data
.
content
this
.
expired
=
inner
.
alreadyExpireCount
this
.
expireInFiveMonth
=
inner
.
willExpireCount
}
})
},
/**
* 获房办月查完成情况
*/
getFBCheck
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_FB_WY_MANAGE_CHECK
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
secRowInfos
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
{})
// 处理房办的月份颜色
this
.
secRowInfos
.
HOUSING_OFFICE
.
data
.
forEach
((
ele
,
i
)
=>
{
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
==
1
)
{
// 完成率100 绿色
this
.
FB_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
FB_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
<
.
9
){
// 完成率90以下 红色
this
.
FB_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
FB_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
>
0.9
){
// 完成率90到100之间 黄色
this
.
FB_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
FB_month
[
i
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
FB_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
FB_month
[
i
].
color
=
'#2B87FE'
}
})
// 处理物企双周查月份颜色
this
.
secRowInfos
.
PROPERTY_BIWEEKLY
.
data
.
forEach
((
ele
,
i
)
=>
{
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
==
1
||
ele
.
rectifyCount
==
0
)
{
// 完成率100 绿色
this
.
WQ_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
WQ_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
<
.
9
){
// 完成率90以下 红色
this
.
WQ_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
WQ_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
>
0.9
){
// 完成率90到100之间 黄色
this
.
WQ_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
WQ_month
[
i
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
WQ_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
WQ_month
[
i
].
color
=
'#2B87FE'
}
})
// 处理小区经理自查月份颜色
this
.
secRowInfos
.
COMMUNITY_MANAGER_YEAR
.
data
.
forEach
((
ele
,
i
)
=>
{
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
==
1
)
{
// 完成率100 绿色
this
.
manager_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
manager_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
<
.
9
){
// 完成率90以下 红色
this
.
manager_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
manager_month
[
i
].
color
=
'#fff'
}
else
if
(
ele
.
rectifiedCount
/
ele
.
rectifyCount
>
0.9
){
// 完成率90到100之间 黄色
this
.
manager_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
manager_month
[
i
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
manager_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
manager_month
[
i
].
color
=
'#2B87FE'
}
})
}
})
},
/**
* 获取专项检查数据
*/
getCheckData
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
this
.
$api
.
GET_CHWECK_DATA
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
flag
:
'0'
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
===
'200'
)
{
let
data
=
this
.
$com
.
confirm
(
res
,
'data.data.content'
,
[])
this
.
theme
=
0
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
){
if
(
data
[
i
].
THEMETYPE
==
'专项'
){
this
.
theme
+=
1
}
}
}
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取已完成检查小区
*/
getSectNum
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/propertyinspector/api/v1/sharingplatform/sectListForOneDay'
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
this
.
sect
=
res
.
data
.
data
.
totalRows
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取已开整改单
*/
getReceiptsNum
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/propertyinspector/api/v1/sharingplatform/sectListForOneDay'
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
isPublish
:
'1'
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
this
.
receipts
=
res
.
data
.
data
.
totalRows
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 点击月份
*/
checkMonth
(
item
){
this
.
nowMonth
=
item
.
name
this
.
checkStreet
=
item
.
checkStreet
for
(
let
i
=
0
;
i
<
this
.
FB_month
.
length
;
i
++
){
if
(
this
.
FB_month
[
i
].
name
==
item
.
name
){
this
.
FB_month
[
i
].
class
=
'hadCheckMonth'
}
else
{
this
.
FB_month
[
i
].
class
=
''
}
}
},
hoverMonth
(
item
){
let
time
=
new
Date
().
getFullYear
()
// console.log(time+'-'+parseInt(item.name))
this
.
$router
.
push
({
name
:
'month'
,
query
:
{
month
:
time
+
'-'
+
parseInt
(
item
.
name
)
}
})
},
/**
* 获取房办月查统计
*/
getHouthMonth
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_HOUSE_MONTH
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
let
cont
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
this
.
totStreet
=
cont
[
0
].
totStreet
for
(
let
i
=
0
;
i
<
cont
.
length
;
i
++
){
if
(
cont
[
i
]
&&
cont
[
i
].
month
&&
cont
[
i
].
month
>
0
){
this
.
FB_month
[
cont
[
i
].
month
-
1
].
check
=
true
this
.
FB_month
[
cont
[
i
].
month
-
1
].
checkStreet
=
cont
[
i
].
checkStreet
this
.
FB_month
[
cont
[
i
].
month
-
1
].
totStreet
=
cont
[
i
].
totStreet
}
}
let
num
=
Number
(
this
.
$moment
(
this
.
date
).
format
(
'MM'
))
this
.
FB_month
[
num
-
1
].
class
=
'hadCheckMonth'
this
.
nowMonth
=
this
.
FB_month
[
num
-
1
].
name
this
.
checkStreet
=
this
.
FB_month
[
num
-
1
].
checkStreet
}
})
},
/**
* 获取处置单统计
*/
getDisposal
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_HOME_DISPOSAL
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
disposal
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
},
},
}
</
script
>
<
style
scoped
>
#home
{
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.home-card
{
background
:
#fff
;
padding
:
15px
;
}
.topBox
{
height
:
100%
;
}
.top-font
{
color
:
#818283
;
font-size
:
14px
;
margin-bottom
:
3px
;
}
.top-count
{
color
:
#000
;
font-size
:
28px
;
font-weight
:
600
;
line-height
:
34px
;
}
.top-count-extra
{
color
:
#000
;
font-size
:
24px
;
font-weight
:
600
;
line-height
:
24px
;
}
.sec-right
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.middle-right
{
text-align
:
center
;
height
:
calc
(
50%
-
10px
);
display
:
flex
;
align-items
:
center
;
cursor
:
pointer
;
}
.middle-right
p
{
font-size
:
14px
;
margin
:
5px
;
}
.month
{
height
:
100%
;
background
:
#fff
;
margin-right
:
10px
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
column
;
}
.monthTitle
,
.monthBottom
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.monthTitle
>
span
{
font-weight
:
600
;
font-size
:
16px
;
}
.monthBottom
>
span
{
font-weight
:
500
;
font-size
:
14px
;
}
.monthBottom
.monthBottomNum
{
color
:
rgb
(
0
,
103
,
251
);
font-size
:
20px
;
}
.monthBox
{
display
:
flex
;
flex-direction
:
column
;
flex
:
1
;
justify-content
:
space-between
;
border-bottom
:
1px
dashed
#ccc
;
/* margin: 0 10px; */
}
.monthBoxTitle
{
font-weight
:
500
;
font-size
:
14px
;
margin-bottom
:
10px
;
}
.monthBoxContent
,
.calendar
{
display
:
flex
;
flex-direction
:
row
;
flex-wrap
:
wrap
;
justify-content
:
space-around
;
align-items
:
center
;
flex
:
1
;
margin
:
15px
0
;
}
.monthBoxContent
.hoverTest
{
width
:
21%
;
}
.monthImg
{
margin
:
10%
;
padding-top
:
calc
(
40%
-
11px
);
padding-bottom
:
calc
(
40%
-
11px
);
text-align
:
center
;
cursor
:
pointer
;
border
:
1px
solid
transparent
;
border-radius
:
14%
;
position
:
relative
;
}
.monthHover
{
z-index
:
999
;
position
:
absolute
;
bottom
:
0px
;
left
:
0
;
height
:
50%
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
color
:
#fff
;
border-radius
:
0
0
14%
14%
;
display
:
none
;
line-height
:
100%
;
}
.monthHover
div
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.monthImg
:hover
.monthHover
{
display
:
block
;
}
#home
.ant-progress-inner
{
border
:
none
;
}
#home
.ant-tabs-tab-active.ant-tabs-tab
{
line-height
:
31px
;
}
#home
.ant-tabs-tabpane
{
padding
:
0px
15px
10px
15px
;
}
.justify-between
{
display
:
flex
;
justify-content
:
space-between
;
}
.align-center
{
display
:
flex
;
align-items
:
center
;
}
.align-stretch
{
display
:
flex
;
align-items
:
stretch
;
}
.row-number
{
height
:
18px
;
width
:
18px
;
border-radius
:
50%
;
text-align
:
center
;
}
.green
{
color
:
#579D1F
;
}
.blue
{
color
:
#2B87FE
;
}
.hadCheckMonth.green
{
border-color
:
#579D1F
;
}
.hadCheckMonth.blue
{
border-color
:
#2B87FE
;
}
</
style
>
<
style
>
#calendar
{
width
:
100%
;
}
#calendar
>
.ant-fullcalendar-header
{
display
:
none
;
}
#calendar
.ant-fullcalendar
{
border-top
:
0px
;
width
:
100%
;
}
#calendar
.ant-fullcalendar-table
{
width
:
100%
;
/* margin-top: -20px; */
}
#calendar
table
{
height
:
auto
;
}
#calendar
.ant-fullcalendar-disabled-cell
{
display
:
none
;
}
</
style
>
\ No newline at end of file
src/views/home copy.vue
0 → 100644
View file @
84a87405
<
template
>
<div>
<!-- 浦东 -->
<div
id=
"home"
class=
"layoutPadding"
v-if=
"(this.$api.BASE_URL).indexOf('pudong') > -1 || (this.$api.BASE_URL).indexOf('211.136.105.193') > -1"
>
<div
class=
"topBox-l"
>
<div
class=
"inner"
style=
""
>
<div>
<p
class=
"top-font"
>
小区数
</p>
<span
class=
"top-count"
>
{{
data
.
community
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/xqs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
<div
class=
"inner"
style=
""
>
<div>
<p
class=
"top-font"
>
门牌幢数
</p>
<span
class=
"top-count"
>
{{
data
.
building
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/mpzs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
<div
class=
"inner"
style=
""
>
<div>
<p
class=
"top-font"
>
物业企业数
</p>
<span
class=
"top-count"
>
{{
data
.
company
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/ywhs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
<div
class=
"inner"
style=
""
>
<div>
<p
class=
"top-font"
>
业委会数
</p>
<span
class=
"top-count"
>
{{
data
.
ic
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/ywhs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
<div
class=
"secBox"
v-if=
"$store.state.userInfos && $store.state.userInfos.isAllPerm"
>
<IndustrySupervision
style=
"width:35%"
/>
<ComplaintsTrain
moduletitle=
"投诉直通车"
style=
"width:48%"
/>
<FileModule
style=
"width:13%;"
/>
</div>
<div
class=
"thirdBox"
v-if=
"$store.state.userInfos && $store.state.userInfos.isAllPerm"
>
<ManagementModule
moduletitle=
"信用"
style=
"width:32.5%"
/>
<ManagementModule
moduletitle=
"风险"
style=
"width:32.5%"
/>
<ManagementModule
moduletitle=
"分类"
style=
"width:32.5%"
/>
</div>
<div
class=
"fourthBox"
v-if=
"$store.state.userInfos && $store.state.userInfos.isAllPerm"
>
<RiskDisposal
style=
"width:30%"
/>
<RetrofitElevator
style=
"width:32%"
/>
<ComplaintsTrain
moduletitle=
"应急报修"
style=
"width:36%"
/>
</div>
</div>
<div
id=
"home"
class=
"layoutPadding"
v-else
>
<!--
<div
id=
"home"
class=
"layoutPadding"
v-else
>
-->
<a-row
type=
"flex"
class=
"align-stretch"
>
<a-col
:span=
"24"
>
<a-row
type=
"flex"
style=
"height:100%;"
>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin-right:10px;"
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
小区数
</p>
<span
class=
"top-count"
>
{{
data
.
community
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/xqs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin:0px 10px;"
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
门牌幢数
</p>
<span
class=
"top-count"
>
{{
data
.
building
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/mpzs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin:0px 10px;"
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
物业企业数
</p>
<span
class=
"top-count"
>
{{
data
.
company
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/wyqys.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
</a-col>
<a-col
:span=
"6"
>
<div
class=
"home-card topBox"
style=
"margin-left:10px;"
>
<a-row>
<a-col
:span=
'6'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
业委会数
</p>
<span
class=
"top-count"
>
{{
data
.
ic
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'13'
>
<a-row
style=
"border-left: 1px solid lightgrey; border-bottom: 1px solid lightgrey; padding-left: 10px; padding-bottom: 5px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
已过期
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
@
click=
"handleExpired"
>
{{
expired
}}
</span>
</a-col>
</a-row>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px;padding-top: 10px;"
>
<a-col
:span=
'16'
>
<span
class=
"top-font"
>
5个月内到期
</span>
</a-col>
<a-col
:span=
'8'
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
@
click=
"handleWillExpire"
>
{{
expireInFiveMonth
}}
</span>
</a-col>
</a-row>
</a-col>
<a-col
:span=
'1'
></a-col>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 10px"
>
<img
src=
"@/assets/icon/ywhs.png"
style=
"width:50px;"
alt=
""
>
</div>
</a-col>
</a-row>
</div>
</a-col>
</a-row>
</a-col>
<!--
<a-col
:span=
"4"
>
<div
class=
"home-card topBox"
style=
"margin-left:0px 10px; cursor: pointer"
@
click=
"handleExpired"
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
已过期
</p>
<span
class=
"top-count"
>
{{
expired
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/wyqys.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
</a-col>
<a-col
:span=
"4"
>
<div
class=
"home-card topBox"
style=
"margin-left:10px; cursor: pointer"
@
click=
"handleWillExpire"
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
未来5个月将到期
</p>
<span
class=
"top-count"
>
{{
expireInFiveMonth
}}
</span>
</div>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/wyqys.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</div>
</a-col>
-->
</a-row>
<a-row
v-if=
"$store.state.userInfos && $store.state.userInfos.isAllPerm"
class=
"align-stretch"
style=
"margin-top:20px;"
>
<a-col
:span=
"8"
>
<div
class=
"month"
>
<div
class=
"home-card monthTitle"
>
<span>
房办月查
</span>
<span>
<span
style=
"font-size:12px;"
>
{{
nowMonth
}}
</span>
<span
class=
"monthTitleNum"
>
{{
checkStreet
}}
<span
style=
"color:#000;"
>
/
{{
totStreet
}}
</span>
</span>
</span>
</div>
<div
class=
"home-card monthBox"
>
<span
style=
"font-weight:600;"
>
全年情况
</span>
<a-row>
<a-col
:span=
"4"
class=
"hoverTest"
v-for=
"item in mounth"
:key=
"item.name"
>
<div
v-if=
"item.check"
@
click=
"checkMonth(item)"
:class=
"'monthImg green '+item.class"
:style=
"'background:url('+ok+') no-repeat center center /cover; '"
>
{{
item
.
name
}}
<div
class=
"monthHover"
@
click=
"hoverMonth(item)"
>
<div>
<span>
明细
</span>
</div>
</div>
</div>
<div
v-else
@
click=
"checkMonth(item)"
:class=
"'monthImg blue '+item.class"
:style=
"'background:url('+nm+') no-repeat center center /cover; '"
>
{{
item
.
name
}}
<div
class=
"monthHover"
@
click=
"hoverMonth(item)"
>
<div>
<span>
明细
</span>
</div>
</div>
</div>
</a-col>
</a-row>
</div>
</div>
</a-col>
<a-col
:span=
"13"
class=
"zxjc"
>
<div
class=
"jiancha"
>
<div
class=
"home-card jianchaTitle"
>
<span>
专项检查
</span>
<img
src=
"@/assets/icon/tp.png"
style=
"height:20px;"
alt=
""
>
</div>
<div
style=
"height: calc(100% - 55px);"
>
<a-row
class=
"jianchaBox"
>
<a-col
:span=
"12"
class=
"home-card jianchaTheme"
>
<!--
<div
class=
"justify-between"
style=
"align-items:baseline;"
>
<span
style=
"font-weight:600;"
>
已查/应查
</span>
<span
style=
"font-size:20px;font-weight:600;"
><span
style=
"color:#0477FF;"
>
68
</span>
/124
</span>
</div>
<a-progress
:percent=
"68/124*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"10"
strokeColor=
"#11C3C4"
/>
-->
<a-row>
<a-col
:span=
"16"
:offset=
"2"
>
<span
style=
"font-weight:600;"
><img
src=
"@/assets/icon/yyzt.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已有主题
</span>
</a-col>
<a-col
:span=
"6"
>
<!--
<span
class=
"jianchaThemeNum"
>
{{
theme
}}
</span>
-->
<span
class=
"jianchaThemeNum"
>
0
</span>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"16"
:offset=
"2"
>
<span
style=
"font-weight:600;"
><img
src=
"@/assets/icon/ywcjcxq.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已完成检查小区
</span>
</a-col>
<a-col
:span=
"6"
>
<!--
<span
class=
"jianchaThemeNum"
>
{{
sect
}}
</span>
-->
<span
class=
"jianchaThemeNum"
>
0
</span>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"16"
:offset=
"2"
>
<span
style=
"font-weight:600;"
><img
src=
"@/assets/icon/zt.png"
alt=
""
style=
"width:20px;margin-right:3px;"
>
已开整改单
</span>
</a-col>
<a-col
:span=
"6"
>
<!--
<span
class=
"jianchaThemeNum"
>
{{
receipts
}}
</span>
-->
<span
class=
"jianchaThemeNum"
>
0
</span>
</a-col>
</a-row>
</a-col>
<a-col
:span=
"12"
class=
"home-card jianchaBoxRight"
>
<div>
<span
class=
"jianchaPeopleTitle"
>
当前检察人员
</span>
</div>
<a-row
style=
"height:calc(100% - 34px)"
>
<a-col
:span=
"12"
v-for=
"(item,i) in people"
:key=
"i"
style=
"font-size:14px;height: 25%;"
>
<img
src=
"@/assets/icon/peoplebj.png"
style=
"height:16px;margin-right: 5px; margin-top: -3px;"
/>
{{
item
.
TE_NAME
}}
</a-col>
<a-col
v-if=
"people.length == 7"
:span=
"12"
style=
"font-size:14px;height: 25%;"
>
<img
src=
"@/assets/icon/ddd.png"
style=
"height:16px;margin-right: 5px; margin-top: -3px;"
/>
</a-col>
</a-row>
</a-col>
<!--
<a-col
:span=
"8"
class=
"home-card justify-between"
style=
"padding:0px 10px;height:100%;flex-direction:column;"
>
<div>
<span
style=
"height:30px;display:inline-block;vertical-align: sub;font-weight:600;"
>
已完成整改/已开整改单
</span>
</div>
<div>
<div
class=
"justify-between"
style=
"align-items:baseline;font-weight:600;font-size:20px;"
>
<span
style=
"color:#0477FF;"
>
25%
</span>
<span><span
style=
"color:#0477FF;"
>
4
</span>
/16
</span>
</div>
<a-progress
:percent=
"68/124*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"10"
strokeColor=
"#11C3C4"
/>
</div>
<div>
<div
class=
"justify-between"
style=
"align-items:baseline;"
>
<span
style=
"font-weight:600;"
>
整改率
</span>
<span
style=
"font-size:20px;font-weight:600;color:#0477FF;"
>
16%
</span>
</div>
<a-progress
:percent=
"68/124*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"10"
strokeColor=
"#11C3C4"
/>
</div>
</a-col>
-->
</a-row>
</div>
</div>
</a-col>
<a-col
:span=
"3"
>
<div
style=
"height:100%;margin-left:10px;"
>
<a-row>
<div
class=
"home-card middle-right"
style=
"margin-bottom: 20px"
@
click=
"toFangXunFangTai"
>
<img
src=
"@/assets/icon/fxft.png"
style=
"width:40px;"
alt=
""
>
<p>
灾情上报
</p>
</div>
</a-row>
<a-row>
<div
class=
"home-card middle-right"
@
click=
"$router.push(
{path: '/houseData/basicInfo'})">
<img
src=
"@/assets/icon/xqda.png"
style=
"width:40px;"
alt=
""
>
<p>
小区档案
</p>
</div>
</a-row>
<a-row>
<div
class=
"home-card middle-right"
@
click=
"$router.push(
{path: '/houseData/propertyInfo'})" style="margin-top:20px;">
<img
src=
"@/assets/icon/wyqyda.png"
style=
"width:40px;"
alt=
""
>
<p>
物业企业档案
</p>
</div>
</a-row>
</div>
</a-col>
</a-row>
<a-row
v-if=
"$store.state.userInfos&&$store.state.userInfos.isAllPerm"
class=
"align-stretch"
style=
"margin-top:20px;"
>
<a-col
:span=
"8"
>
<div
class=
"fengxian"
>
<div
class=
"home-card fengxianTitle"
>
<span>
物业风险发现/处置
</span>
<img
src=
"@/assets/icon/qs.png"
@
click=
"openOutUrl1"
style=
"height:20px;"
alt=
""
>
</div>
<div
class=
"home-card fengxianBox"
>
<a-row>
<a-col
class=
"justify-between"
>
<span
style=
"font-size:16px;font-weight:600;"
>
风险场景
</span>
<!--
<img
src=
"@/assets/icon/ddd.png"
style=
"height:16px;"
alt=
""
>
-->
</a-col>
</a-row>
<a-row
class=
"align-stretch"
style=
"padding:10px 0px;"
>
<a-col
:span=
"7"
>
<!-- 特殊处理百分比过大显示就像100% -->
<a-progress
type=
"circle"
:percent=
"(disposal.alreadyDone/disposal.thisYearTotal*100)>89 && (disposal.alreadyDone/disposal.thisYearTotal*100)
<100
?
80:
(
disposal
.
alreadyDone
/
disposal
.
thisYearTotal
*
100
)"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"15"
strokeColor=
"#46B3FF"
:width=
"60"
/>
</a-col>
<a-col
:span=
"16"
>
<div
class=
"fengxianDisposalNum"
>
<span>
已处置数/发现数
</span>
<span
style=
"color:#000;font-size:20px;font-weight:700;"
><span
style=
"color:#1890ff;"
>
{{
disposal
.
alreadyDone
}}
</span>
/
{{
disposal
.
thisYearTotal
}}
</span>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"8"
>
<div
style=
"height:100%"
>
<span>
物业处置
</span>
<span
class=
"disposalDetailNum"
>
{{
disposal
.
wyDone
}}
</span>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
style=
"height:100%"
>
<span>
居委处置
</span>
<span
class=
"disposalDetailNum"
>
{{
disposal
.
jwDone
}}
</span>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
style=
"height:100%"
>
<span>
网格处置
</span>
<span
class=
"disposalDetailNum"
>
{{
disposal
.
wgDone
}}
</span>
</div>
</a-col>
</a-row>
<!--
<div
class=
"gayLine"
style=
"margin:10px 0px"
></div>
<a-row>
<a-col
style=
"display:flex;justify-content:space-between;"
>
<span
style=
"font-weight:600;"
>
其他委办局转派物业处置
</span>
<img
src=
"@/assets/icon/ddd.png"
style=
"height:16px;"
alt=
""
>
</a-col>
</a-row>
<a-row
style=
"padding:10px 0px;display:flex;align-items:stretch;"
>
<a-col
:span=
"7"
>
<a-progress
type=
"circle"
:percent=
"12/58*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"15"
strokeColor=
"#46B3FF"
:width=
"60"
/>
</a-col>
<a-col
:span=
"16"
>
<div
style=
"display:flex;flex-direction:column;justify-content:space-around;height:100%"
>
<span>
已处置数/转派总数
</span>
<span
style=
"color:#000;font-size:20px;font-weight:700;"
><span
style=
"color:#1890ff;"
>
12
</span>
/58
</span>
</div>
</a-col>
</a-row>
-->
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"baoxiu"
>
<div
class=
"home-card baoxiuTitle"
>
<span>
应急报修
</span>
</div>
<div
class=
"baoxiuBox"
>
<div
class=
"repair-top"
>
<div
class=
"baoxiuSecondTitle"
>
<p>
转派区应急维修中心
</p>
<img
src=
"@/assets/icon/ddd.png"
alt=
""
@
click=
"toRepair('1', '2')"
>
</div>
<div
class=
"baoxiuMiddleBox"
>
<div>
<a-progress
type=
"circle"
:percent=
"repair.yjwhcomplete/repair.yjwhtotal*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"15"
strokeColor=
"#46B3FF"
:width=
"40"
/>
</div>
<div>
<span
style=
"color:#555;"
>
已完成数/已转派总数
</span>
<span
style=
"color:#000;font-size:1.3rem;font-weight:700;"
><span
style=
"color:#1890ff;"
>
{{
repair
.
yjwhcomplete
}}
</span>
/
{{
repair
.
yjwhtotal
}}
</span>
</div>
</div>
<div
class=
"baoxiuBottomBox"
>
<div>
<div
class=
"baoxiuBottomBoxTitle"
><span
style=
"color:#555;"
>
及时接单率
</span><span
style=
"color:#10C3C4;"
>
{{
repair
.
yjwhreceiveratio
}}
%
</span></div>
<a-progress
:percent=
"repair.yjwhreceiveratio"
:showInfo=
"false"
strokeColor=
"#96DDDE"
:strokeWidth=
"7"
/>
</div>
<div>
<div
class=
"baoxiuBottomBoxTitle"
><span
style=
"color:#555;"
>
及时处置率
</span><span
style=
"color:#10C3C4;"
>
{{
repair
.
yjwhhandleratio
}}
%
</span></div>
<a-progress
:percent=
"repair.yjwhhandleratio"
:showInfo=
"false"
strokeColor=
"#96DDDE"
:strokeWidth=
"7"
/>
</div>
</div>
</div>
<div
class=
"repair-btm"
>
<div
class=
"baoxiuSecondTitle"
>
<p>
转派物业企业报修
</p>
<img
src=
"@/assets/icon/ddd.png"
alt=
""
@
click=
"toRepair('2', '1')"
>
</div>
<div
class=
"baoxiuMiddleBox"
>
<div>
<a-progress
type=
"circle"
:percent=
"repair.wybxcomplete/repair.wybxtotal*100"
size=
"small"
:showInfo=
"false"
:strokeWidth=
"15"
strokeColor=
"#46B3FF"
:width=
"40"
/>
</div>
<div>
<span
style=
"color:#555;"
>
已完成数/已转派总数
</span>
<span
style=
"color:#000;font-size:1.3rem;font-weight:700;"
><span
style=
"color:#1890ff;"
>
{{
repair
.
wybxcomplete
}}
</span>
/
{{
repair
.
wybxtotal
}}
</span>
</div>
</div>
<div
class=
"baoxiuBottomBox"
>
<div>
<div
class=
"baoxiuBottomBoxTitle"
><span
style=
"color:#555;"
>
及时接单率
</span><span
style=
"color:#10C3C4;"
>
{{
repair
.
wybxreceiveratio
}}
%
</span></div>
<a-progress
:percent=
"repair.wybxreceiveratio"
:showInfo=
"false"
strokeColor=
"#96DDDE"
:strokeWidth=
"7"
/>
</div>
<div>
<div
class=
"baoxiuBottomBoxTitle"
><span
style=
"color:#555;"
>
及时处置率
</span><span
style=
"color:#10C3C4;"
>
{{
repair
.
wybxhandleratio
}}
%
</span></div>
<a-progress
:percent=
"repair.wybxhandleratio"
:showInfo=
"false"
strokeColor=
"#96DDDE"
:strokeWidth=
"7"
/>
</div>
</div>
</div>
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"tousu"
>
<img
class=
"tousuIMG"
src=
"@/assets/icon/sz.png"
alt=
""
@
click=
"toTousu"
>
<a-tabs
class=
"tousuQuestion"
default-active-key=
"1"
:activeKey=
"activeKey"
@
change=
"(key) => changeTabKey(key, 1)"
style=
"height: 100%;"
>
<a-tab-pane
key=
"1"
tab=
"投诉问题"
>
<a-tabs
default-active-key=
"1"
:activeKey=
"activeKey2"
@
change=
"(key) => changeTabKey(key, 2)"
size=
"small"
>
<a-tab-pane
key=
"1"
tab=
"月排行"
>
<template
v-if=
"tousuQuestionList.M&&tousuQuestionList.M.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"18"
>
问题
</a-col>
<a-col
:span=
"4"
:offset=
"2"
>
<span>
数量
</span>
</a-col>
</a-row>
<a-row
class=
"tousuContentRow"
v-for=
"(item,i) in tousuQuestionList.M"
:key=
"i"
>
<a-col
class=
"tousuRankNum"
:span=
"2"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"16"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"4"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{item.num}}
</span></a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
<a-tab-pane
key=
"2"
tab=
"年度排行"
>
<
template
v-if=
"tousuQuestionList.Y&&tousuQuestionList.Y.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"18"
>
问题
</a-col>
<a-col
:span=
"4"
:offset=
"2"
><span>
数量
</span></a-col>
</a-row>
<a-row
v-for=
"(item,i) in tousuQuestionList.Y"
:key=
"i"
class=
"tousuContentRow"
>
<a-col
:span=
"2"
class=
"tousuRankNum"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"16"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"4"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{item.num}}
</span></a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
<a-tab-pane
key=
"3"
tab=
"总排行"
>
<
template
v-if=
"tousuQuestionList.S&&tousuQuestionList.S.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"18"
>
问题
</a-col>
<a-col
:span=
"4"
:offset=
"2"
><span>
数量
</span></a-col>
</a-row>
<a-row
v-for=
"(item,i) in tousuQuestionList.S"
:key=
"i"
class=
"tousuContentRow"
>
<a-col
:span=
"2"
class=
"tousuRankNum"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"16"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"4"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{item.num}}
</span></a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
</a-tabs>
</a-tab-pane>
<a-tab-pane
key=
"2"
tab=
"投诉密度"
>
<a-tabs
default-active-key=
"1"
:activeKey=
"activeKey2"
@
change=
"(key) => changeTabKey(key, 2)"
size=
"small"
>
<a-tab-pane
key=
"1"
tab=
"月排行"
>
<
template
v-if=
"tousuDensityList.M&&tousuDensityList.M.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"15"
>
街道
</a-col>
<a-col
:span=
"7"
:offset=
"2"
><span>
数量
</span></a-col>
</a-row>
<a-row
v-for=
"(item,i) in tousuDensityList.M"
:key=
"i"
class=
"tousuContentRow"
>
<a-col
:span=
"2"
class=
"tousuRankNum"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"13"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"7"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{Math.round(item.num)}}
</span>
<span>
件/小区
</span>
</a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
<a-tab-pane
key=
"2"
tab=
"年度排行"
>
<
template
v-if=
"tousuDensityList.Y&&tousuDensityList.Y.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"15"
>
街道
</a-col>
<a-col
:span=
"7"
:offset=
"2"
><span>
数量
</span></a-col>
</a-row>
<a-row
v-for=
"(item,i) in tousuDensityList.Y"
:key=
"i"
class=
"tousuContentRow"
>
<a-col
:span=
"2"
class=
"tousuRankNum"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"13"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"7"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{Math.round(item.num)}}
</span>
<span>
件/小区
</span>
</a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
<a-tab-pane
key=
"3"
tab=
"总排行"
>
<
template
v-if=
"tousuDensityList.S&&tousuDensityList.S.length>0"
>
<a-row
class=
"tousuTabTitle"
>
<a-col
:span=
"15"
>
街道
</a-col>
<a-col
:span=
"7"
:offset=
"2"
><span>
数量
</span></a-col>
</a-row>
<a-row
v-for=
"(item,i) in tousuDensityList.S"
:key=
"i"
class=
"tousuContentRow"
>
<a-col
:span=
"2"
class=
"tousuRankNum"
>
<div
class=
"row-number"
:style=
"'background:'+(i>2?'#E5E6E7':'#000')+';line-height: 18px;color:'+(i>2?'#000':'#fff')"
>
{{
i
+
1
}}
</div>
</a-col>
<a-col
:span=
"13"
>
<div
class=
"tousuContent"
>
<a-tooltip>
<template
slot=
"title"
>
{{
item
.
name
}}
</
template
>
{{item.name}}
</a-tooltip>
</div>
</a-col>
<a-col
:span=
"7"
:offset=
"2"
>
<span
style=
"font-weight:600;"
>
{{Math.round(item.num)}}
</span>
<span>
件/小区
</span>
</a-col>
</a-row>
</template>
<
template
v-else
>
<div
style=
"height: 100%;display:flex;align-items:center;justify-content:center;"
>
<div
style=
"font-size:30px;font-weight:900;color:#ccc;"
>
暂无数据
</div>
</div>
</
template
>
</a-tab-pane>
</a-tabs>
</a-tab-pane>
</a-tabs>
</div>
</a-col>
</a-row>
</div>
</div>
</template>
<
script
>
import
ok
from
'@/assets/icon/ok.png'
import
nm
from
'@/assets/icon/nm.png'
import
qs
from
'qs'
import
axios
from
'axios'
import
ComplaintsTrain
from
'@/views/home/ComplaintsTrain'
import
EmergencyRepair
from
'@/views/home/EmergencyRepair'
import
IndustrySupervision
from
'@/views/home/IndustrySupervision'
import
ManagementModule
from
'@/views/home/ManagementModule'
import
RetrofitElevator
from
'@/views/home/RetrofitElevator'
import
RiskDisposal
from
'@/views/home/RiskDisposal'
import
FileModule
from
'@/views/home/FileModule'
export
default
{
name
:
'HomePage'
,
components
:
{
ComplaintsTrain
,
EmergencyRepair
,
IndustrySupervision
,
ManagementModule
,
RetrofitElevator
,
RiskDisposal
,
FileModule
,
},
data
()
{
return
{
ok
,
nm
,
date
:
new
Date
(),
data
:
{},
openConfig
:
false
,
disposal
:
{},
nowMonth
:
'本月'
,
checkStreet
:
0
,
totStreet
:
0
,
mounth
:
[
{
name
:
'1月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'2月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'3月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'4月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'5月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'6月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'7月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'8月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'9月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'10月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'11月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
{
name
:
'12月'
,
check
:
false
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
},
],
expired
:
0
,
expireInFiveMonth
:
0
,
theme
:
0
,
sect
:
0
,
receipts
:
0
,
people
:
[],
tousuQuestionList
:
{
M
:
[],
Y
:
[],
S
:
[],
},
tousuDensityList
:
{
M
:
[],
Y
:
[],
S
:
[],
},
repair
:
{
yjwhtotal
:
0
,
//应急维护总数
yjwhcomplete
:
0
,
//应急维护已完成数
yjwhreceiveratio
:
0
,
//应急维护接单率
yjwhhandleratio
:
0
,
//应急维护处置率
wybxtotal
:
0
,
//物业保修总数
wybxcomplete
:
0
,
//物业报修已完成率
wybxreceiveratio
:
0
,
//物业保修接单率
wybxhandleratio
:
0
,
//物业报修处置率
},
activeKey
:
'1'
,
activeKey2
:
'1'
,
}
},
created
(){},
mounted
(){
this
.
getConfig
()
this
.
getList
()
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_USER_INFO
,
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
!!
res
.
data
.
content
.
isAllPerm
)
{
this
.
getDisposal
()
this
.
getHouthMonth
()
this
.
getCheckData
()
this
.
getCheckPeople
()
this
.
getSectNum
()
this
.
getReceiptsNum
()
this
.
getRepair
()
this
.
getTousuQuestion
(
'M'
)
this
.
getTousuQuestion
(
'Y'
)
this
.
getTousuQuestion
(
'S'
)
this
.
getTousuDensity
(
'M'
)
this
.
getTousuDensity
(
'Y'
)
this
.
getTousuDensity
(
'S'
)
}
}
})
// })
// if (this.$store.state.userinfos && this.$store.state.userinfos.isAllPerm) { // 不是全部权限dashboard下方的模块不展示
// this.getDisposal()
// this.getHouthMonth()
// this.getCheckData()
// this.getCheckPeople()
// this.getSectNum()
// this.getReceiptsNum()
// this.getRepair()
// this.getTousuQuestion('M')
// this.getTousuQuestion('Y')
// this.getTousuQuestion('S')
// this.getTousuDensity('M')
// this.getTousuDensity('Y')
// this.getTousuDensity('S')
// }
},
methods
:
{
/**
* 点击月份
*/
checkMonth
(
item
){
this
.
nowMonth
=
item
.
name
this
.
checkStreet
=
item
.
checkStreet
for
(
let
i
=
0
;
i
<
this
.
mounth
.
length
;
i
++
){
if
(
this
.
mounth
[
i
].
name
==
item
.
name
){
this
.
mounth
[
i
].
class
=
'hadCheckMonth'
}
else
{
this
.
mounth
[
i
].
class
=
''
}
}
},
hoverMonth
(
item
){
let
time
=
new
Date
().
getFullYear
()
// console.log(time+'-'+parseInt(item.name))
this
.
$router
.
push
({
name
:
'month'
,
query
:
{
month
:
time
+
'-'
+
parseInt
(
item
.
name
)
}
})
},
/**
* 获取dashboard数据
*/
getList
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RESOURE_LIST
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
data
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_ALREADY_OR_EXPIRE
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
let
inner
=
res
.
data
.
content
this
.
expired
=
inner
.
alreadyExpireCount
this
.
expireInFiveMonth
=
inner
.
willExpireCount
}
})
},
/**
* 获取房办月查统计
*/
getHouthMonth
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_HOUSE_MONTH
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
let
cont
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
this
.
totStreet
=
cont
[
0
].
totStreet
for
(
let
i
=
0
;
i
<
cont
.
length
;
i
++
){
if
(
cont
[
i
]
&&
cont
[
i
].
month
&&
cont
[
i
].
month
>
0
){
this
.
mounth
[
cont
[
i
].
month
-
1
].
check
=
true
this
.
mounth
[
cont
[
i
].
month
-
1
].
checkStreet
=
cont
[
i
].
checkStreet
this
.
mounth
[
cont
[
i
].
month
-
1
].
totStreet
=
cont
[
i
].
totStreet
}
}
let
num
=
Number
(
this
.
$moment
(
this
.
date
).
format
(
'MM'
))
this
.
mounth
[
num
-
1
].
class
=
'hadCheckMonth'
this
.
nowMonth
=
this
.
mounth
[
num
-
1
].
name
this
.
checkStreet
=
this
.
mounth
[
num
-
1
].
checkStreet
}
})
},
/**
* 获取以及报修统计
*/
getRepair
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_REPAIR_STATISTICS
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
repair
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
error
(
res
.
msg
,
10
)
}
})
},
/**
* 获取专项检查数据
*/
getCheckData
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
this
.
$api
.
GET_CHWECK_DATA
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
flag
:
'0'
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
===
'200'
)
{
let
data
=
this
.
$com
.
confirm
(
res
,
'data.data.content'
,
[])
this
.
theme
=
0
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
){
if
(
data
[
i
].
THEMETYPE
==
'专项'
){
this
.
theme
+=
1
}
}
}
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取检查人员数据
*/
getCheckPeople
(){
let
date
=
new
Date
()
let
startDate
=
this
.
$moment
(
date
).
format
(
'YYYY-MM-DD'
)
+
' 00:00:00'
let
endDate
=
this
.
$moment
(
date
).
format
(
'YYYY-MM-DD'
)
+
' 24:00:00'
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/propertyinspector/api/v1/sharingplatform/getInspectors'
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
startDate
:
startDate
,
endDate
:
endDate
,
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
===
'200'
)
{
let
data
=
this
.
$com
.
confirm
(
res
,
'data.data.content'
,
[])
if
(
data
.
lenght
>
8
){
this
.
people
=
data
.
slice
(
0
,
7
)
}
else
{
this
.
people
=
data
}
}
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取已完成检查小区
*/
getSectNum
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/propertyinspector/api/v1/sharingplatform/sectListForOneDay'
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
this
.
sect
=
res
.
data
.
data
.
totalRows
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取已开整改单
*/
getReceiptsNum
(){
const
Axios
=
axios
.
create
({
baseURL
:
this
.
$api
.
BASE_URL
,
timeout
:
15000
,
})
let
config
=
{
method
:
'post'
,
url
:
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/propertyinspector/api/v1/sharingplatform/sectListForOneDay'
,
headers
:
{
'X-Requested-With'
:
'XMLHttpRequest'
,
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
,
},
}
let
params
=
{
pageNo
:
1
,
pageSize
:
10000
,
isPublish
:
'1'
,
someday
:
this
.
$moment
(
this
.
date
).
format
(
'YYYY'
)
+
this
.
$moment
(
this
.
date
).
format
(
'MM'
)
+
this
.
$moment
(
this
.
date
).
format
(
'DD'
),
hpb_id
:
'310104000000'
}
config
=
Object
.
assign
(
config
,
{
data
:
qs
.
stringify
(
params
)
})
Axios
(
config
)
.
then
(
res
=>
{
this
.
receipts
=
res
.
data
.
data
.
totalRows
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
data
.
msg
)
})
},
/**
* 获取处置单统计
*/
getDisposal
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_HOME_DISPOSAL
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
disposal
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
},
/**
* 判断是否开启自定义字段
*/
getConfig
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_CONFIG
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
openConfig
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[]).
customKeyEnable
// 是否开启自定义字段存入cookie
this
.
$cookie
.
set
(
'customKeyEnable'
,
this
.
openConfig
)
let
isXuHui
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
this
.
$store
.
commit
(
'CHANGE_ISXUHUI'
,
isXuHui
.
projectArea
==
'xuhui'
)
}
})
},
//调接口跳转专项检查页面
toFangXunFangTai
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_JIANCHADIZHI
,
}).
then
(
res
=>
{
window
.
open
(
res
)
})
},
openOutUrl1
(){
window
.
open
(
'http://962121.fgj.sh.gov.cn/wyweb/shanghaiwuye/web/dataV/riskmanagement/#/'
)
},
openOutUrl2
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_WYGENERATE
,
}).
then
(
res
=>
{
window
.
open
(
res
)
})
},
/**
* 去应急报修
* @params {bxmaintainType} string
*/
toRepair
(
bxmaintainType
,
signStatus
){
this
.
$router
.
push
({
name
:
'repairList'
,
query
:
{
bxmaintainType
:
bxmaintainType
,
signStatus
:
signStatus
}
})
},
/**
* 改变投诉的tab的key
*/
changeTabKey
(
key
,
num
){
if
(
num
==
1
){
this
.
activeKey
=
key
}
else
if
(
num
==
2
){
this
.
activeKey2
=
key
}
},
/**
* 获取投诉问题排行
*/
getTousuQuestion
(
type
){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
params
=
{}
if
(
type
==
'M'
){
params
.
type
=
'A'
params
.
tsMonthly
=
year
+
''
+
(
String
(
month
).
length
==
1
?
'-0'
+
month
:
'-'
+
month
)
}
else
if
(
type
==
'Y'
){
params
.
type
=
'Y'
params
.
dateTime
=
year
+
''
}
else
if
(
type
==
'S'
){
params
.
type
=
'S'
}
params
.
tsNum_desc
=
'desc'
params
.
pageNo
=
1
params
.
pageSize
=
8
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_TOUSUQUESTION_LIST
,
params
:
params
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
tousuQuestionList
[
type
]
=
this
.
$com
.
confirm
(
res
,
'data.content.content'
,
[])
}
})
},
/**
* 获取投诉密度排行
*/
getTousuDensity
(
type
){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
params
=
{}
if
(
type
==
'M'
){
params
.
type
=
'A'
params
.
dateTime
=
year
+
''
+
(
String
(
month
).
length
==
1
?
'-0'
+
month
:
'-'
+
month
)
}
else
if
(
type
==
'Y'
){
params
.
type
=
'Y'
params
.
dateTime
=
year
+
''
}
else
if
(
type
==
'S'
){
params
.
type
=
'S'
params
.
dateTime
=
'20'
}
params
.
pageNo
=
1
params
.
pageSize
=
8
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_TOUSUDENSITY_LIST
,
params
:
params
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
tousuDensityList
[
type
]
=
this
.
$com
.
confirm
(
res
,
'data.content.content'
,
[])
}
})
},
handleExpired
()
{
this
.
$router
.
push
({
name
:
'indCous'
,
query
:
{
date
:
(
this
.
$moment
().
format
(
'L'
)).
split
(
'/'
).
join
(
''
)}})
},
handleWillExpire
()
{
this
.
$router
.
push
({
name
:
'indCous'
,
query
:
{
cdate
:
(
this
.
$moment
().
format
(
'L'
)).
split
(
'/'
).
join
(
''
),
date
:
(
this
.
$moment
().
add
(
'months'
,
5
).
format
(
'L'
)).
split
(
'/'
).
join
(
''
)}})
},
/**
* 去投诉
*/
toTousu
(){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
query
=
{}
if
(
this
.
activeKey
==
'1'
){
if
(
this
.
activeKey2
==
'1'
){
query
.
type
=
'M'
query
.
tsMonthly
=
year
+
''
+
(
String
(
month
).
length
==
1
?
'-0'
+
month
:
'-'
+
month
)
}
else
if
(
this
.
activeKey2
==
'2'
){
query
.
type
=
'Y'
query
.
dateTime
=
year
+
''
}
else
if
(
this
.
activeKey2
==
'3'
){
query
.
type
=
'S'
}
this
.
$router
.
push
({
name
:
'tousuQuestion'
,
query
:
query
})
}
else
if
(
this
.
activeKey
==
'2'
){
if
(
this
.
activeKey2
==
'1'
){
query
.
type
=
'M'
query
.
tsMonthly
=
year
+
''
+
(
String
(
month
).
length
==
1
?
'-0'
+
month
:
'-'
+
month
)
}
else
if
(
this
.
activeKey2
==
'2'
){
query
.
type
=
'Y'
query
.
dateTime
=
year
+
''
}
else
if
(
this
.
activeKey2
==
'3'
){
query
.
type
=
'S'
}
this
.
$router
.
push
({
name
:
'tousuDensity'
,
query
:
query
})
}
},
},
}
</
script
>
<
style
>
#home
{
width
:
100%
;
}
.home-card
{
background
:
#fff
;
padding
:
15px
;
}
.topBox
{
height
:
100%
;
}
.top-font
{
color
:
#818283
;
font-size
:
14px
;
margin-bottom
:
3px
;
}
.top-count
{
color
:
#000
;
font-size
:
28px
;
font-weight
:
600
;
line-height
:
34px
;
}
.top-count-extra
{
color
:
#000
;
font-size
:
24px
;
font-weight
:
600
;
line-height
:
24px
;
}
.middle-right
{
text-align
:
center
;
height
:
calc
(
50%
-
10px
);
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
align-items
:
center
;
cursor
:
pointer
;
}
.middle-right
p
{
font-size
:
14px
;
margin
:
5px
0px
0px
0px
;
font-weight
:
600
;
}
.month
{
height
:
100%
;
background
:
#fff
;
margin-right
:
10px
;
}
.monthTitle
>
span
:first-child
{
font-weight
:
600
;
font-size
:
16px
;
}
.monthTitleNum
{
font-size
:
16px
;
color
:
#0E7CFF
;
font-weight
:
600
;
vertical-align
:
baseline
;
}
.monthBox
{
height
:
calc
(
100%
-
55px
);
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
align-items
:
stretch
;
}
.monthImg
{
margin
:
10%
;
padding-top
:
calc
(
40%
-
11px
);
padding-bottom
:
calc
(
40%
-
11px
);
text-align
:
center
;
cursor
:
pointer
;
border
:
1px
solid
transparent
;
border-radius
:
14%
;
position
:
relative
;
}
.monthHover
{
z-index
:
999
;
position
:
absolute
;
bottom
:
0px
;
left
:
0
;
height
:
50%
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
color
:
#fff
;
border-radius
:
0
0
14%
14%
;
display
:
none
;
line-height
:
100%
;
}
.monthHover
div
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.monthImg
:hover
.monthHover
{
/* height: 50%;
color:#000; */
display
:
block
;
}
.zxjc
.ant-progress-inner
{
background
:
#F4F5F6
;
}
#home
.ant-progress-inner
{
border
:
none
;
}
#home
.ant-tabs-tab-active.ant-tabs-tab
{
line-height
:
31px
;
}
/* #home .ant-tabs-bar.ant-tabs-top-bar{
margin: 0px;
} */
/* #home .ant-tabs-content.ant-tabs-content-animated.ant-tabs-top-content{
height: calc(100% - 55px);
} */
#home
.ant-tabs-tabpane
{
padding
:
0px
15px
10px
15px
;
}
.justify-between
{
display
:
flex
;
justify-content
:
space-between
;
}
.align-center
{
display
:
flex
;
align-items
:
center
;
}
.align-stretch
{
display
:
flex
;
align-items
:
stretch
;
}
.row-number
{
height
:
18px
;
width
:
18px
;
border-radius
:
50%
;
text-align
:
center
;
}
.green
{
color
:
#579D1F
;
}
.blue
{
color
:
#2B87FE
;
}
.hadCheckMonth.green
{
border-color
:
#579D1F
;
}
.hadCheckMonth.blue
{
border-color
:
#2B87FE
;
}
.jiancha
{
height
:
100%
;
background
:
#fff
;
margin
:
0px
10px
;
}
.jianchaTitle
>
span
{
font-weight
:
600
;
font-size
:
16px
;
}
.jianchaBox
{
padding
:
15px
0px
;
height
:
100%
;
}
.jianchaTheme
{
border-right
:
1px
dashed
#eee
;
padding
:
0px
10px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
height
:
100%
;
}
.jianchaThemeNum
{
color
:
#0477FF
;
font-weight
:
600
;
}
.jianchaBoxRight
{
padding
:
0px
10px
0px
30px
;
height
:
100%
;
}
.jianchaPeopleTitle
{
height
:
30px
;
display
:
inline-block
;
vertical-align
:
sub
;
font-weight
:
600
;
}
.fengxian
{
height
:
100%
;
background
:
#fff
;
margin-right
:
10px
;
}
.fengxianTitle
>
span
{
font-weight
:
600
;
font-size
:
16px
;
}
.fengxianBox
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
height
:
calc
(
100%
-
55px
);
}
.fengxianDisposalNum
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
height
:
100%
;
}
.disposalDetailNum
{
color
:
#000
;
font-size
:
16px
;
font-weight
:
700
;
vertical-align
:
middle
;
color
:
#11C3C4
;
}
.repair-top
{
margin
:
0
0.7rem
;
padding-top
:
0.7rem
;
padding-bottom
:
0.3rem
;
flex
:
1
;
border-bottom
:
1px
dashed
#eee
;
}
.repair-btm
{
margin
:
0
0.7rem
;
padding-top
:
0.7rem
;
padding-bottom
:
0.3rem
;
flex
:
1
;
}
.baoxiu
{
height
:
100%
;
background
:
#fff
;
margin
:
0px
10px
;
}
.baoxiuTitle
,
.fengxianTitle
,
.monthTitle
,
.jianchaTitle
{
display
:
flex
;
justify-content
:
space-between
;
border-bottom
:
1px
solid
#eee
;
}
.baoxiuTitle
>
span
{
font-weight
:
600
;
font-size
:
16px
}
.baoxiuBox
{
height
:
calc
(
100%
-
55px
);
display
:
flex
;
flex-direction
:
column
;
font-size
:
0.8rem
;
}
.baoxiuSecondTitle
{
display
:
flex
;
justify-content
:
space-between
;
}
.baoxiuSecondTitle
>
p
{
font-size
:
0.8rem
;
color
:
#000
;
margin-bottom
:
0.3rem
;
}
.baoxiuSecondTitle
>
img
{
height
:
1.2rem
;
margin-top
:
-0.3rem
;
cursor
:
pointer
;
}
.baoxiuMiddleBox
{
display
:
flex
;
}
.baoxiuMiddleBox
>
div
:first-child
{
margin-right
:
0.5rem
;
display
:
flex
;
align-items
:
center
;
}
.baoxiuMiddleBox
>
div
:last-child
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
height
:
100%
;
}
.baoxiuBottomBox
{
display
:
flex
;
margin-top
:
0.3rem
;
justify-content
:
space-between
;
}
.baoxiuBottomBox
>
div
{
width
:
45%
;
}
.baoxiuBottomBoxTitle
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
flex-end
;
}
#home
.tousuQuestion
>
div
{
margin
:
0
;
}
.tousu
{
height
:
100%
;
background
:
#fff
;
margin-left
:
10px
;
position
:
relative
;
}
.tousuIMG
{
height
:
1.2rem
;
cursor
:
pointer
;
position
:
absolute
;
right
:
1rem
;
top
:
1rem
;
z-index
:
10
;
}
.tousuTabTitle
{
font-weight
:
600
;
margin-bottom
:
5px
;
}
.tousuContentRow
{
font-size
:
12px
;
display
:
flex
;
align-items
:
stretch
;
padding
:
3px
0px
;
text-align
:
left
;
}
.tousuRankNum
{
display
:
flex
;
align-items
:
center
;
}
.tousuContent
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.topBox-l
.inner
{
padding
:
1rem
;
width
:
24%
;
display
:
flex
;
justify-content
:
space-between
;
background
:
#fff
;
}
.topBox-l
{
width
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
/* 第二行 */
.secBox
{
margin-top
:
1rem
;
width
:
100%
;
display
:
flex
;
justify-content
:
space-between
;
}
/* 第3行 */
.thirdBox
{
margin-top
:
1rem
;
width
:
100%
;
display
:
flex
;
justify-content
:
space-between
;
}
/* 第四行 */
.fourthBox
{
margin-top
:
1rem
;
width
:
100%
;
display
:
flex
;
justify-content
:
space-between
;
}
</
style
>
src/views/home/ComplaintsTrain.vue
View file @
84a87405
...
@@ -7,18 +7,21 @@
...
@@ -7,18 +7,21 @@
<p
:class=
"`$
{active=='month'?'active':''}`" @click="changeRank('month')">月排行
</p>
<p
:class=
"`$
{active=='month'?'active':''}`" @click="changeRank('month')">月排行
</p>
<p
:class=
"`$
{active=='year'?'active':''}`" @click="changeRank('year')">年排行
</p>
<p
:class=
"`$
{active=='year'?'active':''}`" @click="changeRank('year')">年排行
</p>
<p
:class=
"`$
{active=='total'?'active':''}`" @click="changeRank('total')">总排行
</p>
<p
:class=
"`$
{active=='total'?'active':''}`" @click="changeRank('total')">总排行
</p>
<
p
@
click=
"toMore"
>
···
</p
>
<
!--
<p
@
click=
"toMore"
>
···
</p>
--
>
</div>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"list"
v-for=
"(item,index) in list"
:key=
"index"
>
<div
class=
"list"
v-for=
"(item,index) in list"
:key=
"index"
>
<div
class=
"left"
>
<div
class=
"left"
>
<span
:style=
"`background:$
{index>2?'rgb(229,230,231)':'#000'};color:${index>2?'rgb(96,97,98)':'#FFF'};`">
{{
++
index
}}
</span>
<span
:style=
"`background:$
{index>2?'rgb(229,230,231)':'#000'};color:${index>2?'rgb(96,97,98)':'#FFF'};`">
{{
++
index
}}
</span>
<span>
{{
item
.
complaintType
}}
</span>
<span>
{{
item
.
complaintType
}}
</span>
</div>
</div>
<
div
class=
"danwei"
>
{{
item
.
num
}}
件
</div
>
<
!--
<div
class=
"danwei"
>
{{
item
.
num
}}
件
</div>
--
>
</div>
</div>
</div>
</div>
<!--
<div
class=
"content"
v-else
style=
""
>
<p>
暂无数据...
</p>
</div>
-->
</div>
</div>
</
template
>
</
template
>
...
@@ -45,6 +48,27 @@ export default {
...
@@ -45,6 +48,27 @@ export default {
})
})
}
}
if
(
this
.
moduletitle
==
'投诉问题'
)
{
this
.
getList
()
}
if
(
this
.
moduletitle
==
'报修'
)
{
// 没接口 假数据
this
.
list
=
[
{
complaintType
:
'供电供水设备经常出现故障'
,
_id
:
'高空坠物隐患'
,
},
{
complaintType
:
'日常运作出现状况'
,
_id
:
'高空坠物隐患'
,
},
{
complaintType
:
'各种分摊费和特约维修费'
,
_id
:
'高空坠物隐患'
,
},
]
}
},
},
methods
:
{
methods
:
{
...
mapActions
([
...
mapActions
([
...
@@ -57,6 +81,52 @@ export default {
...
@@ -57,6 +81,52 @@ export default {
this
.
list
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[]).
slice
(
0
,
5
)
this
.
list
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[]).
slice
(
0
,
5
)
})
})
}
}
if
(
this
.
moduletitle
==
'投诉问题'
)
{
this
.
getList
()
}
if
(
this
.
moduletitle
==
'报修'
)
{
// 没接口 假数据
this
.
list
=
[
{
complaintType
:
'供电供水设备经常出现故障'
,
_id
:
'高空坠物隐患'
,
},
{
complaintType
:
'日常运作出现状况'
,
_id
:
'高空坠物隐患'
,
},
{
complaintType
:
'各种分摊费和特约维修费'
,
_id
:
'高空坠物隐患'
,
},
]
}
},
getList
(){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
params
=
{}
if
(
this
.
active
==
'month'
){
params
.
type
=
'M'
params
.
tsMonthly
=
year
+
''
+
(
String
(
month
).
length
==
1
?
'-0'
+
month
:
'-'
+
month
)
}
else
if
(
this
.
active
==
'year'
){
params
.
type
=
'Y'
params
.
dateTime
=
year
+
''
}
else
if
(
this
.
active
==
'total'
){
params
.
type
=
'S'
}
params
.
tsNum_desc
=
'desc'
params
.
pageNo
=
1
params
.
pageSize
=
8
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_TOUSUQUESTION_LIST
,
params
:
params
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
list
=
this
.
$com
.
confirm
(
res
,
'data.content.content'
,
[])
}
})
},
},
toMore
(){
toMore
(){
switch
(
this
.
moduletitle
)
{
switch
(
this
.
moduletitle
)
{
...
@@ -105,16 +175,17 @@ export default {
...
@@ -105,16 +175,17 @@ export default {
.box
.title
>
div
.active
{
.box
.title
>
div
.active
{
color
:
rgb
(
68
,
136
,
245
);
color
:
rgb
(
68
,
136
,
245
);
}
}
.box
.title
>
div
p
:last-child
{
/*
.box .title >div p:last-child{
color: rgb(68,136,245);
color: rgb(68,136,245);
font-weight: 800;
font-weight: 800;
font-size: 20px;
font-size: 20px;
margin: 0;
margin: 0;
}
}
*/
.box
.content
{
.box
.content
{
padding
:
15px
;
padding
:
15px
;
flex
:
1
;
flex
:
1
;
display
:
flex
;
display
:
flex
;
min-height
:
200px
;
flex-direction
:
column
;
flex-direction
:
column
;
}
}
.box
.content
.list
{
.box
.content
.list
{
...
@@ -124,6 +195,7 @@ export default {
...
@@ -124,6 +195,7 @@ export default {
/* cursor: pointer; */
/* cursor: pointer; */
color
:
rgb
(
96
,
97
,
98
);
color
:
rgb
(
96
,
97
,
98
);
align-items
:
center
;
align-items
:
center
;
margin
:
10px
0
;
}
}
.box
.content
.list
.left
{
.box
.content
.list
.left
{
...
...
src/views/houseData/shebei.vue
View file @
84a87405
...
@@ -67,17 +67,20 @@ export default {
...
@@ -67,17 +67,20 @@ export default {
// width: 240,
// width: 240,
dataIndex
:
'ieName'
,
dataIndex
:
'ieName'
,
key
:
'ieName'
,
key
:
'ieName'
,
width
:
'20%'
width
:
'20%'
,
align
:
'center'
,
},
},
{
{
title
:
'安装位置'
,
title
:
'安装位置'
,
dataIndex
:
'ieAddr'
,
dataIndex
:
'ieAddr'
,
align
:
'center'
,
key
:
'ieAddr'
,
key
:
'ieAddr'
,
width
:
'20%'
width
:
'20%'
},
},
{
{
title
:
'设备类型'
,
title
:
'设备类型'
,
align
:
'center'
,
dataIndex
:
'ieType'
,
dataIndex
:
'ieType'
,
key
:
'ieType'
,
key
:
'ieType'
,
width
:
'10%'
width
:
'10%'
...
@@ -85,6 +88,7 @@ export default {
...
@@ -85,6 +88,7 @@ export default {
},
},
{
{
title
:
'维保单位'
,
title
:
'维保单位'
,
align
:
'center'
,
dataIndex
:
'ieUnit'
,
dataIndex
:
'ieUnit'
,
key
:
'ieUnit'
,
key
:
'ieUnit'
,
width
:
'20%'
width
:
'20%'
...
@@ -92,6 +96,7 @@ export default {
...
@@ -92,6 +96,7 @@ export default {
},
},
{
{
title
:
'是否是主出入口'
,
title
:
'是否是主出入口'
,
align
:
'center'
,
dataIndex
:
'isMainGate'
,
dataIndex
:
'isMainGate'
,
key
:
'isMainGate'
,
key
:
'isMainGate'
,
width
:
'10%'
width
:
'10%'
...
@@ -99,6 +104,7 @@ export default {
...
@@ -99,6 +104,7 @@ export default {
},
},
{
{
title
:
'是否有门卫室'
,
title
:
'是否有门卫室'
,
align
:
'center'
,
dataIndex
:
'ffCode'
,
dataIndex
:
'ffCode'
,
key
:
'ffCode'
,
key
:
'ffCode'
,
width
:
'10%'
width
:
'10%'
...
@@ -110,6 +116,7 @@ export default {
...
@@ -110,6 +116,7 @@ export default {
{
{
title
:
'设备名称'
,
title
:
'设备名称'
,
// width: 240,
// width: 240,
align
:
'center'
,
dataIndex
:
'ieName'
,
dataIndex
:
'ieName'
,
key
:
'ieName'
,
key
:
'ieName'
,
width
:
'22%'
width
:
'22%'
...
@@ -117,12 +124,14 @@ export default {
...
@@ -117,12 +124,14 @@ export default {
},
},
{
{
title
:
'安装位置'
,
title
:
'安装位置'
,
align
:
'center'
,
dataIndex
:
'ieAddr'
,
dataIndex
:
'ieAddr'
,
key
:
'ieAddr'
,
key
:
'ieAddr'
,
width
:
'22%'
width
:
'22%'
},
},
{
{
title
:
'设备类型'
,
title
:
'设备类型'
,
align
:
'center'
,
dataIndex
:
'ieType'
,
dataIndex
:
'ieType'
,
key
:
'ieType'
,
key
:
'ieType'
,
width
:
'10%'
width
:
'10%'
...
@@ -130,6 +139,7 @@ export default {
...
@@ -130,6 +139,7 @@ export default {
},
},
{
{
title
:
'维保单位'
,
title
:
'维保单位'
,
align
:
'center'
,
dataIndex
:
'ieUnit'
,
dataIndex
:
'ieUnit'
,
key
:
'ieUnit'
,
key
:
'ieUnit'
,
width
:
'22%'
width
:
'22%'
...
@@ -137,6 +147,7 @@ export default {
...
@@ -137,6 +147,7 @@ export default {
},
},
{
{
title
:
'启用日期'
,
title
:
'启用日期'
,
align
:
'center'
,
dataIndex
:
'ieDate'
,
dataIndex
:
'ieDate'
,
key
:
'ieDate'
,
key
:
'ieDate'
,
width
:
'10%'
width
:
'10%'
...
@@ -148,12 +159,14 @@ export default {
...
@@ -148,12 +159,14 @@ export default {
{
{
title
:
'设备名称'
,
title
:
'设备名称'
,
// width: 240,
// width: 240,
align
:
'center'
,
dataIndex
:
'ieName'
,
dataIndex
:
'ieName'
,
key
:
'ieName'
,
key
:
'ieName'
,
width
:
'10%'
width
:
'10%'
},
},
{
{
align
:
'center'
,
title
:
'安装位置'
,
title
:
'安装位置'
,
dataIndex
:
'ieAddr'
,
dataIndex
:
'ieAddr'
,
key
:
'ieAddr'
,
key
:
'ieAddr'
,
...
@@ -161,6 +174,7 @@ export default {
...
@@ -161,6 +174,7 @@ export default {
},
},
{
{
align
:
'center'
,
title
:
'设备类型'
,
title
:
'设备类型'
,
dataIndex
:
'ieType'
,
dataIndex
:
'ieType'
,
key
:
'ieType'
,
key
:
'ieType'
,
...
@@ -168,6 +182,7 @@ export default {
...
@@ -168,6 +182,7 @@ export default {
},
},
{
{
align
:
'center'
,
title
:
'维保单位'
,
title
:
'维保单位'
,
dataIndex
:
'ieUnit'
,
dataIndex
:
'ieUnit'
,
key
:
'ieUnit'
,
key
:
'ieUnit'
,
...
@@ -176,6 +191,7 @@ export default {
...
@@ -176,6 +191,7 @@ export default {
},
},
{
{
title
:
'启用日期'
,
title
:
'启用日期'
,
align
:
'center'
,
dataIndex
:
'ieDate'
,
dataIndex
:
'ieDate'
,
key
:
'ieDate'
,
key
:
'ieDate'
,
width
:
'8%'
width
:
'8%'
...
@@ -183,12 +199,14 @@ export default {
...
@@ -183,12 +199,14 @@ export default {
},
},
{
{
title
:
'型号'
,
title
:
'型号'
,
align
:
'center'
,
dataIndex
:
'ieModel'
,
dataIndex
:
'ieModel'
,
key
:
'ieModel'
,
key
:
'ieModel'
,
width
:
'5%'
width
:
'5%'
},
},
{
{
title
:
'品牌'
,
title
:
'品牌'
,
align
:
'center'
,
dataIndex
:
'ieBrand'
,
dataIndex
:
'ieBrand'
,
key
:
'ieBrand'
,
key
:
'ieBrand'
,
width
:
'5%'
width
:
'5%'
...
@@ -196,19 +214,22 @@ export default {
...
@@ -196,19 +214,22 @@ export default {
},
},
{
{
title
:
'特种设备代码'
,
title
:
'特种设备代码'
,
dataIndex
:
'specialEquipCode'
,
dataIndex
:
'specialEquipCode'
,
key
:
'specialEquipCode'
,
align
:
'center'
,
width
:
'10%'
width
:
'10%'
},
},
{
{
title
:
'检验单位'
,
title
:
'检验单位'
,
align
:
'center'
,
dataIndex
:
'inspectionUnit'
,
dataIndex
:
'inspectionUnit'
,
key
:
'inspectionUnit'
,
key
:
'inspectionUnit'
,
width
:
'10%'
width
:
'10%'
},
},
{
{
align
:
'center'
,
title
:
'救援电话'
,
title
:
'救援电话'
,
dataIndex
:
'rescuePhone'
,
dataIndex
:
'rescuePhone'
,
key
:
'rescuePhone'
,
key
:
'rescuePhone'
,
...
@@ -219,6 +240,7 @@ export default {
...
@@ -219,6 +240,7 @@ export default {
// 监控
// 监控
jiankong
:
[
jiankong
:
[
{
{
align
:
'center'
,
title
:
'设备名称'
,
title
:
'设备名称'
,
// width: 240,
// width: 240,
dataIndex
:
'ieName'
,
dataIndex
:
'ieName'
,
...
@@ -230,6 +252,7 @@ export default {
...
@@ -230,6 +252,7 @@ export default {
title
:
'安装位置'
,
title
:
'安装位置'
,
dataIndex
:
'ieAddr'
,
dataIndex
:
'ieAddr'
,
key
:
'ieAddr'
,
key
:
'ieAddr'
,
align
:
'center'
,
width
:
'30%'
width
:
'30%'
},
},
...
@@ -237,11 +260,13 @@ export default {
...
@@ -237,11 +260,13 @@ export default {
title
:
'设备类型'
,
title
:
'设备类型'
,
dataIndex
:
'ieType'
,
dataIndex
:
'ieType'
,
key
:
'ieType'
,
key
:
'ieType'
,
align
:
'center'
,
width
:
'10%'
width
:
'10%'
},
},
{
{
title
:
'维保单位'
,
title
:
'维保单位'
,
align
:
'center'
,
dataIndex
:
'ieUnit'
,
dataIndex
:
'ieUnit'
,
key
:
'ieUnit'
,
key
:
'ieUnit'
,
width
:
'30%'
width
:
'30%'
...
@@ -251,6 +276,7 @@ export default {
...
@@ -251,6 +276,7 @@ export default {
// 泵
// 泵
shenghuo
:
[
shenghuo
:
[
{
{
align
:
'center'
,
title
:
'设备名称'
,
title
:
'设备名称'
,
// width: 240,
// width: 240,
dataIndex
:
'ieName'
,
dataIndex
:
'ieName'
,
...
@@ -259,12 +285,14 @@ export default {
...
@@ -259,12 +285,14 @@ export default {
},
},
{
{
align
:
'center'
,
title
:
'安装位置'
,
title
:
'安装位置'
,
dataIndex
:
'ieAddr'
,
dataIndex
:
'ieAddr'
,
key
:
'ieAddr'
,
key
:
'ieAddr'
,
width
:
'18%'
width
:
'18%'
},
},
{
{
align
:
'center'
,
title
:
'设备类型'
,
title
:
'设备类型'
,
dataIndex
:
'ieType'
,
dataIndex
:
'ieType'
,
key
:
'ieType'
,
key
:
'ieType'
,
...
@@ -272,6 +300,7 @@ export default {
...
@@ -272,6 +300,7 @@ export default {
},
},
{
{
align
:
'center'
,
title
:
'维保单位'
,
title
:
'维保单位'
,
dataIndex
:
'ieUnit'
,
dataIndex
:
'ieUnit'
,
key
:
'ieUnit'
,
key
:
'ieUnit'
,
...
@@ -280,6 +309,7 @@ export default {
...
@@ -280,6 +309,7 @@ export default {
},
},
{
{
title
:
'生产厂家'
,
title
:
'生产厂家'
,
align
:
'center'
,
dataIndex
:
'ieFactory'
,
dataIndex
:
'ieFactory'
,
key
:
'ieFactory'
,
key
:
'ieFactory'
,
width
:
'15%'
width
:
'15%'
...
@@ -287,6 +317,7 @@ export default {
...
@@ -287,6 +317,7 @@ export default {
},
},
{
{
title
:
'供水门牌号'
,
title
:
'供水门牌号'
,
align
:
'center'
,
dataIndex
:
'ieWaterDoorplate'
,
dataIndex
:
'ieWaterDoorplate'
,
key
:
'ieWaterDoorplate'
,
key
:
'ieWaterDoorplate'
,
width
:
'18%'
width
:
'18%'
...
...
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