Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
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
Administrator
dsk-cr20g
Commits
958190ba
Commit
958190ba
authored
Aug 16, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
f02d9b80
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
312 additions
and
82 deletions
+312
-82
10.png
dsk-operate-ui/src/assets/images/index/10.png
+0
-0
6.png
dsk-operate-ui/src/assets/images/index/6.png
+0
-0
7.png
dsk-operate-ui/src/assets/images/index/7.png
+0
-0
8.png
dsk-operate-ui/src/assets/images/index/8.png
+0
-0
9.png
dsk-operate-ui/src/assets/images/index/9.png
+0
-0
members.vue
...te-ui/src/views/detail/groupAccount/component/members.vue
+27
-19
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+26
-2
qualifications.vue
...rc/views/detail/groupAccount/component/qualifications.vue
+7
-3
qualificationsDetail.vue
...ws/detail/groupAccount/component/qualificationsDetail.vue
+5
-2
CustomMoneySelect.vue
.../src/views/detail/party-a/component/CustomMoneySelect.vue
+3
-0
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+2
-2
mixin.js
dsk-operate-ui/src/views/detail/party-a/mixins/mixin.js
+10
-1
index.vue
dsk-operate-ui/src/views/index.vue
+173
-26
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+59
-27
No files found.
dsk-operate-ui/src/assets/images/index/10.png
0 → 100644
View file @
958190ba
561 Bytes
dsk-operate-ui/src/assets/images/index/6.png
0 → 100644
View file @
958190ba
550 Bytes
dsk-operate-ui/src/assets/images/index/7.png
0 → 100644
View file @
958190ba
502 Bytes
dsk-operate-ui/src/assets/images/index/8.png
0 → 100644
View file @
958190ba
611 Bytes
dsk-operate-ui/src/assets/images/index/9.png
0 → 100644
View file @
958190ba
532 Bytes
dsk-operate-ui/src/views/detail/groupAccount/component/members.vue
View file @
958190ba
...
...
@@ -98,9 +98,9 @@
{
label
:
'企业地区'
,
prop
:
'address'
,
minWidth
:
'150'
},
],
formData
:
[
{
type
:
4
,
fieldName
:
'combineMemberLevel'
,
value
:
''
,
placeholder
:
'成员层级'
,
options
:[]},
{
type
:
4
,
fieldName
:
'businessType'
,
value
:
''
,
placeholder
:
'主营业务'
,
options
:[]},
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
},
placeholder
:
'地区'
,
options
:[]},
{
type
:
4
,
fieldName
:
'combineMemberLevel
s
'
,
value
:
''
,
placeholder
:
'成员层级'
,
options
:[]},
{
type
:
1
,
fieldName
:
'businessType'
,
value
:
''
,
placeholder
:
'主营业务'
,
options
:[]},
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
expandTrigger
:
'hover'
},
placeholder
:
'地区'
,
options
:[]},
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'注册资本'
,
startMoney
:
'minAmount'
,
endMoney
:
'maxAmount'
,
moneyList
:[]
},
{
type
:
0
,
fieldName
:
'penalizeReasonType'
,
value
:
''
,
placeholder
:
'筛选'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'searchValue'
,
value
:
''
,
placeholder
:
'输入关键词查询'
},
...
...
@@ -115,16 +115,20 @@
value
:
'集团本身'
},
{
name
:
'一级
子
公司'
,
value
:
'一级
子
公司'
name
:
'一级公司'
,
value
:
'一级公司'
},
{
name
:
'二级
子
公司'
,
value
:
'二级
子
公司'
name
:
'二级公司'
,
value
:
'二级公司'
},
{
name
:
'三级子公司'
,
value
:
'三级子公司'
name
:
'三级公司'
,
value
:
'三级公司'
},
{
name
:
'其他公司'
,
value
:
'其他公司'
},
],
kjxqy
:[
...
...
@@ -223,9 +227,13 @@
handleQuery
(
params
){
let
data
=
this
.
getAreaList
(
params
||
this
.
queryParams
)
memberList
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
if
(
res
.
code
===
200
){
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
}
else
{
this
.
tableData
=
[]
}
})
},
//地区
...
...
@@ -328,14 +336,14 @@
getAreaList
(
params
){
if
(
params
.
province
&&
params
.
province
.
length
>
0
){
let
arr
=
this
.
$children
[
0
].
$refs
.
cascader
[
0
].
getCheckedNodes
()
let
provinceIds
=
[],
cityIds
=
[],
area
Ids
=
[]
let
provinceIds
=
[],
cityIds
=
[],
district
Ids
=
[]
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
if
(
arr
[
i
].
hasChildren
||
arr
[
i
].
level
==
2
){
cityIds
.
push
(
arr
[
i
].
data
.
id
)
}
else
{
area
Ids
.
push
(
arr
[
i
].
data
.
id
)
district
Ids
.
push
(
arr
[
i
].
data
.
id
)
}
}
}
else
{
...
...
@@ -345,19 +353,19 @@
delete
params
.
province
provinceIds
.
length
>
0
?
params
.
provinceIds
=
provinceIds
:
''
cityIds
.
length
>
0
?
params
.
cityIds
=
cityIds
:
''
areaIds
.
length
>
0
?
params
.
areaIds
=
area
Ids
:
''
districtIds
.
length
>
0
?
params
.
districtIds
=
district
Ids
:
''
}
return
params
},
sortChange
({
column
,
prop
,
order
}){
this
.
queryParams
.
field
=
prop
this
.
queryParams
.
orderName
=
prop
if
(
column
.
order
===
"ascending"
){
this
.
queryParams
.
order
=
'asc'
this
.
queryParams
.
order
Type
=
'asc'
}
else
if
(
column
.
order
===
"descending"
){
this
.
queryParams
.
order
=
'desc'
this
.
queryParams
.
order
Type
=
'desc'
}
else
{
this
.
queryParams
.
order
=
''
this
.
queryParams
.
field
=
''
this
.
queryParams
.
order
Type
=
''
this
.
queryParams
.
orderName
=
''
}
this
.
pageIndex
=
1
;
this
.
handleQuery
()
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
958190ba
...
...
@@ -77,7 +77,7 @@
{
label
:
'业主单位'
,
prop
:
'projectUnit'
,
slot
:
true
,
minWidth
:
'200'
},
],
formData
:
[
{
type
:
7
,
fieldName
:
'
combineMemberLevel'
,
value
:
''
,
props
:
{
multiple
:
true
},
placeholder
:
'项目地区'
,
options
:[]},
{
type
:
7
,
fieldName
:
'
province'
,
value
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
expandTrigger
:
'hover'
},
placeholder
:
'项目地区'
,
options
:[]},
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'中标时间'
,
startTime
:
'startBidTime'
,
endTime
:
'endBidTime'
,
timeList
:[]
},
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'中标金额'
,
startMoney
:
'minAmount'
,
endMoney
:
'maxAmount'
,
moneyList
:[]
},
{
type
:
4
,
fieldName
:
'boundTypes'
,
value
:
''
,
placeholder
:
'业绩类型'
,
options
:
[]},
...
...
@@ -136,7 +136,7 @@
methods
:
{
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
;
let
data
=
this
.
getAreaList
(
params
||
this
.
queryParams
)
if
(
data
.
cgbl
){
if
(
data
.
cgbl
===
'100%'
){
data
.
minStockPercent
=
1
...
...
@@ -214,6 +214,30 @@
this
.
addressList
=
str
;
this
.
formData
[
0
].
options
=
str
;
},
getAreaList
(
params
){
if
(
params
.
province
&&
params
.
province
.
length
>
0
){
let
arr
=
this
.
$children
[
0
].
$refs
.
cascader
[
0
].
getCheckedNodes
()
let
provinceIds
=
[],
cityIds
=
[],
districtIds
=
[]
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
if
(
arr
[
i
].
hasChildren
||
arr
[
i
].
level
==
2
){
cityIds
.
push
(
arr
[
i
].
data
.
id
)
}
else
{
districtIds
.
push
(
arr
[
i
].
data
.
id
)
}
}
}
else
{
provinceIds
.
push
(
arr
[
i
].
data
.
id
)
}
}
delete
params
.
province
provinceIds
.
length
>
0
?
params
.
provinceIds
=
provinceIds
:
''
cityIds
.
length
>
0
?
params
.
cityIds
=
cityIds
:
''
districtIds
.
length
>
0
?
params
.
districtIds
=
districtIds
:
''
}
return
params
},
}
}
</
script
>
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/qualifications.vue
View file @
958190ba
...
...
@@ -53,7 +53,7 @@
queryParams
:
{
combineId
:
'54355f88a5b16d3e52f74931f5567853'
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
forData
:
[
{
label
:
'资质名称'
,
prop
:
'qualificationName'
},
...
...
@@ -77,9 +77,13 @@
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
certificateList
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
if
(
res
.
code
===
200
){
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
}
else
{
this
.
tableData
=
[]
}
})
},
getCertificateList
(){
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/qualificationsDetail.vue
View file @
958190ba
...
...
@@ -6,7 +6,9 @@
custom-class=
"client-drawer"
:with-header=
"false"
@
closed=
"cancel"
>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
...
...
@@ -39,6 +41,7 @@ export default {
data
()
{
return
{
drawer
:
false
,
isSkeleton
:
true
,
queryParams
:
{
id
:
this
.
data
.
id
,
pageNum
:
1
,
...
...
@@ -64,10 +67,10 @@ export default {
},
methods
:
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
this
.
isSkeleton
=
true
let
param
=
params
?
params
:
this
.
queryParams
let
res
=
await
memberCertificateList
(
param
)
this
.
tableLoading
=
false
this
.
isSkeleton
=
false
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
...
...
dsk-operate-ui/src/views/detail/party-a/component/CustomMoneySelect.vue
View file @
958190ba
...
...
@@ -151,6 +151,9 @@ export default {
case
'一亿以上'
:
moneyStr
=
[
10000
]
break
;
case
'5亿-10亿'
:
moneyStr
=
[
50000
,
100000
]
break
;
case
'1亿-10亿'
:
moneyStr
=
[
10000
,
100000
]
break
;
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
958190ba
...
...
@@ -14,7 +14,7 @@
:style=
"form.width?'width:'+form.width+'px':'max-width: 110px'"
:placeholder=
"form.placeholder"
@
change=
"changeSelect"
>
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
/>
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
:disabled=
"item.disabled"
/>
</el-select>
</
template
>
<!-- 年月日 -->
...
...
@@ -51,7 +51,7 @@
style=
"max-width: 170px"
:placeholder=
"form.placeholder"
@
change=
"changeSelect"
>
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
:disabled=
"item.disabled"
/>
<el-option
v-for=
"(item, index) in form.options"
:key=
"index"
:label=
"item.name"
:value=
"item.value"
/>
</el-select>
</
template
>
<!-- 时间、自定义 -->
...
...
dsk-operate-ui/src/views/detail/party-a/mixins/mixin.js
View file @
958190ba
...
...
@@ -59,7 +59,16 @@ export default {
handleSearch
(){
let
params
=
this
.
formParams
()
params
.
pageNum
=
1
this
.
queryParams
.
pageNum
=
1
this
.
queryParams
.
pageNum
=
1
;
if
(
params
.
companyTypes
){
if
(
params
.
companyTypes
.
length
===
0
){
delete
params
.
companyTypes
}
}
if
(
!
params
.
companyType
){
delete
params
.
companyType
}
this
.
handleQuery
(
params
)
},
//分页
...
...
dsk-operate-ui/src/views/index.vue
View file @
958190ba
...
...
@@ -73,9 +73,7 @@
<div
class=
"box-right"
>
<el-table
:data=
"jtList"
element-loading-text=
"Loading"
border
show-summary
max-height=
"250"
fit
highlight-current-row
...
...
@@ -95,14 +93,62 @@
</div>
</div>
<el-row>
<el-col
:span=
"1
2
"
>
<el-col
:span=
"1
4
"
>
<div
id=
"zbph-echarts"
style=
"height: 500px;"
></div>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"10"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams.address"
placeholder=
"项目地区"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
placeholder=
"项目类型"
>
<el-option
v-for=
"(item,index) in typeList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"time"
>
<custom-time-select
:timeList=
"timeList"
placeholder=
"中标日期"
@
handle-search=
"changeSelect"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"box-right"
>
<el-table
:data=
"jtList"
border
max-height=
"400"
fit
highlight-current-row
>
<el-table-column
prop=
"name"
label=
"企业名称"
width=
"120"
/>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
/>
<el-table-column
prop=
"amount"
label=
"中标金额(万元)"
align=
"right"
sortable
/>
</el-table>
</div>
</el-col>
</el-row>
</div>
<!--
<div
class=
"content content_wap3"
>
-->
<!--
<div
class=
"head"
></div>
-->
<!--
<div
class=
"list"
>
-->
<!--
<div
class=
"item"
v-for=
"(item,index) in projectList"
:key=
"index"
>
-->
<!--
<h3>
{{
item
.
projectName
}}
</h3>
-->
<!--
<p>
-->
<!--
<span>
中标企业:
</span>
-->
<!--
<span>
{{
item
.
enterprise
}}
</span>
-->
<!--
</p>
-->
<!--
<p>
-->
<!--
<span>
中标金额:
</span>
-->
<!--
<span>
{{
item
.
amount
}}
</span>
-->
<!--
</p>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</div>
-->
</div>
<!--员工视角-->
<div
class=
"staff"
v-if=
"user === 2"
>
...
...
@@ -372,30 +418,55 @@ export default {
],
pmData
:[
{
name
:
'
朱博
'
,
name
:
'
中治建工集团有限公司
'
,
value
:
334
,
value1
:
164
,
},
{
name
:
'
陈伟
'
,
name
:
'
中机中联工程有限公司
'
,
value
:
230
,
value1
:
130
,
},
{
name
:
'
张天翼
'
,
name
:
'
中铁五局集团第六公司
'
,
value
:
156
,
value1
:
150
,
},
{
name
:
'
李晨旭
'
,
name
:
'
中铁长江交通设计公司
'
,
value
:
112
,
value1
:
130
,
},
{
name
:
'
徐阳
'
,
name
:
'
重庆设计院有限公公司
'
,
value
:
110
,
value1
:
90
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
},
{
name
:
'重庆设计院有限公公司'
,
value
:
80
,
value1
:
90
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
},
],
rankIconsSize
:
'24'
,
rankIcons
:[
// 排序图标
...
...
@@ -404,6 +475,11 @@ export default {
require
(
'@/assets/images/index/3.png'
),
require
(
'@/assets/images/index/4.png'
),
require
(
'@/assets/images/index/5.png'
),
require
(
'@/assets/images/index/6.png'
),
require
(
'@/assets/images/index/7.png'
),
require
(
'@/assets/images/index/8.png'
),
require
(
'@/assets/images/index/9.png'
),
require
(
'@/assets/images/index/10.png'
),
],
user
:
1
,
activeName
:
'first'
,
...
...
@@ -508,6 +584,36 @@ export default {
type
:
''
},
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
projectList
:[
{
projectName
:
'永川综合保税区建设工程项目二期 (第一批建设项目) EPC总承包联合体2'
,
enterprise
:
'平庆渝西保税产业发展有限公司'
,
amount
:
'33333万元'
,
time
:
'2022-03-05'
,
zbr
:
'重庆渝西保税产业发展有限公司'
},
{
projectName
:
'永川综合保税区建设工程项目二期 (第一批建设项目) EPC总承包联合体2'
,
enterprise
:
'平庆渝西保税产业发展有限公司'
,
amount
:
'33333万元'
,
time
:
'2022-03-05'
,
zbr
:
'重庆渝西保税产业发展有限公司'
},
{
projectName
:
'永川综合保税区建设工程项目二期 (第一批建设项目) EPC总承包联合体2'
,
enterprise
:
'平庆渝西保税产业发展有限公司'
,
amount
:
'33333万元'
,
time
:
'2022-03-05'
,
zbr
:
'重庆渝西保税产业发展有限公司'
},
{
projectName
:
'永川综合保税区建设工程项目二期 (第一批建设项目) EPC总承包联合体2'
,
enterprise
:
'平庆渝西保税产业发展有限公司'
,
amount
:
'33333万元'
,
time
:
'2022-03-05'
,
zbr
:
'重庆渝西保税产业发展有限公司'
},
]
};
},
...
...
@@ -654,15 +760,20 @@ export default {
require
(
'@/assets/images/index/3.png'
),
require
(
'@/assets/images/index/4.png'
),
require
(
'@/assets/images/index/5.png'
),
require
(
'@/assets/images/index/6.png'
),
require
(
'@/assets/images/index/7.png'
),
require
(
'@/assets/images/index/8.png'
),
require
(
'@/assets/images/index/9.png'
),
require
(
'@/assets/images/index/10.png'
),
]
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbph-echarts"
))
let
option
=
{
legend
:
{
show
:
true
,
x
:
'
center
'
,
y
:
'
bottom
'
,
padding
:[
0
,
0
,
10
,
0
],
x
:
'
right
'
,
y
:
'
top
'
,
padding
:[
1
0
,
0
,
10
,
0
],
itemWidth
:
24
,
itemHeight
:
10
,
textStyle
:{
...
...
@@ -686,7 +797,7 @@ export default {
}
},
axisLabel
:
{
margin
:
8
0
,
margin
:
20
0
,
textStyle
:
{
align
:
'left'
,
},
...
...
@@ -698,6 +809,7 @@ export default {
1
:
{
height
:
24
,
width
:
24
,
// marginBottom:-15,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
0
]
...
...
@@ -735,6 +847,46 @@ export default {
image
:
rankPic
[
4
]
}
},
6
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
5
]
}
},
7
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
6
]
}
},
8
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
7
]
}
},
9
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
8
]
}
},
10
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
9
]
}
},
}
},
},
...
...
@@ -743,7 +895,7 @@ export default {
},
grid
:
{
left
:
'20%'
,
top
:
2
0
,
top
:
4
0
,
right
:
20
,
bottom
:
60
,
},
...
...
@@ -762,10 +914,6 @@ export default {
data
:
this
.
pmData
.
map
(
item
=>
item
.
value
),
barGap
:
0
,
type
:
'bar'
,
// stack: 'total',
// emphasis: {
// focus: 'series'
// },
itemStyle
:{
color
:
'#14C9C9'
,
barBorderRadius
:[
0
,
20
,
20
,
0
]
...
...
@@ -773,15 +921,10 @@ export default {
barWidth
:
8
,
},
{
// realtimeSort: true,
name
:
'目标产值'
,
data
:
this
.
pmData
.
map
(
item
=>
item
.
value1
),
barGap
:
0
,
type
:
'bar'
,
// stack: 'total',
// emphasis: {
// focus: 'series'
// },
itemStyle
:{
color
:
'#92C9FF'
,
barBorderRadius
:[
0
,
20
,
20
,
0
]
...
...
@@ -931,8 +1074,6 @@ export default {
}
}
.box-right
{
width
:
90%
;
float
:
right
;
...
...
@@ -1039,6 +1180,12 @@ export default {
}
}
}
.content_wap3
{
.head
{
height
:
56px
;
border-bottom
:
1px
solid
#EFEFEF
;
}
}
}
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
958190ba
...
...
@@ -75,7 +75,7 @@
<el-table-column
prop=
"count"
label=
"中标数量 (个)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"130"
/>
<el-table-column
prop=
"countRate"
label=
"数量占比(%)"
align=
"right"
:formatter=
"formatStatus"
sortable
width=
"150"
/>
<el-table-column
prop=
"sumMoney"
label=
"中标总金额 (万元)"
align=
"right"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"moneyRate"
label=
"金额占比(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"120"
/>
<el-table-column
prop=
"moneyRate"
label=
"金额占比(%)"
align=
"right"
:formatter=
"formatStatus"
/>
</el-table>
</div>
</div>
...
...
@@ -130,7 +130,7 @@
</div>
</div>
<div
class=
"content_box"
>
<div
class=
"box-left"
style=
"width: 60%;"
>
<div
class=
"box-left"
>
<div
id=
"echarts4"
style=
"height: 300px"
></div>
</div>
<div
class=
"box-right"
>
...
...
@@ -175,7 +175,7 @@
border
show-summary
max-height=
"280"
:summary-method=
"getSummaries"
:summary-method=
"getSummaries
1
"
fit
highlight-current-row
:default-sort =
"{prop: 'count', order: 'descending'}"
...
...
@@ -208,7 +208,7 @@
</div>
</div>
<div
class=
"content_box"
v-if=
"topList.length > 0 && !isSkeleton"
>
<div
class=
"box-left"
style=
"width: 60%;"
>
<div
class=
"box-left"
>
<div
id=
"echarts6"
style=
"height: 300px"
></div>
</div>
<div
class=
"box-right"
>
...
...
@@ -218,7 +218,7 @@
border
show-summary
max-height=
"280"
:summary-method=
"getSummaries
1
"
:summary-method=
"getSummaries
2
"
fit
highlight-current-row
:default-sort =
"{prop: 'count', order: 'descending'}"
...
...
@@ -227,9 +227,9 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"month"
label=
"时间"
:formatter=
"formatStatus"
width=
"120"
/>
<el-table-column
prop=
"sgRate"
label=
"施工类
项目下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"17
0"
/>
<el-table-column
prop=
"kcsjRate"
label=
"勘察设计类
项目下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"200
"
/>
<el-table-column
prop=
"jlRate"
label=
"监理类
项目下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"17
0"
/>
<el-table-column
prop=
"sgRate"
label=
"施工类
下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"16
0"
/>
<el-table-column
prop=
"kcsjRate"
label=
"勘察设计类
下浮率(%)"
align=
"right"
:formatter=
"formatStatus
"
/>
<el-table-column
prop=
"jlRate"
label=
"监理类
下浮率(%)"
align=
"right"
:formatter=
"formatStatus"
width=
"16
0"
/>
</el-table>
</div>
</div>
...
...
@@ -306,9 +306,13 @@
this
.
xmtjList
.
forEach
(
item
=>
{
item
.
money
=
Number
(
item
.
money
)
})
var
list
=
[];
for
(
var
i
=
0
;
i
<
10
;
i
++
){
list
.
push
(
res
.
data
.
date
[
i
])
}
if
(
res
.
data
){
this
.
$nextTick
(()
=>
{
this
.
initChart1
(
res
.
data
.
date
)
this
.
initChart1
(
list
)
})
}
})
...
...
@@ -406,11 +410,6 @@
initChart1
(
data
)
{
this
.
$nextTick
(()
=>
{
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"echarts1"
))
let
list1
=
[],
list2
=
[]
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
list1
.
push
(
data
[
i
].
count
)
list2
.
push
(
data
[
i
].
money
)
}
let
option
=
{
tooltip
:
{
trigger
:
'axis'
,
...
...
@@ -421,7 +420,7 @@
xAxis
:
{
type
:
'category'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
margin
:
1
5
,
//刻度标签与轴线之间的距离
margin
:
1
0
,
//刻度标签与轴线之间的距离
color
:
"#666666"
,
show
:
true
,
interval
:
0
...
...
@@ -474,8 +473,8 @@
],
grid
:
{
top
:
30
,
left
:
8
0
,
right
:
9
0
,
left
:
7
0
,
right
:
10
0
,
bottom
:
30
,
},
series
:
[
...
...
@@ -483,7 +482,7 @@
name
:
'中标金额(万元)'
,
smooth
:
false
,
//平滑
type
:
"line"
,
symbolSize
:
6
,
symbolSize
:
5
,
yAxisIndex
:
1
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
...
...
@@ -694,7 +693,7 @@
type
:
'category'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
margin
:
15
,
//刻度标签与轴线之间的距离
color
:
"#666666"
color
:
"#666666"
,
},
axisTick
:
false
,
//坐标轴刻度
axisPointer
:
{
...
...
@@ -801,8 +800,10 @@
xAxis
:
{
type
:
'category'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
margin
:
15
,
//刻度标签与轴线之间的距离
color
:
"#666666"
margin
:
10
,
//刻度标签与轴线之间的距离
color
:
"#666666"
,
// show: true,
// interval: 0
},
axisTick
:
false
,
//坐标轴刻度
axisPointer
:
{
...
...
@@ -845,8 +846,8 @@
],
grid
:
{
top
:
30
,
left
:
8
0
,
right
:
9
0
,
left
:
7
0
,
right
:
7
0
,
bottom
:
30
,
},
series
:
[
...
...
@@ -854,7 +855,7 @@
name
:
'下浮率'
,
smooth
:
false
,
//平滑
type
:
"line"
,
symbolSize
:
6
,
symbolSize
:
5
,
yAxisIndex
:
1
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
...
...
@@ -869,7 +870,7 @@
{
name
:
'统计项目数量'
,
type
:
'bar'
,
barWidth
:
20
,
barWidth
:
18
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
return
value
+
'个'
;
...
...
@@ -1060,6 +1061,37 @@
return
sums
;
},
getSummaries1
(
param
){
const
{
columns
,
data
}
=
param
;
const
sums
=
[];
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
1
)
{
sums
[
index
]
=
'平均下浮率'
;
return
;
}
if
(
index
===
0
||
index
===
3
)
{
sums
[
index
]
=
'-'
;
return
;
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]));
let
length
=
0
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
);
if
(
!
isNaN
(
value
))
{
length
=
values
.
length
return
Number
(
prev
)
+
Number
(
curr
)
}
else
{
return
prev
;
}
},
0
);
if
(
index
===
2
)
{
sums
[
index
]
=
(
Number
(
sums
[
index
])
/
length
).
toFixed
(
2
);
return
;
}
});
return
sums
;
},
getSummaries2
(
param
){
const
{
columns
,
data
}
=
param
;
const
sums
=
[];
columns
.
forEach
((
column
,
index
)
=>
{
...
...
@@ -1150,10 +1182,10 @@
display
:
flex
;
justify-content
:
space-between
;
.box-left
{
width
:
6
0%
;
width
:
5
0%
;
}
.box-right
{
width
:
3
3%
;
width
:
4
3%
;
float
:
right
;
::v-deep
.el-table
{
.sort-caret.ascending
{
...
...
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