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(); $.ajax({ url: '/admin/viprecharge/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_reset',function () { $.ajax({ url: '/admin/viprecharge/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); }); $(document).on('click','.js_custom_goods_sync',function () { $.ajax({ url: '/admin/vip/admin/recharge/syncvipRecharge', type: 'POST', timeout: 35000, success: function (data) { if (data.code == 0) {//成功 layer.alert('同步成功'); } else { layer.alert('同步失败'); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { Toastr.error(XMLHttpRequest.message); }, complete: function () { } }); }) /** * 获取已选中的商品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()); } }); console.log(selectedIds) 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/viprecharge/index', data: data, type: 'POST', timeout: 35000, success: function (data) { if (data.code == 1) {//成功 var goodsList = data.data; for (i = 0; i < goodsList.length; i++) { if (goodsList[i].business_line == '0') { 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 = '