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
3d34a012
Commit
3d34a012
authored
Jun 07, 2023
by
caixingbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*
parent
26fe8fee
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
463 additions
and
254 deletions
+463
-254
opport.js
dsk-operate-ui/src/api/detail/party-a/opport.js
+3
-21
index.js
dsk-operate-ui/src/utils/index.js
+6
-6
HeadForm.vue
...perate-ui/src/views/detail/party-a/component/HeadForm.vue
+28
-0
Tables.vue
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
+29
-10
bidagency.vue
...perate-ui/src/views/detail/party-a/dealings/bidagency.vue
+1
-1
bidrecords.vue
...erate-ui/src/views/detail/party-a/dealings/bidrecords.vue
+1
-1
bidagencyDetail.vue
...ews/detail/party-a/dealings/component/bidagencyDetail.vue
+1
-1
customDetail.vue
.../views/detail/party-a/dealings/component/customDetail.vue
+1
-1
supplierDetail.vue
...iews/detail/party-a/dealings/component/supplierDetail.vue
+1
-1
custom.vue
dsk-operate-ui/src/views/detail/party-a/dealings/custom.vue
+1
-1
hiscontract.vue
...rate-ui/src/views/detail/party-a/dealings/hiscontract.vue
+1
-1
supplier.vue
...operate-ui/src/views/detail/party-a/dealings/supplier.vue
+1
-1
administrative.vue
...ate-ui/src/views/detail/party-a/opport/administrative.vue
+26
-38
announcement.vue
...erate-ui/src/views/detail/party-a/opport/announcement.vue
+91
-52
biddingplan.vue
...perate-ui/src/views/detail/party-a/opport/biddingplan.vue
+69
-8
bond.vue
dsk-operate-ui/src/views/detail/party-a/opport/bond.vue
+20
-29
landtransaction.vue
...te-ui/src/views/detail/party-a/opport/landtransaction.vue
+36
-44
proposed.vue
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
+26
-30
tencent.vue
dsk-operate-ui/src/views/detail/party-a/opport/tencent.vue
+121
-8
No files found.
dsk-operate-ui/src/api/detail/party-a/opport.js
View file @
3d34a012
...
...
@@ -54,24 +54,6 @@ export function approvalProjectPage(data) {
})
}
// 拟建项目立项审批列表
export
function
approvalExaminePage
(
data
)
{
return
request
({
url
:
'/enterpriseProject/approvalExaminePage'
,
method
:
'post'
,
data
:
data
})
}
// 拟建项目民间推介列表
export
function
approvalMarketingPage
(
data
)
{
return
request
({
url
:
'/enterpriseProject/approvalMarketingPage'
,
method
:
'post'
,
data
:
data
})
}
// 标讯PRO招标公告列表
export
function
bidNoticeProPage
(
data
)
{
return
request
({
...
...
@@ -126,10 +108,10 @@ export function specialDebtProjectPage(data) {
})
}
//
专项债
列表
export
function
specialDebt
Page
(
data
)
{
//
招标计划
列表
export
function
bidPlan
Page
(
data
)
{
return
request
({
url
:
'/enterpriseProject/
specialDebt
Page'
,
url
:
'/enterpriseProject/
bidPlan
Page'
,
method
:
'post'
,
data
:
data
})
...
...
dsk-operate-ui/src/utils/index.js
View file @
3d34a012
dsk-operate-ui/src/views/detail/party-a/component/HeadForm.vue
View file @
3d34a012
...
...
@@ -70,6 +70,18 @@
:placeholder=
"form.placeholder"
@
handle-search=
"changeSelect"
/>
</
template
>
<!-- 地区选择 -->
<
template
v-else-if=
"form.type==7"
>
<el-cascader
:options=
"form.options"
:props=
"form.props"
v-model=
"form.value"
@
change=
"changeSelect"
:placeholder=
"form.placeholder"
collapse-tags
style=
"margin-top: -1px;"
clearable
></el-cascader>
</
template
>
<!-- 自定义 -->
<
template
v-if=
"form.type==0"
>
<slot
name=
"slot"
></slot>
...
...
@@ -165,6 +177,22 @@ export default {
::v-deep
.el-input--medium
.el-input__icon
{
line-height
:
32px
;
}
::v-deep
.el-cascader
{
height
:
32px
;
line-height
:
32px
;
.el-input
{
input
{
height
:
32px
!
important
;
}
}
.el-cascader__tags
{
flex-wrap
:
inherit
;
margin-top
:
1px
;
.el-tag
{
max-width
:
120px
;
}
}
}
.headForm-from
{
display
:
flex
;
.from-item
{
...
...
dsk-operate-ui/src/views/detail/party-a/component/Tables.vue
View file @
3d34a012
...
...
@@ -8,7 +8,7 @@
border
fit
highlight-current-row
:default-sort =
'defaultSort'
:default-sort =
"defaultSort?defaultSort:
{}"
@sort-change="sortChange"
>
<el-table-column
...
...
@@ -30,7 +30,25 @@
:fixed=
"item.fixed"
:sortable=
"item.sortable ? 'custom' : false"
:resizable=
"false"
>
<template
v-if=
"item.slotHeader"
slot=
"header"
>
<template
v-if=
"item.children&&item.children.length"
>
<el-table-column
v-for=
"(cld, i) in item.children"
:key=
"i"
:prop=
"cld.prop"
:label=
"cld.label"
:width=
"cld.width"
:resizable=
"false"
>
<template
slot-scope=
"cldscope"
>
<template
v-if=
"cld.slot"
>
<slot
:name=
"cld.prop"
:row=
"cldscope.row"
:data=
"cld"
></slot>
</
template
>
<
template
v-else
>
<span>
{{
cldscope
.
row
[
cld
.
prop
]
||
'--'
}}
</span>
</
template
>
</template>
</el-table-column>
</template>
<
template
v-else-if=
"item.slotHeader"
slot=
"header"
>
<slot
:name=
"item.slotName"
></slot>
</
template
>
<
template
slot-scope=
"scope"
>
...
...
@@ -51,6 +69,7 @@
</template>
<
script
>
import
{
tabFixed
}
from
'@/utils'
export
default
{
name
:
"Tables"
,
props
:
{
...
...
@@ -114,7 +133,7 @@ export default {
::v-deep
.el-table__body
tr
.current-row
>
td
.el-table__cell
{
background-color
:
#ffffff
;
}
::v-deep
.el-table__fixed
{
/*
::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}
}
*/
</
style
>
dsk-operate-ui/src/views/detail/party-a/dealings/bidagency.vue
View file @
3d34a012
...
...
@@ -55,7 +55,7 @@ export default {
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'issueTime'
,
order
:
'descending'
},
forData
:
[
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/bidrecords.vue
View file @
3d34a012
...
...
@@ -45,7 +45,7 @@ export default {
queryParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
forData
:
[
{
label
:
'项目名称'
,
prop
:
'name'
,
minWidth
:
'320'
,
slot
:
true
},
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/component/bidagencyDetail.vue
View file @
3d34a012
...
...
@@ -70,7 +70,7 @@ export default {
tendereeId
:
this
.
data
.
tendereeId
,
agencyId
:
this
.
data
.
agencyId
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
}
,
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入合作项目/工程名称查询'
,
options
:
[]
}
,
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/component/customDetail.vue
View file @
3d34a012
...
...
@@ -76,7 +76,7 @@ export default {
cid
:
this
.
companyId
,
unitId
:
this
.
data
.
projectUnitId
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
}
,
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目/工程名称查询'
,
options
:
[]
}
,
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/component/supplierDetail.vue
View file @
3d34a012
...
...
@@ -76,7 +76,7 @@ export default {
cid
:
this
.
data
.
companyId
,
unitId
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
}
,
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入合作项目/工程名称查询'
,
options
:
[]
}
,
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/custom.vue
View file @
3d34a012
...
...
@@ -56,7 +56,7 @@ export default {
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
forData
:
[
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/hiscontract.vue
View file @
3d34a012
...
...
@@ -48,7 +48,7 @@ export default {
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'winBidTime'
,
order
:
'descending'
},
forData
:
[
...
...
dsk-operate-ui/src/views/detail/party-a/dealings/supplier.vue
View file @
3d34a012
...
...
@@ -56,7 +56,7 @@ export default {
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'time'
,
order
:
'descending'
},
forData
:
[
...
...
dsk-operate-ui/src/views/detail/party-a/opport/administrative.vue
View file @
3d34a012
...
...
@@ -17,10 +17,10 @@
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
>
<template
slot=
"
porjectName
"
slot-scope=
"scope"
>
<span
:class=
"[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.
porjectName
)?'cell-span':'']"
:style=
"
{'-webkit-line-clamp': 2}">
{{
scope
.
row
.
porjectName
}}
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.
porjectName
)"
@
click=
"changeShowAll(scope.index, 0)"
>
...
<span
style=
"color: #0081FF;"
>
展开
</span></span>
<template
slot=
"
content
"
slot-scope=
"scope"
>
<span
:class=
"[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.
content
)?'cell-span':'']"
:style=
"
{'-webkit-line-clamp': 2}">
{{
scope
.
row
.
content
}}
<span
v-if=
"isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.
content
)"
@
click=
"changeShowAll(scope.index, 0)"
>
...
<span
style=
"color: #0081FF;"
>
展开
</span></span>
</span>
</
template
>
</tables>
...
...
@@ -30,7 +30,7 @@
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
getList
}
from
'@/api/detail/party-a/opport'
import
{
creditXzxkPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Administrative'
,
props
:
[
'companyId'
],
...
...
@@ -42,22 +42,22 @@ export default {
queryParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
forData
:
[
{
label
:
'许可决定日期'
,
prop
:
'
use
'
,
width
:
'100'
},
{
label
:
'决定文书号'
,
prop
:
'
type
'
,
width
:
'200'
},
{
label
:
'许可编号'
,
prop
:
'
type'
,
width
:
'8
0'
},
{
label
:
'决定文书名称'
,
prop
:
'
typ
e'
,
width
:
'190'
},
{
label
:
'许可内容'
,
prop
:
'
porjectName
'
,
width
:
'300'
,
slot
:
true
},
{
label
:
'有效期自'
,
prop
:
'
type
'
,
width
:
'100'
},
{
label
:
'有效期至'
,
prop
:
'
type
'
,
width
:
'100'
},
{
label
:
'行政许可类别'
,
prop
:
'
type
'
,
width
:
'100'
},
{
label
:
'许可机关'
,
prop
:
'
typ
e'
,
width
:
'180'
},
{
label
:
'行政许可机关统一社会信用代码'
,
prop
:
'
type
'
,
width
:
'200'
},
{
label
:
'数据来源单位'
,
prop
:
'
type
'
,
width
:
'110'
},
{
label
:
'数据来源单位统一社会信用代码'
,
prop
:
'
type
'
,
width
:
'200'
},
{
label
:
'来源'
,
prop
:
'
typ
e'
,
width
:
'80'
}
{
label
:
'许可决定日期'
,
prop
:
'
xxx
'
,
width
:
'100'
},
{
label
:
'决定文书号'
,
prop
:
'
deciWritNo
'
,
width
:
'200'
},
{
label
:
'许可编号'
,
prop
:
'
xxx'
,
width
:
'10
0'
},
{
label
:
'决定文书名称'
,
prop
:
'
deciWritNam
e'
,
width
:
'190'
},
{
label
:
'许可内容'
,
prop
:
'
content
'
,
width
:
'300'
,
slot
:
true
},
{
label
:
'有效期自'
,
prop
:
'
valiBegin
'
,
width
:
'100'
},
{
label
:
'有效期至'
,
prop
:
'
valiEnd
'
,
width
:
'100'
},
{
label
:
'行政许可类别'
,
prop
:
'
xxx
'
,
width
:
'100'
},
{
label
:
'许可机关'
,
prop
:
'
offic
e'
,
width
:
'180'
},
{
label
:
'行政许可机关统一社会信用代码'
,
prop
:
'
xxx
'
,
width
:
'200'
},
{
label
:
'数据来源单位'
,
prop
:
'
xxx
'
,
width
:
'110'
},
{
label
:
'数据来源单位统一社会信用代码'
,
prop
:
'
xxx
'
,
width
:
'200'
},
{
label
:
'来源'
,
prop
:
'
dataSourc
e'
,
width
:
'80'
}
],
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入关键词查询'
,
options
:
[]},
...
...
@@ -75,27 +75,15 @@ export default {
this
.
handleQuery
()
},
methods
:
{
handleQuery
(
params
)
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
let
res
=
await
creditXzxkPage
(
param
)
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
]
this
.
tableDataTotal
=
100
})
this
.
tableDataTotal
=
res
.
total
},
changeShowAll
(
row
,
column
)
{
this
.
showList
.
push
({
...
...
dsk-operate-ui/src/views/detail/party-a/opport/announcement.vue
View file @
3d34a012
...
...
@@ -11,15 +11,21 @@
<tables
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
porjectName
}}
</router-link>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.bid&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"province"
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}{{
`${scope.row.city?'-'+scope.row.city:''
}
`
}}
{{
`${scope.row.area?'-'+scope.row.area:''
}
`
}}
<
/template
>
<
/tables
>
...
...
@@ -28,7 +34,7 @@
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
getList
,
getOption
}
from
'@/api/detail/party-a/opport'
import
{
bidNoticeArea
,
bidNoticeTenderStage
,
bidNoticePage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Announcement'
,
props
:
[
'companyId'
],
...
...
@@ -39,25 +45,27 @@ export default {
return
{
queryParams
:
{
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
}
,
defaultSort
:
{
prop
:
'issueTime'
,
order
:
'descending'
}
,
forData
:
[
{
label
:
'项目名称'
,
prop
:
'p
or
jectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'发布日期'
,
prop
:
'
use'
,
sortable
:
'custom
'
,
width
:
'120'
},
{
label
:
'预算金额(万元)'
,
prop
:
'
type'
,
sortable
:
'custom
'
,
width
:
'140'
},
{
label
:
'项目地区'
,
prop
:
'
way'
,
width
:
'120'
},
{
label
:
'项目类别'
,
prop
:
'
stat
e'
,
width
:
'90'
},
{
label
:
'招采单位联系人'
,
prop
:
'
money
'
,
width
:
'110'
},
{
label
:
'招采单位联系方式'
,
prop
:
'
money
'
,
width
:
'130'
},
{
label
:
'代理单位'
,
prop
:
'
money'
,
w
idth
:
'170'
},
{
label
:
'代理单位联系人'
,
prop
:
'
money
'
,
width
:
'110'
},
{
label
:
'代理单位联系方式'
,
prop
:
'
money
'
,
width
:
'130'
},
{
label
:
'报名截止日期'
,
prop
:
'
money
'
,
width
:
'100'
}
{
label
:
'项目名称'
,
prop
:
'p
ro
jectName'
,
minWidth
:
'300'
,
slot
:
true
}
,
{
label
:
'发布日期'
,
prop
:
'
issueTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4
'
,
width
:
'120'
}
,
{
label
:
'预算金额(万元)'
,
prop
:
'
projectAmount'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2
'
,
width
:
'140'
}
,
{
label
:
'项目地区'
,
prop
:
'
province'
,
width
:
'120'
,
slot
:
true
}
,
{
label
:
'项目类别'
,
prop
:
'
tenderStag
e'
,
width
:
'90'
}
,
{
label
:
'招采单位联系人'
,
prop
:
'
contact
'
,
width
:
'110'
}
,
{
label
:
'招采单位联系方式'
,
prop
:
'
contactTel
'
,
width
:
'130'
}
,
{
label
:
'代理单位'
,
prop
:
'
agency'
,
minW
idth
:
'170'
}
,
{
label
:
'代理单位联系人'
,
prop
:
'
agencyContact
'
,
width
:
'110'
}
,
{
label
:
'代理单位联系方式'
,
prop
:
'
agencyContactTel
'
,
width
:
'130'
}
,
{
label
:
'报名截止日期'
,
prop
:
'
overTime
'
,
width
:
'100'
}
],
formData
:
[
{
type
:
1
,
fieldName
:
'projectStage'
,
value
:
''
,
placeholder
:
'项目地区'
,
options
:
[]},
{
type
:
1
,
fieldName
:
'projectTyp
e'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[]},
{
type
:
7
,
fieldName
:
'province'
,
value
:
''
,
props
:
{
multiple
:
true
}
,
placeholder
:
'项目地区'
,
options
:
[]
}
,
{
type
:
4
,
fieldName
:
'tenderStag
e'
,
value
:
''
,
placeholder
:
'项目类型'
,
options
:
[]
}
,
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入关键词查询'
,
options
:
[]
}
],
//列表
...
...
@@ -73,43 +81,74 @@ export default {
this
.
handleQuery
()
}
,
methods
:
{
handleOption
(){
getOption
().
then
((
res
)
=>
{
this
.
setFormData
(
'projectStage'
,
[
{
name
:
'类别1'
,
value
:
'1'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
name
:
'类别3'
,
value
:
'3'
},
{
name
:
'类别4'
,
value
:
'4'
}
])
this
.
setFormData
(
'projectType'
,
[
{
name
:
'类别1'
,
value
:
'1'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
name
:
'类别3'
,
value
:
'3'
},
{
name
:
'类别4'
,
value
:
'4'
}
async
handleOption
(){
let
[
area
,
tender
]
=
await
Promise
.
all
([
bidNoticeArea
({
cid
:
this
.
companyId
}
),
bidNoticeTenderStage
({
cid
:
this
.
companyId
}
)
])
if
(
area
.
code
==
200
){
let
region
=
area
.
data
.
map
(
item
=>
{
let
province
=
{
label
:
item
.
province
+
'('
+
item
.
count
+
')'
,
value
:
item
.
provinceId
}
if
(
item
.
citys
&&
item
.
citys
.
length
>
0
){
let
city
=
[],
citem
=
{
}
for
(
let
i
=
0
;
i
<
item
.
citys
.
length
;
i
++
){
citem
=
{
label
:
item
.
citys
[
i
].
city
,
value
:
item
.
citys
[
i
].
cityId
}
if
(
item
.
citys
[
i
].
areas
&&
item
.
citys
[
i
].
areas
.
length
>
0
){
let
area
=
[],
aitem
=
{
}
for
(
let
j
=
0
;
j
<
item
.
citys
[
i
].
areas
.
length
;
j
++
){
aitem
=
{
label
:
item
.
citys
[
i
].
areas
[
j
].
area
,
value
:
item
.
citys
[
i
].
areas
[
j
].
areaId
}
area
.
push
(
aitem
)
citem
.
children
=
area
}
}
city
.
push
(
citem
)
}
city
.
length
>
0
?
province
.
children
=
city
:
''
}
return
province
}
)
this
.
setFormData
(
'province'
,
region
)
}
if
(
tender
.
code
==
200
){
let
tenderStage
=
tender
.
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
tenderStage
+
'('
+
item
.
count
+
')'
,
value
:
item
.
tenderStage
}
return
it
}
)
this
.
setFormData
(
'tenderStage'
,
tenderStage
)
}
}
,
handleQuery
(
params
)
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
let
param
=
this
.
getAreaList
(
params
||
this
.
queryParams
)
let
res
=
await
bidNoticePage
(
param
)
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
this
.
tableDataTotal
=
res
.
total
}
,
getAreaList
(
params
){
console
.
log
(
'参数1:'
,
params
)
if
(
params
.
province
&&
params
.
province
.
length
>
0
){
let
provinceIds
=
[],
cityIds
=
[],
areaIds
=
[]
for
(
let
i
=
0
;
i
<
params
.
province
.
length
;
i
++
){
params
.
province
[
i
][
0
]?
provinceIds
.
push
(
params
.
province
[
i
][
0
]):
''
params
.
province
[
i
][
1
]?
cityIds
.
push
(
params
.
province
[
i
][
1
]):
''
params
.
province
[
i
][
2
]?
areaIds
.
push
(
params
.
province
[
i
][
2
]):
''
}
]
this
.
tableDataTotal
=
100
delete
params
.
province
params
.
provinceIds
=
provinceIds
.
filter
(
function
(
value
,
index
,
self
){
return
self
.
indexOf
(
value
)
===
index
}
)
params
.
cityIds
=
cityIds
.
filter
(
function
(
value
,
index
,
self
){
return
self
.
indexOf
(
value
)
===
index
}
)
params
.
areaIds
=
areaIds
.
filter
(
function
(
value
,
index
,
self
){
return
self
.
indexOf
(
value
)
===
index
}
)
}
console
.
log
(
'参数2:'
,
params
)
return
params
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/biddingplan.vue
View file @
3d34a012
<
template
>
<div
class=
"app-container detail-container"
>
biddingplan
<div
class=
"detail-container"
>
<head-form
title=
"招标计划"
:form-data=
"formData"
:query-params=
"queryParams"
:isExcel=
"true"
:total=
"tableDataTotal"
/>
<tables
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"province"
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}{{
`${scope.row.city?'-'+scope.row.city:''
}
`
}}
{{
`${scope.row.area?'-'+scope.row.area:''
}
`
}}
<
/template
>
<
/tables
>
<
/div
>
<
/template
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
bidPlanPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Biddingplan'
,
props
:
[
'companyId'
],
mixins
:
[
mixin
],
components
:
{
}
,
data
()
{
return
{
queryParams
:
{
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
20
}
,
defaultSort
:
{
prop
:
'issueTime'
,
order
:
'descending'
}
,
forData
:
[
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'400'
,
slot
:
true
}
,
{
label
:
'发布日期'
,
prop
:
'issueTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4'
,
width
:
'120'
}
,
{
label
:
'合同预估金额(万元)'
,
prop
:
'planTenderAmount'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2'
,
width
:
'160'
}
,
{
label
:
'资金来源'
,
prop
:
'projecetCapitalSource'
,
minWidth
:
'100'
}
,
{
label
:
'项目地区'
,
prop
:
'province'
,
minWidth
:
'110'
,
slot
:
true
}
,
{
label
:
'项目类型'
,
prop
:
'buildingProjectType'
,
minWidth
:
'100'
}
,
{
label
:
'标的物类型'
,
prop
:
'objectType'
,
minWidth
:
'100'
}
,
{
label
:
'预计招标日期'
,
prop
:
'planTenderDateStart'
,
sortable
:
'custom'
,
descending
:
'15'
,
ascending
:
'16'
,
minWidth
:
'110'
}
],
formData
:
[],
//列表
tableLoading
:
false
,
tableData
:[],
tableDataTotal
:
0
}
}
,
computed
:
{
}
,
created
()
{
this
.
handleQuery
()
}
,
methods
:
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
let
res
=
await
bidPlanPage
(
param
)
this
.
tableLoading
=
false
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
this
.
tableDataTotal
=
res
.
total
}
}
}
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
detail
-
container
{
margin
:
0
;
background
:
#
ffffff
;
border
-
radius
:
4
px
;
padding
:
16
px
;
background
:
#FFFFFF
;
}
<
/style
>
dsk-operate-ui/src/views/detail/party-a/opport/bond.vue
View file @
3d34a012
...
...
@@ -11,15 +11,18 @@
<tables
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
porjectName
}}
</router-link>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
</tables>
...
...
@@ -28,7 +31,7 @@
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
getList
}
from
'@/api/detail/party-a/opport'
import
{
specialDebtProjectPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Bond'
,
props
:
[
'companyId'
],
...
...
@@ -39,16 +42,16 @@ export default {
return
{
queryParams
:
{
cid
:
this
.
companyId
,
sort
:
1
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'projectTotalInvestment'
,
order
:
'descending'
},
forData
:
[
{
label
:
'项目名称'
,
prop
:
'porjectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'项目总投资(亿元)'
,
prop
:
'use'
,
sortable
:
'custom'
,
width
:
'150'
},
{
label
:
'项目资本金(亿元)'
,
prop
:
'type'
,
sortable
:
'custom'
,
width
:
'150'
},
{
label
:
'项目收益倍数(倍)'
,
prop
:
'way'
,
sortable
:
'custom'
,
width
:
'150'
},
{
label
:
'专项债金额(亿元)'
,
prop
:
'state'
,
sortable
:
'custom'
,
width
:
'150'
},
{
label
:
'专项债用作资本金(亿元)'
,
prop
:
'money'
,
sortable
:
'custom'
,
width
:
'200'
}
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'项目总投资(亿元)'
,
prop
:
'projectTotalInvestment'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2'
,
width
:
'150'
},
{
label
:
'项目资本金(亿元)'
,
prop
:
'projectCapital'
,
sortable
:
'custom'
,
descending
:
'17'
,
ascending
:
'18'
,
width
:
'150'
},
{
label
:
'专项债用作资本金(亿元)'
,
prop
:
'specialBondCapital'
,
sortable
:
'custom'
,
descending
:
'19'
,
ascending
:
'20'
,
width
:
'200'
}
],
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[]},
...
...
@@ -65,27 +68,15 @@ export default {
this
.
handleQuery
()
},
methods
:
{
handleQuery
(
params
)
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
let
res
=
await
specialDebtProjectPage
(
param
)
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
]
this
.
tableDataTotal
=
100
})
this
.
tableDataTotal
=
res
.
total
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/landtransaction.vue
View file @
3d34a012
...
...
@@ -11,15 +11,18 @@
<tables
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
porjectName
}}
</router-link>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
</tables>
...
...
@@ -28,7 +31,7 @@
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
getOption
,
getList
}
from
'@/api/detail/party-a/opport'
import
{
landUse
,
landTransactionPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Landtransaction'
,
props
:
[
'companyId'
],
...
...
@@ -39,29 +42,30 @@ export default {
return
{
queryParams
:
{
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'contractSignTime'
,
order
:
'descending'
},
forData
:
[
{
label
:
'项目名称'
,
prop
:
'p
or
jectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'土地用途'
,
prop
:
'
u
se'
,
width
:
'130'
},
{
label
:
'行业分类'
,
prop
:
'
type
'
,
width
:
'100'
},
{
label
:
'供地方式'
,
prop
:
'
w
ay'
,
width
:
'100'
},
{
label
:
'土地坐落'
,
prop
:
'
state'
,
w
idth
:
'130'
},
{
label
:
'成交金额(万元)'
,
prop
:
'
money'
,
sortable
:
'custom
'
,
width
:
'140'
},
{
label
:
'总面积(㎡)'
,
prop
:
'
scale'
,
sortable
:
'custom
'
,
width
:
'130'
},
{
label
:
'批准单位'
,
prop
:
'
unit
'
,
width
:
'130'
},
{
label
:
'签订日期'
,
prop
:
'
date
'
,
width
:
'130'
}
{
label
:
'项目名称'
,
prop
:
'p
ro
jectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'土地用途'
,
prop
:
'
landU
se'
,
width
:
'130'
},
{
label
:
'行业分类'
,
prop
:
'
industry
'
,
width
:
'100'
},
{
label
:
'供地方式'
,
prop
:
'
supplyLandW
ay'
,
width
:
'100'
},
{
label
:
'土地坐落'
,
prop
:
'
landAddr'
,
minW
idth
:
'130'
},
{
label
:
'成交金额(万元)'
,
prop
:
'
transactionPrice'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4
'
,
width
:
'140'
},
{
label
:
'总面积(㎡)'
,
prop
:
'
acreage'
,
sortable
:
'custom'
,
descending
:
'11'
,
ascending
:
'12
'
,
width
:
'130'
},
{
label
:
'批准单位'
,
prop
:
'
authority
'
,
width
:
'130'
},
{
label
:
'签订日期'
,
prop
:
'
contractSignTime'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2
'
,
width
:
'130'
}
],
formData
:
[
{
type
:
1
,
fieldName
:
'penalizeReasonTyp
e'
,
value
:
''
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
4
,
fieldName
:
'landUs
e'
,
value
:
''
,
placeholder
:
'土地用途'
,
options
:
[]},
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[]}
],
//列表
tableLoading
:
false
,
tableData
:[],
tableDataTotal
:
0
,
showList
:[],
tableDataTotal
:
0
}
},
computed
:
{
...
...
@@ -71,37 +75,25 @@ export default {
this
.
handleQuery
()
},
methods
:
{
handleOption
(){
getOption
().
then
((
res
)
=>
{
this
.
setFormData
(
'penalizeReasonType'
,
[
{
name
:
'类别1'
,
value
:
'1'
},
{
name
:
'类别2'
,
value
:
'2'
},
{
name
:
'类别3'
,
value
:
'3'
},
{
name
:
'类别4'
,
value
:
'4'
}
])
async
handleOption
(){
let
res
=
await
landUse
({
cid
:
this
.
companyId
})
if
(
res
.
code
==
200
){
let
use
=
res
.
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
landUse
+
'('
+
item
.
count
+
')'
,
value
:
item
.
landUse
}
return
it
})
this
.
setFormData
(
'landUse'
,
use
)
}
},
handleQuery
(
params
)
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
let
res
=
await
landTransactionPage
(
param
)
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
]
this
.
tableDataTotal
=
100
})
this
.
tableDataTotal
=
res
.
total
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/proposed.vue
View file @
3d34a012
...
...
@@ -11,15 +11,21 @@
<tables
:indexFixed=
"true"
:defaultSort=
"defaultSort"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
@
sort-change=
"sortChange"
>
<template
slot=
"porjectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
porjectName
}}
</router-link>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"isProjcet"
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
isProjcet
==
1
?
'是'
:
'否'
}}
</span>
</
template
>
</tables>
...
...
@@ -28,7 +34,7 @@
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
getList
}
from
'@/api/detail/party-a/opport'
import
{
approvalProjectPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Proposed'
,
props
:
[
'companyId'
],
...
...
@@ -39,17 +45,19 @@ export default {
return
{
queryParams
:
{
cid
:
this
.
companyId
,
sort
:
3
,
pageNum
:
1
,
pageSize
:
1
0
pageSize
:
2
0
},
defaultSort
:
{
prop
:
'planStartTime'
,
order
:
'descending'
},
forData
:
[
{
label
:
'项目名称'
,
prop
:
'p
or
jectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'成交金额(万元)'
,
prop
:
'
use'
,
sortable
:
'custom
'
,
width
:
'150'
},
{
label
:
'项目类别'
,
prop
:
'
type
'
,
width
:
'100'
},
{
label
:
'计划开工日期'
,
prop
:
'
way'
,
sortable
:
'custom
'
,
width
:
'130'
},
{
label
:
'计划完工日期'
,
prop
:
'
state'
,
sortable
:
'custom
'
,
width
:
'130'
},
{
label
:
'审批结果'
,
prop
:
'
money
'
,
width
:
'100'
},
{
label
:
'是否为民间推介项目'
,
prop
:
'
scale'
,
width
:
'150'
}
{
label
:
'项目名称'
,
prop
:
'p
ro
jectName'
,
minWidth
:
'300'
,
slot
:
true
},
{
label
:
'成交金额(万元)'
,
prop
:
'
money'
,
sortable
:
'custom'
,
descending
:
'1'
,
ascending
:
'2
'
,
width
:
'150'
},
{
label
:
'项目类别'
,
prop
:
'
projectCategories
'
,
width
:
'100'
},
{
label
:
'计划开工日期'
,
prop
:
'
planStartTime'
,
sortable
:
'custom'
,
descending
:
'3'
,
ascending
:
'4
'
,
width
:
'130'
},
{
label
:
'计划完工日期'
,
prop
:
'
planEndTime'
,
sortable
:
'custom'
,
descending
:
'13'
,
ascending
:
'14
'
,
width
:
'130'
},
{
label
:
'审批结果'
,
prop
:
'
examineStatus
'
,
width
:
'100'
},
{
label
:
'是否为民间推介项目'
,
prop
:
'
isProjcet'
,
width
:
'150'
,
slot
:
true
}
],
formData
:
[
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入项目名称关键词查询'
,
options
:
[]},
...
...
@@ -66,27 +74,15 @@ export default {
this
.
handleQuery
()
},
methods
:
{
handleQuery
(
params
)
{
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
getList
(
param
).
then
((
res
)
=>
{
let
res
=
await
approvalProjectPage
(
param
)
this
.
tableLoading
=
false
this
.
tableData
=
[
{
projectId
:
'1'
,
porjectName
:
'滨州医学院口腔医学大楼铝合金门窗供货及安装'
,
use
:
'城镇住宅用地'
,
type
:
'房地产业'
,
way
:
'挂牌出让'
,
state
:
'重庆'
,
money
:
'11234万元'
,
scale
:
'222平米'
,
unit
:
'江苏省住房和城乡建设厅'
,
date
:
'2015-08-06'
,
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
]
this
.
tableDataTotal
=
100
})
this
.
tableDataTotal
=
res
.
total
}
}
}
...
...
dsk-operate-ui/src/views/detail/party-a/opport/tencent.vue
View file @
3d34a012
<
template
>
<div
class=
"app-container detail-container"
>
tencent
<div
class=
"detail-container"
>
<head-form
title=
"标讯Pro"
:form-data=
"formData"
:query-params=
"queryParams"
:total=
"tableDataTotal"
:isExcel=
"true"
@
handle-search=
"handleSearch"
/>
<tables
:indexFixed=
"true"
:tableLoading=
"tableLoading"
:tableData=
"tableData"
:forData=
"forData"
:tableDataTotal=
"tableDataTotal"
:queryParams=
"queryParams"
@
handle-current-change=
"handleCurrentChange"
>
<template
slot=
"projectName"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.id&&scope.row.projectName "
v-html=
"scope.row.projectName"
></router-link>
<div
v-else
v-html=
"scope.row.projectName || '--'"
></div>
</
template
>
<
template
slot=
"tenderee"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.tendereeId&&scope.row.tenderee "
v-html=
"scope.row.tenderee"
></router-link>
<div
v-else
v-html=
"scope.row.tenderee || '--'"
></div>
</
template
>
<
template
slot=
"agency"
slot-scope=
"scope"
>
<router-link
to=
""
tag=
"a"
class=
"a-link"
v-if=
"scope.row.agencyId&&scope.row.agency "
v-html=
"scope.row.agency"
></router-link>
<div
v-else
v-html=
"scope.row.agency || '--'"
></div>
</
template
>
<
template
slot=
"province"
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}{{
`${scope.row.city?'-'+scope.row.city:''
}
`
}}
{{
`${scope.row.area?'-'+scope.row.area:''
}
`
}}
<
/template
>
<
/tables
>
<
/div
>
<
/template
>
<
script
>
import
mixin
from
'../mixins/mixin'
import
{
bidNoticeProProjectType
,
bidNoticeProProjectPurposes
,
bidNoticeProAssessmentWay
,
bidNoticeProPage
}
from
'@/api/detail/party-a/opport'
export
default
{
name
:
'Tencent'
,
props
:
[
'companyId'
],
mixins
:
[
mixin
],
components
:
{
}
,
data
()
{
return
{
queryParams
:
{
cid
:
this
.
companyId
,
pageNum
:
1
,
pageSize
:
20
}
,
forData
:
[
{
label
:
'项目名称'
,
prop
:
'projectName'
,
minWidth
:
'320'
,
slot
:
true
}
,
{
label
:
'金额(万元)'
,
prop
:
''
,
children
:
[
{
label
:
'建安费暂估'
,
prop
:
'projectSafeAmount'
,
width
:
'88px'
}
,
{
label
:
'勘察费暂估'
,
prop
:
'projectSurveyAmount'
,
width
:
'88px'
}
,
{
label
:
'保证金'
,
prop
:
'projectEnsureAmount'
,
width
:
'88px'
}
]
}
,
{
label
:
'招标人及联系方式'
,
prop
:
''
,
children
:
[
{
label
:
'招标人'
,
prop
:
'tenderee'
,
width
:
'88px'
,
slot
:
true
}
,
{
label
:
'联系人'
,
prop
:
'tendereeTel'
,
width
:
'88px'
}
]
}
,
{
label
:
'代理机构及联系方式'
,
prop
:
''
,
children
:
[
{
label
:
'代理机构'
,
prop
:
'agency'
,
width
:
'88px'
,
slot
:
true
}
,
{
label
:
'联系人'
,
prop
:
'agencyTel'
,
width
:
'88px'
}
]
}
,
{
label
:
'项目分类'
,
prop
:
'projectType'
,
width
:
'130'
}
,
{
label
:
'工程类别'
,
prop
:
'projectPurposes'
,
width
:
'130'
}
,
{
label
:
'分部分项'
,
prop
:
'projectSub'
,
width
:
'130'
}
,
{
label
:
'项目级别'
,
prop
:
'projectLevel'
,
width
:
'130'
}
,
{
label
:
'评标办法'
,
prop
:
'bidAssessmentWay'
,
width
:
'130'
}
,
{
label
:
'项目属地'
,
prop
:
'province'
,
width
:
'130'
,
slot
:
true
}
,
{
label
:
'发布日期'
,
prop
:
'pubdate'
,
width
:
'130'
}
],
formData
:
[
{
type
:
1
,
fieldName
:
'projectType'
,
value
:
''
,
placeholder
:
'项目类别'
,
options
:
[]
}
,
{
type
:
1
,
fieldName
:
'projectPurposes'
,
value
:
''
,
placeholder
:
'工程类别'
,
options
:
[]
}
,
{
type
:
1
,
fieldName
:
'bidAssessmentWay'
,
value
:
''
,
placeholder
:
'评标办法'
,
options
:
[]
}
,
{
type
:
3
,
fieldName
:
'keys'
,
value
:
''
,
placeholder
:
'输入关键词查询'
,
options
:
[]
}
],
//列表
tableLoading
:
false
,
tableData
:[],
tableDataTotal
:
0
}
}
,
computed
:
{
}
,
created
()
{
this
.
handleOption
()
this
.
handleQuery
()
}
,
methods
:
{
async
handleOption
(){
let
[
projectType
,
projectPurposes
,
proAssessmentWay
]
=
await
Promise
.
all
([
bidNoticeProProjectType
({
cid
:
this
.
companyId
}
),
bidNoticeProProjectPurposes
({
cid
:
this
.
companyId
}
),
bidNoticeProAssessmentWay
({
cid
:
this
.
companyId
}
)
])
if
(
projectType
.
code
==
200
){
let
type
=
projectType
.
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
projectType
+
'('
+
item
.
count
+
')'
,
value
:
item
.
projectType
}
return
it
}
)
this
.
setFormData
(
'projectType'
,
type
)
}
if
(
projectPurposes
.
code
==
200
){
let
purposes
=
projectPurposes
.
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
projectPurposes
+
'('
+
item
.
count
+
')'
,
value
:
item
.
projectPurposes
}
return
it
}
)
this
.
setFormData
(
'projectPurposes'
,
purposes
)
}
if
(
proAssessmentWay
.
code
==
200
){
let
way
=
proAssessmentWay
.
data
.
map
(
item
=>
{
let
it
=
{
name
:
item
.
bidAssessmentWay
+
'('
+
item
.
count
+
')'
,
value
:
item
.
bidAssessmentWay
}
return
it
}
)
this
.
setFormData
(
'bidAssessmentWay'
,
way
)
}
}
,
async
handleQuery
(
params
)
{
this
.
tableLoading
=
true
let
param
=
params
?
params
:
this
.
queryParams
let
res
=
await
bidNoticeProPage
(
param
)
this
.
tableLoading
=
false
if
(
res
.
code
==
200
){
this
.
tableData
=
res
.
rows
}
this
.
tableDataTotal
=
res
.
total
}
}
}
<
/script
>
<
style
lang
=
"scss"
scoped
>
.
detail
-
container
{
margin
:
0
;
background
:
#
ffffff
;
border
-
radius
:
4
px
;
padding
:
16
px
;
background
:
#FFFFFF
;
}
<
/style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment