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
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
481 additions
and
358 deletions
+481
-358
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
+124
-135
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
+51
-44
list.vue
src/pages/purchaser/bid/bidSure/winBid/list.vue
+2
-6
SeetenderAnnouncement.vue
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
+32
-27
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
+43
-63
noticeSee.vue
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
+38
-44
No files found.
src/components/detail/noticeDetail.vue
View file @
96b199b3
...
@@ -43,9 +43,9 @@ export default {
...
@@ -43,9 +43,9 @@ export default {
async
getbiddingProjectId
()
{
async
getbiddingProjectId
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
const
{
data
,
code
,
msg
}
=
await
biddingProjectId
(
projectId
);
this
.
$emit
(
"getmsg"
,
code
)
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
detail
=
data
;
this
.
detail
=
data
;
this
.
$emit
(
"getstate"
,
data
.
auditStatus
)
}
else
if
(
code
==
500
)
{
}
else
if
(
code
==
500
)
{
this
.
state
=
false
;
this
.
state
=
false
;
this
.
msg
=
msg
;
this
.
msg
=
msg
;
...
...
src/components/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
...
@@ -3,15 +3,19 @@
...
@@ -3,15 +3,19 @@
<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=
"download(bidDetail.fileUrl)"
>
{{
bidDetail
.
fileName
}}
</span></div>
<div>
招标文件:
<span
@
click=
"download(bidDetail.fileUrl)"
>
{{
bidDetail
.
fileName
}}
</span>
</div>
<div>
开标信息:
<span
@
click=
"changeOpen"
>
开标一览表
</span></div>
<div>
开标信息:
<span
@
click=
"changeOpen"
>
开标一览表
</span></div>
</div>
</div>
<div
class=
"flex upload"
>
<div
class=
"flex upload"
>
<div>
变更信息:
</div>
<div>
变更信息:
</div>
<ul
class=
"title flex"
>
<ul
class=
"title flex"
>
<li
v-for=
"(item,index) in changeList"
:key=
"index"
>
<li
v-for=
"(item, index) in changeList"
:key=
"index"
>
<router-link
:to=
"
{path: '/purchaser/bid/bidStage/changeList/see', query: {id: item.noticeId }}">
{{
item
.
title
}}
</router-link>
<router-link
:to=
"
{ path: '/purchaser/bid/bidStage/changeList/see', query: { id: item.noticeId } }">
{{
item
.
title
}}
</router-link>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -22,42 +26,44 @@
...
@@ -22,42 +26,44 @@
<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
class=
"flex file"
>
<div
class=
"flex file"
>
<div
@
click=
"down(scope.row.fileUrl)"
>
{{
scope
.
row
.
fileName
}}
</div>
<div
@
click=
"down(scope.row.fileUrl)"
>
{{
scope
.
row
.
fileName
}}
</div>
<div
v-for=
"(file,index) in scope.row.fileList"
:key=
"index"
@
click=
"down(file.fileUrl)"
>
{{
file
.
fileName
}}
</div>
<div
v-for=
"(file, index) in scope.row.fileList"
:key=
"index"
@
click=
"down(file.fileUrl)"
>
{{
file
.
fileName
}}
</div>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
</div>
</div>
<!-- 评审信息 -->
<!-- 评审信息 -->
<div
style=
"margin-top:
100px"
>
<div
style=
"margin-top:
100px"
>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<h5>
评审信息
</h5>
<h5>
评审信息
</h5>
<el-button
type=
"primary"
size=
"small"
@
click=
'jump'
>
澄清质询查看
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"jump"
>
澄清质询查看
</el-button>
</div>
</div>
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<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.qualifi==0
"
>
通过
</div>
<div
v-if=
"scope.row.qualification
"
>
通过
</div>
<div
v-else
>
未通过
</div>
<div
v-if=
"!scope.row.qualification"
>
未通过
</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.accord==0
"
>
通过
</div>
<div
v-if=
"scope.row.conformity
"
>
通过
</div>
<div
v-else
>
未通过
</div>
<div
v-if=
"!scope.row.conformity"
>
未通过
</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.fail==0
"
>
通过
</div>
<div
v-if=
"scope.row.bidRejection
"
>
通过
</div>
<div
v-else
>
未通过
</div>
<div
v-if=
"!scope.row.bidRejection"
>
未通过
</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==0
"
>
通过
</div>
<div
v-if=
"scope.row.conclusion
"
>
通过
</div>
<div
v-else
>
未通过
</div>
<div
v-if=
"!scope.row.conclusion"
>
未通过
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
@@ -66,9 +72,15 @@
...
@@ -66,9 +72,15 @@
<div>
<div>
<h5>
排名信息
</h5>
<h5>
排名信息
</h5>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"是否中标候选人"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.winPerson"
>
是
</div>
<div
v-if=
"!scope.row.winPerson"
>
否
</div>
</
template
>
</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>
{{
scope
.
$index
+
1
}}
</div>
<div>
{{
scope
.
$index
+
1
}}
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</dataTable>
</dataTable>
...
@@ -77,8 +89,8 @@
...
@@ -77,8 +89,8 @@
<div
class=
"flex"
>
<div
class=
"flex"
>
<div>
评标附件:
</div>
<div>
评标附件:
</div>
<ul
class=
"upload"
>
<ul
class=
"upload"
>
<li
class=
"flex"
v-for=
"(item,
index) in downloadList"
:key=
"index"
>
<li
class=
"flex"
v-for=
"(item,
index) in downloadList"
:key=
"index"
>
<div>
{{item.fileName
}}
</div>
<div>
{{ item.fileName
}}
</div>
<button
@
click=
"down(item.fileUrl)"
>
下载
</button>
<button
@
click=
"down(item.fileUrl)"
>
下载
</button>
</li>
</li>
</ul>
</ul>
...
@@ -91,8 +103,7 @@
...
@@ -91,8 +103,7 @@
</div>
</div>
<!-- 开标一览表 -->
<!-- 开标一览表 -->
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
<dataTable
:tableData=
"tableData"
:columns=
"nopagecolumns"
:margin-top=
"0"
:margin-bottom=
"0"
>
<dataTable
:tableData=
"tableData"
:columns=
"nopagecolumns"
:margin-top=
"0"
:margin-bottom=
"0"
>
</dataTable>
</dataTable>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"isOpenInfo = false"
>
取 消
</el-button>
<el-button
@
click=
"isOpenInfo = false"
>
取 消
</el-button>
</div>
</div>
...
@@ -102,7 +113,7 @@
...
@@ -102,7 +113,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
import
{
bidend
,
bidend
,
CompanyEvaluatec
,
CompanyEvaluatec
,
companyRank
,
companyRank
,
...
@@ -111,19 +122,20 @@
...
@@ -111,19 +122,20 @@
bidFilelist
,
bidFilelist
,
accessorydownload
,
accessorydownload
,
openInfo
openInfo
}
from
'@api/purchaser/bid'
}
from
'@api/purchaser/bid'
;
import
dataTable
from
'@components/nopageTable.vue'
import
dataTable
from
'@components/nopageTable.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
dataTable
,
dataTable
,
dataBreadcrumb
dataBreadcrumb
},
},
data
()
{
data
()
{
return
{
return
{
isOpenInfo
:
false
,
isOpenInfo
:
false
,
tableData
:[],
tableData
:
[],
nopagecolumns
:
[{
nopagecolumns
:
[
{
label
:
'投标人名称'
,
label
:
'投标人名称'
,
prop
:
'companyName'
prop
:
'companyName'
},
},
...
@@ -133,13 +145,14 @@
...
@@ -133,13 +145,14 @@
},
},
{
{
label
:
'是否签名'
,
label
:
'是否签名'
,
prop
:
'isSign'
,
prop
:
'isSign'
},
}
],
//
],
//
downloadList
:
[],
downloadList
:
[],
changeList
:
[],
changeList
:
[],
bidDetail
:
""
,
bidDetail
:
''
,
rankTitle
:
[{
rankTitle
:
[
{
label
:
'投标人名称'
,
label
:
'投标人名称'
,
prop
:
'companyName'
prop
:
'companyName'
},
},
...
@@ -172,7 +185,8 @@
...
@@ -172,7 +185,8 @@
}
}
],
],
rank
:
[],
rank
:
[],
bidTitle
:
[{
bidTitle
:
[
{
label
:
'投标人'
,
label
:
'投标人'
,
prop
:
'companyName'
prop
:
'companyName'
},
},
...
@@ -183,85 +197,74 @@
...
@@ -183,85 +197,74 @@
bids
:
[],
bids
:
[],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
review
:
[],
review
:
[],
reviewTitle
:
[{
reviewTitle
:
[
{
label
:
'投标人名称'
,
label
:
'投标人名称'
,
prop
:
'companyName'
prop
:
'companyName'
},
},
{
{
slot
:
'operate'
slot
:
'operate'
}
}
],
// 操作列
]
// 操作列
}
};
},
},
methods
:
{
methods
:
{
changeOpen
()
{
changeOpen
()
{
this
.
isOpenInfo
=
true
;
this
.
isOpenInfo
=
true
;
this
.
getopenInfo
()
;
this
.
getopenInfo
()
;
},
},
// 开标一览表
// 开标一览表
async
getopenInfo
()
{
async
getopenInfo
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
openInfo
(
projectId
);
data
,
code
}
=
await
openInfo
(
projectId
)
if
(
code
==
200
)
{
if
(
code
==
200
)
{
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
if
(
item
.
isSign
)
{
if
(
item
.
isSign
)
{
item
.
isSign
=
"是"
item
.
isSign
=
'是'
;
}
else
{
}
else
{
item
.
isSign
=
"否"
item
.
isSign
=
'否'
;
}
}
}
}
this
.
tableData
=
data
this
.
tableData
=
data
;
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
},
},
down
(
url
)
{
down
(
url
)
{
window
.
open
(
url
)
window
.
open
(
url
);
},
},
jump
()
{
jump
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/review/clear'
)
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/review/clear'
);
},
},
compare
(
property
)
{
compare
(
property
)
{
return
function
(
a
,
b
)
{
return
function
(
a
,
b
)
{
var
value1
=
a
[
property
];
var
value1
=
a
[
property
];
var
value2
=
b
[
property
];
var
value2
=
b
[
property
];
return
value2
-
value1
;
return
value2
-
value1
;
}
};
},
},
// 查看评标附件
// 查看评标附件
async
getaccessorydownload
()
{
async
getaccessorydownload
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
accessorydownload
(
projectId
);
data
,
code
}
=
await
accessorydownload
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
downloadList
=
data
this
.
downloadList
=
data
;
}
}
},
},
// 查看投标文件
// 查看投标文件
async
getbidFilelist
()
{
async
getbidFilelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
bidFilelist
(
projectId
);
data
,
code
}
=
await
bidFilelist
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
bids
=
data
this
.
bids
=
data
;
}
}
},
},
// 查看变更信息
// 查看变更信息
async
getchangeNoticelist
()
{
async
getchangeNoticelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
changeNoticelist
(
projectId
);
data
,
code
}
=
await
changeNoticelist
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
changeList
=
data
;
this
.
changeList
=
data
;
}
}
...
@@ -269,49 +272,39 @@
...
@@ -269,49 +272,39 @@
// 查投标公司评审信息
// 查投标公司评审信息
async
getCompanyEvaluatec
()
{
async
getCompanyEvaluatec
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
CompanyEvaluatec
(
projectId
);
data
,
code
}
=
await
CompanyEvaluatec
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
review
=
data
;
this
.
review
=
data
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
},
},
// 查看投标公司排名信息
// 查看投标公司排名信息
async
getcompanyRank
()
{
async
getcompanyRank
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
companyRank
(
projectId
);
data
,
code
}
=
await
companyRank
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
console
.
log
(
data
,
"..............."
);
console
.
log
(
data
,
'...............'
);
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
))
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
));
this
.
rank
=
data1
this
.
rank
=
data1
;
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
},
},
async
getbidBookDownload
()
{
async
getbidBookDownload
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
bidBookDownload
(
projectId
);
data
,
code
}
=
await
bidBookDownload
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
bidDetail
=
data
this
.
bidDetail
=
data
;
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
},
},
async
end
()
{
async
end
()
{
...
@@ -320,91 +313,87 @@
...
@@ -320,91 +313,87 @@
type
:
'warning'
type
:
'warning'
})
})
.
then
(
async
()
=>
{
.
then
(
async
()
=>
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
msg
,
code
}
=
await
bidend
(
projectId
);
msg
,
code
}
=
await
bidend
(
projectId
)
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
);
}
else
{
}
else
{
this
.
$message
.
error
(
msg
)
this
.
$message
.
error
(
msg
);
}
}
})
})
.
catch
(()
=>
{})
.
catch
(()
=>
{});
},
},
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
},
examine
()
{
examine
()
{
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
)
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
);
},
},
fail
()
{
fail
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/projectManager/fail'
)
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/projectManager/fail'
);
}
}
},
},
created
()
{
created
()
{
this
.
getaccessorydownload
();
this
.
getaccessorydownload
();
this
.
getbidFilelist
();
this
.
getbidFilelist
();
this
.
getchangeNoticelist
();
this
.
getchangeNoticelist
();
this
.
getcompanyRank
()
this
.
getcompanyRank
();
this
.
getCompanyEvaluatec
()
this
.
getCompanyEvaluatec
();
this
.
getbidBookDownload
();
this
.
getbidBookDownload
();
},
}
}
};
</
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
{
.message
{
margin-left
:
50px
;
margin-left
:
50px
;
margin-bottom
:
50px
;
margin-bottom
:
50px
;
}
}
.message
span
{
color
:
#113dee
;
.message
span
{
}
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/bidEvaluation/review/review.vue
View file @
96b199b3
...
@@ -44,26 +44,26 @@
...
@@ -44,26 +44,26 @@
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<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.qualification
== true
"
>
通过
</div>
<div
v-if=
"scope.row.qualification"
>
通过
</div>
<div
v-if=
"
scope.row.qualification == false
"
>
未通过
</div>
<div
v-if=
"
!scope.row.qualification
"
>
未通过
</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.conformity
== true
"
>
通过
</div>
<div
v-if=
"scope.row.conformity"
>
通过
</div>
<div
v-if=
"
scope.row.conformity == false
"
>
未通过
</div>
<div
v-if=
"
!scope.row.conformity
"
>
未通过
</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.bidRejection"
>
通过
</div>
<div
v-if=
"
scope.row.bidRejection == false
"
>
未通过
</div>
<div
v-if=
"
!scope.row.bidRejection
"
>
未通过
</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.conclusion"
>
通过
</div>
<div
v-if=
"
scope.row.conclusion == false
"
>
未通过
</div>
<div
v-if=
"
!scope.row.conclusion
"
>
未通过
</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"
>
...
@@ -79,8 +79,8 @@
...
@@ -79,8 +79,8 @@
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<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.winPerson
== 'true'
"
>
是
</div>
<div
v-if=
"scope.row.winPerson"
>
是
</div>
<div
v-if=
"
scope.row.winPerson == 'false'
"
>
否
</div>
<div
v-if=
"
!scope.row.winPerson
"
>
否
</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"
>
...
@@ -175,8 +175,8 @@
...
@@ -175,8 +175,8 @@
></el-input-number>
></el-input-number>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否中标候选人"
prop=
"winPerson"
>
<el-form-item
label=
"是否中标候选人"
prop=
"winPerson"
>
<el-radio
v-model=
"rankForm.winPerson"
label=
"true"
>
是
</el-radio>
<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=
"false"
>
否
</el-radio>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -596,13 +596,13 @@ export default {
...
@@ -596,13 +596,13 @@ export default {
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
companyRank
(
projectId
);
const
{
data
,
code
}
=
await
companyRank
(
projectId
);
if
(
code
===
200
)
{
if
(
code
===
200
)
{
for
(
let
item
of
data
){
//
for(let item of data){
if
(
item
.
winPerson
){
//
if(item.winPerson){
item
.
winPerson
=
"true"
//
item.winPerson="true"
}
else
{
//
}else{
item
.
winPerson
=
"false"
//
item.winPerson="false"
}
//
}
}
//
}
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
));
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
));
this
.
rank
=
data1
;
this
.
rank
=
data1
;
}
}
...
...
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
View file @
96b199b3
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
}
from
'@api/purchaser/bid'
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/dataTable.vue'
import
dataTable
from
'@components/dataTable.vue'
import
singleUpload
from
'@components/Upload/
single
Upload.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
export
default
{
export
default
{
name
:
'bidingList'
,
name
:
'bidingList'
,
components
:
{
components
:
{
...
@@ -132,9 +132,7 @@
...
@@ -132,9 +132,7 @@
<
style
scoped
>
<
style
scoped
>
.message
{
/* width:60%; */
}
.message
>
div
{
.message
>
div
{
margin-bottom
:
30px
;
margin-bottom
:
30px
;
...
...
src/pages/purchaser/bid/bidSure/bidResult/list.vue
View file @
96b199b3
...
@@ -84,12 +84,8 @@ export default {
...
@@ -84,12 +84,8 @@ export default {
}
=
await
resultBookList
(
projectId
)
}
=
await
resultBookList
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
if
(
item
.
status
==
0
)
{
if
(
item
.
status
==
1
)
{
item
.
state
=
"未审核"
item
.
state
=
"已发送"
}
else
if
(
item
.
status
==
1
)
{
item
.
state
=
"通过审核"
}
else
if
(
item
.
status
==
2
)
{
item
.
state
=
"未通过审核"
}
else
if
(
item
.
status
==
-
1
)
{
}
else
if
(
item
.
status
==
-
1
)
{
item
.
state
=
"暂存本地"
item
.
state
=
"暂存本地"
}
}
...
...
src/pages/purchaser/bid/bidSure/determine.vue
View file @
96b199b3
...
@@ -150,6 +150,8 @@
...
@@ -150,6 +150,8 @@
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
)
},
1500
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidSure/see.vue
View file @
96b199b3
...
@@ -71,22 +71,32 @@
...
@@ -71,22 +71,32 @@
<!-- 排名信息 -->
<!-- 排名信息 -->
<div>
<div>
<h5>
排名信息
</h5>
<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>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div>
评标附件:
</div>
<div>
评标附件:
</div>
<ul
class=
"upload"
>
<ul
class=
"upload"
>
<li
class=
"flex"
>
<li
class=
"flex"
v-for=
"(item, index) in downloadList"
:key=
"index"
>
<div>
评价附件.pdf
</div>
<div>
{{ item.fileName }}
</div>
<button>
下载
</button>
<button
@
click=
"down(item.fileUrl)"
>
下载
</button>
</li>
</li>
</ul>
</ul>
</div>
</div>
<
!-- <div class="b
utton">
<
div
class=
"centerB
utton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button @click="fail">流标</el-button>
</div>
<el-button type="primary">评标结束</el-button>
</div> -->
</div>
</div>
<!-- 开标一览表 -->
<!-- 开标一览表 -->
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
<el-dialog
title=
"开标一览表"
:visible
.
sync=
"isOpenInfo"
>
...
@@ -96,15 +106,19 @@
...
@@ -96,15 +106,19 @@
</div>
</div>
</el-dialog>
</el-dialog>
</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>
</template>
</template>
<
script
>
<
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
dataTable
from
'@components/nopageTable.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
export
default
{
...
@@ -114,6 +128,7 @@ export default {
...
@@ -114,6 +128,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
changeList
:
[],
isOpenInfo
:
false
,
isOpenInfo
:
false
,
tableData
:
[],
tableData
:
[],
nopagecolumns
:
[
nopagecolumns
:
[
...
@@ -157,10 +172,6 @@ export default {
...
@@ -157,10 +172,6 @@ export default {
label
:
'评标价(元)'
,
label
:
'评标价(元)'
,
prop
:
'evaluationPrice'
prop
:
'evaluationPrice'
},
},
{
label
:
'排名'
,
prop
:
'rank'
},
{
{
label
:
'最终得分'
,
label
:
'最终得分'
,
prop
:
'finalScore'
prop
:
'finalScore'
...
@@ -173,7 +184,7 @@ export default {
...
@@ -173,7 +184,7 @@ export default {
bidTitle
:
[
bidTitle
:
[
{
{
label
:
'投标人'
,
label
:
'投标人'
,
prop
:
'
n
ame'
prop
:
'
companyN
ame'
},
},
{
{
slot
:
'operate'
slot
:
'operate'
...
@@ -202,8 +213,14 @@ export default {
...
@@ -202,8 +213,14 @@ export default {
this
.
getcompanyRank
();
this
.
getcompanyRank
();
this
.
getCompanyEvaluatec
();
this
.
getCompanyEvaluatec
();
this
.
getbidBookDownload
();
this
.
getbidBookDownload
();
this
.
getchangeNoticelist
();
this
.
getaccessorydownload
();
this
.
getbidFilelist
()
},
},
methods
:
{
methods
:
{
down
(
url
)
{
window
.
open
(
url
);
},
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
);
this
.
$router
.
go
(
-
1
);
},
},
...
@@ -290,52 +307,42 @@ export default {
...
@@ -290,52 +307,42 @@ export default {
},
},
// 查看评标附件
// 查看评标附件
async
getaccessorydownload
()
{
async
getaccessorydownload
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
accessorydownload
(
projectId
);
data
,
code
}
=
await
accessorydownload
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
downloadList
=
data
this
.
downloadList
=
data
;
}
}
},
},
// 查看投标文件
// 查看投标文件
async
getbidFilelist
()
{
async
getbidFilelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
bidFilelist
(
projectId
);
data
,
code
}
=
await
bidFilelist
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
bids
=
data
this
.
bids
=
data
;
}
}
},
},
// 查看变更信息
// 查看变更信息
async
getchangeNoticelist
()
{
async
getchangeNoticelist
()
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
changeNoticelist
(
projectId
);
data
,
code
}
=
await
changeNoticelist
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
changeList
=
data
;
this
.
changeList
=
data
;
}
}
},
}
//
//
}
}
};
};
</
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
{
.message
{
margin-left
:
50px
;
margin-left
:
50px
;
...
...
src/pages/purchaser/bid/bidSure/winBid/list.vue
View file @
96b199b3
...
@@ -85,12 +85,8 @@
...
@@ -85,12 +85,8 @@
}
=
await
sentBookList
(
projectId
)
}
=
await
sentBookList
(
projectId
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
for
(
let
item
of
data
)
{
if
(
item
.
status
==
0
)
{
if
(
item
.
status
==
1
)
{
item
.
state
=
"未审核"
item
.
state
=
"已发送"
}
else
if
(
item
.
status
==
1
)
{
item
.
state
=
"通过审核"
}
else
if
(
item
.
status
==
2
)
{
item
.
state
=
"未通过审核"
}
else
if
(
item
.
status
==
-
1
)
{
}
else
if
(
item
.
status
==
-
1
)
{
item
.
state
=
"暂存本地"
item
.
state
=
"暂存本地"
}
}
...
...
src/pages/purchaser/bid/reviewed/SeetenderAnnouncement.vue
View file @
96b199b3
<
template
>
<
template
>
<div
class=
"info"
>
<div
class=
"info"
>
<div
class=
"content"
>
<div
class=
"content"
>
<editTenderAnnouncement
v-if=
"auditStatus == 2"
></editTenderAnnouncement>
<div
v-if=
"auditStatus == 0||auditStatus == 1"
>
<div
class=
"title_info"
>
<div
class=
"title_info"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
</div>
</div>
<div
class=
"info_box"
>
<div
class=
"info_box"
>
<noticeDetail
></noticeDetail>
<noticeDetail
@
getstate=
"getstate"
></noticeDetail>
<el-row>
<el-row>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
</el-row>
</el-row>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
import
noticeDetail
from
'@components/detail/noticeDetail.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
editTenderAnnouncement
from
'@components/edit/editTenderAnnouncement.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
dataBreadcrumb
,
dataBreadcrumb
,
noticeDetail
noticeDetail
,
editTenderAnnouncement
},
},
data
()
{
data
()
{
return
{
return
{
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
breads
:
[
'投标管理'
,
'在线报名'
,
'招标公告'
],
auditStatus
:
''
}
};
},
},
methods
:
{
methods
:
{
back
(
)
{
getstate
(
val
)
{
this
.
$router
.
go
(
-
1
)
this
.
auditStatus
=
val
;
},
},
back
()
{
},
this
.
$router
.
go
(
-
1
);
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.info
{
.info
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
30px
;
padding
:
30px
;
background
:
rgb
(
240
,
242
,
245
);
background
:
rgb
(
240
,
242
,
245
);
width
:
100%
;
width
:
100%
;
}
}
.info
>
.info_prev
{
.info
>
.info_prev
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding-left
:
30px
;
padding-left
:
30px
;
padding-top
:
30px
;
padding-top
:
30px
;
background
:
#fff
;
background
:
#fff
;
}
}
.content_list
{
.content_list
{
margin-top
:
50px
;
margin-top
:
50px
;
}
}
.content_list
h3
{
.content_list
h3
{
margin-top
:
30px
;
margin-top
:
30px
;
font-weight
:
bold
;
font-weight
:
bold
;
padding-bottom
:
10px
;
padding-bottom
:
10px
;
}
}
.content_list
p
{
.content_list
p
{
margin-top
:
10px
;
margin-top
:
10px
;
margin-bottom
:
10px
;
margin-bottom
:
10px
;
}
}
.message
>
p
{
.message
>
p
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.el-row
{
.el-row
{
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
margin-top
:
50px
;
margin-top
:
50px
;
}
}
</
style
>
</
style
>
src/pages/purchaser/buyOut/buyoutList.vue
View file @
96b199b3
...
@@ -24,8 +24,8 @@
...
@@ -24,8 +24,8 @@
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
合同查看
</el-button>
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
合同查看
</el-button>
</div>
</div>
<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=
"voucherSign(scope.row)"
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=
"voucherSee(scope.row)"
v-else-if=
"scope.row.voucherOperation==2"
>
查看凭证
</el-button>
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
查看凭证
</el-button>
<el-button
type=
"text"
size=
"small"
v-else
disabled
>
查看凭证
</el-button>
</div>
</div>
</div>
</div>
...
@@ -103,10 +103,10 @@
...
@@ -103,10 +103,10 @@
})
})
},
},
voucherSee
(
id
)
{
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
)
{
voucherSign
(
row
)
{
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSign?
id=
${
i
d
}
`
)
this
.
$router
.
push
(
`/purchaser/buyOut/voucherSign?
projectId=
${
row
.
projectId
}
&companyId=
${
row
.
bidCompanyI
d
}
`
)
},
},
async
getDropList
()
{
async
getDropList
()
{
const
{
const
{
...
...
src/pages/purchaser/buyOut/voucherSee.vue
View file @
96b199b3
...
@@ -31,7 +31,8 @@ export default {
...
@@ -31,7 +31,8 @@ export default {
data
()
{
data
()
{
return
{
return
{
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
id
:
''
,
projectId
:
''
,
companyId
:
''
,
imgList
:[],
imgList
:[],
srcList
:[]
srcList
:[]
};
};
...
@@ -43,8 +44,8 @@ export default {
...
@@ -43,8 +44,8 @@ export default {
// 查看详情
// 查看详情
async
getevidenceDetail
()
{
async
getevidenceDetail
()
{
let
message
=
{};
let
message
=
{};
message
.
projectId
=
this
.
id
;
message
.
projectId
=
this
.
projectId
message
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
message
.
companyId
=
this
.
companyId
const
{
data
,
code
,
msg
}
=
await
evidenceDetail
(
message
);
const
{
data
,
code
,
msg
}
=
await
evidenceDetail
(
message
);
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
imgList
=
data
;
this
.
imgList
=
data
;
...
@@ -57,7 +58,8 @@ export default {
...
@@ -57,7 +58,8 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
;
this
.
projectId
=
this
.
$route
.
query
.
projectId
;
this
.
companyId
=
this
.
$route
.
query
.
companyId
;
this
.
getevidenceDetail
();
this
.
getevidenceDetail
();
}
}
};
};
...
...
src/pages/purchaser/buyOut/voucherSign.vue
View file @
96b199b3
...
@@ -6,22 +6,11 @@
...
@@ -6,22 +6,11 @@
<h5>
确认应收账款等凭证
</h5>
<h5>
确认应收账款等凭证
</h5>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"flex-item"
>
<div
class=
"flex"
style=
"margin-top: 50px"
>
<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>
查看图片:
</div>
<div
class=
"img-list flex"
>
<div
class=
"img-list flex"
>
<div
v-for=
"(item,index) in imgList"
:key=
"index"
>
<div
v-for=
"(item, index) in imgList"
:key=
"index"
>
<el-image
:src=
"item"
:preview-src-list=
"srcList"
style=
"width: 100px; height: 100px"
>
<el-image
:src=
"item"
:preview-src-list=
"srcList"
style=
"width: 100px; height: 100px"
>
</el-image>
</el-image>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -34,97 +23,88 @@
...
@@ -34,97 +23,88 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
import
{
confirmvoucher
,
evidenceDetail
}
from
'@api/purchaser/buyOut'
;
confirmvoucher
,
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
evidenceDetail
export
default
{
}
from
'@api/purchaser/buyOut'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
components
:
{
dataBreadcrumb
dataBreadcrumb
},
},
data
()
{
data
()
{
return
{
return
{
imgList
:
[
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
,
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
],
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
breads
:
[
'应收账款买断管理'
,
'应收账款买断列表'
],
srcList
:
[
projectId
:
''
,
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'
,
companyId
:
''
,
'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
imgList
:
[],
],
srcList
:
[]
id
:
""
,
};
detail
:
""
}
},
},
created
()
{
created
()
{
this
.
getevidenceDetail
()
this
.
getevidenceDetail
();
},
},
methods
:
{
methods
:
{
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
},
// 查看详情
// 查看详情
async
getevidenceDetail
()
{
async
getevidenceDetail
()
{
let
message
=
{}
let
message
=
{};
message
.
projectId
=
this
.
id
message
.
projectId
=
this
.
projectId
;
message
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
message
.
companyId
=
this
.
companyId
;
const
{
const
{
data
,
code
}
=
await
evidenceDetail
(
message
);
data
,
code
}
=
await
evidenceDetail
(
message
)
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
detail
=
data
this
.
imgList
=
data
;
for
(
let
item
of
data
)
{
this
.
srcList
.
push
(
item
.
fileUrl
);
}
}
else
{
this
.
$message
.
error
(
msg
);
}
}
},
},
// 提出
// 提出
async
submitData
()
{
async
submitData
()
{
try
{
try
{
let
projectId
=
this
.
id
let
projectId
=
this
.
projectId
;
const
{
const
{
msg
,
code
}
=
await
confirmvoucher
(
projectId
);
msg
,
code
}
=
await
confirmvoucher
(
projectId
)
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
);
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
)
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
);
}
}
}
},
},
},
created
()
{
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
this
.
projectId
=
this
.
$route
.
query
.
projectId
;
this
.
companyId
=
this
.
$route
.
query
.
companyId
;
this
.
getevidenceDetail
();
this
.
getevidenceDetail
();
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.img-list
{
.img-list
{
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.img-list
>
div
{
.img-list
>
div
{
margin-right
:
20px
;
margin-right
:
20px
;
}
}
ul
>
li
>
div
{
ul
>
li
>
div
{
margin-right
:
10px
;
margin-right
:
10px
;
}
}
.backButton
{
.backButton
{
width
:
200px
;
width
:
200px
;
margin
:
200px
auto
30px
;
margin
:
200px
auto
30px
;
}
}
</
style
>
</
style
>
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
View file @
96b199b3
...
@@ -7,24 +7,23 @@
...
@@ -7,24 +7,23 @@
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
</div>
<div
class=
'detail1'
v-if=
"state"
>
<div
class=
"detail1"
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure"
v-if=
"detail.accessoryDOList"
>
<div
class=
"enclosure flex-item"
>
<ul>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<li
v-for=
"(item,i) in detail.accessoryDOList"
:key=
"i"
>
<ul
v-if=
"detail.accessoryDOList.length>0"
>
<a
href=
"item.accessoryUrl"
>
item.fileName
</a>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</li>
</ul>
</ul>
<div
v-else
>
空
</div>
</div>
</div>
<div
class=
"enclosure"
>
相关附件:空
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
<div
class=
"centerButton"
>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
...
@@ -33,74 +32,69 @@
...
@@ -33,74 +32,69 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
import
{
noticeWin
}
from
'@api/supply/bid'
;
noticeWin
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
}
from
'@api/supply/bid'
export
default
{
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
export
default
{
components
:
{
components
:
{
dataBreadcrumb
dataBreadcrumb
},
},
data
()
{
data
()
{
return
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
""
,
projectCode
:
''
,
projectName
:
""
,
projectName
:
''
,
state
:
true
,
state
:
true
,
detail
:
""
detail
:
''
}
};
},
},
methods
:
{
methods
:
{
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
)
this
.
$router
.
go
(
-
1
);
},
},
async
getnoticeWin
()
{
async
getnoticeWin
()
{
try
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
data
,
code
}
=
await
noticeWin
(
projectId
)
if
(
code
==
200
)
{
if
(
code
==
200
)
{
console
.
log
(
data
)
console
.
log
(
data
);
this
.
detail
=
data
this
.
detail
=
data
;
}
else
{
}
else
{
this
.
state
=
false
this
.
state
=
false
;
}
}
}
catch
(
err
)
{
}
catch
(
err
)
{
console
.
log
(
err
)
console
.
log
(
err
);
}
}
}
}
},
},
created
()
{
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getnoticeWin
()
this
.
getnoticeWin
();
}
}
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.detail1
{
.detail1
{
background
:
#fff
;
background
:
#fff
;
margin-top
:
30px
;
margin-top
:
30px
;
}
}
.content
>
h1
{
.content
>
h1
{
text-align
:
center
;
text-align
:
center
;
margin-top
:
20px
;
margin-top
:
20px
;
margin-bottom
:
40px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.content
>
.img
{
.content
>
.img
{
width
:
600px
;
width
:
600px
;
margin
:
0
auto
margin
:
0
auto
;
}
}
.enclosure
{
.enclosure
{
margin
:
50px
0
;
margin
:
50px
0
;
}
}
</
style
>
</
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