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
6dedea1e
Commit
6dedea1e
authored
Aug 25, 2023
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev20230707' into dev20230707
parents
e0955191
3b48016a
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
276 additions
and
131 deletions
+276
-131
index.js
dsk-operate-ui/src/router/index.js
+1
-1
CustomMoneySelect.vue
dsk-operate-ui/src/views/component/CustomMoneySelect.vue
+10
-3
CustomTimeSelect.vue
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
+7
-0
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+102
-70
holderinfo.vue
...erate-ui/src/views/detail/party-a/overview/holderinfo.vue
+4
-1
index.vue
dsk-operate-ui/src/views/index.vue
+146
-55
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+5
-1
CustomerMapper.xml
.../main/resources/mapper/system/customer/CustomerMapper.xml
+1
-0
No files found.
dsk-operate-ui/src/router/index.js
View file @
6dedea1e
...
@@ -70,7 +70,7 @@ export const constantRoutes = [
...
@@ -70,7 +70,7 @@ export const constantRoutes = [
path
:
'index'
,
path
:
'index'
,
component
:
()
=>
import
(
'@/views/index'
),
component
:
()
=>
import
(
'@/views/index'
),
name
:
'Index'
,
name
:
'Index'
,
meta
:
{
title
:
'首页'
,
icon
:
'index'
,
noCache
:
tru
e
}
meta
:
{
title
:
'首页'
,
icon
:
'index'
,
noCache
:
fals
e
}
}
}
]
]
},
},
...
...
dsk-operate-ui/src/views/component/CustomMoneySelect.vue
View file @
6dedea1e
...
@@ -51,6 +51,10 @@ export default {
...
@@ -51,6 +51,10 @@ export default {
type
:
String
,
type
:
String
,
default
:
'请选择'
default
:
'请选择'
},
},
'moneyValue'
:
{
type
:
String
,
default
:
''
},
'ref-str'
:
{
'ref-str'
:
{
type
:
String
,
type
:
String
,
default
:
`timeselect
${
String
(
Math
.
random
(
0
,
100
)).
slice
(
2
)}
`
,
default
:
`timeselect
${
String
(
Math
.
random
(
0
,
100
)).
slice
(
2
)}
`
,
...
@@ -92,6 +96,9 @@ export default {
...
@@ -92,6 +96,9 @@ export default {
if
(
this
.
moneyList
&&
this
.
moneyList
.
length
>
0
){
if
(
this
.
moneyList
&&
this
.
moneyList
.
length
>
0
){
this
.
options
=
this
.
moneyList
this
.
options
=
this
.
moneyList
}
}
if
(
this
.
moneyValue
){
this
.
value
=
this
.
moneyValue
}
},
},
destroyed
()
{
destroyed
()
{
const
app
=
document
.
getElementById
(
'app'
)
const
app
=
document
.
getElementById
(
'app'
)
...
@@ -411,20 +418,20 @@ export default {
...
@@ -411,20 +418,20 @@ export default {
width
:
186px
;
width
:
186px
;
color
:
#606266
;
color
:
#606266
;
text-indent
:
0
;
text-indent
:
0
;
padding
:
1
6
px
;
padding
:
1
4
px
;
padding-top
:
0px
;
padding-top
:
0px
;
border
:
1px
solid
#e0e0e0
;
border
:
1px
solid
#e0e0e0
;
.popper_wrap
{
.popper_wrap
{
margin-top
:
16px
;
margin-top
:
16px
;
display
:
inline-block
;
display
:
inline-block
;
.popper_input
{
.popper_input
{
width
:
10
0px
;
width
:
9
0px
;
display
:
inline-block
;
display
:
inline-block
;
margin
:
0px
8px
;
margin
:
0px
8px
;
line-height
:
34px
;
line-height
:
34px
;
}
}
.el-input__inner
{
.el-input__inner
{
width
:
10
0px
;
width
:
9
0px
;
}
}
}
}
input
:
:-
webkit-outer-spin-button
,
input
:
:-
webkit-outer-spin-button
,
...
...
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
View file @
6dedea1e
...
@@ -46,6 +46,10 @@ export default {
...
@@ -46,6 +46,10 @@ export default {
type
:
String
,
type
:
String
,
default
:
'请选择'
,
default
:
'请选择'
,
},
},
'timeValue'
:
{
type
:
String
,
default
:
''
,
},
'ref-str'
:
{
'ref-str'
:
{
type
:
String
,
type
:
String
,
default
:
`timeselect
${
String
(
Math
.
random
(
0
,
100
)).
slice
(
2
)}
`
,
default
:
`timeselect
${
String
(
Math
.
random
(
0
,
100
)).
slice
(
2
)}
`
,
...
@@ -106,6 +110,9 @@ export default {
...
@@ -106,6 +110,9 @@ export default {
if
(
this
.
dateTo
){
if
(
this
.
dateTo
){
this
.
defaultValue
=
new
Date
(
this
.
dateTo
)
this
.
defaultValue
=
new
Date
(
this
.
dateTo
)
}
}
if
(
this
.
timeValue
){
this
.
value
=
this
.
timeValue
}
this
.
handleAppClick
()
this
.
handleAppClick
()
if
(
this
.
timeList
&&
this
.
timeList
.
length
>
0
){
if
(
this
.
timeList
&&
this
.
timeList
.
length
>
0
){
this
.
options
=
this
.
timeList
this
.
options
=
this
.
timeList
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
6dedea1e
...
@@ -212,7 +212,7 @@
...
@@ -212,7 +212,7 @@
pageSize
:
10
,
pageSize
:
10
,
recordlist
:[],
recordlist
:[],
timeList
:[
'今日'
,
'近三天'
,
'近七天'
,
'自定义'
],
timeList
:[
'今日'
,
'近三天'
,
'近七天'
,
'自定义'
],
datatype
:
0
,
datatype
:
''
,
defaultValue
:
new
Date
(),
defaultValue
:
new
Date
(),
pickerValue
:
[],
pickerValue
:
[],
params
:{
params
:{
...
@@ -301,88 +301,120 @@
...
@@ -301,88 +301,120 @@
self
.
myChart1
.
resize
()
self
.
myChart1
.
resize
()
},
10
)
},
10
)
},
},
initChart
(
data
){
initChart
(
list
){
let
data
=
[]
if
(
list
.
length
>
10
){
for
(
var
i
=
0
;
i
<
10
;
i
++
){
data
.
push
(
list
[
i
])
}
}
else
{
data
=
list
}
//业主单位合作情况
//业主单位合作情况
this
.
option
=
{
this
.
option
=
{
legend
:
{
tooltip
:
{
show
:
false
,
trigger
:
'axis'
,
x
:
'center'
,
axisPointer
:
{
y
:
'bottom'
,
type
:
'cross'
padding
:[
10
,
0
,
10
,
0
],
itemWidth
:
24
,
itemHeight
:
10
,
textStyle
:{
borderRadius
:
30
,
}
}
},
},
y
Axis
:
{
x
Axis
:
{
type
:
'category'
,
type
:
'category'
,
inverse
:
true
,
// 反向坐标
axisLabel
:
{
//坐标轴刻度标签的相关设置
data
:
data
.
map
(
item
=>
item
.
companyName
),
margin
:
15
,
//刻度标签与轴线之间的距离
axisLine
:
{
color
:
"#666666"
show
:
false
,
},
axisTick
:
{
show
:
false
,
},
},
axisTick
:
false
,
//坐标轴刻度
axisPointer
:
{
axisPointer
:
{
label
:
{
type
:
'shadow'
show
:
true
,
},
margin
:
30
data
:
data
.
map
(
item
=>
item
.
companyName
),
},
yAxis
:
[
{
type
:
'value'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
"#666666"
},
name
:
'单位:次'
,
nameLocation
:
'end'
,
nameTextStyle
:
{
padding
:
[
0
,
10
,
0
,
-
60
],
// 四个数字分别为上右下左与原位置距离
color
:
'#666666'
,
}
}
},
},
axisLabel
:
{
{
margin
:
200
,
type
:
'value'
,
textStyle
:
{
axisLabel
:
{
//坐标轴刻度标签的相关设置
align
:
'left'
,
color
:
"#666666"
},
},
formatter
:
function
(
value
,
index
)
{
name
:
'单位:万元'
,
if
(
value
.
length
>
15
)
{
nameLocation
:
'end'
,
value
=
`
${
value
.
slice
(
0
,
15
)}
...`
nameTextStyle
:
{
}
padding
:
[
0
,
0
,
0
,
100
],
// 四个数字分别为上右下左与原位置距离
return
value
color
:
'#666666'
,
},
},
},
splitLine
:
{
},
show
:
true
,
xAxis
:
{
lineStyle
:
{
type
:
'value'
,
type
:
'dashed'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
[
'#FFFFFF'
]
// color:"#666666"
}
},
}
name
:
'单位/万元'
,
}
// nameLocation: 'start',
],
nameLocation
:
'end'
,
nameTextStyle
:
{
padding
:
[
0
,
0
,
0
,
0
],
// 四个数字分别为上右下左与原位置距离
// color: '#666666',
},
},
grid
:
{
grid
:
{
left
:
'22%'
,
top
:
30
,
top
:
60
,
left
:
80
,
right
:
80
,
right
:
90
,
bottom
:
60
,
bottom
:
30
,
},
tooltip
:
{
show
:
true
,
// backgroundColor: 'rgba(0,0,0,.7)',
borderWidth
:
0
,
// textStyle: {
// color: '#fff',
// },
},
},
series
:
{
series
:
[
name
:
'合同总额'
,
{
data
:
data
.
map
(
item
=>
item
.
totalAmount
),
name
:
'合作金额(万元)'
,
barGap
:
0
,
smooth
:
false
,
//平滑
type
:
'bar'
,
type
:
"line"
,
itemStyle
:{
symbolSize
:
6
,
color
:
'#92C9FF'
,
yAxisIndex
:
1
,
barBorderRadius
:[
0
,
20
,
20
,
0
]
tooltip
:
{
valueFormatter
:
function
(
value
)
{
return
value
+
'万元'
}
},
itemStyle
:
{
normal
:{
color
:
'#67B3FD'
,
lineStyle
:
{
width
:
3
},
}
},
data
:
data
.
map
(
item
=>
item
.
totalAmount
),
},
},
barWidth
:
8
,
{
},
name
:
'合作次数(次)'
,
type
:
'bar'
,
barWidth
:
20
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
return
value
+
'次'
;
}
},
itemStyle
:
{
normal
:{
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[{
offset
:
0
,
color
:
'#56A5FF'
},
{
offset
:
1
,
color
:
'#1B8EFF'
}]),
barBorderRadius
:[
20
,
20
,
0
,
0
]
}
},
data
:
data
.
map
(
item
=>
item
.
businessCount
),
}
]
}
}
this
.
option
&&
this
.
myChart
.
setOption
(
this
.
option
)
this
.
option
&&
this
.
myChart
.
setOption
(
this
.
option
)
},
},
...
...
dsk-operate-ui/src/views/detail/party-a/overview/holderinfo.vue
View file @
6dedea1e
...
@@ -33,6 +33,9 @@
...
@@ -33,6 +33,9 @@
<
template
slot=
"stockPercent"
slot-scope=
"scope"
>
<
template
slot=
"stockPercent"
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
stockPercent
?
parseFloat
(
Number
(
scope
.
row
.
stockPercent
*
100
).
toFixed
(
4
))
+
'%'
:
'--'
}}
</span>
<span>
{{
scope
.
row
.
stockPercent
?
parseFloat
(
Number
(
scope
.
row
.
stockPercent
*
100
).
toFixed
(
4
))
+
'%'
:
'--'
}}
</span>
</
template
>
</
template
>
<
template
slot=
"shouldCapiConv"
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
shouldCapiConv
===
'0.00万元人民币'
?
'--'
:
scope
.
row
.
shouldCapiConv
}}
</span>
</
template
>
</tables>
</tables>
</div>
</div>
</template>
</template>
...
@@ -56,7 +59,7 @@ export default {
...
@@ -56,7 +59,7 @@ export default {
forData
:
[
forData
:
[
{
label
:
'发起人/股东'
,
prop
:
'stockName'
,
minWidth
:
'230'
,
slot
:
true
},
{
label
:
'发起人/股东'
,
prop
:
'stockName'
,
minWidth
:
'230'
,
slot
:
true
},
{
label
:
'持股比例'
,
prop
:
'stockPercent'
,
slot
:
true
},
{
label
:
'持股比例'
,
prop
:
'stockPercent'
,
slot
:
true
},
{
label
:
'认缴出资'
,
prop
:
'shouldCapiConv'
},
{
label
:
'认缴出资'
,
prop
:
'shouldCapiConv'
,
slot
:
true
},
{
label
:
'实缴出资额'
,
prop
:
'realCapi'
},
{
label
:
'实缴出资额'
,
prop
:
'realCapi'
},
{
label
:
'认缴出资日期'
,
prop
:
'conDate'
},
{
label
:
'认缴出资日期'
,
prop
:
'conDate'
},
{
label
:
'参股日期'
,
prop
:
'realCapiDate'
,
width
:
'150'
}
{
label
:
'参股日期'
,
prop
:
'realCapiDate'
,
width
:
'150'
}
...
...
dsk-operate-ui/src/views/index.vue
View file @
6dedea1e
...
@@ -56,13 +56,7 @@
...
@@ -56,13 +56,7 @@
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
集团中标统计
</span>
<span
class=
"common-title"
>
集团中标统计
</span>
</div>
</div>
</div>
<div
class=
"flex-box"
>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<el-row
v-if=
"!isSkeleton"
>
<el-col
:span=
"14"
>
<div
id=
"zbtj-echarts"
style=
"height: 300px;"
></div>
</el-col>
<el-col
:span=
"10"
>
<div
class=
"search"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"address"
>
<el-form-item
prop=
"address"
>
...
@@ -79,16 +73,25 @@
...
@@ -79,16 +73,25 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams.time"
v-model=
"queryParams.time"
timeValue=
"近七天"
placeholder=
"中标日期"
placeholder=
"中标日期"
@
handle-search=
"changeSelect1"
/>
@
handle-search=
"changeSelect1"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
</div>
</div>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<el-row
v-if=
"jtzbList.length > 0 &&!isSkeleton"
>
<el-col
:span=
"14"
>
<div
id=
"zbtj-echarts"
style=
"height: 350px;"
></div>
</el-col>
<el-col
:span=
"10"
>
<div
class=
"box-right"
>
<div
class=
"box-right"
>
<el-table
<el-table
:data=
"jtzbList"
:data=
"jtzbList"
border
border
max-height=
"
25
0"
max-height=
"
32
0"
fit
fit
ref=
"tableRef"
ref=
"tableRef"
highlight-current-row
highlight-current-row
...
@@ -104,18 +107,17 @@
...
@@ -104,18 +107,17 @@
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<div
class=
"empty"
v-if=
"jtzbList.length === 0 && !isSkeleton"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,暂无数据展示
</div>
</div>
</div>
</div>
<div
class=
"content content_wap2"
>
<div
class=
"content content_wap2"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
大项目中标排行榜
</span>
<span
class=
"common-title"
>
大项目中标排行榜
</span>
</div>
</div>
</div>
<div
class=
"flex-box"
>
<el-row>
<el-col
:span=
"14"
>
<div
id=
"zbph-echarts"
style=
"height: 500px;"
></div>
</el-col>
<el-col
:span=
"10"
>
<div
class=
"search"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams1"
:inline=
"true"
size=
"small"
>
<el-form
ref=
"queryForm"
:model=
"queryParams1"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"money"
>
<el-form-item
prop=
"money"
>
...
@@ -139,16 +141,24 @@
...
@@ -139,16 +141,24 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams1.time"
v-model=
"queryParams1.time"
timeValue=
"近七天"
placeholder=
"中标日期"
placeholder=
"中标日期"
@
handle-search=
"changeSelect2"
/>
@
handle-search=
"changeSelect2"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
</div>
</div>
<el-row
v-if=
"dxmbList.length > 0 && !dxmzbState"
>
<el-col
:span=
"14"
>
<div
id=
"zbph-echarts"
style=
"height: 350px;"
></div>
</el-col>
<el-col
:span=
"10"
>
<div
class=
"box-right"
>
<div
class=
"box-right"
>
<el-table
<el-table
:data=
"dxmbList"
:data=
"dxmbList"
border
border
max-height=
"
40
0"
max-height=
"
32
0"
ref=
"tableRef1"
ref=
"tableRef1"
fit
fit
highlight-current-row
highlight-current-row
...
@@ -165,6 +175,10 @@
...
@@ -165,6 +175,10 @@
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<div
class=
"empty"
v-if=
"dxmbList.length === 0 && !dxmzbState"
>
<img
class=
"img"
src=
"@/assets/images/project/empty.png"
>
<div
class=
"p1"
>
抱歉,暂无数据展示
</div>
</div>
</div>
</div>
<div
class=
"content_wap3"
ref=
"returnTop"
>
<div
class=
"content_wap3"
ref=
"returnTop"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClickTab"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClickTab"
>
...
@@ -176,7 +190,7 @@
...
@@ -176,7 +190,7 @@
<div
class=
"list-content"
>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
>
<span>
中标企业:
</span>
<span>
中标企业:
</span>
<span>
{{item.ename || '--'}}
</span>
<span>
<router-link
:to=
"`/enterprise/${encodeStr(item.jskEid)}`"
tag=
"a"
class=
"a-link companyName"
v-html=
"item.ename"
></router-link>
</span>
</p>
</p>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
>
<span>
中标金额:
</span>
<span>
中标金额:
</span>
...
@@ -193,7 +207,7 @@
...
@@ -193,7 +207,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pagination-box"
v-if=
"totalCount>queryParams2.pageSize && !zxzbIsSkeleton"
>
<div
class=
"pagination-box"
v-if=
"
show_page &&
totalCount>queryParams2.pageSize && !zxzbIsSkeleton"
>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"totalCount"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"totalCount"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
...
@@ -201,7 +215,7 @@
...
@@ -201,7 +215,7 @@
<skeleton
v-if=
"zhaobiaoIsSkeleton"
style=
"padding: 16px"
></skeleton>
<skeleton
v-if=
"zhaobiaoIsSkeleton"
style=
"padding: 16px"
></skeleton>
<div
v-if=
"!zhaobiaoIsSkeleton"
class=
"list"
>
<div
v-if=
"!zhaobiaoIsSkeleton"
class=
"list"
>
<div
class=
"item"
v-for=
"(item,index) in zbList"
:key=
"index"
>
<div
class=
"item"
v-for=
"(item,index) in zbList"
:key=
"index"
>
<p
class=
"list-title"
><router-link
:to=
"`/
biddetail
/${item.id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.id"
v-html=
"item.projectName"
></router-link></p>
<p
class=
"list-title"
><router-link
:to=
"`/
radar/Notice/details
/${item.id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.id"
v-html=
"item.projectName"
></router-link></p>
<div
class=
"list-content"
>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<p
class=
"list-content-text"
>
<span>
总投资:
</span>
<span>
总投资:
</span>
...
@@ -218,7 +232,7 @@
...
@@ -218,7 +232,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pagination-box"
v-if=
"zbTableTotal>queryParams2.pageSize && !zhaobiaoIsSkeleton"
>
<div
class=
"pagination-box"
v-if=
"
show_page &&
zbTableTotal>queryParams2.pageSize && !zhaobiaoIsSkeleton"
>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"zbTableTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"zbTableTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
...
@@ -229,6 +243,7 @@
...
@@ -229,6 +243,7 @@
<custom-money-select
<custom-money-select
:moneyList=
"moneyList"
:moneyList=
"moneyList"
v-model=
"amount"
v-model=
"amount"
moneyValue=
"2亿以上"
:placeholder=
"placeholder"
:placeholder=
"placeholder"
@
handle-search=
"changeSelect3"
/>
@
handle-search=
"changeSelect3"
/>
</el-form-item>
</el-form-item>
...
@@ -246,6 +261,7 @@
...
@@ -246,6 +261,7 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams2.time"
v-model=
"queryParams2.time"
timeValue=
"近七天"
placeholder=
"中标日期"
placeholder=
"中标日期"
@
handle-search=
"changeSelect3"
/>
@
handle-search=
"changeSelect3"
/>
</el-form-item>
</el-form-item>
...
@@ -667,8 +683,11 @@ export default {
...
@@ -667,8 +683,11 @@ export default {
zbTableTotal
:
0
,
zbTableTotal
:
0
,
isSkeleton
:
true
,
isSkeleton
:
true
,
zxzbIsSkeleton
:
true
,
zxzbIsSkeleton
:
true
,
dxmzbState
:
true
,
zhaobiaoIsSkeleton
:
true
,
zhaobiaoIsSkeleton
:
true
,
placeholder
:
'中标金额'
placeholder
:
'中标金额'
,
show_page
:
true
,
MaxPage
:
500
,
};
};
},
},
created
()
{
created
()
{
...
@@ -704,14 +723,15 @@ export default {
...
@@ -704,14 +723,15 @@ export default {
this
.
isSkeleton
=
false
;
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
this
.
jtzbList
=
res
.
data
;
this
.
jtzbList
=
res
.
data
;
// if()
if
(
this
.
jtzbList
.
length
>
0
){
this
.
initChart
(
this
.
jtzbList
)
this
.
initChart
(
this
.
jtzbList
)
// setTimeout(() => {
// this.$nextTick(() => {
// this.$refs.tableRef.bodyWrapper.scrollTop = 0
// });
// }, 500);
}
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tableRef
.
bodyWrapper
.
scrollTop
=
0
});
},
500
);
}
}
})
})
},
},
...
@@ -737,15 +757,16 @@ export default {
...
@@ -737,15 +757,16 @@ export default {
}
}
bidRank
(
params
).
then
(
res
=>
{
bidRank
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
this
.
dxmzbState
=
false
;
this
.
dxmbList
=
res
.
data
;
this
.
dxmbList
=
res
.
data
;
if
(
this
.
dxmbList
.
length
>
0
){
if
(
this
.
dxmbList
.
length
>
0
){
this
.
initChart1
(
this
.
dxmbList
)
this
.
initChart1
(
this
.
dxmbList
)
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tableRef1
.
bodyWrapper
.
scrollTop
=
0
});
},
500
);
}
}
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tableRef1
.
bodyWrapper
.
scrollTop
=
0
});
},
500
);
}
}
})
})
},
},
...
@@ -781,6 +802,10 @@ export default {
...
@@ -781,6 +802,10 @@ export default {
this
.
projectList
=
res
.
data
.
list
;
this
.
projectList
=
res
.
data
.
list
;
this
.
totalCount
=
res
.
data
.
total
;
this
.
totalCount
=
res
.
data
.
total
;
}
}
// window.scrollTo({
// top: 600,
// behavior: 'smooth' // 滚动行为:smooth平滑滚动,instant瞬间滚动,默认值auto,等同于instant
// })
})
})
},
},
getBigBidPage
(){
getBigBidPage
(){
...
@@ -869,7 +894,7 @@ export default {
...
@@ -869,7 +894,7 @@ export default {
name
:
'单位:个'
,
name
:
'单位:个'
,
nameLocation
:
'end'
,
nameLocation
:
'end'
,
nameTextStyle
:
{
nameTextStyle
:
{
padding
:
[
0
,
2
0
,
0
,
-
60
],
// 四个数字分别为上右下左与原位置距离
padding
:
[
0
,
1
0
,
0
,
-
60
],
// 四个数字分别为上右下左与原位置距离
color
:
'#666666'
,
color
:
'#666666'
,
}
}
},
},
...
@@ -894,7 +919,7 @@ export default {
...
@@ -894,7 +919,7 @@ export default {
}
}
],
],
grid
:
{
grid
:
{
top
:
6
0
,
top
:
3
0
,
left
:
80
,
left
:
80
,
right
:
90
,
right
:
90
,
bottom
:
30
,
bottom
:
30
,
...
@@ -1161,7 +1186,7 @@ export default {
...
@@ -1161,7 +1186,7 @@ export default {
name
:
'单位:个'
,
name
:
'单位:个'
,
nameLocation
:
'end'
,
nameLocation
:
'end'
,
nameTextStyle
:
{
nameTextStyle
:
{
padding
:
[
0
,
2
0
,
0
,
0
],
// 四个数字分别为上右下左与原位置距离
padding
:
[
0
,
1
0
,
0
,
0
],
// 四个数字分别为上右下左与原位置距离
color
:
'#666666'
,
color
:
'#666666'
,
}
}
},
},
...
@@ -1187,10 +1212,10 @@ export default {
...
@@ -1187,10 +1212,10 @@ export default {
}
}
],
],
grid
:
{
grid
:
{
top
:
5
0
,
top
:
3
0
,
left
:
60
,
left
:
60
,
right
:
90
,
right
:
90
,
bottom
:
5
0
,
bottom
:
3
0
,
// containLabel: true
// containLabel: true
},
},
// dataZoom:[
// dataZoom:[
...
@@ -1310,17 +1335,24 @@ export default {
...
@@ -1310,17 +1335,24 @@ export default {
}
}
},
},
handleCurrentChange
(
val
){
handleCurrentChange
(
val
){
this
.
queryParams2
.
pageNum
=
val
if
(
this
.
MaxPage
<
val
){
if
(
this
.
activeName
===
'first'
){
this
.
show_page
=
false
this
.
getBigWinningBidsPage
()
this
.
$nextTick
(()
=>
{
}
this
.
queryParams2
.
pageNum
=
1
if
(
this
.
activeName
===
'second'
){
this
.
$message
.
warning
(
`对不起,最多只能访问
${
this
.
MaxPage
}
页`
)
this
.
getBigBidPage
()
this
.
show_page
=
true
})
}
else
{
this
.
queryParams2
.
pageNum
=
val
if
(
this
.
activeName
===
'first'
){
this
.
getBigWinningBidsPage
()
}
if
(
this
.
activeName
===
'second'
){
this
.
getBigBidPage
()
}
// this.jump()
}
}
window
.
scrollTo
({
top
:
600
,
behavior
:
'smooth'
// 滚动行为:smooth平滑滚动,instant瞬间滚动,默认值auto,等同于instant
})
},
},
handleSizeChange
(
val
){
handleSizeChange
(
val
){
this
.
queryParams2
.
pageNum
=
1
this
.
queryParams2
.
pageNum
=
1
...
@@ -1347,6 +1379,44 @@ export default {
...
@@ -1347,6 +1379,44 @@ export default {
});
});
},
},
jump
()
{
let
total
=
500
let
distance
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
// 平滑滚动,时长500ms,每10ms一跳,共50跳
let
step
=
total
/
50
if
(
total
>
distance
)
{
smoothDown
()
}
else
{
let
newTotal
=
distance
-
total
step
=
newTotal
/
50
smoothUp
()
}
function
smoothDown
()
{
if
(
distance
<
total
)
{
distance
+=
step
document
.
body
.
scrollTop
=
distance
document
.
documentElement
.
scrollTop
=
distance
setTimeout
(
smoothDown
,
10
)
}
else
{
document
.
body
.
scrollTop
=
total
document
.
documentElement
.
scrollTop
=
total
}
}
function
smoothUp
()
{
if
(
distance
>
total
)
{
distance
-=
step
document
.
body
.
scrollTop
=
distance
document
.
documentElement
.
scrollTop
=
distance
setTimeout
(
smoothUp
,
10
)
}
else
{
document
.
body
.
scrollTop
=
total
document
.
documentElement
.
scrollTop
=
total
}
}
},
}
}
};
};
</
script
>
</
script
>
...
@@ -1436,20 +1506,23 @@ export default {
...
@@ -1436,20 +1506,23 @@ export default {
}
}
.content
{
.content
{
background
:
#ffffff
;
background
:
#ffffff
;
padding
:
22px
16px
;
padding
:
16px
;
.query-box
{
margin-bottom
:
16px
;
}
}
}
.content_wap1
{
.content_wap1
{
height
:
38
0px
;
height
:
43
0px
;
margin-bottom
:
12px
;
margin-bottom
:
12px
;
}
}
.content_wap2
{
.content_wap2
{
height
:
54
0px
;
height
:
43
0px
;
}
}
.search
{
.search
{
float
:right
;
float
:right
;
::v-deep
.el-form
{
::v-deep
.el-form
{
.el-form-item--small.el-form-item
{
.el-form-item--small.el-form-item
{
margin-bottom
:
16px
;
margin-bottom
:
0
;
}
}
.el-form-item
{
.el-form-item
{
height
:
32px
;
height
:
32px
;
...
@@ -1616,12 +1689,12 @@ export default {
...
@@ -1616,12 +1689,12 @@ export default {
margin
:
0
16px
;
margin
:
0
16px
;
.item
{
.item
{
border-bottom
:
1px
solid
#EFEFEF
;
border-bottom
:
1px
solid
#EFEFEF
;
padding
:
1
6
px
0
;
padding
:
1
3
px
0
;
.list-title
{
.list-title
{
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
700
;
font-weight
:
700
;
color
:
#3D3D3D
;
color
:
#3D3D3D
;
line-height
:
2
3
px
;
line-height
:
2
0
px
;
cursor
:
pointer
;
cursor
:
pointer
;
.list-titel-a
{
.list-titel-a
{
text-decoration
:
none
;
text-decoration
:
none
;
...
@@ -1635,7 +1708,7 @@ export default {
...
@@ -1635,7 +1708,7 @@ export default {
}
}
}
}
.list-content
{
.list-content
{
margin-top
:
1
6
px
;
margin-top
:
1
2
px
;
display
:
flex
;
display
:
flex
;
justify-content
:
start
;
justify-content
:
start
;
align-items
:
center
;
align-items
:
center
;
...
@@ -1664,9 +1737,13 @@ export default {
...
@@ -1664,9 +1737,13 @@ export default {
}
}
}
}
}
}
}
}
}
}
.pagination-box
{
padding
:
16px
;
}
::v-deep
.selectTag
{
::v-deep
.selectTag
{
.el-select__tags
{
.el-select__tags
{
.el-tag
{
.el-tag
{
...
@@ -1677,7 +1754,21 @@ export default {
...
@@ -1677,7 +1754,21 @@ export default {
}
}
}
}
}
}
.empty
{
margin
:
0
auto
;
height
:
300px
;
text-align
:
center
;
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
70px
;
}
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
}
...
...
dsk-system/src/main/resources/mapper/business/BusinessInfoMapper.xml
View file @
6dedea1e
...
@@ -391,14 +391,17 @@
...
@@ -391,14 +391,17 @@
<select
id=
"selectAmountAnalyze"
resultType=
"com.dsk.system.domain.business.vo.BusinessAnalyzeVo"
>
<select
id=
"selectAmountAnalyze"
resultType=
"com.dsk.system.domain.business.vo.BusinessAnalyzeVo"
>
select
select
bi.amount_source,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
bi.amount_source,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
<include
refid=
"businessSearchSql"
/>
<include
refid=
"businessSearchSql"
/>
and bi.amount_source is not null
group by bi.amount_source
group by bi.amount_source
having businessCount > 0
</select>
</select>
<select
id=
"selectTypeAnalyze"
resultType=
"com.dsk.system.domain.business.vo.BusinessAnalyzeVo"
>
<select
id=
"selectTypeAnalyze"
resultType=
"com.dsk.system.domain.business.vo.BusinessAnalyzeVo"
>
select
select
bi.project_type,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
bi.project_type,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
<include
refid=
"businessSearchSql"
/>
<include
refid=
"businessSearchSql"
/>
and bi.project_type is not null
group by bi.project_type
group by bi.project_type
<if
test=
"status != null and status == 0 "
>
order by businessCount desc
</if>
<if
test=
"status != null and status == 0 "
>
order by businessCount desc
</if>
<if
test=
"status != null and status == 2 "
>
order by totalAmount desc
</if>
<if
test=
"status != null and status == 2 "
>
order by totalAmount desc
</if>
...
@@ -408,6 +411,7 @@
...
@@ -408,6 +411,7 @@
select
select
bi.project_category,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
bi.project_category,count(bi.id) businessCount, ROUND(sum(bi.investment_amount), 4) totalAmount
<include
refid=
"businessSearchSql"
/>
<include
refid=
"businessSearchSql"
/>
and bi.project_category is not null
group by bi.project_category
group by bi.project_category
<if
test=
"status != null and status == 0 "
>
order by businessCount desc
</if>
<if
test=
"status != null and status == 0 "
>
order by businessCount desc
</if>
<if
test=
"status != null and status == 2 "
>
order by totalAmount desc
</if>
<if
test=
"status != null and status == 2 "
>
order by totalAmount desc
</if>
...
...
dsk-system/src/main/resources/mapper/system/customer/CustomerMapper.xml
View file @
6dedea1e
...
@@ -118,6 +118,7 @@
...
@@ -118,6 +118,7 @@
left join business_info bi on (bi.customer_id = ct.customer_id and bi.status = 2)
left join business_info bi on (bi.customer_id = ct.customer_id and bi.status = 2)
where ctu.status = 0 and ctu.user_id = #{userId}
where ctu.status = 0 and ctu.user_id = #{userId}
group by ct.customer_id
group by ct.customer_id
having businessCount > 0
order by totalAmount desc
order by totalAmount desc
limit 10
limit 10
</select>
</select>
...
...
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