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
03af227d
Commit
03af227d
authored
Oct 21, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
报价状态和查看和列表查询报价
parent
4d606b1c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
215 additions
and
205 deletions
+215
-205
bid.js
src/api/supply/bid.js
+10
-0
noticeDetail.vue
src/components/detail/noticeDetail.vue
+78
-93
priceDetail.vue
src/components/detail/priceDetail.vue
+5
-2
edit.vue
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
+3
-3
list.vue
src/pages/purchaser/bid/bidSure/bidResult/list.vue
+1
-1
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+18
-2
bidresultAdvice.vue
src/pages/supply/bid/joinProject/bidSure/bidresultAdvice.vue
+1
-1
seeAnnouncement.vue
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
+3
-5
seePrice.vue
src/pages/supply/bid/signupOnline/seePrice.vue
+0
-0
signUp.vue
src/pages/supply/bid/signupOnline/signUp.vue
+4
-4
signupList.vue
src/pages/supply/bid/signupOnline/signupList.vue
+92
-94
index.js
src/router/index.js
+0
-0
No files found.
src/api/supply/bid.js
View file @
03af227d
...
...
@@ -368,4 +368,13 @@ export function earnestEdit(data) {
method
:
'post'
,
data
:
data
})
}
// 新增接口
export
function
isOffer
(
projectId
)
{
return
request
({
url
:
`bidder-apply/isOffer/
${
projectId
}
`
,
method
:
'get'
,
})
}
\ No newline at end of file
src/components/detail/noticeDetail.vue
View file @
03af227d
<
template
>
<div
class=
"noticeDetail"
>
<div
v-if=
"state"
>
<div
class=
"info_mes"
>
<p>
项目名称:
{{
projectdetail
.
projectName
}}
</p>
<p>
项目 项目编号:
{{
projectdetail
.
projectCode
}}
</p>
<p
>
发布日期:
{{
detail
.
createTime
}}
</p>
</div>
<h1>
{{
detail
.
title
}}
</h1>
<div
v-html=
"detail.content"
></div>
<div
class=
"content_list"
>
<div
class=
"flex-item"
>
<div>
附件下载:
</div>
<ul
v-if=
"detail.accessoryVOList"
>
<li
v-for=
"item in detail.accessoryVOList"
:key=
"item.id"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<ul
v-else
>
无附件
</ul>
</div>
</div>
<slot></slot>
</div>
<div
v-else
class=
"no-notice"
>
未找到该公告详情
</div>
</div>
<div
class=
"noticeDetail"
>
<div
v-if=
"state"
>
<div
class=
"info_mes"
>
<p>
项目名称:
{{
projectdetail
.
projectName
}}
</p>
<p>
项目 项目编号:
{{
projectdetail
.
projectCode
}}
</p>
<p>
发布日期:
{{
detail
.
createTime
}}
</p>
</div>
<h1>
{{
detail
.
title
}}
</h1>
<div
v-html=
"detail.content"
></div>
<div
class=
"content_list"
>
<div
class=
"flex-item"
>
<div>
附件下载:
</div>
<ul
v-if=
"detail.accessoryVOList"
>
<li
v-for=
"item in detail.accessoryVOList"
:key=
"item.id"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<ul
v-else
>
无附件
</ul>
</div>
</div>
<slot></slot>
</div>
<div
v-else
class=
"no-notice"
>
{{
msg
}}
</div>
</div>
</
template
>
<
script
>
import
{
biddingProjectId
,
projectDetail
}
from
'@api/common/list'
export
default
{
data
()
{
return
{
projectdetail
:
""
,
detail
:
""
,
state
:
true
}
},
methods
:
{
// 获取详情
async
getbiddingProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
biddingProjectId
(
projectId
)
if
(
code
==
200
){
this
.
detail
=
data
}
else
if
(
code
==
500
){
this
.
state
=
false
}
},
async
getprojectDetail
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
projectDetail
(
projectId
)
if
(
code
==
200
){
this
.
projectdetail
=
data
}
},
},
created
()
{
this
.
getbiddingProjectId
()
this
.
getprojectDetail
();
}
}
import
{
biddingProjectId
,
projectDetail
}
from
'@api/common/list'
;
export
default
{
data
()
{
return
{
msg
:
''
,
projectdetail
:
''
,
detail
:
''
,
state
:
true
};
},
methods
:
{
// 获取详情
async
getbiddingProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
biddingProjectId
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
else
if
(
code
==
500
)
{
this
.
state
=
false
;
this
.
msg
=
msg
;
}
},
async
getprojectDetail
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
projectDetail
(
projectId
);
if
(
code
==
200
)
{
this
.
projectdetail
=
data
;
}
}
},
created
()
{
this
.
getbiddingProjectId
();
this
.
getprojectDetail
();
}
};
</
script
>
<
style
scoped
>
.no-notice
{
margin-top
:
30px
;
text-align
:
center
;
margin-bottom
:
30px
;
}
.info_mes
{
margin-bottom
:
40px
;
display
:
flex
;
justify-content
:
space-between
;
}
.noticeDetail
h1
{
text-align
:
center
;
margin-bottom
:
30px
;
}
.content_list
{
margin-top
:
30px
}
.no-notice
{
margin-top
:
30px
;
text-align
:
center
;
margin-bottom
:
30px
;
}
.info_mes
{
margin-bottom
:
40px
;
display
:
flex
;
justify-content
:
space-between
;
}
.noticeDetail
h1
{
text-align
:
center
;
margin-bottom
:
30px
;
}
.content_list
{
margin-top
:
30px
;
}
</
style
>
src/components/detail/priceDetail.vue
View file @
03af227d
...
...
@@ -71,7 +71,7 @@
<slot></slot>
</div>
<div
v-if=
"!state"
class=
"no-notice"
>
未找到该公告详情
{{
msg
}}
</div>
</div>
</
template
>
...
...
@@ -90,6 +90,7 @@
},
data
()
{
return
{
msg
:
""
,
state
:
true
,
tableData
:[],
projectName
:
""
,
...
...
@@ -137,7 +138,8 @@
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
code
,
msg
}
=
await
enquiryProjectId
(
projectId
)
if
(
code
==
200
){
data
.
endTime
=
getTime1
(
data
.
endTime
)
...
...
@@ -146,6 +148,7 @@
this
.
detail
=
data
}
else
if
(
code
==
500
){
this
.
state
=
false
this
.
msg
=
msg
}
},
},
...
...
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
View file @
03af227d
...
...
@@ -2,8 +2,8 @@
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
招标结果通知书辑
</h3>
<h5>
招标结果通知书辑
</h5>
<h3>
招标结果通知书
编
辑
</h3>
<h5>
招标结果通知书
编
辑
</h5>
</div>
<div
class=
"content "
>
<div
class=
"message flex-colunm"
>
...
...
@@ -138,7 +138,7 @@
.message
>
div
{
margin-bottom
:
30px
;
width
:
5
0%
;
width
:
6
0%
;
}
.message
>
.button
{
...
...
src/pages/purchaser/bid/bidSure/bidResult/list.vue
View file @
03af227d
...
...
@@ -18,7 +18,7 @@
</dataTable>
<div
class=
"button flex-center"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交
审核
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交
</el-button>
</div>
</div>
</div>
...
...
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
03af227d
...
...
@@ -22,7 +22,7 @@
<citySelect
@
sendprovinceId=
"getprovinceId"
@
sendcityId=
"getcityId"
@
senddistrictId=
"getdistrictId"
></citySelect>
</el-form-item>
<el-form-item
label=
"项目优先级"
prop=
"priority"
>
<el-radio-group
v-model=
"ruleForm.priority"
>
<el-radio-group
v-model=
"ruleForm.priority"
>
<el-radio
:label=
"0"
>
普通
</el-radio>
<el-radio
:label=
"1"
>
紧急
</el-radio>
</el-radio-group>
...
...
@@ -140,7 +140,18 @@ export default {
singleUpload
},
data
()
{
// 测试省份
let
islocal
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
this
.
ruleForm
.
provinceId
)
{
callback
(
new
Error
(
'请选择省份'
))
}
else
if
(
!
this
.
ruleForm
.
cityId
)
{
callback
(
new
Error
(
'请选择市'
))
}
else
if
(
!
this
.
ruleForm
.
districtId
)
{
callback
(
new
Error
(
'请选择区'
))
}
else
{
callback
()
}
}
let
checkfacsimile
=
async
(
rule
,
value
,
callback
)
=>
{
const
reg
=
/^
(?:\d{3,4}
-
)?\d{7,8}(?:
-
\d{1,6})?
$/
if
(
reg
.
test
(
value
))
{
...
...
@@ -207,6 +218,11 @@ export default {
},
rules
:
{
address
:
[{
required
:
true
,
validator
:
islocal
,
trigger
:
'change'
}],
budget
:
[{
required
:
true
,
message
:
'请输入'
,
...
...
src/pages/supply/bid/joinProject/bidSure/bidresultAdvice.vue
View file @
03af227d
...
...
@@ -13,7 +13,7 @@
<div>
招标结果通知书编号:11111
</div>
</div>
<div
v-if=
"state"
>
<div
class=
"flex
-between
"
>
<div
class=
"flex"
>
<div
style=
"margin-right: 20px;"
>
附件:中标通知书.pdf
</div>
<el-button
size=
"mini"
>
下载
</el-button>
</div>
...
...
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
View file @
03af227d
...
...
@@ -4,9 +4,9 @@
<div>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<noticeDetail>
<slot>
<
!--
<
slot>
<div
@
click=
"jump"
class=
"jump"
>
项目报价
</div>
</slot>
</slot>
-->
</noticeDetail>
</div>
<div
class=
"centerButton"
v-if=
'bidType==0'
>
...
...
@@ -48,9 +48,7 @@
}
},
methods
:
{
jump
()
{
this
.
$router
.
push
(
"/supply/bid/signupOnline/seePrice"
)
},
signup
(
row
)
{
this
.
$router
.
push
(
"/supply/bid/signupOnline/SignUp"
)
},
...
...
src/pages/supply/bid/signupOnline/seePrice.vue
View file @
03af227d
This diff is collapsed.
Click to expand it.
src/pages/supply/bid/signupOnline/signUp.vue
View file @
03af227d
...
...
@@ -36,11 +36,11 @@
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
>
<div
class=
"flex"
>
<div
class=
"flex
-item
"
>
<i
class=
"el-icon-warning"
></i>
<h3>
请勾选是否买断账期
</h3>
</div>
<p>
买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:
400-123-123
。
</p>
<p>
买断账期服务是平台提供的优化供应商现金流的服务,选择此服务的供应商仅需支付服务费即可凭借应收账款凭证及在平台的中标数据获得金融公司提供的资产抵押服务,不中标,该服务不生效。详情咨询客服:
13810057696
。
</p>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</div>
...
...
@@ -157,10 +157,10 @@
</
script
>
<
style
scoped
>
h3
{
/*
h3 {
margin-top: 20px;
margin-left: 20px;
}
}
*/
h5
{
margin-top
:
20px
;
...
...
src/pages/supply/bid/signupOnline/signupList.vue
View file @
03af227d
<
template
>
<div>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist"
url=
"/bidder/project/list"
>
<el-table-column
slot=
"opration"
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=
"opration"
align=
"center"
label=
"快捷操作"
flexd=
"right"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handlesee(scope.row)"
>
查看招标公告
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"signup(scope.row)"
>
报名
</el-button>
</
template
>
</el-table-column
>
</dataTable
>
<div>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist"
url=
"/bidder/project/list"
>
<el-table-column
slot=
"opration"
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=
"opration"
align=
"center"
label=
"快捷操作"
flexd=
"right"
width=
"300px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handlesee(scope.row)"
>
查看招标公告
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"jump(scope.row)"
>
查看询价公告
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"signup(scope.row)"
>
报名
</el-button>
</
template
>
</el-table-column
>
</dataTable
>
</div
>
</div>
</div>
</template>
<
script
>
import
{
projectStatusList
}
from
'@api/common/list'
import
dataTable
from
'@components/dataTable.vue'
import
{
projectStatusList
}
from
'@api/common/list'
;
import
dataTable
from
'@components/dataTable.vue'
;
export
default
{
components
:
{
dataTable
},
data
()
{
return
{
pageObj
:
{
size
:
10
,
currentPage
:
1
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
},
checklist
:
[{
title
:
'项目名称'
,
type
:
'input'
,
model
:
'projectName'
}
],
breads
:
[
'招标管理'
,
'在线报名'
],
columns
:
[{
label
:
'项目编号'
,
prop
:
'code'
},
{
label
:
'项目名称'
,
prop
:
'name'
},
{
label
:
'标书结束时间'
,
prop
:
'endTime'
},
{
slot
:
'opration'
}],
}
},
created
()
{
this
.
getprojectStatusList
();
},
methods
:
{
totalMarks
:
function
(
status
)
{
let
value
=
this
.
map
.
get
(
status
)
return
value
},
// 获取状态
async
getprojectStatusList
(){
const
data
=
await
projectStatusList
()
this
.
map
=
new
Map
();
for
(
let
item
of
data
){
this
.
map
.
set
(
item
.
id
,
item
.
name
)
}
},
handlesee
(
row
)
{
this
.
$router
.
push
(
"/supply/bid/signupOnline/seeAnnouncement"
)
// this.$router.push(`/supply/bid/signupOnline/seeAnnouncement?id=${row.projectId}`)
localStorage
.
setItem
(
"projectId"
,
row
.
projectId
)
components
:
{
dataTable
},
signup
(
row
){
this
.
$router
.
push
(
"/supply/bid/signupOnline/SignUp"
)
// this.$router.push(`/supply/bid/signupOnline/SignUp?id=${row.projectId}`)
localStorage
.
setItem
(
"projectId"
,
row
.
projectId
)
}
}
}
data
()
{
return
{
pageObj
:
{
size
:
10
,
currentPage
:
1
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
);
}
},
checklist
:
[
{
title
:
'项目名称'
,
type
:
'input'
,
model
:
'projectName'
}
],
breads
:
[
'招标管理'
,
'在线报名'
],
columns
:
[
{
label
:
'项目编号'
,
prop
:
'code'
},
{
label
:
'项目名称'
,
prop
:
'name'
},
{
label
:
'标书结束时间'
,
prop
:
'endTime'
},
{
slot
:
'opration'
}
]
};
},
created
()
{
this
.
getprojectStatusList
();
},
methods
:
{
jump
(
row
)
{
this
.
$router
.
push
(
'/supply/bid/signupOnline/seePrice'
);
localStorage
.
setItem
(
'projectId'
,
row
.
projectId
);
},
totalMarks
:
function
(
status
)
{
let
value
=
this
.
map
.
get
(
status
);
return
value
;
},
// 获取状态
async
getprojectStatusList
()
{
const
data
=
await
projectStatusList
();
this
.
map
=
new
Map
();
for
(
let
item
of
data
)
{
this
.
map
.
set
(
item
.
id
,
item
.
name
);
}
},
handlesee
(
row
)
{
this
.
$router
.
push
(
'/supply/bid/signupOnline/seeAnnouncement'
);
// this.$router.push(`/supply/bid/signupOnline/seeAnnouncement?id=${row.projectId}`)
localStorage
.
setItem
(
'projectId'
,
row
.
projectId
);
},
signup
(
row
)
{
this
.
$router
.
push
(
'/supply/bid/signupOnline/SignUp'
);
// this.$router.push(`/supply/bid/signupOnline/SignUp?id=${row.projectId}`)
localStorage
.
setItem
(
'projectId'
,
row
.
projectId
);
}
}
};
</
script
>
<
style
scoped
>
.home
>
.user
{
.home
>
.user
{
box-sizing
:
border-box
;
padding-top
:
20px
;
padding-left
:
20px
;
background
:
#fff
;
}
.name
{
.name
{
font-size
:
20px
;
margin-left
:
20px
;
margin-left
:
20px
;
}
</
style
>
\ No newline at end of file
src/router/index.js
View file @
03af227d
This diff is collapsed.
Click to expand it.
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