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
9d2d49fb
Commit
9d2d49fb
authored
Oct 17, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
dafcad1b
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
740 additions
and
155 deletions
+740
-155
search-common.scss
dsk-operate-ui/src/assets/styles/search-common.scss
+1
-1
CustomMoneySelect.vue
dsk-operate-ui/src/views/component/CustomMoneySelect.vue
+3
-3
CustomTimeSelect.vue
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
+3
-3
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+15
-12
members.vue
...te-ui/src/views/detail/groupAccount/component/members.vue
+3
-1
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+2
-0
zbxmmx.vue
...ate-ui/src/views/detail/groupAccount/component/zbxmmx.vue
+8
-0
HeadFormNew.vue
...ate-ui/src/views/detail/party-a/component/HeadFormNew.vue
+13
-2
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+1
-1
Tables.vue
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
+80
-61
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+17
-1
bidding.vue
...i/src/views/detail/party-a/overview/component/bidding.vue
+5
-5
holderinfo.vue
...erate-ui/src/views/detail/party-a/overview/holderinfo.vue
+1
-1
regionalEconomies.vue
...iews/detail/party-a/urbanLnvestment/regionalEconomies.vue
+1
-1
index.vue
dsk-operate-ui/src/views/index.vue
+167
-22
CustomTimeSelect.vue
...operate-ui/src/views/macro/component/CustomTimeSelect.vue
+1
-2
comparison.vue
...ate-ui/src/views/macro/economies/component/comparison.vue
+6
-1
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+6
-1
localEconomy.vue
...e-ui/src/views/macro/economies/component/localEconomy.vue
+19
-14
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+3
-3
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+2
-2
tdjy.vue
...e-ui/src/views/macro/nationalEconomies/component/tdjy.vue
+127
-7
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+125
-4
zhongbiao.vue
...src/views/macro/nationalEconomies/component/zhongbiao.vue
+131
-7
No files found.
dsk-operate-ui/src/assets/styles/search-common.scss
View file @
9d2d49fb
::v-deep
.head-form-new
{
::v-deep
.head-form-new
{
margin
-bottom
:
8px
;
padding
-bottom
:
8px
;
.query-box
{
.query-box
{
.from-item
{
.from-item
{
display
:
flex
;
display
:
flex
;
...
...
dsk-operate-ui/src/views/component/CustomMoneySelect.vue
View file @
9d2d49fb
<
template
>
<
template
>
<div
:ref=
"refStr"
class=
"custom-money-select screen-popper"
id=
"custom-money-select"
>
<div
:ref=
"refStr"
class=
"custom-money-select
1
screen-popper"
id=
"custom-money-select"
>
<div
:class=
"['input-block', isSelectOption?'rote':'']"
>
<div
:class=
"['input-block', isSelectOption?'rote':'']"
>
<div
class=
"block"
@
click=
"isSelectOption=!isSelectOption"
@
mouseenter=
"handleMouseenter"
@
mouseleave=
"handleMouseleave"
>
<div
class=
"block"
@
click=
"isSelectOption=!isSelectOption"
@
mouseenter=
"handleMouseenter"
@
mouseleave=
"handleMouseleave"
>
<el-input
class=
"custom-money-input"
v-model=
"value"
:placeholder=
"placeholder"
readonly
>
<el-input
class=
"custom-money-input"
v-model=
"value"
:placeholder=
"placeholder"
readonly
>
...
@@ -238,8 +238,8 @@ export default {
...
@@ -238,8 +238,8 @@ export default {
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.custom-money-select
{
.custom-money-select
1
{
width
:
1
20
px
;
width
:
1
06
px
;
height
:
34px
;
height
:
34px
;
position
:
relative
;
position
:
relative
;
.rote
{
.rote
{
...
...
dsk-operate-ui/src/views/component/CustomTimeSelect.vue
View file @
9d2d49fb
<
template
>
<
template
>
<div
:ref=
"refStr"
class=
"custom-time-select screen-popper"
id=
"custom-time-select"
>
<div
:ref=
"refStr"
class=
"custom-time-select
1
screen-popper"
id=
"custom-time-select"
>
<div
:class=
"['input-block', isSelectOption?'rote':'']"
>
<div
:class=
"['input-block', isSelectOption?'rote':'']"
>
<div
class=
"block"
@
click=
"isSelectOption=!isSelectOption"
@
mouseenter=
"handleMouseenter"
@
mouseleave=
"handleMouseleave"
>
<div
class=
"block"
@
click=
"isSelectOption=!isSelectOption"
@
mouseenter=
"handleMouseenter"
@
mouseleave=
"handleMouseleave"
>
<el-input
class=
"custom-time-input"
v-model=
"value"
:placeholder=
"placeholder"
readonly
>
<el-input
class=
"custom-time-input"
v-model=
"value"
:placeholder=
"placeholder"
readonly
>
...
@@ -244,8 +244,8 @@ export default {
...
@@ -244,8 +244,8 @@ export default {
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.custom-time-select
{
.custom-time-select
1
{
width
:
120px
;
width
:
90px
!
important
;
height
:
34px
;
height
:
34px
;
.rote
{
.rote
{
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
9d2d49fb
...
@@ -845,6 +845,7 @@
...
@@ -845,6 +845,7 @@
padding-top
:
16px
;
padding-top
:
16px
;
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
.table_search
{
::v-deep
.el-form
{
::v-deep
.el-form
{
.el-input
{
.el-input
{
line-height
:
32px
;
line-height
:
32px
;
...
@@ -862,6 +863,8 @@
...
@@ -862,6 +863,8 @@
}
}
}
}
}
}
}
.box
{
.box
{
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/members.vue
View file @
9d2d49fb
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
:form-data=
"formData"
:form-data=
"formData"
:query-params=
"queryParams"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:total=
"tableDataTotal"
:headerFixed=
"true"
:isExcel=
"false"
:isExcel=
"false"
@
handle-search=
"handleSearch"
@
handle-search=
"handleSearch"
>
>
...
@@ -53,6 +54,7 @@
...
@@ -53,6 +54,7 @@
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
:headerFixed=
"true"
:tableDataTotal=
"tableDataTotal"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
:queryParams=
"queryParams"
:MaxPage=
500
:MaxPage=
500
...
@@ -456,7 +458,7 @@
...
@@ -456,7 +458,7 @@
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
400
;
font-weight
:
400
;
line-height
:
32px
;
line-height
:
32px
;
color
:
#999999
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
;
margin-right
:
8px
;
margin-right
:
8px
;
text-align
:
center
;
text-align
:
center
;
width
:
70px
;
width
:
70px
;
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
View file @
9d2d49fb
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
:form-data=
"formData"
:form-data=
"formData"
:query-params=
"queryParams"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:total=
"tableDataTotal"
:headerFixed=
"true"
:isExcel=
"true"
:isExcel=
"true"
@
handle-search=
"handleSearch"
@
handle-search=
"handleSearch"
@
handle-excel=
"clickEXCEL"
@
handle-excel=
"clickEXCEL"
...
@@ -21,6 +22,7 @@
...
@@ -21,6 +22,7 @@
:tableLoading=
"tableLoading"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:tableData=
"tableData"
:forData=
"forData"
:forData=
"forData"
:headerFixed=
"true"
:MaxPage=
500
:MaxPage=
500
:tableDataTotal=
"tableDataTotal"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
:queryParams=
"queryParams"
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/zbxmmx.vue
View file @
9d2d49fb
...
@@ -379,6 +379,14 @@
...
@@ -379,6 +379,14 @@
border-radius
:
4px
;
border-radius
:
4px
;
padding
:
16px
;
padding
:
16px
;
height
:
calc
(
100%
-
64px
);
height
:
calc
(
100%
-
64px
);
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
64px
!
important
;
z-index
:
9
;
}
.headForm
{
.headForm
{
margin-bottom
:
14px
;
margin-bottom
:
14px
;
.common-title
{
.common-title
{
...
...
dsk-operate-ui/src/views/detail/party-a/component/HeadFormNew.vue
View file @
9d2d49fb
<
template
>
<
template
>
<div
class=
"head-form-new"
>
<div
class=
"head-form-new"
:class=
"headerFixed ? 'headerFixed':''"
>
<div
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</div>
<div
class=
"common-title"
v-if=
"title"
>
{{
title
}}
</div>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
...
@@ -109,6 +109,10 @@ export default {
...
@@ -109,6 +109,10 @@ export default {
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
},
},
headerFixed
:
{
type
:
Boolean
,
default
:
false
},
isExcel
:
{
isExcel
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
...
@@ -280,10 +284,17 @@ export default {
...
@@ -280,10 +284,17 @@ export default {
::v-deep
.el-popper
[
x-placement
^=
"bottom"
]
{
::v-deep
.el-popper
[
x-placement
^=
"bottom"
]
{
margin-top
:
5px
;
margin-top
:
5px
;
}
}
.headerFixed
{
position
:
sticky
;
top
:
0
;
z-index
:
9
;
padding-top
:
16px
;
margin-top
:
-16px
;
background
:
#fff
;
}
.head-form-new
{
.head-form-new
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
margin-bottom
:
14px
;
.common-title
{
.common-title
{
margin-bottom
:
8px
;
margin-bottom
:
8px
;
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
9d2d49fb
<
template
>
<
template
>
<div
id=
"detailPart"
class=
"sides-container"
:style=
"sideHeight?'height:'+sideHeight+'px':''"
>
<div
id=
"detailPart"
class=
"sides-container"
>
<el-input
placeholder=
"搜索"
class=
"side-input"
v-model=
"searchText"
clearable
@
input=
"handleSearch(true)"
@
keyup
.
enter
.
native=
"handleSearch()"
>
<el-input
placeholder=
"搜索"
class=
"side-input"
v-model=
"searchText"
clearable
@
input=
"handleSearch(true)"
@
keyup
.
enter
.
native=
"handleSearch()"
>
<i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
@
click=
"handleSearch()"
></i>
<i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
@
click=
"handleSearch()"
></i>
</el-input>
</el-input>
...
...
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
View file @
9d2d49fb
<
template
>
<
template
>
<div
class=
"Tables"
>
<div
class=
"Tables"
>
<div
class=
"table-item"
>
<div
class=
"table-item"
>
<el-table
v-if=
"tableDataTotal>0"
class=
"fixed-table"
<el-table
v-if=
"tableDataTotal>0"
class=
"fixed-table"
:class=
"headerFixed ? 'headerFixed':''"
v-loading=
"tableLoading"
v-loading=
"tableLoading"
:data=
"tableData"
:data=
"tableData"
element-loading-text=
"Loading"
element-loading-text=
"Loading"
...
@@ -87,6 +87,10 @@ export default {
...
@@ -87,6 +87,10 @@ export default {
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
},
},
headerFixed
:
{
type
:
Boolean
,
default
:
false
},
indexFixed
:
{
indexFixed
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
...
@@ -173,14 +177,15 @@ export default {
...
@@ -173,14 +177,15 @@ export default {
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
.Tables
{
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background-color
:
#ffffff
;
background-color
:
#ffffff
;
}
}
/*::v-deep .el-table__fixed{
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
height: calc(100% - 16px) !important;
}*/
}*/
::v-deep
.el-table__row
{
::v-deep
.el-table__row
{
&
:nth-child
(
even
)
{
&
:nth-child
(
even
)
{
background-color
:
#F9FCFF
;
background-color
:
#F9FCFF
;
.more
{
.more
{
...
@@ -197,47 +202,61 @@ export default {
...
@@ -197,47 +202,61 @@ export default {
}
}
}
}
}
}
}
}
.table-item
{
.table-item
{
::v-deep
.el-table
td
.el-table__cell
{
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
0
;
border-bottom
:
0
;
}
}
}
}
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
::v-deep
.el-table
th
.el-table__cell.is-leaf
,
::v-deep
.el-table
td
.el-table__cell
{
border-bottom
:
1px
solid
#E6EAF1
;
border-bottom
:
1px
solid
#E6EAF1
;
}
}
::v-deep
.el-table--border
.el-table__cell
{
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#E6EAF1
;
border-right
:
1px
solid
#E6EAF1
;
}
}
::v-deep
.el-table__body
tr
.hover-row.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped.current-row
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped
>
td
,
::v-deep
.el-table__body
tr
.hover-row.el-table__row--striped
>
td
,
::v-deep
.el-table__body
tr
.hover-row
>
td
{
::v-deep
.el-table__body
tr
.hover-row
>
td
{
background-color
:
#DCEBFF
!
important
;
background-color
:
#DCEBFF
!
important
;
.more
{
.more
{
background
:
#DCEBFF
;
background
:
#DCEBFF
;
}
}
}
}
::v-deep
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
::v-deep
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
background-color
:
#DCEBFF
;
background-color
:
#DCEBFF
;
}
}
::v-deep
.fixed-table
{
::v-deep
.fixed-table
{
overflow
:
visible
;
overflow
:
visible
;
}
}
::v-deep
.el-table__header-wrapper
{
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
position
:
sticky
;
top
:
56px
;
top
:
0
;
z-index
:
9
;
z-index
:
9
;
}
}
::v-deep
.el-table__fixed-header-wrapper
{
::v-deep
.el-table__fixed-header-wrapper
{
position
:
sticky
;
position
:
sticky
;
z-index
:
9
;
z-index
:
9
;
top
:
56px
;
top
:
0
;
}
}
::v-deep
.el-table__fixed
{
.headerFixed
{
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
80px
;
z-index
:
9
;
}
::v-deep
.el-table__fixed-header-wrapper
{
position
:
sticky
;
z-index
:
9
;
top
:
80px
;
}
}
::v-deep
.el-table__fixed
{
overflow-x
:
clip
;
overflow-x
:
clip
;
overflow-y
:
clip
;
overflow-y
:
clip
;
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
9d2d49fb
...
@@ -383,15 +383,31 @@ export default {
...
@@ -383,15 +383,31 @@ export default {
}
}
.part-main
{
.part-main
{
margin-top
:
12px
;
margin-top
:
12px
;
width
:
100%
;
height
:
calc
(
100vh
-
155px
);
overflow-y
:
auto
;
align-items
:
initial
;
align-items
:
initial
;
}
}
.part-left
{
.part-left
{
margin-right
:
16px
;
margin-right
:
16px
;
padding-bottom
:
16px
;
position
:
fixed
;
background
:
#FFFFFF
;
width
:
144px
;
}
}
.part-right
{
.part-right
{
min-width
:
1088px
;
min-width
:
1088px
;
width
:
100%
;
width
:
100%
;
background
:
#
ffffff
;
background
:
#
FFFFFF
;
border-radius
:
4px
;
border-radius
:
4px
;
margin-left
:
160px
;
::v-deep
.el-table__header-wrapper
{
position
:
sticky
;
top
:
0
;
z-index
:
9
;
}
#groupBox
{
height
:
100%
;
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/overview/component/bidding.vue
View file @
9d2d49fb
...
@@ -69,15 +69,15 @@
...
@@ -69,15 +69,15 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
width=
"1
6
0"
width=
"1
4
0"
align=
"right"
align=
"right"
label=
"合作次数"
>
label=
"合作次数"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
style=
"padding-right: 86px;"
>
{{
scope
.
row
.
count
}}
</span>
<span>
{{
scope
.
row
.
count
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
width=
"1
6
0"
width=
"1
8
0"
align=
"right"
align=
"right"
label=
"合作总金额(万元)"
>
label=
"合作总金额(万元)"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
...
dsk-operate-ui/src/views/detail/party-a/overview/holderinfo.vue
View file @
9d2d49fb
...
@@ -116,7 +116,7 @@ export default {
...
@@ -116,7 +116,7 @@ export default {
background
:
#FFFFFF
;
background
:
#FFFFFF
;
border-radius
:
4px
;
border-radius
:
4px
;
.detail-tab
{
.detail-tab
{
margin
:
-
3
4px
0
0
-16px
;
margin
:
-
1
4px
0
0
-16px
;
::v-deep
.el-tabs__nav-wrap
::after
{
::v-deep
.el-tabs__nav-wrap
::after
{
display
:
none
;
display
:
none
;
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/urbanLnvestment/regionalEconomies.vue
View file @
9d2d49fb
...
@@ -327,7 +327,7 @@ export default {
...
@@ -327,7 +327,7 @@ export default {
.head-form-new
{
.head-form-new
{
.common-title
{
.common-title
{
margin
-bottom
:
8px
;
padding
-bottom
:
8px
;
}
}
.query-box
{
.query-box
{
margin
:
0px
;
margin
:
0px
;
...
...
dsk-operate-ui/src/views/index.vue
View file @
9d2d49fb
...
@@ -30,12 +30,12 @@
...
@@ -30,12 +30,12 @@
<div
class=
"search"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"address"
>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams.address"
@
change=
"changeSelect1"
clearable
placeholder=
"项目地区"
style=
"width: 120px;
"
>
<el-select
v-model=
"queryParams.address"
:class=
"[`select-adaptive-$
{inputID1}`]" @change="iptAdaptive(inputID1,'','changeSelect1')" clearable placeholder="项目地区
">
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
@
change=
"
changeSelect1"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"queryParams.type.length > 1 ? 'selectTag' : ''"
style=
"width: 140px;
"
>
<el-select
v-model=
"queryParams.type"
@
change=
"
iptAdaptive(inputID2,true,'changeSelect1')"
:class=
"[`select-adaptive-$
{inputID2}`,queryParams.type.length > 1 ? 'selectTag' : '']" multiple collapse-tags clearable placeholder="项目类型
">
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -43,9 +43,10 @@
...
@@ -43,9 +43,10 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams.time"
v-model=
"queryParams.time"
:class=
"[`select-adaptive-$
{inputID3}`]"
timeValue="近七天"
timeValue="近七天"
placeholder="中标日期"
placeholder="中标日期"
@
handle-search=
"
changeSelect1
"
/>
@handle-search="
iptAdaptive(inputID3,'','changeSelect1')
"/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -103,16 +104,17 @@
...
@@ -103,16 +104,17 @@
<custom-money-select
<custom-money-select
:moneyList=
"moneyList"
:moneyList=
"moneyList"
v-model=
"queryParams1.money"
v-model=
"queryParams1.money"
:class=
"[`select-adaptive-${inputID4}`]"
placeholder=
"中标金额"
placeholder=
"中标金额"
@
handle-search=
"
changeSelect2
"
/>
@
handle-search=
"
iptAdaptive(inputID4,'','changeSelect2')
"
/>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"address"
>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams1.address"
@
change=
"changeSelect2"
clearable
placeholder=
"项目地区"
style=
"width: 120px;
"
>
<el-select
v-model=
"queryParams1.address"
:class=
"[`select-adaptive-${inputID5}`]"
@
change=
"iptAdaptive(inputID5,true,'changeSelect2')"
clearable
placeholder=
"项目地区
"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
@
change=
"
changeSelect2"
clearable
placeholder=
"项目类型"
:class=
"queryParams1.type.length > 1 ? 'selectTag' : ''"
style=
"width: 140px;
"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
@
change=
"
iptAdaptive(inputID6,'','changeSelect2')"
:class=
"[`select-adaptive-${inputID6}`,queryParams1.type.length > 1 ? 'selectTag' : '']"
clearable
placeholder=
"项目类型
"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -120,9 +122,10 @@
...
@@ -120,9 +122,10 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams1.time"
v-model=
"queryParams1.time"
:class=
"[`select-adaptive-${inputID7}`]"
timeValue=
"近七天"
timeValue=
"近七天"
placeholder=
"中标日期"
placeholder=
"中标日期"
@
handle-search=
"
changeSelect2
"
/>
@
handle-search=
"
iptAdaptive(inputID7,'','changeSelect2')
"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -239,17 +242,18 @@
...
@@ -239,17 +242,18 @@
<custom-money-select
<custom-money-select
:moneyList=
"moneyList"
:moneyList=
"moneyList"
v-model=
"amount"
v-model=
"amount"
:class=
"[`select-adaptive-${inputID8}`]"
moneyValue=
"2亿以上"
moneyValue=
"2亿以上"
:placeholder=
"placeholder"
:placeholder=
"placeholder"
@
handle-search=
"
changeSelect3
"
/>
@
handle-search=
"
iptAdaptive(inputID8,'','changeSelect3')
"
/>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"provinceId"
>
<el-form-item
prop=
"provinceId"
>
<el-select
v-model=
"queryParams2.provinceId"
@
change=
"changeSelect3"
clearable
placeholder=
"项目地区"
style=
"width: 120px;
"
>
<el-select
v-model=
"queryParams2.provinceId"
:class=
"[`select-adaptive-${inputID9}`]"
@
change=
"iptAdaptive(inputID9,'','changeSelect3')"
clearable
placeholder=
"项目地区
"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"projects"
>
<el-form-item
prop=
"projects"
>
<el-select
v-model=
"queryParams2.projects"
@
change=
"
changeSelect3"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"queryParams2.projects.length > 1 ? 'selectTag' : ''"
style=
"width: 140px;
"
>
<el-select
v-model=
"queryParams2.projects"
@
change=
"
iptAdaptive(inputID10,'','changeSelect3')"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"[`select-adaptive-${inputID10}`,queryParams2.projects.length > 1 ? 'selectTag' : '']
"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -257,9 +261,10 @@
...
@@ -257,9 +261,10 @@
<custom-time-select
<custom-time-select
:timeList=
"timeList"
:timeList=
"timeList"
v-model=
"queryParams2.time"
v-model=
"queryParams2.time"
:class=
"[`select-adaptive-${inputID11}`]"
timeValue=
"近七天"
timeValue=
"近七天"
:placeholder=
"timePlaceholder"
:placeholder=
"timePlaceholder"
@
handle-search=
"
changeSelect3
"
/>
@
handle-search=
"
iptAdaptive(inputID11,'','changeSelect3')
"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -474,6 +479,7 @@
...
@@ -474,6 +479,7 @@
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
,
getInfo
}
from
'@/api/index'
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
,
getInfo
}
from
'@/api/index'
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
import
api
from
'@/api/radar/radar.js'
;
import
api
from
'@/api/radar/radar.js'
;
import
{
v4
}
from
"uuid"
;
export
default
{
export
default
{
name
:
"Index"
,
name
:
"Index"
,
components
:
{
components
:
{
...
@@ -696,10 +702,22 @@ export default {
...
@@ -696,10 +702,22 @@ export default {
{
url
:
'/enterpriseData/Group'
,
name
:
'集团户'
,
imgUrl
:
require
(
'@/assets/images/index/icon4.png'
)},
{
url
:
'/enterpriseData/Group'
,
name
:
'集团户'
,
imgUrl
:
require
(
'@/assets/images/index/icon4.png'
)},
{
url
:
'/enterpriseData/Owner'
,
name
:
'查城投平台'
,
imgUrl
:
require
(
'@/assets/images/index/icon5.png'
)},
{
url
:
'/enterpriseData/Owner'
,
name
:
'查城投平台'
,
imgUrl
:
require
(
'@/assets/images/index/icon5.png'
)},
{
url
:
'/radar'
,
name
:
'商机雷达'
,
imgUrl
:
require
(
'@/assets/images/index/icon6.png'
)},
{
url
:
'/radar'
,
name
:
'商机雷达'
,
imgUrl
:
require
(
'@/assets/images/index/icon6.png'
)},
]
],
inputID1
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
inputID3
:
this
.
getUid
(),
inputID4
:
this
.
getUid
(),
inputID5
:
this
.
getUid
(),
inputID6
:
this
.
getUid
(),
inputID7
:
this
.
getUid
(),
inputID8
:
this
.
getUid
(),
inputID9
:
this
.
getUid
(),
inputID10
:
this
.
getUid
(),
inputID11
:
this
.
getUid
(),
};
};
},
},
created
()
{
created
()
{
this
.
getPlaceholder
();
this
.
searchDic
()
this
.
searchDic
()
this
.
getInfo
()
this
.
getInfo
()
this
.
dataRegion
()
this
.
dataRegion
()
...
@@ -1477,7 +1495,129 @@ export default {
...
@@ -1477,7 +1495,129 @@ export default {
default
:
default
:
break
;
break
;
}
}
},
handleSearch
(
name
){
if
(
name
===
'changeSelect1'
){
this
.
changeSelect1
()
}
if
(
name
===
'changeSelect2'
){
this
.
changeSelect2
()
}
if
(
name
===
'changeSelect3'
){
this
.
changeSelect3
()
}
},
async
getPlaceholder
()
{
try
{
await
this
.
$nextTick
();
const
doms
=
document
.
querySelectorAll
(
"[class*='select-adaptive-']"
);
if
(
doms
?.
length
)
{
doms
.
forEach
(
dom
=>
{
const
realStyles
=
window
.
getComputedStyle
(
dom
);
const
ipt
=
dom
.
querySelector
(
"input"
);
const
text
=
ipt
.
getAttribute
(
"placeholder"
);
const
textContainer
=
document
.
createElement
(
"span"
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及按钮左外边距
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
});
}
}
catch
(
error
)
{
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
name
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
if
(
dom
)
{
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
const
selectChildren
=
dom
.
querySelectorAll
(
".el-tag"
);
if
(
selectChildren
.
length
)
{
let
width
=
0
;
selectChildren
.
forEach
(
item
=>
{
const
text
=
item
.
textContent
;
const
itemInfo
=
window
.
getComputedStyle
(
item
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
itemInfo
.
padding
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
50
}
px`
);
this
.
handleSearch
(
name
);
return
;
}
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
12
+
8
;
// let containerWidth = 130;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
this
.
handleSearch
(
name
);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
realStyles
=
window
.
getComputedStyle
(
dom
);
if
(
dom
)
{
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
}
this
.
handleSearch
(
name
);
}
catch
(
error
)
{
}
}
},
}
}
};
};
</
script
>
</
script
>
...
@@ -1492,6 +1632,7 @@ export default {
...
@@ -1492,6 +1632,7 @@ export default {
margin
:
0
;
margin
:
0
;
}
}
.home
{
.home
{
@import
"@/assets/styles/search-common.scss"
;
padding-bottom
:
24px
;
padding-bottom
:
24px
;
::v-deep
.el-row
{
::v-deep
.el-row
{
.el-col
:nth-child
(
1
)
{
.el-col
:nth-child
(
1
)
{
...
@@ -1505,6 +1646,16 @@ export default {
...
@@ -1505,6 +1646,16 @@ export default {
}
}
.manage
{
.manage
{
::v-deep
.el-form
{
.el-select
{
.el-select__tags
{
flex-wrap
:
inherit
;
.el-tag
{
/*max-width: 130px;*/
}
}
}
}
.task-wrap
{
.task-wrap
{
height
:
99px
;
height
:
99px
;
background
:
#FFFFFF
;
background
:
#FFFFFF
;
...
@@ -1752,6 +1903,9 @@ export default {
...
@@ -1752,6 +1903,9 @@ export default {
.el-form-item--small.el-form-item
{
.el-form-item--small.el-form-item
{
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
.el-select
{
width
:
108px
;
}
}
}
}
}
.list
{
.list
{
...
@@ -1796,15 +1950,6 @@ export default {
...
@@ -1796,15 +1950,6 @@ export default {
.pagination-box
{
.pagination-box
{
padding
:
16px
;
padding
:
16px
;
}
}
::v-deep
.selectTag
{
.el-select__tags
{
.el-tag
{
&
:first-child
{
width
:
65px
;
}
}
}
}
}
}
.empty
{
.empty
{
margin
:
0
auto
;
margin
:
0
auto
;
...
...
dsk-operate-ui/src/views/macro/component/CustomTimeSelect.vue
View file @
9d2d49fb
...
@@ -253,9 +253,8 @@ export default {
...
@@ -253,9 +253,8 @@ export default {
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.custom-time-select
{
.custom-time-select
{
width
:
1
2
0px
;
width
:
1
1
0px
;
height
:
34px
;
height
:
34px
;
.rote
{
.rote
{
.el-input__inner
{
.el-input__inner
{
background
:
#F4F6F9
;
background
:
#F4F6F9
;
...
...
dsk-operate-ui/src/views/macro/economies/component/comparison.vue
View file @
9d2d49fb
...
@@ -653,13 +653,18 @@ export default {
...
@@ -653,13 +653,18 @@ export default {
.el-form-item
{
.el-form-item
{
margin
:
0
!
important
;
margin
:
0
!
important
;
.form-content-width
{
.form-content-width
{
width
:
11
0px
;
width
:
8
0px
;
}
}
::v-deep
.el-input
{
::v-deep
.el-input
{
.el-input__inner
{
.el-input__inner
{
border
:
0
;
border
:
0
;
}
}
}
}
::v-deep
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
}
}
}
.table-item
{
.table-item
{
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
9d2d49fb
...
@@ -348,13 +348,18 @@ export default {
...
@@ -348,13 +348,18 @@ export default {
.el-form-item
{
.el-form-item
{
margin
:
0
!
important
;
margin
:
0
!
important
;
.form-content-width
{
.form-content-width
{
width
:
10
0px
;
width
:
8
0px
;
}
}
::v-deep
.el-input
{
::v-deep
.el-input
{
.el-input__inner
{
.el-input__inner
{
border
:
0
;
border
:
0
;
}
}
}
}
::v-deep
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
}
}
}
.content
{
.content
{
...
...
dsk-operate-ui/src/views/macro/economies/component/localEconomy.vue
View file @
9d2d49fb
...
@@ -36,18 +36,18 @@
...
@@ -36,18 +36,18 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"gdp"
label=
"GDP(亿元)"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdp"
label=
"GDP(亿元)"
sortable
=
"custom"
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpGrowth"
label=
"GDP增速(%)"
sortable
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpGrowth"
label=
"GDP增速(%)"
sortable
=
"custom"
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpPerCapita"
label=
"人均GDP(元)"
sortable
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpPerCapita"
label=
"人均GDP(元)"
sortable
=
"custom"
width=
"130"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"population"
label=
"人口(万人)"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"population"
label=
"人口(万人)"
sortable
=
"custom"
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fixedInvestment"
label=
"固定资产投资 (亿元) "
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fixedInvestment"
label=
"固定资产投资 (亿元) "
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gbr"
label=
"一般公共预算收入(亿元)"
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gbr"
label=
"一般公共预算收入(亿元)"
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gbe"
label=
"一般公共预算支出(亿元)"
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gbe"
label=
"一般公共预算支出(亿元)"
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govFundIncome"
label=
"政府性基金收入(亿元)"
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govFundIncome"
label=
"政府性基金收入(亿元)"
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtBalance"
label=
"地方政府债务余额(亿元)"
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtBalance"
label=
"地方政府债务余额(亿元)"
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"uipInterestBearingDebt"
label=
"城投平台有息债务(亿元)"
sortable
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"uipInterestBearingDebt"
label=
"城投平台有息债务(亿元)"
sortable
=
"custom"
width=
"200"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fiscalSelfSufficiencyRate"
label=
"财政自给率(%)"
sortable
width=
"150"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"fiscalSelfSufficiencyRate"
label=
"财政自给率(%)"
sortable
=
"custom"
width=
"150"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtRateWild"
label=
"债务率-宽口径(%)"
sortable
width=
"170"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"govDebtRateWild"
label=
"债务率-宽口径(%)"
sortable
=
"custom"
width=
"170"
:formatter=
"formatStatus"
/>
</el-table>
</el-table>
</div>
</div>
<div
class=
"pagination-box"
v-if=
"show_page && tableDataTotal>pageSize"
>
<div
class=
"pagination-box"
v-if=
"show_page && tableDataTotal>pageSize"
>
...
@@ -193,17 +193,22 @@ export default {
...
@@ -193,17 +193,22 @@ export default {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.regionalEconomy
{
.regionalEconomy
{
.el-form
{
.el-form
{
/*margin-left: 24px;*/
margin-left
:
16px
;
.el-form-item
{
.el-form-item
{
margin
:
0
!
important
;
margin
:
0
!
important
;
.form-content-width
{
.form-content-width
{
width
:
10
0px
;
width
:
8
0px
;
}
}
::v-deep
.el-input
{
::v-deep
.el-input
{
.el-input__inner
{
.el-input__inner
{
border
:
0
;
border
:
0
;
}
}
}
}
::v-deep
.is-focus
{
.el-input__inner
{
background
:
#F4F6F9
;
}
}
}
}
}
}
.content
{
.content
{
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
9d2d49fb
...
@@ -399,7 +399,7 @@ export default {
...
@@ -399,7 +399,7 @@ export default {
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
textContainer
.
remove
();
});
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
6
0
}
px`
);
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
5
0
}
px`
);
this
.
handleSearch
(
name
);
this
.
handleSearch
(
name
);
return
;
return
;
}
}
...
@@ -411,7 +411,7 @@ export default {
...
@@ -411,7 +411,7 @@ export default {
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
document
.
body
.
append
(
textContainer
);
// let containerWidth = textContainer.offsetWidth + 12 + 8;
// let containerWidth = textContainer.offsetWidth + 12 + 8;
let
containerWidth
=
1
2
0
;
let
containerWidth
=
1
1
0
;
textContainer
.
remove
();
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
this
.
handleSearch
(
name
);
this
.
handleSearch
(
name
);
...
@@ -509,7 +509,7 @@ export default {
...
@@ -509,7 +509,7 @@ export default {
float
:
left
;
float
:
left
;
}
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
width
:
1
2
0px
;
width
:
1
1
0px
;
margin-right
:
12px
;
margin-right
:
12px
;
height
:
34px
;
height
:
34px
;
line-height
:
34px
!
important
;
line-height
:
34px
!
important
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
9d2d49fb
...
@@ -485,10 +485,10 @@
...
@@ -485,10 +485,10 @@
}
}
.form-content-width
{
.form-content-width
{
width
:
9
0px
;
width
:
8
0px
;
}
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
width
:
1
80
px
;
width
:
1
06
px
;
.el-cascader__tags
{
.el-cascader__tags
{
flex-wrap
:
inherit
;
flex-wrap
:
inherit
;
.el-tag
{
.el-tag
{
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/tdjy.vue
View file @
9d2d49fb
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国土地交易项目供应方式
</span>
<span
class=
"common-title"
>
全国土地交易项目供应方式
</span>
<el-select
v-model=
"years"
@
change=
"
handleYears(1)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years"
@
change=
"
iptAdaptive(inputID1,true,1)"
:class=
"[`select-adaptive-$
{inputID1}`]
" multiple collapse-tags filterable class="form-content-width" placeholder="请选择" :popper-append-to-body='false' size="small">
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国土地交易项目土地用途
</span>
<span
class=
"common-title"
>
全国土地交易项目土地用途
</span>
<el-select
v-model=
"years1"
@
change=
"
handleYears(2)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years1"
@
change=
"
iptAdaptive(inputID2,true,2)"
:class=
"[`select-adaptive-${inputID2}`]
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -92,10 +92,10 @@
...
@@ -92,10 +92,10 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国土地交易项目地区Top10
</span>
<span
class=
"common-title"
>
全国土地交易项目地区Top10
</span>
<el-select
@
change=
"
handleYears(3)
"
style=
"margin-right: 8px"
v-model=
"address"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
@
change=
"
iptAdaptive(inputID3,true,3)"
:class=
"[`select-adaptive-${inputID3}`]
"
style=
"margin-right: 8px"
v-model=
"address"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-select
v-model=
"years2"
@
change=
"
handleYears(3)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years2"
@
change=
"
iptAdaptive(inputID3,true,3)"
:class=
"[`select-adaptive-${inputID4}`]
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -177,6 +177,7 @@
...
@@ -177,6 +177,7 @@
import
dataRegion
from
'@/assets/json/dataRegion'
import
dataRegion
from
'@/assets/json/dataRegion'
import
{
countLandMarketByType
,
countLandMarketByProvince
,
countLandMarketByYear
}
from
'@/api/macro/macro'
import
{
countLandMarketByType
,
countLandMarketByProvince
,
countLandMarketByYear
}
from
'@/api/macro/macro'
import
skeleton
from
'../../component/skeleton'
import
skeleton
from
'../../component/skeleton'
import
{
v4
}
from
"uuid"
;
export
default
{
export
default
{
name
:
'NationalEconomies'
,
name
:
'NationalEconomies'
,
components
:
{
components
:
{
...
@@ -203,11 +204,14 @@ export default {
...
@@ -203,11 +204,14 @@ export default {
tdytState
:
true
,
tdytState
:
true
,
topState
:
true
,
topState
:
true
,
nftjState
:
true
,
nftjState
:
true
,
// typeName:['住宅用地','工业用地','城镇住宅用地','其他商服用地','公共设施用地','公路用地','城镇村道路用地','公园与绿地',
inputID1
:
this
.
getUid
(),
// '工矿仓储用地','零售商业用地','科研用地','街巷用地','机关团体用地','商服用地','商务金融用地']
inputID2
:
this
.
getUid
(),
inputID3
:
this
.
getUid
(),
inputID4
:
this
.
getUid
(),
}
}
},
},
created
()
{
created
()
{
this
.
getPlaceholder
()
this
.
dataRegion
()
this
.
dataRegion
()
this
.
yearsData
()
this
.
yearsData
()
...
@@ -726,7 +730,116 @@ export default {
...
@@ -726,7 +730,116 @@ export default {
});
});
return
sums
;
return
sums
;
},
},
async
getPlaceholder
()
{
try
{
await
this
.
$nextTick
();
const
doms
=
document
.
querySelectorAll
(
"[class*='select-adaptive-']"
);
if
(
doms
?.
length
)
{
doms
.
forEach
(
dom
=>
{
const
realStyles
=
window
.
getComputedStyle
(
dom
);
const
ipt
=
dom
.
querySelector
(
"input"
);
const
text
=
ipt
.
getAttribute
(
"placeholder"
);
const
textContainer
=
document
.
createElement
(
"span"
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及按钮左外边距
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
});
}
}
catch
(
error
)
{
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
key
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
key
)
:
this
.
iptAdaptiveHandle
(
uid
,
key
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
if
(
dom
)
{
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
const
selectChildren
=
dom
.
querySelectorAll
(
".el-tag"
);
if
(
selectChildren
.
length
)
{
let
width
=
0
;
selectChildren
.
forEach
(
item
=>
{
const
text
=
item
.
textContent
;
const
itemInfo
=
window
.
getComputedStyle
(
item
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
itemInfo
.
padding
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
50
}
px`
);
this
.
handleYears
(
key
);
return
;
}
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
30
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
this
.
handleYears
(
key
);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
realStyles
=
window
.
getComputedStyle
(
dom
);
if
(
dom
)
{
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
}
this
.
handleYears
(
key
);
}
catch
(
error
)
{
}
},
}
}
}
}
</
script
>
</
script
>
...
@@ -747,6 +860,7 @@ export default {
...
@@ -747,6 +860,7 @@ export default {
color
:
#0081FF
;
color
:
#0081FF
;
}
}
.tdjy
{
.tdjy
{
@import
"@/assets/styles/search-common.scss"
;
.text_p
{
.text_p
{
color
:
#999999
;
color
:
#999999
;
font-size
:
14px
;
font-size
:
14px
;
...
@@ -772,7 +886,7 @@ export default {
...
@@ -772,7 +886,7 @@ export default {
margin-right
:
24px
;
margin-right
:
24px
;
}
}
::v-deep
.form-content-width
{
::v-deep
.form-content-width
{
width
:
13
5px
;
width
:
9
5px
;
.el-select__input
{
.el-select__input
{
width
:
10px
!
important
;
width
:
10px
!
important
;
max-width
:
10px
!
important
;
max-width
:
10px
!
important
;
...
@@ -789,6 +903,12 @@ export default {
...
@@ -789,6 +903,12 @@ export default {
background
:
#F4F6F9
;
background
:
#F4F6F9
;
}
}
}
}
.el-select__tags
{
flex-wrap
:
inherit
;
.el-tag
{
/*max-width: 130px;*/
}
}
}
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
width
:
220px
;
width
:
220px
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
9d2d49fb
...
@@ -38,10 +38,10 @@
...
@@ -38,10 +38,10 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国各地区招标统计TOP10
</span>
<span
class=
"common-title"
>
全国各地区招标统计TOP10
</span>
<el-select
@
change=
"
handleYears(1)"
style=
"margin-right: 8px
"
v-model=
"address"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
@
change=
"
iptAdaptive(inputID1,true,1)"
style=
"margin-right: 8px"
:class=
"[`select-adaptive-${inputID1}`]
"
v-model=
"address"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-select
v-model=
"years1"
@
change=
"
handleYears(1)"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years1"
@
change=
"
iptAdaptive(inputID2,true,1)"
multiple
collapse-tags
filterable
:class=
"[`select-adaptive-${inputID2}`]"
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -83,7 +83,7 @@
...
@@ -83,7 +83,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国各年度招标月份统计
</span>
<span
class=
"common-title"
>
全国各年度招标月份统计
</span>
<el-select
v-model=
"years2"
@
change=
"
handleYears(2)
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years2"
@
change=
"
iptAdaptive(inputID3,'',2)"
:class=
"[`select-adaptive-${inputID3}`]"
style=
"width: 80px;
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -130,6 +130,7 @@
...
@@ -130,6 +130,7 @@
import
dataRegion
from
'@/assets/json/dataRegion'
import
dataRegion
from
'@/assets/json/dataRegion'
import
{
countNewsBidByYear
,
countNewsBidByProvince
,
countNewsBidByMonth
}
from
'@/api/macro/macro'
import
{
countNewsBidByYear
,
countNewsBidByProvince
,
countNewsBidByMonth
}
from
'@/api/macro/macro'
import
skeleton
from
'../../component/skeleton'
import
skeleton
from
'../../component/skeleton'
import
{
v4
}
from
"uuid"
;
export
default
{
export
default
{
name
:
'NationalEconomies'
,
name
:
'NationalEconomies'
,
components
:
{
components
:
{
...
@@ -152,9 +153,13 @@
...
@@ -152,9 +153,13 @@
isSkeleton
:
true
,
isSkeleton
:
true
,
gyflState
:
true
,
gyflState
:
true
,
tdytState
:
true
,
tdytState
:
true
,
inputID1
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
inputID3
:
this
.
getUid
(),
}
}
},
},
created
()
{
created
()
{
this
.
getPlaceholder
()
this
.
dataRegion
()
this
.
dataRegion
()
this
.
yearsData
()
this
.
yearsData
()
this
.
getcountNewsBidByYear
()
this
.
getcountNewsBidByYear
()
...
@@ -613,7 +618,116 @@
...
@@ -613,7 +618,116 @@
});
});
return
sums
;
return
sums
;
},
},
async
getPlaceholder
()
{
try
{
await
this
.
$nextTick
();
const
doms
=
document
.
querySelectorAll
(
"[class*='select-adaptive-']"
);
if
(
doms
?.
length
)
{
doms
.
forEach
(
dom
=>
{
const
realStyles
=
window
.
getComputedStyle
(
dom
);
const
ipt
=
dom
.
querySelector
(
"input"
);
const
text
=
ipt
.
getAttribute
(
"placeholder"
);
const
textContainer
=
document
.
createElement
(
"span"
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及按钮左外边距
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
});
}
}
catch
(
error
)
{
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
key
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
key
)
:
this
.
iptAdaptiveHandle
(
uid
,
key
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
if
(
dom
)
{
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
const
selectChildren
=
dom
.
querySelectorAll
(
".el-tag"
);
if
(
selectChildren
.
length
)
{
let
width
=
0
;
selectChildren
.
forEach
(
item
=>
{
const
text
=
item
.
textContent
;
const
itemInfo
=
window
.
getComputedStyle
(
item
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
itemInfo
.
padding
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
50
}
px`
);
this
.
handleYears
(
key
);
return
;
}
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
30
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
this
.
handleYears
(
key
);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
realStyles
=
window
.
getComputedStyle
(
dom
);
if
(
dom
)
{
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
}
this
.
handleYears
(
key
);
}
catch
(
error
)
{
}
},
}
}
}
}
</
script
>
</
script
>
...
@@ -634,6 +748,7 @@
...
@@ -634,6 +748,7 @@
color
:
#0081FF
;
color
:
#0081FF
;
}
}
.tdjy
{
.tdjy
{
@import
"@/assets/styles/search-common.scss"
;
.text_p
{
.text_p
{
color
:
#999999
;
color
:
#999999
;
font-size
:
14px
;
font-size
:
14px
;
...
@@ -659,7 +774,7 @@
...
@@ -659,7 +774,7 @@
margin-right
:
24px
;
margin-right
:
24px
;
}
}
::v-deep
.form-content-width
{
::v-deep
.form-content-width
{
width
:
14
5px
;
width
:
9
5px
;
.el-select__input
{
.el-select__input
{
width
:
10px
!
important
;
width
:
10px
!
important
;
max-width
:
10px
!
important
;
max-width
:
10px
!
important
;
...
@@ -675,6 +790,12 @@
...
@@ -675,6 +790,12 @@
background
:
#F4F6F9
;
background
:
#F4F6F9
;
}
}
}
}
.el-select__tags
{
flex-wrap
:
inherit
;
.el-tag
{
/*max-width: 130px;*/
}
}
}
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
width
:
220px
;
width
:
220px
;
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhongbiao.vue
View file @
9d2d49fb
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国中标项目统计
</span>
<span
class=
"common-title"
>
全国中标项目统计
</span>
<el-select
v-model=
"years"
@
change=
"
handleYears(1)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years"
@
change=
"
iptAdaptive(inputID1,true,1)"
:class=
"[`select-adaptive-$
{inputID1}`]
" multiple collapse-tags filterable class="form-content-width" placeholder="请选择" :popper-append-to-body='false' size="small">
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国各地区中标统计TOP10
</span>
<span
class=
"common-title"
>
全国各地区中标统计TOP10
</span>
<el-select
v-model=
"years1"
@
change=
"
handleYears(2)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years1"
@
change=
"
iptAdaptive(inputID2,true,2)"
:class=
"[`select-adaptive-${inputID2}`]
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -102,7 +102,7 @@
...
@@ -102,7 +102,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国中标金额分析
</span>
<span
class=
"common-title"
>
全国中标金额分析
</span>
<el-select
v-model=
"years2"
@
change=
"
handleYears(3)
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years2"
@
change=
"
iptAdaptive(inputID3,true,3)"
:class=
"[`select-adaptive-${inputID3}`]
"
multiple
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -183,7 +183,7 @@
...
@@ -183,7 +183,7 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国中标下浮率分析
</span>
<span
class=
"common-title"
>
全国中标下浮率分析
</span>
<el-select
v-model=
"years3"
@
change=
"
handleYears(5)
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years3"
@
change=
"
iptAdaptive(inputID4,'',5)"
:class=
"[`select-adaptive-${inputID4}`]
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -226,10 +226,10 @@
...
@@ -226,10 +226,10 @@
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-box"
>
<div
class=
"flex-box query-params"
>
<div
class=
"flex-box query-params"
>
<span
class=
"common-title"
>
全国中标业绩项目类型下浮率
</span>
<span
class=
"common-title"
>
全国中标业绩项目类型下浮率
</span>
<el-select
@
change=
"
handleYears(6)
"
style=
"margin-right: 8px"
v-model=
"address"
clearable
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
@
change=
"
iptAdaptive(inputID5,'',6)"
:class=
"[`select-adaptive-${inputID5}`]
"
style=
"margin-right: 8px"
v-model=
"address"
clearable
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"地区筛选"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
<el-option
v-for=
"(item, index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
/>
</el-select>
</el-select>
<el-select
v-model=
"years4"
@
change=
"
handleYears(6)
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-select
v-model=
"years4"
@
change=
"
iptAdaptive(inputID6,'',6)"
:class=
"[`select-adaptive-${inputID6}`]
"
collapse-tags
filterable
class=
"form-content-width"
placeholder=
"请选择"
:popper-append-to-body=
'false'
size=
"small"
>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
<el-option
v-for=
"(item, index) in yearOptions"
:key=
"index"
:label=
"item"
:value=
"item"
/>
</el-select>
</el-select>
</div>
</div>
...
@@ -279,6 +279,7 @@
...
@@ -279,6 +279,7 @@
import
dataRegion
from
'@/assets/json/dataRegion'
import
dataRegion
from
'@/assets/json/dataRegion'
import
{
countBidByType
,
countBidGroupByProvince
,
rangeBidMoney
,
rangeBidFiveYears
,
lowerRateByYear
,
lowerRangeTenderType
}
from
'@/api/macro/macro'
import
{
countBidByType
,
countBidGroupByProvince
,
rangeBidMoney
,
rangeBidFiveYears
,
lowerRateByYear
,
lowerRangeTenderType
}
from
'@/api/macro/macro'
import
skeleton
from
'../../component/skeleton'
import
skeleton
from
'../../component/skeleton'
import
{
v4
}
from
"uuid"
;
export
default
{
export
default
{
name
:
'NationalEconomies'
,
name
:
'NationalEconomies'
,
components
:
{
components
:
{
...
@@ -306,9 +307,16 @@
...
@@ -306,9 +307,16 @@
qsfxState
:
true
,
qsfxState
:
true
,
xflState
:
true
,
xflState
:
true
,
xmlxState
:
true
,
xmlxState
:
true
,
inputID1
:
this
.
getUid
(),
inputID2
:
this
.
getUid
(),
inputID3
:
this
.
getUid
(),
inputID4
:
this
.
getUid
(),
inputID5
:
this
.
getUid
(),
inputID6
:
this
.
getUid
(),
}
}
},
},
created
()
{
created
()
{
this
.
getPlaceholder
()
this
.
dataRegion
()
this
.
dataRegion
()
this
.
yearsData
()
this
.
yearsData
()
this
.
getCountBidByType
()
this
.
getCountBidByType
()
...
@@ -1160,13 +1168,123 @@
...
@@ -1160,13 +1168,123 @@
});
});
return
sums
;
return
sums
;
},
},
async
getPlaceholder
()
{
try
{
await
this
.
$nextTick
();
const
doms
=
document
.
querySelectorAll
(
"[class*='select-adaptive-']"
);
if
(
doms
?.
length
)
{
doms
.
forEach
(
dom
=>
{
const
realStyles
=
window
.
getComputedStyle
(
dom
);
const
ipt
=
dom
.
querySelector
(
"input"
);
const
text
=
ipt
.
getAttribute
(
"placeholder"
);
const
textContainer
=
document
.
createElement
(
"span"
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
realStyles
.
paddingRight
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
// 加上按钮宽度 以及按钮左外边距
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
});
}
}
catch
(
error
)
{
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
key
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
key
)
:
this
.
iptAdaptiveHandle
(
uid
,
key
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
if
(
dom
)
{
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
const
selectChildren
=
dom
.
querySelectorAll
(
".el-tag"
);
if
(
selectChildren
.
length
)
{
let
width
=
0
;
selectChildren
.
forEach
(
item
=>
{
const
text
=
item
.
textContent
;
const
itemInfo
=
window
.
getComputedStyle
(
item
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
itemInfo
.
padding
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
text
;
document
.
body
.
append
(
textContainer
);
width
+=
textContainer
.
offsetWidth
+
parseInt
(
itemInfo
.
marginLeft
)
+
parseInt
(
itemInfo
.
marginRight
);
textContainer
.
remove
();
});
dom
.
style
.
setProperty
(
"width"
,
`
${
width
+
50
}
px`
);
this
.
handleYears
(
key
);
return
;
}
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
);
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
30
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
this
.
handleYears
(
key
);
}
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
key
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
const
realStyles
=
window
.
getComputedStyle
(
dom
);
if
(
dom
)
{
const
iptChild
=
dom
.
querySelector
(
".el-input__inner"
);
const
textContainer
=
document
.
createElement
(
"span"
);
const
textName
=
`text-
${
uid
}
`
;
textContainer
.
classList
.
add
(
textName
);
textContainer
.
style
.
setProperty
(
"visibility"
,
"hidden"
);
textContainer
.
style
.
setProperty
(
"display"
,
"inline-block"
);
textContainer
.
style
.
setProperty
(
"font-size"
,
"14px"
);
const
hasPadding
=
(
parseInt
(
realStyles
.
paddingLeft
)
||
parseInt
(
realStyles
.
paddingRight
))
?
true
:
false
;
hasPadding
?
textContainer
.
style
.
setProperty
(
"padding"
,
"0px 8px"
)
:
null
;
textContainer
.
style
.
setProperty
(
"box-sizing"
,
"border-box"
);
textContainer
.
textContent
=
iptChild
.
value
?
iptChild
.
value
:
iptChild
.
getAttribute
(
"placeholder"
);
document
.
body
.
append
(
textContainer
);
let
containerWidth
=
textContainer
.
offsetWidth
+
50
;
textContainer
.
remove
();
dom
.
style
.
setProperty
(
"width"
,
`
${
containerWidth
}
px`
);
}
this
.
handleYears
(
key
);
}
catch
(
error
)
{
}
},
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.zhongbiao
{
.zhongbiao
{
@import
"@/assets/styles/search-common.scss"
;
padding-top
:
16px
;
padding-top
:
16px
;
.text_p
{
.text_p
{
color
:
#999999
;
color
:
#999999
;
...
@@ -1193,7 +1311,7 @@
...
@@ -1193,7 +1311,7 @@
margin-right
:
24px
;
margin-right
:
24px
;
}
}
::v-deep
.form-content-width
{
::v-deep
.form-content-width
{
width
:
14
5px
;
width
:
9
5px
;
.el-select__input
{
.el-select__input
{
width
:
10px
!
important
;
width
:
10px
!
important
;
max-width
:
10px
!
important
;
max-width
:
10px
!
important
;
...
@@ -1209,6 +1327,12 @@
...
@@ -1209,6 +1327,12 @@
background
:
#F4F6F9
;
background
:
#F4F6F9
;
}
}
}
}
.el-select__tags
{
flex-wrap
:
inherit
;
.el-tag
{
/*max-width: 130px;*/
}
}
}
}
::v-deep
.el-cascader
{
::v-deep
.el-cascader
{
width
:
220px
;
width
:
220px
;
...
...
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