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
0493286c
Commit
0493286c
authored
Oct 21, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
专家评标问题解决
parent
3bb56ece
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
834 additions
and
740 deletions
+834
-740
bid.js
src/api/purchaser/bid.js
+16
-16
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+643
-557
clearManagement.vue
src/pages/purchaser/bid/bidStage/clearManagement.vue
+160
-151
propose.vue
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
+14
-15
common.js
src/utils/common.js
+1
-1
No files found.
src/api/purchaser/bid.js
View file @
0493286c
...
@@ -363,24 +363,24 @@ export function bidFailed(data) {
...
@@ -363,24 +363,24 @@ export function bidFailed(data) {
})
})
}
}
// 编辑评标页面接口(专家)
// export function bidFailed(data) {
// return request({
// url: "tender-evaluate/editEvaluate", 三
// method: 'post',
// data:data
// })
// }
// // 保存编辑(专家)
// export function bidFailed(data) {
// return request({
// url: "tender-evaluate/saveEvaluate",
// method: 'post',
// data:data
// })
// }
// // 保存编辑(专家)
export
function
saveEvaluate
(
data
)
{
return
request
({
url
:
"tender-evaluate/saveEvaluate"
,
method
:
'post'
,
data
:
data
})
}
//是否已经提交评分等等的状态
export
function
isEvaluate
(
projectId
)
{
return
request
({
url
:
`tender-evaluate/isEvaluate/
${
projectId
}
`
,
method
:
'get'
,
})
}
//项目经理中的评标结算按钮
//项目经理中的评标结算按钮
export
function
bidend
(
projectId
)
{
export
function
bidend
(
projectId
)
{
return
request
({
return
request
({
...
...
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
0493286c
<
template
>
<
template
>
<div>
<div>
<div
class=
"content"
>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<div
class=
"message"
>
<div
class=
"message"
>
<div
class=
"flex-between bond"
>
<div
class=
"flex-between bond"
>
<div>
招标文件:
<span
@
click=
"down(bidDetail.fileUrl)"
>
{{
bidDetail
.
fileName
}}
</span></div>
<div>
<div>
开标信息:
<span
@
click=
"changeOpen"
>
开标一览表
</span></div>
招标文件:
<span
@
click=
"down(bidDetail.fileUrl)"
>
{{
bidDetail
.
fileName
}}
</span>
</div>
</div>
<div
class=
"flex-item upload"
>
<div>
开标信息:
<span
@
click=
"changeOpen"
>
开标一览表
</span></div>
<div>
变更信息:
</div>
</div>
<ul
class=
"title flex"
>
<div
class=
"flex-item upload"
>
<li
v-for=
"(item,index) in changeList"
:key=
"index"
>
<div>
变更信息:
</div>
<router-link
:to=
"
{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">
{{
item
.
title
}}
</router-link>
<ul
class=
"title flex"
>
</li>
<li
v-for=
"(item, index) in changeList"
:key=
"index"
>
</ul>
<router-link
:to=
"
{ path: '/purchaser/bid/bidStage/changeList/see', query: { id: item.noticeId } }">
{{
</div>
item
.
title
<!-- 投标文件 -->
}}
</router-link>
<div>
</li>
<div>
投标文件:
</div>
</ul>
<dataTable
:table-data=
"bids"
:columns=
"bidTitle"
:is-index=
"true"
>
</div>
<el-table-column
slot=
"operate"
label=
"文件"
align=
"center"
fixed=
"right"
>
<!-- 投标文件 -->
<template
slot-scope=
"scope"
>
<div>
<div
class=
"flex file"
>
<div>
投标文件:
</div>
<div
@
click=
"down(scope.row.fileUrl)"
>
{{
scope
.
row
.
fileName
}}
</div>
<dataTable
:table-data=
"bids"
:columns=
"bidTitle"
:is-index=
"true"
>
<div
v-for=
"(file,index) in scope.row.fileList"
:key=
"index"
@
click=
"down(file.fileUrl)"
>
{{
file
.
fileName
}}
</div>
<el-table-column
slot=
"operate"
label=
"文件"
align=
"center"
fixed=
"right"
>
</div>
<template
slot-scope=
"scope"
>
</
template
>
<div
class=
"flex file"
>
</el-table-column>
<div
@
click=
"down(scope.row.fileUrl)"
>
{{
scope
.
row
.
fileName
}}
</div>
</dataTable>
<div
v-for=
"(file, index) in scope.row.fileList"
:key=
"index"
@
click=
"down(file.fileUrl)"
>
</div>
{{
file
.
fileName
}}
<!-- 评审信息 -->
</div>
<div
style=
"margin-top:100px"
>
</div>
<div
class=
"flex-between"
>
</
template
>
<h5>
评审信息
</h5>
</el-table-column>
<el-button
type=
"primary"
size=
"small"
@
click=
"jump"
>
澄清质询管理
</el-button>
</dataTable>
</div>
</div>
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<!-- 评审信息 -->
<el-table-column
slot=
"operate"
label=
"资格审查"
align=
"center"
fixed=
"right"
>
<div
style=
"margin-top: 100px"
>
<
template
slot-scope=
"scope"
>
<div
class=
"flex-between"
>
<div
v-if=
"scope.row.qualification==true"
>
通过
</div>
<h5>
评审信息
</h5>
<div
v-if=
"scope.row.qualification==false"
>
未通过
</div>
<el-button
type=
"primary"
size=
"small"
@
click=
"jump"
>
澄清质询管理
</el-button>
</
template
>
</div>
</el-table-column>
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"符合性审查"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"资格审查"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.conformity==true"
>
通过
</div>
<div
v-if=
"scope.row.qualification == true"
>
通过
</div>
<div
v-if=
"scope.row.conformity==false"
>
未通过
</div>
<div
v-if=
"scope.row.qualification == false"
>
未通过
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"手动废标"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"符合性审查"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.bidRejection==true"
>
通过
</div>
<div
v-if=
"scope.row.conformity == true"
>
通过
</div>
<div
v-if=
"scope.row.bidRejection==false"
>
未通过
</div>
<div
v-if=
"scope.row.conformity == false"
>
未通过
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"结论"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"手动废标"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.conclusion==true"
>
通过
</div>
<div
v-if=
"scope.row.bidRejection == true"
>
通过
</div>
<div
v-if=
"scope.row.conclusion==false"
>
未通过
</div>
<div
v-if=
"scope.row.bidRejection == false"
>
未通过
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"结论"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleEdit(scope.row,scope.$index)"
>
编辑
</el-button>
<div
v-if=
"scope.row.conclusion == true"
>
通过
</div>
</
template
>
<div
v-if=
"scope.row.conclusion == false"
>
未通过
</div>
</el-table-column>
</
template
>
</dataTable>
</el-table-column>
</div>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
<!-- 排名信息 -->
<
template
slot-scope=
"scope"
>
<div>
<el-button
type=
"text"
size=
"small"
@
click=
"handleEdit(scope.row, scope.$index)"
>
编辑
</el-button>
<h5>
排名信息
</h5>
</
template
>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"是否中标候选人"
align=
"center"
fixed=
"right"
>
</dataTable>
<
template
slot-scope=
"scope"
>
</div>
<div
v-if=
"scope.row.winPerson=='true'"
>
是
</div>
<!-- 排名信息 -->
<div
v-if=
"scope.row.winPerson=='false'"
>
否
</div>
<div>
</
template
>
<h5>
排名信息
</h5>
</el-table-column>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
<el-table-column
slot=
"operate"
label=
"是否中标候选人"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.finalScore"
>
{{
scope
.
$index
+
1
}}
</div>
<div
v-if=
"scope.row.winPerson == 'true'"
>
是
</div>
</
template
>
<div
v-if=
"scope.row.winPerson == 'false'"
>
否
</div>
</el-table-column>
</
template
>
<el-table-column
slot=
"operate"
label=
"最终得分"
align=
"center"
fixed=
"right"
>
</el-table-column>
<
template
slot-scope=
"scope"
>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
<div
v-if=
"scope.row.finalScore"
>
{{
(
scope
.
row
.
finalScore
)
}}
</div>
<
template
slot-scope=
"scope"
>
</
template
>
<div
v-if=
"scope.row.finalScore"
>
{{
scope
.
$index
+
1
}}
</div>
</el-table-column>
</
template
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
</el-table-column>
<
template
slot-scope=
"scope"
>
<el-table-column
slot=
"operate"
label=
"最终得分"
align=
"center"
fixed=
"right"
>
<el-button
type=
"text"
size=
"small"
@
click=
"Edit(scope.row,scope.$index)"
>
编辑
</el-button>
<
template
slot-scope=
"scope"
>
</
template
>
<div
v-if=
"scope.row.finalScore"
>
{{
scope
.
row
.
finalScore
}}
</div>
</el-table-column>
</
template
>
</dataTable>
</el-table-column>
</div>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
<div
class=
"flex"
>
<
template
slot-scope=
"scope"
>
<div>
评标附件:
</div>
<el-button
type=
"text"
size=
"small"
@
click=
"Edit(scope.row, scope.$index)"
>
编辑
</el-button>
<singleUpload
:limit=
"5"
:max=
"100"
tip=
"最多上传5份,每份不超过100M."
@
input=
"getfile"
></singleUpload>
</
template
>
</div>
</el-table-column>
<div
class=
"button"
>
</dataTable>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
<el-button
type=
"primary"
@
click=
"complete"
>
完成
</el-button>
<div
class=
"flex"
>
</div>
<div>
评标附件:
</div>
</div>
<singleUpload
:limit=
"5"
:max=
"100"
tip=
"最多上传5份,每份不超过100M."
:fileList=
"fileList"
@
input=
"getfile"
></singleUpload>
</div>
</div>
<!-- 编辑评审信息-->
<div
class=
"button"
>
<el-dialog
:visible
.
sync=
"isEvaluate"
title=
"编辑"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-form
:model=
"evaluateForm"
ref=
"evaluateForm"
label-width=
"100px"
:rules=
"rules"
>
<el-button
type=
"primary"
@
click=
"complete"
>
完成
</el-button>
<el-form-item
label=
"资格审查"
prop=
"qualification"
>
</div>
<el-radio
v-model=
"evaluateForm.qualification"
:label=
"true"
>
通过
</el-radio>
</div>
<el-radio
v-model=
"evaluateForm.qualification"
:label=
"false"
>
未通过
</el-radio>
</div>
</el-form-item>
<!-- 编辑评审信息-->
<el-form-item
label=
"符合性审查"
prop=
"conformity"
>
<el-dialog
:visible
.
sync=
"isEvaluate"
title=
"编辑"
>
<el-radio
v-model=
"evaluateForm.conformity"
:label=
"true"
>
通过
</el-radio>
<el-form
:model=
"evaluateForm"
ref=
"evaluateForm"
label-width=
"100px"
:rules=
"rules"
>
<el-radio
v-model=
"evaluateForm.conformity"
:label=
"false"
>
未通过
</el-radio>
<el-form-item
label=
"资格审查"
prop=
"qualification"
>
</el-form-item>
<el-radio
v-model=
"evaluateForm.qualification"
:label=
"true"
>
通过
</el-radio>
<el-form-item
label=
"手动废标"
prop=
'bidRejection'
>
<el-radio
v-model=
"evaluateForm.qualification"
:label=
"false"
>
未通过
</el-radio>
<el-radio
v-model=
"evaluateForm.bidRejection"
:label=
"true"
>
通过
</el-radio>
</el-form-item>
<el-radio
v-model=
"evaluateForm.bidRejection"
:label=
"false"
>
未通过
</el-radio>
<el-form-item
label=
"符合性审查"
prop=
"conformity"
>
</el-form-item>
<el-radio
v-model=
"evaluateForm.conformity"
:label=
"true"
>
通过
</el-radio>
<el-form-item
label=
"结论"
prop=
"conclusion"
>
<el-radio
v-model=
"evaluateForm.conformity"
:label=
"false"
>
未通过
</el-radio>
<el-radio
v-model=
"evaluateForm.conclusion"
:label=
"true"
>
通过
</el-radio>
</el-form-item>
<el-radio
v-model=
"evaluateForm.conclusion"
:label=
"false"
>
未通过
</el-radio>
<el-form-item
label=
"手动废标"
prop=
"bidRejection"
>
</el-form-item>
<el-radio
v-model=
"evaluateForm.bidRejection"
:label=
"true"
>
通过
</el-radio>
</el-form>
<el-radio
v-model=
"evaluateForm.bidRejection"
:label=
"false"
>
未通过
</el-radio>
<div
slot=
"footer"
class=
"dialog-footer"
>
</el-form-item>
<el-button
@
click=
"isEvaluate = false"
>
取 消
</el-button>
<el-form-item
label=
"结论"
prop=
"conclusion"
>
<el-button
type=
"primary"
@
click=
"editCompanyEvaluate"
>
确 定
</el-button>
<el-radio
v-model=
"evaluateForm.conclusion"
:label=
"true"
>
通过
</el-radio>
</div>
<el-radio
v-model=
"evaluateForm.conclusion"
:label=
"false"
>
未通过
</el-radio>
</el-dialog>
</el-form-item>
<!-- 编辑公司排名-->
</el-form>
<el-dialog
title=
"编辑"
:visible
.
sync=
"isRank"
width=
"40%"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-form
:model=
"rankForm"
ref=
"rankForm"
:rules=
"rules"
>
<el-button
@
click=
"isEvaluate = false"
>
取 消
</el-button>
<el-form-item
label=
"商务评分"
prop=
"commercialGrade"
>
<el-button
type=
"primary"
@
click=
"editCompanyEvaluate"
>
确 定
</el-button>
<el-input-number
v-model=
"rankForm.commercialGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"请输入"
></el-input-number>
</div>
</el-form-item>
</el-dialog>
<el-form-item
label=
"技术评分"
prop=
"skillGrade"
>
<!-- 编辑公司排名-->
<el-input-number
v-model=
"rankForm.skillGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"请输入"
></el-input-number>
<el-dialog
title=
"编辑"
:visible
.
sync=
"isRank"
width=
"40%"
>
</el-form-item>
<el-form
:model=
"rankForm"
ref=
"rankForm"
:rules=
"rules"
>
<el-form-item
label=
"价格评分"
prop=
"priceGrade"
>
<el-form-item
label=
"商务评分"
prop=
"commercialGrade"
>
<el-input-number
v-model=
"rankForm.priceGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"请输入"
></el-input-number>
<el-input-number
v-model=
"rankForm.commercialGrade"
</el-form-item>
:min=
"0"
<el-form-item
label=
"评标价"
prop=
"evaluationPrice"
>
:controls=
"false"
<el-input-number
v-model=
"rankForm.evaluationPrice"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"请输入"
></el-input-number>
:precision=
"2"
</el-form-item>
placeholder=
"请输入"
<el-form-item
label=
"是否中标候选人"
prop=
"winPerson"
>
></el-input-number>
<el-radio
v-model=
"rankForm.winPerson"
label=
"true"
>
是
</el-radio>
</el-form-item>
<el-radio
v-model=
"rankForm.winPerson"
label=
"false"
>
否
</el-radio>
<el-form-item
label=
"技术评分"
prop=
"skillGrade"
>
</el-form-item>
<el-input-number
</el-form>
v-model=
"rankForm.skillGrade"
<div
slot=
"footer"
class=
"dialog-footer"
>
:min=
"0"
<el-button
@
click=
"isRank = false"
>
取 消
</el-button>
:controls=
"false"
<el-button
type=
"primary"
@
click=
"editCompanyRank"
>
确 定
</el-button>
:precision=
"2"
</div>
placeholder=
"请输入"
</el-dialog>
></el-input-number>
<!-- 开标一览表 -->
</el-form-item>
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
<el-form-item
label=
"价格评分"
prop=
"priceGrade"
>
<dataTable
:tableData=
"tableData"
:columns=
"nopagecolumns"
:margin-top=
"0"
:margin-bottom=
"0"
>
<el-input-number
</dataTable>
v-model=
"rankForm.priceGrade"
<div
slot=
"footer"
class=
"dialog-footer"
>
:min=
"0"
<el-button
@
click=
"isOpenInfo = false"
>
取 消
</el-button>
:controls=
"false"
</div>
:precision=
"2"
</el-dialog>
placeholder=
"请输入"
</div>
></el-input-number>
</el-form-item>
<el-form-item
label=
"评标价"
prop=
"evaluationPrice"
>
<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-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"isRank = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"editCompanyRank"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- 开标一览表 -->
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
<dataTable
:tableData=
"tableData"
:columns=
"nopagecolumns"
:margin-top=
"0"
:margin-bottom=
"0"
>
</dataTable>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"isOpenInfo = false"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
bidderlist
,
bidderlist
,
saveCompanyEvaluate
,
bidBookDownload
,
saveCompanyRank
,
changeNoticelist
,
bidBookDownload
,
bidFilelist
,
changeNoticelist
,
openInfo
,
bidFilelist
,
saveEvaluate
,
accessoryupload
,
companyRank
,
openInfo
CompanyEvaluatec
,
}
from
'@api/purchaser/bid'
isEvaluate
,
import
dataTable
from
'@components/nopageTable.vue'
accessorydownload
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
}
from
'@api/purchaser/bid'
;
import
singleUpload
from
'@components/Upload/Upload.vue'
import
dataTable
from
'@components/nopageTable.vue'
;
export
default
{
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
components
:
{
import
singleUpload
from
'@components/Upload/Upload.vue'
;
dataTable
,
export
default
{
dataBreadcrumb
,
components
:
{
singleUpload
dataTable
,
},
dataBreadcrumb
,
data
()
{
singleUpload
return
{
},
isOpenInfo
:
false
,
data
()
{
tableData
:[],
return
{
nopagecolumns
:
[{
fileList
:[],
label
:
'投标人名称'
,
isOpenInfo
:
false
,
prop
:
'companyName'
tableData
:
[],
},
nopagecolumns
:
[
{
{
label
:
'投标报价(元)'
,
label
:
'投标人名称'
,
prop
:
'price'
prop
:
'companyName'
},
},
{
{
label
:
'是否签名'
,
label
:
'投标报价(元)'
,
prop
:
'isSign'
,
prop
:
'price'
},
},
],
//
{
rules
:
{
label
:
'是否签名'
,
qualification
:
[{
prop
:
'isSign'
required
:
true
,
}
message
:
'请选择'
,
],
//
trigger
:
'change'
rules
:
{
}],
qualification
:
[
conformity
:
[{
{
required
:
true
,
required
:
true
,
message
:
'请选择'
,
message
:
'请选择'
,
trigger
:
'change'
trigger
:
'change'
}],
}
bidRejection
:
[{
],
required
:
true
,
conformity
:
[
message
:
'请选择'
,
{
trigger
:
'change'
required
:
true
,
}],
message
:
'请选择'
,
conclusion
:
[{
trigger
:
'change'
required
:
true
,
}
message
:
'请选择'
,
],
trigger
:
'change'
bidRejection
:
[
}],
{
commercialGrade
:
[{
required
:
true
,
required
:
true
,
message
:
'请选择'
,
message
:
'请输入'
,
trigger
:
'change'
trigger
:
'blur'
}
}],
],
skillGrade
:
[{
conclusion
:
[
required
:
true
,
{
message
:
'请输入'
,
required
:
true
,
trigger
:
'blur'
message
:
'请选择'
,
}],
trigger
:
'change'
priceGrade
:
[{
}
required
:
true
,
],
message
:
'请输入'
,
commercialGrade
:
[
trigger
:
'blur'
{
}],
required
:
true
,
evaluationPrice
:
[{
message
:
'请输入'
,
required
:
true
,
trigger
:
'blur'
message
:
'请输入'
,
}
trigger
:
'blur'
],
}],
skillGrade
:
[
winPerson
:
[{
{
required
:
true
,
required
:
true
,
message
:
'请选择'
,
message
:
'请输入'
,
trigger
:
'change'
trigger
:
'blur'
}]
}
},
],
file
:
[],
priceGrade
:
[
downloadList
:
[],
{
changeList
:
[],
required
:
true
,
bidDetail
:
""
,
message
:
'请输入'
,
evaluateForm
:
{
trigger
:
'blur'
qualification
:
''
,
}
conformity
:
''
,
],
bidRejection
:
''
,
evaluationPrice
:
[
conclusion
:
''
{
},
required
:
true
,
evaluateIdx
:
''
,
message
:
'请输入'
,
isEvaluate
:
false
,
trigger
:
'blur'
rankForm
:
{
}
price
:
""
,
],
},
winPerson
:
[
rankIdx
:
""
,
{
isRank
:
false
,
required
:
true
,
projectId
:
2
,
message
:
'请选择'
,
rankTitle
:
[{
trigger
:
'change'
label
:
'投标人名称'
,
}
prop
:
'companyName'
]
},
},
{
file
:
[],
label
:
'投标价(元)'
,
downloadList
:
[],
prop
:
'price'
changeList
:
[],
},
bidDetail
:
''
,
{
evaluateForm
:
{
label
:
'商务评分'
,
qualification
:
''
,
prop
:
'commercialGrade'
conformity
:
''
,
},
bidRejection
:
''
,
{
conclusion
:
''
label
:
'技术评分'
,
},
prop
:
'skillGrade'
evaluateIdx
:
''
,
},
isEvaluate
:
false
,
{
rankForm
:
{
label
:
'价格评分'
,
price
:
''
prop
:
'priceGrade'
},
},
rankIdx
:
''
,
{
isRank
:
false
,
label
:
'评标价(元)'
,
projectId
:
2
,
prop
:
'evaluationPrice'
rankTitle
:
[
},
{
{
label
:
'投标人名称'
,
slot
:
'operate'
prop
:
'companyName'
}
},
],
{
rank
:
[],
label
:
'投标价(元)'
,
bidTitle
:
[{
prop
:
'price'
label
:
'投标人'
,
},
prop
:
'companyName'
{
},
label
:
'商务评分'
,
{
prop
:
'commercialGrade'
slot
:
'operate'
},
}
{
],
label
:
'技术评分'
,
bids
:
[],
prop
:
'skillGrade'
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
},
review
:
[],
{
reviewTitle
:
[{
label
:
'价格评分'
,
label
:
'投标人名称'
,
prop
:
'priceGrade'
prop
:
'companyName'
},
},
{
{
label
:
'评标价(元)'
,
slot
:
'operate'
prop
:
'evaluationPrice'
}
},
]
// 操作列
{
}
slot
:
'operate'
},
}
watch
:
{
],
rank
:
{
rank
:
[],
handler
(
newVal
,
oldVal
)
{
bidTitle
:
[
console
.
log
(
'深度监听rank'
,
newVal
,
oldVal
)
{
if
(
newVal
!==
oldVal
)
{
label
:
'投标人'
,
console
.
log
(
"改变"
)
prop
:
'companyName'
}
},
},
{
deep
:
true
slot
:
'operate'
},
}
review
:
{
],
handler
(
newVal
,
oldVal
)
{
bids
:
[],
console
.
log
(
'深度监听review'
,
newVal
,
oldVal
)
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
if
(
newVal
!==
oldVal
)
{
review
:
[],
console
.
log
(
"改变"
)
reviewTitle
:
[
}
{
},
label
:
'投标人名称'
,
deep
:
true
prop
:
'companyName'
}
},
},
{
created
()
{
slot
:
'operate'
this
.
getbidFilelist
();
}
this
.
getchangeNoticelist
();
]
// 操作列
this
.
getbidBookDownload
();
};
this
.
getbidderlist
()
},
},
watch
:
{
methods
:
{
rank
:
{
changeOpen
(){
handler
(
newVal
,
oldVal
)
{
this
.
isOpenInfo
=
true
;
console
.
log
(
'深度监听rank'
,
newVal
,
oldVal
);
this
.
getopenInfo
()
;
if
(
newVal
!==
oldVal
)
{
},
console
.
log
(
'改变'
);
// 开标一览表
}
async
getopenInfo
()
{
},
try
{
deep
:
true
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
},
const
{
review
:
{
data
,
handler
(
newVal
,
oldVal
)
{
code
console
.
log
(
'深度监听review'
,
newVal
,
oldVal
);
}
=
await
openInfo
(
projectId
)
if
(
newVal
!==
oldVal
)
{
if
(
code
==
200
)
{
console
.
log
(
'改变'
);
for
(
let
item
of
data
)
{
}
if
(
item
.
isSign
)
{
},
item
.
isSign
=
"是"
deep
:
true
}
else
{
}
item
.
isSign
=
"否"
},
}
created
()
{
}
this
.
getbidFilelist
();
this
.
tableData
=
data
this
.
getchangeNoticelist
();
}
this
.
getbidBookDownload
();
}
catch
(
e
)
{
this
.
getbidderlist
();
console
.
log
(
e
)
this
.
getisEvaluate
();
}
},
},
methods
:
{
down
(
url
)
{
changeOpen
()
{
window
.
open
(
url
)
this
.
isOpenInfo
=
true
;
},
this
.
getopenInfo
();
jump
()
{
},
this
.
$router
.
push
(
"/purchaser/bid/bidEvaluation/review/clear"
)
// 开标一览表
},
async
getopenInfo
()
{
compare
(
property
)
{
try
{
return
function
(
a
,
b
)
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
var
value1
=
a
[
property
];
const
{
data
,
code
}
=
await
openInfo
(
projectId
);
var
value2
=
b
[
property
];
if
(
code
==
200
)
{
return
value2
-
value1
;
for
(
let
item
of
data
)
{
}
if
(
item
.
isSign
)
{
},
item
.
isSign
=
'是'
;
getfile
(
val
)
{
}
else
{
this
.
file
=
val
item
.
isSign
=
'否'
;
},
}
// 完成按钮
}
async
complete
()
{
this
.
tableData
=
data
;
try
{
}
let
message
=
{}
}
catch
(
e
)
{
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
console
.
log
(
e
);
message
.
fileList
=
this
.
file
}
const
{
},
msg
,
down
(
url
)
{
code
window
.
open
(
url
);
}
=
await
accessoryupload
(
message
)
},
if
(
code
===
200
)
{
jump
()
{
this
.
$message
({
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/review/clear'
);
message
:
msg
,
},
type
:
'success'
,
compare
(
property
)
{
duration
:
1500
return
function
(
a
,
b
)
{
})
var
value1
=
a
[
property
];
setTimeout
(()
=>
{
var
value2
=
b
[
property
];
this
.
$router
.
go
(
-
1
)
return
value2
-
value1
;
},
1500
)
};
},
}
else
{
getfile
(
val
)
{
this
.
$message
.
error
(
msg
)
this
.
file
=
val
;
}
},
}
catch
(
e
)
{
async
getisEvaluate
(){
console
.
log
(
e
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
}
const
{
data
,
code
}
=
await
isEvaluate
(
projectId
);
},
if
(
data
){
back
()
{
this
.
getCompanyEvaluatec
()
this
.
$router
.
go
(
-
1
)
this
.
getcompanyRank
()
},
this
.
getaccessorydownload
()
download
(
url
)
{
}
window
.
open
(
url
)
},
},
// 完成按钮
async
getbidBookDownload
()
{
async
complete
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
message
=
{};
const
{
message
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
data
,
message
.
fileList
=
this
.
file
;
code
message
.
rankList
=
this
.
rank
;
}
=
await
bidBookDownload
(
projectId
)
message
.
judgeList
=
this
.
review
;
if
(
code
===
200
)
{
const
{
msg
,
code
}
=
await
saveEvaluate
(
message
);
this
.
bidDetail
=
data
if
(
code
===
200
)
{
}
this
.
$message
({
}
catch
(
e
)
{
message
:
msg
,
console
.
log
(
e
)
type
:
'success'
,
}
duration
:
1500
},
});
// 查看投标文件
setTimeout
(()
=>
{
async
getbidFilelist
()
{
this
.
$router
.
go
(
-
1
);
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
},
1500
);
const
{
}
else
{
data
,
this
.
$message
.
error
(
msg
);
code
}
}
=
await
bidFilelist
(
projectId
)
}
catch
(
e
)
{
if
(
code
===
200
)
{
console
.
log
(
e
);
this
.
bids
=
data
}
}
},
},
back
()
{
// 查看变更信息
this
.
$router
.
go
(
-
1
);
async
getchangeNoticelist
()
{
},
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
download
(
url
)
{
const
{
window
.
open
(
url
);
data
,
},
code
async
getbidBookDownload
()
{
}
=
await
changeNoticelist
(
projectId
)
try
{
if
(
code
===
200
)
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
this
.
changeList
=
data
;
const
{
data
,
code
}
=
await
bidBookDownload
(
projectId
);
}
if
(
code
===
200
)
{
},
this
.
bidDetail
=
data
;
}
// 排名信息编辑
}
catch
(
e
)
{
Edit
(
row
,
index
)
{
console
.
log
(
e
);
this
.
rankForm
=
Object
.
assign
({},
row
)
}
this
.
isRank
=
true
,
},
this
.
RankIdx
=
index
// 查看投标文件
},
async
getbidFilelist
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
// 提交排名信息
const
{
data
,
code
}
=
await
bidFilelist
(
projectId
);
async
editCompanyRank
()
{
if
(
code
===
200
)
{
try
{
this
.
bids
=
data
;
const
valid
=
await
this
.
$refs
[
'rankForm'
].
validate
()
}
if
(
valid
)
{
},
const
{
// 查看变更信息
code
,
async
getchangeNoticelist
()
{
msg
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
}
=
await
saveCompanyRank
(
this
.
rankForm
)
const
{
data
,
code
}
=
await
changeNoticelist
(
projectId
);
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
)
this
.
changeList
=
data
;
this
.
isRank
=
false
}
this
.
rankForm
.
finalScore
=
this
.
rankForm
.
commercialGrade
+
this
.
rankForm
.
skillGrade
+
this
.
rankForm
.
priceGrade
},
this
.
$set
(
this
.
rank
,
this
.
RankIdx
,
this
.
rankForm
)
this
.
rank
.
sort
(
this
.
compare
(
'finalScore'
))
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
//评审信息编辑
// 排名信息编辑
handleEdit
(
row
,
index
)
{
Edit
(
row
,
index
)
{
this
.
evaluateForm
=
Object
.
assign
({},
row
)
this
.
rankForm
=
Object
.
assign
({},
row
);
this
.
isEvaluate
=
true
,
(
this
.
isRank
=
true
),
(
this
.
RankIdx
=
index
);
this
.
evaluateIdx
=
index
},
},
// 提交评审信息
async
editCompanyEvaluate
()
{
try
{
const
valid
=
await
this
.
$refs
[
'evaluateForm'
].
validate
()
if
(
valid
)
{
const
{
code
,
msg
}
=
await
saveCompanyEvaluate
(
this
.
evaluateForm
)
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
)
this
.
isEvaluate
=
false
this
.
$set
(
this
.
review
,
this
.
evaluateIdx
,
this
.
evaluateForm
)
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
// 提交排名信息
async
editCompanyRank
()
{
try
{
const
valid
=
await
this
.
$refs
[
'rankForm'
].
validate
();
if
(
valid
)
{
// const {
// code,
// msg
// } = await saveCompanyRank(this.rankForm)
// if (code === 200) {
// this.$message.success(msg)
// this.isRank = false
// this.rankForm.finalScore = this.rankForm.commercialGrade + this.rankForm.skillGrade + this.rankForm.priceGrade
// this.$set(this.rank, this.RankIdx, this.rankForm)
// this.rank.sort(this.compare('finalScore'))
// }
this
.
isRank
=
false
;
this
.
rankForm
.
finalScore
=
this
.
rankForm
.
commercialGrade
+
this
.
rankForm
.
skillGrade
+
this
.
rankForm
.
priceGrade
;
this
.
$set
(
this
.
rank
,
this
.
RankIdx
,
this
.
rankForm
);
this
.
rank
.
sort
(
this
.
compare
(
'finalScore'
));
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
},
async
getbidderlist
()
{
//评审信息编辑
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
handleEdit
(
row
,
index
)
{
const
{
this
.
evaluateForm
=
Object
.
assign
({},
row
);
data
,
(
this
.
isEvaluate
=
true
),
(
this
.
evaluateIdx
=
index
);
code
},
}
=
await
bidderlist
(
projectId
)
// 提交评审信息
this
.
review
=
data
async
editCompanyEvaluate
()
{
this
.
rank
=
data
try
{
}
const
valid
=
await
this
.
$refs
[
'evaluateForm'
].
validate
();
}
if
(
valid
)
{
}
// const { code, msg } = await saveCompanyEvaluate(this.evaluateForm);
// if (code === 200) {
// this.$message.success(msg);
// this.isEvaluate = false;
// this.$set(this.review, this.evaluateIdx, this.evaluateForm);
// }
this
.
isEvaluate
=
false
;
this
.
$set
(
this
.
review
,
this
.
evaluateIdx
,
this
.
evaluateForm
);
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
},
//获取公司列表
async
getbidderlist
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
bidderlist
(
projectId
);
this
.
review
=
data
;
this
.
rank
=
data
;
},
// 获取评标附件
async
getaccessorydownload
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
accessorydownload
(
projectId
);
for
(
let
item
of
data
){
item
.
url
=
item
.
fileUrl
item
.
name
=
item
.
fileName
}
this
.
fileList
=
data
},
// 查投标公司评审信息
async
getCompanyEvaluatec
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
CompanyEvaluatec
(
projectId
);
if
(
code
===
200
)
{
this
.
review
=
data
;
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
},
// 查看投标公司排名信息
async
getcompanyRank
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
companyRank
(
projectId
);
if
(
code
===
200
)
{
for
(
let
item
of
data
){
if
(
item
.
winPerson
){
item
.
winPerson
=
"true"
}
else
{
item
.
winPerson
=
"false"
}
}
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
));
this
.
rank
=
data1
;
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.bond
span
{
.bond
span
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.file
>
div
{
.file
>
div
{
margin-right
:
10px
;
margin-right
:
10px
;
color
:
#113DEE
;
color
:
#113dee
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.message
{
margin-left
:
50px
;
margin-bottom
:
50px
;
}
.message
{
margin-left
:
50px
;
margin-bottom
:
50px
;
}
.message
span
{
.message
span
{
color
:
#113DEE
color
:
#113dee
;
}
}
.message
>
div
{
.message
>
div
{
margin-bottom
:
15px
;
margin-bottom
:
15px
;
}
}
.title
>
li
{
.title
>
li
{
margin-right
:
15px
;
margin-right
:
15px
;
}
}
.upload
button
{
.upload
button
{
border
:
1px
solid
#000000
;
border
:
1px
solid
#000000
;
background
:
#fff
;
background
:
#fff
;
width
:
50px
;
width
:
50px
;
height
:
20px
;
height
:
20px
;
margin-left
:
10px
;
margin-left
:
10px
;
}
}
h5
{
h5
{
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
.button
{
.button
{
width
:
280px
;
width
:
280px
;
margin
:
80px
auto
30px
margin
:
80px
auto
30px
;
}
}
</
style
>
</
style
>
src/pages/purchaser/bid/bidStage/clearManagement.vue
View file @
0493286c
<
template
>
<
template
>
<div>
<div>
<div
class=
"content"
>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<div>
招标文件澄清列表
</div>
<div>
招标文件澄清列表
</div>
<changeNav
:navs=
"navs"
@
getIndex=
"getIndex"
></changeNav>
<changeNav
:navs=
"navs"
@
getIndex=
"getIndex"
></changeNav>
<div
class=
"absolute"
>
<div
class=
"absolute"
>
<el-button
type=
"primary"
@
click=
"propose"
>
提出澄清
</el-button>
<el-button
type=
"primary"
@
click=
"propose"
>
提出澄清
</el-button>
</div>
</div>
<div
v-show=
"idx==0"
>
<div
v-show=
"idx == 0"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
url=
"tender-clarifies/list"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
url=
"tender-clarifies/list"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.clarifiesType==0"
>
<div
v-if=
"scope.row.clarifiesType == 0"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
</div>
</div>
<div
v-else
>
<div
v-else
>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
</div>
</div>
<div
v-show=
"idx==1"
>
<div
v-show=
"idx == 1"
>
<dataTable
:columns=
"columns1"
:page-obj=
"pageObj1"
url=
"tender-clarifies/list"
>
<dataTable
:columns=
"columns1"
:page-obj=
"pageObj1"
url=
"tender-clarifies/list"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.clarifiesType==0"
>
<div
v-if=
"scope.row.clarifiesType == 0"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
</div>
</div>
<div
v-else
>
<div
v-else
>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
</div>
</div>
<div
class=
"bottomButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
v-if=
"ruleForm.auditStatus == 2"
@
click=
"submitData"
>
提交
</el-button>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
// import { getList } from '@api/common/list'
// import { getList } from '@api/common/list'
import
dataTable
from
'@components/dataTable.vue'
import
dataTable
from
'@components/dataTable.vue'
;
import
changeNav
from
'@components/changeNav.vue'
import
changeNav
from
'@components/changeNav.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
dataTable
,
dataTable
,
changeNav
,
changeNav
,
dataBreadcrumb
dataBreadcrumb
},
data
()
{
return
{
idx
:
0
,
navs
:
[
"问题列表"
,
"公告列表"
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
tableData
:
[],
columns
:
[{
label
:
'澄清问题标题'
,
prop
:
'title'
},
{
label
:
'状态'
,
prop
:
'operaion'
},
{
label
:
'提出时间'
,
prop
:
'createTime'
,
sortable
:
true
},
{
label
:
'提出人'
,
prop
:
'bidCompanyName'
},
{
slot
:
'operate'
}
],
columns1
:
[{
label
:
'澄清问题标题'
,
prop
:
'title'
},
{
label
:
'状态'
,
prop
:
'operaion'
},
{
label
:
'提出时间'
,
prop
:
'createTime'
,
sortable
:
true
},
{
label
:
'提出人'
,
prop
:
'tenderCompanyName'
},
{
slot
:
'operate'
}
],
pageObj
:
{
size
:
10
,
currentPage
:
1
,
type
:
1
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
},
pageObj1
:
{
size
:
10
,
currentPage
:
1
,
type
:
2
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
}
}
},
created
()
{
this
.
pageObj
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
this
.
pageObj
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
this
.
pageObj1
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
this
.
pageObj1
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
},
methods
:
{
getIndex
(
value
){
this
.
idx
=
value
},
// 提出
propose
(){
this
.
$router
.
push
(
"/purchaser/bid/bidStage/clearManagement/propose"
)
},
// 查看
handleSee
(
row
)
{
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/clearManagement/see'
,
query
:
{
questionId
:
row
.
questionId
,
noticeId
:
row
.
noticeId
}
})
},
},
// 回复
data
()
{
handleReply
(
row
)
{
return
{
this
.
$router
.
push
({
idx
:
0
,
path
:
'/purchaser/bid/bidStage/clearManagement/reply'
,
navs
:
[
'问题列表'
,
'公告列表'
],
query
:
{
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
questionId
:
row
.
questionId
,
tableData
:
[],
}
columns
:
[
})
{
label
:
'澄清问题标题'
,
prop
:
'title'
},
{
label
:
'状态'
,
prop
:
'operaion'
},
{
label
:
'提出时间'
,
prop
:
'createTime'
,
sortable
:
true
},
{
label
:
'提出人'
,
prop
:
'bidCompanyName'
},
{
slot
:
'operate'
}
],
columns1
:
[
{
label
:
'澄清问题标题'
,
prop
:
'title'
},
{
label
:
'状态'
,
prop
:
'operaion'
},
{
label
:
'提出时间'
,
prop
:
'createTime'
,
sortable
:
true
},
{
label
:
'提出人'
,
prop
:
'tenderCompanyName'
},
{
slot
:
'operate'
}
],
pageObj
:
{
size
:
10
,
currentPage
:
1
,
type
:
1
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
);
}
},
pageObj1
:
{
size
:
10
,
currentPage
:
1
,
type
:
2
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
);
}
}
};
},
},
}
created
()
{
}
this
.
pageObj
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
this
.
pageObj
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
this
.
pageObj1
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
this
.
pageObj1
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
getIndex
(
value
)
{
this
.
idx
=
value
;
},
// 提出
propose
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/clearManagement/propose'
);
},
// 查看
handleSee
(
row
)
{
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/clearManagement/see'
,
query
:
{
questionId
:
row
.
questionId
,
noticeId
:
row
.
noticeId
}
});
},
// 回复
handleReply
(
row
)
{
this
.
$router
.
push
({
path
:
'/purchaser/bid/bidStage/clearManagement/reply'
,
query
:
{
questionId
:
row
.
questionId
}
});
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.absolute
{
.absolute
{
position
:
absolute
;
position
:
absolute
;
right
:
50px
;
right
:
50px
;
top
:
80px
top
:
80px
;
}
}
</
style
>
</
style
>
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
View file @
0493286c
...
@@ -106,21 +106,20 @@
...
@@ -106,21 +106,20 @@
try
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
if
(
valid
)
{
console
.
log
(
ruleForm
)
const
{
// const {
code
,
// code,
msg
// msg
}
=
await
forwardClarify
(
this
.
ruleForm
)
// } = await forwardClarify(this.ruleForm)
if
(
code
===
200
)
{
// if (code === 200) {
this
.
$message
({
// this.$message({
message
:
msg
,
// message: msg,
type
:
'success'
,
// type: 'success',
duration
:
1500
// duration: 1500
})
// })
setTimeout
(()
=>
{
// setTimeout(() => {
this
.
$router
.
go
(
-
1
)
// this.$router.go(-1)
},
1500
)
// }, 1500)
}
// }
}
}
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
log
(
err
)
console
.
log
(
err
)
...
...
src/utils/common.js
View file @
0493286c
...
@@ -18,7 +18,7 @@ export function getSearchString(key) {
...
@@ -18,7 +18,7 @@ export function getSearchString(key) {
export
function
down
(
url
)
{
export
function
down
(
url
)
{
window
.
open
(
url
)
window
.
open
(
url
)
}
}
//
export let requestUrl = 'http://192.168.3.35:8085';
//
export let requestUrl = 'http://192.168.3.35:8085';
export
let
requestUrl
=
'http://60.205.251.80:8082'
;
export
let
requestUrl
=
'http://60.205.251.80:8082'
;
...
...
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