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
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
398 additions
and
97 deletions
+398
-97
bid.js
src/api/supply/bid.js
+54
-5
Sidebar.vue
src/components/common/Sidebar.vue
+0
-0
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
+36
-23
tenderFee.vue
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
+22
-19
projectList.vue
src/pages/supply/bid/joinProject/projectList.vue
+49
-32
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
+0
-0
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
This diff is collapsed.
Click to expand it.
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,12 +164,23 @@ export default {
...
@@ -162,12 +164,23 @@ 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"
>
<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>
<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"
>
<
template
slot-scope=
"scope"
>
<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
This diff is collapsed.
Click to expand it.
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