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
18cebfd0
Commit
18cebfd0
authored
Sep 15, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
9.15
parent
dd7776de
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1080 additions
and
525 deletions
+1080
-525
bid.js
src/api/supply/bid.js
+42
-0
Header.vue
src/components/common/Header.vue
+2
-1
home.vue
src/pages/purchaser/home/home.vue
+1
-1
bond.vue
src/pages/supply/bid/joinProject/bidStage/bond.vue
+185
-136
changeList.vue
...supply/bid/joinProject/bidStage/changeList/changeList.vue
+61
-57
see.vue
src/pages/supply/bid/joinProject/bidStage/changeList/see.vue
+90
-2
clearManagement.vue
.../joinProject/bidStage/clearManagement/clearManagement.vue
+32
-22
failList.vue
...ges/supply/bid/joinProject/bidStage/failList/failList.vue
+119
-2
see.vue
src/pages/supply/bid/joinProject/bidStage/failList/see.vue
+119
-2
fileDownload.vue
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
+23
-26
tenderFee.vue
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
+247
-167
seePrice.vue
src/pages/supply/bid/signupOnline/seePrice.vue
+18
-4
signUp.vue
src/pages/supply/bid/signupOnline/signUp.vue
+133
-99
request.js
src/utils/request.js
+8
-6
No files found.
src/api/supply/bid.js
View file @
18cebfd0
...
@@ -18,4 +18,45 @@ export function projectapply(data) {
...
@@ -18,4 +18,45 @@ export function projectapply(data) {
})
})
}
}
// 查看询价公告
export
function
noticeEnquiry
(
id
)
{
return
request
({
url
:
`notice/enquiry/
${
id
}
`
,
method
:
'get'
,
})
}
// 招标文件下载
export
function
bidBooklist
(
params
)
{
return
request
({
url
:
"bidder/project/bidBook/list"
,
method
:
'get'
,
params
:
params
})
}
// 标书费缴纳
export
function
bidBookpayment
(
data
)
{
return
request
({
url
:
"/bidder/project/bidBook/payment"
,
method
:
'post'
,
data
:
data
})
}
// 保证金缴纳
export
function
bidderEarnestpayment
(
data
)
{
return
request
({
url
:
"/bidder-earnest/payment"
,
method
:
'post'
,
data
:
data
})
}
// 查看某个澄清的 投标方列表
// export function bidClarifies(params) {
// return request({
// url: '/clarifies/bid-clarifies/list',
// method: 'get',
// params: params
// })
// }
\ No newline at end of file
src/components/common/Header.vue
View file @
18cebfd0
...
@@ -59,7 +59,8 @@ export default {
...
@@ -59,7 +59,8 @@ export default {
},
},
methods
:
{
methods
:
{
join
(){
join
(){
window
.
location
.
href
=
"http://192.168.200.201:8081/"
// window.location.href="http://192.168.200.201:8081/"
window
.
location
.
href
=
" http://localhost:3000/"
},
},
// 用户名下拉菜单选择事件
// 用户名下拉菜单选择事件
handleCommand
(
command
)
{
handleCommand
(
command
)
{
...
...
src/pages/purchaser/home/home.vue
View file @
18cebfd0
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<
script
>
<
script
>
import
{
getSearchString
}
from
'@utils/common'
import
{
getSearchString
}
from
'@utils/common'
import
dataTable
from
'@components/
data
Table.vue'
import
dataTable
from
'@components/
nopage
Table.vue'
export
default
{
export
default
{
components
:
{
components
:
{
dataTable
dataTable
...
...
src/pages/supply/bid/joinProject/bidStage/bond.vue
View file @
18cebfd0
<
template
>
<
template
>
<div>
<div>
<div
class=
"content-head"
>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
提交
</h3>
<h3>
提交
</h3>
<h5>
提交保证金缴纳信息
</h5>
<h5>
提交保证金缴纳信息
</h5>
</div>
</div>
<div
class=
"othercontent"
>
<div
class=
"othercontent"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"formrules"
label-width=
"200px"
class=
"demo-ruleForm"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"formrules"
label-width=
"200px"
class=
"demo-ruleForm"
>
<div
class=
"message"
>
<div
class=
"message"
>
<div>
<div>
<div
class=
"describe"
>
单位信息
</div>
<div
class=
"describe"
>
单位信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div>
<div>
<el-form-item
label=
"单位名称"
prop=
"projectName"
>
<el-form-item
label=
"单位名称"
prop=
"companyName"
>
<el-input
v-model=
"ruleForm.projectName"
disabled
></el-input>
<el-input
v-model=
"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=
"ruleForm.projectCode"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"固定电话:"
prop=
"classify"
>
<el-form-item
label=
"固定电话:"
prop=
"companyTel"
>
<el-input
v-model=
"ruleForm.classify"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyTel"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"手机:"
prop=
"purchaseAgent"
>
<el-form-item
label=
"手机:"
prop=
"companyPhone"
>
<el-input
v-model=
"ruleForm.purchaseAgent"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyPhone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"传真:"
prop=
"industry"
>
<el-form-item
label=
"传真:"
prop=
"companyFacsimile"
>
<el-input
v-model=
"ruleForm.industry"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyFacsimile"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮箱:"
prop=
"industry"
>
<el-form-item
label=
"邮箱:"
prop=
"companyEmail"
>
<el-input
v-model=
"ruleForm.industry"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyEmail"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div
class=
"describe"
>
邮寄信息
</div>
<div
class=
"describe"
>
邮寄信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"收件人名称:"
prop=
"account"
>
<el-form-item
label=
"收件人名称:"
>
<el-input
v-model=
"ruleForm.account"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsName"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"收件人单位:"
prop=
"bank"
>
<el-form-item
label=
"收件人单位:"
>
<el-input
v-model=
"ruleForm.bank"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsCompany"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"联系方式:"
prop=
"accountName"
>
<el-form-item
label=
"联系方式:"
>
<el-input
v-model=
"ruleForm.accountName"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsPhone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮政编码:"
prop=
"phone"
>
<el-form-item
label=
"邮政编码:"
>
<el-input
v-model=
"ruleForm.phone"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsMail"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮寄地址:"
prop=
"phone"
>
<el-form-item
label=
"邮寄地址:"
>
<el-input
v-model=
"ruleForm.phone"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsAddress "
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div
class=
"describe"
>
缴费信息
</div>
<div>
<div
class=
"message-form"
>
<div
class=
"describe"
>
缴费信息
</div>
<el-form-item
label=
"付款方式:"
prop=
"feeWay"
>
<div
class=
"message-form"
>
<el-input
v-model=
"ruleForm.feeWay"
placeholder=
"请输入"
>
<el-form-item
label=
"付款方式:"
prop=
"content"
>
</el-input>
<el-input
:rows=
"5"
v-model=
"ruleForm.content"
prop=
"content"
placeholder=
"请输入"
>
</el-form-item>
</el-input>
<el-form-item
label=
"备注:"
prop=
"remark"
>
</el-form-item>
<el-input
:rows=
"5"
v-model=
"ruleForm.remark"
type=
"textarea"
placeholder=
"请输入内容"
>
<el-form-item
label=
"备注:"
prop=
"content"
>
</el-input>
<el-input
:rows=
"5"
v-model=
"ruleForm.content"
type=
"textarea"
prop=
"content"
placeholder=
"请输入内容"
>
</el-form-item>
</el-input>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherUrl"
>
</el-form-item>
<Upload
:limit=
"5"
:max=
"5"
tip=
"完成上传5份文件,每份不超过10M"
@
input=
"getfile"
></Upload>
<el-form-item
label=
"备注:"
prop=
"content"
>
</el-form-item>
<Upload
:limit=
"5"
:max=
"5"
tip=
"完成上传5份文件,每份不超过10M"
@
input=
"getfile"
></Upload>
</div>
</el-form-item>
</div>
</div>
</div>
</div>
</el-form>
</div>
</div>
</el-form>
<div
class=
"bottomButton"
>
</div>
<el-button>
取消
</el-button>
<div
class=
"bottomButton"
>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交
</el-button>
<el-button>
取消
</el-button>
</div>
<el-button
type=
"primary"
>
提交
</el-button>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
{
import
Upload
from
'@components/Upload/Upload.vue'
bidderEarnestpayment
export
default
{
}
from
'@api/supply/bid'
components
:
{
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
dataBreadcrumb
,
import
Upload
from
'@components/Upload/Upload.vue'
Upload
export
default
{
},
components
:
{
data
()
{
dataBreadcrumb
,
return
{
Upload
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
},
ruleForm
:
{
data
()
{
projectName
:
''
,
// 测试图片
projectCode
:
''
,
let
checkimg
=
(
rule
,
value
,
callback
)
=>
{
classify
:
''
,
if
(
this
.
ruleForm
.
voucherUrl
.
length
===
0
)
{
purchaseAgent
:
''
,
callback
(
new
Error
(
'请上传凭证'
));
industry
:
''
,
}
else
{
region
:
''
,
callback
();
minTender
:
''
,
}
contacts
:
''
,
};
contactsWay
:
''
,
return
{
// 招标方式
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
bidType
:
0
,
ruleForm
:
{
isPublishAd
:
false
,
companyName
:
''
,
content
:
''
,
companyTel
:
''
,
// 标的需求
companyPhone
:
''
,
isNeedEarnest
:
false
,
companyFacsimile
:
''
,
provinceId
:
''
,
recipientsName
:
""
,
cityId
:
''
,
recipientsCompany
:
""
,
districtId
:
''
recipientsPhone
:
""
,
},
recipientsMail
:
""
,
formrules
:
[]
recipientsAddress
:
""
,
}
feeWay
:
''
,
},
remark
:
""
,
methods
:
{
companyEmail
:
""
,
voucherUrl
:
[]
}
},
formrules
:
{
}
companyName
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
companyPhone
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
feeWay
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
voucherUrl
:
[{
required
:
true
,
validator
:
checkimg
,
trigger
:
'blur'
}]
}
}
},
methods
:
{
getfile
(
val
)
{
this
.
ruleForm
.
voucherUrl
=
val
},
async
submitData
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
let
message
=
this
.
ruleForm
message
.
companyId
=
1
,
message
.
projectId
=
localstorage
.
getitem
(
"projectId"
)
const
{
code
,
msg
}
=
await
bidderEarnestpayment
(
message
)
if
(
code
===
2000
)
{
this
.
$success
.
success
(
msg
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.message
{}
.message
{}
.message
>
div
{
.message
>
div
{
background
:
#fff
;
background
:
#fff
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
padding-bottom
:
20px
;
padding-bottom
:
20px
;
}
.message-form
{
width
:
70%
;
margin
:
0
auto
}
}
</
style
>
.message-form
{
width
:
70%
;
margin
:
0
auto
}
</
style
>
\ No newline at end of file
src/pages/supply/bid/joinProject/bidStage/changeList/changeList.vue
View file @
18cebfd0
<
template
>
<
template
>
<div
>
<div>
<div
class=
"content"
>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
>
<el-button
class=
"absolute"
type=
"primary"
@
click=
"release"
>
发布变更公告
</el-button>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
:table-top=
"60"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.state=='待修改'"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row)"
>
修改
</el-button>
<el-button
v-if=
"scope.row.state=='待修改'"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row)"
>
修改
</el-button>
...
@@ -15,94 +16,97 @@
...
@@ -15,94 +16,97 @@
</template>
</template>
<
script
>
<
script
>
import
{
changeList
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/nopageTable.vue'
import
dataTable
from
'@components/nopageTable.vue'
export
default
{
export
default
{
name
:
'bidingList'
,
components
:
{
components
:
{
dataTable
,
dataTable
,
dataBreadcrumb
dataBreadcrumb
},
},
data
()
{
data
()
{
return
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectId
:
2
,
tableData
:
[{
breads
:
[
'招标管理 '
,
'招标项目管理'
,
'工作台'
],
name
:
'涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理'
,
tableData
:
[],
person
:
'腾讯4'
,
data
:
'2017-10-01 12:00'
,
state
:
'待审核'
,
remark
:
'错别字'
},
{
name
:
'涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理'
,
person
:
'腾讯3'
,
data
:
'2017-10-01 13:00'
,
state
:
'待审核'
,
remark
:
'错别字'
},
{
name
:
'涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理'
,
person
:
'腾讯2'
,
data
:
'2017-10-01 14:00'
,
state
:
'待修改'
,
remark
:
'错别字'
},
{
name
:
'涿州市鼓楼大街(范阳路至永济路段)及周边区域街巷改造工程监理'
,
person
:
'腾讯1'
,
data
:
'2017-10-01 15:00'
,
state
:
'待审核'
,
remark
:
'已发布'
}],
columns
:
[{
columns
:
[{
label
:
'公告名称'
,
label
:
'公告名称'
,
prop
:
'name'
,
prop
:
'title'
width
:
500
},
},
{
{
label
:
'
发布
时间'
,
label
:
'
创建
时间'
,
prop
:
'
data
'
,
prop
:
'
createTime
'
,
sortable
:
true
sortable
:
true
},
},
{
label
:
'状态'
,
prop
:
'auditStatus'
},
{
label
:
'备注'
,
prop
:
'remark'
},
{
{
slot
:
'operate'
slot
:
'operate'
}
}
],
// 操作列
]
// 操作列
pageObj
:
{
size
:
10
,
total
:
1
,
currentPage
:
1
,
sizes
:
[
100
,
200
,
300
],
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
}
}
}
},
},
created
()
{
this
.
getchangeList
()
},
methods
:
{
methods
:
{
handleModify
()
{
handleModify
()
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/changeList/changeNotice'
,
path
:
'/purchaser/bid/bidStage/changeList/changeNotice'
,
query
:
{
type
:
'modify'
}
query
:
{
}
type
:
'modify'
)
}
})
},
},
release
()
{
release
()
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/changeList/changeNotice'
,
path
:
'/purchaser/bid/bidStage/changeList/changeNotice'
,
query
:
{
type
:
'release'
}
query
:
{
}
type
:
'release'
)
}
})
},
},
handleSee
()
{
handleSee
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/changeList/see'
)
this
.
$router
.
push
(
'/purchaser/bid/bidStage/changeList/see'
)
},
async
getchangeList
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
changeList
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
auditStatus
===
0
)
{
item
.
auditStatus
=
'未审核'
}
else
if
(
item
.
auditStatus
===
1
)
{
item
.
auditStatus
=
'审核通过'
}
else
{
item
.
auditStatus
=
'未通过'
}
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.absolute
{
.absolute
{
position
:
absolute
;
position
:
absolute
;
top
:
65px
top
:
65px
}
}
</
style
>
</
style
>
src/pages/supply/bid/joinProject/bidStage/changeList/see.vue
View file @
18cebfd0
<
template
>
<
!-- <
template>
<div>
<div>
<div class="content-head">
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
<div>公告标题</div>
<div>公告标题</div>
</el-form-item>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<el-form-item label="上传附件" prop="file">
<!--
<multiUpload
tips=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
></multiUpload>
-->
</el-form-item>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
<div>公告内容</div>
...
@@ -95,4 +94,93 @@ export default {
...
@@ -95,4 +94,93 @@ export default {
width: 200px;
width: 200px;
margin:150px auto 0
margin:150px auto 0
}
}
</style> -->
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看变更公告
</h3>
<h5>
查看变更公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
变更公告
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告标题"
prop=
"title"
>
<div>
公告标题
</div>
</el-form-item>
<el-form-item
label=
"上传附件"
prop=
"file"
>
<!--
<multiUpload
tips=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
></multiUpload>
-->
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<div>
公告内容
</div>
</el-form-item>
</el-form>
<div
class=
"button"
>
<el-button
@
click=
"cancle"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
noticeChange
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataBreadcrumb
},
data
()
{
return
{
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
content
:
''
}
}
},
created
()
{
this
.
changeDetail
(
1
)
},
methods
:
{
cancle
()
{
this
.
$router
.
go
(
-
1
)
},
async
changeDetail
(
id
)
{
try
{
const
{
data
,
code
}
=
await
noticeChange
(
id
)
if
(
code
===
200
)
{
this
.
detail
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
</
script
>
<
style
scoped
>
.content
{
padding
:
0
;
padding-bottom
:
100px
;
}
.button
{
width
:
200px
;
margin
:
150px
auto
0
}
</
style
>
</
style
>
src/pages/supply/bid/joinProject/bidStage/clearManagement/clearManagement.vue
View file @
18cebfd0
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"absolute"
>
<div
class=
"absolute"
>
<el-button
type=
"primary"
@
click=
"
propose"
>
退出问题
</el-button>
<el-button
type=
"primary"
@
click=
"
out"
>
退出澄清
</el-button>
</div>
</div>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
url=
"/clarifies/list"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
url=
"/clarifies/list"
>
<el-table-column
slot=
"operate"
label=
"状态"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"状态"
align=
"center"
fixed=
"right"
>
...
@@ -21,13 +21,8 @@
...
@@ -21,13 +21,8 @@
</el-table-column>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.clarifiesType==0"
>
<el-button
v-if=
"scope.row.state==1"
type=
"text"
size=
"small"
@
click=
"confirm(scope.row)"
>
确认
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
</div>
<div
v-else
>
<el-button
v-if=
"scope.row.state==1"
type=
"text"
size=
"small"
@
click=
"examine(scope.row)"
>
查看
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row.id)"
>
回复
</el-button>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
@@ -50,8 +45,22 @@ export default {
...
@@ -50,8 +45,22 @@ export default {
data
()
{
data
()
{
return
{
return
{
navs
:
[
'招标文件澄清列表'
],
navs
:
[
'招标文件澄清列表'
],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
checklist
:
[{
title
:
'公告名称'
,
type
:
'input'
},
{
title
:
'状态'
,
type
:
'select'
,
selectlist
:
[{
value
:
'1'
,
label
:
'公开招标'
},
{
value
:
'2'
,
label
:
'邀请招标'
}],
change
:
row
=>
''
}],
tableData
:
[],
tableData
:
[],
columns
:
[{
columns
:
[{
label
:
'澄清问题标题'
,
label
:
'澄清问题标题'
,
...
@@ -70,12 +79,9 @@ export default {
...
@@ -70,12 +79,9 @@ export default {
slot
:
'operate'
slot
:
'operate'
}
}
],
// 操作列
],
// 操作列
pageObj
:
{
pageObj
:
{
size
:
10
,
size
:
10
,
total
:
1
,
currentPage
:
1
currentPage
:
1
,
sizes
:
[
10
,
15
,
20
]
// func: (currentPage) => {
// func: (currentPage) => {
// this.pageTurning(currentPage)
// this.pageTurning(currentPage)
// }
// }
...
@@ -83,20 +89,24 @@ export default {
...
@@ -83,20 +89,24 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
pageObj
.
projectId
=
'1'
this
.
pageObj
.
projectId
=
2
this
.
pageObj
.
questionId
=
1
},
},
methods
:
{
methods
:
{
handleSee
(
row
)
{
handleSee
(
id
)
{
console
.
log
(
row
)
},
handleReply
(
id
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/
purchaser/bid/bidStage/clearManagement/reply
'
,
path
:
'/
supply/bid/joinProject/bidStage/clearManagement/see
'
,
query
:
id
query
:
id
})
})
},
},
propose
()
{
confirm
(
id
){
this
.
$router
.
push
(
"/supply/bid/joinProject/clearManagement/propose"
)
this
.
$router
.
push
({
path
:
'/supply/bid/joinProject/bidStage/clearManagement/confirm'
,
query
:
id
})
},
out
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
}
...
...
src/pages/supply/bid/joinProject/bidStage/failList/failList.vue
View file @
18cebfd0
<
template
>
<
!-- <
template>
<div >
<div >
<div class="content">
<div class="content">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
...
@@ -105,4 +105,120 @@ export default {
...
@@ -105,4 +105,120 @@ export default {
position: absolute;
position: absolute;
top:65px
top:65px
}
}
</
style
>
</style> -->
<
template
>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<el-button
class=
"absolute"
type=
"primary"
@
click=
"release"
>
发布流标公告
</el-button>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
:table-top=
"60"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.state=='待修改'"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row)"
>
修改
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
</
template
>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<
script
>
import
{
abortiveList
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/nopageTable.vue'
export
default
{
name
:
'bidingList'
,
components
:
{
dataTable
,
dataBreadcrumb
},
data
()
{
return
{
projectId
:
2
,
breads
:
[
'招标管理 '
,
'招标项目管理'
,
'工作台'
],
tableData
:
[],
columns
:
[{
label
:
'公告名称'
,
prop
:
'name'
,
width
:
500
},
{
label
:
'创建时间'
,
prop
:
'data'
,
sortable
:
true
},
{
label
:
'状态'
,
prop
:
'state'
},
{
label
:
'备注'
,
prop
:
'remark'
},
{
slot
:
'operate'
}
]
// 操作列
}
},
created
()
{
this
.
getabortiveList
()
},
methods
:
{
handleModify
()
{
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/failList/failNotice'
,
query
:
{
type
:
'modify'
}
})
},
release
()
{
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/failList/failNotice'
,
query
:
{
type
:
'release'
}
})
},
handleSee
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/failList/see'
)
},
async
getabortiveList
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
abortiveList
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
auditStatus
===
0
)
{
item
.
auditStatus
=
'未审核'
}
else
if
(
item
.
auditStatus
===
1
)
{
item
.
auditStatus
=
'审核通过'
}
else
{
item
.
auditStatus
=
'未通过'
}
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
</
script
>
<
style
scoped
>
.absolute
{
position
:
absolute
;
top
:
65px
}
</
style
>
\ No newline at end of file
src/pages/supply/bid/joinProject/bidStage/failList/see.vue
View file @
18cebfd0
<
template
>
<
!-- <
template>
<div>
<div>
<div class="content-head">
<div class="content-head">
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
<dataBreadcrumb :breads="breads"></dataBreadcrumb>
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
<div>公告标题</div>
<div>公告标题</div>
</el-form-item>
</el-form-item>
<el-form-item label="上传附件" prop="file">
<el-form-item label="上传附件" prop="file">
<!--
<multiUpload
tips=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
></multiUpload>
-->
</el-form-item>
</el-form-item>
<el-form-item label="公告内容" prop="content">
<el-form-item label="公告内容" prop="content">
<div>公告内容</div>
<div>公告内容</div>
...
@@ -96,3 +95,120 @@ export default {
...
@@ -96,3 +95,120 @@ export default {
margin:150px auto 0
margin:150px auto 0
}
}
</style>
</style>
-->
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看流标公告
</h3>
<h5>
查看流标公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
流标公告
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告标题"
prop=
"title"
>
<div>
公告标题
</div>
</el-form-item>
<el-form-item
label=
"上传附件"
prop=
"file"
>
<!--
<multiUpload
tips=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
></multiUpload>
-->
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<div>
公告内容
</div>
</el-form-item>
</el-form>
<div
class=
"button"
>
<el-button
@
click=
"cancle"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
noticeAbortive
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
multiUpload
from
'@components/Upload/multiUpload.vue'
import
{
quillEditor
}
from
'vue-quill-editor'
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
export
default
{
components
:
{
dataBreadcrumb
,
multiUpload
,
quillEditor
},
data
()
{
return
{
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blue'
}],
release
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blue'
}],
file
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blue'
}],
content
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blue'
}]
}
}
},
created
()
{
this
.
changeDetail
(
1
)
},
methods
:
{
cancle
()
{
this
.
$router
.
go
(
-
1
)
},
async
abortiveDetail
(
id
)
{
try
{
const
{
data
,
code
}
=
await
noticeAbortive
(
id
)
if
(
code
===
200
)
{
this
.
detail
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
</
script
>
<
style
scoped
>
.content
{
padding
:
0
;
padding-bottom
:
100px
;
}
.button
{
width
:
200px
;
margin
:
150px
auto
0
}
</
style
>
\ No newline at end of file
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
View file @
18cebfd0
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
bidBooklist
}
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'
...
@@ -36,32 +37,7 @@ export default {
...
@@ -36,32 +37,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
navs
:
[
'标书费缴纳管理'
],
navs
:
[
'标书费缴纳管理'
],
tabledata
:
[{
tabledata
:
[],
name
:
'清河坊铺石板'
,
size
:
'20M'
,
type
:
'招标文件'
,
price
:
'100.00'
},
{
name
:
'清河坊铺石板'
,
size
:
'20M'
,
type
:
'其他文件'
,
price
:
'100.00'
},
{
name
:
'清河坊铺石板'
,
size
:
'20M'
,
type
:
'其他文件'
,
price
:
'100.00'
},
{
name
:
'清河坊铺石板'
,
size
:
'20M'
,
type
:
'其他文件'
,
price
:
'0.00'
},
{
name
:
'清河坊铺石板'
,
size
:
'20M'
,
type
:
'其他文件'
,
price
:
'0.00'
}],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
columns
:
[{
columns
:
[{
label
:
'文件名称'
,
label
:
'文件名称'
,
...
@@ -82,6 +58,27 @@ export default {
...
@@ -82,6 +58,27 @@ export default {
slot
:
'operate'
slot
:
'operate'
}]
}]
}
}
},
created
()
{
this
.
getbidBooklist
()
},
methods
:{
async
getbidBooklist
()
{
try
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
message
.
companyId
=
1
const
{
data
,
code
}
=
await
bidBooklist
(
message
)
if
(
code
===
200
)
{
this
.
tableData
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
}
}
</
script
>
</
script
>
...
...
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
View file @
18cebfd0
<
template
>
<
template
>
<div>
<div>
<div
class=
"content-head"
>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
提交
</h3>
<h3>
提交
</h3>
<h5>
提交购标信息、邮寄信息、发票信息、缴费信息
</h5>
<h5>
提交购标信息、邮寄信息、发票信息、缴费信息
</h5>
</div>
</div>
<div
class=
"othercontent"
>
<div
class=
"othercontent"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"formrules"
label-width=
"200px"
class=
"demo-ruleForm"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"formrules"
label-width=
"200px"
class=
"demo-ruleForm"
>
<div
class=
"message"
>
<div
class=
"message"
>
<div>
<div>
<div
class=
"describe"
>
确认购标信息
</div>
<div
class=
"describe"
>
确认购标信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div>
<div>
<el-form-item
label=
"单位名称"
prop=
"projectName"
>
<el-form-item
label=
"单位名称"
prop=
"companyName"
>
<el-input
v-model=
"ruleForm.projectName"
disabled
></el-input>
<el-input
v-model=
"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=
"ruleForm.projectCode"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"固定电话:"
prop=
"classify"
>
<el-form-item
label=
"固定电话:"
prop=
"companyTel"
>
<el-input
v-model=
"ruleForm.classify"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyTel"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"手机:"
prop=
"purchaseAgent"
>
<el-form-item
label=
"手机:"
prop=
"companyPhone"
>
<el-input
v-model=
"ruleForm.purchaseAgent"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyPhone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"传真:"
prop=
"industry"
>
<el-form-item
label=
"传真:"
prop=
"companyFacsimile"
>
<el-input
v-model=
"ruleForm.industry"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyFacsimile"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮箱:"
prop=
"industry"
>
<el-form-item
label=
"邮箱:"
prop=
"companyEmail"
>
<el-input
v-model=
"ruleForm.industry"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.companyEmail"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div
class=
"describe"
>
邮寄信息
</div>
<div
class=
"describe"
>
邮寄信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"收件人名称:"
prop=
"account"
>
<el-form-item
label=
"收件人名称:"
>
<el-input
v-model=
"ruleForm.account"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsName"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"收件人单位:"
prop=
"bank"
>
<el-form-item
label=
"收件人单位:"
>
<el-input
v-model=
"ruleForm.bank"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsCompany"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"联系方式:"
prop=
"accountName"
>
<el-form-item
label=
"联系方式:"
>
<el-input
v-model=
"ruleForm.accountName"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsPhone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮政编码:"
prop=
"phone"
>
<el-form-item
label=
"邮政编码:"
>
<el-input
v-model=
"ruleForm.phone"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsMail"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
<el-form-item
label=
"邮寄地址:"
prop=
"phone"
>
<el-form-item
label=
"邮寄地址:"
>
<el-input
v-model=
"ruleForm.phone"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"ruleForm.recipientsAddress "
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
<div>
<div
class=
"describe"
>
发票信息
</div>
<div
class=
"message-form"
>
<div
class=
"flex-between"
>
<el-form-item
label=
"发表类型:"
prop=
"isNeedEarnest"
>
<el-radio-group
v-model=
"ruleForm.isNeedEarnest"
>
<el-radio
:label=
"false"
>
增值税普通发票
</el-radio>
<el-radio
:label=
"true"
>
增值税专用发票
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"发票抬头:"
prop=
"money"
>
<el-input
v-model=
"ruleForm.money"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"flex-between"
>
<el-form-item
label=
"纳税人识别号:"
prop=
"account"
>
<el-input
v-model=
"ruleForm.account"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"地址:"
prop=
"bank"
>
<el-input
v-model=
"ruleForm.bank"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
<div
class=
"flex-between"
>
<el-form-item
label=
"电话:"
prop=
"accountName"
>
<el-input
v-model=
"ruleForm.accountName"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"开户行及账号:"
prop=
"phone"
>
<el-input
v-model=
"ruleForm.phone"
placeholder=
"请输入"
></el-input>
</el-form-item>
</div>
</div>
</div>
<div>
<div
class=
"describe"
>
缴费信息
</div>
<div
class=
"message-form"
>
<el-form-item
label=
"付款方式:"
prop=
"content"
>
<el-input
:rows=
"5"
v-model=
"ruleForm.content"
prop=
"content"
placeholder=
"请输入"
>
</el-input>
</el-form-item>
<el-form-item
label=
"备注:"
prop=
"content"
>
<el-input
:rows=
"5"
v-model=
"ruleForm.content"
type=
"textarea"
prop=
"content"
placeholder=
"请输入内容"
>
</el-input>
</el-form-item>
<el-form-item
label=
"备注:"
prop=
"content"
>
<Upload
:limit=
"5"
:max=
"5"
tip=
"完成上传5份文件,每份不超过10M"
@
input=
"getfile"
></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div
class=
"bottomButton"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
提交
</el-button>
</div>
</div>
</
template
>
</div>
</div>
<div>
<div
class=
"describe"
>
发票信息
</div>
<div
class=
"message-form"
>
<
script
>
<div
class=
"flex-between"
>
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
<el-form-item
label=
"发票类型:"
prop=
"invoiceType"
>
import
Upload
from
'@components/Upload/Upload.vue'
<el-radio-group
v-model=
"ruleForm.invoiceType"
>
export
default
{
<el-radio
:label=
"1"
>
增值税普通发票
</el-radio>
components
:
{
<el-radio
:label=
"2"
>
增值税专用发票
</el-radio>
dataBreadcrumb
,
</el-radio-group>
Upload
</el-form-item>
},
<el-form-item
label=
"发票抬头:"
prop=
"invoiceHead"
>
data
()
{
<el-input
v-model=
"ruleForm.invoiceHead"
placeholder=
"请输入"
></el-input>
return
{
</el-form-item>
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
</div>
ruleForm
:
{
<div
class=
"flex-between"
>
projectName
:
''
,
<el-form-item
label=
"纳税人识别号:"
prop=
"invoiceTaxNumber "
>
projectCode
:
''
,
<el-input
v-model=
"ruleForm.invoiceTaxNumber "
placeholder=
"请输入"
></el-input>
classify
:
''
,
</el-form-item>
purchaseAgent
:
''
,
<el-form-item
label=
"地址:"
prop=
"invoiceAddress"
>
industry
:
''
,
<el-input
v-model=
"ruleForm.invoiceAddress"
placeholder=
"请输入"
></el-input>
region
:
''
,
</el-form-item>
minTender
:
''
,
</div>
contacts
:
''
,
<div
class=
"flex-between"
>
contactsWay
:
''
,
<el-form-item
label=
"电话:"
prop=
"invoiceTel"
>
// 招标方式
<el-input
v-model=
"ruleForm.invoiceTel"
placeholder=
"请输入"
></el-input>
bidType
:
0
,
</el-form-item>
isPublishAd
:
false
,
<el-form-item
label=
"开户行及账号:"
prop=
"invoiceAccount"
>
content
:
''
,
<el-input
v-model=
"ruleForm.invoiceAccount"
placeholder=
"请输入"
></el-input>
// 标的需求
</el-form-item>
isNeedEarnest
:
false
,
</div>
provinceId
:
''
,
</div>
cityId
:
''
,
</div>
districtId
:
''
<div>
},
<div
class=
"describe"
>
缴费信息
</div>
formrules
:
[]
<div
class=
"message-form"
>
}
<el-form-item
label=
"付款方式:"
prop=
"feeWay"
>
},
<el-input
v-model=
"ruleForm.feeWay"
placeholder=
"请输入"
>
methods
:
{
</el-input>
</el-form-item>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
:rows=
"5"
v-model=
"ruleForm.remark"
type=
"textarea"
placeholder=
"请输入内容"
>
</el-input>
</el-form-item>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherUrl"
>
<Upload
:limit=
"5"
:max=
"5"
tip=
"完成上传5份文件,每份不超过10M"
@
input=
"getfile"
></Upload>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<div
class=
"bottomButton"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交
</el-button>
</div>
</div>
}
</
template
>
}
<
script
>
import
{
bidBookpayment
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
Upload
from
'@components/Upload/Upload.vue'
export
default
{
components
:
{
dataBreadcrumb
,
Upload
},
data
()
{
// 测试图片
let
checkimg
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
ruleForm
.
voucherUrl
.
length
===
0
)
{
callback
(
new
Error
(
'请上传凭证'
));
}
else
{
callback
();
}
};
return
{
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
companyName
:
''
,
companyTel
:
''
,
companyPhone
:
''
,
companyFacsimile
:
''
,
recipientsName
:
""
,
recipientsCompany
:
""
,
recipientsPhone
:
""
,
recipientsMail
:
""
,
recipientsAddress
:
""
,
invoiceType
:
''
,
invoiceHead
:
""
,
invoiceTaxNumber
:
""
,
invoiceAddress
:
""
,
invoiceTel
:
""
,
invoiceAccount
:
''
,
feeWay
:
''
,
remark
:
""
,
companyEmail
:
""
,
voucherUrl
:
[]
},
formrules
:
{
companyName
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
companyPhone
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
invoiceType
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
invoiceTaxNumber
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
invoiceAddress
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
invoiceTel
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
invoiceAccount
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
feeWay
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
voucherUrl
:
[{
required
:
true
,
validator
:
checkimg
,
trigger
:
'blur'
}]
}
}
},
methods
:
{
getfile
(
val
)
{
this
.
ruleForm
.
voucherUrl
=
val
},
async
submitData
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
let
message
=
this
.
ruleForm
message
.
companyId
=
1
,
message
.
projectId
=
localstorage
.
getitem
(
"projectId"
)
const
{
code
,
msg
}
=
await
bidBookpayment
(
message
)
if
(
code
===
2000
)
{
this
.
$success
.
success
(
msg
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.message
{}
.message
{}
.message
>
div
{
.message
>
div
{
background
:
#fff
;
background
:
#fff
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
padding-bottom
:
20px
;
padding-bottom
:
20px
;
}
}
.message-form
{
width
:
70%
;
.message-form
{
margin
:
0
auto
width
:
70%
;
margin
:
0
auto
}
}
</
style
>
</
style
>
src/pages/supply/bid/signupOnline/seePrice.vue
View file @
18cebfd0
...
@@ -98,6 +98,7 @@
...
@@ -98,6 +98,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
noticeEnquiry
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
dataTable
from
'@components/nopageTable.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
export
default
{
...
@@ -187,11 +188,24 @@ export default {
...
@@ -187,11 +188,24 @@ export default {
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
()
{
try
{
const
{
data
,
code
}
=
await
noticeEnquiry
(
1
)
if
(
code
===
200
)
{
this
.
tableData
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
created
()
{
this
.
getNoticeEnquiry
();
}
}
}
}
</
script
>
</
script
>
...
...
src/pages/supply/bid/signupOnline/signUp.vue
View file @
18cebfd0
<
template
>
<
template
>
<div>
<div>
<div
class=
"content-head"
>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
报名
</h3>
<h3>
报名
</h3>
<h5>
投标报名
</h5>
<h5>
投标报名
</h5>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"table_pos"
>
<div
class=
"table_pos"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-form-item
label=
"单位名称:"
>
<el-form-item
label=
"单位名称:"
>
<el-input
v-model=
"form.projectId"
class=
"input"
disabled
></el-input>
<el-input
v-model=
"form.projectId"
class=
"input"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人:"
prop=
"userId"
>
<el-form-item
label=
"联系人:"
prop=
"userId"
>
<el-select
v-model=
"form.userId"
placeholder=
"请选择"
style=
"width:300px"
>
<el-option
v-for=
"item in users"
label=
"父亲"
value=
"1100000000"
></el-option>
<el-select
v-model=
"form.userId"
placeholder=
"请选择"
style=
"width:300px"
>
</el-select>
<el-option
v-for=
"item in users"
:label=
"item.userName"
:value=
"item.userId"
></el-option>
</el-form-item>
</el-select>
<el-form-item
label=
"手机号:"
>
</el-form-item>
<el-input
v-model=
"form.phone"
class=
"input"
disabled
></el-input>
<el-form-item
label=
"手机号:"
>
</el-form-item>
<el-input
v-model=
"form.phone"
class=
"input"
disabled
></el-input>
<el-form-item
label=
"邮箱:"
>
</el-form-item>
<el-input
v-model=
"form.email"
class=
"input"
disabled
></el-input>
<el-form-item
label=
"邮箱:"
>
</el-form-item>
<el-input
v-model=
"form.email"
class=
"input"
disabled
></el-input>
<div
class=
"flex-item"
>
</el-form-item>
<div>
是否买断账期:
</div>
<div
class=
"flex-item"
>
<el-radio
v-model=
"is_payment_days"
label=
"0"
>
否
</el-radio>
<div>
是否买断账期:
</div>
<el-radio
v-model=
"is_payment_days"
label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"is_payment_days"
:label=
"false"
>
否
</el-radio>
</div>
<el-radio
v-model=
"is_payment_days"
:label=
"true"
>
是
</el-radio>
<div
class=
"flex-center buttom"
>
</div>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<div
class=
"flex-center buttom"
>
<el-button
type=
"primary"
@
click=
"sendTo"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
</div>
<el-button
type=
"primary"
@
click=
"sendTo"
>
提交
</el-button>
</el-form>
</div>
</div>
</el-form>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
>
</div>
<div
class=
"flex"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
>
<i
class=
"el-icon-warning"
></i>
<div
class=
"flex"
>
<h3>
请勾选是否买断账期
</h3>
<i
class=
"el-icon-warning"
></i>
</div>
<h3>
请勾选是否买断账期
</h3>
<p>
买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:400-123-123。
</p>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<p>
买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:400-123-123。
</p>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
<div
slot=
"footer"
class=
"dialog-footer"
>
</div>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</el-dialog>
</div>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
userList
}
from
'@api/common/list'
import
{
import
dataTable
from
'@components/dataTable.vue'
userList
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
}
from
'@api/common/list'
import
{
projectapply
}
from
'@api/supply/bid'
import
dataTable
from
'@components/dataTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
},
data
()
{
return
{
is_payment_days
:
""
,
users
:
[],
dialogFormVisible
:
false
,
breads
:
[
'投标管理'
,
'在线报名'
,
'报名'
],
form
:
{
projectId
:
1
,
userId
:
''
,
phone
:
'1'
,
email
:
'1'
,
is_payment_days
:
""
},
rules
:
{
userId
:
[{
required
:
true
,
message
:
'请选择'
,
trigger
:
'blur'
}]
export
default
{
}
components
:
{
}
dataTable
,
},
dataBreadcrumb
created
()
{
},
this
.
getuserList
();
data
()
{
},
return
{
methods
:
{
is_payment_days
:
""
,
cancel
()
{
users
:[],
this
.
$router
.
go
(
-
1
)
dialogFormVisible
:
false
,
},
breads
:
[
'投标管理'
,
'在线报名'
,
'报名'
],
async
sendTo
()
{
form
:
{
try
{
projectId
:
1
,
let
is_payment_days
=
this
.
is_payment_days
userId
:
''
,
if
(
!
is_payment_days
)
{
phone
:
''
,
this
.
dialogFormVisible
=
true
email
:
''
,
}
else
{
is_payment_days
:
""
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
},
if
(
valid
)
{
}
let
form
=
this
.
form
;
},
form
.
companyId
=
1
,
created
()
{
form
.
projectId
=
1
,
this
.
getuserList
();
form
.
is_payment_days
=
this
.
is_payment_days
},
const
{
methods
:
{
code
,
cancel
()
{
msg
this
.
$router
.
go
(
-
1
)
}
=
await
projectapply
(
this
.
form
)
},
console
.
log
(
code
);
sendTo
()
{
if
(
code
===
200
)
{
let
is_payment_days
=
this
.
is_payment_days
this
.
$message
.
success
(
msg
)
if
(
!
is_payment_days
)
{
}
this
.
dialogFormVisible
=
true
}
}
}
},
}
catch
(
e
)
{
async
getuserList
()
{
console
.
log
(
e
)
try
{
}
let
companyId
=
1
},
const
{
async
getuserList
()
{
data
,
try
{
code
let
companyId
=
1
}
=
await
userList
(
companyId
)
const
{
if
(
code
===
200
)
{
data
,
this
.
users
=
data
code
}
}
=
await
userList
(
companyId
)
}
catch
(
e
)
{
if
(
code
===
200
)
{
console
.
log
(
e
)
this
.
users
=
data
}
}
}
}
catch
(
e
)
{
}
console
.
log
(
e
)
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
...
...
src/utils/request.js
View file @
18cebfd0
...
@@ -5,14 +5,15 @@ import { Message, MessageBox } from 'element-ui'
...
@@ -5,14 +5,15 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例
// 创建axios实例
const
service
=
axios
.
create
({
const
service
=
axios
.
create
({
baseURL
:
'http://192.168.200.201:8082/apis'
,
// api的base_url
// baseURL: 'http://192.168.200.201:8082/apis',
baseURL
:
'http://192.168.3.35:8085/apis'
,
timeout
:
35000
// 请求超时时间
timeout
:
35000
// 请求超时时间
})
})
// request拦截器
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
service
.
interceptors
.
request
.
use
(
config
=>
{
let
token
=
localStorage
.
getItem
(
"token"
)
let
token
=
localStorage
.
getItem
(
"token"
)
if
(
token
){
if
(
token
||
token
!==
"undefined"
){
config
.
headers
[
'token'
]
=
token
;
config
.
headers
[
'token'
]
=
token
;
}
}
return
config
return
config
...
@@ -38,10 +39,11 @@ service.interceptors.response.use(
...
@@ -38,10 +39,11 @@ service.interceptors.response.use(
error
=>
{
error
=>
{
if
(
error
.
response
.
status
==
500
){
if
(
error
.
response
.
status
==
500
){
Message
.
error
(
"登陆失效,请重新登录!"
)
Message
.
error
(
"登陆失效,请重新登录!"
)
localStorage
.
removeItem
(
'token'
);
// localStorage.removeItem('token');
setTimeout
(
function
()
{
// setTimeout(function () {
location
.
href
=
'http://192.168.200.201:8081/'
;
// // location.href = 'http://192.168.200.201:8081/';
},
2000
);
// location.href = 'http://localhost:3000/';
// }, 2000);
}
}
}
}
)
)
...
...
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