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
9dc0e351
Commit
9dc0e351
authored
Oct 13, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改开标前
parent
c41e2f1d
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
475 additions
and
345 deletions
+475
-345
common.js
public/static/view/js/common.js
+0
-10
list.js
src/api/common/list.js
+7
-2
bid.js
src/api/supply/bid.js
+26
-1
specialUpload.vue
src/components/Upload/specialUpload.vue
+8
-1
noticeDetail.vue
src/components/detail/noticeDetail.vue
+16
-7
content.vue
...es/purchaser/bid/bidEvaluation/projectManager/content.vue
+1
-1
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+7
-7
bidSet.vue
src/pages/purchaser/bid/bidStage/bidSet.vue
+13
-2
changeList.vue
src/pages/purchaser/bid/bidStage/changeList/changeList.vue
+14
-8
confirm.vue
src/pages/purchaser/bid/bidStage/clearManagement/confirm.vue
+1
-1
see.vue
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
+5
-4
detail.vue
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
+99
-79
fileUpload.vue
src/pages/purchaser/bid/releaseProject/fileUpload.vue
+2
-14
SeeinquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/SeeinquiryAnnouncement.vue
+7
-4
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+4
-4
memberManagement.vue
src/pages/purchaser/organization/memberManagement.vue
+1
-1
clearManagement.vue
.../joinProject/bidStage/clearManagement/clearManagement.vue
+2
-2
fileDownload.vue
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
+148
-126
tenderFee.vue
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
+4
-3
projectList.vue
src/pages/supply/bid/joinProject/projectList.vue
+1
-1
seeAnnouncement.vue
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
+101
-59
signUp.vue
src/pages/supply/bid/signupOnline/signUp.vue
+1
-1
memberManagement.vue
src/pages/supply/organization/memberManagement.vue
+1
-1
common.js
src/utils/common.js
+6
-6
No files found.
public/static/view/js/common.js
View file @
9dc0e351
...
...
@@ -992,12 +992,3 @@ function dump(array){
array
=
array
.
toString
();
return
(
array
)
}
// 数组排序
function
compare
(
property
){
return
function
(
a
,
b
){
var
value1
=
(
a
[
property
]
==
"true"
);
var
value2
=
(
b
[
property
]
==
"true"
);
return
value1
-
value2
;
}
}
\ No newline at end of file
src/api/common/list.js
View file @
9dc0e351
...
...
@@ -151,8 +151,13 @@ export function companyDetail(companyId) {
method
:
'get'
})
}
// 获取项目信息(比如获取项目名称)
export
function
projectDetail
(
projectId
)
{
return
request
({
url
:
`project/rough/detail/
${
projectId
}
`
,
method
:
'get'
})
}
// 部署线上
export
function
autodeploy
()
{
...
...
src/api/supply/bid.js
View file @
9dc0e351
...
...
@@ -12,6 +12,21 @@ export function biddingDetail(id) {
method
:
'get'
,
})
}
// 获取采购商是否点击邀请了的状态和他是邀请还是公共的
export
function
inviteStatus
(
projectId
)
{
return
request
({
url
:
`/bidder-apply/inviteStatus/
${
projectId
}
`
,
method
:
'get'
,
})
}
// 拒绝邀请
export
function
refuseInvite
(
projectId
)
{
return
request
({
url
:
`/bidder-apply/refuseInvite/
${
projectId
}
`
,
method
:
'get'
,
})
}
// 2.1.2
//供应商报名
...
...
@@ -24,7 +39,17 @@ export function projectapply(data) {
}
// 2.1.3
// 查看询价公告里的商品报价列表
//查看询价公告里的商品报价列表
export
function
offerBidderDetail
(
params
)
{
return
request
({
url
:
"bidder-apply/offerBidder/detail"
,
method
:
'get'
,
params
:
params
})
}
// 其他地方的商品报价列表
export
function
commoditylist
(
projectId
)
{
return
request
({
url
:
`/bidder-apply/commodity/list/
${
projectId
}
`
,
...
...
src/components/Upload/specialUpload.vue
View file @
9dc0e351
...
...
@@ -22,7 +22,7 @@
<div>
{{
getMb
(
scope
.
row
.
size
)
}}
KB
</div>
</
template
>
</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"
v-if=
"type==0"
>
<
template
slot-scope=
"scope"
>
<el-radio-group
v-model=
"scope.row.free"
>
<el-radio
:label=
"true"
>
免费
</el-radio>
...
...
@@ -55,6 +55,10 @@ export default {
dataTable
},
props
:
{
type
:{
type
:
Number
,
default
:
0
},
accept
:
{
type
:
String
,
default
:
'.pdf,.jpg,.jpeg,.zip,.rar,.doc,.docx'
...
...
@@ -107,6 +111,9 @@ export default {
]
}
},
created
()
{
console
.
log
(
this
.
type
)
},
methods
:
{
getMb
(
size
){
let
sieze1
=
size
/
1024
...
...
src/components/detail/noticeDetail.vue
View file @
9dc0e351
...
...
@@ -3,10 +3,10 @@
<div
v-if=
"state"
>
<div
class=
"info_mes"
>
<p>
项目名称:
{{
projectName
}}
项目名称:
{{
project
detail
.
project
Name
}}
</p>
<p>
项目 项目编号:
{{
projectCode
}}
项目 项目编号:
{{
project
detail
.
project
Code
}}
</p>
<p
>
发布日期:
{{
detail
.
createTime
}}
...
...
@@ -37,13 +37,12 @@
<
script
>
import
{
biddingProjectId
biddingProjectId
,
projectDetail
}
from
'@api/common/list'
export
default
{
data
()
{
return
{
projectName
:
""
,
projectCode
:
""
,
projectdetail
:
""
,
detail
:
""
,
state
:
true
}
...
...
@@ -62,11 +61,21 @@
this
.
state
=
false
}
},
async
getprojectDetail
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
projectDetail
(
projectId
)
if
(
code
==
200
){
this
.
projectdetail
=
data
}
},
},
created
()
{
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
getbiddingProjectId
()
this
.
getprojectDetail
();
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidEvaluation/projectManager/content.vue
View file @
9dc0e351
...
...
@@ -230,7 +230,7 @@
return
function
(
a
,
b
)
{
var
value1
=
a
[
property
];
var
value2
=
b
[
property
];
return
value
1
-
value2
;
return
value
2
-
value1
;
}
},
// 查看评标附件
...
...
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
9dc0e351
...
...
@@ -73,18 +73,18 @@
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"是否中标候选人"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.winPerson
"
>
是
</div>
<div
v-else
>
</div>
<div
v-if=
"scope.row.winPerson=='true'
"
>
是
</div>
<div
v-if=
"scope.row.winPerson=='false'"
>
否
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.
commercialGrad
e"
>
{{
scope
.
$index
+
1
}}
</div>
<div
v-if=
"scope.row.
finalScor
e"
>
{{
scope
.
$index
+
1
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"最终得分"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.
commercialGrade"
>
{{
(
scope
.
row
.
finalScore
).
toFixed
(
2
)
}}
</div>
<div
v-if=
"scope.row.
finalScore"
>
{{
(
scope
.
row
.
finalScore
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
...
...
@@ -146,8 +146,8 @@
<el-input-number
v-model=
"rankForm.evaluationPrice"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"请输入"
></el-input-number>
</el-form-item>
<el-form-item
label=
"是否中标候选人"
prop=
"winPerson"
>
<el-radio
v-model=
"rankForm.winPerson"
:
label=
"true"
>
是
</el-radio>
<el-radio
v-model=
"rankForm.winPerson"
:
label=
"false"
>
否
</el-radio>
<el-radio
v-model=
"rankForm.winPerson"
label=
"true"
>
是
</el-radio>
<el-radio
v-model=
"rankForm.winPerson"
label=
"false"
>
否
</el-radio>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -381,7 +381,7 @@
return
function
(
a
,
b
)
{
var
value1
=
a
[
property
];
var
value2
=
b
[
property
];
return
value
1
-
value2
;
return
value
2
-
value1
;
}
},
getfile
(
val
)
{
...
...
src/pages/purchaser/bid/bidStage/bidSet.vue
View file @
9dc0e351
...
...
@@ -9,7 +9,7 @@
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
开标时间:
2020-08-08 18:08:00
</div>
<div>
开标时间:
{{
openBidTime
}}
</div>
<div>
项目状态:
{{
projectStatus
}}
</div>
</div>
<div>
...
...
@@ -57,6 +57,7 @@
</
template
>
<
script
>
import
{
bidsetting
}
from
'@api/purchaser/bid'
import
{
timeInfo
}
from
'@api/supply/bid'
import
{
opener
,
mamager
}
from
'@api/common/list'
import
dataTable
from
'@components/dataTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
...
...
@@ -100,7 +101,8 @@ export default {
navs
:
[
'开标设置'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
projectCode
:
""
,
projectName
:
""
projectName
:
""
,
openBidTime
:
""
}
},
created
()
{
...
...
@@ -109,11 +111,20 @@ export default {
this
.
projectStatus
=
localStorage
.
getItem
(
"projectStatus"
)
this
.
getopener
()
this
.
getmamager
()
this
.
gettimeInfo
()
},
methods
:
{
cancle
()
{
this
.
$router
.
go
(
-
1
)
},
async
gettimeInfo
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
timeInfo
(
projectId
)
this
.
openBidTime
=
data
.
openBidTime
},
// 获取公司人员列表
async
getopener
()
{
let
companyId
=
localStorage
.
getItem
(
"companyId"
)
...
...
src/pages/purchaser/bid/bidStage/changeList/changeList.vue
View file @
9dc0e351
...
...
@@ -4,6 +4,13 @@
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<el-button
class=
"absolute"
type=
"primary"
@
click=
"release"
>
发布变更公告
</el-button>
<dataTable
:columns=
"columns"
:table-top=
"60"
url=
"notice/list"
:page-obj=
"pageObj"
>
<el-table-column
slot=
"auditStatus"
label=
"操作"
align=
"center"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.auditStatus==0"
>
未审核
</div>
<div
v-else-if=
"scope.row.auditStatus==1"
>
审核通过
</div>
<div
v-else
>
未通过
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.auditStatus===2"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row.id)"
>
修改
</el-button>
...
...
@@ -48,14 +55,13 @@ export default {
prop
:
'createTime'
,
sortable
:
true
},
{
label
:
'状态'
,
prop
:
'projectStatus'
},
{
label
:
'备注'
,
prop
:
'reason'
},
{
slot
:
'auditStatus'
},
// {
// label: '备注',
// prop: 'reason'
// },
{
slot
:
'operate'
}
...
...
src/pages/purchaser/bid/bidStage/clearManagement/confirm.vue
View file @
9dc0e351
...
...
@@ -10,7 +10,7 @@
<h3>
这里显示招标方单位名称:
</h3>
<h5>
我单位已收到贵公司发出的项目
{{
detail
.
projectName
}}
澄清标题为
{{
detail
.
title
}}
的澄清文件,特此回执
</h5>
<div
class=
"flex"
>
<h4><span>
*
</span>
回执文件
</h4>
<h4
class=
'adjustment'
><span>
*
</span>
回执文件
</h4>
<div
class=
"img"
>
<div>
{{
detail
.
fileName
}}
</div>
<el-image
...
...
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
View file @
9dc0e351
...
...
@@ -70,6 +70,9 @@
</template>
<
script
>
import
{
getTime1
}
from
'@utils/time'
import
{
clarifiesDetail
,
questionDetail
,
...
...
@@ -108,7 +111,7 @@ export default {
},
{
label
:
'确认时间'
,
prop
:
'
upd
ateTime'
prop
:
'
cre
ateTime'
},
{
slot
:
'operate'
...
...
@@ -201,9 +204,7 @@ export default {
}
=
await
bidClarifies
(
params
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
!
item
.
updateTime
)
{
item
.
updateTime
=
'空'
}
item
.
createTime
=
getTime1
(
item
.
createTime
)
}
this
.
tableData
=
data
}
...
...
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
View file @
9dc0e351
...
...
@@ -4,9 +4,9 @@
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
{{
title
}}
</h3>
<h5>
{{
title
}}
购标信息、邮寄信息、发票信息、缴费信息
</h5>
</div>
</div>
<div
class=
"othercontent"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
label-width=
"200px"
class=
"demo-ruleForm"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
label-width=
"200px"
class=
"demo-ruleForm"
>
<div
class=
"message"
>
<div>
<div
class=
"describe"
>
确认购标信息
</div>
...
...
@@ -111,24 +111,24 @@
</el-input>
</el-form-item>
<el-form-item
label=
"上传缴费凭证:"
prop=
"voucherUrl"
>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
<!-- 拒绝原因 -->
<!-- 拒绝原因 -->
<el-dialog
title=
"审核拒绝"
:visible
.
sync=
"dialogFormVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
>
<el-form-item
label=
"拒绝原因"
label-width=
"100"
>
<el-input
v-model=
"form.reason"
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"refuse"
>
确 定
</el-button>
</div>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
>
<el-form-item
label=
"拒绝原因"
label-width=
"100"
>
<el-input
v-model=
"form.reason"
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"refuse"
>
确 定
</el-button>
</div>
</el-dialog>
<div
class=
"bottomButton"
v-if=
"type=='see'"
>
<el-button
@
click=
"back"
>
返回
</el-button>
...
...
@@ -144,7 +144,8 @@
<
script
>
import
{
bidbookDetail
,
operationAduit
bidbookDetail
,
operationAduit
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
Upload
from
'@components/Upload/Upload.vue'
...
...
@@ -163,84 +164,103 @@
}
};
return
{
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{},
form
:{
reson
:
""
form
:
{
reson
:
""
},
rules
:
{
reason
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}]
}
rules
:
{
reason
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}]
}
}
},
methods
:
{
back
(){
back
()
{
this
.
$router
.
go
(
-
1
)
},
async
getBidbookDetail
(
feeId
)
{
try
{
const
{
data
,
code
}
=
await
bidbookDetail
(
feeId
)
if
(
code
==
200
){
this
.
ruleForm
=
data
async
getBidbookDetail
(
feeId
)
{
try
{
const
{
data
,
code
}
=
await
bidbookDetail
(
feeId
)
if
(
code
==
200
)
{
this
.
ruleForm
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 审核拒绝
async
refuse
()
{
try
{
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
if
(
valid
)
{
let
form
=
this
.
form
;
form
.
aduit
=
2
form
.
id
=
this
.
feeId
const
{
code
,
msg
}
=
await
operationAduit
(
form
)
if
(
code
===
200
)
{
this
.
$success
.
success
(
msg
)
}
else
{
this
.
$success
.
error
(
msg
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
//审核通过
async
adopt
()
{
try
{
let
form
=
{};
form
.
aduit
=
1
form
.
id
=
this
.
feeId
const
{
code
,
msg
}
=
await
operationAduit
(
form
)
if
(
code
===
200
)
{
this
.
$success
.
success
(
msg
)
}
else
{
this
.
$success
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 审核拒绝
async
refuse
()
{
try
{
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
if
(
valid
)
{
let
form
=
this
.
form
;
form
.
aduit
=
2
form
.
id
=
this
.
feeId
const
{
code
,
msg
}
=
await
operationAduit
(
form
)
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$success
.
error
(
msg
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
//审核通过
async
adopt
()
{
try
{
let
form
=
{};
form
.
aduit
=
1
form
.
id
=
this
.
feeId
const
{
code
,
msg
}
=
await
operationAduit
(
form
)
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$success
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
created
()
{
this
.
type
=
this
.
$route
.
query
.
type
;
if
(
this
.
type
==
"examine"
)
{
this
.
title
=
"审核"
}
else
{
this
.
title
=
"查看"
this
.
type
=
this
.
$route
.
query
.
type
;
if
(
this
.
type
==
"examine"
)
{
this
.
title
=
"审核"
}
else
{
this
.
title
=
"查看"
}
let
feeId
=
this
.
$route
.
query
.
feeId
;
this
.
feeId
=
feeId
let
feeId
=
this
.
$route
.
query
.
feeId
;
this
.
feeId
=
feeId
this
.
getBidbookDetail
(
feeId
);
}
}
...
...
src/pages/purchaser/bid/releaseProject/fileUpload.vue
View file @
9dc0e351
...
...
@@ -13,8 +13,8 @@
<el-form-item
label=
"上传附件"
prop=
"file"
>
<upload
:limit=
"1"
accept=
".pdf"
tip=
"请上传一个招标文件(pdf),不要超过50M。"
:max=
"50"
@
input=
"getfile"
></upload>
</el-form-item>
<el-form-item
label=
"其他附件"
prop=
"file1"
>
<upload
:limit=
"5"
tip=
"最多上传五个附件,单个不超过100M。"
:max=
"100"
@
input=
"getfile1"
>
<el-form-item
label=
"其他附件"
>
<upload
:limit=
"5"
tip=
"最多上传五个附件,单个不超过100M。"
:
type=
"1"
:
max=
"100"
@
input=
"getfile1"
>
</upload>
</el-form-item>
</el-form>
...
...
@@ -62,13 +62,6 @@ export default {
callback
()
}
}
let
checkidentity1
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
ruleForm
.
bidBookAccessoryPOList
.
length
===
0
)
{
callback
(
new
Error
(
'请上传其他附件'
))
}
else
{
callback
()
}
}
return
{
ruleForm
:
{
bidBookPO
:
[],
...
...
@@ -81,11 +74,6 @@ export default {
validator
:
checkidentity
,
trigger
:
'change'
}],
file1
:
[{
required
:
true
,
validator
:
checkidentity1
,
trigger
:
'change'
}]
}
}
},
...
...
src/pages/purchaser/bid/reviewed/SeeinquiryAnnouncement.vue
View file @
9dc0e351
...
...
@@ -22,7 +22,7 @@
<el-button
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</div>
</div>
<el-dialog
title=
"
收货地址
"
:visible
.
sync=
"dialogFormVisible"
>
<el-dialog
title=
"
报价明细
"
:visible
.
sync=
"dialogFormVisible"
>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
></dataTable>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
...
...
@@ -35,7 +35,7 @@
<
script
>
import
{
offerBidderlist
,
commoditylist
offerBidderDetail
}
from
'@api/supply/bid'
import
{
getTime1
...
...
@@ -81,7 +81,7 @@
},
{
label
:
'标杆价(元)'
,
prop
:
'
p
rice'
prop
:
'
sightP
rice'
},
{
label
:
'备注'
,
...
...
@@ -120,10 +120,13 @@
this
.
Bidderlist
=
data
},
async
see
(
id
)
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
message
.
companyId
=
id
const
{
data
,
code
}
=
await
commoditylist
(
id
)
}
=
await
offerBidderDetail
(
message
)
this
.
dialogFormVisible
=
true
this
.
tableData
=
data
}
...
...
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
9dc0e351
...
...
@@ -21,8 +21,8 @@
<el-form-item
label=
"询价所在地"
prop=
"address"
>
<citySelect
@
sendprovinceId=
"getprovinceId"
@
sendcityId=
"getcityId"
@
senddistrictId=
"getdistrictId"
></citySelect>
</el-form-item>
<el-form-item
label=
"项目优先级"
prop=
"priority"
>
<el-radio-group
v-model=
"ruleForm.priority"
class=
"flex"
>
<el-form-item
label=
"项目优先级"
prop=
"priority"
>
<el-radio-group
v-model=
"ruleForm.priority"
class=
"flex
-item
"
>
<el-radio
:label=
"0"
>
普通
</el-radio>
<el-radio
:label=
"1"
>
紧急
</el-radio>
</el-radio-group>
...
...
@@ -60,7 +60,7 @@
</el-form-item>
</div>
<el-form-item
label=
"预算总额(元)"
prop=
"budget"
style=
"width: 20%;"
>
<el-input-number
v-model=
"ruleForm.budget"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"ruleForm.budget"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"
请
输入"
></el-input-number>
</el-form-item>
</el-form>
</div>
...
...
@@ -201,7 +201,7 @@ export default {
contact
:
'1'
,
contactPhone
:
'1'
,
facsimile
:
''
,
budget
:
''
,
budget
:
undefined
,
supplierScale
:
''
,
supplierQualification
:
''
,
supplierRegion
:
''
,
...
...
src/pages/purchaser/organization/memberManagement.vue
View file @
9dc0e351
...
...
@@ -10,7 +10,7 @@
</
template
>
</el-table-column>
</dataTable>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
收货地址
"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
添加
"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-form-item
label=
"姓名"
label-width=
"50px"
prop=
"name"
>
<el-input
v-model
.
trim=
"form.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
...
...
src/pages/supply/bid/joinProject/bidStage/clearManagement/clearManagement.vue
View file @
9dc0e351
...
...
@@ -78,11 +78,11 @@
},
{
label
:
'提出人'
,
prop
:
'
tender
CompanyName'
prop
:
'
bid
CompanyName'
},
{
label
:
'回复人'
,
prop
:
'
bid
CompanyName'
prop
:
'
tender
CompanyName'
},
{
slot
:
'operate'
...
...
src/pages/supply/bid/joinProject/bidStage/fileDownload.vue
View file @
9dc0e351
<
template
>
<div>
<div
class=
"home"
>
<breadCrumb
:breads =
"breads"
></breadCrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"flex-item icon-style"
>
<i
class=
"el-icon-warning"
style=
"margin:0 10px"
></i>
<div>
若已购标请联系平台方审核,若未购标请及时购买,客服电话:400-6666-6666.
</div>
</div>
<div
class=
"flex-arround info"
>
<div>
项目标号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
标书获取结束时间:2018-08-08 18:23
</div>
</div>
<dataTable
:table-data=
"files"
:columns =
"columns"
:is-pageobj=
"false"
style=
"marginBottom:100px"
>
<el-table-column
slot=
"operate"
label=
"操作"
fixed=
"right"
width=
"100"
>
<template
slot-scope =
"scope"
>
<el-button
type=
"text"
align=
"center"
v-if=
"scope.row.operation=='无权限'"
>
无权限
</el-button>
<el-button
type=
"text"
align=
"center"
@
click=
"isDown(scope.row.fileUrl,scope.row.id)"
v-else
>
下载
</el-button>
</
template
>
</el-table-column>
</dataTable>
</div>
</div>
<div>
<div
class=
"home"
>
<breadCrumb
:breads=
"breads"
></breadCrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"flex-item icon-style"
>
<i
class=
"el-icon-warning"
style=
"margin:0 10px"
></i>
<div>
若已购标请联系平台方审核,若未购标请及时购买,客服电话:400-6666-6666.
</div>
</div>
<div
class=
"flex-arround info"
>
<div>
项目标号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
标书获取结束时间:
{{
bidFileEndTime
}}
</div>
</div>
<dataTable
:table-data=
"files"
:columns=
"columns"
:is-pageobj=
"false"
style=
"marginBottom:100px"
>
<el-table-column
slot=
"operate"
label=
"操作"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
align=
"center"
v-if=
"scope.row.operation=='无权限'"
>
无权限
</el-button>
<el-button
type=
"text"
align=
"center"
@
click=
"isDown(scope.row.fileUrl,scope.row.id)"
v-else
>
下载
</el-button>
</
template
>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<
script
>
import
{
bidBooklist
,
downLoad
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
changeNav
from
'@components/changeNav.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataTable
,
breadCrumb
,
changeNav
},
data
()
{
return
{
navs
:
[
'标书费缴纳管理'
],
files
:
[],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
columns
:
[{
label
:
'文件名称'
,
prop
:
'fileName'
},
{
label
:
'文件大小'
,
prop
:
'fileSize'
},
{
label
:
'文件类型'
,
prop
:
'type'
},
{
label
:
'价格(元)'
,
prop
:
'price'
},
{
slot
:
'operate'
}],
projectName
:
""
,
projectCode
:
""
}
},
created
()
{
this
.
getbidBooklist
()
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
},
methods
:{
// 检测是否能下载
async
isDown
(
url
,
id
){
try
{
let
data
=
{}
data
.
bidBookId
=
id
data
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
msg
,
code
}
=
await
downLoad
(
data
)
if
(
code
===
200
)
{
window
.
open
(
url
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 获取列表
async
getbidBooklist
()
{
try
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
const
{
data
,
code
}
=
await
bidBooklist
(
message
)
if
(
code
===
200
)
{
console
.
log
(
data
)
this
.
files
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
import
{
bidBooklist
,
downLoad
,
timeInfo
}
from
'@api/supply/bid'
import
dataTable
from
'@components/nopageTable.vue'
import
changeNav
from
'@components/changeNav.vue'
import
breadCrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataTable
,
breadCrumb
,
changeNav
},
data
()
{
return
{
bidFileEndTime
:
""
,
navs
:
[
'标书费缴纳管理'
],
files
:
[],
breads
:
[
'投标管理'
,
'我参与的项目'
,
'工作台'
],
columns
:
[{
label
:
'文件名称'
,
prop
:
'fileName'
},
{
label
:
'文件大小'
,
prop
:
'fileSize'
},
{
label
:
'文件类型'
,
prop
:
'type'
},
{
label
:
'价格(元)'
,
prop
:
'price'
},
{
slot
:
'operate'
}
],
projectName
:
""
,
projectCode
:
""
}
},
created
()
{
this
.
gettimeInfo
()
this
.
getbidBooklist
()
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
},
methods
:
{
// 检测是否能下载
async
isDown
(
url
,
id
)
{
try
{
let
data
=
{}
data
.
bidBookId
=
id
data
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
msg
,
code
}
=
await
downLoad
(
data
)
if
(
code
===
200
)
{
window
.
open
(
url
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 获取列表
async
getbidBooklist
()
{
try
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
const
{
data
,
code
}
=
await
bidBooklist
(
message
)
if
(
code
===
200
)
{
for
(
let
item
of
data
){
item
.
fileSize
=
(
item
.
fileSize
/
1024
).
toFixed
(
0
)
+
"MB"
}
this
.
files
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
async
gettimeInfo
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
timeInfo
(
projectId
)
this
.
bidFileEndTime
=
data
.
bidFileEndTime
}
}
}
</
script
>
<
style
scoped
>
.home
{
padding
:
30px
;
box-sizing
:
border-box
;
background
:
#fff
;
}
.font-buttom
{
font-size
:
14px
;
border-bottom
:
2px
solid
blue
;
width
:
100px
;
}
.icon-style
{
padding
:
5px
0
;
border
:
1px
orange
solid
;
background
:
#bfa
;
}
.info
>
div
{
font-size
:
16px
;
}
.info
{
margin
:
20px
0
}
.home
{
padding
:
30px
;
box-sizing
:
border-box
;
background
:
#fff
;
}
.font-buttom
{
font-size
:
14px
;
border-bottom
:
2px
solid
blue
;
width
:
100px
;
}
.icon-style
{
padding
:
5px
0
;
border
:
1px
orange
solid
;
background
:
#bfa
;
}
.info
>
div
{
font-size
:
16px
;
}
.info
{
margin
:
20px
0
}
</
style
>
src/pages/supply/bid/joinProject/bidStage/tenderFee.vue
View file @
9dc0e351
...
...
@@ -18,8 +18,8 @@
</el-form-item>
</div>
<div
class=
"flex-between"
>
<el-form-item
label=
"联系人:"
prop=
"
projectCode
"
>
<el-input
v-model
.
trim=
"ruleForm.
projectCode
"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-form-item
label=
"联系人:"
prop=
"
contacts
"
>
<el-input
v-model
.
trim=
"ruleForm.
contacts
"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"固定电话:"
prop=
"companyTel"
>
<el-input
v-model
.
trim=
"ruleForm.companyTel"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
...
...
@@ -56,7 +56,7 @@
<el-input
v-model
.
trim=
"ruleForm.recipientsPhone"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"邮政编码:"
>
<el-input
v-model
.
trim=
"ruleForm.recipientsMail"
placeholder=
"请输入"
maxlength=
"
3
0"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.recipientsMail"
placeholder=
"请输入"
maxlength=
"
1
0"
></el-input>
</el-form-item>
</div>
<div>
...
...
@@ -181,6 +181,7 @@
feeWay
:
''
,
remark
:
""
,
companyEmail
:
""
,
contacts
:
""
,
voucherList
:
[]
},
formrules
:
{
...
...
src/pages/supply/bid/joinProject/projectList.vue
View file @
9dc0e351
...
...
@@ -4,7 +4,7 @@
<dataTable
:columns =
"columns"
:breads =
"breads"
:checklist =
"checklist"
:page-obj =
"pageobj"
:margin-top=
"100"
url=
"/bidder/project/takePart/list"
>
<el-table-column
slot=
"operate"
label =
"项目类型"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
bidType
==
1
?
"公开招标"
:
"邀请招标"
}}
</div>
<div>
{{
scope
.
row
.
bidType
==
0
?
"公开招标"
:
"邀请招标"
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
align=
"center"
label=
"项目状态"
flexd=
"right"
width=
"200px"
>
...
...
src/pages/supply/bid/signupOnline/seeAnnouncement.vue
View file @
9dc0e351
<
template
>
<div
class=
"info"
>
<div
class=
"content"
>
<div>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<noticeDetail>
<slot>
<div
@
click=
"jump"
class=
"jump"
>
项目报价
</div>
</slot>
</noticeDetail>
</div>
<div
class=
"info_box"
>
<el-row>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"signup"
>
报名
</el-button>
</el-row>
</div>
</div>
</div>
<div
class=
"info"
>
<div
class=
"content"
>
<div>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<noticeDetail>
<slot>
<div
@
click=
"jump"
class=
"jump"
>
项目报价
</div>
</slot>
</noticeDetail>
</div>
<div
class=
"centerButton"
v-if=
'bidType==0'
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"signup"
>
报名
</el-button>
</div>
<div
class=
"centerButton"
v-if=
'bidType==1'
>
<div
v-if=
"status==1"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"signup"
>
接受邀请
</el-button>
<el-button
type=
"primary"
@
click=
"reject"
>
拒绝邀请
</el-button>
</div>
<div
v-else
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
biddingDetail
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
export
default
{
components
:
{
dataBreadcrumb
,
noticeDetail
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
id
:
""
,
}
},
methods
:{
jump
(){
this
.
$router
.
push
(
"/supply/bid/signupOnline/seePrice"
)
},
signup
(
row
){
this
.
$router
.
push
(
"/supply/bid/signupOnline/SignUp"
)
},
back
()
{
this
.
$router
.
go
(
-
1
)
},
},
created
()
{
}
}
import
{
inviteStatus
,
refuseInvite
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
export
default
{
components
:
{
dataBreadcrumb
,
noticeDetail
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
id
:
""
,
status
:
""
,
bidType
:
""
}
},
methods
:
{
jump
()
{
this
.
$router
.
push
(
"/supply/bid/signupOnline/seePrice"
)
},
signup
(
row
)
{
this
.
$router
.
push
(
"/supply/bid/signupOnline/SignUp"
)
},
back
()
{
this
.
$router
.
go
(
-
1
)
},
async
getinviteStatus
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
inviteStatus
(
projectId
)
this
.
status
=
data
.
status
this
.
bidType
=
data
.
bidType
},
async
reject
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
try
{
const
{
msg
,
code
}
=
await
refuseInvite
(
projectId
)
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
push
(
"/supply/bid/joinProject/projectList"
)
},
1500
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
created
()
{
this
.
getinviteStatus
()
}
}
</
script
>
<
style
scoped
>
.jump
{
cursor
:
pointer
;
.jump
{
cursor
:
pointer
;
margin-top
:
30px
;
color
:
#005CBF
color
:
#005CBF
}
.info
{
box-sizing
:
border-box
;
padding
:
30px
;
...
...
@@ -69,6 +114,7 @@ export default {
padding-top
:
30px
;
background
:
#fff
;
}
.info_mes
{
margin-bottom
:
40px
;
display
:
flex
;
...
...
@@ -81,10 +127,11 @@ export default {
.info_mes
.left_mes
{
margin-right
:
200px
;
font-size
:
16px
;
font-size
:
16px
;
}
.right_mes
{
font-size
:
16px
;
.right_mes
{
font-size
:
16px
;
}
h1
{
...
...
@@ -97,7 +144,7 @@ export default {
margin-right
:
100px
;
margin-top
:
50px
;
}
.content_list
h3
{
margin-top
:
30px
;
font-weight
:
bold
;
...
...
@@ -109,12 +156,7 @@ export default {
margin-bottom
:
10px
;
}
.el-row
{
display
:
flex
;
justify-content
:
center
;
}
.message
>
p
{
.message
>
p
{
font-weight
:
bold
;
}
</
style
>
src/pages/supply/bid/signupOnline/signUp.vue
View file @
9dc0e351
...
...
@@ -126,7 +126,7 @@
}
else
if
(
code
==
500
){
this
.
$message
({
message
:
msg
,
type
:
'
success
'
,
type
:
'
error
'
,
})
}
}
...
...
src/pages/supply/organization/memberManagement.vue
View file @
9dc0e351
...
...
@@ -10,7 +10,7 @@
</
template
>
</el-table-column>
</dataTable>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
收货地址
"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"
添加
"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-form-item
label=
"姓名"
label-width=
"50px"
prop=
"name"
>
<el-input
v-model
.
trim=
"form.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
...
...
src/utils/common.js
View file @
9dc0e351
...
...
@@ -15,13 +15,13 @@
}
return
obj
[
key
];
}
//
export let requestUrl = 'http://192.168.3.35:8085';
export
let
requestUrl
=
'http://60.205.251.80:8082'
;
export
let
requestUrl
=
'http://192.168.3.35:8085'
;
//
export let requestUrl = 'http://60.205.251.80:8082';
//
export let homeUrl = 'http://localhost:3000';
export
let
homeUrl
=
'http://60.205.251.80:8081'
;
export
let
homeUrl
=
'http://localhost:3000'
;
//
export let homeUrl = 'http://60.205.251.80:8081';
//
export let openUrl = '//192.168.3.35:8085';
export
let
openUrl
=
'//60.205.251.80:8085'
;
export
let
openUrl
=
'//192.168.3.35: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