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
8e1c6e29
Commit
8e1c6e29
authored
Oct 14, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
制作投标的开标时间和倒计时
parent
9a0e606a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
186 additions
and
71 deletions
+186
-71
dayDown.vue
src/components/dayDown.vue
+64
-0
add.vue
src/pages/purchaser/bid/bidEvaluation/review/add.vue
+1
-1
bond.vue
src/pages/supply/bid/joinProject/bidStage/bond.vue
+15
-13
tenderFee.vue
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
+3
-1
bidSubmit.vue
src/pages/supply/bid/joinProject/bidSubmit/bidSubmit.vue
+103
-56
No files found.
src/components/dayDown.vue
0 → 100644
View file @
8e1c6e29
<
template
>
<p>
{{
time
}}
</p>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
time
:
''
,
flag
:
false
}
},
mounted
()
{
let
time
=
setInterval
(()
=>
{
if
(
this
.
flag
==
true
){
clearInterval
(
time
)
}
this
.
timeDown
()
},
500
)
},
props
:
{
endTime
:
{
type
:
String
}
},
destroyed
()
{
clearInterval
(
time
)
},
methods
:
{
timeDown
()
{
const
endTime
=
new
Date
(
this
.
endTime
)
const
nowTime
=
new
Date
();
let
leftTime
=
parseInt
((
endTime
.
getTime
()
-
nowTime
.
getTime
())
/
1000
)
if
(
leftTime
>
0
){
let
d
=
parseInt
(
leftTime
/
(
24
*
60
*
60
))
let
h
=
this
.
formate
(
parseInt
(
leftTime
/
(
60
*
60
)
%
24
))
let
m
=
this
.
formate
(
parseInt
(
leftTime
/
60
%
60
))
let
s
=
this
.
formate
(
parseInt
(
leftTime
%
60
))
if
(
leftTime
<=
0
){
this
.
flag
=
true
this
.
$emit
(
'timeend'
)
}
this
.
time
=
`
${
d
}
天
${
h
}
小时
${
m
}
分
${
s
}
秒`
// 需要修改时间样式的话 ,比如需要什么30分钟倒计时,就只保留分和秒
}
else
{
this
.
time
=
"时间已过"
this
.
$emit
(
'timeend'
)
}
},
formate
(
time
)
{
if
(
time
>=
10
){
return
time
}
else
{
return
`0
${
time
}
`
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/pages/purchaser/bid/bidEvaluation/review/add.vue
View file @
8e1c6e29
...
@@ -157,7 +157,7 @@
...
@@ -157,7 +157,7 @@
created
()
{
created
()
{
this
.
getbidsupplyList
()
this
.
getbidsupplyList
()
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
project
Cod
e
=
localStorage
.
getItem
(
"projectName"
)
this
.
project
Nam
e
=
localStorage
.
getItem
(
"projectName"
)
}
}
}
}
</
script
>
</
script
>
...
...
src/pages/supply/bid/joinProject/bidStage/bond.vue
View file @
8e1c6e29
...
@@ -18,23 +18,23 @@
...
@@ -18,23 +18,23 @@
</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=
"请输入"
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=
"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=
"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=
"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=
"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=
"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=
"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=
"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=
"ruleForm.recipientsMail"
placeholder=
"请输入"
maxlength=
"10"
></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=
"ruleForm.recipientsAddress "
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
</div>
...
@@ -69,11 +69,11 @@
...
@@ -69,11 +69,11 @@
<div
class=
"describe"
>
缴费信息
</div>
<div
class=
"describe"
>
缴费信息
</div>
<div
class=
"message-form"
>
<div
class=
"message-form"
>
<el-form-item
label=
"付款方式:"
prop=
"feeWay"
>
<el-form-item
label=
"付款方式:"
prop=
"feeWay"
>
<el-input
v-model=
"ruleForm.feeWay"
placeholder=
"请输入"
>
<el-input
v-model=
"ruleForm.feeWay"
placeholder=
"请输入"
maxlength=
"30"
>
</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=
"ruleForm.remark"
type=
"textarea"
placeholder=
"请输入内容"
maxlength=
"300"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
...
@@ -185,7 +185,7 @@
...
@@ -185,7 +185,7 @@
code
,
code
,
msg
msg
}
=
await
bidderEarnestpayment
(
message
)
}
=
await
bidderEarnestpayment
(
message
)
if
(
code
==
=
200
)
{
if
(
code
==
200
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
type
:
'success'
,
type
:
'success'
,
...
@@ -194,6 +194,8 @@
...
@@ -194,6 +194,8 @@
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
)
},
1500
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
...
...
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
View file @
8e1c6e29
...
@@ -251,7 +251,7 @@
...
@@ -251,7 +251,7 @@
code
,
code
,
msg
msg
}
=
await
bidBookpayment
(
message
)
}
=
await
bidBookpayment
(
message
)
if
(
code
==
=
200
)
{
if
(
code
==
200
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
type
:
'success'
,
type
:
'success'
,
...
@@ -260,6 +260,8 @@
...
@@ -260,6 +260,8 @@
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
)
},
1500
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
...
...
src/pages/supply/bid/joinProject/bidSubmit/bidSubmit.vue
View file @
8e1c6e29
...
@@ -19,8 +19,11 @@
...
@@ -19,8 +19,11 @@
<div>
投标文件成功递交时间:
{{
submitTime
}}
</div>
<div>
投标文件成功递交时间:
{{
submitTime
}}
</div>
</div>
</div>
<div>
<div>
<div>
投标截止(开标)时间:2020-09-09 22:12:23
</div>
<div>
投标截止(开标)时间:
{{
openBidTime
}}
</div>
<div>
投标截止时间倒计时:6天 6小时 6分钟 6秒
</div>
<div
class=
"flex-item"
>
<div>
投标截止时间倒计时:
</div>
<timeDown
:endTime=
'openBidTime'
></timeDown>
</div>
</div>
</div>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
...
@@ -36,7 +39,7 @@
...
@@ -36,7 +39,7 @@
<el-select
v-model=
"form.bidbookId"
placeholder=
"请选择"
>
<el-select
v-model=
"form.bidbookId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.fileName"
:value=
"item.id"
>
<el-option
v-for=
"item in options"
:key=
"item.id"
:label=
"item.fileName"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
...
@@ -50,7 +53,7 @@
...
@@ -50,7 +53,7 @@
</div>
-->
</div>
-->
<div
class=
"bottomButton"
>
<div
class=
"bottomButton"
>
<el-button
@
click=
"back"
>
取消
</el-button>
<el-button
@
click=
"back"
>
取消
</el-button>
<
el-button>
下载回执
</el-button
>
<
!--
<el-button>
下载回执
</el-button>
--
>
<el-button
:disabled=
"!state"
type=
"primary"
@
click=
"withdraw"
>
撤回投标文件
</el-button>
<el-button
:disabled=
"!state"
type=
"primary"
@
click=
"withdraw"
>
撤回投标文件
</el-button>
<el-button
:disabled=
"state"
type=
"primary"
@
click=
"submitData"
>
递交投标文件
</el-button>
<el-button
:disabled=
"state"
type=
"primary"
@
click=
"submitData"
>
递交投标文件
</el-button>
</div>
</div>
...
@@ -59,36 +62,43 @@
...
@@ -59,36 +62,43 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
timeDown
from
'@components/dayDown.vue'
import
{
import
{
bidBooks
,
bidFile
,
revocationBidbFile
bidBooks
,
bidFile
,
revocationBidbFile
,
timeInfo
}
from
'@api/supply/bid'
}
from
'@api/supply/bid'
import
{
import
{
getTime
getTime
}
from
'@utils/time'
}
from
'@utils/time'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
Upload
from
'@components/Upload/Upload.vue'
import
Upload
from
'@components/Upload/Upload.vue'
export
default
{
export
default
{
components
:
{
components
:
{
dataBreadcrumb
,
dataBreadcrumb
,
Upload
Upload
,
timeDown
},
},
data
()
{
data
()
{
let
checkPhone
=
async
(
rule
,
value
,
callback
)
=>
{
let
checkPhone
=
async
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
if
(
reg
.
test
(
value
))
{
callback
();
callback
();
}
else
{
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
}
};
};
return
{
return
{
bidFileId
:
""
,
compareTime
:
""
,
submitTime
:
"暂无"
,
openBidTime
:
""
,
state
:
false
,
bidFileId
:
""
,
submitTime
:
"暂无"
,
state
:
false
,
options
:
[],
options
:
[],
projectName
:
""
,
projectName
:
""
,
projectCode
:
""
,
projectCode
:
""
,
...
@@ -106,7 +116,7 @@
...
@@ -106,7 +116,7 @@
}],
}],
bidderPhone
:
[{
bidderPhone
:
[{
required
:
true
,
required
:
true
,
validator
:
checkPhone
,
validator
:
checkPhone
,
trigger
:
'blur'
trigger
:
'blur'
}],
}],
bidbookId
:
[{
bidbookId
:
[{
...
@@ -118,59 +128,96 @@
...
@@ -118,59 +128,96 @@
}
}
},
},
methods
:
{
methods
:
{
back
(){
remaintimeEnd
(){
},
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
)
},
},
getfile
()
{
// 获取时间
async
gettimeInfo
(
projectId
)
{
const
{
data
,
code
}
=
await
timeInfo
(
projectId
)
this
.
openBidTime
=
data
.
openBidTime
},
},
// 获取文件列表
// 获取文件列表
async
getbidBooks
()
{
async
getbidBooks
(
projectId
)
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
const
{
data
,
data
,
code
code
}
=
await
bidBooks
(
projectId
)
}
=
await
bidBooks
(
projectId
)
this
.
options
=
data
this
.
options
=
data
},
},
// 提交
// 提交
async
submitData
()
{
async
submitData
()
{
try
{
try
{
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
if
(
valid
)
{
if
(
valid
)
{
let
form
=
this
.
form
let
form
=
this
.
form
const
{
code
,
msg
}
=
await
bidFile
(
form
)
const
{
if
(
code
===
200
)
{
code
,
this
.
$message
.
success
(
msg
)
msg
this
.
submitTime
=
getTime
()
}
=
await
bidFile
(
form
)
this
.
state
=
true
if
(
code
===
200
)
{
this
.
bidFileId
=
form
.
bidbookId
;
// this.$message.success(msg)
this
.
getbidBooks
()
// this.submitTime=getTime()
}
// this.state=true
}
// this.bidFileId=form.bidbookId;
}
catch
(
e
)
{
// this.getbidBooks()
console
.
log
(
e
)
this
.
$message
({
}
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
},
// 撤回
// 撤回
async
withdraw
(){
async
withdraw
()
{
try
{
try
{
const
{
msg
,
code
}
=
await
revocationBidbFile
(
this
.
bidFileId
)
const
{
if
(
code
===
200
){
msg
,
this
.
$message
.
success
(
msg
)
code
this
.
state
=
false
}
=
await
revocationBidbFile
(
this
.
bidFileId
)
this
.
submitTime
=
"暂无"
if
(
code
===
200
)
{
this
.
getbidBooks
()
// this.$message.success(msg)
// this.state=false
// this.submitTime="暂无"
// this.getbidBooks()
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
}
}
}
}
},
},
created
()
{
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
getbidBooks
()
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
this
.
getbidBooks
(
projectId
)
this
.
gettimeInfo
(
projectId
)
}
}
}
}
</
script
>
</
script
>
...
...
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