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
cb511eaf
Commit
cb511eaf
authored
Sep 26, 2023
by
tianhongyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20230915' of
http://192.168.60.201/root/dsk-operate-sys
into V20230915
parents
746259ee
e46e2def
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
603 additions
and
35 deletions
+603
-35
RegionalEnterprisesServiceImpl.java
.../service/service/impl/RegionalEnterprisesServiceImpl.java
+1
-1
BusinessOpportunityRadarService.java
...m/dsk/search/service/BusinessOpportunityRadarService.java
+5
-1
marketTags.svg
dsk-operate-ui/src/assets/icons/svg/marketTags.svg
+0
-0
success.png
dsk-operate-ui/src/assets/images/success.png
+0
-0
export-dialog.vue
...src/views/detail/groupAccount/component/export-dialog.vue
+192
-0
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+199
-8
zhaobiao.vue
...e-ui/src/views/detail/groupAccount/component/zhaobiao.vue
+190
-9
index.vue
dsk-operate-ui/src/views/radar/index.vue
+16
-16
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/service/service/impl/RegionalEnterprisesServiceImpl.java
View file @
cb511eaf
...
@@ -31,7 +31,7 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
...
@@ -31,7 +31,7 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
@Override
@Override
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
BeanUtil
.
beanToMap
(
object
,
false
,
false
));
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/
regional/
page"
,
BeanUtil
.
beanToMap
(
object
,
false
,
false
));
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
if
(
code
.
equals
(
HttpStatus
.
OK
.
value
()))
{
if
(
code
.
equals
(
HttpStatus
.
OK
.
value
()))
{
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/search/service/BusinessOpportunityRadarService.java
View file @
cb511eaf
...
@@ -140,7 +140,11 @@ public class BusinessOpportunityRadarService {
...
@@ -140,7 +140,11 @@ public class BusinessOpportunityRadarService {
vo
.
setId
(
i
+
1
);
vo
.
setId
(
i
+
1
);
vo
.
setBuildingProjectType
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"buildingProjectType"
));
vo
.
setBuildingProjectType
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"buildingProjectType"
));
if
(
null
!=
list
.
get
(
i
).
get
(
"projectName"
)){
if
(
null
!=
list
.
get
(
i
).
get
(
"projectName"
)){
vo
.
setProjectName
(
StringUtils
.
removeRed
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"projectName"
)));
if
(
null
!=
list
.
get
(
i
).
get
(
"project_level"
)){
vo
.
setProjectName
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"project_level"
).
concat
(
"-"
)+
StringUtils
.
removeRed
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"projectName"
)));
}
else
{
vo
.
setProjectName
(
StringUtils
.
removeRed
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"projectName"
)));
}
}
}
if
(
null
!=
list
.
get
(
i
).
get
(
"chargeDepartment"
)){
if
(
null
!=
list
.
get
(
i
).
get
(
"chargeDepartment"
)){
vo
.
setChargeDepartment
(
StringUtils
.
removeRed
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"chargeDepartment"
)));
vo
.
setChargeDepartment
(
StringUtils
.
removeRed
(
MapUtil
.
getStr
(
list
.
get
(
i
),
"chargeDepartment"
)));
...
...
dsk-operate-ui/src/assets/icons/svg/markets.svg
→
dsk-operate-ui/src/assets/icons/svg/market
Tag
s.svg
View file @
cb511eaf
File moved
dsk-operate-ui/src/assets/images/success.png
0 → 100644
View file @
cb511eaf
2.42 KB
dsk-operate-ui/src/views/detail/groupAccount/component/export-dialog.vue
0 → 100644
View file @
cb511eaf
<
template
>
<div
class=
"child-container"
>
<el-dialog
:visible
.
sync=
"dialogExportVisible"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"table-item"
>
<el-table
:data=
"exportTableData"
>
<el-table-column
prop=
"issueTime"
label=
"招标发布时间"
width=
"110"
></el-table-column>
<el-table-column
prop=
"tenderee"
label=
"招标成员"
width=
"200"
></el-table-column>
<el-table-column
prop=
"stockPercent"
label=
"持股比例"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
min-width=
"220"
></el-table-column>
<el-table-column
prop=
"bidAmount"
label=
"预算金额"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"address"
label=
"项目地区"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"subjectMatter"
label=
"招标采购分类"
min-width=
"130"
></el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"agency"
label=
"代理单位"
min-width=
"160"
></el-table-column>
</el-table>
</div>
<div
class=
"input"
>
导出数量:
<el-input
placeholder=
""
v-model=
"value"
oninput=
"value=value.replace(/[^\d]/g,'')"
>
<
template
slot=
"append"
>
条
</
template
>
</el-input>
<p
v-if=
"value > 2000"
><i
class=
"el-icon-error"
></i>
最多支持导出2000条,如需更多请联系销售人员
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"clickEXCEL"
>
确认导出
</el-button>
<el-button
@
click=
"cancel(1)"
>
取消
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"dialogExportVisible1"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<
template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"content"
>
<img
class=
"success"
src=
"@/assets/images/success.png"
/>
<p
class=
"p1"
>
导出成功
</p>
<p
class=
"p2"
>
可在个人中心查看导出表格
<span
@
click=
"toUrl"
>
前往个人中心
</span>
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"downloadFile(exportData.url,exportData.originalName)"
>
下载表格
</el-button>
<el-button
@
click=
"cancel(2)"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getNationalDetails
}
from
'@/api/macro/macro'
export
default
{
name
:
''
,
components
:
{},
props
:
{
data
:
{}
},
data
()
{
return
{
dialogExportVisible
:
this
.
data
.
dialogExportVisible
,
dialogExportVisible1
:
this
.
data
.
dialogExportVisible1
,
exportTableData
:[],
value
:
''
,
}
},
created
()
{
this
.
exportTableData
=
this
.
data
.
exportTableData
},
computed
:
{
},
methods
:
{
clickEXCEL
(){
this
.
$emit
(
'clickEXCEL'
,
this
.
value
)
},
cancel
(
key
){
this
.
$emit
(
'cancel'
,
key
)
},
downloadFile
(
url
,
fileName
)
{
const
x
=
new
XMLHttpRequest
()
x
.
open
(
"GET"
,
url
,
true
)
x
.
responseType
=
'blob'
x
.
onload
=
function
(
e
)
{
const
url
=
window
.
URL
.
createObjectURL
(
x
.
response
)
const
a
=
document
.
createElement
(
'a'
)
a
.
href
=
url
a
.
download
=
fileName
a
.
click
()
a
.
remove
()
}
x
.
send
()
},
toUrl
(){
this
.
dialogExportVisible1
=
false
;
this
.
$router
.
push
({
path
:
'/user/profile'
,
})
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.dialogExport
{
::v-deep
.el-dialog
{
.el-dialog__header
{
height
:
48px
;
line-height
:
48px
;
padding
:
0
16px
;
border-bottom
:
1px
solid
#E1E1E1
;
font-weight
:
bold
;
color
:
#1D2129
;
font-size
:
16px
;
.tip-img
{
width
:
18px
;
height
:
18px
;
margin-right
:
7px
;
margin-bottom
:
-3px
;
}
.el-dialog__headerbtn
{
font-size
:
20px
;
font-weight
:
bold
;
top
:
15px
;
.el-dialog__close
{
color
:
#999999
;
}
}
}
.el-dialog__body
{
padding
:
16px
;
.input
{
margin-top
:
16px
;
.el-input
{
width
:
160px
;
border-radius
:
2px
;
height
:
32px
;
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
}
.el-input-group__append
{
padding
:
0
14px
;
}
p
{
color
:
#FF3C3C
;
font-size
:
12px
;
margin-left
:
12px
;
display
:
inline-block
;
i
{
font-size
:
14px
;
margin-right
:
4px
;
}
}
}
.content
{
text-align
:
center
;
margin-top
:
36px
;
.success
{
width
:
64px
;
height
:
64px
;
margin-bottom
:
16px
;
}
p
{
padding
:
0
;
margin
:
0
;
}
.p1
{
color
:
#232323
;
font-size
:
16px
;
margin-bottom
:
8px
;
}
.p2
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
span
{
color
:
#0081FF
;
cursor
:
pointer
;
}
}
}
}
.el-dialog__footer
{
text-align
:
center
;
padding-bottom
:
24px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
cb511eaf
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
:total=
"tableDataTotal"
:total=
"tableDataTotal"
:isExcel=
"true"
:isExcel=
"true"
@
handle-search=
"handleSearch"
@
handle-search=
"handleSearch"
@
handle-excel=
"click
EXCEL
"
@
handle-excel=
"click
Dialog
"
>
>
<template
slot=
"slot"
>
<template
slot=
"slot"
>
...
@@ -48,6 +48,55 @@
...
@@ -48,6 +48,55 @@
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
</
template
>
</
template
>
</tables>
</tables>
<el-dialog
:visible
.
sync=
"dialogExportVisible"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<
template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"table-item"
>
<el-table
:data=
"exportTableData"
>
<el-table-column
prop=
"bidTime"
label=
"中标时间"
width=
"110"
></el-table-column>
<el-table-column
prop=
"companyName"
label=
"中标成员"
width=
"200"
></el-table-column>
<el-table-column
prop=
"stockPercent"
label=
"持股比例"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
min-width=
"220"
></el-table-column>
<el-table-column
prop=
"bidAmount"
label=
"中标金额"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"address"
label=
"中标地区"
min-width=
"120"
></el-table-column>
<el-table-column
prop=
"boundType"
label=
"业绩类型"
min-width=
"130"
></el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"projectUnit"
label=
"业主单位"
min-width=
"160"
></el-table-column>
</el-table>
</div>
<div
class=
"input"
>
导出数量:
<el-input
placeholder=
""
v-model=
"value"
oninput=
"value=value.replace(/[^\d]/g,'')"
>
<
template
slot=
"append"
>
条
</
template
>
</el-input>
<p
v-if=
"value > 2000"
><i
class=
"el-icon-error"
></i>
最多支持导出2000条,如需更多联系大司空客服人员
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"clickEXCEL"
>
确认导出
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"dialogExportVisible1"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<
template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"content"
>
<img
class=
"success"
src=
"@/assets/images/success.png"
/>
<p
class=
"p1"
>
导出成功
</p>
<p
class=
"p2"
>
可在个人中心查看导出表格
<span
@
click=
"toUrl"
>
前往个人中心
</span>
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"downloadFile(exportData.url,exportData.originalName)"
>
下载表格
</el-button>
<el-button
@
click=
"dialogExportVisible1 = false"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -104,7 +153,45 @@
...
@@ -104,7 +153,45 @@
],
],
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
dataEXCEL
:{}
dataEXCEL
:{},
dialogExportVisible
:
false
,
dialogExportVisible1
:
false
,
exportTableData
:[
{
"bidTime"
:
"2023-09-21"
,
"companyId"
:
329637
,
"address"
:
"浙江省"
,
"stockPercent"
:
"4.87%"
,
"boundType"
:
"施工"
,
"projectUnit"
:
"浙江浙能北仑发电有限公司"
,
"memberLevel"
:
"四级企业"
,
"companyName"
:
"浙江华业电力工程股份有限公司"
,
"projectType"
:
"机电工程"
,
"bidAmount"
:
"64.9565万元"
,
"projectName"
:
"浙江浙能北仑发电有限公司5号炉后包覆区域省煤器和后包覆受热面检修"
,
"projectId"
:
"147703347"
,
"uipId"
:
null
,
"projectUnitUipId"
:
null
},
{
"bidTime"
:
"2023-09-21"
,
"companyId"
:
329637
,
"address"
:
"河南省-郑州市"
,
"stockPercent"
:
"1.56%"
,
"boundType"
:
"施工"
,
"projectUnit"
:
"郑州地铁集团有限公司运营分公司"
,
"memberLevel"
:
"四级企业"
,
"companyName"
:
"中铁电气化局集团第三工程有限公司"
,
"projectType"
:
"机电工程"
,
"bidAmount"
:
"74.8018万元"
,
"projectName"
:
"郑州市轨道交通1号线、城郊线一期2023年加装摄像机技改项目"
,
"projectId"
:
"147703347"
,
"uipId"
:
null
,
"projectUnitUipId"
:
null
},
],
value
:
''
,
exportData
:{}
}
}
},
},
created
()
{
created
()
{
...
@@ -263,20 +350,33 @@
...
@@ -263,20 +350,33 @@
this
.
handleQuery
(
params
)
this
.
handleQuery
(
params
)
this
.
$emit
(
'handle-scroll'
)
this
.
$emit
(
'handle-scroll'
)
},
},
clickDialog
(){
this
.
dialogExportVisible
=
true
;
},
clickEXCEL
()
{
clickEXCEL
()
{
if
(
this
.
value
>
2000
){
return
}
this
.
dialogExportVisible
=
false
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
if
(
this
.
tableDataTotal
>
2000
){
if
(
this
.
value
){
this
.
dataEXCEL
.
pageSize
=
2000
;
this
.
dataEXCEL
.
pageSize
=
this
.
value
}
else
{
}
else
{
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
;
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
>
2000
?
2000
:
this
.
tableDataTotal
;
}
}
delete
this
.
dataEXCEL
.
pageNum
delete
this
.
dataEXCEL
.
pageNum
exportWinBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
exportWinBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
if
(
res
.
code
===
200
){
this
.
downloadFile
(
res
.
data
.
url
,
res
.
data
.
originalName
)
this
.
dialogExportVisible1
=
true
;
this
.
value
=
''
this
.
exportData
=
res
.
data
;
}
}
})
})
// this.$download.exportByPost('/combine/info/export/win/bid',this.dataEXCEL,'集团中标.xlsx');
},
cancel
(){
this
.
dialogExportVisible
=
false
this
.
value
=
''
},
},
downloadFile
(
url
,
fileName
)
{
downloadFile
(
url
,
fileName
)
{
const
x
=
new
XMLHttpRequest
()
const
x
=
new
XMLHttpRequest
()
...
@@ -291,7 +391,13 @@
...
@@ -291,7 +391,13 @@
a
.
remove
()
a
.
remove
()
}
}
x
.
send
()
x
.
send
()
}
},
toUrl
(){
this
.
dialogExportVisible1
=
false
;
this
.
$router
.
push
({
path
:
'/user/profile'
,
})
},
}
}
}
}
</
script
>
</
script
>
...
@@ -323,4 +429,89 @@
...
@@ -323,4 +429,89 @@
}
}
}
}
}
}
.dialogExport
{
::v-deep
.el-dialog
{
.el-dialog__header
{
height
:
48px
;
line-height
:
48px
;
padding
:
0
16px
;
border-bottom
:
1px
solid
#E1E1E1
;
font-weight
:
bold
;
color
:
#1D2129
;
font-size
:
16px
;
.tip-img
{
width
:
18px
;
height
:
18px
;
margin-right
:
7px
;
margin-bottom
:
-3px
;
}
.el-dialog__headerbtn
{
font-size
:
20px
;
font-weight
:
bold
;
top
:
15px
;
.el-dialog__close
{
color
:
#999999
;
}
}
}
.el-dialog__body
{
padding
:
16px
;
.input
{
margin-top
:
16px
;
.el-input
{
width
:
160px
;
border-radius
:
2px
;
height
:
32px
;
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
}
.el-input-group__append
{
padding
:
0
14px
;
}
p
{
color
:
#FF3C3C
;
font-size
:
12px
;
margin-left
:
12px
;
display
:
inline-block
;
i
{
font-size
:
14px
;
margin-right
:
4px
;
}
}
}
.content
{
text-align
:
center
;
margin-top
:
36px
;
.success
{
width
:
64px
;
height
:
64px
;
margin-bottom
:
16px
;
}
p
{
padding
:
0
;
margin
:
0
;
}
.p1
{
color
:
#232323
;
font-size
:
16px
;
margin-bottom
:
8px
;
}
.p2
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
span
{
color
:
#0081FF
;
cursor
:
pointer
;
}
}
}
}
.el-dialog__footer
{
text-align
:
center
;
padding-bottom
:
24px
;
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/zhaobiao.vue
View file @
cb511eaf
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
</div>
</div>
<div
class=
"flex-box"
>
<div
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
>
共{{ tableDataTotal }}条
</span>
<span
class=
"flex-box ability-total"
>
共{{ tableDataTotal }}条
</span>
<span
v-hasPermi=
"['combine:info:export:bid']"
class=
"flex-box ability-excel"
@
click=
"click
EXCEL
"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
v-hasPermi=
"['combine:info:export:bid']"
class=
"flex-box ability-excel"
@
click=
"click
Dialog
"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -132,6 +132,53 @@
...
@@ -132,6 +132,53 @@
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
</
template
>
</
template
>
</tables>
</tables>
<el-dialog
:visible
.
sync=
"dialogExportVisible"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<
template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"table-item"
>
<el-table
:data=
"exportTableData"
>
<el-table-column
prop=
"issueTime"
label=
"招标发布时间"
width=
"110"
></el-table-column>
<el-table-column
prop=
"tenderee"
label=
"招标成员"
width=
"200"
></el-table-column>
<el-table-column
prop=
"stockPercent"
label=
"持股比例"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
min-width=
"220"
></el-table-column>
<el-table-column
prop=
"bidAmount"
label=
"预算金额"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"address"
label=
"项目地区"
min-width=
"110"
></el-table-column>
<el-table-column
prop=
"subjectMatter"
label=
"招标采购分类"
min-width=
"130"
></el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"agency"
label=
"代理单位"
min-width=
"160"
></el-table-column>
</el-table>
</div>
<div
class=
"input"
>
导出数量:
<el-input
placeholder=
""
v-model=
"value"
oninput=
"value=value.replace(/[^\d]/g,'')"
>
<
template
slot=
"append"
>
条
</
template
>
</el-input>
<p
v-if=
"value > 2000"
><i
class=
"el-icon-error"
></i>
最多支持导出2000条,如需更多联系大司空客服人员
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"clickEXCEL"
>
确认导出
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"dialogExportVisible1"
width=
"640px"
append-to-body
class=
"dialogExport"
>
<
template
slot=
"title"
>
<img
class=
"tip-img"
src=
"@/assets/images/icon.png"
/>
数据导出
</
template
>
<div
class=
"content"
>
<img
class=
"success"
src=
"@/assets/images/success.png"
/>
<p
class=
"p1"
>
导出成功
</p>
<p
class=
"p2"
>
可在个人中心查看导出表格
<span
@
click=
"toUrl"
>
前往个人中心
</span>
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"downloadFile(exportData.url,exportData.originalName)"
>
下载表格
</el-button>
<el-button
@
click=
"dialogExportVisible1 = false"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -197,6 +244,36 @@
...
@@ -197,6 +244,36 @@
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
dataEXCEL
:{},
dataEXCEL
:{},
dialogExportVisible
:
false
,
dialogExportVisible1
:
false
,
exportTableData
:[
{
"address"
:
"四川省-成都市"
,
"stockPercent"
:
"18.43%"
,
"agency"
:
'鞍钢股份有限公司'
,
"issueTime"
:
"2023-09-22"
,
"subjectMatter"
:
"其他"
,
"memberLevel"
:
"二级企业"
,
"tenderee"
:
"鞍钢冷轧钢板(莆田)有限公司综合部"
,
"projectType"
:
"其他"
,
"bidAmount"
:
"202万元"
,
"projectName"
:
"2023年中铁一局集团第二工程有限公司江浙区域项目自购物资集中招标采购文件(一)(钢材)招标公告"
,
},
{
"address"
:
"四川省-成都市"
,
"stockPercent"
:
"18.43%"
,
"agency"
:
'鞍钢股份有限公司'
,
"issueTime"
:
"2023-09-22"
,
"subjectMatter"
:
"其他"
,
"memberLevel"
:
"二级企业"
,
"tenderee"
:
"鞍钢股份有限公司"
,
"projectType"
:
"其他"
,
"bidAmount"
:
"202万元"
,
"projectName"
:
"太极集团四川太极制药有限公司转让持有的成都市4套住宅-高新区玉虹巷2号1栋6单元7层13号"
,
},
],
value
:
''
,
exportData
:{}
}
}
},
},
created
()
{
created
()
{
...
@@ -254,7 +331,6 @@
...
@@ -254,7 +331,6 @@
this
.
dataEXCEL
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
this
.
dataEXCEL
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
bidPage
(
data
).
then
(
res
=>
{
bidPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
code
==
200
?
res
.
rows
:[];
this
.
tableData
=
res
.
code
==
200
?
res
.
rows
:[];
console
.
log
(
res
.
total
)
this
.
tableDataTotal
=
res
.
total
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
this
.
isSkeleton
=
false
this
.
tableLoading
=
false
this
.
tableLoading
=
false
...
@@ -355,20 +431,37 @@
...
@@ -355,20 +431,37 @@
changeSelect
(){
changeSelect
(){
this
.
handleSearch
()
this
.
handleSearch
()
},
},
clickFocus
(
e
){
document
.
getElementById
(
e
).
classList
.
toggle
(
'span-ba'
)
},
clickDialog
(){
this
.
dialogExportVisible
=
true
;
},
clickEXCEL
()
{
clickEXCEL
()
{
if
(
this
.
value
>
2000
){
return
}
this
.
dialogExportVisible
=
false
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
if
(
this
.
tableDataTotal
>
2000
){
if
(
this
.
value
){
this
.
dataEXCEL
.
pageSize
=
2000
;
this
.
dataEXCEL
.
pageSize
=
this
.
value
}
else
{
}
else
{
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
;
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
>
2000
?
2000
:
this
.
tableDataTotal
;
}
}
delete
this
.
dataEXCEL
.
pageNum
delete
this
.
dataEXCEL
.
pageNum
exportBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
exportBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
if
(
res
.
code
===
200
){
this
.
downloadFile
(
res
.
data
.
url
,
res
.
data
.
originalName
)
this
.
dialogExportVisible1
=
true
;
this
.
value
=
''
this
.
exportData
=
res
.
data
;
}
}
})
})
},
},
cancel
(){
this
.
dialogExportVisible
=
false
this
.
value
=
''
},
downloadFile
(
url
,
fileName
)
{
downloadFile
(
url
,
fileName
)
{
const
x
=
new
XMLHttpRequest
()
const
x
=
new
XMLHttpRequest
()
x
.
open
(
"GET"
,
url
,
true
)
x
.
open
(
"GET"
,
url
,
true
)
...
@@ -383,9 +476,12 @@
...
@@ -383,9 +476,12 @@
}
}
x
.
send
()
x
.
send
()
},
},
clickFocus
(
e
){
toUrl
(){
document
.
getElementById
(
e
).
classList
.
toggle
(
'span-ba'
)
this
.
dialogExportVisible1
=
false
;
}
this
.
$router
.
push
({
path
:
'/user/profile'
,
})
},
}
}
}
}
</
script
>
</
script
>
...
@@ -568,4 +664,89 @@
...
@@ -568,4 +664,89 @@
width
:
150px
;
width
:
150px
;
}
}
}
}
.dialogExport
{
::v-deep
.el-dialog
{
.el-dialog__header
{
height
:
48px
;
line-height
:
48px
;
padding
:
0
16px
;
border-bottom
:
1px
solid
#E1E1E1
;
font-weight
:
bold
;
color
:
#1D2129
;
font-size
:
16px
;
.tip-img
{
width
:
18px
;
height
:
18px
;
margin-right
:
7px
;
margin-bottom
:
-3px
;
}
.el-dialog__headerbtn
{
font-size
:
20px
;
font-weight
:
bold
;
top
:
15px
;
.el-dialog__close
{
color
:
#999999
;
}
}
}
.el-dialog__body
{
padding
:
16px
;
.input
{
margin-top
:
16px
;
.el-input
{
width
:
160px
;
border-radius
:
2px
;
height
:
32px
;
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
}
.el-input-group__append
{
padding
:
0
14px
;
}
p
{
color
:
#FF3C3C
;
font-size
:
12px
;
margin-left
:
12px
;
display
:
inline-block
;
i
{
font-size
:
14px
;
margin-right
:
4px
;
}
}
}
.content
{
text-align
:
center
;
margin-top
:
36px
;
.success
{
width
:
64px
;
height
:
64px
;
margin-bottom
:
16px
;
}
p
{
padding
:
0
;
margin
:
0
;
}
.p1
{
color
:
#232323
;
font-size
:
16px
;
margin-bottom
:
8px
;
}
.p2
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
span
{
color
:
#0081FF
;
cursor
:
pointer
;
}
}
}
}
.el-dialog__footer
{
text-align
:
center
;
padding-bottom
:
24px
;
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/radar/index.vue
View file @
cb511eaf
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<p>
{{
itme
.
value
}}
</p>
<p>
{{
itme
.
value
}}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p
class=
"solid"
></p>
<p
class=
"solid"
></p>
...
@@ -30,8 +30,8 @@
...
@@ -30,8 +30,8 @@
<Tender
v-if=
"personnelHerf=='Tender'"
/>
<Tender
v-if=
"personnelHerf=='Tender'"
/>
<!-- 开标记录 -->
<!-- 开标记录 -->
<BidRecord
v-if=
"personnelHerf=='BidRecord'"
/>
<BidRecord
v-if=
"personnelHerf=='BidRecord'"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
import
BidRecord
from
"./components/BidRecord/index.vue"
;
import
BidRecord
from
"./components/BidRecord/index.vue"
;
import
Bidding
from
"./components/Bidding/index.vue"
;
import
Bidding
from
"./components/Bidding/index.vue"
;
import
MajorProject
from
"./components/MajorProject/index.vue"
;
import
MajorProject
from
"./components/MajorProject/index.vue"
;
import
"@/assets/styles/public.scss"
;
import
"@/assets/styles/public.scss"
;
export
default
{
export
default
{
name
:
'Radar'
,
name
:
'Radar'
,
...
@@ -80,25 +80,25 @@
...
@@ -80,25 +80,25 @@
key
:
'Bidding'
,
key
:
'Bidding'
,
status
:
false
,
status
:
false
,
value
:
'招标计划'
,
value
:
'招标计划'
,
},
{
key
:
'bxprozbgg'
,
status
:
false
,
value
:
'标讯pro'
,
},
},
// {
// key: 'bxprozbgg',
// status: false,
// value: '标讯pro',
//
// },
{
{
key
:
'Tender'
,
key
:
'Tender'
,
status
:
false
,
status
:
false
,
value
:
'公招标讯'
,
value
:
'公招标讯'
,
},
},
{
{
key
:
'BidRecord'
,
key
:
'BidRecord'
,
status
:
false
,
status
:
false
,
value
:
'开标记录'
,
value
:
'开标记录'
,
},
},
],
],
...
@@ -121,7 +121,7 @@
...
@@ -121,7 +121,7 @@
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.app-container
{
.app-container
{
margin
:
12px
24px
;
margin
:
12px
24px
;
padding
:
0
;
padding
:
0
;
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
.content
{
.content
{
padding
:
0px
16px
;
padding
:
0px
16px
;
background
:
#FFFFFF
;
background
:
#FFFFFF
;
}
}
.app-container
.combined-title
{
.app-container
.combined-title
{
...
@@ -261,4 +261,4 @@
...
@@ -261,4 +261,4 @@
border-bottom
:
2px
solid
#0081FF
;
border-bottom
:
2px
solid
#0081FF
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
</
style
>
</
style
>
\ No newline at end of file
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