define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var max_goods_count = 6;
$(document).on('click', '.js_add_goods', function () {
selectedIds = getSelectedIds();
if (selectedIds.length >= max_goods_count) {
Layer.alert('最多可以选择' + max_goods_count + '个商品');
return false;
}
_goodsSelectUrl = getGoodsSelectUrl();
Fast.api.open(_goodsSelectUrl, '选择商品', {
callback: function (data) {
createGoodsItem(data[0]);
}
})
});
$(document).on('click', '.js_edit', function (e) {
$editBtn = $(this);
_goodsSelectUrl = getGoodsSelectUrl();
Fast.api.open(_goodsSelectUrl, '选择商品', {
callback: function (data) {
var goodsItem = data[0];
htmlstr = formatGoodsItem(goodsItem);
$editBtn.parents('.js_goods_item').html(htmlstr);
}
})
});
$(document).on('click', '.js_del', function () {
$delBtn = $(this);
layer.confirm('您确认移除商品吗?', {title: "移除商品"}, function (index) {
layer.close(index);
$delBtn.parents('.js_goods_item').remove();
});
});
$(document).on('click', '.js_custom_goods_submit', function () {
var data = $('.js_form_custom_goods').serialize();
data += '&group_ids='+getGroupList();
$.ajax({
url: '/admin/vip/admin/recharge/index',
data: data,
type: 'POST',
timeout: 35000,
success: function (data) {
if (data.code == 1) {//成功
Toastr.success(data.msg);
} else {
Toastr.error(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
Toastr.error(XMLHttpRequest.message);
},
complete: function () {
}
});
});
$(document).on('click','.js_custom_goods_copy',function () {
$.ajax({
url: '/admin/vip/admin/recharge/copyGoods',
data: null,
type: 'POST',
timeout: 35000,
success:function(data){
if (data.code == 1) {//成功
Toastr.success(data.msg);
} else {
Toastr.error(data.msg);
}
}
});
})
$(document).on('change','.copy-type',function () {
var group_type = $(this).val();
switch (group_type) {
case "1":
$('.group-content').hide();
break;
case "2":
$('.group-content').show();
break;
default:
break;
}
})
$(document).on('click','.group-btn',function () {
var groupIds = '';
groupIds = getGroupList();
var url = '/admin/vip/admin/group/select?not_in_ids='+groupIds;
Fast.api.open(url,'选择分组',{callback:function (data) {
var str = '';
for (var i in data) {
str +='
'+data[i]['id']+' | '+data[i]['name']+' | '+data[i]['create_time']+' | '+data[i]['update_time']+' | 删除 |
';
}
$('.group-content table').append(str);
}});
});
$(document).on('click','.group-del',function(){
$(this).parent().remove();
});
$(document).on('click','.js_custom_goods_reset',function () {
$.ajax({
url: '/admin/vip/admin/recharge/reset',
data: null,
type: 'POST',
timeout: 35000,
success: function (data) {
if (data.code == 1) {//成功
Toastr.success(data.msg);
$('.js_goods_item').each(function (i, e) {
var cc = $(e).hasClass('js_add_goods_item');
if (!cc) {
e.remove();
}
});
initGoodsList(data.data);
} else {
Toastr.error(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
Toastr.error(XMLHttpRequest.message);
},
complete: function () {
}
});
});
//已充值/未充值tab切换
$(document).on('click','#goods-list-tabs li',function () {
//清除原有的充值列表节点
$('.js_goods_list li').each(function () {
if(!$(this).hasClass('js_add_goods_item')){
$(this).remove();
}
});
customGoodsListStr = Config.customGoodsList;
customGoodsList = JSON.parse(customGoodsListStr);
initGoodsList(customGoodsList);
});
/**
* 获取关联的用户分组IDS
* @returns {string}
*/
function getGroupList() {
var groupIds = '';
var obj = $('.group-content table tr.group-list');
obj.each(function (index,value) {
groupIds += value.dataset.id+',';
})
return groupIds;
}
/**
* 获取已选中的商品id
* @returns {Array}
*/
function getSelectedIds() {
// formValueList = $('form').serializeArray();
// selectedIds = [];
// for (var i = 0; i < formValueList.length; i++) {
// var item = formValueList[i];
// if (item.name == 'row[goods_id][]') {
// selectedIds.push(item.value);
// }
// }
selectedIds = [];
$('form li').each(function (i) {
if(!$(this).hasClass('hide') && $(this).find('input').val()){
selectedIds.push($(this).find('input').val());
}
});
return selectedIds;
}
/**
* 获取商品选择框的加载列表的API地址
* @returns {string}
*/
function getGoodsSelectUrl() {
selectedIds = getSelectedIds();
var show_type = getShowTypeValue();
goodsSelectUrl = 'goods/select?business_line=0&recharge_show_type='+show_type;
if (selectedIds.length > 0) {
goodsSelectUrl += '&selected_ids=' + selectedIds.join('_');
}
return goodsSelectUrl;
}
/**
* 初始化商品列表
* @param list
*/
function initGoodsList(list) {
var data = {'row':{'fun':'get_custom_goods_list'}};
$.ajax({
url: '/admin/vip/admin/recharge/index',
data: data,
type: 'POST',
timeout: 35000,
success: function (data) {
if (data.code == 1) {//成功
var goodsList = data.data;
console.log(goodsList);
console.log(goodsList.length);
$.each(goodsList,function (i,n) {
createGoodsItem(n);
})
// for (i = 0; i < goodsList.length; i++) {
// console.log(goodsList[i]);
// if (goodsList[i].business_line == '0') {
// console.log(1);
// createGoodsItem(goodsList[i]);
// }
// }
} else {
Toastr.error(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
Toastr.error(XMLHttpRequest.message);
},
complete: function () {
}
});
}
/**
* 格式化商品单元格
* @param goodsItem 商品对象
* @returns {string}
*/
function formatGoodsItem(goodsItem,hide) {
var checked = goodsItem.default == '1' ? 'checked' : '';
var htmlstr =
'' +
'
' +
'
' + goodsItem.icon + '
' +
'
' + goodsItem.show_type_text + '
' +
'
' + goodsItem.title + '
' +
'
' +
'' + goodsItem.first_description + '' +
'' + goodsItem.second_description + '' +
'
' +
'' +
'
用户默认勾选'+
'
' +
'
' +
'
'
;
return htmlstr;
}
/**
* 创建商品
* @param goodsItem
*/
function createGoodsItem(goodsItem) {
var show_type = getShowTypeValue();
console.log(goodsItem);
//已充值用户(全部用户/已充值用户/新用户/老用户)
if(show_type == -1 && goodsItem.show_type == 2){
htmlstr = formatGoodsItem(goodsItem,'hidden');
htmlstr = '' + htmlstr + '';
$('.js_add_goods_item').before(htmlstr);
return;
}
//未充值用户(全部用户/未充值用户/新用户/老用户)
else if(show_type == -2 && goodsItem.show_type == 1){
htmlstr = formatGoodsItem(goodsItem,'hidden');
htmlstr = '' + htmlstr + '';
$('.js_add_goods_item').before(htmlstr);
return;
}
else{
htmlstr = formatGoodsItem(goodsItem,'');
htmlstr = '' + htmlstr + '';
$('.js_add_goods_item').before(htmlstr);
return;
}
}
/**
* 获取当前tab标签选中value
* @return (-1:已充值用户/-2:未充值用户)
*/
function getShowTypeValue(){
var show_type = -1;
$("#goods-list-tabs li").each(function (obj) {
if($(this).hasClass("active")){
show_type = $(this).attr("data-value");
return false;
}
});
return show_type;
}
$(document).delegate('.js_move', 'click', function () {
$(this).closest('.js_goods_item').addClass('js_goods_border');
if ($('.js_goods_border').length == 2) {
var list = $('.js_goods_item').toArray();
var from = $('.js_goods_border').eq(0).index();
var to = $('.js_goods_border').eq(1).index();
var vfrom = list[from]
var vto = list[to]
list.splice(from,1,vto);
list.splice(to,1,vfrom);
$('.js_goods_list').html(list);
$('.js_goods_border').removeClass('js_goods_border');
}
})
// $(document).delegate('.js_goods_item', 'drop', function(event){
// var list = $('.js_goods_item').toArray();
// var to = $(event.currentTarget).index();
// var from = event.originalEvent.dataTransfer.getData("index");
// var vfrom = list[from]
// var vto = list[to]
// list.splice(from,1,vto);
// list.splice(to,1,vfrom);
// $('.js_goods_list').html(list);
// })
customGoodsListStr = Config.customGoodsList;
customGoodsList = JSON.parse(customGoodsListStr);
console.log(customGoodsList);
initGoodsList(customGoodsList);
var Controller = {
index: function () {
}
};
return Controller;
});