lixin-web
Version:
vue and bootstrap
1,150 lines (1,102 loc) • 134 kB
JavaScript
var searchButton ='<button type="button" data-loading-text="search..." class="btn btn-platform w-search"><i class="fa fa-search"></i>搜索</button>'
//============这里放置的是各种各种各种各种各种各种各种各种各种各种各种各种表格列表=============
var formatters={
time:function(value){
return moment(value).format('YYYY-MM-DD HH:mm:ss')
},
money:function(value){
return (value-0).toFixed(3)
},
color:function(value){
var clz = 'di text-green';
var clr = 'di text-red';
var cly = 'di text-yellow';
if(value-0>0){
return '<span class="'+clz+'">'+(value-0).toFixed(3)+'</span>';
}else if(value-0==0){
return '<span>'+(value-0).toFixed(3)+'</span>';
}else if(value-0<0){
return '<span class="'+clr+'">'+(value-0).toFixed(3)+'</span>';
}
},
}
var extend = function(option){
var defaults = {
responseHandler:function(res){
var tableData = {
rows:(!res.data?[]:res.data.list),
total:(!res.data?0:res.data.totalCount)
}
return tableData;
},
sidePagination:'server',
pagination:true,
queryParamsType:'limit',
locale:'zh-CN',
// cardView:true,
// detailView:true,
toolbar:'#toolbar',
// showToggle:true,
mobileResponsive:true,
// search:true,
detailFormatter:function(){
return 'fuck'
},
method:'post',
contentType:"application/x-www-form-urlencoded",
queryParams:queryParams,
formatLoadingMessage: function(){
return '<img src="/img/loading_spinner.gif" />';
},
// striped:true,
// onSearch:function(){
// Will.blockUI();
// },
onLoadSuccess:function(){
Will.unblockUI()
},onLoadError:function(){
Will.unblockUI()
}
}
return $.extend(defaults,option);
}
function queryParams(params) {
var $injection = $('[data-injection="'+this.injection+'"]');
if(!$injection.length && !this.unlazy ) {
var bootstrapTable = this.toolbar.parents('.bootstrap-table') ;
bootstrapTable.find('.no-records-found td').text('请点击搜索按钮搜索!');
return false;
}
Will.blockUI();
var finder = $injection.parents('.bootstrap-table');
finder.find('input[name],select').each(function () {
params[$(this).attr('name')] = $(this).val().trim();
});
var $time = finder.find('input[name="time"]');
var time = $time.val();
if(time){
if($time.hasClass('report-game-lottery')){
params.sDate = time.split(' 至 ')[0];
params.eDate = time.split(' 至 ')[1];
}else{
params.sTime = time.split(' 至 ')[0];
params.eTime = time.split(' 至 ')[1];
}
}
var btime = finder.find('select[name="time"]').val();
if('7days' == btime) {
params.sTime = moment().subtract(7, 'days').format('YYYY-MM-DD');
}
if('1months' == btime) {
params.sTime = moment().subtract(1, 'months').format('YYYY-MM-DD');
}
if('3months' == btime) {
params.sTime = moment().subtract(3, 'months').format('YYYY-MM-DD');
}
if('6months' == btime) {
params.sTime = moment().subtract(6, 'months').format('YYYY-MM-DD');
}
if('earlier' == btime) {
params.eTime = moment().subtract(6, 'months').format('YYYY-MM-DD');
}
// History.pushState({id:this.injection,params:params}, "State 1", "?"+Math.random());
return params;
}
var refresh = function($child){
$child.parents('.bootstrap-table').find('table').eq(1).data()['bootstrap.table'].refresh();
}
var getToolbar = function($child){
return $child.parents('.bootstrap-table').find('.fixed-table-toolbar');
}
var setParam = function(map){
$.each(map,function(){
});
}
var initSearch = function($search){
// $search.find('select').dropkick({theme: Constant.dropkickColor,width:Constant.dropkickWidth});
$search.find('.w-search').click(function () {
// $(this).button('loading');
$(this).parents('.bootstrap-table').find('table').eq(1).data()['bootstrap.table'].refresh();
// $('[data-injection="lottery-record"]').bootstrapTable('refresh');
});
if($search.find('select[name="lottery"]').size()){
Will.ajax({},'/api/game-lottery/static-info', function(list,response){
var lottery = $search.find('select[name="lottery"]');
$.each(list, function(i, val) {
lottery.append('<option value="' + val.shortName + '">' + val.showName + '</option>');
});
});
}
if (AppData.getLotteryAccount() && AppData.getLotteryAccount().isDividendAccount) {
$search.find('select[name="type"]').append('<option value="1500">分红</option>');
}
initDatePicker($search);
return $search;
}
//个人游戏记录列表
var lotteryListTable = function(){
var detailView = 1;
$html = $('<div><table data-injection="lottery-record"></table></div>');
$html.find('[data-injection="lottery-record"]').bootstrapTable(extend({
url:'/api/game-lottery/search-order',
toolbar:initSearch($('<div class="form-inline">\
<label>游戏类别:</label>\
<select name="lottery" class="form-control input" id="ioaf">\
<option value="" selected="selected">全部游戏</option>\
</select>\
<label>订单状态:</label>\
<select name="status" class="form-control input" id="asdsb">\
<option value="" selected="selected">全部状态</option>\
<option value="0">未开奖</option>\
<option value="1">未中奖</option>\
<option value="2">已中奖</option>\
<option value="-1">已撤单</option>\
</select>\
<label>期号:</label>\
<input name="issue" type="text" class="form-control input" placeholder="期号">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'
+searchButton+
'</div>')),
columns: [
{title: "订单号",field: "billno",formatter:function(value){
var actions = value.substring(16)+' <a class="detail visible-xs-inline-block" href="javascript:void(0)" title="detail">订单详细</a>';
if(!detailView) actions = '<a class="detail" href="javascript:void(0)" title="detail">'+value.substring(16)+'</a>';
return actions;
},events:{'click .detail': function (e, value, row, index) {
PopOrder.orderDetail(value);
}}},
{title: "彩种",field: "lottery"},
{title: "玩法",field: "method"},
{title: "期号",field: "issue"},
{title: "下单时间",field: "orderTime",formatter:formatters.time},
{title: "投注金额",field: "money",formatter:formatters.money},
{title: "奖金",field: "winMoney",formatter:function(val,row){
var clz = '';
if(row.status == 0) clz = 'di text-default';
if(row.status == 1) clz = 'di text-danger';
if(row.status == 2) clz = 'di text-success';
if(row.status == -1) clz = 'di text-primary';
return '<b class="'+clz+'">'+val.toFixed(3)+'</b>';
}},
{title: "状态",field: "status",formatter:function(val){
var clz = '';
if(val == 0) clz = 'di label label-default';
if(val == 1) clz = 'di label label-danger';
if(val == 2) clz = 'di label label-success';
if(val == -1) clz = 'di label label-primary';
return '<span class="'+clz+'">'+DataFormat.formatUserBetsStatus(val)+'</span>';
}},
{title: "操作",field: "allowCancel",formatter:function actionFormatter(value) {
var actions = '无操作';
if(value) {
actions = '<a class="cancel" href="javascript:void(0)" title="cancel">\
<i></i>撤单\
</a>';
}
return actions;
},events:{'click .cancel': function (e, value, row, index) {
PopOrder.cancelGeneral(row.billno,function(){
$('[data-injection="lottery-record"]').bootstrapTable('refresh');
});
}}},
],detailFormatter:function(index, row, element) {
Will.ajax({billno:row.billno},'/api/game-lottery/get-order', function(data){
element.html(PopOrder.orderMessage(data));
});
},detailView:detailView
}));
return $html;
};
//个人追号记录列表
var chaseListTable = function(){
var detailView = 1;
$html = $('<div><table data-injection="chase-record"></table></div>');
$html.find('[data-injection="chase-record"]').bootstrapTable(extend({
url:'/api/game-lottery/search-chase',
toolbar:initSearch($('<div class="form-inline">\
<label>游戏类别:</label>\
<select name="lottery" class="form-control input" id="ioaf">\
<option value="" selected="selected">全部游戏</option>\
</select>\
<label>订单状态:</label>\
<select name="status" class="form-control input" id="asdsb">\
<option value="" selected="selected">全部状态</option>\
<option value="0">未开始</option>\
<option value="1">进行中</option\
<option value="2">已完成</option>\
<option value="-1">已撤单</option>\
</select>\
<label>开始期号:</label>\
<input name="issue" type="text" class="form-control input" placeholder="期号">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "订单号",field: "billno",formatter:function(value){
var actions = value.substring(16)+' <a class="detail visible-xs-inline-block" href="javascript:void(0)" title="detail">追号详细</a>';
if(!detailView) actions = '<a class="detail" href="javascript:void(0)" title="detail">'+value.substring(16)+'</a>';
return actions;
},events:{'click .detail': function (e, value, row, index) {
PopOrder.chaseDetail(value);
}}},
{title: "彩种",field: "lottery"},
{title: "玩法",field: "method"},
{title: "开始期号",field: "startIssue"},
{title: "已追/总期数",field: "clearCount",formatter:function (val, row) {
return row.clearCount + '/' + row.totalCount;
}},
{title: "总金额",field: "totalMoney",formatter:formatters.color},
{title: "总奖金",field: "winMoney",formatter:function(val,row){
var clz = '';
if(row.status == 0) clz = 'di text-default';
if(row.status == 1) clz = 'di text-danger';
if(row.status == 2) clz = 'di text-success';
if(row.status == -1) clz = 'di text-primary';
return '<b class="'+clz+'">'+val.toFixed(3)+'</b>';
}},
{title: "状态",field: "status",formatter:function(val){
var clz = '';
if(val == 0) clz = 'di label label-default';
if(val == 1) clz = 'di label label-danger';
if(val == 2) clz = 'di label label-success';
if(val == -1) clz = 'di label label-primary';
return '<span class="'+clz+'">'+DataFormat.formatUserChaseStatus(val)+'</span>';
}},
{title: "操作",field: "allowCancel",formatter:function actionFormatter(value) {
var actions = '';
actions += '<a class="list" href="javascript:void(0)" title="cancel">\
<i class="faa faa-list"></i>订单\
</a>';
if(value) {
actions += '<a class="cancel" href="javascript:void(0)" title="cancel">\
<i class="faa faa-recycle"></i>撤销\
</a>';
}else{actions += ' '}
return actions;
},events:{'click .cancel': function (e, value, row, index) {
PopOrder.cancelChase(row.billno,function(){$('[data-injection="chase-record"]').bootstrapTable('refresh');});
},'click .list': function (e, value, row, index) {
PopOrder.chaseOrderList(row.billno);
}}},
],detailFormatter:function(index, row, element) {
Will.ajax({billno:row.billno},'/api/game-lottery/get-chase', function(data){
element.html(PopOrder.chaseMessage(data));
});
},detailView:detailView
}));
return $html;
};
//个人帐变记录列表
var billListTable = function(){
$html = $('<div><table data-injection="search-bill"></table></div>');
$html.find('[data-injection="search-bill"]').bootstrapTable(extend({
url:'/api/account/search-bill',
toolbar:initSearch($('<div class="form-inline">\
<label>账户:</label>\
<select data-type="static" name="accountType" class="form-control input">\
<option value="" selected="selected">全部账户</option>\
<option value="1">彩票账户</option>\
<option value="2">百家乐账户</option>\
</select>\
<label>账单类别:</label>\
<select data-type="static" name="type" class="form-control input">\
<option value="" selected="selected">全部类别</option>\
<option value="1000">存款</option>\
<option value="1001">取款</option>\
<option value="1002">取款退回</option>\
<option value="1100">转入</option>\
<option value="1101">转出</option>\
<option value="1102">上下级转账</option>\
<option value="1200">优惠活动</option>\
<option value="1300">消费</option>\
<option value="1301">派奖</option>\
<option value="1302">消费返点</option>\
<option value="1400">代理返点</option>\
<option value="1303">取消订单</option>\
<option value="1304">修正奖金</option>\
<option value="1900">会员返水</option>\
<option value="1600">管理员增</option>\
<option value="1601">管理员减</option>\
<option value="1700">积分兑换</option>\
</select>\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "订单号",field: "billno",formatter:function(value,row){
var actions = '';
if(row.type == 1300 || row.type == 1301 || row.type == 1302 || row.type == 1303 || row.type == 1400){
actions = '<a class="detail" href="javascript:void(0)" title="detail">\
<i class=" "></i>'+value.substring(16)+'\
</a>';
}else{
actions = value.substring(16);
}
return actions;
},events:{'click .detail': function (e, value, row, index) {
PopOrder.billDetail(value);
}}},
{title: "账户",field: "accountType",formatter:function(val){
return DataFormat.formatAccountType(val);
}},
{title: "账单类别",field: "type",formatter:function(val){
return DataFormat.formatUserBillType(val);
}},
{title: "之前金额",field: "balanceBefore",formatter:formatters.color},
{title: "操作金额",field: "amount",formatter:function(val,row){
var money = (row.balanceBefore>row.balanceAfter?-val:val).toFixed(3);
if(money>0) money = '<span class="text-success">'+money+'</span>' ;
else money = '<span class="text-red">'+money+'</span>' ;
return money;
}},
{title: "剩余金额",field: "balanceAfter",formatter:formatters.color},
{title: "操作时间",field: "time",formatter:formatters.time},
{title: "备注",field: "remarks",formatter:function(val){
return '<a class="remarks">详情</a>';
},events:{'mouseover .remarks': function (e, value, row, index) {
$(this).tooltip({title:row.remarks}).tooltip('show');
}}}
],
}));
return $html;
};
//绑定个人资料模块,要修改
var bindInformation = function($bindNode){
// (function($bindHolder){
var bindStatus = AppData.getMainAccount().bindStatus;
var config = {
withdrawName: {bindOption:'isOpenWithdrawName',label:'真实姓名:',name:'withdrawName',bindStatus:'isBindWithdrawName',tip:'提款的时候只能用真实姓名操作(不能填写字母、数字、特殊字符。)'},
bankName: {bindOption:'isOpenCard',label:'选择开户行:',name:'bankId',bindStatus:'isBindCard',tip:'请选择您的银行卡的开户行'},
bankBranch: {bindOption:'isOpenCard',label:'支行名称:',name:'bankBranch',bindStatus:'isBindCard',tip:'填写支行名称遇到问题,请联系客服'},
bankCardId: {bindOption:'isOpenCard',label:'银行卡号:',name:'bankCardId',bindStatus:'isBindCard',tip:'由16或18或19位数字组成,请填写银行借记卡'},
cardIdCp: {bindOption:'isOpenCard',label:'确认银行卡号:',name:'cardIdCp',bindStatus:'isBindCard',tip:'请重新输入您的卡号'},
withdrawPassword: {bindOption:'isOpenWithdrawPassword',label:'资金密码:',name:'withdrawPassword',bindStatus:'isBindWithdrawPassword',tip:'目前资金密码为空,请立即设置资金密码'},
birthday: {bindOption:'isOpenBirthday',label:'生日:',name:'birthday',bindStatus:'isBindBirthday',tip:'填写真实的生日,可以领取VIP生日礼物'},
cellphone: {bindOption:'isOpenCellphone',label:'手机号码:',name:'cellphone',bindStatus:'isBindCellphone',tip:'请填写您的手机号码'},
qq: {bindOption:'isOpenQQ',label:'QQ号码:',name:'qq',bindStatus:'isBindQQ',tip:'请填写您的QQ号码'},
email: {bindOption:'isOpenEmail',label:'电子邮箱:',name:'email',bindStatus:'isBindEmail',tip:'填写电子邮箱,及时获取平台动态'},
}
// 没有绑定
var $html;
if (bindStatus == 0) {
$html = $('<form id="defaultForm" method="post" class="form-horizontal" ></form>');
Will.ajax({},'/api/account/prepare-bind', function(data){
var bankList = data.bankList;
for(key in config){
if(data.bindOptions[config[key].bindOption] && !data.bindStatus[config[key].bindStatus]){
var $group = $('<div class="form-group '+config[key].bindOption+'">\
<label class="col-sm-offset-1 col-sm-3 control-label">'+config[key].label+'</label>\
<div class="col-sm-4 inner"></div>\
<div class="col-sm-3 bind-tip">'+config[key].tip+'</div>\
</div>');
var $inner = $group.find('.inner');
if(key=='bankName') {
var $select = $('<select id="fasf" name="'+config[key].name+'" class="form-control input large"></select>');
$.each(data.bankList, function(i, val) {
$select.append('<option value="' + val.id + '">' + val.name + '</option>')
});
$inner.append($select);
}else if(key=='birthday') {
$inner.append('<input name="'+config[key].name+'" type="text" class="form-control input large date-picker" data-date="1990-01-01">');
initDatePicker($inner);
}else if(key=='withdrawPassword') {
$inner.append('<input name="'+config[key].name+'" type="password" class="form-control input large date-picker" data-date="1990-01-01">');
}else {
$inner.append('<input type="text" class="form-control" name="'+config[key].name+'" />');
}
}
$html.append($group);
// $html.find('select').dropkick({theme: Constant.dropkickColor,width:320});
}
$html.bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
withdrawName: {
validators: {
notEmpty: {message: '真实姓名不能为空'},
regexp: {regexp: /^[\u4E00-\u9FA5]{2,6}$/,message: '请填写正确的真实姓名!' }
}
},bankBranch: {
validators: {
notEmpty: {message: '支行名称不能为空'},
regexp: {regexp: /^[\u4E00-\u9FA5]{2,12}$/,message: '请填写正确的支行名称!'}
}
},bankCardId: {
validators: {
notEmpty: {message: '银行卡号不能为空'},
callback: {
message: '请输入有效的银行卡号码',
callback: function(value, validator) {
return Will.checkCardId(value);
}
}
}
},cardIdCp: {
validators: {
notEmpty: {message: '银行卡号不能为空'},
identical: {
field: 'cardId',
message: '您的输入的银行卡号不相同'
},
callback: {
message: '请输入有效的银行卡号码',
callback: function(value, validator) {
return Will.checkCardId(value);
}
}
}
},withdrawPassword: {
validators: {
notEmpty: {message: '资金密码不能为空'},
}
},cellphone: {
validators: {
notEmpty: {message: '手机号码不能为空'},
regexp: {regexp: /^1\d{10}$/,message: '请填写正确的手机号码!'}
}
},qq: {
validators: {
notEmpty: {message: 'QQ号码不能为空'},
digits: {message: '请填写正确的QQ号码!'}
}
},birthday: {
validators: {
notEmpty: {message: '出生日期不能为空'},
}
},bankId: {
validators: {
notEmpty: {message: '开户行不能为空'},
}
},email: {
validators: {
notEmpty: {message: '邮箱不能为空'},
emailAddress: {message: '请填写正确的邮箱!'}
}
}
}
});
$html.append('<div class="button-groups">\
<input id="submitBtn" name="submit" class="button" type="button" value="提交绑定">\
<input id="resetBtn" name="submit" class="button" type="button" value="清除">\
</div><div class="row" style="text-align: center;">操作提示: 为了保障您的账户安全,请认真填写您的银行信息,资料一经绑定,无法再次修改。</div>');
$html.find('#submitBtn').click(function(){
var flag = $html.data('bootstrapValidator').validate().isValid();
if(!flag) return;
Will.ajax(Will.getInputVals($html),'/api/account/apply-bind', function(data){
Will.success('您的资料已绑定成功!');
setTimeout(function(){location.reload();} ,1000);
});
});
$html.find('#resetBtn').click(function() {
$html.data('bootstrapValidator').resetForm(true);
});
if($bindNode) $bindNode.append($html);
return $html;
});
}
if (bindStatus == 1) {
Will.ajax({},'/api/account/get-bind-info', function(data){
$html = $('<form class="form-horizontal" role="form"></form>');
for(key in data){
if(data[key]) $html.append('<div class="form-group">\
<label for="inputEmail3" class="col-sm-2 control-label">'+config[key].label+'</label>\
<div class="col-sm-10">\
<input type="email" class="form-control" id="inputEmail3" readOnly=readOnly value="'+data[key]+'"/>\
</div>\
</div>');
}
$html.append('<div class="form-group">\
<label for="inputEmail3" class="col-sm-2 control-label">操作提示:</label>\
<div class="col-sm-10">\
<input type="email" readonly=readonly class="form-control" id="inputEmail3" value="您的资料已锁定,如需修改请到安全中心修改或者联系客服处理。"/>\
</div>\
</div>');
if($bindNode) $bindNode.append($html);
return $html;
});
}
// }($('[data-injection="bind-personal-info"]')))
}
//充值列表
var rechargeListTable = function(){
$html = $('<div><table data-injection="search-recharge"></table></div>');
$html.find('[data-injection="search-recharge"]').bootstrapTable(extend({
url:'/api/account/search-recharge',
toolbar:initSearch($('<div class="form-inline">\
<label>充值方式:</label>\
<select data-type="static" name="method" class="form-control input">\
<option value="">全部方式</option>\
<option value="1">网银充值</option>\
<option value="2">转账汇款</option>\
<option value="0">系统充值</option>\
</select>\
<label>订单号:</label>\
<input name="billno" type="text" class="form-control input" placeholder="订单号">\
<label>充值时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "订单号",field: "billno"},
{title: "充值方式",field: "method",formatter:formatters.color},
{title: "充值金额",field: "amount",formatter:formatters.color},
{title: "账户余额",field: "balanceAfter",formatter:formatters.color},
{title: "存款日期",field: "payTime",formatter:formatters.time},
// {title: "备注",field: "balanceAfter",formatter:formatters.money},
// // {title: "操作时间",field: "time",formatter:formatters.money},
{title: "备注",field: "infos",formatter:function(val,row){
if(row.infos || row.remarks) return '<a class="remarks">详情</a>';
},events:{'mouseover .remarks': function (e, value, row, index) {
$(this).tooltip({title:(row.infos?row.infos:'')+' '+(row.remarks?row.remarks:'')}).tooltip('show');
}}}
],
}));
return $html;
}
var withdrawListTable = function(){
$html = $('<div><table data-injection="search-withdraw"></table></div>');
$html.find('[data-injection="search-withdraw"]').bootstrapTable(extend({
url:'/api/account/search-withdraw',
toolbar:initSearch($('<div class="form-inline">\
<label>订单号:</label>\
<input name="billno" type="text" class="form-control input" placeholder="订单号">\
<label>充值时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "订单号",field: "billno" },
{title: "申请金额",field: "amount",formatter:formatters.color},
{title: "手续费",field: "feeAmount",formatter:formatters.color},
{title: "到账金额",field: "actualAmount",formatter:formatters.color},
{title: "账户余额",field: "balanceBefore",formatter:formatters.color},
{title: "申请时间",field: "orderTime",formatter:formatters.time},
{title: "状态",field: "orderStatus",formatter:function(val){
return DataFormat.formatUserWithdrawalsStatus(val);
}},
{title: "备注",field: "infos",formatter:function(val,row){
if(row.infos || row.remarks) return '<a class="remarks">详情</a>';
},events:{'mouseover .remarks': function (e, value, row, index) {
$(this).tooltip({title:(row.infos?row.infos:'')+' '+(row.remarks?row.remarks:'')}).tooltip('show');
}}}
],
}));
return $html;
};
var transferListTable = function(){
$html = $('<div><table data-injection="search-transfer"></table></div>');
$html.find('[data-injection="search-transfer"]').bootstrapTable(extend({
url:'/api/account/search-transfer',
toolbar:initSearch($('<div class="form-inline">\
<label>订单号:</label>\
<input name="billno" type="text" class="form-control input" placeholder="订单号">\
<label>充值时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "订单号",field: "billno" },
{title: "转出平台",field: "fromPlatform" },
{title: "转入平台",field: "toPlatform" },
{title: "操作金额",field: "amount",formatter:formatters.color},
{title: "账户余额",field: "balanceAfter",formatter:function(val,row){
var clz = 'di text-green';
return '<span class="'+clz+'">'+(row.balanceAfter-0).toFixed(3)+'</span>';
}},
{title: "操作时间",field: "time",formatter:formatters.time},
{title: "状态",field: "status",formatter:function(val){
return DataFormat.formatUserTransferStatus(val);
}},
{title: "备注",field: "remarks",formatter:function(val,row){
if(row.infos || row.remarks) return '<a class="remarks">详情</a>';
},events:{'mouseover .remarks': function (e, value, row, index) {
$(this).tooltip({title:(row.infos?row.infos:'')+' '+(row.remarks?row.remarks:'')}).tooltip('show');
}}}
],
}));
return $html;
};
var messageListTable = function(){
$html = $('<div><table data-unlazy=true data-injection="list-message"></table></div>');
$html.find('[data-injection="list-message"]').bootstrapTable(extend({
url:'/api/account/list-message',
toolbar:(function(){
var $html = $('<div class="form-inline">\
<div class="button-groups">\
<input name="new" type="button" class="button blue small" value="新消息">\
<input name="delete" type="button" class="button blue small" value="删除">\
</div>\
</div>');
$html.find('[name="new"]').click(function(){
window.location.hash = '#mode=messageCenter&page=sendMessage';
});
$html.find('[name="delete"]').click(function(){
var ids = $.map($('[data-injection="list-message"]').bootstrapTable('getSelections'), function (row) {
return row.id
});
if(ids.length==0){
Will.warning('请选择要删除的消息!');
return;
}
PopMessageDetail.del('', 'inbox', ids.toString(), function() {
$('[data-injection="list-message"]').bootstrapTable('refresh');
});
});
return $html;
})(),
columns: [
{title: "全选",field: "checkbox",checkbox:true},
{title: "发件人",field: "fromAccount",formatter:function (val, row) {
var formatAccount = val;
if (row.type == 0) {if (row.isFromUp) {formatAccount = '上级';}}
if (row.type == 1) formatAccount = '系统';
if (row.type == 2) formatAccount = '管理员';
return formatAccount;
}},
{title: "主题",field: "subject" },
{title: "发件时间",field: "time",formatter:formatters.time},
{title: "状态",field: "status",formatter:function (val, row) {
return (val?'已读':'未读');
}},
{title: "操作",field: "placeholder",formatter:function (val, row) {
return '<a class="details">详情</a><a class="delete">删除</a>';
},events:{'click .details':function (e, value, row, index) {
PopMessageDetail.details('inbox', row, function() {
$('[data-injection="list-message"]').bootstrapTable('refresh');
});
},'click .delete':function (e, value, row, index) {
PopMessageDetail.del('', 'inbox', [row.id].toString(), function() {
$('[data-injection="list-message"]').bootstrapTable('refresh');
});
}}},
],
}));
return $html;
};
var teamAccountTable = function(){
$html = $('<div><table data-injection="list-team-account"></table></div>');
$table = $html.find('[data-injection="list-team-account"]');
$table.bootstrapTable(extend({
context:$('[data-injection="list-team-account"]'),
url:'/api/agent/list-team-account',
toolbar:initSearch($('<div class="form-inline"> \
<div class="col-md-12 column"><ol class="breadcrumb ShangJiDaoHang"></ol></div>\
<label>用户名:</label>\
<input name="username" type="text" class="form-control input" placeholder="用户名" autocomplete="off">\
<label>余额:</label>\
<input name="minMoney" type="text" class="form-control input" placeholder="最低" autocomplete="off">\
<label>至</label>\
<input name="maxMoney" type="text" class="form-control input" placeholder="最高" autocomplete="off">\
<label>登录时间:</label>\
<select name="time" class="form-control input list-team-account" >\
<option value="" selected="selected">默认</option>\
<option value="7days">7天内</option>\
<option value="1months">一个月内</option>\
<option value="3months">三个月内</option>\
<option value="6months">六个月内</option>\
<option value="earlier">更早以前</option>\
</select>\
<input name="target" type="hidden">'+searchButton+'</div>')),
responseHandler:function(res){
var breadcrumb = $table.bootstrapTable('getOptions').toolbar.find('.ShangJiDaoHang').empty();
if(!res.data) return {
rows:[],
total:0
};
var ups = (res.data.upName?res.data.upName:[AppData.getMainAccount().username]);
$.each(ups,function(idx,val){
var that = this;
that = (this==AppData.getMainAccount().username?'':this );
if( idx==ups.length-1){
breadcrumb.append('<li> '+this+ ' </li>');
}else{
breadcrumb.append('<li><a href="#mode=agentManager&page=teamManager&username=' + that+'">'+this+ '</a></li>');
}
})
var tableData = {
rows:(!res.data?[]:res.data.list),
total:(!res.data?0:res.data.totalCount)
}
if(res.data && res.data.upName){
tableData.rows[0].upName=res.data.upName;
}
return tableData;
},
columns: [
{title: "用户名",field: "username",formatter:function(val,row,idx){
// var options = $table.bootstrapTable('getOptions');
// var username = options.toolbar.find('[name="username"]').val().trim();
var html;
if(idx==0 && !!row.upName ) html = '<a class="upper btn-success" >' + val + '</a>';
else html = '<a class="lower">' + val + '</a>';
return html;
},events:{'click .lower': function (e, value, row, index) {
getToolbar($(this)).find('[name="username"]').val(value);
window.location.href = '#mode=agentManager&page=teamManager&username=' + value;
},'click .upper': function (e, value, row, index) {
var upName = row.upName[row.upName.length-2];
upName = (upName ==AppData.getMainAccount().username?'':upName );
getToolbar($(this)).find('[name="username"]').val( upName);
window.location.href = '#mode=agentManager&page=teamManager&username=' + upName;
// $table.bootstrapTable('refresh');
}}},
{title: "账户类别",field: "type",formatter:function(val){
return DataFormat.formatUserType(val);
}},
{title: "账户总额",field: "lotteryBalance",formatter:function(val,row){
var clz = 'di text-green';
return '<span class="'+clz+'">'+(row.lotteryBalance + row.baccaratBalance).toFixed(2)+'</span>';
}},
{title: "彩票返点",field: "lotteryPoint",formatter:formatters.color},
{title: "百家乐返点",field: "baccaratPoint",formatter:formatters.color},
{title: "真人/体育/老虎机返水",field: "placeholder01",formatter:function(val){
var clz = 'di text-qingse';
return '<b class="'+clz+'">0.0/0.0/0.0</b>';
}},
{title: "最后登录",field: "loginTime",formatter:function(val,row){
var formatLoginTime = '从未登录过';
if (val) {
formatLoginTime = moment(val).format('YYYY-MM-DD HH:mm:ss');
}
return formatLoginTime;
}},
{title: "操作",field: "placeholder02",formatter:function(val,row){
var actions = '';
if(row.type > 0) {
actions += '<a class="quota" >配额</a> ';
}
actions += '<a class="point">升点</a> <a class="recharge">充值</a>';
return actions;
},events:{'click .quota': function (e, value, row, index) {
PopEditLowerQuota.init('', row.username);
},'click .point': function (e, value, row, index) {
var that = $(this);
var username = row.username;
var showQuota = function() {
// setTimeout(function() {
PopEditLowerPointByQuota.init('', username, function() {
refresh(that);
});
// }, 300);
}
var showAmount = function() {
// setTimeout(function() {
PopEditLowerPointByAmount.init('', username, function() {
refresh(that);
});
// }, 300);
}
// App.confirm('question', '操作提示', '请选择用户升点方式!', 0, '配额升点', '按量升点', showQuota, showAmount);
Will.question('<div class="ShengDian">请选择用户升点方式!</div>',[{label:'按量升点',action:showAmount},{label:'配额升点',action:showQuota}]);
},'click .recharge': function (e, value, row, index) {
var that = $(this);
PopRechargeToUser.init('', row.username, function() {
refresh(that);
});
}
}},
],
}));
return $html;
};
var onlineAccountTable = function(){
$html = $('<div><table data-unlazy=true data-injection="list-online-account"></table></div>');
$html.find('[data-injection="list-online-account"]').bootstrapTable(extend({
toolbar:$('<a></a>'),
context:$('[data-injection="list-online-account"]'),
url:'/api/agent/list-online-account',
columns: [
{title: "用户名",field: "username"},
{title: "彩票",field: "lotteryBalance",formatter:formatters.color},
{title: "百家乐",field: "baccaratBalance",formatter:formatters.color},
{title: "上级",field: "relationships",formatter:function(val,row){
return DataFormat.formatLevelUsers(row.username, row.relationships);
}},
{title: "最后登录",field: "loginTime",formatter:formatters.time},
{title: "操作",field: "placeholder01",formatter:function(val,row){
return '<a href="#mode=agentManager&page=agentLotteryList&username=' + row.username + '">订单</a> <a href="#mode=agentManager&page=agentBillList&username=' + row.username + '">账单</a>';
}},
],
}));
return $html;
};
var agentLotteryListTable = function(){
$html = $('<div><table data-injection="search-game-lottery-order"></table></div>');
$html.find('[data-injection="search-game-lottery-order"]').bootstrapTable(extend({
context:$('[data-injection="search-game-lottery-order"]'),
url:'/api/agent/search-game-lottery-order',
toolbar:initSearch($('<div class="form-inline">\
<label>游戏类别:</label>\
<select name="lottery" class="form-control input">\
<option value="" selected="selected">全部游戏</option>\
</select>\
<label>状态:</label>\
<select name="status" class="form-control input">\
<option value="" selected="selected">已开奖</option>\
<option value="1">未开奖</option>\
</select>\
<label>用户名:</label>\
<input name="username" type="text" class="form-control input" placeholder="用户名" autocomplete="off">\
<label>期号:</label>\
<input name="issue" type="text" class="form-control input" style="width: 130px;" placeholder="期号" autocomplete="off">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "编号",field: "billno",formatter:function(val){
return '<a class="details">' + val.substr(16) + '</a>';
},events:{'click .details': function (e, value, row, index) {
PopOrder.orderDetailAgent(row.billno);
}}},
{title: "用户名",field: "account" },
{title: "彩种",field: "lottery" },
{title: "玩法",field: "method" },
{title: "期号",field: "issue" },
{title: "下单时间",field: "orderTime",formatter:formatters.time},
{title: "投注金额",field: "money",formatter:formatters.money},
{title: "奖金",field: "winMoney",formatter:function(val,row){
var clz = '';
if(row.status == 0) clz = 'di text-default';
if(row.status == 1) clz = 'di text-danger';
if(row.status == 2) clz = 'di text-success';
if(row.status == -1) clz = 'di text-primary';
return '<b class="'+clz+'">'+val.toFixed(3)+'</b>';
}},
{title: "状态",field: "status",formatter:function(val){
var clz = '';
if(val == 0) clz = 'di label label-default';
if(val == 1) clz = 'di label label-danger';
if(val == 2) clz = 'di label label-success';
if(val == -1) clz = 'di label label-primary';
return '<span class="'+clz+'">'+DataFormat.formatUserBetsStatus(val)+'</span>';
} },
],
}));
return $html;
};
var ptGameTable = function(){
$html = $('<div><table data-injection="pt-game-list"></table></div>');
$html.find('[data-injection="pt-game-list"]').bootstrapTable(extend({
context:$('[data-injection="pt-game-list"]'),
url:'/api/game/get-game-record',
toolbar:initSearch($('<div class="form-inline">\
<label>平台:</label>\
<select name="platformCode" class="form-control input">\
<option value="PT" selected="selected">PT</option>\
<option value="AG" >AG</option>\
</select>\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
// {title: "玩家",field: "playerName"},
// {title: "平台代码",field: "platformCode" },
{title: "平台",field: "platformName" },
{title: "游戏类型",field: "gameTypeName" },
{title: "游戏名称",field: "gameName" },
// {title: "游戏类型",field: "gameType" },
// {title: "代码",field: "gameCode" },
{title: "投注金额",field: "bet" ,formatter:formatters.color},
{title: "奖金",field: "win",formatter:formatters.color},
{title: "余额",field: "balance",formatter:formatters.color},
{title: "时间",field: "gameTime" },
]
}));
return $html;
};
var ptReportTable = function(){
$html = $('<div><table data-injection="pt-report-list"></table></div>');
$html.find('[data-injection="pt-report-list"]').bootstrapTable(extend({
context:$('[data-injection="pt-report-list"]'),
url:'/api/game/search-player-report',
toolbar:initSearch($('<div class="form-inline">\
<label>平台:</label>\
<select name="platformCode" class="form-control input">\
<option value="PT" selected="selected">PT</option>\
</select>\
<label>类型:</label>\
<select name="gameTypeCode" class="form-control input">\
<option value="" selected="selected">全部</option>\
<option value="slot" >老虎机</option>\
<option value="table_card" >桌游</option>\
<option value="scratch_card" >刮刮乐</option>\
<option value="arcade" >街机游戏</option>\
<option value="live_game" >真人游戏</option>\
<option value="video_poker" >视频扑克</option>\
<option value="game_transfer" >转入转出</option>\
<option value="game_other">其他</option>\
</select>\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
// {title: "ID",field: "id"},
// {title: "商家ID",field: "merchantId" },
// {title: "玩家ID",field: "playerId" },
{title: "玩家",field: "playerName" },
{title: "平台",field: "platformName" },
{title: "类型",field: "gameTypeName" },
{title: "充值",field: "recharge",formatter:formatters.color},
{title: "提现",field: "withdraw" ,formatter:formatters.color},
{title: "消费",field: "consume",formatter:formatters.color},
{title: "奖金",field: "bonus" ,formatter:formatters.color},
{title: "盈亏",field: "profit",formatter:formatters.color},
{title: "日期",field: "reportDate" },
// {title: "商家",field: "merchantName" },
],
}));
return $html;
};
var agentBillListTable = function(){
$html = $('<div><table data-injection="search-account-bill"></table></div>');
$html.find('[data-injection="search-account-bill"]').bootstrapTable(extend({
context:$('[data-injection="search-account-bill"]'),
url:'api/agent/search-account-bill',
toolbar:initSearch($('<div class="form-inline">\
<label>账单类别:</label>\
<select data-type="static" name="type" class="form-control input">\
<option value="" selected="selected">全部类别</option>\
<option value="1000">存款</option>\
<option value="1001">取款</option>\
<option value="1002">取款退回</option>\
<option value="1100">转入</option>\
<option value="1101">转出</option>\
<option value="1102">上下级转账</option>\
<option value="1200">优惠活动</option>\
<option value="1300">消费</option>\
<option value="1301">派奖</option>\
<option value="1302">消费返点</option>\
<option value="1400">代理返点</option>\
<option value="1303">取消订单</option>\
<option value="1304">修正奖金</option>\
<option value="1900">会员返水</option>\
<option value="1600">管理员增</option>\
<option value="1601">管理员减</option>\
<option value="1700">积分兑换</option>\
</select>\
<label>用户名:</label>\
<input name="username" type="text" class="form-control input" placeholder="用户名" autocomplete="off">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="center" data-time-init="1" class="form-control input d-range-picker">'+searchButton+'</div>')),
columns: [
{title: "编号",field: "billno",formatter:function(value,row){
var actions = '';
if(row.type == 1300 || row.type == 1301 || row.type == 1302 || row.type == 1303 || row.type == 1400){
actions = '<a class="detail" href="javascript:void(0)" title="detail">\
<i class=" "></i>'+value.substring(16)+'\
</a>';
}else{
actions = value.substring(16);
}
return actions;
},events:{'click .detail': function (e, value, row, index) {
PopOrder.billDetailAgent(value);
}}},
{title: "用户名",field: "account" },
{title: "账单类别",field: "type",formatter:function(val){
return DataFormat.formatUserBillType(val);
}},
{title: "之前金额",field: "balanceBefore",formatter:formatters.color},
{title: "操作金额",field: "amount",formatter:function(val,row){
var money = (row.balanceBefore>row.balanceAfter?-val:val).toFixed(3);
if(money>0) money = '<b class="text-success">'+money+'</b>' ;
else money = '<b class="text-danger">'+money+'</b>' ;
return money;
}},
{title: "剩余金额",field: "balanceAfter",formatter:formatters.color},
{title: "操作时间",field: "time",formatter:formatters.time},
{title: "备注",field: "remarks",formatter:function(val){
return '<a class="remarks">详情</a>';
},events:{'mouseover .remarks': function (e, value, row, index) {
$(this).tooltip({title:row.remarks}).tooltip('show');
}}}
],
}));
return $html;
};
var registLinksTable = function(){
$html = $('<div><table data-unlazy=true data-injection="list-regist-link"></table></div>');
$html.find('[data-injection="list-regist-link"]').bootstrapTable(extend({
toolbar:$('<a>'),
url:'/api/agent/list-regist-link',
columns: [
{title:'序号',field:'sid',formatter:function(val,row,index){
return index+1;
}},
{title: "注册码",field: "code",formatter:function(val,row,index){
return '<a target="_black" href="' + App.location() + '/game-regist.html?registCode=' + val + '&teamName='+encodeURI(encodeURI(row.teamName))+'&qq='+encodeURI(encodeURI(row.qq))+'">' + val + ' <i class="fa fa-external-link" ></i></a>';
}},
{title: "用户类别",field: "type",formatter:function(val,row,index){
return DataFormat.formatUserType(val);
}},
{title: "彩票返点",field: "point",formatter:function(val,row,index){
return val.toFixed(1);
}},
{title: "过期时间",field: "expireTime",formatter:function(val,row,index){
return (val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '永不过期');
}},
{title: "剩余个数",field: "amount"},
{title: "操作",field: "allowCancel",formatter:function actionFormatter(value) {
return '<a class="delete"><i class="fa fa-times fa-lg"></i></a>';
},events:{'click .delete': function (e, value, row, index) {
Will.confirm('确定要删除该注册衔接?',function() {
Will.ajax({id: row.id},'/api/agent/delete-regist-link', function(data){
Will.success('该注册衔接已成功删除!');
$('[data-injection="list-regist-link"]').bootstrapTable('refresh');
});
});
}}},
],
}));
return $html;
};
var agentLotteryReportTable = function(){
$html = $('<div><table data-injection="report-game-lottery-agent"></table></div>');
$html.find('[data-injection="report-game-lottery-agent"]').bootstrapTable(extend({
url:'/api/agent/report-game-lottery',
toolbar:initSearch($('<div class="form-inline">\
<label>用户名:</label>\
<input name="username" type="text" class="form-control input" placeholder="用户名" autocomplete="off">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="right" data-time-init="1" class="form-control input d-range-picker report-game-lottery">'+searchButton+'</div>')),
responseHandler:function(res){return {rows:res.data};},
pagination:false,
columns: [
{title: "用户名",field: "field",formatter:function(val,row,index){
var actions = val;
var that=this;
var time = getToolbar($('[data-injection="report-game-lottery-agent"]')).find('input[name="time"]').val().replace('至','P');
if(index > 1) {
actions = '<a href="#mode=agentManager&page=agentLotReport&key=lottery&username=' + val + '&time=' + time + '">' + val + '</a>';
}
return actions;
}},
{title: "充值",field: "recharge",formatter:formatters.money},
{title: "取款",field: "withdraw",formatter:formatters.money},
{title: "消费",field: "consume",formatter:formatters.money},
{title: "派奖",field: "bonus",formatter:formatters.money},
{title: "返点",field: "rebateConsume",formatter:function(val,row){
return (row.rebateAgent + row.rebateConsume).toFixed(3);
}},
{title: "活动",field: "activity",formatter:formatters.money},
{title: "盈利",field: "profit",formatter:formatters.color},
],
}));
// $html.find('[name="time"]').change(function(){
// var time = $(this).val().replace('至','P');
// location.hash=location.hash+'&time=' + time;
// });
return $html;
};
var agentXy28ReportTable = function(){
$html = $('<div><table data-injection="report-game-Xy28-agent"></table></div>');
$html.find('[data-injection="report-game-Xy28-agent"]').bootstrapTable(extend({
url:'/api/agent/report-game-lottery-klc',
toolbar:initSearch($('<div class="form-inline">\
<label>用户名:</label>\
<input name="username" type="text" class="form-control input" placeholder="用户名" autocomplete="off">\
<label>时间:</label>\
<input name="time" type="text" data-time-opens="right" data-time-init="1" class="form-control input d-range-picker report-game-lottery">'+searchButton+'</div>')),
responseHandler:function(res){return {rows:res.data};},
pagination:false,
columns: [
{title: "用户名",field: "field",formatter:function(val,row,index){
var actions = val;
var that=this;
var time = getToolbar($('[data-injection="report-game-Xy28-agent"]')).find('input[name="time"]').val().replace('至','P');
if(index > 1) {
actions = '<a href="#mode=agentManager&page=agentXy28Report&key=lottery&use