Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pc
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
wbx-PCAndMobi
pc
Commits
5e9334ea
Commit
5e9334ea
authored
Apr 30, 2021
by
levante
Browse files
Options
Browse Files
Download
Plain Diff
12
parents
70b5ccdf
9978c122
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
3484 additions
and
1652 deletions
+3484
-1652
sidemenu.vue
src/components/Layout/sidemenu.vue
+78
-66
documentsRoutes.json
src/router/documentsRoutes.json
+87
-47
routes.js
src/router/routes.js
+74
-50
xuhuiRoutes.json
src/router/xuhuiRoutes.json
+3
-60
api.js
src/server/api.js
+4
-2
mixins.js
src/util/mixins.js
+2
-2
commenHome.vue
src/views/commenHome.vue
+28
-0
dashBoard.vue
src/views/dashBoard.vue
+0
-947
home.vue
src/views/home.vue
+149
-97
homeXuhui.vue
src/views/homeXuhui.vue
+1552
-0
propertyInfoView.vue
src/views/houseData/propertyInfoView.vue
+1
-1
tbls.vue
src/views/houseData/tbls.vue
+86
-86
edit.vue
src/views/personal/InternalStaff/edit.vue
+15
-8
index.vue
src/views/personal/InternalStaff/index.vue
+12
-14
1
src/views/personal/rizhi/1
+0
-39
feijuInfo.vue
src/views/personal/rizhi/feijuInfo.vue
+12
-9
guanlichu.vue
src/views/personal/rizhi/guanlichu.vue
+114
-0
info.vue
src/views/personal/rizhi/info.vue
+46
-167
jingli.vue
src/views/personal/rizhi/jingli.vue
+114
-0
juese.vue
src/views/personal/rizhi/juese.vue
+170
-0
juweihui.vue
src/views/personal/rizhi/juweihui.vue
+114
-0
rizhiList.vue
src/views/personal/rizhi/rizhiList.vue
+83
-9
tuozhanxinxiguanliInfo.vue
src/views/personal/rizhi/tuozhanxinxiguanliInfo.vue
+130
-0
wuyeqiye.vue
src/views/personal/rizhi/wuyeqiye.vue
+114
-0
xitongInfo.vue
src/views/personal/rizhi/xitongInfo.vue
+0
-0
xitongxinxi.vue
src/views/personal/rizhi/xitongxinxi.vue
+123
-0
yewei.vue
src/views/personal/rizhi/yewei.vue
+114
-0
zhanghuInfo.vue
src/views/personal/rizhi/zhanghuInfo.vue
+199
-0
list.vue
src/views/personal/role/list.vue
+60
-48
No files found.
src/components/Layout/sidemenu.vue
View file @
5e9334ea
...
...
@@ -13,22 +13,34 @@
<a-sub-menu
:key=
"menu.name"
>
<span
slot=
"title"
>
<a-icon
:type=
"menu.meta.menuIcon?menu.meta.menuIcon:'bars'"
/>
<span>
{{
menu
.
meta
.
title
}}
</span>
</span>
<template
v-for=
"child in menu.children"
>
<a-menu-item
:key=
"child.key"
@
click=
"onclick(child.name)"
>
<!--
<a-menu-item
:key=
"child.key"
@
click=
"onclick(child.name)"
>
<a-icon
:type=
"child.meta.menuIcon?child.meta.menuIcon:'bars'"
/>
{{
child
.
meta
.
title
}}
</a-menu-item>
-->
<template
v-if=
"child.meta.title == '系统信息配置' ||child.meta.title == '拓展信息管理' || child.meta.title == '日志管理'"
>
<a-menu-item
v-if=
"$store.state.hasAllRight"
:key=
"child.key"
@
click=
"onclick(child.name)"
>
<a-icon
:type=
"child.meta.menuIcon?child.meta.menuIcon:'bars'"
/>
{{
child
.
meta
.
title
}}
</a-menu-item>
</
template
>
<a-menu-item
v-else
:key=
"child.key"
@
click=
"onclick(child.name)"
>
<a-icon
:type=
"child.meta.menuIcon?child.meta.menuIcon:'bars'"
/>
{{child.meta.title}}
</a-menu-item>
</template>
</a-sub-menu>
</template>
<
template
v-else
>
<
!-- <
template v-else>
<a-menu-item :key="menu.name" @click="onclick(menu.name)">
<a-icon :type="menu.meta.menuIcon?menu.meta.menuIcon:'bars'" />
{{menu.meta.title}}
</a-menu-item>
</
template
>
</template>
-->
</template>
</template>
</a-menu>
...
...
@@ -56,70 +68,70 @@ export default {
},
},
mounted
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_USER_INFO
,
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
isAllPerm
=
res
.
data
.
content
.
isAllPerm
console
.
log
(
this
.
isAllPerm
)
let
menus
=
[]
let
tempmenu
=
[]
let
isLoadExtendMenu
=
this
.
$cookie
.
get
(
'customKeyEnable'
)
for
(
let
i
=
0
;
i
<
routes
.
length
;
i
++
){
if
(
!!
routes
[
i
].
children
){
for
(
let
j
=
0
;
j
<
routes
[
i
].
children
.
length
;
j
++
){
if
(
!!
this
.
isAllPerm
)
{
// 超管访问
if
(
!!
routes
[
i
].
children
[
j
].
meta
.
menuIcon
&&
routes
[
i
].
children
[
j
].
name
==
'systemManagement'
&&
isLoadExtendMenu
==
'false'
){
let
target
=
routes
[
i
].
children
[
j
].
children
if
(
target
.
length
>
0
)
{
for
(
let
k
=
0
;
k
<
target
.
length
;
k
++
)
{
if
(
target
[
k
].
name
==
'tbls'
)
{
if
(
isLoadExtendMenu
==
'true'
)
{
tempmenu
.
push
(
target
[
k
])
}
}
else
{
tempmenu
.
push
(
target
[
k
])
}
}
}
let
lusso
=
routes
[
i
].
children
[
j
]
lusso
.
children
=
[]
lusso
.
children
=
tempmenu
menus
.
push
(
lusso
)
}
else
if
(
!!
routes
[
i
].
children
[
j
].
meta
.
menuIcon
)
{
menus
.
push
(
routes
[
i
].
children
[
j
])
}
//
this.$ajax.get({
//
url: this.$api.GET_USER_INFO,
//
}).then(res => {
//
if(res.code == 200) {
//
this.isAllPerm = res.data.content.isAllPerm
//
console.log(this.isAllPerm)
//
let menus=[]
//
let tempmenu = []
//
let isLoadExtendMenu = this.$cookie.get('customKeyEnable')
//
for(let i=0;i
<
routes
.
length
;
i
++
){
//
if(!!routes[i].children){
//
for(let j=0;j
<
routes
[
i
].
children
.
length
;
j
++
){
//
if(!!this.isAllPerm) { // 超管访问
//
if(!!routes[i].children[j].meta.menuIcon && routes[i].children[j].name == 'systemManagement' && isLoadExtendMenu == 'false'){
//
let target = routes[i].children[j].children
//
if(target.length > 0) {
//
for(let k = 0 ; k
<
target
.
length
;
k
++
)
{
//
if(target[k].name == 'tbls') {
//
if(isLoadExtendMenu == 'true') {
//
tempmenu.push(target[k])
//
}
//
} else {
//
tempmenu.push(target[k])
//
}
//
}
//
}
//
let lusso = routes[i].children[j]
//
lusso.children = []
//
lusso.children = tempmenu
//
menus.push(lusso)
//
} else if (!!routes[i].children[j].meta.menuIcon) {
//
menus.push(routes[i].children[j])
//
}
}
else
if
(
!
this
.
isAllPerm
)
{
// 非超管访问
if
(
routes
[
i
].
children
[
j
].
meta
.
isAllPerm
==
false
)
{
if
(
!!
routes
[
i
].
children
[
j
].
meta
.
menuIcon
&&
routes
[
i
].
children
[
j
].
name
==
'systemManagement'
&&
isLoadExtendMenu
==
'false'
){
let
target
=
routes
[
i
].
children
[
j
].
children
if
(
target
.
length
>
0
)
{
for
(
let
k
=
0
;
k
<
target
.
length
;
k
++
)
{
if
(
target
[
k
].
name
==
'tbls'
)
{
if
(
isLoadExtendMenu
==
'true'
)
{
tempmenu
.
push
(
target
[
k
])
}
}
else
{
tempmenu
.
push
(
target
[
k
])
}
}
}
let
lusso
=
routes
[
i
].
children
[
j
]
lusso
.
children
=
[]
lusso
.
children
=
tempmenu
menus
.
push
(
lusso
)
}
else
if
(
!!
routes
[
i
].
children
[
j
].
meta
.
menuIcon
)
{
menus
.
push
(
routes
[
i
].
children
[
j
])
}
}
}
}
}
}
this
.
menus
=
menus
}
})
//
} else if(!this.isAllPerm) { // 非超管访问
//
if(routes[i].children[j].meta.isAllPerm == false) {
//
if(!!routes[i].children[j].meta.menuIcon && routes[i].children[j].name == 'systemManagement' && isLoadExtendMenu == 'false'){
//
let target = routes[i].children[j].children
//
if(target.length > 0) {
//
for(let k = 0 ; k
<
target
.
length
;
k
++
)
{
//
if(target[k].name == 'tbls') {
//
if(isLoadExtendMenu == 'true') {
//
tempmenu.push(target[k])
//
}
//
} else {
//
tempmenu.push(target[k])
//
}
//
}
//
}
//
let lusso = routes[i].children[j]
//
lusso.children = []
//
lusso.children = tempmenu
//
menus.push(lusso)
//
} else if (!!routes[i].children[j].meta.menuIcon) {
//
menus.push(routes[i].children[j])
//
}
//
}
//
}
//
}
//
}
//
}
//
this.menus=menus
//
}
//
})
},
computed
:
{
menus
(){
...
...
src/router/documentsRoutes.json
View file @
5e9334ea
{
"Layout"
:
[
{
"path"
:
"/documents/fiveSearch"
,
"name"
:
"fiveSearch"
,
"meta"
:
{
"title"
:
"物业三查"
,
"menuPath"
:
true
,
"authCode"
:
"0007"
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
true
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList"
,
"name"
:
"managerSelfCheckList"
,
"meta"
:
{
"title"
:
"小区经理自查"
,
"menuPath"
:
true
,
"authCode"
:
"000701"
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckList"
,
"name"
:
"managerCheckList"
,
"meta"
:
{
"title"
:
"小区经理自查检查单列表"
,
"authCode"
:
"000701"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerCheckInfo"
,
"name"
:
"managerCheckInfo"
,
"meta"
:
{
"title"
:
"小区经理自查检查单详情"
,
"authCode"
:
"00070101"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/managerSelfCheckList/managerAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"authCode"
:
"00070102"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList"
,
"name"
:
"doubleWeekCheckList"
,
"meta"
:
{
"title"
:
"物企双周查"
,
"authCode"
:
"000702"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckList"
,
"name"
:
"doubleCheckList"
,
"meta"
:
{
"title"
:
"物企双周查列表"
,
"authCode"
:
"000702"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckInfo"
,
"name"
:
"doubleCheckInfo"
,
"meta"
:
{
"title"
:
"物企双周查详情"
,
"authCode"
:
"00070201"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"authCode"
:
"00070202"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/documents/fiveSearch/monthList"
,
"name"
:
"month"
,
"meta"
:
{
"title"
:
"房办月查"
,
"authCode"
:
"0006"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/monthList/monthListSect"
,
"name"
:
"monthListSect"
,
"meta"
:
{
"title"
:
"房办月查小区列表"
,
"authCode"
:
"000704"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/monthList/monthListSect/monthInfo"
,
"name"
:
"monthInfo"
,
"meta"
:
{
"title"
:
"检查详情"
,
"authCode"
:
"00070401"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
}
]
},
{
"path"
:
"/documents/fiveSearch/mutableList"
,
"name"
:
"mutableList"
,
"meta"
:
{
"title"
:
"整改单列表"
,
"authCode"
:
"000703"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/mutableList/info"
,
"name"
:
"mutableInfo"
,
"meta"
:
{
"title"
:
"整改单详情"
,
"authCode"
:
"00070301"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
}
]
},
{
"path"
:
"/documents/repair"
,
"name"
:
"repairList"
,
"meta"
:
{
"title"
:
"应急报修"
,
"authCode"
:
"0005"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
...
...
@@ -42,71 +111,42 @@
]
},
{
"path"
:
"/documents/
fiveSearch"
,
"name"
:
"fiveSearch"
,
"meta"
:
{
"title"
:
"
物业五查"
,
"menuPath"
:
true
,
"authCode"
:
"0007"
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
tru
e
},
"path"
:
"/documents/
ledger"
,
"name"
:
"ledger"
,
"meta"
:
{
"title"
:
"
区房屋台账"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
fals
e
},
"children"
:
[
{
"path"
:
"/documents/
fiveSearch/managerSelfCheckList"
,
"name"
:
"managerSelfCheckList"
,
"meta"
:
{
"title"
:
"
小区经理自查"
,
"menuPath"
:
true
,
"authCode"
:
"000701"
,
"hideInBread"
:
false
},
"path"
:
"/documents/
ledger/community"
,
"name"
:
"communityList"
,
"meta"
:
{
"title"
:
"
住宅房屋"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/
fiveSearch/managerSelfCheckList/managerCheckList"
,
"name"
:
"managerCheckList
"
,
"meta"
:
{
"title"
:
"
小区经理自查检查单列表"
,
"authCode"
:
"000701
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"path"
:
"/documents/
ledger/community/info"
,
"name"
:
"communityInfo
"
,
"meta"
:
{
"title"
:
"
详情"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/
fiveSearch/managerSelfCheckList/managerCheckInfo"
,
"name"
:
"managerCheckInfo"
,
"meta"
:
{
"title"
:
"
小区经理自查检查单详情"
,
"authCode"
:
"00070101
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"path"
:
"/documents/
ledger/community/equipment"
,
"name"
:
"equipment"
,
"meta"
:
{
"title"
:
"
设备信息"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/
fiveSearch/managerSelfCheckList/managerAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"
街道检查情况汇总"
,
"authCode"
:
"00070102
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"path"
:
"/documents/
ledger/community/building"
,
"name"
:
"communityBuilding"
,
"meta"
:
{
"title"
:
"
门牌幢列表"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile
"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/documents/
fiveSearch/doubleWeekCheckList"
,
"name"
:
"doubleWeekCheckLis
t"
,
"meta"
:
{
"title"
:
"
物企双周查"
,
"authCode"
:
"000702
"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"path"
:
"/documents/
ledger/NonResident"
,
"name"
:
"NonResiden
t"
,
"meta"
:
{
"title"
:
"
非居房屋"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile
"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/
fiveSearch/doubleWeekCheckList/doubleCheckList"
,
"name"
:
"doubleCheckList"
,
"meta"
:
{
"title"
:
"
物企双周查列表"
,
"authCode"
:
"000702"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
"path"
:
"/documents/
ledger/NonResident/info"
,
"name"
:
"NonResidentInfo"
,
"meta"
:
{
"title"
:
"
非居详情"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleCheckInfo"
,
"name"
:
"doubleCheckInfo"
,
"meta"
:
{
"title"
:
"物企双周查详情"
,
"authCode"
:
"00070201"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/documents/fiveSearch/doubleWeekCheckList/doubleAllIn"
,
"name"
:
"allIn"
,
"meta"
:
{
"title"
:
"街道检查情况汇总"
,
"authCode"
:
"00070202"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/documents/fiveSearch/mutableList"
,
"name"
:
"mutableList"
,
"meta"
:
{
"title"
:
"整改单列表"
,
"authCode"
:
"000703"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/mutableList/info"
,
"name"
:
"mutableInfo"
,
"meta"
:
{
"title"
:
"整改单详情"
,
"authCode"
:
"00070301"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/documents/fiveSearch/monthList"
,
"name"
:
"month"
,
"meta"
:
{
"title"
:
"房办月查"
,
"authCode"
:
"0006"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/monthList/monthListSect"
,
"name"
:
"monthListSect"
,
"meta"
:
{
"title"
:
"房办月查小区列表"
,
"authCode"
:
"000704"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/documents/fiveSearch/monthList/monthListSect/monthInfo"
,
"name"
:
"monthInfo"
,
"meta"
:
{
"title"
:
"检查详情"
,
"authCode"
:
"00070401"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
"path"
:
"/documents/ledger/NonResident/building"
,
"name"
:
"NonResidentBuilding"
,
"meta"
:
{
"title"
:
"非居门牌幢列表"
,
"authCode"
:
"0008"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
}
]
}
...
...
src/router/routes.js
View file @
5e9334ea
...
...
@@ -24,11 +24,7 @@ const appRoutes = [
component
:
resolve
=>
require
([
'@/components/Layout'
],
resolve
),
//Layout,
children
:
[
{
path
:
'/portal-home'
,
name
:
'home'
,
component
:
resolve
=>
require
([
'@/views/home'
],
resolve
),
//Home,
meta
:
{
title
:
'首页'
},
},
{
path
:
'/dashBoard'
,
name
:
'dashBoard'
,
component
:
resolve
=>
require
([
'@/views/dashBoard'
],
resolve
),
//Home,
path
:
'/portal-home'
,
name
:
'home'
,
component
:
resolve
=>
require
([
'@/views/commenHome'
],
resolve
),
//Home,
meta
:
{
title
:
'首页'
},
},
{
path
:
'/person'
,
name
:
'person'
,
component
:
resolve
=>
require
([
'@/views/person-center'
],
resolve
),
//PersonCenter,
...
...
@@ -74,85 +70,113 @@ const appRoutes = [
},
{
// 用户管理
path
:
'/systemManagement/people'
,
name
:
'people'
,
component
:
resolve
=>
require
([
'@/views/personal/InternalStaff/index'
],
resolve
),
//people,
meta
:
{
title
:
'用户管理'
,
authCode
:
'000904'
,
menuPath
:
true
,
menuIcon
:
'
setting
'
,
hideInBread
:
false
,
},
meta
:
{
title
:
'用户管理'
,
authCode
:
'000904'
,
menuPath
:
true
,
menuIcon
:
'
user
'
,
hideInBread
:
false
,
},
children
:
[
{
path
:
'/systemManagement/people/info'
,
name
:
'staffInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/InternalStaff/info'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'账号详情'
,
hideInBread
:
false
,
authCode
:
'00090401'
},
meta
:
{
title
:
'账号详情'
,
hideInBread
:
false
,
authCode
:
'00090401'
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/people/createStaff'
,
name
:
'createStaff'
,
component
:
resolve
=>
require
([
'@/views/personal/InternalStaff/edit'
],
resolve
),
//createStaff,
meta
:
{
title
:
'新增账号'
,
hideInBread
:
false
,
authCode
:
'00090403'
},
meta
:
{
title
:
'新增账号'
,
hideInBread
:
false
,
authCode
:
'00090403'
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/people/editStaff'
,
name
:
'editStaff'
,
component
:
resolve
=>
require
([
'@/views/personal/InternalStaff/edit'
],
resolve
),
//editStaff,
meta
:
{
title
:
'修改账号'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'00090402'
},
meta
:
{
title
:
'修改账号'
,
menuPath
:
false
,
hideInBread
:
false
,
authCode
:
'00090402'
,
},
children
:
[
]
},
]
},
// { // 日志管理
// path: '/systemManagement/rizhi', name: 'rizhi', component: resolve => require(['@/views/personal/rizhi/rizhiList'], resolve), //people,
// meta: { title: '日志管理', authCode: '', menuPath: true, menuIcon: 'setting', hideInBread: false, },
// children: [
// {
// path: '/systemManagement/rizhi/info', name: 'rizhiInfo', component: resolve => require(['@/views/personal/rizhi/info'], resolve), //staffInfo,
// meta: { title: '日志管理详情', hideInBread: false, authCode: '' },
// },
// {
// path: '/systemManagement/rizhi/feijuInfo', name: 'feijuInfo', component: resolve => require(['@/views/personal/rizhi/feijuInfo'], resolve), //staffInfo,
// meta: { title: '日志管理详情', hideInBread: false, authCode: '' },
// },
// {
// path: '/systemManagement/rizhi/xitongInfo', name: 'xitongInfo', component: resolve => require(['@/views/personal/rizhi/xitongInfo'], resolve), //staffInfo,
// meta: { title: '日志管理详情', hideInBread: false, authCode: '' },
// },
// {
// path: '/systemManagement/rizhi/zhanghuInfo', name: 'zhanghuInfo', component: resolve => require(['@/views/personal/rizhi/zhanghuInfo'], resolve), //staffInfo,
// meta: { title: '日志管理详情', hideInBread: false, authCode: '' },
// },
// ]
// },
{
// 日志管理
path
:
'/systemManagement/rizhi'
,
name
:
'rizhi'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/rizhiList'
],
resolve
),
//people,
meta
:
{
title
:
'日志管理'
,
menuPath
:
true
,
menuIcon
:
'barcode'
,
hideInBread
:
false
,
},
children
:
[
{
path
:
'/systemManagement/rizhi/info'
,
name
:
'rizhiInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/info'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/yeweiInfo'
,
name
:
'yeweiInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/yewei'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/wuyeInfo'
,
name
:
'wuyeInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/wuyeqiye'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/guanliInfo'
,
name
:
'guanliInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/guanlichu'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/jingliInfo'
,
name
:
'jingliInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/jingli'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/juweiInfo'
,
name
:
'juweiInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/juweihui'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/feijuInfo'
,
name
:
'feijuInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/feijuInfo'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/tuozhanxinxiguanliInfo'
,
name
:
'tuozhanxinxiguanliInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/tuozhanxinxiguanliInfo'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/xitongxinxi'
,
name
:
'xitongxinxi'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/xitongxinxi'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/jueseInfo'
,
name
:
'jueseInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/juese'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/systemManagement/rizhi/zhanghuInfo'
,
name
:
'zhanghuInfo'
,
component
:
resolve
=>
require
([
'@/views/personal/rizhi/zhanghuInfo'
],
resolve
),
//staffInfo,
meta
:
{
title
:
'日志管理详情'
,
hideInBread
:
false
,
menuPath
:
false
},
},
]
},
]
},
{
path
:
'/house'
,
name
:
'house'
,
component
:
resolve
=>
require
([
'@/components/Layout/content-wrapper'
],
resolve
),
// ContentWrapper,
meta
:
{
title
:
'住宅信息'
,
menuPath
:
true
,
menuIcon
:
'
profil
e'
,
hideInBread
:
true
,
requirePerm
:
false
,
authCode
:
'0001'
},
meta
:
{
title
:
'住宅信息'
,
menuPath
:
true
,
menuIcon
:
'
hom
e'
,
hideInBread
:
true
,
requirePerm
:
false
,
authCode
:
'0001'
},
children
:
[
{
// 小区列表
path
:
'/houseData/basicInfo'
,
name
:
'basicInfo'
,
component
:
resolve
=>
require
([
'@/views/houseData/basicInfo'
],
resolve
),
//basicInfo,
meta
:
{
title
:
'
小区列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000101'
},
meta
:
{
title
:
'
住宅小区'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000101'
,
menuIcon
:
'home'
},
children
:
[
{
path
:
'/houseData/basicInfo/:id'
,
name
:
'basicView'
,
component
:
resolve
=>
require
([
'@/views/houseData/basicView'
],
resolve
),
//BasicView,
meta
:
{
title
:
'小区详细情况'
,
hideInBread
:
false
,
authCode
:
'00010101'
},
meta
:
{
title
:
'小区详细情况'
,
hideInBread
:
false
,
authCode
:
'00010101'
,
menuPath
:
false
},
},
{
path
:
'/houseData/buildings'
,
name
:
'buildings'
,
component
:
resolve
=>
require
([
'@/views/houseData/buildings'
],
resolve
),
//Buildings,
meta
:
{
title
:
'门牌栋'
,
hideInBread
:
false
,
authCode
:
'0001010
3'
},
meta
:
{
title
:
'门牌栋'
,
hideInBread
:
false
,
authCode
:
'0001010
1'
,
menuPath
:
false
},
children
:
[
{
path
:
'/houseData/buildings/:id'
,
name
:
'buildingView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
meta
:
{
title
:
'门牌栋详情'
,
hideInBread
:
false
,
authCode
:
'0001010
3'
}
meta
:
{
title
:
'门牌栋详情'
,
hideInBread
:
false
,
authCode
:
'0001010
1'
,
menuPath
:
false
}
}
]
},
{
path
:
'/houseData/feeStandard'
,
name
:
'feeStandard'
,
component
:
resolve
=>
require
([
'@/views/houseData/feeStandard'
],
resolve
),
//Buildings,
meta
:
{
title
:
'物业收费标准'
,
hideInBread
:
false
,
},
meta
:
{
title
:
'物业收费标准'
,
hideInBread
:
false
,
menuPath
:
false
},
},
{
path
:
'/houseData/shebei/:id'
,
name
:
'shebei'
,
component
:
resolve
=>
require
([
'@/views/houseData/shebei'
],
resolve
),
//Shebei,
meta
:
{
title
:
'设施设备'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'00010101'
},
meta
:
{
title
:
'设施设备'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'00010101'
,
menuPath
:
false
},
},
{
path
:
'/houseData/shebeikanyan/:id'
,
name
:
'shebeiKanyan'
,
component
:
resolve
=>
require
([
'@/views/xuhui/shebeiKanyan'
],
resolve
),
//Shebei,
meta
:
{
title
:
'设施设备(勘验)'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'00010101'
},
meta
:
{
title
:
'设施设备(勘验)'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'00010101'
,
menuPath
:
false
},
},
...
...
@@ -160,7 +184,7 @@ const appRoutes = [
},
{
//业委会列表
path
:
'/houseData/indCous'
,
name
:
'indCous'
,
component
:
resolve
=>
require
([
'@/views/houseData/indCous'
],
resolve
),
//IndCous,
meta
:
{
title
:
'业委会
信息列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000102'
},
meta
:
{
title
:
'业委会
'
,
menuPath
:
true
,
hideInBread
:
false
,
menuIcon
:
'bank'
,
authCode
:
'000102'
},
children
:
[
{
path
:
'/houseData/indCou/:id'
,
name
:
'indCouView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
...
...
@@ -168,11 +192,11 @@ const appRoutes = [
},
{
path
:
'/houseData/members'
,
name
:
'members'
,
component
:
resolve
=>
require
([
'@/views/houseData/members'
],
resolve
),
//Members,
meta
:
{
title
:
'业委会成员列表'
,
hideInBread
:
false
,
authCode
:
'0001020
2'
},
meta
:
{
title
:
'业委会成员列表'
,
hideInBread
:
false
,
authCode
:
'0001020
1'
,
menuPath
:
false
},
children
:
[
{
path
:
'/houseData/member/:id'
,
name
:
'memberView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
meta
:
{
title
:
'业委会成员详情'
,
hideInBread
:
false
,
authCode
:
'0001020
2'
}
meta
:
{
title
:
'业委会成员详情'
,
hideInBread
:
false
,
authCode
:
'0001020
1'
,
menuPath
:
false
}
}
]
},
...
...
@@ -180,27 +204,27 @@ const appRoutes = [
},
{
//物业列表
path
:
'/houseData/propertyInfo'
,
name
:
'propertyInfo'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfo'
],
resolve
),
//PropertyInfo,
meta
:
{
title
:
'物业企业
列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000103'
},
meta
:
{
title
:
'物业企业
'
,
menuPath
:
true
,
menuIcon
:
'appstore'
,
hideInBread
:
false
,
authCode
:
'000103'
},
children
:
[
{
path
:
'/houseData/propertyInfo/:id'
,
name
:
'propertyInfoView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
meta
:
{
title
:
'物业服务企业详细情况'
,
hideInBread
:
false
,
authCode
:
'00010301'
}
meta
:
{
title
:
'物业服务企业详细情况'
,
hideInBread
:
false
,
authCode
:
'00010301'
,
menuPath
:
false
}
}
]
},
{
// 小区管理处
path
:
'/houseData/cmDivision'
,
name
:
'cmDivision'
,
component
:
resolve
=>
require
([
'@/views/houseData/cmDivision'
],
resolve
),
//CmDivision,
meta
:
{
title
:
'小区管理处
列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000104'
},
meta
:
{
title
:
'小区管理处
'
,
menuPath
:
true
,
menuIcon
:
'build'
,
hideInBread
:
false
,
authCode
:
'000104'
},
children
:
[
{
path
:
'/houseData/cmDivision/:id'
,
name
:
'cmDivisionView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
meta
:
{
title
:
'小区管理处详细情况'
,
menuPath
:
tru
e
,
hideInBread
:
false
,
authCode
:
'00010401'
}
meta
:
{
title
:
'小区管理处详细情况'
,
menuPath
:
fals
e
,
hideInBread
:
false
,
authCode
:
'00010401'
}
}
]
},
{
// 小区经理
path
:
'/houseData/managers'
,
name
:
'managers'
,
component
:
resolve
=>
require
([
'@/views/houseData/managers'
],
resolve
),
//Managers,
meta
:
{
title
:
'小区经理
列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000105'
},
meta
:
{
title
:
'小区经理
'
,
menuPath
:
true
,
hideInBread
:
false
,
menuIcon
:
'solution'
,
authCode
:
'000105'
},
children
:
[
{
path
:
'/houseData/managers/:id'
,
name
:
'managerView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
...
...
@@ -210,7 +234,7 @@ const appRoutes = [
},
{
//居委会列表
path
:
'/houseData/neighborhoodCommittees'
,
name
:
'neighborhoodCommittees'
,
component
:
resolve
=>
require
([
'@/views/houseData/neighborhoodCommittees'
],
resolve
),
//neighborhoodCommittees,
meta
:
{
title
:
'居委会
信息列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000106'
},
meta
:
{
title
:
'居委会
'
,
menuPath
:
true
,
hideInBread
:
false
,
menuIcon
:
'shop'
,
authCode
:
'000106'
},
children
:
[
{
path
:
'/houseData/neighborhoodCommittees/:id'
,
name
:
'neighborhoodCommitteesView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
...
...
@@ -222,11 +246,11 @@ const appRoutes = [
},
{
path
:
'/noN'
,
name
:
'feiju'
,
redirect
:
{
name
:
'home'
},
component
:
resolve
=>
require
([
'@/components/Layout/content-wrapper'
],
resolve
),
//ContentWrapper,
meta
:
{
title
:
'非居信息'
,
menuPath
:
true
,
menuIcon
:
'
profile
'
,
hideInBread
:
true
,
authCode
:
'0002'
},
meta
:
{
title
:
'非居信息'
,
menuPath
:
true
,
menuIcon
:
'
laptop
'
,
hideInBread
:
true
,
authCode
:
'0002'
},
children
:
[
{
// 非居列表
path
:
'/houseData/nonResidents'
,
name
:
'nonResidents'
,
component
:
resolve
=>
require
([
'@/views/houseData/nonResidents'
],
resolve
),
//NonResidents,
meta
:
{
title
:
'非居项目信息列表'
,
menuPath
:
true
,
hideInBread
:
false
,
authCode
:
'000201'
},
meta
:
{
title
:
'非居项目信息列表'
,
menuPath
:
true
,
menuIcon
:
'laptop'
,
hideInBread
:
false
,
authCode
:
'000201'
},
children
:
[
{
path
:
'/houseData/nonResident/:id'
,
name
:
'nonResidentsView'
,
component
:
resolve
=>
require
([
'@/views/houseData/propertyInfoView'
],
resolve
),
//PropertyInfoView,
...
...
src/router/xuhuiRoutes.json
View file @
5e9334ea
...
...
@@ -2,76 +2,19 @@
"Layout"
:
[
{
"path"
:
"/order/disposal"
,
"name"
:
"Disposal"
,
"meta"
:
{
"title"
:
"处置单列表"
,
"menuPath"
:
fals
e
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"处置单列表"
,
"menuPath"
:
tru
e
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
false
},
"children"
:[
{
"path"
:
"/order/disposal/disposalList"
,
"name"
:
"disposalList"
,
"meta"
:
{
"title"
:
"处置单列表"
,
"menuPath"
:
fals
e
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
false
},
"meta"
:
{
"title"
:
"处置单列表"
,
"menuPath"
:
tru
e
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/order/disposal/disposalView/:id"
,
"name"
:
"DisposalView"
,
"meta"
:
{
"title"
:
"处置单详情"
,
"menuPath"
:
fals
e
,
"hideInBread"
:
false
}
"meta"
:
{
"title"
:
"处置单详情"
,
"menuPath"
:
tru
e
,
"hideInBread"
:
false
}
}
]
}
]
},
{
"path"
:
"/question/month"
,
"name"
:
"month"
,
"meta"
:
{
"title"
:
"检查单"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:[
{
"path"
:
"/question/month/monthList"
,
"name"
:
"month"
,
"meta"
:
{
"title"
:
"房办月查列表"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/question/month/monthInfo"
,
"name"
:
"monthInfo"
,
"meta"
:
{
"title"
:
"检查详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
}
]
},
{
"path"
:
"/question/repair"
,
"name"
:
"repairList"
,
"meta"
:
{
"title"
:
"应急报修"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:[
{
"path"
:
"/question/repair/repairList"
,
"name"
:
"repairList"
,
"meta"
:
{
"title"
:
"应急报修列表"
,
"menuIcon"
:
"profile"
,
"menuPath"
:
false
,
"hideInBread"
:
false
},
"children"
:
[
{
"path"
:
"/question/repair/repairInfo"
,
"name"
:
"repairInfo"
,
"meta"
:
{
"title"
:
"报修详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
}
]
},
{
"path"
:
"/question/tousu"
,
"name"
:
"tousu"
,
"meta"
:
{
"title"
:
"投诉信息"
,
"menuPath"
:
true
,
"menuIcon"
:
"profile"
,
"hideInBread"
:
true
},
"children"
:
[
{
"path"
:
"/question/tousu/tousuQuestion"
,
"name"
:
"tousuQuestion"
,
"meta"
:
{
"title"
:
"投诉问题排行"
,
"menuPath"
:
true
,
"hideInBread"
:
false
},
"children"
:[
{
"path"
:
"/question/tousu/tousuQuestion/questionInfo"
,
"name"
:
"questionInfo"
,
"meta"
:
{
"title"
:
"投诉问题列表"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
},
{
"path"
:
"/question/tousu/tousuQuestion/tousuDetails"
,
"name"
:
"tousuDetails"
,
"meta"
:
{
"title"
:
"投诉问题详情"
,
"menuPath"
:
false
,
"hideInBread"
:
false
}
}
]
},
{
"path"
:
"/question/tousu/tousuDensity"
,
"name"
:
"tousuDensity"
,
"meta"
:
{
"title"
:
"投诉密度排行"
,
"menuPath"
:
true
,
"hideInBread"
:
false
}
}
]
}
]
}
src/server/api.js
View file @
5e9334ea
...
...
@@ -64,7 +64,8 @@ default: // 默认环境下(开发环境)
// BASE_URL = 'http://31.0.161.39/apiv2'
// BASE_URL = 'http://211.136.105.193/apiv2'
// BASE_URL = 'http://yangpu-hm.omniview.pro/api/v2'
BASE_URL
=
'http://pudong.hm.omniview.pro/api/v2'
BASE_URL
=
'http://xuhui.hm.omniview.pro/api/v2'
// BASE_URL = 'http://pudong.hm.omniview.pro/api/v2'
// BASE_URL = 'http://211.136.105.193/apiv2'
MOCK_URL
=
'https://yapi.omniview.pro/mock/283'
break
...
...
@@ -214,6 +215,7 @@ export default {
GET_ALL_ROLE
:
'/service-permission/menu/tree'
,
//获取权限
GET_USER_CODE
:
'/service-permission/user/menus/code'
,
//获取用户权限
GET_USER_PERM
:
'/service-permission/user/menus/{id}'
,
ROLE_DETAIL
:
'/service-permission/roles/{id}'
,
// 查询角色权限
ADD_ROLE_POST
:
'/service-permission/role'
,
// 新增角色
...
...
@@ -228,7 +230,7 @@ export default {
// PUT_STAFF_LIST: '/service-user-ddd/user', //修改内部人员列表
GET_USERNAME_EXIST
:
'/service-user-ddd/public/check/username/exist'
,
//校验用户名是否存在
GET_CHECK_PHONE_EXIST
:
'/public/check/phone/exist'
,
//判断手机是否存在
GET_REDIS
:
'/service-
user-ddd/user/refresh/
{id}'
,
//后台刷新redis
GET_REDIS
:
'/service-
permission/login/user/perms
{id}'
,
//后台刷新redis
//日志管理
GET_RIZHI
:
'/service-log/operateRecord'
,
//日志列表
...
...
src/util/mixins.js
View file @
5e9334ea
...
...
@@ -11,8 +11,8 @@ export const permission = {
url
:
this
.
$api
.
GET_USER_INFO
}).
then
(
res
=>
{
//后台刷新redis
this
.
$ajax
.
ge
t
({
url
:
this
.
$api
.
GET_REDIS
.
replace
(
'{id}'
,
res
.
data
.
content
.
id
),
this
.
$ajax
.
pos
t
({
url
:
this
.
$api
.
GET_REDIS
.
replace
(
'{id}'
,
'?message='
+
res
.
data
.
content
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
console
.
log
(
1
)
...
...
src/views/commenHome.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"content"
>
<xuhui
v-if=
"(this.$api.BASE_URL).indexOf('xuhui') > -1 || (this.$api.BASE_URL).indexOf('31.0.161.39') > -1||(this.$api.BASE_URL).indexOf('pudong') > -1 || (this.$api.BASE_URL).indexOf('211.136.105.193') > -1"
/>
<home
v-else
/>
</div>
</
template
>
<
script
>
import
xuhui
from
'@/views/homeXuhui'
import
home
from
'@/views/home'
export
default
{
components
:
{
xuhui
,
home
}
}
</
script
>
<
style
scoped
>
.content
{
width
:
100%
;
height
:
100%
;
}
</
style
>
\ No newline at end of file
src/views/dashBoard.vue
deleted
100644 → 0
View file @
70b5ccdf
<
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.vue
View file @
5e9334ea
...
...
@@ -41,13 +41,13 @@
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'7'
>
商品 :
{{
332
}}
商品 :
{{
firstRowInfos
.
condoRows
}}
</a-col>
<a-col
:span=
'7'
>
直管 :
{{
224
}}
直管 :
{{
firstRowInfos
.
straightAndMixedRows
}}
</a-col>
<a-col
:span=
'10'
>
保障及其他 :
{{
321
}}
保障及其他 :
{{
firstRowInfos
.
otherRows
}}
</a-col>
</a-row>
</div>
...
...
@@ -90,7 +90,7 @@
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
有电梯 :
{{
332
}}
有电梯 :
{{
firstRowInfos
.
haveElevatorCount
}}
</a-col>
</a-row>
</div>
...
...
@@ -116,10 +116,10 @@
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
区属物业 :
{{
111
}}
区属物业 :
{{
firstRowInfos
.
areaPropCompanyCount
}}
</a-col>
<a-col
:span=
'12'
>
本市注册 :
{{
222
}}
本市注册 :
{{
firstRowInfos
.
cityPropCompanyCount
}}
</a-col>
</a-row>
</div>
...
...
@@ -145,10 +145,10 @@
</a-row>
<a-row
style=
"border-top:1px solid lightgrey;padding-top: 10px;"
>
<a-col
:span=
'12'
>
近五个月到期 :
{{
11
}}
近五个月到期 :
{{
firstRowInfos
.
willExpireCount
}}
</a-col>
<a-col
:span=
'12'
>
已过期 :
{{
5
}}
已过期 :
{{
firstRowInfos
.
alreadyExpireCount
}}
</a-col>
</a-row>
</div>
...
...
@@ -329,6 +329,20 @@ export default {
sect
:
0
,
//已完成小区
theme
:
0
,
//已有主题
receipts
:
0
,
//已开整改单
// 首行四模块下方数据
firstRowInfos
:
{
alreadyExpireCount
:
0
,
areaPropCompanyCount
:
0
,
cityPropCompanyCount
:
0
,
condoRatio
:
0
,
condoRows
:
0
,
haveElevatorCount
:
0
,
otherRatio
:
0
,
otherRows
:
0
,
straightAndMixedRatio
:
0
,
straightAndMixedRows
:
0
,
willExpireCount
:
0
,
},
baseData
:
{},
showMonthOrYear
:
false
,
...
...
@@ -340,46 +354,46 @@ export default {
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);'
},
{
name
:
'1月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'01'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'02'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'03'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'04'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'05'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'06'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'07'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'08'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'09'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'10'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'11'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'12'
,
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);'
},
{
name
:
'1月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'01'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'02'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'03'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'04'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'05'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'06'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'07'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'08'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'09'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'10'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'11'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'12'
,
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);'
},
{
name
:
'1月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'01'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'2月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'02'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'3月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'03'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'4月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'04'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'5月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'05'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'6月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'06'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'7月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'07'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'8月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'08'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'9月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'09'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'10月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'10'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'11月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'11'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
{
name
:
'12月'
,
check
:
false
,
time
:
this
.
$moment
(
new
Date
()).
format
(
'YYYY'
)
+
'12'
,
hover
:
false
,
totStreet
:
0
,
checkStreet
:
0
,
class
:
''
,
backgroundColor
:
'rgb(226,235,245);'
},
],
expired
:
0
,
secRowInfos
:
{
...
...
@@ -504,8 +518,10 @@ export default {
spaceOnce
=
false
}
let
info
=
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
&&
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
-
1
]
?
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
-
1
].
rato
:
0
let
data_time
=
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
&&
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
-
1
]?
this
.
secRowInfos
.
COMMUNITY_MANAGER_MATH
.
data
[
i
-
1
].
checkTime
.
slice
(
8
,
10
):
100
let
color
=
'rgb(226,235,245)'
console
.
log
(
dateArr
)
if
(
i
==
Number
(
data_time
)){
if
(
info
)
{
if
(
info
<
0.9
)
{
color
=
'#CC4D4D'
...
...
@@ -514,6 +530,7 @@ export default {
}
else
{
color
=
'#FFD400'
}
}
}
// console.log( info,'-------',color)
...
...
@@ -574,9 +591,32 @@ export default {
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
const
{
alreadyExpireCount
=
0
,
areaPropCompanyCount
=
0
,
cityPropCompanyCount
=
0
,
condoRatio
=
0
,
condoRows
=
0
,
haveElevatorCount
=
0
,
otherRatio
=
0
,
otherRows
=
0
,
straightAndMixedRatio
=
0
,
straightAndMixedRows
=
0
,
willExpireCount
=
0
,
}
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
{})
this
.
firstRowInfos
=
{
alreadyExpireCount
,
areaPropCompanyCount
,
cityPropCompanyCount
,
condoRatio
,
condoRows
,
haveElevatorCount
,
otherRatio
,
otherRows
,
straightAndMixedRatio
,
straightAndMixedRows
,
willExpireCount
,
}
}
})
},
...
...
@@ -590,60 +630,72 @@ export default {
if
(
res
.
code
===
'200'
)
{
this
.
secRowInfos
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
{})
if
(
this
.
secRowInfos
.
HOUSING_OFFICE
)
{
this
.
FBPresent
=
String
(
this
.
secRowInfos
.
HOUSING_OFFICE
.
rato
.
value
*
100
).
split
(
'.'
)[
0
]
this
.
FBPresent
=
String
(
this
.
secRowInfos
.
HOUSING_OFFICE
.
rato
*
100
).
split
(
'.'
)[
0
]
}
if
(
this
.
secRowInfos
.
PROPERTY_BIWEEKLY
)
{
this
.
WYPresent
=
String
(
this
.
secRowInfos
.
PROPERTY_BIWEEKLY
.
rato
.
value
*
100
).
split
(
'.'
)[
0
]
this
.
WYPresent
=
String
(
this
.
secRowInfos
.
PROPERTY_BIWEEKLY
.
rato
*
100
).
split
(
'.'
)[
0
]
}
// 处理房办的月份颜色
this
.
secRowInfos
.
HOUSING_OFFICE
.
data
.
forEach
((
ele
,
i
)
=>
{
this
.
FB_month
.
forEach
((
item
,
index
)
=>
{
if
(
ele
.
years_month
==
item
.
time
){
if
(
ele
.
rato
==
1
)
{
// 完成率100 绿色
this
.
FB_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
FB_month
[
i
].
color
=
'#fff'
this
.
FB_month
[
index
].
backgroundColor
=
'#6EB629'
this
.
FB_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
<
.
9
){
// 完成率90以下 红色
this
.
FB_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
FB_month
[
i
].
color
=
'#fff'
this
.
FB_month
[
index
].
backgroundColor
=
'#CC4D4D'
this
.
FB_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
>
0.9
){
// 完成率90到100之间 黄色
this
.
FB_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
FB_month
[
i
].
color
=
'#fff'
this
.
FB_month
[
index
].
backgroundColor
=
'#FFD400'
this
.
FB_month
[
index
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
FB_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
FB_month
[
i
].
color
=
'#2B87FE'
this
.
FB_month
[
index
].
backgroundColor
=
'rgb(226,235,245)'
this
.
FB_month
[
index
].
color
=
'#2B87FE'
}
}
})
})
// 处理物企双周查月份颜色
this
.
secRowInfos
.
PROPERTY_BIWEEKLY
.
data
.
forEach
((
ele
,
i
)
=>
{
this
.
WQ_month
.
forEach
((
item
,
index
)
=>
{
if
(
ele
.
years_month
==
item
.
time
){
if
(
ele
.
rato
==
1
)
{
// 完成率100 绿色
this
.
WQ_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
WQ_month
[
i
].
color
=
'#fff'
this
.
WQ_month
[
index
].
backgroundColor
=
'#6EB629'
this
.
WQ_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
<
.
9
){
// 完成率90以下 红色
this
.
WQ_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
WQ_month
[
i
].
color
=
'#fff'
this
.
WQ_month
[
index
].
backgroundColor
=
'#CC4D4D'
this
.
WQ_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
>
0.9
){
// 完成率90到100之间 黄色
this
.
WQ_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
WQ_month
[
i
].
color
=
'#fff'
this
.
WQ_month
[
index
].
backgroundColor
=
'#FFD400'
this
.
WQ_month
[
index
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
WQ_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
WQ_month
[
i
].
color
=
'#2B87FE'
this
.
WQ_month
[
index
].
backgroundColor
=
'rgb(226,235,245)'
this
.
WQ_month
[
index
].
color
=
'#2B87FE'
}
}
})
})
// 处理小区经理自查月份颜色
this
.
secRowInfos
.
COMMUNITY_MANAGER_YEAR
.
data
.
forEach
((
ele
,
i
)
=>
{
this
.
manager_month
.
forEach
((
item
,
index
)
=>
{
if
(
ele
.
years_month
==
item
.
time
){
if
(
ele
.
rato
==
1
)
{
// 完成率100 绿色
this
.
manager_month
[
i
].
backgroundColor
=
'#6EB629'
this
.
manager_month
[
i
].
color
=
'#fff'
this
.
manager_month
[
index
].
backgroundColor
=
'#6EB629'
this
.
manager_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
<
.
9
){
// 完成率90以下 红色
this
.
manager_month
[
i
].
backgroundColor
=
'#CC4D4D'
this
.
manager_month
[
i
].
color
=
'#fff'
this
.
manager_month
[
index
].
backgroundColor
=
'#CC4D4D'
this
.
manager_month
[
index
].
color
=
'#fff'
}
else
if
(
ele
.
rato
>
0.9
){
// 完成率90到100之间 黄色
this
.
manager_month
[
i
].
backgroundColor
=
'#FFD400'
this
.
manager_month
[
i
].
color
=
'#fff'
this
.
manager_month
[
index
].
backgroundColor
=
'#FFD400'
this
.
manager_month
[
index
].
color
=
'#fff'
}
else
{
// 无数据状态
this
.
manager_month
[
i
].
backgroundColor
=
'rgb(226,235,245)'
this
.
manager_month
[
i
].
color
=
'#2B87FE'
this
.
manager_month
[
index
].
backgroundColor
=
'rgb(226,235,245)'
this
.
manager_month
[
index
].
color
=
'#2B87FE'
}
}
})
})
}
...
...
src/views/homeXuhui.vue
0 → 100644
View file @
5e9334ea
<
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=
""
@
click=
"openOutUrl2"
>
</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/houseData/propertyInfoView.vue
View file @
5e9334ea
...
...
@@ -5,7 +5,7 @@
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
详情
</span>
<div
class=
"detailOperations"
>
<
a-button
v-if=
"urls.name == 'propertyInfoView'"
@
click=
"$router.push(
{path: `/houseData/basicInfo`,query:{id:$route.query.id,name:$route.query.name}})"> 查看管理小区列表
</a-button
>
<
!--
<a-button
v-if=
"urls.name == 'propertyInfoView'"
@
click=
"$router.push(
{path: `/houseData/basicInfo`,query:{id:$route.query.id,name:$route.query.name}})"> 查看管理小区列表
</a-button>
--
>
<a-button
@
click=
"handleReturn"
>
返回
</a-button>
</div>
</div>
...
...
src/views/houseData/tbls.vue
View file @
5e9334ea
...
...
@@ -5,7 +5,7 @@
<a-col
:span=
"3"
style=
"border-right:1px solid #ccc;height:100%; position:relative"
>
<span
class=
"menu_header"
>
拓展信息管理列表
</span>
<a-menu
mode=
"vertical"
:selectedKeys=
"selectedKeys"
>
<a-menu-item
:key=
"k"
v-show=
"$permission(
formatPermission(item)
)"
v-for=
"(item,k) in tblsLists"
@
click=
"clickMenu(k)"
>
<a-menu-item
:key=
"k"
v-show=
"$permission(
'00000201'
)"
v-for=
"(item,k) in tblsLists"
@
click=
"clickMenu(k)"
>
{{
item
}}
</a-menu-item>
</a-menu>
...
...
@@ -15,7 +15,7 @@
<a-form
class=
"protalForm"
:form=
"searchForm"
>
<a-row
type=
"flex"
justify=
"space-between"
align=
"middle"
>
<a-col
span=
"6"
>
<a-button
class=
"addZiduan"
v-if=
"$permission(
formatDeletePermission()
)"
type=
"primary"
@
click=
"showModal()"
ghost
>
新增字段
</a-button>
<a-button
class=
"addZiduan"
v-if=
"$permission(
'0000020102'
)"
type=
"primary"
@
click=
"showModal()"
ghost
>
新增字段
</a-button>
<div
>
<a-modal
:title=
"!isChangeZdy ? '新增字段':'修改字段'"
v-model=
"visible"
@
cancel=
"handleCancel"
@
ok=
"handleOk"
>
<a-form
class=
"protalForm"
:form=
"form"
>
...
...
@@ -86,11 +86,11 @@
<!-- table -->
<a-table
bordered
class=
"portalTable"
:dataSource=
"taskCollectList"
:columns=
"columns"
size=
"small"
:pagination=
"pagination"
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<span
class=
"actionBtn"
v-if=
"$permission(
formatDeletePermission()
)"
@
click=
"showDelModal(record)"
>
删除
<a-divider
type=
"vertical"
/></span>
<span
class=
"actionBtn"
v-if=
"$permission(
'0000020102'
)"
@
click=
"showDelModal(record)"
>
删除
<a-divider
type=
"vertical"
/></span>
<a-modal
title=
"警告"
v-model=
"visibleDel"
@
ok=
"del(record)"
>
<p>
该字段可能已被使用,是否确定删除?
</p>
</a-modal>
<span
class=
"actionBtn"
v-if=
"$permission(
formatDeletePermission()
)"
@
click=
"setKey(record)"
>
修改
</span>
<span
class=
"actionBtn"
v-if=
"$permission(
'0000020102'
)"
@
click=
"setKey(record)"
>
修改
</span>
</span>
</a-table>
...
...
@@ -200,89 +200,89 @@ export default {
}
},
methods
:
{
formatPermission
(
item
){
let
permissionNum
=
null
switch
(
item
)
{
case
'小区'
:
permissionNum
=
'00000201'
break
case
'门牌幢'
:
permissionNum
=
'00000202'
break
case
'设施设备'
:
permissionNum
=
'00000203'
break
case
'物业企业'
:
permissionNum
=
'00000204'
break
case
'业主大会'
:
permissionNum
=
'00000205'
break
case
'业委会成员'
:
permissionNum
=
'00000206'
break
case
'小区管理处'
:
permissionNum
=
'00000209'
break
case
'小区经理'
:
permissionNum
=
'00000210'
break
case
'居委会信息'
:
permissionNum
=
'00000211'
break
case
'非居信息'
:
permissionNum
=
'00000212'
break
case
'非居门牌幢信息'
:
permissionNum
=
'00000213'
break
default
:
break
}
return
permissionNum
//
formatPermission(item){
//
let permissionNum = null
//
switch (item) {
//
case '小区':
//
permissionNum = '00000201'
//
break
//
case '门牌幢':
//
permissionNum = '00000202'
//
break
//
case '设施设备':
//
permissionNum = '00000203'
//
break
//
case '物业企业':
//
permissionNum = '00000204'
//
break
//
case '业主大会':
//
permissionNum = '00000205'
//
break
//
case '业委会成员':
//
permissionNum = '00000206'
//
break
//
case '小区管理处':
//
permissionNum = '00000209'
//
break
//
case '小区经理':
//
permissionNum = '00000210'
//
break
//
case '居委会信息':
//
permissionNum = '00000211'
//
break
//
case '非居信息':
//
permissionNum = '00000212'
//
break
//
case '非居门牌幢信息':
//
permissionNum = '00000213'
//
break
//
default:
//
break
//
}
//
return permissionNum
},
formatDeletePermission
(){
let
deletePermissionNum
=
null
switch
(
this
.
selectedKeys
[
0
])
{
case
'tbl_community'
:
deletePermissionNum
=
'0000020102'
break
case
'tbl_building'
:
deletePermissionNum
=
'0000020202'
break
case
'tbl_facilities_equipment'
:
deletePermissionNum
=
'0000020302'
break
case
'tbl_prop_company'
:
deletePermissionNum
=
'0000020402'
break
case
'tbl_industry_council'
:
deletePermissionNum
=
'0000020502'
break
case
'tbl_ic_member'
:
deletePermissionNum
=
'0000020602'
break
case
'tbl_community_amst_office'
:
deletePermissionNum
=
'0000020902'
break
case
'tbl_community_manager'
:
deletePermissionNum
=
'0000021002'
break
case
'tbl_residents_committees'
:
deletePermissionNum
=
'0000021102'
break
case
'tbl_non_resident'
:
deletePermissionNum
=
'0000021202'
break
case
'tbl_non_resident_building'
:
deletePermissionNum
=
'0000021302'
break
default
:
break
}
return
deletePermissionNum
},
//
},
//
formatDeletePermission(){
//
let deletePermissionNum = null
//
switch (this.selectedKeys[0]) {
//
case 'tbl_community':
//
deletePermissionNum = '0000020102'
//
break
//
case 'tbl_building':
//
deletePermissionNum = '0000020202'
//
break
//
case 'tbl_facilities_equipment':
//
deletePermissionNum = '0000020302'
//
break
//
case 'tbl_prop_company':
//
deletePermissionNum = '0000020402'
//
break
//
case 'tbl_industry_council':
//
deletePermissionNum = '0000020502'
//
break
//
case 'tbl_ic_member':
//
deletePermissionNum = '0000020602'
//
break
//
case 'tbl_community_amst_office':
//
deletePermissionNum = '0000020902'
//
break
//
case 'tbl_community_manager':
//
deletePermissionNum = '0000021002'
//
break
//
case 'tbl_residents_committees':
//
deletePermissionNum = '0000021102'
//
break
//
case 'tbl_non_resident':
//
deletePermissionNum = '0000021202'
//
break
//
case 'tbl_non_resident_building':
//
deletePermissionNum = '0000021302'
//
break
//
default:
//
break
//
}
//
return deletePermissionNum
//
},
//默认时间框
chooseDate
(
date
,
dateString
)
{
...
...
src/views/personal/InternalStaff/edit.vue
View file @
5e9334ea
...
...
@@ -36,15 +36,16 @@
<a-row
class=
"formItemLine"
>
<a-col
span=
"8"
>
<a-form-item
label=
"机构类型"
v-bind=
"colSpe"
>
<a-select
placeholder=
"请选择"
allowClear
mode=
"multip"
v-decorator=
"['orgType',
{initialValue:'2',
<a-select
placeholder=
"请选择"
allowClear
mode=
"multip"
@
change=
"changeType"
v-decorator=
"['orgType',
{initialValue:'2',
validateTrigger: 'change', rules: [ { required: true, message: '请选择机构类型!' } ]
}]">
<a-select-option
value=
"2"
>
房办
</a-select-option>
<a-select-option
value=
"4"
>
区级
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col
span=
"8"
>
<a-form-item
label=
"机构名称"
v-bind=
"colSpe"
>
<a-col
span=
"8"
v-if=
"show"
>
<a-form-item
label=
"机构名称"
v-bind=
"colSpe"
>
<a-select
placeholder=
"请选择"
allowClear
mode=
"multi"
v-decorator=
"['DorgId',
{
validateTrigger: 'change', rules: [ { required: true, message: '请选择机构名称!' } ]
}]">
...
...
@@ -80,6 +81,7 @@ export default {
},
data
()
{
return
{
show
:
true
,
exclusionRoleIds
:
[
'999999'
,
],
userRoldIDsOrg
:
[],
orgnazation
:
[],
...
...
@@ -104,6 +106,7 @@ export default {
// 从个人中心-账户信息跳过来的不能修改手机号
this
.
fromCenter
=
!!
this
.
$route
.
query
.
id
},
mounted
()
{
this
.
$ajax
.
get
({
...
...
@@ -165,8 +168,8 @@ export default {
if
(
values
.
phone2
)
{
values
.
phone
+=
values
.
phone2
}
values
.
orgId
=
this
.
searchForm
.
getFieldValue
(
'DorgId'
)
.
split
(
'#'
)[
0
]
values
.
orgName
=
this
.
searchForm
.
getFieldValue
(
'DorgId'
)
.
split
(
'#'
)[
1
]
values
.
orgId
=
this
.
searchForm
.
getFieldValue
(
'DorgId'
)
?
this
.
searchForm
.
getFieldValue
(
'DorgId'
).
split
(
'#'
)[
0
]:
''
values
.
orgName
=
this
.
searchForm
.
getFieldValue
(
'DorgId'
)
?
this
.
searchForm
.
getFieldValue
(
'DorgId'
).
split
(
'#'
)[
1
]:
''
values
.
notes
.
forEach
((
item
,
index
)
=>
{
if
(
index
==
0
)
{
values
.
roleIds
+=
item
.
key
...
...
@@ -268,9 +271,13 @@ export default {
})
}
},
//获取机构名称的下拉框
changeOrg
(){
changeType
(
val
){
console
.
log
(
val
)
if
(
val
==
4
){
this
.
show
=
false
}
else
{
this
.
show
=
true
}
},
//获取id 对应的账户信息
getDetail
()
{
...
...
src/views/personal/InternalStaff/index.vue
View file @
5e9334ea
...
...
@@ -45,9 +45,9 @@
<!--
<a-menu-item
v-if=
"$permission('00090401')"
class=
"actionBtn"
key=
"4"
>
重置密码
</a-menu-item>
-->
<!--
<a-menu-item
class=
"actionBtn"
key=
"2"
v-if=
"$permission('S00011416')"
>
禁用
</a-menu-item>
-->
<a-menu-item
class=
"actionBtn"
v-if=
"$permission('00090405')"
key=
"1"
@
click=
'(event)=>
{showOpeations(event.key,record)}'> 启用
</a-menu-item>
<a-menu-item
class=
"actionBtn"
v-if=
"$permission('00090406')"
key=
"3"
@
click=
'(event)=>
{showOpeations(event.key,record)}'> 注销
<
/a-menu-item
>
<
!--
<
a-menu-item
class=
"actionBtn"
v-if=
"$permission('00090405')"
key=
"1"
@
click=
'(event)=>
{showOpeations(event.key,record)}'> 启用
</a-menu-item>
<a-menu-item
class=
"actionBtn"
v-if=
"$permission('00090406')"
key=
"3"
@
click=
'(event)=>
{showOpeations(event.key,record)}'> 注销
-->
<
!--
</a-menu-item>
--
>
<a-menu-item
class=
"actionBtn"
v-if=
"$permission('00090402')"
@
click=
"handleEdit(record)"
>
修改
</a-menu-item>
</a-menu>
...
...
@@ -184,16 +184,6 @@ export default {
customRender
:
'roleIds'
,
},
},
{
title
:
'状态'
,
align
:
'center'
,
dataIndex
:
'status'
,
key
:
'status'
,
width
:
'13%'
,
scopedSlots
:
{
customRender
:
'status'
,
},
},
{
title
:
'手机号'
,
align
:
'center'
,
...
...
@@ -213,6 +203,14 @@ export default {
]
}
},
watch
:
{
$route
(
cur
)
{
if
(
cur
)
{
this
.
getSearchParams
()
this
.
getRoleList
()
}
},
},
mounted
()
{
if
(
this
.
$route
.
name
==
'people'
){
this
.
$nextTick
(
function
()
{
...
...
@@ -342,7 +340,7 @@ export default {
let
searchParms
=
{
pageNo
:
this
.
pagination
.
current
,
pageSize
:
this
.
pagination
.
pageSize
,
phone_ne
:
0
}
searchParms
=
Object
.
assign
({},
searchParms
,
this
.
searchForm
.
getFieldsValue
())
if
(
searchParms
.
roleIds_in
&&
searchParms
.
roleIds_in
.
length
>
0
)
{
...
...
src/views/personal/rizhi/1
deleted
100644 → 0
View file @
70b5ccdf
// {
// "path": "/documents/ledger", "name": "ledger",
// "meta": { "title": "区房屋台账","authCode":"0008", "menuIcon": "profile", "menuPath": true, "hideInBread": false },
// "children": [
// {
// "path": "/documents/ledger/community", "name": "communityList",
// "meta": { "title": "住宅房屋","authCode":"000801", "menuIcon": "profile", "menuPath": true, "hideInBread": false },
// "children": [
// {
// "path": "/documents/ledger/community/info", "name": "communityInfo",
// "meta": { "title": "详情","authCode":"00080101", "menuIcon": "profile", "menuPath": false, "hideInBread": false }
// },
// {
// "path": "/documents/ledger/community/equipment", "name": "equipment",
// "meta": { "title": "设备信息","authCode":"000801010102", "menuIcon": "profile", "menuPath": false, "hideInBread": false }
// },
// {
// "path": "/documents/ledger/community/building", "name": "communityBuilding",
// "meta": { "title": "门牌幢列表","authCode":"0008010101", "menuIcon": "profile", "menuPath": false, "hideInBread": false }
// }
// ]
// },
// {
// "path": "/documents/ledger/NonResident", "name": "NonResident",
// "meta": { "title": "非居房屋","authCode":"000802", "menuIcon": "profile", "menuPath": true, "hideInBread": false },
// "children": [
// {
// "path": "/documents/ledger/NonResident/info", "name": "NonResidentInfo",
// "meta": { "title": "非居详情","authCode":"000802", "menuIcon": "profile", "menuPath": false, "hideInBread": false }
// },
// {
// "path": "/documents/ledger/NonResident/building", "name": "NonResidentBuilding",
// "meta": { "title": "非居门牌幢列表","authCode":"00080202", "menuIcon": "profile", "menuPath": false, "hideInBread": false }
// }
// ]
// }
// ]
// }
\ No newline at end of file
src/views/personal/rizhi/feijuInfo.vue
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<Loader
/>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
...
...
@@ -9,16 +8,19 @@
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<!-- 小区 -->
<div
v-if=
"$route.name == 'feijuInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_
community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 8
}" :wrapper-col="{ span: 12 }">
<a-form-item
v-for=
"(item,k) in extList.tbl_
non_resident"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9
}" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
...
...
@@ -29,7 +31,7 @@
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span:
8
}" :wrapper-col="{ span: 12 }">
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span:
9
}" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
...
...
@@ -44,7 +46,7 @@
<
script
>
export
default
{
name
:
'
rizhi
Info'
,
name
:
'
feiju
Info'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
...
...
@@ -55,12 +57,13 @@ export default {
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
tbl_non_resident
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'
rizhi
Info'
){
if
(
this
.
$route
.
name
==
'
feiju
Info'
){
this
.
getList
()
}
},
...
...
@@ -75,10 +78,10 @@ export default {
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_
community
'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_
non_resident
'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_
community
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
this
.
extList
.
tbl_
non_resident
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
...
...
src/views/personal/rizhi/guanlichu.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'guanliInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community_amst_office"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'guanliInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'guanliInfo'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_community_amst_office'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_community_amst_office
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/info.vue
View file @
5e9334ea
...
...
@@ -11,135 +11,17 @@
<!-- 小区 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<!-- 业委会信息 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<!-- 物业企业 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<!-- 小区管理处 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<!-- 小区经理 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
<a-form
class=
"protalForm"
:form=
"form"
>
<a-form-item
v-for=
"(ele,k) in extList.tbl_community"
:key=
"k"
:label=
"ele.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
:value=
"ele.keyVal"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
...
...
@@ -150,37 +32,7 @@
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<!-- 小区居委会信息 -->
<div
v-if=
"$route.name == 'rizhiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
操作说明:
{{
content
.
pointName
}}
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
<a-input
:value=
"item.keyValue"
:key=
"key"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
...
...
@@ -188,6 +40,7 @@
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
...
...
@@ -195,9 +48,10 @@
<
script
>
export
default
{
name
:
'rizhiInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
form
:
this
.
$form
.
createForm
(
this
),
//表单验证
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
...
...
@@ -206,6 +60,9 @@ export default {
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
keyCode
:
[],
key
:
''
,
text
:
''
,
content
:
{}
}
},
...
...
@@ -219,18 +76,40 @@ export default {
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
const
data
=
this
.
content
.
dataAfterObj
this
.
data
=
this
.
content
.
dataAfterObj
?
JSON
.
parse
(
this
.
content
.
dataAfterObj
.
extJson
):
null
const
dataCode
=
this
.
content
.
dataBeforeObj
this
.
dataCode
=
this
.
content
.
dataBeforeObj
?
JSON
.
parse
(
this
.
content
.
dataBeforeObj
.
extJson
):
null
if
(
res
.
code
==
'200'
)
{
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_community'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_community
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
if
(
this
.
data
!=
null
){
for
(
let
init
in
this
.
data
)
{
this
.
extList
.
tbl_community
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
keyCode
==
init
){
this
.
extList
.
tbl_community
[
index
].
keyValue
=
this
.
data
[
init
]
}
})
}
}
if
(
this
.
dataCode
!=
null
){
for
(
let
ini
in
this
.
dataCode
)
{
this
.
extList
.
tbl_community
.
forEach
((
ele
,
index
)
=>
{
if
(
ele
.
keyCode
==
ini
){
this
.
extList
.
tbl_community
[
index
].
keyVal
=
this
.
dataCode
[
ini
]
}
})
}
}
}
})
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
})
},
},
...
...
src/views/personal/rizhi/jingli.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'jingliInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community_manager"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'jingliInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'jingliInfo'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_community_manager'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_community_manager
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/juese.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'jueseInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<div
class=
"layoutMargin detailsPartSection contentPadding"
>
<a-form
class=
"portalDetailContentBody"
:form=
"formData"
>
<p>
角色名称:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
roleName
:
''
}}
</span>
</p>
<a-tree
class=
"portalRoleTree"
v-if=
"showTree"
checkable
:treeData=
"treeData"
:defaultExpandedKeys=
'expandedKeys1'
v-model=
"checkedKeys1"
disabled=
"disabled"
/>
</a-form>
</div>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<div
class=
"layoutMargin detailsPartSection contentPadding"
>
<a-form
class=
"portalDetailContentBody"
:form=
"formData"
>
<p>
角色名称:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
roleName
:
''
}}
</span>
</p>
<a-tree
class=
"portalRoleTree"
v-if=
"showTree"
checkable
:treeData=
"treeData"
:defaultExpandedKeys=
'expandedKeys'
v-model=
"checkedKeys"
disabled=
"disabled"
/>
</a-form>
</div>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'jueseInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
showTree
:
false
,
treeData
:
[],
expandedKeys
:
[],
checkedKeys
:
[],
expandedKeys1
:
[],
checkedKeys1
:
[],
roleName
:
null
,
userCount
:
null
,
roleIds
:
[],
// 功能点的id数组
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'jueseInfo'
){
this
.
getList
()
this
.
getTree
()
}
},
beforeCreate
()
{
this
.
formData
=
this
.
$form
.
createForm
(
this
)
},
methods
:
{
getTree
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_ALL_ROLE
+
'?isTree=true'
}).
then
(
res
=>
{
const
data
=
res
.
data
.
content
this
.
parentId
=
data
.
id
data
.
forEach
((
item
,
index
)
=>
{
this
.
treeData
.
push
(
this
.
getTreeNode
(
item
,
index
))
})
this
.
getList
(
this
.
$route
.
query
.
id
)
})
},
getList
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
){
this
.
content
=
res
.
data
.
content
const
data
=
res
.
data
.
content
this
.
roleName
=
data
.
roleName
this
.
userCount
=
data
.
userCount
this
.
expandedKeys
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
checkedKeys
))
this
.
expandedKeys1
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
checkedKeys1
))
this
.
showTree
=
true
if
(
data
.
dataBeforeObj
){
this
.
checkedKeys1
=
data
.
dataBeforeObj
.
perm
.
map
((
item
)
=>
{
return
item
.
id
})
}
if
(
data
.
dataAfterObj
){
this
.
checkedKeys
=
data
.
dataAfterObj
.
perm
.
map
((
item
)
=>
{
return
item
.
id
})
}
}
else
{
this
.
$message
.
error
(
res
.
msg
)
}
})
},
getTreeNode
(
item
,
index
){
let
childrenNode
=
{}
if
(
this
.
roleIds
.
length
>
0
&&
this
.
roleIds
.
indexOf
(
item
.
id
)
<
0
&&
!
this
.
$store
.
state
.
userInfos
.
isAllPerm
){
childrenNode
=
{
title
:
item
.
permName
,
key
:
item
.
id
,
disabled
:
true
,
}
}
else
{
childrenNode
=
{
title
:
item
.
permName
,
key
:
item
.
id
}
}
if
(
item
.
childList
&&
item
.
childList
.
length
){
childrenNode
.
children
=
[]
item
.
childList
.
forEach
((
subItem
,
subIndex
)
=>
{
const
subkey
=
subItem
.
id
childrenNode
.
children
.
push
(
this
.
getTreeNode
(
subItem
,
subkey
))
})
}
return
childrenNode
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/juweihui.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'juweiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_residents_committees"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'juweiInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'juweiInfo'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_residents_committees'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_residents_committees
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/rizhiList.vue
View file @
5e9334ea
<
template
>
<div>
<div
class=
"routerWapper AccountManagement"
v-if=
"$route.name == 'rizhi'"
>
<div
class=
"routerWapper AccountManagement"
v-if=
"$route.name == 'rizhi'
&&$permission('0010')
"
>
<div
class=
"routerContent layoutMargin layoutPadding"
>
<!-- 搜索区 -->
<a-form
class=
"protalForm"
:form=
"searchForm"
style=
"padding: 0px 10px;"
>
...
...
@@ -23,7 +23,7 @@
<a-table
class=
"elevator-table portalTable"
:dataSource=
"List"
:columns=
"columns"
size=
"small"
:pagination=
"pagination"
rowKey=
"id"
>
<span
slot=
"operation"
slot-scope=
"text, record"
>
<span
class=
"actionBtn"
@
click=
"toNext(record)"
>
查看
</span>
<span
class=
"actionBtn"
v-if=
"$permission('001001')"
@
click=
"toNext(record)"
>
查看
</span>
</span>
</a-table>
</div>
...
...
@@ -144,6 +144,7 @@ export default {
})
}
else
{
var
searchParms
=
{
'createTime_desc'
:
'desc'
,
'createTime_btw'
:
!!
this
.
searchForm
.
getFieldValue
(
'createTime_btw'
)
?
[
this
.
$moment
(
this
.
searchForm
.
getFieldValue
(
'createTime_btw'
)[
0
]).
format
(
'YYYY-MM-DD'
),
this
.
$moment
(
this
.
searchForm
.
getFieldValue
(
'createTime_btw'
)[
1
]).
format
(
'YYYY-MM-DD'
)].
toString
():
''
,
pageNo
:
this
.
pagination
.
current
,
pageSize
:
10
,
...
...
@@ -180,13 +181,86 @@ export default {
*/
toNext
(
record
){
// 进入详情
if
(
record
.
pointName
.
slice
(
0
,
6
)
==
'拓展信息管理'
){
this
.
$router
.
push
({
name
:
'tuozhanxinxiguanliInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
8
)
==
'小区拓展字段维护'
){
this
.
$router
.
push
({
name
:
'rizhiInfo'
,
query
:
{
id
:
record
.
id
,
type
:
'view'
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
11
)
==
'业委会信息拓展字段维护'
){
this
.
$router
.
push
({
name
:
'yeweiInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
10
)
==
'物业企业拓展字段维护'
){
this
.
$router
.
push
({
name
:
'wuyeInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
11
)
==
'小区管理处拓展字段维护'
){
this
.
$router
.
push
({
name
:
'guanliInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
10
)
==
'小区经理拓展字段维护'
){
this
.
$router
.
push
({
name
:
'jingliInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
11
)
==
'居委会信息拓展字段维护'
){
this
.
$router
.
push
({
name
:
'juweiInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
4
)
==
'角色管理'
){
console
.
log
(
record
.
pointName
.
slice
(
0
,
4
))
this
.
$router
.
push
({
name
:
'jueseInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
4
)
==
'用户管理'
){
this
.
$router
.
push
({
name
:
'zhanghuInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
10
)
==
'非居信息拓展字段维护'
){
this
.
$router
.
push
({
name
:
'feijuInfo'
,
query
:
{
id
:
record
.
id
,
},
})
}
else
if
(
record
.
pointName
.
slice
(
0
,
6
)
==
'系统信息配置'
){
this
.
$router
.
push
({
name
:
'xitongxinxi'
,
query
:
{
id
:
record
.
id
,
},
})
}
},
/**
* 清空表单
...
...
src/views/personal/rizhi/tuozhanxinxiguanliInfo.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'tuozhanxinxiguanliInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-table
bordered
class=
"portalTable"
:dataSource=
"taskCollectList"
:columns=
"columns"
size=
"small"
>
</a-table>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<div
style=
"margin-bottom:8px;"
>
<a-table
bordered
class=
"portalTable"
:dataSource=
"taskCollectList1"
:columns=
"columns"
size=
"small"
>
</a-table>
</div>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'tuozhanxinxiguanliInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{},
taskCollectList
:
[],
taskCollectList1
:
[],
columns
:
[
{
title
:
'字段名称'
,
dataIndex
:
'keyName'
,
key
:
'keyName'
,
},
{
title
:
'组件类型'
,
dataIndex
:
'compntType'
,
key
:
'compntType'
,
},
{
title
:
'默认值'
,
dataIndex
:
'defVal'
,
key
:
'defVal'
,
},
],
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'tuozhanxinxiguanliInfo'
){
this
.
getTaskCollectList
()
}
},
methods
:
{
getTaskCollectList
(
params
){
// 获取列表里面的数据
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
params
:
{
tbl
:
params
,
},
}).
then
(
res
=>
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
if
(
res
.
code
==
'200'
)
{
this
.
taskCollectList
=
this
.
content
.
dataBeforeObj
this
.
taskCollectList1
=
this
.
content
.
dataAfterObj
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/wuyeqiye.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'wuyeInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_prop_company"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'wuyeInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'wuyeInfo'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_prop_company'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_prop_company
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/xitongInfo.vue
deleted
100644 → 0
View file @
70b5ccdf
src/views/personal/rizhi/xitongxinxi.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'xitongxinxi'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-tabs
default-active-key=
"1"
>
<a-tab-pane
tab=
"系统信息"
key=
"1"
>
<a-form>
<a-form-item
label=
"项目名"
:label-col=
"
{ span: 5 }" :wrapper-col="{ span: 12 }">
<p>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
prjName
:
''
}}
</p>
</a-form-item>
</a-form>
</a-tab-pane>
</a-tabs>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-tabs
default-active-key=
"1"
>
<a-tab-pane
tab=
"系统信息"
key=
"1"
>
<a-form>
<a-form-item
label=
"项目名"
:label-col=
"
{ span: 5 }" :wrapper-col="{ span: 12 }">
<p>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
prjName
:
''
}}
</p>
</a-form-item>
</a-form>
</a-tab-pane>
</a-tabs>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'xitongxinxi'
,
data
()
{
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
keyCode
:
[],
key
:
''
,
text
:
''
,
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'xitongxinxi'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
if
(
res
.
code
==
'200'
)
{
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/yewei.vue
0 → 100644
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'yeweiInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_community"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<a-form
class=
"protalForm"
>
<a-form-item
v-for=
"(item,k) in extList.tbl_industry_council"
:key=
"k"
:label=
"item.keyName"
:label-col=
"
{ span: 9 }" :wrapper-col="{ span: 12 }">
<a-input
v-decorator=
"[item.keyCode]"
disabled=
"disabled"
/>
</a-form-item>
</a-form>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'yeweiInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
extList
:
{
tbl_community
:
[],
tbl_community_amst_office
:
[],
tbl_prop_company
:
[],
tbl_community_manager
:
[],
tbl_industry_council
:
[],
tbl_residents_committees
:
[],
},
// ext所有列表
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'yeweiInfo'
){
this
.
getList
()
}
},
methods
:
{
getList
(
params
){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
'200'
)
{
this
.
content
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
else
{
this
.
$message
.
info
(
res
.
msg
,
10
)
}
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_SAFE_EXT
.
replace
(
'{table}'
,
'tbl_industry_council'
).
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
extList
.
tbl_industry_council
=
this
.
$com
.
confirm
(
res
,
'data.content'
,
[])
}
})
})
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/rizhi/zhanghuInfo.vue
View file @
5e9334ea
<
template
>
<div
class=
"routerWapper enquiryList"
>
<div
class=
"portalDetailTitle"
>
<span
class=
"title"
>
日志详情
</span>
<div
class=
"detailOperations"
>
<a-button
@
click=
"$router.back()"
>
返回
</a-button>
</div>
</div>
<!-- 小区 -->
<div
v-if=
"$route.name == 'zhanghuInfo'"
class=
"layoutMargin layoutPadding"
>
<div
style=
"font-size:16px;margin-bottom:20px"
>
<P>
操作人:
{{
content
.
creator
}}
</P>
<P>
操作说明:
{{
content
.
pointName
}}
</P>
<P>
操作时间:
{{
this
.
$moment
(
content
.
createTime
).
format
(
'YYYY-MM-DD'
)
}}
</P>
</div>
<div
class=
"cardBox"
>
<a-card
title=
"操作前信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;justify-content:flex-end;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<div
class=
"layoutMargin detailsPartSection contentPadding"
>
<a-form
class=
"portalDetailContentBody"
:form=
"formData"
>
<p>
姓名:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
name
:
''
}}
</span>
</p>
<p>
手机:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
phone
:
''
}}
</span>
</p>
<p>
邮箱:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
roleName
:
''
}}
</span>
</p>
<p>
机构类型:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
orgType
:
''
}}
</span>
</p>
<p>
机构名称:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
orgName
:
''
}}
</span>
</p>
<p>
角色名称:
<span>
{{
content
.
dataBeforeObj
?
content
.
dataBeforeObj
.
roleNames
:
''
}}
</span>
</p>
<!--
<a-tree
class=
"portalRoleTree"
v-if=
"showTree"
checkable
:treeData=
"treeData"
:defaultExpandedKeys=
'expandedKeys1'
v-model=
"checkedKeys1"
disabled=
"disabled"
/>
-->
</a-form>
</div>
</div>
</div>
</a-card>
<a-card
title=
"操作后信息"
style=
"width: 49%;margin-right:1%;margin-bottom:1%;"
>
<div
class=
"card-centent"
>
<div
style=
"margin-bottom:8px;"
>
<div
class=
"layoutMargin detailsPartSection contentPadding"
>
<a-form
class=
"portalDetailContentBody"
:form=
"formData"
>
<p>
姓名:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
name
:
''
}}
</span>
</p>
<p>
手机:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
phone
:
''
}}
</span>
</p>
<p>
邮箱:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
roleName
:
''
}}
</span>
</p>
<p>
机构类型:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
orgType
:
''
}}
</span>
</p>
<p>
机构名称:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
orgName
:
''
}}
</span>
</p>
<p>
角色名称:
<span>
{{
content
.
dataAfterObj
?
content
.
dataAfterObj
.
roleNames
:
''
}}
</span>
</p>
<!--
<a-tree
class=
"portalRoleTree"
v-if=
"showTree"
checkable
:treeData=
"treeData"
:defaultExpandedKeys=
'expandedKeys'
v-model=
"checkedKeys"
disabled=
"disabled"
/>
-->
</a-form>
</div>
</div>
</div>
</a-card>
</div>
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</
template
>
<
script
>
export
default
{
name
:
'zhanghuInfo'
,
data
()
{
formExt
:
this
.
$form
.
createForm
(
this
)
return
{
showTree
:
false
,
treeData
:
[],
expandedKeys
:
[],
checkedKeys
:
[],
expandedKeys1
:
[],
checkedKeys1
:
[],
roleName
:
null
,
userCount
:
null
,
roleIds
:
[],
// 功能点的id数组
content
:
{}
}
},
mounted
(){
if
(
this
.
$route
.
name
==
'zhanghuInfo'
){
this
.
getList
()
this
.
getTree
()
}
},
beforeCreate
()
{
this
.
formData
=
this
.
$form
.
createForm
(
this
)
},
methods
:
{
getTree
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_ALL_ROLE
+
'?isTree=true'
}).
then
(
res
=>
{
const
data
=
res
.
data
.
content
this
.
parentId
=
data
.
id
data
.
forEach
((
item
,
index
)
=>
{
this
.
treeData
.
push
(
this
.
getTreeNode
(
item
,
index
))
})
this
.
getList
(
this
.
$route
.
query
.
id
)
})
},
getList
(){
this
.
$ajax
.
get
({
url
:
this
.
$api
.
GET_RIZHI_INFO
.
replace
(
'{id}'
,
this
.
$route
.
query
.
id
),
}).
then
(
res
=>
{
if
(
res
.
code
===
'200'
){
this
.
content
=
res
.
data
.
content
const
data
=
res
.
data
.
content
this
.
roleName
=
data
.
roleName
this
.
userCount
=
data
.
userCount
this
.
expandedKeys
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
checkedKeys
))
this
.
expandedKeys1
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
checkedKeys1
))
this
.
showTree
=
true
if
(
data
.
dataBeforeObj
){
this
.
checkedKeys1
=
data
.
dataBeforeObj
.
perm
.
map
((
item
)
=>
{
return
item
.
id
})
}
if
(
data
.
dataAfterObj
){
this
.
checkedKeys
=
data
.
dataAfterObj
.
perm
.
map
((
item
)
=>
{
return
item
.
id
})
}
}
else
{
this
.
$message
.
error
(
res
.
msg
)
}
})
},
getTreeNode
(
item
,
index
){
if
(
this
.
roleIds
.
length
>
0
&&
this
.
roleIds
.
indexOf
(
item
.
id
)
<
0
&&
!
this
.
$store
.
state
.
userInfos
.
isAllPerm
){
var
childrenNode
=
{
title
:
item
.
permName
,
key
:
item
.
id
,
disabled
:
true
,
}
}
else
{
var
childrenNode
=
{
title
:
item
.
permName
,
key
:
item
.
id
}
}
if
(
item
.
childList
&&
item
.
childList
.
length
){
childrenNode
.
children
=
[]
item
.
childList
.
forEach
((
subItem
,
subIndex
)
=>
{
const
subkey
=
subItem
.
id
childrenNode
.
children
.
push
(
this
.
getTreeNode
(
subItem
,
subkey
))
})
}
return
childrenNode
},
},
}
</
script
>
<
style
>
.enquiryList
.ant-card-head
{
border-bottom
:
1px
dashed
#e8e8e8
;
padding
:
0
12px
;
}
.enquiryList
.ant-card-body
{
padding
:
0px
;
}
.enquiryList
.card-bottom
{
padding
:
8px
0px
;
text-align
:
center
;
color
:
#1890ff
;
border-top
:
1px
solid
#e8e8e8
;
cursor
:
pointer
;
}
.enquiryList
.card-centent
{
padding
:
12px
;
}
.enquiryList
.cardBox
{
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
src/views/personal/role/list.vue
View file @
5e9334ea
<
template
>
<keep-alive>
<div
class=
"routerWapper"
>
<div
v-if=
"$route.name == 'role' && $permission('000903')"
class=
"layoutMargin layoutPadding"
>
<a-form
class=
"protalForm"
:form=
"searchForm"
>
...
...
@@ -16,7 +17,7 @@
</a-form>
<p
class=
"gayLine noline"
></p>
<div
class=
"portalTableOperates"
>
<a-button
type=
"primary"
icon=
'plus'
v-if=
"$permission('00090302
')"
@
click=
"addBtn"
>
新增角色
</a-button>
<a-button
type=
"primary"
icon=
'plus'
v-if=
"$permission('00090303
')"
@
click=
"addBtn"
>
新增角色
</a-button>
</div>
<div
class=
"wrapper-roles"
>
<div
class=
"box"
v-for=
"(item,index) in roleList"
:key=
"index"
>
...
...
@@ -32,10 +33,10 @@
<a-divider
type=
"vertical"
/>
</
template
>
<
template
>
<span
@
click=
"edit(item)"
v-if=
"$permission('00090304
')"
>
修改
</span>
<span
@
click=
"edit(item)"
v-if=
"$permission('00090303
')"
>
修改
</span>
<a-divider
type=
"vertical"
/>
</
template
>
<span
@
click=
"deleteBtn(item)"
v-if=
"$permission('00090304
')"
>
删除
</span>
<span
@
click=
"deleteBtn(item)"
v-if=
"$permission('00090303
')"
>
删除
</span>
</div>
</div>
</div>
...
...
@@ -50,6 +51,7 @@
</div>
<RouterWapper
v-else
></RouterWapper>
</div>
</keep-alive>
</template>
<
script
>
import
DataOperatorInList
from
'@/views/components/dataOperatorInList'
...
...
@@ -73,10 +75,20 @@ export default {
groups
:
require
(
'@/assets/images/group.png'
),
}
},
watch
:
{
$route
(
cur
)
{
if
(
cur
)
{
this
.
getSearchParams
()
}
},
},
mounted
(){
console
.
log
(
1
)
if
(
this
.
$route
.
name
==
'role'
){
console
.
log
(
3
)
this
.
getSearchParams
()
}
},
activated
()
{
if
(
this
.
$route
.
name
==
'role'
){
this
.
getSearchParams
()
}
},
...
...
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