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
7355e38f
Commit
7355e38f
authored
Sep 20, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改错误接口
parent
3dd8917a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
698 additions
and
381 deletions
+698
-381
list.js
src/api/common/list.js
+8
-1
bid.js
src/api/purchaser/bid.js
+52
-1
Header.vue
src/components/common/Header.vue
+40
-10
queryTable.vue
src/components/queryTable.vue
+3
-2
release.vue
src/pages/admin/information/release.vue
+1
-1
administrationList.vue
src/pages/purchaser/bid/administrationList.vue
+4
-1
fail.vue
...pages/purchaser/bid/bidEvaluation/projectManager/fail.vue
+31
-11
clear.vue
src/pages/purchaser/bid/bidEvaluation/review/clear.vue
+3
-1
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+2
-2
see.vue
src/pages/purchaser/bid/bidEvaluation/review/see.vue
+16
-13
bidOpenhal.vue
src/pages/purchaser/bid/bidOpen/bidOpenhal.vue
+87
-24
changeList.vue
src/pages/purchaser/bid/bidStage/changeList/changeList.vue
+16
-8
see.vue
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
+1
-1
failList.vue
src/pages/purchaser/bid/bidStage/failList/failList.vue
+37
-34
failNotice.vue
src/pages/purchaser/bid/bidStage/failList/failNotice.vue
+1
-1
detail.vue
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
+0
-0
tenderFeelist.vue
...es/purchaser/bid/bidStage/tenderFeelist/tenderFeelist.vue
+75
-63
contract.vue
src/pages/purchaser/bid/bidSure/contract.vue
+12
-4
determine.vue
src/pages/purchaser/bid/bidSure/determine.vue
+31
-16
notice.vue
src/pages/purchaser/bid/bidSure/notice.vue
+130
-128
publicity.vue
src/pages/purchaser/bid/bidSure/publicity.vue
+1
-1
see.vue
src/pages/purchaser/bid/bidSure/see.vue
+10
-4
list.vue
src/pages/purchaser/bid/bidSure/winBid/list.vue
+14
-3
fileUpload.vue
src/pages/purchaser/bid/releaseProject/fileUpload.vue
+1
-4
bidInvitation.vue
src/pages/purchaser/bid/reviewed/bidInvitation.vue
+2
-2
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+8
-7
tenderAnnouncement.vue
src/pages/purchaser/bid/reviewed/tenderAnnouncement.vue
+1
-1
workbench.vue
src/pages/purchaser/bid/workbench.vue
+96
-17
home.vue
src/pages/purchaser/home/home.vue
+1
-1
allSupplyList.vue
src/pages/purchaser/supply/allSupply/allSupplyList.vue
+2
-5
mySupplyList.vue
src/pages/purchaser/supply/mySupply/mySupplyList.vue
+11
-12
propose.vue
...pply/bid/joinProject/bidStage/clearManagement/propose.vue
+1
-2
No files found.
src/api/common/list.js
View file @
7355e38f
...
...
@@ -79,4 +79,10 @@ export function mamager(projectId) {
method
:
'get'
})
}
// 获取用户信息
export
function
userInfo
()
{
return
request
({
url
:
"sys/user/userInfo"
,
method
:
'get'
})
}
\ No newline at end of file
src/api/purchaser/bid.js
View file @
7355e38f
...
...
@@ -91,7 +91,22 @@ export function confirmation(confirmId) {
}
// 新增
//
// 标书费缴纳详情
export
function
bidbookDetail
(
feeId
)
{
return
request
({
url
:
`tender-bidbook/detail/
${
feeId
}
`
,
method
:
'get'
,
})
}
// 投标保证金缴纳详情
// export function createChange(feeId) {
// return request({
// url: `tender-bidbook/detail/{feeId}`,
// method: 'get',
// })
// }
// 投标信息查看
export
function
reviewInfomation
(
projectId
)
{
return
request
({
...
...
@@ -101,6 +116,14 @@ export function reviewInfomation(projectId) {
}
// 变更公告管理
// export function createChange(data) {
// return request({
// url: '/notice/list',
// method: 'post',
// data: data
// })
// }
export
function
changeList
(
projectId
)
{
return
request
({
url
:
`/tender-notice/changeList/
${
projectId
}
`
,
...
...
@@ -159,6 +182,15 @@ export function noticeAbortive(id) {
// 2.1.5
// 流标
export
function
bidFailed
(
data
)
{
return
request
({
url
:
"tender-evaluate/bidFailed"
,
method
:
'put'
,
data
:
data
})
}
// 查看投标公司评审信息
export
function
CompanyEvaluatec
(
projectId
)
{
return
request
({
...
...
@@ -294,3 +326,21 @@ export function bidsetting(data) {
})
}
// 标书费提交
export
function
operationAduit
(
data
)
{
return
request
({
url
:
"tender-bidbook/operation/aduit"
,
method
:
'post'
,
data
:
data
})
}
// 2.1.4
//开标大厅
// export function onlineCount() {
// return request({
// url: "/onlineCount",
// method: 'get',
// })
// }
\ No newline at end of file
src/components/common/Header.vue
View file @
7355e38f
...
...
@@ -33,15 +33,23 @@
</div>
<!-- 用户头像 -->
<div
class=
"user-avator"
>
<img
:src=
"user.headimg"
/>
{{
companyName
}}
</div>
<!-- 用户名下拉菜单 -->
<el-dropdown
trigger=
"click"
@
command=
"handleCommand"
>
<span
class=
"el-dropdown-link"
>
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"a"
>
退出登录
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
userInfo
}
from
'@api/common/list'
import
bus
from
'../common/bus'
;
export
default
{
data
()
{
...
...
@@ -51,27 +59,48 @@ export default {
fullscreen
:
false
,
message
:
2
,
user
:
''
,
organname
:
''
organname
:
''
,
companyName
:
""
};
},
computed
:
{
},
methods
:
{
async
getUserInfo
(){
try
{
const
{
data
,
code
}
=
await
userInfo
()
if
(
code
==
200
){
console
.
log
(
data
)
this
.
companyName
=
data
.
companyName
;
localStorage
.
setItem
(
"companyid"
,
data
.
companyid
)
let
userInfo
=
JSON
.
stringify
(
data
)
localStorage
.
setItem
(
"userInfo"
,
userInfo
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
join
(){
// window.location.href="http://192.168.200.201:8081/"
window
.
location
.
href
=
" http://localhost:3000/"
},
// 用户名下拉菜单选择事件
handleCommand
(
command
)
{
if
(
command
==
'loginout'
)
{
localStorage
.
removeItem
(
'user'
);
this
.
$router
.
push
(
'/login'
);
}
},
handleCommand
(
command
)
{
localStorage
.
removeItem
(
"token"
)
setTimeout
(()
=>
{
window
.
location
.
href
=
" http://localhost:3000/"
},
1000
)
},
// 侧边栏折叠
collapseChage
()
{
this
.
collapse
=
!
this
.
collapse
;
console
.
log
(
this
.
collapse
)
bus
.
$emit
(
'collapse'
,
this
.
collapse
);
},
// 全屏事件
...
...
@@ -109,7 +138,7 @@ export default {
}
},
created
()
{
this
.
getUserInfo
();
}
};
</
script
>
...
...
@@ -201,6 +230,7 @@ export default {
text-align
:
center
;
border-radius
:
15px
;
cursor
:
pointer
;
margin-top
:
6px
;
}
.btn-bell-badge
{
position
:
absolute
;
...
...
src/components/queryTable.vue
View file @
7355e38f
...
...
@@ -158,11 +158,12 @@ export default {
async
getqueryList
()
{
try
{
let
message
=
{};
Object
.
assign
(
this
.
sendData
,
this
.
objInput
)
let
sendData
=
this
.
sendData
Object
.
assign
(
sendData
,
this
.
objInput
)
const
{
data
,
code
}
=
await
queryList
(
this
.
sendData
,
this
.
url
)
}
=
await
queryList
(
sendData
,
this
.
url
)
if
(
code
===
200
)
{
console
.
log
(
data
);
this
.
tableData
=
data
...
...
src/pages/admin/information/release.vue
View file @
7355e38f
...
...
@@ -35,7 +35,7 @@
</div>
<div
class=
"margin-left"
>
<div><span
class=
"red"
>
*
</span>
内容
</div>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</div>
</div>
</el-form>
...
...
src/pages/purchaser/bid/administrationList.vue
View file @
7355e38f
...
...
@@ -5,7 +5,7 @@
<el-button
slot=
"moreButton"
type=
"primary"
style=
"margin-left: 50px;"
@
click=
"handlerelease"
>
发布项目
</el-button>
<el-table-column
slot=
"operate"
label=
"项目类型"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.
t
ype==2"
>
公开招标
</div>
<div
v-if=
"scope.row.
bidT
ype==2"
>
公开招标
</div>
<div
v-else
>
邀请招标
</div>
</
template
>
</el-table-column>
...
...
@@ -100,7 +100,10 @@ export default {
// 跳转工作台
examine
(
row
)
{
this
.
$router
.
push
(
'/purchaser/bid/workbench'
)
// 存项目信息 ,项目名称,项目编号
localStorage
.
setItem
(
'projectId'
,
row
.
projectId
);
localStorage
.
setItem
(
'projectName'
,
row
.
projectName
);
localStorage
.
setItem
(
'projectCode'
,
row
.
projectCode
);
},
handlerelease
(){
this
.
$router
.
push
(
'/purchaser/bid/releaseProject'
)
...
...
src/pages/purchaser/bid/bidEvaluation/projectManager/fail.vue
View file @
7355e38f
...
...
@@ -12,16 +12,16 @@
<div>
项目名称:大楼翻新
</div>
</div>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
<span
class=
"tips"
>
*
</span>
评价报告
</div>
<
singleUpload
tips=
"最多上传一个文件,每个文件不超过100M。"
></single
Upload>
<div
class=
"adjustment"
>
评价报告
</div>
<
Upload
:limit=
"1"
:max=
"100"
tip=
"最多上传一个文件,每个文件不超过100M。"
></
Upload>
</div>
<div
class=
"flex"
>
<div
class=
"adjustment "
>
评
价报告
</div>
<
multiUpload
tips=
"最多上传5个文件,每个文件不超过100M。"
></multi
Upload>
<div
class=
"adjustment "
>
评
标报告扫描件
</div>
<
Upload
:limit=
"1"
:max=
"100"
tip=
"最多上传5个文件,每个文件不超过100M。"
></
Upload>
</div>
<div
class=
"flex-center"
style=
"margin:100px 0"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
style=
"margin-left: 20px;"
>
提交
</el-button>
<el-button
type=
"primary"
style=
"margin-left: 20px;"
@
click=
"submitData"
>
提交
</el-button>
</div>
</div>
</div>
...
...
@@ -29,15 +29,14 @@
</
template
>
<
script
>
import
{
bidFailed
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/singleUpload.vue'
import
multiUpload
from
'@components/Upload/multiUpload.vue'
import
Upload
from
'@components/Upload/Upload.vue'
export
default
{
name
:
'bidingList'
,
components
:
{
singleUpload
,
dataBreadcrumb
,
multi
Upload
Upload
},
data
()
{
return
{
...
...
@@ -45,7 +44,28 @@ export default {
}
},
methods
:
{
async
submitData
()
{
try
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
bidFailed
(
message
)
if
(
code
==
200
){
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
}
}
...
...
src/pages/purchaser/bid/bidEvaluation/review/clear.vue
View file @
7355e38f
...
...
@@ -81,9 +81,11 @@ export default {
data
,
code
}
=
await
clarifyinquiryList
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
20
0
)
{
for
(
let
item
of
data
){
item
.
updateTime
=
getTime1
(
item
.
updateTime
)
item
.
state
=
"已回复"
item
.
askPerson
=
'球刀'
}
this
.
tableData
=
data
}
...
...
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
7355e38f
...
...
@@ -312,7 +312,7 @@ export default {
data
,
code
}
=
await
CompanyEvaluatec
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
20
0
)
{
this
.
review
=
data
}
}
catch
(
e
)
{
...
...
@@ -327,7 +327,7 @@ export default {
data
,
code
}
=
await
companyRank
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
20
0
)
{
this
.
rank
=
data
}
...
...
src/pages/purchaser/bid/bidEvaluation/review/see.vue
View file @
7355e38f
...
...
@@ -9,38 +9,38 @@
<div
class=
"message"
>
<h4>
澄清问题
</h4>
<div
class=
"flex-between"
>
<div>
澄清质询标题:
{{
question
Detail
.
title
}}
</div>
<div>
澄清质询类型:
{{
question
Detail
.
type
}}
</div>
<div>
澄清质询标题:
{{
reply
Detail
.
title
}}
</div>
<div>
澄清质询类型:
{{
reply
Detail
.
type
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
问题发布时间:
</div>
<div>
澄清回复截止时间:
{{
question
Detail
.
cutOffTime
}}
</div>
<div>
澄清回复截止时间:
{{
reply
Detail
.
cutOffTime
}}
</div>
</div>
<div>
澄清问题内容:
{{
question
Detail
.
content
}}
</div>
<div>
澄清问题内容:
{{
reply
Detail
.
content
}}
</div>
<div
class=
"flex"
>
<div>
澄清问题文件:
</div>
<ul
class=
"upload"
>
<li>
<span>
{{
question
Detail
.
fileName
}}
</span>
<el-button
size=
"mini"
@
click=
'download(
question
Detail.fileUrl)'
>
下载
</el-button>
<span>
{{
reply
Detail
.
fileName
}}
</span>
<el-button
size=
"mini"
@
click=
'download(
reply
Detail.fileUrl)'
>
下载
</el-button>
</li>
</ul>
</div>
<h4>
澄清
问题
</h4>
<h4>
回复
问题
</h4>
<div
class=
"flex"
>
<div>
投标人:
</div>
<div>
阿里巴巴
</div>
</div>
<div
class=
"flex"
>
<div>
回复内容:
</div>
<div>
萨达所大所大所大所大所大所多多撒奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥
</div>
<div>
{{
questionDetail
.
replyContent
}}
</div>
</div>
<div
class=
"flex"
>
<div>
回复附件:
</div>
<ul
class=
"upload"
>
<li
class=
"flex"
>
<div>
澄清问题文件.doc
</div>
<el-button
size=
"mini"
>
下载
</el-button>
<el-button
size=
"mini"
@
click=
"download(questionDetail.fileUrl)"
>
下载
</el-button>
</li>
</ul>
</div>
...
...
@@ -83,9 +83,11 @@
data
,
code
}
=
await
expertquestionDetail
(
id
)
if
(
code
===
0
)
{
console
.
log
(
data
);
this
.
questionDetail
=
data
;
if
(
code
===
200
)
{
console
.
log
(
data
)
this
.
replyDetail
=
data
;
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
@@ -99,7 +101,8 @@
code
}
=
await
expertreplyDetail
(
id
)
if
(
code
===
200
)
{
this
.
questionDetail
=
data
[
0
];
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidOpen/bidOpenhal.vue
View file @
7355e38f
...
...
@@ -25,10 +25,7 @@
<div
class=
"hal-center"
>
<ul>
<li
v-for=
"(item,index) in halList"
:key=
"index"
class=
"flex"
>
<div>
{{
item
.
time
}}
</div>
<div>
{{
item
.
role
}}
</div>
<div>
{{
item
.
person
}}
</div>
<div>
{{
item
.
behavior
}}
</div>
<div>
{{
item
}}
</div>
</li>
</ul>
</div>
...
...
@@ -39,7 +36,24 @@
<el-button
v-else
type=
"info"
>
{{
buttonWords
}}
</el-button>
</div>
</div>
<!-- 在线对话 -->
<div
class=
"dialogue"
style=
"margin-top: 30px;"
>
<ul
class=
"dialogueList"
>
<li
v-for=
"(item,index) in dialogueList"
:key=
"index"
>
</li>
</ul>
<el-input
placeholder=
"请输入内容"
v-model=
"content"
clearable
@
keyup
.
enter
.
native=
"send"
>
</el-input>
</div>
</div>
<!-- 最下面一栏 -->
<div
class=
"flex-between buttons"
>
<el-button>
流标
</el-button>
<div>
...
...
@@ -47,7 +61,7 @@
<el-button>
下发开标一览表
</el-button>
<el-button>
查看开标一览表
</el-button>
</div>
<el-button>
退出大厅
<i
class=
"el-icon-right"
></i></el-button>
<el-button
@
click=
"back"
>
退出大厅
<i
class=
"el-icon-right"
></i></el-button>
</div>
</div>
<!--确认开标窗口 -->
...
...
@@ -92,7 +106,7 @@ export default {
},
data
()
{
return
{
isMessge
:
tru
e
,
isMessge
:
fals
e
,
pageObj
:
{
size
:
10
,
total
:
1000
,
...
...
@@ -146,23 +160,14 @@ export default {
isOpenbid
:
false
,
buttonWords
:
'立即开标'
,
openbidButton
:
false
,
halList
:
[{
time
:
'17:56:56'
,
role
:
'招标人'
,
person
:
'谢天'
,
behavior
:
'进入开标大厅'
},
{
time
:
'17:56:56'
,
role
:
'投标人'
,
person
:
'测试1'
,
behavior
:
'确认可开标'
}
],
halList
:
[],
minutes
:
''
,
seconds
:
''
,
currentTime
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
]
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
websock
:
null
,
content
:
""
,
dialogueList
:[]
}
},
mounted
()
{
...
...
@@ -176,8 +181,14 @@ export default {
let
currentTime
=
getTime
()
this
.
currentTime
=
currentTime
},
1000
)
// websocket
this
.
createWebSocket
()
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
},
// 计算分秒倒计时
add
:
function
()
{
var
_this
=
this
...
...
@@ -219,13 +230,63 @@ export default {
}
}
})
}
}
},
// websocket
createWebSocket
()
{
// 注意这里的端口号是后端服务的端口号,后面的是后端正常请求的路径,ziyuan是我的项目名,最后面的是我放在cookie中的当前登陆用户
let
token
=
localStorage
.
getItem
(
"token"
)
this
.
websocket
=
new
WebSocket
(
'ws://192.168.3.35:8085/webSocket/'
+
token
)
// 连接成功时
this
.
websocket
.
onopen
=
()
=>
{
}
this
.
websocket
.
onmessage
=
event
=>
{
// 后端发送的消息在event.data中
console
.
log
(
event
.
data
)
this
.
halList
.
push
(
event
.
data
)
}
this
.
websocket
.
onclose
=
function
()
{
console
.
log
(
'关闭了'
)
}
// 路由跳转时结束websocket链接
this
.
$router
.
afterEach
(
function
()
{
this
.
websocket
.
close
()
})
// 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常
window
.
onbeforeunload
=
function
()
{
this
.
websocket
.
close
()
}
},
send
(){
let
content
=
this
.
content
;
this
.
websocket
.
send
(
content
)
// this.content=""
// let message={}
// message.content=content
// message.time=getTime();
// message.name=JSON.parse(localStorage.getItem("userInfo")).name;
// this.dialogueList.push(message)
}
},
}
</
script
>
<
style
scoped
>
.dialogue
{
position
:
absolute
;
top
:
10%
;
right
:
10%
;
}
.dialogue
>
.dialogueList
{
border
:
1px
solid
#DCDFE6
;
width
:
247px
;
height
:
300px
;
overflow
:
auto
;
}
.hal
{
position
:
relative
;
}
.buttons
{
margin
:
100px
0
;
}
...
...
@@ -264,7 +325,8 @@ export default {
border
:
1px
solid
#000
;
margin
:
0
50px
;
box-sizing
:
border-box
;
padding
:
30px
padding
:
30px
;
overflow
:
auto
}
.hal-center
>
ul
>
li
{
...
...
@@ -289,6 +351,7 @@ export default {
.hal-left
h1
{
margin-bottom
:
50px
;
/* letter-spacing:5px */
font-size
:
24px
;
}
.bid-message
{
...
...
src/pages/purchaser/bid/bidStage/changeList/changeList.vue
View file @
7355e38f
...
...
@@ -3,7 +3,7 @@
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<el-button
class=
"absolute"
type=
"primary"
@
click=
"release"
>
发布变更公告
</el-button>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
:table-top=
"60
"
>
<dataTable
:columns=
"columns"
:table-top=
"60"
url=
"notice/list"
:page-obj=
"pageObj
"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.auditStatus===2"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row.id)"
>
修改
</el-button>
...
...
@@ -16,11 +16,11 @@
</template>
<
script
>
import
{
changeList
}
from
'@api/purchaser/bid'
//
import {
//
changeList
//
} from '@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/
nopage
Table.vue'
import
dataTable
from
'@components/
data
Table.vue'
export
default
{
components
:
{
dataTable
,
...
...
@@ -28,6 +28,14 @@ export default {
},
data
()
{
return
{
pageObj
:
{
size
:
10
,
currentPage
:
1
,
type
:
"CHANGE"
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
},
projectId
:
2
,
breads
:
[
'招标管理 '
,
'招标项目管理'
,
'工作台'
],
tableData
:
[],
...
...
@@ -55,7 +63,7 @@ export default {
}
},
created
()
{
this
.
getchangeList
(
)
this
.
pageObj
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
},
methods
:
{
handleModify
(
id
)
{
...
...
@@ -72,7 +80,7 @@ export default {
handleSee
(
id
)
{
this
.
$router
.
push
(
`/purchaser/bid/bidStage/changeList/see?id=
${
id
}
`
)
},
async
getchangeList
()
{
/*
async getchangeList() {
try {
let projectId=localStorage.getItem("projectId");
const {
...
...
@@ -94,7 +102,7 @@ export default {
} catch (e) {
console.log(e)
}
}
}
*/
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
View file @
7355e38f
...
...
@@ -248,7 +248,7 @@ export default {
}
.clear-item
>
div
:last-child
{
width
:
200px
;
}
...
...
src/pages/purchaser/bid/bidStage/failList/failList.vue
View file @
7355e38f
...
...
@@ -3,7 +3,7 @@
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<el-button
class=
"absolute"
type=
"primary"
@
click=
"release"
>
发布流标公告
</el-button>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
:table-top=
"60
"
>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
url=
"notice/list"
:table-top=
"60"
:page-obj=
"pageObj
"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.auditStatus===2"
type=
"text"
size=
"small"
@
click=
"handleModify(scope.row.id)"
>
修改
</el-button>
...
...
@@ -16,30 +16,33 @@
</template>
<
script
>
import
{
abortiveList
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
dataTable
from
'@components/
nopage
Table.vue'
import
dataTable
from
'@components/
data
Table.vue'
export
default
{
name
:
'bidingList'
,
components
:
{
dataTable
,
dataBreadcrumb
},
data
()
{
return
{
pageObj
:
{
size
:
10
,
currentPage
:
1
,
type
:
"ABORTIVE"
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
},
projectId
:
2
,
breads
:
[
'招标管理 '
,
'招标项目管理'
,
'工作台'
],
tableData
:
[],
columns
:
[{
label
:
'公告名称'
,
prop
:
'name'
,
width
:
500
prop
:
'title'
},
{
label
:
'创建时间'
,
prop
:
'
data
'
,
prop
:
'
createTime
'
,
sortable
:
true
},
{
...
...
@@ -53,12 +56,12 @@ export default {
{
slot
:
'operate'
}
]
// 操作列
]
//
/
操作列
}
},
created
()
{
this
.
getabortiveList
(
)
this
.
pageObj
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
},
methods
:
{
handleModify
(
id
)
{
...
...
@@ -75,29 +78,29 @@ export default {
handleSee
(
id
)
{
this
.
$router
.
push
(
`/purchaser/bid/bidStage/failList/see?id=
${
id
}
`
)
},
async
getabortiveList
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
abortiveList
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
auditStatus
===
0
)
{
item
.
Status
=
'未审核'
}
else
if
(
item
.
auditStatus
===
1
)
{
item
.
Status
=
'审核通过'
}
else
{
item
.
Status
=
'未通过'
}
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
//
async getabortiveList() {
//
try {
//
let projectId=localStorage.getItem("projectId");
//
const {
//
data,
//
code
//
} = await abortiveList(projectId)
//
if (code === 200) {
//
for (let item of data) {
//
if (item.auditStatus === 0) {
//
item.Status = '未审核'
//
} else if (item.auditStatus === 1) {
//
item.Status = '审核通过'
//
} else {
//
item.Status = '未通过'
//
}
//
}
//
this.tableData = data
//
}
//
} catch (e) {
//
console.log(e)
//
}
//
}
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidStage/failList/failNotice.vue
View file @
7355e38f
...
...
@@ -16,7 +16,7 @@
<singleUpload
tip=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
<div
class=
"button"
>
...
...
src/pages/purchaser/bid/bidStage/tenderFeelist/detail.vue
View file @
7355e38f
This diff is collapsed.
Click to expand it.
src/pages/purchaser/bid/bidStage/tenderFeelist/tenderFeelist.vue
View file @
7355e38f
<!-- 标书费 缴纳 -->
<
template
>
<div
>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
url=
"/tender-bidbook/operation"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.condition=='已缴纳'||scope.row.condition=='待修改'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee
"
>
查看
</el-button>
</div>
<div
v-if=
"scope.row.condition=='待
审核'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleExamine
"
>
审核
</el-button>
</div>
</
template
>
</el-table-column>
</dataTable>
</div>
</div>
<div
>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
url=
"/tender-bidbook/operation"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.condition=='已缴纳'||scope.row.condition=='待修改'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row.feeId)
"
>
查看
</el-button>
</div>
<div
v-if=
"scope.row.condition=='未
审核'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleExamine(scope.row.feeId)
"
>
审核
</el-button>
</div>
</
template
>
</el-table-column>
</dataTable>
</div>
</div>
</template>
<
script
>
import
dataTable
from
'@components/dataTable.vue'
export
default
{
components
:
{
dataTable
},
data
()
{
return
{
breads
:
[
'招标管理'
,
'招标项目管理 '
,
'工作台'
],
columns
:
[{
label
:
'单位名称'
,
prop
:
'companyName'
},
{
label
:
'投标项目'
,
prop
:
'projectName'
},
{
label
:
'提交审核时间'
,
prop
:
'updateTime'
},
{
label
:
'缴费情况'
,
prop
:
'condition'
},
{
slot
:
'operate'
}
],
// 操作列
pageObj
:
{
size
:
10
,
currentPage
:
1
}
}
},
created
()
{
this
.
pageObj
.
projectId
=
2
},
methods
:
{
handleExamine
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/tenderFeelist/detail?type=examine'
)
},
handleSee
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/tenderFeelist/detail?type=see'
)
},
}
}
import
dataTable
from
'@components/dataTable.vue'
export
default
{
components
:
{
dataTable
},
data
()
{
return
{
breads
:
[
'招标管理'
,
'招标项目管理 '
,
'工作台'
],
columns
:
[{
label
:
'单位名称'
,
prop
:
'companyName'
},
{
label
:
'投标项目'
,
prop
:
'projectName'
},
{
label
:
'提交审核时间'
,
prop
:
'updateTime'
},
{
label
:
'缴费情况'
,
prop
:
'condition'
},
{
slot
:
'operate'
}
],
// 操作列
pageObj
:
{
size
:
10
,
currentPage
:
1
}
}
},
created
()
{
this
.
pageObj
.
projectId
=
2
},
methods
:
{
handleExamine
(
feeId
)
{
this
.
$router
.
push
({
path
:
"/purchaser/bid/bidStage/tenderFeelist/detail"
,
query
:
{
type
:
"examine"
,
feeId
:
feeId
}
})
},
handleSee
(
feeId
)
{
this
.
$router
.
push
({
path
:
"/purchaser/bid/bidStage/tenderFeelist/detail"
,
query
:
{
type
:
"see"
,
feeId
:
feeId
}
})
},
}
}
</
script
>
<
style
scoped
>
</
style
>
src/pages/purchaser/bid/bidSure/contract.vue
View file @
7355e38f
...
...
@@ -136,10 +136,18 @@ export default {
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
const
{
code
,
msg
}
=
await
contract
(
this
.
ruleForm
);
if
(
code
===
2000
)
{
this
.
$success
.
success
(
msg
)
}
this
.
$message
({
message
:
"成功"
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
// const { code,msg } = await contract(this.ruleForm);
// if (code === 200) {
// this.$success.success(msg)
// }
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidSure/determine.vue
View file @
7355e38f
...
...
@@ -35,7 +35,7 @@
</el-input>
</div>
<div
class=
"button flex-center"
>
<el-button>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
完成
</el-button>
</div>
</div>
...
...
@@ -88,12 +88,14 @@ export default {
this
.
getcandidate
()
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
},
examine
()
{
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
)
},
check
(
index
){
console
.
log
(
index
);
console
.
log
(
this
.
tableData
)
},
// 获取中标人列表
async
getcandidate
()
{
...
...
@@ -103,7 +105,12 @@ export default {
data
,
code
}
=
await
candidate
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
200
)
{
for
(
let
item
of
data
){
item
.
companyName
=
"杭州光海科技有限公司"
item
.
contacts
=
"松江"
item
.
phone
=
"77581633272"
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
...
...
@@ -112,19 +119,27 @@ export default {
},
// 提交中标人
async
submitData
()
{
try
{
let
data
=
{}
data
.
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
msg
,
code
}
=
await
winnerSave
()
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
);
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
this
.
$message
({
message
:
"提交完成"
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
// try {
// let data={}
// data.projectId=localStorage.getItem("projectId");
// const {
// msg,
// code
// } = await winnerSave()
// if (code === 200) {
// this.$message.success(msg);
// }
// } catch (e) {
// console.log(e)
// }
}
}
}
...
...
src/pages/purchaser/bid/bidSure/notice.vue
View file @
7355e38f
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布中标公告
</h3>
<h5>
发布中标公告
<</h5>
</div>
<div
class=
"content"
>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:3456789567222
</div>
<div>
项目名称:测试4567890
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
tips=
"支持上传1个附件,不超过20M"
></singleUpload>
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
<div
class=
"flex-item"
>
<div
style=
"width: 50px;"
>
备注:
</div>
<el-input
:rows=
"4"
v-model=
"remark"
type=
"remark"
placeholder=
"请输入备注"
>
</el-input>
</div>
</div>
<div
class=
"form"
>
<h3>
确定中标人
</h3>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
输入中标价
</el-button>
</
template
>
</el-table-column>
</dataTable>
<h3
style=
"margin-top:30px"
>
中标公告内容
</h3>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告标题"
prop=
"title"
>
<el-input
v-model=
"ruleForm.title"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"button flex-center"
>
<el-button>
返回
</el-button>
<el-button
type=
"primary"
>
完成
</el-button>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"收货地址"
width=
"30%"
>
<el-form
:model=
"form"
>
<el-form-item
label-width=
"120px"
label=
"输入中标价"
>
<el-input
v-model=
"form.price"
type=
"number"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布中标公告
</h3>
<h5>
发布中标公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:3456789567222
</div>
<div>
项目名称:测试4567890
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
tips=
"支持上传1个附件,不超过20M"
></singleUpload>
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
<div
class=
"flex-item"
>
<div
style=
"width: 50px;"
>
备注:
</div>
<el-input
:rows=
"4"
v-model=
"remark"
type=
"remark"
placeholder=
"请输入备注"
>
</el-input>
</div>
</div>
<div
class=
"form"
>
<h3>
确定中标人
</h3>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:is-pageobj=
"false"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
输入中标价
</el-button>
</
template
>
</el-table-column>
</dataTable>
<h3
style=
"margin-top:30px"
>
中标公告内容
</h3>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告标题"
prop=
"title"
>
<el-input
v-model=
"ruleForm.title"
></el-input>
</el-form-item>
</el-form>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"button flex-center"
>
<el-button>
返回
</el-button>
<el-button
type=
"primary"
>
完成
</el-button>
</div>
</div>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"收货地址"
width=
"30%"
>
<el-form
:model=
"form"
>
<el-form-item
label-width=
"120px"
label=
"输入中标价"
>
<el-input
v-model=
"form.price"
type=
"number"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
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
dataTable
from
'@components/dataTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/singleUpload.vue'
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
return
{
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请填写标题'
,
trigger
:
'blue'
}],
content
:
[{
required
:
true
,
message
:
'请填写内容'
,
trigger
:
'blue'
}]
},
form
:
{
price
:
''
},
dialogFormVisible
:
false
,
remark
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
tableData
:
[{
bidPerson
:
'杭州市西湖区古荡湾'
,
price
:
'100.00'
}],
columns
:
[{
label
:
'中标人'
,
prop
:
'bidPerson'
},
{
label
:
'中标价(元)'
,
prop
:
'price'
},
{
slot
:
'operate'
}
]
//
}
},
methods
:
{
edit
(
row
)
{
this
.
dialogFormVisible
=
true
this
.
form
=
row
}
}
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
dataTable
from
'@components/dataTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/singleUpload.vue'
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
return
{
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请填写标题'
,
trigger
:
'blue'
}],
content
:
[{
required
:
true
,
message
:
'请填写内容'
,
trigger
:
'blue'
}]
},
form
:
{
price
:
''
},
dialogFormVisible
:
false
,
}
remark
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
tableData
:
[{
bidPerson
:
'杭州市西湖区古荡湾'
,
price
:
'100.00'
}],
columns
:
[{
label
:
'中标人'
,
prop
:
'bidPerson'
},
{
label
:
'中标价(元)'
,
prop
:
'price'
},
{
slot
:
'operate'
}
]
//
}
},
methods
:
{
edit
(
row
)
{
this
.
dialogFormVisible
=
true
this
.
form
=
row
}
}
}
</
script
>
...
...
@@ -150,6 +152,6 @@ export default {
.button
{
width
:
100%
;
height
:
50px
;
margin-top
:
100px
;
margin-top
:
100px
;
}
</
style
>
src/pages/purchaser/bid/bidSure/publicity.vue
View file @
7355e38f
...
...
@@ -32,7 +32,7 @@
</el-form>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
<quill-editor
ref=
"text"
v-model=
"form.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
...
...
src/pages/purchaser/bid/bidSure/see.vue
View file @
7355e38f
...
...
@@ -37,7 +37,7 @@
<div
style=
"margin-top:100px"
>
<div
class=
"flex-between"
>
<h5>
评审信息
</h5>
<el-button
type=
"primary"
size=
"small"
>
澄清质询查看
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
'jump'
>
澄清质询查看
</el-button>
</div>
<dataTable
:table-data=
"review"
:columns=
"reviewTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"资格审查"
align=
"center"
fixed=
"right"
>
...
...
@@ -82,7 +82,7 @@
</ul>
</div>
<div
class=
"button"
>
<el-button>
返回
</el-button>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
@
click=
"fail"
>
流标
</el-button>
<el-button
type=
"primary"
>
评标结束
</el-button>
</div>
...
...
@@ -172,6 +172,12 @@ export default {
this
.
getCompanyEvaluatec
()
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
},
jump
(){
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/review/clear'
)
},
examine
()
{
this
.
$router
.
push
(
'/admin/bid/bidingDetail'
)
},
...
...
@@ -186,7 +192,7 @@ export default {
data
,
code
}
=
await
CompanyEvaluatec
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
20
0
)
{
this
.
review
=
data
}
}
catch
(
e
)
{
...
...
@@ -201,7 +207,7 @@ export default {
data
,
code
}
=
await
companyRank
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
20
0
)
{
this
.
rank
=
data
}
...
...
src/pages/purchaser/bid/bidSure/winBid/list.vue
View file @
7355e38f
...
...
@@ -66,7 +66,7 @@ export default {
this
.
getsentBookList
();
},
methods
:
{
e
xamine
()
{
e
dit
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidSure/winBid/edit'
)
},
back
()
{
...
...
@@ -77,9 +77,20 @@ export default {
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
code
}
=
await
sentBookList
(
projectId
)
if
(
code
===
0
)
{
if
(
code
===
200
)
{
for
(
let
item
of
data
){
item
.
bidder
=
"杭州光海科技有限公司"
item
.
receiver
=
"杭州泰基科技有限公司"
if
(
item
.
status
==
0
){
item
.
state
=
"未审核"
}
else
if
(
item
.
status
==
1
){
item
.
state
=
"审核通过"
}
else
{
item
.
state
=
"未审核"
}
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
...
...
src/pages/purchaser/bid/releaseProject/fileUpload.vue
View file @
7355e38f
...
...
@@ -3,10 +3,7 @@
<div
class=
"describe"
>
上传招标文件
</div>
<div
class=
"padding"
>
<div
class=
"details"
>
<div
class=
"flex-between"
>
<div>
项目编号:ZBXM45678906789
</div>
<div>
项目名称:河道清淤
</div>
</div>
<!--
<div
class=
"flex"
>
<div
class=
"correct"
>
*文件名称
</div>
<el-input
v-model=
"bidBookPO"
style=
"width: 50%;"
placeholder=
"请输入"
clearable
>
...
...
src/pages/purchaser/bid/reviewed/bidInvitation.vue
View file @
7355e38f
...
...
@@ -16,8 +16,8 @@
<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"
style=
"width: 90%;height: 250px;"
/>
<
!--
<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>
...
...
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
7355e38f
...
...
@@ -10,9 +10,9 @@
<div>
<div
class=
"describe"
>
基本信息
</div>
<div
class=
"form"
>
<div
class=
"flex-between"
style=
"width:
4
0%;margin-bottom: 20px;"
>
<div>
项目编号:
ZBXM3456789056789
</div>
<div>
项目名称:
大运河清淤
</div>
<div
class=
"flex-between"
style=
"width:
10
0%;margin-bottom: 20px;"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"询价公告名称"
prop=
"title"
>
...
...
@@ -20,7 +20,6 @@
</el-form-item>
<el-form-item
label=
"询价所在地"
prop=
"address"
>
<citySelect
@
sendprovinceId=
"getprovinceId"
@
sendcityId=
"getcityId"
@
senddistrictId=
"getdistrictId"
></citySelect>
</el-form-item>
<div
class=
"flex-between"
style=
"width:60%"
>
<el-form-item
label=
"询价单编号"
prop=
"inquiryCode"
>
...
...
@@ -71,9 +70,9 @@
<div>
<div
class=
"describe"
>
基本信息
</div>
<div
class=
"form"
>
<div
class=
"flex-between"
style=
"width:
4
0%;margin-bottom: 20px;"
>
<div>
项目编号:
ZBXM3456789056789
</div>
<div>
项目名称:
大运河清淤
</div>
<div
class=
"flex-between"
style=
"width:
10
0%;margin-bottom: 20px;"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"150px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"供应商规格要求"
prop=
"supplierScale"
>
...
...
@@ -291,6 +290,8 @@ export default {
console
.
log
(
data
);
this
.
ruleForm
.
stateTime
=
data
;
this
.
ruleForm
.
endTime
=
data
;
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
},
methods
:
{
...
...
src/pages/purchaser/bid/reviewed/tenderAnnouncement.vue
View file @
7355e38f
...
...
@@ -16,7 +16,7 @@
<singleUpload
tip=
"支持扩展名:.rar .zip .doc .docx .pdf .jpg..."
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item></el-form>
</div>
...
...
src/pages/purchaser/bid/workbench.vue
View file @
7355e38f
...
...
@@ -10,7 +10,8 @@
<div>
{{
item
.
title
}}
</div>
<ul
class=
"inside flex"
>
<li
v-for=
"(mods,index) in item.modulars"
:key=
"index"
class=
"flex-center"
>
<div
:class=
"[mods=='项目信息'||mods=='项目终止'?'active':'']"
>
{{
mods
}}
</div>
<!--
<div
:class=
"[mods=='项目信息'||mods=='项目终止'?'active':'']"
>
{{
mods
}}
</div>
-->
<div
class=
"active"
@
click=
"jump(mods.label,mods.url)"
>
{{
mods
.
label
}}
</div>
</li>
</ul>
</li>
...
...
@@ -34,45 +35,123 @@ export default {
navs
:
[
'工作台'
],
states
:
[{
title
:
'公告'
,
modulars
:
[
'变更公告管理'
,
'流标公告管理'
]
},
modulars
:[{
label
:
"变更公告管理"
,
url
:
"/purchaser/bid/bidStage/changeList"
},
{
label
:
"流标公告管理"
,
url
:
"/purchaser/bid/bidStage/failList"
}]
},
{
title
:
'招标'
,
// modulars:[{
// label:"项目信息",
// url:"/purchaser/bid/bidStage/clearManagement"
// },
modulars
:
[
'项目信息'
,
'发布询价公告'
,
'发布招标公告'
,
'投标邀请书'
,
'招标文件澄清管理'
]
modulars
:[
{
label
:
"发布询价公告"
,
url
:
"/purchaser/bid/reviewed/inquiryAnnouncement"
},
{
label
:
"发布招标公告"
,
url
:
"/purchaser/bid/reviewed/tenderAnnouncement"
},
{
label
:
"投标邀请书"
,
url
:
"/purchaser/bid/reviewed/bidInvitation"
},
{
label
:
"招标文件澄清管理"
,
url
:
"/purchaser/bid/bidStage/clearManagement"
}]
},
{
title
:
'投标'
,
modulars
:
[
'投标信息查看'
]
modulars
:
[{
label
:
"投标信息查看"
,
url
:
"/purchaser/bid/bidStage/tenderInformationlist"
}]
},
{
title
:
'开标'
,
modulars
:
[
'开标设置'
,
'开标大厅'
]
modulars
:
[{
label
:
"开标设置"
,
url
:
"/purchaser/bid/bidStage/bidSet"
},
{
label
:
"开标大厅"
,
url
:
"/purchaser/bid/bidOpen/bidOpenhal"
}]
},
{
title
:
'评标'
,
modulars
:
[
'评标'
]
},
{
modulars
:
[{
label
:
"评标查看"
,
url
:
"/purchaser/bid/bidSure/see"
}]
},
{
title
:
'定标'
,
modulars
:
[
'确定中标人'
,
'重新确定中标人'
,
'中标候选人公示'
,
'中标公告'
,
'中标通知书处理'
,
'合同管理'
]
modulars
:
[{
label
:
"确定中标人"
,
url
:
"/purchaser/bid/bidSure/determine"
},
{
label
:
"重新确定中标人"
,
url
:
"/purchaser/bid/bidSure/determine"
},
{
label
:
"中标候选人公示"
,
url
:
"/purchaser/bid/bidSure/publicity"
},
{
label
:
"中标公告"
,
url
:
"/purchaser/bid/bidSure/notice"
},
{
label
:
"中标通知书处理"
,
url
:
"/purchaser/bid/bidSure/winBid/list"
},
{
label
:
"合同管理"
,
url
:
"/purchaser/bid/bidSure/contract"
}]
},
{
title
:
'费用'
,
modulars
:
[
'标书费缴纳管理'
,
'保证金缴纳管理'
]
modulars
:
[{
label
:
"标书费缴纳管理"
,
url
:
"/purchaser/bid/bidStage/tenderFeelist"
},
{
label
:
"保证金缴纳管理"
,
url
:
"/purchaser/bid/bidStage/bondList"
}]
},
{
title
:
'功能'
,
modulars
:
[
'项目终止'
]
modulars
:
[{
label
:
"项目终止"
,
url
:
""
}]
}
]
}
},
methods
:
{
async
jump
(
label
,
url
){
console
.
log
(
label
,
url
)
if
(
label
==
"项目终止"
){
this
.
$confirm
(
'确定要终止吗?'
,
'提示'
,
{
type
:
'warning'
})
.
then
(()
=>
{
this
.
$message
.
success
(
'终止成功'
)
})
.
catch
(()
=>
{})
}
else
{
this
.
$router
.
push
(
url
)
}
}
}
}
</
script
>
...
...
src/pages/purchaser/home/home.vue
View file @
7355e38f
...
...
@@ -135,7 +135,7 @@ export default {
created
(){
let
token
=
getSearchString
(
"token"
);
localStorage
.
setItem
(
"token"
,
token
)
localStorage
.
setItem
(
"companyId"
,
2
)
// localStorage.setItem("companyId",1
)
},
methods
:
{
handleSee
(
row
)
{
...
...
src/pages/purchaser/supply/allSupply/allSupplyList.vue
View file @
7355e38f
<
template
>
<div>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist
"
url=
"/tender-management/bidder/list"
>
<dataTable
:columns=
"columns"
:breads=
"breads"
:checklist=
"checklist"
:pageObj=
"pageObj
"
url=
"/tender-management/bidder/list"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"see(scope.row)"
>
查看
</el-button>
...
...
@@ -32,7 +32,7 @@ export default {
},
{
label
:
'行业类型'
,
prop
:
'industry
Type
'
prop
:
'industry'
},
{
label
:
'联系人'
,
...
...
@@ -42,12 +42,9 @@ export default {
slot
:
'operate'
}
],
// 操作列
pageObj
:
{
size
:
10
,
total
:
1
,
currentPage
:
1
,
sizes
:
[
10
,
15
,
20
],
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
...
...
src/pages/purchaser/supply/mySupply/mySupplyList.vue
View file @
7355e38f
<
template
>
<div>
<div
class=
"content"
>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"check
list"
>
<dataTable
:columns=
"columns"
:breads=
"breads"
:checklist=
"checklist"
:pageObj=
"pageObj"
url=
"tender-management/relevance/bidder/
list"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"see(scope.row)"
>
查看
</el-button>
...
...
@@ -11,7 +11,6 @@
</div>
</div>
</template>
<
script
>
import
dataTable
from
'@components/dataTable.vue'
export
default
{
...
...
@@ -48,22 +47,22 @@ export default {
slot
:
'operate'
}
],
// 操作列
pageObj
:
{
size
:
10
,
total
:
1
,
currentPage
:
1
,
sizes
:
[
100
,
200
,
300
],
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
}
pageObj
:
{
size
:
10
,
currentPage
:
1
,
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
}
}
}
},
methods
:
{
see
()
{
this
.
$router
.
push
(
'/purchaser/supply/allSupplySee'
)
}
},
created
()
{
this
.
pageObj
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
}
}
</
script
>
...
...
src/pages/supply/bid/joinProject/bidStage/clearManagement/propose.vue
View file @
7355e38f
...
...
@@ -15,9 +15,8 @@
<singleUpload
:limit=
"5"
tip=
"最多上传5个文件,每个文件不超过100M。"
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"澄清问题内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
style=
"width: 90%;height: 250px;"
/>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
<div
class=
"button"
>
<el-button
@
click=
"cancle"
>
取消
</el-button>
...
...
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