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
96b199b3
Commit
96b199b3
authored
Oct 22, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
招标公告编辑
parent
8a41f77b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
518 additions
and
384 deletions
+518
-384
noticeDetail.vue
src/components/detail/noticeDetail.vue
+1
-1
editTenderAnnouncement.vue
src/components/edit/editTenderAnnouncement.vue
+154
-0
content.vue
...es/purchaser/bid/bidEvaluation/projectManager/content.vue
+0
-0
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+19
-19
edit.vue
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
+2
-4
list.vue
src/pages/purchaser/bid/bidSure/bidResult/list.vue
+2
-6
determine.vue
src/pages/purchaser/bid/bidSure/determine.vue
+2
-0
see.vue
src/pages/purchaser/bid/bidSure/see.vue
+67
-60
list.vue
src/pages/purchaser/bid/bidSure/winBid/list.vue
+3
-7
SeetenderAnnouncement.vue
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
+70
-65
buyoutList.vue
src/pages/purchaser/buyOut/buyoutList.vue
+5
-5
voucherSee.vue
src/pages/purchaser/buyOut/voucherSee.vue
+6
-4
voucherSign.vue
src/pages/purchaser/buyOut/voucherSign.vue
+99
-119
noticeSee.vue
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
+88
-94
No files found.
src/components/detail/noticeDetail.vue
View file @
96b199b3
...
...
@@ -43,9 +43,9 @@ export default {
async
getbiddingProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
this
.
$emit
(
"getmsg"
,
code
)
if
(
code
==
200
)
{
this
.
detail
=
data
;
this
.
$emit
(
"getstate"
,
data
.
auditStatus
)
}
else
if
(
code
==
500
)
{
this
.
state
=
false
;
this
.
msg
=
msg
;
...
...
src/components/edit/editTenderAnnouncement.vue
0 → 100644
View file @
96b199b3
<
template
>
<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=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告标题"
prop=
"title"
><strong></strong>
<el-input
v-model
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"上传附件"
><strong></strong>
<singleUpload
tip=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@
input=
"getfile"
:fileList=
"ruleForm.accessoryVOList"
></singleUpload>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<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=
"back"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
编辑
</el-button>
</div>
</div>
</
template
>
<
script
>
import
{
editBidding
}
from
'@api/purchaser/bid'
;
import
{
biddingProjectId
}
from
'@api/common/list'
;
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'
;
export
default
{
components
:
{
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
// 检测文件是否上传
let
checkupload
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
justimg
.
length
===
0
)
{
callback
(
new
Error
(
'请上传正面照片'
));
}
else
{
callback
();
}
};
return
{
accessoryPOList
:
[],
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[
{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blue'
}
],
content
:
[
{
required
:
true
,
message
:
'请填写'
,
trigger
:
'blue'
}
]
}
};
},
created
()
{
this
.
getbiddingProjectId
();
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
getfile
(
val
)
{
for
(
let
item
of
val
)
{
item
.
accessoryUrl
=
item
.
fileUrl
;
}
this
.
accessoryPOList
=
val
;
},
//提交表单
async
submit
()
{
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
);
}
},
// 获取详情
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
;
}
}
}
};
</
script
>
<
style
scoped
>
.ql-editor
{
height
:
400px
;
}
.bottomButton
{
margin-top
:
20px
;
}
.form
{
padding-bottom
:
80px
;
}
</
style
>
\ No newline at end of file
src/pages/purchaser/bid/bidEvaluation/projectManager/content.vue
View file @
96b199b3
This diff is collapsed.
Click to expand it.
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
96b199b3
...
...
@@ -44,26 +44,26 @@
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"资格审查"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.qualification
== true
"
>
通过
</div>
<div
v-if=
"
scope.row.qualification == false
"
>
未通过
</div>
<div
v-if=
"scope.row.qualification"
>
通过
</div>
<div
v-if=
"
!scope.row.qualification
"
>
未通过
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"符合性审查"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.conformity
== true
"
>
通过
</div>
<div
v-if=
"
scope.row.conformity == false
"
>
未通过
</div>
<div
v-if=
"scope.row.conformity"
>
通过
</div>
<div
v-if=
"
!scope.row.conformity
"
>
未通过
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"手动废标"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.bidRejection
== true
"
>
通过
</div>
<div
v-if=
"
scope.row.bidRejection == false
"
>
未通过
</div>
<div
v-if=
"scope.row.bidRejection"
>
通过
</div>
<div
v-if=
"
!scope.row.bidRejection
"
>
未通过
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"结论"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.conclusion
== true
"
>
通过
</div>
<div
v-if=
"
scope.row.conclusion == false
"
>
未通过
</div>
<div
v-if=
"scope.row.conclusion"
>
通过
</div>
<div
v-if=
"
!scope.row.conclusion
"
>
未通过
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
...
...
@@ -79,8 +79,8 @@
<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
== 'true'
"
>
是
</div>
<div
v-if=
"
scope.row.winPerson == 'false'
"
>
否
</div>
<div
v-if=
"scope.row.winPerson"
>
是
</div>
<div
v-if=
"
!scope.row.winPerson
"
>
否
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
...
...
@@ -175,8 +175,8 @@
></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"
>
...
...
@@ -596,13 +596,13 @@ export default {
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"
}
}
//
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
;
}
...
...
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
View file @
96b199b3
...
...
@@ -41,7 +41,7 @@
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/dataTable.vue'
import
singleUpload
from
'@components/Upload/
single
Upload.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
export
default
{
name
:
'bidingList'
,
components
:
{
...
...
@@ -132,9 +132,7 @@
<
style
scoped
>
.message
{
/* width:60%; */
}
.message
>
div
{
margin-bottom
:
30px
;
...
...
src/pages/purchaser/bid/bidSure/bidResult/list.vue
View file @
96b199b3
...
...
@@ -84,12 +84,8 @@ export default {
}
=
await
resultBookList
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
status
==
0
)
{
item
.
state
=
"未审核"
}
else
if
(
item
.
status
==
1
)
{
item
.
state
=
"通过审核"
}
else
if
(
item
.
status
==
2
)
{
item
.
state
=
"未通过审核"
if
(
item
.
status
==
1
)
{
item
.
state
=
"已发送"
}
else
if
(
item
.
status
==
-
1
)
{
item
.
state
=
"暂存本地"
}
...
...
src/pages/purchaser/bid/bidSure/determine.vue
View file @
96b199b3
...
...
@@ -150,6 +150,8 @@
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
);
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidSure/see.vue
View file @
96b199b3
...
...
@@ -71,22 +71,32 @@
<!-- 排名信息 -->
<div>
<h5>
排名信息
</h5>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-pageobj=
"false"
:is-index=
"true"
>
</dataTable>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-pageobj=
"false"
: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-if=
"!scope.row.winPerson"
>
否
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.finalScore"
>
{{
scope
.
$index
+
1
}}
</div>
</
template
>
</el-table-column>
</dataTable>
</div>
<div
class=
"flex"
>
<div>
评标附件:
</div>
<ul
class=
"upload"
>
<li
class=
"flex"
>
<div>
评价附件.pdf
</div>
<button>
下载
</button>
<li
class=
"flex"
v-for=
"(item, index) in downloadList"
:key=
"index"
>
<div>
{{ item.fileName }}
</div>
<button
@
click=
"down(item.fileUrl)"
>
下载
</button>
</li>
</ul>
</div>
<!-- <div class="button">
<el-button @click="back">返回</el-button>
<el-button @click="fail">流标</el-button>
<el-button type="primary">评标结束</el-button>
</div> -->
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
<!-- 开标一览表 -->
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
...
...
@@ -96,15 +106,19 @@
</div>
</el-dialog>
</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>
</template>
<
script
>
import
{
companyRank
,
CompanyEvaluatec
,
bidBookDownload
,
openInfo
,
accessorydownload
,
bidFilelist
,
changeNoticelist
}
from
'@api/purchaser/bid'
;
import
{
companyRank
,
CompanyEvaluatec
,
bidBookDownload
,
openInfo
,
accessorydownload
,
bidFilelist
,
changeNoticelist
}
from
'@api/purchaser/bid'
;
import
dataTable
from
'@components/nopageTable.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
...
...
@@ -114,6 +128,7 @@ export default {
},
data
()
{
return
{
changeList
:
[],
isOpenInfo
:
false
,
tableData
:
[],
nopagecolumns
:
[
...
...
@@ -157,10 +172,6 @@ export default {
label
:
'评标价(元)'
,
prop
:
'evaluationPrice'
},
{
label
:
'排名'
,
prop
:
'rank'
},
{
label
:
'最终得分'
,
prop
:
'finalScore'
...
...
@@ -173,7 +184,7 @@ export default {
bidTitle
:
[
{
label
:
'投标人'
,
prop
:
'
n
ame'
prop
:
'
companyN
ame'
},
{
slot
:
'operate'
...
...
@@ -202,8 +213,14 @@ export default {
this
.
getcompanyRank
();
this
.
getCompanyEvaluatec
();
this
.
getbidBookDownload
();
this
.
getchangeNoticelist
();
this
.
getaccessorydownload
();
this
.
getbidFilelist
()
},
methods
:
{
down
(
url
)
{
window
.
open
(
url
);
},
back
()
{
this
.
$router
.
go
(
-
1
);
},
...
...
@@ -289,53 +306,43 @@ export default {
}
},
// 查看评标附件
async
getaccessorydownload
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
accessorydownload
(
projectId
)
if
(
code
===
200
)
{
this
.
downloadList
=
data
}
},
// 查看投标文件
async
getbidFilelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
bidFilelist
(
projectId
)
if
(
code
===
200
)
{
this
.
bids
=
data
}
},
// 查看变更信息
async
getchangeNoticelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
changeNoticelist
(
projectId
)
if
(
code
===
200
)
{
this
.
changeList
=
data
;
}
},
async
getaccessorydownload
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
accessorydownload
(
projectId
);
if
(
code
===
200
)
{
this
.
downloadList
=
data
;
}
},
// 查看投标文件
async
getbidFilelist
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
bidFilelist
(
projectId
);
if
(
code
===
200
)
{
this
.
bids
=
data
;
}
},
// 查看变更信息
async
getchangeNoticelist
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
changeNoticelist
(
projectId
);
if
(
code
===
200
)
{
this
.
changeList
=
data
;
}
}
//
}
};
</
script
>
<
style
scoped
>
.bond
span
{
cursor
:
pointer
;
}
.file
>
div
{
margin-right
:
10px
;
color
:
#113DEE
;
cursor
:
pointer
;
}
.bond
span
{
cursor
:
pointer
;
}
.file
>
div
{
margin-right
:
10px
;
color
:
#113dee
;
cursor
:
pointer
;
}
.message
{
margin-left
:
50px
;
...
...
src/pages/purchaser/bid/bidSure/winBid/list.vue
View file @
96b199b3
...
...
@@ -85,13 +85,9 @@
}
=
await
sentBookList
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
status
==
0
)
{
item
.
state
=
"未审核"
}
else
if
(
item
.
status
==
1
)
{
item
.
state
=
"通过审核"
}
else
if
(
item
.
status
==
2
)
{
item
.
state
=
"未通过审核"
}
else
if
(
item
.
status
==
-
1
)
{
if
(
item
.
status
==
1
)
{
item
.
state
=
"已发送"
}
else
if
(
item
.
status
==
-
1
)
{
item
.
state
=
"暂存本地"
}
}
...
...
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
View file @
96b199b3
<
template
>
<div
class=
"info"
>
<div
class=
"content"
>
<div
class=
"title_info"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
</div>
<div
class=
"info_box"
>
<noticeDetail></noticeDetail>
<el-row>
<el-button
@
click=
"back"
>
返回
</el-button>
</el-row>
</div>
<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>
</div>
</div>
</div>
</
template
>
<
script
>
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
;
import
editTenderAnnouncement
from
'@components/edit/editTenderAnnouncement.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
noticeDetail
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
components
:
{
dataBreadcrumb
,
noticeDetail
,
editTenderAnnouncement
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
auditStatus
:
''
};
},
methods
:
{
getstate
(
val
)
{
this
.
auditStatus
=
val
;
},
back
()
{
this
.
$router
.
go
(
-
1
);
}
}
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
)
},
},
}
};
</
script
>
<
style
scoped
>
.info
{
box-sizing
:
border-box
;
padding
:
30px
;
background
:
rgb
(
240
,
242
,
245
);
width
:
100%
;
}
.info
{
box-sizing
:
border-box
;
padding
:
30px
;
background
:
rgb
(
240
,
242
,
245
);
width
:
100%
;
}
.info
>
.info_prev
{
box-sizing
:
border-box
;
padding-left
:
30px
;
padding-top
:
30px
;
background
:
#fff
;
}
.info
>
.info_prev
{
box-sizing
:
border-box
;
padding-left
:
30px
;
padding-top
:
30px
;
background
:
#fff
;
}
.content_list
{
margin-top
:
50px
;
}
.content_list
h3
{
margin-top
:
30px
;
font-weight
:
bold
;
padding-bottom
:
10px
;
}
.content_list
{
margin-top
:
50px
;
}
.content_list
p
{
margin-top
:
10px
;
margin-bottom
:
10px
;
}
.content_list
h3
{
margin-top
:
30px
;
font-weight
:
bold
;
padding-bottom
:
10px
;
}
.message
>
p
{
font-weight
:
bold
;
}
.el-row
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
50px
;
}
.content_list
p
{
margin-top
:
10px
;
margin-bottom
:
10px
;
}
.message
>
p
{
font-weight
:
bold
;
}
.el-row
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
50px
;
}
</
style
>
src/pages/purchaser/buyOut/buyoutList.vue
View file @
96b199b3
...
...
@@ -24,8 +24,8 @@
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
合同查看
</el-button>
</div>
<div>
<el-button
type=
"text"
size=
"small"
@
click=
"voucherSign(scope.row
.projectId
)"
v-if=
"scope.row.voucherOperation==1"
>
确认凭证
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"voucherSee(scope.row
.projectId
)"
v-else-if=
"scope.row.voucherOperation==2"
>
查看凭证
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"voucherSign(scope.row)"
v-if=
"scope.row.voucherOperation==1"
>
确认凭证
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"voucherSee(scope.row)"
v-else-if=
"scope.row.voucherOperation==2"
>
查看凭证
</el-button>
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
查看凭证
</el-button>
</div>
</div>
...
...
@@ -103,10 +103,10 @@
})
},
voucherSee
(
id
)
{
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSee?
id=
${
i
d
}
`
)
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSee?
projectId=
${
row
.
projectId
}
&companyId=
${
row
.
bidCompanyI
d
}
`
)
},
voucherSign
(
id
)
{
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSign?
id=
${
i
d
}
`
)
voucherSign
(
row
)
{
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSign?
projectId=
${
row
.
projectId
}
&companyId=
${
row
.
bidCompanyI
d
}
`
)
},
async
getDropList
()
{
const
{
...
...
src/pages/purchaser/buyOut/voucherSee.vue
View file @
96b199b3
...
...
@@ -31,7 +31,8 @@ export default {
data
()
{
return
{
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
id
:
''
,
projectId
:
''
,
companyId
:
''
,
imgList
:[],
srcList
:[]
};
...
...
@@ -43,8 +44,8 @@ export default {
// 查看详情
async
getevidenceDetail
()
{
let
message
=
{};
message
.
projectId
=
this
.
id
;
message
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
message
.
projectId
=
this
.
projectId
message
.
companyId
=
this
.
companyId
const
{
data
,
code
,
msg
}
=
await
evidenceDetail
(
message
);
if
(
code
==
200
)
{
this
.
imgList
=
data
;
...
...
@@ -57,7 +58,8 @@ export default {
}
},
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
;
this
.
projectId
=
this
.
$route
.
query
.
projectId
;
this
.
companyId
=
this
.
$route
.
query
.
companyId
;
this
.
getevidenceDetail
();
}
};
...
...
src/pages/purchaser/buyOut/voucherSign.vue
View file @
96b199b3
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
确认凭证
</h3>
<h5>
确认应收账款等凭证
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-item"
>
<div>
下载合同:
</div>
<ul>
<li
class=
"flex-item"
>
<div>
{{
detail
.
fileName
}}
f
</div>
<!--
<el-button
size=
"mini"
>
下载
</el-button>
-->
<a
:href=
"detail.fileUrl"
>
下载
</a>
</li>
</ul>
</div>
<div
class=
"flex"
style=
"margin-top: 50px;"
>
<div>
查看图片:
</div>
<div
class=
"img-list flex"
>
<div
v-for=
"(item,index) in imgList"
:key=
"index"
>
<el-image
:src=
"item"
:preview-src-list=
"srcList"
style=
"width: 100px; height: 100px"
>
</el-image>
</div>
</div>
</div>
<div
class=
"backButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"submitData()"
>
确认
</el-button>
</div>
</div>
</div>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
确认凭证
</h3>
<h5>
确认应收账款等凭证
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex"
style=
"margin-top: 50px"
>
<div>
查看图片:
</div>
<div
class=
"img-list flex"
>
<div
v-for=
"(item, index) in imgList"
:key=
"index"
>
<el-image
:src=
"item"
:preview-src-list=
"srcList"
style=
"width: 100px; height: 100px"
>
</el-image>
</div>
</div>
</div>
<div
class=
"backButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"submitData()"
>
确认
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
confirmvoucher
,
evidenceDetail
}
from
'@api/purchaser/buyOut'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataBreadcrumb
},
data
()
{
return
{
imgList
:
[
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
,
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
],
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
srcList
:
[
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'
,
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
],
id
:
""
,
detail
:
""
}
},
created
()
{
this
.
getevidenceDetail
()
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
)
},
// 查看详情
async
getevidenceDetail
()
{
let
message
=
{}
message
.
projectId
=
this
.
id
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
const
{
data
,
code
}
=
await
evidenceDetail
(
message
)
if
(
code
==
200
)
{
this
.
detail
=
data
}
},
// 提出
async
submitData
()
{
try
{
let
projectId
=
this
.
id
const
{
msg
,
code
}
=
await
confirmvoucher
(
projectId
)
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
},
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
this
.
getevidenceDetail
();
}
}
import
{
confirmvoucher
,
evidenceDetail
}
from
'@api/purchaser/buyOut'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
components
:
{
dataBreadcrumb
},
data
()
{
return
{
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
projectId
:
''
,
companyId
:
''
,
imgList
:
[],
srcList
:
[]
};
},
created
()
{
this
.
getevidenceDetail
();
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
// 查看详情
async
getevidenceDetail
()
{
let
message
=
{};
message
.
projectId
=
this
.
projectId
;
message
.
companyId
=
this
.
companyId
;
const
{
data
,
code
}
=
await
evidenceDetail
(
message
);
if
(
code
==
200
)
{
this
.
imgList
=
data
;
for
(
let
item
of
data
)
{
this
.
srcList
.
push
(
item
.
fileUrl
);
}
}
else
{
this
.
$message
.
error
(
msg
);
}
},
// 提出
async
submitData
()
{
try
{
let
projectId
=
this
.
projectId
;
const
{
msg
,
code
}
=
await
confirmvoucher
(
projectId
);
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
else
{
this
.
$message
.
error
(
msg
);
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
created
()
{
this
.
projectId
=
this
.
$route
.
query
.
projectId
;
this
.
companyId
=
this
.
$route
.
query
.
companyId
;
this
.
getevidenceDetail
();
}
};
</
script
>
<
style
scoped
>
.img-list
{
flex-wrap
:
wrap
;
}
.img-list
{
flex-wrap
:
wrap
;
}
.img-list
>
div
{
margin-right
:
20px
;
}
.img-list
>
div
{
margin-right
:
20px
;
}
ul
>
li
>
div
{
margin-right
:
10px
;
}
ul
>
li
>
div
{
margin-right
:
10px
;
}
.backButton
{
width
:
200px
;
margin
:
200px
auto
30px
;
}
.backButton
{
width
:
200px
;
margin
:
200px
auto
30px
;
}
</
style
>
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
View file @
96b199b3
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看中标公告
</h3>
<h5>
查看中标公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
class=
'detail1'
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure"
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
class=
"enclosure"
>
相关附件:空
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看中标公告
</h3>
<h5>
查看中标公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
class=
"detail1"
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.accessoryDOList.length>0"
>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
noticeWin
}
from
'@api/supply/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
dataBreadcrumb
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
""
,
projectName
:
""
,
state
:
true
,
detail
:
""
}
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
)
},
async
getnoticeWin
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
noticeWin
(
projectId
)
if
(
code
==
200
)
{
console
.
log
(
data
)
this
.
detail
=
data
}
else
{
this
.
state
=
false
}
}
catch
(
err
)
{
console
.
log
(
err
)
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
getnoticeWin
()
}
}
import
{
noticeWin
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
components
:
{
dataBreadcrumb
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
''
,
projectName
:
''
,
state
:
true
,
detail
:
''
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getnoticeWin
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
if
(
code
==
200
)
{
console
.
log
(
data
);
this
.
detail
=
data
;
}
else
{
this
.
state
=
false
;
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getnoticeWin
();
}
};
</
script
>
<
style
scoped
>
.detail1
{
background
:
#fff
;
margin-top
:
30px
;
}
.detail1
{
background
:
#fff
;
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
margin-top
:
30px
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
}
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.enclosure
{
margin
:
50px
0
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
50px
0
;
}
</
style
>
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