returns-detail.js 2.26 KB
/**
 * 退换货详情
 * @author: yyqing<yanqing.yang@yoho.cn>
 * @date: 2016/2/26
 */

var $ = require('yoho.jquery');

var $returnState = $('.visual-return-state li'),
    $detail = $('.detail-container'),
    $courierCode = $('.courier-code'),
    $expressCompany = $('#express-company'),
    $expressNumber = $('#express-number'),
    $expressViewBox = $('.express-view-box > span');

var returnId = $('#return-id').val(),
    expId = $('#express-old-id').val(),
    expNumber = $expressNumber.val(),
    expCompany = '',
    expList = {},
    isChange = false;

function syncExpressInfo() {
    expCompany = expList[expId] ? expList[expId] : '';
    $expressViewBox.html(expCompany + ' 快递单号:' + expNumber);
    $expressCompany.val(expId);
    $expressNumber.val(expNumber);
}

function validateExpress() {
    var send = {};

    send.number = $expressNumber.val();
    send.id = $expressCompany.val() * 1;

    if (!send.id) {
        alert('请选择快递公司');
    } else if (!send.number) {
        alert('请填入快递单号');
    } else {
        return send;
    }

    return false;
}

function sendExpressCode() {
    var sendParm = validateExpress();

    if (!sendParm) {
        return;
    }

    $.ajax({
        type: 'POST',
        url: '/home/returns/setExpressNumber',
        data: {
            id: returnId,
            isChange: isChange,
            expressId: sendParm.id,
            expressNumber: sendParm.number,
            expressCompany: expList[sendParm.id]
        }
    }).then(function(jsonData) {
        if (jsonData.code === 200) {
            expId = sendParm.id;
            expNumber = sendParm.number;
            $returnState.eq(2).addClass('act');
        } else {
            alert(jsonData.message);
        }
        syncExpressInfo();
        $courierCode.removeClass('in-edit');
    });
}

if ($detail.parent().hasClass('exchange-detail')) {
    isChange = true;
}

$expressCompany.val(expId);

$detail.find('.company-list').each(function() {
    var data = $(this).data();

    expList[data.id] = data.name;
});

$('#modify').click(function() {
    $courierCode.addClass('in-edit');
});

$('#submit-btn').click(function() {
    sendExpressCode();
});