lixin-web
Version:
vue and bootstrap
466 lines (448 loc) • 14.9 kB
JavaScript
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
}
}();