Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
03aa1efa
Commit
03aa1efa
authored
Aug 24, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
553fab91
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
689 additions
and
328 deletions
+689
-328
index.js
dsk-operate-ui/src/api/index.js
+8
-0
index.js
dsk-operate-ui/src/router/index.js
+28
-0
addCustom.vue
dsk-operate-ui/src/views/custom/component/addCustom.vue
+265
-0
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+3
-0
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+28
-6
index.vue
dsk-operate-ui/src/views/index.vue
+302
-293
region.vue
dsk-operate-ui/src/views/macro/component/region.vue
+22
-3
regionalEconomy.vue
...i/src/views/macro/economies/component/regionalEconomy.vue
+0
-10
index.vue
dsk-operate-ui/src/views/macro/economies/index.vue
+7
-1
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+2
-11
qgjjdq.vue
...ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
+21
-1
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+3
-3
No files found.
dsk-operate-ui/src/api/index.js
View file @
03aa1efa
import
request
from
"@/utils/request"
;
// 集团中标统计
export
function
countByCompany
(
data
)
{
return
request
({
url
:
'/index/countByCompany'
,
method
:
'post'
,
data
:
data
})
}
// 企业中标排行榜
export
function
bidRank
(
data
)
{
return
request
({
...
...
dsk-operate-ui/src/router/index.js
View file @
03aa1efa
...
...
@@ -88,6 +88,34 @@ export const constantRoutes = [
}
]
},
// {
// path: '',
// component: Layout,
// hidden: true,
// redirect: 'economies',
// children: [
// {
// path: '/macro/economies',
// component: () => import('@/views/macro/economies'),
// name: 'Economies',
// meta: { title: '区域经济', icon: 'macro' }
// }
// ]
// },
{
path
:
''
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'urban'
,
children
:
[
{
path
:
'/macro/urban'
,
component
:
()
=>
import
(
'@/views/macro/urban'
),
name
:
'Urban'
,
meta
:
{
title
:
'城投平台'
,
icon
:
'macro'
}
}
]
},
{
path
:
'/user'
,
component
:
Layout
,
...
...
dsk-operate-ui/src/views/custom/component/addCustom.vue
0 → 100644
View file @
03aa1efa
<
template
>
<div>
<el-dialog
class=
"popups"
:visible
.
sync=
"dialogVisible"
width=
"534px"
:close-on-click-modal=
"false"
@
close=
"resetForm('ruleForm')"
>
<div
class=
"poptitle"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
添加客户
</span>
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"企业名称:"
class=
"row"
prop=
"companyName"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.companyName"
@
input=
"getCompany(1)"
></el-input>
<div
class=
"resultlist infinite-list"
v-if=
"showlist"
id=
"box"
v-infinite-scroll=
"load"
style=
"overflow:auto"
>
<div
class=
"infinite-list-item"
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
:key=
"companypage"
></span></div>
</div>
</el-form-item>
<el-form-item
label=
"客户等级:"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.customerLevel"
>
<el-option
v-for=
"(item,index) in customerLevel"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"法定代表人:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.legalPerson"
></el-input>
</el-form-item>
<el-form-item
label=
"注册资本(万):"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.registerCapital"
@
input=
'number'
></el-input>
</el-form-item>
<el-form-item
label=
"企业注册地:"
class=
"row"
>
<el-cascader
:props=
"props"
@
change=
"getAddr($event)"
ref=
"address"
v-model=
"queryParam.address"
:options=
"addressList"
clearable
></el-cascader>
</el-form-item>
<el-form-item
label=
"统一社会信用代码:"
class=
"row"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.creditCode"
></el-input>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"wordprimary"
@
click=
"toct"
>
前往城投平台寻找客户线索>
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"resetForm('ruleForm')"
>
返回
</div>
<div
class=
"btn btn_primary h32"
@
click=
"submitForm('ruleForm')"
>
添加
</div>
</div>
</el-form>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDictType
,
getEnterprise
}
from
'@/api/main'
import
{
addCustomer
,
getCustomerList
,
importData
}
from
'@/api/custom/custom'
import
prvinceTree
from
'@/assets/json/provinceTree'
export
default
{
name
:
''
,
components
:
{
},
props
:
{
data
:{}
},
data
()
{
return
{
props
:{
checkStrictly
:
true
,
expandTrigger
:
'hover'
},
dialogVisible
:
this
.
data
.
open
,
//添加客户
queryParam
:{
companyId
:
''
,
//jsk企业id
companyName
:
''
,
//客户名称(企业名称
customerLevel
:
''
,
//客户等级
legalPerson
:
''
,
//法定代表人
registerCapital
:
''
,
//注册资本
registerAddress
:
''
,
//企业注册地址
creditCode
:
''
,
//社会统一信用代码
address
:
''
,
//选择的地址
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
},
rules
:{
companyName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},]
},
showlist
:
false
,
customerLevel
:[]
}
},
created
()
{
this
.
prvinceTree
()
this
.
getDictType
()
console
.
log
(
this
.
dialogVisible
)
console
.
log
(
'1111111111'
)
},
computed
:
{},
methods
:{
async
prvinceTree
()
{
this
.
addressList
=
prvinceTree
;
this
.
getadd
(
this
.
addressList
)
},
getDictType
(){
//获取客户等级
getDictType
(
'customer_level_type'
).
then
(
result
=>
{
this
.
customerLevel
=
result
.
code
==
200
?
result
.
data
:[]
})
},
open
()
{
// this.dialogVisible = true;
},
resetForm
(
formName
)
{
this
.
queryParam
=
{
companyId
:
''
,
//jsk企业id
companyName
:
''
,
//客户名称(企业名称
customerLevel
:
''
,
//客户等级
legalPerson
:
''
,
//法定代表人
registerCapital
:
''
,
//注册资本
registerAddress
:
''
,
//企业注册地址
creditCode
:
''
,
//社会统一信用代码
address
:
''
,
//选择的地址
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
},
this
.
dialogVisible
=
false
this
.
showlist
=
false
},
getAddr
(
obj
){
if
(
obj
.
length
==
0
){
this
.
queryParam
.
provinceId
=
''
this
.
queryParam
.
cityId
=
''
this
.
queryParam
.
districtId
=
''
return
false
}
let
labelString
=
this
.
$refs
.
address
.
getCheckedNodes
()[
0
].
pathLabels
.
join
(
"-"
);
this
.
queryParam
.
registerAddress
=
labelString
this
.
queryParam
.
provinceId
=
obj
[
0
]
this
.
queryParam
.
cityId
=
obj
.
length
>=
1
?
obj
[
1
]:
''
this
.
queryParam
.
districtId
=
obj
.
length
>=
2
?
obj
[
2
]:
''
},
//获取建设库客户
getCompany
(
value
){
this
.
queryParam
.
companyId
=
null
if
(
value
==
1
){
this
.
companData
=
[]
this
.
companypage
=
1
}
if
(
this
.
queryParam
.
companyName
.
length
>=
2
){
let
param
=
{
keyword
:
this
.
queryParam
.
companyName
,
page
:{
limit
:
20
,
page
:
this
.
companypage
}
}
getEnterprise
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
){
return
false
}
if
(
result
.
data
.
list
!=
null
&&
result
.
data
.
list
.
length
>
0
){
this
.
isscroll
=
true
if
(
this
.
companData
.
length
===
0
)
{
this
.
companData
=
result
.
data
.
list
}
else
{
let
arr2
=
result
.
data
.
list
arr2
.
unshift
(
2
,
0
);
Array
.
prototype
.
splice
.
apply
(
this
.
companData
,
arr2
);
}
if
(
this
.
companData
.
length
===
0
)
{
this
.
showlist
=
false
}
else
{
this
.
showlist
=
true
}
this
.
companypage
+=
1
}
else
{
this
.
isscroll
=
false
}
})
}
},
load
(){
if
(
this
.
isscroll
){
this
.
getCompany
(
2
)
}
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
companyName
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
queryParam
.
legalPerson
=
item
.
legalPerson
let
registeredCapitalStr
=
""
if
(
item
.
registeredCapitalStr
==
"0"
||
item
.
registeredCapitalStr
==
0
){
registeredCapitalStr
=
''
}
else
{
registeredCapitalStr
=
item
.
registeredCapitalStr
}
this
.
queryParam
.
registerCapital
=
registeredCapitalStr
this
.
queryParam
.
creditCode
=
item
.
creditCode
this
.
queryParam
.
provinceId
=
item
.
provinceId
this
.
queryParam
.
cityId
=
item
.
cityId
this
.
queryParam
.
districtId
=
item
.
cityId
let
list
=
[]
if
(
item
.
provinceId
!=
null
&&
item
.
provinceId
!=
""
)
list
.
push
(
item
.
provinceId
)
if
(
item
.
cityId
!=
null
&&
item
.
cityId
!=
""
)
list
.
push
(
item
.
cityId
)
if
(
item
.
districtId
!=
null
&&
item
.
districtId
!=
""
)
list
.
push
(
item
.
districtId
)
this
.
$nextTick
(()
=>
{
this
.
queryParam
.
address
=
list
let
_this
=
this
setTimeout
(
function
()
{
if
(
_this
.
$refs
.
address
){
_this
.
queryParam
.
registerAddress
=
_this
.
$refs
.
address
.
getCheckedNodes
()[
0
].
pathLabels
.
join
(
"-"
)
}
},
1000
)
})
this
.
showlist
=
false
},
//添加客户
submitForm
(
formName
)
{
// if(this.queryParam.companyId=="" || this.queryParam.companyId == null){
// this.$message.error({message:'请选择企业!',showClose:true})
//
// return;
// }
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
addCustomer
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
dialogVisible
=
false
this
.
resetForm
(
'ruleForm'
)
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
}
else
{
}
});
},
toct
(){
this
.
$router
.
push
({
path
:
'/macro/urban'
})
},
//输入数字
number
(
value
){
if
(
value
==
''
)
this
.
queryParam
.
registerCapital
=
value
else
this
.
queryParam
.
registerCapital
=
value
.
replace
(
/^
\D
*
(\d
*
(?:\.\d{0,6})?)
.*$/g
,
'$1'
)
//输入6位小数
},
//处理注册地数据
getadd
(
row
)
{
this
.
addrcallback
(
row
,
this
.
getadd
)
},
addrcallback
(
row
,
callback
){
if
(
row
){
row
.
forEach
(
item
=>
{
item
.
value
=
item
.
id
callback
&&
callback
(
item
.
children
)
})
}
},
},
}
</
script
>
<
style
scoped
>
</
style
>
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
03aa1efa
...
...
@@ -366,6 +366,9 @@
}
},
created
()
{
if
(
this
.
$route
.
query
.
key
){
this
.
searchParam
.
companyName
=
this
.
$route
.
query
.
key
;
}
if
(
this
.
$route
.
query
.
type
===
'1'
){
this
.
searchParam
.
companyNatures
=
[
'国有企业'
]
}
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
03aa1efa
...
...
@@ -39,11 +39,11 @@
<el-col
:span=
"6"
>
<div
class=
"search"
>
<div
class=
"head_title"
>
快速查找
</div>
<el-input
placeholder=
"输入企业名称查询"
>
<el-input
placeholder=
"输入企业名称查询"
v-model=
"key"
>
<i
slot=
"prefix"
class=
"el-icon-search"
></i>
<el-button
slot=
"append"
>
搜索
</el-button>
<el-button
slot=
"append"
@
click=
"handleSearch"
>
搜索
</el-button>
</el-input>
<div
class=
"search_btn"
><i
class=
"el-icon-plus"
></i>
新建项目
</div>
<div
class=
"search_btn"
@
click=
"handleAdd"
><i
class=
"el-icon-plus"
></i>
新建项目
</div>
</div>
</el-col>
</el-row>
...
...
@@ -175,6 +175,7 @@
</div>
</div>
</div>
<AddCustom
:data=
"data"
v-if=
"data.open"
></AddCustom>
</div>
</template>
...
...
@@ -183,13 +184,17 @@
import
*
as
echarts
from
'echarts'
import
{
encodeStr
}
from
"@/assets/js/common"
import
{
statistics
,
cooperationTop
,
creditLevel
,
getFollowList
}
from
'@/api/custom/custom'
import
AddCustom
from
'../component/addCustom'
export
default
{
name
:
'Overview'
,
components
:
{
AddCustom
},
data
()
{
return
{
encodeStr
,
activeName
:
'first'
,
key
:
''
,
statistics
:{},
hzqkList
:[],
creditLevel
:[],
...
...
@@ -209,6 +214,9 @@
params
:{
startTime
:
''
,
endTime
:
''
},
data
:{
open
:
false
}
}
},
...
...
@@ -234,7 +242,6 @@
methods
:
{
getData
(){
statistics
().
then
(
res
=>
{
console
.
log
(
res
.
data
)
this
.
statistics
=
res
.
data
;
})
cooperationTop
().
then
(
res
=>
{
...
...
@@ -246,7 +253,9 @@
list
.
push
(
res
.
data
[
i
])
}
}
this
.
initChart
(
list
)
if
(
list
.
length
>
0
){
this
.
initChart
(
list
)
}
})
creditLevel
().
then
(
res
=>
{
for
(
let
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
...
...
@@ -286,6 +295,7 @@
},
10
)
},
initChart
(
data
){
//业主单位合作情况
this
.
option
=
{
legend
:
{
...
...
@@ -507,6 +517,17 @@
this
.
getFollowList
()
}
},
handleSearch
(){
this
.
$router
.
push
({
path
:
'/custom/customList'
,
query
:{
key
:
this
.
key
}
})
},
handleAdd
(){
this
.
data
.
open
=
true
},
}
}
</
script
>
...
...
@@ -626,6 +647,7 @@
color
:
#FFFFFF
;
font-size
:
14px
;
margin-top
:
12px
;
cursor
:
pointer
;
i
{
margin-right
:
12px
;
}
...
...
dsk-operate-ui/src/views/index.vue
View file @
03aa1efa
...
...
@@ -57,7 +57,8 @@
<span
class=
"common-title"
>
集团中标统计
</span>
</div>
</div>
<el-row>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<el-row
v-if=
"!isSkeleton"
>
<el-col
:span=
"14"
>
<div
id=
"zbtj-echarts"
style=
"height: 300px;"
></div>
</el-col>
...
...
@@ -65,12 +66,12 @@
<div
class=
"search"
>
<el-form
ref=
"queryForm"
:model=
"queryParams"
:inline=
"true"
size=
"small"
>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams.address"
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.
value
"
></el-option>
<el-select
v-model=
"queryParams.address"
@
change=
"changeSelect1"
clearable
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.
id
"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"queryParams.type.length > 1 ? 'selectTag' : ''"
style=
"width: 170px;"
>
<el-select
v-model=
"queryParams.type"
@
change=
"changeSelect1"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"queryParams.type.length > 1 ? 'selectTag' : ''"
style=
"width: 170px;"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -79,21 +80,25 @@
:timeList=
"timeList"
v-model=
"queryParams.time"
placeholder=
"中标日期"
@
handle-search=
"changeSelect"
/>
@
handle-search=
"changeSelect
1
"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"box-right"
>
<el-table
:data=
"jtList"
:data=
"jt
zb
List"
border
max-height=
"250"
fit
highlight-current-row
>
<el-table-column
prop=
"name"
label=
"集团名称"
width=
"120"
/>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
/>
<el-table-column
prop=
"amount"
label=
"中标金额(万元)"
align=
"right"
sortable
/>
<el-table-column
prop=
"combineName"
label=
"集团名称"
>
<template
slot-scope=
"scope"
>
<router-link
:to=
"`/groupAccount/$
{scope.row.combineId}?name=${scope.row.combineName}`" tag="a" class="a-link">
{{
scope
.
row
.
combineName
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
width=
"150"
/>
<el-table-column
prop=
"money"
label=
"中标金额(万元)"
align=
"right"
sortable
/>
</el-table>
</div>
</el-col>
...
...
@@ -117,15 +122,15 @@
:moneyList=
"moneyList"
v-model=
"queryParams1.money"
placeholder=
"中标金额"
@
handle-search=
"changeSelect"
/>
@
handle-search=
"changeSelect
2
"
/>
</el-form-item>
<el-form-item
prop=
"address"
>
<el-select
v-model=
"queryParams1.address"
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.
value
"
></el-option>
<el-select
v-model=
"queryParams1.address"
@
change=
"changeSelect2"
clearable
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.
id
"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"type"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
clearable
placeholder=
"项目类型"
:class=
"queryParams1.type.length > 1 ? 'selectTag' : ''"
style=
"width: 170px;"
>
<el-select
v-model=
"queryParams1.type"
multiple
collapse-tags
@
change=
"changeSelect2"
clearable
placeholder=
"项目类型"
:class=
"queryParams1.type.length > 1 ? 'selectTag' : ''"
style=
"width: 170px;"
>
<el-option
v-for=
"(item,index) in projectType"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -134,21 +139,26 @@
:timeList=
"timeList"
v-model=
"queryParams1.time"
placeholder=
"中标日期"
@
handle-search=
"changeSelect"
/>
@
handle-search=
"changeSelect
2
"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"box-right"
>
<el-table
:data=
"
jt
List"
:data=
"
dxmb
List"
border
max-height=
"400"
fit
highlight-current-row
>
<el-table-column
prop=
"name"
label=
"企业名称"
width=
"120"
/>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
/>
<el-table-column
prop=
"amount"
label=
"中标金额(万元)"
align=
"right"
sortable
/>
<el-table-column
prop=
"companyName"
label=
"企业名称"
>
<
template
slot-scope=
"scope"
>
<router-link
v-if=
"scope.row.companyId"
:to=
"`/enterprise/$
{encodeStr(scope.row.companyId)}`" tag="a" class="a-link companyName" v-html="scope.row.companyName" >
</router-link>
<span
v-else
>
{{
scope
.
row
.
companyName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"count"
label=
"中标数量(个)"
align=
"right"
sortable
width=
"150"
/>
<el-table-column
prop=
"money"
label=
"中标金额(万元)"
align=
"right"
sortable
/>
</el-table>
</div>
</el-col>
...
...
@@ -160,15 +170,15 @@
<skeleton
v-if=
"zxzbIsSkeleton"
style=
"padding: 16px"
></skeleton>
<div
class=
"list"
v-if=
"!zxzbIsSkeleton"
>
<div
class=
"item"
v-for=
"(item,index) in projectList"
:key=
"index"
>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/$
{item.id}`" tag="a" class="a-link" v-if="item.id" v-html="item.projectName">
</router-link></p>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/${item.id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.
p
id"
v-html=
"item.projectName"
></router-link></p>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
中标企业:
</span>
<span>
{{
item
.
companyN
ame
||
'--'
}}
</span>
<span>
{{item.
en
ame || '--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<span>
中标金额:
</span>
<span>
{{
item
.
a
mount
}}
万元
</span>
<span>
{{item.
winBidA
mount}}万元
</span>
</p>
<p
class=
"list-content-text"
>
<span>
中标日期:
</span>
...
...
@@ -176,7 +186,7 @@
</p>
<p
class=
"list-content-text"
>
<span>
招标人:
</span>
<span>
{{
item
.
projectUnit
||
'--'
}}
</span>
<span>
{{item.
buildCorpName
|| '--'}}
</span>
</p>
</div>
</div>
...
...
@@ -189,19 +199,19 @@
<skeleton
v-if=
"zhaobiaoIsSkeleton"
style=
"padding: 16px"
></skeleton>
<div
v-if=
"!zhaobiaoIsSkeleton"
class=
"list"
>
<div
class=
"item"
v-for=
"(item,index) in zbList"
:key=
"index"
>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/$
{item.
bid}`" tag="a" class="a-link" v-if="item.b
id" v-html="item.projectName">
</router-link></p>
<p
class=
"list-title"
><router-link
:to=
"`/biddetail/${item.
id}`"
tag=
"a"
class=
"a-link"
v-if=
"item.
id"
v-html=
"item.projectName"
></router-link></p>
<div
class=
"list-content"
>
<p
class=
"list-content-text"
>
<span>
总投资:
</span>
<span>
{{
item
.
projectAmount
}}
万元
</span>
<span>
{{item.
bidMoney
}}万元
</span>
</p>
<p
class=
"list-content-text"
>
<span>
招标人:
</span>
<span>
{{
item
.
tendere
e
||
'--'
}}
</span>
<span>
{{item.
companyNam
e || '--'}}
</span>
</p>
<p
class=
"list-content-text"
>
<span>
发布日期:
</span>
<span>
{{
item
.
issueTim
e
||
'--'
}}
</span>
<span>
{{item.
punishDat
e || '--'}}
</span>
</p>
</div>
</div>
...
...
@@ -221,7 +231,7 @@
@
handle-search=
"changeSelect3"
/>
</el-form-item>
<el-form-item
prop=
"provinceId"
>
<el-select
v-model=
"queryParams2.provinceId"
@
change=
"changeSelect3"
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-select
v-model=
"queryParams2.provinceId"
@
change=
"changeSelect3"
clearable
placeholder=
"项目地区"
style=
"width: 150px;"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -439,12 +449,13 @@
<
script
>
import
*
as
echarts
from
'echarts'
;
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
dataRegion
from
'@/assets/json/dataRegion'
import
"@/assets/styles/public.css"
;
import
CustomTimeSelect
from
'./component/CustomTimeSelect'
import
CustomMoneySelect
from
'./component/CustomMoneySelect'
import
skeleton
from
'./component/skeleton'
import
{
bidRank
,
bigWinningBidsPage
,
bigBidPage
}
from
'@/api/index'
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
}
from
'@/api/index'
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
"Index"
,
...
...
@@ -453,6 +464,7 @@ export default {
},
data
()
{
return
{
encodeStr
,
// 版本号
version
:
"3.8.5"
,
gjjlData
:[
...
...
@@ -620,72 +632,20 @@ export default {
main
:
'发布招标公告 重庆轨道交通环线鹅公岩轨道专用桥增设防船撞设施项目,项目地区是重庆市-江北区,项目类型为工程建设。'
},
],
jtList
:[
{
name
:
'中交集团'
,
count
:
'24534'
,
amount
:
'23011'
},
{
name
:
'中建集团'
,
count
:
'11534'
,
amount
:
'22331'
},
{
name
:
'中冶集团'
,
count
:
'15534'
,
amount
:
'20231'
},
{
name
:
'中国铁路'
,
count
:
'6534'
,
amount
:
'11231'
},
{
name
:
'中国水利'
,
count
:
'9534'
,
amount
:
'4231'
},
{
name
:
'中建集团'
,
count
:
'14534'
,
amount
:
'23231'
},
{
name
:
'中建集团'
,
count
:
'24534'
,
amount
:
'15231'
},
{
name
:
'中国水利'
,
count
:
'2334'
,
amount
:
'5231'
},
{
name
:
'中建集团'
,
count
:
'2534'
,
amount
:
'8231'
},
{
name
:
'中交集团'
,
count
:
'2334'
,
amount
:
'9231'
},
],
jtzbList
:[],
dxmbList
:[],
addressList
:[],
projectType
:[],
//项目类型
queryParams
:{
address
:
''
,
type
:[],
time
:
''
,
money
:
''
,
},
queryParams1
:{
address
:
''
,
type
:[],
money
:
''
,
time
:
''
,
sort
:
1
},
queryParams2
:{
provinceId
:
''
,
...
...
@@ -702,6 +662,7 @@ export default {
zbList
:[],
totalCount
:
0
,
zbTableTotal
:
0
,
isSkeleton
:
true
,
zxzbIsSkeleton
:
true
,
zhaobiaoIsSkeleton
:
true
,
};
...
...
@@ -709,14 +670,12 @@ export default {
created
()
{
this
.
searchDic
()
this
.
dataRegion
()
this
.
getWinningBidsRanking
()
this
.
getBigWinningBidsPage
()
if
(
this
.
user
===
1
){
this
.
$nextTick
(()
=>
{
this
.
initChart
(
this
.
jtList
)
this
.
initChart1
()
})
}
this
.
$nextTick
(()
=>
{
this
.
getCountByCompany
()
this
.
getBidRank
()
this
.
getBigWinningBidsPage
()
this
.
getBigBidPage
()
})
},
methods
:
{
//项目类型
...
...
@@ -725,69 +684,116 @@ export default {
this
.
projectType
=
res
.
projectType
;
}).
catch
(
error
=>
{});
},
getWinningBidsRanking
(){
let
params
=
this
.
queryParams
;
if
(
params
.
time
){
params
.
startDate
=
params
.
time
[
0
]
params
.
endDate
=
params
.
time
[
1
]
getCountByCompany
(){
let
params
=
{};
if
(
this
.
queryParams
.
time
.
length
>
1
){
params
.
startDate
=
this
.
queryParams
.
time
[
0
]
params
.
endDate
=
this
.
queryParams
.
time
[
1
]
}
if
(
this
.
queryParams
.
type
.
length
>
1
){
params
.
type
=
this
.
queryParams
.
type
.
join
()
}
if
(
this
.
queryParams
.
address
){
params
.
provinceId
=
this
.
queryParams
.
address
}
countByCompany
(
params
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
if
(
res
.
code
==
200
){
this
.
jtzbList
=
res
.
data
;
// if()
this
.
initChart
(
this
.
jtzbList
)
}
})
},
getBidRank
(){
let
params
=
{};
if
(
this
.
queryParams1
.
time
.
length
>
1
){
params
.
startDate
=
this
.
queryParams1
.
time
[
0
]
params
.
endDate
=
this
.
queryParams1
.
time
[
1
]
}
if
(
this
.
queryParams1
.
type
.
length
>
1
){
params
.
type
=
this
.
queryParams1
.
type
.
join
()
}
if
(
this
.
queryParams1
.
address
){
params
.
provinceId
=
this
.
queryParams1
.
address
}
if
(
this
.
queryParams1
.
money
){
if
(
this
.
queryParams1
.
money
.
length
>
1
){
params
.
endMoney
=
this
.
queryParams1
.
money
[
1
]
}
else
{
params
.
startMoney
=
this
.
queryParams1
.
money
[
0
]
}
}
delete
params
.
time
delete
params
.
amount
console
.
log
(
params
)
bidRank
(
params
).
then
(
res
=>
{
console
.
log
(
res
.
rows
)
// this.zxzbIsSkeleton=false
;
// if(res.code == 20
0){
// this.projectList=res.rows;
// this.totalCount=res.total;
//
}
if
(
res
.
code
==
200
){
this
.
dxmbList
=
res
.
data
;
if
(
this
.
dxmbList
.
length
>
0
){
this
.
initChart1
(
this
.
dxmbList
)
}
}
})
},
getBigWinningBidsPage
(){
let
params
=
this
.
queryParams2
;
if
(
params
.
amount
){
if
(
params
.
amount
.
length
>
1
){
params
.
amountEnd
=
params
.
amount
[
1
]
let
params
=
{};
let
recentlyBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
){
if
(
this
.
amount
.
length
>
1
){
recentlyBidQueryDto
.
endMoney
=
this
.
amount
[
1
]
}
else
{
params
.
amountStart
=
param
s
.
amount
[
0
]
recentlyBidQueryDto
.
startMoney
=
thi
s
.
amount
[
0
]
}
}
if
(
params
.
time
){
params
.
timeStart
=
params
.
time
[
0
]
params
.
timeEnd
=
params
.
time
[
1
]
if
(
this
.
queryParams2
.
time
){
recentlyBidQueryDto
.
startTenderTime
=
this
.
queryParams2
.
time
[
0
]
recentlyBidQueryDto
.
endTenderTime
=
this
.
queryParams2
.
time
[
1
]
}
if
(
this
.
queryParams2
.
provinceId
){
recentlyBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
}
delete
params
.
time
delete
params
.
amount
if
(
this
.
queryParams2
.
projects
){
recentlyBidQueryDto
.
projectTypeNew
=
this
.
queryParams2
.
projects
.
join
()
}
params
.
recentlyBidQueryDto
=
recentlyBidQueryDto
this
.
zxzbIsSkeleton
=
true
bigWinningBidsPage
(
params
).
then
(
res
=>
{
this
.
zxzbIsSkeleton
=
false
;
if
(
res
.
code
==
200
){
this
.
projectList
=
res
.
rows
;
this
.
totalCount
=
res
.
total
;
this
.
projectList
=
res
.
data
.
list
;
this
.
totalCount
=
res
.
data
.
total
;
}
})
},
getBigBidPage
(){
let
params
=
this
.
queryParams2
;
if
(
params
.
amount
){
if
(
params
.
amount
.
length
>
1
){
params
.
amountEnd
=
params
.
amount
[
1
]
let
params
=
{};
let
jskBidQueryDto
=
{};
params
.
pageNum
=
this
.
queryParams2
.
pageNum
;
params
.
pageSize
=
this
.
queryParams2
.
pageSize
;
if
(
this
.
amount
){
if
(
this
.
amount
.
length
>
1
){
jskBidQueryDto
.
endBidMoney
=
this
.
amount
[
1
]
}
else
{
params
.
amountStart
=
param
s
.
amount
[
0
]
jskBidQueryDto
.
startBidMoney
=
thi
s
.
amount
[
0
]
}
}
if
(
params
.
time
){
params
.
timeStart
=
params
.
time
[
0
]
params
.
timeEnd
=
params
.
time
[
1
]
if
(
this
.
queryParams2
.
time
){
jskBidQueryDto
.
startPunishDate
=
this
.
queryParams2
.
time
[
0
]
jskBidQueryDto
.
endPunishDate
=
this
.
queryParams2
.
time
[
1
]
}
if
(
this
.
queryParams2
.
provinceId
){
jskBidQueryDto
.
province
=
this
.
queryParams2
.
provinceId
}
delete
params
.
time
delete
params
.
amount
if
(
this
.
queryParams2
.
projects
){
jskBidQueryDto
.
projectType
=
this
.
queryParams2
.
projects
.
join
()
}
params
.
jskBidQueryDto
=
jskBidQueryDto
this
.
zhaobiaoIsSkeleton
=
true
bigBidPage
(
params
).
then
(
res
=>
{
this
.
zhaobiaoIsSkeleton
=
false
if
(
res
.
code
==
200
){
this
.
zbList
=
res
.
rows
;
this
.
zbTableTotal
=
res
.
total
;
this
.
zbList
=
res
.
data
.
list
;
this
.
zbTableTotal
=
res
.
data
.
total
;
}
})
},
...
...
@@ -809,7 +815,11 @@ export default {
}
this
.
addressList
=
str
;
},
initChart
(
data
)
{
initChart
(
list
)
{
let
data
=
[]
for
(
var
i
=
0
;
i
<
10
;
i
++
){
data
.
push
(
list
[
i
])
}
this
.
$nextTick
(()
=>
{
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbtj-echarts"
))
let
option
=
{
...
...
@@ -829,7 +839,7 @@ export default {
axisPointer
:
{
type
:
'shadow'
},
data
:
data
.
map
(
item
=>
item
.
n
ame
),
data
:
data
.
map
(
item
=>
item
.
combineN
ame
),
},
yAxis
:
[
{
...
...
@@ -840,7 +850,7 @@ export default {
name
:
'单位:个'
,
nameLocation
:
'start'
,
nameTextStyle
:
{
padding
:
[
0
,
0
,
0
,
-
60
],
// 四个数字分别为上右下左与原位置距离
padding
:
[
0
,
2
0
,
0
,
-
60
],
// 四个数字分别为上右下左与原位置距离
color
:
'#666666'
,
}
},
...
...
@@ -852,7 +862,7 @@ export default {
name
:
'单位:万元'
,
nameLocation
:
'start'
,
nameTextStyle
:
{
padding
:
[
0
,
0
,
0
,
72
],
// 四个数字分别为上右下左与原位置距离
padding
:
[
0
,
0
,
0
,
100
],
// 四个数字分别为上右下左与原位置距离
color
:
'#666666'
,
},
splitLine
:
{
...
...
@@ -885,7 +895,7 @@ export default {
itemStyle
:
{
color
:
'#14C9C9'
},
data
:
data
.
map
(
item
=>
item
.
amount
),
data
:
data
.
map
(
item
=>
item
.
money
),
},
{
name
:
'中标总数(个)'
,
...
...
@@ -917,7 +927,16 @@ export default {
});
})
},
initChart1
(){
initChart1
(
list
){
let
data
=
[]
if
(
list
.
length
>
10
){
for
(
var
i
=
0
;
i
<
10
;
i
++
){
data
.
push
(
list
[
i
])
}
}
else
{
data
=
list
;
}
var
rankPic
=
[
require
(
'@/assets/images/index/1.png'
),
require
(
'@/assets/images/index/2.png'
),
...
...
@@ -930,177 +949,166 @@ export default {
require
(
'@/assets/images/index/9.png'
),
require
(
'@/assets/images/index/10.png'
),
]
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbph-echarts"
))
let
option
=
{
legend
:
{
show
:
true
,
x
:
'right'
,
y
:
'top'
,
padding
:[
10
,
0
,
10
,
0
],
itemWidth
:
24
,
itemHeight
:
10
,
textStyle
:{
borderRadius
:
30
,
}
},
yAxis
:
{
type
:
'category'
,
inverse
:
true
,
// 反向坐标
data
:
this
.
pmData
.
map
(
item
=>
item
.
name
),
axisLine
:
{
show
:
false
,
},
axisTick
:
{
this
.
$nextTick
(()
=>
{
let
myChart
=
echarts
.
init
(
document
.
getElementById
(
"zbph-echarts"
))
let
option
=
{
legend
:
{
show
:
false
,
},
axisPointer
:
{
label
:
{
show
:
true
,
margin
:
30
x
:
'right'
,
y
:
'top'
,
padding
:[
10
,
0
,
10
,
0
],
itemWidth
:
24
,
itemHeight
:
10
,
textStyle
:{
borderRadius
:
30
,
}
},
axisLabel
:
{
margin
:
200
,
textStyle
:
{
align
:
'left'
,
yAxis
:
{
type
:
'category'
,
inverse
:
true
,
// 反向坐标
data
:
data
.
map
(
item
=>
item
.
companyName
),
axisLine
:
{
show
:
false
,
},
formatter
:
function
(
value
,
index
)
{
let
idx
=
index
+
1
;
return
'{'
+
idx
+
'|} {s|'
+
value
+
'}'
axisTick
:
{
show
:
false
,
},
rich
:
{
1
:
{
height
:
24
,
width
:
24
,
// marginBottom:-15,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
0
]
},
},
2
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
1
]
}
},
3
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
2
]
}
},
4
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
3
]
}
},
5
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
4
]
}
},
6
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
5
]
}
},
7
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
6
]
}
},
8
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
7
]
}
},
9
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
8
]
}
axisPointer
:
{
label
:
{
show
:
true
,
// margin: 30
}
},
axisLabel
:
{
margin
:
220
,
textStyle
:
{
align
:
'left'
,
},
10
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
9
]
}
formatter
:
function
(
value
,
index
)
{
let
idx
=
index
+
1
;
return
'{'
+
idx
+
'|} {s|'
+
value
+
'}'
},
}
rich
:
{
1
:
{
height
:
24
,
width
:
24
,
// marginBottom:-15,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
0
]
},
},
2
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
1
]
}
},
3
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
2
]
}
},
4
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
3
]
}
},
5
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
4
]
}
},
6
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
5
]
}
},
7
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
6
]
}
},
8
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
7
]
}
},
9
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
8
]
}
},
10
:
{
height
:
24
,
width
:
24
,
align
:
'center'
,
backgroundColor
:
{
image
:
rankPic
[
9
]
}
},
}
},
},
},
xAxis
:
{
type
:
'value'
,
},
grid
:
{
left
:
'20%'
,
top
:
40
,
right
:
20
,
bottom
:
60
,
},
tooltip
:
{
show
:
true
,
backgroundColor
:
'rgba(0,0,0,.7)'
,
borderWidth
:
0
,
textStyle
:
{
color
:
'#fff'
,
xAxis
:
{
type
:
'value'
,
},
},
series
:
[
{
// realtimeSort: true,
name
:
'已完成产值'
,
data
:
this
.
pmData
.
map
(
item
=>
item
.
value
),
barGap
:
0
,
type
:
'bar'
,
itemStyle
:{
color
:
'#14C9C9'
,
barBorderRadius
:[
0
,
20
,
20
,
0
]
grid
:
{
left
:
'20%'
,
top
:
40
,
right
:
20
,
bottom
:
60
,
},
tooltip
:
{
show
:
true
,
backgroundColor
:
'rgba(0,0,0,.7)'
,
borderWidth
:
0
,
textStyle
:
{
color
:
'#fff'
,
},
barWidth
:
8
,
},
{
name
:
'目标产值'
,
data
:
this
.
pmData
.
map
(
item
=>
item
.
value1
),
series
:
{
// realtimeSort: true,
name
:
'中标金额(万元)'
,
data
:
data
.
map
(
item
=>
item
.
money
),
barGap
:
0
,
type
:
'bar'
,
itemStyle
:{
color
:
'#
92C9FF
'
,
color
:
'#
14C9C9
'
,
barBorderRadius
:[
0
,
20
,
20
,
0
]
},
barWidth
:
8
,
},
],
}
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
}
myChart
.
setOption
(
option
);
window
.
addEventListener
(
"resize"
,
function
()
{
myChart
.
resize
();
//图表跟随页面大小变化宽度
});
})
},
handleClickTab
(){
this
.
queryParams2
.
pageNum
=
1
;
...
...
@@ -1116,15 +1124,16 @@ export default {
this
.
user
=
this
.
user
===
1
?
2
:
1
;
if
(
this
.
user
===
1
){
this
.
$nextTick
(()
=>
{
this
.
initChart
(
this
.
jtList
)
this
.
initChart1
()
this
.
initChart
(
this
.
jt
zb
List
)
this
.
initChart1
(
this
.
dxmbList
)
})
}
},
changeSelect
(){
console
.
log
(
this
.
queryParams
)
this
.
getWinningBidsRanking
()
// this.$emit('handle-search')
changeSelect1
(){
this
.
getCountByCompany
()
},
changeSelect2
(){
this
.
getBidRank
()
},
changeSelect3
(){
this
.
queryParams2
.
pageNum
=
1
...
...
dsk-operate-ui/src/views/macro/component/region.vue
View file @
03aa1efa
...
...
@@ -5,7 +5,11 @@
<span
class=
"province"
>
{{
province
}}
</span>
<span
class=
"icon"
>
<i
class=
"el-icon-location"
></i>
切换
<el-cascader
ref=
"address"
class=
"cascader-region"
popper-class=
'cascader-region-addd'
<el-select
v-if=
"key =='5'"
v-model=
"address"
class=
"cascader-region"
@
change=
"addressListbtn1"
>
<el-option
v-for=
"(item,index) in addressList"
:key=
"index"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
<el-cascader
v-else
ref=
"address"
class=
"cascader-region"
popper-class=
'cascader-region-addd'
@
change=
"addressListbtn"
v-model=
"address"
:options=
"addressList"
:props=
"props"
collapse-tags
></el-cascader>
</span>
</div>
...
...
@@ -17,7 +21,7 @@
import
dataRegion
from
'@/assets/json/dataRegion'
export
default
{
name
:
'region'
,
props
:[
'province'
,
'dataQuery'
],
props
:[
'province'
,
'dataQuery'
,
'type'
],
data
(){
return
{
props
:
{
...
...
@@ -28,7 +32,8 @@
addressList
:
[],
address
:
''
,
provinceId
:[],
location
:
''
location
:
''
,
key
:
''
,
}
},
watch
:
{
...
...
@@ -39,10 +44,12 @@
created
(){
this
.
dataRegion
()
this
.
location
=
this
.
province
this
.
key
=
this
.
type
;
},
methods
:{
addressListbtn
()
{
let
nodesObj
=
this
.
$refs
.
address
.
getCheckedNodes
()[
0
];
this
.
location
=
nodesObj
.
pathLabels
[
nodesObj
.
pathLabels
.
length
-
1
];
this
.
provinceId
=
nodesObj
.
path
;
let
data
=
{}
...
...
@@ -52,6 +59,18 @@
this
.
$parent
.
addressListbtn
(
data
)
localStorage
.
setItem
(
'location'
,
true
)
},
addressListbtn1
()
{
let
obj
=
this
.
addressList
.
find
((
option
)
=>
option
.
id
===
this
.
address
);
this
.
location
=
obj
.
label
;
this
.
provinceId
=
[
obj
.
id
];
let
data
=
{}
data
.
province
=
this
.
location
data
.
provinceId
=
this
.
provinceId
data
.
provinces
=
[
this
.
location
]
console
.
log
(
data
,
"|||||||"
)
this
.
$parent
.
addressListbtn
(
data
)
localStorage
.
setItem
(
'location'
,
true
)
},
//地区
async
dataRegion
()
{
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
...
...
dsk-operate-ui/src/views/macro/economies/component/regionalEconomy.vue
View file @
03aa1efa
...
...
@@ -732,16 +732,6 @@ export default {
this
.
$parent
.
handleClick
(
'second'
,
data
);
break
;
case
2
:
// this.$router.push({
// path: '/macro/urban',
// query:{
// provinceId:this.dataQuery.provinceId,
// province:this.dataQuery.province,
// }
// })
console
.
log
(
this
.
dataQuery
.
provinceId
)
console
.
log
(
this
.
dataQuery
.
province
)
// return
this
.
$router
.
push
({
name
:
'Urban'
,
params
:
{
provinceId
:
this
.
dataQuery
.
provinceId
,
...
...
dsk-operate-ui/src/views/macro/economies/index.vue
View file @
03aa1efa
...
...
@@ -76,7 +76,13 @@ export default {
if
(
Array
.
isArray
(
this
.
dataQuery
.
provinceId
)){
this
.
provinceId
=
this
.
dataQuery
.
provinceId
}
else
{
this
.
provinceId
.
push
(
this
.
dataQuery
.
provinceId
)
if
(
this
.
dataQuery
.
cityId
){
this
.
provinceId
=
[
this
.
dataQuery
.
provinceId
,
this
.
dataQuery
.
cityId
,
this
.
dataQuery
.
areaId
]
}
else
if
(
this
.
dataQuery
.
cityId
){
this
.
provinceId
=
[
this
.
dataQuery
.
provinceId
,
this
.
dataQuery
.
cityId
]
}
else
{
this
.
provinceId
=
[
this
.
dataQuery
.
provinceId
]
}
}
}
else
{
location
({}).
then
(
res
=>
{
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
03aa1efa
<
template
>
<div
class=
"app-container enterprises"
>
<Region
v-if=
"province"
:province=
"province"
:dataQuery=
"dataQuery"
@
addressListbtn=
"addressListbtn"
></Region>
<Region
v-if=
"province"
:province=
"province"
:dataQuery=
"dataQuery"
@
addressListbtn=
"addressListbtn"
:type=
"5"
></Region>
<div
class=
"flex-box eco-header"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"本地企业"
name=
"first"
></el-tab-pane>
...
...
@@ -291,17 +291,8 @@ export default {
this
.
dataQuery
.
province
=
data
.
provinces
;
let
params
=
{}
if
(
data
){
if
(
this
.
provinceId
.
length
>
0
){
params
.
provinceId
=
this
.
provinceId
[
0
]
}
if
(
this
.
provinceId
.
length
>
1
){
params
.
cityId
=
this
.
provinceId
[
1
]
}
if
(
this
.
provinceId
.
length
>
2
){
params
.
areaId
=
this
.
provinceId
[
2
]
}
params
.
provinceId
=
this
.
provinceId
}
this
.
querySubmit
()
location
(
params
).
then
(
res
=>
{
console
.
log
(
res
.
data
)
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/qgjjdq.vue
View file @
03aa1efa
...
...
@@ -46,7 +46,7 @@
</el-table-column>
<el-table-column
label=
"地区"
min-width=
"150"
align=
"left"
fixed
>
<
template
slot-scope=
"scope"
>
<
router-link
:to=
"
{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId,province:scope.row.province}}" tag="a" class="a-link">
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</router-link
>
<
span
@
click=
"clickTo(scope.row)"
>
{{
scope
.
row
.
province
}}{{
scope
.
row
.
city
?
'-'
:
''
}}{{
scope
.
row
.
city
}}{{
scope
.
row
.
area
?
'-'
:
''
}}{{
scope
.
row
.
area
}}
</span
>
</
template
>
</el-table-column>
<el-table-column
label=
"年度明细"
prop=
"id"
width=
"90"
align=
"center"
fixed
>
...
...
@@ -324,6 +324,26 @@
message
:
'功能正在开发中'
,
type
:
'warning'
});
},
clickTo
(
item
){
let
params
=
{
id
:
item
.
id
,
province
:
item
.
area
?
item
.
area
:
item
.
city
?
item
.
city
:
item
.
province
,
}
if
(
item
.
areaId
){
params
.
provinceId
=
item
.
provinceId
params
.
cityId
=
item
.
cityId
params
.
areaId
=
item
.
areaId
}
else
if
(
item
.
cityId
!=
0
){
params
.
provinceId
=
item
.
provinceId
params
.
cityId
=
item
.
cityId
}
else
{
params
.
provinceId
=
item
.
provinceId
}
this
.
$router
.
push
({
path
:
'/macro/economies'
,
query
:
params
})
}
}
}
...
...
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
03aa1efa
...
...
@@ -217,9 +217,9 @@
<el-table-column
prop=
"econData002"
label=
"有息债务/总负债(%)"
:formatter=
"formatStatus"
width=
"160"
align=
"right"
/>
<el-table-column
prop=
"tdr"
label=
"资产负债率(%)"
:formatter=
"formatStatus"
width=
"140"
align=
"right"
/>
<el-table-column
prop=
"ofcb"
label=
"综合融资成本(%)"
:formatter=
"formatStatus"
width=
"150"
align=
"right"
/>
<el-table-column
prop=
"cashRatio"
label=
"现金比率"
:formatter=
"formatStatus"
width=
"110"
align=
"right"
/>
<el-table-column
prop=
"cashFlowRatio"
label=
"现金流量比率"
:formatter=
"formatStatus"
width=
"120"
align=
"right"
/>
<el-table-column
prop=
"cashDebtRatio"
label=
"现金到期债务比"
:formatter=
"formatStatus"
width=
"120"
align=
"right"
/>
<el-table-column
prop=
"cashRatio"
label=
"现金比率
(%)
"
:formatter=
"formatStatus"
width=
"110"
align=
"right"
/>
<el-table-column
prop=
"cashFlowRatio"
label=
"现金流量比率
(%)
"
:formatter=
"formatStatus"
width=
"120"
align=
"right"
/>
<el-table-column
prop=
"cashDebtRatio"
label=
"现金到期债务比
(%)
"
:formatter=
"formatStatus"
width=
"120"
align=
"right"
/>
<el-table-column
prop=
"creditBalance"
label=
"授信余额(亿元)"
:formatter=
"formatStatus"
width=
"130"
align=
"right"
/>
<el-table-column
prop=
"econData003"
label=
"授信余额/全部债务(%)"
:formatter=
"formatStatus"
width=
"160"
align=
"right"
/>
<el-table-column
prop=
"ebitdaIcr"
label=
"EBITDA保障倍数"
:formatter=
"formatStatus"
width=
"150"
align=
"right"
/>
...
...
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