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
fe944733
Commit
fe944733
authored
Nov 05, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
11.5联调
parent
34224510
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
373 additions
and
332 deletions
+373
-332
bid.js
src/api/purchaser/bid.js
+9
-0
common.css
src/common/common.css
+32
-27
Upload.vue
src/components/Upload/Upload.vue
+4
-0
candidate.vue
src/components/detail/candidate.vue
+7
-5
companyDetail.vue
src/components/detail/companyDetail.vue
+1
-1
noticeDetail.vue
src/components/detail/noticeDetail.vue
+2
-3
priceDetail.vue
src/components/detail/priceDetail.vue
+119
-131
winBook.vue
src/components/detail/winBook.vue
+27
-18
winNotice.vue
src/components/detail/winNotice.vue
+12
-9
content.vue
...es/purchaser/bid/bidEvaluation/projectManager/content.vue
+3
-1
add.vue
src/pages/purchaser/bid/bidEvaluation/review/add.vue
+1
-1
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+3
-0
detail.vue
src/pages/purchaser/bid/bidStage/bondList/detail.vue
+1
-1
detail.vue
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
+1
-1
contract.vue
src/pages/purchaser/bid/bidSure/contract.vue
+0
-0
determine.vue
src/pages/purchaser/bid/bidSure/determine.vue
+99
-95
notice.vue
src/pages/purchaser/bid/bidSure/notice.vue
+11
-7
publicity.vue
src/pages/purchaser/bid/bidSure/publicity.vue
+2
-2
see.vue
src/pages/purchaser/bid/bidSure/see.vue
+4
-0
demand.vue
src/pages/purchaser/bid/editProject/demand.vue
+1
-0
message.vue
src/pages/purchaser/bid/editProject/message.vue
+1
-0
timeSet.vue
src/pages/purchaser/bid/editProject/timeSet.vue
+3
-1
fileUpload.vue
src/pages/purchaser/bid/seeProject/fileUpload.vue
+1
-1
message.vue
src/pages/purchaser/bid/seeProject/message.vue
+1
-1
workbench.vue
src/pages/purchaser/bid/workbench.vue
+10
-7
home.vue
src/pages/purchaser/home/home.vue
+0
-2
bidOpenhal.vue
src/pages/supply/bid/joinProject/bidOpen/bidOpenhal.vue
+1
-1
detail.vue
src/pages/supply/bid/joinProject/bidStage/bond/detail.vue
+1
-1
detail.vue
...ages/supply/bid/joinProject/bidStage/tenderFee/detail.vue
+1
-1
bidresultAdvice.vue
src/pages/supply/bid/joinProject/bidSure/bidresultAdvice.vue
+1
-1
workbench.vue
src/pages/supply/bid/joinProject/workbench.vue
+6
-6
voucherSign.vue
src/pages/supply/buyOut/voucherSign.vue
+2
-2
common.js
src/utils/common.js
+6
-6
No files found.
src/api/purchaser/bid.js
View file @
fe944733
...
@@ -496,6 +496,15 @@ export function winnerSave(data) {
...
@@ -496,6 +496,15 @@ export function winnerSave(data) {
data
:
data
data
:
data
})
})
}
}
// 中标候选人名单
export
function
winPersionInfoDetail
(
projectId
)
{
return
request
({
url
:
`/tender-decide/winPersionInfoDetail/
${
projectId
}
`
,
method
:
'get'
})
}
// 中标候选人名单
// 中标候选人名单
export
function
candidate
(
projectId
)
{
export
function
candidate
(
projectId
)
{
return
request
({
return
request
({
...
...
src/common/common.css
View file @
fe944733
...
@@ -9,14 +9,25 @@ html {
...
@@ -9,14 +9,25 @@ html {
}
}
a
{
a
{
color
:
#FF5203
!important
;
color
:
#ff5203
!important
;
text-decoration
:
none
;
text-decoration
:
none
;
}
}
a
:hover
{
color
:
rgb
(
51
,
218
,
193
)
!important
}
.link
{
color
:
#ff5203
!important
;
cursor
:
pointer
;
}
.link
:hover
{
color
:
rgb
(
51
,
218
,
193
)
!important
;
}
a
:hover
{
color
:
rgb
(
51
,
218
,
193
)
!important
;
}
button
{
button
{
border
:
none
border
:
none
;
}
}
ul
{
ul
{
...
@@ -51,7 +62,6 @@ th,
...
@@ -51,7 +62,6 @@ th,
td
{
td
{
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
}
}
fieldset
,
fieldset
,
...
@@ -93,31 +103,29 @@ img {
...
@@ -93,31 +103,29 @@ img {
justify-content
:
center
;
justify-content
:
center
;
}
}
.t1
{
.t1
{
font-size
:
.14rem
;
font-size
:
0
.14rem
;
color
:
rgba
(
0
,
0
,
0
,
1
);
color
:
rgba
(
0
,
0
,
0
,
1
);
}
}
.t2
{
.t2
{
font-size
:
.16rem
;
font-size
:
0
.16rem
;
color
:
rgba
(
0
,
0
,
0
,
1
);
color
:
rgba
(
0
,
0
,
0
,
1
);
}
}
.t3
{
.t3
{
font-size
:
.18rem
;
font-size
:
0
.18rem
;
color
:
rgba
(
0
,
0
,
0
,
1
);
color
:
rgba
(
0
,
0
,
0
,
1
);
}
}
.t4
{
.t4
{
font-size
:
.25rem
;
font-size
:
0
.25rem
;
color
:
rgba
(
0
,
0
,
0
,
1
);
color
:
rgba
(
0
,
0
,
0
,
1
);
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.detail
{
.detail
{
background
:
#F0F2F
5
;
background
:
#f0f2f
5
;
}
}
.content
{
.content
{
...
@@ -127,12 +135,12 @@ img {
...
@@ -127,12 +135,12 @@ img {
}
}
.othercontent
{
.othercontent
{
background
:
#F0F2F
5
;
background
:
#f0f2f
5
;
}
}
.pagination
{
.pagination
{
margin-top
:
200px
;
margin-top
:
200px
;
margin-bottom
:
100px
margin-bottom
:
100px
;
}
}
.navs
{
.navs
{
...
@@ -142,14 +150,14 @@ img {
...
@@ -142,14 +150,14 @@ img {
border-bottom
:
1px
solid
#ccc
;
border-bottom
:
1px
solid
#ccc
;
}
}
.navs
>
li
{
.navs
>
li
{
padding
:
10px
;
padding
:
10px
;
margin
:
0
20px
;
margin
:
0
20px
;
}
}
.navs
>
.active
{
.navs
>
.active
{
border-bottom
:
2px
solid
#2288EE
;
border-bottom
:
2px
solid
#2288ee
;
color
:
#2288EE
color
:
#2288ee
;
}
}
.content-head
{
.content-head
{
...
@@ -159,12 +167,12 @@ img {
...
@@ -159,12 +167,12 @@ img {
padding
:
10px
;
padding
:
10px
;
position
:
relative
;
position
:
relative
;
}
}
.content-head
>
.abs
{
.content-head
>
.abs
{
position
:
absolute
;
position
:
absolute
;
right
:
10px
;
right
:
10px
;
bottom
:
10px
;
bottom
:
10px
;
}
}
.content-head
>
h3
{
.content-head
>
h3
{
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
margin-top
:
20px
;
margin-top
:
20px
;
...
@@ -176,7 +184,7 @@ img {
...
@@ -176,7 +184,7 @@ img {
line-height
:
50px
;
line-height
:
50px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding-left
:
20px
;
padding-left
:
20px
;
border-bottom
:
1px
solid
#F0F2F
5
;
border-bottom
:
1px
solid
#f0f2f
5
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
font-size
:
18px
;
font-size
:
18px
;
...
@@ -192,7 +200,7 @@ img {
...
@@ -192,7 +200,7 @@ img {
}
}
.form
{
.form
{
padding
:
10px
20px
20px
20px
padding
:
10px
20px
20px
20px
;
}
}
.bottomButton
{
.bottomButton
{
...
@@ -210,14 +218,12 @@ img {
...
@@ -210,14 +218,12 @@ img {
}
}
.tips
{
.tips
{
color
:
#FF0000
color
:
#ff0000
;
}
}
.message
.el-input
{
.message
.el-input
{
width
:
250px
!important
;
width
:
250px
!important
;
}
}
.el-icon-circle-close
{
.el-icon-circle-close
{
color
:
white
;
color
:
white
;
}
}
\ No newline at end of file
src/components/Upload/Upload.vue
View file @
fe944733
<
template
>
<
template
>
<div
class=
"hello"
>
<div
class=
"hello"
>
<div
v-loading=
"loading"
></div>
<el-upload
<el-upload
v-loading
.
fullscreen
.
lock=
"loading"
v-loading
.
fullscreen
.
lock=
"loading"
:http-request=
"handleUpload"
:http-request=
"handleUpload"
...
@@ -69,6 +70,7 @@ export default {
...
@@ -69,6 +70,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
}
}
},
},
created
(){
created
(){
...
@@ -76,6 +78,7 @@ export default {
...
@@ -76,6 +78,7 @@ export default {
},
},
methods
:
{
methods
:
{
emitInput
(
fileList
)
{
emitInput
(
fileList
)
{
this
.
loading
=
false
let
value
=
[]
let
value
=
[]
for
(
let
i
=
0
;
i
<
fileList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
fileList
.
length
;
i
++
)
{
let
message
=
{}
let
message
=
{}
...
@@ -89,6 +92,7 @@ export default {
...
@@ -89,6 +92,7 @@ export default {
this
.
$emit
(
'input'
,
value
)
this
.
$emit
(
'input'
,
value
)
},
},
beforeUpload
(
file
)
{
beforeUpload
(
file
)
{
this
.
loading
=
true
const
max
=
this
.
max
const
max
=
this
.
max
const
isLt2M
=
file
.
size
/
1024
/
1024
<
max
const
isLt2M
=
file
.
size
/
1024
/
1024
<
max
if
(
!
isLt2M
)
{
if
(
!
isLt2M
)
{
...
...
src/components/detail/candidate.vue
View file @
fe944733
...
@@ -8,15 +8,15 @@
...
@@ -8,15 +8,15 @@
</div>
</div>
<!-- 标题 -->
<!-- 标题 -->
<div
class=
"title"
>
<div
class=
"title"
>
<
div>
{{
title
}}
</div
>
<
h1>
{{
title
}}
</h1
>
</div>
</div>
<div
v-if=
"state"
>
<div
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.
fileList !== undefined && detail.file
List.length > 0"
>
<ul
v-if=
"detail.
accessoryVOList !== undefined && detail.accessoryVO
List.length > 0"
>
<li
v-for=
"(item, i) in detail.accessoryVOList"
:key=
"i"
>
<li
v-for=
"(item, i) in detail.accessoryVOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
<div
v-else
>
空
</div>
<div
v-else
>
空
</div>
...
@@ -86,9 +86,10 @@ export default {
...
@@ -86,9 +86,10 @@ export default {
.enclosure
{
.enclosure
{
margin
:
20px
0
;
margin
:
20px
0
;
}
}
.title
>
div
{
.title
>
h1
{
/* display: flex;
/* display: flex;
justify-content: center; */
justify-content: center; */
text-align
:
center
text-align
:
center
;
margin-bottom
:
20
rpx
}
}
</
style
>
</
style
>
\ No newline at end of file
src/components/detail/companyDetail.vue
View file @
fe944733
...
@@ -108,7 +108,7 @@
...
@@ -108,7 +108,7 @@
<div
class=
"detail-item"
>
<div
class=
"detail-item"
>
<div>
其他资料
</div>
<div>
其他资料
</div>
<div
class=
"pdf"
>
<div
class=
"pdf"
>
<a
:href=
"item.fileUrl"
v-for=
"(item, index) in elseFile"
:key=
"index"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.fileUrl"
v-for=
"(item, index) in elseFile"
:key=
"index"
>
{{
item
.
fileName
}}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/components/detail/noticeDetail.vue
View file @
fe944733
...
@@ -11,9 +11,9 @@
...
@@ -11,9 +11,9 @@
<div
class=
"content_list"
>
<div
class=
"content_list"
>
<div
class=
"flex-item"
>
<div
class=
"flex-item"
>
<div>
附件下载:
</div>
<div>
附件下载:
</div>
<ul
v-if=
"detail.accessoryVOList"
>
<ul
v-if=
"detail.accessoryVOList
!==undefined &&detail.accessoryVOList.length>0
"
>
<li
v-for=
"item in detail.accessoryVOList"
:key=
"item.id"
>
<li
v-for=
"item in detail.accessoryVOList"
:key=
"item.id"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
<ul
v-else
>
<ul
v-else
>
...
@@ -45,7 +45,6 @@ export default {
...
@@ -45,7 +45,6 @@ export default {
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
detail
=
data
;
this
.
detail
=
data
;
this
.
$emit
(
"getstate"
,
data
.
auditStatus
)
}
else
if
(
code
==
500
)
{
}
else
if
(
code
==
500
)
{
this
.
state
=
false
;
this
.
state
=
false
;
this
.
msg
=
msg
;
this
.
msg
=
msg
;
...
...
src/components/detail/priceDetail.vue
View file @
fe944733
<
template
>
<
template
>
<div>
<div>
<h1>
{{
detail
.
title
}}
</h1>
<h1>
{{
detail
.
title
}}
</h1>
<div
class=
"flex-center"
v-if=
"state"
>
<div
class=
"flex-center"
v-if=
"state"
>
<h6
style=
"margin-right:60px;margin-top:30px"
v-if=
"detail.area"
>
询价所在地:
{{
detail
.
area
}}
</h6>
<h6
style=
"margin-right: 60px; margin-top: 30px"
v-if=
"detail.area"
>
询价所在地:
{{
detail
.
area
}}
</h6>
<h6
style=
"margin-buttom:60px;margin-top:30px"
>
日期:
{{
detail
.
createTime
}}
</h6>
<h6
style=
"margin-buttom: 60px; margin-top: 30px"
>
日期:
{{
detail
.
createTime
}}
</h6>
</div>
</div>
<div
class=
"form"
v-if=
"state"
>
<div
class=
"form"
v-if=
"state"
>
<h3
style=
"margin-buttom:
30px"
>
基本信息
</h3>
<h3
style=
"margin-buttom:
30px"
>
基本信息
</h3>
<table
border=
"0"
width=
"100%"
height=
"120px"
>
<table
border=
"0"
width=
"100%"
height=
"120px"
>
<tr>
<tr>
<td>
询价单编号
</td>
<td>
询价单编号
</td>
<td>
{{
detail
.
inquiryCode
}}
</td>
<td>
{{
detail
.
inquiryCode
}}
</td>
<td>
采购目录
</td>
<td>
采购目录
</td>
<td>
{{
detail
.
purchaseCategory
}}
</td>
<td>
{{
detail
.
purchaseCategory
}}
</td>
<td>
项目优先级
</td>
<td>
项目优先级
</td>
<td>
{{
detail
.
priority
==
0
?
"普通"
:
"紧急"
}}
</td>
<td>
{{
detail
.
priority
==
0
?
'普通'
:
'紧急'
}}
</td>
</tr>
</tr>
<tr>
<tr>
<td>
报价开始时间
</td>
<td>
报价开始时间
</td>
<td>
{{
detail
.
startTime
}}
</td>
<td>
{{
detail
.
startTime
}}
</td>
<td>
报价截止时间
</td>
<td>
报价截止时间
</td>
<td>
{{
detail
.
endTime
}}
</td>
<td>
{{
detail
.
endTime
}}
</td>
<td>
采购单位
</td>
<td>
采购单位
</td>
<td>
{{
detail
.
purchaseAgent
}}
</td>
<td>
{{
detail
.
purchaseAgent
}}
</td>
</tr>
</tr>
<tr>
<tr>
<td>
采购单位联系人
</td>
<td>
采购单位联系人
</td>
<td>
{{
detail
.
contact
}}
</td>
<td>
{{
detail
.
contact
}}
</td>
<td>
联系方式
</td>
<td>
联系方式
</td>
<td>
{{
detail
.
contactPhone
}}
</td>
<td>
{{
detail
.
contactPhone
}}
</td>
<td>
传真号码
</td>
<td>
传真号码
</td>
<td>
{{
detail
.
facsimile
}}
</td>
<td>
{{
detail
.
facsimile
}}
</td>
</tr>
</tr>
</table>
</table>
<div
class=
"appendix
"
>
<div
class=
"appendix
"
>
<div>
预算金额(元)
</div>
<div>
预算金额(元)
</div>
<div>
{{
detail
.
budget
}}
</div>
<div>
{{
detail
.
budget
}}
</div>
</div>
</div>
<h3>
供应商要求
</h3>
<h3>
供应商要求
</h3>
<div
class=
"appendix
"
>
<div
class=
"appendix
"
>
<div>
供应商规模要求
</div>
<div>
供应商规模要求
</div>
<div>
{{
detail
.
supplierScale
}}
</div>
<div>
{{
detail
.
supplierScale
}}
</div>
</div>
</div>
<div
class=
"appendix
"
>
<div
class=
"appendix
"
>
<div>
供应商资格要求
</div>
<div>
供应商资格要求
</div>
<div>
{{
detail
.
supplierQualification
}}
</div>
<div>
{{
detail
.
supplierQualification
}}
</div>
</div>
</div>
<div
class=
"appendix
"
>
<div
class=
"appendix
"
>
<div>
供应商区域范围要求
</div>
<div>
供应商区域范围要求
</div>
<div>
{{
detail
.
supplierRegion
}}
</div>
<div>
{{
detail
.
supplierRegion
}}
</div>
</div>
</div>
<h3>
询价商品清单
</h3>
<h3>
询价商品清单
</h3>
<dataTable
:table-data=
"detail.commodityVOList"
:columns=
"columns"
></dataTable>
<dataTable
:table-data=
"detail.commodityVOList"
:columns=
"columns"
></dataTable>
<div
class=
"appendix list pos"
>
<div
class=
"appendix list pos"
>
<div>
附件
</div>
<div>
附件
</div>
<ul
v-if=
"detail.accessoryVOList!==undefined && detail.accessoryVOList.length>
0"
class=
"filelist"
>
<ul
v-if=
"detail.accessoryVOList !== undefined && detail.accessoryVOList.length >
0"
class=
"filelist"
>
<li
v-for=
"(item,
index) in detail.accessoryVOList"
:key=
"index"
>
<li
v-for=
"(item,
index) in detail.accessoryVOList"
:key=
"index"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a
>
<div
@
click=
"open(item.accessoryUrl)"
class=
"link"
>
{{
item
.
fileName
}}
</div
>
</li>
</li>
</ul>
</ul>
<div
v-else
>
无附件
</div>
<div
v-else
>
无附件
</div>
...
@@ -71,33 +71,28 @@
...
@@ -71,33 +71,28 @@
<slot></slot>
<slot></slot>
</div>
</div>
<div
v-if=
"!state"
class=
"no-notice"
>
<div
v-if=
"!state"
class=
"no-notice"
>
<div>
{{
msg
}}
</div>
<div>
{{
msg
}}
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
import
{
getTime1
}
from
'@utils/time'
;
getTime1
import
{
enquiryProjectId
}
from
'@api/common/list'
;
}
from
'@utils/time'
import
dataTable
from
'@components/nopageTable.vue'
;
import
{
export
default
{
enquiryProjectId
}
from
'@api/common/list'
import
dataTable
from
'@components/nopageTable.vue'
export
default
{
components
:
{
components
:
{
dataTable
,
dataTable
},
},
data
()
{
data
()
{
return
{
return
{
msg
:
""
,
msg
:
''
,
state
:
true
,
state
:
true
,
tableData
:
[],
tableData
:
[],
projectName
:
""
,
projectName
:
''
,
detail
:
""
,
detail
:
''
,
breads
:
[
'投标管理 '
,
'在线报名'
,
'询价公告'
],
breads
:
[
'投标管理 '
,
'在线报名'
,
'询价公告'
],
columns
:
[
columns
:
[
{
{
label
:
'标的名称'
,
label
:
'标的名称'
,
prop
:
'bidName'
prop
:
'bidName'
...
@@ -125,188 +120,181 @@
...
@@ -125,188 +120,181 @@
{
{
label
:
'备注'
,
label
:
'备注'
,
prop
:
'remark'
prop
:
'remark'
},
],
}
}
]
};
},
},
methods
:
{
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
},
// 获取详情
// 获取详情
async
getenquiryProjectId
()
{
async
getenquiryProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
,
msg
}
=
await
enquiryProjectId
(
projectId
);
data
,
if
(
code
==
200
)
{
code
,
data
.
endTime
=
getTime1
(
data
.
endTime
);
msg
data
.
startTime
=
getTime1
(
data
.
startTime
);
}
=
await
enquiryProjectId
(
projectId
)
data
.
createTime
=
data
.
createTime
.
substring
(
0
,
10
);
if
(
code
==
200
){
this
.
detail
=
data
;
data
.
endTime
=
getTime1
(
data
.
endTime
)
}
else
if
(
code
==
500
)
{
data
.
startTime
=
getTime1
(
data
.
startTime
)
this
.
state
=
false
;
data
.
createTime
=
data
.
createTime
.
substring
(
0
,
10
)
this
.
msg
=
msg
;
this
.
detail
=
data
}
this
.
$emit
(
"getstate"
,
data
.
auditStatus
)
}
else
if
(
code
==
500
){
this
.
state
=
false
this
.
msg
=
msg
}
}
},
},
},
created
()
{
created
()
{
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getenquiryProjectId
()
this
.
getenquiryProjectId
();
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.no-notice
{
.no-notice
{
margin-top
:
30px
;
margin-top
:
30px
;
text-align
:
center
;
text-align
:
center
;
margin-bottom
:
30px
;
margin-bottom
:
30px
;
}
}
.filelist
{
.filelist
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
20px
padding
:
20px
;
}
}
.home
{
.home
{
padding
:
30px
;
padding
:
30px
;
background
:
#fff
;
background
:
#fff
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
/* margin-left:20px; */
/* margin-left:20px; */
}
}
.Tips
{
.Tips
{
color
:
#409EFF
color
:
#409eff
;
}
}
.notice
>
h4
{
.notice
>
h4
{
font-size
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-right
:
30px
;
margin-right
:
30px
;
}
}
.notice
{
.notice
{
margin
:
20px
0
;
margin
:
20px
0
;
border-bottom
:
1px
solid
#ccc
;
border-bottom
:
1px
solid
#ccc
;
}
}
h2
{
h2
{
/* margin-top:; */
/* margin-top:; */
margin-bottom
:
10px
;
margin-bottom
:
10px
;
}
}
h6
{
h6
{
margin-bottom
:
10px
;
margin-bottom
:
10px
;
}
}
h1
{
h1
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
.form
{
.form
{
padding
:
20px
;
padding
:
20px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.form
h3
{
.form
h3
{
margin-top
:
20px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
/* table>tr{
/* table>tr{
text-align: center;
text-align: center;
} */
} */
table
{
table
{
border-collapse
:
collapse
;
border-collapse
:
collapse
;
}
}
table
>
tr
>
td
{
table
>
tr
>
td
{
font-size
:
16px
;
font-size
:
16px
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
padding-left
:
10px
;
padding-left
:
10px
;
}
}
table
>
tr
>
td
:nth-child
(
odd
)
{
table
>
tr
>
td
:nth-child
(
odd
)
{
background
:
#F0F0F
0
;
background
:
#f0f0f
0
;
width
:
160px
;
width
:
160px
;
}
}
.right-s
{
.right-s
{
padding-right
:
200px
;
padding-right
:
200px
;
}
}
.appendix
{
.appendix
{
display
:
flex
;
display
:
flex
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
}
}
.appendix
>
div
:first-child
{
.appendix
>
div
:first-child
{
width
:
172px
;
width
:
172px
;
border-right
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding-left
:
10px
;
padding-left
:
10px
;
}
}
.appendix
>
div
:last-child
{
.appendix
>
div
:last-child
{
padding-left
:
10px
;
padding-left
:
10px
;
}
}
.appendix
>
div
:nth-child
(
odd
)
{
.appendix
>
div
:nth-child
(
odd
)
{
background
:
#F0F0F0
background
:
#f0f0f0
;
}
}
.appendix
>
div
{
.appendix
>
div
{
font-size
:
16px
;
font-size
:
16px
;
line-height
:
40px
;
line-height
:
40px
;
}
}
.list
>
:first-child
{
.list
>
:first-child
{
height
:
120px
;
height
:
120px
;
line-height
:
120px
;
line-height
:
120px
;
}
}
.list
{
.list
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.bus-require
>
div
:first-child
{
.bus-require
>
div
:first-child
{
width
:
400px
;
width
:
400px
;
}
}
.bus-require
>
div
:last-child
{
.bus-require
>
div
:last-child
{
font-size
:
10px
;
font-size
:
10px
;
}
}
.pos
>
div
:first-child
{
.pos
>
div
:first-child
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
.last-pos
{
.last-pos
{
margin-left
:
40px
;
margin-left
:
40px
;
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.last-pos
>
div
:first-child
{
.last-pos
>
div
:first-child
{
width
:
65px
;
width
:
65px
;
}
}
input
{
input
{
width
:
100%
;
width
:
100%
;
height
:
70px
;
height
:
70px
;
}
}
.home
>
h1
{
.home
>
h1
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
</
style
>
</
style
>
src/components/detail/winBook.vue
View file @
fe944733
...
@@ -3,30 +3,28 @@
...
@@ -3,30 +3,28 @@
<div
class=
"content"
>
<div
class=
"content"
>
<changeNav
:navs=
"navs"
></changeNav>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message"
>
<div
class=
"message"
>
<div>
<div
class=
"div1"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
</div>
<div>
<div
class=
"div1"
>
<div>
日期:
{{
date
}}
</div>
<div>
日期:
{{
date
}}
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
</div>
</div>
<div>
<div
class=
"div1"
>
中标通知书编号:
{{
detail
.
number
}}
</div
>
<div
class=
"flex-item"
>
<div
class=
"flex-item"
>
<div
style=
"margin-right: 20px"
>
附件:
</div>
<div
style=
"margin-right: 20px"
>
附件:
</div>
<ul
v-if=
"detail.fileList
"
>
<ul
v-if=
"detail.fileList!==undefined &&detail.fileList.length>0
"
>
<li
v-for=
"(item, i) in detail.fileList"
:key=
"i"
>
<li
v-for=
"(item, i) in detail.fileList"
:key=
"i"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a
>
<div
@
click=
"open(item.fileUrl)"
class=
"link"
>
{{
item
.
fileName
}}
</div
>
</li>
</li>
</ul>
</ul>
<div
v-else
>
无
</div>
<div
v-else
>
无
</div>
</div>
</div>
<div>
中标通知书编号:
{{
detail
.
number
}}
</div>
</div>
<div
class=
"flex-colunm notice"
>
<div
class=
"flex-colunm notice"
>
<h1>
您已中标,
请及时与平台签署应收账款买断
合同。
</h1>
<h1>
您已中标,
若您选择了应收账款买断服务,请及时与平台签署相关
合同。
</h1>
<h3>
咨询电话:
400-4567457
</h3>
<h3>
咨询电话:
{{
phone
}}
</h3>
<el-button
type=
"primary"
>
查看详情
</el-button>
<el-button
type=
"primary"
@
click=
"jump"
>
查看详情
</el-button>
</div>
</div>
<div
class=
"centerButton"
>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
...
@@ -37,11 +35,11 @@
...
@@ -37,11 +35,11 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getMessagephone
}
from
'@api/common/list'
import
{
winBookdetail
}
from
'@api/supply/bid'
;
import
{
winBookdetail
}
from
'@api/supply/bid'
;
import
changeNav
from
'@components/changeNav.vue'
;
import
changeNav
from
'@components/changeNav.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
changeNav
changeNav
},
},
data
()
{
data
()
{
...
@@ -52,7 +50,9 @@ export default {
...
@@ -52,7 +50,9 @@ export default {
navs
:
[
'中标通知书'
],
navs
:
[
'中标通知书'
],
projectCode
:
''
,
projectCode
:
''
,
projectName
:
''
,
projectName
:
''
,
detail
:
''
detail
:
''
,
date
:
""
,
phone
:
""
};
};
},
},
methods
:
{
methods
:
{
...
@@ -67,15 +67,24 @@ export default {
...
@@ -67,15 +67,24 @@ export default {
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
);
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
);
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
detail
=
data
;
this
.
detail
=
data
;
this
.
date
=
data
.
winDate
.
substring
(
0
,
10
)
this
.
date
=
data
.
winDate
.
substring
(
0
,
10
);
}
}
},
jump
()
{
this
.
$router
.
push
(
'/supply/buyOut/buyoutList'
);
},
/* 获取客服电话 */
async
getMessagephone
(){
const
{
data
}
=
await
getMessagephone
()
console
.
log
(
data
)
this
.
phone
=
data
.
phone
}
}
},
},
created
()
{
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getwinBookdetail
();
this
.
getwinBookdetail
();
this
.
getMessagephone
()
}
}
};
};
</
script
>
</
script
>
...
@@ -99,10 +108,10 @@ export default {
...
@@ -99,10 +108,10 @@ export default {
width
:
60%
;
width
:
60%
;
margin
:
0
auto
;
margin
:
0
auto
;
}
}
.message
>
.centerButton
{
.message
>
.centerButton
{
justify-content
:
center
;
justify-content
:
center
;
}
}
.message
>
div
{
.message
>
.div1
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
margin-bottom
:
30px
;
margin-bottom
:
30px
;
...
@@ -116,7 +125,7 @@ export default {
...
@@ -116,7 +125,7 @@ export default {
}
}
.notice
{
.notice
{
margin
:
200px
auto
30px
;
margin
:
200px
auto
30px
;
padding
:
20px
0
;
padding
:
20px
;
}
}
.notice
>
h3
{
.notice
>
h3
{
margin
:
20px
0
;
margin
:
20px
0
;
...
...
src/components/detail/winNotice.vue
View file @
fe944733
...
@@ -8,15 +8,15 @@
...
@@ -8,15 +8,15 @@
</div>
</div>
<!-- 标题 -->
<!-- 标题 -->
<div
class=
"title"
>
<div
class=
"title"
>
<
div
class=
"flex-center"
>
{{
title
}}
</div
>
<
h1
class=
"flex-center"
>
{{
title
}}
</h1
>
</div>
</div>
<div
class=
"detail1"
v-if=
"state"
>
<div
class=
"detail1"
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.accessory
DOList.length>
0"
>
<ul
v-if=
"detail.accessory
VOList !== undefined && detail.accessoryDOList.length >
0"
>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<
a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a
>
<
div
@
click=
"open(item.accessoryUrl)"
class=
"link"
>
{{
item
.
fileName
}}
</div
>
</li>
</li>
</ul>
</ul>
<div
v-else
>
空
</div>
<div
v-else
>
空
</div>
...
@@ -33,18 +33,20 @@
...
@@ -33,18 +33,20 @@
<
script
>
<
script
>
import
{
noticeWin
}
from
'@api/supply/bid'
;
import
{
noticeWin
}
from
'@api/supply/bid'
;
export
default
{
export
default
{
components
:
{
components
:
{},
},
data
()
{
data
()
{
return
{
return
{
projectCode
:
''
,
projectCode
:
''
,
projectName
:
''
,
projectName
:
''
,
state
:
true
,
state
:
true
,
detail
:
''
,
detail
:
''
,
title
:
''
title
:
''
};
};
},
},
methods
:
{
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
);
this
.
$router
.
go
(
-
1
);
},
},
...
@@ -55,7 +57,7 @@ export default {
...
@@ -55,7 +57,7 @@ export default {
if
(
code
==
200
)
{
if
(
code
==
200
)
{
console
.
log
(
data
);
console
.
log
(
data
);
this
.
detail
=
data
;
this
.
detail
=
data
;
this
.
title
=
data
.
title
this
.
title
=
data
.
title
;
}
else
{
}
else
{
this
.
state
=
false
;
this
.
state
=
false
;
}
}
...
@@ -95,7 +97,7 @@ export default {
...
@@ -95,7 +97,7 @@ export default {
.enclosure
{
.enclosure
{
margin
:
50px
0
;
margin
:
50px
0
;
}
}
.title
{
.title
{
margin-top
:
50px
;
margin-top
:
50px
;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/pages/purchaser/bid/bidEvaluation/projectManager/content.vue
View file @
fe944733
...
@@ -355,7 +355,9 @@ export default {
...
@@ -355,7 +355,9 @@ export default {
.bond
span
{
.bond
span
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.file
{
flex-wrap
:
wrap
;
}
.file
>
div
{
.file
>
div
{
margin-right
:
10px
;
margin-right
:
10px
;
color
:
#113dee
;
color
:
#113dee
;
...
...
src/pages/purchaser/bid/bidEvaluation/review/add.vue
View file @
fe944733
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<div>
项目名称:
{{
projectName
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"1
6
0px"
class=
"demo-ruleForm"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"1
7
0px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"澄清质询标题"
prop=
"title"
>
<el-form-item
label=
"澄清质询标题"
prop=
"title"
>
<el-input
v-model
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
</el-form-item>
...
...
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
fe944733
...
@@ -619,6 +619,9 @@ export default {
...
@@ -619,6 +619,9 @@ export default {
.bond
span
{
.bond
span
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.file
{
flex-wrap
:
wrap
;
}
.file
>
div
{
.file
>
div
{
margin-right
:
10px
;
margin-right
:
10px
;
color
:
#113dee
;
color
:
#113dee
;
...
...
src/pages/purchaser/bid/bidStage/bondList/detail.vue
View file @
fe944733
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
<el-form-item
label=
"上传缴费凭证:"
>
<el-form-item
label=
"上传缴费凭证:"
>
<ul
>
<ul
>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
</el-form-item>
</el-form-item>
...
...
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
View file @
fe944733
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
<el-form-item
label=
"上传缴费凭证:"
>
<el-form-item
label=
"上传缴费凭证:"
>
<ul>
<ul>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
</el-form-item>
</el-form-item>
...
...
src/pages/purchaser/bid/bidSure/contract.vue
View file @
fe944733
This diff is collapsed.
Click to expand it.
src/pages/purchaser/bid/bidSure/determine.vue
View file @
fe944733
...
@@ -6,12 +6,19 @@
...
@@ -6,12 +6,19 @@
<div>
<div>
<div
class=
"message form"
>
<div
class=
"message form"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div
style=
"margin-right: 100px;"
>
项目名称:
{{
projectName
}}
</div>
<div
style=
"margin-right: 100px"
>
项目名称:
{{
projectName
}}
</div>
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div>
项目分类:
{{
classify
}}
</div>
<div>
项目分类:
{{
classify
}}
</div>
<div
class=
"flex"
>
<div
class=
"flex-item"
v-if=
"type == 2"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<ul
v-if=
"file !== undefined && file.length > 0"
>
<li
v-for=
"(item, i) in file"
:key=
"i"
@
click=
"open(item.fileUrl)"
class=
"link"
>
{{
item
.
fileName
}}
</li>
</ul>
<div
v-else
>
无
</div>
</div>
<div
class=
"flex"
v-else
>
<div
class=
"adjustment"
>
上传附件:
</div>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
></singleUpload>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
></singleUpload>
</div>
</div>
...
@@ -19,36 +26,40 @@
...
@@ -19,36 +26,40 @@
</div>
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<h3><span>
*
</span>
确定中标人
</h3>
<h3><span>
*
</span>
确定中标人
</h3>
<el-radio-group
v-model=
"companyId
"
>
<el-radio-group
v-model=
"companyId"
:disabled=
"type == 2 ? true : false
"
>
<el-radio
:label=
"item.companyId"
v-for=
"(item,index) in tableData"
:key=
"index"
>
{{
item
.
companyName
}}
</el-radio>
<el-radio
:label=
"item.companyId"
v-for=
"(item, index) in tableData"
:key=
"index"
>
{{
item
.
companyName
}}
</el-radio>
</el-radio-group>
</el-radio-group>
<h3
style=
"margin-top:30px"
>
说明
</h3>
<h3
style=
"margin-top: 30px"
>
说明
</h3>
<el-input
:rows=
"3"
v-model
.
trim=
"content"
type=
"textarea"
placeholder=
"请输入内容"
maxlength=
"300"
>
<el-input
:rows=
"3"
v-model
.
trim=
"content"
type=
"textarea"
placeholder=
"请输入内容"
maxlength=
"300"
:disabled=
"type == 2 ? true : false"
>
</el-input>
</el-input>
</div>
</div>
<div
class=
"button flex-center"
>
<div
class=
"button flex-center"
v-if=
"type == 2"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
<div
class=
"button flex-center"
v-else
>
<el-button
@
click=
"back"
>
返回
</el-button>
<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>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
import
{
candidate
,
winnerSave
,
winPersionInfoDetail
}
from
'@api/purchaser/bid'
;
candidate
,
import
{
projectClassify
}
from
'@api/common/list'
;
winnerSave
import
dataTable
from
'@components/nopageTable.vue'
;
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
{
import
changeNav
from
'@components/changeNav.vue'
;
projectClassify
import
singleUpload
from
'@components/Upload/Upload.vue'
;
}
from
'@api/common/list'
export
default
{
import
dataTable
from
'@components/nopageTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
changeNav
from
'@components/changeNav.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
export
default
{
components
:
{
components
:
{
dataBreadcrumb
,
dataBreadcrumb
,
changeNav
,
changeNav
,
...
@@ -57,132 +68,125 @@
...
@@ -57,132 +68,125 @@
},
},
data
()
{
data
()
{
return
{
return
{
classify
:
""
,
classify
:
''
,
projectCode
:
""
,
projectCode
:
''
,
projectName
:
""
,
projectName
:
''
,
file
:
[],
file
:
[],
companyId
:
""
,
companyId
:
''
,
projectId
:
""
,
projectId
:
''
,
content
:
''
,
content
:
''
,
navs
:
[
'确认中标人'
],
navs
:
[
'确认中标人'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
tableData
:
[],
tableData
:
[],
columns
:
[{
type
:
0
,
label
:
'中标候选人'
,
columns
:
[],
prop
:
'companyName'
detail
:
''
//,
},
};
{
label
:
'联系人'
,
prop
:
'contacts'
},
{
label
:
'手机号'
,
prop
:
'phone'
},
{
slot
:
'operate'
}
]
//
}
},
},
created
()
{
created
()
{
this
.
getcandidate
();
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
getprojectClassify
();
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
let
type
=
this
.
$route
.
query
.
type
;
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
type
=
type
;
if
(
type
==
2
)
{
this
.
navs
[
0
]
=
'查看中标人'
;
this
.
get
();
}
else
{
this
.
getprojectClassify
()
this
.
getcandidate
()
}
},
},
methods
:
{
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
getfile
(
val
)
{
getfile
(
val
)
{
this
.
file
=
val
this
.
file
=
val
;
},
},
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
},
examine
()
{
examine
()
{
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
)
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
);
},
},
check
(
index
)
{
check
(
index
)
{
console
.
log
(
index
);
console
.
log
(
index
);
},
},
// 获取中标人列表
async
get
()
{
async
getcandidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
var
{
data
,
code
}
=
await
candidate
(
projectId
);
const
{
data
,
code
}
=
await
candidate
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
tableData
=
data
this
.
tableData
=
data
;
}
}
var
{
data
,
code
}
=
await
projectClassify
(
projectId
);
this
.
classify
=
data
;
var
{
data
,
code
}
=
await
winPersionInfoDetail
(
projectId
);
this
.
companyId
=
data
.
companyId
;
this
.
remark
=
data
.
remark
;
this
.
file
=
data
.
fileList
;
},
},
// 获取项目分类
async
getprojectClassify
()
{
async
getprojectClassify
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
try
{
var
{
data
,
code
}
=
await
projectClassify
(
projectId
);
const
{
data
,
code
}
=
await
projectClassify
(
projectId
)
this
.
classify
=
data
;
this
.
classify
=
data
;
}
catch
(
e
)
{
},
console
.
log
(
e
)
async
getcandidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
var
{
data
,
code
}
=
await
candidate
(
projectId
);
if
(
code
===
200
)
{
this
.
tableData
=
data
;
}
}
},
},
// 提交中标人
// 提交中标人
async
submitData
()
{
async
submitData
()
{
try
{
try
{
let
data
=
{};
let
data
=
{};
data
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
data
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
data
.
companyId
=
this
.
companyId
data
.
companyId
=
this
.
companyId
;
data
.
remark
=
this
.
remark
;
data
.
remark
=
this
.
remark
;
data
.
fileList
=
this
.
file
;
data
.
fileList
=
this
.
file
;
const
{
const
{
msg
,
code
}
=
await
winnerSave
(
data
);
msg
,
code
}
=
await
winnerSave
(
data
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
$message
({
this
.
$message
({
message
:
"提交完成"
,
message
:
'提交完成'
,
type
:
'success'
,
type
:
'success'
,
duration
:
1500
duration
:
1500
})
});
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
1500
)
},
1500
);
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
}
}
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.message
{
.message
{
width
:
80%
;
width
:
80%
;
margin
:
0
auto
margin
:
0
auto
;
}
}
.message
>
div
{
.message
>
div
{
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
.form
>
h3
{
.form
>
h3
{
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
30px
;
margin-bottom
:
30px
;
}
}
.button
{
.button
{
width
:
100%
;
width
:
100%
;
height
:
50px
;
height
:
50px
;
}
}
span
{
color
:
#b21f2d
;
span
{
}
color
:
#B21F2D
}
</
style
>
</
style
>
src/pages/purchaser/bid/bidSure/notice.vue
View file @
fe944733
...
@@ -18,18 +18,17 @@
...
@@ -18,18 +18,17 @@
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
:fileList=
"ruleForm.accessoryPOList"
></singleUpload>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
></singleUpload>
</div>
</div>
<div>
发布媒体:捷安采官网
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
</div>
<div
class=
"flex-item"
>
<
!--
<
div
class=
"flex-item"
>
<div
style=
"width: 50px"
>
备注:
</div>
<div
style=
"width: 50px"
>
备注:
{{
remark
}}
</div>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"remark"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"remark"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
</div>
</div>
-->
</div>
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<h3>
确定中标人
</h3>
<h3>
中标人列表
</h3>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -52,7 +51,7 @@
...
@@ -52,7 +51,7 @@
<el-button
type=
"primary"
@
click=
"submitData"
v-if=
"type!== 2"
>
提交审批
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
v-if=
"type!== 2"
>
提交审批
</el-button>
</div>
</div>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
收货地址
"
width=
"30%"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
中标价格
"
width=
"30%"
>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
<el-form-item
label-width=
"120px"
label=
"输入中标价"
>
<el-form-item
label-width=
"120px"
label=
"输入中标价"
>
<el-input-number
v-model=
"form.price"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"form.price"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
...
@@ -193,7 +192,12 @@ export default {
...
@@ -193,7 +192,12 @@ export default {
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
if
(
code
==
200
)
{
if
(
code
==
200
)
{
for
(
let
item
of
data
.
accessoryVOList
)
{
item
.
name
=
item
.
fileName
;
item
.
url
=
item
.
accessoryUrl
;
}
this
.
ruleForm
=
data
;
this
.
ruleForm
=
data
;
}
}
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
log
(
err
);
console
.
log
(
err
);
...
...
src/pages/purchaser/bid/bidSure/publicity.vue
View file @
fe944733
...
@@ -28,10 +28,10 @@
...
@@ -28,10 +28,10 @@
</div>
</div>
<div>
发布媒体:捷安采官网
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
</div>
<div
class=
"flex-item"
>
<
!--
<
div
class=
"flex-item"
>
<div
style=
"width: 50px"
>
备注:
</div>
<div
style=
"width: 50px"
>
备注:
</div>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"textarea"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"textarea"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
</div>
</div>
-->
</div>
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<h3
style=
"margin-top: 30px"
>
中标候选人公示内容
</h3>
<h3
style=
"margin-top: 30px"
>
中标候选人公示内容
</h3>
...
...
src/pages/purchaser/bid/bidSure/see.vue
View file @
fe944733
...
@@ -338,6 +338,10 @@ export default {
...
@@ -338,6 +338,10 @@ export default {
.bond
span
{
.bond
span
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.file
{
flex-wrap
:
wrap
;
}
.file
>
div
{
.file
>
div
{
margin-right
:
10px
;
margin-right
:
10px
;
color
:
#113dee
;
color
:
#113dee
;
...
...
src/pages/purchaser/bid/editProject/demand.vue
View file @
fe944733
...
@@ -199,6 +199,7 @@ export default {
...
@@ -199,6 +199,7 @@ export default {
idx
:
''
idx
:
''
};
};
},
},
methods
:
{
methods
:
{
// 删除操作
// 删除操作
handleDelete
(
row
,
index
)
{
handleDelete
(
row
,
index
)
{
...
...
src/pages/purchaser/bid/editProject/message.vue
View file @
fe944733
...
@@ -514,6 +514,7 @@ export default {
...
@@ -514,6 +514,7 @@ export default {
this
.
industryList
();
this
.
industryList
();
this
.
projectClassifyList
();
this
.
projectClassifyList
();
this
.
getGenerateNumber
();
this
.
getGenerateNumber
();
this
.
$refs
.
ruleForm
.
clearValidate
()
},
},
methods
:
{
methods
:
{
// 删除操作
// 删除操作
...
...
src/pages/purchaser/bid/editProject/timeSet.vue
View file @
fe944733
...
@@ -163,7 +163,9 @@ export default {
...
@@ -163,7 +163,9 @@ export default {
}
}
};
};
},
},
created
(){
this
.
$refs
.
ruleForm
.
clearValidate
()
},
methods
:
{
methods
:
{
releaseTime
(
val
)
{
releaseTime
(
val
)
{
this
.
ruleForm
.
releaseTime
=
new
Date
(
val
).
getTime
();
this
.
ruleForm
.
releaseTime
=
new
Date
(
val
).
getTime
();
...
...
src/pages/purchaser/bid/seeProject/fileUpload.vue
View file @
fe944733
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
</el-table-column>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"价格"
align=
"center"
fixed=
"right"
width=
"300"
>
<el-table-column
slot=
"operate"
label=
"价格"
align=
"center"
fixed=
"right"
width=
"300"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
free
?
scope
.
row
.
price
:
'无'
}}
</div>
<div>
{{
!
scope
.
row
.
free
?
scope
.
row
.
price
:
'无'
}}
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
...
src/pages/purchaser/bid/seeProject/message.vue
View file @
fe944733
...
@@ -197,7 +197,7 @@
...
@@ -197,7 +197,7 @@
<el-form-item
label=
"附件:"
prop=
"file"
>
<el-form-item
label=
"附件:"
prop=
"file"
>
<ul
v-if=
'ruleForm.accessoryDOList!==undefined && ruleForm.accessoryDOList.length>0'
>
<ul
v-if=
'ruleForm.accessoryDOList!==undefined && ruleForm.accessoryDOList.length>0'
>
<li
v-for=
"(item,i) in ruleForm.accessoryDOList"
:key=
"i"
>
<li
v-for=
"(item,i) in ruleForm.accessoryDOList"
:key=
"i"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
<div
v-else
>
无
</div>
<div
v-else
>
无
</div>
...
...
src/pages/purchaser/bid/workbench.vue
View file @
fe944733
...
@@ -177,12 +177,12 @@ export default {
...
@@ -177,12 +177,12 @@ export default {
url
:
'/purchaser/bid/bidSure/bidResult/list'
,
url
:
'/purchaser/bid/bidSure/bidResult/list'
,
bright
:
false
bright
:
false
},
},
{
//
{
id
:
19
,
//
id: 19,
label
:
'合同管理'
,
//
label: '合同管理',
url
:
'/purchaser/bid/bidSure/contract'
,
//
url: '/purchaser/bid/bidSure/contract',
bright
:
false
//
bright: false
}
//
}
]
]
},
},
{
{
...
@@ -303,7 +303,10 @@ export default {
...
@@ -303,7 +303,10 @@ export default {
}
else
if
(
item2
.
buttonId
==
12
&&
item2
.
status
==
2
)
{
}
else
if
(
item2
.
buttonId
==
12
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/bidSure/see'
;
item1
.
url
=
'/purchaser/bid/bidSure/see'
;
item1
.
label
=
'查看评标'
;
item1
.
label
=
'查看评标'
;
}
else
{
}
else
if
(
item2
.
buttonId
==
15
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/bidSure/determine?type=2'
;
item1
.
label
=
'查看中标人'
;
}
else
{
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
}
}
...
...
src/pages/purchaser/home/home.vue
View file @
fe944733
...
@@ -161,9 +161,7 @@ export default {
...
@@ -161,9 +161,7 @@ export default {
},
},
created
()
{
created
()
{
let
token
=
getSearchString
(
'token'
);
let
token
=
getSearchString
(
'token'
);
if
(
token
!==
'undefined'
)
{
localStorage
.
setItem
(
'token'
,
token
);
localStorage
.
setItem
(
'token'
,
token
);
}
this
.
gethome
();
this
.
gethome
();
},
},
methods
:
{
methods
:
{
...
...
src/pages/supply/bid/joinProject/bidOpen/bidOpenhal.vue
View file @
fe944733
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<div>
中国标准时间:
{{
currentTime
}}
</div>
<div>
中国标准时间:
{{
currentTime
}}
</div>
<div
class=
"hal"
>
<div
class=
"hal"
>
<h3
style=
"text-align: center"
>
{{
projectName
}}
项目开标大厅
</h3>
<h3
style=
"text-align: center"
>
{{
projectName
}}
项目开标大厅
</h3>
<div
class=
"time-message flex-
center"
style=
"border-top:1px solid gray;width:100%
"
>
<div
class=
"time-message flex-
between
"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<p>
截标倒计时:
</p>
<p>
截标倒计时:
</p>
<timeDown
:remain-time=
"remaintime"
@
countDowmEnd=
"remaintimeEnd"
></timeDown>
<timeDown
:remain-time=
"remaintime"
@
countDowmEnd=
"remaintimeEnd"
></timeDown>
...
...
src/pages/supply/bid/joinProject/bidStage/bond/detail.vue
View file @
fe944733
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
<ul>
<ul>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
</el-form-item>
</el-form-item>
...
...
src/pages/supply/bid/joinProject/bidStage/tenderFee/detail.vue
View file @
fe944733
...
@@ -109,7 +109,7 @@
...
@@ -109,7 +109,7 @@
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherList"
>
<ul>
<ul>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<li
v-for=
"(item, index) in ruleForm.voucherList"
:key=
"index"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
<a
target=
"_blank"
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
</el-form-item>
</el-form-item>
...
...
src/pages/supply/bid/joinProject/bidSure/bidresultAdvice.vue
View file @
fe944733
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
<div
style=
"margin-right: 20px;"
>
附件:
</div>
<div
style=
"margin-right: 20px;"
>
附件:
</div>
<ul>
<ul>
<!--
<li
v-for=
"(item, i) in detail"
:key=
"i"
>
-->
<!--
<li
v-for=
"(item, i) in detail"
:key=
"i"
>
-->
<a
:href=
detail.resultBookUrl
>
{{
detail
.
resultBookName
}}
</a>
<a
target=
"_blank"
:href=
detail.resultBookUrl
>
{{
detail
.
resultBookName
}}
</a>
</ul>
</ul>
<!--
<div
style=
"margin-right: 20px;"
>
附件:中标通知书.pdf
</div>
<!--
<div
style=
"margin-right: 20px;"
>
附件:中标通知书.pdf
</div>
<el-button
size=
"mini"
>
下载
</el-button>
-->
<el-button
size=
"mini"
>
下载
</el-button>
-->
...
...
src/pages/supply/bid/joinProject/workbench.vue
View file @
fe944733
...
@@ -167,12 +167,12 @@ export default {
...
@@ -167,12 +167,12 @@ export default {
url
:
'/supply/bid/joinProject/bidSure/bidresultAdvice'
,
url
:
'/supply/bid/joinProject/bidSure/bidresultAdvice'
,
bright
:
false
bright
:
false
},
},
{
//
{
id
:
65
,
//
id: 65,
label
:
'合同管理'
,
//
label: '合同管理',
url
:
'/supply/bid/joinProject/bidSure/contractManagement'
,
//
url: '/supply/bid/joinProject/bidSure/contractManagement',
bright
:
false
//
bright: false
}
//
}
]
]
},
},
{
{
...
...
src/pages/supply/buyOut/voucherSign.vue
View file @
fe944733
...
@@ -10,9 +10,9 @@
...
@@ -10,9 +10,9 @@
<div>
下载合同:
</div>
<div>
下载合同:
</div>
<ul>
<ul>
<li
class=
"flex-item"
>
<li
class=
"flex-item"
>
<div>
{{
detail
.
fileName
}}
f
</div>
<div>
{{
detail
.
fileName
}}
</div>
<!--
<el-button
size=
"mini"
>
下载
</el-button>
-->
<!--
<el-button
size=
"mini"
>
下载
</el-button>
-->
<a
:href=
"detail.fileUrl"
>
下载
</a>
<a
target=
"_blank"
:href=
"detail.fileUrl"
>
下载
</a>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
...
src/utils/common.js
View file @
fe944733
...
@@ -18,12 +18,12 @@ export function getSearchString(key) {
...
@@ -18,12 +18,12 @@ export function getSearchString(key) {
export
function
down
(
url
)
{
export
function
down
(
url
)
{
window
.
open
(
url
)
window
.
open
(
url
)
}
}
export
let
requestUrl
=
'http://192.168.43.117:8085'
;
//
export let requestUrl = 'http://192.168.43.117:8085';
//
export let requestUrl = 'http://60.205.251.80:8082';
export
let
requestUrl
=
'http://60.205.251.80:8082'
;
export
let
homeUrl
=
'http://localhost:3000'
;
//
export let homeUrl = 'http://localhost:3000';
//
export let homeUrl = 'http://60.205.251.80:8081';
export
let
homeUrl
=
'http://60.205.251.80:8081'
;
export
let
openUrl
=
'//192.168.43.117:8085'
;
//
export let openUrl = '//192.168.43.117:8085';
//
export let openUrl = '//60.205.251.80:8085';
export
let
openUrl
=
'//60.205.251.80:8085'
;
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