Commit a6e704e5 authored by huangyuanyuan's avatar huangyuanyuan
parents 1bff0265 b2a984f7
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
<router-link to="/about">About</router-link> <router-link to="/about">About</router-link>
</div> --> </div> -->
<router-view/> <router-view/>
<!-- 抽奖券 -->
<raffleTickets v-if="raffleTicketsShow" :raffleTicketsData="raffleTicketsData" @closeMyWindow="closeMyWindow" name='raffleTickets'/>
</el-scrollbar> </el-scrollbar>
<transition name="el-zoom-in-top"> <transition name="el-zoom-in-top">
<div class="page-component-up" v-show="top>100" @click="goTop"> <div class="page-component-up" v-show="top>100" @click="goTop">
...@@ -15,10 +17,16 @@ ...@@ -15,10 +17,16 @@
</div> </div>
</template> </template>
<script> <script>
import raffleTickets from './components/taskPage/IceCream/raffleTickets'
export default { export default {
components: {
raffleTickets
},
data () { data () {
return { return {
top:0 top:0,
raffleTicketsShow: false,
raffleTicketsData: {},
} }
}, },
mounted() { mounted() {
...@@ -43,9 +51,18 @@ export default { ...@@ -43,9 +51,18 @@ export default {
this.$store.commit('changeLogin',1); this.$store.commit('changeLogin',1);
this.$store.commit('updateUser',userInfo); this.$store.commit('updateUser',userInfo);
} }
this.MsgBus.$on('openRaffleTickets', this.openRaffleTickets)
}, },
methods: { methods: {
openRaffleTickets: function (val) {
this.raffleTicketsData = val
this.raffleTicketsShow = true
},
closeMyWindow: function (val) {
if (val === 'raffleTickets') {
this.raffleTicketsShow = false
}
},
goTop(){ goTop(){
this.$refs.wrap.wrap.scrollTop=0 this.$refs.wrap.wrap.scrollTop=0
this.top=0 this.top=0
...@@ -59,7 +76,7 @@ export default { ...@@ -59,7 +76,7 @@ export default {
<style> <style>
@import './assets/global/font.css'; @import './assets/global/font.css';
@import '//at.alicdn.com/t/font_863923_qlcuzib5xj.css'; @import '//at.alicdn.com/t/font_863923_juczt3mz8sh.css';
@import './assets/global/global.css'; @import './assets/global/global.css';
body,html{ body,html{
padding: 0px; padding: 0px;
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</el-row> </el-row>
<commodity v-bind:message="item.list"/> <commodity v-bind:message="item.list"/>
</div> </div>
<div class="_block"> <!-- <div class="_block">
<el-row class="tit"> <el-row class="tit">
<div> <div>
<img src="../../assets/img/ps/jifenhot.png" alt=""> <img src="../../assets/img/ps/jifenhot.png" alt="">
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</div> </div>
</el-row> </el-row>
<recommend/> <recommend/>
</div> </div> -->
<div class="_block" v-for="item in ClassifyGoodsList"> <div class="_block" v-for="item in ClassifyGoodsList">
<el-row class="tit"> <el-row class="tit">
<div> <div>
......
...@@ -98,6 +98,9 @@ ...@@ -98,6 +98,9 @@
border:1px solid #ECECEC; border:1px solid #ECECEC;
display: inline-block; display: inline-block;
} }
.OrderdetailCompleted .po_left img{
width:100%;
}
.OrderdetailCompleted .po_right{ .OrderdetailCompleted .po_right{
color: #666666; color: #666666;
font-size: 14px; font-size: 14px;
...@@ -137,6 +140,10 @@ ...@@ -137,6 +140,10 @@
text-decoration: underline; text-decoration: underline;
cursor: pointer; cursor: pointer;
} }
.OrderDetails_Status{
text-align: center;
font-size:18px;
}
</style> </style>
<template> <template>
...@@ -154,7 +161,7 @@ ...@@ -154,7 +161,7 @@
<div class="Order_Top_left"> <div class="Order_Top_left">
<div class="Order_Complate"> <div class="Order_Complate">
<img src="../../assets/img/ticket/icons8-tick-box-96.png" alt=""/> <img src="../../assets/img/ticket/icons8-tick-box-96.png" alt=""/>
<span>完成</span> <span>支付成功</span>
</div> </div>
<div class="Order_jifen"> <div class="Order_jifen">
支付积分:¥{{dataList.goodsPrice*dataList.buyNum}} 支付积分:¥{{dataList.goodsPrice*dataList.buyNum}}
...@@ -162,30 +169,33 @@ ...@@ -162,30 +169,33 @@
</div> </div>
<div class="Order_Top_right"> <div class="Order_Top_right">
<div class="Submit_Orders"> <div class="Submit_Orders">
<i class="iconfont icon-order_icon"/> <i class="iconfont icon-order_icon" v-if="dataList.orderStatus==1"/>
提交订单 <i class="iconfont icon-order_icon" v-else style="color:gray"/>
待处理
</div> </div>
<div class="SubmitComLine"> <div class="SubmitComLine">
<img src="../../assets/img/orderLins.png" alt=""/> <img src="../../assets/img/orderLins.png" alt=""/>
</div> </div>
<div class="Submit_Orders"> <div class="Submit_Orders">
<i class="iconfont icon-xunhuan"/> <i class="iconfont icon-xunhuan" v-if="dataList.orderStatus==2"/>
确认兑换 <i class="iconfont icon-xunhuan" v-else style="color:gray"/>
待配送
</div> </div>
<div class="SubmitComLine"> <div class="SubmitComLine">
<img src="../../assets/img/orderLins.png" alt=""/> <img src="../../assets/img/orderLins.png" alt=""/>
</div> </div>
<div class="Submit_Orders"> <div class="Submit_Orders">
<i class="iconfont icon-gerenzhongxindingdandaishouhuo"></i> <i class="iconfont icon-gerenzhongxindingdandaishouhuo" v-if="dataList.orderStatus==3"></i>
等待收货 <i class="iconfont icon-gerenzhongxindingdandaishouhuo" v-else style="color:gray"></i>
配送中
</div> </div>
<div class="SubmitComLine"> <div class="SubmitComLine">
<img src="../../assets/img/orderLins.png" alt=""/> <img src="../../assets/img/orderLins.png" alt=""/>
</div> </div>
<div class="Submit_Orders"> <div class="Submit_Orders">
<div v-if="dataList.orderStatus==3"><img src="../../assets/img/ticket/icons8-tick-box-96.png" alt=""/></div> <div v-if="dataList.orderStatus==4"><img src="../../assets/img/ticket/icons8-tick-box-96.png" alt=""/></div>
<div v-else><img src="../../assets/img/ticket/huigou.png" alt=""/></div> <div v-else><img src="../../assets/img/ticket/huigou.png" alt=""/></div>
订单完成 交易成功
</div> </div>
</div> </div>
</div> </div>
...@@ -220,10 +230,11 @@ ...@@ -220,10 +230,11 @@
</div> </div>
</div> </div>
</div> --> </div> -->
<div> <div class="OrderDetails_Status">
<span v-if="dataList.orderStatus==1">待发货</span> <span v-if="dataList.orderStatus==1">待处理</span>
<span v-if="dataList.orderStatus==2">待收货</span> <span v-if="dataList.orderStatus==2">待配送</span>
<span v-if="dataList.orderStatus==3">交易成功</span> <span v-if="dataList.orderStatus==3">配送中</span>
<span v-if="dataList.orderStatus==4">交易成功</span>
</div> </div>
</td> </td>
<td width="132px" style="text-align:center;"> <td width="132px" style="text-align:center;">
...@@ -281,6 +292,7 @@ export default { ...@@ -281,6 +292,7 @@ export default {
this.apiJavaPost('/api/orderForm/getOrderDetail',msg,res=>{ this.apiJavaPost('/api/orderForm/getOrderDetail',msg,res=>{
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.dataList = res.data.data; this.dataList = res.data.data;
console.log(this.dataList,'dataListsssss');
}else{ }else{
this.Error(res.data.message); this.Error(res.data.message);
} }
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<template> <template>
<div class="detailsLeftHot"> <div class="detailsLeftHot">
<el-row> <el-row>
<el-col :span="12" class="d_tit"> <!-- <el-col :span="12" class="d_tit">
<div :class="{'_ative': tabActive === 1}" @click="tabActive = 1"> <div :class="{'_ative': tabActive === 1}" @click="tabActive = 1">
同类热卖 同类热卖
</div> </div>
...@@ -49,15 +49,30 @@ ...@@ -49,15 +49,30 @@
<div :class="{'_ative': tabActive === 2}" @click="tabActive = 2"> <div :class="{'_ative': tabActive === 2}" @click="tabActive = 2">
商城热卖 商城热卖
</div> </div>
</el-col> -->
<el-col :span="24" class="d_tit">
<div class="_ative">
<span v-if="showList==1">同类热卖</span>
<span v-else>商城热卖</span>
</div>
</el-col> </el-col>
</el-row> </el-row>
<ul> <ul v-if="showList==1">
<li class="list_item"> <li class="list_item" v-for="item in dataList">
<div> <div>
<img src="../../../assets/img/img-01.png" alt=""> <img :src="getImgUrl(item.images)" alt="">
</div> </div>
<p class="_name">夏日必备神器</p> <p class="_name">{{item.name}}</p>
<p class="_num">1900分兑换</p> <p class="_num">{{item.price}}分兑换</p>
</li>
</ul>
<ul v-else>
<li class="list_item" v-for="item in dataList">
<div>
<img :src="getImgUrl(item.Images)" alt="">
</div>
<p class="_name">{{item.name}}</p>
<p class="_num">{{item.Price}}分兑换</p>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -65,15 +80,57 @@ ...@@ -65,15 +80,57 @@
<script> <script>
export default { export default {
props:['Type','showList'],
data(){ data(){
return{ return{
tabActive: 1, tabActive: 1,
dataList:[]
} }
},methods:{ },methods:{
getList(){
var msg = {
ranks: '',
type: this.Type,
pageSize: 15,
pageIndex: 1,
}
this.apiJavaPost(
"/api/goodsMarket/getGoodsList",msg,res => {
console.log(res,'resssss');
if (res.data.resultCode === 1) {
this.dataList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
},
null
);
},
getImgUrl(imgUrl){
var url= imgUrl.split(",")[0];
return url;
},
//获取活动分类展示
getActivesList(){
this.apiJavaPost('/api/goodsMarket/getActivityClassifyGoods',{},res=>{
if(res.data.resultCode==1){
var DataList = res.data.data;
DataList.forEach(x => {
if(x.activityId==1){
this.dataList = x.list;
}
});
}else{
this.Error(res.data.message);
}
},null)
},
},mounted(){ },mounted(){
if(this.showList==1){
this.getList();
}else{
this.getActivesList();
}
} }
} }
</script> </script>
...@@ -210,19 +210,17 @@ ...@@ -210,19 +210,17 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col <el-col
:span="6" :span="6"
v-for="(item, index) in OrderAddList" :class="{'_active': addListActive === 1}"
:key="index"
:class="{'_active': addListActive === index}"
> >
<div class="address_info_item" @click="addListActive = index"> <div class="address_info_item" @click="addListActive = 1">
<p class="item_name">{{item.city}}{{item.uname}}</p> <p class="item_name">{{OrderAddList.city}}{{OrderAddList.uname}}</p>
<p class="item_add">{{item.district}} {{item.address}}</p> <p class="item_add">{{OrderAddList.district}} {{OrderAddList.address}}</p>
<p class="item_tel">{{item.uphone}}</p> <p class="item_tel">{{OrderAddList.uphone}}</p>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="edit_addr"> <div class="edit_addr">
<span class="edit_addr_btn" v-if="OrderAddList.length>0" @click="addressShow = false,getUpAddress()">修改地址</span> <span class="edit_addr_btn" v-if="OrderAddList" @click="getUpAddress()">修改地址</span>
</div> </div>
</div> </div>
<div v-else class="form_box"> <div v-else class="form_box">
...@@ -297,6 +295,7 @@ ...@@ -297,6 +295,7 @@
<p>应付 <span class="_pay">¥ <span>{{tableData[0].score*tableData[0].num}}</span> 积分</span></p> <p>应付 <span class="_pay">¥ <span>{{tableData[0].score*tableData[0].num}}</span> 积分</span></p>
</div> </div>
<div class="details_box_btn"> <div class="details_box_btn">
<span class="edit_addr_btn" @click="goDetail(id)" style="margin-right:20px;">取消</span>
<span class="edit_addr_btn" @click="exchangeGood()">确认并兑换</span> <span class="edit_addr_btn" @click="exchangeGood()">确认并兑换</span>
</div> </div>
</el-row> </el-row>
...@@ -371,7 +370,12 @@ export default { ...@@ -371,7 +370,12 @@ export default {
}, },
//获取当前收货地址详情 //获取当前收货地址详情
getUpAddress(){ getUpAddress(){
this.addressObj = this.OrderAddList[this.addListActive]; if(this.addListActive==0){
this.Error('请选择收货地址');
return;
}
this.addressShow = false,
this.addressObj = this.OrderAddList;
this.form.addr = this.addressObj.province+" "+ this.addressObj.city+" "+ this.addressObj.district; this.form.addr = this.addressObj.province+" "+ this.addressObj.city+" "+ this.addressObj.district;
this.form.desc = this.addressObj.address; this.form.desc = this.addressObj.address;
this.form.name = this.addressObj.uname; this.form.name = this.addressObj.uname;
...@@ -445,7 +449,7 @@ export default { ...@@ -445,7 +449,7 @@ export default {
goodsName:this.tableData[0].date, goodsName:this.tableData[0].date,
goodsPrice:this.tableData[0].score, goodsPrice:this.tableData[0].score,
goodsImg:this.tableData[0].imgUrl, goodsImg:this.tableData[0].imgUrl,
shippingAdd:this.OrderAddList[this.addListActive].id, shippingAdd:this.OrderAddList.id,
goodsInfoId:this.id, goodsInfoId:this.id,
buyNum:this.tableData[0].num, buyNum:this.tableData[0].num,
orderTotalPrice:this.tableData[0].num*this.tableData[0].score, orderTotalPrice:this.tableData[0].num*this.tableData[0].score,
...@@ -468,8 +472,10 @@ export default { ...@@ -468,8 +472,10 @@ export default {
this.Error(res.data.message); this.Error(res.data.message);
} }
}); });
},
} goDetail: function (id) {
this.$router.push({ path: 'productDetail', query: {id: id}})
},
}, },
mounted() { mounted() {
this.getOrderAdd(); this.getOrderAdd();
......
...@@ -220,13 +220,13 @@ ...@@ -220,13 +220,13 @@
<div class="myPo_left"> <div class="myPo_left">
<el-row> <el-row>
<el-col :span="8" class="d_tit"> <el-col :span="8" class="d_tit">
<div :class="{'pActive':tabActive==1}" @click="tabActive = 1,msg.queType='',getList()"> <div :class="{'pActive':tabActive==1}" @click="tabActive = 1,msg.queName='',msg.queType='',getList()">
全部订单 全部订单
<i class="myPoint_line"></i> <i class="myPoint_line"></i>
</div> </div>
</el-col> </el-col>
<el-col :span="8" class="d_tit"> <el-col :span="8" class="d_tit">
<div :class="{'pActive':tabActive==2}" @click="tabActive = 2,msg.queType=3,getList()"> <div :class="{'pActive':tabActive==2}" @click="tabActive = 2,msg.queType=4,msg.queName='',getList()">
交易成功 交易成功
<i class="myPoint_line"></i> <i class="myPoint_line"></i>
</div> </div>
...@@ -291,9 +291,10 @@ ...@@ -291,9 +291,10 @@
<span style="color:#FF0101">¥{{item.goodsPrice}}</span> <span style="color:#FF0101">¥{{item.goodsPrice}}</span>
</td> </td>
<td width="150px"> <td width="150px">
<span v-if="item.orderStatus==1">待发货</span> <span v-if="item.orderStatus==1">待处理</span>
<span v-if="item.orderStatus==2">待收货</span> <span v-if="item.orderStatus==2">待配送</span>
<span v-if="item.orderStatus==3">交易成功</span> <span v-if="item.orderStatus==3">配送中</span>
<span v-if="item.orderStatus==4">交易成功</span>
</td> </td>
<td width="150px"> <td width="150px">
<input type="button" class="pointDetailBtn" @click="goUrl('OrderdetailsCompleted',item.id)" value="查看详情"> <input type="button" class="pointDetailBtn" @click="goUrl('OrderdetailsCompleted',item.id)" value="查看详情">
...@@ -330,7 +331,7 @@ export default { ...@@ -330,7 +331,7 @@ export default {
}, },
data(){ data(){
return { return {
tabActive:2, tabActive:1,
currentPage: 1, currentPage: 1,
totalCount: 0, totalCount: 0,
orderTime:'近三个月订单', orderTime:'近三个月订单',
...@@ -339,7 +340,7 @@ export default { ...@@ -339,7 +340,7 @@ export default {
pageIndex: 1, pageIndex: 1,
pageSize: 5, pageSize: 5,
queName:'', queName:'',
queType:3 queType:''
}, },
OrderTimeList: [ OrderTimeList: [
{ {
...@@ -360,7 +361,7 @@ export default { ...@@ -360,7 +361,7 @@ export default {
},methods:{ },methods:{
//获取数据 //获取数据
getList(){ getList(){
this.apiJavaPost('/api/orderForm/orderDetailList',this.msg,res=>{ this.apiJavaPost('/api/orderForm/orderDetailListByUid',this.msg,res=>{
if(res.data.resultCode==1){ if(res.data.resultCode==1){
this.dataList = res.data.data.pageData; this.dataList = res.data.data.pageData;
this.totalCount = res.data.data.pageCount; this.totalCount = res.data.data.pageCount;
......
...@@ -165,6 +165,11 @@ ...@@ -165,6 +165,11 @@
.pd_bottom_detail_right img{ .pd_bottom_detail_right img{
max-width: 100%; max-width: 100%;
} }
.pd_quota{
font-size:12px;
color:#666666;
margin:10px 0 0 53px;
}
</style> </style>
<template> <template>
...@@ -199,6 +204,9 @@ ...@@ -199,6 +204,9 @@
<span class="_numbers_name">数量</span> <span class="_numbers_name">数量</span>
<el-input-number v-model="numbers" :min="1" :max="detail.quota === 0 ? '' : detail.quota" size="mini"></el-input-number> <el-input-number v-model="numbers" :min="1" :max="detail.quota === 0 ? '' : detail.quota" size="mini"></el-input-number>
</div> </div>
<div class="pd_quota">
限购数量:{{detail.quota}}
</div>
<div class="_yunfei"> <div class="_yunfei">
<span class="_yunfei_name">运费</span> <span class="_yunfei_name">运费</span>
<div> <div>
...@@ -216,7 +224,7 @@ ...@@ -216,7 +224,7 @@
</el-row> </el-row>
<el-row class="pd_bottom_detail" :gutter="20"> <el-row class="pd_bottom_detail" :gutter="20">
<el-col :span="5"> <el-col :span="5">
<detailsLeftHot/> <detailsLeftHot v-if="detail.type" :Type="detail.type" :showList="1" />
</el-col> </el-col>
<el-col :span="19" class="pd_bottom_detail_right"> <el-col :span="19" class="pd_bottom_detail_right">
<el-row> <el-row>
...@@ -260,11 +268,7 @@ export default { ...@@ -260,11 +268,7 @@ export default {
imgArr: [], imgArr: [],
deImgArr: [], deImgArr: [],
}, },
colors: [ isActivityType:1,
'黑色',
'红色',
'白色'
],
configs: { configs: {
width:650, width:650,
height:350, height:350,
...@@ -289,7 +293,9 @@ export default { ...@@ -289,7 +293,9 @@ export default {
let deImgArr = detail.descripImg.split(',') let deImgArr = detail.descripImg.split(',')
detail.imgArr = imgArr detail.imgArr = imgArr
detail.deImgArr = deImgArr detail.deImgArr = deImgArr
this.detail = detail this.detail = detail;
this.isActivityType = detail.isActivityType;
console.log(detail,'detailsss');
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -298,7 +304,11 @@ export default { ...@@ -298,7 +304,11 @@ export default {
); );
}, },
PlacingOrder: function () { PlacingOrder: function () {
this.$router.push({name: 'confirOrder', query: { id: this.id, num: this.numbers}}) if(this.isActivityType!=0){
this.Error('该商品为活动商品,不能兑换');
}else{
this.$router.push({name: 'confirOrder', query: { id: this.id, num: this.numbers}})
}
} }
},mounted(){ },mounted(){
this.getDetail() this.getDetail()
......
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
<span :class="{'_active': brandListIndex === index}" @click="brandListIndex = index">{{item.name}}</span> <span :class="{'_active': brandListIndex === index}" @click="brandListIndex = index">{{item.name}}</span>
</template> </template>
</div> </div>
</el-row> </el-row> -->
<el-row> <el-row>
<div class="paxu"> <div class="paxu">
<span :class="{'_active': paxuIndex === 1}" @click="paxuIndex = 1, getList()">综合排序</span> <span :class="{'_active': paxuIndex === 1}" @click="paxuIndex = 1, getList()">综合排序</span>
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
</span> </span>
</span> </span>
</div> </div>
</el-row> --> </el-row>
</div> </div>
<div class="list_item" > <div class="list_item" >
<div class="list_item_box" v-for="item in dataList" :key="item.id" @click="goDetail(item.id)"> <div class="list_item_box" v-for="item in dataList" :key="item.id" @click="goDetail(item.id)">
...@@ -231,84 +231,6 @@ export default { ...@@ -231,84 +231,6 @@ export default {
pageSize: 15, pageSize: 15,
pageIndex: 1, pageIndex: 1,
}, },
typeList: [
{
id: 0,
name: '全部',
},{
id: 1,
name: '出行用品',
},{
id: 2,
name: '居家用品',
},{
id: 3,
name: '母婴用品',
},{
id: 4,
name: '健康保证',
},{
id: 5,
name: '家居日用',
}
],
brandList: [
{
id: 0,
name: '全部',
},{
id: 1,
name: '迪士尼',
},{
id: 2,
name: '卡西欧',
},{
id: 3,
name: '哈撒给',
},{
id: 4,
name: '撸啊撸',
},{
id: 5,
name: '红烧肉',
},{
id: 6,
name: '卡西欧',
},{
id: 7,
name: '哈撒给',
},{
id: 8,
name: '撸啊撸',
},{
id: 9,
name: '红烧肉',
},{
id: 10,
name: '卡西欧',
},{
id: 11,
name: '哈撒给',
},{
id: 12,
name: '撸啊撸',
},{
id: 13,
name: '红烧肉',
},{
id: 14,
name: '撸啊撸',
},{
id: 15,
name: '红烧肉',
},{
id: 16,
name: '撸啊撸',
},{
id: 17,
name: '红烧肉',
}
],
dataList: [], dataList: [],
goodsTypeManagerList: [], goodsTypeManagerList: [],
loading: false, loading: false,
...@@ -373,6 +295,8 @@ export default { ...@@ -373,6 +295,8 @@ export default {
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
// 翻页 // 翻页
this.msg.pageIndex = parseInt(val);
this.getList();
} }
},mounted(){ },mounted(){
this.getGoodsTypeManager(); this.getGoodsTypeManager();
......
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<template> <template>
<el-row class="commodity"> <el-row class="commodity">
<el-col :span="10" class="com_BigDiv"> <el-col :span="10" class="com_BigDiv">
<div @click="goDetail(item.Id)" class="info" v-if="index==0" v-for="(item,index) in message"> <div @click="goDetail(item.Id)" class="info" v-if="index==0" v-for="(item,index) in message" :key="index">
<div> <div>
<img class="com_bigImg" :src="getImgUrl(message[0].Images)" alt> <img class="com_bigImg" :src="getImgUrl(message[0].Images)" alt>
</div> </div>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
<el-row> <el-row>
<el-col :span="8" class="small" v-if="index>0&&index<4" v-for="(item,index) in message"> <el-col :span="8" class="small" v-if="index>0&&index<4" v-for="(item,index) in message" :key="index">
<div @click="goDetail(item.Id)"> <div @click="goDetail(item.Id)">
<div class="r_item_img_box"> <div class="r_item_img_box">
<img :src="getImgUrl(item.Images)" alt> <img :src="getImgUrl(item.Images)" alt>
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="medium f" v-if="index>3" v-for="(item,index) in message"> <el-col :span="12" class="medium f" v-if="index>3" v-for="(item,index) in message" :key="index">
<div @click="goDetail(item.Id)"> <div @click="goDetail(item.Id)">
<div class="r_item_btmBox"> <div class="r_item_btmBox">
<img :src="getImgUrl(item.Images)" alt> <img :src="getImgUrl(item.Images)" alt>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
.IceCreamTask .right_box{ .IceCreamTask .right_box{
position: absolute; position: absolute;
right: 0; right: 0;
top: 7.5%; top: 9%;
width: 215px; width: 215px;
text-align: center; text-align: center;
z-index: 20; z-index: 20;
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
width: 84px; width: 84px;
cursor: pointer; cursor: pointer;
} }
.hoverBank_btn{ .IceCreamTask .hoverBank_btn{
cursor: pointer; cursor: pointer;
position: absolute; position: absolute;
left: -210px; left: -210px;
...@@ -162,10 +162,10 @@ ...@@ -162,10 +162,10 @@
</div> </div>
<!-- 右边积分什么的 --> <!-- 右边积分什么的 -->
<div class="right_box" :style="{zoom: zoom}"> <div class="right_box" :style="{zoom: zoom}">
<div> <!-- <div>
<img src="../../../assets/img/task/task_home3.png" alt=""> <img src="../../../assets/img/task/task_home3.png" alt="">
<p>当前积分:1500</p> <p>当前积分:1500</p>
</div> </div> -->
<img @click="descriptionShow = true" src="../../../assets/img/task/task_home5.png" alt=""> <img @click="descriptionShow = true" src="../../../assets/img/task/task_home5.png" alt="">
<img @click="signCalendarShow = true" src="../../../assets/img/task/task_home8.png" alt=""> <img @click="signCalendarShow = true" src="../../../assets/img/task/task_home8.png" alt="">
<img src="../../../assets/img/task/task_home6.png" alt=""> <img src="../../../assets/img/task/task_home6.png" alt="">
...@@ -191,7 +191,7 @@ ...@@ -191,7 +191,7 @@
<!-- 兑换商店 --> <!-- 兑换商店 -->
<div class="right" :style="{height: Calculation ? `${height / 1080 * 356}px` : `${356 * zoom}px`}"> <div class="right" :style="{height: Calculation ? `${height / 1080 * 356}px` : `${356 * zoom}px`}">
<img :style="{height: Calculation ? `${height / 1080 * 356}px` : `${356 * zoom}px`}" src="../../../assets/img/task/shangcehng.png" alt=""> <img :style="{height: Calculation ? `${height / 1080 * 356}px` : `${356 * zoom}px`}" src="../../../assets/img/task/shangcehng.png" alt="">
<div :style="{height: Calculation ? `${height / 1080 * 114}px` : `${114 * zoom}px`,width: Calculation ? `${width / 1960 * 107}px` : `${107 * zoom}px`}" class="duihuanBtn"></div> <div :style="{height: Calculation ? `${height / 1080 * 114}px` : `${114 * zoom}px`,width: Calculation ? `${width / 1960 * 107}px` : `${107 * zoom}px`}" @click="shoppingMallShow = true" class="duihuanBtn"></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -233,7 +233,7 @@ ...@@ -233,7 +233,7 @@
<!-- 兑换商店 --> <!-- 兑换商店 -->
<div class="right" > <div class="right" >
<img src="../../../assets/img/task/shangcehng.png" alt=""> <img src="../../../assets/img/task/shangcehng.png" alt="">
<div class="duihuanBtn"></div> <div @click="shoppingMallShow = true" class="duihuanBtn" style="left: 176px;"></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -241,21 +241,23 @@ ...@@ -241,21 +241,23 @@
<!-- 我的奖券 --> <!-- 我的奖券 -->
<myTicket v-show="myTicketShow" @closeMyWindow="closeMyWindow" @openList="openList" :zoom="zoom" name='Ticket'/> <myTicket v-show="myTicketShow" @closeMyWindow="closeMyWindow" @openList="openList" :zoom="zoom" name='Ticket'/>
<!-- 奖券列表 --> <!-- 奖券列表 -->
<ticketList v-show="ticketShow" :ticketId='ticketId' @closeMyWindow="closeMyWindow" :zoom="zoom" /> <ticketList v-if="ticketShow" :ticketId='ticketId' :ActivityID='ActivityInfo.id' @closeMyWindow="closeMyWindow" :zoom="zoom" />
<!-- 活动说明 --> <!-- 活动说明 -->
<description v-show="descriptionShow" :data="info" @closeMyWindow="closeMyWindow" :zoom="zoom" name='Active'/> <description v-show="descriptionShow" :data="ActivityInfo.remark" @closeMyWindow="closeMyWindow" :zoom="zoom" name='Active'/>
<!-- 全家桶 --> <!-- 全家桶 -->
<allHome v-show="allHomeShow" @closeMyWindow="closeMyWindow" name='allHome'/> <allHome v-show="allHomeShow" @closeMyWindow="closeMyWindow" name='allHome'/>
<!-- 抽奖券 --> <!-- 抽奖券 -->
<raffleTickets v-show="raffleTicketsShow" @closeMyWindow="closeMyWindow" name='raffleTickets'/> <raffleTickets v-show="raffleTicketsShow" @closeMyWindow="closeMyWindow" name='raffleTickets'/>
<!-- 我的兑换 --> <!-- 我的兑换 -->
<myExchange v-show="myExchangeShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='myExchange'/> <myExchange v-if="myExchangeShow" @closeMyWindow="closeMyWindow" :ActivityID='ActivityInfo.id' :zoom="zoom" name='myExchange'/>
<!-- 我的任务 --> <!-- 我的任务 -->
<myAssignment v-show="myAssignmentShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='myAssignment'/> <myAssignment v-show="myAssignmentShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='myAssignment'/>
<!-- 签到 --> <!-- 签到 -->
<signCalendar v-show="signCalendarShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='signCalendar'/> <signCalendar v-if="signCalendarShow" @closeMyWindow="closeMyWindow" :ActivityID='ActivityInfo.id' :zoom="zoom" name='signCalendar'/>
<!-- 我的冰淇淋 --> <!-- 我的冰淇淋 -->
<myIceCream v-show="IceCreamShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='myIceCream'/> <myIceCream v-show="IceCreamShow" @closeMyWindow="closeMyWindow" :zoom="zoom" name='myIceCream'/>
<!-- 兑换商城 -->
<shoppingMall v-if="shoppingMallShow" @closeMyWindow="closeMyWindow" :ActivityID='ActivityInfo.id' :zoom="zoom" name='shoppingMall'/>
</el-row> </el-row>
</template> </template>
<script> <script>
...@@ -268,6 +270,7 @@ import raffleTickets from './raffleTickets' ...@@ -268,6 +270,7 @@ import raffleTickets from './raffleTickets'
import ticketList from './ticketList' import ticketList from './ticketList'
import signCalendar from './signCalendar' import signCalendar from './signCalendar'
import myIceCream from './myIceCream' import myIceCream from './myIceCream'
import shoppingMall from './shoppingMall'
export default { export default {
components: { components: {
myTicket, myTicket,
...@@ -278,7 +281,8 @@ export default { ...@@ -278,7 +281,8 @@ export default {
myExchange, myExchange,
myAssignment, myAssignment,
signCalendar, signCalendar,
myIceCream myIceCream,
shoppingMall
}, },
data(){ data(){
return{ return{
...@@ -287,7 +291,7 @@ export default { ...@@ -287,7 +291,7 @@ export default {
myTicketShow: false, myTicketShow: false,
descriptionShow: false, descriptionShow: false,
allHomeShow: false, allHomeShow: false,
raffleTicketsShow: true, raffleTicketsShow: false,
ticketShow: false, ticketShow: false,
Calculation: false, Calculation: false,
myExchangeShow: false, myExchangeShow: false,
...@@ -295,12 +299,13 @@ export default { ...@@ -295,12 +299,13 @@ export default {
signCalendarShow: false, signCalendarShow: false,
smallWindow: false, smallWindow: false,
IceCreamShow: false, IceCreamShow: false,
shoppingMallShow: false,
height: 0, height: 0,
width: 0, width: 0,
userInfo: {}, userInfo: {},
beginTime: '', beginTime: '',
endTime: '', endTime: '',
info: '', ActivityInfo: '',
hoverBank: 1, hoverBank: 1,
list: [ list: [
{ {
...@@ -362,6 +367,8 @@ export default { ...@@ -362,6 +367,8 @@ export default {
this.signCalendarShow = false this.signCalendarShow = false
} else if (val === 'myIceCream') { } else if (val === 'myIceCream') {
this.IceCreamShow = false this.IceCreamShow = false
} else if (val === 'shoppingMall') {
this.shoppingMallShow = false
} }
}, },
//初始化任务 //初始化任务
...@@ -386,7 +393,6 @@ export default { ...@@ -386,7 +393,6 @@ export default {
//获取活动信息 //获取活动信息
getActivity: function (){ getActivity: function (){
let msg = { let msg = {
id: null,
link: this.$route.name link: this.$route.name
}; };
this.apiJavaPost( this.apiJavaPost(
...@@ -397,7 +403,7 @@ export default { ...@@ -397,7 +403,7 @@ export default {
let data = res.data.data let data = res.data.data
this.beginTime = data.beginTime.split('T')[0].split('-') this.beginTime = data.beginTime.split('T')[0].split('-')
this.endTime = data.endTime.split('T')[0].split('-') this.endTime = data.endTime.split('T')[0].split('-')
this.info = data.remark this.ActivityInfo = data
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
......
...@@ -88,9 +88,9 @@ ...@@ -88,9 +88,9 @@
<div class="myExchange_bg" :style="{zoom: zoom}"> <div class="myExchange_bg" :style="{zoom: zoom}">
<div class="myExchange_box"> <div class="myExchange_box">
<div class="item" v-for="(item, index) in list"> <div class="item" v-for="(item, index) in list">
<span class="right_number">x1</span> <span class="right_number">x{{item.buyNum}}</span>
<div class="item_img"> <div class="item_img">
<img :src="item.src" alt=""> <img :src="item.imgs" alt="">
</div> </div>
<span class="item_name">{{item.name}}</span> <span class="item_name">{{item.name}}</span>
</div> </div>
...@@ -105,49 +105,36 @@ ...@@ -105,49 +105,36 @@
<script> <script>
export default { export default {
props: ['zoom'], props: ['zoom', 'ActivityID'],
data(){ data(){
return{ return{
closeShow: 2, closeShow: 2,
list: [ list: []
{
id: 0,
name: '签证',
src: require('../../../assets/img/task/img1.png'),
},
{
id: 1,
name: '特价机票',
src: require('../../../assets/img/task/img2.png'),
},
{
id: 2,
name: '跟团游',
src: require('../../../assets/img/task/img3.png'),
},
{
id: 3,
name: '当地游',
src: require('../../../assets/img/task/img4.png'),
},
{
id: 4,
name: '自由行',
src: require('../../../assets/img/task/img5.png'),
},
{
id: 5,
name: '抽奖券',
src: require('../../../assets/img/task/img6.png'),
}
]
} }
},methods:{ },methods:{
getActivityGoods: function () {
let msg = {
activityId: this.ActivityID,
}
this.apiJavaPost(
"/api/mactivity/getUserActivityGoods",
msg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data
this.list = data;
} else {
this.Error(res.data.message);
}
},
null
);
},
close: function () { close: function () {
this.$emit('closeMyWindow', 'Exchange') this.$emit('closeMyWindow', 'Exchange')
}, },
},mounted(){ },mounted(){
this.getActivityGoods()
} }
} }
......
...@@ -90,12 +90,12 @@ export default { ...@@ -90,12 +90,12 @@ export default {
closeShow: 2, closeShow: 2,
list: [ list: [
{ {
id: 0, id: 3,
name: '签证', name: '签证',
src: require('../../../assets/img/task/img1.png'), src: require('../../../assets/img/task/img1.png'),
}, },
{ {
id: 1, id: 4,
name: '特价机票', name: '特价机票',
src: require('../../../assets/img/task/img2.png'), src: require('../../../assets/img/task/img2.png'),
}, },
...@@ -105,23 +105,24 @@ export default { ...@@ -105,23 +105,24 @@ export default {
src: require('../../../assets/img/task/img3.png'), src: require('../../../assets/img/task/img3.png'),
}, },
{ {
id: 3, id: 8,
name: '当地游', name: '当地游',
src: require('../../../assets/img/task/img4.png'), src: require('../../../assets/img/task/img4.png'),
}, },
{ {
id: 4, id: 7,
name: '自由行', name: '自由行',
src: require('../../../assets/img/task/img5.png'), src: require('../../../assets/img/task/img5.png'),
}, },
{ {
id: 5, id: 9,
name: '抽奖券', name: '抽奖券',
src: require('../../../assets/img/task/img6.png'), src: require('../../../assets/img/task/img6.png'),
} }
] ]
} }
},methods:{ },methods:{
close: function () { close: function () {
this.$emit('closeMyWindow', 'Ticket') this.$emit('closeMyWindow', 'Ticket')
}, },
...@@ -129,7 +130,7 @@ export default { ...@@ -129,7 +130,7 @@ export default {
this.$emit('openList', id) this.$emit('openList', id)
} }
},mounted(){ },mounted(){
} }
} }
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
</template> </template>
<script> <script>
export default { export default {
props:['data'], props:['raffleTicketsData'],
data(){ data(){
return{ return{
} }
......
<style>
.shoppingMall{
width: 100%;
height: 100%;
background:rgba(0, 0, 0, .5);
position: absolute;
left: 0;
top: 0;
z-index: 1999;
display: flex;
align-items: center;
justify-content: center;
background: url('../../../assets/img/task/shangcheng_bg.png');
background-size: 100% 100%;
}
.shoppingMall .content{
height: 972px;
width: 972px;
position: relative;
bottom: -58px;
left: 0;
background: url('../../../assets/img/task/shangcheng_fangzi.png');
background-size: 100% 100%;
}
.shoppingMall .content .content_box.el-row{
padding: 540px 145px 0 145px;
}
.shoppingMall .content .content_box .el-row{
min-height: 420px;
max-height: 420px;
overflow: auto;
}
.shoppingMall .content .content_box .el-row::-webkit-scrollbar{
/*滚动条整体样式*/
width: 13px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 8px;
}
.shoppingMall .content .content_box .el-row::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
border-radius: 4px;
background: rgba(255, 197, 21, 1);
}
.shoppingMall .content .content_box .el-row::-webkit-scrollbar-track {
/*滚动条里面轨道*/
border-radius: 4px;
background: rgba(204, 68, 39, 1);
}
.shoppingMall .content .item{
height: 190px;
margin-bottom: 15px;
overflow: hidden;
}
.shoppingMall .content .item .top{
position: relative;
}
.shoppingMall .content .item .top .img_box{
height: 183px;
background-color: #b9b9b9;
position: relative;
height: 112px;
display: flex;
align-items: center;
justify-content: center;
}
.shoppingMall .content .item .top img{
max-height: 100%;
}
.shoppingMall .content .item .top .info{
display: block;
width: 100%;
background: rgba(255,255,255,.5);
position: absolute;
bottom: 0;
line-height: 30px;
font-size: 12px;
padding: 0 12px;
box-sizing: border-box;
}
.shoppingMall .content .item .bottom{
background-color: white;
font-size: 12px;
padding: 8px 11px;
}
.shoppingMall .content .item .top ._d{
position: absolute;
width: 90px;
display: inline-block;
padding: 3px 0;
text-align: center;
font-size: 12px;
right: 0;
top: 0;
background-color: #ff7e4c;
color: white;
}
.shoppingMall .content .item .bottom ._s{
text-decoration: line-through;
color: #999999;
}
.shoppingMall .content .item .bottom .cailiao{
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
}
.shoppingMall .content .item .bottom .cailiao>span{
display: flex;
border: 1px solid #FF6600;
color: #FF6600;
font-size: 12px;
padding: 3px 9px;
border-radius: 12px;
align-items: center;
justify-content: center;
cursor: pointer;
}
.shoppingMall .content .item .bottom .cailiao>span.no_dui{
border: 1px solid #999999;
color: #999999;
}
.shoppingMall .content .item .bottom .cailiao .cailiao_item{
display: flex;
align-items: center;
}
.shoppingMall .content .item .bottom .cailiao .cailiao_item>div {
position: relative;
}
.shoppingMall .content .item .bottom .cailiao .cailiao_item img{
max-height: 30px;
}
.shoppingMall .content .item .bottom .cailiao .cailiao_item ._num{
position: absolute;
right: -10px;
top: -3px;
width: 16px;
height: 16px;
background: rgba(255,86,86,1);
border-radius: 50%;
font-size: 12px;
font-family: 'PingFangR';
font-weight: bold;
color: rgba(255,255,255,1);
text-align: center;
line-height: 16px;
}
.shoppingMall .content .item .bottom .cailiao .cailiao_item ._cheng{
display: inline-block;
width: 16px;
height: 16px;
background:rgba(255,148,21,1);
border-radius:50%;
color: white;
text-align: center;
line-height: 16px;
font-size: 14px;
margin-left: 9px;
}
.shoppingMall .hoverBank_btn{
cursor: pointer;
position: absolute;
left: -210px;
top: 60px;
}
</style>
<template>
<div class="shoppingMall">
<div class="content" :style="{zoom: zoom}">
<div class="hoverBank_btn">
<img v-if="hoverBank === 1" @mouseover="hoverBank = 2" src="../../../assets/img/task/duihuan_fh.png" alt="">
<img v-else @mouseout="hoverBank = 1" @click="close" src="../../../assets/img/task/duihuan_fn2.png" alt="">
</div>
<el-row class="content_box" >
<el-row :gutter="20">
<el-col :span="8" class="item" v-for="(item, index) in list" :key="index">
<div class="top">
<div class="img_box">
<img :src="item.imgs[0]" alt="">
</div>
<span class="info">{{item.name}}</span>
<span class="_d">可兑换:<span>{{item.residue}}</span></span>
</div>
<div class="bottom">
<p class="price"><span class="_s">市场价:¥{{item.marketPrice}}</span></p>
<div class="cailiao">
<div class="cailiao_item">
<template v-for="(img, index) in item.rules">
<div>
<img :src="filterImg(img)" alt="">
<span class="_num">{{img.amount}}</span>
</div>
<span class="_cheng" v-if="index !== item.rules.length-1">X</span>
</template>
</div>
<template>
<span v-if="item.residue < 1" class="no_dui">兑换</span>
<span v-else @click="setExchangeGoods(item.id)">兑换</span>
</template>
</div>
</div>
</el-col>
</el-row>
</el-row>
</div>
</div>
</template>
<script>
export default {
props: ['zoom', 'ActivityID'],
data(){
return {
list: [],
hoverBank: 1,
}
},methods:{
// 兑换
setExchangeGoods: function (goodsId) {
let msg = {
activityId: this.ActivityID,
goodsId: goodsId
}
this.apiJavaPost(
"/api/mactivity/setExchangeGoods",
msg,
res => {
if (res.data.resultCode == 1) {
this.$message.success('兑换成功!')
this.getActivityGoods()
} else {
this.Error(res.data.message);
}
},
null
);
},
filterImg: function (obj) {
if (obj.mName === '蒙牛冰淇淋') {
return require('../../../assets/img/task/bingqiling5.png')
} else if (obj.mName === 'DQ冰淇淋') {
return require('../../../assets/img/task/bingqiling2.png')
} else if (obj.mName === '明治冰淇淋') {
return require('../../../assets/img/task/bingqiling3.png')
} else if (obj.mName === '和路雪冰淇淋') {
return require('../../../assets/img/task/bingqiling4.png')
} else if (obj.mName === '哈根达斯冰淇淋') {
return require('../../../assets/img/task/bingqiling1.png')
} else if (obj.mName === '冰淇淋全家桶') {
return require('../../../assets/img/task/ice/bql_06.png')
}
},
getActivityGoods: function () {
let msg = {
activityId: this.ActivityID
}
this.apiJavaPost(
"/api/mactivity/getActivityGoods",
msg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data
this.list = data;
} else {
this.Error(res.data.message);
}
},
null
);
},
close: function () {
this.$emit('closeMyWindow', 'shoppingMall')
}
},mounted(){
this.getActivityGoods()
}
}
</script>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
z-index: 2018; z-index: 1999;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
.signCalendar .signCalendar_bg .signCalendar_tit{ .signCalendar .signCalendar_bg .signCalendar_tit{
text-align: center; text-align: center;
color: #FFFFFF; color: #FFFFFF;
padding-top: 18px;
} }
.signCalendar .signCalendar_bg .signCalendar_tit .el-icon{ .signCalendar .signCalendar_bg .signCalendar_tit .el-icon{
cursor: pointer; cursor: pointer;
...@@ -108,6 +109,15 @@ ...@@ -108,6 +109,15 @@
right: -5px; right: -5px;
top: -5px; top: -5px;
} }
.signCalendar .qiandao_btn{
position: absolute;
bottom: 25px;
text-align: center;
width: calc(100% - 95px);
}
.signCalendar .qiandao_btn img{
cursor: pointer;
}
</style> </style>
<template> <template>
<div class="signCalendar"> <div class="signCalendar">
...@@ -118,15 +128,19 @@ ...@@ -118,15 +128,19 @@
<span v-for="(item, index) in week" :key="index">{{item}}</span> <span v-for="(item, index) in week" :key="index">{{item}}</span>
</div> </div>
<div class="monthDayList clearfix"> <div class="monthDayList clearfix">
<div v-for="(item,index) in daysData" class="dayList" :style="{backgroundColor: item.day !== ' ' ? '#CCCCCC' : '', cursor: item.cup ? 'pointer' : ''}" :class="{behind: item.day!==' ' && currentDay < item.day}" :key="index" > <div v-for="(item,index) in daysData" class="dayList" :style="{backgroundColor: item.day !== ' ' ? '#CCCCCC' : ''}" :class="{behind: item.day!==' ' && currentDay < item.day}" :key="index" >
<span v-if="item.qian" class="yiqiandao el-icon-check"></span> <span v-if="item.price === 1" class="yiqiandao el-icon-check"></span>
<div v-if="item.day"> <div v-if="item.day">
<span class="iconfont icon-caidan_wujiaoxingkong" v-if="!item.today"></span> <span class="iconfont icon-caidan_wujiaoxingkong" v-if="!item.today && item.price !== 1"></span>
<span v-else></span> <span v-else></span>
</div> </div>
<p>{{item.day}}</p> <p>{{item.day}}</p>
</div> </div>
</div> </div>
<div class="qiandao_btn" @mouseover="closeShow = 1" @mouseout="closeShow = 2" @click="setSignTask">
<img v-if="closeShow === 1" src="../../../assets/img/task/qiandao1.png" alt="">
<img v-else src="../../../assets/img/task/qiandao2.png" alt="">
</div>
</div> </div>
<img class="__close" @click="close" src="../../../assets/img/task/des_close.png" alt=""> <img class="__close" @click="close" src="../../../assets/img/task/des_close.png" alt="">
</div> </div>
...@@ -134,7 +148,7 @@ ...@@ -134,7 +148,7 @@
</template> </template>
<script> <script>
export default { export default {
props: ['zoom'], props: ['zoom', 'ActivityID'],
data(){ data(){
return{ return{
week: ['日','一','二','三','四','五','六'], week: ['日','一','二','三','四','五','六'],
...@@ -143,8 +157,53 @@ export default { ...@@ -143,8 +157,53 @@ export default {
currentMonth: 0, currentMonth: 0,
currentYear: 0, currentYear: 0,
currentDay: 0, currentDay: 0,
closeShow: 1,
userInfo: {},
TaskHistoryList: []
} }
},methods:{ },methods:{
//获取签到记录
getTaskHistory: function () {
let msg = {
activityId: this.ActivityID,
customerId: this.userInfo.customerId,
taskId: 26
}
this.apiJavaPost(
"/api/mactivity/getTaskHistory",
msg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data
this.TaskHistoryList = data;
this.getYearMonthDay()
} else {
this.Error(res.data.message);
}
},
null
);
},
//签到
setSignTask: function () {
this.apiJavaPost(
"/api/mactivity/setSignTask",
{},
res => {
if (res.data.resultCode == 1) {
if (res.data.award === null) {
this.$message.success('您今天已经签过到了!')
} else {
this.$message.success(res.data.message)
this.getTaskHistory()
}
} else {
this.Error(res.data.message);
}
},
null
);
},
getYearMonthDay(){ getYearMonthDay(){
let date = new Date(); let date = new Date();
let newDate = date.getFullYear()+"-"+((date.getMonth()+1) < 9 ? '0' + (date.getMonth()+1) : date.getMonth()+1) + "-" + (date.getDate() < 9 ? '0' + date.getDate() : date.getDate() ); let newDate = date.getFullYear()+"-"+((date.getMonth()+1) < 9 ? '0' + (date.getMonth()+1) : date.getMonth()+1) + "-" + (date.getDate() < 9 ? '0' + date.getDate() : date.getDate() );
...@@ -168,8 +227,6 @@ export default { ...@@ -168,8 +227,6 @@ export default {
'day': i+1, 'day': i+1,
'price': 0, 'price': 0,
'today': i+1 === newDay ? true : false, 'today': i+1 === newDay ? true : false,
'cup': (this.currentYear === currentYear && this.currentMonth === currentMonth && this.currentDay === i+1) ? true : false,
'qian': i+1 < this.currentDay ? true : false
}; };
daysData.push(priceDict); daysData.push(priceDict);
} }
...@@ -177,6 +234,13 @@ export default { ...@@ -177,6 +234,13 @@ export default {
var currentDay = `${currentYear}-${currentMonth}-01`; var currentDay = `${currentYear}-${currentMonth}-01`;
var dateObject = new Date(currentDay); var dateObject = new Date(currentDay);
var firstDay = dateObject.getDay();//得到每个月1号是周几 var firstDay = dateObject.getDay();//得到每个月1号是周几
for (var i in this.TaskHistoryList) {
let dateStr = this.TaskHistoryList[i].taskDate.split('T')[0]
var price = this.TaskHistoryList[i].taskStatus;
var dayIndex = dateStr.substring(dateStr.length-2,dateStr.length);
var dayDict = daysData[Number(dayIndex)-1];
dayDict.price = price;
}
if (firstDay > 0) { if (firstDay > 0) {
var firstDayData = []; var firstDayData = [];
for (var i=0; i< firstDay;i++) { for (var i=0; i< firstDay;i++) {
...@@ -199,12 +263,14 @@ export default { ...@@ -199,12 +263,14 @@ export default {
this.$emit('closeMyWindow', 'signCalendar') this.$emit('closeMyWindow', 'signCalendar')
} }
},mounted(){ },mounted(){
this.userInfo = JSON.parse(localStorage.userInfo)
let date = new Date(); let date = new Date();
let newDate = date.getFullYear()+"-"+((date.getMonth()+1) < 9 ? '0' + (date.getMonth()+1) : date.getMonth()+1) + "-" + (date.getDate() < 9 ? '0' + date.getDate() : date.getDate() ); let newDate = date.getFullYear()+"-"+((date.getMonth()+1) < 9 ? '0' + (date.getMonth()+1) : date.getMonth()+1) + "-" + (date.getDate() < 9 ? '0' + date.getDate() : date.getDate() );
this.currentYear = newDate.substring(0,4); this.currentYear = newDate.substring(0,4);
this.currentMonth = newDate.substring(5,7); this.currentMonth = newDate.substring(5,7);
this.currentDay = date.getDate(); //当前天 this.currentDay = date.getDate(); //当前天
this.getYearMonthDay() // this.getYearMonthDay()
this.getTaskHistory()
} }
} }
</script> </script>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
z-index: 2018; z-index: 1999;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
...@@ -155,10 +155,10 @@ ...@@ -155,10 +155,10 @@
padding: 16px 6px padding: 16px 6px
} }
.ticketList .item .el-row .left .num{ .ticketList .item .el-row .left .num{
font-size: 88px; font-size: 60px;
font-family: 'PingFangR'; font-family: 'PingFangR';
font-weight: bold; font-weight: bold;
margin-bottom: -26px; margin-bottom: -15px;
position: relative; position: relative;
} }
.ticketList .item .el-row .left .num span{ .ticketList .item .el-row .left .num span{
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
text-align: center; text-align: center;
position: absolute; position: absolute;
right: 1px; right: 1px;
top: 37px; top: 18px;
background-color: #ff8888; background-color: #ff8888;
border-radius: 50%; border-radius: 50%;
} }
...@@ -179,31 +179,49 @@ ...@@ -179,31 +179,49 @@
line-height: 25px; line-height: 25px;
} }
.ticketList .item .el-row .right ._name{ .ticketList .item .el-row .right ._name{
font-size:28px; font-size:22px;
font-family: 'PingFangR'; font-family: 'PingFangR';
font-weight:bold; font-weight:bold;
color:rgba(63,63,63,1); color:rgba(63,63,63,1);
} }
.ticketList .item .el-row .right ._type{ .ticketList .item .el-row .right ._type{
font-size: 22px; font-size: 16px;
color:rgba(63,63,63,1); color:rgba(63,63,63,1);
margin-top: 3px; margin-top: 5px;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} }
.ticketList .item .el-row .right ._btn{ .ticketList .item .el-row .right ._btn{
display: inline-block; display: inline-block;
width: 110px; width: 110px;
text-align: center; text-align: center;
font-size: 20px; font-size: 13px;
color: white; color: white;
background:rgba(255,86,86,1); background: rgba(255,86,86,1);
margin-top: 3px; margin-top: 5px;
cursor: pointer; cursor: pointer;
border-radius: 14px;
} }
.ticketList .el-checkbox__inner::after{ .ticketList .el-checkbox__inner::after{
border: 1px solid #ff5656; border: 1px solid #ff5656;
border-left: 0; border-left: 0;
border-top: 0; border-top: 0;
} }
.container.container1 .item .el-row .left .num{
margin-bottom: 16px;
}
.container.container1 .item .el-row .left .num span{
top: -18px;
}
.container.container1 .item.disabled .el-row .left{
background-color: RGBA(154, 154, 154, 1)
}
.container.container1 .item.disabled .el-row .left .num span{
background-color: RGBA(154, 154, 154, 1)
}
</style> </style>
<template> <template>
<div class="ticketList"> <div class="ticketList">
...@@ -228,34 +246,47 @@ ...@@ -228,34 +246,47 @@
<span @click="hebing = hebing===1 ? 2 : 1, checkedCities=[]" :class="{'hebing2': hebing===1}" class="hebing">合并</span> <span @click="hebing = hebing===1 ? 2 : 1, checkedCities=[]" :class="{'hebing2': hebing===1}" class="hebing">合并</span>
</div> </div>
</div> </div>
<div class="container" v-if="activeNav === 1 && hebing === 2"> <div class="container container1" v-if="activeNav === 1 && hebing === 2">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox v-for="city in cities" :label="city" :key="city"> <el-checkbox v-for="(item, index) in dataList" :label="item.id" :key="index" :disabled="item.acessId === -1 || item.useState !== 1">
<div class="item"> <div class="item" :class="{disabled: item.acessId === -1 || item.useState !== 1}">
<el-row>
<el-col :span="10">
<div class="left">
<span class="num">{{item.denomination}}<span></span></span>
</div>
</el-col>
<el-col :span="14">
<div class="right">
<p class="_name">{{ticketName}}</p>
<p class="_type" :title="item.couponsName">{{item.couponsName}}</p>
<span class="_btn">立即使用</span>
</div>
</el-col>
</el-row>
</div> </div>
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</div> </div>
<div class="container container2" v-else> <div class="container container2" v-else>
<div class="item" v-for="city in cities" :label="city" :key="city"> <div class="item" v-for="(item, index) in dataList" :key="index" v-if="activeNav === 1 ? item.useState === 1 : item.useState !== 1">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<div class="left"> <div class="left">
<span class="num">20<span></span></span> <span class="num">{{item.denomination}}<span></span></span>
</div> </div>
</el-col> </el-col>
<el-col :span="14"> <el-col :span="14">
<div class="right"> <div class="right">
<p class="_name">签证</p> <p class="_name">{{ticketName}}</p>
<p class="_type">现金抵用券</p> <p class="_type" :title="item.couponsName">{{item.couponsName}}</p>
<span class="_btn">立即使用</span> <span class="_btn">立即使用</span>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</div> </div>
<div @mouseover="hebingBtn = 1" @mouseout="hebingBtn = 2" class="bottom_btn"> <div @mouseover="hebingBtn = 1" @mouseout="hebingBtn = 2" class="bottom_btn" @click="hebingTicket()">
<img v-if="hebingBtn === 2" src="../../../assets/img/task/hebing.png" alt=""> <img v-if="hebingBtn === 2" src="../../../assets/img/task/hebing.png" alt="">
<img v-else src="../../../assets/img/task/hebing1.png" alt=""> <img v-else src="../../../assets/img/task/hebing1.png" alt="">
</div> </div>
...@@ -268,35 +299,109 @@ ...@@ -268,35 +299,109 @@
</div> </div>
</template> </template>
<script> <script>
const cityOptions = ['上海', '北京', '广州', '深圳', '成都'];
export default { export default {
props: ['id', 'zoom'], props: ['ticketId', 'zoom', 'ActivityID'],
data() { data() {
return{ return{
closeShow: 1, closeShow: 1,
activeNav: 1, activeNav: 1,
checkAll: false, checkAll: false,
checkedCities: [], checkedCities: [],
cities: cityOptions, dataList: [],
isIndeterminate: true, isIndeterminate: true,
hebing: 1, hebing: 1,
hebingBtn: 1, hebingBtn: 1,
userInfo: {},
tickList: [],
ticketName: ''
}
},created(){
if (this.ticketId === 3) {
this.ticketName = '签证'
} else if (this.ticketId === 4) {
this.ticketName = '特价机票'
} else if (this.ticketId === 2) {
this.ticketName = '跟团游'
} else if (this.ticketId === 8) {
this.ticketName = '当地游'
} else if (this.ticketId === 7) {
this.ticketName = '自由行'
} else if (this.ticketId === 9) {
this.ticketName = '抽奖券'
} }
},methods:{ },methods:{
//用户合并
hebingTicket: function () {
if (this.checkedCities.length < 2) {
return this.Error('请最少选择两个优惠券进行合成!');
}
if (this.checkedCities.length > 20) {
return this.Error('最多选择20张优惠券进行合成!');
}
let msg = {
activityId: this.ActivityID,
coupons: this.checkedCities
}
this.apiJavaPost(
"/api/mactivity/setFuseCoupon",
msg,
res => {
if (res.data.resultCode == 1) {
this.$message.success('合成成功!')
this.getUserCoupons()
} else {
this.Error(res.data.message);
}
},
null
);
},
// 获取用户券
getUserCoupons: function () {
let msg = {
activityId: this.ActivityID,
}
this.apiJavaPost(
"/api/mactivity/getUserCoupons",
msg,
res => {
if (res.data.resultCode == 1) {
let data = res.data.data
let list = []
data.forEach(x => {
if (x.moduleId === this.ticketId) {
list.push(x)
}
});
this.dataList = list;
} else {
this.Error(res.data.message);
}
},
null
);
},
handleCheckAllChange(val) { handleCheckAllChange(val) {
this.checkedCities = val ? cityOptions : []; let list = [];
this.dataList.forEach(x=>{
if (x.acessId !== -1 && x.useState === 1) {
list.push(x.id)
}
})
this.checkedCities = val ? list : [];
this.isIndeterminate = false; this.isIndeterminate = false;
}, },
handleCheckedCitiesChange(value) { handleCheckedCitiesChange(value) {
let checkedCount = value.length; let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length; this.checkAll = checkedCount === this.dataList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length; this.isIndeterminate = checkedCount > 0 && checkedCount < this.dataList.length;
}, },
close: function () { close: function () {
this.$emit('closeMyWindow', 'ticket') this.$emit('closeMyWindow', 'ticket')
}, },
},mounted(){ },mounted(){
this.userInfo = JSON.parse(localStorage.userInfo)
this.getUserCoupons()
} }
} }
</script> </script>
...@@ -222,7 +222,8 @@ export default { ...@@ -222,7 +222,8 @@ export default {
key = this.getLocalStorage().secretKey; key = this.getLocalStorage().secretKey;
} }
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase(); var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`); var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = { var postData = {
"msg": msg, "msg": msg,
"timestamp": timestamp, "timestamp": timestamp,
...@@ -246,6 +247,9 @@ export default { ...@@ -246,6 +247,9 @@ export default {
} else if (res.data.resultCode == 10005) { } else if (res.data.resultCode == 10005) {
this.$router.go(-1) this.$router.go(-1)
} else { } else {
if (res.data.award) {
this.MsgBus.$emit('openRaffleTickets', res.data.award)
}
successCall(res) successCall(res)
} }
}, faildCall) }, faildCall)
......
...@@ -2,6 +2,7 @@ import Vue from "vue"; ...@@ -2,6 +2,7 @@ import Vue from "vue";
import Router from "vue-router"; import Router from "vue-router";
import index from "./views/index"; import index from "./views/index";
import login from "./views/login"; import login from "./views/login";
import newLogin from "./views/newLogin";
import IceCreamTask from "./components/taskPage/IceCream/IceCreamTask"; import IceCreamTask from "./components/taskPage/IceCream/IceCreamTask";
Vue.use(Router); Vue.use(Router);
...@@ -12,8 +13,13 @@ export default new Router({ ...@@ -12,8 +13,13 @@ export default new Router({
{ {
path: "/login", path: "/login",
name: "login", name: "login",
component: login component: newLogin
}, },
// {
// path: "/newLogin",
// name: "newLogin",
// component: newLogin
// },
{ {
path: "/", path: "/",
name: "index", name: "index",
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
</div> </div>
<p @click="type=1,activeShow=false">返回登录</p> <p @click="type=1,activeShow=false">返回登录</p>
</div> </div>
</div> </div>
</div> </div>
<div v-if="activeShow&&type==4"> <div v-if="activeShow&&type==4">
<div class="login_input"> <div class="login_input">
......
This diff is collapsed.
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