Commit 23008860 authored by zhangyanni's avatar zhangyanni

列表报名

parent 47feddd9
......@@ -344,10 +344,10 @@
// 8:上传图片,
// 9:上传附件")
var resultObj = {
activityId:this.$route.query.id,
activityId:this.$route.query.id?this.$route.query.id:this.detailInfo.channelId,
createdBy:this.userInfo?this.userInfo.empId:null,
baseModuleEnter:{
activityId:this.$route.query.id,
activityId:this.$route.query.id?this.$route.query.id:this.detailInfo.channelId,
moduleId:this.moduleId
}
......@@ -398,7 +398,12 @@
});
api.applyForFirstStep(resultObj).then((res)=>{
if(res.code==0){
if(this.detailInfo.channelType==2) this.$router.push({path:'/apply',query:{aid:this.$route.query.id,id:res.result,page:this.$route.query.page}});
var query = {aid:this.$route.query.id?this.$route.query.id:this.detailInfo.channelId,id:res.result,page:this.$route.query.page}
console.log(this.$route.name)
if(this.$route.name=='activitySearchResult'){
query['key'] = this.$route.query.key;
}
if(this.detailInfo.channelType==2) this.$router.push({path:'/apply',query:query});
else {
this.$toast({
message: "报名成功",
......@@ -432,8 +437,8 @@
//获取模版信息
getInitTemplateInfo() {
let that = this;
// let params= this.userInfo?this.userInfo.empId:undefined;
api.getBasicInfoAxios(this.$route.query.id).then((res) => {
let params= this.$route.query.id?this.$route.query.id:this.detailInfo.channelId;
api.getBasicInfoAxios(params).then((res) => {
if (res.code == 0) {
if(res.result.length>0){
res.result.forEach((item) => {
......
......@@ -165,7 +165,7 @@ router.beforeEach((to, from, next) => {
if(window.sessionStorage.getItem("userInfo") ==null){
if(to.name == 'dashboard'||to.name=='indexView'|| to.name == 'login' || to.name == 'mobileLoginCmpt'|| to.name == 'emailLoginCmpt'|| to.name == 'mobileRegisterCmpt'|| to.name == 'emailRegisterCmpt'||to.name=='completeInfoCmpt'|| to.name == 'successCmpt'||to.name=='findPasswordCmpt'||to.name=='modifyPasswordCmpt'||to.name=='passSuccessCmpt'||to.name=='indexView'||to.name=="mobileIndex"||to.name=="mobileLogin"||to.name=="loginByPhone"||to.name=="loginByEmail"||to.name=="mobileRegister"||to.name=="registerComplete"||to.name=="shareRequire"||to.name=="shareProject"||to.name=="knowledgeList"||to.name=="knowledgeDetail"||to.name=='vip'||to.name=='vipList'||to.name=='loadEmail'||to.name=='openEmail'||to.name=="viewRequire"||to.name=="phoneBusinessList"||to.name=="phoneBusinessDetail"||to.name=="phoneRequireDetail"||to.name=="bigBusinessList"||to.name=="bigBusinessDetail"||to.name=="requireDetail"||to.name=="mixSearch"||to.name=="activitylist"||to.name=="activitydetail"||to.name=="activitySearchResult"||to.name=="applyForProject"){
} else{
if(to.path == '/casedetailschild'||to.path == '/lndustryfocuschild'||to.path == '/successfulcasechild'||to.path == '/projectdetails'||to.path == '/seeprojectlist'||to.path == '/projectlist'||to.path == '/viewproject'||to.path == '/templateMobile1'||to.path == '/knowledge'||to.path == '/knowledgedetails'||to.path == '/termserviceed'||to.path == '/privacypolicyed'||to.path == '/contactused'||to.path == '/aboutused'||to.path == '/casedetailsed'||to.path == '/lndustryfocused'||to.path == '/successfulcaseed'||to.path == '/usehelped'||to.path == '/useHelp'||to.path == '/reminder'||to.path == '/contactus' ||to.path == '/privacypolicy' ||to.path == '/termservice' ||to.path == '/casedetails' ||to.path == '/successfulcase' ||to.path == '/lndustryfocus' ||to.path == '/aboutus' ){
if(to.path == '/casedetailschild'||to.path == '/lndustryfocuschild'||to.path == '/successfulcasechild'||to.path == '/projectdetails'||to.path == '/seeprojectlist'||to.path == '/projectlist'||to.path == '/viewproject'||to.path == '/templateMobile1'||to.path == '/knowledge'||to.path == '/knowledgedetails'||to.path == '/termserviceed'||to.path == '/privacypolicyed'||to.path == '/contactused'||to.path == '/aboutused'||to.path == '/casedetailsed'||to.path == '/lndustryfocused'||to.path == '/successfulcaseed'||to.path == '/usehelped'||to.path == '/useHelp'||to.path == '/reminder'||to.path == '/contactus' ||to.path == '/privacypolicy' ||to.path == '/termservice' ||to.path == '/casedetails' ||to.path == '/successfulcase' ||to.path == '/lndustryfocus' ||to.path == '/aboutus'||to.path=='/applicationnotice' ){
}else{
if(to.path == '/projectlist' || to.path == '/phoneBusinessList'){
......
......@@ -699,7 +699,7 @@
//取消
handleCancel(){
this.$router.replace({path:'/activity',query:{id:this.$route.query.aid}})
this.$router.replace({path:'/activitydetail',query:{id:this.$route.query.aid}})
},
//获取模版信息
......
......@@ -20,21 +20,21 @@
<div class="content_data" v-if="tableData.length!= 0">
<mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :auto-fill="false" :bottom-all-loaded="allLoaded" ref="loadmore">
<ul>
<li v-for="(item,index) in tableData" :key="index" @click="handleToDetail(item)">
<div class="leftInfo">
<li v-for="(item,index) in tableData" :key="index">
<div class="leftInfo" @click="handleToDetail(item)">
<img :src="item.channelPic" alt="">
<span class="activityStatusTip" :class="item.activityState==2?'applying':item.activityState==3?'applyend':item.activityState==5?'activityEnd':''" v-if="item.activityState!=1&&item.activityState!=4">{{item.activityState==2?"报名中":item.activityState==3?"报名截止":item.activityState==5?"活动已结束":""}}</span>
</div>
<div class="rightInfo">
<p class="activityTitle">{{item.channelTitle}}</p>
<p class="activityTime"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityTitle" @click="handleToDetail(item)">{{item.channelTitle}}</p>
<p class="activityTime" @click="handleToDetail(item)"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityBtn">
<span>{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" @click="handleApply(item)" v-if="item.isJoin==2">免费报名</el-button>
<el-button type="text" class="hasApplied" size="mini" v-if="item.isJoin==1"><span>已报名</span></el-button>
<el-button type="text" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" plain disabled v-if="item.activityState==3">报名截止</el-button>
<span @click="handleToDetail(item)">{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" @click="handleApply(item)" v-if="item.activityState==2&&item.isJoin==2">免费报名</el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasApplied" size="mini" v-if="item.activityState==2&&item.isJoin==1"><span>已报名</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" @click="handleToDetail(item)" plain disabled v-if="item.activityState==3">报名截止</el-button>
</p>
</div>
......@@ -44,6 +44,9 @@
</div>
</div>
<hotCityCmpt v-if="cityVisible" @closeCity="closeCity" @tochildevent="tochildevent" @reset="reset"></hotCityCmpt>
<div v-if="detailInfo">
<applyProCmpt @cancelVisible="cancelVisible" v-if="applyVisible" :detailInfo="detailInfo" @successFunc="successFunc"></applyProCmpt>
</div>
</div>
</template>
......@@ -51,13 +54,15 @@
<script>
// import serviceTop from './servicetop';
import hotCityCmpt from '../../../components/apply/hotCitySearch';
import applyProCmpt from '../../../components/apply/applyPro';
import api from './api';
import {Toast} from 'mint-ui';
export default {
name : "list",
components:{
// serviceTop,
hotCityCmpt
hotCityCmpt,
applyProCmpt
},
data(){
return{
......@@ -74,7 +79,9 @@
channelCity:this.$store.state.hotCitySelected.has(this.$route.path)?
this.$store.state.hotCitySelected.get(this.$route.path).geoId:this.$store.state.sortCitySelected.has(this.$route.path)?
this.$store.state.sortCitySelected.get(this.$route.path).geoId:null,
currentData:null
currentData:null,
applyVisible:false,
detailInfo:null
}
},
methods:{
......@@ -169,6 +176,25 @@
handleApply(data){
this.currentData = data;
api.activityDetailAxios(data.channelId).then((res)=>{
if(res.code==0){
this.detailInfo = res.result;
this.applyVisible = true;
}else{
this.$toast(res.msg);
}
}).catch((err)=>{
this.$toast(err);
})
},
cancelVisible(){
this.applyVisible = false;
},
successFunc(){
this.applyVisible= false;
this.getInitFunc(this.page);
}
},
mounted(){
......
......@@ -18,21 +18,21 @@
<div class="content_data" v-if="tableData.length!= 0">
<mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :auto-fill="false" :bottom-all-loaded="allLoaded" ref="loadmore">
<ul>
<li v-for="(item,index) in tableData" :key="index" @click="handleToDetail(item)">
<div class="leftInfo">
<li v-for="(item,index) in tableData" :key="index">
<div class="leftInfo" @click="handleToDetail(item)">
<img :src="item.channelPic" alt="">
<span class="activityStatusTip" :class="item.activityState==2?'applying':item.activityState==3?'applyend':item.activityState==5?'activityEnd':''" v-if="item.activityState!=1&&item.activityState!=4">{{item.activityState==2?"报名中":item.activityState==3?"报名截止":item.activityState==5?"活动已结束":""}}</span>
</div>
<div class="rightInfo">
<p class="activityTitle">{{item.channelTitle}}</p>
<p class="activityTime"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityTitle" @click="handleToDetail(item)">{{item.channelTitle}}</p>
<p class="activityTime" @click="handleToDetail(item)"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityBtn">
<span>{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" v-if="item.isJoin==2">免费报名</el-button>
<el-button type="text" class="hasApplied" size="mini" v-if="item.isJoin==1"><span>已报名</span></el-button>
<el-button type="text" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" plain disabled v-if="item.activityState==3">报名截止</el-button>
<span @click="handleToDetail(item)">{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" v-if="item.activityState==2&&item.isJoin==2" @click="handleApply(item)">免费报名</el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasApplied" size="mini" v-if="item.activityState==2&&item.isJoin==1"><span>已报名</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" @click="handleToDetail(item)" plain disabled v-if="item.activityState==3">报名截止</el-button>
</p>
</div>
......@@ -44,21 +44,21 @@
<p class="activityIntro"><span class="leftTab"></span><span>为您推荐</span></p>
<div class="content_data" style="height:unset;">
<ul>
<li v-for="(item,index) in recommendedData" :key="index" @click="handleToDetail(item)">
<div class="leftInfo">
<li v-for="(item,index) in recommendedData" :key="index">
<div class="leftInfo" @click="handleToDetail(item)">
<img :src="item.channelPic" alt="">
<span class="activityStatusTip" :class="item.activityState==2?'applying':item.activityState==3?'applyend':item.activityState==5?'activityEnd':''" v-if="item.activityState!=1&&item.activityState!=4">{{item.activityState==2?"报名中":item.activityState==3?"报名截止":item.activityState==5?"活动已结束":""}}</span>
</div>
<div class="rightInfo">
<p class="activityTitle">{{item.channelTitle}}</p>
<p class="activityTime"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityTitle" @click="handleToDetail(item)">{{item.channelTitle}}</p>
<p class="activityTime" @click="handleToDetail(item)"><span>{{item.channelStartTime}}</span> - <span>{{item.channelEndTime}}</span> <span>{{item.channelCity}}</span></p>
<p class="activityBtn">
<span>{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" v-if="item.isJoin==2">免费报名</el-button>
<el-button type="text" class="hasApplied" size="mini" v-if="item.isJoin==2"><span>已报名</span></el-button>
<el-button type="text" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" plain disabled v-if="item.activityState==3">报名截止</el-button>
<span @click="handleToDetail(item)">{{item.channellabel}}</span>
<el-button size="mini" plain type="primary" v-if="item.activityState==2&&item.isJoin==2" @click="handleApply(item)">免费报名</el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasApplied" size="mini" v-if="item.activityState==2&&item.isJoin==1"><span>已报名</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasEnd" size="mini" v-if="item.activityState==5"><span>活动已结束</span></el-button>
<el-button type="text" @click="handleToDetail(item)" class="hasFill" size="mini" v-if="item.activityState==4"><span>名额已满</span></el-button>
<el-button size="mini" @click="handleToDetail(item)" plain disabled v-if="item.activityState==3">报名截止</el-button>
</p>
</div>
......@@ -67,19 +67,24 @@
</div>
</div>
<hotCityCmpt v-if="cityVisible" @closeCity="closeCity" @tochildevent="tochildevent" @reset="reset"></hotCityCmpt>
<div v-if="detailInfo">
<applyProCmpt @cancelVisible="cancelVisible" v-if="applyVisible" :detailInfo="detailInfo" @successFunc="successFunc"></applyProCmpt>
</div>
</div>
</template>
<script>
// import serviceTop from './servicetop';
import hotCityCmpt from '../../../components/apply/hotCitySearch';
import applyProCmpt from '../../../components/apply/applyPro';
import api from './api';
import {Toast} from 'mint-ui';
export default {
name : "searchResult",
components:{
// serviceTop,
hotCityCmpt
hotCityCmpt,
applyProCmpt
},
data(){
return{
......@@ -95,7 +100,10 @@
keyName:this.$route.query.key,
channelCity:this.$store.state.hotCitySelected.has(this.$route.path)?this.$store.state.hotCitySelected.get(this.$route.path).geoId:this.$store.state.sortCitySelected.has(this.$route.path)?this.$store.state.sortCitySelected.get(this.$route.path).geoId:null,
recommendedData:[],
searchVisible:false
searchVisible:false,
currentData:null,
applyVisible:false,
detailInfo:null
}
},
methods:{
......@@ -151,6 +159,21 @@
return false;
});
},
handleApply(data){
this.currentData = data;
api.activityDetailAxios(data.channelId).then((res)=>{
if(res.code==0){
this.detailInfo = res.result;
this.applyVisible = true;
}else{
this.$toast(res.msg);
}
}).catch((err)=>{
this.$toast(err);
})
},
loadTop() {
this.page = 1;
this.$store.dispatch('applySearchListPageAction',{path:this.$route.path,pars:this.page});
......@@ -211,6 +234,15 @@
}).catch((err)=>{
this.$toast(err);
})
},
cancelVisible(){
this.applyVisible = false;
},
successFunc(){
this.applyVisible= false;
this.getInitFunc(this.page);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment