Commit e69ba23c authored by 华国豪's avatar 华国豪 🙄

修改登录页面

parent 5f9c9a50
......@@ -6,6 +6,8 @@
<router-link to="/about">About</router-link>
</div> -->
<router-view/>
<!-- 抽奖券 -->
<raffleTickets v-if="raffleTicketsShow" :raffleTicketsData="raffleTicketsData" @closeMyWindow="closeMyWindow" name='raffleTickets'/>
</el-scrollbar>
<transition name="el-zoom-in-top">
<div class="page-component-up" v-show="top>100" @click="goTop">
......@@ -15,10 +17,16 @@
</div>
</template>
<script>
import raffleTickets from './components/taskPage/IceCream/raffleTickets'
export default {
components: {
raffleTickets
},
data () {
return {
top:0
top:0,
raffleTicketsShow: false,
raffleTicketsData: {},
}
},
mounted() {
......@@ -43,9 +51,18 @@ export default {
this.$store.commit('changeLogin',1);
this.$store.commit('updateUser',userInfo);
}
this.MsgBus.$on('openRaffleTickets', this.openRaffleTickets)
},
methods: {
openRaffleTickets: function (val) {
this.raffleTicketsData = val
this.raffleTicketsShow = true
},
closeMyWindow: function (val) {
if (val === 'raffleTickets') {
this.raffleTicketsShow = false
}
},
goTop(){
this.$refs.wrap.wrap.scrollTop=0
this.top=0
......@@ -59,7 +76,7 @@ export default {
<style>
@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';
body,html{
padding: 0px;
......
......@@ -173,7 +173,7 @@
<span :class="{'_active': brandListIndex === index}" @click="brandListIndex = index">{{item.name}}</span>
</template>
</div>
</el-row>
</el-row> -->
<el-row>
<div class="paxu">
<span :class="{'_active': paxuIndex === 1}" @click="paxuIndex = 1, getList()">综合排序</span>
......@@ -184,7 +184,7 @@
</span>
</span>
</div>
</el-row> -->
</el-row>
</div>
<div class="list_item" >
<div class="list_item_box" v-for="item in dataList" :key="item.id" @click="goDetail(item.id)">
......
......@@ -77,7 +77,7 @@
<template>
<el-row class="commodity">
<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>
<img class="com_bigImg" :src="getImgUrl(message[0].Images)" alt>
</div>
......@@ -87,7 +87,7 @@
</el-col>
<el-col :span="14">
<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 class="r_item_img_box">
<img :src="getImgUrl(item.Images)" alt>
......@@ -98,7 +98,7 @@
</el-col>
</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 class="r_item_btmBox">
<img :src="getImgUrl(item.Images)" alt>
......
......@@ -21,7 +21,7 @@
.IceCreamTask .right_box{
position: absolute;
right: 0;
top: 7.5%;
top: 9%;
width: 215px;
text-align: center;
z-index: 20;
......@@ -138,7 +138,7 @@
width: 84px;
cursor: pointer;
}
.hoverBank_btn{
.IceCreamTask .hoverBank_btn{
cursor: pointer;
position: absolute;
left: -210px;
......@@ -162,10 +162,10 @@
</div>
<!-- 右边积分什么的 -->
<div class="right_box" :style="{zoom: zoom}">
<div>
<!-- <div>
<img src="../../../assets/img/task/task_home3.png" alt="">
<p>当前积分:1500</p>
</div>
</div> -->
<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 src="../../../assets/img/task/task_home6.png" alt="">
......@@ -191,7 +191,7 @@
<!-- 兑换商店 -->
<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="">
<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>
</template>
......@@ -233,7 +233,7 @@
<!-- 兑换商店 -->
<div class="right" >
<img src="../../../assets/img/task/shangcehng.png" alt="">
<div class="duihuanBtn"></div>
<div @click="shoppingMallShow = true" class="duihuanBtn" style="left: 176px;"></div>
</div>
</div>
</template>
......@@ -241,21 +241,23 @@
<!-- 我的奖券 -->
<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'/>
<!-- 抽奖券 -->
<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'/>
<!-- 签到 -->
<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'/>
<!-- 兑换商城 -->
<shoppingMall v-if="shoppingMallShow" @closeMyWindow="closeMyWindow" :ActivityID='ActivityInfo.id' :zoom="zoom" name='shoppingMall'/>
</el-row>
</template>
<script>
......@@ -268,6 +270,7 @@ import raffleTickets from './raffleTickets'
import ticketList from './ticketList'
import signCalendar from './signCalendar'
import myIceCream from './myIceCream'
import shoppingMall from './shoppingMall'
export default {
components: {
myTicket,
......@@ -278,7 +281,8 @@ export default {
myExchange,
myAssignment,
signCalendar,
myIceCream
myIceCream,
shoppingMall
},
data(){
return{
......@@ -287,7 +291,7 @@ export default {
myTicketShow: false,
descriptionShow: false,
allHomeShow: false,
raffleTicketsShow: true,
raffleTicketsShow: false,
ticketShow: false,
Calculation: false,
myExchangeShow: false,
......@@ -295,12 +299,13 @@ export default {
signCalendarShow: false,
smallWindow: false,
IceCreamShow: false,
shoppingMallShow: false,
height: 0,
width: 0,
userInfo: {},
beginTime: '',
endTime: '',
info: '',
ActivityInfo: '',
hoverBank: 1,
list: [
{
......@@ -362,6 +367,8 @@ export default {
this.signCalendarShow = false
} else if (val === 'myIceCream') {
this.IceCreamShow = false
} else if (val === 'shoppingMall') {
this.shoppingMallShow = false
}
},
//初始化任务
......@@ -386,7 +393,6 @@ export default {
//获取活动信息
getActivity: function (){
let msg = {
id: null,
link: this.$route.name
};
this.apiJavaPost(
......@@ -397,7 +403,7 @@ export default {
let data = res.data.data
this.beginTime = data.beginTime.split('T')[0].split('-')
this.endTime = data.endTime.split('T')[0].split('-')
this.info = data.remark
this.ActivityInfo = data
} else {
this.Error(res.data.message);
}
......
......@@ -88,9 +88,9 @@
<div class="myExchange_bg" :style="{zoom: zoom}">
<div class="myExchange_box">
<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">
<img :src="item.src" alt="">
<img :src="item.imgs" alt="">
</div>
<span class="item_name">{{item.name}}</span>
</div>
......@@ -105,49 +105,36 @@
<script>
export default {
props: ['zoom'],
props: ['zoom', 'ActivityID'],
data(){
return{
closeShow: 2,
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'),
}
]
list: []
}
},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 () {
this.$emit('closeMyWindow', 'Exchange')
},
},mounted(){
this.getActivityGoods()
}
}
......
......@@ -90,12 +90,12 @@ export default {
closeShow: 2,
list: [
{
id: 0,
id: 3,
name: '签证',
src: require('../../../assets/img/task/img1.png'),
},
{
id: 1,
id: 4,
name: '特价机票',
src: require('../../../assets/img/task/img2.png'),
},
......@@ -105,23 +105,24 @@ export default {
src: require('../../../assets/img/task/img3.png'),
},
{
id: 3,
id: 8,
name: '当地游',
src: require('../../../assets/img/task/img4.png'),
},
{
id: 4,
id: 7,
name: '自由行',
src: require('../../../assets/img/task/img5.png'),
},
{
id: 5,
id: 9,
name: '抽奖券',
src: require('../../../assets/img/task/img6.png'),
}
]
}
},methods:{
close: function () {
this.$emit('closeMyWindow', 'Ticket')
},
......@@ -129,7 +130,7 @@ export default {
this.$emit('openList', id)
}
},mounted(){
}
}
......
......@@ -71,7 +71,7 @@
</template>
<script>
export default {
props:['data'],
props:['raffleTicketsData'],
data(){
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 @@
position: absolute;
left: 0;
top: 0;
z-index: 2018;
z-index: 1999;
display: flex;
align-items: center;
justify-content: center;
......@@ -31,6 +31,7 @@
.signCalendar .signCalendar_bg .signCalendar_tit{
text-align: center;
color: #FFFFFF;
padding-top: 18px;
}
.signCalendar .signCalendar_bg .signCalendar_tit .el-icon{
cursor: pointer;
......@@ -108,6 +109,15 @@
right: -5px;
top: -5px;
}
.signCalendar .qiandao_btn{
position: absolute;
bottom: 25px;
text-align: center;
width: calc(100% - 95px);
}
.signCalendar .qiandao_btn img{
cursor: pointer;
}
</style>
<template>
<div class="signCalendar">
......@@ -118,15 +128,19 @@
<span v-for="(item, index) in week" :key="index">{{item}}</span>
</div>
<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" >
<span v-if="item.qian" class="yiqiandao el-icon-check"></span>
<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.price === 1" class="yiqiandao el-icon-check"></span>
<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>
</div>
<p>{{item.day}}</p>
</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>
<img class="__close" @click="close" src="../../../assets/img/task/des_close.png" alt="">
</div>
......@@ -134,7 +148,7 @@
</template>
<script>
export default {
props: ['zoom'],
props: ['zoom', 'ActivityID'],
data(){
return{
week: ['日','一','二','三','四','五','六'],
......@@ -143,8 +157,53 @@ export default {
currentMonth: 0,
currentYear: 0,
currentDay: 0,
closeShow: 1,
userInfo: {},
TaskHistoryList: []
}
},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(){
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() );
......@@ -168,8 +227,6 @@ export default {
'day': i+1,
'price': 0,
'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);
}
......@@ -177,6 +234,13 @@ export default {
var currentDay = `${currentYear}-${currentMonth}-01`;
var dateObject = new Date(currentDay);
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) {
var firstDayData = [];
for (var i=0; i< firstDay;i++) {
......@@ -199,12 +263,14 @@ export default {
this.$emit('closeMyWindow', 'signCalendar')
}
},mounted(){
this.userInfo = JSON.parse(localStorage.userInfo)
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() );
this.currentYear = newDate.substring(0,4);
this.currentMonth = newDate.substring(5,7);
this.currentDay = date.getDate(); //当前天
this.getYearMonthDay()
// this.getYearMonthDay()
this.getTaskHistory()
}
}
</script>
......@@ -6,7 +6,7 @@
position: absolute;
left: 0;
top: 0;
z-index: 2018;
z-index: 1999;
display: flex;
align-items: center;
justify-content: center;
......@@ -155,10 +155,10 @@
padding: 16px 6px
}
.ticketList .item .el-row .left .num{
font-size: 88px;
font-size: 60px;
font-family: 'PingFangR';
font-weight: bold;
margin-bottom: -26px;
margin-bottom: -15px;
position: relative;
}
.ticketList .item .el-row .left .num span{
......@@ -170,7 +170,7 @@
text-align: center;
position: absolute;
right: 1px;
top: 37px;
top: 18px;
background-color: #ff8888;
border-radius: 50%;
}
......@@ -179,31 +179,49 @@
line-height: 25px;
}
.ticketList .item .el-row .right ._name{
font-size:28px;
font-size:22px;
font-family: 'PingFangR';
font-weight:bold;
color:rgba(63,63,63,1);
}
.ticketList .item .el-row .right ._type{
font-size: 22px;
font-size: 16px;
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{
display: inline-block;
width: 110px;
text-align: center;
font-size: 20px;
font-size: 13px;
color: white;
background:rgba(255,86,86,1);
margin-top: 3px;
background: rgba(255,86,86,1);
margin-top: 5px;
cursor: pointer;
border-radius: 14px;
}
.ticketList .el-checkbox__inner::after{
border: 1px solid #ff5656;
border-left: 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>
<template>
<div class="ticketList">
......@@ -228,34 +246,47 @@
<span @click="hebing = hebing===1 ? 2 : 1, checkedCities=[]" :class="{'hebing2': hebing===1}" class="hebing">合并</span>
</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 v-for="city in cities" :label="city" :key="city">
<div class="item">
<el-checkbox v-for="(item, index) in dataList" :label="item.id" :key="index" :disabled="item.acessId === -1 || item.useState !== 1">
<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>
</el-checkbox>
</el-checkbox-group>
</div>
<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-col :span="10">
<div class="left">
<span class="num">20<span></span></span>
<span class="num">{{item.denomination}}<span></span></span>
</div>
</el-col>
<el-col :span="14">
<div class="right">
<p class="_name">签证</p>
<p class="_type">现金抵用券</p>
<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>
<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-else src="../../../assets/img/task/hebing1.png" alt="">
</div>
......@@ -268,35 +299,109 @@
</div>
</template>
<script>
const cityOptions = ['上海', '北京', '广州', '深圳', '成都'];
export default {
props: ['id', 'zoom'],
props: ['ticketId', 'zoom', 'ActivityID'],
data() {
return{
closeShow: 1,
activeNav: 1,
checkAll: false,
checkedCities: [],
cities: cityOptions,
dataList: [],
isIndeterminate: true,
hebing: 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:{
//用户合并
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) {
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;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
this.checkAll = checkedCount === this.dataList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.dataList.length;
},
close: function () {
this.$emit('closeMyWindow', 'ticket')
},
},mounted(){
this.userInfo = JSON.parse(localStorage.userInfo)
this.getUserCoupons()
}
}
</script>
......@@ -31,7 +31,7 @@ export default {
DomainUrl: domainUrl,
//常用提交数据URL
PostUrl: domainUrl + "/api/common/post",
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.106:9000",
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? (locationName.indexOf('oytour') !== -1 ? "http://efficient.oytour.com" : "http://47.96.12.235:9001") : "http://192.168.2.215:9000",
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.2.214:8130',
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.2.214:8120",
LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi",
......@@ -222,7 +222,8 @@ export default {
key = this.getLocalStorage().secretKey;
}
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 = {
"msg": msg,
"timestamp": timestamp,
......@@ -246,6 +247,9 @@ export default {
} else if (res.data.resultCode == 10005) {
this.$router.go(-1)
} else {
if (res.data.award) {
this.MsgBus.$emit('openRaffleTickets', res.data.award)
}
successCall(res)
}
}, faildCall)
......
......@@ -2,6 +2,7 @@ import Vue from "vue";
import Router from "vue-router";
import index from "./views/index";
import login from "./views/login";
import newLogin from "./views/newLogin";
import IceCreamTask from "./components/taskPage/IceCream/IceCreamTask";
Vue.use(Router);
......@@ -12,8 +13,13 @@ export default new Router({
{
path: "/login",
name: "login",
component: login
component: newLogin
},
// {
// path: "/newLogin",
// name: "newLogin",
// component: newLogin
// },
{
path: "/",
name: "index",
......
......@@ -126,7 +126,7 @@
</div>
<p @click="type=1,activeShow=false">返回登录</p>
</div>
</div>
</div>
</div>
<div v-if="activeShow&&type==4">
<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