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
2a70fb3e
Commit
2a70fb3e
authored
Apr 08, 2021
by
Gakki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页老界面 + 跳转
parent
ab89cac7
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1140 additions
and
669 deletions
+1140
-669
home.vue
src/views/home.vue
+1140
-669
No files found.
src/views/home.vue
View file @
2a70fb3e
<
template
>
<div
id=
"home"
class=
"layoutPadding"
>
<a-row
type=
"flex"
class=
"align-stretch"
style=
""
>
<div>
<!-- 浦东 -->
<div
id=
"home"
class=
"layoutPadding"
v-if=
"(this.$api.BASE_URL).indexOf('pudong') > -1 || (this.$api.BASE_URL).indexOf('10.220.105.137') > -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;"
>
<a-row>
<a-col
:span=
'9'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
小区数
</p>
<span
class=
"top-count"
>
{{
baseData
.
community
}}
</span>
</div>
<span
class=
"top-count"
>
{{
data
.
community
}}
</span>
</div>
</a-col>
<a-col
:span=
'10'
>
<a-row
style=
"border-left: 1px solid lightgrey; padding-left: 10px; "
>
<a-col
:span=
'16'
v-show=
"1==2"
>
<span
class=
"top-font"
>
本月新增 :
</span>
</a-col>
<a-col
:span=
'8'
v-show=
"1==2"
>
<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;"
>
<a-col
:span=
'16'
v-show=
"1==2"
>
<span
class=
"top-font"
>
本月注销 :
</span>
</a-col>
<a-col
:span=
'8'
v-show=
"1==2"
>
<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"
>
<div
class=
"align-center"
>
<img
src=
"@/assets/icon/xqs.png"
style=
"width:50px;"
alt=
""
>
</div>
</div>
</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
: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-row>
<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-
righ
t:10px;"
>
<div
class=
"home-card topBox"
style=
"margin-
lef
t:10px;"
>
<a-row>
<a-col
:span=
'
9
'
>
<a-col
:span=
'
6
'
>
<div
class=
"justify-between topBox"
>
<div>
<p
class=
"top-font"
>
门牌幢
</p>
<span
class=
"top-count"
>
{{
baseData
.
building
}}
</span>
<p
class=
"top-font"
>
业委会数
</p>
<span
class=
"top-count"
>
{{
data
.
ic
}}
</span>
</div>
</div>
</a-col>
<a-col
:span=
'1
0
'
>
<a-row
style=
"border-left: 1px solid lightgrey;
padding-left: 10px;
"
>
<a-col
:span=
'16'
v-show=
"1==2"
>
<span
class=
"top-font"
>
本月增加 :
</span>
<a-col
:span=
'1
3
'
>
<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'
v-show=
"1==2"
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
0
}}
</span>
<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;"
>
<a-col
:span=
'16'
v-show=
"1==2"
>
<span
class=
"top-font"
>
本月注销 :
</span>
<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'
v-show=
"1==2"
>
<span
class=
"top-count-extra"
style=
"cursor: pointer;"
>
{{
4
}}
</span>
<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
:span=
'1'
></a-col
>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<img
src=
"@/assets/icon/
mpz
s.png"
style=
"width:50px;"
alt=
""
>
<div
class=
"align-center"
style=
"margin-top:
1
0px"
>
<img
src=
"@/assets/icon/
ywh
s.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
}}
</div>
</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=
'9'
>
<!--
<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"
>
{{
baseData
.
company
}}
</span>
<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=
'10'
/>
<a-col
:span=
'1'
/>
<a-col
:span=
'4'
>
<div
class=
"align-center"
style=
"margin-top: 0px"
>
<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>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
区属物业 :
{{
111
}}
</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;"
@
click=
"openOutUrl2"
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=
'12'
>
本市注册 :
{{
222
}}
<a-col
:span=
"6"
>
<span
class=
"jianchaThemeNum"
>
{{
theme
}}
</span>
<!--
<span
class=
"jianchaThemeNum"
>
0
</span>
-->
</a-col>
</a-row>
</div>
<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"
>
<div
class=
"home-card topBox"
style=
""
>
<span
class=
"jianchaThemeNum"
>
{{
sect
}}
</span>
<!--
<span
class=
"jianchaThemeNum"
>
0
</span>
-->
</a-col>
</a-row>
<a-row>
<a-col
:span=
'9'
>
<div
class=
"justify-between topBox"
>
<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>
<p
class=
"top-font"
>
业委会
</p>
<span
class=
"top-count"
>
{{
baseData
.
ic
}}
</span>
</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
:span=
'10'
/>
<a-col
:span=
'1'
/>
<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
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-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-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-col>
<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
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
))?
0
:
parseInt
(((
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifiedCount
/
secRowInfos
.
HOUSING_OFFICE
.
count
.
rectifyCount
)
*
100
))
}}
%
</span>
<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>
<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=
"hoverMonthToFB(item)"
>
<div>
<span>
明细
</span>
</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>
<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>
</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=
"6"
>
<div
class=
"month"
>
<div
class=
"home-card monthTitle"
>
<span>
物企双周查
</span>
<span>
{{
!
parseInt
(((
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifiedCount
/
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifyCount
)
*
100
))?
0
:
parseInt
(((
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifiedCount
/
secRowInfos
.
PROPERTY_BIWEEKLY
.
count
.
rectifyCount
)
*
100
))
}}
%
</span>
<a-col
:span=
"8"
>
<div
class=
"baoxiu"
>
<div
class=
"home-card baoxiuTitle"
>
<span>
应急报修
</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=
"hoverMonthToWY(item)"
>
<div>
<span>
明细
</span>
<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
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
class=
"repair-btm"
>
<div
class=
"baoxiuSecondTitle"
>
<p>
转派物业企业报修
</p>
<img
src=
"@/assets/icon/ddd.png"
alt=
""
@
click=
"toRepair('2', '1')"
>
</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=
"hoverMonthToManager(item)"
>
<div
class=
"baoxiuMiddleBox"
>
<div>
<span>
明细
</span
>
<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
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>
<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>
<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>
</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>
<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>
</
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>
<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>
</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>
<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>
</
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>
<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>
</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>
<a-row
class=
"align-stretch"
style=
"margin-top:10px;height:100%"
>
<a-col
:span=
"12"
style=
"paddingRight:10px;"
>
<div
class=
"home-card"
style=
"margin-top:10px;height:96%
"
>
<ComplaintsTrain
moduletitle=
"投诉问题"
/
>
</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>
</a-col>
<a-col
:span=
"12"
>
<div
class=
"home-card"
style=
"margin-top:10px;height:96%"
>
<ComplaintsTrain
moduletitle=
"报修"
/>
</
template
>
</a-tab-pane>
</a-tabs>
</a-tab-pane>
</a-tabs>
</div>
</a-col>
</a-row>
</div>
</div>
</template>
<
script
>
import
ComplaintsTrain
from
'@/views/home/ComplaintsTrain'
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
ComplaintsTrain
,
EmergencyRepair
,
IndustrySupervision
,
ManagementModule
,
RetrofitElevator
,
RiskDisposal
,
FileModule
,
},
data
()
{
return
{
sect
:
0
,
//已完成小区
theme
:
0
,
//已有主题
receipts
:
0
,
//已开整改单
baseData
:
{},
showMonthOrYear
:
false
,
ok
,
nm
,
date
:
new
Date
(),
titleD
ata
:
{},
d
ata
:
{},
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);'
},
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
,
secRowInfos
:
{
HOUSING_OFFICE
:
{
data
:
[],
count
:
{
rectifyCount
:
0
,
rectifiedCount
:
0
}
expireInFiveMonth
:
0
,
theme
:
0
,
sect
:
0
,
receipts
:
0
,
people
:
[],
tousuQuestionList
:
{
M
:
[],
Y
:
[],
S
:
[],
},
PROPERTY_BIWEEKLY
:
{
data
:
[],
count
:
{
rectifyCount
:
0
,
rectifiedCount
:
0
}
},
COMMUNITY_MANAGER_YEAR
:
{
data
:
[],
count
:
{
rectifyCount
:
0
,
rectifiedCount
:
0
}
},
COMMUNITY_MANAGER_MATH
:
{
data
:
[],
count
:
{
rectifyCount
:
0
,
rectifiedCount
:
0
}
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
.
getFBCheck
()
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
.
getbaseInfo
()
this
.
getReceiptsNum
()
},
updated
(){
this
.
$nextTick
(()
=>
{
this
.
myCanlendar
()
})
},
created
()
{
let
_this
=
this
window
.
clickDate
=
_this
.
clickDate
},
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'
this
.
getRepair
()
this
.
getTousuQuestion
(
'M'
)
this
.
getTousuQuestion
(
'Y'
)
this
.
getTousuQuestion
(
'S'
)
this
.
getTousuDensity
(
'M'
)
this
.
getTousuDensity
(
'Y'
)
this
.
getTousuDensity
(
'S'
)
}
return
[
this
.
$moment
(
start
),
this
.
$moment
(
last
)]
}
})
// })
// 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
:
{
//日历组件
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
&&
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
]
?
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
].
rato
:
0
let
color
=
'rgb(226,235,245)'
if
(
info
)
{
if
(
info
<
0.9
)
{
color
=
'#CC4D4D'
}
else
if
(
info
==
1
)
{
color
=
'#6EB629'
}
else
{
color
=
'#FFD400'
}
}
tab
+=
'<td onclick=clickDate('
+
i
+
') style="border-radius:20%;text-align:center;border:4px solid #fff; cursor: pointer; 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>'
}
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
=
''
}
}
tab
+=
'</tr>'
this
.
$refs
.
calendar
.
innerHTML
=
tab
},
clickDate
(
i
)
{
let
date
=
''
let
month
=
''
if
(
i
>
10
)
{
date
=
i
.
toString
()
}
else
{
date
=
'0'
+
i
}
month
=
new
Date
().
getMonth
()
<
10
?
'0'
+
(
new
Date
().
getMonth
()
+
1
)
+
'-'
+
date
:
(
new
Date
().
getMonth
()
+
1
)
+
'-'
+
date
let
finalDate
=
(
new
Date
().
getFullYear
()
+
'-'
+
month
)
hoverMonth
(
item
){
let
time
=
new
Date
().
getFullYear
()
// console.log(time+'-'+parseInt(item.name))
this
.
$router
.
push
({
'path'
:
'/documents/fiveSearch/managerSelfCheckList'
,
name
:
'month'
,
query
:
{
month
:
finalDate
+
','
+
finalDate
// month: time+'-'+parseInt(item.name) > 10 ? parseInt(item.name): '0' + parseInt(item.name)
month
:
time
+
'-'
+
parseInt
(
item
.
name
)
}
})
},
/**
* 获取dashboard数据
*/
get
baseInfo
(){
get
List
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RESOURE_LIST
,
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
baseD
ata
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
this
.
d
ata
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
...
...
@@ -559,65 +800,40 @@ export default {
})
},
/**
* 获
房办月查完成情况
* 获
取房办月查统计
*/
get
FBCheck
(){
get
HouthMonth
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_
FB_WY_MANAGE_CHECK
,
url
:
this
.
$api
.
GET_
HOUSE_MONTH
,
}).
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'
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
}
})
// 处理物企双周查月份颜色
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'
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
)
}
})
},
...
...
@@ -661,6 +877,48 @@ export default {
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
)
})
},
/**
* 获取已完成检查小区
*/
...
...
@@ -715,170 +973,197 @@ export default {
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
)
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'
,
[])
}
})
},
/**
*
点击月份
*
判断是否开启自定义字段
*/
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
=
''
}
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'
)
}
})
},
hoverMonthToFB
(
item
){
let
time
=
new
Date
().
getFullYear
()
// console.log(time+'-'+parseInt(item.name))
this
.
$router
.
push
({
path
:
'/documents/fiveSearch/monthList'
,
query
:
{
month
:
time
+
'-'
+
parseInt
(
item
.
name
)
}
//调接口跳转专项检查页面
toFangXunFangTai
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_JIANCHADIZHI
,
}).
then
(
res
=>
{
window
.
open
(
res
)
})
},
hoverMonthToWY
(
item
){
let
time
=
new
Date
().
getFullYear
()
// console.log(time+'-'+parseInt(item.name))
this
.
$router
.
push
(
{
'path'
:
'/documents/fiveSearch/doubleWeekCheckList'
,
query
:
{
month
:
time
+
'-'
+
parseInt
(
item
.
name
)
}
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
)
})
},
hoverMonthToManager
(
item
){
let
time
=
new
Date
().
getFullYear
()
const
bigdays
=
31
const
middledays
=
30
const
smalldays
=
28
let
days
=
parseInt
(
item
.
name
)
let
dayType
=
null
// if(days == 1)
switch
(
days
)
{
case
1
:
dayType
=
bigdays
break
case
2
:
dayType
=
smalldays
break
case
3
:
dayType
=
bigdays
break
case
4
:
dayType
=
middledays
break
case
5
:
dayType
=
bigdays
break
case
6
:
dayType
=
middledays
break
case
7
:
dayType
=
bigdays
break
case
8
:
dayType
=
bigdays
break
case
9
:
dayType
=
smalldays
break
case
10
:
dayType
=
bigdays
break
case
11
:
dayType
=
smalldays
break
case
12
:
dayType
=
bigdays
break
default
:
dayType
=
null
break
}
let
parseDateInfo
=
(
parseInt
(
item
.
name
)
>
10
?
time
+
'-'
+
parseInt
(
item
.
name
)
+
'-01,'
+
time
+
'-'
+
parseInt
(
item
.
name
)
+
'-31'
:
time
+
'-'
+
'0'
+
parseInt
(
item
.
name
)
+
'-01,'
+
time
+
'-'
+
'0'
+
parseInt
(
item
.
name
)
+
'-31'
)
/**
* 去应急报修
* @params {bxmaintainType} string
*/
toRepair
(
bxmaintainType
,
signStatus
){
this
.
$router
.
push
({
'path'
:
'/documents/fiveSearch/managerSelfCheckList'
,
name
:
'repairList'
,
query
:
{
month
:
parseDateInfo
// month: time+'-'+parseInt(item.name) > 10 ? parseInt(item.name): '0' + parseInt(item.name)
bxmaintainType
:
bxmaintainType
,
signStatus
:
signStatus
}
})
},
/**
*
获取房办月查统计
*
改变投诉的tab的key
*/
getHouthMonth
(){
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_HOUSE_MONTH
,
url
:
this
.
$api
.
GET_TOUSUQUESTION_LIST
,
params
:
params
}).
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
this
.
tousuQuestionList
[
type
]
=
this
.
$com
.
confirm
(
res
,
'data.content.content'
,
[])
}
})
},
/**
* 获取
处置单统计
* 获取
投诉密度排行
*/
getDisposal
(){
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_HOME_DISPOSAL
,
url
:
this
.
$api
.
GET_TOUSUDENSITY_LIST
,
params
:
params
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
)
{
this
.
disposal
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
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
scoped
>
<
style
>
#home
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.home-card
{
background
:
#fff
;
padding
:
15px
;
...
...
@@ -905,78 +1190,43 @@ export default {
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
;
flex-direction
:
column
;
justify-content
:
space-around
;
align-items
:
center
;
cursor
:
pointer
;
}
.middle-right
p
{
font-size
:
14px
;
margin
:
5px
;
margin
:
5px
0px
0px
0px
;
font-weight
:
600
;
}
.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
{
.monthTitle
>
span
:first-child
{
font-weight
:
600
;
font-size
:
16px
;
}
.monthBottom
>
span
{
font-weight
:
500
;
font-size
:
14px
;
}
.monthBottom
.monthBottomNum
{
color
:
rgb
(
0
,
103
,
251
);
font-size
:
20px
;
.monthTitleNum
{
font-size
:
16px
;
color
:
#0E7CFF
;
font-weight
:
600
;
vertical-align
:
baseline
;
}
.monthBox
{
height
:
calc
(
100%
-
55px
);
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
;
justify-content
:
space-around
;
align-items
:
stretch
;
}
.monthBoxContent
.hoverTest
{
width
:
21%
;
}
.monthImg
{
margin
:
10%
;
padding-top
:
calc
(
40%
-
11px
);
...
...
@@ -1008,15 +1258,26 @@ export default {
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
;
}
...
...
@@ -1051,31 +1312,241 @@ export default {
border-color
:
#2B87FE
;
}
</
style
>
.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%
;
}
<
style
>
#calendar
{
width
:
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
;
}
#calendar
>
.ant-fullcalendar-header
{
display
:
none
;
.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
;
}
#calendar
.ant-fullcalendar
{
border-top
:
0px
;
width
:
100%
;
.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
;
}
#calendar
.ant-fullcalendar-table
{
.topBox-l
{
width
:
100%
;
/* margin-top: -20px; */
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
#calendar
table
{
height
:
auto
;
/* 第二行 */
.secBox
{
margin-top
:
1rem
;
width
:
100%
;
display
:
flex
;
justify-content
:
space-between
;
}
/* 第3行 */
#calendar
.ant-fullcalendar-disabled-cell
{
display
:
none
;
.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
>
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