Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
f166a9fa
Commit
f166a9fa
authored
Dec 08, 2023
by
tianhongyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
规范全局主体容器宽高 规范滚动条出现容器位置
parent
446c5f52
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1648 additions
and
1741 deletions
+1648
-1741
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+4
-15
sidebar.scss
dsk-operate-ui/src/assets/styles/sidebar.scss
+3
-3
variables.scss
dsk-operate-ui/src/assets/styles/variables.scss
+1
-0
AppMain.vue
dsk-operate-ui/src/layout/components/AppMain.vue
+10
-14
index.vue
dsk-operate-ui/src/layout/index.vue
+1
-0
index.vue
...operate-ui/src/views/custom/historicalCustomers/index.vue
+286
-339
index.vue
dsk-operate-ui/src/views/index.vue
+1343
-1370
No files found.
dsk-operate-ui/src/assets/styles/index.scss
View file @
f166a9fa
...
...
@@ -121,12 +121,6 @@ aside {
}
}
//main-container全局样式
.app-container
{
//padding: 16px;
//margin-top: 56px;
}
.components-container
{
margin
:
30px
50px
;
position
:
relative
;
...
...
@@ -226,18 +220,13 @@ li {
margin
:
0
;
}
.app-main
{
position
:
relative
;
background-color
:
#f5f5f5
;
>
div
{
width
:
calc
(
100%
-
48px
);
}
}
.app-container
{
margin
:
16px
24px
;
width
:
100%
;
height
:
100%
;
background-color
:
#f5f5f5
;
padding
:
16px
24px
;
box-sizing
:
border-box
;
//width: 100%
;
overflow
:
auto
;
.el-input__inner
{
border-color
:
#d9d9d9
;
color
:
#232323
;
...
...
dsk-operate-ui/src/assets/styles/sidebar.scss
View file @
f166a9fa
...
...
@@ -215,7 +215,7 @@
.hideSidebar
{
.sidebar-container
{
width
:
48px
!
important
;
width
:
$hideSideBarWidth
!
important
;
.sidebar-logo-container
{
padding
:
0px
;
...
...
@@ -235,8 +235,8 @@
}
.main-container
{
margin-left
:
48px
;
width
:
calc
(
100%
-
48px
);
margin-left
:
$hideSideBarWidth
;
width
:
calc
(
100%
-
#{
$hideSideBarWidth
}
);
}
.submenu-title-noDropdown
{
...
...
dsk-operate-ui/src/assets/styles/variables.scss
View file @
f166a9fa
...
...
@@ -52,6 +52,7 @@ $subMenuHover:#001528;
$base-sidebar-width
:
220px
;
$sideBarWidth
:
220px
;
$hideSideBarWidth
:
48px
;
//系统默认颜色
$systemColor
:
#0081FF
;
...
...
dsk-operate-ui/src/layout/components/AppMain.vue
View file @
f166a9fa
...
...
@@ -10,16 +10,16 @@
</
template
>
<
script
>
import
iframeToggle
from
"./IframeToggle/index"
import
iframeToggle
from
"./IframeToggle/index"
;
export
default
{
name
:
'AppMain'
,
components
:
{
iframeToggle
},
computed
:
{
cachedViews
()
{
return
this
.
$store
.
state
.
tagsView
.
cachedViews
return
this
.
$store
.
state
.
tagsView
.
cachedViews
;
},
key
()
{
return
this
.
$route
.
fullPath
return
this
.
$route
.
fullPath
;
}
}
}
...
...
@@ -27,12 +27,11 @@ export default {
<
style
lang=
"scss"
scoped
>
.app-main
{
/* 50= navbar 50 */
min-height
:
calc
(
100vh
-
50px
);
width
:
100%
;
position
:
relative
;
height
:
calc
(
100%
-
56px
);
width
:
100%
;
background
:
#f5f5f5
;
overflow
:
hidden
;
display
:
flex
;
}
.fixed-header
+
.app-main
{
...
...
@@ -41,20 +40,17 @@ export default {
.hasTagsView
{
.app-main
{
/* 84 = navbar + tags-view = 50 + 34 */
min-height
:
calc
(
100vh
-
56px
);
min-width
:
1240px
;
background
:
#F5F5F5
;
overflow
:
initial
;
height
:
calc
(
100%
-
56px
);
min-width
:
1240px
;
}
.fixed-header
+
.app-main
{
padding-top
:
84px
;
}
}
.EnterpriseData
{
.EnterpriseData
{
.app-main
{
overflow
:
initial
;
overflow
:
hidden
;
}
}
</
style
>
...
...
dsk-operate-ui/src/layout/index.vue
View file @
f166a9fa
...
...
@@ -96,6 +96,7 @@ export default {
position
:
relative
;
height
:
100%
;
width
:
100%
;
overflow
:
hidden
;
&
.mobile.openSidebar
{
position
:
fixed
;
...
...
dsk-operate-ui/src/views/custom/historicalCustomers/index.vue
View file @
f166a9fa
<
template
>
<div
class=
"app-container"
@
click
=
'handleALL'
>
<div
class=
"app-container"
@
click
=
'handleALL'
>
<el-card
class=
"box-card noborder"
>
<div
class=
"tables"
>
<div
class=
"empty"
v-if=
"tableData.total==0&& !isSkeleton"
>
...
...
@@ -19,8 +19,8 @@
@
keydown
.
native
.
enter=
"handleSearch"
>
<template
slot=
"suffix"
>
<transition
mode=
"out-in"
appear
name=
"fade"
>
<img
src=
"@/assets/images/enterprise/search-input-clear-icon.svg"
alt=
""
@
click
.
stop=
"searchParam.companyName = '';getCustomerList()"
v-show=
"showClearIcon"
>
<img
src=
"@/assets/images/enterprise/search-input-clear-icon.svg"
alt=
""
@
click
.
stop=
"searchParam.companyName = '';getCustomerList()"
v-show=
"showClearIcon"
>
</transition>
</
template
>
</el-input>
...
...
@@ -31,101 +31,68 @@
</div>
</div>
<skeleton
v-if=
"isSkeleton"
></skeleton>
<el-table
v-if=
"!isSkeleton&&tableData.total > 0"
class=
"fixed-table"
v-horizontal-scroll=
"tableData.total > 10 ? 'hover' : 'false'"
max-height=
"640"
:data=
"tableData.rows"
stripe
border
style=
"width: 100%"
>
<el-table-column
prop=
"index"
label=
"序号"
fixed=
"left"
width=
"60"
>
<el-table
v-if=
"!isSkeleton&&tableData.total > 0"
class=
"fixed-table"
v-horizontal-scroll=
"tableData.total > 10 ? 'hover' : 'false'"
max-height=
"640"
:data=
"tableData.rows"
stripe
border
style=
"width: 100%"
>
<el-table-column
prop=
"index"
label=
"序号"
fixed=
"left"
width=
"60"
>
<
template
slot-scope=
'scope'
>
<span>
{{
(
searchParam
.
pageNum
-
1
)
*
searchParam
.
pageSize
+
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"date"
label=
"企业名称"
fixed=
"left"
width=
"316"
>
<el-table-column
prop=
"date"
label=
"企业名称"
fixed=
"left"
width=
"316"
>
<
template
slot-scope=
"scope"
>
<div
class=
"ps1"
>
<div
class=
"wordprimary ps2"
@
click=
"toDetail(scope.row,'business')"
v-html=
"scope.row.companyName"
></div>
<div
class=
"ps3"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"重新认领"
placement=
"top"
>
<div
@
click=
"toRL(scope.row)"
><img
class=
"i"
src=
"@/assets/images/project/khrl1.png"
><img
class=
"o"
src=
"@/assets/images/project/khrl2.png"
></div>
<div
@
click=
"toRL(scope.row)"
><img
class=
"i"
src=
"@/assets/images/project/khrl1.png"
><img
class=
"o"
src=
"@/assets/images/project/khrl2.png"
></div>
</el-tooltip>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"cooperationProject"
label=
"合作项目"
width=
"90"
>
<el-table-column
prop=
"cooperationProject"
label=
"合作项目"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cooperationProject
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"followProject"
label=
"跟进项目"
width=
"90"
>
<el-table-column
prop=
"followProject"
label=
"跟进项目"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
followProject
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"reserveProject"
label=
"储备项目"
width=
"90"
>
<el-table-column
prop=
"reserveProject"
label=
"储备项目"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
reserveProject
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"legalPerson"
label=
"法定代表人"
width=
"110"
>
<el-table-column
prop=
"legalPerson"
label=
"法定代表人"
width=
"110"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
legalPerson
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"registerAddress"
label=
"注册地区"
width=
"160"
>
<el-table-column
prop=
"registerAddress"
label=
"注册地区"
width=
"160"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
registerAddress
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"registerCapitalStr"
label=
"注册资本金(万元)"
width=
"160"
>
<el-table-column
prop=
"registerCapitalStr"
label=
"注册资本金(万元)"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.registerCapital && scope.row.registerCapital>0"
>
{{
scope
.
row
.
registerCapital
}}
</span><span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"creditLevel"
label=
"企业主体评级"
width=
"100"
>
<el-table-column
prop=
"creditLevel"
label=
"企业主体评级"
width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
creditLevel
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"isOn"
label=
"上市公司"
width=
"76"
>
<el-table-column
prop=
"isOn"
label=
"上市公司"
width=
"76"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
isOn
==
1
?
"是"
:
"否"
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"isMajor"
label=
"局级大客户"
width=
"88"
>
<el-table-column
prop=
"isMajor"
label=
"局级大客户"
width=
"88"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isMajor != null"
>
{{
scope
.
row
.
isMajor
==
1
?
"是"
:
"否"
}}
...
...
@@ -133,37 +100,27 @@
<span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"customerLevel"
label=
"客户等级"
width=
"76"
>
<el-table-column
prop=
"customerLevel"
label=
"客户等级"
width=
"76"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
customerLevel
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"companyNature"
label=
"客户性质"
width=
"76"
>
<el-table-column
prop=
"companyNature"
label=
"客户性质"
width=
"76"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
companyNature
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"companyLevel"
label=
"客户级别"
width=
"76"
>
<el-table-column
prop=
"companyLevel"
label=
"客户级别"
width=
"76"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
companyLevel
||
'--'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"企业母公司"
width=
"268"
>
<el-table-column
prop=
"address"
label=
"企业母公司"
width=
"268"
>
<
template
slot-scope=
"scope"
>
<div
class=
""
>
{{
scope
.
row
.
superCompany
||
'--'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
:key=
"keys"
prop=
"mainBusiness"
label=
"主营业务"
width=
"400"
>
<el-table-column
:key=
"keys"
prop=
"mainBusiness"
label=
"主营业务"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.mainBusiness == null || scope.row.mainBusiness == ''"
>
--
</div>
<div
v-if=
"scope.row.mainBusiness1"
>
...
...
@@ -173,9 +130,7 @@
<div
v-else
>
{{
scope
.
row
.
mainBusiness
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"companyAttribute"
:key=
"keys+2"
label=
"发包属性"
width=
"400"
>
<el-table-column
prop=
"companyAttribute"
:key=
"keys+2"
label=
"发包属性"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.companyAttribute == null || scope.row.companyAttribute == ''"
>
--
</div>
<div
v-if=
"scope.row.companyAttribute1"
>
...
...
@@ -185,22 +140,15 @@
<div
v-else
>
{{
scope
.
row
.
companyAttribute
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"followUser"
label=
"跟进人"
width=
"110"
>
<el-table-column
prop=
"followUser"
label=
"跟进人"
width=
"110"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
followUser
||
'--'
}}
</
template
>
</el-table-column>
</el-table>
<div
class=
"bottems"
v-if=
"tableData.total>searchParam.pageSize"
>
<el-pagination
background
:page-size=
"searchParam.pageSize"
:current-page=
"searchParam.pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"tableData.total"
>
<el-pagination
background
:page-size=
"searchParam.pageSize"
:current-page=
"searchParam.pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"tableData.total"
>
</el-pagination>
</div>
<div
class=
"delform"
v-if=
"RLcompanyName"
>
...
...
@@ -216,30 +164,30 @@
</template>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
encodeStr
}
from
"@/assets/js/common"
import
{
historyClaim
}
from
"@/api/common"
//认领
import
skeleton
from
'../../project/projectList/component/skeleton'
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
;
import
{
getCustomerList
,
importData
,
addCustomer
}
from
'@/api/custom/custom'
;
import
{
getEnterprise
,
getDictType
,
}
from
'@/api/main'
;
import
{
encodeStr
}
from
"@/assets/js/common"
;
import
{
historyClaim
}
from
"@/api/common"
;
//认领
import
skeleton
from
'../../project/projectList/component/skeleton'
;
export
default
{
name
:
'CustomList'
,
components
:
{
skeleton
},
components
:
{
skeleton
},
data
()
{
return
{
return
{
encodeStr
,
searchParam
:{
companyName
:
''
,
pageNum
:
1
,
pageSize
:
20
,
status
:
1
,
searchParam
:
{
companyName
:
''
,
pageNum
:
1
,
pageSize
:
20
,
status
:
1
,
},
tableData
:
[],
//列表
customerLevel
:[],
//客户等级
rules
:{
companyName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},]
customerLevel
:
[],
//客户等级
rules
:
{
companyName
:
[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},]
},
//批量导入
action
:
process
.
env
.
VUE_APP_BASE_API
+
"/customer/importData"
,
...
...
@@ -248,102 +196,102 @@ export default {
Authorization
:
"Bearer "
+
getToken
(),
},
// isNew:true,
showlist
:
false
,
keys
:
1
,
RLcompanyName
:
''
,
//重新认领企业名称
isSkeleton
:
true
,
showlist
:
false
,
keys
:
1
,
RLcompanyName
:
''
,
//重新认领企业名称
isSkeleton
:
true
,
showClearIcon
:
false
,
searchHoverStatus
:
false
,
hover
:
false
,
}
}
;
},
created
()
{
this
.
$watch
(
()
=>
this
.
$route
.
params
,
()
=>
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
searchParam
.
companyName
=
''
},
{
immediate
:
true
})
this
.
getCustomerList
()
;
this
.
getDictType
()
;
this
.
searchParam
.
companyName
=
''
;
},
{
immediate
:
true
});
},
methods
:{
sq1
(
item
,
sq
)
{
this
.
$nextTick
(()
=>
{
item
.
sq1
=
sq
this
.
keys
++
;
})
methods
:
{
sq1
(
item
,
sq
)
{
this
.
$nextTick
(()
=>
{
item
.
sq1
=
sq
;
this
.
keys
++
;
})
;
},
sq2
(
item
,
sq
)
{
this
.
$nextTick
(()
=>
{
item
.
sq2
=
sq
this
.
keys
++
;
})
sq2
(
item
,
sq
)
{
this
.
$nextTick
(()
=>
{
item
.
sq2
=
sq
;
this
.
keys
++
;
})
;
},
handleALL
(
event
){
handleALL
(
event
)
{
var
one
=
document
.
getElementById
(
"box"
);
if
(
one
)
{
if
(
!
one
.
contains
(
event
.
target
))
{
this
.
showlist
=
false
if
(
one
)
{
if
(
!
one
.
contains
(
event
.
target
))
{
this
.
showlist
=
false
;
}
}
},
toct
(){
this
.
dialogVisible
=
false
this
.
$router
.
push
({
path
:
'/macro/urban'
})
toct
()
{
this
.
dialogVisible
=
false
;
this
.
$router
.
push
({
path
:
'/macro/urban'
});
},
getDictType
(){
getDictType
()
{
//获取客户等级
getDictType
(
'customer_level_type'
).
then
(
result
=>
{
this
.
customerLevel
=
result
.
code
==
200
?
result
.
data
:[]
})
getDictType
(
'customer_level_type'
).
then
(
result
=>
{
this
.
customerLevel
=
result
.
code
==
200
?
result
.
data
:
[];
})
;
},
//获取客户列表
getCustomerList
(){
getCustomerList
(
this
.
searchParam
).
then
(
result
=>
{
this
.
isSkeleton
=
false
this
.
tableData
=
result
this
.
tableData
.
rows
.
forEach
(
item
=>
{
item
.
registerCapital
=
item
.
registerCapital
==
null
?
null
:
item
.
registerCapital
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
if
(
item
.
mainBusiness
!=
""
&&
item
.
mainBusiness
!=
null
&&
item
.
mainBusiness
.
length
>
84
)
{
item
.
mainBusiness1
=
item
.
mainBusiness
.
substring
(
0
,
81
)
item
.
sq1
=
true
}
else
{
item
.
sq1
=
false
}
if
(
item
.
companyAttribute
!=
""
&&
item
.
companyAttribute
!=
null
&&
item
.
companyAttribute
.
length
>
84
)
{
item
.
companyAttribute1
=
item
.
companyAttribute
.
substring
(
0
,
81
)
item
.
sq2
=
true
}
else
{
item
.
sq2
=
false
}
})
})
getCustomerList
()
{
getCustomerList
(
this
.
searchParam
).
then
(
result
=>
{
this
.
isSkeleton
=
false
;
this
.
tableData
=
result
;
this
.
tableData
.
rows
.
forEach
(
item
=>
{
item
.
registerCapital
=
item
.
registerCapital
==
null
?
null
:
item
.
registerCapital
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
);
if
(
item
.
mainBusiness
!=
""
&&
item
.
mainBusiness
!=
null
&&
item
.
mainBusiness
.
length
>
84
)
{
item
.
mainBusiness1
=
item
.
mainBusiness
.
substring
(
0
,
81
);
item
.
sq1
=
true
;
}
else
{
item
.
sq1
=
false
;
}
if
(
item
.
companyAttribute
!=
""
&&
item
.
companyAttribute
!=
null
&&
item
.
companyAttribute
.
length
>
84
)
{
item
.
companyAttribute1
=
item
.
companyAttribute
.
substring
(
0
,
81
);
item
.
sq2
=
true
;
}
else
{
item
.
sq2
=
false
;
}
});
})
;
},
//跳转到客户详情
toDetail
(
row
,
type
)
{
let
customerId
=
row
.
customerId
let
companyId
=
row
.
companyId
let
path
=
type
toDetail
(
row
,
type
)
{
let
customerId
=
row
.
customerId
;
let
companyId
=
row
.
companyId
;
let
path
=
type
;
// if(type == "" && companyId == null){
// path = 'business'
// }
this
.
$router
.
push
({
path
:
'/enterprise/'
+
encodeStr
(
companyId
),
query
:{
customerId
:
customerId
,
path
:
path
}})
this
.
$router
.
push
({
path
:
'/enterprise/'
+
encodeStr
(
companyId
),
query
:
{
customerId
:
customerId
,
path
:
path
}
});
},
//认领客户
async
toRL
(
row
){
this
.
RLcompanyName
=
row
.
companyName
.
replace
(
/<
[^
>
]
+>/g
,
''
)
async
toRL
(
row
)
{
this
.
RLcompanyName
=
row
.
companyName
.
replace
(
/<
[^
>
]
+>/g
,
''
)
;
},
async
RL
(){
let
res
=
await
historyClaim
(
this
.
RLcompanyName
)
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'认领成功!'
)
this
.
handleCurrentChange
(
1
)
this
.
RLcompanyName
=
''
async
RL
()
{
let
res
=
await
historyClaim
(
this
.
RLcompanyName
)
;
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'认领成功!'
)
;
this
.
handleCurrentChange
(
1
)
;
this
.
RLcompanyName
=
''
;
}
},
clearname
(
value
){
if
(
value
==
""
)
{
this
.
handleCurrentChange
(
1
)
clearname
(
value
)
{
if
(
value
==
""
)
{
this
.
handleCurrentChange
(
1
)
;
}
},
handleSearch
()
{
...
...
@@ -354,14 +302,14 @@ export default {
},
//翻页
handleCurrentChange
(
val
)
{
this
.
isSkeleton
=
true
this
.
searchParam
.
pageNum
=
val
this
.
getCustomerList
()
this
.
isSkeleton
=
true
;
this
.
searchParam
.
pageNum
=
val
;
this
.
getCustomerList
()
;
},
searchFocus
(
event
)
{
const
{
target
}
=
event
;
if
(
target
?.
value
?.
length
)
{
this
.
showClearIcon
=
true
this
.
showClearIcon
=
true
;
}
},
searchBlur
(
event
)
{
...
...
@@ -394,24 +342,24 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.delform
{
.delform
{
width
:
228px
;
left
:
50%
;
top
:
50%
;
margin-left
:
-114px
;
margin-top
:
-57px
;
.words
{
.words
{
font-size
:
14px
;
}
}
.app-container
{
height
:
calc
(
100vh
-
134px
)
}
.box-card
{
}
.app-container
{
height
:
calc
(
100vh
-
134px
);
}
.box-card
{
padding-top
:
16px
;
width
:
100%
;
height
:
100%
;
.table_search
{
.table_search
{
::v-deep
.normal-search-container
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -486,111 +434,110 @@ export default {
}
}
}
}
.box
{
}
.box
{
position
:
relative
;
>
span
{
>
span
{
position
:
absolute
;
right
:
10px
;
bottom
:
0
;
color
:
#0081FF
;
color
:
#0081ff
;
cursor
:
pointer
;
&
:hover
{
color
:
#006AD1
;
}
&
:hover
{
color
:
#006ad1
;
}
}
.dc
{
}
.dc
{
font-size
:
12px
;
color
:
#3D3D3D
;
color
:
#3d3d3d
;
font-weight
:
400
;
position
:
relative
;
line-height
:
32px
;
&
:
:
after
{
content
:
' '
;
&
:
:
after
{
content
:
" "
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
border-radius
:
50%
;
position
:
absolute
;
top
:
16px
;
left
:
14px
;
}
>
div
{
>
div
{
display
:
inline-block
;
margin-left
:
20px
;
}
}
.img.img1
{
}
.img.img1
{
margin-right
:
2px
;
background
:
url('../../../../src/assets/images/project/add_2.png')
no-repeat
center
center
;
background
:
url("../../../../src/assets/images/project/add_2.png")
no-repeat
center
center
;
background-size
:
100%
;
}
.w88
{
}
.w88
{
width
:
88px
;
}
.tables
{
}
.tables
{
position
:
relative
;
min-height
:
calc
(
100vh
-
134px
);
/*overflow: auto;*/
.empty
{
.empty
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
transform
:
translate
(
-50%
,
-
50%
);
.btn
{
transform
:
translate
(
-50%
,
-50%
);
.btn
{
margin-right
:
8px
;
margin-top
:
16px
;
}
}
}
.ps1
{
}
.ps1
{
display
:
flex
;
justify-content
:
space-between
;
.ps2
{
.ps2
{
width
:
350px
;
}
.ps3
{
.ps3
{
width
:
60px
;
display
:
flex
;
justify-content
:
right
;
>
div
{
>
div
{
margin-left
:
12px
;
>
img
{
>
img
{
float
:
right
;
margin
:
3px
0
0
4px
;
width
:
14px
;
}
.i
{
.i
{
display
:
inline-block
;
}
.o
{
.o
{
display
:
none
;
}
&
:hover
{
&
:hover
{
cursor
:
pointer
;
.i
{
.i
{
display
:
none
;
}
.o
{
.o
{
display
:
inline-block
;
}
}
}
}
}
.popbot
{
.wordprimary
{
}
.popbot
{
.wordprimary
{
display
:
inline
;
padding-right
:
26px
;
}
}
.app-container
{
height
:
auto
;
}
.searchInput
{
.el-input
{
}
.searchInput
{
.el-input
{
width
:
260px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/index.vue
View file @
f166a9fa
<
template
>
<div
class=
"
app-container
home"
>
<div
class=
"home"
>
<!--经理视角-->
<div
class=
"manage"
v-if=
"user === 1"
>
<el-row>
<el-col
:span=
"16"
>
<div
class=
"task-wrap"
>
<div
class=
"item"
v-for=
"item in routerLink"
@
click=
"handleUrl(item)"
>
<img
class=
"icon-img"
:src=
"`$
{item.imgUrl}`"/>
<img
class=
"icon-img"
:src=
"`$
{item.imgUrl}`"
/>
<p
class=
"text"
>
{{
item
.
name
}}
</p>
</div>
</div>
...
...
@@ -30,23 +30,21 @@
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams.address"
:class=
"[`select-adaptive-$
{inputID1}`]" @change="iptAdaptive(inputID1,'','changeSelect1')" clearable placeholder="项目地区">
<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-select>
</el-form-item>
<el-form-item
prop=
"type"
>
<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-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-select>
</el-form-item>
<el-form-item
prop=
"time"
>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams.time"
:class=
"[`select-adaptive-$
{inputID3}`]"
timeValue="近七天"
placeholder="中标日期"
@handle-search="iptAdaptive(inputID3,'','changeSelect1')"/>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams.time"
:class=
"[`select-adaptive-$
{inputID3}`]" timeValue="近七天"
placeholder="中标日期" @handle-search="iptAdaptive(inputID3,'','changeSelect1')" />
</el-form-item>
</el-form>
</div>
...
...
@@ -59,17 +57,11 @@
</el-col>
<el-col
:span=
"10"
>
<div
class=
"box-right"
>
<el-table
:data=
"jtzbList"
border
max-height=
"320"
fit
ref=
"tableRef"
highlight-current-row
>
<el-table
:data=
"jtzbList"
border
max-height=
"320"
fit
ref=
"tableRef"
highlight-current-row
>
<el-table-column
prop=
"combineName"
label=
"集团名称"
>
<template
slot-scope=
"scope"
>
<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
>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
sortable
width=
"150"
>
...
...
@@ -101,31 +93,24 @@
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams1"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"money"
>
<custom-money-select
:moneyList=
"moneyList"
v-model=
"queryParams1.money"
:class=
"[`select-adaptive-${inputID4}`]"
placeholder=
"中标金额"
<custom-money-select
:moneyList=
"moneyList"
v-model=
"queryParams1.money"
:class=
"[`select-adaptive-${inputID4}`]"
placeholder=
"中标金额"
@
handle-search=
"iptAdaptive(inputID4,'','changeSelect2')"
/>
</el-form-item>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams1.address"
:class=
"[`select-adaptive-${inputID5}`]"
@
change=
"iptAdaptive(inputID5,true,'changeSelect2')"
clearable
placeholder=
"项目地区"
>
<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-select>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
@
change=
"iptAdaptive(inputID6,true,'changeSelect2')"
:class=
"[`select-adaptive-${inputID6}`,queryParams1.type.length > 1 ? 'selectTag' : '']"
clearable
placeholder=
"项目类型"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
@
change=
"iptAdaptive(inputID6,true,'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-select>
</el-form-item>
<el-form-item
prop=
"time"
>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams1.time"
:class=
"[`select-adaptive-${inputID7}`]"
timeValue=
"近七天"
placeholder=
"中标日期"
@
handle-search=
"iptAdaptive(inputID7,'','changeSelect2')"
/>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams1.time"
:class=
"[`select-adaptive-${inputID7}`]"
timeValue=
"近七天"
placeholder=
"中标日期"
@
handle-search=
"iptAdaptive(inputID7,'','changeSelect2')"
/>
</el-form-item>
</el-form>
</div>
...
...
@@ -137,18 +122,12 @@
</el-col>
<el-col
:span=
"10"
>
<div
class=
"box-right"
>
<el-table
:data=
"dxmbList"
border
max-height=
"320"
ref=
"tableRef1"
fit
highlight-current-row
>
<el-table
:data=
"dxmbList"
border
max-height=
"320"
ref=
"tableRef1"
fit
highlight-current-row
>
<el-table-column
prop=
"companyName"
label=
"企业名称"
>
<
template
slot-scope=
"scope"
>
<!--
<router-link
v-if=
"scope.row.companyId"
:to=
"`/enterprise/$
{encodeStr(scope.row.companyId)}`" tag="a" class="a-link companyName" v-html="scope.row.companyName" >
</router-link>
-->
<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
>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量"
align=
"right"
sortable
width=
"150"
>
...
...
@@ -180,7 +159,8 @@
</div>
<div
class=
"list"
v-if=
"!zxzbIsSkeleton"
>
<div
class=
"item"
v-for=
"(item,index) in projectList"
:key=
"index"
>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/${item.pid}`"
tag=
"a"
class=
"a-link"
v-if=
"item.pid"
v-html=
"item.projectName"
></router-link></p>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/${item.pid}`"
tag=
"a"
class=
"a-link"
v-if=
"item.pid"
v-html=
"item.projectName"
></router-link></p>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
中标企业:
</span>
...
...
@@ -202,7 +182,8 @@
</div>
</div>
<div
class=
"pagination-box"
v-if=
"show_page && totalCount>queryParams2.pageSize && !zxzbIsSkeleton"
>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"totalCount"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"totalCount"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</el-tab-pane>
<el-tab-pane
label=
"大项目最新招标"
name=
"second"
>
...
...
@@ -214,7 +195,8 @@
<div
v-if=
"!zhaobiaoIsSkeleton"
class=
"list"
>
<div
class=
"item"
v-for=
"(item,index) in zbList"
:key=
"index"
>
<p
class=
"list-title"
><router-link
:to=
"`/radar/Notice/details/${item.id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.id"
v-html=
"item.projectName"
></router-link></p>
<p
class=
"list-title"
><router-link
:to=
"`/radar/Notice/details/${item.id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.id"
v-html=
"item.projectName"
></router-link></p>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
总投资:
</span>
...
...
@@ -232,39 +214,32 @@
</div>
</div>
<div
class=
"pagination-box"
v-if=
"show_page && zbTableTotal>queryParams2.pageSize && !zhaobiaoIsSkeleton"
>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"zbTableTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
<el-pagination
background
:current-page=
"queryParams2.pageNum"
:page-size=
"queryParams2.pageSize"
:total=
"zbTableTotal"
layout=
"prev, pager, next, jumper"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
/>
</div>
</el-tab-pane>
</el-tabs>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams2"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"amount"
>
<custom-money-select
:moneyList=
"moneyList"
v-model=
"amount"
:class=
"[`select-adaptive-${inputID8}`]"
moneyValue=
"2亿以上"
:placeholder=
"placeholder"
@
handle-search=
"iptAdaptive(inputID8,'','changeSelect3')"
/>
<custom-money-select
:moneyList=
"moneyList"
v-model=
"amount"
:class=
"[`select-adaptive-${inputID8}`]"
moneyValue=
"2亿以上"
:placeholder=
"placeholder"
@
handle-search=
"iptAdaptive(inputID8,'','changeSelect3')"
/>
</el-form-item>
<el-form-item
prop=
"provinceId"
>
<el-select
v-model=
"queryParams2.provinceId"
:class=
"[`select-adaptive-${inputID9}`]"
@
change=
"iptAdaptive(inputID9,'','changeSelect3')"
clearable
placeholder=
"项目地区"
>
<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-select>
</el-form-item>
<el-form-item
prop=
"projects"
>
<el-select
v-model=
"queryParams2.projects"
@
change=
"iptAdaptive(inputID10,true,'changeSelect3')"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"[`select-adaptive-${inputID10}`,queryParams2.projects.length > 1 ? 'selectTag' : '']"
>
<el-select
v-model=
"queryParams2.projects"
@
change=
"iptAdaptive(inputID10,true,'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-select>
</el-form-item>
<el-form-item
prop=
"time"
>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams2.time"
:class=
"[`select-adaptive-${inputID11}`]"
timeValue=
"近七天"
:placeholder=
"timePlaceholder"
@
handle-search=
"iptAdaptive(inputID11,'','changeSelect3')"
/>
<custom-time-select
:timeList=
"timeList"
v-model=
"queryParams2.time"
:class=
"[`select-adaptive-${inputID11}`]"
timeValue=
"近七天"
:placeholder=
"timePlaceholder"
@
handle-search=
"iptAdaptive(inputID11,'','changeSelect3')"
/>
</el-form-item>
</el-form>
</div>
...
...
@@ -277,35 +252,35 @@
<div
class=
"content-left"
>
<div
class=
"task-wrap"
>
<div
class=
"item"
>
<img
class=
"left"
src=
"@/assets/images/index/icon1.png"
/>
<img
class=
"left"
src=
"@/assets/images/index/icon1.png"
/>
<div
class=
"right"
>
<p
class=
"title"
>
即将开标项目
</p>
<p
class=
"number"
>
36
</p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
</div>
</div>
<div
class=
"item"
>
<img
class=
"left"
src=
"@/assets/images/index/icon2.png"
/>
<img
class=
"left"
src=
"@/assets/images/index/icon2.png"
/>
<div
class=
"right"
>
<p
class=
"title"
>
重点关注项目
</p>
<p
class=
"number"
>
36
</p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
</div>
</div>
<div
class=
"item"
>
<img
class=
"left"
src=
"@/assets/images/index/icon3.png"
/>
<img
class=
"left"
src=
"@/assets/images/index/icon3.png"
/>
<div
class=
"right"
>
<p
class=
"title"
>
重点关注客户
</p>
<p
class=
"number"
>
36
</p>
<p
class=
"compare"
>
较上月
<span
class=
"down"
>
-3
<img
src=
"@/assets/images/index/down.png"
/></span></p>
<p
class=
"compare"
>
较上月
<span
class=
"down"
>
-3
<img
src=
"@/assets/images/index/down.png"
/></span></p>
</div>
</div>
<div
class=
"item"
>
<img
class=
"left"
src=
"@/assets/images/index/icon4.png"
/>
<img
class=
"left"
src=
"@/assets/images/index/icon4.png"
/>
<div
class=
"right"
>
<p
class=
"title"
>
储备合作客户
</p>
<p
class=
"number"
>
36
</p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
<p
class=
"compare"
>
较上月
<span
class=
"up"
>
+3
<img
src=
"@/assets/images/index/up.png"
/></span></p>
</div>
</div>
<div
class=
"item add"
>
...
...
@@ -336,10 +311,7 @@
<el-tab-pane
label=
"甲方舆情"
name=
"first"
>
<div
class=
"main-box"
>
<el-timeline>
<el-timeline-item
v-for=
"(item, index) in trendsList"
:key=
"index"
icon=
"el-icon-time"
>
<el-timeline-item
v-for=
"(item, index) in trendsList"
:key=
"index"
icon=
"el-icon-time"
>
<div
class=
"time"
>
{{item.time}}
<span
class=
"company"
>
{{item.name}}
</span></div>
<div
class=
"cont"
>
{{item.main}}
</div>
</el-timeline-item>
...
...
@@ -350,10 +322,7 @@
<el-tab-pane
label=
"监控动态"
name=
"second"
>
<div
class=
"main-box"
>
<el-timeline>
<el-timeline-item
v-for=
"(item, index) in trendsList"
:key=
"index"
icon=
"el-icon-time"
>
<el-timeline-item
v-for=
"(item, index) in trendsList"
:key=
"index"
icon=
"el-icon-time"
>
<div
class=
"time"
>
{{item.time}}
<span
class=
"company"
>
{{item.name}}
</span></div>
<div
class=
"cont"
>
{{item.main}}
</div>
</el-timeline-item>
...
...
@@ -381,29 +350,29 @@
<span
class=
"common-title"
>
储备项目类
</span>
<div
class=
"list"
style=
"margin-top: 8px;"
>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon1.png"
/>
<img
src=
"@/assets/images/index/cb_icon1.png"
/>
<p>
EPC项目
</p>
</div>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon2.png"
/>
<img
src=
"@/assets/images/index/cb_icon2.png"
/>
<p>
投资项目
</p>
</div>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon3.png"
/>
<img
src=
"@/assets/images/index/cb_icon3.png"
/>
<p>
房建项目
</p>
</div>
</div>
<div
class=
"list"
>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon4.png"
/>
<img
src=
"@/assets/images/index/cb_icon4.png"
/>
<p>
电力项目
</p>
</div>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon5.png"
/>
<img
src=
"@/assets/images/index/cb_icon5.png"
/>
<p>
市政项目
</p>
</div>
<div
class=
"item"
>
<img
src=
"@/assets/images/index/cb_icon6.png"
/>
<img
src=
"@/assets/images/index/cb_icon6.png"
/>
<p>
水利项目
</p>
</div>
</div>
...
...
@@ -469,137 +438,137 @@
</template>
<
script
>
import
*
as
echarts
from
'echarts'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
dataRegion
from
'@/assets/json/dataRegion'
import
"@/assets/styles/public.scss"
;
import
CustomTimeSelect
from
'./component/CustomTimeSelect'
import
CustomMoneySelect
from
'./component/CustomMoneySelect'
import
skeleton
from
'./component/skeleton'
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
}
from
'@/api/index'
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
import
api
from
'@/api/radar/radar.js'
;
import
{
v4
}
from
"uuid"
;
import
*
as
echarts
from
'echarts'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
;
import
dataRegion
from
'@/assets/json/dataRegion'
;
import
"@/assets/styles/public.scss"
;
import
CustomTimeSelect
from
'./component/CustomTimeSelect'
;
import
CustomMoneySelect
from
'./component/CustomMoneySelect'
;
import
skeleton
from
'./component/skeleton'
;
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
}
from
'@/api/index'
;
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
;
import
api
from
'@/api/radar/radar.js'
;
import
{
v4
}
from
"uuid"
;
export
default
{
name
:
"Index"
,
components
:
{
CustomTimeSelect
,
CustomMoneySelect
,
skeleton
CustomTimeSelect
,
CustomMoneySelect
,
skeleton
},
data
()
{
return
{
encodeStr
,
// 版本号
version
:
"3.8.5"
,
gjjlData
:[
gjjlData
:
[
{
title
:
'今天拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'今天拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'今天拜访了重庆机场集团董事长,下个月招标项目预计1.2个亿。争取能拿到项目。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'今天拜访了重庆机场集团董事长,下个月招标项目预计1.2个亿。争取能拿到项目。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'5月27日早上劳动局去杨局长说希望我们把项目预算清单做出来看一下。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'5月27日早上劳动局去杨局长说希望我们把项目预算清单做出来看一下。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'5月27日早上劳动局去杨局长说希望我们把项目预算清单做出来看一下。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'5月27日早上劳动局去杨局长说希望我们把项目预算清单做出来看一下。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
{
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
title
:
'拜访了重庆交通局杨科长,洽谈比较愉快,预计下月有项目招标,希望能有机会合作。'
,
user
:
'李婷婷'
,
name
:
'重庆机场集团'
,
time
:
'2023-04-12 14: 00'
},
],
pmData
:[
pmData
:
[
{
name
:
'中治建工集团有限公司'
,
value
:
334
,
value1
:
164
,
name
:
'中治建工集团有限公司'
,
value
:
334
,
value1
:
164
,
},
{
name
:
'中机中联工程有限公司'
,
value
:
230
,
value1
:
130
,
name
:
'中机中联工程有限公司'
,
value
:
230
,
value1
:
130
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
156
,
value1
:
150
,
name
:
'中铁五局集团第六公司'
,
value
:
156
,
value1
:
150
,
},
{
name
:
'中铁长江交通设计公司'
,
value
:
112
,
value1
:
130
,
name
:
'中铁长江交通设计公司'
,
value
:
112
,
value1
:
130
,
},
{
name
:
'重庆设计院有限公公司'
,
value
:
110
,
value1
:
90
,
name
:
'重庆设计院有限公公司'
,
value
:
110
,
value1
:
90
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
},
{
name
:
'重庆设计院有限公公司'
,
value
:
80
,
value1
:
90
,
name
:
'重庆设计院有限公公司'
,
value
:
80
,
value1
:
90
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
name
:
'中铁五局集团第六公司'
,
value
:
100
,
value1
:
91
,
},
{
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
name
:
'中铁五局集团第六公司'
,
value
:
99
,
value1
:
102
,
},
],
rankIconsSize
:
'24'
,
rankIcons
:[
// 排序图标
rankIconsSize
:
'24'
,
rankIcons
:
[
// 排序图标
require
(
'@/assets/images/index/1.png'
),
require
(
'@/assets/images/index/2.png'
),
require
(
'@/assets/images/index/3.png'
),
...
...
@@ -611,157 +580,157 @@ export default {
require
(
'@/assets/images/index/9.png'
),
require
(
'@/assets/images/index/10.png'
),
],
user
:
1
,
activeName
:
'first'
,
trendsList
:[
user
:
1
,
activeName
:
'first'
,
trendsList
:
[
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
{
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
time
:
'2018-04-03 10:20'
,
name
:
'重庆轨道交通集团有限公司'
,
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
],
jtzbList
:[],
dxmbList
:[],
addressList
:[],
projectType
:[],
//项目类型
queryParams
:{
address
:
''
,
type
:[],
time
:
''
,
},
queryParams1
:{
address
:
''
,
type
:[],
money
:
''
,
time
:
''
,
},
queryParams2
:{
provinceId
:
''
,
projects
:[],
amount
:
''
,
time
:
[
this
.
formatDate
(
new
Date
(
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
7
)),
this
.
formatDate
(
new
Date
())],
pageNum
:
1
,
pageSize
:
10
},
amount
:
''
,
jtzbList
:
[],
dxmbList
:
[],
addressList
:
[],
projectType
:
[],
//项目类型
queryParams
:
{
address
:
''
,
type
:
[],
time
:
''
,
},
queryParams1
:
{
address
:
''
,
type
:
[],
money
:
''
,
time
:
''
,
},
queryParams2
:
{
provinceId
:
''
,
projects
:
[],
amount
:
''
,
time
:
[
this
.
formatDate
(
new
Date
(
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
7
)),
this
.
formatDate
(
new
Date
())],
pageNum
:
1
,
pageSize
:
10
},
amount
:
''
,
timeList
:
[
'近三天'
,
'近七天'
,
'近半月'
,
'自定义'
],
moneyList
:
[
'2亿以上'
,
'5亿以上'
,
'10亿以上'
,
'自定义'
],
projectList
:[],
zbList
:[],
totalCount
:
0
,
zbTableTotal
:
0
,
isSkeleton
:
true
,
zxzbIsSkeleton
:
true
,
dxmzbState
:
true
,
zhaobiaoIsSkeleton
:
true
,
placeholder
:
'中标金额'
,
timePlaceholder
:
'中标日期'
,
show_page
:
true
,
MaxPage
:
500
,
nickName
:
''
,
permissions
:[],
routerLink
:[
{
url
:
'/project/overview'
,
name
:
'项目管理'
,
imgUrl
:
require
(
'@/assets/images/index/icon1.png'
)
},
{
url
:
'/custom/overview'
,
name
:
'客户管理'
,
imgUrl
:
require
(
'@/assets/images/index/icon2.png'
)
},
{
url
:
'/macro/nationalEconomies'
,
name
:
'全国经济大全'
,
imgUrl
:
require
(
'@/assets/images/index/icon3.png'
)
},
{
url
:
'/enterpriseData/Group'
,
name
:
'集团户'
,
imgUrl
:
require
(
'@/assets/images/index/icon4.png'
)
},
{
url
:
'/enterpriseData/Owner'
,
name
:
'查城投平台'
,
imgUrl
:
require
(
'@/assets/images/index/icon5.png'
)
},
{
url
:
'/radar'
,
name
:
'商机雷达'
,
imgUrl
:
require
(
'@/assets/images/index/icon6.png'
)
},
projectList
:
[],
zbList
:
[],
totalCount
:
0
,
zbTableTotal
:
0
,
isSkeleton
:
true
,
zxzbIsSkeleton
:
true
,
dxmzbState
:
true
,
zhaobiaoIsSkeleton
:
true
,
placeholder
:
'中标金额'
,
timePlaceholder
:
'中标日期'
,
show_page
:
true
,
MaxPage
:
500
,
nickName
:
''
,
permissions
:
[],
routerLink
:
[
{
url
:
'/project/overview'
,
name
:
'项目管理'
,
imgUrl
:
require
(
'@/assets/images/index/icon1.png'
)
},
{
url
:
'/custom/overview'
,
name
:
'客户管理'
,
imgUrl
:
require
(
'@/assets/images/index/icon2.png'
)
},
{
url
:
'/macro/nationalEconomies'
,
name
:
'全国经济大全'
,
imgUrl
:
require
(
'@/assets/images/index/icon3.png'
)
},
{
url
:
'/enterpriseData/Group'
,
name
:
'集团户'
,
imgUrl
:
require
(
'@/assets/images/index/icon4.png'
)
},
{
url
:
'/enterpriseData/Owner'
,
name
:
'查城投平台'
,
imgUrl
:
require
(
'@/assets/images/index/icon5.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
(),
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
(),
};
},
watch
:
{
watch
:
{
user
(
newValue
)
{
this
.
getPlaceholder
();
}
},
created
()
{
this
.
getPlaceholder
();
this
.
searchDic
()
this
.
getInfo
()
this
.
dataRegion
()
this
.
searchDic
()
;
this
.
getInfo
()
;
this
.
dataRegion
()
;
this
.
$nextTick
(()
=>
{
this
.
getCountByCompany
()
this
.
getBidRank
()
this
.
getBigWinningBidsPage
()
this
.
getBigBidPage
()
})
this
.
getCountByCompany
()
;
this
.
getBidRank
()
;
this
.
getBigWinningBidsPage
()
;
this
.
getBigBidPage
()
;
})
;
},
methods
:
{
//项目类型
searchDic
(){
api
.
searchDic
().
then
(
res
=>
{
searchDic
()
{
api
.
searchDic
().
then
(
res
=>
{
this
.
projectType
=
res
.
projectType
;
}).
catch
(
error
=>
{
});
},
getInfo
(){
this
.
permissions
=
this
.
$store
.
state
.
user
.
permissions
;
this
.
nickName
=
this
.
$store
.
state
.
user
.
name
},
getCountByCompany
(){
let
params
=
{};
if
(
this
.
queryParams
.
time
.
length
>
1
)
{
params
.
startDate
=
this
.
queryParams
.
time
[
0
]
params
.
endDate
=
this
.
queryParams
.
time
[
1
]
}
if
(
this
.
queryParams
.
type
.
length
>
0
)
{
params
.
type
=
this
.
queryParams
.
type
.
join
()
}
if
(
this
.
queryParams
.
address
)
{
params
.
provinceId
=
this
.
queryParams
.
address
}
countByCompany
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
jtzbList
=
res
.
data
;
if
(
this
.
jtzbList
.
length
>
0
)
{
this
.
initChart
(
this
.
jtzbList
)
}).
catch
(
error
=>
{
});
},
getInfo
()
{
this
.
permissions
=
this
.
$store
.
state
.
user
.
permissions
;
this
.
nickName
=
this
.
$store
.
state
.
user
.
name
;
},
getCountByCompany
()
{
let
params
=
{};
if
(
this
.
queryParams
.
time
.
length
>
1
)
{
params
.
startDate
=
this
.
queryParams
.
time
[
0
];
params
.
endDate
=
this
.
queryParams
.
time
[
1
];
}
if
(
this
.
queryParams
.
type
.
length
>
0
)
{
params
.
type
=
this
.
queryParams
.
type
.
join
();
}
if
(
this
.
queryParams
.
address
)
{
params
.
provinceId
=
this
.
queryParams
.
address
;
}
countByCompany
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
jtzbList
=
res
.
data
;
if
(
this
.
jtzbList
.
length
>
0
)
{
this
.
initChart
(
this
.
jtzbList
)
;
// setTimeout(() => {
// this.$nextTick(() => {
// this.$refs.tableRef.bodyWrapper.scrollTop = 0
...
...
@@ -770,113 +739,113 @@ export default {
}
}
})
})
;
},
getBidRank
(){
let
params
=
{};
if
(
this
.
queryParams1
.
time
.
length
>
1
)
{
params
.
startDate
=
this
.
queryParams1
.
time
[
0
]
params
.
endDate
=
this
.
queryParams1
.
time
[
1
]
getBidRank
()
{
let
params
=
{};
if
(
this
.
queryParams1
.
time
.
length
>
1
)
{
params
.
startDate
=
this
.
queryParams1
.
time
[
0
];
params
.
endDate
=
this
.
queryParams1
.
time
[
1
];
}
if
(
this
.
queryParams1
.
type
.
length
>
0
)
{
params
.
type
=
this
.
queryParams1
.
type
.
join
()
if
(
this
.
queryParams1
.
type
.
length
>
0
)
{
params
.
type
=
this
.
queryParams1
.
type
.
join
();
}
if
(
this
.
queryParams1
.
address
)
{
params
.
provinceId
=
this
.
queryParams1
.
address
if
(
this
.
queryParams1
.
address
)
{
params
.
provinceId
=
this
.
queryParams1
.
address
;
}
if
(
this
.
queryParams1
.
money
)
{
if
(
this
.
queryParams1
.
money
.
length
>
1
)
{
params
.
endMoney
=
this
.
queryParams1
.
money
[
1
]
params
.
startMoney
=
this
.
queryParams1
.
money
[
0
]
}
else
{
params
.
startMoney
=
this
.
queryParams1
.
money
[
0
]
if
(
this
.
queryParams1
.
money
)
{
if
(
this
.
queryParams1
.
money
.
length
>
1
)
{
params
.
endMoney
=
this
.
queryParams1
.
money
[
1
];
params
.
startMoney
=
this
.
queryParams1
.
money
[
0
];
}
else
{
params
.
startMoney
=
this
.
queryParams1
.
money
[
0
];
}
}
bidRank
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
dxmzbState
=
false
;
this
.
dxmbList
=
res
.
data
;
if
(
this
.
dxmbList
.
length
>
0
)
{
this
.
initChart1
(
this
.
dxmbList
)
bidRank
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
dxmzbState
=
false
;
this
.
dxmbList
=
res
.
data
;
if
(
this
.
dxmbList
.
length
>
0
)
{
this
.
initChart1
(
this
.
dxmbList
)
;
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tableRef1
.
bodyWrapper
.
scrollTop
=
0
this
.
$refs
.
tableRef1
.
bodyWrapper
.
scrollTop
=
0
;
});
},
500
);
}
}
})
})
;
},
getBigWinningBidsPage
(){
let
params
=
{};
params
.
recentlyBidQueryDto
=
[]
let
recentlyBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
)
{
if
(
this
.
amount
.
length
>
1
)
{
recentlyBidQueryDto
.
endMoney
=
this
.
amount
[
1
]
recentlyBidQueryDto
.
startMoney
=
this
.
amount
[
0
]
}
else
{
recentlyBidQueryDto
.
startMoney
=
this
.
amount
[
0
]
}
}
if
(
this
.
queryParams2
.
time
)
{
recentlyBidQueryDto
.
startTenderTime
=
this
.
queryParams2
.
time
[
0
]
recentlyBidQueryDto
.
endTenderTime
=
this
.
queryParams2
.
time
[
1
]
}
if
(
this
.
queryParams2
.
provinceId
)
{
recentlyBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
}
if
(
this
.
queryParams2
.
projects
)
{
recentlyBidQueryDto
.
projectTypeNew
=
this
.
queryParams2
.
projects
.
join
()
}
params
.
recentlyBidQueryDto
.
push
(
recentlyBidQueryDto
)
this
.
zxzbIsSkeleton
=
true
bigWinningBidsPage
(
params
).
then
(
res
=>
{
this
.
zxzbIsSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
projectList
=
res
.
data
.
list
;
this
.
totalCount
=
res
.
data
.
total
;
getBigWinningBidsPage
()
{
let
params
=
{};
params
.
recentlyBidQueryDto
=
[];
let
recentlyBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
)
{
if
(
this
.
amount
.
length
>
1
)
{
recentlyBidQueryDto
.
endMoney
=
this
.
amount
[
1
];
recentlyBidQueryDto
.
startMoney
=
this
.
amount
[
0
];
}
else
{
recentlyBidQueryDto
.
startMoney
=
this
.
amount
[
0
];
}
}
if
(
this
.
queryParams2
.
time
)
{
recentlyBidQueryDto
.
startTenderTime
=
this
.
queryParams2
.
time
[
0
];
recentlyBidQueryDto
.
endTenderTime
=
this
.
queryParams2
.
time
[
1
];
}
if
(
this
.
queryParams2
.
provinceId
)
{
recentlyBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
;
}
if
(
this
.
queryParams2
.
projects
)
{
recentlyBidQueryDto
.
projectTypeNew
=
this
.
queryParams2
.
projects
.
join
();
}
params
.
recentlyBidQueryDto
.
push
(
recentlyBidQueryDto
)
;
this
.
zxzbIsSkeleton
=
true
;
bigWinningBidsPage
(
params
).
then
(
res
=>
{
this
.
zxzbIsSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
projectList
=
res
.
data
.
list
;
this
.
totalCount
=
res
.
data
.
total
;
}
// window.scrollTo({
// top: 600,
// behavior: 'smooth' // 滚动行为:smooth平滑滚动,instant瞬间滚动,默认值auto,等同于instant
// })
})
})
;
},
getBigBidPage
(){
let
params
=
{};
let
jskBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
){
if
(
this
.
amount
.
length
>
1
){
jskBidQueryDto
.
endBidMoney
=
this
.
amount
[
1
]
jskBidQueryDto
.
startBidMoney
=
this
.
amount
[
0
]
}
else
{
jskBidQueryDto
.
startBidMoney
=
this
.
amount
[
0
]
getBigBidPage
()
{
let
params
=
{};
let
jskBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
)
{
if
(
this
.
amount
.
length
>
1
)
{
jskBidQueryDto
.
endBidMoney
=
this
.
amount
[
1
];
jskBidQueryDto
.
startBidMoney
=
this
.
amount
[
0
];
}
else
{
jskBidQueryDto
.
startBidMoney
=
this
.
amount
[
0
];
}
}
if
(
this
.
queryParams2
.
time
)
{
jskBidQueryDto
.
startPunishDate
=
this
.
queryParams2
.
time
[
0
];
jskBidQueryDto
.
endPunishDate
=
this
.
queryParams2
.
time
[
1
];
}
if
(
this
.
queryParams2
.
provinceId
)
{
jskBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
;
}
if
(
this
.
queryParams2
.
projects
)
{
jskBidQueryDto
.
projectType
=
this
.
queryParams2
.
projects
.
join
();
}
params
.
jskBidQueryDto
=
jskBidQueryDto
;
this
.
zhaobiaoIsSkeleton
=
true
;
bigBidPage
(
params
).
then
(
res
=>
{
this
.
zhaobiaoIsSkeleton
=
false
;
if
(
res
.
code
==
200
)
{
this
.
zbList
=
res
.
data
.
list
;
this
.
zbTableTotal
=
res
.
data
.
total
;
}
}
if
(
this
.
queryParams2
.
time
){
jskBidQueryDto
.
startPunishDate
=
this
.
queryParams2
.
time
[
0
]
jskBidQueryDto
.
endPunishDate
=
this
.
queryParams2
.
time
[
1
]
}
if
(
this
.
queryParams2
.
provinceId
){
jskBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
}
if
(
this
.
queryParams2
.
projects
){
jskBidQueryDto
.
projectType
=
this
.
queryParams2
.
projects
.
join
()
}
params
.
jskBidQueryDto
=
jskBidQueryDto
this
.
zhaobiaoIsSkeleton
=
true
bigBidPage
(
params
).
then
(
res
=>
{
this
.
zhaobiaoIsSkeleton
=
false
if
(
res
.
code
==
200
){
this
.
zbList
=
res
.
data
.
list
;
this
.
zbTableTotal
=
res
.
data
.
total
;
}
})
});
},
//地区
async
dataRegion
()
{
...
...
@@ -897,15 +866,15 @@ export default {
this
.
addressList
=
str
;
},
initChart
(
list
)
{
let
data
=
[]
for
(
var
i
=
0
;
i
<
10
;
i
++
)
{
data
.
push
(
list
[
i
])
let
data
=
[];
for
(
var
i
=
0
;
i
<
10
;
i
++
)
{
data
.
push
(
list
[
i
])
;
}
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
// 让 指定id 的 div 的_echarts_instance_属性值 为 空状态
document
.
getElementById
(
"zbtj-echarts"
).
removeAttribute
(
'_echarts_instance_'
);
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbtj-echarts"
))
let
option
=
{
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbtj-echarts"
))
;
let
option
=
{
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
...
...
@@ -916,7 +885,7 @@ export default {
type
:
'category'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
margin
:
15
,
//刻度标签与轴线之间的距离
color
:
"#666666"
color
:
"#666666"
},
axisTick
:
false
,
//坐标轴刻度
axisPointer
:
{
...
...
@@ -928,7 +897,7 @@ export default {
{
type
:
'value'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
"#666666"
color
:
"#666666"
},
name
:
'单位:个'
,
nameLocation
:
'end'
,
...
...
@@ -940,7 +909,7 @@ export default {
{
type
:
'value'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
"#666666"
color
:
"#666666"
},
name
:
'单位:万元'
,
nameLocation
:
'end'
,
...
...
@@ -958,35 +927,35 @@ export default {
}
],
grid
:
{
top
:
30
,
left
:
80
,
right
:
90
,
bottom
:
50
,
top
:
30
,
left
:
80
,
right
:
90
,
bottom
:
50
,
},
series
:
[
{
name
:
'中标金额(万元)'
,
name
:
'中标金额(万元)'
,
smooth
:
false
,
//平滑
type
:
"line"
,
type
:
"line"
,
symbolSize
:
6
,
yAxisIndex
:
1
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
return
value
return
value
;
}
},
itemStyle
:
{
normal
:{
normal
:
{
color
:
'#14C9C9'
,
lineStyle
:
{
width
:
2
width
:
2
},
}
},
data
:
data
.
map
(
item
=>
item
.
money
),
data
:
data
.
map
(
item
=>
item
.
money
),
},
{
name
:
'中标总数(个)'
,
name
:
'中标总数(个)'
,
type
:
'bar'
,
barWidth
:
20
,
tooltip
:
{
...
...
@@ -995,7 +964,7 @@ export default {
}
},
itemStyle
:
{
normal
:{
normal
:
{
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[{
offset
:
0
,
color
:
'#56A5FF'
...
...
@@ -1006,27 +975,27 @@ export default {
// barBorderRadius:[20,20, 0, 0]
}
},
data
:
data
.
map
(
item
=>
item
.
count
),
data
:
data
.
map
(
item
=>
item
.
count
),
}
]
}
}
;
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
})
})
;
},
initChart1
(
list
){
let
data
=
[]
let
arr
=
list
.
sort
(
function
(
a
,
b
)
{
initChart1
(
list
)
{
let
data
=
[];
let
arr
=
list
.
sort
(
function
(
a
,
b
)
{
return
b
.
money
-
a
.
money
;
});
if
(
arr
.
length
>
10
)
{
for
(
var
i
=
0
;
i
<
10
;
i
++
)
{
data
.
push
(
arr
[
i
])
if
(
arr
.
length
>
10
)
{
for
(
var
i
=
0
;
i
<
10
;
i
++
)
{
data
.
push
(
arr
[
i
])
;
}
}
else
{
data
=
arr
;
}
else
{
data
=
arr
;
}
var
rankPic
=
[
...
...
@@ -1040,11 +1009,11 @@ export default {
require
(
'@/assets/images/index/8.png'
),
require
(
'@/assets/images/index/9.png'
),
require
(
'@/assets/images/index/10.png'
),
]
this
.
$nextTick
(()
=>
{
]
;
this
.
$nextTick
(()
=>
{
// 让 指定id 的 div 的_echarts_instance_属性值 为 空状态
document
.
getElementById
(
"zbph-echarts"
).
removeAttribute
(
'_echarts_instance_'
);
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbph-echarts"
))
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbph-echarts"
))
;
// let option ={
// legend: {
// show: false,
...
...
@@ -1202,7 +1171,7 @@ export default {
// }
// ],
// }
let
option
=
{
let
option
=
{
tooltip
:
{
trigger
:
'axis'
,
axisPointer
:
{
...
...
@@ -1213,7 +1182,7 @@ export default {
type
:
'category'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
margin
:
15
,
//刻度标签与轴线之间的距离
color
:
"#666666"
color
:
"#666666"
},
axisTick
:
false
,
//坐标轴刻度
axisPointer
:
{
...
...
@@ -1225,7 +1194,7 @@ export default {
{
type
:
'value'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
"#666666"
color
:
"#666666"
},
name
:
'单位:个'
,
nameLocation
:
'end'
,
...
...
@@ -1237,7 +1206,7 @@ export default {
{
type
:
'value'
,
axisLabel
:
{
//坐标轴刻度标签的相关设置
color
:
"#666666"
color
:
"#666666"
},
name
:
'单位:万元'
,
nameLocation
:
'end'
,
...
...
@@ -1256,10 +1225,10 @@ export default {
}
],
grid
:
{
top
:
30
,
left
:
60
,
right
:
90
,
bottom
:
50
,
top
:
30
,
left
:
60
,
right
:
90
,
bottom
:
50
,
// containLabel: true
},
// dataZoom:[
...
...
@@ -1290,28 +1259,28 @@ export default {
// ],
series
:
[
{
name
:
'中标金额(万元)'
,
name
:
'中标金额(万元)'
,
smooth
:
false
,
//平滑
type
:
"line"
,
type
:
"line"
,
symbolSize
:
6
,
yAxisIndex
:
1
,
tooltip
:
{
valueFormatter
:
function
(
value
)
{
return
value
return
value
;
}
},
itemStyle
:
{
normal
:{
normal
:
{
color
:
'#14C9C9'
,
lineStyle
:
{
width
:
2
width
:
2
},
}
},
data
:
data
.
map
(
item
=>
item
.
money
),
data
:
data
.
map
(
item
=>
item
.
money
),
},
{
name
:
'中标总数(个)'
,
name
:
'中标总数(个)'
,
type
:
'bar'
,
barWidth
:
20
,
tooltip
:
{
...
...
@@ -1320,7 +1289,7 @@ export default {
}
},
itemStyle
:
{
normal
:{
normal
:
{
color
:
new
echarts
.
graphic
.
LinearGradient
(
0
,
1
,
0
,
0
,
[{
offset
:
0
,
color
:
'#56A5FF'
...
...
@@ -1331,113 +1300,113 @@ export default {
// barBorderRadius:[20,20, 0, 0]
}
},
data
:
data
.
map
(
item
=>
item
.
count
),
data
:
data
.
map
(
item
=>
item
.
count
),
}
]
}
}
;
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
})
})
;
},
handleClickTab
(){
this
.
queryParams2
.
pageNum
=
1
;
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
this
.
placeholder
=
'中标金额'
this
.
timePlaceholder
=
'中标日期'
handleClickTab
()
{
this
.
queryParams2
.
pageNum
=
1
;
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
;
this
.
placeholder
=
'中标金额'
;
this
.
timePlaceholder
=
'中标日期'
;
}
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
this
.
placeholder
=
'总投资'
this
.
timePlaceholder
=
'发布日期'
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
;
this
.
placeholder
=
'总投资'
;
this
.
timePlaceholder
=
'发布日期'
;
}
},
handleClickTab1
()
{
},
handleChange
(){
handleClickTab1
()
{
},
handleChange
()
{
this
.
user
=
this
.
user
===
1
?
2
:
1
;
if
(
this
.
user
===
1
)
{
this
.
$nextTick
(()
=>
{
this
.
initChart
(
this
.
jtzbList
)
this
.
initChart1
(
this
.
dxmbList
)
})
if
(
this
.
user
===
1
)
{
this
.
$nextTick
(()
=>
{
this
.
initChart
(
this
.
jtzbList
)
;
this
.
initChart1
(
this
.
dxmbList
)
;
})
;
}
},
changeSelect1
(){
this
.
getCountByCompany
()
changeSelect1
()
{
this
.
getCountByCompany
()
;
},
changeSelect2
(){
this
.
getBidRank
()
changeSelect2
()
{
this
.
getBidRank
()
;
},
changeSelect3
(){
this
.
queryParams2
.
pageNum
=
1
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
changeSelect3
()
{
this
.
queryParams2
.
pageNum
=
1
;
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
;
}
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
;
}
},
handleCurrentChange
(
val
){
if
(
this
.
MaxPage
<
val
)
{
this
.
show_page
=
false
handleCurrentChange
(
val
)
{
if
(
this
.
MaxPage
<
val
)
{
this
.
show_page
=
false
;
this
.
$nextTick
(()
=>
{
this
.
queryParams2
.
pageNum
=
1
this
.
$message
.
warning
(
`对不起,最多只能访问
${
this
.
MaxPage
}
页`
)
this
.
show_page
=
true
})
}
else
{
this
.
queryParams2
.
pageNum
=
val
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
this
.
queryParams2
.
pageNum
=
1
;
this
.
$message
.
warning
(
`对不起,最多只能访问
${
this
.
MaxPage
}
页`
)
;
this
.
show_page
=
true
;
})
;
}
else
{
this
.
queryParams2
.
pageNum
=
val
;
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
;
}
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
;
}
}
},
handleSizeChange
(
val
){
this
.
queryParams2
.
pageNum
=
1
this
.
queryParams2
.
pageSize
=
val
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
handleSizeChange
(
val
)
{
this
.
queryParams2
.
pageNum
=
1
;
this
.
queryParams2
.
pageSize
=
val
;
if
(
this
.
activeName
===
'first'
)
{
this
.
getBigWinningBidsPage
()
;
}
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
if
(
this
.
activeName
===
'second'
)
{
this
.
getBigBidPage
()
;
}
},
getUipIdByCid
(
companyId
){
var
params
=
[
companyId
]
getUipIdByCid
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
&&
res
.
data
[
0
].
uipId
)
{
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
companyId
)})
}
else
{
this
.
$router
.
push
({
path
:
'/company/'
+
this
.
encodeStr
(
companyId
)})
getUipIdByCid
(
companyId
)
{
var
params
=
[
companyId
];
getUipIdByCid
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
&&
res
.
data
[
0
].
uipId
)
{
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
companyId
)
});
}
else
{
this
.
$router
.
push
({
path
:
'/company/'
+
this
.
encodeStr
(
companyId
)
});
}
}
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
});
},
// 时间格式化
formatDate
(
timeStr
)
{
let
date
=
new
Date
(
Number
(
timeStr
))
let
year
=
date
.
getFullYear
()
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
)
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
)
return
`
${
year
}
-
${
month
}
-
${
day
}
`
let
date
=
new
Date
(
Number
(
timeStr
))
;
let
year
=
date
.
getFullYear
()
;
let
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
0
)
;
let
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
0
)
;
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
},
handleUrl
(
item
){
handleUrl
(
item
)
{
switch
(
item
.
name
)
{
case
'项目管理'
:
if
(
this
.
permissions
.
includes
(
'project:info'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'project:info'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1445,9 +1414,9 @@ export default {
}
break
;
case
'客户管理'
:
if
(
this
.
permissions
.
includes
(
'customer:info'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'customer:info'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1455,9 +1424,9 @@ export default {
}
break
;
case
'全国经济大全'
:
if
(
this
.
permissions
.
includes
(
'nationalEconomies:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'nationalEconomies:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1465,9 +1434,9 @@ export default {
}
break
;
case
'集团户'
:
if
(
this
.
permissions
.
includes
(
'group:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'group:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1475,9 +1444,9 @@ export default {
}
break
;
case
'查城投平台'
:
if
(
this
.
permissions
.
includes
(
'owner:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'owner:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1485,9 +1454,9 @@ export default {
}
break
;
case
'商机雷达'
:
if
(
this
.
permissions
.
includes
(
'radar:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
}
else
{
if
(
this
.
permissions
.
includes
(
'radar:query'
))
{
this
.
$router
.
push
({
path
:
item
.
url
})
;
}
else
{
this
.
$message
({
message
:
'您好,请联系管理员开通页面权限'
,
type
:
'warning'
...
...
@@ -1498,15 +1467,15 @@ export default {
break
;
}
},
handleSearch
(
name
){
if
(
name
===
'changeSelect1'
)
{
this
.
changeSelect1
()
handleSearch
(
name
)
{
if
(
name
===
'changeSelect1'
)
{
this
.
changeSelect1
()
;
}
if
(
name
===
'changeSelect2'
)
{
this
.
changeSelect2
()
if
(
name
===
'changeSelect2'
)
{
this
.
changeSelect2
()
;
}
if
(
name
===
'changeSelect3'
)
{
this
.
changeSelect3
()
if
(
name
===
'changeSelect3'
)
{
this
.
changeSelect3
()
;
}
},
async
getPlaceholder
()
{
...
...
@@ -1538,13 +1507,13 @@ export default {
}
},
iptAdaptive
(
uid
,
multiple
=
false
,
name
)
{
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
multiple
?
this
.
multipleAdaptiveHandle
(
uid
,
name
)
:
this
.
iptAdaptiveHandle
(
uid
,
name
);
},
getUid
()
{
return
v4
();
},
// 多选处理
async
multipleAdaptiveHandle
(
uid
,
name
)
{
async
multipleAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
...
...
@@ -1592,7 +1561,7 @@ export default {
}
},
// 单选处理
async
iptAdaptiveHandle
(
uid
,
name
)
{
async
iptAdaptiveHandle
(
uid
,
name
)
{
try
{
await
this
.
$nextTick
();
const
dom
=
document
.
querySelector
(
`.select-adaptive-
${
uid
}
`
);
...
...
@@ -1625,82 +1594,82 @@ export default {
</
script
>
<
style
scoped
lang=
"scss"
>
.app-container
{
padding
:
0
;
margin
:
16px
24px
;
}
p
{
p
{
padding
:
0
;
margin
:
0
;
}
.home
{
}
.home
{
width
:
100%
;
height
:
100%
;
overflow
:
auto
;
padding
:
16px
24px
;
box-sizing
:
border-box
;
@import
"@/assets/styles/search-common.scss"
;
padding-bottom
:
24px
;
::v-deep
.el-row
{
.el-col
:nth-child
(
1
)
{
::v-deep
.el-row
{
.el-col
:nth-child
(
1
)
{
padding-left
:
0
!
important
;
padding-right
:
0
!
important
;
}
.el-col
:nth-child
(
2
)
{
.el-col
:nth-child
(
2
)
{
padding-left
:
16px
!
important
;
padding-right
:
0
!
important
;
}
}
.manage
{
.manage
{
::v-deep
.el-form
{
.el-select
{
.el-select
{
.el-select__tags
{
flex-wrap
:
inherit
;
.el-tag
{
.el-tag
{
/*max-width: 130px;*/
}
}
}
}
.task-wrap
{
.task-wrap
{
height
:
99px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
display
:
flex
;
justify-content
:
space-between
;
.item
{
.item
{
width
:
20%
;
text-align
:
center
;
margin
:
0
auto
;
cursor
:
pointer
;
.icon-img
{
.icon-img
{
width
:
48px
;
height
:
48px
;
margin-top
:
16px
;
}
.text
{
color
:
#3D3D3D
;
.text
{
color
:
#3d3d3d
;
font-size
:
12px
;
margin-top
:
5px
;
}
}
}
.user
{
.user
{
height
:
99px
;
border-radius
:
4px
;
background-image
:
url("../assets/images/index/user_bg.png")
;
background-size
:
cover
;
padding-left
:
24px
;
h3
{
h3
{
font-weight
:
700
;
color
:
#1C1C
28
;
color
:
#1c1c
28
;
font-size
:
18px
;
padding-top
:
16px
;
padding-bottom
:
8px
;
margin
:
0px
;
span
{
span
{
height
:
20px
;
background
:
#FFF2E
2
;
background
:
#fff2e
2
;
display
:
inline-block
;
border-radius
:
11px
;
border
:
1px
solid
#FFB
010
;
color
:
#FFB
010
;
border
:
1px
solid
#ffb
010
;
color
:
#ffb
010
;
font-size
:
12px
;
line-height
:
20px
;
padding
:
0
10px
;
...
...
@@ -1708,87 +1677,85 @@ export default {
font-weight
:
400
;
}
}
p
{
p
{
color
:
#666666
;
font-size
:
16px
;
}
}
.tips
{
.tips
{
color
:
#999999
;
font-size
:
12px
;
margin
:
12px
0
;
padding-left
:
16px
;
}
.content
{
.content
{
background
:
#ffffff
;
padding
:
16px
;
margin-top
:
12px
;
.query-box
{
.query-box
{
margin-bottom
:
16px
;
}
}
.content_wap1
{
.content_wap1
{
height
:
430px
;
}
.content_wap2
{
.content_wap2
{
height
:
430px
;
}
.search
{
float
:
right
;
::v-deep
.el-form
{
.el-form-item--small.el-form-item
{
.search
{
float
:
right
;
::v-deep
.el-form
{
.el-form-item--small.el-form-item
{
margin-bottom
:
0
;
}
.el-form-item
{
.el-form-item
{
height
:
32px
;
}
.el-form-item__content
{
.el-form-item__content
{
line-height
:
32px
;
}
.el-input
{
.el-input
{
line-height
:
32px
;
.el-input__inner
{
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
border-radius
:
4px
;
border
:
0
;
}
}
.is-focus
{
.el-input__inner
{
background
:
#F4F6F
9
;
.is-focus
{
.el-input__inner
{
background
:
#f4f6f
9
;
}
}
}
}
.box-right
{
.box-right
{
width
:
90%
;
float
:
right
;
::v-deep
.el-table
{
.sort-caret.ascending
{
border-bottom-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
::v-deep
.el-table
{
.sort-caret.ascending
{
border-bottom-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
.ascending
.sort-caret.ascending
{
border-bottom-color
:
#0081FF
;
.ascending
.sort-caret.ascending
{
border-bottom-color
:
#0081ff
;
}
.sort-caret.descending
{
border-top-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
.sort-caret.descending
{
border-top-color
:
rgba
(
0
,
129
,
255
,
0
.5
);
}
.descending
.sort-caret.descending
{
border-top-color
:
#0081FF
;
.descending
.sort-caret.descending
{
border-top-color
:
#0081ff
;
}
.el-table__header-wrapper
{
background
:
#F0F3FA
;
th
{
background
:
#F0F3FA
;
.el-table__header-wrapper
{
background
:
#f0f3fa
;
th
{
background
:
#f0f3fa
;
/*text-align: left;*/
}
}
.el-table__footer-wrapper
{
background
:
#F0F3FA
;
.el-table__footer-wrapper
{
background
:
#f0f3fa
;
}
th
{
font-size
:
13px
!
important
;
...
...
@@ -1799,33 +1766,33 @@ export default {
padding-left
:
12px
!
important
;
line-height
:
18px
;
}
.el-table__fixed-header-wrapper
{
th
{
background
:
#F0F3FA
;
.el-table__fixed-header-wrapper
{
th
{
background
:
#f0f3fa
;
}
}
td
.el-table__cell
{
td
.el-table__cell
{
border-bottom
:
0
;
}
tr
{
&
.current-row
>
td
{
tr
{
&
.current-row
>
td
{
background-color
:
initial
;
}
&
:nth-child
(
2n
)
{
background
:
#F8FBFF
;
background
:
#f8fbff
;
}
}
.el-table__cell
{
.el-table__cell
{
height
:
40px
;
padding
:
0
;
line-height
:
40px
;
}
.el-table__body
tr
:hover
>
td
.el-table__cell
{
background
:
#DCEBFF
;
.el-table__body
tr
:hover
>
td
.el-table__cell
{
background
:
#dcebff
;
}
::-webkit-scrollbar-track-piece
{
//滚动条凹槽的颜色,还可以设置边框属性
background-color
:
#F3F4F
5
;
background-color
:
#f3f4f
5
;
height
:
16px
;
padding
:
0
4px
;
}
...
...
@@ -1833,7 +1800,7 @@ export default {
::-webkit-scrollbar
{
width
:
8px
;
height
:
8px
;
background-color
:
#F3F4F
5
;
background-color
:
#f3f4f
5
;
border-radius
:
6px
;
}
//滚动条的滑块
...
...
@@ -1841,63 +1808,63 @@ export default {
border-radius
:
8px
;
height
:
8px
;
margin
:
0
4px
;
background
:
rgba
(
98
,
110
,
126
,
0
.2
);
border
:
4px
solid
rgba
(
98
,
110
,
126
,
0
.2
);
;
&
:hover
{
background
:
rgba
(
98
,
110
,
126
,
0
.2
);
border
:
4px
solid
rgba
(
98
,
110
,
126
,
0
.2
)
;
&
:hover
{
background
:
#566380
;
}
}
.has-gutter
{
tr
{
th
:nth-last-child
(
2
)
{
border-right
:
0
;
.has-gutter
{
tr
{
th
:nth-last-child
(
2
)
{
border-right
:
0
;
}
td
:nth-last-child
(
2
)
{
border-right
:
0
;
td
:nth-last-child
(
2
)
{
border-right
:
0
;
}
}
}
.el-table__cell.gutter
{
background
:
#F0F3FA
;
.el-table__cell.gutter
{
background
:
#f0f3fa
;
}
.el-table__row
{
td
:last-child
{
.cell
{
.el-table__row
{
td
:last-child
{
.cell
{
padding-right
:
12px
!
important
;
}
}
}
}
}
.content_wap3
{
.content_wap3
{
margin-top
:
12px
;
background
:
#ffffff
;
position
:
relative
;
::v-deep
.el-tabs
{
.el-tabs__header
{
position
:
relative
;
::v-deep
.el-tabs
{
.el-tabs__header
{
margin-bottom
:
0
;
}
.el-tabs__item
{
.el-tabs__item
{
height
:
54px
;
line-height
:
54px
;
font-size
:
16px
;
}
.el-tabs__item.is-active
{
.el-tabs__item.is-active
{
font-weight
:
700
;
color
:
#232323
;
}
.el-tabs__nav-wrap
{
padding
:
0
24px
;
.el-tabs__nav-wrap
{
padding
:
0
24px
;
}
.el-tabs__active-bar
{
.el-tabs__active-bar
{
border-radius
:
8px
;
}
.
el-tabs__nav-wrap
:
:
after
{
.
el-tabs__nav-wrap
:
:
after
{
height
:
1px
;
}
}
.search
{
.search
{
position
:
absolute
;
right
:
8px
;
top
:
10px
;
...
...
@@ -1905,31 +1872,31 @@ export default {
.el-form-item--small.el-form-item
{
margin-bottom
:
0
;
}
.el-select
{
.el-select
{
width
:
108px
;
}
}
}
.list
{
.list
{
margin
:
0
16px
;
.item
{
border-bottom
:
1px
solid
#EFEFEF
;
.item
{
border-bottom
:
1px
solid
#efefef
;
padding
:
13px
0
;
.list-title
{
.list-title
{
font-size
:
16px
;
font-weight
:
700
;
color
:
#3D3D3D
;
color
:
#3d3d3d
;
line-height
:
20px
;
cursor
:
pointer
;
.list-titel-a
{
.list-titel-a
{
text-decoration
:
none
;
color
:
#3D3D3D
;
color
:
#3d3d3d
;
}
a
{
color
:
#3D3D3D
;
a
{
color
:
#3d3d3d
;
}
a
:hover
{
color
:
#0081FF
;
a
:hover
{
color
:
#0081ff
;
}
}
.list-content
{
...
...
@@ -1945,264 +1912,265 @@ export default {
font-size
:
14px
;
}
}
}
}
}
.pagination-box
{
.pagination-box
{
padding
:
16px
;
}
}
.empty
{
.empty
{
margin
:
0
auto
;
height
:
300px
;
text-align
:
center
;
.img
{
.img
{
width
:
108px
;
height
:
108px
;
margin-bottom
:
24px
;
margin-top
:
70px
;
}
.p1
{
.p1
{
color
:
#333333
;
font-size
:
16px
;
}
}
.content-left
{
.task-wrap
{
.content-left
{
.task-wrap
{
height
:
88px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
margin-bottom
:
12px
;
display
:
flex
;
justify-content
:
space-between
;
.item
{
.item
{
width
:
20%
;
display
:
flex
;
padding-left
:
16px
;
margin-right
:
9px
;
margin-top
:
14px
;
margin-bottom
:
14px
;
border-right
:
1px
solid
#EFEFEF
;
border-right
:
1px
solid
#efefef
;
cursor
:
pointer
;
.left
{
.left
{
width
:
48px
;
height
:
48px
;
margin-right
:
8px
;
}
.right
{
.title
{
.right
{
.title
{
font-size
:
12px
;
color
:
#3D3D3D
;
color
:
#3d3d3d
;
border-bottom
:
0
;
}
.number
{
.number
{
font-weight
:
bold
;
color
:
#3D3D3D
;
color
:
#3d3d3d
;
font-size
:
18px
;
padding
:
4px
0
;
}
.compare
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
.compare
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
12px
;
img
{
img
{
width
:
8px
;
height
:
10px
;
margin-left
:
4px
;
margin-bottom
:
-1px
;
}
.down
{
color
:
#FF3C3C
;
.down
{
color
:
#ff3c3c
;
}
.up
{
color
:
#0CBC6D
;
.up
{
color
:
#0cbc6d
;
}
}
}
}
.item
:nth-child
(
4
)
{
.item
:nth-child
(
4
)
{
border-right
:
0
;
}
.item
:last-child
{
.item
:last-child
{
border-right
:
0
;
}
.item
:hover
{
.right
{
.title
{
color
:
#0081FF
;
.item
:hover
{
.right
{
.title
{
color
:
#0081ff
;
}
.number
{
color
:
#0081FF
;
.number
{
color
:
#0081ff
;
}
}
}
.add
{
.add
{
padding-left
:
0
;
.yd
{
.yd
{
display
:
inline-block
;
width
:
5px
;
margin-right
:
10%
;
i
{
i
{
width
:
5px
;
height
:
5px
;
border-radius
:
2px
;
background
:
#E6E6E
9
;
background
:
#e6e6e
9
;
margin-bottom
:
6px
;
display
:
block
;
}
}
.btn
{
.btn
{
width
:
100%
;
height
:
60px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
/*border: 1px solid #E6E6E9;*/
color
:
#0081FF
;
color
:
#0081ff
;
line-height
:
64px
;
font-size
:
14px
;
margin-left
:
0
;
margin-right
:
7px
;
i
{
i
{
margin-right
:
4px
;
}
}
.btn
:hover
{
background
:
#F6F9FC
;
.btn
:hover
{
background
:
#f6f9fc
;
}
}
}
.content-wrap
{
.content-wrap
{
margin-bottom
:
12px
;
height
:
587px
;
.select-popper
{
margin-right
:
0
;
.select-popper
{
margin-right
:
0
;
}
.record
{
.record
{
height
:
587px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
position
:
relative
;
.list
{
.list
{
height
:
510px
;
overflow
:
hidden
;
.item
{
border-bottom
:
1px
solid
#EEEEEE
;
.item
{
border-bottom
:
1px
solid
#eeeeee
;
padding
:
16px
0
;
h3
{
h3
{
color
:
#232323
;
font-size
:
14px
;
font-weight
:
400
;
margin
:
0
;
}
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
margin-top
:
8px
;
span
{
span
{
margin-right
:
15px
;
}
}
}
.item
:last-child
{
.item
:last-child
{
border-bottom
:
0
;
}
}
.more
{
.more
{
text-align
:
center
;
color
:
#0081FF
;
color
:
#0081ff
;
font-size
:
14px
;
cursor
:
pointer
;
position
:
absolute
;
width
:
95%
;
height
:
60px
;
line-height
:
60px
;
background
:
linear-gradient
(
360deg
,
#FFFFFF
0%
,
#FFFFFF
17%
,
rgba
(
255
,
255
,
255
,
0
.6
)
100%
);
background
:
linear-gradient
(
360deg
,
#ffffff
0%
,
#ffffff
17%
,
rgba
(
255
,
255
,
255
,
0
.6
)
100%
);
bottom
:
0
;
}
}
.ranking
{
.ranking
{
height
:
587px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.main
{
.main
{
background
:
url("../assets/images/index/yjpm_bg.png")
;
background-size
:
100%
100%
;
height
:
525px
;
margin-top
:
10px
;
}
.amount
{
.amount
{
padding
:
16px
12px
;
p
{
p
{
display
:
flex
;
justify-content
:
space-between
;
}
span
{
span
{
font-weight
:
400
;
color
:
#184280
;
font-size
:
14px
;
}
.money
{
.money
{
font-weight
:
bold
;
color
:
#184280
;
font-size
:
18px
;
margin-top
:
2px
;
}
.money
:first-child
{
color
:
#48C5A
0
;
.money
:first-child
{
color
:
#48c5a
0
;
}
.money
:last-child
{
color
:
#60B0FD
;
.money
:last-child
{
color
:
#60b0fd
;
}
.progress1
{
.progress1
{
height
:
10px
!
important
;
margin-bottom
:
6px
;
margin-top
:
8px
;
::v-deep
.el-progress-bar__outer
{
.el-progress-bar__inner
{
background
:
#9AEAD3
margin-bottom
:
6px
;
margin-top
:
8px
;
::v-deep
.el-progress-bar__outer
{
.el-progress-bar__inner
{
background
:
#9aead3
;
}
}
}
.progress2
{
.progress2
{
height
:
10px
!
important
;
::v-deep
.el-progress-bar__outer
{
.el-progress-bar__inner
{
background
:
#92C9FF
::v-deep
.el-progress-bar__outer
{
.el-progress-bar__inner
{
background
:
#92c9ff
;
}
}
}
::v-deep
.el-progress-bar__outer
{
::v-deep
.el-progress-bar__outer
{
/*border: 1px solid #A2E8E8;*/
/*background-color:#ffffff !important;*/
height
:
10px
!
important
;
background-color
:
rgba
(
235
,
238
,
245
,
0%
)
!
important
;
border-radius
:
0
20px
20px
0
;
.el-progress-bar__inner
{
border-radius
:
0
20px
20px
0
;
.el-progress-bar__inner
{
/*<
!
--background
:
linear-gradient
(
-270deg
,
#C3F6F6
0%
,
#14C9C9
100%
);
--
>*/
border-radius
:
0
20px
20px
0
;
.el-progress-bar__innerText
{
border-radius
:
0
20px
20px
0
;
.el-progress-bar__innerText
{
color
:
#ffffff
;
opacity
:
0
;
}
}
}
}
}
.select-popper
{
.area
{
.select-popper
{
.area
{
font-size
:
14px
;
color
:
#232323
;
cursor
:
pointer
;
i
{
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
...
...
@@ -2212,12 +2180,12 @@ export default {
margin-left
:
4px
;
}
}
.month
{
.month
{
font-size
:
14px
;
color
:
#232323
;
margin-left
:
16px
;
cursor
:
pointer
;
i
{
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
...
...
@@ -2227,42 +2195,42 @@ export default {
margin-left
:
4px
;
}
}
.color
{
color
:
#0081FF
;
i
{
.color
{
color
:
#0081ff
;
i
{
background
:
url("../assets/images/index/sjx2.png")
;
background-size
:
100%
100%
;
}
}
}
.select-popper
:hover
{
.area
,
.month
{
color
:
#0081FF
;
i
{
.select-popper
:hover
{
.area
,
.month
{
color
:
#0081ff
;
i
{
background
:
url("../assets/images/index/sjx1.png")
;
background-size
:
100%
100%
;
}
}
}
}
.content-db
{
.content-db
{
height
:
263px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
margin-bottom
:
12px
;
padding
:
16px
;
overflow
:
hidden
;
.query-ability
{
color
:
#0081FF
;
.query-ability
{
color
:
#0081ff
;
font-size
:
14px
;
cursor
:
pointer
;
span
{
span
{
width
:
16px
;
height
:
16px
;
background
:
#FF3C3C
;
background
:
#ff3c3c
;
display
:
inline-block
;
color
:
#ffffff
;
color
:
#ffffff
;
font-size
:
12px
;
border-radius
:
50%
;
line-height
:
16px
;
...
...
@@ -2270,17 +2238,17 @@ export default {
margin-right
:
4px
;
}
}
.list
{
.list
{
margin-top
:
12px
;
}
.item
{
.item
{
min-height
:
62px
;
background
:
#F6F9FD
;
background
:
#f6f9fd
;
border-radius
:
6px
;
margin-bottom
:
8px
;
position
:
relative
;
padding
:
10px
16px
;
h3
{
h3
{
font-weight
:
400
;
color
:
#232323
;
font-size
:
14px
;
...
...
@@ -2288,65 +2256,65 @@ export default {
padding-bottom
:
6px
;
width
:
85%
;
}
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
span
{
span
{
margin-right
:
24px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
.btn
{
.btn
{
position
:
absolute
;
right
:
50px
;
top
:
22px
;
color
:
#0CBC6D
;
top
:
22px
;
color
:
#0cbc6d
;
font-size
:
12px
;
}
}
}
.analysis
{
.analysis
{
height
:
334px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
position
:
relative
;
.tabs
{
.label
{
.tabs
{
.label
{
display
:
inline-block
;
padding
:
0
14px
;
height
:
22px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
12px
;
line-height
:
22px
;
border-top
:
1px
solid
#EFEFEF
;
border-bottom
:
1px
solid
#EFEFEF
;
border-left
:
1px
solid
#EFEFEF
;
border-top
:
1px
solid
#efefef
;
border-bottom
:
1px
solid
#efefef
;
border-left
:
1px
solid
#efefef
;
cursor
:
pointer
;
}
.label
:first-child
{
.label
:first-child
{
border-radius
:
2px
0px
0px
2px
;
}
.label
:last-child
{
.label
:last-child
{
border-radius
:
0px
2px
2px
0px
;
border-right
:
1px
solid
#EFEFEF
;
border-right
:
1px
solid
#efefef
;
}
.color
{
background
:
#0081FF
;
color
:
#FFFFFF
;
.color
{
background
:
#0081ff
;
color
:
#ffffff
;
}
}
.select-popper
{
.select-popper
{
position
:
absolute
;
right
:
0
;
top
:
27px
;
z-index
:
99
;
.area
{
.area
{
font-size
:
14px
;
color
:
#232323
;
margin-left
:
16px
;
cursor
:
pointer
;
i
{
i
{
background
:
url("../assets/images/index/sjx.png")
;
background-size
:
100%
100%
;
width
:
10px
;
...
...
@@ -2357,73 +2325,79 @@ export default {
}
}
}
.select-popper
:hover
{
.area
,
.month
{
color
:
#0081FF
;
i
{
.select-popper
:hover
{
.area
,
.month
{
color
:
#0081ff
;
i
{
background
:
url("../assets/images/index/sjx1.png")
;
background-size
:
100%
100%
;
}
}
}
}
.trends
{
background
:
#FFFFFF
;
.trends
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
height
:
617px
;
overflow
:
hidden
;
position
:
relative
;
::v-deep
.el-tabs__header
{
::v-deep
.el-tabs__header
{
margin
:
0
0
18px
;
}
::v-deep
.el-tabs__content
{
::v-deep
.el-tabs__content
{
overflow-y
:
auto
;
height
:
567px
;
}
::v-deep
.el-timeline
{
.el-timeline-item
{
::v-deep
.el-timeline
{
.el-timeline-item
{
padding-bottom
:
18px
;
}
.el-timeline-item__tail
{
.el-timeline-item__tail
{
left
:
7px
;
border-left
:
2px
dotted
rgba
(
0
,
129
,
255
,
0
.5
);
border-left
:
2px
dotted
rgba
(
0
,
129
,
255
,
0
.5
);
}
.el-timeline-item__node
{
background-color
:
#ffffff
;
.el-timeline-item__icon
{
color
:
#0081FF
;
.el-timeline-item__node
{
background-color
:
#ffffff
;
.el-timeline-item__icon
{
color
:
#0081ff
;
font-size
:
14px
;
}
}
.el-timeline-item__node--normal
{
.el-timeline-item__node--normal
{
left
:
0px
;
width
:
16px
;
height
:
16px
;
}
}
.time
{
.time
{
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
.company
{
color
:
#0081FF
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
.company
{
color
:
#0081ff
;
margin-left
:
16px
;
}
}
.cont
{
background
:
#F6F9FD
;
.cont
{
background
:
#f6f9fd
;
border-radius
:
6px
;
padding
:
16px
;
margin-top
:
8px
;
font-size
:
14px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
16px
;
}
.check
{
.check
{
height
:
60px
;
background
:
linear-gradient
(
360deg
,
#FFFFFF
0%
,
#FFFFFF
17%
,
rgba
(
255
,
255
,
255
,
0
.6
)
100%
);
background
:
linear-gradient
(
360deg
,
#ffffff
0%
,
#ffffff
17%
,
rgba
(
255
,
255
,
255
,
0
.6
)
100%
);
font-size
:
16px
;
color
:
#0CBC6D
;
color
:
#0cbc6d
;
line-height
:
60px
;
text-align
:
center
;
width
:
100%
;
...
...
@@ -2431,31 +2405,30 @@ export default {
bottom
:
46px
;
cursor
:
pointer
;
}
}
}
.content-right
{
.user
{
.content-right
{
.user
{
height
:
88px
;
border-radius
:
4px
;
margin-bottom
:
12px
;
background-image
:
url("../assets/images/index/user_bg.png")
;
background-size
:
cover
;
padding-left
:
24px
;
h3
{
h3
{
font-weight
:
700
;
color
:
#1C1C
28
;
color
:
#1c1c
28
;
font-size
:
18px
;
padding-top
:
16px
;
padding-bottom
:
8px
;
margin
:
0px
;
span
{
span
{
height
:
20px
;
background
:
#FFF2E
2
;
background
:
#fff2e
2
;
display
:
inline-block
;
border-radius
:
11px
;
border
:
1px
solid
#FFB
010
;
color
:
#FFB
010
;
border
:
1px
solid
#ffb
010
;
color
:
#ffb
010
;
font-size
:
12px
;
line-height
:
20px
;
padding
:
0
10px
;
...
...
@@ -2463,76 +2436,76 @@ export default {
font-weight
:
400
;
}
}
p
{
p
{
color
:
#666666
;
font-size
:
16px
;
}
}
.search
{
.search
{
height
:
322px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
margin-bottom
:
12px
;
padding
:
16px
;
::v-deep
.el-input
{
::v-deep
.el-input
{
height
:
32px
;
border-radius
:
2px
;
margin-bottom
:
20px
;
margin-top
:
14px
;
.el-input__inner
{
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
background
:
#F3F3F
4
;
background
:
#f3f3f
4
;
padding-left
:
37px
;
border
:
0
;
}
.el-icon-search
{
.el-icon-search
{
font-size
:
16px
;
line-height
:
32px
;
color
:
#0081FF
;
color
:
#0081ff
;
margin-left
:
10px
;
margin-right
:
10px
;
}
}
.list
{
.list
{
display
:
flex
;
justify-content
:
space-between
;
.item
{
.item
{
margin
:
0
auto
;
width
:
33
.3%
;
height
:
94px
;
text-align
:
center
;
cursor
:
pointer
;
img
{
img
{
width
:
40px
;
height
:
40px
;
margin-top
:
16px
;
}
p
{
color
:
#3D3D3D
;
p
{
color
:
#3d3d3d
;
font-size
:
12px
;
}
}
.item
:hover
{
background
:
#F6F9FC
;
.item
:hover
{
background
:
#f6f9fc
;
}
}
}
.zbgg
{
.zbgg
{
height
:
599px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.list
{
.list
{
margin-top
:
16px
;
}
.item
{
border-bottom
:
1px
solid
#EEEEEE
;
.item
{
border-bottom
:
1px
solid
#eeeeee
;
padding
:
10px
0
;
cursor
:
pointer
;
h3
{
h3
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
padding-bottom
:
8px
;
margin
:
0
;
...
...
@@ -2540,41 +2513,41 @@ export default {
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
span
{
span
{
margin-right
:
15px
;
}
}
}
.item
:hover
{
h3
{
color
:
#0081FF
;
.item
:hover
{
h3
{
color
:
#0081ff
;
}
}
.item
:last-child
{
.item
:last-child
{
border-bottom
:
0
;
}
}
.zbhxr
{
.zbhxr
{
height
:
558px
;
background
:
#FFFFFF
;
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.list
{
.list
{
margin-top
:
16px
;
}
.item
{
border-bottom
:
1px
solid
#EEEEEE
;
.item
{
border-bottom
:
1px
solid
#eeeeee
;
padding
:
10px
0
;
cursor
:
pointer
;
h3
{
h3
{
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-size
:
14px
;
padding-bottom
:
8px
;
margin
:
0
;
...
...
@@ -2582,27 +2555,27 @@ export default {
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
p
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
font-size
:
14px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
span
{
span
{
margin-right
:
15px
;
}
}
}
.item
:hover
{
h3
{
color
:
#0081FF
;
.item
:hover
{
h3
{
color
:
#0081ff
;
}
}
.item
:last-child
{
.item
:last-child
{
border-bottom
:
0
;
}
}
}
}
}
</
style
>
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