Authored by 郝肖肖

'我的礼品卡消费详情'

... ... @@ -61,11 +61,11 @@ module.exports = class extends global.yoho.BaseModel {
/**
* [验证邮箱验证码]
* @param {[type]} code [邮箱验证码]
* @param {[type]} uid [用户id]
* @param {[type]} email [邮箱]
* @return {[type]} [{}]
*/
verifyEmail(uid, code) {
verifyEmail(code, uid) {
let options = {
method: 'app.giftcard.verifyemail',
uid: uid,
... ...
... ... @@ -89,12 +89,12 @@ module.exports = class extends global.yoho.BaseModel {
return this.meGiftAPi.consumeList(params.cardCode, uid, params.page, params.limit).then(rlist => {
let giftData = {};
giftData.data = _.get(rlist[0], 'data.giftCardInfoBOList', []);
giftData.data = _.get(rlist, 'data', {});
giftData.pager = Object.assign({
count: _.get(rlist[0], 'data.total', 0),
count: _.get(rlist, 'data.total', 0),
curPage: params.page,
totalPages: _.get(rlist[0], 'data.pageSize', 0)
}, setPager(_.get(rlist[0], 'data.pageSize', 0), {
totalPages: _.get(rlist, 'data.pageSize', 0)
}, setPager(_.get(rlist, 'data.pageSize', 0), {
page: params.page
}));
... ... @@ -138,7 +138,13 @@ module.exports = class extends global.yoho.BaseModel {
// 发验证码
smsBind(params) {
return this.meGiftAPi.checkIsCanBind(params.area, params.mobile).then(() => {
return this.meGiftAPi.checkIsCanBind(params.area, params.mobile).then(res => {
if (_.get(res, 'data.isCanBind') === 'N') {
return {
code: 401,
message: '<p>绑定失败,该手机号已被绑定</p><p>请更换手机号</p>'
};
}
return this.meGiftAPi.smsbind(params.area, params.mobile);
});
}
... ...
<div class="verify-input">
{{# data}}
<table class="info-gift-header">
<tr>
<td class="text-left">卡号:L242353456436456</td>
<td>状态:使用中</td>
<td class="text-right validity-time">有效期:2016-04-17 至2017-04-17(即将过期)</td>
</tr>
<tr>
<td class="text-left">面值:2000.00 </td>
<td colspan="2">余额:500.00</td>
</tr>
<tr>
<td class="text-left">卡号:{{cardCode}}</td>
<td>状态:{{statusStr}}</td>
<td class="text-right validity-time">有效期:{{dateStr}}{{#if willExpire}}{{willExpire}}{{/if}}</td>
</tr>
<tr>
<td class="text-left">面值:{{amount}} </td>
<td colspan="2">余额:{{remainAmount}}</td>
</tr>
</table>
<div class="me-gift-info-table">
<div class="me-gift-header">
... ... @@ -25,30 +25,23 @@
</div>
<div>金额(元)</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="consume">消费</div>
<div class="consume">-122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="refund">退款</div>
<div class="refund">+122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="consume">消费</div>
<div class="consume">-122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="refund">退款</div>
<div class="refund">+122</div>
</div>
<div class="cart-list-empty"></div>
{{#if giftCardConsumeInfoBOList}}
{{# giftCardConsumeInfoBOList}}
<div class="me-gift-tr">
<div>{{createTime}}</div>
<div>{{orderCode}}</div>
{{#if type}}
<div class="consume">消费</div>
<div class="consume">-{{changeAmount}}</div>
{{else if type}}
<div class="refund">退款</div>
<div class="refund">+{{changeAmount}}</div>
{{/if}}
</div>
{{/giftCardConsumeInfoBOList}}
{{^}}
<div class="cart-list-empty"></div>
{{/if}}
</div>
</div>
{{/data}}
{{> pager}}
... ...
... ... @@ -20,7 +20,7 @@
</div>
{{#if giftData.data}}
{{#giftData.data}}
<div class="me-gift-tr">
<div class="me-gift-tr" data-card-code={{cardCode}}>
<div>{{cardCode}}</div>
<div>{{amount}}</div>
<div>{{remainAmount}}</div>
... ... @@ -51,6 +51,9 @@
<input type="text" placeholder="短信验证码" class="email-code" />
<input type="button" value="获取短信验证码" class="email-btn" />
</div>
<div class="gift-group">
<div id="captcha" style="display: inline-block; position: relative;"></div>
</div>
</script>
{{!-- 绑定手机模板 --}}
... ... @@ -82,6 +85,9 @@
<input type="text" placeholder="短信验证码" class="mobile-code" />
<input type="button" value="获取短信验证码" class="mobile-btn" />
</div>
<div class="gift-group">
<div id="captcha" style="display: inline-block; position: relative;"></div>
</div>
</div>
</script>
... ... @@ -99,59 +105,9 @@
{{!-- 消费明细 --}}
<script id="detail-gift-tpl" type="text/html">
<div class="detail-gift-list">
<div class="info-title">消费明细</div>
<div class="verify-input">
<table class="info-gift-header">
<tr>
<td class="text-left">卡号:L242353456436456</td>
<td>状态:使用中</td>
<td class="text-right validity-time">有效期:2016-04-17 2017-04-17(即将过期)</td>
</tr>
<tr>
<td class="text-left">面值:2000.00 </td>
<td colspan="2">余额:500.00</td>
</tr>
</table>
<div class="me-gift-info-table">
<div class="me-gift-header">
<div>时间</div>
<div>订单编号</div>
<div>
<span class="gift-filter">
<em class="gift-type">类型</em>
<ul class="ul-list">
<li data-cc="1">消费</li>
<li data-cc="2">退款</li>
</ul>
</span>
</div>
<div>金额()</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="consume">消费</div>
<div class="consume">-122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="refund">退款</div>
<div class="refund">+122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="consume">消费</div>
<div class="consume">-122</div>
</div>
<div class="me-gift-tr">
<div>2017-12-21 09:30</div>
<div>3456436456</div>
<div class="refund">退款</div>
<div class="refund">+122</div>
</div>
<div class="cart-list-empty"></div>
</div>
<div class="verify-input detail-gift-content">
</div>
</div>
</script>
... ...
... ... @@ -8,6 +8,7 @@ var meGift;
require('../common');
meGift = {
isFlag: false, // 防止用户频繁点击
// 验证邮箱模板
emailTpl: Hbs.compile($('#verify-email-tpl').html()),
... ... @@ -27,7 +28,7 @@ meGift = {
isBinMobile: +$('.me-content').data('is-bin-mobile'),
// 用户邮箱
userEmail: +$('.me-content').data('email'),
userEmail: $('.me-content').data('email'),
init: function() {
var that = this;
... ... @@ -37,13 +38,13 @@ meGift = {
if (that.isBinMobile) {
that.activateGift();
} else {
that.verifyEmailCode();
that.getMobileCode();
}
});
// 消费明细
$('.me-gift-table').on('click', '.info-list', function() {
that.infoList();
that.infoList($(this).closest('.me-gift-tr').data('card-code'));
});
// 显示手机区号或类型下拉列表
... ... @@ -66,9 +67,50 @@ meGift = {
});
},
// 我的礼品卡列表
getList: function() {
postAjax: function(url, data, verifyData, captcha) {
var deferred = $.Deferred(); // eslint-disable-line
var that = this;
var x;
if (that.isFlag) {
return deferred.resolve({
code: 401,
message: '数据请求中...'
});
}
if (verifyData) {
for (x in verifyData) {
if (!data[x]) {
that.meAlert(verifyData[x], false);
return deferred.resolve({
code: 401,
message: verifyData[x]
});
}
}
}
that.isFlag = true;
return $.ajax({
url: url,
type: 'post',
data: data
}).then(function(res) {
captcha && captcha.hideTip();
if (res.code === 405) {
captcha && captcha.showTip(res.message);
} else {
that.meAlert(res.message, false);
}
that.isFlag = false;
return res;
}, function() {
that.isFlag = false;
});
},
// 礼品卡详情列表
... ... @@ -76,13 +118,41 @@ meGift = {
},
intTimer: function($dom) {
var intTime = 60;
var intval = setInterval(function() {
if (intTime-- <= 0) {
clearInterval(intval);
$dom.removeClass('int-timer').val('获取短信验证码');
return false;
}
$dom.val(intTime + ' S');
}, 1000);
$dom.addClass('int-timer');
$dom.val(intTime + ' S');
},
// 获取邮箱验证码
getEmailCode: function() {
getEmailCode: function(captcha) {
var that = this;
this.postAjax('/home/megift/sendEmailCode', {
email: this.userEmail,
verifyCode: captcha.getResults()
}).then(function(res) {
if (res.code === 200) {
that.intTimer($('.email-btn'));
}
});
},
// 效验邮箱验证码
verifyEmailCode: function() {
var that = this;
var captcha;
var dg = new dialog.Dialog({
content: that.emailTpl({}),
className: 'me-gift-confirm',
... ... @@ -91,16 +161,36 @@ meGift = {
name: '绑定手机号',
btnClass: ['alert-sure'],
cb: function() {
dg.close();
that.getMobileCode();
var emailCode = $('.email-code').val();
var verifyData = {code: '验证码不能为空'};
that.postAjax('/home/megift/verifyEmail', {
email: that.userEmail,
code: emailCode
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.getMobileCode();
}
});
}
}]
}).show();
captcha = new Captcha('#captcha').init();
// 发送邮箱验证码
$('.me-gift-confirm').find('.email-btn').unbind('click').bind('click', function() {
if (!$(this).hasClass('int-timer')) {
that.getEmailCode(captcha);
}
});
},
// 获取手机验证码
getMobileCode: function() {
var that = this;
var captcha;
var dg = new dialog.Dialog({
content: that.mobileTpl({}),
className: 'me-gift-confirm',
... ... @@ -116,22 +206,60 @@ meGift = {
name: '激活',
btnClass: ['confirm-sure'],
cb: function() {
dg.close();
that.activateGift();
var verifyData = {
area: '请选择手机区号',
mobile: '手机号不能为空',
code: '手机验证码不能为空'
};
that.postAjax('/home/megift/changeMobile', {
area: ($('.mobile-area').find('em').text() || '').replace(/^\+/, ''),
mobile: $('.mobile').val(),
code: $('.mobile-code').val()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.activateGift();
}
});
}
}]
}).show();
},
// 效验手机验证码并激活
verifyMobileCode: function() {
captcha = new Captcha('#captcha').init();
// 发送邮箱验证码
$('.me-gift-confirm').find('.mobile-btn').unbind('click').bind('click', function() {
if (!$(this).hasClass('int-timer')) {
that.smsBind(captcha);
}
});
},
// 发送手机验证码
smsBind: function(captcha) {
var that = this;
var area = ($('.mobile-area').find('em').text() || '').replace(/^\+/, '');
var mobile = $('.mobile').val();
var verifyData = {
area: '请选择手机区号',
mobile: '手机号不能为空'
};
this.postAjax('/home/megift/smsBind', {
area: area,
mobile: mobile,
verifyCode: captcha.getResults()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
that.intTimer($('.email-btn'));
}
});
},
// 激活礼品卡
activateGift: function() {
var that = this;
var isFlag = false;
var captcha;
var dg = new dialog.Dialog({
content: that.giftTpl({}),
... ... @@ -149,61 +277,46 @@ meGift = {
btnClass: ['confirm-sure'],
cb: function() {
var $confirm = $('.me-gift-confirm');
captcha.hideTip();
if ($confirm.find('.card-code').val() === '') {
that.meAlert('礼品卡卡号不能为空', false);
return false;
} else if ($confirm.find('.card-pwd').val() === '') {
that.meAlert('礼品卡卡密不能为空', false);
return false;
}
if (isFlag) {
return false;
}
isFlag = true;
$.ajax({
url: '/home/activateGift',
type: 'post',
data: {
cardCode: $confirm.find('.card-code').val(),
cardPwd: $confirm.find('.card-pwd').val(),
verifyCode: captcha.getResults()
}
}).then(function(res) {
isFlag = false;
var verifyData = {
cardCode: '礼品卡卡号不能为空',
cardPwd: '礼品卡卡密不能为空'
};
that.postAjax('/home/meGift/activateGift', {
cardCode: $confirm.find('.card-code').val(),
cardPwd: $confirm.find('.card-pwd').val(),
verifyCode: captcha.getResults()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.meAlert('<p>您的礼品卡激活成功</p><p>请尽情享用</p>', false);
} else if (res.code === 405) {
captcha.showTip(res.message);
return true;
} else {
that.meAlert(res.message, false);
}
}, function() {
isFlag = false;
});
}
}]
}).show();
captcha = new Captcha('#captcha').init();
captcha.hideTip();
},
// 消费明细
infoList: function() {
infoList: function(cardCode) {
var that = this;
new dialog.Dialog({
content: that.detailGiftTpl({}),
className: 'me-gift-page me-gift-confirm'
className: 'me-page me-gift-page me-gift-confirm detail-gift-list'
}).show();
$.get('/home/megift/detail', {
cardCode: cardCode
}).then(function(res) {
if (!res) {
return false;
}
$('.detail-gift-content').html(res);
});
},
// 我的弹框
... ...
var $ = require('yoho-jquery'),
Hbs = require('yoho-handlebars'),
dialog = require('../common/dialog'),
Captcha = require('../plugins/captcha');
var meGift;
require('../common');
meGift = {
isFlag: false, //防止用户频繁点击
// 验证邮箱模板
emailTpl: Hbs.compile($('#verify-email-tpl').html()),
// 绑定手机模板
mobileTpl: Hbs.compile($('#verify-mobile-tpl').html()),
// 激活礼品卡模板
giftTpl: Hbs.compile($('#activate-gift-tpl').html()),
// 消费明细模板
detailGiftTpl: Hbs.compile($('#detail-gift-tpl').html()),
// 添加礼品卡按钮
$addGift: $('.add-gift'),
// 是否绑定手机
isBinMobile: +$('.me-content').data('is-bin-mobile'),
// 用户邮箱
userEmail: $('.me-content').data('email'),
init: function() {
var that = this;
// 添加礼品卡
this.$addGift.click(function() {
if (that.isBinMobile) {
that.activateGift();
} else {
that.getMobileCode();
}
});
// 消费明细
$('.me-gift-table').on('click', '.info-list', function() {
that.infoList($(this).closest('.me-gift-tr').data('card-code'));
});
// 显示手机区号或类型下拉列表
$('body').on('click', '.mobile-area,.gift-filter', function() {
$(this).find('.ul-list').toggle();
});
// 选择手机区号
$('body').on('click', '.mobile-area-list', function(event) {
var $li = $(event.target).closest('li');
$('.mobile-area').find('em').text($li.data('cc'));
});
// 选择类型筛选
$('body').on('click', '.gift-filter ul', function(event) {
var $li = $(event.target).closest('li');
$('.gift-filter').find('em').text($li.text());
});
},
postAjax: function(url, data, verifyData, captcha) {
var that = this;
var deferred = $.Deferred();
var x;
if (that.isFlag) {
return deferred.resolve({
code: 401,
message: '数据请求中...'
});
}
if (verifyData) {
for(x in verifyData) {
if (!data[x]) {
that.meAlert(verifyData[x], false);
return deferred.resolve({
code: 401,
message: verifyData[x]
});
}
}
}
that.isFlag = true;
return $.ajax({
url: url,
type: 'post',
data: data
}).then(function(res) {
captcha && captcha.hideTip();
if (res.code === 405) {
captcha && captcha.showTip(res.message);
} else {
that.meAlert(res.message, false);
}
that.isFlag = false;
return res;
}, function() {
that.isFlag = false;
});
},
// 礼品卡详情列表
detailList: function() {
},
intTimer: function($dom) {
var intTime = 60;
var intval = setInterval(function() {
if (intTime-- <= 0) {
clearInterval(intval);
$dom.removeClass('intTimer').val('获取短信验证码');
return false;
}
$dom.val(intTime + ' S');
}, 1000);
$dom.addClass('intTimer');
$dom.val(intTime + ' S');
},
// 获取邮箱验证码
getEmailCode: function(captcha) {
this.postAjax('/home/megift/sendEmailCode', {
email: this.userEmail,
verifyCode: captcha.getResults()
}).then(function(res) {
if (res.code === 200) {
that.intTimer($('.email-btn'));
}
});
},
// 效验邮箱验证码
verifyEmailCode: function() {
var that = this;
var captcha;
var dg = new dialog.Dialog({
content: that.emailTpl({}),
className: 'me-gift-confirm',
btns: [{
id: 'confirm-email-btn',
name: '绑定手机号',
btnClass: ['alert-sure'],
cb: function() {
var emailCode = $('.email-code').val();
var verifyData = {code: '验证码不能为空'};
that.postAjax('/home/megift/verifyEmail', {
email: that.userEmail,
code: emailCode
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.getMobileCode();
}
});
}
}]
}).show();
captcha = new Captcha('#captcha').init();
//发送邮箱验证码
$('.me-gift-confirm').find('.email-btn').unbind('click').bind('click', function() {
if (!$(this).hasClass('intTimer')) {
that.getEmailCode(captcha);
}
});
},
// 获取手机验证码
getMobileCode: function() {
var that = this;
var captcha;
var dg = new dialog.Dialog({
content: that.mobileTpl({}),
className: 'me-gift-confirm',
btns: [{
id: 'confirm-mobile-cancel',
name: '取消',
btnClass: ['confirm-cancel'],
cb: function() {
dg.close();
}
}, {
id: 'confirm-mobile-sure',
name: '激活',
btnClass: ['confirm-sure'],
cb: function() {
var verifyData = {
area: '请选择手机区号',
mobile: '手机号不能为空',
code: '手机验证码不能为空',
};
that.postAjax('/home/megift/changeMobile', {
area: ($('.mobile-area').find('em').text() || '').replace(/^\+/, ''),
mobile: $('.mobile').val(),
code: $('.mobile-code').val()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.activateGift();
}
});
}
}]
}).show();
captcha = new Captcha('#captcha').init();
//发送邮箱验证码
$('.me-gift-confirm').find('.mobile-btn').unbind('click').bind('click', function() {
if (!$(this).hasClass('intTimer')) {
that.smsBind(captcha);
}
});
},
// 发送手机验证码
smsBind: function(captcha) {
var that = this;
var area = ($('.mobile-area').find('em').text() || '').replace(/^\+/, '');
var mobile = $('.mobile').val();
var verifyData = {
area: '请选择手机区号',
mobile: '手机号不能为空'
};
this.postAjax('/home/megift/smsBind', {
area: area,
mobile: mobile,
verifyCode: captcha.getResults()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
that.intTimer($('.email-btn'));
}
});
},
// 激活礼品卡
activateGift: function() {
var that = this;
var captcha;
var dg = new dialog.Dialog({
content: that.giftTpl({}),
className: 'me-gift-confirm',
btns: [{
id: 'confirm-gift-cancel',
name: '取消',
btnClass: ['confirm-cancel'],
cb: function() {
dg.close();
}
}, {
id: 'confirm-gift-sure',
name: '激活',
btnClass: ['confirm-sure'],
cb: function() {
var $confirm = $('.me-gift-confirm');
var verifyData = {
cardCode: '礼品卡卡号不能为空',
cardPwd: '礼品卡卡密不能为空'
};
that.postAjax('/home/meGift/activateGift', {
cardCode: $confirm.find('.card-code').val(),
cardPwd: $confirm.find('.card-pwd').val(),
verifyCode: captcha.getResults()
}, verifyData, captcha).then(function(res) {
if (res.code === 200) {
dg.close();
that.meAlert('<p>您的礼品卡激活成功</p><p>请尽情享用</p>', false);
}
});
}
}]
}).show();
captcha = new Captcha('#captcha').init();
},
// 消费明细
infoList: function(cardCode) {
var that = this;
new dialog.Dialog({
content: that.detailGiftTpl({}),
className: 'me-gift-page me-gift-confirm detail-gift-list'
}).show();
$.get('/home/megift/detail', {
cardCode: cardCode
}).then(function(res) {
if (!res) {
return false;
}
$('.detail-gift-content').html(res)
});
},
// 我的弹框
meAlert: function(content, mask) {
var dg = new dialog.Dialog({
content: content,
className: 'me-gift-alert',
mask: mask || true,
btns: [{
name: '我知道了',
btnClass: ['btn-close', 'alert-sure'],
cb: function() {
dg.close();
}
}]
}).show();
}
};
$(function() {
meGift.init();
});
... ...
... ... @@ -61,6 +61,10 @@
}
}
.me-gift-info-table {
margin-bottom: 0;
}
.me-gift-info-table .me-gift-tr div {
width: auto;
height: 40px;
... ... @@ -70,7 +74,7 @@
background: resolve("home/gift.png") no-repeat center;
background-size: 110px 132px;
width: 775px;
height: 225px;
height: 300px;
display: table-caption;
caption-side: bottom;
border: 1px solid #e6e6e6;
... ... @@ -148,6 +152,11 @@
height: 29px;
border: none;
cursor: pointer;
width: 110px;
}
.int-timer {
background-color: #b0b0b0 !important;
}
}
... ... @@ -204,7 +213,7 @@
}
.info-gift-header {
width: 100%;
width: 777px;
text-align: center;
margin: 25px 10px 30px;
font-size: 14px;
... ... @@ -241,4 +250,18 @@
margin-left: 52px;
margin-top: 0;
}
.img-check-main .img-check-tip {
top: auto;
}
.detail-gift-list {
width: 817px;
min-height: 500px;
.me-pager {
width: 758px;
margin: 0 10px;
}
}
}
... ...
.me-gift-page {
.me-gift .me-content {
min-height: 370px;
}
.tabs li.add-gift {
margin-top: -5px;
background-image: none;
background-color: #000;
float: right;
a {
color: #fff;
}
}
.me-gift-table,
.me-gift-info-table {
display: table;
width: 775px;
text-align: center;
border: 1px solid #e6e6e6;
margin: 0 10px 30px;
.me-gift-header {
display: table-row;
background-color: #efefef;
div {
height: 30px;
display: table-cell;
vertical-align: middle;
font-size: 13px;
width: 120px;
&:first-child {
width: 174px;
}
}
}
.me-gift-tr {
display: table-row;
&:first-child div {
border-top: none;
}
div {
display: table-cell;
height: 50px;
vertical-align: middle;
font-size: 13px;
border-top: 1px solid #e6e6e6;
}
div.info-list {
color: #4a90e2;
cursor: pointer;
}
}
}
.me-gift-info-table .me-gift-tr div {
width: auto;
height: 40px;
}
.cart-list-empty {
background: resolve("home/gift.png") no-repeat center;
background-size: 110px 132px;
width: 775px;
height: 300px;
display: table-caption;
caption-side: bottom;
border: 1px solid #e6e6e6;
border-top: none;
}
.refund {
color: #86bf4a;
}
.consume {
color: #d0021b;
}
}
.me-gift-alert {
width: 350px;
height: 190px;
.content {
color: #444;
padding: 55px 0;
font-size: 18px;
p {
margin-top: 10px;
}
}
}
.me-gift-confirm {
color: #444;
.title,
.info-title {
font-size: 18px;
padding-bottom: 25px;
margin: 0 20px;
}
.info-title {
border-bottom: 1px solid #e6e6e6;
}
.gift-group {
margin-top: 10px;
overflow: hidden;
}
.left {
float: left;
}
.right {
float: right;
}
.verify-input {
margin: 15px 10px;
input {
height: 30px;
line-height: 28px;
padding: 0 5px;
font-size: 14px;
color: #444;
border: 1px solid #e6e6e6;
outline: none;
box-sizing: border-box;
}
input[type=button] {
background-color: #444;
color: #fff;
height: 29px;
border: none;
cursor: pointer;
width: 110px;
}
.intTimer {
background-color: #b0b0b0 !important;
}
}
input.mobile {
width: 260px;
border-left: none;
}
.mobile-area {
width: 70px;
line-height: 30px;
height: 30px;
text-align: center;
border: 1px solid #e6e6e6;
outline: none;
box-sizing: border-box;
border-right: none;
background-color: #fff;
cursor: pointer;
}
.ul-list {
position: absolute;
width: 130px;
margin-left: -25px;
background-color: #fff;
margin-top: -3px;
border: 1px solid #e6e6e6;
display: none;
cursor: pointer;
li {
border-bottom: 1px solid #e6e6e6;
height: 30px;
line-height: 30px;
&:hover {
color: #4a90e2;
}
}
}
input.mobile-code {
width: 217px;
}
.card-code,
.card-pwd {
width: 310px;
}
.border-top-info {
border-top: 1px solid #e6e6e6;
}
.info-gift-header {
width: 777px;
text-align: center;
margin: 25px 10px 30px;
font-size: 14px;
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
td {
height: 25px;
}
.validity-time {
width: 360px;
}
}
.gift-type {
background: resolve("home/gift-filter.png") no-repeat center;
background-size: 69px 21px;
width: 69px;
height: 21px;
line-height: 21px;
display: inline-block;
cursor: pointer;
}
.gift-filter .ul-list {
width: 69px;
margin-left: 52px;
margin-top: 0;
}
.img-check-main .img-check-tip {
top: auto;
}
.detail-gift-list {
width: 817px;
min-height: 500px;
}
}
... ...