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
76af4e7c
Commit
76af4e7c
authored
Jul 12, 2023
by
yht15023815643
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
业主详情优化
parent
963df5ab
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
265 additions
and
19 deletions
+265
-19
index.js
dsk-operate-ui/src/api/detail/party-a/index.js
+8
-0
index.scss
dsk-operate-ui/src/assets/styles/index.scss
+8
-0
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+137
-0
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+11
-3
biddingplan.vue
...perate-ui/src/views/detail/party-a/opport/biddingplan.vue
+5
-1
proposed.vue
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
+1
-1
relationship.vue
.../views/detail/party-a/overview/component/relationship.vue
+41
-1
tender.vue
...ui/src/views/detail/party-a/overview/component/tender.vue
+53
-12
overseas.vue
...operate-ui/src/views/detail/party-a/overview/overseas.vue
+1
-1
No files found.
dsk-operate-ui/src/api/detail/party-a/index.js
View file @
76af4e7c
...
...
@@ -8,3 +8,11 @@ export function infoHeader(data) {
data
:
data
})
}
//企业数据统计
export
function
statistic
(
data
)
{
return
request
({
url
:
'/enterprise/statistic'
,
method
:
'post'
,
data
:
data
})
}
dsk-operate-ui/src/assets/styles/index.scss
View file @
76af4e7c
...
...
@@ -202,6 +202,14 @@ aside {
white-space
:
nowrap
;
overflow
:
hidden
;
}
.text-cl2
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
-webkit-line-clamp
:
2
;
line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
ul
,
li
{
list-style
:
none
;
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
76af4e7c
...
...
@@ -50,6 +50,10 @@ export default {
type
:
Boolean
,
default
:
true
},
statisticObj
:{
type
:
Object
,
default
:
{}
},
isCustomer
:
{
type
:
Boolean
,
default
:
false
...
...
@@ -143,6 +147,139 @@ export default {
created
()
{
this
.
defaultRoute
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
sideRoute
))
},
watch
:{
statisticObj
:{
handler
(
val
)
{
let
arr
=
JSON
.
parse
(
JSON
.
stringify
(
val
))
for
(
var
i
in
arr
){
for
(
var
j
in
arr
[
i
]){
switch
(
j
)
{
case
'ownershipStructure'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
0
].
children
[
2
].
disabled
=
true
;
}
break
;
case
'leadingMember'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
0
].
children
[
3
].
disabled
=
true
;
}
break
;
case
'outboundInvestment'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
0
].
children
[
4
].
disabled
=
true
;
}
break
;
case
'branch'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
0
].
children
[
5
].
disabled
=
true
;
}
break
;
case
'landInfo'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
0
].
disabled
=
true
;
}
break
;
case
'busProposedProjectV1'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
1
].
disabled
=
true
;
}
break
;
case
'specialDebt'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
2
].
disabled
=
true
;
}
break
;
case
'bidPlan'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
3
].
disabled
=
true
;
}
break
;
case
'biddingAnnouncement'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
4
].
disabled
=
true
;
}
break
;
case
'proCount'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
5
].
disabled
=
true
;
}
break
;
case
'adminLicensing'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
2
].
children
[
6
].
disabled
=
true
;
}
break
;
case
'customer'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
3
].
children
[
0
].
disabled
=
true
;
}
break
;
case
'supplier'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
3
].
children
[
1
].
disabled
=
true
;
}
break
;
case
'coopBiddingAgency'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
3
].
children
[
2
].
disabled
=
true
;
}
break
;
case
'historySend'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
3
].
children
[
3
].
disabled
=
true
;
}
break
;
case
'tenderRecordV1'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
3
].
children
[
4
].
disabled
=
true
;
}
break
;
case
'adminSanction'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
0
].
disabled
=
true
;
}
break
;
case
'abnormalOperation'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
1
].
disabled
=
true
;
}
break
;
case
'dishonestExecutee'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
2
].
disabled
=
true
;
}
break
;
case
'dishonestExecutor'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
3
].
disabled
=
true
;
}
break
;
case
'adjudicativeDoc'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
4
].
disabled
=
true
;
}
break
;
case
'courtAnnouncement'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
5
].
disabled
=
true
;
}
break
;
case
'openAnnouncement'
:
if
(
arr
[
i
][
j
]
<
1
){
this
.
sideRoute
[
5
].
children
[
6
].
disabled
=
true
;
}
break
;
default
:
break
;
}
}
}
}
}
},
methods
:
{
handleOpen
(
key
,
keyPath
)
{
...
...
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
76af4e7c
...
...
@@ -3,7 +3,7 @@
<Header
:company-id=
"companyId"
:companyInfo=
"companyInfo"
:cooDetail=
"cooDetail"
v-if=
"companyId"
@
close-detail=
"closeDetail"
/>
<div
class=
"flex-box part-main"
>
<div
class=
"part-left"
>
<side-bar
@
currentPath=
"showPartPage"
:pathName=
"currentPath.pathName"
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
:isCompany=
"isCompany"
:isCustomer=
"isCustomer"
/>
<side-bar
:statisticObj=
"statisticObj"
@
currentPath=
"showPartPage"
:pathName=
"currentPath.pathName"
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
:isCompany=
"isCompany"
:isCustomer=
"isCustomer"
/>
</div>
<div
class=
"part-right"
>
<div
id=
"partBox"
v-if=
"companyId"
>
...
...
@@ -64,7 +64,7 @@
<
script
>
import
{
idRemark
}
from
'@/api/common'
import
{
infoHeader
}
from
'@/api/detail/party-a/index'
import
{
infoHeader
,
statistic
}
from
'@/api/detail/party-a/index'
import
{
customerInfo
}
from
'@/api/detail/party-a/cooperate'
import
elementResizeDetectorMaker
from
"element-resize-detector"
import
Header
from
"./component/Header"
...
...
@@ -156,6 +156,7 @@ export default {
currentPath
:
{
pathName
:
'overview'
//默认展示页
},
statisticObj
:{},
partBoxHeight
:
null
,
cooDetail
:
false
}
...
...
@@ -234,10 +235,17 @@ export default {
this
.
$nextTick
(()
=>
{
this
.
listenSider
()
})
this
.
handleQuery
()
this
.
getStatistic
();
this
.
handleQuery
();
this
.
association
(
this
.
$route
.
query
.
customerId
)
}
},
async
getStatistic
(){
let
res
=
await
statistic
({
companyId
:
this
.
companyId
});
if
(
res
.
code
==
200
){
this
.
statisticObj
=
res
.
data
}
},
async
handleQuery
()
{
let
res
=
await
infoHeader
({
companyId
:
this
.
companyId
})
if
(
res
.
code
==
200
){
...
...
dsk-operate-ui/src/views/detail/party-a/opport/biddingplan.vue
View file @
76af4e7c
...
...
@@ -5,6 +5,7 @@
:form-data=
"formData"
:query-params=
"queryParams"
:isExcel=
"true"
@
handle-search=
"handleSearch"
:total=
"tableDataTotal"
/>
...
...
@@ -59,7 +60,10 @@ export default {
{
label
:
'标的物类型'
,
prop
:
'objectType'
,
minWidth
:
'100'
}
,
{
label
:
'预计招标日期'
,
prop
:
'planTenderDateStart'
,
sortable
:
'custom'
,
descending
:
'15'
,
ascending
:
'16'
,
minWidth
:
'110'
}
],
formData
:
[],
formData
:
[
{
type
:
4
,
fieldName
:
'buildingProjectType'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[]
}
,
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[],
width
:
220
}
],
//列表
tableLoading
:
false
,
tableData
:[],
...
...
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
View file @
76af4e7c
...
...
@@ -52,7 +52,7 @@ export default {
defaultSort
:
{
prop
:
'planStartTime'
,
order
:
'descending'
},
forData
:
[
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'成交金额(万元)'
,
prop
:
'money'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2'
,
width
:
'150'
},
//
{label: '成交金额(万元)', prop: 'money', sortable: 'custom', descending: '1', ascending: '2', width: '150'},
{
label
:
'项目类别'
,
prop
:
'projectCategories'
,
width
:
'100'
},
{
label
:
'计划开工日期'
,
prop
:
'planStartTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
,
width
:
'130'
},
{
label
:
'计划完工日期'
,
prop
:
'planEndTime'
,
sortable
:
'custom'
,
descending
:
'13'
,
ascending
:
'14'
,
width
:
'130'
},
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/relationship.vue
View file @
76af4e7c
...
...
@@ -4,6 +4,7 @@
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
class=
"tabpane selfTab"
>
<el-tab-pane
label=
"股东"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"对外投资"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"分支机构"
name=
"third"
></el-tab-pane>
</el-tabs>
<div
class=
"table-item"
>
<div
class=
"rela-person"
v-show=
"activeName=='first'"
>
实际控制人:
{{
financial
&&
financial
.
actualController
||
'--'
}}
</div>
...
...
@@ -69,14 +70,35 @@
</div>
</
template
>
</el-table>
<el-table
:data=
"affiliatesData"
border
style=
"width: 100%"
v-show=
"activeName=='third'"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"left"
>
<
template
slot-scope=
"scope"
>
{{
affiliatesParams
.
pageNum
*
affiliatesParams
.
pageSize
-
affiliatesParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
min-width=
"140"
label=
"被投资企业名称"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"scope.row.uipId?`/enterprise/$
{encodeStr(scope.row.id)}`:`/company/${encodeStr(scope.row.id)}`" tag="a" class="a-link" v-if="scope.row.id
&&
scope.row.name" v-html="scope.row.name">
</router-link>
<div
v-else
v-html=
"scope.row.name || '--'"
></div>
<div
class=
"tags"
v-if=
"scope.row.status || scope.row.biddingCount|| scope.row.landInfoCount|| scope.row.proposedProjectCount"
>
<span
class=
"tag"
:class=
"labelArr.includes(scope.row.status)?'style2':'style1'"
v-if=
"scope.row.status"
>
{{
scope
.
row
.
status
}}
</span>
<span
class=
"tag style1"
v-if=
"scope.row.proposedProjectCount"
>
拟建
{{
scope
.
row
.
proposedProjectCount
}}
</span>
<span
class=
"tag style1"
v-if=
"scope.row.landInfoCount"
>
土地
{{
scope
.
row
.
landInfoCount
}}
</span>
<span
class=
"tag style1"
v-if=
"scope.row.biddingCount"
>
招标
{{
scope
.
row
.
biddingCount
}}
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"operName"
label=
"负责人"
></el-table-column>
<el-table-column
prop=
"provinceCode"
label=
"地区"
></el-table-column>
<el-table-column
prop=
"startDate"
label=
"成立日期"
></el-table-column>
</el-table>
<div
class=
"rela-more"
v-show=
"activeName=='second'&& shipTotal>shipParams.pageSize"
><span
class=
"a-link"
@
click=
"handlePath"
>
查看更多数据 >
</span></div>
<div
class=
"rela-more"
v-show=
"activeName=='third'&& affiliatesTotal>affiliatesParams.pageSize"
><span
class=
"a-link"
@
click=
"handlePath1"
>
查看更多数据 >
</span></div>
</div>
</div>
</template>
<
script
>
import
{
encodeStr
,
changePath
}
from
"@/assets/js/common"
import
{
bestStockPage
,
investment
}
from
'@/api/detail/party-a/overview'
import
{
bestStockPage
,
investment
,
affiliates
}
from
'@/api/detail/party-a/overview'
import
NoData
from
'../../component/noData'
export
default
{
name
:
'Relationship'
,
...
...
@@ -103,12 +125,20 @@ export default {
pageSize
:
5
},
shipTotal
:
0
,
affiliatesData
:[],
affiliatesParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
5
},
affiliatesTotal
:
0
,
labelArr
:[
'失信联合惩戒企业'
,
'严重行政处罚'
,
'司法纠纷'
,
'注销'
,
'注销企业'
]
}
},
created
()
{
this
.
handleQuery
()
this
.
handleInvest
()
this
.
getAffiliatesData
()
},
mounted
()
{
},
...
...
@@ -136,10 +166,20 @@ export default {
this
.
shipTotal
=
res
.
total
}
},
async
getAffiliatesData
(){
let
res
=
await
affiliates
(
this
.
affiliatesParams
)
if
(
res
.
code
==
200
){
this
.
affiliatesData
=
res
.
rows
this
.
affiliatesTotal
=
res
.
total
}
},
handleClick
(){
},
handlePath
(){
changePath
(
this
,
'overseas'
)
},
handlePath1
(){
changePath
(
this
,
'branch'
)
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/tender.vue
View file @
76af4e7c
<
template
>
<div
class=
"flex-box app-container part-container"
>
<div
class=
"tender-list"
>
<div
class=
"tender-list"
ref=
"zbggScroll"
@
scroll=
"scrollbottom()"
>
<div
class=
"common-title"
>
招标公告
</div>
<template
v-if=
"zbggList.length>0"
>
<div
class=
"tender-item"
v-for=
"(item, index) in zbggList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl
1
"
:title=
"item.projectName"
><router-link
:to=
"'/radar/Notice/details/'+item.bid"
tag=
"a"
class=
"a-link"
>
{{
item
.
projectName
}}
</router-link></div><span
:class=
"item.projectCategory=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
v-if=
"item.projectCategory"
>
{{
item
.
projectCategory
}}
</span></div>
<div
class=
"tender-item"
v-for=
"(item, index) in zbggList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl
2
"
:title=
"item.projectName"
><router-link
:to=
"'/radar/Notice/details/'+item.bid"
tag=
"a"
class=
"a-link"
>
{{
item
.
projectName
}}
</router-link></div><span
:class=
"item.projectCategory=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
v-if=
"item.projectCategory"
>
{{
item
.
projectCategory
}}
</span></div>
<span
class=
"tender-time"
><span
@
click=
"handleUrl(item.url)"
style=
"cursor: pointer;"
>
{{
item
.
dataSource
}}
</span>
{{
item
.
issueTime
}}
</span>
</div>
</
template
>
...
...
@@ -12,11 +12,11 @@
<no-data
/>
</div>
</div>
<div
class=
"tender-list"
>
<div
class=
"tender-list"
ref=
"trendScroll"
@
scroll=
"scrollbottom(true)"
>
<div
class=
"common-title"
>
企业动态
</div>
<
template
v-if=
"trendList.length>0"
>
<div
class=
"tender-item"
v-for=
"(item, index) in trendList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl
1
"
:title=
"tendTitle(item.details)"
>
{{
tendTitle
(
item
.
details
)
}}
</div><span
:class=
"item.parentDimension=='新增分支机构'?'style2':item.parentDimension=='新增施工工法'?'style3':'style1'"
>
{{
item
.
parentDimension
}}
</span></div>
<div
class=
"flex-box tender-title"
><div
class=
"text-cl
2
"
:title=
"tendTitle(item.details)"
>
{{
tendTitle
(
item
.
details
)
}}
</div><span
:class=
"item.parentDimension=='新增分支机构'?'style2':item.parentDimension=='新增施工工法'?'style3':'style1'"
>
{{
item
.
parentDimension
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
createTime
}}
</span>
</div>
</
template
>
...
...
@@ -42,17 +42,20 @@ export default {
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
5
pageSize
:
6
},
//招标公告数据
zbggList
:[],
zbggTotal
:
0
,
trendParams
:
{
companyId
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
5
pageSize
:
6
},
//企业动态数据
trendList
:[]
trendList
:[],
trendTotal
:
0
,
}
},
computed
:
{
...
...
@@ -83,17 +86,54 @@ export default {
dynamicPage
(
this
.
trendParams
)
])
if
(
notice
.
code
==
200
){
this
.
zbggList
=
notice
.
rows
this
.
zbggList
=
notice
.
rows
;
this
.
zbggTotal
=
notice
.
total
;
}
if
(
namic
.
code
==
200
){
this
.
trendList
=
namic
.
rows
this
.
trendList
=
namic
.
rows
;
this
.
trendTotal
=
namic
.
total
;
}
},
handleUrl
(
url
){
if
(
url
){
window
.
open
(
url
,
"_blank"
)
}
}
},
async
getBidNotice
(){
let
notice
=
await
bidNoticePage
(
this
.
zbggParams
)
if
(
notice
.
code
==
200
){
this
.
zbggTotal
=
notice
.
total
;
this
.
zbggList
=
this
.
zbggList
.
concat
(
notice
.
rows
)
}
},
async
getDynamic
(){
let
dynamic
=
await
dynamicPage
(
this
.
trendParams
)
if
(
dynamic
.
code
==
200
){
this
.
trendTotal
=
dynamic
.
total
;
this
.
trendList
=
this
.
trendList
.
concat
(
dynamic
.
rows
)
}
},
scrollbottom
(
type
){
let
scrllEl
=
type
?
this
.
$refs
.
trendScroll
:
this
.
$refs
.
zbggScroll
let
scrollHeight
=
scrllEl
.
scrollHeight
let
clientHeight
=
scrllEl
.
clientHeight
let
scrollTop
=
scrllEl
.
scrollTop
if
(
scrollHeight
-
(
scrollTop
+
clientHeight
)
<=
1
){
if
(
type
){
if
(
this
.
trendParams
.
pageNum
*
this
.
trendParams
.
pageSize
>=
this
.
trendTotal
){
return
}
this
.
trendParams
.
pageNum
+=
1
;
this
.
getDynamic
()
}
else
{
if
(
this
.
zbggParams
.
pageNum
*
this
.
zbggParams
.
pageSize
>=
this
.
zbggTotal
){
return
}
this
.
zbggParams
.
pageNum
+=
1
;
this
.
getBidNotice
()
}
}
},
}
}
</
script
>
...
...
@@ -108,8 +148,9 @@ export default {
width
:
calc
(
50%
-
8px
);
padding
:
24px
16px
;
background
:
#FFFFFF
;
overflow
:
hidden
;
overflow
-y
:scroll
;
border-radius
:
4px
;
height
:
512px
;
.common-title
{
margin-bottom
:
10px
;
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/overseas.vue
View file @
76af4e7c
...
...
@@ -133,7 +133,7 @@ export default {
border-radius
:
4px
;
.tab-header
{
img
{
margin-bottom
:
-3
px
;
margin-bottom
:
2
px
;
width
:
14px
;
height
:
14px
;
cursor
:
pointer
;
...
...
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