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
b381b73c
Commit
b381b73c
authored
Jun 12, 2023
by
MyName
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.60.201/root/dsk-operate-sys
parents
4b44aaa3
dfef0304
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
1000 additions
and
541 deletions
+1000
-541
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+6
-2
EnterpriseController.java
...java/com/dsk/web/controller/dsk/EnterpriseController.java
+1
-1
EnterpriseProjectController.java
...m/dsk/web/controller/dsk/EnterpriseProjectController.java
+3
-3
logback.xml
dsk-admin/src/main/resources/logback.xml
+4
-4
EnterpriseAffiliatesBody.java
...sk/common/core/domain/model/EnterpriseAffiliatesBody.java
+3
-1
EnterpriseInvestmentBody.java
...sk/common/core/domain/model/EnterpriseInvestmentBody.java
+4
-1
EnterpriseProjectSpecialDebtPageBody.java
...re/domain/model/EnterpriseProjectSpecialDebtPageBody.java
+21
-0
EnterpriseProjectSpecialDebtProjectDetailBody.java
.../model/EnterpriseProjectSpecialDebtProjectDetailBody.java
+21
-0
EnterpriseProjectSpecialDebtProjectPageBody.java
...in/model/EnterpriseProjectSpecialDebtProjectPageBody.java
+33
-0
overview.js
dsk-operate-ui/src/api/detail/party-a/overview.js
+13
-31
enterpriseData.js
dsk-operate-ui/src/api/enterpriseData/enterpriseData.js
+10
-1
macro.js
dsk-operate-ui/src/api/macro/macro.js
+25
-0
renling1.png
dsk-operate-ui/src/assets/images/owner/renling1.png
+0
-0
renling2.png
dsk-operate-ui/src/assets/images/owner/renling2.png
+0
-0
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+32
-21
bidding.vue
...i/src/views/detail/party-a/overview/component/bidding.vue
+36
-22
busclue.vue
...i/src/views/detail/party-a/overview/component/busclue.vue
+38
-87
infoheader.vue
...rc/views/detail/party-a/overview/component/infoheader.vue
+12
-21
operations.vue
...rc/views/detail/party-a/overview/component/operations.vue
+29
-15
relationship.vue
.../views/detail/party-a/overview/component/relationship.vue
+47
-46
risk.vue
...e-ui/src/views/detail/party-a/overview/component/risk.vue
+58
-28
senior.vue
...ui/src/views/detail/party-a/overview/component/senior.vue
+18
-7
tender.vue
...ui/src/views/detail/party-a/overview/component/tender.vue
+32
-11
overview.vue
...operate-ui/src/views/detail/party-a/overview/overview.vue
+27
-8
index.vue
...te-ui/src/views/enterpriseData/components/Owner/index.vue
+234
-65
localEconomy.vue
...e-ui/src/views/macro/economies/component/localEconomy.vue
+5
-1
details.vue
dsk-operate-ui/src/views/macro/financing/details.vue
+5
-4
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+3
-3
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+2
-2
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+269
-149
BusinessAddDto.java
...m/src/main/java/com/dsk/system/domain/BusinessAddDto.java
+1
-1
EnterpriseProjectService.java
...a/com/dsk/system/dskService/EnterpriseProjectService.java
+3
-3
EnterpriseService.java
...ain/java/com/dsk/system/dskService/EnterpriseService.java
+1
-1
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+4
-2
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
b381b73c
...
...
@@ -83,7 +83,7 @@ public class CustomerController extends BaseController {
return
AjaxResult
.
success
(
baseService
.
add
(
customer
));
}
private
void
dealWithcustomerData
(
Customer
customer
){
private
void
dealWithcustomerData
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
...
...
@@ -131,6 +131,7 @@ public class CustomerController extends BaseController {
public
AjaxResult
importData
(
@RequestPart
(
"file"
)
MultipartFile
file
)
throws
Exception
{
List
<
Customer
>
customerList
=
new
ExcelUtil
<>(
Customer
.
class
).
importExcel
(
file
.
getInputStream
(),
2
);
List
<
String
>
resultList
=
new
ArrayList
<>();
int
successCount
=
0
;
for
(
Customer
customer
:
customerList
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
{
continue
;
...
...
@@ -152,10 +153,13 @@ public class CustomerController extends BaseController {
customer
.
setCreditCode
(
MapUtil
.
getStr
(
obj
,
"creditCode"
));
}
baseService
.
add
(
customer
);
successCount
++;
}
catch
(
Exception
e
)
{
resultList
.
add
(
customer
.
getCompanyName
().
concat
(
":"
).
concat
(
e
.
getMessage
()));
}
}
return
AjaxResult
.
success
(
resultList
);
AjaxResult
success
=
AjaxResult
.
success
(
resultList
);
success
.
put
(
"successCount"
,
successCount
);
return
success
;
}
}
dsk-admin/src/main/java/com/dsk/web/controller/dsk/EnterpriseController.java
View file @
b381b73c
...
...
@@ -95,7 +95,7 @@ public class EnterpriseController {
@ApiOperation
(
value
=
"工商股东信息(openApi)"
)
@PostMapping
(
value
=
"bestStockPage"
)
public
TableDataInfo
bestStockPage
(
@RequestBody
@Valid
Enterprise
Keymembers
Body
vo
)
throws
Exception
{
public
TableDataInfo
bestStockPage
(
@RequestBody
@Valid
Enterprise
BestStockPage
Body
vo
)
throws
Exception
{
return
enterpriseService
.
bestStockPage
(
vo
);
}
...
...
dsk-admin/src/main/java/com/dsk/web/controller/dsk/EnterpriseProjectController.java
View file @
b381b73c
...
...
@@ -73,19 +73,19 @@ public class EnterpriseProjectController {
@ApiOperation
(
value
=
"专项债项目列表"
)
@RequestMapping
(
value
=
"/specialDebtProjectPage"
,
method
=
RequestMethod
.
POST
)
public
TableDataInfo
specialDebtProjectPage
(
@RequestBody
@Valid
Object
body
)
throws
Exception
{
public
TableDataInfo
specialDebtProjectPage
(
@RequestBody
@Valid
EnterpriseProjectSpecialDebtProjectPageBody
body
)
throws
Exception
{
return
enterpriseProjectService
.
specialDebtProjectPage
(
body
);
}
@ApiOperation
(
value
=
"专项债项目详情"
)
@RequestMapping
(
value
=
"/specialDebtProjectDetail"
,
method
=
RequestMethod
.
POST
)
public
R
specialDebtProjectDetail
(
@RequestBody
@Valid
Object
body
)
throws
Exception
{
public
R
specialDebtProjectDetail
(
@RequestBody
@Valid
EnterpriseProjectSpecialDebtProjectDetailBody
body
)
throws
Exception
{
return
enterpriseProjectService
.
specialDebtProjectDetail
(
body
);
}
@ApiOperation
(
value
=
"专项债列表"
)
@RequestMapping
(
value
=
"/specialDebtPage"
,
method
=
RequestMethod
.
POST
)
public
TableDataInfo
specialDebtPage
(
@RequestBody
@Valid
Object
body
)
throws
Exception
{
public
TableDataInfo
specialDebtPage
(
@RequestBody
@Valid
EnterpriseProjectSpecialDebtPageBody
body
)
throws
Exception
{
return
enterpriseProjectService
.
specialDebtPage
(
body
);
}
...
...
dsk-admin/src/main/resources/logback.xml
View file @
b381b73c
...
...
@@ -20,14 +20,14 @@
<!-- 日志文件名格式 -->
<fileNamePattern>
${log.path}/operate-sys-info.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
6
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${log.pattern}
</pattern>
</encoder>
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<!-- 过滤的级别 -->
<level>
INFO
</level>
<level>
DEBUG
</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>
ACCEPT
</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
...
...
@@ -42,7 +42,7 @@
<!-- 日志文件名格式 -->
<fileNamePattern>
${log.path}/operate-sys-error.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
6
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${log.pattern}
</pattern>
...
...
@@ -64,7 +64,7 @@
<!-- 按天回滚 daily -->
<fileNamePattern>
${log.path}/operate-sys-user.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
6
0
</maxHistory>
<maxHistory>
1
0
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${log.pattern}
</pattern>
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseAffiliatesBody.java
View file @
b381b73c
...
...
@@ -17,6 +17,8 @@ public class EnterpriseAffiliatesBody extends BasePage {
//企业Id
@NotNull
(
message
=
"企业id不能为空"
)
private
Integer
cid
;
private
Integer
hasBid
;
}
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseInvestmentBody.java
View file @
b381b73c
...
...
@@ -17,6 +17,9 @@ public class EnterpriseInvestmentBody extends BasePage {
//企业Id
@NotNull
(
message
=
"企业id不能为空"
)
private
Integer
cid
;
private
Integer
hasBid
;
private
double
stockPercentageMin
;
private
double
stockPercentageMax
;
}
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectSpecialDebtPageBody.java
0 → 100644
View file @
b381b73c
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
EnterpriseProjectSpecialDebtPageBody
extends
BasePage
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
)
private
String
id
;
}
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectSpecialDebtProjectDetailBody.java
0 → 100644
View file @
b381b73c
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
EnterpriseProjectSpecialDebtProjectDetailBody
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
)
private
String
id
;
}
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectSpecialDebtProjectPageBody.java
0 → 100644
View file @
b381b73c
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
EnterpriseProjectSpecialDebtProjectPageBody
extends
BasePage
{
/**
* 企业id
*/
@NotNull
(
message
=
"企业id不能为空"
)
private
Integer
cid
;
/**
* 查询关键字
*/
private
String
keys
;
/*
* 排序字段:1总投资金额倒序,2总投资金额正序,17项目资本金倒序,18项目资本金正序,19专项债用作资本金倒序,20专项债用作资本金正序
*/
@NotNull
(
message
=
"排序条件不能为空"
)
private
Integer
sort
;
}
dsk-operate-ui/src/api/detail/party-a/overview.js
View file @
b381b73c
...
...
@@ -3,7 +3,16 @@ import request from "@/utils/request";
// 企业数据统计
export
function
statistic
(
data
)
{
return
request
({
url
:
'/enterprise/statistic'
,
url
:
'/enterprise/statistic(建设库)'
,
method
:
'post'
,
data
:
data
})
}
// 企业主体信用评级
export
function
bondCreditRating
(
data
)
{
return
request
({
url
:
'/enterprise/bondCreditRating'
,
method
:
'post'
,
data
:
data
})
...
...
@@ -36,33 +45,6 @@ export function projectTenderDataGroup(data) {
})
}
// 关系企业-股东信息
export
function
yyy
(
data
)
{
return
request
({
url
:
'xxx'
,
method
:
'post'
,
data
:
data
})
}
// 关系企业-对外投资
export
function
testinvestment
(
data
)
{
return
request
({
url
:
'/enterprise/investment'
,
method
:
'post'
,
data
:
data
})
}
// 关系企业-分支机构
export
function
testaffiliates
(
data
)
{
return
request
({
url
:
'/enterprise/affiliates'
,
method
:
'post'
,
data
:
data
})
}
// 招标公告
export
function
bidNoticePage
(
data
)
{
return
request
({
...
...
@@ -99,7 +81,7 @@ export function changeInfo(data) {
})
}
// 工商股东信息列表
//
关系企业-股东信息、
工商股东信息列表
export
function
bestStockPage
(
data
)
{
return
request
({
url
:
'/enterprise/bestStockPage'
,
...
...
@@ -108,7 +90,7 @@ export function bestStockPage(data) {
})
}
// 工商高管信息
//
关系企业-高管信息、
工商高管信息
export
function
keymembers
(
data
)
{
return
request
({
url
:
'/enterprise/keymembers'
,
...
...
@@ -117,7 +99,7 @@ export function keymembers(data) {
})
}
// 工商对外投资
//
关系企业-对外投资、
工商对外投资
export
function
investment
(
data
)
{
return
request
({
url
:
'/enterprise/investment'
,
...
...
dsk-operate-ui/src/api/enterpriseData/enterpriseData.js
View file @
b381b73c
...
...
@@ -42,6 +42,15 @@ let uipSerach= function uipSerach(param) {
data
:
param
})
}
// 认领用户
let
claim
=
function
claim
(
param
)
{
return
request
({
url
:
'/customer/claim'
,
method
:
'post'
,
data
:
param
})
}
export
default
{
aptitudeCode
,
personCert
,
searchDic
,
regionWebList
,
uipGroupData
,
uipSerach
}
\ No newline at end of file
export
default
{
aptitudeCode
,
personCert
,
searchDic
,
regionWebList
,
uipGroupData
,
uipSerach
,
claim
}
\ No newline at end of file
dsk-operate-ui/src/api/macro/macro.js
View file @
b381b73c
...
...
@@ -174,6 +174,31 @@ export function enterprise(param) {
})
}
//城投平台-企业查询选项
export
function
uipGroupData
()
{
return
request
({
url
:
'/enterprise/uipGroupData'
,
method
:
'POST'
})
}
//城投平台-分页列表
export
function
urbanInvestmentPage
(
param
)
{
return
request
({
url
:
'/urbanInvestment/page'
,
method
:
'POST'
,
data
:
param
})
}
//城投平台-城投平台统计
export
function
urbanInvestmentStatistics
(
param
)
{
return
request
({
url
:
'/urbanInvestment/statistics'
,
method
:
'POST'
,
data
:
param
})
}
...
...
dsk-operate-ui/src/assets/images/owner/renling1.png
0 → 100644
View file @
b381b73c
1.06 KB
dsk-operate-ui/src/assets/images/owner/renling2.png
0 → 100644
View file @
b381b73c
1.06 KB
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
b381b73c
...
...
@@ -3,12 +3,13 @@
<el-input
placeholder=
"搜索"
class=
"side-input"
v-model=
"searchText"
>
v-model=
"searchText"
@
keyup
.
enter
.
native=
"handleSearch"
>
<i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
@
click=
"handleSearch"
></i>
</el-input>
<el-menu
ref=
"sideMenu"
:default-active=
"routeIndex"
:unique-opened=
"true"
class=
"detail-menu"
@
open=
"handleOpen"
>
<template
v-for=
"(item, index) in sideRoute"
>
...
...
@@ -104,29 +105,16 @@ export default {
},
computed
:
{
sideHeight
()
{
let
sideHeight
=
document
.
getElementById
(
"detailPart"
)?
document
.
getElementById
(
"detailPart"
).
offsetHeight
:
null
if
(
sideHeight
<
this
.
partBoxHeight
)
{
let
sideHeight
=
document
.
getElementById
(
"detailPart"
)?
document
.
getElementById
(
"detailPart"
).
offsetHeight
:
null
,
bowerHeight
=
document
.
body
.
clientHeight
-
170
||
null
if
(
this
.
partBoxHeight
<
bowerHeight
)
{
sideHeight
=
bowerHeight
}
else
{
sideHeight
=
this
.
partBoxHeight
}
else
{
sideHeight
=
null
}
return
sideHeight
},
routeIndex
(){
let
idx
=
'0-0'
,
sideArr
=
this
.
sideRoute
for
(
let
i
=
0
;
i
<
sideArr
.
length
;
i
++
){
if
(
sideArr
[
i
].
pathName
==
this
.
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
].
pathName
==
this
.
pathName
){
idx
=
i
+
'-'
+
j
break
}
}
}
}
let
idx
=
this
.
getRouteIdx
(
''
,
this
.
pathName
)
||
'0-0'
return
idx
}
},
...
...
@@ -140,7 +128,30 @@ export default {
this
.
$emit
(
"currentPath"
,
item
)
},
handleSearch
(){
console
.
log
(
'开始搜索了'
)
if
(
this
.
searchText
){
let
idx
=
this
.
getRouteIdx
(
this
.
searchText
)
if
(
idx
&&
idx
.
includes
(
'-'
)){
let
openIdx
=
idx
.
slice
(
0
,
1
)
this
.
$refs
.
sideMenu
.
open
(
openIdx
)
}
}
},
getRouteIdx
(
pathTitle
,
pathName
){
let
idx
=
''
,
sideArr
=
this
.
sideRoute
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
},
isCustomerId
(
name
){
if
(
this
.
customer
.
indexOf
(
name
)
!=
-
1
){
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/bidding.vue
View file @
b381b73c
...
...
@@ -10,7 +10,7 @@
content=
"历史招标总数"
>
<img
src=
"@/assets/images/detail/overview/zbph_question.png"
slot=
"reference"
>
</el-popover>
<span
class=
"zbph-item-num"
>
356
</span></div>
<span
class=
"zbph-item-num"
>
{{
dataAll
.
bidAmount
||
'--'
}}
</span></div>
<div>
近一年招标总数
<el-popover
placement=
"top-start"
...
...
@@ -18,7 +18,7 @@
content=
"近一年招标总数"
>
<img
src=
"@/assets/images/detail/overview/zbph_question.png"
slot=
"reference"
>
</el-popover>
<span
class=
"zbph-item-num"
>
356
</span></div>
<span
class=
"zbph-item-num"
>
{{
dataAll
.
lastYearCount
||
'--'
}}
</span></div>
<div>
历史招标总额
<el-popover
placement=
"top-start"
...
...
@@ -26,13 +26,13 @@
content=
"历史招标总额"
>
<img
src=
"@/assets/images/detail/overview/zbph_question.png"
slot=
"reference"
>
</el-popover>
<span
class=
"zbph-item-num"
>
356
</span></div>
<span
class=
"zbph-item-num"
>
{{
dataAll
.
bidAmount
||
'--'
}}
</span></div>
</div>
<div
class=
"zbph-account"
>
招标动态
<div
class=
"labels"
>
<div
:class=
"
{'on':datatype==
1}" @click="getDT(1
)">周
</div>
<div
:class=
"
{'on':datatype==
3}" @click="getDT(3
)">周
</div>
<div
:class=
"
{'on':datatype==2}" @click="getDT(2)">月
</div>
<div
:class=
"
{'on':datatype==
3}" @click="getDT(3
)">年
</div>
<div
:class=
"
{'on':datatype==
1}" @click="getDT(1
)">年
</div>
</div>
</div>
<div
id=
"myEcharts"
style=
"width: 100%;height:250px; margin: 0 auto;"
></div>
...
...
@@ -43,7 +43,6 @@
<el-table
:data=
"tableData"
style=
"width: 100%"
:default-sort =
"
{prop: 'date', order: 'descending'}"
>
<el-table-column
prop=
"ico"
...
...
@@ -54,14 +53,14 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"
n
ame"
prop=
"
companyN
ame"
label=
"公司名称"
>
<
template
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
n
ame
}}
</router-link>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
companyN
ame
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
prop=
"
number
"
prop=
"
count
"
width=
"160"
label=
"合作次数"
>
</el-table-column>
...
...
@@ -77,32 +76,47 @@
</template>
<
script
>
import
{
bidDataGroup
,
supplierPage
}
from
'@/api/detail/party-a/overview'
import
*
as
echarts
from
'echarts'
export
default
{
name
:
'Bidding'
,
props
:
[
'companyId'
],
data
()
{
return
{
datatype
:
'1'
,
//切换类型
datatype
:
'3'
,
//切换类型
dataAll
:
{},
dtdata
:[],
//数据
dttime
:[],
//坐标
//表格数据
tableData
:[
{
name
:
'中国建筑第八工程局有限公司'
,
companyId
:
'6034'
,
number
:
'11%'
,
amount
:
'2134'
,
ico
:
require
(
"@/assets/images/detail/overview/ywwl_top1.png"
)},
{
name
:
'中建三局集团有限公司'
,
companyId
:
'3068'
,
number
:
'11%'
,
amount
:
'2134'
,
ico
:
require
(
"@/assets/images/detail/overview/ywwl_top2.png"
)},
{
name
:
'中国建筑一局(集团)有限公司'
,
companyId
:
'428280'
,
number
:
'11%'
,
amount
:
'2134'
,
ico
:
require
(
"@/assets/images/detail/overview/ywwl_top3.png"
)},
{
name
:
'上海宝冶集团有限公司'
,
companyId
:
'7759'
,
number
:
'11%'
,
amount
:
'2134'
,
ico
:
require
(
"@/assets/images/detail/overview/ywwl_top4.png"
)},
{
name
:
'中国五冶集团有限公司'
,
companyId
:
'10951'
,
number
:
'11%'
,
amount
:
'2134'
,
ico
:
require
(
"@/assets/images/detail/overview/ywwl_top5.png"
)},
]
tableData
:[]
}
},
created
()
{
this
.
handleBid
()
this
.
handleSupplier
()
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
getDT
(
1
)
this
.
getDT
(
3
)
})
},
methods
:
{
async
handleBid
(){
let
res
=
await
bidDataGroup
({
cid
:
this
.
companyId
,
spanId
:
this
.
datatype
})
if
(
res
.
code
==
200
){
let
{
totalCount
,
lastYearCount
,
bidAmount
}
=
res
.
data
this
.
dataAll
=
{
totalCount
,
lastYearCount
,
bidAmount
}
}
},
async
handleSupplier
()
{
let
res
=
await
supplierPage
({
cid
:
this
.
companyId
,
sort
:
1
,
pageNum
:
1
,
pageSize
:
5
})
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
item
.
ico
=
require
(
`@/assets/images/detail/overview/ywwl_top
${
index
+
1
}
.png`
)
})
}
},
initDT
(
datas
,
labels
){
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"myEcharts"
))
let
option
=
{
...
...
@@ -174,7 +188,7 @@ export default {
let
datas
=
[]
let
labels
=
[]
switch
(
type
)
{
case
1
:
case
3
:
time
=
time
.
getDay
()
// week.length = time
weekdata
.
length
=
time
...
...
@@ -190,7 +204,7 @@ export default {
let
days
=
new
Date
(
time
.
getFullYear
(),
time
.
getMonth
()
+
1
,
0
).
getDate
()
//获取到本月天数
time
=
time
.
getDate
()
monthdata
.
length
=
time
for
(
var
i
=
1
;
i
<
days
;
i
++
){
for
(
var
i
=
1
;
i
<
=
days
;
i
++
){
labels
.
push
(
i
+
'日'
)
if
(
i
>
time
){
monthdata
.
push
(
""
)
...
...
@@ -198,10 +212,10 @@ export default {
}
datas
=
monthdata
break
;
case
3
:
case
1
:
time
=
time
.
getMonth
()
+
1
yeardata
.
length
=
time
for
(
var
i
=
1
;
i
<
12
;
i
++
){
for
(
var
i
=
1
;
i
<
=
12
;
i
++
){
labels
.
push
(
i
+
'月'
)
if
(
i
>
time
){
yeardata
.
push
(
''
)
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/busclue.vue
View file @
b381b73c
<
template
>
<div
class=
"app-container clue-container"
>
<div
class=
"common-title"
>
商机线索
</div>
<el-tabs
v-model=
"active
Name"
@
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-tabs
v-model=
"active
Index"
@
tab-click=
"handleQuery
"
class=
"tabpane selfTab"
>
<el-tab-pane
label=
"按金额"
name=
"
0
"
></el-tab-pane>
<el-tab-pane
label=
"按项目"
name=
"
1
"
></el-tab-pane>
</el-tabs>
<div
class=
"flex-box clue-box"
>
<div
class=
"clue-echarts"
><div
id=
"echartsClue"
style=
"width: 100%;height:300px; margin: 0 auto;"
></div></div>
<div
class=
"table-item"
>
<el-table
:data=
"
activeName=='first'?viewData:project
Data"
:data=
"
view
Data"
border
style=
"width: 100%"
:default-sort =
"
{prop: 'date', order: 'descending'}"
...
...
@@ -20,107 +20,60 @@
<el-table-column
prop=
"value"
label=
"数量"
>
<template
slot-scope=
"scope"
>
<div
style=
"text-align: right"
>
{{
scope
.
row
.
value
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"percent"
label=
"占比"
>
<
template
slot-scope=
"scope"
>
<div
style=
"text-align: right"
>
{{
scope
.
row
.
percent
}}
</div>
</
template
>
</el-table-column>
</el-table>
</div>
</div>
<div
class=
"flex-box clue-type"
>
<div
class=
"flex-box clue-type-item"
:class=
"
typeName==index&&!item.disabled?'on':item.disabled?'disab':''"
v-for=
"(item, index) in typeList"
:key=
"index"
@
click=
"handleType(item, index)"
><img
:src=
"item.disabled
?item.dis_ico:item.ico"
>
{{item.name}}
</div>
<div
class=
"flex-box clue-type-item"
:class=
"
!item.count?'disab':''"
v-for=
"(item, index) in typeList"
:key=
"index"
@
click=
"handleType(item, index)"
><img
:src=
"!item.count
?item.dis_ico:item.ico"
>
{{
item
.
name
}}
</div>
</div>
</div>
</
template
>
<
script
>
import
{
projectTenderDataGroup
}
from
'@/api/detail/party-a/overview'
import
*
as
echarts
from
'echarts'
import
{
changePath
}
from
"@/assets/js/common"
export
default
{
name
:
'Busclue'
,
props
:
[
'companyId'
,
'statistic'
],
data
()
{
return
{
viewData
:[
{
name
:
'7亿~12亿'
,
value
:
'12'
,
percent
:
'12%'
},
{
name
:
'4亿~6亿'
,
value
:
'2'
,
percent
:
'12%'
},
{
name
:
'1亿~3亿'
,
value
:
'42'
,
percent
:
'12%'
},
{
name
:
'5000万~1亿'
,
value
:
'2'
,
percent
:
'12%'
},
{
name
:
'5000万以下'
,
value
:
'2'
,
percent
:
'12%'
},
],
projectData
:[
{
name
:
'公路工程'
,
value
:
'22'
,
percent
:
'12%'
},
{
name
:
'房建工程'
,
value
:
'12'
,
percent
:
'12%'
},
{
name
:
'水利工程'
,
value
:
'32'
,
percent
:
'12%'
},
{
name
:
'铁路工程'
,
value
:
'16'
,
percent
:
'12%'
},
{
name
:
'市政工程'
,
value
:
'8'
,
percent
:
'12%'
},
],
activeName
:
'first'
,
typeName
:
0
,
viewData
:[],
activeIndex
:
0
,
typeList
:[
{
name
:
'土地交易'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico1.png"
),
disabled
:
false
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico1.png"
)},
{
name
:
'拟建项目'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico2.png"
),
disabled
:
false
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico2.png"
)},
{
name
:
'专项债项目'
,
ico
:
require
(
"@//assets/images/detail/overview/clue_ico3.png"
),
disabled
:
true
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico3.png"
)},
{
name
:
'招标计划'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico4.png"
),
disabled
:
false
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico4.png"
)},
{
name
:
'招标公告'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico5.png"
),
disabled
:
true
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico5.png"
)},
{
name
:
'标讯Pro'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico6.png"
),
disabled
:
false
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico6.png"
)},
{
name
:
'行政许可'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico7.png"
),
disabled
:
false
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico7.png"
)},
{
name
:
'土地交易'
,
pathName
:
'landtransaction'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico1.png"
),
count
:
0
,
category
:
'global'
,
field
:
'landInfo'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico1.png"
)},
{
name
:
'拟建项目'
,
pathName
:
'proposed'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico2.png"
),
count
:
0
,
category
:
'global'
,
field
:
'proposedProject'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico2.png"
)},
{
name
:
'专项债项目'
,
pathName
:
'bond'
,
ico
:
require
(
"@//assets/images/detail/overview/clue_ico3.png"
),
count
:
0
,
category
:
'xxx'
,
field
:
'yy'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico3.png"
)},
{
name
:
'招标计划'
,
pathName
:
'biddingplan'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico4.png"
),
count
:
0
,
category
:
'xxx'
,
field
:
'zz'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico4.png"
)},
{
name
:
'招标公告'
,
pathName
:
'announcement'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico5.png"
),
count
:
0
,
category
:
'business'
,
field
:
'biddingAnnouncement'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico5.png"
)},
{
name
:
'标讯Pro'
,
pathName
:
'tencent'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico6.png"
),
count
:
0
,
category
:
'business'
,
field
:
'proCount'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico6.png"
)},
{
name
:
'行政许可'
,
pathName
:
'administrative'
,
ico
:
require
(
"@/assets/images/detail/overview/clue_ico7.png"
),
count
:
0
,
category
:
'business'
,
field
:
'adminLicensing'
,
dis_ico
:
require
(
"@/assets/images/detail/overview/clue_dis_ico7.png"
)},
]
}
},
created
()
{
this
.
handleStatistic
()
this
.
handleQuery
()
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
getDT
()
})
},
methods
:
{
async
handleQuery
(){
let
res
=
await
projectTenderDataGroup
({
cid
:
this
.
companyId
,
type
:
this
.
activeIndex
})
if
(
res
.
code
==
200
){
let
data
=
res
.
data
,
totalVal
=
data
.
map
(
item
=>
item
.
value
).
reduce
((
prev
,
cur
)
=>
prev
+
cur
)
this
.
viewData
=
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
name
,
value
:
item
.
value
,
percent
:
parseFloat
(
Number
(
Number
(
item
.
value
)
/
Number
(
totalVal
)
*
100
).
toFixed
(
2
))
+
'%'
}
return
it
})
this
.
getDT
()
}
},
getDT
(
val
){
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"echartsClue"
)),
data
=
val
?
val
:
this
.
viewData
let
option
=
{
...
...
@@ -157,16 +110,14 @@ export default {
}
myChart
.
setOption
(
option
)
},
handleClick
(){
if
(
this
.
activeName
==
'first'
){
this
.
getDT
(
this
.
viewData
)
}
else
{
this
.
getDT
(
this
.
projectData
)
}
handleStatistic
()
{
this
.
typeList
.
forEach
((
item
,
index
)
=>
{
item
.
count
=
this
.
statistic
[
item
.
category
]?
this
.
statistic
[
item
.
category
][
item
.
field
]:
0
})
},
handleType
(
it
,
idx
){
if
(
!
it
.
disabled
){
this
.
typeName
=
idx
if
(
it
.
count
){
changePath
(
this
,
it
.
pathName
)
}
}
}
...
...
@@ -217,10 +168,10 @@ export default {
.clue-type-item
{
color
:
#232323
;
cursor
:
pointer
;
&
.on
{
&
:hover
{
color
:
#0081FF
;
}
&
.disab
le
{
&
.disab
{
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
}
img
{
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/infoheader.vue
View file @
b381b73c
...
...
@@ -125,13 +125,12 @@
</template>
<
script
>
import
{
statistic
}
from
'@/api/detail/party-a/overview'
import
{
changePath
}
from
'@/assets/js/common'
var
Swiper
=
require
(
'@/assets/lib/swiper/swiper-bundle.min.js'
)
import
"@/assets/lib/swiper/swiper-bundle.css"
export
default
{
name
:
'Infoheader'
,
props
:
[
'companyId'
,
'companyInfo'
],
props
:
[
'companyId'
,
'companyInfo'
,
'statistic'
],
data
()
{
return
{
labelList
:
[],
//企业标签
...
...
@@ -139,7 +138,6 @@ export default {
ifClaim
:
false
,
//是否认领
showMore
:
false
,
showState
:
false
,
statistic
:
{},
graphList
:
[
{
id
:
1
,
name
:
'业务往来'
,
intro
:[{
id
:
101
,
name
:
'客户'
,
val
:
0
,
category
:
'global'
,
field
:
'customer'
},{
id
:
102
,
name
:
'供应商'
,
val
:
0
,
category
:
'global'
,
field
:
'supplier'
}],
ico
:
require
(
'@/assets/images/detail/overview/company_ywwl.png'
)},
{
id
:
2
,
name
:
'商机线索'
,
intro
:[{
id
:
201
,
name
:
'专项债项目'
,
val
:
0
,
category
:
'xxx'
,
field
:
'yy'
},{
id
:
202
,
name
:
'招标计划'
,
val
:
0
,
category
:
'xxx'
,
field
:
'zz'
}],
ico
:
require
(
'@/assets/images/detail/overview/company_sjxs.png'
)},
...
...
@@ -155,8 +153,8 @@ export default {
}
},
created
()
{
this
.
handleStatistic
()
this
.
getCompanyInfo
()
//处理曾用名
this
.
handleStatistic
()
//企业背景是否收起
},
mounted
()
{
this
.
getClaimStatus
()
//获取企业认领状态
...
...
@@ -192,23 +190,16 @@ export default {
this
.
companyInfo
.
historyNames
=
JSON
.
parse
(
this
.
companyInfo
.
historyNames
)
}
},
async
handleStatistic
()
{
let
res
=
await
statistic
({
companyId
:
this
.
companyId
})
if
(
res
.
code
==
200
){
this
.
statistic
=
res
.
data
this
.
graphList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
intro
){
item
.
intro
.
forEach
((
it
,
idx
)
=>
{
if
(
it
.
category
||
it
.
field
){
it
.
val
=
this
.
getStatistic
(
it
.
category
,
it
.
field
)
}
})
}
})
}
},
getStatistic
(
category
,
field
)
{
return
this
.
statistic
[
category
][
field
]
||
0
handleStatistic
()
{
this
.
graphList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
intro
){
item
.
intro
.
forEach
((
it
,
idx
)
=>
{
if
(
it
.
category
||
it
.
field
){
it
.
val
=
this
.
statistic
[
it
.
category
]?
this
.
statistic
[
it
.
category
][
it
.
field
]:
0
}
})
}
})
},
//获取认领状态
async
getClaimStatus
(){
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/operations.vue
View file @
b381b73c
...
...
@@ -6,10 +6,10 @@
<ul
class=
"swiper-wrapper"
>
<li
class=
"swiper-slide"
v-for=
"(item, index) in operList"
:key=
"index"
>
<div
class=
"swiper-div"
>
<div
class=
"operations-title"
>
{{
item
.
range
}}
-
<span>
{{
item
.
year
}}
</span></div>
<div
class=
"operations-title"
>
{{
item
.
bratingSubjectLevel
}}
-
<span>
{{
item
.
ratingDate
}}
</span></div>
<div
class=
"flex-box text-cl1 operations-info"
>
{{
item
.
nam
e
}}
<span><img
src=
"@/assets/images/detail/overview/oper_source.png"
>
{{
item
.
name
}}
</span>
{{
item
.
bondTyp
e
}}
<span><img
src=
"@/assets/images/detail/overview/oper_source.png"
>
{{
item
.
creditRatingAgency
}}
</span>
</div>
</div>
</li>
...
...
@@ -21,35 +21,34 @@
<div
class=
"flex-box operations-list"
>
<div
class=
"list-item"
v-for=
"(item, index) in gsjyList"
:key=
"index"
>
<div
class=
"flex-box list-item-all"
><img
:src=
"item.ico"
>
{{
item
.
name
}}
</div>
<div
class=
"list-item-amount"
>
{{
item
.
amount
}}
</div>
<div
class=
"list-item-amount"
>
{{
item
.
amount
?
item
.
amount
+
'亿元'
:
'--'
}}
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
bondCreditRating
}
from
'@/api/detail/party-a/overview'
var
Swiper
=
require
(
'@/assets/lib/swiper/swiper-bundle.min.js'
)
import
"@/assets/lib/swiper/swiper-bundle.css"
export
default
{
name
:
'Overview'
,
props
:
[
'companyId'
,
'financial'
],
data
()
{
return
{
operList
:
[
{
name
:
'债务信用评级'
,
rate
:
'中国标普信用'
,
range
:
'AA'
,
year
:
'2021'
},
{
name
:
'债务信用评级'
,
rate
:
'中国标普信用'
,
range
:
'AA'
,
year
:
'2021'
},
{
name
:
'债务信用评级'
,
rate
:
'中国标普信用'
,
range
:
'AA'
,
year
:
'2021'
},
{
name
:
'债务信用评级'
,
rate
:
'中国标普信用'
,
range
:
'AA'
,
year
:
'2021'
}
],
operList
:
[],
gsjyList
:
[
{
name
:
'总资产'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico1.png'
),
amount
:
'
1699.7
'
},
{
name
:
'净资产'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico2.png'
),
amount
:
'
1699.7
'
},
{
name
:
'授信余额'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico3.png'
),
amount
:
'
1699.7
'
},
{
name
:
'营业收入'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico4.png'
),
amount
:
'
1699.7
'
},
{
name
:
'总负债'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico5.png'
),
amount
:
'
1699.7
'
}
{
name
:
'总资产'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico1.png'
),
amount
:
''
},
{
name
:
'净资产'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico2.png'
),
amount
:
''
},
{
name
:
'授信余额'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico3.png'
),
amount
:
''
},
{
name
:
'营业收入'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico4.png'
),
amount
:
''
},
{
name
:
'总负债'
,
ico
:
require
(
'@/assets/images/detail/overview/gsjy_ico5.png'
),
amount
:
''
}
],
}
},
created
()
{
this
.
handleQuery
()
this
.
handleFinancial
()
},
mounted
()
{
this
.
companySwiper
()
...
...
@@ -64,6 +63,21 @@ export default {
prevEl
:
'.swiper-oper-prev'
,
}
})
},
async
handleQuery
()
{
let
res
=
await
bondCreditRating
({
cid
:
this
.
companyId
})
if
(
res
.
code
==
200
){
this
.
operList
=
res
.
data
}
},
handleFinancial
(){
if
(
this
.
financial
){
let
{
totalAssets
,
belongNetAssets
,
creditBalance
,
operatingIncome
,
totalLiabilities
}
=
this
.
financial
let
jyqkObj
=
{
totalAssets
,
belongNetAssets
,
creditBalance
,
operatingIncome
,
totalLiabilities
}
this
.
gsjyList
.
forEach
((
item
,
index
)
=>
{
item
.
amount
=
jyqkObj
[
Object
.
keys
(
jyqkObj
)[
index
]]
})
}
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/relationship.vue
View file @
b381b73c
<
template
>
<div
class=
"app-container rela-container"
>
<div
class=
"common-title"
>
关系企业
</div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handle
Click
"
class=
"tabpane selfTab"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handle
Query
"
class=
"tabpane selfTab"
>
<el-tab-pane
label=
"股东"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"对外投资"
name=
"second"
></el-tab-pane>
</el-tabs>
<div
class=
"table-item"
>
<div
class=
"rela-person"
v-if=
"activeName=='first'"
>
实际控制人:
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
重庆市国有资产监督管理委员会
</router-link></div>
<el-table
:data=
"holderData"
border
style=
"width: 100%"
:default-sort =
"
{prop: 'date', order: 'descending'}"
v-if="activeName=='first'">
<div
class=
"rela-person"
v-if=
"activeName=='first'"
>
实际控制人:
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
financial
&&
financial
.
actualController
||
'--'
}}
</router-link></div>
<el-table
:data=
"holderData"
border
style=
"width: 100%"
v-if=
"activeName=='first'"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
holderParams
.
pageNum
*
holderParams
.
pageSize
-
holderParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"
n
ame"
min-width=
"140"
label=
"股东名称"
></el-table-column>
<el-table-column
prop=
"
cgsl
"
label=
"持股数量(亿)"
></el-table-column>
<el-table-column
prop=
"
cgbl
"
label=
"持股比例"
></el-table-column>
<el-table-column
prop=
"
fddbr
"
label=
"法定代表人"
></el-table-column>
<el-table-column
prop=
"
clrq
"
label=
"成立日期"
></el-table-column>
<el-table-column
prop=
"
stockN
ame"
min-width=
"140"
label=
"股东名称"
></el-table-column>
<el-table-column
prop=
"
xxx
"
label=
"持股数量(亿)"
></el-table-column>
<el-table-column
prop=
"
xxx
"
label=
"持股比例"
></el-table-column>
<el-table-column
prop=
"
xxx
"
label=
"法定代表人"
></el-table-column>
<el-table-column
prop=
"
xxx
"
label=
"成立日期"
></el-table-column>
</el-table>
<el-table
:data=
"shipData"
border
style=
"width: 100%"
:default-sort =
"{prop: 'date', order: 'descending'}"
v-else
>
<el-table
:data=
"shipData"
border
style=
"width: 100%"
v-else
>
<el-table-column
label=
"序号"
width=
"55"
align=
"left"
fixed
>
<
template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
shipParams
.
pageNum
*
shipParams
.
pageSize
-
shipParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"
n
ame"
min-width=
"140"
label=
"被投资企业名称"
>
<el-table-column
prop=
"
investN
ame"
min-width=
"140"
label=
"被投资企业名称"
>
<
template
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
name
}}
</router-link>
<div
class=
"tags"
v-if=
"scope.row.nAjlx"
>
<span
class=
"tag style1"
>
{{
scope
.
row
.
nAjlx
}}
</span>
<span
class=
"tag style1"
>
{{
scope
.
row
.
nAjlx
}}
</span>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.investName"
v-html=
"scope.row.investName"
></router-link>
<div
v-else
v-html=
"scope.row.investName || '--'"
></div>
<div
class=
"tags"
v-if=
"scope.row.businessStatus || scope.row.biddingAnnouncement"
>
<span
class=
"tag style1"
v-if=
"scope.row.businessStatus"
>
{{
scope
.
row
.
businessStatus
}}
</span>
<span
class=
"tag style1"
v-if=
"scope.row.biddingAnnouncement"
>
招标数
{{
scope
.
row
.
biddingAnnouncement
}}
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"fddbr"
label=
"法定代表人"
></el-table-column>
<el-table-column
prop=
"zczb"
label=
"注册资本(万元)"
>
<el-table-column
prop=
"investOperName"
label=
"法定代表人"
></el-table-column>
<el-table-column
prop=
"investRegistCapi"
label=
"注册资本(万元)"
></el-table-column>
<el-table-column
prop=
"investStartDate"
label=
"成立日期"
></el-table-column>
<el-table-column
prop=
"stockPercentage"
label=
"股权占比"
>
<
template
slot-scope=
"scope"
>
<div
style=
"text-align: right"
>
{{
scope
.
row
.
zczb
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"clrq"
label=
"成立日期"
></el-table-column>
<el-table-column
prop=
"gqzb"
label=
"股权占比"
>
<
template
slot-scope=
"scope"
>
<div
style=
"text-align: right"
>
{{
scope
.
row
.
gqzb
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"rjcze"
label=
"认缴出资额(万元)"
>
<
template
slot-scope=
"scope"
>
<div
style=
"text-align: right"
>
{{
scope
.
row
.
rjcze
}}
</div>
<span>
{{
scope
.
row
.
stockPercentage
?
parseFloat
(
Number
(
scope
.
row
.
stockPercentage
*
100
).
toFixed
(
4
))
+
'%'
:
'--'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"shouldCapi"
label=
"认缴出资额(万元)"
></el-table-column>
</el-table>
<div
class=
"rela-more"
v-if=
"activeName=='second'"
><router-link
to=
""
tag=
"a"
class=
"a-link"
>
查看更多数据 >
</router-link></div>
<div
class=
"rela-more"
v-if=
"activeName=='second'
&& shipTotal>shipParams.pageSize
"
><router-link
to=
""
tag=
"a"
class=
"a-link"
>
查看更多数据 >
</router-link></div>
</div>
</div>
</template>
<
script
>
import
{
bestStockPage
,
investment
}
from
'@/api/detail/party-a/overview'
export
default
{
name
:
'Relationship'
,
props
:
[
'companyId'
,
'financial'
],
data
()
{
return
{
activeName
:
'first'
,
//表格数据
holderData
:[
{
name
:
'重庆城市交通开发投资 (集团)有限公司'
,
cgsl
:
'60.00'
,
cgbl
:
'100%'
,
fddbr
:
'李方宇'
,
clrq
:
'1994-11-09'
},
{
name
:
'重庆城市交通开发投资 (集团)有限公司'
,
cgsl
:
'60.00'
,
cgbl
:
'100%'
,
fddbr
:
'李方宇'
,
clrq
:
'1994-11-09'
}
],
shipData
:[
{
name
:
'深圳市地铁集团有限建设总部'
,
nAjlx
:
'招标'
,
fddbr
:
'雷江松'
,
zczb
:
'15100'
,
clrq
:
'1920-02-21'
,
gqzb
:
'35%'
,
rjcze
:
'2133'
},
{
name
:
'深圳市地铁集团有限建设总部'
,
nAjlx
:
'招标'
,
fddbr
:
'雷江松'
,
zczb
:
'15100'
,
clrq
:
'1920-02-21'
,
gqzb
:
'35%'
,
rjcze
:
'2133'
},
{
name
:
'深圳市地铁集团有限建设总部'
,
nAjlx
:
'招标'
,
fddbr
:
'雷江松'
,
zczb
:
'15100'
,
clrq
:
'1920-02-21'
,
gqzb
:
'35%'
,
rjcze
:
'2133'
},
{
name
:
'深圳市地铁集团有限建设总部'
,
nAjlx
:
'招标'
,
fddbr
:
'雷江松'
,
zczb
:
'15100'
,
clrq
:
'1920-02-21'
,
gqzb
:
'35%'
,
rjcze
:
'2133'
},
{
name
:
'深圳市地铁集团有限建设总部'
,
nAjlx
:
'招标'
,
fddbr
:
'雷江松'
,
zczb
:
'15100'
,
clrq
:
'1920-02-21'
,
gqzb
:
'35%'
,
rjcze
:
'2133'
}
],
pageIndex
:
1
,
pageSize
:
10
holderData
:[],
holderParams
:
{
cid
:
this
.
companyId
,
isHistory
:
0
,
pageNum
:
1
,
pageSize
:
20
},
shipData
:[],
shipParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
10
},
shipTotal
:
0
}
},
created
()
{
this
.
handleQuery
()
},
mounted
()
{
},
methods
:
{
handleClick
(){
async
handleQuery
(){
let
res
=
this
.
activeName
==
'first'
?
await
bestStockPage
(
this
.
holderParams
):
await
investment
(
this
.
shipParams
)
if
(
res
.
code
==
200
){
this
.
activeName
==
'first'
?
this
.
holderData
=
res
.
rows
:
this
.
shipData
=
res
.
rows
}
this
.
activeName
==
'second'
?
this
.
shipTotal
=
res
.
total
:
''
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/risk.vue
View file @
b381b73c
...
...
@@ -8,7 +8,6 @@
:data=
"viewData"
border
style=
"width: 100%"
:default-sort =
"
{prop: 'date', order: 'descending'}"
>
<el-table-column
prop=
"name"
...
...
@@ -17,14 +16,14 @@
prop=
"value"
label=
"数量"
>
<template
slot-scope=
"scope"
>
<
div
style=
"text-align: right"
>
{{
scope
.
row
.
value
}}
</div
>
<
span>
{{
scope
.
row
.
value
}}
</span
>
</
template
>
</el-table-column>
<el-table-column
prop=
"bl"
label=
"占比"
>
<
template
slot-scope=
"scope"
>
<
div
style=
"text-align: right"
>
{{
scope
.
row
.
bl
}}
</div
>
<
span>
{{
scope
.
row
.
bl
}}
</span
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -37,61 +36,79 @@
import
*
as
echarts
from
'echarts'
export
default
{
name
:
'Risk'
,
props
:
[
'statistic'
],
data
()
{
return
{
viewData
:[
{
name
:
'开庭公告'
,
value
:
'2'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'credit'
,
field
:
'openAnnouncement'
,
tz
:
''
,
bl
:
''
},
{
name
:
'企业公告'
,
value
:
'2'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'xxx'
,
field
:
'yy'
,
tz
:
''
,
bl
:
''
},
{
name
:
'送达公告'
,
value
:
'2'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'xxx'
,
field
:
'yy'
,
tz
:
''
,
bl
:
''
},
{
name
:
'对外投资变更'
,
value
:
'7'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'basic'
,
field
:
'outboundInvestment'
,
tz
:
''
,
bl
:
''
},
{
name
:
'法院公告'
,
value
:
'2'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'credit'
,
field
:
'courtAnnouncement'
,
tz
:
''
,
bl
:
''
},
{
name
:
'立案信息'
,
value
:
'3'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'xxx'
,
field
:
'zz'
,
tz
:
''
,
bl
:
''
},
{
name
:
'被执行人'
,
value
:
'5'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'credit'
,
field
:
'dishonestExecutee'
,
tz
:
''
,
bl
:
''
},
{
name
:
'行政处罚'
,
value
:
'11'
,
tz
:
'50.01'
,
bl
:
'0.19%'
value
:
''
,
category
:
'credit'
,
field
:
'adminSanction'
,
tz
:
''
,
bl
:
''
},
]
}
},
created
()
{
this
.
handView
()
},
mounted
()
{
this
.
$nextTick
(()
=>
{
...
...
@@ -99,6 +116,17 @@ export default {
})
},
methods
:
{
handView
(){
let
totalVal
=
this
.
viewData
.
map
(
item
=>
{
let
number
=
this
.
statistic
[
item
.
category
]
&&
this
.
statistic
[
item
.
category
][
item
.
field
]?
this
.
statistic
[
item
.
category
][
item
.
field
]:
0
return
number
}).
reduce
((
prev
,
cur
)
=>
prev
+
cur
)
this
.
viewData
=
this
.
viewData
.
map
(
item
=>
{
let
number
=
this
.
statistic
[
item
.
category
]
&&
this
.
statistic
[
item
.
category
][
item
.
field
]?
this
.
statistic
[
item
.
category
][
item
.
field
]:
0
let
it
=
{
name
:
item
.
name
,
value
:
number
,
tz
:
''
,
bl
:
parseFloat
(
Number
(
Number
(
number
)
/
Number
(
totalVal
)
*
100
).
toFixed
(
2
))
+
'%'
}
return
it
})
},
getDT
(){
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"echartsRisk"
))
let
option
=
{
...
...
@@ -110,7 +138,9 @@ export default {
var
result
=
''
result
+=
'<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'
+
params
.
data
.
name
+
'</h3>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
value
+
'个</p>'
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
tz
+
'亿元</p>'
if
(
params
.
data
.
tz
){
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;" >'
+
params
.
data
.
tz
+
'亿元</p>'
}
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
data
.
bl
+
'%</p>'
return
result
;
},
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/senior.vue
View file @
b381b73c
...
...
@@ -9,13 +9,13 @@
:default-sort =
"
{prop: 'date', order: 'descending'}"
>
<el-table-column
label=
"序号"
width=
"55"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
<template
slot-scope=
"scope"
>
{{
queryParams
.
pageNum
*
queryParams
.
pageSize
-
queryParams
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"姓名"
></el-table-column>
<el-table-column
prop=
"
zw
"
prop=
"
jobTitle
"
label=
"职务"
></el-table-column>
</el-table>
</div>
...
...
@@ -23,23 +23,34 @@
</template>
<
script
>
import
{
keymembers
}
from
"@/api/detail/party-a/overview"
export
default
{
name
:
'Senior'
,
props
:
[
'companyId'
],
data
()
{
return
{
queryParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
20
},
//表格数据
tableData
:[
{
name
:
'重庆城市交通开发投资 (集团)有限公司'
,
zw
:
'董事'
}
],
pageIndex
:
1
,
pageSize
:
10
tableData
:[]
}
},
created
()
{
this
.
handleQuery
()
},
mounted
()
{
},
methods
:
{
async
handleQuery
(){
let
res
=
await
keymembers
(
this
.
queryParams
)
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
}
}
}
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/tender.vue
View file @
b381b73c
...
...
@@ -3,33 +3,41 @@
<div
class=
"tender-list"
>
<div
class=
"common-title"
>
招标公告
</div>
<div
class=
"tender-item"
v-for=
"(item, index) in zbggList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
>
{{
item
.
name
}}
<span
:class=
"item.tag=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
>
{{
item
.
tag
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
tip
}}
{{
item
.
t
ime
}}
</span>
<div
class=
"flex-box tender-title"
>
{{
item
.
projectName
}}
<span
:class=
"item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'"
>
{{
item
.
tenderStage
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
contact
}}
{{
item
.
issueT
ime
}}
</span>
</div>
</div>
<div
class=
"tender-list"
>
<div
class=
"common-title"
>
企业动态
</div>
<div
class=
"tender-item"
v-for=
"(item, index) in trendList"
:key=
"index"
>
<div
class=
"flex-box tender-title"
>
{{
item
.
name
}}
<span
:class=
"item.tag=='新增分支机构'?'style2':item.tag=='新增施工工法'?'style3':'style1'"
>
{{
item
.
tag
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
t
ime
}}
</span>
<div
class=
"flex-box tender-title"
>
{{
item
.
xxx
}}
<span
:class=
"item.tag=='新增分支机构'?'style2':item.tag=='新增施工工法'?'style3':'style1'"
>
{{
item
.
tag
}}
</span></div>
<span
class=
"tender-time"
>
{{
item
.
createT
ime
}}
</span>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
bidNoticePage
,
dynamicPage
}
from
"@/api/detail/party-a/overview"
export
default
{
name
:
'Tender'
,
props
:
[
'companyId'
],
data
()
{
return
{
zbggParams
:
{
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
5
},
//招标公告数据
zbggList
:[
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'公司经营'
,
tip
:
'通信信息报'
,
time
:
'03-21'
},
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'项目动态'
,
tip
:
'通信信息报'
,
time
:
'03-21'
},
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'公司经营'
,
tip
:
'通信信息报'
,
time
:
'03-21'
},
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'招投标'
,
tip
:
'通信信息报'
,
time
:
'03-21'
},
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'公司经营'
,
tip
:
'通信信息报'
,
time
:
'03-21'
}
],
zbggList
:[],
trendParams
:
{
companyId
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
5
},
//企业动态数据
trendList
:[
{
name
:
'深圳北站片区正建超大型商场,预计2026年建成'
,
tag
:
'对外投资变更'
,
time
:
'03-21'
},
...
...
@@ -41,10 +49,23 @@ export default {
}
},
created
()
{
this
.
handleQuery
()
},
mounted
()
{
},
methods
:
{
async
handleQuery
()
{
let
[
notice
,
namic
]
=
await
Promise
.
all
([
bidNoticePage
(
this
.
zbggParams
),
dynamicPage
(
this
.
trendParams
)
])
if
(
notice
.
code
==
200
){
this
.
zbggList
=
notice
.
rows
}
if
(
namic
.
code
==
200
){
this
.
trendList
=
namic
.
rows
}
}
}
}
</
script
>
...
...
dsk-operate-ui/src/views/detail/party-a/overview/overview.vue
View file @
b381b73c
<
template
>
<div
class=
"app-container part-container"
>
<div
class=
"view-content"
><Infoheader
:companyId=
"companyId"
:companyInfo=
"companyInfo"
/></div>
<!-- 企业信息 -->
<div
class=
"view-content"
><Operations
/></div>
<!-- 公司经营 -->
<div
class=
"view-content"
><Bidding
/></div>
<!--招标偏好、业务往来-->
<div
class=
"view-content"
><Busclue
/></div>
<!--商机线索-->
<div
class=
"view-content"
><Relationship
/></div>
<!--关系企业-->
<div
class=
"view-content"
><Senior
/></div>
<!--高管-->
<div
class=
"view-content"
><Risk
/></div>
<!--风险概览-->
<div
class=
"view-content"
><Tender
/></div>
<!--招标公告、企业动态-->
<div
class=
"view-content"
><Infoheader
:companyId=
"companyId"
:companyInfo=
"companyInfo"
:statistic=
"statistic"
v-if=
"isShow"
/></div>
<!-- 企业信息 -->
<div
class=
"view-content"
><Operations
:companyId=
"companyId"
:financial=
"financial"
v-if=
"isShow"
/></div>
<!-- 公司经营 -->
<div
class=
"view-content"
><Bidding
:companyId=
"companyId"
/></div>
<!--招标偏好、业务往来-->
<div
class=
"view-content"
><Busclue
:companyId=
"companyId"
:statistic=
"statistic"
v-if=
"statistic"
/></div>
<!--商机线索-->
<div
class=
"view-content"
><Relationship
:companyId=
"companyId"
:financial=
"financial"
v-if=
"isShow"
/></div>
<!--关系企业-->
<div
class=
"view-content"
><Senior
:companyId=
"companyId"
/></div>
<!--高管-->
<div
class=
"view-content"
><Risk
:companyId=
"companyId"
:statistic=
"statistic"
v-if=
"isShow"
/></div>
<!--风险概览-->
<div
class=
"view-content"
><Tender
:companyId=
"companyId"
/></div>
<!--招标公告、企业动态-->
</div>
</
template
>
<
script
>
import
{
statistic
}
from
'@/api/detail/party-a/overview'
import
{
financial
}
from
'@/api/detail/party-a/financial'
import
Infoheader
from
"./component/infoheader"
import
Operations
from
"./component/operations"
import
Bidding
from
"./component/bidding"
...
...
@@ -35,11 +37,28 @@ export default {
},
data
()
{
return
{
isShow
:
false
,
statistic
:
{},
financial
:
{}
}
},
created
()
{
this
.
handleQuery
()
},
methods
:
{
async
handleQuery
()
{
let
[
statis
,
financ
]
=
await
Promise
.
all
([
statistic
({
companyId
:
this
.
companyId
}),
financial
({
cid
:
this
.
companyId
})
])
if
(
statis
.
code
==
200
){
this
.
statistic
=
statis
.
data
}
if
(
financ
.
code
==
200
){
this
.
financial
=
financ
.
data
}
this
.
isShow
=
true
}
}
}
</
script
>
...
...
dsk-operate-ui/src/views/enterpriseData/components/Owner/index.vue
View file @
b381b73c
...
...
@@ -138,257 +138,296 @@
</div>
</div>
<div
class=
" table-item-jf"
>
<div
class=
" table-item-jf table-item-jf1"
v-if=
"tableData.length==0"
>
<div
class=
"item-jf-text"
>
暂无数据!
</div>
</div>
<div
class=
" table-item-jf"
v-if=
"tableData.length>0"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#F0F3FA'}" element-loading-text="Loading" border highlight-current-row>
<el-table-column
label=
"序号"
width=
"60"
>
<template
slot-scope=
"scope"
>
1
</
template
>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
10
+
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"公司名称"
width=
"430"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"'/radar/bxprozbgg/details/'+ 1"
tag=
"a"
class=
"list-titel-a"
>
绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)
</router-link>
</
template
>
<div
class=
"renling"
>
<router-link
:to=
"'/radar/bxprozbgg/details/'+ 1"
tag=
"a"
class=
"list-titel-a"
>
{{
scope
.
row
.
companyName
}}
</router-link>
<div
class=
"renling-btn"
>
<img
src=
"@/assets/images/owner/renling1.png"
alt=
""
>
<span
v-if=
"scope.row.claimStatus"
class=
"renling-hui"
>
已认领
</span>
<span
v-else
class=
"renling-hei"
@
click=
"claimbtn(scope.row)"
>
认领
</span>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"区域"
width=
"60"
>
<el-table-column
label=
"区域"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"'/radar/bxprozbgg/details/'+ 1"
tag=
"a"
class=
"list-titel-a"
>
{{
scope
.
row
.
province
}}
<template
v-if=
"scope.row.city"
>
-
</
template
>
{{scope.row.city}}
<
template
v-if=
"scope.row.area"
>
-
</
template
>
{{scope.row.area}}
</router-link>
</template>
</el-table-column>
<el-table-column
label=
"招标数量"
width=
"72"
>
<
template
slot-scope=
"scope"
>
--
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"城投拿地"
width=
"72"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"供应商"
width=
"72"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
supplierCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"主体评级"
width=
"72"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
bratingSubjectLevel
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"债券余额(亿元)"
width=
"124"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
bondBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"行政级别"
width=
"72"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
uipExecutiveLevel
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"股东背景"
width=
"84"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
shareholderBg
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"股权关系"
width=
"84"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
equityRelationship
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"平台重要性"
width=
"84"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
platformImportance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"城投业务类型"
width=
"94"
>
<
template
slot-scope=
"scope"
>
28
{{
scope
.
row
.
uipBusinessType
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"实控人"
width=
"290"
>
<
template
slot-scope=
"scope"
>
28
<router-link
v-if=
"scope.row.actualController"
:to=
"'/radar/bxprozbgg/details/'+ 1"
tag=
"a"
class=
"list-titel-a"
>
{{
scope
.
row
.
actualController
}}
</router-link>
<template
v-else
>
{{
scope
.
row
.
actualController
||
"--"
}}
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"最新报告期"
width=
"92"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
latestReportPeriod
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"总资产(亿元)"
width=
"112"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
totalAssets
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"归母净资产(亿元)"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
belongNetAssets
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"货币资金(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
monetaryFunds
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"土地资产(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
landAssets
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"受限资产(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
restrictedAssets
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"应收账款(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
accountsReceivable
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"公益性&准公益性主营占比"
width=
"168"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_001
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"政府补助(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
govSubsidy
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"专项应付款(亿元)"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
specialPayable
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"营业收入(亿元)"
width=
"120"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
operatingIncome
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"归母净利润(亿元)"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
belongNetProfit
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"净资产收益率"
width=
"96"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
roe
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"经营现金流量净额(亿元)"
width=
"168"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
netOperatingCashFlow
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"筹资现金流量净额(亿元)"
width=
"168"
>
<
template
slot-scope=
"scope"
>
2021-12-13
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
netFinancingCashFlow
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"投资现金流量净额(亿元)"
width=
"168"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
netInvestmentCashFlow
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"总负债 (亿元)"
width=
"112"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
totalLiabilities
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"有息债务 (亿元)"
width=
"124"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
uipInterestBearingDebt
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"有息债务/总负债"
width=
"114"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_002
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"综合融资成本"
width=
"96"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
ofcb
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金比率"
width=
"72"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
cashRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金流量比率"
width=
"96"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
cashFlowRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"现金到期债务比"
width=
"112"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cashDebtRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"授信余额(亿元)"
width=
"124"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
creditBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"授信余额/全部债务"
width=
"126"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_003
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"EBITDA保障倍数"
width=
"116"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
ebitdaIcr
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"私募债余额占比"
width=
"108"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
ppnBalanceProp
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"一年内到期债权占比"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_004
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"债券余额/有息债务"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_005
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"借款余额(亿元)"
width=
"124"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
loan
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"借款/有息债务"
width=
"102"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
econData_006
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"非标余额(亿元)"
width=
"124"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
nonStandardBalance
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"非标余额/有息债务"
width=
"132"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
nonStandardRatio
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"对外担保金额(亿元)"
width=
"144"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
guaranteeAmount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"对外担保比例"
width=
"96"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
guaranteeAmount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"所属开发区"
width=
"84"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
developmentZone
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"开发区类别"
width=
"84"
>
<
template
slot-scope=
"scope"
>
2021-12-13
{{
scope
.
row
.
developmentZone
||
"--"
}}
</
template
>
</el-table-column>
</el-table>
...
...
@@ -405,6 +444,19 @@
</div>
</div>
<el-dialog
title=
""
:visible
.
sync=
"dialogVisible"
:modal=
"false"
custom-class=
'dialog-renlin'
:show-close=
"false"
width=
"244px"
>
<span>
认领成功,是否完善客户信息?
</span>
<div
slot=
"footer"
class=
"dialog-footer"
>
<span
class=
"dialog-footer-btn1"
type=
"primary"
@
click=
"renlin()"
>
立即完善
</span>
<span
class=
"dialog-footer-btn2"
@
click=
"search(pageNum, pageSize)"
>
稍后
</span>
</div>
</el-dialog>
</div>
</template>
...
...
@@ -480,9 +532,10 @@ export default {
},
],
dialogVisible
:
false
,
tableData
:[],
total
:
600
0
,
total
:
0
,
pageNum
:
1
,
pageSize
:
20
};
...
...
@@ -720,7 +773,33 @@ export default {
this
.
pageFlag
=
true
;
});
},
claimbtn
(
item
){
var
params
=
{
companyId
:
item
.
companyId
,
uipId
:
item
.
uipId
,
companyName
:
item
.
companyName
,
// creditLevel:item.bratingSubjectLevel,
// legalPerson:item.legalPerson,
// registerCapital:item.registerCapital,
// provinceId:item.provinceId,
// cityId:item.cityId,
// districtId:item.districtId,
// registerAddress:item.registerAddress,
// creditCode:item.creditCode,
}
api
.
claim
(
params
).
then
(
res
=>
{
// console.log(res)
if
(
res
.
code
==
200
)
{
this
.
dialogVisible
=
true
;
}
}).
catch
(
error
=>
{
});
},
search
(
pageNum
,
pageSize
,
exportFlag
)
{
this
.
dialogVisible
=
false
;
if
(
!
pageNum
)
{
this
.
pageNum
=
1
;
}
...
...
@@ -783,9 +862,10 @@ export default {
delete
params
.
equityRelationship
}
api
.
uipSerach
(
params
).
then
(
res
=>
{
console
.
log
(
res
)
//
console.log(res)
if
(
res
.
code
==
200
)
{
// 行政等级
this
.
tableData
=
res
.
rows
;
this
.
total
=
res
.
total
;
}
}).
catch
(
error
=>
{
...
...
@@ -793,12 +873,59 @@ export default {
});
},
renlin
(){
this
.
dialogVisible
=
false
;
// 跳转地址
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.dialog-renlin
{
margin-top
:
40vh
!
important
;
.el-dialog__body
{
padding
:
0
;
text-align
:
center
;
padding-bottom
:
24px
;
}
.el-dialog__footer
{
padding
:
0px
;
padding-bottom
:
24px
;
.dialog-footer
{
display
:
inline-flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
.dialog-footer-btn1
{
cursor
:
pointer
;
width
:
72px
;
height
:
28px
;
background
:
#0081FF
;
border-radius
:
2px
2px
2px
2px
;
font-size
:
12px
;
font-weight
:
400
;
color
:
#FFFFFF
;
line-height
:
28px
;
text-align
:
center
;
margin-right
:
8px
;
}
.dialog-footer-btn2
{
cursor
:
pointer
;
width
:
72px
;
height
:
28px
;
border-radius
:
2px
2px
2px
2px
;
border
:
1px
solid
#CCCCCC
;
line-height
:
28px
;
text-align
:
center
;
font-size
:
12px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
}
}
.content
{
padding
:
0px
16px
;
border-radius
:
4px
4px
4px
4px
;
...
...
@@ -1079,12 +1206,54 @@ export default {
::v-deep
.el-table--border
.el-table__cell
{
border-right
:
1px
solid
#E6EAF1
;
}
.item-jf-text
{
width
:
100%
;
text-align
:
center
;
padding
:
56px
0px
;
font-size
:
18px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
.renling
{
display
:
flex
;
align-items
:
center
;
.list-titel-a
{
width
:
264px
;
margin-right
:
12px
;
}
.renling-btn
{
display
:
flex
;
align-items
:
center
;
img
{
width
:
16px
;
height
:
16px
;
margin-right
:
8px
;
}
.renling-hui
{
font-size
:
12px
;
font-weight
:
400
;
color
:
rgba
(
35
,
35
,
35
,
0
.4
);
}
.renling-hei
{
cursor
:
pointer
;
font-size
:
12px
;
font-weight
:
400
;
color
:
#3D3D3D
;
}
.renling-hei
:hover
{
color
:
#0081FF
;
}
}
}
}
.table-item-jf1
{
border-top
:
1px
solid
#EFEFEF
;
}
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
float
:
right
;
}
}
}
...
...
dsk-operate-ui/src/views/macro/economies/component/localEconomy.vue
View file @
b381b73c
...
...
@@ -24,7 +24,11 @@
highlight-current-row
@
sort-change=
"sortChange"
>
<el-table-column
prop=
"province"
label=
"下辖区"
width=
"100"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"province"
label=
"下辖区"
width=
"170"
:formatter=
"formatStatus"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"gdp"
label=
"GDP(亿元)"
sortable
width=
"120"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpGrowth"
label=
"GDP增速"
sortable
width=
"100"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"gdpPerCapita"
label=
"人均GDP(元)"
sortable
width=
"130"
:formatter=
"formatStatus"
/>
...
...
dsk-operate-ui/src/views/macro/financing/details.vue
View file @
b381b73c
...
...
@@ -182,10 +182,11 @@ export default {
var
year
=
date
.
getFullYear
()
var
month
=
date
.
getMonth
()
+
1
<
10
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
var
day
=
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
()
var
hours
=
date
.
getHours
()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
var
minutes
=
date
.
getMinutes
()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
var
seconds
=
date
.
getSeconds
()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hours
+
':'
+
minutes
+
':'
+
seconds
// var hours = date.getHours()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
// var minutes = date.getMinutes()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
// var seconds = date.getSeconds()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
// return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
return
year
+
'-'
+
month
+
'-'
+
day
}
}
}
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
b381b73c
...
...
@@ -139,6 +139,7 @@ export default {
let
arr
=
this
.
tableData
.
sort
((
old
,
New
)
=>
{
return
New
.
value
-
old
.
value
})
console
.
log
(
arr
)
let
data
=
[]
for
(
let
i
=
0
;
i
<
10
;
i
++
){
data
.
push
(
arr
[
i
])
...
...
@@ -215,13 +216,12 @@ export default {
for
(
var
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
var
obj
=
{};
obj
.
name
=
res
.
data
[
i
].
projectType
;
obj
.
value
=
res
.
data
[
i
].
cou
nt
;
obj
.
totalInvestment
=
res
.
data
[
i
].
totalInvestme
nt
;
obj
.
value
=
res
.
data
[
i
].
totalInvestme
nt
;
obj
.
number
=
res
.
data
[
i
].
cou
nt
;
obj
.
proportion
=
res
.
data
[
i
].
proportion
;
list
.
push
(
obj
)
}
this
.
tableData
=
list
;
})
},
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
b381b73c
...
...
@@ -41,9 +41,9 @@
<el-table-column
label=
"序号"
width=
"50"
align=
"left"
fixed
>
<template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"地区"
min-width=
"
7
0"
align=
"left"
fixed
>
<el-table-column
label=
"地区"
min-width=
"
15
0"
align=
"left"
fixed
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}
</router-link>
<router-link
:to=
"
{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}
{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
label=
"年度明细"
prop=
"id"
width=
"90"
align=
"center"
fixed
>
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
b381b73c
...
...
@@ -7,121 +7,123 @@
</div>
</div>
<div
class=
"search"
>
<el-radio
v-model=
"radio"
label=
"1"
>
含下属辖区
</el-radio>
<el-radio
v-model=
"radio"
label=
"2"
>
本级
</el-radio>
<el-radio-group
v-model=
"queryParams.radio"
@
change=
"querySubmit"
>
<el-radio
label=
"1"
>
含下属辖区
</el-radio>
<el-radio
label=
"2"
>
本级
</el-radio>
</el-radio-group>
<div
class=
"search-box"
>
<span
style=
"cursor: pointer;"
@
click=
"handleSearch"
>
筛选
<i
class=
"el-icon-caret-bottom"
style=
"color:rgba(35,35,35,0.4);margin-left: 5px"
></i></span>
<div
v-show=
"searchState"
ref=
"showContent"
class=
"search-main"
>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
行政等级
</span>
<div
class=
"item_ckquery"
>
<span
:class=
"
{color_text:xzdjCalss == ''}" @click="changeXZDJ('')">全部
</span>
<template
v-for=
"(item,index) in
xzdj
"
>
<span
:class=
"
{color_text:index+1 === xzdjCalss}" @click="changeXZDJ(index+1
)">
{{
item
.
name
}}
</span>
<span
:class=
"
{color_text:xzdjCalss == ''}" @click="changeXZDJ(''
,''
)">全部
</span>
<template
v-for=
"(item,index) in
typeList.uipExecutiveLevel
"
>
<span
:class=
"
{color_text:index+1 === xzdjCalss}" @click="changeXZDJ(index+1
,item)">
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
城投业务类型
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in typeList"
>
<span>
{{
item
}}
</span>
<span
:class=
"{'color_text':queryParams.uipBusinessType.length === 0}"
@
click=
"changeType('',1)"
>
全部
</span>
<
template
v-for=
"(item,index) in typeList
.uipBusinessType
"
>
<span
:class=
"
{'color_text':queryParams.uipBusinessType.indexOf(item)!=-1}" @click="changeType(item,1)"
>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
主体评级
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in
ztpj
"
>
<span>
{{
item
}}
</span>
<span
:class=
"{'color_text':queryParams.bratingSubjectLevel.length === 0}"
@
click=
"changeType('',2)"
>
全部
</span>
<
template
v-for=
"(item,index) in
typeList.bratingSubjectLevel
"
>
<span
:class=
"
{'color_text':queryParams.bratingSubjectLevel.indexOf(item)!=-1}" @click="changeType(item,2)"
>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
股东背景
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in
gdbj
"
>
<span>
{{
item
}}
</span>
<span
:class=
"{'color_text':queryParams.shareholderBg.length === 0}"
@
click=
"changeType('',3)"
>
全部
</span>
<
template
v-for=
"(item,index) in
typeList.shareholderBg
"
>
<span
:class=
"
{'color_text':queryParams.shareholderBg.indexOf(item)!=-1}" @click="changeType(item,3)"
>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
股权关系
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in
gqgx
"
>
<span>
{{
item
}}
</span>
<span
:class=
"{'color_text':queryParams.equityRelationship.length === 0}"
@
click=
"changeType('',4)"
>
全部
</span>
<
template
v-for=
"(item,index) in
typeList.equityRelationship
"
>
<span
:class=
"
{'color_text':queryParams.equityRelationship.indexOf(item)!=-1}" @click="changeType(item,4)"
>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
>
平台重要性
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in pt"
>
<span>
{{
item
}}
</span>
</
template
>
</div>
</div>
<div
class=
"item"
>
<span
class=
"wrap_label"
style=
"width: 78px;"
>
开发区类别
</span>
<div
class=
"item_ckquery"
>
<span>
全部
</span>
<
template
v-for=
"(item,index) in lfqType"
>
<span>
{{
item
}}
</span>
<span
:class=
"{'color_text':queryParams.platformImportance.length === 0}"
@
click=
"changeType('',5)"
>
全部
</span>
<
template
v-for=
"(item,index) in typeList.platformImportance"
>
<span
:class=
"
{'color_text':queryParams.platformImportance.indexOf(item)!=-1}" @click="changeType(item,5)">
{{
item
}}
</span>
</
template
>
</div>
</div>
<!--<div class="item">-->
<!--<span class="wrap_label" style="width: 78px;">开发区类别</span>-->
<!--<div class="item_ckquery">-->
<!--<span>全部</span>-->
<!--<template v-for="(item,index) in lfqType">-->
<!--<span>{{item}}</span>-->
<!--</template>-->
<!--</div>-->
<!--</div>-->
<div
class=
"item"
>
<span
class=
"wrap_label"
>
更多筛选
</span>
<div
class=
"item_ckquery"
>
<span
:class=
"addresslength>0?'select-active':''"
>
注册地区{{addresslength>0?(addresslength+'项'):''}}
</span>
<el-cascader
ref=
"address"
class=
"cascader-region"
popper-class=
'cascader-region-addd'
@
input=
"addressListbtn"
v-model=
"
addressType
"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
@
input=
"addressListbtn"
v-model=
"
queryParams.address
"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
</div>
</div>
</div>
</div>
<el-input
class=
"search-input"
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.key"
>
<el-input
class=
"search-input"
placeholder=
"输入企业名称关键词"
v-model=
"queryParams.key
word
"
>
<
template
slot=
"prepend"
><i
class=
"el-icon-search"
></i></
template
>
<el-button
slot=
"append"
>
搜索
</el-button>
<el-button
slot=
"append"
@
click=
"querySubmit"
>
搜索
</el-button>
</el-input>
</div>
<div
class=
"list-box"
>
<div
class=
"item"
>
<div
class=
"left"
>
<p>
115
<span>
家
</span></p>
<p>
{{statistics.count}}
<span>
家
</span></p>
<span>
平台家数
</span>
</div>
<img
src=
"@/assets/images/urban/img1.png"
>
</div>
<div
class=
"item"
>
<div
class=
"left"
>
<p>
18,737.90
<span>
亿元
</span></p>
<p>
{{statistics.creditBalance}}
<span>
亿元
</span></p>
<span>
授信余额
</span>
</div>
<img
src=
"@/assets/images/urban/img2.png"
>
</div>
<div
class=
"item"
>
<div
class=
"left"
>
<p>
18,737.90
<span>
亿元
</span></p>
<p>
{{statistics.totalAssets}}
<span>
亿元
</span></p>
<span>
资产总额
</span>
</div>
<img
src=
"@/assets/images/urban/img3.png"
>
</div>
<div
class=
"item"
>
<div
class=
"left"
>
<p>
18,737.90
<span>
亿元
</span></p>
<p>
{{statistics.accountsReceivable}}
<span>
亿元
</span></p>
<span>
营收账款
</span>
</div>
<img
src=
"@/assets/images/urban/img4.png"
>
</div>
<div
class=
"item"
>
<div
class=
"left"
>
<p>
18,737.90
<span>
亿元
</span></p>
<p>
{{statistics.nonStandardBalance}}
<span>
亿元
</span></p>
<span>
非标余额
</span>
</div>
<img
src=
"@/assets/images/urban/img5.png"
>
...
...
@@ -142,6 +144,7 @@
v-loading=
"tableLoading"
:data=
"tableData"
element-loading-text=
"Loading"
@
sort-change=
"sortChange"
border
fit
highlight-current-row
...
...
@@ -149,23 +152,28 @@
<el-table-column
label=
"序号"
width=
"50"
align=
"left"
fixed
>
<
template
slot-scope=
"scope"
>
{{
pageIndex
*
pageSize
-
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"公司名称"
width=
"250"
fixed
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
name
}}
<span
class=
"table-span"
style=
"color: #3D3D3D;"
v-if=
"scope.row.state === 0"
><img
src=
"@/assets/images/urban/rl_icon1.png"
/>
认领
</span>
<span
class=
"table-span"
style=
"color: rgba(35,35,35,0.4);"
v-if=
"scope.row.state === 1"
><img
src=
"@/assets/images/urban/rl_icon2.png"
/>
已认领
</span>
<el-table-column
prop=
"companyName"
label=
"公司名称"
width=
"300"
fixed
>
<
template
slot-scope=
"scope"
>
<p
class=
"companyName"
>
{{
scope
.
row
.
companyName
}}
</p>
<span
class=
"table-span"
style=
"color: #3D3D3D;"
v-if=
"scope.row.claimStatus === 0"
><img
src=
"@/assets/images/urban/rl_icon1.png"
/>
认领
</span>
<span
class=
"table-span"
style=
"color: rgba(35,35,35,0.4);"
v-if=
"scope.row.claimStatus === 1"
><img
src=
"@/assets/images/urban/rl_icon2.png"
/>
已认领
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"value"
label=
"区域"
width=
"100"
/>
<el-table-column
prop=
"pm"
label=
"招标数量"
sortable
width=
"120"
/>
<el-table-column
prop=
"bl"
label=
"城投拿地"
sortable
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"供应商"
sortable
width=
"170"
/>
<el-table-column
prop=
"bl"
label=
"主体评级"
sortable
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"债券余额(亿元)"
sortable
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"行政级别"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"股东背景"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"股权关系"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"平台重要性"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"城投业务类型"
width=
"140"
>
<el-table-column
prop=
"city"
label=
"区域"
:formatter=
"formatStatus"
width=
"100"
>
<!--<template slot-scope="scope">-->
<!--{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}-->
<!--</template>-->
</el-table-column>
<el-table-column
prop=
"biddingCount"
label=
"招标数量"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"120"
/>
<el-table-column
prop=
"landInfoCount"
label=
"城投拿地"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"supplierCount"
label=
"供应商"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"170"
/>
<el-table-column
prop=
"bratingSubjectLevel"
label=
"主体评级"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"bondBalance"
label=
"债券余额(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"140"
/>
<el-table-column
prop=
"uipExecutiveLevel"
label=
"行政级别"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"shareholderBg"
label=
"股东背景"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"equityRelationship"
label=
"股权关系"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"platformImportance"
label=
"平台重要性"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"uipBusinessType"
label=
"城投业务类型"
:formatter=
"formatStatus"
width=
"140"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<span>
城投业务类型
<el-tooltip
popper-class=
"tips"
effect=
"light"
content=
" 根据主营业务构成划分为土地开发整理、基础设施建设、交通建设运营、棚改保障房建设、公用事业等8大类型。"
placement=
"top"
>
...
...
@@ -174,46 +182,47 @@
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"bl"
label=
"实控人"
width=
"200"
/>
<el-table-column
prop=
"bl"
label=
"最新报告期"
width=
"120"
/>
<el-table-column
prop=
"bl"
label=
"总资产(亿元)"
sortable
width=
"120"
/>
<el-table-column
prop=
"bl"
label=
"归母净资产(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"货币资金(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"土地资产(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"受限资产(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"应收账款(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"其他应收款(亿元)"
sortable
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"公益性&准公益性主营占比(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"应收类款项来自政府占比(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"政府补助(亿元)"
width=
"120"
/>
<el-table-column
prop=
"bl"
label=
"专项应付款(亿元)"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"营业收入(亿元)"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"归母净利润(亿元)"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"净资产收益率(%)"
width=
"140"
/>
<el-table-column
prop=
"bl"
label=
"经营现金流量净额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"筹资现金流量净额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"投资现金流量净额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"总负债(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"有息债务(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"有息债务/总负债(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"资产负债率(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"综合融资成本(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"现金比率"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"现金流量比率"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"现金到期债务比"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"授信余额/全部债务(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"EBITDA保障倍数"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"私募债余额占比(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"一年内到期债权占比(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"债券余额/有息债务(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"借款余额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"借款/有息债务(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"非标余额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"非标余额/有息债务(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"对外担保金额(亿元)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"对外担保比例(%)"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"所属开发区"
width=
"160"
/>
<el-table-column
prop=
"bl"
label=
"开发区类别"
width=
"160"
/>
<el-table-column
prop=
"actualController"
label=
"实控人"
:formatter=
"formatStatus"
width=
"200"
/>
<el-table-column
prop=
"latestReportPeriod"
label=
"最新报告期"
:formatter=
"formatStatus"
width=
"120"
/>
<el-table-column
prop=
"totalAssets"
label=
"总资产(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"120"
/>
<el-table-column
prop=
"belongNetAssets"
label=
"归母净资产(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"monetaryFunds"
label=
"货币资金(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"landAssets"
label=
"土地资产(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"restrictedAssets"
label=
"受限资产(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"accountsReceivable"
label=
"应收账款(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"otherReceivable"
label=
"其他应收款(亿元)"
:formatter=
"formatStatus"
sortable=
"custom"
width=
"160"
/>
<el-table-column
prop=
"econData001"
label=
"公益性&准公益性主营占比(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"receivableFromGovRatio"
label=
"应收类款项来自政府占比(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"govSubsidy"
label=
"政府补助(亿元)"
:formatter=
"formatStatus"
width=
"120"
/>
<el-table-column
prop=
"specialPayable"
label=
"专项应付款(亿元)"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"operatingIncome"
label=
"营业收入(亿元)"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"belongNetProfit"
label=
"归母净利润(亿元)"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"roe"
label=
"净资产收益率(%)"
:formatter=
"formatStatus"
width=
"140"
/>
<el-table-column
prop=
"netOperatingCashFlow"
label=
"经营现金流量净额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"netFinancingCashFlow"
label=
"筹资现金流量净额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"netInvestmentCashFlow"
label=
"投资现金流量净额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"totalLiabilities"
label=
"总负债(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"uipInterestBearingDebt"
label=
"有息债务(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"econData002"
label=
"有息债务/总负债(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"tdr"
label=
"资产负债率(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"ofcb"
label=
"综合融资成本(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"cashRatio"
label=
"现金比率"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"cashFlowRatio"
label=
"现金流量比率"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"cashDebtRatio"
label=
"现金到期债务比"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"creditBalance"
label=
"授信余额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"econData003"
label=
"授信余额/全部债务(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"ebitdaIcr"
label=
"EBITDA保障倍数"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"ppnBalanceProp"
label=
"私募债余额占比(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"econData004"
label=
"一年内到期债权占比(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"econData005"
label=
"债券余额/有息债务(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"loan"
label=
"借款余额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"econData006"
label=
"借款/有息债务(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"nonStandardBalance"
label=
"非标余额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"nonStandardRatio"
label=
"非标余额/有息债务(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"guaranteeAmount"
label=
"对外担保金额(亿元)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"guaranteeRatio"
label=
"对外担保比例(%)"
:formatter=
"formatStatus"
width=
"160"
/>
<el-table-column
prop=
"developmentZone"
label=
"所属开发区"
:formatter=
"formatStatus"
width=
"160"
/>
<!--<el-table-column prop="bl" label="开发区类别" width="160" />-->
</el-table>
</div>
<div
class=
"pagination-box"
>
...
...
@@ -225,64 +234,38 @@
<
script
>
import
dataRegion
from
'@/assets/json/dataRegion'
import
{
uipGroupData
,
urbanInvestmentPage
,
urbanInvestmentStatistics
}
from
'@/api/macro/macro'
export
default
{
name
:
'Urban'
,
data
()
{
return
{
queryParams
:{
key
:
''
keyword
:
''
,
uipExecutiveLevel
:
''
,
//行政级别
uipBusinessType
:[],
//城投业务类型
bratingSubjectLevel
:[],
//主体评级
shareholderBg
:[],
//股东背景
equityRelationship
:[],
//股权关系
platformImportance
:[],
//平台重要性
address
:[],
radio
:
'1'
,
},
tableData
:[
{
name
:
'重庆市江北区国有资本投资运营管理集团有限公司'
,
pm
:
'1/306'
,
value
:
'江北区'
,
bl
:
'129.386'
,
state
:
1
},
{
name
:
'重庆市江北区国有资本投资运营管理集团有限公司'
,
pm
:
'1/306'
,
value
:
'江北区'
,
bl
:
'129.386'
,
state
:
0
},
],
tableData
:[],
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
120
,
radio
:
'2'
,
xzdj
:[
{
name
:
'省级'
,
key
:
1
,
},
{
name
:
'地级市'
,
key
:
2
,
},
{
name
:
'区县级'
,
key
:
3
,
}
],
selected
:[],
xzdjCalss
:
''
,
typeList
:[
'土地开发整理'
,
'基础设施建设'
,
'棚改保障房建设'
,
'公用事业'
,
'文化旅游'
,
'交通建设运营'
,
'产投平台'
],
ztpj
:[
'AAA'
,
'AA+'
,
'AA'
,
'A+'
,
'A'
,
'A-'
,
'BBB+'
,
'其他'
],
gdbj
:[
'政府'
,
'财政'
,
'国资委'
,
'其他'
],
gqgx
:[
'直接控股'
,
'间接控股'
],
pt
:[
'重要平台'
,
'主要平台'
,
'一般平台'
],
lfqType
:[
'国家级经开'
,
'国家级高新区'
,
'国家海关监管区域'
,
'国家级新区'
,
'国家边和区'
,
'其他国家级'
,
'省级新区'
,
'省级开发区'
],
props
:
{
value
:
'id'
,
multiple
:
true
,
},
addressList
:
[],
addressType
:
[],
addresslength
:
0
,
searchState
:
false
,
typeList
:[],
statistics
:{}
}
},
watch
:{
...
...
@@ -300,8 +283,89 @@ export default {
},
created
()
{
this
.
dataRegion
()
this
.
getType
()
this
.
querySubmit
()
},
methods
:
{
getType
(){
uipGroupData
().
then
(
res
=>
{
console
.
log
(
res
.
data
)
this
.
typeList
=
res
.
data
;
})
},
// 查询提交
async
querySubmit
()
{
this
.
tableLoading
=
true
const
params
=
{
pageNum
:
this
.
pageIndex
,
pageSize
:
this
.
pageSize
,
type
:
Number
(
this
.
queryParams
.
radio
)}
const
param
=
{}
if
(
this
.
queryParams
.
address
.
length
>
0
){
let
arr
=
this
.
$refs
.
address
.
getCheckedNodes
();
let
provinceCode
=
[],
cityCode
=
[],
countyCode
=
[];
for
(
var
i
in
arr
)
{
if
(
arr
[
i
].
parent
)
{
if
(
!
arr
[
i
].
parent
.
checked
)
{
arr
[
i
].
hasChildren
&&
cityCode
.
push
(
arr
[
i
].
value
);
!
arr
[
i
].
hasChildren
&&
countyCode
.
push
(
arr
[
i
].
value
);
}
}
else
{
provinceCode
.
push
(
arr
[
i
].
value
)
}
}
if
(
provinceCode
.
length
>
0
){
params
.
provinceIds
=
provinceCode
param
.
provinceIds
=
provinceCode
}
if
(
cityCode
.
length
>
0
){
params
.
cityIds
=
cityCode
param
.
cityIds
=
cityCode
}
if
(
countyCode
.
length
>
0
){
params
.
areaIds
=
countyCode
param
.
areaIds
=
countyCode
}
}
if
(
this
.
queryParams
.
uipExecutiveLevel
){
params
.
uipExecutiveLevel
=
this
.
queryParams
.
uipExecutiveLevel
;
param
.
uipExecutiveLevel
=
this
.
queryParams
.
uipExecutiveLevel
;
}
if
(
this
.
queryParams
.
uipBusinessType
.
length
>
0
){
params
.
uipBusinessType
=
this
.
queryParams
.
uipBusinessType
;
param
.
uipBusinessType
=
this
.
queryParams
.
uipBusinessType
;
}
if
(
this
.
queryParams
.
bratingSubjectLevel
.
length
>
0
){
params
.
bratingSubjectLevel
=
this
.
queryParams
.
bratingSubjectLevel
;
param
.
bratingSubjectLevel
=
this
.
queryParams
.
bratingSubjectLevel
;
}
if
(
this
.
queryParams
.
shareholderBg
.
length
>
0
){
params
.
shareholderBg
=
this
.
queryParams
.
shareholderBg
;
param
.
shareholderBg
=
this
.
queryParams
.
shareholderBg
;
}
if
(
this
.
queryParams
.
equityRelationship
.
length
>
0
){
params
.
equityRelationship
=
this
.
queryParams
.
equityRelationship
;
param
.
equityRelationship
=
this
.
queryParams
.
equityRelationship
;
}
if
(
this
.
queryParams
.
platformImportance
.
length
>
0
){
params
.
platformImportance
=
this
.
queryParams
.
platformImportance
;
param
.
platformImportance
=
this
.
queryParams
.
platformImportance
;
}
if
(
this
.
queryParams
.
field
){
params
.
field
=
this
.
queryParams
.
field
}
if
(
this
.
queryParams
.
order
){
params
.
order
=
this
.
queryParams
.
order
}
urbanInvestmentPage
(
params
).
then
(
res
=>
{
this
.
tableLoading
=
false
this
.
tableData
=
res
.
data
.
list
;
this
.
tableDataTotal
=
res
.
data
.
totalCount
})
urbanInvestmentStatistics
(
param
).
then
(
res
=>
{
this
.
statistics
=
res
.
data
;
})
},
//地区
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
...
...
@@ -359,12 +423,12 @@ export default {
handleSizeChange
(
val
)
{
this
.
pageIndex
=
1
this
.
pageSize
=
val
//
this.querySubmit()
this
.
querySubmit
()
},
// 跳转指定页数
handleCurrentChange
(
val
)
{
this
.
pageIndex
=
val
//
this.querySubmit()
this
.
querySubmit
()
},
handleSearch
(
event
){
// this.searchState=!this.searchState;
...
...
@@ -374,19 +438,10 @@ export default {
document
.
removeEventListener
(
'click'
,
this
.
handleSearch
);
}
},
active
(
index
,
item
)
{
// this.selected.indexOf(item) 判断item下标是否为-1,
// 是-1则数组中匹配不到该数据,添加
// 不是-1则说明匹配到了,抹除
if
(
this
.
selected
.
indexOf
(
item
)
!==
-
1
)
{
this
.
selected
.
splice
(
this
.
selected
.
indexOf
(
item
),
1
);
//取消
}
else
{
this
.
selected
.
push
(
item
);
//选中添加到数组里
}
console
.
log
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
selected
)));
},
changeXZDJ
(
index
)
{
changeXZDJ
(
index
,
name
)
{
this
.
xzdjCalss
=
index
;
this
.
queryParams
.
uipExecutiveLevel
=
name
;
this
.
querySubmit
()
},
addressListbtn
()
{
let
arr
=
this
.
$refs
.
address
.
getCheckedNodes
();
...
...
@@ -406,6 +461,63 @@ export default {
}
else
{
this
.
addresslength
=
0
;
}
this
.
querySubmit
()
},
changeType
(
item
,
index
){
switch
(
index
)
{
case
1
:
if
(
this
.
queryParams
.
uipBusinessType
.
indexOf
(
item
)
!==
-
1
)
{
this
.
queryParams
.
uipBusinessType
.
splice
(
this
.
queryParams
.
uipBusinessType
.
indexOf
(
item
),
1
);
}
else
{
this
.
queryParams
.
uipBusinessType
.
push
(
item
);
}
break
;
case
2
:
if
(
this
.
queryParams
.
bratingSubjectLevel
.
indexOf
(
item
)
!==
-
1
)
{
this
.
queryParams
.
bratingSubjectLevel
.
splice
(
this
.
queryParams
.
bratingSubjectLevel
.
indexOf
(
item
),
1
);
}
else
{
this
.
queryParams
.
bratingSubjectLevel
.
push
(
item
);
}
break
;
case
3
:
if
(
this
.
queryParams
.
shareholderBg
.
indexOf
(
item
)
!==
-
1
)
{
this
.
queryParams
.
shareholderBg
.
splice
(
this
.
queryParams
.
shareholderBg
.
indexOf
(
item
),
1
);
}
else
{
this
.
queryParams
.
shareholderBg
.
push
(
item
);
}
break
;
case
4
:
if
(
this
.
queryParams
.
equityRelationship
.
indexOf
(
item
)
!==
-
1
)
{
this
.
queryParams
.
equityRelationship
.
splice
(
this
.
queryParams
.
equityRelationship
.
indexOf
(
item
),
1
);
}
else
{
this
.
queryParams
.
equityRelationship
.
push
(
item
);
}
break
;
case
5
:
if
(
this
.
queryParams
.
platformImportance
.
indexOf
(
item
)
!==
-
1
)
{
this
.
queryParams
.
platformImportance
.
splice
(
this
.
queryParams
.
platformImportance
.
indexOf
(
item
),
1
);
}
else
{
this
.
queryParams
.
platformImportance
.
push
(
item
);
}
break
;
}
this
.
querySubmit
()
},
formatStatus
:
function
(
row
,
column
,
cellValue
)
{
return
cellValue
?
cellValue
:
'-'
},
sortChange
({
column
,
prop
,
order
}){
this
.
queryParams
.
field
=
prop
if
(
column
.
order
===
"ascending"
){
this
.
queryParams
.
order
=
'asc'
}
else
if
(
column
.
order
===
"descending"
){
this
.
queryParams
.
order
=
'desc'
}
else
{
this
.
queryParams
.
order
=
''
this
.
queryParams
.
field
=
''
}
this
.
pageIndex
=
1
;
this
.
querySubmit
()
},
},
}
...
...
@@ -434,21 +546,22 @@ export default {
box-shadow
:
0px
4px
10px
0px
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
4px
;
width
:
880px
;
height
:
337px
;
/*height: 337px;*/
padding
:
16px
;
position
:
absolute
;
top
:
25px
;
left
:
0
;
z-index
:
99
;
z-index
:
99
99
;
.item
{
margin-bottom
:
5px
;
display
:
flex
;
/*display: flex;*/
/*align-items: center;*/
font-size
:
14px
;
.wrap_label
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
margin-right
:
12px
;
line-height
:
30px
;
float
:
left
;
}
.item_ckquery
{
position
:
relative
;
...
...
@@ -457,6 +570,7 @@ export default {
padding
:
5px
12px
;
display
:
inline-block
;
cursor
:
pointer
;
margin-right
:
8px
;
}
.color_text
{
background
:
#F3F4F5
;
...
...
@@ -511,13 +625,19 @@ export default {
.table-item
{
margin-top
:
22px
;
}
.companyName
{
width
:
200px
;
display
:
inline-block
;
margin
:
0
;
}
.table-span
{
float
:
right
;
img
{
width
:
16px
;
height
:
16px
;
margin-bottom
:
-4px
;
margin-right
:
5px
;
margin-left
:
20px
;
/*margin-left: 20px;*/
}
}
.list-box
{
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessAddDto.java
View file @
b381b73c
...
...
@@ -61,6 +61,6 @@ public class BusinessAddDto {
private
String
customerId
;
public
Double
getInvestmentAmount
()
{
return
StringUtils
.
isEmpty
(
investmentAmount
)
?
0
:
Double
.
parseDouble
(
investmentAmount
);
return
StringUtils
.
isEmpty
(
investmentAmount
)
?
null
:
Double
.
parseDouble
(
investmentAmount
);
}
}
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseProjectService.java
View file @
b381b73c
...
...
@@ -66,18 +66,18 @@ public class EnterpriseProjectService {
}
public
TableDataInfo
specialDebtProjectPage
(
Object
body
)
throws
Exception
{
public
TableDataInfo
specialDebtProjectPage
(
EnterpriseProjectSpecialDebtProjectPageBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/specialDebtProjectPage"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
}
public
R
specialDebtProjectDetail
(
Object
body
)
throws
Exception
{
public
R
specialDebtProjectDetail
(
EnterpriseProjectSpecialDebtProjectDetailBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/specialDebtProjectDetail"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
public
TableDataInfo
specialDebtPage
(
Object
body
)
throws
Exception
{
public
TableDataInfo
specialDebtPage
(
EnterpriseProjectSpecialDebtPageBody
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterpriseProject/specialDebtPage"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
}
...
...
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseService.java
View file @
b381b73c
...
...
@@ -132,7 +132,7 @@ public class EnterpriseService {
return
dskOpenApiUtil
.
responsePage
(
map
);
}
public
TableDataInfo
bestStockPage
(
Enterprise
Keymembers
Body
body
)
throws
Exception
{
public
TableDataInfo
bestStockPage
(
Enterprise
BestStockPage
Body
body
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/enterprise/bestStockPage"
,
BeanUtil
.
beanToMap
(
body
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
b381b73c
...
...
@@ -126,7 +126,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
Integer
errorCount
=
0
;
//失败条数
List
<
String
>
result
=
new
LinkedList
();
//导入结果汇总
List
<
BusinessExcelDto
>
businessInfoList
=
readBusinessInfoExcel
.
getExcelInfo
(
file
);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息
!
"
);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息
,请按照模板文档格式上传
"
);
for
(
BusinessExcelDto
businessInfo
:
businessInfoList
)
{
//查询已有的项目名称
Integer
count
=
businessInfoMapper
.
isRepetitionProjectName
(
businessInfo
.
getProjectName
(),
userId
.
intValue
());
...
...
@@ -147,7 +147,9 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
result
.
add
(
"导入项目成功条数"
+
rowSuccess
);
result
.
add
(
"导入项目失败条数"
+
errorCount
);
return
errorCount
==
businessInfoList
.
size
()
?
AjaxResult
.
error
(
String
.
join
(
","
,
result
))
:
AjaxResult
.
success
(
String
.
join
(
","
,
result
));
AjaxResult
success
=
AjaxResult
.
success
(
String
.
join
(
","
,
result
));
success
.
put
(
"successCount"
,
rowSuccess
);
return
success
;
}
/**
...
...
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