returns-change.page.js 2.26 KB
var colorTpl = require('../../tpl/me/color-list.hbs');
var sizeTpl = require('../../tpl/me/size-list.hbs');

// var scope = {
//     1: {
//         min: true,
//         do: function() {
//             console.log('min');
//         }
//     }
// }

function renderList(data) {
    var cTpl;
    var sTpl;
    var $c = $('.group.color');
    var $s = $('.group.size');

    if (data) {
        cTpl = colorTpl(data);
        sTpl = sizeTpl(data);
        $c.append(cTpl);
        $s.append(sTpl);
    }
}

function bindColorEvent() {
    $('.color-list img').on('click', function() {
        var $this = $(this);
        var $sizeList = $('.size-list');
        var index = $this.data('index');
        var colorId = $this.data('color');
        var colorText = $this.attr('alt');
        var $c = $('.group.color .color-text');

        $c.text(colorText);
        $c.attr('data-color', colorId);


        $sizeList.removeClass('hide');
        $sizeList.addClass('hide');

        $sizeList.eq(index).removeClass('hide');
    });
}

function initSizeId() {
    var s = $('.size-list:not("hide")').find('span').eq(0).data('size');

    $('.group.size .size-text').eq(0).attr('data-size', s);
}

function bindSizeEvent() {
    $('.size-list span').on('click', function() {
        var $this = $(this);
        var s = $this.text();
        var id = $this.data('size');
        var $s = $('.group.size .size-text');

        $s.text(s);
        $s.attr('data-size', id);
    });
}

// function bindNumberEvent() {
//     $('.number .minus').on('click', function() {
//         var val = $('.number .value').text();
//
//         if (scope[val].min) {
//             scope[val].do();
//         }
//     });
// }

function getProductInfo() {
    var $el = $('.goods-container');
    var id = $el.data('id');
    var skn = $el.data('skn');

    if (id && skn) {
        $.ajax({
            url: '/me/return/getProductInfo',
            data: {
                productId: id,
                productSkn: skn
            }
        }).done(function(result) {
            console.log(result);
            if (result.code === 200) {
                renderList(result.data);
                initSizeId();
                bindColorEvent();
                bindSizeEvent();
            }
        });
    }
}

getProductInfo();