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
e280408e
Commit
e280408e
authored
Oct 05, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新
parent
a3dc5d02
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
269 additions
and
140 deletions
+269
-140
bid.js
src/api/purchaser/bid.js
+7
-1
priceDetail.vue
src/components/detail/priceDetail.vue
+1
-1
content.vue
...es/purchaser/bid/bidEvaluation/projectManager/content.vue
+16
-7
add.vue
src/pages/purchaser/bid/bidEvaluation/review/add.vue
+38
-19
clear.vue
src/pages/purchaser/bid/bidEvaluation/review/clear.vue
+17
-3
review.vue
src/pages/purchaser/bid/bidEvaluation/review/review.vue
+11
-8
see.vue
src/pages/purchaser/bid/bidEvaluation/review/see.vue
+51
-44
bidOpenhal.vue
src/pages/purchaser/bid/bidOpen/bidOpenhal.vue
+17
-5
bidSet.vue
src/pages/purchaser/bid/bidStage/bidSet.vue
+3
-2
tenderInformationlist.vue
src/pages/purchaser/bid/bidStage/tenderInformationlist.vue
+7
-3
edit.vue
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
+6
-2
contract.vue
src/pages/purchaser/bid/bidSure/contract.vue
+8
-2
determine.vue
src/pages/purchaser/bid/bidSure/determine.vue
+8
-9
notice.vue
src/pages/purchaser/bid/bidSure/notice.vue
+26
-10
publicity.vue
src/pages/purchaser/bid/bidSure/publicity.vue
+9
-4
edit.vue
src/pages/purchaser/bid/bidSure/winBid/edit.vue
+6
-2
bidOpenhal.vue
src/pages/supply/bid/joinProject/bidOpen/bidOpenhal.vue
+20
-5
bidwinAdvice.vue
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
+4
-2
contractManagement.vue
...ges/supply/bid/joinProject/bidSure/contractManagement.vue
+4
-2
signupList.vue
src/pages/supply/bid/signupOnline/signupList.vue
+1
-1
request.js
src/utils/request.js
+9
-8
No files found.
src/api/purchaser/bid.js
View file @
e280408e
...
...
@@ -456,7 +456,13 @@ export function createwin(data) {
})
}
// 中标人列表
export
function
winPersonInfo
(
projectId
)
{
return
request
({
url
:
`/tender-decide/winPersonInfo/
${
projectId
}
`
,
method
:
'get'
})
}
...
...
src/components/detail/priceDetail.vue
View file @
e280408e
...
...
@@ -2,7 +2,7 @@
<div
>
<h1>
{{
projectName
}}
在线询价公告
</h1>
<div
class=
"flex-center"
>
<h6
style=
"margin-right:60px;margin-top:30px"
>
询价所在地:
{{
detail
.
area
}}
</h6>
<h6
style=
"margin-right:60px;margin-top:30px"
v-if=
"detail.area"
>
询价所在地:
{{
detail
.
area
}}
</h6>
<h6
style=
"margin-buttom:60px;margin-top:30px"
>
日期:
{{
detail
.
createTime
}}
</h6>
</div>
<div
class=
"form"
>
...
...
src/pages/purchaser/bid/bidEvaluation/projectManager/content.vue
View file @
e280408e
...
...
@@ -66,6 +66,11 @@
<div>
<h5>
排名信息
</h5>
<dataTable
:table-data=
"rank"
:columns=
"rankTitle"
:is-index=
"true"
>
<el-table-column
slot=
"operate"
label=
"排名"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
$index
+
1
}}
</div>
</
template
>
</el-table-column>
</dataTable>
</div>
...
...
@@ -134,10 +139,6 @@
label
:
'评标价(元)'
,
prop
:
'evaluationPrice'
},
{
label
:
'排名'
,
prop
:
'rank'
},
{
label
:
'最终得分'
,
prop
:
'finalScore'
...
...
@@ -175,6 +176,13 @@
jump
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidEvaluation/review/clear'
)
},
compare
(
property
)
{
return
function
(
a
,
b
)
{
var
value1
=
a
[
property
];
var
value2
=
b
[
property
];
return
value1
-
value2
;
}
},
// 查看评标附件
async
getaccessorydownload
(){
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
...
...
@@ -183,7 +191,6 @@
this
.
downloadList
=
data
}
},
// 查看投标文件
async
getbidFilelist
(){
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
...
...
@@ -209,6 +216,7 @@
code
}
=
await
CompanyEvaluatec
(
projectId
)
if
(
code
===
200
)
{
this
.
review
=
data
}
}
catch
(
e
)
{
...
...
@@ -225,8 +233,9 @@
code
}
=
await
companyRank
(
projectId
)
if
(
code
===
200
)
{
this
.
rank
=
data
console
.
log
(
data
,
"..............."
);
let
data1
=
data
.
sort
(
this
.
compare
(
'finalScore'
))
this
.
rank
=
data1
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidEvaluation/review/add.vue
View file @
e280408e
...
...
@@ -7,8 +7,8 @@
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
ZBXM234567894567
</div>
<div>
项目名称:
大楼翻新
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"160px"
class=
"demo-ruleForm"
>
...
...
@@ -23,7 +23,7 @@
</el-date-picker>
</el-form-item>
<el-form-item
label=
"选择投标人"
prop=
"CompanyId"
>
<el-radio
v-model=
"ruleForm.CompanyId"
v-for=
"(item,index) in CompanyIds"
:label=
"item.
id"
>
{{
item
.
n
ame
}}
</el-radio>
<el-radio
v-model=
"ruleForm.CompanyId"
v-for=
"(item,index) in CompanyIds"
:label=
"item.
companyId"
>
{{
item
.
companyN
ame
}}
</el-radio>
</el-form-item>
<el-form-item
label=
"澄清质询问题内容"
prop=
"content"
>
<el-input
v-model
.
trim=
"ruleForm.content"
:rows=
"2"
type=
"textarea"
maxlength=
"300"
></el-input>
...
...
@@ -34,7 +34,7 @@
</el-form>
</div>
<div
class=
"button"
>
<el-button>
取消
</el-button>
<el-button
@
click=
"back"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
提交
</el-button>
</div>
</div>
...
...
@@ -55,15 +55,12 @@
},
data
()
{
return
{
CompanyIds
:[{
id
:
1
,
name
:
"投标人1"
},
{
id
:
2
,
name
:
"投标人2"
}],
projectId
:
2
,
fileUrl
:
""
,
fileName
:
""
,
projectCode
:
""
,
projectName
:
""
,
CompanyIds
:
[],
projectId
:
""
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
...
...
@@ -107,30 +104,50 @@
getfile
(
val
)
{
this
.
file
=
val
},
back
(){
this
.
$router
.
go
(
-
1
)
},
//提交表单
async
submit
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
let
ruleForm
=
this
.
ruleForm
;
let
file
=
this
.
file
;
if
(
file
.
length
>
0
){
ruleForm
.
fileUrl
=
file
[
0
].
fileUrl
ruleForm
.
fileName
=
file
[
0
].
fileName
}
ruleForm
.
projectId
=
localStorage
.
getItem
(
"projectId"
);
console
.
log
(
ruleForm
)
const
{
code
,
msg
}
=
await
addQuestion
();
if
(
code
===
200
)
{
this
.
$success
.
success
(
msg
);
}
=
await
addQuestion
(
ruleForm
);
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
}
catch
(
e
)
{}
},
async
getbidsupplyList
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
let
projectId
=
localStorage
.
getItem
(
"projectId"
);
const
{
data
,
code
}
=
await
bidsupplyList
(
projectId
)
if
(
code
===
200
)
{
this
.
CompanyIds
=
data
this
.
CompanyIds
=
data
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
@@ -138,7 +155,9 @@
}
},
created
()
{
this
.
getbidsupplyList
()
this
.
getbidsupplyList
()
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectCode
=
localStorage
.
getItem
(
"projectName"
)
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidEvaluation/review/clear.vue
View file @
e280408e
<
template
>
<div>
<div
class=
"content"
>
<div
class=
"absolut"
>
<el-button
@
click=
"add"
>
新增问题
</el-button>
</div>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"flex-between"
style=
"width: 80%;margin:30px auto 20px"
>
...
...
@@ -52,7 +55,7 @@ export default {
},
{
label
:
'提出人'
,
prop
:
'
askPerson
'
prop
:
'
createBy
'
},
{
label
:
'提出时间'
,
...
...
@@ -88,8 +91,11 @@ export default {
if
(
code
===
200
)
{
for
(
let
item
of
data
){
item
.
updateTime
=
getTime1
(
item
.
updateTime
)
item
.
state
=
"已回复"
item
.
askPerson
=
'球刀'
if
(
item
.
replyId
){
item
.
state
=
"已回复"
}
else
{
item
.
state
=
"未回复"
}
}
this
.
tableData
=
data
}
...
...
@@ -103,12 +109,20 @@ export default {
handleSee
(
row
){
let
id
=
row
.
pid
;
this
.
$router
.
push
({
path
:
`/purchaser/bid/bidEvaluation/review/see?id=
${
id
}
`
})
},
add
(){
this
.
$router
.
push
(
"/purchaser/bid/bidEvaluation/review/add"
)
}
}
}
</
script
>
<
style
scoped
>
.absolut
{
position
:
absolute
;
right
:
30px
;
top
:
70px
;
}
.button
{
width
:
100%
;
height
:
300px
;
...
...
src/pages/purchaser/bid/bidEvaluation/review/review.vue
View file @
e280408e
...
...
@@ -83,9 +83,9 @@
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"最终得分"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.commercialGrade"
>
{{
(
scope
.
row
.
commercialGrade
+
scope
.
row
.
skillGrade
+
scope
.
row
.
priceGrade
)
}}
</div>
</
template
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.commercialGrade"
>
{{
(
scope
.
row
.
finalScore
).
toFixed
(
2
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -133,17 +133,17 @@
<el-dialog
title=
"编辑"
:visible
.
sync=
"isRank"
width=
"40%"
>
<el-form
:model=
"rankForm"
>
<el-form-item
label=
"商务评分"
>
<el-input-number
v-model=
"rankForm.commercialGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"rankForm.commercialGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"
请
输入"
></el-input-number>
</el-form-item>
<el-form-item
label=
"技术评分"
>
<el-input-number
v-model=
"rankForm.skillGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"rankForm.skillGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"
请
输入"
></el-input-number>
</el-form-item>
<el-form-item
label=
"价格评分"
>
<el-input-number
v-model=
"rankForm.priceGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"rankForm.priceGrade"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"
请
输入"
></el-input-number>
</el-form-item>
<el-form-item
label=
"评标价 "
>
<el-input-number
v-model=
"rankForm.evaluationPrice"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"输入"
></el-input-number>
<el-input-number
v-model=
"rankForm.evaluationPrice"
:min=
"0"
:controls=
"false"
:precision=
"2"
placeholder=
"
请
输入"
></el-input-number>
</el-form-item>
<el-form-item
label=
"是否中标候选人"
>
<el-radio
v-model=
"rankForm.winPerson"
:label=
"true"
>
是
</el-radio>
...
...
@@ -289,6 +289,8 @@
this
.
$router
.
go
(
-
1
)
},
1500
)
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
@@ -354,8 +356,9 @@
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
)
this
.
isRank
=
false
this
.
rankForm
.
finalScore
=
this
.
rankForm
.
commercialGrade
+
this
.
rankForm
.
skillGrade
+
this
.
rankForm
.
priceGrade
this
.
$set
(
this
.
rank
,
this
.
RankIdx
,
this
.
rankForm
)
this
.
rank
.
sort
(
this
.
compare
(
'finalScore'
))
this
.
rank
.
sort
(
this
.
compare
(
'finalScore'
))
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
src/pages/purchaser/bid/bidEvaluation/review/see.vue
View file @
e280408e
...
...
@@ -7,47 +7,50 @@
</div>
<div
class=
"content"
>
<div
class=
"message"
>
<h4>
澄清问题
</h4>
<div
class=
"flex-between"
>
<div>
澄清质询标题:
{{
replyDetail
.
title
}}
</div>
<div>
澄清质询类型:
{{
replyDetail
.
type
}}
</div>
<div
class=
'message-item'
>
<h4>
澄清问题
</h4>
<div
class=
"flex-between"
>
<div>
澄清质询标题:
{{
replyDetail
.
title
}}
</div>
<div>
澄清质询类型:
{{
replyDetail
.
type
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
问题发布时间:
{{
replyDetail
.
createTime
}}
</div>
<div>
澄清回复截止时间:
{{
replyDetail
.
cutOffTime
}}
</div>
</div>
<div>
澄清问题内容:
{{
replyDetail
.
content
}}
</div>
<div
class=
"flex-item"
>
<div>
澄清问题文件:
</div>
<ul
class=
"upload"
>
<li
class=
"flex-item"
>
<span>
{{
replyDetail
.
fileName
}}
</span>
<el-button
size=
"mini"
@
click=
'download(replyDetail.fileUrl)'
>
下载
</el-button>
</li>
</ul>
</div>
</div>
<div
class=
"flex-between"
>
<div>
问题发布时间:
</div>
<div>
澄清回复截止时间:
{{
replyDetail
.
cutOffTime
}}
</div>
</div>
<div>
澄清问题内容:
{{
replyDetail
.
content
}}
</div>
<div
class=
"flex"
>
<div>
澄清问题文件:
</div>
<ul
class=
"upload"
>
<li>
<span>
{{
replyDetail
.
fileName
}}
</span>
<el-button
size=
"mini"
@
click=
'download(replyDetail.fileUrl)'
>
下载
</el-button>
</li>
</ul>
</div>
<h4>
回复问题
</h4>
<div
class=
"flex"
>
<div>
投标人:
</div>
<div>
阿里巴巴
</div>
</div>
<div
class=
"flex"
>
<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"
@
click=
"download(questionDetail.fileUrl)"
>
下载
</el-button>
</li>
</ul>
<div
v-if=
"replystate"
class=
"message-item"
>
<h4>
回复问题
</h4>
<div
class=
"flex"
>
<div>
投标人:
</div>
<div>
{{
questionDetail
.
createBy
}}
</div>
</div>
<div
class=
"flex"
>
<div>
回复内容:
</div>
<div>
{{
questionDetail
.
replyContent
}}
</div>
</div>
<div
class=
"flex-item"
>
<div>
回复附件:
</div>
<ul
class=
"upload"
>
<li
class=
"flex-item"
>
<div>
澄清问题文件.doc
</div>
<el-button
size=
"mini"
@
click=
"download(questionDetail.fileUrl)"
>
下载
</el-button>
</li>
</ul>
</div>
</div>
</div>
<div
class=
"button"
>
<el-button>
取消
</el-button>
<el-button
type=
"primary"
>
提交
</el-button>
<el-button
@
click=
"back"
>
取消
</el-button>
</div>
</div>
</div>
...
...
@@ -62,6 +65,7 @@
},
data
()
{
return
{
replystate
:
true
,
questionDetail
:
''
,
replyDetail
:
''
,
breads
:
[
"招标管理"
,
"招标项目管理"
,
"工作台"
]
...
...
@@ -76,6 +80,9 @@
download
(
url
){
window
.
open
(
url
)
},
back
(){
this
.
$router
.
go
(
-
1
)
},
// 查看问题详情
async
getquestionDetail
(
id
)
{
try
{
...
...
@@ -84,10 +91,7 @@
code
}
=
await
expertquestionDetail
(
id
)
if
(
code
===
200
)
{
console
.
log
(
data
)
this
.
replyDetail
=
data
;
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
@@ -101,8 +105,11 @@
code
}
=
await
expertreplyDetail
(
id
)
if
(
code
===
200
)
{
this
.
questionDetail
=
data
[
0
];
if
(
data
.
length
==
0
){
this
.
replystate
=
false
}
else
{
this
.
questionDetail
=
data
[
0
];
}
}
}
catch
(
e
)
{
console
.
log
(
e
)
...
...
@@ -124,13 +131,13 @@
width
:
60%
;
}
.message
>
h4
{
.message
-item
>
h4
{
margin-bottom
:
30px
;
font-weight
:
bold
;
}
.message
>
div
{
.message
-item
>
div
{
margin-bottom
:
30px
;
}
...
...
src/pages/purchaser/bid/bidOpen/bidOpenhal.vue
View file @
e280408e
...
...
@@ -47,7 +47,7 @@
</div>
<!-- 在线对话 -->
<div
class=
"dialogue"
style=
"margin-top: 30px;"
v-show=
"dialogue"
>
<ul
class=
"dialogueList"
>
<ul
class=
"dialogueList"
id=
"chatContainer"
>
<li
v-for=
"(item,index) in dialogueList"
:key=
"index"
:class=
"myId==item.userId?'flex-left':'flex-right'"
>
<div>
<div
class=
"flex-item"
>
...
...
@@ -416,7 +416,7 @@
const
{
data
,
code
}
=
await
(
projectId
)
}
=
await
openInfo
(
projectId
)
if
(
code
==
200
)
{
for
(
let
item
of
data
)
{
if
(
item
.
isSign
)
{
...
...
@@ -501,8 +501,8 @@
createWebSocket
()
{
let
token
=
localStorage
.
getItem
(
"token"
)
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
//
this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this
.
websocket
=
new
WebSocket
(
'ws://60.205.251.80:8085/webSocket/'
+
projectId
+
"/"
+
token
)
this
.
websocket
=
new
WebSocket
(
'ws://192.168.3.35:8085/webSocket/'
+
projectId
+
"/"
+
token
)
//
this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token )
// 连接成功时
this
.
websocket
.
onopen
=
()
=>
{}
this
.
websocket
.
onmessage
=
event
=>
{
...
...
@@ -532,6 +532,18 @@
this
.
websocket
.
send
(
content
)
}
},
// watch: {
// chatlog() {
// console.log("chatlog change");
// this.$nextTick(() => {
// var container = this.$el.querySelector("#chatContainer");
// console.log(container);
// container.scrollTop = container.scrollHeight;
// })
// // document.getElementById('chatContainer').scrollTop = document.getElementById('chatContainer').scrollHeight+150;
// }
// },
destroyed
()
{
//清除定时器
clearInterval
(
this
.
timer
);
...
...
@@ -559,7 +571,7 @@
border
:
1px
solid
#DCDFE6
;
width
:
400px
;
height
:
300px
;
overflow
:
auto
;
/* overflow: auto; */
}
.hal
{
...
...
src/pages/purchaser/bid/bidStage/bidSet.vue
View file @
e280408e
...
...
@@ -25,7 +25,7 @@
<div>
<el-form-item
label=
"开标人"
prop=
"bidOpener"
>
<el-select
v-model=
"ruleForm.bidOpener"
placeholder=
"请选择"
style=
"width: 250px;"
>
<el-option
v-for=
"item in
option
s"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
<el-option
v-for=
"item in
bidOpener
s"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -73,6 +73,7 @@ export default {
data
()
{
return
{
options
:
[],
bidOpeners
:[],
ruleForm
:
{
decodeTime
:
''
,
signatureTime
:
''
,
...
...
@@ -133,7 +134,7 @@ export default {
code
}
=
await
mamager
(
projectId
)
if
(
code
===
200
)
{
this
.
ruleForm
.
bidOpener
=
data
this
.
bidOpeners
=
data
}
},
//提交表单
...
...
src/pages/purchaser/bid/bidStage/tenderInformationlist.vue
View file @
e280408e
...
...
@@ -4,8 +4,8 @@
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message flex-between"
>
<div>
项目编号:
ZBXM567896789089
</div>
<div>
项目名称:
育才小学翻新
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<dataTable
:table-data=
"tableData"
:columns=
"columns"
>
</dataTable>
...
...
@@ -28,9 +28,11 @@ export default {
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
projectId
:
2
,
breads
:
[
'招投管理'
,
'招标项目管理 '
,
'工作台'
],
navs
:
[
'
投
标信息查看'
],
navs
:
[
'
招
标信息查看'
],
tableData
:
[],
columns
:
[{
label
:
'单位名称'
,
...
...
@@ -72,6 +74,8 @@ export default {
},
created
()
{
this
.
getreviewInfomation
()
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
},
methods
:
{
examine
()
{
...
...
src/pages/purchaser/bid/bidSure/bidResult/edit.vue
View file @
e280408e
...
...
@@ -8,8 +8,8 @@
<div
class=
"content "
>
<div
class=
"message flex-colunm"
>
<div
class=
"flex-between"
>
<div>
项目编号:
456789567895678
</div>
<div>
项目名称:
测试4567896789
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
日期:
{{
date
}}
</div>
...
...
@@ -48,6 +48,8 @@ export default {
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
ruleForm
:
{
code
:
''
},
...
...
@@ -63,6 +65,8 @@ export default {
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
addDate
()
},
methods
:
{
...
...
src/pages/purchaser/bid/bidSure/contract.vue
View file @
e280408e
...
...
@@ -5,8 +5,8 @@
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message"
>
<div
class=
"flex-between"
style=
"margin-bottom: 20px;"
>
<div>
项目编号:456789567895678
</div>
<div>
项目名称:测试4567896789
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"150px"
class=
"demo-ruleForm"
>
<div
class=
"flex-between"
>
...
...
@@ -91,6 +91,8 @@ export default {
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
navs
:
[
'合同管理'
],
breads
:
[
'招投标管理'
,
'中标公告列表'
],
ruleForm
:
{
...
...
@@ -153,6 +155,10 @@ export default {
console
.
log
(
e
)
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
);
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
);
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidSure/determine.vue
View file @
e280408e
...
...
@@ -6,8 +6,8 @@
<div>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:
3456789567222
</div>
<div
style=
"margin-right: 100px;"
>
项目名称:
测试4567890
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div
style=
"margin-right: 100px;"
>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
项目分类:货物
</div>
...
...
@@ -55,7 +55,9 @@
},
data
()
{
return
{
file
:
""
,
projectCode
:
""
,
projectName
:
""
,
file
:[],
companyId
:
""
,
projectId
:
2
,
content
:
''
,
...
...
@@ -82,7 +84,9 @@
}
},
created
()
{
this
.
getcandidate
()
this
.
getcandidate
();
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
},
methods
:
{
getfile
(
val
){
...
...
@@ -106,11 +110,6 @@
code
}
=
await
candidate
(
projectId
)
if
(
code
===
200
)
{
for
(
let
item
of
data
)
{
item
.
companyName
=
"杭州光海科技有限公司"
item
.
contacts
=
"松江"
item
.
phone
=
"77581633272"
}
this
.
tableData
=
data
}
}
catch
(
e
)
{
...
...
src/pages/purchaser/bid/bidSure/notice.vue
View file @
e280408e
...
...
@@ -8,8 +8,8 @@
<div
class=
"content"
>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:
3456789567222
</div>
<div>
项目名称:
测试4567890
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
...
...
@@ -64,7 +64,7 @@
<
script
>
import
{
createwin
createwin
,
winPersonInfo
}
from
'@api/purchaser/bid'
import
{
quillEditor
...
...
@@ -72,7 +72,7 @@
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
import
dataTable
from
'@components/
data
Table.vue'
import
dataTable
from
'@components/
nopage
Table.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/singleUpload.vue'
export
default
{
...
...
@@ -84,6 +84,8 @@
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
editorOption
:
{},
file
:
[],
ruleForm
:
{
...
...
@@ -109,10 +111,7 @@
remark
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
tableData
:
[{
bidPerson
:
'杭州市西湖区古荡湾'
,
price
:
'100.00'
}],
tableData
:
[],
columns
:
[{
label
:
'中标人'
,
prop
:
'bidPerson'
...
...
@@ -135,6 +134,19 @@
this
.
dialogFormVisible
=
true
this
.
form
=
row
},
// 中标人列表
async
getwinPersonInfo
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
const
{
data
,
code
}
=
await
winPersonInfo
(
projectId
)
this
.
tableData
=
data
}
catch
(
e
)
{
console
.
log
(
e
)
}
},
async
submitData
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
...
...
@@ -161,8 +173,12 @@
console
.
log
(
e
)
}
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
this
.
getwinPersonInfo
();
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidSure/publicity.vue
View file @
e280408e
...
...
@@ -8,8 +8,8 @@
<div
class=
"content"
>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:
3456789567222
</div>
<div>
项目名称:
测试4567890
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
...
...
@@ -65,6 +65,8 @@
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
editorOption
:
{},
file
:
[],
ruleForm
:
{
...
...
@@ -121,8 +123,11 @@
console
.
log
(
e
)
}
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
}
}
</
script
>
...
...
src/pages/purchaser/bid/bidSure/winBid/edit.vue
View file @
e280408e
...
...
@@ -8,8 +8,8 @@
<div
class=
"content "
>
<div
class=
"message flex-colunm"
>
<div
class=
"flex-between"
>
<div>
项目编号:456789567895678
</div>
<div>
项目名称:测试4567896789
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div>
日期:
{{
date
}}
</div>
...
...
@@ -50,6 +50,8 @@ export default {
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
resultId
:
""
,
ruleForm
:
{
number
:
''
...
...
@@ -69,6 +71,8 @@ export default {
let
date
=
getTime
();
this
.
date
=
date
.
substring
(
0
,
9
)
this
.
resultId
=
this
.
$route
.
query
.
id
;
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
},
methods
:
{
back
(){
...
...
src/pages/supply/bid/joinProject/bidOpen/bidOpenhal.vue
View file @
e280408e
...
...
@@ -44,7 +44,7 @@
</div>
<!-- 在线对话 -->
<div
class=
"dialogue"
style=
"margin-top: 30px;"
v-show=
"dialogue"
>
<ul
class=
"dialogueList"
>
<ul
class=
"dialogueList"
id=
"chatContainer"
>
<li
v-for=
"(item,index) in dialogueList"
:key=
"index"
:class=
"myId==item.userId?'flex-left':'flex-right'"
>
<div>
<div
class=
"flex-item"
>
...
...
@@ -192,6 +192,13 @@
myId
:
""
}
},
watch
:
{
chatlog
()
{
var
container
=
this
.
$el
.
querySelector
(
"#chatContainer"
);
console
.
log
(
container
);
container
.
scrollTop
=
container
.
scrollHeight
;
}
},
mounted
()
{
this
.
add
()
},
...
...
@@ -218,8 +225,8 @@
createWebSocket
()
{
let
token
=
localStorage
.
getItem
(
"token"
)
let
projectId
=
localStorage
.
getItem
(
"projectId"
)
//
this.websocket = new WebSocket('ws://192.168.3.35:8085/webSocket/' + projectId +"/"+token )
this
.
websocket
=
new
WebSocket
(
'ws://60.205.251.80:8085/webSocket/'
+
projectId
+
"/"
+
token
)
this
.
websocket
=
new
WebSocket
(
'ws://192.168.3.35:8085/webSocket/'
+
projectId
+
"/"
+
token
)
//
this.websocket = new WebSocket('ws://60.205.251.80:8085/webSocket/' + projectId +"/"+token )
// 连接成功时
this
.
websocket
.
onopen
=
()
=>
{}
this
.
websocket
.
onmessage
=
event
=>
{
...
...
@@ -347,6 +354,14 @@
</
script
>
<
style
scoped
>
.flex-left
{
display
:
flex
;
justify-content
:
flex-start
;
}
.flex-right
{
display
:
flex
;
justify-content
:
flex-end
;
}
.hal
{
position
:
relative
;
}
...
...
@@ -360,7 +375,7 @@
.dialogue
>
.dialogueList
{
box-sizing
:
border-box
;
padding
:
20px
;
overflow
:
auto
/* overflow: auto */
}
.dialogueList
>
li
{
...
...
@@ -446,6 +461,6 @@
border
:
1px
solid
#DCDFE6
;
width
:
400px
;
height
:
300px
;
overflow
:
auto
;
/* overflow: auto; */
}
</
style
>
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
View file @
e280408e
...
...
@@ -5,8 +5,8 @@
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message flex-colunm"
>
<div>
<div>
项目编号:
456789567895678
</div>
<div>
项目名称:
测试4567896789
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div>
<div>
日期:2018-12-12
</div>
...
...
@@ -41,6 +41,8 @@ export default {
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
navs
:
[
'中标通知书'
],
projectCode
:
""
,
...
...
src/pages/supply/bid/joinProject/bidSure/contractManagement.vue
View file @
e280408e
...
...
@@ -6,8 +6,8 @@
<div
class=
"message"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"160px"
class=
"demo-ruleForm"
>
<div
class=
"flex-between"
>
<div>
项目编号:
456789567895678
</div>
<div>
项目名称:
测试4567896789
</div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<el-form-item
label=
"合同名称:"
prop=
"name"
>
...
...
@@ -84,6 +84,8 @@
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
navs
:
[
'合同管理'
],
form
:
{
...
...
src/pages/supply/bid/signupOnline/signupList.vue
View file @
e280408e
...
...
@@ -42,7 +42,7 @@ export default {
model
:
'projectName'
}
],
breads
:
[
'
投
标管理'
,
'在线报名'
],
breads
:
[
'
招
标管理'
,
'在线报名'
],
columns
:
[{
label
:
'项目编号'
,
prop
:
'code'
...
...
src/utils/request.js
View file @
e280408e
...
...
@@ -5,6 +5,7 @@ import { Message, MessageBox } from 'element-ui'
// 创建axios实例
const
service
=
axios
.
create
({
// baseURL: 'http://hsz.free.qydev.com/apis',
baseURL
:
'http://60.205.251.80:8082/apis'
,
// baseURL: 'http://192.168.3.35:8085/apis',
timeout
:
35000
// 请求超时时间
...
...
@@ -38,14 +39,14 @@ service.interceptors.response.use(
},
error
=>
{
console
.
log
(
error
.
response
.
status
)
if
(
error
.
response
.
status
==
401
){
Message
.
error
(
"登陆失效,请重新登录!"
)
localStorage
.
removeItem
(
'token'
);
setTimeout
(
function
()
{
location
.
href
=
'http://60.205.251.80:8081/login/user/'
;
// location.href = 'http://localhost:3000/login/user/';
},
2000
);
}
//
if(error.response.status == 401){
//
Message.error("登陆失效,请重新登录!")
//
localStorage.removeItem('token');
//
setTimeout(function () {
//
location.href = 'http://60.205.251.80:8081/login/user/';
//
//
location.href = 'http://localhost:3000/login/user/';
//
}, 2000);
//
}
}
)
export
default
service
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