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
f35e9be1
Commit
f35e9be1
authored
Oct 23, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
询价公告和招标公告编辑和发布合
parent
ea22c7eb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
590 additions
and
375 deletions
+590
-375
bid.js
src/api/purchaser/bid.js
+8
-0
bid.js
src/api/supply/bid.js
+2
-2
dataTable.vue
src/components/dataTable.vue
+19
-15
editInquiryAnnouncement.vue
src/components/edit/editInquiryAnnouncement.vue
+1
-29
SeeinquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/SeeinquiryAnnouncement.vue
+27
-35
SeetenderAnnouncement.vue
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
+8
-14
bidInvitation.vue
src/pages/purchaser/bid/reviewed/bidInvitation.vue
+152
-111
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+0
-0
workbench.vue
src/pages/purchaser/bid/workbench.vue
+0
-0
informationSee.vue
src/pages/purchaser/organization/informationSee.vue
+6
-6
hallInformation.vue
.../supply/bid/joinProject/bidEvaluation/hallInformation.vue
+170
-0
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
bidwinAdvice.vue
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
+111
-98
candidateSee.vue
src/pages/supply/bid/joinProject/bidSure/candidateSee.vue
+79
-63
index.js
src/router/index.js
+5
-0
No files found.
src/api/purchaser/bid.js
View file @
f35e9be1
...
...
@@ -564,6 +564,14 @@ export function createcadidate(data) {
data
:
data
})
}
//中标候选人公示编辑
export
function
editcadidate
(
data
)
{
return
request
({
url
:
"tender-notice/edit-cadidate"
,
method
:
'post'
,
data
:
data
})
}
//中标公告提交
export
function
createwin
(
data
)
{
...
...
src/api/supply/bid.js
View file @
f35e9be1
...
...
@@ -288,9 +288,9 @@ export function noticeWin(projectId) {
})
}
// 中标候选人公示查看
export
function
publicitydetail
(
projectId
)
{
export
function
cadidate
(
projectId
)
{
return
request
({
url
:
`
bidder-decide/publicity/Detail/
${
projectId
}
`
,
url
:
`
notice/cadidate?projectId=
${
projectId
}
`
,
method
:
'get'
,
})
}
...
...
src/components/dataTable.vue
View file @
f35e9be1
...
...
@@ -181,17 +181,18 @@ export default {
this
.
total
=
total
}
},
async
list
(
pageObj
)
{
let
url
=
this
.
url
const
{
code
,
data
}
=
await
getList
(
pageObj
,
url
)
if
(
code
===
200
)
{
for
(
let
item
of
data
){
item
.
createTime
=
getTime1
(
item
.
createTime
)
item
.
endTime
=
getTime1
(
item
.
endTime
)
}
this
.
tableData
=
data
}
},
// async list(pageObj) {
// let url = this.url
// const { code, data } = await getList(pageObj, url)
// if (code === 200) {
// for(let item of data){
// item.createTime=getTime1(item.createTime)
// item.endTime=getTime1(item.endTime)
// }
// this.tableData = data
// this.total = total
// }
// },
handleSizeChange
(
val
)
{
let
pageObj
=
this
.
pageObj
pageObj
.
size
=
val
...
...
@@ -206,10 +207,11 @@ export default {
},
// 查询
query
()
{
let
message
=
this
.
objInput
;
Object
.
assign
(
message
,
this
.
pageObj
)
console
.
log
(
message
)
this
.
list
(
message
)
let
message
=
this
.
objInput
;
this
.
pageObj
.
currentPage
=
1
Object
.
assign
(
message
,
this
.
pageObj
)
this
.
pageObj
=
message
this
.
getauditList
()
},
// check选择id
handleSelectionChange
(
val
)
{
...
...
@@ -218,6 +220,8 @@ export default {
// 重置
rest
(
data
)
{
this
.
$refs
[
data
].
resetFields
()
this
.
pageObj
.
currentPage
=
1
this
.
pageObj
.
size
=
10
this
.
getauditList
(
this
.
pageObj
);
},
handlerelease
()
{
...
...
src/components/edit/editInquiryAnnouncement.vue
View file @
f35e9be1
...
...
@@ -417,35 +417,7 @@ export default {
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
//提交表单
async
submit
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
const
valid1
=
await
this
.
$refs
[
'ruleForm1'
].
validate
();
const
valid2
=
await
this
.
$refs
[
'ruleForm2'
].
validate
();
console
.
log
(
valid
);
if
(
valid
&&
valid1
&&
valid2
)
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
console
.
log
(
'通过'
);
const
{
code
,
msg
}
=
await
editEnquiry
(
ruleForm
);
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
else
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
},
// 获取列表
async
getcommoditylist
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
...
...
src/pages/purchaser/bid/reviewed/SeeinquiryAnnouncement.vue
View file @
f35e9be1
<
template
>
<div>
<div
v-if=
"auditStatus == 0||auditStatus == 1"
>
<div
class=
"content-head"
>
<breadCrumb
:breads=
"breads"
></breadCrumb>
<h3>
查看询价公告
</h3>
<h5>
查看询价公告
</h5>
</div>
<div
class=
"content"
>
<priceDetail
@
getstate=
"getstate"
>
<slot>
<h3>
参与报价供应商情况
</h3>
<dataTable
:table-data=
"Bidderlist"
:columns=
"offerBiddercolumns"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"see(scope.row.companyId)"
>
查看报价明细
</el-button>
</
template
>
</el-table-column>
</dataTable>
</slot>
</priceDetail>
<div
class=
"centerButton"
>
<el-button
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</div>
<div
class=
"content-head"
>
<breadCrumb
:breads=
"breads"
></breadCrumb>
<h3>
查看询价公告
</h3>
<h5>
查看询价公告
</h5>
</div>
<div
class=
"content"
>
<priceDetail>
<slot>
<h3>
参与报价供应商情况
</h3>
<dataTable
:table-data=
"Bidderlist"
:columns=
"offerBiddercolumns"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"see(scope.row.companyId)"
>
查看报价明细
</el-button>
</
template
>
</el-table-column>
</dataTable>
</slot>
</priceDetail>
<div
class=
"centerButton"
>
<el-button
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</div>
<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>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
<editInquiryAnnouncement
v-if=
"auditStatus == 2"
></editInquiryAnnouncement>
<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>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
...
...
@@ -111,10 +107,6 @@ export default {
};
},
methods
:
{
getstate
(
val
)
{
this
.
auditStatus
=
val
;
console
.
log
(
val
)
},
back
()
{
this
.
$router
.
go
(
-
1
);
},
...
...
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
View file @
f35e9be1
<
template
>
<div
class=
"info"
>
<div
class=
"content"
>
<editTenderAnnouncement
v-if=
"auditStatus == 2"
></editTenderAnnouncement>
<div
v-if=
"auditStatus == 0||auditStatus == 1"
>
<div
class=
"title_info"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
</div>
<div
class=
"info_box"
>
<noticeDetail
@
getstate=
"getstate"
></noticeDetail>
<el-row>
<el-button
@
click=
"back"
>
返回
</el-button>
</el-row>
</div>
<div
class=
"title_info"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
</div>
<div
class=
"info_box"
>
<noticeDetail
@
getstate=
"getstate"
></noticeDetail>
<el-row>
<el-button
@
click=
"back"
>
返回
</el-button>
</el-row>
</div>
</div>
</div>
...
...
@@ -33,9 +30,6 @@ export default {
};
},
methods
:
{
getstate
(
val
)
{
this
.
auditStatus
=
val
;
},
back
()
{
this
.
$router
.
go
(
-
1
);
}
...
...
src/pages/purchaser/bid/reviewed/bidInvitation.vue
View file @
f35e9be1
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布投标邀请书
</h3>
<h5>
发布投标邀请书
</h5>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布投标邀请书
</h3>
<h5>
发布投标邀请书
</h5>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
投标邀请书
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"投标邀请书标题"
prop=
"title"
>
<el-input
v-model
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"上传附件"
>
<singleUpload
tip=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"投标邀请书内容"
prop=
"content"
>
<!--
<el-button
style=
"margin-bottom: 30px;"
>
插入邀请投标单位名称
</el-button>
-->
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
</div>
<div
class=
"bottomButton"
>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type == 1"
>
编辑
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
投标邀请书
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"投标邀请书标题"
prop=
"title"
>
<el-input
v-model
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"上传附件"
>
<singleUpload
tip=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"投标邀请书内容"
prop=
"content"
>
<!--
<el-button
style=
"margin-bottom: 30px;"
>
插入邀请投标单位名称
</el-button>
-->
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
</div>
<div
class=
"bottomButton"
>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
提交审核
</el-button>
</div>
</div>
</
template
>
<
script
>
import
{
inviteMessage
}
from
'@api/purchaser/bid'
import
{
quillEditor
}
from
'vue-quill-editor'
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
import
{
biddingProjectId
}
from
'@api/common/list'
;
import
{
inviteMessage
}
from
'@api/purchaser/bid'
;
import
{
quillEditor
}
from
'vue-quill-editor'
;
import
'quill/dist/quill.core.css'
;
import
'quill/dist/quill.snow.css'
;
import
'quill/dist/quill.bubble.css'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
singleUpload
from
'@components/Upload/Upload.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
return
{
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blur'
}],
content
:
[{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blur'
}]
}
}
},
methods
:
{
cancel
()
{
this
.
$router
.
go
(
-
1
)
components
:
{
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
return
{
type
:
''
,
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
content
:
''
,
accessoryPOList
:
[]
},
rules
:
{
title
:
[
{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blur'
}
],
content
:
[
{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blur'
}
]
}
};
},
getfile
(
val
)
{
console
.
log
(
val
)
for
(
let
item
of
val
)
{
i
tem
.
accessoryUrl
=
item
.
fileUrl
}
this
.
accessoryPOList
=
val
created
(
)
{
let
type
=
this
.
$route
.
query
.
type
;
this
.
type
=
type
;
i
f
(
type
==
1
)
{
this
.
getbiddingProjectId
();
}
},
//提交表单
async
submit
()
{
let
ruleForm
=
this
.
ruleForm
ruleForm
.
projectId
=
'1'
ruleForm
.
accessoryPOList
=
this
.
accessoryPOList
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
const
{
code
,
msg
}
=
await
inviteMessage
(
this
.
ruleForm
)
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
})
this
.
$router
.
go
(
-
1
)
}
else
{
this
.
$message
.
error
(
msg
)
}
methods
:
{
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
getfile
(
val
)
{
for
(
let
item
of
val
)
{
item
.
accessoryUrl
=
item
.
fileUrl
;
}
this
.
ruleForm
.
accessoryPOList
=
val
;
},
async
getbiddingProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
if
(
code
==
200
)
{
for
(
let
item
of
data
.
accessoryVOList
)
{
item
.
url
=
item
.
accessoryUrl
;
item
.
name
=
item
.
fileName
;
}
this
.
ruleForm
=
data
;
}
},
//提交表单
async
submit
()
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
if
(
valid
)
{
const
{
code
,
msg
}
=
await
inviteMessage
(
this
.
ruleForm
);
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
});
this
.
$router
.
go
(
-
1
);
}
else
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
},
//提交表单
async
submit1
()
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
ruleForm
.
accessoryPOList
=
this
.
accessoryPOList
;
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
if
(
valid
)
{
const
{
code
,
msg
}
=
await
editBidding
(
this
.
ruleForm
);
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
else
if
(
code
==
500
)
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
)
}
}
}
}
};
</
script
>
<
style
scoped
>
.ql-editor
{
height
:
400px
;
}
.ql-editor
{
height
:
400px
;
}
.bottomButton
{
margin-top
:
20px
;
}
.bottomButton
{
margin-top
:
20px
;
}
.form
{
padding-bottom
:
80px
;
}
.form
{
padding-bottom
:
80px
;
}
</
style
>
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
f35e9be1
This diff is collapsed.
Click to expand it.
src/pages/purchaser/bid/workbench.vue
View file @
f35e9be1
This diff is collapsed.
Click to expand it.
src/pages/purchaser/organization/informationSee.vue
View file @
f35e9be1
...
...
@@ -15,7 +15,7 @@
</li>
<li>
<div>
注册角色
</div>
<div>
11
</div>
<div>
{{
detail
.
type
==
"1"
?
"采购商"
:
"供应商"
}}
</div>
</li>
<li>
<div>
法人姓名
</div>
...
...
@@ -23,7 +23,7 @@
</li>
<li>
<div>
法人电话
</div>
<div>
11
</div>
<div>
{{
detail
.
legalPersonPhone
}}
</div>
</li>
<li>
<div>
统一社会信用代码
</div>
...
...
@@ -47,15 +47,15 @@
</li>
<li>
<div>
开户银行名称
</div>
<div>
222
</div>
<div>
{{
detail
.
bankName
}}
</div>
</li>
<li>
<li>
<div>
结算账户
</div>
<div>
222
</div>
<div>
{{
detail
.
bankAccount
}}
</div>
</li>
<li>
<div>
结算账户名
</div>
<div>
222
</div>
<div>
{{
detail
.
bankName
}}
</div>
</li>
<li>
<div>
注册资本(万元)
</div>
...
...
src/pages/supply/bid/joinProject/bidEvaluation/hallInformation.vue
0 → 100644
View file @
f35e9be1
<
template
>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div>
<div>
开标一览表:
</div>
<dataTable
:tableData=
"tableData"
:columns=
"nopagecolumns"
:margin-top=
"0"
:margin-bottom=
"0"
>
</dataTable>
</div>
</div>
<changeNav
:navs=
"navs"
@
getIndex=
"getIndex"
></changeNav>
<!-- 开标大厅消息 -->
<div
v-show=
"changeIndex == 0"
>
<dataTable
:table-data=
"behaviorList"
:columns=
"behavior"
:is-pageobj=
"false"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"消息内容"
align=
"center"
>
<template
slot-scope=
"scope"
>
<div
class=
"flex content"
>
<div>
{{
scope
.
row
.
time
}}
</div>
<div>
{{
scope
.
row
.
role
}}
</div>
<div>
{{
scope
.
row
.
name
}}
</div>
<div>
{{
scope
.
row
.
behavior
}}
</div>
</div>
</
template
>
</el-table-column>
</dataTable>
</div>
<!-- 对话消息 -->
<div
v-show=
"changeIndex == 1"
>
<dataTable
:table-data=
"chatList"
:columns=
"chat"
:is-pageobj=
"false"
:is-index=
"true"
>
</dataTable>
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</template>
<
script
>
import
{
messageRecord
,
openInfo
}
from
'@api/purchaser/bid'
;
import
dataTable
from
'@components/nopageTable.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
changeNav
from
'@components/changeNav.vue'
;
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
,
changeNav
},
data
()
{
return
{
nopagecolumns
:
[
{
label
:
'投标人名称'
,
prop
:
'companyName'
},
{
label
:
'投标报价(元)'
,
prop
:
'price'
},
{
label
:
'是否签名'
,
prop
:
'isSign'
}
],
//
changeIndex
:
'0'
,
navs
:
[
'开标大厅消息'
,
'对话消息'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
behaviorList
:
[],
behavior
:
[
{
slot
:
'operate'
}
],
// 操作列
chat
:
[
{
label
:
'发送人'
,
prop
:
'name'
},
{
label
:
'发送时间'
,
prop
:
'time'
},
{
label
:
'发送内容'
,
prop
:
'chatContent'
}
],
chatList
:
[],
pageObj
:
{
size
:
10
,
total
:
1
,
currentPage
:
1
,
sizes
:
[
100
,
200
,
300
],
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
);
}
},
projectCode
:
''
,
projectName
:
''
,
tableData
:
[]
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
examine
()
{
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
);
},
getIndex
(
val
)
{
this
.
changeIndex
=
val
;
},
async
getmessageRecord
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
messageRecord
(
projectId
);
this
.
behaviorList
=
data
.
behaviorList
;
this
.
chatList
=
data
.
chatList
;
},
async
getopenInfo
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
openInfo
(
projectId
);
if
(
code
==
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
isSign
)
{
item
.
isSign
=
'是'
;
}
else
{
item
.
isSign
=
'否'
;
}
}
this
.
tableData
=
data
;
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getmessageRecord
();
this
.
getopenInfo
();
}
};
</
script
>
<
style
scoped
>
.content
>
div
{
margin-right
:
10px
;
}
.upload
>
button
{
border
:
1px
solid
#000000
;
background
:
#fff
;
width
:
50px
;
height
:
20px
;
margin-left
:
10px
;
}
.message
>
div
{
margin-bottom
:
10px
;
}
.message
{
margin
:
30px
0
30px
50px
;
}
</
style
>
src/pages/supply/bid/joinProject/bidStage/bond/detail.vue
View file @
f35e9be1
...
...
@@ -140,7 +140,7 @@ export default {
};
return
{
isdisabled
:
true
,
title
:
'
参
看'
,
title
:
'
查
看'
,
state
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{},
...
...
src/pages/supply/bid/joinProject/bidStage/tenderFee/detail.vue
View file @
f35e9be1
...
...
@@ -172,7 +172,7 @@ export default {
};
return
{
isdisabled
:
true
,
title
:
'
参
看'
,
title
:
'
查
看'
,
state
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{},
...
...
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
View file @
f35e9be1
<
template
>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message flex-colunm"
>
<div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message"
>
<div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div>
<div>
日期:
{{
detail
.
winDate
}}
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
</div>
<div>
<div
class=
"flex-item"
>
<div
style=
"margin-right: 20px"
>
附件:
</div>
<ul
v-if=
"detail.fileList"
>
<li
v-for=
"(item, i) in detail.fileList"
:key=
"i"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
无
</div>
</div>
<div>
中标通知书编号:
{{
detail
.
number
}}
</div>
</div>
<div
class=
"flex-colunm notice"
>
<h1>
您已中标,请及时与平台签署应收账款买断合同。
</h1>
<h3>
咨询电话:400-4567457
</h3>
<el-button
type=
"primary"
>
查看详情
</el-button>
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
<div>
<div>
日期:
{{
detail
.
winDate
}}
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
</div>
<div>
<div
class=
"flex-item"
>
<div
style=
"margin-right: 20px;"
>
附件:中标通知书.pdf
</div>
<el-button
size=
"mini"
>
下载
</el-button>
</div>
<div>
中标通知书编号:
{{
detail
.
number
}}
</div>
</div>
<div
class=
"flex-colunm notice"
>
<h1>
您已中标,请及时与平台签署应收账款买断合同。
</h1>
<h3>
咨询电话:400-4567457
</h3>
<el-button
type=
"primary"
>
查看详情
</el-button>
</div>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
winBookdetail
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
changeNav
from
'@components/changeNav.vue'
import
{
winBookdetail
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
changeNav
from
'@components/changeNav.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
changeNav
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
navs
:
[
'中标通知书'
],
projectCode
:
""
,
projectName
:
""
,
detail
:
""
}
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
components
:
{
dataBreadcrumb
,
changeNav
},
async
getwinBookdetail
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
)
if
(
code
==
200
){
this
.
detail
=
data
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
getwinBookdetail
()
}
}
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
navs
:
[
'中标通知书'
],
projectCode
:
''
,
projectName
:
''
,
detail
:
''
};
},
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getwinBookdetail
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getwinBookdetail
();
}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
}
.enclosure
{
margin
:
20px
0
;
}
.message
>
div
{
display
:
flex
;
margin-bottom
:
30px
;
}
.message
>
div
>
div
:first-child
{
margin-right
:
300px
;
}
.notice
{
width
:
80%
;
border
:
1px
solid
#000
}
.notice
{
margin-top
:
200px
;
margin-bottom
:
30px
;
padding
:
20px
0
;
}
.notice
>
h3
{
margin
:
20px
0
;
}
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
.message
{
width
:
60%
;
margin
:
0
auto
;
}
.message
>
.centerButton
{
justify-content
:
center
;
}
.message
>
div
{
display
:
flex
;
justify-content
:
space-between
;
margin-bottom
:
30px
;
}
/* .message > div > div:first-child {
margin-right: 300px;
} */
.notice
{
width
:
80%
;
border
:
1px
solid
#000
;
}
.notice
{
margin
:
200px
auto
30px
;
padding
:
20px
0
;
}
.notice
>
h3
{
margin
:
20px
0
;
}
</
style
>
src/pages/supply/bid/joinProject/bidSure/candidateSee.vue
View file @
f35e9be1
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看中标候选人公示
</h3>
<h5>
查看中标候选人公示
</h5>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看中标候选人公示
</h3>
<h5>
查看中标候选人公示
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
style=
"margin-bottom:50px"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
v-if=
"state"
>
<div
v-html=
" detail.content "
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<div
v-if=
"detail.accessoryDOList"
>
<ul>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
</div>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
>
{{
msg
}}
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
发布时间:2020-08-08 18:12
</div>
</div>
<h1>
一级标题
</h1>
<div
class=
"img"
>
<img
src=
"@static/images/content.png"
alt=
""
>
</div>
<div
class=
"enclosure"
>
相关附件:34567890-678.pdf
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
publicitydetail
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
{
cadidate
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
""
,
projectName
:
""
components
:
{
dataBreadcrumb
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
''
,
projectName
:
''
,
detail
:
''
,
msg
:
''
,
state
:
true
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getcadidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
cadidate
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
else
{
this
.
msg
=
msg
;
this
.
state
=
false
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getcadidate
();
}
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
},
async
getpublicitydetail
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
publicitydetail
(
projectId
)
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
getpublicitydetail
()
}
}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
}
.enclosure
{
margin
:
20px
0
;
}
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
</
style
>
src/router/index.js
View file @
f35e9be1
...
...
@@ -721,6 +721,11 @@ export default new Router({
show
:
true
,
component
:
()
=>
import
(
'../pages/supply/bid/joinProject/bidEvaluation/evaluationList.vue'
)
},
{
path
:
'/supply/bid/joinProject/bidEvaluation/hallInformation'
,
show
:
true
,
component
:
()
=>
import
(
'../pages/supply/bid/joinProject/bidEvaluation/hallInformation.vue'
)
},
{
path
:
'/supply/bid/joinProject/bidEvaluation/reply'
,
show
:
true
,
...
...
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