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
7c63410d
Commit
7c63410d
authored
Aug 11, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
c7500d25
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
893 additions
and
1 deletion
+893
-1
groupAccount.js
dsk-operate-ui/src/api/detail/groupAccount/groupAccount.js
+45
-0
index.js
dsk-operate-ui/src/router/index.js
+16
-0
Sidebar.vue
...te-ui/src/views/detail/groupAccount/component/Sidebar.vue
+209
-0
members.vue
...te-ui/src/views/detail/groupAccount/component/members.vue
+191
-0
performance.vue
...i/src/views/detail/groupAccount/component/performance.vue
+146
-0
qualifications.vue
...rc/views/detail/groupAccount/component/qualifications.vue
+140
-0
skeleton.vue
...e-ui/src/views/detail/groupAccount/component/skeleton.vue
+29
-0
index.vue
dsk-operate-ui/src/views/detail/groupAccount/index.vue
+112
-0
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+3
-0
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+2
-1
No files found.
dsk-operate-ui/src/api/detail/groupAccount/groupAccount.js
0 → 100644
View file @
7c63410d
import
request
from
"@/utils/request"
;
// 集团成员列表
export
function
memberList
(
data
)
{
return
request
({
url
:
'/combine/info/memberList'
,
method
:
'post'
,
data
:
data
})
}
// 集团成员-主营业务
export
function
memberCount
(
data
)
{
return
request
({
url
:
'/combine/info/group/memberCount'
,
method
:
'post'
,
data
:
data
})
}
// 集团成员资质列表
export
function
memberCertificateList
(
data
)
{
return
request
({
url
:
'/combine/info/certificateList'
,
method
:
'post'
,
data
:
data
})
}
// 集团业绩列表
export
function
businessList
(
data
)
{
return
request
({
url
:
'/combine/info/businessList'
,
method
:
'post'
,
data
:
data
})
}
// 集团资质列表
export
function
certificateList
(
data
)
{
return
request
({
url
:
'/combine/info/certificateList'
,
method
:
'post'
,
data
:
data
})
}
dsk-operate-ui/src/router/index.js
View file @
7c63410d
...
...
@@ -77,6 +77,7 @@ export const constantRoutes = [
{
path
:
''
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'urban'
,
children
:
[
{
...
...
@@ -101,6 +102,21 @@ export const constantRoutes = [
}
]
},
{
path
:
'/groupAccount'
,
component
:
Layout
,
hidden
:
true
,
name
:
'Enterprise'
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/groupAccount/:id'
,
component
:
()
=>
import
(
'@/views/detail/groupAccount/index'
),
name
:
'groupAccount'
,
meta
:
{
title
:
'集团户详情'
,
icon
:
'enterprise'
,
noCache
:
false
},
}
]
},
{
path
:
'/enterprise'
,
component
:
Layout
,
...
...
dsk-operate-ui/src/views/detail/groupAccount/component/Sidebar.vue
0 → 100644
View file @
7c63410d
<
template
>
<div
id=
"detailPart"
class=
"sides-container"
:style=
"sideHeight?'height:'+sideHeight+'px':''"
>
<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>
</el-input>
<el-menu
ref=
"sideMenu"
:unique-opened=
"true"
:default-active=
"searchIndex?searchIndex:routeIndex"
class=
"detail-menu"
@
open=
"handleOpen"
>
<template
v-for=
"(item, index) in sideRoute"
>
<template>
<el-menu-item
:index=
"index.toString()"
@
click=
"handleItem(item)"
>
{{
item
.
title
}}
</el-menu-item>
</
template
>
</template>
</el-menu>
</div>
</template>
<
script
>
export
default
{
name
:
'Sidebar'
,
props
:
{
partBoxHeight
:
{
type
:
Number
,
default
:
null
},
pathName
:
{
type
:
String
,
default
:
null
},
customerId
:
{
type
:
String
,
default
:
''
},
isCompany
:
{
type
:
Boolean
,
default
:
true
},
},
data
()
{
return
{
searchText
:
''
,
sideRoute
:
[
{
title
:
'集团成员'
,
pathName
:
'members'
},
{
title
:
'集团资质'
,
pathName
:
'qualifications'
},
{
title
:
'集团业绩'
,
pathName
:
'performance'
},
],
defaultRoute
:
[],
customer
:[
'members'
,
'qualifications'
,
'performance'
,
],
uniqueOpened
:
false
,
searchIndex
:
''
}
},
computed
:
{
sideHeight
()
{
let
sideHeight
=
document
.
getElementById
(
"detailPart"
)?
document
.
getElementById
(
"detailPart"
).
offsetHeight
:
null
,
bowerHeight
=
document
.
body
.
clientHeight
-
170
||
null
if
(
this
.
partBoxHeight
<
bowerHeight
)
{
sideHeight
=
bowerHeight
}
else
{
sideHeight
=
'1222'
/*this.partBoxHeight*/
}
return
sideHeight
},
routeIndex
(){
let
idx
=
this
.
getRouteIdx
(
''
,
this
.
pathName
)
||
'0-0'
return
idx
}
},
created
()
{
this
.
defaultRoute
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
sideRoute
))
},
watch
:{
},
methods
:
{
handleOpen
(
key
,
keyPath
)
{
},
handleItem
(
item
){
this
.
$emit
(
"currentPath"
,
item
)
},
handleSearch
(
flag
){
if
((
this
.
searchText
&&!
flag
)
||
(
!
this
.
searchText
&&
flag
)){
let
idx
=
this
.
getRouteIdx
(
this
.
searchText
)
if
(
idx
){
if
(
idx
.
includes
(
'-'
)){
let
openIdx
=
idx
.
slice
(
0
,
1
)
this
.
sideRoute
=
[
this
.
defaultRoute
[
openIdx
]]
this
.
$refs
.
sideMenu
.
open
(
openIdx
)
}
else
{
this
.
sideRoute
=
[
this
.
defaultRoute
[
idx
]]
}
this
.
searchIndex
=
'-1'
}
else
{
this
.
sideRoute
=
this
.
defaultRoute
this
.
searchIndex
=
''
}
}
},
getRouteIdx
(
pathTitle
,
pathName
){
let
idx
=
''
,
sideArr
=
this
.
sideRoute
==
this
.
defaultRoute
?
this
.
sideRoute
:
this
.
defaultRoute
for
(
let
i
=
0
;
i
<
sideArr
.
length
;
i
++
){
if
(
sideArr
[
i
].
title
==
pathTitle
||
sideArr
[
i
].
pathName
==
pathName
){
idx
=
i
.
toString
()
break
}
else
if
(
sideArr
[
i
].
children
){
for
(
let
j
=
0
;
j
<
sideArr
[
i
].
children
.
length
;
j
++
){
if
(
sideArr
[
i
].
children
[
j
].
title
==
pathTitle
||
sideArr
[
i
].
children
[
j
].
pathName
==
pathName
){
idx
=
i
+
'-'
+
j
break
}
}
}
}
return
idx
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
#app
{
.sides-container
{
width
:
144px
;
min-height
:
calc
(
100vh
-
170px
);
padding-bottom
:
20px
;
background
:
#FFFFFF
;
border-radius
:
4px
;
.side-input
{
width
:
128px
;
margin-top
:
16px
;
margin-left
:
8px
;
border
:
0
;
::v-deep
.el-input__inner
{
height
:
32px
;
background
:
#F3F3F4
;
border-radius
:
20px
;
border
:
0
;
&
:
:
placeholder
{
color
:
#3D3D3D
;
}
}
.el-icon-search
{
line-height
:
34px
;
color
:
#0081FF
;
cursor
:
pointer
;
}
}
.detail-menu
{
margin-top
:
20px
;
border-right
:
0
;
::v-deep
.el-menu-item
,
::v-deep
.el-submenu__title
{
height
:
30px
;
line-height
:
30px
;
font-size
:
14px
;
color
:
#232323
;
padding
:
0
0
0
16px
!
important
;
text-align
:
initial
!
important
;
&
:hover
,
&
:focus
,
&
.is-active
{
color
:
#0081FF
!
important
;
background
:
linear-gradient
(
91deg
,
rgba
(
0
,
129
,
255
,
0
.1
)
0%
,
rgba
(
0
,
129
,
255
,
0
)
100%
);;
}
.el-submenu__icon-arrow
{
color
:
#232323
;
right
:
48px
;
margin-top
:
-5px
;
}
}
.is-disabled
:hover
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
!
important
;
&
:before
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
)
!
important
;
}
}
::v-deep
.el-submenu
.el-menu-item
{
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding
:
0
0
0
27px
!
important
;
min-width
:
144px
!
important
;
position
:
relative
;
&
:before
{
content
:
""
;
position
:
absolute
;
top
:
14px
;
left
:
21px
;
width
:
2px
;
height
:
2px
;
background
:
#0081FF
;
border-radius
:
50%
;
}
}
}
}
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/members.vue
0 → 100644
View file @
7c63410d
<
template
>
<div
class=
"members"
>
<head-form
title=
"集团成员"
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"false"
@
handle-search=
"handleSearch"
/>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"companyName"
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.uipId?`/enterprise/$
{encodeStr(scope.row.companyId)}`:`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId
&&
scope.row.companyName" v-html="scope.row.companyName">
</router-link>
<div
v-else
v-html=
"scope.row.companyName || '--'"
></div>
</
template
>
</tables>
</div>
</template>
<
script
>
import
Skeleton
from
"./skeleton"
import
{
encodeStr
}
from
"@/assets/js/common"
import
Tables
from
"../../party-a/component/Tables"
import
HeadForm
from
"../../party-a/component/HeadForm"
import
{
memberList
,
memberCount
}
from
'@/api/detail/groupAccount/groupAccount'
export
default
{
name
:
'members'
,
props
:
[
'companyId'
],
components
:{
Skeleton
,
Tables
,
HeadForm
},
data
(){
return
{
encodeStr
,
isSkeleton
:
true
,
tableLoading
:
false
,
isDetails
:
false
,
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
queryParams
:
{
combineId
:
'81de7ca2a967d91c2afad9cb5fc30e6d'
,
pageNum
:
1
,
pageSize
:
20
},
forData
:
[
{
label
:
'企业名称'
,
prop
:
'companyName'
,
minWidth
:
'200'
,
slot
:
true
},
{
label
:
'成员层级'
,
prop
:
'combineMemberLevel'
,
minWidth
:
'100'
},
{
label
:
'法定代表人'
,
prop
:
'corporatePerson'
,
minWidth
:
'100'
},
{
label
:
'注册资本'
,
prop
:
'regCapital'
,
minWidth
:
'150'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
},
{
label
:
'持股比例(%)'
,
prop
:
'stockPercent'
,
minWidth
:
'150'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
},
{
label
:
'成立日期'
,
prop
:
'registeredDate'
,
minWidth
:
'150'
},
{
label
:
'企业地区'
,
prop
:
'address'
,
minWidth
:
'150'
},
],
formData
:
[
{
type
:
4
,
fieldName
:
'combineMemberLevel'
,
value
:
''
,
placeholder
:
'成员层级'
,
options
:[]},
{
type
:
4
,
fieldName
:
'combineMemberLevel'
,
value
:
''
,
placeholder
:
'主营业务'
,
options
:[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入关键词查询'
},
],
cycj
:[
{
name
:
'子集团'
,
value
:
'子集团'
},
{
name
:
'集团本身'
,
value
:
'集团本身'
},
{
name
:
'一级子公司'
,
value
:
'一级子公司'
},
{
name
:
'二级子公司'
,
value
:
'二级子公司'
},
{
name
:
'三级子公司'
,
value
:
'三级子公司'
},
],
kjxqy
:[
{
name
:
'高新技术企业'
,
value
:
'3.2.1.'
},
{
name
:
'科技型中小企业'
,
value
:
'3.2.2.'
},
{
name
:
'国家级企业技术中心'
,
value
:
'3.2.3.'
},
{
name
:
'省级企业技术中心'
,
value
:
'3.2.4.'
},
{
name
:
'专精特新'
,
value
:
'3.2.5.'
},
{
name
:
'雏鹰企业'
,
value
:
'3.2.6.'
},
{
name
:
'小巨人企业'
,
value
:
'3.2.7.'
},
],
tableData
:[],
tableDataTotal
:
0
,
}
},
created
()
{
this
.
handleQuery
()
this
.
getMemberCount
()
this
.
formData
[
0
].
options
=
this
.
cycj
;
},
methods
:
{
//主营业务
getMemberCount
(){
memberCount
({
combineId
:
this
.
queryParams
.
combineId
}).
then
(
res
=>
{
let
data
=
res
.
data
for
(
let
key
in
data
){
this
.
formData
[
1
].
options
.
push
({
name
:
key
+
'('
+
data
[
key
]
+
')'
,
value
:
key
,
})
}
})
},
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
memberList
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
})
},
formParams
(){
},
handleSearch
(){
},
//分页
handleCurrentChange
(
e
){
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
// this.handleQuery(params)
},
handleSizeChange
(
e
){
},
//排序
sortChange
(
e
){
let
item
=
this
.
forData
.
find
(
item
=>
item
.
prop
===
e
.
prop
)
this
.
queryParams
.
sort
=
item
[
e
.
order
]
this
.
handleSearch
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.members
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.headForm
{
margin-bottom
:
14px
;
.common-title
{
margin-right
:
24px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/performance.vue
0 → 100644
View file @
7c63410d
<
template
>
<div
class=
"performance"
>
<head-form
title=
"集团业绩"
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"false"
@
handle-search=
"handleSearch"
/>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"companyCount"
slot-scope=
"scope"
>
<div
v-html=
"scope.row.companyCount || '--'"
></div>
</
template
>
</tables>
</div>
</template>
<
script
>
import
Skeleton
from
"./skeleton"
import
{
encodeStr
}
from
"@/assets/js/common"
import
Tables
from
"../../party-a/component/Tables"
import
HeadForm
from
"../../party-a/component/HeadForm"
import
{
memberCertificateList
}
from
'@/api/detail/groupAccount/groupAccount'
export
default
{
name
:
'qualifications'
,
props
:
[
'companyId'
],
components
:{
Skeleton
,
Tables
,
HeadForm
},
data
(){
return
{
encodeStr
,
isSkeleton
:
true
,
tableLoading
:
false
,
isDetails
:
false
,
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
queryParams
:
{
combineId
:
'81de7ca2a967d91c2afad9cb5fc30e6d'
,
pageNum
:
1
,
pageSize
:
20
},
forData
:
[
{
label
:
'中标时间'
,
prop
:
'qualificationName'
,
minWidth
:
'100'
},
{
label
:
'中标成员'
,
prop
:
'companyCount'
,
slot
:
true
,
minWidth
:
'150'
},
{
label
:
'项目名称'
,
prop
:
'companyCount'
,
slot
:
true
,
minWidth
:
'200'
},
{
label
:
'中标金额(万元)'
,
prop
:
'companyCount'
,
minWidth
:
'150'
},
{
label
:
'中标地区'
,
prop
:
'companyCount'
,
minWidth
:
'100'
},
{
label
:
'业绩类型'
,
prop
:
'companyCount'
,
minWidth
:
'100'
},
{
label
:
'项目类型'
,
prop
:
'companyCount'
,
minWidth
:
'100'
},
{
label
:
'业主单位'
,
prop
:
'companyCount'
,
slot
:
true
,
minWidth
:
'200'
},
],
formData
:
[
{
type
:
4
,
fieldName
:
'combineMemberLevel'
,
value
:
''
,
placeholder
:
'筛选'
,
options
:[]},
],
cycj
:[
{
name
:
'子集团'
,
value
:
'子集团'
},
{
name
:
'集团本身'
,
value
:
'集团本身'
},
{
name
:
'一级子公司'
,
value
:
'一级子公司'
},
{
name
:
'二级子公司'
,
value
:
'二级子公司'
},
{
name
:
'三级子公司'
,
value
:
'三级子公司'
},
],
tableData
:[],
tableDataTotal
:
0
,
}
},
created
()
{
this
.
handleQuery
()
this
.
formData
[
0
].
options
=
this
.
cycj
;
},
methods
:
{
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
memberCertificateList
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
})
},
formParams
(){
},
handleSearch
(){
},
//分页
handleCurrentChange
(
e
){
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
// this.handleQuery(params)
},
handleSizeChange
(
e
){
},
//排序
sortChange
(
e
){
let
item
=
this
.
forData
.
find
(
item
=>
item
.
prop
===
e
.
prop
)
this
.
queryParams
.
sort
=
item
[
e
.
order
]
this
.
handleSearch
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.performance
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.headForm
{
margin-bottom
:
14px
;
.common-title
{
margin-right
:
24px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/qualifications.vue
0 → 100644
View file @
7c63410d
<
template
>
<div
class=
"qualifications"
>
<head-form
title=
"集团资质"
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"false"
@
handle-search=
"handleSearch"
/>
<skeleton
style=
"margin-left:16px;"
v-if=
"isSkeleton"
></skeleton>
<tables
v-if=
"!isSkeleton"
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"companyCount"
slot-scope=
"scope"
>
<div
v-html=
"scope.row.companyCount || '--'"
></div>
</
template
>
</tables>
</div>
</template>
<
script
>
import
Skeleton
from
"./skeleton"
import
{
encodeStr
}
from
"@/assets/js/common"
import
Tables
from
"../../party-a/component/Tables"
import
HeadForm
from
"../../party-a/component/HeadForm"
import
{
memberCertificateList
}
from
'@/api/detail/groupAccount/groupAccount'
export
default
{
name
:
'qualifications'
,
props
:
[
'companyId'
],
components
:{
Skeleton
,
Tables
,
HeadForm
},
data
(){
return
{
encodeStr
,
isSkeleton
:
true
,
tableLoading
:
false
,
isDetails
:
false
,
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
queryParams
:
{
combineId
:
'81de7ca2a967d91c2afad9cb5fc30e6d'
,
pageNum
:
1
,
pageSize
:
20
},
forData
:
[
{
label
:
'资质名称'
,
prop
:
'qualificationName'
},
{
label
:
'拥有该资质成员'
,
prop
:
'companyCount'
,
slot
:
true
},
],
formData
:
[
{
type
:
4
,
fieldName
:
'combineMemberLevel'
,
value
:
''
,
placeholder
:
'筛选'
,
options
:[]},
],
cycj
:[
{
name
:
'子集团'
,
value
:
'子集团'
},
{
name
:
'集团本身'
,
value
:
'集团本身'
},
{
name
:
'一级子公司'
,
value
:
'一级子公司'
},
{
name
:
'二级子公司'
,
value
:
'二级子公司'
},
{
name
:
'三级子公司'
,
value
:
'三级子公司'
},
],
tableData
:[],
tableDataTotal
:
0
,
}
},
created
()
{
this
.
handleQuery
()
this
.
formData
[
0
].
options
=
this
.
cycj
;
},
methods
:
{
handleQuery
(
params
){
this
.
isSkeleton
=
true
let
data
=
params
?
params
:
this
.
queryParams
memberCertificateList
(
data
).
then
(
res
=>
{
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
this
.
isSkeleton
=
false
})
},
formParams
(){
},
handleSearch
(){
},
//分页
handleCurrentChange
(
e
){
let
params
=
this
.
formParams
()
params
.
pageNum
=
e
this
.
queryParams
.
pageNum
=
e
// this.handleQuery(params)
},
handleSizeChange
(
e
){
},
//排序
sortChange
(
e
){
let
item
=
this
.
forData
.
find
(
item
=>
item
.
prop
===
e
.
prop
)
this
.
queryParams
.
sort
=
item
[
e
.
order
]
this
.
handleSearch
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.qualifications
{
background
:
#ffffff
;
border-radius
:
4px
;
padding
:
16px
;
.headForm
{
margin-bottom
:
14px
;
.common-title
{
margin-right
:
24px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/component/skeleton.vue
0 → 100644
View file @
7c63410d
<
template
>
<el-skeleton
animated
>
<template
slot=
"template"
>
<el-skeleton-item
variant=
"text"
style=
"width: 60%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 60%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
<el-skeleton-item
variant=
"text"
style=
"width: 100%;"
/>
</
template
>
</el-skeleton>
</template>
<
script
>
export
default
{
name
:
'skeleton'
}
</
script
>
<
style
lang=
"scss"
scoped
>
.el-skeleton__item
{
height
:
20px
;
border-radius
:
0
;
margin
:
9px
0
;
background
:
#f0f0f0
;
}
</
style
>
dsk-operate-ui/src/views/detail/groupAccount/index.vue
0 → 100644
View file @
7c63410d
<
template
>
<div
class=
"app-container group-container"
>
<Header
:company-id=
"companyId"
:companyInfo=
"companyInfo"
:cooDetail=
"cooDetail"
v-if=
"companyId"
:isCompany=
"isCompany"
/>
<div
class=
"flex-box group-main"
>
<div
class=
"group-left"
>
<side-bar
ref=
"sidebar"
@
currentPath=
"showPartPage"
:pathName=
"currentPath.pathName"
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
/>
</div>
<div
class=
"group-right"
>
<div
id=
"groupBox"
v-if=
"companyId"
>
<Members
v-if=
"currentPath.pathName=='members'"
:company-id=
"companyId"
:isSkeleton=
"isSkeleton"
:companyInfo=
"companyInfo"
/>
<Qualifications
v-if=
"currentPath.pathName=='qualifications'"
:company-id=
"companyId"
:isSkeleton=
"isSkeleton"
:companyInfo=
"companyInfo"
/>
<Performance
v-if=
"currentPath.pathName=='performance'"
:company-id=
"companyId"
:isSkeleton=
"isSkeleton"
:companyInfo=
"companyInfo"
/>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
idRemark
}
from
'@/api/common'
import
Header
from
"../party-a/component/Header"
import
SideBar
from
"./component/Sidebar"
import
Members
from
"./component/members"
import
Qualifications
from
"./component/qualifications"
import
Performance
from
"./component/performance"
import
{
infoHeader
}
from
'@/api/detail/party-a/index'
import
elementResizeDetectorMaker
from
"element-resize-detector"
export
default
{
name
:
'GroupAccount'
,
components
:{
Header
,
SideBar
,
Members
,
Qualifications
,
Performance
},
data
(){
return
{
companyId
:
''
,
//企业Id(测试默认3068)
customerId
:
''
,
//企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
companyInfo
:
{},
cooDetail
:
{},
currentPath
:
{
pathName
:
'members'
//默认展示页
},
partBoxHeight
:
null
,
isCompany
:
false
,
}
},
created
()
{
if
(
this
.
$route
.
params
.
id
)
{
// 获取companyId
let
companyId
=
this
.
$route
.
params
.
id
this
.
getCompanyId
(
companyId
)
}
if
(
this
.
$route
.
query
.
path
)
{
// 获取跳转对应板块
this
.
currentPath
.
pathName
=
this
.
$route
.
query
.
path
}
},
mounted
(){
},
methods
:
{
showPartPage
(
e
){
this
.
currentPath
=
e
},
// 解密
async
getCompanyId
(
companyId
){
let
{
data
}
=
await
idRemark
({
mark
:
companyId
})
if
(
data
){
this
.
companyId
=
data
this
.
$nextTick
(()
=>
{
this
.
listenSider
()
})
this
.
handleQuery
();
}
},
async
handleQuery
()
{
this
.
isSkeleton
=
true
;
let
res
=
await
infoHeader
({
companyId
:
this
.
companyId
})
if
(
res
.
code
==
200
){
this
.
isSkeleton
=
false
;
this
.
companyInfo
=
res
.
data
||
{}
// if(this.companyInfo && this.companyInfo.companyName){
// this.$nextTick(()=>{
// document.getElementById('tagTitle').innerText = this.companyInfo.companyName
// })
// }
}
},
listenSider
(){
const
_this
=
this
,
erd
=
elementResizeDetectorMaker
(),
partBox
=
document
.
getElementById
(
"groupBox"
)
erd
.
listenTo
(
partBox
,
element
=>
{
_this
.
partBoxHeight
=
partBox
.
offsetHeight
})
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.group-container
{
padding
:
0
;
}
.group-main
{
margin-top
:
12px
;
align-items
:
initial
;
}
.group-left
{
margin-right
:
16px
;
}
.group-right
{
min-width
:
1088px
;
width
:
100%
;
background
:
#FFFFFF
;
border-radius
:
4px
;
}
</
style
>
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
7c63410d
...
...
@@ -144,6 +144,9 @@ export default {
}
},
created
()
{
console
.
log
(
this
.
formData
)
},
components
:
{
CustomTimeSelect
,
CustomMoneySelect
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
7c63410d
...
...
@@ -162,7 +162,8 @@
</el-table-column>
<el-table-column
prop=
"companyName"
label=
"公司名称"
width=
"300"
fixed
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"`/enterprise/$
{encodeStr(scope.row.companyId)}`" tag="a" class="a-link companyName" v-html="scope.row.companyName" >
</router-link>
<router-link
:to=
"`/groupAccount/$
{encodeStr(scope.row.companyId)}`" tag="a" class="a-link companyName" v-html="scope.row.companyName" >
</router-link>
<!--
<router-link
:to=
"`/enterprise/$
{encodeStr(scope.row.companyId)}`" tag="a" class="a-link companyName" v-html="scope.row.companyName" >
</router-link>
-->
<span
@
click=
"handleClick(scope.row)"
class=
"table-span"
style=
"color: #3D3D3D;cursor: pointer;"
v-if=
"scope.row.claimStatus === null || scope.row.claimStatus === 1"
><img
src=
"@/assets/images/urban/rl_icon1.png"
/>
认领
</span>
<span
@
click=
"cancelClaim(scope.row.companyName)"
class=
"table-span"
style=
"color: rgba(35,35,35,0.4);cursor: pointer;"
v-if=
"scope.row.claimStatus === 0"
><img
src=
"@/assets/images/urban/rl_icon2.png"
/>
已认领
</span>
</
template
>
...
...
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