@ -1,73 +1,109 @@
< template >
< div class = "wrap index" >
< div class = "banner" : style = "{backgroundImage: 'url(' + (form.carouselUrl || 'https://huoran.oss-cn-shenzhen.aliyuncs.com/20230515/jpg/1658017103770836992.jpg') + ')'}" > 创业活动详情 < / div >
< div class = "banner"
: style = "{backgroundImage: 'url(' + (form.carouselUrl || 'https://huoran.oss-cn-shenzhen.aliyuncs.com/20230515/jpg/1658017103770836992.jpg') + ')'}" > 创业活动详情 < / div >
< div class = "center-con" >
< div class = "center-wrap" >
< breadcrumb ref = "breadcrumb" : data = "'全部项目/' + form.projectName" > < / breadcrumb >
< breadcrumb ref = "breadcrumb"
: data = "'全部项目/' + form.projectName" > < / breadcrumb >
< div class = "content" >
< div class = "tool flex-between" >
< el -tabs v-model ="curType" @tab-click="typeChange" >
< el -tab -pane v-for ="(item, index) in typeList" :key="index" :label="item.name" :name="item.id" > < / el -tab -pane >
< el -tabs v -model = " curType "
@ tab - click = "typeChange" >
< el -tab -pane v -for = " ( item , index ) in typeList "
: key = "index"
: label = "item.name"
: name = "item.id" > < / e l - t a b - p a n e >
< / e l - t a b s >
< div class = "action" >
< p class = "end-text" v-if ="end" >
< p class = "end-text"
v - if = "end" >
距离 { { endList [ status ] } } 还有
< em > { { end } } < / em >
< / p >
< a class = "status" : class = "{wait: status == 0,signing: status == 2,signed: status == 1,finish: status == 3 || status == 4}" :title ="statusList[status]" @click.stop ="signup" > { { statusList [ status ] } } < / a >
< a class = "status"
: class = "{wait: status == 0,signing: status == 2,signed: status == 1,finish: status == 3 || status == 4}"
: title = "statusList[status]"
@ click . stop = "signup" > { { statusList [ status ] } } < / a >
< / div >
< / div >
< div class = "info" id = "part1" >
< div class = "info"
id = "part1" >
< h6 class = "title" > { { form . projectName } } < / h6 >
< div class = "meta" > 最近编辑时间 : { { form . updateTime } } < / div >
< / div >
< div v-show ="curType < 4" >
< div class = "l-title" > < img src = "@/assets/img/label.png" alt = "" > 项目信息 < / div >
< div v-if ="form.projectDescribe" class="texts ql-editor" v-html="form.projectDescribe" > < / div >
< div class = "l-title" > < img src = "@/assets/img/label.png"
alt = "" > 项目信息 < / div >
< div v -if = " form.projectDescribe "
class = "texts ql-editor"
v - html = "form.projectDescribe" > < / div >
< template v-if ="form.activityFileList" >
< h6 class = "p-title" > 附件下载 < / h6 >
< ul class = "files" >
< li v-for ="(item, i) in form.activityFileList" :key ="i" >
< el -link v-if ="item.canPreview" class="m-r-10" type="primary" @click="preview(item)" > {{ item.fileName }} < / el -link >
< span v -else class = "fileName" > { { item . fileName } } < / span >
< el -link type = "primary" :underline ="false" @click ="download(item)" > 下载 < / el -link >
< li v -for = " ( item , i ) in form.activityFileList "
: key = "i" >
< el -link v -if = " item.canPreview "
class = "m-r-10"
type = "primary"
@ click = "preview(item)" > { { item . fileName } } < / e l - l i n k >
< span v -else
class = "fileName" > { { item . fileName } } < / span >
< el -link type = "primary"
: underline = "false"
@ click = "download(item)" > 下载 < / e l - l i n k >
< / li >
< / ul >
< / template >
<!-- 进展 -- >
< div class = "l-title" id = "part2" > < img src = "@/assets/img/label.png" alt = "" > 项目进展 < / div >
< ul class = "progress" v-if ="progress.length" >
< li v-for ="(item,index) in progress" :key="index" :class="item.status == 0 ? 'not' : (item.status == 1 ? 'ing' : 'done')" >
< div class = "l-title"
id = "part2" > < img src = "@/assets/img/label.png"
alt = "" > 项目进展 < / div >
< ul class = "progress"
v - if = "progress.length" >
< li v -for = " ( item , index ) in progress "
: key = "index"
: class = "item.status == 0 ? 'not' : (item.status == 1 ? 'ing' : 'done')" >
< i class = "dot" > < / i >
< p class = "name" > { { item . title } } < / p >
< p class = "desc" > { { item . description } } < / p >
< / li >
< img class = "rocket" src = "@/assets/img/rocket.png" alt = "" >
< img class = "rocket"
src = "@/assets/img/rocket.png"
alt = "" >
< / ul >
< template v-else >
< div class = "empty" >
< div >
< img src = "@/assets/img/none.png" alt = "" >
< img src = "@/assets/img/none.png"
alt = "" >
< p > 暂无数据 < / p >
< / div >
< / div >
< / template >
<!-- 公告 -- >
< div class = "l-title" id = "part3" > < img src = "@/assets/img/label.png" alt = "" > 通知公告 < / div >
< ul class = "notice-list" v-if ="notices.length" >
< li v-for ="(item, i) in notices" :key="i" @click="toNotice(item)" >
< div class = "l-title"
id = "part3" > < img src = "@/assets/img/label.png"
alt = "" > 通知公告 < / div >
< ul class = "notice-list"
v - if = "notices.length" >
< li v -for = " ( item , i ) in notices "
: key = "i"
@ click = "toNotice(item)" >
< h6 > { { item . announcementTitle } } < / h6 >
< p class = "meta" > { { item . updateTime } } < / p >
< div class = "des" v-html ="item.announcementText" > < / div >
< div class = "des"
v - html = "item.announcementText" > < / div >
< / li >
< / ul >
< template v-else >
< div class = "empty" >
< div >
< img src = "@/assets/img/none.png" alt = "" >
< img src = "@/assets/img/none.png"
alt = "" >
< p > 暂无通知公告 < / p >
< / div >
< / div >
@ -77,15 +113,24 @@
< / div >
< / div >
< el -dialog title = "报名" :visible.sync ="signupVisible" :close-on-click-modal ="false" width = "300px" >
< el -dialog title = "报名"
: visible . sync = "signupVisible"
: close - on - click - modal = "false"
width = "300px" >
< el -form class = "dia-form" >
< el -form -item >
< el -input placeholder = "请输入4位数大赛邀请码" maxlength = "4" v-model ="invitationCode" > < / el -input >
< el -input placeholder = "请输入4位数大赛邀请码"
maxlength = "4"
v - model = "invitationCode" > < / e l - i n p u t >
< / e l - f o r m - i t e m >
< / e l - f o r m >
< span slot = "footer" class = "dialog-footer" >
< el -button size = "small" type = "primary" @click ="signupSubmit" > 报名 < / el -button >
< el -button size = "small" @ click = "signupVisible = false" > 取消 < / e l - b u t t o n >
< span slot = "footer"
class = "dialog-footer" >
< el -button size = "small"
type = "primary"
@ click = "signupSubmit" > 报名 < / e l - b u t t o n >
< el -button size = "small"
@ click = "signupVisible = false" > 取消 < / e l - b u t t o n >
< / span >
< / e l - d i a l o g >
< / div >
@ -288,7 +333,8 @@ export default {
} else if ( status == 1 ) {
/ / 已 报 名 , 点 击 取 消 报 名
this . $confirm ( '是否要取消报名?' , '提示' , {
type : 'success'
type : 'success' ,
closeOnClickModal : false
} ) . then ( ( ) => {
this . $post ( ` ${ this . api . delActivityApplicant } ?id= ${ this . form . cancelId } ` ) . then ( res => {
this . getData ( )
@ -393,7 +439,7 @@ export default {
margin : 0 auto ;
font - size : 28 px ;
text - align : center ;
color : # 0B1 D 30 ;
color : # 0b1 d 30 ;
}
. tool {
z - index : 100 ;
@ -419,18 +465,18 @@ export default {
line - height : 34 px ;
font - size : 14 px ;
color : # fff ;
background - color : # 52 C41A ;
background - color : # 52 c41a ;
border - radius : 4 px ;
cursor : pointer ;
@ include ellipsis ( ) ;
& . wait {
background - color : # FAAD 14;
background - color : # faad 14;
}
& . signing {
background - color : $main - color ;
}
& . signed {
background - color : # 52 C41A ;
background - color : # 52 c41a ;
}
& . playing {
background - color : # f96d6d ;
@ -470,7 +516,7 @@ export default {
left : 50 % ;
width : 2 px ;
height : 100 % ;
background - color : # E1E6F 2;
background - color : # e1e6f 2;
}
& : after {
content : '' ;
@ -478,7 +524,7 @@ export default {
top : - 10 px ;
left : 430 px ;
border : 8 px solid transparent ;
border - bottom - color : # E1E6F 2;
border - bottom - color : # e1e6f 2;
}
. rocket {
position : absolute ;
@ -495,7 +541,7 @@ export default {
left : 431 px ;
width : 15 px ;
height : 15 px ;
background - color : # DCDCDC ;
background - color : # dcdcdc ;
border - radius : 50 % ;
}
. name {
@ -507,27 +553,28 @@ export default {
font - size : 16 px ;
color : # fff ;
border - radius : 20 px ;
background - color : # C4C4C 4;
background - color : # c4c4c 4;
}
. desc {
position : relative ;
color : # 333 ;
font - size : 14 px ;
}
& . ing , & . done {
& . ing ,
& . done {
. dot {
top : 8 px ;
background - color : # 007 EFF ;
background - color : # 007 eff ;
}
. name {
background - color : # 007 EFF ;
background - color : # 007 eff ;
}
}
& . ing {
. dot {
width : 27 px ;
height : 27 px ;
border : 6 px solid # E2F1FB ;
border : 6 px solid # e2f1fb ;
}
}
& : nth - child ( odd ) {
@ -548,16 +595,17 @@ export default {
border : 18 px solid transparent ;
border - top - width : 6 px ;
border - bottom - width : 6 px ;
border - left - color : # C4C4C 4;
border - left - color : # c4c4c 4;
}
}
. desc {
text - align : right ;
}
& . ing , & . done {
& . ing ,
& . done {
. name {
& : before {
border - left - color : # 007 EFF ;
border - left - color : # 007 eff ;
}
}
}
@ -583,7 +631,7 @@ export default {
border : 18 px solid transparent ;
border - top - width : 6 px ;
border - bottom - width : 6 px ;
border - right - color : # C4C4C 4;
border - right - color : # c4c4c 4;
}
}
. desc {
@ -597,14 +645,15 @@ export default {
left : auto ;
right : - 18 px ;
border : 9 px solid transparent ;
border - left - color : # E6E6E 6;
border - left - color : # e6e6e 6;
}
}
& . ing , & . done {
& . ing ,
& . done {
. name {
& : after {
border - right - color : # 007 EFF ;
border - right - color : # 007 eff ;
}
}
}
@ -644,9 +693,9 @@ export default {
h6 {
font - size : 20 px ;
font - weight : 500 ;
color : # 0B1 D 30 ;
color : # 0b1 d 30 ;
& : hover {
color : # 007 EFF ;
color : # 007 eff ;
}
}
. meta {
@ -671,7 +720,8 @@ export default {
. table {
width : 100 % ;
border - collapse : collapse ;
th , td {
th ,
td {
padding : 12 px ;
border : 1 px solid # ebeef5 ;
}
@ -688,7 +738,7 @@ export default {
color : # 7 a7a7a ;
cursor : pointer ;
& : hover {
color : # 007 EFF ;
color : # 007 eff ;
}
}
. plus {