|
|
/**
|
|
|
* 发票信息
|
|
|
* @author: wsl<shuiling.wang@yoho.cn>
|
|
|
* @date: 2016/6/14
|
|
|
*/
|
|
|
|
|
|
var $ = require('yoho-jquery'),
|
|
|
tip = require('../plugin/tip'),
|
|
|
dialog = require('../plugin/dialog'),
|
|
|
order = require('./order-info');
|
|
|
|
|
|
var $invoiceNotice = $('.invoice-notice'),
|
|
|
$companyArea = $('.company-area'),
|
|
|
$editFlag = $('.edit-flag'),
|
|
|
$chooseCont = $('.choose-cont'),
|
|
|
$invoiceType = $('.invoice-type'),
|
|
|
$tel = $('.tel'),
|
|
|
$company = $('.company'),
|
|
|
$telArea = $('.tel-area'),
|
|
|
orderInfo = order.orderInfo,
|
|
|
$chooseContLi = $('.invoice-cont').find('.icon-cb-radio').parent(),
|
|
|
$copyTel = $('.copy-tel'),
|
|
|
isModifyTel = false;
|
|
|
|
|
|
var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/,
|
|
|
linkUrl = $('.address-more').val() || '/cart/index/orderEnsure?cartType=ordinary';
|
|
|
|
|
|
var C_ID = window._ChannelVary[window.cookie('_Channel')] || 1;
|
|
|
|
|
|
require('../common');
|
|
|
|
|
|
if (window.getUid() !== orderInfo('uid')) {
|
|
|
order.init();
|
|
|
window.location.reload();
|
|
|
}
|
|
|
|
|
|
// 单选效果
|
|
|
function chooseAction(pDom, dom) {
|
|
|
if (dom.hasClass('icon-cb-radio')) {
|
|
|
return;
|
|
|
} else {
|
|
|
pDom.find('.choose').removeClass('icon-cb-radio icon-radio').addClass('icon-radio');
|
|
|
dom.removeClass('icon-radio').addClass('icon-cb-radio');
|
|
|
dom.parent().addClass('on');
|
|
|
dom.parent().siblings().removeClass('on');
|
|
|
$editFlag.val('true');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 确认表单事件
|
|
|
function confirmAction() {
|
|
|
var type = $invoiceType.find('.on').data('id'),
|
|
|
title = $('.invoice-top').find('.on').text(),
|
|
|
tel = $tel.attr('data-tel'),
|
|
|
company = $company.val(),
|
|
|
cont = $chooseCont.data('id');
|
|
|
|
|
|
if ($editFlag.val() === 'true') {
|
|
|
if (type === 2 && !myreg.test($tel.attr('data-tel'))) {
|
|
|
tip.show('请输入正确手机号');
|
|
|
$tel.focus();
|
|
|
return false;
|
|
|
} else if (title === '单位' && company.length === 0) {
|
|
|
tip.show('请填写发票抬头');
|
|
|
$company.focus();
|
|
|
return false;
|
|
|
} else if (title === '单位' && company.length > 30) {
|
|
|
tip.show('发票抬头不得超过30个汉字');
|
|
|
$company.focus();
|
|
|
return false;
|
|
|
} else {
|
|
|
dialog.showDialog({
|
|
|
dialogText: '确认保存修改内容?',
|
|
|
hasFooter: {
|
|
|
leftBtnText: '取消',
|
|
|
rightBtnText: '确定'
|
|
|
}
|
|
|
}, function() {
|
|
|
orderInfo('invoiceText', (title === '单位' ? company : ''));
|
|
|
orderInfo('invoiceType', cont);
|
|
|
orderInfo('receiverMobile', tel);
|
|
|
orderInfo('invoicesType', type);
|
|
|
orderInfo('invoiceTitle', title);
|
|
|
|
|
|
if (isModifyTel && $copyTel !== tel) {
|
|
|
orderInfo('isModifyTel', true);
|
|
|
} else {
|
|
|
orderInfo('isModifyTel', false);
|
|
|
}
|
|
|
|
|
|
dialog.showDialog({
|
|
|
dialogText: '保存成功',
|
|
|
autoHide: true,
|
|
|
fast: true
|
|
|
});
|
|
|
window.location.href = linkUrl;
|
|
|
}, function() {
|
|
|
window.location.href = linkUrl;
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
window.location.href = linkUrl;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$chooseCont.html($chooseContLi.text()).attr('data-id', $chooseContLi.find('span').data('id'));
|
|
|
|
|
|
// 发票抬头、发票内容选择
|
|
|
$('.invoice-top span, .invoice-cont li').not('.invoice-cont .cont-title').on('touchstart', function() {
|
|
|
chooseAction($(this).parent(), $(this).find('.choose'));
|
|
|
|
|
|
if ($(this).parent().hasClass('invoice-cont')) {
|
|
|
$chooseCont.html($(this).text()).attr('data-id', $(this).find('span').data('id'));
|
|
|
}
|
|
|
|
|
|
if ($(this).text() === '单位') {
|
|
|
$companyArea.slideDown();
|
|
|
}
|
|
|
|
|
|
if ($(this).text() === '个人') {
|
|
|
$companyArea.slideUp();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
// 发票类型选择
|
|
|
$('.invoice-type span').on('touchstart', function() {
|
|
|
if ($(this).hasClass('on')) {
|
|
|
return;
|
|
|
} else {
|
|
|
$(this).addClass('on').siblings().removeClass('on');
|
|
|
$editFlag.val('true');
|
|
|
|
|
|
// 纸质发票不显示手机号
|
|
|
if ($(this).index() === 1) {
|
|
|
$telArea.slideUp();
|
|
|
} else {
|
|
|
$telArea.slideDown();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
// 发票须知
|
|
|
$('.invoice-btn').on('touchstart', function() {
|
|
|
$invoiceNotice.fadeIn();
|
|
|
return false;
|
|
|
});
|
|
|
|
|
|
// 关闭发票须知弹框
|
|
|
$('.think-ok, .mask-bg').on('touchstart', function() {
|
|
|
$invoiceNotice.fadeOut();
|
|
|
});
|
|
|
|
|
|
// 电话清空
|
|
|
$('.istel').one('input', function() {
|
|
|
$(this).val('').removeClass('istel');
|
|
|
});
|
|
|
|
|
|
$tel.on('input', function() {
|
|
|
$(this).attr('data-tel', $(this).val());
|
|
|
$editFlag.val('true');
|
|
|
isModifyTel = true;
|
|
|
});
|
|
|
|
|
|
$company.on('input', function() {
|
|
|
$editFlag.val('true');
|
|
|
});
|
|
|
|
|
|
// 确认及返回事件
|
|
|
$('.confirm-btn, .nav-back').on('touchstart', function(e) {
|
|
|
|
|
|
setTimeout(function() {
|
|
|
if (window._yas && window._yas.sendCustomInfo) {
|
|
|
window._yas.sendCustomInfo({
|
|
|
op: 'YB_SC_INVOICE_INFO_SAVE',
|
|
|
param: JSON.stringify({
|
|
|
C_ID: C_ID,
|
|
|
INVOICE_TYPE: $invoiceType.find('.on').data('id'),
|
|
|
INVOICE_TITLE: $('.invoice-top').find('.on').text(),
|
|
|
INVOICE_CONTENT: $chooseCont.data('id')
|
|
|
})
|
|
|
}, true);
|
|
|
}
|
|
|
}, 200);
|
|
|
|
|
|
e.preventDefault();
|
|
|
confirmAction();
|
|
|
});
|
|
|
|
|
|
// initData(); |
...
|
...
|
|