UNPKG

lixin-web

Version:

vue and bootstrap

466 lines (448 loc) 14.9 kB
var RecordList = function() { /** * 订单工具类 */ var OrderUtils = function() { var isLoading = false; var loadData = function(billno, thisContent, callback) { if(!isLoading) { isLoading = true; App.blockUI({ target: thisContent, boxed: true }); $.ajax({ type: 'post', url: '/api/game-lottery/get-order', data: {billno: billno}, timeout: 10000, dataType: 'json', success: function(response) { isLoading = false; App.unblockUI(thisContent); if(response.error == 0) { initBox(response.data, thisContent, callback); } if(response.error == 1 || response.error == 2) { App.alert('warning', '提示消息', response.message); } }, error: function() { isLoading = false; App.unblockUI(thisContent); } }); } } var initDoc = function(data) { var actions = ''; if(data.allowCancel) { actions += '<input data-id="' + data.billno + '" data-command="cancel-general" value="撤销订单" type="button" class="button">'; } else { actions = '<input value="无操作" type="button" class="button grey">'; } var formatPrizeModel = data.point > 0 ? data.code + ' + 返点' + data.point.toFixed(1) + '%' : data.code; var innerHtml = '<div class="lottery-order-details">'+ '<table class="info">'+ '<tbody>'+ '<tr>'+ '<td class="label">订单编号</td>'+ '<td class="value">' + data.billno + '</td>'+ '<td class="label">状态</td>'+ '<td class="value">' + DataFormat.formatUserBetsStatus(data.status) + '</td>'+ '</tr>'+ '<tr>'+ '<td class="label">彩种</td>'+ '<td>' + data.lottery + '</td>'+ '<td class="label">期号</td>'+ '<td>' + data.issue + '期</td>'+ '</tr>'+ '<tr>'+ '<td class="label">玩法</td>'+ '<td>' + data.method + '</td>'+ '<td class="label">注数</td>'+ '<td>' + data.nums + '注</td>'+ '</tr>'+ '<tr>'+ '<td class="label">资金模式</td>'+ '<td>' + DataFormat.formatUserBetsModel(data.model) + '</td>'+ '<td class="label">倍数</td>'+ '<td>' + data.multiple + '倍</td>'+ '</tr>'+ '<tr>'+ '<td class="label">奖金模式</td>'+ '<td>' + data.code + '</td>'+ '<td class="label">返点</td>'+ '<td>' + data.point.toFixed(1) + '%</td>'+ '</tr>'+ '<tr>'+ '<td class="label">投注金额</td>'+ '<td>¥ ' + data.money.toFixed(3) + '</td>'+ '<td class="label">中奖金额</td>'+ '<td>¥ ' + data.winMoney.toFixed(3) + '</td>'+ '</tr>'+ '<tr>'+ '<td class="label">加入时间</td>'+ '<td>' + moment(data.orderTime).format('YYYY-MM-DD HH:mm:ss') + '</td>'+ '<td class="label">截止时间</td>'+ '<td>' + moment(data.stopTime).format('YYYY-MM-DD HH:mm:ss') + '</td>'+ '</tr>'+ '<tr>'+ '<td class="label">开奖号码</td>'+ '<td colspan="3">' + (data.openCode ? data.openCode : '无') + '</td>'+ '</tr>'+ '<tr>'+ '<td class="label">投注内容</td>'+ '<td colspan="3" class="v-middle">'+ '<div class="scroller" style="height: 60px; overflow: hidden;">'+ '<div class="text-codes">' + data.content + '</div>'+ '</div>'+ '</td>'+ '</tr>'+ '</tbody>'+ '</table>'+ '<div class="button-groups">' + actions + '<input data-command="cancel" value="取消" type="button" class="button green"></div>'+ '</div>'; return innerHtml; } var initEvent = function(thisContent, callback) { $('.lottery-order-details').find('[data-command="cancel-general"]').click(function() { var id = $(this).attr('data-id'); cancelGeneral(id, thisContent, callback); }); $('.lottery-order-details').find('[data-command="cancel-chase"]').click(function() { var chaseBillno = $(this).attr('data-no'); cancelChase(chaseBillno, thisContent, callback); }); $('.lottery-order-details').find('[data-command="cancel"]').click(function() { if(box) box.close(); }); } var box; var initBox = function(data, thisContent, callback) { if(box == undefined) { var doc = initDoc(data); box = new jBox('Modal', { width: 800, height: 498, title: '订单详情', overlay: true, closeOnClick: false, blockScroll: false, animation: {open: 'zoomIn'}, closeButton: 'title', draggable: 'title', content: doc, addClass: 'common-modal grey', onInit: function() { this.open(); initEvent(thisContent, callback); App.initScroll(); }, onCloseComplete: function() { this.destroy(); box = undefined; } }); } else { box.toggle(); } } var details = function(billno, thisContent, callback) { loadData(billno, thisContent, callback); } var isCanceling = false; var doCancelOrder = function(data, thisContent, callback) { if(!isCanceling) { isCanceling = true; App.blockUI({ target: thisContent, boxed: true }); $.ajax({ type: 'post', url: '/api/game-lottery/cancel-order', data: data, timeout: 10000, dataType: 'json', success: function(response) { isCanceling = false; App.unblockUI(thisContent); if(response.error == 0) { App.alert('success', '提示消息', '操作成功,该订单已成功撤销。', 3000); if($.isFunction(callback)) callback(); } if(response.error == 1 || response.error == 2) { App.alert('warning', '提示消息', response.message); } }, error: function() { isCanceling = false; App.unblockUI(thisContent); } }); } } var cancelGeneral = function(billno, thisContent, callback) { if(box) box.close(); App.confirm('question', '确认消息', '确定要撤销该订单?', 0, '确定', '取消', function() { var data = {billno: billno}; doCancelOrder(data, thisContent, callback); }); } var cancelChase = function(chaseBillno, thisContent, callback) { if(box) box.close(); App.confirm('question', '确认消息', '确定要撤销该追号订单?', 0, '确定', '取消', function() { var data = {type: 'chase', chaseBillno: chaseBillno}; doCancelOrder(data, thisContent, callback); }); } return {details: details, cancelGeneral: cancelGeneral, cancelChase: cancelChase} }(); var initNotOpenOrder = function() { var thisContent = els().find('[data-content="NotOpenOrder"]'); var thisResultTable = thisContent.find('.result > table'); thisContent.show(); var getSearchParams = function() { var sTime = moment().format('YYYY-MM-DD'); var eTime = moment().add(1, 'days').format('YYYY-MM-DD'); return {sTime: sTime, eTime: eTime, status: 0}; } var isSearching = false; var pagination = $.pagination({ render: thisContent.find('.page-list'), pageSize: 5, ajaxType: 'post', ajaxUrl: '/api/game-lottery/search-order', ajaxData: getSearchParams, beforeSend: function() { isSearching = true; App.blockUI({ target: thisContent, boxed: true }); }, complete: function() { isSearching = false; App.unblockUI(thisContent); }, success: function(list) { thisResultTable.find('tbody').empty(); $.each(list, function(i, val) { var actions = '无操作'; if(val.allowCancel) { actions = '<a data-command="cancel">撤单</a>'; } var innerHtml = '<tr data-billno="' + val.billno + '">'+ '<td><a data-command="details">' + val.billno.substr(16) + '</a></td>'+ '<td>' + val.lottery + '</td>'+ '<td>' + val.method + '</td>'+ '<td>' + val.issue + '</td>'+ '<td>' + moment(val.orderTime).format('YYYY-MM-DD HH:mm:ss') + '</td>'+ '<td>¥ ' + val.money.toFixed(3) + '</td>'+ '<td>¥ ' + (val.winMoney ? val.winMoney : 0).toFixed(3) + '</td>'+ '<td>' + DataFormat.formatUserBetsStatus(val.status) + '</td>'+ '<td>' + actions + '</td>'+ '</tr>'; thisResultTable.find('tbody').append(innerHtml); }); thisResultTable.find('a[data-command="details"]').click(function() { var billno = $(this).parents('tr').attr('data-billno'); OrderUtils.details(billno, thisContent, function() { pagination.reload(); }); }); thisResultTable.find('a[data-command="cancel"]').click(function() { var billno = $(this).parents('tr').attr('data-billno'); OrderUtils.cancelGeneral(billno, thisContent, function() { pagination.reload(); }); }); }, pageError: function(response) { isSearching = false; }, emptyData: function() { isSearching = false; var emptyHtml = '<tr class="nodata"><td colspan="20">当前没有未开奖订单</td></tr>'; thisResultTable.find('tbody').html(emptyHtml); } }); // 初始化 pagination.init(); } var initHistoryOrder = function() { var thisContent = els().find('[data-content="HistoryOrder"]'); var thisResultTable = thisContent.find('.result > table'); thisContent.show(); var getSearchParams = function() { var sTime = moment().format('YYYY-MM-DD'); var eTime = moment().add(1, 'days').format('YYYY-MM-DD'); return {sTime: sTime, eTime: eTime}; } var isSearching = false; var pagination = $.pagination({ render: thisContent.find('.page-list'), pageSize: 5, ajaxType: 'post', ajaxUrl: '/api/game-lottery/search-order', ajaxData: getSearchParams, beforeSend: function() { isSearching = true; App.blockUI({ target: thisContent, boxed: true }); }, complete: function() { isSearching = false; App.unblockUI(thisContent); }, success: function(list) { thisResultTable.find('tbody').empty(); $.each(list, function(i, val) { var actions = '无操作'; if(val.allowCancel) { actions = '<a data-command="cancel">撤单</a>'; } var innerHtml = '<tr data-billno="' + val.billno + '">'+ '<td><a data-command="details">' + val.billno.substr(16) + '</a></td>'+ '<td>' + val.lottery + '</td>'+ '<td>' + val.method + '</td>'+ '<td>' + val.issue + '</td>'+ '<td>' + moment(val.orderTime).format('YYYY-MM-DD HH:mm:ss') + '</td>'+ '<td>¥ ' + val.money.toFixed(3) + '</td>'+ '<td>¥ ' + (val.winMoney ? val.winMoney : 0).toFixed(3) + '</td>'+ '<td>' + DataFormat.formatUserBetsStatus(val.status) + '</td>'+ '<td>' + actions + '</td>'+ '</tr>'; thisResultTable.find('tbody').append(innerHtml); }); thisResultTable.find('a[data-command="details"]').click(function() { var billno = $(this).parents('tr').attr('data-billno'); OrderUtils.details(billno, thisContent, function() { pagination.reload(); }); }); thisResultTable.find('a[data-command="cancel"]').click(function() { var billno = $(this).parents('tr').attr('data-billno'); OrderUtils.cancelGeneral(billno, thisContent, function() { pagination.reload(); }); }); }, pageError: function(response) { isSearching = false; }, emptyData: function() { isSearching = false; var emptyHtml = '<tr class="nodata"><td colspan="20">当前没有历史投注记录</td></tr>'; thisResultTable.find('tbody').html(emptyHtml); } }); // 初始化 pagination.init(); } var initChaseOrder = function() { var thisContent = els().find('[data-content="ChaseOrder"]'); var thisResultTable = thisContent.find('.result > table'); thisContent.show(); var getSearchParams = function() { var sTime = moment().format('YYYY-MM-DD'); var eTime = moment().add(1, 'days').format('YYYY-MM-DD'); return {sTime: sTime, eTime: eTime}; } var isSearching = false; var pagination = $.pagination({ render: thisContent.find('.page-list'), pageSize: 5, ajaxType: 'post', ajaxUrl: '/api/game-lottery/search-chase', ajaxData: getSearchParams, beforeSend: function() { isSearching = true; App.blockUI({ target: thisContent, boxed: true }); }, complete: function() { isSearching = false; App.unblockUI(thisContent); }, success: function(list) { thisResultTable.find('tbody').empty(); $.each(list, function(i, val) { var actions = '无操作'; var innerHtml = '<tr data-id="' + val.id + '">'+ '<td><a data-command="details">' + val.billno.substring(16) + '</a></td>'+ '<td>' + val.lottery + '</td>'+ '<td>' + val.method + '</td>'+ '<td>' + val.startIssue + '</td>'+ '<td>' + val.clearCount + '/' + val.totalCount + '</td>'+ '<td>¥ ' + val.totalMoney.toFixed(3) + '</td>'+ '<td>¥ ' + val.winMoney.toFixed(3) + '</td>'+ '<td>' + DataFormat.formatUserChaseStatus(val.status) + '</td>'+ '<td>' + actions + '</td>'+ '</tr>'; thisResultTable.find('tbody').append(innerHtml); }); /*thisResultTable.find('a[data-command="details"]').click(function() { var id = $(this).parents('tr').attr('data-id'); OrderUtils.details(id, thisContent, function() { pagination.reload(); }); }); thisResultTable.find('a[data-command="cancel"]').click(function() { var id = $(this).parents('tr').attr('data-id'); OrderUtils.cancelGeneral(id, thisContent, function() { pagination.reload(); }); });*/ }, pageError: function(response) { isSearching = false; }, emptyData: function() { isSearching = false; var emptyHtml = '<tr class="nodata"><td colspan="20">当前没有追号记录</td></tr>'; thisResultTable.find('tbody').html(emptyHtml); } }); // 初始化 pagination.init(); } var els = function() { return $('.record-list'); } $(document).ready(function() { els().find('.tabs > a').click(function() { if(!$(this).hasClass('active')) { els().find('.tabs > a').removeClass('active'); $(this).addClass('active'); els().find('.panels > .content').hide(); init(); } }); }); var init = function() { return; var key = els().find('.tabs > a.active').attr('data-key'); if(key == 'NotOpenOrder') { initNotOpenOrder(); } if(key == 'HistoryOrder') { initHistoryOrder(); } if(key == 'ChaseOrder') { initChaseOrder(); } } return { init: init } }();