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
6335038a
Commit
6335038a
authored
Oct 07, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
7d81f128
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1045 additions
and
861 deletions
+1045
-861
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+4
-1
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+4
-1
members.vue
...te-ui/src/views/detail/groupAccount/component/members.vue
+5
-8
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+2
-1
zbxmfx.vue
...ate-ui/src/views/detail/groupAccount/component/zbxmfx.vue
+292
-0
zbxmmx.vue
...ate-ui/src/views/detail/groupAccount/component/zbxmmx.vue
+631
-0
zhaobiao.vue
...e-ui/src/views/detail/groupAccount/component/zhaobiao.vue
+40
-716
index.vue
dsk-operate-ui/src/views/detail/groupAccount/index.vue
+3
-0
CustomMoneySelect.vue
.../src/views/detail/party-a/component/CustomMoneySelect.vue
+4
-0
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+25
-115
announcement.vue
...erate-ui/src/views/detail/party-a/opport/announcement.vue
+1
-1
index.vue
dsk-operate-ui/src/views/index.vue
+20
-4
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+6
-6
tdjy.vue
...e-ui/src/views/macro/nationalEconomies/component/tdjy.vue
+8
-8
No files found.
dsk-operate-ui/src/assets/styles/index.scss
View file @
6335038a
...
@@ -345,7 +345,10 @@ ul, li {
...
@@ -345,7 +345,10 @@ ul, li {
}
}
}
}
.is-scrolling-left
+
.el-table__fixed
,
.is-scrolling-middle
+
.el-table__fixed
,
.is-scrolling-right
+
.el-table__fixed
{
.is-scrolling-left
+
.el-table__fixed
,
.is-scrolling-middle
+
.el-table__fixed
,
.is-scrolling-right
+
.el-table__fixed
{
box-shadow
:none
;
//box-shadow:none;
//-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5;
box-shadow
:
2px
0
8px
-7px
#202020
;
border-right
:
1px
solid
#C3CBD5
;
height
:
auto
!
important
;
height
:
auto
!
important
;
bottom
:
16px
!
important
;
bottom
:
16px
!
important
;
}
}
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
6335038a
...
@@ -601,7 +601,7 @@
...
@@ -601,7 +601,7 @@
padding
:
16px
;
padding
:
16px
;
background
:
#ffffff
;
background
:
#ffffff
;
height
:
152px
;
height
:
152px
;
margin-bottom
:
2
2px
;
margin-bottom
:
1
2px
;
.item
{
.item
{
display
:
flex
;
display
:
flex
;
.icons
{
.icons
{
...
@@ -680,6 +680,9 @@
...
@@ -680,6 +680,9 @@
.el-input-group__append
{
.el-input-group__append
{
background
:
#F5F5F5
;
background
:
#F5F5F5
;
color
:
#0081FF
;
color
:
#0081FF
;
padding
:
0
;
width
:
70px
;
text-align
:
center
;
}
}
.el-input__inner
:focus
{
.el-input__inner
:focus
{
border-color
:
#3181fa
;
border-color
:
#3181fa
;
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/members.vue
View file @
6335038a
...
@@ -395,9 +395,6 @@
...
@@ -395,9 +395,6 @@
provinceIds
.
length
>
0
?
params
.
provinceIds
=
provinceIds
:
''
provinceIds
.
length
>
0
?
params
.
provinceIds
=
provinceIds
:
''
cityIds
.
length
>
0
?
params
.
cityIds
=
cityIds
:
''
cityIds
.
length
>
0
?
params
.
cityIds
=
cityIds
:
''
districtIds
.
length
>
0
?
params
.
districtIds
=
districtIds
:
''
districtIds
.
length
>
0
?
params
.
districtIds
=
districtIds
:
''
// provinceIds.length>0?this.queryParams.provinceIds = provinceIds:''
// cityIds.length>0?this.queryParams.cityIds = cityIds:''
// districtIds.length>0?this.queryParams.districtIds = districtIds:''
}
}
return
params
return
params
},
},
...
@@ -450,8 +447,8 @@
...
@@ -450,8 +447,8 @@
.search-box
{
.search-box
{
display
:
inline-block
;
display
:
inline-block
;
border-radius
:
4px
;
border-radius
:
4px
;
border
:
1px
solid
#D9D9D9
;
/*border: 1px solid #D9D9D9;*/
width
:
82
px
;
width
:
70
px
;
/*cursor: pointer;*/
/*cursor: pointer;*/
position
:
relative
;
position
:
relative
;
.search-box-t
{
.search-box-t
{
...
@@ -461,7 +458,7 @@
...
@@ -461,7 +458,7 @@
color
:
#999999
;
color
:
#999999
;
margin-right
:
8px
;
margin-right
:
8px
;
text-align
:
center
;
text-align
:
center
;
width
:
82
px
;
width
:
70
px
;
display
:
inline-block
;
display
:
inline-block
;
cursor
:
pointer
;
cursor
:
pointer
;
i
{
i
{
...
@@ -479,7 +476,7 @@
...
@@ -479,7 +476,7 @@
background
:
#ffffff
;
background
:
#ffffff
;
box-shadow
:
0px
4px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
box-shadow
:
0px
4px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
4px
;
border-radius
:
4px
;
width
:
64
0px
;
width
:
50
0px
;
//height: 337px;
//height: 337px;
padding
:
16px
;
padding
:
16px
;
position
:
absolute
;
position
:
absolute
;
...
@@ -501,7 +498,7 @@
...
@@ -501,7 +498,7 @@
}
}
.item_ckquery
{
.item_ckquery
{
position
:
relative
;
position
:
relative
;
width
:
52
0px
;
width
:
40
0px
;
/*float: left;*/
/*float: left;*/
/*flex: 1;*/
/*flex: 1;*/
span
{
span
{
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
6335038a
...
@@ -139,7 +139,8 @@
...
@@ -139,7 +139,8 @@
{
type
:
4
,
fieldName
:
'boundTypes'
,
value
:
''
,
placeholder
:
'业绩类型'
,
options
:
[],
width
:
150
},
{
type
:
4
,
fieldName
:
'boundTypes'
,
value
:
''
,
placeholder
:
'业绩类型'
,
options
:
[],
width
:
150
},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
100
},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
100
},
{
type
:
3
,
fieldName
:
'searchValue'
,
value
:
''
,
placeholder
:
'搜索中标成员名称/项目名称'
},
// { type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'},
{
type
:
3
,
fieldName
:
'searchValue'
,
value
:
''
,
placeholder
:
'查询'
},
],
],
tableData
:[],
tableData
:[],
tableDataTotal
:
0
,
tableDataTotal
:
0
,
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/zbxmfx.vue
0 → 100644
View file @
6335038a
<
template
>
<div
class=
"performance"
>
<div>
招标项目分析
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'qualifications'
,
props
:
[
'customerId'
,
'combineName'
],
mixins
:
[],
components
:{},
data
(){
return
{
}
},
created
()
{
},
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.performance
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
height
:
calc
(
100%
-
64px
);
.headForm
{
margin-bottom
:
14px
;
.common-title
{
margin-right
:
24px
;
}
::v-deep
.el-input__inner
{
border
:
1px
solid
#D9D9D9
;
height
:
34px
;
line-height
:
34px
;
padding-right
:
27px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
border-radius
:
4px
;
}
::v-deep
.el-form-item
{
margin-right
:
8px
!
important
;
}
::v-deep
.el-input--medium
.el-input__icon
{
line-height
:
34px
;
}
::v-deep
.el-cascader
{
height
:
34px
;
line-height
:
34px
;
width
:
190px
;
.el-input
{
input
{
height
:
34px
!
important
;
}
}
.el-cascader__tags
{
flex-wrap
:
inherit
;
margin-top
:
1px
;
.el-tag
{
max-width
:
100px
;
}
}
.el-input__suffix
{
top
:
1px
;
}
}
.cooperate-name
{
display
:
flex
;
border-radius
:
2px
;
border
:
1px
solid
#D9D9D9
;
line-height
:
34px
;
height
:
34px
;
span
{
width
:
80px
;
height
:
32px
;
line-height
:
32px
;
font-size
:
14px
;
background
:
#F5F5F5
;
text-align
:
center
;
color
:
#0081FF
;
border
:
1px
solid
#EFEFEF
;
border-left
:
0
;
cursor
:
pointer
;
}
&
.span-ba
{
/*border: 1px solid #0081FF;*/
span
{
color
:
#ffffff
;
background
:
#0081FF
;
border
:
1px
solid
#0081FF
;
}
}
::v-deep
.el-input
{
flex
:
1
;
}
::v-deep
.el-input__inner
{
border
:
0
;
line-height
:
32px
;
height
:
32px
;
position
:
absolute
;
top
:
0
;
padding-right
:
22px
;
font-size
:
12px
;
padding-left
:
8px
;
}
}
.headForm-from
{
display
:
flex
;
.from-item
{
margin-right
:
8px
;
&
:last-child
{
margin-right
:
0
;
}
.fromTime
{
::v-deep
.el-range-input
{
width
:
100%
;
}
::v-deep
.el-range-separator
,
::v-deep
.el-range__close-icon
{
line-height
:
24px
;
width
:
20px
;
}
}
.fromTime-icon
{
display
:
none
;
}
.el-select
{
.el-input__suffix
{
right
:
10px
;
}
}
}
::v-deep
.form-content-width
{
width
:
170px
;
}
::v-deep
.selectTag
{
.el-select__tags
{
.el-tag
{
&
:first-child
{
width
:
70px
;
}
}
}
}
::v-deep
.el-select__tags
{
.el-tag
{
&
:first-child
{
//width: 100%;
}
}
}
}
.ability-total
{
font-size
:
12px
;
color
:
#3D3D3D
;
position
:
relative
;
&
:before
{
content
:
''
;
display
:
inline-block
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
margin-right
:
4px
;
}
}
.ability-excel
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-left
:
16px
;
cursor
:
pointer
;
&
:hover
{
color
:
#0081FF
;
}
img
{
width
:
18px
;
height
:
18px
;
margin-right
:
4px
;
}
}
}
::v-deep
.el-table
{
.has-gutter
{
tr
{
th
:nth-last-child
(
2
)
{
border-right
:
0
;
}
td
:nth-last-child
(
2
)
{
border-right
:
0
;
}
}
}
.el-table__cell.gutter
{
background
:
#F0F3FA
;
}
}
.custom-time-select
{
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
>
dsk-operate-ui/src/views/detail/groupAccount/component/zbxmmx.vue
0 → 100644
View file @
6335038a
<
template
>
<div
class=
"performance"
>
<head-form
title=
""
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"false"
@
handle-search=
"handleSearch"
></head-form>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<tables
v-if=
"!isSkeleton"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:MaxPage=
500
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"tenderee"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.tendereeUipId?`/enterprise/$
{encodeStr(scope.row.tendereeId)}`:`/company/${encodeStr(scope.row.tendereeId)}`" tag="a" class="a-link" v-if="scope.row.tendereeId
&&
scope.row.tenderee" v-html="scope.row.tenderee">
</router-link>
<div
v-else
v-html=
"scope.row.tenderee || '--'"
></div>
</
template
>
<
template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
:to=
"`/radar/Notice/details/$
{scope.row.bId}`" tag="a" class="a-link" v-if="scope.row.bId" v-html="scope.row.projectName">
</router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"agency"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.agencyUipId?`/enterprise/$
{encodeStr(scope.row.agencyId)}`:`/company/${encodeStr(scope.row.agencyId)}`" tag="a" class="a-link" v-if="scope.row.agencyId
&&
scope.row.agency" v-html="scope.row.agency">
</router-link>
<div
v-else
v-html=
"scope.row.agency || '--'"
></div>
</
template
>
<
template
slot=
"stockPercent"
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
stockPercent
||
'--'
}}{{
scope
.
row
.
stockPercent
?
'%'
:
''
}}
</div>
</
template
>
<
template
slot=
"projectType"
slot-scope=
"scope"
>
<div
v-if=
"scope.row.projectType === '空白'"
>
--
</div>
<div
v-else
>
{{
scope
.
row
.
projectType
||
'--'
}}
</div>
</
template
>
<
template
slot=
"bidAmount"
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
</
template
>
</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>
</template>
<
script
>
import
mixin
from
'../../party-a/mixins/mixin'
import
CustomTimeSelect
from
'../../party-a/component/CustomTimeSelect'
import
CustomMoneySelect
from
'../../party-a/component/CustomMoneySelect'
import
{
bidPage
,
exportBid
}
from
'@/api/detail/groupAccount/groupAccount'
import
dataRegion
from
'@/assets/json/dataRegion1'
import
{
getDictType
}
from
'@/api/main'
export
default
{
name
:
'qualifications'
,
props
:
[
'customerId'
,
'combineName'
],
mixins
:
[
mixin
],
components
:{
CustomTimeSelect
,
CustomMoneySelect
},
data
(){
return
{
isSkeleton
:
true
,
tableLoading
:
false
,
isDetails
:
false
,
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
queryParams
:
{
combineId
:
this
.
customerId
,
pageNum
:
1
,
pageSize
:
20
,
},
forData
:
[
{
label
:
'招标发布时间'
,
prop
:
'issueTime'
,
minWidth
:
'90'
},
{
label
:
'招标成员'
,
prop
:
'tenderee'
,
slot
:
true
,
minWidth
:
'190'
},
{
label
:
'持股比例'
,
prop
:
'stockPercent'
,
slot
:
true
,
minWidth
:
'80'
},
{
label
:
'项目名称'
,
prop
:
'projectName'
,
slot
:
true
,
minWidth
:
'220'
},
{
label
:
'预算金额'
,
prop
:
'bidAmount'
,
slot
:
true
,
minWidth
:
'100'
},
{
label
:
'项目地区'
,
prop
:
'address'
,
minWidth
:
'110'
},
{
label
:
'招标采购分类'
,
prop
:
'subjectMatter'
,
minWidth
:
'90'
},
{
label
:
'项目类型'
,
prop
:
'projectType'
,
minWidth
:
'80'
,
slot
:
true
},
{
label
:
'代理单位'
,
prop
:
'agency'
,
minWidth
:
'160'
,
slot
:
true
},
],
formData
:
[
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
expandTrigger
:
'hover'
},
placeholder
:
'项目地区'
,
options
:[]},
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'招标发布时间'
,
startTime
:
'startTime'
,
endTime
:
'endTime'
,
timeList
:[]
},
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'预算金额'
,
startMoney
:
'minAmount'
,
endMoney
:
'maxAmount'
,
moneyList
:[]
},
{
type
:
1
,
fieldName
:
'subjectMatters'
,
value
:
''
,
placeholder
:
'招标采购分类'
,
options
:
[],
width
:
125
},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
110
},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'查询'
},
],
tableData
:[],
tableDataTotal
:
0
,
addressList
:
[],
cgblList
:
[
{
name
:
'100%'
,
value
:
'100%'
},
{
name
:
'50%以上'
,
value
:
'50%以上'
},
{
name
:
'20%以上'
,
value
:
'20%以上'
},
{
name
:
'5%以上'
,
value
:
'5%以上'
},
{
name
:
'1%-5%'
,
value
:
'1%-5%'
},
],
cgType
:
[
{
name
:
'工程'
,
value
:
'工程'
},
{
name
:
'货物'
,
value
:
'货物'
},
{
name
:
'服务'
,
value
:
'服务'
},
{
name
:
'其他'
,
value
:
'其他'
},
],
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
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
()
{
this
.
dataRegion
()
this
.
handleQuery
()
this
.
formData
[
1
].
timeList
=
this
.
timeList
;
this
.
formData
[
2
].
moneyList
=
this
.
moneyList
;
this
.
formData
[
3
].
options
=
this
.
cgType
;
this
.
formData
[
5
].
options
=
this
.
cgblList
;
//项目类型
getDictType
(
'project_type_new'
).
then
(
result
=>
{
let
data
=
result
.
code
==
200
?
result
.
data
:[];
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
4
].
options
.
push
({
name
:
data
[
i
].
dictLabel
,
value
:
data
[
i
].
dictValue
,
})
}
}
})
},
methods
:
{
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
this
.
getAreaList
(
params
||
this
.
queryParams
)
if
(
data
.
cgbl
){
if
(
data
.
cgbl
===
'100%'
){
data
.
minStockPercent
=
1
}
if
(
data
.
cgbl
===
'50%以上'
){
data
.
minStockPercent
=
0.5
}
if
(
data
.
cgbl
===
'20%以上'
){
data
.
minStockPercent
=
0.2
}
if
(
data
.
cgbl
===
'5%以上'
){
data
.
minStockPercent
=
0.05
}
if
(
data
.
cgbl
===
'1%-5%'
){
data
.
minStockPercent
=
0.01
data
.
maxStockPercent
=
0.05
}
delete
data
.
cgbl
}
if
(
data
.
subjectMatters
){
data
.
subjectMatters
=
[
data
.
subjectMatters
]
}
if
(
!
data
.
endTime
){
data
.
endTime
=
this
.
formatDate
(
new
Date
())
}
this
.
dataEXCEL
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
bidPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
code
==
200
?
res
.
rows
:[];
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
this
.
tableLoading
=
false
})
},
formatDate
(
timestamp
)
{
var
time
=
new
Date
(
timestamp
)
let
year
=
time
.
getFullYear
();
let
month
=
time
.
getMonth
()
+
1
>=
10
?
parseInt
(
time
.
getMonth
()
+
1
)
:
"0"
+
parseInt
(
time
.
getMonth
()
+
1
);
let
day
=
time
.
getDate
()
>=
10
?
time
.
getDate
()
:
"0"
+
time
.
getDate
();
return
year
+
'-'
+
month
+
'-'
+
day
},
//地区
async
dataRegion
()
{
var
str
=
[];
for
(
let
x
=
0
;
x
<
3
;
x
++
)
{
for
(
let
i
=
0
;
i
<
dataRegion
.
length
;
i
++
)
{
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
1
)
{
str
.
push
({
'id'
:
dataRegion
[
i
].
id
,
"label"
:
dataRegion
[
i
].
regionName
,
"short"
:
dataRegion
[
i
].
short
,
"value"
:
dataRegion
[
i
].
parentId
,
"children"
:
[]
});
}
}
}
for
(
var
i
=
0
;
i
<
str
.
length
;
i
++
)
{
if
(
str
[
i
].
children
.
length
)
{
}
else
{
delete
str
[
i
].
children
}
}
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
},
//分页
handleCurrentChange
(
e
){
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
this
.
handleQuery
(
params
)
this
.
$emit
(
'handle-scroll'
)
},
changeSelect
(){
this
.
handleSearch
()
},
clickFocus
(
e
){
document
.
getElementById
(
e
).
classList
.
toggle
(
'span-ba'
)
},
clickDialog
(){
this
.
dialogExportVisible
=
true
;
},
clickEXCEL
()
{
if
(
this
.
value
>
2000
){
return
}
this
.
dialogExportVisible
=
false
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
if
(
this
.
value
){
this
.
dataEXCEL
.
pageSize
=
this
.
value
}
else
{
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
>
2000
?
2000
:
this
.
tableDataTotal
;
}
delete
this
.
dataEXCEL
.
pageNum
exportBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
this
.
dialogExportVisible1
=
true
;
this
.
value
=
''
this
.
exportData
=
res
.
data
;
}
})
},
cancel
(){
this
.
dialogExportVisible
=
false
this
.
value
=
''
},
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
>
.performance
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
height
:
calc
(
100%
-
64px
);
.headForm
{
margin-bottom
:
14px
;
.common-title
{
margin-right
:
24px
;
}
::v-deep
.el-input__inner
{
padding-right
:
27px
;
}
::v-deep
.el-form-item
{
margin-right
:
8px
!
important
;
}
::v-deep
.el-input--medium
.el-input__icon
{
line-height
:
34px
;
}
::v-deep
.el-cascader
{
height
:
34px
;
line-height
:
34px
;
width
:
190px
;
.el-input
{
input
{
height
:
34px
!
important
;
}
}
.el-cascader__tags
{
flex-wrap
:
inherit
;
margin-top
:
1px
;
.el-tag
{
max-width
:
100px
;
}
}
.el-input__suffix
{
top
:
1px
;
}
}
.cooperate-name
{
display
:
flex
;
border-radius
:
2px
;
border
:
1px
solid
#D9D9D9
;
line-height
:
34px
;
height
:
34px
;
span
{
width
:
80px
;
height
:
32px
;
line-height
:
32px
;
font-size
:
14px
;
background
:
#F5F5F5
;
text-align
:
center
;
color
:
#0081FF
;
border
:
1px
solid
#EFEFEF
;
border-left
:
0
;
cursor
:
pointer
;
}
&
.span-ba
{
/*border: 1px solid #0081FF;*/
span
{
color
:
#ffffff
;
background
:
#0081FF
;
border
:
1px
solid
#0081FF
;
}
}
::v-deep
.el-input
{
flex
:
1
;
}
::v-deep
.el-input__inner
{
border
:
0
;
line-height
:
32px
;
height
:
32px
;
position
:
absolute
;
top
:
0
;
padding-right
:
22px
;
font-size
:
12px
;
padding-left
:
8px
;
}
}
.headForm-from
{
display
:
flex
;
.from-item
{
margin-right
:
8px
;
&
:last-child
{
margin-right
:
0
;
}
.fromTime
{
::v-deep
.el-range-input
{
width
:
100%
;
}
::v-deep
.el-range-separator
,
::v-deep
.el-range__close-icon
{
line-height
:
24px
;
width
:
20px
;
}
}
.fromTime-icon
{
display
:
none
;
}
.el-select
{
.el-input__suffix
{
right
:
10px
;
}
}
}
::v-deep
.form-content-width
{
width
:
170px
;
}
::v-deep
.selectTag
{
.el-select__tags
{
.el-tag
{
&
:first-child
{
width
:
70px
;
}
}
}
}
::v-deep
.el-select__tags
{
.el-tag
{
&
:first-child
{
//width: 100%;
}
}
}
}
.ability-total
{
font-size
:
12px
;
color
:
#3D3D3D
;
position
:
relative
;
&
:before
{
content
:
''
;
display
:
inline-block
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
margin-right
:
4px
;
}
}
.ability-excel
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-left
:
16px
;
cursor
:
pointer
;
&
:hover
{
color
:
#0081FF
;
}
img
{
width
:
18px
;
height
:
18px
;
margin-right
:
4px
;
}
}
}
::v-deep
.el-table
{
.has-gutter
{
tr
{
th
:nth-last-child
(
2
)
{
border-right
:
0
;
}
td
:nth-last-child
(
2
)
{
border-right
:
0
;
}
}
}
.el-table__cell.gutter
{
background
:
#F0F3FA
;
}
}
.custom-time-select
{
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
>
dsk-operate-ui/src/views/detail/groupAccount/component/zhaobiao.vue
View file @
6335038a
<
template
>
<
template
>
<div
class=
"performance"
>
<div
class=
"zhaobiao"
>
<div
class=
"headForm"
>
<div
class=
"header"
>
<div
class=
"flex-box query-box"
style=
"margin-bottom: 12px;"
>
<div
class=
"header-tab"
>
<div
class=
"flex-box query-params"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<span
class=
"common-title"
>
集团招标
</span>
<el-tab-pane
label=
"招标项目分析"
name=
"first"
></el-tab-pane>
<div
class=
"cooperate-name"
id=
"focus00"
>
<el-tab-pane
label=
"招标项目明细"
name=
"second"
></el-tab-pane>
<el-input
clearable
@
clear=
"changeSelect"
style=
"width: 300px;"
@
focus=
"clickFocus('focus00')"
@
blur=
"clickFocus('focus00')"
v-model=
"queryParams.keys"
placeholder=
"搜索招标成员名称/项目名称/代理单位"
></el-input>
</el-tabs>
<span
@
click=
"changeSelect"
>
搜索
</span>
</div>
</div>
</div>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"headForm-from"
>
<div
class=
"from-item"
:key=
"i"
v-for=
"(form, i) in formData"
>
<!-- 单选 -->
<template
v-if=
"form.type==1"
>
<el-select
v-model=
"form.value"
clearable
class=
"form-content-width"
: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"
:disabled=
"item.disabled"
/>
</el-select>
</
template
>
<!-- 年月日 -->
<
template
v-if=
"form.type==2"
>
<el-date-picker
@
change=
"changeSelect"
class=
"fromTime"
style=
"width: 210px"
v-model=
"form.value"
type=
"daterange"
prefix-icon=
"fromTime-icon"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</
template
>
<!-- 多选 -->
<
template
v-if=
"form.type==4"
>
<el-select
class=
"form-content-width"
:class=
"form.value.length > 1 ? 'selectTag' : ''"
v-model=
"form.value"
multiple
collapse-tags
clearable
:style=
"form.width?'width:'+form.width+'px':'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"
/>
</el-select>
</
template
>
<!-- 时间、自定义 -->
<
template
v-else-if=
"form.type==5"
>
<custom-time-select
:timeList=
"form.timeList"
v-model=
"form.value"
:placeholder=
"form.placeholder"
:dateFrom=
"form.dateFrom ? form.dateFrom : ''"
:dateTo=
"form.dateTo ? form.dateTo : ''"
@
handle-search=
"changeSelect"
/>
</
template
>
<!-- 金额 -->
<
template
v-else-if=
"form.type==6"
>
<custom-money-select
:moneyList=
"form.moneyList"
v-model=
"form.value"
:placeholder=
"form.placeholder"
@
handle-search=
"changeSelect"
/>
</
template
>
<!-- 地区选择 -->
<
template
v-else-if=
"form.type==7"
>
<el-cascader
ref=
"cascader"
:options=
"form.options"
:props=
"form.props"
v-model=
"form.value"
@
change=
"changeSelect"
:placeholder=
"form.placeholder"
collapse-tags
clearable
></el-cascader>
</
template
>
</div>
</div>
</div>
<div
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
>
共{{ tableDataTotal }}条
</span>
<span
v-hasPermi=
"['combine:info:export:bid']"
class=
"flex-box ability-excel"
@
click=
"clickDialog"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
</div>
</div>
</div>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<Zbxmfx
v-if=
"activeName === 'first'"
></Zbxmfx>
<tables
<Zbxmmx
v-if=
"activeName === 'second'"
></Zbxmmx>
v-if=
"!isSkeleton"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:MaxPage=
500
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<
template
slot=
"tenderee"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.tendereeUipId?`/enterprise/$
{encodeStr(scope.row.tendereeId)}`:`/company/${encodeStr(scope.row.tendereeId)}`" tag="a" class="a-link" v-if="scope.row.tendereeId
&&
scope.row.tenderee" v-html="scope.row.tenderee">
</router-link>
<div
v-else
v-html=
"scope.row.tenderee || '--'"
></div>
</
template
>
<
template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
:to=
"`/radar/Notice/details/$
{scope.row.bId}`" tag="a" class="a-link" v-if="scope.row.bId" v-html="scope.row.projectName">
</router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"agency"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.agencyUipId?`/enterprise/$
{encodeStr(scope.row.agencyId)}`:`/company/${encodeStr(scope.row.agencyId)}`" tag="a" class="a-link" v-if="scope.row.agencyId
&&
scope.row.agency" v-html="scope.row.agency">
</router-link>
<div
v-else
v-html=
"scope.row.agency || '--'"
></div>
</
template
>
<
template
slot=
"stockPercent"
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
stockPercent
||
'--'
}}{{
scope
.
row
.
stockPercent
?
'%'
:
''
}}
</div>
</
template
>
<
template
slot=
"projectType"
slot-scope=
"scope"
>
<div
v-if=
"scope.row.projectType === '空白'"
>
--
</div>
<div
v-else
>
{{
scope
.
row
.
projectType
||
'--'
}}
</div>
</
template
>
<
template
slot=
"bidAmount"
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
bidAmount
||
'--'
}}{{
scope
.
row
.
bidAmount
?
'万元'
:
''
}}
</div>
</
template
>
</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
>
<
script
>
<
script
>
import
mixin
from
'../../party-a/mixins/mixin'
import
Zbxmfx
from
'./zbxmfx'
import
CustomTimeSelect
from
'../../party-a/component/CustomTimeSelect'
import
Zbxmmx
from
'./zbxmmx'
import
CustomMoneySelect
from
'../../party-a/component/CustomMoneySelect'
import
{
bidPage
,
exportBid
}
from
'@/api/detail/groupAccount/groupAccount'
import
dataRegion
from
'@/assets/json/dataRegion1'
import
{
getDictType
}
from
'@/api/main'
export
default
{
export
default
{
name
:
'qualifications'
,
name
:
'qualifications'
,
props
:
[
'customerId'
,
'combineName'
],
components
:{
Zbxmfx
,
Zbxmmx
},
mixins
:
[
mixin
],
components
:{
CustomTimeSelect
,
CustomMoneySelect
},
data
(){
data
(){
return
{
return
{
isSkeleton
:
true
,
activeName
:
'first'
tableLoading
:
false
,
isDetails
:
false
,
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
queryParams
:
{
combineId
:
this
.
customerId
,
pageNum
:
1
,
pageSize
:
20
,
keys
:
''
},
forData
:
[
{
label
:
'招标发布时间'
,
prop
:
'issueTime'
,
minWidth
:
'90'
},
{
label
:
'招标成员'
,
prop
:
'tenderee'
,
slot
:
true
,
minWidth
:
'190'
},
{
label
:
'持股比例'
,
prop
:
'stockPercent'
,
slot
:
true
,
minWidth
:
'80'
},
{
label
:
'项目名称'
,
prop
:
'projectName'
,
slot
:
true
,
minWidth
:
'220'
},
{
label
:
'预算金额'
,
prop
:
'bidAmount'
,
slot
:
true
,
minWidth
:
'100'
},
{
label
:
'项目地区'
,
prop
:
'address'
,
minWidth
:
'110'
},
{
label
:
'招标采购分类'
,
prop
:
'subjectMatter'
,
minWidth
:
'90'
},
{
label
:
'项目类型'
,
prop
:
'projectType'
,
minWidth
:
'80'
,
slot
:
true
},
{
label
:
'代理单位'
,
prop
:
'agency'
,
minWidth
:
'160'
,
slot
:
true
},
],
formData
:
[
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
expandTrigger
:
'hover'
},
placeholder
:
'项目地区'
,
options
:[]},
{
type
:
5
,
fieldName
:
'time'
,
value
:
''
,
placeholder
:
'招标发布时间'
,
startTime
:
'startTime'
,
endTime
:
'endTime'
,
timeList
:[]
},
{
type
:
6
,
fieldName
:
'money'
,
value
:
''
,
placeholder
:
'预算金额'
,
startMoney
:
'minAmount'
,
endMoney
:
'maxAmount'
,
moneyList
:[]
},
{
type
:
1
,
fieldName
:
'subjectMatters'
,
value
:
''
,
placeholder
:
'招标采购分类'
,
options
:
[],
width
:
140
},
{
type
:
4
,
fieldName
:
'projectTypes'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[],
width
:
150
},
{
type
:
1
,
fieldName
:
'cgbl'
,
value
:
''
,
placeholder
:
'持股比例'
,
options
:
[],
width
:
110
},
],
tableData
:[],
tableDataTotal
:
0
,
addressList
:
[],
cgblList
:
[
{
name
:
'100%'
,
value
:
'100%'
},
{
name
:
'50%以上'
,
value
:
'50%以上'
},
{
name
:
'20%以上'
,
value
:
'20%以上'
},
{
name
:
'5%以上'
,
value
:
'5%以上'
},
{
name
:
'1%-5%'
,
value
:
'1%-5%'
},
],
cgType
:
[
{
name
:
'工程'
,
value
:
'工程'
},
{
name
:
'货物'
,
value
:
'货物'
},
{
name
:
'服务'
,
value
:
'服务'
},
{
name
:
'其他'
,
value
:
'其他'
},
],
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
moneyList
:
[
'5000万以下'
,
'5000万-1亿'
,
'1亿-5亿'
,
'5亿-10亿'
,
'10亿以上'
,
'自定义'
],
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
()
{
this
.
dataRegion
()
this
.
handleQuery
()
this
.
formData
[
1
].
timeList
=
this
.
timeList
;
this
.
formData
[
2
].
moneyList
=
this
.
moneyList
;
this
.
formData
[
3
].
options
=
this
.
cgType
;
this
.
formData
[
5
].
options
=
this
.
cgblList
;
//项目类型
getDictType
(
'project_type_new'
).
then
(
result
=>
{
let
data
=
result
.
code
==
200
?
result
.
data
:[];
if
(
data
.
length
>
0
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
this
.
formData
[
4
].
options
.
push
({
name
:
data
[
i
].
dictLabel
,
value
:
data
[
i
].
dictValue
,
})
}
}
})
},
},
methods
:
{
methods
:
{
handleQuery
(
params
){
handleClick
()
{
this
.
isSkeleton
=
true
let
data
=
this
.
getAreaList
(
params
||
this
.
queryParams
)
if
(
data
.
cgbl
){
if
(
data
.
cgbl
===
'100%'
){
data
.
minStockPercent
=
1
}
if
(
data
.
cgbl
===
'50%以上'
){
data
.
minStockPercent
=
0.5
}
if
(
data
.
cgbl
===
'20%以上'
){
data
.
minStockPercent
=
0.2
}
if
(
data
.
cgbl
===
'5%以上'
){
data
.
minStockPercent
=
0.05
}
if
(
data
.
cgbl
===
'1%-5%'
){
data
.
minStockPercent
=
0.01
data
.
maxStockPercent
=
0.05
}
delete
data
.
cgbl
}
if
(
data
.
subjectMatters
){
data
.
subjectMatters
=
[
data
.
subjectMatters
]
}
if
(
!
data
.
endTime
){
data
.
endTime
=
this
.
formatDate
(
new
Date
())
}
this
.
dataEXCEL
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
bidPage
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
code
==
200
?
res
.
rows
:[];
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
this
.
tableLoading
=
false
})
},
formatDate
(
timestamp
)
{
var
time
=
new
Date
(
timestamp
)
let
year
=
time
.
getFullYear
();
let
month
=
time
.
getMonth
()
+
1
>=
10
?
parseInt
(
time
.
getMonth
()
+
1
)
:
"0"
+
parseInt
(
time
.
getMonth
()
+
1
);
let
day
=
time
.
getDate
()
>=
10
?
time
.
getDate
()
:
"0"
+
time
.
getDate
();
return
year
+
'-'
+
month
+
'-'
+
day
},
//地区
async
dataRegion
()
{
var
str
=
[];
for
(
let
x
=
0
;
x
<
3
;
x
++
)
{
for
(
let
i
=
0
;
i
<
dataRegion
.
length
;
i
++
)
{
if
(
dataRegion
[
i
].
regionLevel
==
x
+
1
&&
x
+
1
==
1
)
{
str
.
push
({
'id'
:
dataRegion
[
i
].
id
,
"label"
:
dataRegion
[
i
].
regionName
,
"short"
:
dataRegion
[
i
].
short
,
"value"
:
dataRegion
[
i
].
parentId
,
"children"
:
[]
});
}
// else if (dataRegion[i].regionLevel == x + 1 && x + 1 == 2) {
// for (let j = 0; j
<
str
.
length
;
j
++
)
{
// if (str[j].id == dataRegion[i].parentId) {
// str[j].children.push({
// 'id': dataRegion[i].id,
// "label": dataRegion[i].regionName,
// "short": dataRegion[i].short,
// "value": dataRegion[i].parentId,
// "children": []
// });
// }
// }
// } else if (dataRegion[i].regionLevel == x + 1 && x + 1 == 3) {
// for (let j = 0; j
<
str
.
length
;
j
++
)
{
// for (let k = 0; k
<
str
[
j
].
children
.
length
;
k
++
)
{
// if (str[j].children[k].id == dataRegion[i].parentId) {
// str[j].children[k].children.push({
// 'id': dataRegion[i].id,
// "label": dataRegion[i].regionName,
// "short": dataRegion[i].short,
// "value": dataRegion[i].parentId
// // "children":[]
// });
// }
// }
// }
// }
}
}
for
(
var
i
=
0
;
i
<
str
.
length
;
i
++
)
{
if
(
str
[
i
].
children
.
length
)
{
}
else
{
}
delete
str
[
i
].
children
}
}
this
.
addressList
=
str
;
this
.
formData
[
0
].
options
=
str
;
},
getAreaList
(
params
){
if
(
params
.
province
&&
params
.
province
.
length
>
0
){
let
arr
=
this
.
$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
},
//分页
handleCurrentChange
(
e
){
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
this
.
handleQuery
(
params
)
this
.
$emit
(
'handle-scroll'
)
},
changeSelect
(){
this
.
handleSearch
()
},
clickFocus
(
e
){
document
.
getElementById
(
e
).
classList
.
toggle
(
'span-ba'
)
},
clickDialog
(){
this
.
dialogExportVisible
=
true
;
},
clickEXCEL
()
{
if
(
this
.
value
>
2000
){
return
}
this
.
dialogExportVisible
=
false
;
this
.
dataEXCEL
.
combineName
=
this
.
combineName
;
if
(
this
.
value
){
this
.
dataEXCEL
.
pageSize
=
this
.
value
}
else
{
this
.
dataEXCEL
.
pageSize
=
this
.
tableDataTotal
>
2000
?
2000
:
this
.
tableDataTotal
;
}
delete
this
.
dataEXCEL
.
pageNum
exportBid
(
this
.
dataEXCEL
).
then
(
res
=>
{
if
(
res
.
code
===
200
){
this
.
dialogExportVisible1
=
true
;
this
.
value
=
''
this
.
exportData
=
res
.
data
;
}
})
},
cancel
(){
this
.
dialogExportVisible
=
false
this
.
value
=
''
},
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
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.performance
{
.zhaobiao
{
background
:
#ffffff
;
height
:
100%
;
border-radius
:
4px
;
background
:
#F5F5F5
;
padding
:
16px
;
.header
{
.headForm
{
justify-content
:
space-between
;
margin-bottom
:
14px
;
background
:
#F5F5F5
;
.common-title
{
color
:
#232323
;
margin-right
:
24px
;
height
:
64px
;
}
position
:
sticky
;
::v-deep
.el-input__inner
{
top
:
0
;
border
:
1px
solid
#D9D9D9
;
z-index
:
999
;
height
:
34px
;
.header-tab
{
line-height
:
34px
;
background
:
#ffffff
;
padding-right
:
27px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
border-radius
:
4px
;
border-radius
:
4px
;
}
}
::v-deep
.el-form-item
{
::v-deep
.el-tabs
{
margin-right
:
8px
!
important
;
}
::v-deep
.el-input--medium
.el-input__icon
{
line-height
:
34px
;
}
::v-deep
.el-cascader
{
height
:
34px
;
line-height
:
34px
;
width
:
190px
;
.el-input
{
input
{
height
:
34px
!
important
;
}
}
.el-cascader__tags
{
flex-wrap
:
inherit
;
margin-top
:
1px
;
.el-tag
{
max-width
:
100px
;
}
}
.el-input__suffix
{
top
:
1px
;
}
}
.cooperate-name
{
display
:
flex
;
border-radius
:
2px
;
border
:
1px
solid
#D9D9D9
;
line-height
:
34px
;
height
:
34px
;
span
{
width
:
80px
;
height
:
32px
;
line-height
:
32px
;
font-size
:
14px
;
background
:
#F5F5F5
;
text-align
:
center
;
color
:
#0081FF
;
border
:
1px
solid
#EFEFEF
;
border-left
:
0
;
cursor
:
pointer
;
}
&
.span-ba
{
/*border: 1px solid #0081FF;*/
span
{
color
:
#ffffff
;
background
:
#0081FF
;
border
:
1px
solid
#0081FF
;
}
}
::v-deep
.el-input
{
flex
:
1
;
}
::v-deep
.el-input__inner
{
border
:
0
;
line-height
:
32px
;
height
:
32px
;
position
:
absolute
;
top
:
0
;
padding-right
:
22px
;
font-size
:
12px
;
padding-left
:
8px
;
}
}
.headForm-from
{
display
:
flex
;
.from-item
{
margin-right
:
8px
;
&
:last-child
{
margin-right
:
0
;
}
.fromTime
{
::v-deep
.el-range-input
{
width
:
100%
;
}
::v-deep
.el-range-separator
,
::v-deep
.el-range__close-icon
{
line-height
:
24px
;
width
:
20px
;
}
}
.fromTime-icon
{
display
:
none
;
}
.el-select
{
.el-input__suffix
{
right
:
10px
;
}
}
}
::v-deep
.form-content-width
{
width
:
170px
;
}
::v-deep
.selectTag
{
.el-select__tags
{
.el-tag
{
&
:first-child
{
width
:
70px
;
}
}
}
}
::v-deep
.el-select__tags
{
.el-tag
{
&
:first-child
{
//width: 100%;
}
}
}
}
.ability-total
{
font-size
:
12px
;
color
:
#3D3D3D
;
position
:
relative
;
&
:before
{
content
:
''
;
display
:
inline-block
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
margin-right
:
4px
;
}
}
.ability-excel
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-left
:
16px
;
cursor
:
pointer
;
&
:hover
{
color
:
#0081FF
;
}
img
{
width
:
18px
;
height
:
18px
;
margin-right
:
4px
;
}
}
}
::v-deep
.el-table
{
.has-gutter
{
tr
{
th
:nth-last-child
(
2
)
{
border-right
:
0
;
}
td
:nth-last-child
(
2
)
{
border-right
:
0
;
}
}
}
.el-table__cell.gutter
{
background
:
#F0F3FA
;
}
}
.custom-time-select
{
width
:
150px
;
}
}
.dialogExport
{
::v-deep
.el-dialog
{
.el-dialog__header
{
height
:
48px
;
height
:
48px
;
line-height
:
48px
;
line-height
:
48px
;
padding
:
0
16px
;
.
el-tabs__nav-wrap
:
:
after
{
border-bottom
:
1px
solid
#E1E1E1
;
position
:
static
!
important
;
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
{
.el-tabs__header
{
text-align
:
center
;
margin
:
0
;
margin-top
:
36px
;
.el-tabs__item
{
.success
{
padding
:
0
16px
;
width
:
64px
;
height
:
64px
;
margin-bottom
:
16px
;
}
p
{
padding
:
0
;
margin
:
0
;
}
.p1
{
color
:
#232323
;
font-size
:
16px
;
font-size
:
16px
;
margin-bottom
:
8px
;
}
}
.p2
{
.is-active
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-weight
:
bold
;
font-size
:
14px
;
span
{
color
:
#0081FF
;
cursor
:
pointer
;
}
}
}
}
}
}
.el-tabs__content
{
.el-dialog__footer
{
width
:
100%
;
text-align
:
center
;
}
padding-bottom
:
24px
;
}
}
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/groupAccount/index.vue
View file @
6335038a
...
@@ -115,6 +115,9 @@
...
@@ -115,6 +115,9 @@
top
:
0
;
top
:
0
;
z-index
:
9
;
z-index
:
9
;
}
}
#groupBox
{
height
:
100%
;
}
}
}
.part-header
{
.part-header
{
font-size
:
16px
;
font-size
:
16px
;
...
...
dsk-operate-ui/src/views/detail/party-a/component/CustomMoneySelect.vue
View file @
6335038a
...
@@ -229,7 +229,11 @@ export default {
...
@@ -229,7 +229,11 @@ export default {
width
:
120px
;
width
:
120px
;
height
:
34px
;
height
:
34px
;
position
:
relative
;
position
:
relative
;
.el-input__inner
{
width
:
100px
!
important
;
}
.rote
{
.rote
{
background
:
#F4F6F9
;
.el-input__inner
{
.el-input__inner
{
background
:
#F4F6F9
;
background
:
#F4F6F9
;
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
6335038a
<
template
>
<
template
>
<div>
<div>
<div
class=
"headForm"
>
<div
class=
"headForm"
>
<div
class=
"flex-box query-box"
style=
"margin-bottom: 12px;"
>
<div
class=
"flex-box query-box"
v-if=
"title"
style=
"margin-bottom: 12px;"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</span>
<span
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</span>
</div>
</div>
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
</
template
>
</
template
>
<div
v-else
class=
"flex-box"
>
<div
v-else
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共{{ total }}条
</span>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid']"
v-if=
"isExcel"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid'
,'combine:info:export:bid'
]"
v-if=
"isExcel"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
</div>
</div>
...
@@ -62,7 +62,7 @@
...
@@ -62,7 +62,7 @@
multiple
multiple
collapse-tags
collapse-tags
clearable
clearable
:style=
"form.width?'width:'+form.width+'px':'max-width: 1
7
0px'"
:style=
"form.width?'width:'+form.width+'px':'max-width: 1
5
0px'"
:placeholder=
"form.placeholder"
:placeholder=
"form.placeholder"
@
change=
"changeSelect"
>
@
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"
/>
...
@@ -102,118 +102,16 @@
...
@@ -102,118 +102,16 @@
<
template
v-if=
"form.type==0"
>
<
template
v-if=
"form.type==0"
>
<slot
name=
"slot"
></slot>
<slot
name=
"slot"
></slot>
</
template
>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-if=
"!title"
class=
"flex-box"
>
<span
class=
"flex-box ability-total"
v-if=
"isTotal"
>
共{{ total }}条
</span>
<span
class=
"flex-box ability-excel"
v-hasPermi=
"['combine:info:export:win:bid','combine:info:export:bid']"
v-if=
"isExcel"
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
<span
class=
"flex-box ability-excel"
v-else
@
click=
"clickEXCEL"
><img
src=
"@/assets/images/ability_excel.png"
>
导出EXCEL
</span>
</div>
</div>
</div>
</div>
</div>
<!--<div class="headForm" v-else>-->
<!--<div class="flex-box query-box">-->
<!--<div class="flex-box query-params">-->
<!--<span class="common-title" v-if="title">{{ title }}</span>-->
<!--<div class="headForm-from">-->
<!--<div class="from-item" :key="i" v-for="(form, i) in formData">-->
<!--<!– 单选 –>-->
<!--<template v-if="form.type==1">-->
<!--<el-select-->
<!--v-model="form.value"-->
<!--clearable-->
<!--class="form-content-width"-->
<!--: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" :disabled="item.disabled"/>-->
<!--</el-select>-->
<!--</template>-->
<!--<!– 年月日 –>-->
<!--<template v-if="form.type==2">-->
<!--<el-date-picker-->
<!--@change="changeSelect"-->
<!--class="fromTime"-->
<!--style="width: 210px"-->
<!--v-model="form.value"-->
<!--type="daterange"-->
<!--prefix-icon="fromTime-icon"-->
<!--value-format="yyyy-MM-dd"-->
<!--range-separator="至"-->
<!--start-placeholder="开始日期"-->
<!--end-placeholder="结束日期">-->
<!--</el-date-picker>-->
<!--</template>-->
<!--<!– 输入框 –>-->
<!--<template v-if="form.type==3">-->
<!--<div class="cooperate-name" :id="'focus'+i">-->
<!--<el-input clearable @clear="changeSelect" @focus="clickFocus('focus'+i)" @blur="clickFocus('focus'+i)" v-model="form.value" :placeholder="form.placeholder" :style="form.width?'width:'+form.width+'px':'width:180px'"></el-input>-->
<!--<span @click="changeSelect">搜索</span>-->
<!--</div>-->
<!--</template>-->
<!--<!– 多选 –>-->
<!--<template v-if="form.type==4">-->
<!--<el-select-->
<!--class="form-content-width"-->
<!--:class="form.value.length > 1 ? 'selectTag' : ''"-->
<!--v-model="form.value"-->
<!--multiple-->
<!--collapse-tags-->
<!--clearable-->
<!--:style="form.width?'width:'+form.width+'px':'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"/>-->
<!--</el-select>-->
<!--</template>-->
<!--<!– 时间、自定义 –>-->
<!--<template v-else-if="form.type==5">-->
<!--<custom-time-select-->
<!--:timeList="form.timeList"-->
<!--v-model="form.value"-->
<!--:placeholder="form.placeholder"-->
<!--:dateFrom="form.dateFrom ? form.dateFrom : ''"-->
<!--:dateTo="form.dateTo ? form.dateTo : ''"-->
<!--@handle-search="changeSelect" />-->
<!--</template>-->
<!--<!– 金额 –>-->
<!--<template v-else-if="form.type==6">-->
<!--<custom-money-select-->
<!--:moneyList="form.moneyList"-->
<!--v-model="form.value"-->
<!--:placeholder="form.placeholder"-->
<!--@handle-search="changeSelect" />-->
<!--</template>-->
<!--<!– 地区选择 –>-->
<!--<template v-else-if="form.type==7">-->
<!--<el-cascader-->
<!--ref="cascader"-->
<!--:options="form.options"-->
<!--:props="form.props"-->
<!--v-model="form.value"-->
<!--@change="changeSelect"-->
<!--:placeholder="form.placeholder"-->
<!--collapse-tags-->
<!--clearable></el-cascader>-->
<!--</template>-->
<!--<!– 自定义 –>-->
<!--<template v-if="form.type==0">-->
<!--<slot name="slot"></slot>-->
<!--</template>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--<template v-if="slots">-->
<!--<slot name="slot"></slot>-->
<!--</template>-->
<!--<div v-else class="flex-box">-->
<!--<span class="flex-box ability-total" v-if="isTotal">共{{ total }}条</span>-->
<!--<span class="flex-box ability-excel" v-hasPermi="['combine:info:export:win:bid']" v-if="isExcel && title ==='集团业绩'" @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
<!--<span class="flex-box ability-excel" v-else @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
</template>
</template>
...
@@ -300,14 +198,15 @@ export default {
...
@@ -300,14 +198,15 @@ export default {
margin-right
:
24px
;
margin-right
:
24px
;
}
}
::v-deep
.el-input__inner
{
::v-deep
.el-input__inner
{
border
:
1px
solid
#D9D9D9
;
border
:
0
;
height
:
32px
;
height
:
32px
;
line-height
:
32px
;
line-height
:
32px
;
padding-right
:
27px
;
/*padding-right: 27px;*/
overflow
:
hidden
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
white-space
:
nowrap
;
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
0
8px
;
}
}
::v-deep
.el-form-item
{
::v-deep
.el-form-item
{
margin-right
:
8px
!
important
;
margin-right
:
8px
!
important
;
...
@@ -318,7 +217,14 @@ export default {
...
@@ -318,7 +217,14 @@ export default {
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
height
:
34px
;
height
:
34px
;
line-height
:
34px
;
line-height
:
34px
;
width
:
190px
;
width
:
150px
;
.is-focus
{
.el-input
{
input
{
background
:
#F4F6F9
;
}
}
}
.el-input
{
.el-input
{
input
{
input
{
height
:
34px
!
important
;
height
:
34px
!
important
;
...
@@ -328,7 +234,10 @@ export default {
...
@@ -328,7 +234,10 @@ export default {
flex-wrap
:
inherit
;
flex-wrap
:
inherit
;
margin-top
:
1px
;
margin-top
:
1px
;
.el-tag
{
.el-tag
{
max-width
:
100px
;
max-width
:
70px
;
}
.el-tag
:nth-child
(
2
)
{
padding
:
0
3px
;
}
}
}
}
.el-input__suffix
{
.el-input__suffix
{
...
@@ -386,6 +295,7 @@ export default {
...
@@ -386,6 +295,7 @@ export default {
position
:
absolute
;
position
:
absolute
;
top
:
0
;
top
:
0
;
padding-left
:
36px
;
padding-left
:
36px
;
padding-right
:
25px
;
}
}
}
}
.fromTime
{
.fromTime
{
...
@@ -407,7 +317,7 @@ export default {
...
@@ -407,7 +317,7 @@ export default {
}
}
}
}
::v-deep
.form-content-width
{
::v-deep
.form-content-width
{
width
:
1
7
0px
;
width
:
1
5
0px
;
.el_input
{
.el_input
{
background
:
#fff
;
background
:
#fff
;
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/announcement.vue
View file @
6335038a
...
@@ -56,7 +56,7 @@ export default {
...
@@ -56,7 +56,7 @@ export default {
}
,
}
,
defaultSort
:
{
prop
:
'issueTime'
,
order
:
'descending'
}
,
defaultSort
:
{
prop
:
'issueTime'
,
order
:
'descending'
}
,
forData
:
[
forData
:
[
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'300'
,
slot
:
true
}
,
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'300'
,
slot
:
true
,
fixed
:
true
}
,
{
label
:
'发布日期'
,
prop
:
'issueTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
,
width
:
'120'
}
,
{
label
:
'发布日期'
,
prop
:
'issueTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
,
width
:
'120'
}
,
{
label
:
'预算金额(万元)'
,
prop
:
'projectAmount'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2'
,
width
:
'140'
}
,
{
label
:
'预算金额(万元)'
,
prop
:
'projectAmount'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2'
,
width
:
'140'
}
,
{
label
:
'项目地区'
,
prop
:
'province'
,
width
:
'120'
,
slot
:
true
}
,
{
label
:
'项目地区'
,
prop
:
'province'
,
width
:
'120'
,
slot
:
true
}
,
...
...
dsk-operate-ui/src/views/index.vue
View file @
6335038a
...
@@ -71,8 +71,16 @@
...
@@ -71,8 +71,16 @@
<router-link
:to=
"`/groupAccount/$
{scope.row.combineId}?name=${scope.row.combineName}`" tag="a" class="a-link">
{{
scope
.
row
.
combineName
}}
</router-link>
<router-link
:to=
"`/groupAccount/$
{scope.row.combineId}?name=${scope.row.combineName}`" tag="a" class="a-link">
{{
scope
.
row
.
combineName
}}
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
width=
"150"
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
sortable
width=
"150"
>
<el-table-column
prop=
"money"
label=
"中标金额(万元)"
align=
"right"
:sort-method=
"(a,b)=>{return a.money - b.money}"
sortable
/>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"money"
label=
"中标金额"
align=
"right"
:sort-method=
"(a,b)=>{return a.money - b.money}"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
money
}}
万元
</
template
>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
</el-col>
</el-col>
...
@@ -140,8 +148,16 @@
...
@@ -140,8 +148,16 @@
<span
style=
"cursor: pointer;"
class=
"a-link companyName"
@
click=
"getUipIdByCid(scope.row.companyId)"
>
{{
scope
.
row
.
companyName
}}
</span>
<span
style=
"cursor: pointer;"
class=
"a-link companyName"
@
click=
"getUipIdByCid(scope.row.companyId)"
>
{{
scope
.
row
.
companyName
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
width=
"150"
/>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
sortable
width=
"150"
>
<el-table-column
prop=
"money"
label=
"中标金额(万元)"
align=
"right"
:sort-method=
"(a,b)=>{return a.money - b.money}"
sortable
/>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
<el-table-column
prop=
"money"
label=
"中标金额"
align=
"right"
:sort-method=
"(a,b)=>{return a.money - b.money}"
sortable
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
money
}}
万元
</
template
>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
</el-col>
</el-col>
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
6335038a
...
@@ -32,17 +32,17 @@
...
@@ -32,17 +32,17 @@
show-summary
show-summary
@
sort-change=
"sortChange"
@
sort-change=
"sortChange"
>
>
<el-table-column
label=
"序号"
width=
"
60
"
align=
"left"
>
<el-table-column
label=
"序号"
width=
"
55
"
align=
"left"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
2
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
2
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"产业类型"
prop=
"projectType"
></el-table-column>
<el-table-column
label=
"产业类型"
prop=
"projectType"
></el-table-column>
<el-table-column
:label=
"oneYear"
>
<el-table-column
:label=
"oneYear"
>
<el-table-column
prop=
"money"
label=
"金额(亿元)"
sortable=
"custom"
:formatter=
"formatStatus"
></el-table-column>
<el-table-column
prop=
"money"
label=
"金额(亿元)"
sortable=
"custom"
:formatter=
"formatStatus"
min-width=
"115"
></el-table-column>
<el-table-column
prop=
"rate"
label=
"占比(%)"
:sort-method=
"(a,b)=>{return a.rate - b.rate}"
sortable
>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比(%)"
:sort-method=
"(a,b)=>{return a.rate - b.rate}"
sortable
min-width=
"100"
>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"twoYear"
>
<el-table-column
:label=
"twoYear"
>
<el-table-column
prop=
"lastMoney"
label=
"金额(亿元)"
sortable=
"custom"
:formatter=
"formatStatus"
>
</el-table-column>
<el-table-column
prop=
"lastMoney"
label=
"金额(亿元)"
sortable=
"custom"
:formatter=
"formatStatus"
min-width=
"115"
>
</el-table-column>
<el-table-column
prop=
"lastRate"
label=
"占比(%)"
:sort-method=
"(a,b)=>{return a.lastRate - b.lastRate}"
sortable
>
</el-table-column>
<el-table-column
prop=
"lastRate"
label=
"占比(%)"
:sort-method=
"(a,b)=>{return a.lastRate - b.lastRate}"
sortable
min-width=
"100"
>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
...
@@ -393,7 +393,7 @@ export default {
...
@@ -393,7 +393,7 @@ export default {
th
:nth-child
(
4
)
{
th
:nth-child
(
4
)
{
border-right
:
0
;
border-right
:
0
;
.cell
{
.cell
{
padding-right
:
24px
!
important
;
/*padding-right: 24px !important;*/
}
}
}
}
td
:nth-child
(
6
)
{
td
:nth-child
(
6
)
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/tdjy.vue
View file @
6335038a
...
@@ -31,10 +31,10 @@
...
@@ -31,10 +31,10 @@
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
9
0"
>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
8
0"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -74,10 +74,10 @@
...
@@ -74,10 +74,10 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"type"
label=
"供应方式"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
9
0"
>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
8
0"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -120,10 +120,10 @@
...
@@ -120,10 +120,10 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"province"
label=
"地区"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"province"
label=
"地区"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
9
0"
>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
8
0"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -159,10 +159,10 @@
...
@@ -159,10 +159,10 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"type"
label=
"年份"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"type"
label=
"年份"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
>
<el-table-column
prop=
"count"
label=
"土地交易项目"
align=
"right"
:formatter=
"formatStatus"
sortable
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
count
}}
个
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
9
0"
>
<el-table-column
prop=
"rate"
label=
"占比"
align=
"right"
:formatter=
"formatStatus"
width=
"
8
0"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
rate
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
...
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