Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
web-purchase
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
张冬
web-purchase
Commits
38668a85
Commit
38668a85
authored
Sep 24, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联调
parent
3e794727
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
717 additions
and
362 deletions
+717
-362
bid.js
src/api/supply/bid.js
+54
-5
Sidebar.vue
src/components/common/Sidebar.vue
+119
-120
message.vue
src/pages/purchaser/bid/releaseProject/message.vue
+1
-1
fileDownload.vue
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
+35
-11
projectInformation.vue
...es/supply/bid/joinProject/bidStage/projectInformation.vue
+35
-22
tenderFee.vue
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
+22
-19
projectList.vue
src/pages/supply/bid/joinProject/projectList.vue
+46
-29
workbench.vue
src/pages/supply/bid/joinProject/workbench.vue
+184
-0
seeAnnouncement.vue
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
+8
-2
seePrice.vue
src/pages/supply/bid/signupOnline/seePrice.vue
+204
-149
signUp.vue
src/pages/supply/bid/signupOnline/signUp.vue
+1
-1
signupList.vue
src/pages/supply/bid/signupOnline/signupList.vue
+1
-1
index.js
src/router/index.js
+5
-0
request.js
src/utils/request.js
+2
-2
No files found.
src/api/supply/bid.js
View file @
38668a85
...
@@ -4,7 +4,7 @@ import request from '@/utils/request'
...
@@ -4,7 +4,7 @@ import request from '@/utils/request'
// 2.1在线报名
// 2.1在线报名
// 2.1.1
// 查看招标公告
// 查看招标公告
export
function
biddingDetail
(
id
)
{
export
function
biddingDetail
(
id
)
{
return
request
({
return
request
({
...
@@ -12,6 +12,8 @@ export function biddingDetail(id) {
...
@@ -12,6 +12,8 @@ export function biddingDetail(id) {
method
:
'get'
,
method
:
'get'
,
})
})
}
}
// 2.1.2
//供应商报名
//供应商报名
export
function
projectapply
(
data
)
{
export
function
projectapply
(
data
)
{
return
request
({
return
request
({
...
@@ -21,10 +23,37 @@ export function projectapply(data) {
...
@@ -21,10 +23,37 @@ export function projectapply(data) {
})
})
}
}
// 2.1.3
// 查看询价公告里的商品报价列表
export
function
commoditylist
(
projectId
)
{
return
request
({
url
:
`/bidder-apply/commodity/list/
${
projectId
}
`
,
method
:
'get'
,
})
}
//供应商对询价公告的标的进行报价
export
function
offerPrice
(
data
)
{
return
request
({
url
:
"bidder-apply/offer-price"
,
method
:
'post'
,
data
:
data
})
}
// 参与报价的供应商的情况
export
function
offerBidderlist
(
projectId
)
{
return
request
({
url
:
`bidder-apply/offerBidder/list/
${
projectId
}
`
,
method
:
'get'
,
})
}
//2.2.1
//2.2.1
// 查看询价公告
// 查看询价公告
export
function
noticeEnquiry
(
id
)
{
export
function
noticeEnquiry
(
id
)
{
return
request
({
return
request
({
url
:
`notice/enquiry/
${
id
}
`
,
url
:
`notice/enquiry/
${
id
}
`
,
...
@@ -34,21 +63,41 @@ export function noticeEnquiry(id) {
...
@@ -34,21 +63,41 @@ export function noticeEnquiry(id) {
// 招标文件下载
// 招标文件下载
export
function
bidBooklist
(
params
)
{
export
function
bidBooklist
(
params
)
{
return
request
({
return
request
({
url
:
"bidder
/project
/bidBook/list"
,
url
:
"bidder
-bidbook
/bidBook/list"
,
method
:
'get'
,
method
:
'get'
,
params
:
params
params
:
params
})
})
}
}
// 检测是否能下载
export
function
downLoad
(
projectId
)
{
return
request
({
url
:
`bidder-bidbook/bidBook/downLoad/
${
projectId
}
`
,
method
:
'get'
,
})
}
//项目完整详情查看
export
function
projectdetail
(
id
)
{
return
request
({
url
:
`project/detail/
${
id
}
`
,
method
:
'get'
,
})
}
//流程进度
export
function
timeInfo
(
projectId
)
{
return
request
({
url
:
`project/timeInfo/
${
projectId
}
`
,
method
:
'get'
,
})
}
// 标书费缴纳
// 标书费缴纳
export
function
bidBookpayment
(
data
)
{
export
function
bidBookpayment
(
data
)
{
return
request
({
return
request
({
url
:
"/bidder
/project
/bidBook/payment"
,
url
:
"/bidder
-bidbook
/bidBook/payment"
,
method
:
'post'
,
method
:
'post'
,
data
:
data
data
:
data
})
})
}
}
// 保证金缴纳
// 保证金缴纳
export
function
bidderEarnestpayment
(
data
)
{
export
function
bidderEarnestpayment
(
data
)
{
return
request
({
return
request
({
...
...
src/components/common/Sidebar.vue
View file @
38668a85
...
@@ -55,103 +55,10 @@ export default {
...
@@ -55,103 +55,10 @@ export default {
data
()
{
data
()
{
return
{
return
{
collapse
:
false
,
collapse
:
false
,
items
:
[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/Home'
,
title
:
'首页'
},
{
icon
:
'el-icon-lx-home'
,
index
:
"2"
,
title
:
'招标管理'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/bid/administrationList'
,
title
:
'招标项目管理'
,
}
]
},
{
icon
:
'el-icon-lx-cascades'
,
title
:
'应收账款买断管理'
,
index
:
'3'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/buyOut/buyoutList'
,
title
:
'应收账款买断列表'
,
}
]
},
{
icon
:
'el-icon-lx-cascades'
,
title
:
'供应商管理'
,
index
:
'4'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/supply/allSupplyList'
,
title
:
'供应商列表'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/supply/mySupplyList'
,
title
:
'我的供应商'
,
}
]
},
{
icon
:
'el-icon-lx-copy'
,
title
:
'组织管理'
,
index
:
'5'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/organization/informationSee'
,
title
:
'单位信息'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/organization/memberManagement'
,
title
:
'成员管理'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/organization/jurisdictionList'
,
title
:
'角色管理'
,
}
]
},
{
icon
:
'el-icon-lx-redpacket_fill'
,
title
:
'系统管理'
,
index
:
'6'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/organization/jurisdictionList'
,
title
:
'CA绑定与解除'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/purchaser/system/logList'
,
title
:
'日志列表'
,
},
]
}
],
// 供应商
// items: [
// items: [
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/Home',
// index: '/purchaser
/Home',
// title: '首页'
// title: '首页'
// },
// },
// {
// {
...
@@ -161,13 +68,8 @@ export default {
...
@@ -161,13 +68,8 @@ export default {
// subs:[
// subs:[
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply/bid/signupOnline',
// index: '/purchaser/bid/administrationList',
// title: '在线报名',
// title: '招标项目管理',
// },
// {
// icon: 'el-icon-lx-home',
// index: '/supply/bid/joinProject/projectList',
// title: '我参与的项目',
// }
// }
// ]
// ]
// },
// },
...
@@ -178,11 +80,29 @@ export default {
...
@@ -178,11 +80,29 @@ export default {
// subs:[
// subs:[
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/buyOut/buyoutList',
// index: '/purchaser
/buyOut/buyoutList',
// title: '应收账款买断列表',
// title: '应收账款买断列表',
// }
// }
// ]
// ]
// },
// },
// {
// icon: 'el-icon-lx-cascades',
// title: '供应商管理',
// index:'4',
// subs:[
// {
// icon: 'el-icon-lx-home',
// index: '/purchaser/supply/allSupplyList',
// title: '供应商列表',
// },
// {
// icon: 'el-icon-lx-home',
// index: '/purchaser/supply/mySupplyList',
// title: '我的供应商',
// }
// ]
// },
// {
// {
// icon: 'el-icon-lx-copy',
// icon: 'el-icon-lx-copy',
// title: '组织管理',
// title: '组织管理',
...
@@ -190,17 +110,17 @@ export default {
...
@@ -190,17 +110,17 @@ export default {
// subs:[
// subs:[
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/organization/informationSee',
// index: '/purchaser
/organization/informationSee',
// title: '单位信息',
// title: '单位信息',
// },
// },
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/organization/memberManagement',
// index: '/purchaser
/organization/memberManagement',
// title: '成员管理',
// title: '成员管理',
// },
// },
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/organization/jurisdictionList',
// index: '/purchaser
/organization/jurisdictionList',
// title: '角色管理',
// title: '角色管理',
// }
// }
// ]
// ]
...
@@ -212,30 +132,109 @@ export default {
...
@@ -212,30 +132,109 @@ export default {
// subs:[
// subs:[
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/organization/jurisdictionList',
// index: '/purchaser
/organization/jurisdictionList',
// title: 'CA绑定与解除',
// title: 'CA绑定与解除',
// },
// },
// {
// {
// icon: 'el-icon-lx-home',
// icon: 'el-icon-lx-home',
// index: '/supply
/system/logList',
// index: '/purchaser
/system/logList',
// title: '日志列表',
// title: '日志列表',
// },
// },
// ]
// ]
// },
// {
// icon: 'el-icon-lx-cascades',
// title: '制作投标文件',
// index:'3',
// subs:[
// {
// icon: 'el-icon-lx-home',
// index: '/supply/markBid/markBid',
// title: '制作投标文件',
// }
// }
// ]
// ],
// },
// ]
// 供应商
items
:
[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/Home'
,
title
:
'首页'
},
{
icon
:
'el-icon-lx-home'
,
index
:
"2"
,
title
:
'招标管理'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/bid/signupOnline'
,
title
:
'在线报名'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/bid/joinProject/projectList'
,
title
:
'我参与的项目'
,
}
]
},
{
icon
:
'el-icon-lx-cascades'
,
title
:
'应收账款买断管理'
,
index
:
'3'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/buyOut/buyoutList'
,
title
:
'应收账款买断列表'
,
}
]
},
{
icon
:
'el-icon-lx-copy'
,
title
:
'组织管理'
,
index
:
'5'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/organization/informationSee'
,
title
:
'单位信息'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/organization/memberManagement'
,
title
:
'成员管理'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/organization/jurisdictionList'
,
title
:
'角色管理'
,
}
]
},
{
icon
:
'el-icon-lx-redpacket_fill'
,
title
:
'系统管理'
,
index
:
'6'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/organization/jurisdictionList'
,
title
:
'CA绑定与解除'
,
},
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/system/logList'
,
title
:
'日志列表'
,
},
]
},
{
icon
:
'el-icon-lx-cascades'
,
title
:
'制作投标文件'
,
index
:
'4'
,
subs
:[
{
icon
:
'el-icon-lx-home'
,
index
:
'/supply/markBid/markBid'
,
title
:
'制作投标文件'
,
}
]
},
]
};
};
},
},
computed
:
{
computed
:
{
...
...
src/pages/purchaser/bid/releaseProject/message.vue
View file @
38668a85
...
@@ -612,7 +612,7 @@ validator: checkPhone,
...
@@ -612,7 +612,7 @@ validator: checkPhone,
// }
// }
}
}
}
}
e
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
...
...
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
View file @
38668a85
...
@@ -8,14 +8,15 @@
...
@@ -8,14 +8,15 @@
<div>
若已购标请联系平台方审核,若未购标请及时购买,客服电话:400-6666-6666.
</div>
<div>
若已购标请联系平台方审核,若未购标请及时购买,客服电话:400-6666-6666.
</div>
</div>
</div>
<div
class=
"flex-arround info"
>
<div
class=
"flex-arround info"
>
<div>
项目标号:
ZBXM444444444
</div>
<div>
项目标号:
{{
projectCode
}}
</div>
<div>
项目名称:
大楼翻新
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
标书获取结束时间:2018-08-08 18:23
</div>
<div>
标书获取结束时间:2018-08-08 18:23
</div>
</div>
</div>
<dataTable
:table-data
=
"tabledata
"
:columns =
"columns"
:is-pageobj=
"false"
style=
"marginBottom:100px"
>
<dataTable
:table-data
=
"files
"
:columns =
"columns"
:is-pageobj=
"false"
style=
"marginBottom:100px"
>
<el-table-column
slot=
"operate"
label=
"操作"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label=
"操作"
fixed=
"right"
width=
"100"
>
<template
:slot-scope =
"scope"
>
<template
slot-scope =
"scope"
>
<el-button
type=
"text"
align=
"center"
>
下载
</el-button>
<el-button
type=
"text"
align=
"center"
v-if=
"scope.row.operation=='无权限'"
>
无权限
</el-button>
<el-button
type=
"text"
align=
"center"
@
click=
"isDown(scope.row.fileUrl)"
v-else
>
下载
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
@@ -24,7 +25,7 @@
...
@@ -24,7 +25,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
bidBooklist
}
from
'@api/supply/bid'
import
{
bidBooklist
,
downLoad
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
dataTable
from
'@components/nopageTable.vue'
import
changeNav
from
'@components/changeNav.vue'
import
changeNav
from
'@components/changeNav.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
...
@@ -37,15 +38,15 @@ export default {
...
@@ -37,15 +38,15 @@ export default {
data
()
{
data
()
{
return
{
return
{
navs
:
[
'标书费缴纳管理'
],
navs
:
[
'标书费缴纳管理'
],
tabledata
:
[],
files
:
[],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
columns
:
[{
columns
:
[{
label
:
'文件名称'
,
label
:
'文件名称'
,
prop
:
'
n
ame'
prop
:
'
fileN
ame'
},
},
{
{
label
:
'文件大小'
,
label
:
'文件大小'
,
prop
:
'
s
ize'
prop
:
'
fileS
ize'
},
},
{
{
label
:
'文件类型'
,
label
:
'文件类型'
,
...
@@ -56,13 +57,35 @@ export default {
...
@@ -56,13 +57,35 @@ export default {
prop
:
'price'
prop
:
'price'
},
{
},
{
slot
:
'operate'
slot
:
'operate'
}]
}],
projectName
:
""
,
projectCode
:
""
}
}
},
},
created
()
{
created
()
{
this
.
getbidBooklist
()
this
.
getbidBooklist
()
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
},
},
methods
:{
methods
:{
// 检测是否能下载
async
isDown
(
url
){
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
msg
,
code
}
=
await
downLoad
(
projectId
)
if
(
code
===
200
)
{
window
.
open
(
url
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 获取列表
async
getbidBooklist
()
{
async
getbidBooklist
()
{
try
{
try
{
let
message
=
{}
let
message
=
{}
...
@@ -73,7 +96,8 @@ export default {
...
@@ -73,7 +96,8 @@ export default {
code
code
}
=
await
bidBooklist
(
message
)
}
=
await
bidBooklist
(
message
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
tableData
=
data
console
.
log
(
data
)
this
.
files
=
data
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
...
...
src/pages/supply/bid/joinProject/bidStage/projectInformation.vue
View file @
38668a85
...
@@ -11,22 +11,22 @@
...
@@ -11,22 +11,22 @@
<div>
<div>
<div
class=
"describe"
>
基本信息
</div>
<div
class=
"describe"
>
基本信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div>
项目名称:
projectName
</div>
<div>
项目名称:
{{
projectdetail
.
projectName
}}
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
项目编号:
projectCode
</div>
<div>
项目编号:
{{
projectdetail
.
projectCode
}}
</div>
<div>
项目分类:
classify
</div>
<div>
项目分类:
{{
projectdetail
.
classify
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
采购单位:
purchaseAgent
</div>
<div>
采购单位:
{{
projectdetail
.
purchaseAgent
}}
</div>
<div>
项目归属行业:
industry
</div>
<div>
项目归属行业:
{{
projectdetail
.
industry
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
项目归属地区:
local
</div>
<div>
项目归属地区:
{{
projectdetail
.
local
}}
</div>
<div>
最小投标单位数:
minTender
</div>
<div>
最小投标单位数:
{{
projectdetail
.
minTender
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
招标联系人:
contacts
</div>
<div>
招标联系人:
{{
projectdetail
.
contacts
}}
</div>
<div>
联系方式:
contactsWay
</div>
<div>
联系方式:
{{
projectdetail
.
contactsWay
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -35,12 +35,12 @@
...
@@ -35,12 +35,12 @@
<div
class=
"describe"
>
标书费用信息
</div>
<div
class=
"describe"
>
标书费用信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
标书费结算账号:
account
</div>
<div>
标书费结算账号:
{{
projectdetail
.
account
}}
</div>
<div>
标书费结算开户行:
bank
</div>
<div>
标书费结算开户行:
{{
projectdetail
.
bank
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
标书费结算账户名:
accountName
</div>
<div>
标书费结算账户名:
{{
projectdetail
.
accountName
}}
</div>
<div>
标书费结算联系电话:
phone
</div>
<div>
标书费结算联系电话:
{{
projectdetail
.
phone
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -48,15 +48,15 @@
...
@@ -48,15 +48,15 @@
<div>
<div>
<div
class=
"describe"
>
保证金费用信息
</div>
<div
class=
"describe"
>
保证金费用信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div>
是否需要投标保证金:
isNeedEarnest
</div>
<div>
是否需要投标保证金:
{{
projectdetail
.
isNeedEarnest
}}
</div>
<div>
投标保证金金额:
money
</div>
<div>
投标保证金金额:
{{
projectdetail
.
money
}}
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
投标保证金结算账号:
account
</div>
<div>
投标保证金结算账号:
{{
projectdetail
.
account
}}
</div>
<div>
投标保证金结算开户行:
bank
</div>
<div>
投标保证金结算开户行:
{{
projectdetail
.
bank
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
投标保证金结算账户名:
accountName
</div>
<div>
投标保证金结算账户名:
{{
projectdetail
.
accountName
}}
</div>
<div>
投标保证金结算联系电话:
phone
</div>
<div>
投标保证金结算联系电话:
{{
projectdetail
.
phone
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -80,6 +80,7 @@
...
@@ -80,6 +80,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
projectdetail
,
timeInfo
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
dataTable
from
'@components/nopageTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
...
@@ -90,6 +91,7 @@ export default {
...
@@ -90,6 +91,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
projectdetail
:
""
,
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台 '
],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台 '
],
nav
:
[
'供应商'
],
nav
:
[
'供应商'
],
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
...
@@ -162,11 +164,22 @@ export default {
...
@@ -162,11 +164,22 @@ export default {
},
},
created
()
{
created
()
{
this
.
getprojectdetail
()
this
.
gettimeInfo
()
},
},
methods
:
{
methods
:
{
back
()
{
async
getprojectdetail
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
}
=
await
projectdetail
(
projectId
)
this
.
projectdetail
=
data
},
async
gettimeInfo
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
}
=
await
timeInfo
(
projectId
)
this
.
timeInfo
=
data
},
back
(){
this
.
$router
.
go
(
-
1
)
}
}
}
}
...
...
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
View file @
38668a85
...
@@ -13,28 +13,28 @@
...
@@ -13,28 +13,28 @@
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div>
<div>
<el-form-item
label=
"单位名称"
prop=
"companyName"
>
<el-form-item
label=
"单位名称"
prop=
"companyName"
>
<el-input
v-model=
"ruleForm.companyName"
disabled
></el-input>
<el-input
v-model
.
trim
=
"ruleForm.companyName"
disabled
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"联系人:"
prop=
"projectCode"
>
<el-form-item
label=
"联系人:"
prop=
"projectCode"
>
<el-input
v-model
=
"ruleForm.projectCode"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.projectCode"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"固定电话:"
prop=
"companyTel"
>
<el-form-item
label=
"固定电话:"
prop=
"companyTel"
>
<el-input
v-model
=
"ruleForm.companyTel"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.companyTel"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"手机:"
prop=
"companyPhone"
>
<el-form-item
label=
"手机:"
prop=
"companyPhone"
>
<el-input
v-model
=
"ruleForm.companyPhone"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.companyPhone"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"传真:"
prop=
"companyFacsimile"
>
<el-form-item
label=
"传真:"
prop=
"companyFacsimile"
>
<el-input
v-model
=
"ruleForm.companyFacsimile"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.companyFacsimile"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮箱:"
prop=
"companyEmail"
>
<el-form-item
label=
"邮箱:"
prop=
"companyEmail"
>
<el-input
v-model
=
"ruleForm.companyEmail"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.companyEmail"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
...
@@ -44,23 +44,23 @@
...
@@ -44,23 +44,23 @@
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"收件人名称:"
>
<el-form-item
label=
"收件人名称:"
>
<el-input
v-model
=
"ruleForm.recipientsName"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsName"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"收件人单位:"
>
<el-form-item
label=
"收件人单位:"
>
<el-input
v-model
=
"ruleForm.recipientsCompany"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsCompany"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"联系方式:"
>
<el-form-item
label=
"联系方式:"
>
<el-input
v-model
=
"ruleForm.recipientsPhone"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsPhone"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮政编码:"
>
<el-form-item
label=
"邮政编码:"
>
<el-input
v-model
=
"ruleForm.recipientsMail"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsMail"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮寄地址:"
>
<el-form-item
label=
"邮寄地址:"
>
<el-input
v-model
=
"ruleForm.recipientsAddress "
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsAddress "
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
...
@@ -78,23 +78,23 @@
...
@@ -78,23 +78,23 @@
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发票抬头:"
prop=
"invoiceHead"
>
<el-form-item
label=
"发票抬头:"
prop=
"invoiceHead"
>
<el-input
v-model
=
"ruleForm.invoiceHead"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.invoiceHead"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"纳税人识别号:"
prop=
"invoiceTaxNumber "
>
<el-form-item
label=
"纳税人识别号:"
prop=
"invoiceTaxNumber "
>
<el-input
v-model
=
"ruleForm.invoiceTaxNumber "
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.invoiceTaxNumber "
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"地址:"
prop=
"invoiceAddress"
>
<el-form-item
label=
"地址:"
prop=
"invoiceAddress"
>
<el-input
v-model
=
"ruleForm.invoiceAddress"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.invoiceAddress"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"电话:"
prop=
"invoiceTel"
>
<el-form-item
label=
"电话:"
prop=
"invoiceTel"
>
<el-input
v-model
=
"ruleForm.invoiceTel"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.invoiceTel"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"开户行及账号:"
prop=
"invoiceAccount"
>
<el-form-item
label=
"开户行及账号:"
prop=
"invoiceAccount"
>
<el-input
v-model
=
"ruleForm.invoiceAccount"
placeholder=
"请输入
"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.invoiceAccount"
placeholder=
"请输入"
maxlength=
"30
"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
...
@@ -107,7 +107,7 @@
...
@@ -107,7 +107,7 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
:rows=
"5"
v-model
=
"ruleForm.remark"
type=
"textarea"
placeholder=
"请输入内容
"
>
<el-input
:rows=
"5"
v-model
.
trim=
"ruleForm.remark"
type=
"textarea"
placeholder=
"请输入内容"
maxlength=
"300
"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherUrl"
>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherUrl"
>
...
@@ -227,8 +227,8 @@
...
@@ -227,8 +227,8 @@
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
if
(
valid
)
{
let
message
=
this
.
ruleForm
let
message
=
this
.
ruleForm
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
),
message
.
companyId
=
window
.
localStorage
.
getItem
(
"companyId"
),
message
.
projectId
=
localstorage
.
getitem
(
"projectId"
)
message
.
projectId
=
window
.
localstorage
.
getitem
(
"projectId"
)
const
{
const
{
code
,
code
,
msg
msg
...
@@ -242,6 +242,9 @@
...
@@ -242,6 +242,9 @@
}
}
}
}
},
},
created
()
{
this
.
ruleForm
.
companyName
=
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
companyName
}
}
}
</
script
>
</
script
>
...
...
src/pages/supply/bid/joinProject/projectList.vue
View file @
38668a85
<
template
>
<
template
>
<div>
<div>
<div
class=
"content"
>
<div
class=
"content"
>
<dataTable
:columns =
"columns"
:breads =
"breads"
:checklist =
"checklist"
:page-obj =
"pageobj"
:margin-top=
"100"
url=
"/bidder/project/list"
>
<dataTable
:columns =
"columns"
:breads =
"breads"
:checklist =
"checklist"
:page-obj =
"pageobj"
:margin-top=
"100"
url=
"/bidder/project/takePart/list"
>
<el-table-column
slot=
"operate"
label =
"项目类型"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
type
==
1
?
"公开招标"
:
"邀请招标"
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
align=
"center"
label=
"项目状态"
flexd=
"right"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<div>
{{
totalMarks
(
scope
.
row
.
status
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label =
"操作"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label =
"操作"
fixed=
"right"
width=
"100"
>
<template
:slot-scope =
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type =
"text"
size =
"small "
@
click
=
"send(scope.row
)"
>
工作台
</el-button>
<el-button
type =
"text"
size =
"small "
@
click
=
"send(scope.row.projectId
)"
>
工作台
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
@@ -13,6 +23,7 @@
...
@@ -13,6 +23,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
projectStatusList
}
from
'@api/common/list'
import
dataTable
from
'@components/dataTable.vue'
import
dataTable
from
'@components/dataTable.vue'
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -29,56 +40,43 @@ export default {
...
@@ -29,56 +40,43 @@ export default {
}
}
},
},
//表格第一行
//表格第一行
columns
:
[{
columns
:
[
{
label
:
'项目编号'
,
label
:
'项目编号'
,
prop
:
'
c
ode'
prop
:
'
projectC
ode'
},
},
{
{
label
:
'项目名称'
,
label
:
'项目名称'
,
prop
:
'
n
ame'
prop
:
'
projectN
ame'
},
},
{
{
label
:
'采购商'
,
label
:
'采购商'
,
prop
:
'purchaser'
prop
:
'companyName'
},
{
label
:
'项目类型'
,
prop
:
'type'
},
},
{
{
label
:
'投标截止时间'
,
label
:
'投标截止时间'
,
prop
:
'
dat
e'
prop
:
'
endTim
e'
},
},
{
{
label
:
'项目状态'
,
prop
:
'state'
},
{
slot
:
'operate'
slot
:
'operate'
}],
}],
checklist
:
[{
checklist
:
[{
title
:
'采购商:'
,
title
:
'采购商:'
,
type
:
'input'
,
type
:
'input'
,
model
:
'
purchaser
'
model
:
'
companyName
'
},
},
{
{
title
:
'项目名称:'
,
title
:
'项目名称:'
,
type
:
'input'
,
type
:
'input'
,
model
:
'
n
ame'
model
:
'
projectN
ame'
},
},
{
{
title
:
'状态'
,
title
:
'状态'
,
type
:
'select'
,
type
:
'select'
,
selectlist
:
[{
selectlist
:
[],
value
:
'1'
,
label
:
'售标&投标阶段'
},
{
value
:
'2'
,
label
:
'投标阶段'
}
],
change
:
row
=>
''
,
change
:
row
=>
''
,
model
:
'stat
e
'
model
:
'stat
us
'
},
},
{
{
title
:
'项目类型'
,
title
:
'项目类型'
,
...
@@ -100,9 +98,28 @@ export default {
...
@@ -100,9 +98,28 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
send
()
{
totalMarks
:
function
(
status
)
{
console
.
log
(
row
.
url
)
let
value
=
this
.
map
.
get
(
status
)
return
value
},
send
(
projectId
)
{
this
.
$router
.
push
(
"/supply/bid/joinProject/workbench"
)
localStorage
.
setItem
(
"projectId"
,
projectId
)
},
async
getprojectStatusList
(){
const
data
=
await
projectStatusList
()
this
.
map
=
new
Map
();
for
(
let
item
of
data
){
item
.
value
=
item
.
id
;
item
.
label
=
item
.
name
this
.
map
.
set
(
item
.
id
,
item
.
name
)
}
}
this
.
checklist
[
2
].
selectlist
=
data
},
},
created
(){
this
.
getprojectStatusList
();
this
.
pageobj
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
}
}
}
}
</
script
>
</
script
>
...
...
src/pages/supply/bid/joinProject/workbench.vue
0 → 100644
View file @
38668a85
<
template
>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<h1>
项目状态:项目待审核
</h1>
<div
class=
"flex state"
>
<ul
class=
"flex-left"
>
<li
v-for=
"(item,index) in states"
:key=
"index"
class=
"flex"
>
<div>
{{
item
.
title
}}
</div>
<ul
class=
"inside flex"
>
<li
v-for=
"(mods,index) in item.modulars"
:key=
"index"
class=
"flex-center"
>
<!--
<div
:class=
"[mods=='项目信息'||mods=='项目终止'?'active':'']"
>
{{
mods
}}
</div>
-->
<div
class=
"active"
@
click=
"jump(mods.label,mods.url)"
>
{{
mods
.
label
}}
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</
template
>
<
script
>
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
changeNav
from
'@components/changeNav.vue'
export
default
{
components
:
{
dataBreadcrumb
,
changeNav
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'我参与的项目 '
,
'工作台'
],
navs
:
[
'工作台'
],
states
:
[{
title
:
'公告'
,
modulars
:[{
label
:
"变更公告管理"
,
url
:
"/supply/bid/joinProject/bidStage/changeList"
},
{
label
:
"流标公告管理"
,
url
:
"/supply/bid/joinProject/bidStage/failList"
}]
},
{
title
:
'招标'
,
modulars
:[
{
label
:
"查看询价公告"
,
url
:
"/supply/bid/signupOnline/seePrice"
},
{
label
:
"查看招标公告"
,
url
:
"/supply/bid/signupOnline/seeAnnouncement"
},
{
label
:
"招标文件下载"
,
url
:
"/supply/bid/joinProject/bidStage/fileDownload"
},
{
label
:
"招标文件澄清管理"
,
url
:
"/supply/bid/joinProject/bidStage/clearManagement"
}]
},
// 下面的没配置
{
title
:
'投标'
,
modulars
:
[{
label
:
"递交投标文件"
,
url
:
"/supply/bid/bidStage/tenderInformationlist"
}]
},
{
title
:
'开标'
,
modulars
:
[
{
label
:
"参与开标"
,
url
:
"/supply/bid/bidOpen/bidOpenhal"
}]
},
{
title
:
'评标'
,
modulars
:
[{
label
:
"评标问题澄清"
,
url
:
"/supply/bid/bidSure/see"
}]
},
{
title
:
'定标'
,
modulars
:
[{
label
:
"确定中标人"
,
url
:
"/supply/bid/bidSure/determine"
},
{
label
:
"重新确定中标人"
,
url
:
"/supply/bid/bidSure/determine"
},
{
label
:
"中标候选人公示"
,
url
:
"/supply/bid/bidSure/publicity"
},
{
label
:
"中标公告"
,
url
:
"/supply/bid/bidSure/notice"
},
{
label
:
"中标通知书处理"
,
url
:
"/supply/bid/bidSure/winBid/list"
},
{
label
:
"合同管理"
,
url
:
"/supply/bid/bidSure/contract"
}]
},
{
title
:
'费用'
,
modulars
:
[{
label
:
"标书费缴纳管理"
,
url
:
"/supply/bid/bidStage/tenderFeelist"
},
{
label
:
"保证金缴纳管理"
,
url
:
"/supply/bid/bidStage/bondList"
}]
},
]
}
},
methods
:
{
async
jump
(
label
,
url
){
console
.
log
(
label
,
url
)
if
(
label
==
"项目终止"
){
this
.
$confirm
(
'确定要终止吗?'
,
'提示'
,
{
type
:
'warning'
})
.
then
(()
=>
{
this
.
$message
.
success
(
'终止成功'
)
})
.
catch
(()
=>
{})
}
else
{
this
.
$router
.
push
(
url
)
}
}
}
}
</
script
>
<
style
scoped
>
.state
{
margin-top
:
30px
;
margin-left
:
50px
;
}
.flex-left
>
li
{
font-weight
:
bold
;
font-size
:
20px
;
height
:
50px
;
line-height
:
50px
;
}
.flex-left
>
li
>
div
{
margin-right
:
50px
;
padding-right
:
30px
;
border-right
:
1px
solid
#000
;
}
.inside
>
li
>
div
{
padding
:
0
10px
;
background
:
#ccc
;
color
:
#ffff
;
font-size
:
14px
;
margin-right
:
30px
;
border-radius
:
2px
;
line-height
:
30px
;
height
:
30px
;
}
.inside
>
li
>
.active
{
background
:
#2288EE
}
</
style
>
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
View file @
38668a85
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
<el-button>
<el-button>
<a
href=
"/Online_registration"
>
返回
</a>
<a
href=
"/Online_registration"
>
返回
</a>
</el-button>
</el-button>
<el-button
type=
"primary"
>
报名
</el-button>
<el-button
type=
"primary"
@
click=
"signup"
>
报名
</el-button>
</el-row>
</el-row>
</div>
</div>
</div>
</div>
...
@@ -145,13 +145,19 @@ export default {
...
@@ -145,13 +145,19 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
]
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
id
:
""
}
}
},
},
created
()
{
created
()
{
this
.
getBiddingDetail
();
this
.
getBiddingDetail
();
this
.
id
=
this
.
$route
.
query
.
id
},
},
methods
:{
methods
:{
signup
(){
let
id
=
this
.
id
this
.
$router
.
push
(
`/supply/bid/signupOnline/SignUp?id=
${
id
}
`
)
},
async
getBiddingDetail
()
{
async
getBiddingDetail
()
{
try
{
try
{
const
{
const
{
...
...
src/pages/supply/bid/signupOnline/seePrice.vue
View file @
38668a85
<
template
>
<
template
>
<div
>
<div
>
<div
class=
"home"
>
<div
class=
"home"
>
<breadCrumb
:breads =
"breads"
></breadCrumb>
<breadCrumb
:breads=
"breads"
></breadCrumb>
<h1>
苍南县公安局关于督查视频服务器5台在线询价公告
</h1>
<h1>
苍南县公安局关于督查视频服务器5台在线询价公告
</h1>
<div
class=
"flex-center"
>
<div
class=
"flex-center"
>
<h6
style=
"margin-right:60px;margin-top:30px"
>
询价所在地:苍南县
</h6>
<h6
style=
"margin-right:60px;margin-top:30px"
>
询价所在地:苍南县
</h6>
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
<div>
成交规则及确认方式
</div>
<div>
成交规则及确认方式
</div>
<div>
自动成交
</div>
<div>
自动成交
</div>
</div>
</div>
<h3
>
供应商要求
</h3>
<h3
>
供应商要求
</h3>
<div
class=
"appendix "
>
<div
class=
"appendix "
>
<div>
供应商规模要求
</div>
<div>
供应商规模要求
</div>
<div>
阿里巴巴
</div>
<div>
阿里巴巴
</div>
...
@@ -57,9 +57,9 @@
...
@@ -57,9 +57,9 @@
<div>
浙江省
</div>
<div>
浙江省
</div>
</div>
</div>
<h3>
询价商品清单
</h3>
<h3>
询价商品清单
</h3>
<dataTable
:table-data=
"tabledata"
:columns =
"columns"
></dataTable>
<dataTable
:table-data=
"tabledata"
:columns=
"columns"
></dataTable>
<div
class=
"appendix list pos"
>
<div
class=
"appendix list pos"
>
<div
>
附件
</div>
<div
>
附件
</div>
<div>
IMG_0208.jpg
</div>
<!-- 此处放文件 -->
<div>
IMG_0208.jpg
</div>
<!-- 此处放文件 -->
</div>
</div>
<h3>
商务要求
</h3>
<h3>
商务要求
</h3>
...
@@ -81,89 +81,61 @@
...
@@ -81,89 +81,61 @@
</div>
</div>
</div>
</div>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"报价"
>
<!-- 报价弹窗 -->
<dataTable
:table-data=
"tabledata"
:columns =
"columns"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"报价"
width=
"60%"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<dataTable
:table-data=
"commoditylist"
:columns=
"commoditycolumns"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"see(scope.row)"
>
查看中标公告
</el-button
>
<el-input-number
v-model=
"scope.row.cost"
:min=
"0"
:controls=
"false"
:precision=
"2"
style=
"width:100px"
></el-input-number
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
提交报价
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交报价
</el-button>
</div>
</el-dialog>
<!-- 报价供应商情况 -->
<el-dialog
:visible
.
sync=
"offerBidder"
title=
"报价供应商情况"
>
<dataTable
:table-data=
"offerBidderlist"
:columns=
"offerBiddercolumns"
:is-index=
"true"
>
</dataTable>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"offerBidder = false"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
noticeEnquiry
}
from
'@api/supply/bid'
import
{
import
dataTable
from
'@components/nopageTable.vue'
noticeEnquiry
,
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
commoditylist
,
export
default
{
offerBidderlist
,
offerPrice
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
components
:
{
dataTable
,
dataTable
,
breadCrumb
breadCrumb
},
},
data
()
{
data
()
{
return
{
return
{
offerBidderlist
:[],
offerBidder
:
false
,
columns
:
[],
tabledata
:
[],
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
breads
:
[
'投标管理 '
,
'在线报名'
,
'询价公告'
],
breads
:
[
'投标管理 '
,
'在线报名'
,
'询价公告'
],
tabledata
:
[{
commoditylist
:
[],
name
:
'大白菜'
,
commoditycolumns
:
[{
acount
:
'100'
,
unit
:
'斤'
,
brand
:
'天然'
,
size
:
'周杰伦'
,
price
:
'100'
,
remarks
:
'无'
,
quote
:
'100.00'
},
{
name
:
'大白菜'
,
acount
:
'100'
,
unit
:
'斤'
,
brand
:
'天然'
,
size
:
'周杰伦'
,
price
:
'100'
,
remarks
:
'无'
,
quote
:
'100.00'
},
{
name
:
'大白菜'
,
acount
:
'100'
,
unit
:
'斤'
,
brand
:
'天然'
,
size
:
'周杰伦'
,
price
:
'100'
,
remarks
:
'无'
,
quote
:
'100.00'
},
{
name
:
'大白菜'
,
acount
:
'100'
,
unit
:
'斤'
,
brand
:
'天然'
,
size
:
'周杰伦'
,
price
:
'100'
,
remarks
:
'无'
,
quote
:
'100.00'
},
{
name
:
'大白菜'
,
acount
:
'100'
,
unit
:
'斤'
,
brand
:
'天然'
,
size
:
'周杰伦'
,
price
:
'100'
,
remarks
:
'无'
,
quote
:
'100.00'
}],
columns
:
[{
label
:
'标的名称'
,
label
:
'标的名称'
,
prop
:
'n
ame'
prop
:
'bidN
ame'
},
},
{
{
label
:
'数量'
,
label
:
'数量'
,
prop
:
'acount
'
prop
:
'quantity
'
},
{
},
{
label
:
'计量单位'
,
label
:
'计量单位'
,
prop
:
'unit'
prop
:
'unit'
...
@@ -172,154 +144,237 @@ export default {
...
@@ -172,154 +144,237 @@ export default {
prop
:
'brand'
prop
:
'brand'
},
{
},
{
label
:
'规格型号'
,
label
:
'规格型号'
,
prop
:
'size
'
prop
:
'specification
'
},
{
},
{
label
:
'标杆价'
,
label
:
'标杆价'
,
prop
:
'price'
prop
:
'price'
},
{
},
{
label
:
'备注'
,
label
:
'备注'
,
prop
:
'remarks
'
prop
:
'remark
'
},
{
},
{
label
:
'我的报价(元)'
,
slot
:
'operate'
prop
:
'quote'
}
}]
],
offerBiddercolumns
:
[{
label
:
'供应商名称'
,
prop
:
'companyName'
},
{
label
:
'报价时间'
,
prop
:
'updateTime'
}
]
}
}
},
},
methods
:
{
methods
:
{
Prev
()
{
Prev
()
{
this
.
$router
.
push
(
'/supply/Join_items/work_place/all_content'
)
this
.
$router
.
push
(
'/supply/Join_items/work_place/all_content'
)
},
},
async
getNoticeEnquiry
()
{
async
getNoticeEnquiry
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
const
{
data
,
data
,
code
code
}
=
await
noticeEnquiry
(
1
)
}
=
await
noticeEnquiry
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
tableData
=
data
this
.
tableData
=
data
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
}
}
},
// 查看询价公告里的商品报价列表
async
getcommoditylist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
}
=
await
commoditylist
(
projectId
)
for
(
let
item
of
data
)
{
item
.
cost
=
0
}
this
.
commoditylist
=
data
},
// 参与报价的供应商的情况
async
getofferBidderlist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
}
=
await
offerBidderlist
(
projectId
)
this
.
offerBidderlist
=
data
},
//报价
async
submitData
()
{
try
{
let
message
=
{}
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
commodityList
=
this
.
commoditylist
.
map
((
item
,
index
)
=>
{
return
{
id
:
item
.
id
,
cost
:
item
.
cost
}
})
message
.
commodityList
=
commodityList
const
{
msg
,
code
}
=
await
offerPrice
(
message
)
if
(
code
==
200
){
this
.
$message
.
success
(
msg
)
this
.
dialogFormVisible
=
false
this
.
offerBidder
=
true
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
},
},
created
()
{
created
()
{
this
.
getNoticeEnquiry
();
this
.
getNoticeEnquiry
();
this
.
getcommoditylist
();
this
.
getofferBidderlist
();
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.Tips
{
.Tips
{
color
:
#409EFF
color
:
#409EFF
}
}
.notice
>
h4
{
.notice
>
h4
{
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-right
:
30px
;
margin-right
:
30px
;
}
}
.notice
{
margin
:
20px
0
;
.notice
{
margin
:
20px
0
;
border-bottom
:
1px
solid
#ccc
;
border-bottom
:
1px
solid
#ccc
;
}
}
h2
{
h2
{
/* margin-top:; */
/* margin-top:; */
margin-bottom
:
10px
;
margin-bottom
:
10px
;
}
}
h6
{
margin-bottom
:
10px
;
h6
{
margin-bottom
:
10px
;
}
.home
{
}
padding
:
30px
;
.home
{
padding
:
30px
;
background
:
#fff
;
background
:
#fff
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
/* margin-left:20px; */
/* margin-left:20px; */
}
}
h1
{
h1
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
.form
{
padding
:
20px
;
.form
{
padding
:
20px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.form
h3
{
margin-top
:
20px
;
.form
h3
{
margin-bottom
:
20px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
/* table>tr{
/* table>tr{
text-align: center;
text-align: center;
} */
} */
table
{
table
{
border-collapse
:
collapse
;
border-collapse
:
collapse
;
}
}
table
>
tr
>
td
{
table
>
tr
>
td
{
font-size
:
16px
;
font-size
:
16px
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
padding-left
:
10px
;
padding-left
:
10px
;
}
}
table
>
tr
>
td
:nth-child
(
odd
)
{
table
>
tr
>
td
:nth-child
(
odd
)
{
background
:
#F0F0F0
background
:
#F0F0F0
}
}
.right-s
{
padding-right
:
200px
;
.right-s
{
}
padding-right
:
200px
;
.appendix
{
}
.appendix
{
display
:
flex
;
display
:
flex
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
}
}
.appendix
>
div
:first-child
{
width
:
159px
;
.appendix
>
div
:first-child
{
width
:
159px
;
border-right
:
1px
solid
#ccc
;
box-sizing
:
border-box
;
border-right
:
1px
solid
#ccc
;
padding-left
:
10px
;
box-sizing
:
border-box
;
}
padding-left
:
10px
;
.appendix
>
div
:last-child
{
}
padding-left
:
10px
;
}
.appendix
>
div
:last-child
{
.appendix
>
div
:nth-child
(
odd
)
{
padding-left
:
10px
;
}
.appendix
>
div
:nth-child
(
odd
)
{
background
:
#F0F0F0
background
:
#F0F0F0
}
}
.appendix
>
div
{
font-size
:
16px
;
.appendix
>
div
{
font-size
:
16px
;
line-height
:
40px
;
line-height
:
40px
;
}
}
.list
>
:first-child
{
height
:
120px
;
.list
>
:first-child
{
height
:
120px
;
line-height
:
120px
;
line-height
:
120px
;
}
}
.list
{
.list
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.bus-require
>
div
:first-child
{
width
:
400px
;
.bus-require
>
div
:first-child
{
}
width
:
400px
;
.bus-require
>
div
:last-child
{
}
.bus-require
>
div
:last-child
{
font-size
:
10px
;
font-size
:
10px
;
}
}
.pos
>
div
:first-child
{
.pos
>
div
:first-child
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
.last-pos
{
.last-pos
{
margin-left
:
40px
;
margin-left
:
40px
;
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.last-pos
>
div
:first-child
{
width
:
65px
;
.last-pos
>
div
:first-child
{
}
width
:
65px
;
input
{
}
width
:
100%
;
height
:
70px
;
input
{
}
width
:
100%
;
.button
{
height
:
70px
;
width
:
100px
;
}
margin
:
50px
auto
}
.button
{
width
:
100px
;
margin
:
50px
auto
}
</
style
>
</
style
>
src/pages/supply/bid/signupOnline/signUp.vue
View file @
38668a85
...
@@ -97,7 +97,7 @@
...
@@ -97,7 +97,7 @@
},
},
methods
:
{
methods
:
{
cancel
()
{
cancel
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
push
(
"/supply/bid/joinProject/projectList"
)
},
},
// 提交
// 提交
async
sendTo
()
{
async
sendTo
()
{
...
...
src/pages/supply/bid/signupOnline/signupList.vue
View file @
38668a85
...
@@ -71,13 +71,13 @@ export default {
...
@@ -71,13 +71,13 @@ export default {
let
value
=
this
.
map
.
get
(
status
)
let
value
=
this
.
map
.
get
(
status
)
return
value
return
value
},
},
// 获取状态
async
getprojectStatusList
(){
async
getprojectStatusList
(){
const
data
=
await
projectStatusList
()
const
data
=
await
projectStatusList
()
this
.
map
=
new
Map
();
this
.
map
=
new
Map
();
for
(
let
item
of
data
){
for
(
let
item
of
data
){
this
.
map
.
set
(
item
.
id
,
item
.
name
)
this
.
map
.
set
(
item
.
id
,
item
.
name
)
}
}
console
.
log
(
this
.
map
.
get
(
"PROJECT_AUDIT_NEED_MODIFY"
))
},
},
handlesee
(
row
)
{
handlesee
(
row
)
{
this
.
$router
.
push
(
`/supply/bid/signupOnline/seeAnnouncement?id=
${
row
.
projectId
}
`
)
this
.
$router
.
push
(
`/supply/bid/signupOnline/seeAnnouncement?id=
${
row
.
projectId
}
`
)
...
...
src/router/index.js
View file @
38668a85
...
@@ -603,6 +603,11 @@ export default new Router({
...
@@ -603,6 +603,11 @@ export default new Router({
show
:
true
,
show
:
true
,
component
:
()
=>
import
(
'../pages/supply/bid/joinProject/seeInvitation.vue'
)
component
:
()
=>
import
(
'../pages/supply/bid/joinProject/seeInvitation.vue'
)
},
},
{
path
:
'/supply/bid/joinProject/workbench'
,
show
:
true
,
component
:
()
=>
import
(
'../pages/supply/bid/joinProject/workbench.vue'
)
},
{
{
path
:
'/supply/bid/joinProject/bidStage/seePrice'
,
path
:
'/supply/bid/joinProject/bidStage/seePrice'
,
show
:
true
,
show
:
true
,
...
...
src/utils/request.js
View file @
38668a85
...
@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
...
@@ -5,8 +5,8 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例
// 创建axios实例
const
service
=
axios
.
create
({
const
service
=
axios
.
create
({
baseURL
:
'http://192.168.200.201:8082/apis'
,
//
baseURL: 'http://192.168.200.201:8082/apis',
//
baseURL: 'http://192.168.3.35:8085/apis',
baseURL
:
'http://192.168.3.35:8085/apis'
,
timeout
:
35000
// 请求超时时间
timeout
:
35000
// 请求超时时间
})
})
...
...
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