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
7d9c3ea0
Commit
7d9c3ea0
authored
Oct 23, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
中标候选人
parent
6f670224
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
876 additions
and
550 deletions
+876
-550
bid.js
src/api/purchaser/bid.js
+8
-0
common.css
src/common/common.css
+5
-1
Sidebar.vue
src/components/common/Sidebar.vue
+1
-1
candidate.vue
src/components/detail/candidate.vue
+82
-0
priceDetail.vue
src/components/detail/priceDetail.vue
+1
-4
projectDetail.vue
src/components/detail/projectDetail.vue
+1
-1
winBook.vue
src/components/detail/winBook.vue
+123
-0
winNotice.vue
src/components/detail/winNotice.vue
+93
-0
propose.vue
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
+2
-4
publicity.vue
src/pages/purchaser/bid/bidSure/publicity.vue
+181
-146
bidInvitation.vue
src/pages/purchaser/bid/reviewed/bidInvitation.vue
+5
-2
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+14
-11
workbench.vue
src/pages/purchaser/bid/workbench.vue
+40
-29
bidwinAdvice.vue
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
+6
-100
candidateSee.vue
src/pages/supply/bid/joinProject/bidSure/candidateSee.vue
+9
-62
noticeSee.vue
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
+4
-70
workbench.vue
src/pages/supply/bid/joinProject/workbench.vue
+301
-119
No files found.
src/api/purchaser/bid.js
View file @
7d9c3ea0
...
...
@@ -591,6 +591,14 @@ export function createwin(data) {
data
:
data
})
}
//中标公告编辑
export
function
editwin
(
data
)
{
return
request
({
url
:
"tender-notice/edit-win"
,
method
:
'post'
,
data
:
data
})
}
// 中标人列表
export
function
winPersonInfo
(
projectId
)
{
...
...
src/common/common.css
View file @
7d9c3ea0
...
...
@@ -156,7 +156,11 @@ img {
padding
:
10px
;
position
:
relative
;
}
.content-head
>
.abs
{
position
:
absolute
;
right
:
10px
;
bottom
:
10px
;
}
.content-head
>
h3
{
font-weight
:
bold
;
margin-bottom
:
20px
;
...
...
src/components/common/Sidebar.vue
View file @
7d9c3ea0
...
...
@@ -2,7 +2,7 @@
<div
class=
"sidebar"
>
<el-menu
class=
"sidebar-el-menu"
:default-active=
"
onRoutes
"
:default-active=
"
$route.path
"
:collapse=
"collapse"
background-color=
"#FF5203"
text-color=
"#fff"
...
...
src/components/detail/candidate.vue
0 → 100644
View file @
7d9c3ea0
<
template
>
<div>
<div
class=
"content"
>
<div
class=
"flex-arround"
style=
"margin-bottom: 50px"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.fileList !== undefined && detail.fileList.length > 0"
>
<li
v-for=
"(item, i) in detail.accessoryVOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
>
{{
msg
}}
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
cadidate
}
from
'@api/supply/bid'
;
export
default
{
components
:
{},
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
detail
:
''
,
msg
:
''
,
state
:
true
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getcadidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
cadidate
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
else
{
this
.
msg
=
msg
;
this
.
state
=
false
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getcadidate
();
}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
</
style
>
\ No newline at end of file
src/components/detail/priceDetail.vue
View file @
7d9c3ea0
...
...
@@ -54,7 +54,7 @@
<dataTable
:table-data=
"detail.commodityVOList"
:columns=
"columns"
></dataTable>
<div
class=
"appendix list pos"
>
<div>
附件
</div>
<ul
v-if=
"detail.accessoryVOList.length>0"
class=
"filelist"
>
<ul
v-if=
"detail.accessoryVOList
!==undefined && detail.accessoryVOList
.length>0"
class=
"filelist"
>
<li
v-for=
"(item,index) in detail.accessoryVOList"
:key=
"index"
>
<a
:href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
...
...
@@ -72,9 +72,6 @@
</div>
<div
v-if=
"!state"
class=
"no-notice"
>
<div>
{{
msg
}}
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
...
...
src/components/detail/projectDetail.vue
View file @
7d9c3ea0
...
...
@@ -172,7 +172,7 @@ components: {
}
</
script
>
<
style
>
<
style
scoped
>
.message
>
div
{
background
:
#fff
;
margin-bottom
:
30px
;
...
...
src/components/detail/winBook.vue
0 → 100644
View file @
7d9c3ea0
<
template
>
<div>
<div
class=
"content"
>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message"
>
<div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div>
<div>
日期:
{{
detail
.
winDate
}}
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
</div>
<div>
<div
class=
"flex-item"
>
<div
style=
"margin-right: 20px"
>
附件:
</div>
<ul
v-if=
"detail.fileList"
>
<li
v-for=
"(item, i) in detail.fileList"
:key=
"i"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
无
</div>
</div>
<div>
中标通知书编号:
{{
detail
.
number
}}
</div>
</div>
<div
class=
"flex-colunm notice"
>
<h1>
您已中标,请及时与平台签署应收账款买断合同。
</h1>
<h3>
咨询电话:400-4567457
</h3>
<el-button
type=
"primary"
>
查看详情
</el-button>
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
winBookdetail
}
from
'@api/supply/bid'
;
import
changeNav
from
'@components/changeNav.vue'
;
export
default
{
components
:
{
changeNav
},
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
navs
:
[
'中标通知书'
],
projectCode
:
''
,
projectName
:
''
,
detail
:
''
};
},
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getwinBookdetail
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getwinBookdetail
();
}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
.message
{
width
:
60%
;
margin
:
0
auto
;
}
.message
>
.centerButton
{
justify-content
:
center
;
}
.message
>
div
{
display
:
flex
;
justify-content
:
space-between
;
margin-bottom
:
30px
;
}
/* .message > div > div:first-child {
margin-right: 300px;
} */
.notice
{
width
:
80%
;
border
:
1px
solid
#000
;
}
.notice
{
margin
:
200px
auto
30px
;
padding
:
20px
0
;
}
.notice
>
h3
{
margin
:
20px
0
;
}
</
style
>
\ No newline at end of file
src/components/detail/winNotice.vue
0 → 100644
View file @
7d9c3ea0
<
template
>
<div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
class=
"detail1"
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.accessoryDOList.length>0"
>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
noticeWin
}
from
'@api/supply/bid'
;
export
default
{
components
:
{
},
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
state
:
true
,
detail
:
''
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getnoticeWin
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
if
(
code
==
200
)
{
console
.
log
(
data
);
this
.
detail
=
data
;
}
else
{
this
.
state
=
false
;
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getnoticeWin
();
}
};
</
script
>
<
style
scoped
>
.detail1
{
background
:
#fff
;
margin-top
:
30px
;
}
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
50px
0
;
}
</
style
>
\ No newline at end of file
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
View file @
7d9c3ea0
...
...
@@ -2,8 +2,8 @@
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
{{
t
itle
}}
澄清
</h3>
<h5>
{{
t
itle
}}
澄清
</h5>
<h3>
{{
t
ype
==
1
?
"编辑"
:
"提出"
}}
澄清
</h3>
<h5>
{{
t
ype
==
1
?
"编辑"
:
"提出"
}}
澄清
</h5>
<div
v-if=
"type==1"
class=
"abs"
>
<div>
拒绝原因:
{{
ruleForm
.
reason
}}
</div>
</div>
...
...
@@ -60,7 +60,6 @@ export default {
// }
// }
return
{
title
:
"提出"
,
type
:
""
,
accessoryPOList
:
[],
editorOption
:
{},
...
...
@@ -173,7 +172,6 @@ export default {
if
(
type
==
1
){
let
noticeId
=
this
.
$route
.
query
.
noticeId
this
.
getclarifiesDetail
(
noticeId
)
this
.
title
=
"编辑"
}
}
};
...
...
src/pages/purchaser/bid/bidSure/publicity.vue
View file @
7d9c3ea0
<
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>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
:max=
"20"
></singleUpload>
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
<div
class=
"flex-item"
>
<div
style=
"width: 50px;"
>
备注:
</div>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"textarea"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
</div>
</div>
<div
class=
"form"
>
<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
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model
.
trim=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"bottomButton flex-center"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
提交审批
</el-button>
</div>
</div>
</div>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
{{
title
}}
中标候选人公示
</h3>
<h5>
{{
title
}}
中标候选人公示
</h5>
<div
v-if=
"type == 1"
class=
"abs"
>
<div>
拒绝原因:
{{
ruleForm
.
reason
}}
</div>
</div>
</div>
<candidate
v-if=
"type == 2"
></candidate>
<div
class=
"content"
v-else
>
<div
class=
"message"
>
<div
class=
"flex-between"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div
class=
"flex-between"
>
<div
class=
"flex"
>
<div
class=
"adjustment"
>
上传附件:
</div>
<singleUpload
:limit=
"1"
tip=
"支持上传1个附件,不超过20M"
@
input=
"getfile"
:max=
"20"
:fileList=
"ruleForm.accessoryPOList"
></singleUpload>
</div>
<div>
发布媒体:捷安采官网
</div>
</div>
<div
class=
"flex-item"
>
<div
style=
"width: 50px"
>
备注:
</div>
<el-input
:rows=
"4"
v-model
.
trim=
"remark"
type=
"textarea"
placeholder=
"请输入备注"
maxlength=
"300"
>
</el-input>
</div>
</div>
<div
class=
"form"
>
<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
.
trim=
"ruleForm.title"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model
.
trim=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
</div>
<div
class=
"bottomButton flex-center"
>
<el-button
@
click=
"back"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
v-if=
"type !== 2"
>
提交审批
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
createcadidate
}
from
'@api/purchaser/bid'
import
{
quillEditor
}
from
'vue-quill-editor'
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
import
dataTable
from
'@components/dataTable.vue'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
return
{
projectCode
:
""
,
projectName
:
""
,
editorOption
:
{},
file
:
[],
ruleForm
:
{
title
:
''
,
content
:
''
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请填写标题'
,
trigger
:
'blue'
}],
content
:
[{
required
:
true
,
message
:
'请填写内容'
,
trigger
:
'blue'
}]
},
form
:
{
price
:
''
},
remark
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
]
}
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
)
},
getfile
(
val
)
{
this
.
file
=
val
},
async
submitData
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
ruleForm
.
accessoryPOList
=
this
.
file
const
{
code
,
msg
}
=
await
createcadidate
(
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
)
{
console
.
log
(
e
)
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
"projectCode"
)
this
.
projectName
=
localStorage
.
getItem
(
"projectName"
)
}
}
import
{
createcadidate
,
editcadidate
}
from
'@api/purchaser/bid'
;
import
{
cadidate
}
from
'@api/supply/bid'
;
import
{
quillEditor
}
from
'vue-quill-editor'
;
import
'quill/dist/quill.core.css'
;
import
'quill/dist/quill.snow.css'
;
import
'quill/dist/quill.bubble.css'
;
import
dataTable
from
'@components/dataTable.vue'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
singleUpload
from
'@components/Upload/Upload.vue'
;
import
candidate
from
'@components/detail/candidate.vue'
;
export
default
{
components
:
{
dataTable
,
dataBreadcrumb
,
singleUpload
,
quillEditor
,
candidate
},
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
editorOption
:
{},
file
:
[],
ruleForm
:
{
title
:
''
,
content
:
''
,
accessoryPOList
:
[]
},
rules
:
{
title
:
[
{
required
:
true
,
message
:
'请填写标题'
,
trigger
:
'blue'
}
],
content
:
[
{
required
:
true
,
message
:
'请填写内容'
,
trigger
:
'blue'
}
]
},
form
:
{
price
:
''
},
remark
:
''
,
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
title
:
''
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
getfile
(
val
)
{
this
.
ruleForm
.
accessoryPOList
=
val
;
},
// 详情
async
getcadidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
cadidate
(
projectId
);
if
(
code
==
200
)
{
for
(
let
item
of
data
.
accessoryVOList
)
{
item
.
name
=
item
.
fileName
;
item
.
url
=
item
.
accessoryUrl
;
}
data
.
accessoryPOList
=
data
.
accessoryVOList
;
this
.
ruleForm
=
data
;
}
},
async
submitData
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
if
(
valid
)
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
if
(
this
.
type
==
1
)
{
var
{
code
,
msg
}
=
await
editcadidate
(
ruleForm
);
}
else
{
var
{
code
,
msg
}
=
await
createcadidate
(
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
)
{
console
.
log
(
e
);
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
let
type
=
this
.
$route
.
query
.
type
;
this
.
type
=
type
;
if
(
type
==
1
)
{
this
.
getcadidate
();
this
.
title
=
'编辑'
;
}
else
if
(
type
==
2
)
{
this
.
title
=
'查看'
;
}
else
{
this
.
title
=
'发布'
;
}
}
};
</
script
>
<
style
scoped
>
.message
{
width
:
60%
;
}
.message
>
div
{
margin-bottom
:
20px
;
}
.message
{
width
:
60%
;
}
.form
>
h3
{
font-weight
:
bold
;
margin-bottom
:
30px
;
}
.message
>
div
{
margin-bottom
:
20px
;
}
.bottomButton
{
.form
>
h3
{
font-weight
:
bold
;
margin-bottom
:
30px
;
}
margin-top
:
50px
;
}
.bottomButton
{
margin-top
:
50px
;
}
</
style
>
src/pages/purchaser/bid/reviewed/bidInvitation.vue
View file @
7d9c3ea0
...
...
@@ -2,8 +2,11 @@
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布投标邀请书
</h3>
<h5>
发布投标邀请书
</h5>
<h3>
{{
type
==
1
?
"编辑"
:
"发布"
}}
投标邀请书
</h3>
<h5>
{{
type
==
1
?
"编辑"
:
"发布"
}}
投标邀请书
</h5>
<div
v-if=
"type == 1"
class=
"abs"
>
<div>
拒绝原因:
{{
ruleForm
.
reason
}}
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
投标邀请书
</div>
...
...
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
7d9c3ea0
...
...
@@ -2,8 +2,11 @@
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
发布询价公告
</h3>
<h5>
发布询价公告
</h5>
<h3>
{{
type
==
1
?
'编辑'
:
'发布'
}}
询价公告
</h3>
<h5>
{{
type
==
1
?
'编辑'
:
'发布'
}}
询价公告
</h5>
<div
v-if=
"type == 1"
class=
"abs"
>
<div>
拒绝原因:
{{
ruleForm
.
reason
}}
</div>
</div>
</div>
<div
class=
"othercontent"
>
<!-- 基本信息 -->
...
...
@@ -155,7 +158,7 @@
</div>
<div
class=
"bottomButton"
>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type
==
1"
>
编辑
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type
==
1"
>
编辑
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
</div>
</div>
...
...
@@ -364,13 +367,13 @@ export default {
let
type
=
this
.
$route
.
query
.
type
;
this
.
type
=
type
;
if
(
type
==
1
)
{
this
.
getenquiryProjectId
()
}
else
{
let
userInfo
=
JSON
.
parse
(
localStorage
.
getItem
(
'userInfo'
));
this
.
ruleForm
.
purchaseAgent
=
userInfo
.
companyName
;
this
.
ruleForm
.
contact
=
userInfo
.
name
;
this
.
ruleForm
.
contactPhone
=
userInfo
.
phone
;
this
.
ruleForm
.
startTime
=
getTime
();
this
.
getenquiryProjectId
();
}
else
{
let
userInfo
=
JSON
.
parse
(
localStorage
.
getItem
(
'userInfo'
));
this
.
ruleForm
.
purchaseAgent
=
userInfo
.
companyName
;
this
.
ruleForm
.
contact
=
userInfo
.
name
;
this
.
ruleForm
.
contactPhone
=
userInfo
.
phone
;
this
.
ruleForm
.
startTime
=
getTime
();
}
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
...
...
@@ -452,7 +455,7 @@ export default {
console
.
log
(
err
);
}
},
//提交表单
//提交表单
async
submit1
()
{
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
...
...
src/pages/purchaser/bid/workbench.vue
View file @
7d9c3ea0
...
...
@@ -150,7 +150,7 @@ export default {
{
id
:
14
,
label
:
'中标候选人公示'
,
url
:
'/purchaser/bid/bid
Evaluation/review/review
'
,
url
:
'/purchaser/bid/bid
Sure/publicity
'
,
bright
:
false
},
{
...
...
@@ -233,14 +233,14 @@ export default {
return
newUrl
;
},
getlabel
(
label
,
status
)
{
console
.
log
(
label
,
status
);
let
newlabel
=
''
;
if
(
status
==
0
)
{
newlabel
=
label
;
}
else
if
(
status
==
1
)
{
newlabel
=
`编辑
${
label
}
`
;
newlabel
=
label
;
newlabel
=
label
.
replace
(
'发布'
,
'编辑'
);
}
else
{
newlabel
=
`查看
${
label
}
`
;
newlabel
=
label
.
replace
(
'发布'
,
'查看'
)
;
}
return
newlabel
;
},
...
...
@@ -249,30 +249,30 @@ export default {
},
jump
(
mods
)
{
// if (mods.bright) {
if
(
mods
.
label
==
'项目终止'
)
{
this
.
$confirm
(
'确定要终止吗?'
,
'提示'
,
{
type
:
'warning'
if
(
mods
.
label
==
'项目终止'
)
{
this
.
$confirm
(
'确定要终止吗?'
,
'提示'
,
{
type
:
'warning'
})
.
then
(
async
()
=>
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
msg
,
code
}
=
await
projectEnd
(
projectId
);
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
else
{
this
.
$message
.
error
(
msg
);
}
})
.
then
(
async
()
=>
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
msg
,
code
}
=
await
projectEnd
(
projectId
);
if
(
code
==
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
else
{
this
.
$message
.
error
(
msg
);
}
})
.
catch
(()
=>
{});
}
else
{
this
.
$router
.
push
(
mods
.
url
);
}
.
catch
(()
=>
{});
}
else
{
this
.
$router
.
push
(
mods
.
url
);
}
// }
},
async
getprojectConsole
()
{
...
...
@@ -287,8 +287,19 @@ export default {
for
(
let
item2
of
data
)
{
if
(
item1
.
id
==
item2
.
buttonId
)
{
item1
.
bright
=
true
;
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
if
(
item2
.
buttonId
==
4
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/reviewed/SeeinquiryAnnouncement'
;
item1
.
label
=
'查看询价公告'
;
}
else
if
(
item2
.
buttonId
==
5
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/reviewed/SeetenderAnnouncement'
;
item1
.
label
=
'查看招标公告'
;
}
else
if
(
item2
.
buttonId
==
9
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/bidStage/seeBidSet'
;
item1
.
label
=
'开标设置查看'
;
}
else
{
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
}
}
}
}
...
...
src/pages/supply/bid/joinProject/bidSure/bidwinAdvice.vue
View file @
7d9c3ea0
...
...
@@ -2,123 +2,29 @@
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<div
class=
"message"
>
<div>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
</div>
<div>
<div>
日期:
{{
detail
.
winDate
}}
</div>
<div>
中标金额:
{{
detail
.
money
}}
元
</div>
</div>
<div>
<div
class=
"flex-item"
>
<div
style=
"margin-right: 20px"
>
附件:
</div>
<ul
v-if=
"detail.fileList"
>
<li
v-for=
"(item, i) in detail.fileList"
:key=
"i"
>
<a
:href=
"item.fileUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
无
</div>
</div>
<div>
中标通知书编号:
{{
detail
.
number
}}
</div>
</div>
<div
class=
"flex-colunm notice"
>
<h1>
您已中标,请及时与平台签署应收账款买断合同。
</h1>
<h3>
咨询电话:400-4567457
</h3>
<el-button
type=
"primary"
>
查看详情
</el-button>
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
<winBook></winBook>
</div>
</div>
</
template
>
<
script
>
import
{
winBookdetail
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
changeNav
from
'@components/changeNav
.vue'
;
import
winBook
from
'@components/detail/winBook
.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
changeNav
winBook
},
data
()
{
return
{
projectCode
:
''
,
projectName
:
''
,
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
navs
:
[
'中标通知书'
],
projectCode
:
''
,
projectName
:
''
,
detail
:
''
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
]
};
},
methods
:
{
open
(
url
)
{
window
.
open
(
url
);
},
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getwinBookdetail
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
winBookdetail
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getwinBookdetail
();
}
methods
:
{},
created
()
{}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
.message
{
width
:
60%
;
margin
:
0
auto
;
}
.message
>
.centerButton
{
justify-content
:
center
;
}
.message
>
div
{
display
:
flex
;
justify-content
:
space-between
;
margin-bottom
:
30px
;
}
/* .message > div > div:first-child {
margin-right: 300px;
} */
.notice
{
width
:
80%
;
border
:
1px
solid
#000
;
}
.notice
{
margin
:
200px
auto
30px
;
padding
:
20px
0
;
}
.notice
>
h3
{
margin
:
20px
0
;
}
</
style
>
src/pages/supply/bid/joinProject/bidSure/candidateSee.vue
View file @
7d9c3ea0
...
...
@@ -5,87 +5,34 @@
<h3>
查看中标候选人公示
</h3>
<h5>
查看中标候选人公示
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
style=
"margin-bottom:50px"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
v-if=
"state"
>
<div
v-html=
" detail.content "
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<div
v-if=
"detail.accessoryDOList"
>
<ul>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
</div>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
>
{{
msg
}}
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
<candidate></candidate>
</div>
</
template
>
<
script
>
import
{
cadidate
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
candidate
from
'@components/detail/candidate.vue'
;
export
default
{
components
:
{
dataBreadcrumb
dataBreadcrumb
,
candidate
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
''
,
projectName
:
''
,
detail
:
''
,
msg
:
''
,
state
:
true
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getcadidate
()
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
,
msg
}
=
await
cadidate
(
projectId
);
if
(
code
==
200
)
{
this
.
detail
=
data
;
}
else
{
this
.
msg
=
msg
;
this
.
state
=
false
;
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getcadidate
();
}
};
</
script
>
<
style
scoped
>
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
20px
0
;
}
</
style
>
src/pages/supply/bid/joinProject/bidSure/noticeSee.vue
View file @
7d9c3ea0
...
...
@@ -5,96 +5,30 @@
<h3>
查看中标公告
</h3>
<h5>
查看中标公告
</h5>
</div>
<div
class=
"content"
>
<div
class=
"flex-arround"
>
<div>
项目编号:
{{
projectCode
}}
</div>
<div>
项目名称:
{{
projectName
}}
</div>
<div
v-if=
"state"
>
发布时间:
{{
detail
.
createTime
}}
</div>
</div>
<div
class=
"detail1"
v-if=
"state"
>
<div
v-html=
"detail.content"
></div>
<div
class=
"enclosure flex-item"
>
<div
style=
"margin-right: 30px"
>
相关附件
</div>
<ul
v-if=
"detail.accessoryDOList.length>0"
>
<li
v-for=
"(item, i) in detail.accessoryDOList"
:key=
"i"
>
<a
href=
"item.accessoryUrl"
>
{{
item
.
fileName
}}
</a>
</li>
</ul>
<div
v-else
>
空
</div>
</div>
</div>
<div
v-else
class=
"detail1"
>
未找到该公告详情!
</div>
<div
class=
"centerButton"
>
<el-button
@
click=
"back"
>
返回
</el-button>
</div>
</div>
<winNotice></winNotice>
</div>
</
template
>
<
script
>
import
{
noticeWin
}
from
'@api/supply/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
winNotice
from
'@components/detail/winNotice.vue'
;
export
default
{
components
:
{
dataBreadcrumb
dataBreadcrumb
,
winNotice
},
data
()
{
return
{
breads
:
[
'投标管理 '
,
'我参加的项目'
,
'工作台'
],
projectCode
:
''
,
projectName
:
''
,
state
:
true
,
detail
:
''
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
async
getnoticeWin
()
{
try
{
let
projectId
=
localStorage
.
getItem
(
'projectId'
);
const
{
data
,
code
}
=
await
noticeWin
(
projectId
);
if
(
code
==
200
)
{
console
.
log
(
data
);
this
.
detail
=
data
;
}
else
{
this
.
state
=
false
;
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
}
},
created
()
{
this
.
projectCode
=
localStorage
.
getItem
(
'projectCode'
);
this
.
projectName
=
localStorage
.
getItem
(
'projectName'
);
this
.
getnoticeWin
();
}
};
</
script
>
<
style
scoped
>
.detail1
{
background
:
#fff
;
margin-top
:
30px
;
}
.content
>
h1
{
text-align
:
center
;
margin-top
:
20px
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.content
>
.img
{
width
:
600px
;
margin
:
0
auto
;
}
.enclosure
{
margin
:
50px
0
;
}
</
style
>
src/pages/supply/bid/joinProject/workbench.vue
View file @
7d9c3ea0
<
template
>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<h1>
项目状态:
{{
remark
}}
</h1>
<div
class=
"flex state"
>
<!--
<ul
class=
"flex-left"
>
<li
v-for=
"(item,index) in states"
:key=
"index"
class=
"flex"
>
<div>
{{
item
.
title
}}
</div>
<ul
class=
"inside flex"
>
<li
v-for=
"(mods,index) in item.modulars"
:key=
"index"
class=
"flex-center"
>
<div
class=
"active"
@
click=
"jump(mods.label,mods.url)"
>
{{
mods
.
label
}}
</div>
</li>
</ul>
</li>
</ul>
-->
<ul
class=
"flex"
>
<li
v-for=
"(item,index) in states"
:key=
"index"
>
<el-button
type=
"primary"
@
click=
"jump(item.button,item.uri)"
>
{{
item
.
button
}}
</el-button>
</li>
</ul>
</div>
<div
class=
"centerButton"
>
<el-button
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</div>
<div>
<div
class=
"content"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<changeNav
:navs=
"navs"
></changeNav>
<h1>
项目状态:
{{
remark
}}
</h1>
<div
class=
"flex state"
>
<ul
class=
"flex-left"
>
<li
v-for=
"(item, index) in states"
:key=
"index"
class=
"flex"
>
<div>
{{
item
.
title
}}
</div>
<ul
class=
"inside flex"
>
<li
v-for=
"(mods, index) in item.modulars"
:key=
"index"
class=
"flex-center"
>
<div
:class=
"mods.bright ? 'active' : ''"
@
click=
"jump(mods)"
>
{{
mods
.
label
}}
</div>
</li>
</ul>
</li>
</ul>
<!--
<ul
class=
"flex"
>
<li
v-for=
"(item, index) in states"
:key=
"index"
>
<el-button
type=
"primary"
@
click=
"jump(item.button, item.uri)"
>
{{
item
.
button
}}
</el-button>
</li>
</ul>
-->
</div>
<div
class=
"centerButton"
>
<el-button
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
projectConsole
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
changeNav
from
'@components/changeNav.vue'
import
{
projectConsole
}
from
'@api/purchaser/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
changeNav
from
'@components/changeNav.vue'
;
export
default
{
components
:
{
dataBreadcrumb
,
changeNav
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'我参与的项目 '
,
'工作台'
],
navs
:
[
'工作台'
],
states
:
[],
remark
:
""
components
:
{
dataBreadcrumb
,
changeNav
},
data
()
{
return
{
breads
:
[
'投标管理'
,
'我参与的项目 '
,
'工作台'
],
navs
:
[
'工作台'
],
states
:
[
{
title
:
'公告'
,
modulars
:
[
{
id
:
50
,
label
:
'变更公告查看'
,
url
:
'/supply/bid/joinProject/bidStage/changeList'
,
bright
:
false
},
{
id
:
51
,
label
:
'流标公告查看'
,
url
:
'/supply/bid/joinProject/bidStage/failList'
,
bright
:
false
}
]
},
{
title
:
'招标'
,
modulars
:
[
{
id
:
52
,
label
:
'项目信息'
,
url
:
'/supply/bid/joinProject/bidStage/projectInformation'
,
bright
:
false
},
{
id
:
53
,
label
:
'查看询价公告'
,
url
:
'/supply/bid/joinProject/bidStage/seePrice'
,
bright
:
false
},
{
id
:
54
,
label
:
'查看招标公告'
,
url
:
'/supply/bid/signupOnline/seeAnnouncement'
,
bright
:
false
},
{
id
:
55
,
label
:
'招标文件下载'
,
url
:
'/supply/bid/joinProject/bidStage/fileDownload'
,
bright
:
false
},
{
id
:
56
,
label
:
'招标文件澄清管理'
,
url
:
'/supply/bid/joinProject/bidStage/clearManagement'
,
bright
:
false
}
]
},
{
title
:
'投标'
,
modulars
:
[
{
id
:
68
,
label
:
'制作投标文件'
,
url
:
'/supply/markBid/markBid'
,
bright
:
false
},
{
id
:
57
,
label
:
'递交投标文件'
,
url
:
'/supply/bid/joinProject/bidSubmit/bidSubmit'
,
bright
:
false
}
]
},
{
title
:
'开标'
,
modulars
:
[
{
id
:
58
,
label
:
'参与开标'
,
url
:
'/supply/bid/joinProject/bidOpen/bidOpenhal'
,
bright
:
false
},
{
id
:
59
,
label
:
'开标一览表查看'
,
url
:
'/supply/bid/joinProject/bidEvaluation/hallInformation'
,
bright
:
false
}
]
},
{
title
:
'评标'
,
modulars
:
[
{
id
:
60
,
label
:
'评标问题澄清'
,
url
:
'/supply/bid/joinProject/bidEvaluation/evaluationList'
,
bright
:
false
},
]
},
{
title
:
'定标'
,
modulars
:
[
{
id
:
61
,
label
:
'中标候选人公示查看'
,
url
:
'/supply/bid/joinProject/bidSure/candidateSee'
,
bright
:
false
},
{
id
:
62
,
label
:
'中标公示查看'
,
url
:
'/supply/bid/joinProject/bidSure/noticeSee'
,
bright
:
false
},
{
id
:
63
,
label
:
'中标通知书查看'
,
url
:
'/supply/bid/joinProject/bidSure/bidwinAdvice'
,
bright
:
false
},
{
id
:
64
,
label
:
'招标结果通知书查看'
,
url
:
'/supply/bid/joinProject/bidSure/bidresultAdvice'
,
bright
:
false
},
{
id
:
65
,
label
:
'合同管理'
,
url
:
'/supply/bid/joinProject/bidSure/contractManagement'
,
bright
:
false
}
]
},
{
title
:
'费用'
,
modulars
:
[
{
id
:
66
,
label
:
'标书费缴纳'
,
url
:
'/supply/bid/joinProject/bidStage/tenderFee/detail'
,
bright
:
false
},
{
id
:
67
,
label
:
'保证金缴纳'
,
url
:
'/supply/bid/joinProject/bidStage/bond/detail'
,
bright
:
false
}
]
},
],
remark
:
''
};
},
methods
:
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
geturl
(
url
,
status
)
{
let
newUrl
=
''
;
if
(
status
==
0
)
{
newUrl
=
url
;
}
else
if
(
status
==
1
)
{
newUrl
=
`
${
url
}
?type=1`
;
//编辑
}
else
{
newUrl
=
`
${
url
}
?type=2`
;
//查看
}
return
newUrl
;
},
getlabel
(
label
,
status
)
{
let
newlabel
=
''
;
if
(
status
==
0
)
{
newlabel
=
label
;
}
else
if
(
status
==
1
)
{
newlabel
=
label
;
newlabel
=
label
.
replace
(
'发布'
,
'编辑'
);
}
else
{
newlabel
=
label
.
replace
(
'发布'
,
'查看'
);
}
return
newlabel
;
},
jump
(
mods
)
{
// if (mods.bright) {
this
.
$router
.
push
(
mods
.
url
);
// }
},
async
getprojectConsole
()
{
try
{
let
message
=
{};
message
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
message
.
type
=
2
;
const
{
data
,
msg
,
code
}
=
await
projectConsole
(
message
);
if
(
code
==
200
)
{
for
(
let
item
of
this
.
states
)
{
for
(
let
item1
of
item
.
modulars
)
{
for
(
let
item2
of
data
)
{
if
(
item1
.
id
==
item2
.
buttonId
)
{
item1
.
bright
=
true
;
if
(
item2
.
buttonId
==
4
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/reviewed/SeeinquiryAnnouncement'
;
item1
.
label
=
'查看询价公告'
;
}
else
if
(
item2
.
buttonId
==
5
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/reviewed/SeetenderAnnouncement'
;
item1
.
label
=
'查看招标公告'
;
}
else
if
(
item2
.
buttonId
==
9
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/bidStage/seeBidSet'
;
item1
.
label
=
'开标设置查看'
;
}
else
{
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
}
}
}
}
}
this
.
remark
=
data
[
0
].
remark
;
}
else
{
this
.
$message
.
error
(
msg
);
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
created
()
{
this
.
getprojectConsole
();
}
},
methods
:
{
back
(){
this
.
$router
.
go
(
-
1
)
},
async
jump
(
label
,
url
){
console
.
log
(
label
,
url
)
if
(
label
==
"项目终止"
){
this
.
$confirm
(
'确定要终止吗?'
,
'提示'
,
{
type
:
'warning'
})
.
then
(()
=>
{
this
.
$message
.
success
(
'终止成功'
)
})
.
catch
(()
=>
{})
}
else
{
this
.
$router
.
push
(
url
)
}
},
async
getprojectConsole
()
{
try
{
let
message
=
{}
message
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
message
.
type
=
2
const
{
data
,
code
}
=
await
projectConsole
(
message
)
if
(
code
==
200
){
this
.
states
=
data
this
.
remark
=
data
[
0
].
remark
}
else
{
this
.
$message
.
error
(
msg
)
}
}
catch
(
e
)
{
console
.
log
(
e
)
}
}
},
created
()
{
this
.
getprojectConsole
()
}
}
};
</
script
>
<
style
scoped
>
.state
{
margin-top
:
30px
;
/* margin-left: 50px; */
}
.state
>
ul
{
flex-wrap
:
wrap
;
}
.state
>
ul
>
li
{
margin-right
:
50px
;
margin-bottom
:
50px
;
cursor
:
pointer
;
}
.state
{
margin-top
:
30px
;
margin-left
:
50px
;
}
.state
>
ul
{
flex-wrap
:
wrap
;
}
.state
>
ul
>
li
{
margin-right
:
50px
;
cursor
:
pointer
;
}
/* .flex-left>
li {
font-weight: bold;
font-size: 20px;
height: 5
0px;
line-height: 5
0px;
}
.flex-left
>
li
{
font-weight
:
bold
;
font-size
:
20px
;
height
:
7
0px
;
line-height
:
7
0px
;
}
.flex-left>li>
div {
margin-right: 50px;
padding-right: 30px;
border-right: 1px solid #000;
}
.flex-left
>
li
>
div
{
margin-right
:
50px
;
padding-right
:
30px
;
border-right
:
1px
solid
#000
;
}
.inside>li>
div {
padding: 0 10px;
background: #ccc;
color: #ffff;
font-size: 14px;
margin-right: 30px;
border-radius: 2px;
line-height: 30
px;
height: 30
px;
}
.inside>li>.active
{
background: #2288EE
} */
.inside
>
li
>
div
{
padding
:
0
10px
;
background
:
#ccc
;
color
:
#ffff
;
font-size
:
14px
;
margin-right
:
30px
;
border-radius
:
2px
;
line-height
:
35
px
;
height
:
35
px
;
}
.inside
>
li
>
.active
{
background
:
#ff5203
;
}
</
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