Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
C
component-lib
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
郭铭瑶
component-lib
Commits
7f6ca88b
Commit
7f6ca88b
authored
Nov 10, 2021
by
郭铭瑶
🤘
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
主屏以外板块对接现有接口,暂存
parent
6b66404d
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
523 additions
and
130 deletions
+523
-130
index.vue
src/lib/A001/index.vue
+63
-25
index.vue
src/lib/A002/index.vue
+158
-24
index.vue
src/lib/A003/index.vue
+48
-8
index.vue
src/lib/A004/index.vue
+18
-3
index.vue
src/lib/A006/index.vue
+90
-20
index.vue
src/lib/A007/index.vue
+1
-1
index.vue
src/lib/A012/index.vue
+43
-8
index.vue
src/lib/A013/index.vue
+97
-37
index.vue
src/lib/A015/index.vue
+0
-1
index.vue
src/lib/A019/index.vue
+5
-3
No files found.
src/lib/A001/index.vue
View file @
7f6ca88b
...
...
@@ -21,12 +21,14 @@
<p>
整改执行
</p>
<div>
<div>
<p
class=
"count"
><m-count
:value=
"
63
"
/></p>
<p
class=
"count"
><m-count
:value=
"
info.alreadyCheckCount
"
/></p>
<p>
已开
</p>
</div>
|
<div>
<p
class=
"count"
><m-count
:value=
"76"
/>
%
</p>
<p
class=
"count"
>
<m-count
:value=
"info.rectifyRatio"
:decimal=
"2"
/>
%
</p>
<p>
完成率
</p>
</div>
</div>
...
...
@@ -41,10 +43,13 @@ const _config = {
title
:
'物业'
,
row
:
1
,
baseUrl
:
window
.
_base_url
,
apis
:
[
{
key
:
'summary'
,
value
:
'/api1'
},
{
key
:
'list'
,
value
:
'/api2'
},
],
apis
:
{
community
:
'/service-customkey-ddd/public/communities/v2?pageSize=9000'
,
api1
:
'/service-basicdatasync-ddd/public/indCous'
,
api2
:
'/service-basicdatasync-ddd/public/residentsCommitteesV2'
,
api3
:
'/service-basicdatasync-ddd/public/propCompanies'
,
checks
:
'/service-documents-ddd/public/checkOrder/operatingIndex'
,
},
}
export
default
_config
</
script
>
...
...
@@ -54,7 +59,8 @@ import icon2 from '@/assets/images/icon2.png'
import
icon3
from
'@/assets/images/icon3.png'
import
Brief
from
'@/components/brief.vue'
import
bus
from
'@/util/event-bus'
import
{
PropType
}
from
'@vue/runtime-core'
import
{
ref
,
PropType
}
from
'vue'
import
{
ajax
}
from
'@/ajax'
const
props
=
defineProps
({
title
:
{
...
...
@@ -63,27 +69,59 @@ const props = defineProps({
},
})
const
summary
=
[
{
icon
:
icon1
,
name
:
'小区'
,
value
:
904
},
{
icon
:
icon2
,
name
:
'业委会'
,
value
:
400
},
{
icon
:
icon3
,
name
:
'物业服务企业'
,
value
:
130
},
]
const
list
=
[
ajax
.
post
({
url
:
_config
.
apis
.
community
,
params
:
{
conditions
:
[{
conditionsGroup
:
[]
}],
subject
:
'tbl_community'
,
},
})
.
then
((
res
)
=>
{
const
communityAmount
=
(
res
?.
data
?.
content
||
[])?.
length
||
0
Promise
.
all
([
ajax
.
get
({
url
:
_config
.
apis
.
api1
,
params
:
{
sectType_in
:
'1'
}
}),
ajax
.
get
({
url
:
_config
.
apis
.
api3
,
params
:
{
sectType_in
:
'1'
,
managedNum_desc
:
'1'
},
}),
]).
then
(([
data1
,
data2
])
=>
{
summary
.
value
=
[
{
icon
:
icon1
,
name
:
'小区'
,
value
:
communityAmount
},
{
icon
:
icon2
,
name
:
'业委会'
,
value
:
data1
?.
data
?.
totalRows
||
0
},
{
icon
:
icon3
,
name
:
'物业企业'
,
value
:
data2
?.
data
?.
totalRows
||
0
},
]
})
})
ajax
.
get
({
url
:
_config
.
apis
.
checks
}).
then
((
res
)
=>
{
const
{
alreadyCheckCount
=
0
,
//已开
ycRatio
=
0
,
//月查
rectifyRatio
=
0
,
//执行率
shouldCheckCount
=
0
,
//应开
szRatio
=
0
,
//双周查
zcRatio
=
0
,
//自查
}
=
res
?.
data
?.
content
||
{}
list
.
value
=
[
{
name
:
'房办月查'
,
value
:
ycRatio
},
{
name
:
'物企双周查'
,
value
:
szRatio
},
{
name
:
'物业日查'
,
value
:
zcRatio
},
]
info
.
value
=
{
alreadyCheckCount
,
rectifyRatio
}
})
const
summary
=
ref
([
{
icon
:
icon1
,
name
:
'小区'
,
value
:
0
},
{
icon
:
icon2
,
name
:
'业委会'
,
value
:
0
},
{
icon
:
icon3
,
name
:
'物业服务企业'
,
value
:
0
},
])
const
list
=
ref
([
{
name
:
'房办月查'
,
value
:
79
},
{
name
:
'物企双周查'
,
value
:
83
},
{
name
:
'物业日查'
,
value
:
100
},
]
/**
* 'addPoints'
* 'removePoints'
* 'focus'
*
*/
const
test
=
()
=>
{
bus
.
emit
(
'map'
,
'A001'
)
}
bus
.
on
(
'config-A001'
,
(
config
)
=>
{})
])
const
info
=
ref
({
alreadyCheckCount
:
0
,
rectifyRatio
:
0
})
</
script
>
<
style
lang=
"stylus"
scoped
>
...
...
src/lib/A002/index.vue
View file @
7f6ca88b
<
template
>
<m-card
title=
"物业体征"
>
<m-sub
:addition=
"
{ value: 1674, unit: '个小区' }"> 住宅房屋
</m-sub>
<Brief
:list=
"summary"
/>
<m-sub
:addition=
"
{ value: 1264, unit: '个' }"> 物业企业
</m-sub>
<m-sub
:addition=
"
{ value: 1015, unit: '个' }"> 业委会
</m-sub>
<m-sub
:addition=
"
{ value: 1684, unit: '万元' }"> 维修资金
</m-sub>
<m-sub
:addition=
"
{ value: totalCommunityCount, unit: '个小区' }">
住宅房屋
</m-sub>
<Brief
:list=
"summary"
click-able
@
touch=
"onTouch"
/>
<m-sub
:addition=
"
{ value: company, unit: '个' }"> 物业企业
</m-sub>
<m-sub
:addition=
"
{ value: committee, unit: '个' }"> 业委会
</m-sub>
<m-sub
:addition=
"
{ value: capital, unit: '万元', decimal: 2 }">
维修资金
</m-sub>
<Summary
title=
"续筹分布"
:list=
"list"
:avatar=
"avatar1"
/>
</m-card>
</
template
>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A002'
,
title
:
'物业体征'
,
row
:
2
,
apis
:
{
community
:
'/service-customkey-ddd/public/communities/v2?pageSize=9000'
,
nonResident
:
'/service-basicdatasync-ddd/public/nonResi/buildings'
,
api1
:
'/service-basicdatasync-ddd/public/indCous'
,
api2
:
'/service-basicdatasync-ddd/public/residentsCommitteesV2'
,
api3
:
'/service-basicdatasync-ddd/public/propCompanies'
,
capital
:
'/service-documents-ddd/public/maintenance/count/amt'
,
amount
:
'/service-documents-ddd/public/houseContinuedWarnings'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
import
icon4
from
'@/assets/images/icon4.png'
...
...
@@ -23,28 +37,148 @@ import icon1 from '@/assets/images/icon1.png'
import
icon6
from
'@/assets/images/icon6.png'
import
icon7
from
'@/assets/images/icon7.png'
import
icon8
from
'@/assets/images/icon8.png'
import
icon9
from
'@/assets/images/icon9.png'
import
c1
from
'@/assets/images/c1.png'
import
c2
from
'@/assets/images/c2.png'
import
c3
from
'@/assets/images/c3.png'
import
c4
from
'@/assets/images/c4.png'
import
c5
from
'@/assets/images/c5.png'
import
c6
from
'@/assets/images/c6.png'
import
avatar1
from
'@/assets/images/avatar1.png'
import
Brief
from
'@/components/brief.vue'
import
Brief
,
{
BriefProp
}
from
'@/components/brief.vue'
import
Summary
from
'@/components/summary.vue'
import
eventBus
from
'@/util/event-bus'
import
{
ref
}
from
'vue'
const
summary
=
[
{
icon
:
icon4
,
name
:
'商品房'
,
value
:
904
},
{
icon
:
icon5
,
name
:
'公房'
,
value
:
400
},
{
icon
:
icon1
,
name
:
'私房/农房'
,
value
:
130
},
{
icon
:
icon6
,
name
:
'商住混合'
,
value
:
82
},
{
icon
:
icon7
,
name
:
'军产'
,
value
:
12
},
{
icon
:
icon8
,
name
:
'保障房'
,
value
:
46
},
]
const
list
=
ref
([
{
name
:
'分户'
,
value
:
47520
},
{
name
:
'门牌'
,
value
:
3960
},
{
name
:
'小区'
,
value
:
45
},
import
bus
from
'@/util/event-bus'
import
{
onMounted
,
ref
}
from
'vue'
import
{
ajax
}
from
'@/ajax'
const
totalCommunityCount
=
ref
(
0
)
const
summary
=
ref
<
BriefProp
[]
>
([
{
icon
:
icon4
,
name
:
'商品房'
,
value
:
0
},
{
icon
:
icon5
,
name
:
'公房'
,
value
:
0
},
{
icon
:
icon1
,
name
:
'公租房'
,
value
:
0
},
{
icon
:
icon6
,
name
:
'混合'
,
value
:
0
},
{
icon
:
icon7
,
name
:
'军产'
,
value
:
0
},
{
icon
:
icon8
,
name
:
'售后房'
,
value
:
0
},
])
eventBus
.
on
(
'update:A002'
,
(
data
:
any
)
=>
{
list
.
value
=
data
onMounted
(()
=>
{
ajax
.
post
({
url
:
_config
.
apis
.
community
,
params
:
{
conditions
:
[{
conditionsGroup
:
[]
}],
subject
:
'tbl_community'
,
},
})
.
then
((
res
)
=>
{
const
data
=
res
?.
data
?.
content
||
[]
bus
.
emit
(
'communityList'
,
data
)
totalCommunityCount
.
value
=
data
.
length
// 1商品房 2动迁房 3共有产权保障房 4售后房 5直管公房 6混合 7系统公房 8集体土地集资房 9军产 10私产 11公租房
const
list
=
{
type1
:
data
.
filter
((
item
)
=>
item
?.
stKind
==
'01'
),
type2
:
data
.
filter
(
(
item
)
=>
item
?.
stKind
==
'07'
||
item
?.
stKind
==
'05'
,
),
type3
:
data
.
filter
((
item
)
=>
item
?.
stKind
==
'11'
),
type4
:
data
.
filter
((
item
)
=>
item
?.
stKind
==
'06'
),
type5
:
data
.
filter
((
item
)
=>
item
?.
stKind
==
'09'
),
type6
:
data
.
filter
((
item
)
=>
item
?.
stKind
==
'04'
),
}
summary
.
value
=
[
{
icon
:
icon4
,
name
:
'商品房'
,
value
:
list
.
type1
?.
length
||
0
,
data
:
list
.
type1
,
point
:
c1
,
key
:
1
,
},
{
icon
:
icon5
,
name
:
'公房'
,
value
:
list
.
type2
?.
length
||
0
,
data
:
list
.
type2
,
point
:
c2
,
key
:
2
,
},
{
icon
:
icon1
,
name
:
'公租房'
,
value
:
list
.
type3
?.
length
||
0
,
data
:
list
.
type3
,
point
:
c3
,
key
:
3
,
},
{
icon
:
icon6
,
name
:
'混合'
,
value
:
list
.
type4
?.
length
||
0
,
data
:
list
.
type4
,
point
:
c4
,
key
:
4
,
},
{
icon
:
icon7
,
name
:
'军产'
,
value
:
list
.
type5
?.
length
||
0
,
data
:
list
.
type5
,
point
:
c5
,
key
:
5
,
},
{
icon
:
icon8
,
name
:
'售后房'
,
value
:
list
.
type6
?.
length
||
0
,
data
:
list
.
type6
,
point
:
c6
,
key
:
6
,
},
]
})
})
const
company
=
ref
(
0
)
const
committee
=
ref
(
0
)
Promise
.
all
([
ajax
.
get
({
url
:
_config
.
apis
.
api1
,
params
:
{
sectType_in
:
'1'
}
}),
ajax
.
get
({
url
:
_config
.
apis
.
api3
,
params
:
{
sectType_in
:
'1'
,
managedNum_desc
:
'1'
},
}),
]).
then
(([
data1
,
data2
])
=>
{
committee
.
value
=
data1
?.
data
?.
totalRows
||
0
company
.
value
=
data2
?.
data
?.
totalRows
||
0
})
const
capital
=
ref
(
0
)
ajax
.
get
({
url
:
_config
.
apis
.
capital
}).
then
((
res
)
=>
{
const
{
tranAmt
=
0
}
=
res
?.
data
?.
content
||
{}
capital
.
value
=
tranAmt
/
10000
})
ajax
.
get
({
url
:
_config
.
apis
.
amount
}).
then
((
res
)
=>
{
const
{
yjmpzSum
=
0
,
//门牌幢
yjxqSum
=
0
,
//小区
yjfhSum
=
0
,
//分户
}
=
res
?.
data
?.
content
||
{}
list
.
value
=
[
{
name
:
'分户'
,
value
:
yjfhSum
},
{
name
:
'门牌'
,
value
:
yjmpzSum
},
{
name
:
'小区'
,
value
:
yjxqSum
},
]
})
const
list
=
ref
([
{
name
:
'分户'
,
value
:
0
},
{
name
:
'门牌'
,
value
:
0
},
{
name
:
'小区'
,
value
:
0
},
])
const
onTouch
=
(
i
:
number
)
=>
{
const
{
data
,
point
,
key
}
=
summary
.
value
[
i
]
bus
.
emit
(
'addPoints'
,
{
icon
:
point
,
data
})
}
</
script
>
<
style
lang=
"stylus"
scoped
>
...
...
src/lib/A003/index.vue
View file @
7f6ca88b
...
...
@@ -2,7 +2,7 @@
<m-card
title=
"党建引领"
>
<div
class=
"sum"
>
<div
v-for=
"item in summary"
:key=
"item.name"
class=
"rate"
>
<Circle
:value=
"item.
value
"
>
<Circle
:value=
"item.
ratio
"
>
<div
class=
"content"
>
<m-count
:value=
"item.value"
/>
<p>
{{
item
.
name
}}
</p>
...
...
@@ -26,22 +26,60 @@
</
template
>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A003'
,
title
:
'党建引领'
,
row
:
1
,
apis
:
{
api1
:
'/service-basicdatasync-ddd/public/indCous'
,
api2
:
'/service-basicdatasync-ddd/public/residentsCommitteesV2'
,
api3
:
'/service-basicdatasync-ddd/public/propCompanies'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
import
{
computed
}
from
'vue'
import
{
computed
,
ref
}
from
'vue'
import
Circle
from
'@/components/circle.vue'
import
{
ajax
}
from
'@/ajax'
const
fontSize
=
computed
(()
=>
Math
.
floor
((
screen
.
height
*
1.6
)
/
100
))
const
summary
=
[
{
name
:
'居委会'
,
value
:
10
},
{
name
:
'业委会'
,
value
:
10
},
{
name
:
'物业企业'
,
value
:
20
},
]
const
summary
=
ref
([
{
name
:
'业委会'
,
value
:
0
,
ratio
:
0
},
{
name
:
'居委会'
,
value
:
0
,
ratio
:
0
},
{
name
:
'物业企业'
,
value
:
0
,
ratio
:
0
},
])
Promise
.
all
([
ajax
.
get
({
url
:
_config
.
apis
.
api1
,
params
:
{
sectType_in
:
'1'
}
}),
ajax
.
get
({
url
:
_config
.
apis
.
api2
,
params
:
{
sectType_in
:
'1'
}
}),
ajax
.
get
({
url
:
_config
.
apis
.
api3
,
params
:
{
sectType_in
:
'1'
,
managedNum_desc
:
'1'
},
}),
]).
then
(([
data1
,
data2
,
data3
])
=>
{
const
total
=
[
data1
,
data2
,
data3
].
reduce
(
(
acc
,
cur
)
=>
acc
+
(
cur
?.
data
?.
totalRows
||
0
),
0
,
)
summary
.
value
=
[
{
name
:
'业委会'
,
value
:
data1
?.
data
?.
totalRows
||
0
,
ratio
:
((
data1
?.
data
?.
totalRows
||
0
)
/
(
total
||
1
))
*
100
,
},
{
name
:
'居委会'
,
value
:
data2
?.
data
?.
totalRows
||
0
,
ratio
:
((
data2
?.
data
?.
totalRows
||
0
)
/
(
total
||
1
))
*
100
,
},
{
name
:
'物业企业'
,
value
:
data3
?.
data
?.
totalRows
||
0
,
ratio
:
((
data3
?.
data
?.
totalRows
||
0
)
/
(
total
||
1
))
*
100
,
},
]
})
const
barData
=
{
dimensions
:
[
{
name
:
'street'
,
displayName
:
'街道'
},
...
...
@@ -107,6 +145,8 @@ const barOption = {
.content
text-align center
white-space nowrap
p
font-size .08rem
.sum
display flex
>div
...
...
src/lib/A004/index.vue
View file @
7f6ca88b
...
...
@@ -31,18 +31,33 @@
</div>
</div>
</div>
<m-sub
:addition=
"
{ value: 1684, unit: '万元' }">维修资金总额
</m-sub>
<m-sub
:addition=
"
{ value: capital, unit: '万元', decimal: 2 }">
维修资金总额
</m-sub>
</m-card>
</
template
>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A004'
,
title
:
'公共收益'
,
row
:
1
,
apis
:
{
capital
:
'/service-documents-ddd/public/maintenance/count/amt'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
import
{
ajax
}
from
'@/ajax'
import
{
ref
}
from
'vue'
const
capital
=
ref
(
0
)
ajax
.
get
({
url
:
_config
.
apis
.
capital
}).
then
((
res
)
=>
{
const
{
tranAmt
=
0
}
=
res
?.
data
?.
content
||
{}
capital
.
value
=
tranAmt
/
10000
})
</
script
>
<
script
lang=
"ts"
setup
></
script
>
<
style
lang=
"stylus"
scoped
>
@import '../../components/MyComponent/main.styl'
...
...
src/lib/A006/index.vue
View file @
7f6ca88b
...
...
@@ -5,35 +5,39 @@
<div>
<div>
<span>
<m-count
class=
"count orange-count"
:value=
"31"
/>
/
<m-count
:value=
"50"
<m-count
class=
"count orange-count"
:value=
"info.alreadyCheckCount"
/>
</span>
<p>
督查
</p>
<p>
已开
</p>
</div>
<div>
<span>
<m-count
class=
"count orange-count"
:value=
"31"
/>
%
</span>
<span>
<m-count
class=
"count orange-count"
:value=
"info.rectifyRatio"
/>
%
</span>
<p>
整改率
</p>
</div>
</div>
<div>
<div>
<span>
<m-count
class=
"count"
:value=
"90"
/>
%
</span>
<p>
日查
</p>
</div>
<div>
<span>
<m-count
class=
"count"
:value=
"82"
/>
%
</span>
<p>
双周查
</p>
</div>
<div>
<span>
<m-count
class=
"count"
:value=
"76"
/>
%
</span>
<p>
月查
</p>
<div
v-for=
"item in summary"
:key=
"item.name"
>
<span>
<m-count
class=
"count"
:value=
"item.value"
/>
%
</span>
<p>
{{
item
.
name
}}
</p>
</div>
</div>
</div>
<div
class=
"month"
>
<p>
房办月查完成情况
</p>
<div>
<div
v-if=
"monthList.length > 0"
>
<span
v-for=
"item in monthList"
:key=
"item.name"
:style=
"`background:$
{item.color}`"
>
{{
item
.
name
}}
</span>
</div>
<div
v-else
>
<span
v-for=
"(_, i) in new Array(12)"
:key=
"i"
>
{{
i
+
1
}}
</span>
...
...
@@ -66,13 +70,75 @@
</
template
>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A006'
,
title
:
'行业监管'
,
row
:
1
,
apis
:
{
main
:
'/service-documents-ddd/public/checkOrder/operatingIndex'
,
month
:
'/service-documents-ddd/public/checkOrder/dahboard/countDatas'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
import
{
ajax
}
from
'@/ajax'
import
{
ref
}
from
'vue'
const
monthList
=
ref
<
any
[]
>
([])
ajax
.
get
({
url
:
_config
.
apis
.
month
,
})
.
then
((
res
)
=>
{
const
data
=
res
?.
data
?.
content
?.
HOUSING_OFFICE
?.
data
||
[]
const
result
=
data
.
map
((
ele
,
i
)
=>
{
let
color
=
'rgba(0,0,0,.3)'
if
(
ele
.
rato
==
1
)
{
// 完成率100 绿色
color
=
'#6EB629'
}
else
if
(
ele
.
rato
<
0.9
)
{
// 完成率90以下 红色
color
=
'#CC4D4D'
}
else
if
(
ele
.
rato
>
0.9
)
{
// 完成率90到100之间 黄色
color
=
'#FFD400'
}
return
{
name
:
i
+
1
,
color
}
})
while
(
result
.
length
<
12
)
{
result
.
push
({
name
:
result
.
length
+
1
,
color
:
'rgba(0, 0, 0, 0.3)'
})
}
monthList
.
value
=
result
})
const
info
=
ref
({
alreadyCheckCount
:
0
,
shouldCheckCount
:
0
,
rectifyRatio
:
0
,
})
const
summary
=
ref
([
{
name
:
'日查'
,
value
:
0
},
{
name
:
'双周查'
,
value
:
0
},
{
name
:
'月查'
,
value
:
0
},
])
ajax
.
get
({
url
:
_config
.
apis
.
main
}).
then
((
res
)
=>
{
const
{
alreadyCheckCount
=
0
,
//已开
ycRatio
=
0
,
//月查
rectifyRatio
=
0
,
//执行率
shouldCheckCount
=
0
,
//应开
szRatio
=
0
,
//双周查
zcRatio
=
0
,
//自查
}
=
res
?.
data
?.
content
||
{}
summary
.
value
=
[
{
name
:
'日查'
,
value
:
zcRatio
},
{
name
:
'双周查'
,
value
:
szRatio
},
{
name
:
'月查'
,
value
:
ycRatio
},
]
info
.
value
=
{
alreadyCheckCount
,
shouldCheckCount
,
rectifyRatio
}
})
</
script
>
<
script
lang=
"ts"
setup
></
script
>
<
style
lang=
"stylus"
scoped
>
@import '../../components/MyComponent/main.styl'
...
...
@@ -82,9 +148,12 @@ export default {
.rate
width 45%
>div
&:first-child
display flex
justify-content space-between
>div
display inline-block
width 33
.3
%
width 33%
.count
font-size .14rem
color #fff
...
...
@@ -109,7 +178,8 @@ export default {
span
$center()
border-radius .02rem
background $green
// background $green
background rgba(0, 0, 0, 0.3)
.content
$box()
padding .04rem .1rem
...
...
src/lib/A007/index.vue
View file @
7f6ca88b
...
...
@@ -2,7 +2,7 @@
<m-card
title=
"物业报修"
>
<div
class=
"sum"
>
<div>
全区物业
保
修数
全区物业
报
修数
<span><m-count
class=
"orange-count"
:value=
"100"
/></span>
个
</div>
...
...
src/lib/A012/index.vue
View file @
7f6ca88b
...
...
@@ -7,26 +7,61 @@
</
template
>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A012'
,
title
:
'加装电梯'
,
row
:
1
,
apis
:
{
list
:
'/service-special-ja-ddd/public/elevatorInstallationInfos'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
const
data
=
{
import
{
ajax
}
from
'@/ajax'
import
{
ref
}
from
'vue'
const
data
=
ref
({
dimensions
:
[
{
name
:
'year'
,
displayName
:
'年'
},
{
name
:
'value'
,
displayName
:
'竣工项目'
},
],
source
:
[
{
year
:
'201
6'
,
value
:
2
},
{
year
:
'201
7'
,
value
:
4
},
{
year
:
'201
8'
,
value
:
7
},
{
year
:
'20
19'
,
value
:
1
0
},
{
year
:
'202
0'
,
value
:
18
},
{
year
:
'201
7'
,
value
:
0
},
{
year
:
'201
8'
,
value
:
0
},
{
year
:
'201
9'
,
value
:
0
},
{
year
:
'20
20'
,
value
:
0
},
{
year
:
'202
1'
,
value
:
0
},
],
}
})
ajax
.
get
({
url
:
_config
.
apis
.
list
,
params
:
{
state
:
'7'
,
createTime_desc
:
'desc'
,
pageSize
:
9000
,
},
})
.
then
((
res
)
=>
{
const
result
:
any
=
{}
const
{
content
=
[]
}
=
res
?.
data
||
{}
content
.
forEach
((
item
)
=>
{
const
year
=
item
?.
finishInstallationTime
?.
split
(
'-'
)?.[
0
]
if
(
!
result
[
year
])
{
result
[
year
]
=
1
}
else
{
result
[
year
]
+=
1
}
})
data
.
value
.
source
=
Object
.
keys
(
result
)
.
map
((
key
)
=>
({
year
:
key
,
value
:
result
[
key
],
}))
?.
filter
((
item
)
=>
item
.
value
>
1
)
||
[]
})
const
option
=
{
color
:
[[
'#8CD5FF'
,
'#1990BE'
]],
legend
:
{
...
...
src/lib/A013/index.vue
View file @
7f6ca88b
...
...
@@ -7,18 +7,18 @@
:key=
"tab.key"
class=
"tab"
:class=
"
{ on: curTab === tab.key }"
@click="
curTab = tab.key
"
@click="
selectTab(tab.key)
"
>
{{
tab
.
name
}}
</p>
</n-space>
<n-space>
<n-select
<
!--
<
n-select
v-model:value=
"year"
class=
"my-select"
size=
"small"
:options=
"yearOptions"
/>
/>
-->
<n-select
v-model:value=
"area"
class=
"my-select"
...
...
@@ -28,55 +28,110 @@
</n-space>
</div>
<div
class=
"content"
>
<template
v-if=
"list.length > 0"
>
<div
v-for=
"(item, i) in list"
:key=
"i"
>
<span>
{{
i
+
1
}}
</span>
<span
>
{{
item
.
name
}}
</span>
<span
>
{{
item
.
address
}}
</span>
<span
:title=
"item.name"
>
{{
item
.
name
}}
</span>
<span
:title=
"item.address"
>
{{
item
.
address
}}
</span>
<span
class=
"status"
>
{{
item
.
status
}}
</span>
</div>
</
template
>
<m-empty
v-else
/>
</div>
</m-card>
</template>
<
script
lang=
"ts"
>
export
default
{
const
_config
=
{
name
:
'A013'
,
title
:
'加装电梯'
,
row
:
2
,
apis
:
{
streets
:
'/service-special-ja-ddd/public/getStreetData'
,
list
:
'/service-special-ja-ddd/public/elevatorInstallationInfos'
,
},
}
export
default
_config
</
script
>
<
script
lang=
"ts"
setup
>
import
{
ref
}
from
'vue'
import
{
NSpace
,
NSelect
}
from
'naive-ui'
import
{
ajax
}
from
'@/ajax'
const
tabs
=
[
{
name
:
'开工项目'
,
key
:
'start'
},
{
name
:
'竣工项目'
,
key
:
'done'
},
]
const
curTab
=
ref
(
'start'
)
const
yearOptions
=
[
{
label
:
'2021'
,
value
:
'2021'
},
{
label
:
'2020'
,
value
:
'2020'
},
{
label
:
'2019'
,
value
:
'2019'
},
]
const
areaOptions
=
[
{
label
:
'全区'
,
value
:
'全区'
},
{
label
:
'1区'
,
value
:
'1区'
},
{
label
:
'2区'
,
value
:
'2区'
},
]
const
year
=
ref
(
'2021'
)
const
area
=
ref
(
'全区'
)
const
list
=
[
{
name
:
'长安小区'
,
address
:
'长安路288号'
,
status
:
'不可加装'
},
{
name
:
'闻喜路1110弄小区'
,
address
:
'曲沃路'
,
status
:
'不可加装'
},
{
name
:
'象山小区'
,
address
:
'临山路186号'
,
status
:
'可加装'
},
{
name
:
'499弄小区'
,
address
:
'宝山路519号'
,
status
:
'不可加装'
},
{
name
:
'长安小区'
,
address
:
'长安路288号'
,
status
:
'不可加装'
},
{
name
:
'闻喜路1110弄小区'
,
address
:
'曲沃路'
,
status
:
'不可加装'
},
{
name
:
'象山小区'
,
address
:
'临山路186号'
,
status
:
'可加装'
},
{
name
:
'499弄小区'
,
address
:
'宝山路519号'
,
status
:
'不可加装'
},
{
name
:
'长安小区'
,
address
:
'长安路288号'
,
status
:
'不可加装'
},
{
name
:
'闻喜路1110弄小区'
,
address
:
'曲沃路'
,
status
:
'不可加装'
},
{
name
:
'开工项目'
,
key
:
'6'
},
{
name
:
'竣工项目'
,
key
:
'7'
},
]
const
curTab
=
ref
(
'6'
)
function
selectTab
(
key
)
{
curTab
.
value
=
key
fetchList
()
}
// const yearOptions = [
// { label: '2021', value: '2021' },
// { label: '2020', value: '2020' },
// { label: '2019', value: '2019' },
// ]
const
areaOptions
=
ref
([{
label
:
'全区'
,
value
:
'all'
}])
// const year = ref('2021')
const
area
=
ref
(
'all'
)
ajax
.
get
({
url
:
_config
.
apis
.
streets
,
params
:
{
pageSize
:
9000
,
hpbName
:
'静安区'
,
},
})
.
then
((
res
)
=>
{
const
{
content
=
[]
}
=
res
?.
data
||
{}
areaOptions
.
value
=
[
{
label
:
'全区'
,
value
:
'all'
},
...
content
.
map
((
item
)
=>
({
label
:
item
.
streetName
,
value
:
item
.
streetName
,
})),
]
})
const
list
=
ref
<
any
[]
>
([])
function
fetchList
()
{
const
params
:
any
=
{
state
:
curTab
.
value
,
createTime_desc
:
'desc'
,
pageSize
:
9000
,
}
if
(
area
.
value
!==
'all'
)
{
params
.
streetName
=
area
.
value
}
ajax
.
get
({
url
:
_config
.
apis
.
list
,
params
,
})
.
then
((
res
)
=>
{
// 0-可加装 1-较难加装 2-不可加装
const
switchType
=
(
type
)
=>
{
switch
(
type
)
{
case
'0'
:
return
'可加装'
case
'1'
:
return
'较难加装'
case
'2'
:
return
'不可加装'
default
:
return
''
}
}
list
.
value
=
(
res
?.
data
?.
content
||
[]).
map
((
item
)
=>
({
name
:
item
.
stNameFrst
,
address
:
item
.
unitAddr
,
status
:
switchType
(
item
.
evaluateType
),
}))
})
}
fetchList
()
</
script
>
<
style
lang=
"stylus"
scoped
>
...
...
@@ -101,6 +156,8 @@ const list = [
margin-top .1rem
flex 1
overflow-y auto
max-height 60vh
margin-bottom .05rem
>div
$box()
display flex
...
...
@@ -115,6 +172,9 @@ const list = [
&:nth-of-type(2)
&:nth-of-type(3)
flex 1
overflow hidden
white-space nowrap
text-overflow ellipsis
&.status
color $yellow
</
style
>
...
...
src/lib/A015/index.vue
View file @
7f6ca88b
...
...
@@ -24,7 +24,6 @@ const _config = {
row
:
1
,
baseUrl
:
window
.
_base_url
,
apis
:
{
// community: '/service-basicdatasync-ddd/public/communities',
community
:
'/service-customkey-ddd/public/communities/v2?pageSize=9000'
,
nonResident
:
'/service-basicdatasync-ddd/public/nonResi/buildings'
,
api1
:
'/service-basicdatasync-ddd/public/indCous'
,
...
...
src/lib/A019/index.vue
View file @
7f6ca88b
...
...
@@ -27,9 +27,11 @@
{{
item
.
value
}}
</span>
张
<span
:style=
"
{ color: item.color }">
{{
item
.
rate
}}
</span>
<m-count
:value=
"item.rate"
:decimal=
"2"
:style=
"
{ color: item.color }"
/>
%
</p>
<p
class=
"name"
>
{{
item
.
name
}}
</p>
...
...
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