补充4
This commit is contained in:
@@ -255,508 +255,511 @@ export default {
|
||||
return {};
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(function () {
|
||||
this.initData();
|
||||
});
|
||||
this.initData();
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
var main = {
|
||||
init: function () {
|
||||
debugger;
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').hide();
|
||||
this.eventRegister();
|
||||
this.getDataFormBack();
|
||||
this.initDeviateRangeSelect();
|
||||
this.initDiamondDeviateRangeSelect();
|
||||
//$('#selectReplacePrize').hide();
|
||||
//this.initReplacePrizeSelect();
|
||||
},
|
||||
this.$nextTick(function () {
|
||||
var main = {
|
||||
init: function () {
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').hide();
|
||||
this.eventRegister();
|
||||
this.getDataFormBack();
|
||||
this.initDeviateRangeSelect();
|
||||
this.initDiamondDeviateRangeSelect();
|
||||
//$('#selectReplacePrize').hide();
|
||||
//this.initReplacePrizeSelect();
|
||||
},
|
||||
|
||||
eventRegister: function () {
|
||||
debugger;
|
||||
// 搜索按钮事件
|
||||
$('#searchBtn').on('click', function () {
|
||||
$('#table').bootstrapTable('refreshOptions', { pageNumber: 1 });
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
eventRegister: function () {
|
||||
|
||||
$('#jackpotType').on('change', function () {
|
||||
var key = $(this).val();
|
||||
switch (key) {
|
||||
case '4':
|
||||
$('.deviateRange').show();
|
||||
$('.diamondDeviateRange').hide();
|
||||
break;
|
||||
case '9':
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').show();
|
||||
break;
|
||||
default:
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').hide();
|
||||
break;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 添加按钮事件
|
||||
$('#add').on('click', function () {
|
||||
$('#awardType').find('option').remove();
|
||||
for (var key in typeObj) {
|
||||
var $prizeType = '';
|
||||
switch (key) {
|
||||
case '8':
|
||||
$prizeType = '谢谢参与';
|
||||
break;
|
||||
case '1':
|
||||
$prizeType = '金币';
|
||||
break;
|
||||
case '2':
|
||||
$prizeType = '礼物';
|
||||
break;
|
||||
case '3':
|
||||
$prizeType = '座驾';
|
||||
break;
|
||||
case '4':
|
||||
$prizeType = '头饰';
|
||||
break;
|
||||
case '5':
|
||||
$prizeType = '背景';
|
||||
break;
|
||||
case '6':
|
||||
$prizeType = '实体奖品';
|
||||
break;
|
||||
case '7':
|
||||
$prizeType = '靓号';
|
||||
break;
|
||||
}
|
||||
var str = '<option value=' + key + '>' + $prizeType + '</option>';
|
||||
$('#awardType').append(str);
|
||||
}
|
||||
clearModal();
|
||||
$('#addModal').modal('show');
|
||||
});
|
||||
|
||||
// select监听事件
|
||||
$('#addModal').find('#awardType').on('change', function () {
|
||||
$('#awardChoose').find('option').remove();
|
||||
var key = $(this).val();
|
||||
console.log(key);
|
||||
// var str = '<option></option>';
|
||||
// $('#awardChoose').append(str);
|
||||
var str;
|
||||
for (var i in typeObj[key]) {
|
||||
str = '<option value=' + typeObj[key][i].id + '>' + typeObj[key][i].prizeName + '</option>';
|
||||
$('#awardChoose').append(str);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// 编辑按钮事件
|
||||
$('#table').on('click', '.opt-edit', function () {
|
||||
clearModal();
|
||||
$('#editModal').modal('show');
|
||||
var id = $(this).data('id');
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', id);
|
||||
|
||||
console.log(data);
|
||||
$('#editModal').find('#jackpotNumber2').val(data.prizeNum);
|
||||
$('#editModal').find('#winningRate2').val(data.occupationRatio / ACCURACY);
|
||||
$('#editModal').find('#showRate2').val(data.showRatio / ACCURACY);
|
||||
$('#editModal').find('#creator2').val(data.creator);
|
||||
$('#editModal').find('#itemType2').val(data.itemType);
|
||||
pId = data.prizeId;
|
||||
saveId = id;
|
||||
});
|
||||
|
||||
// 保存按钮事件
|
||||
$('#addSave').on('click', function () {
|
||||
if (parseFloat($('#winningRate').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#winningRate').val()) > 100 || parseInt($('#winningRate').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#showRate').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#showRate').val()) > 100 || parseInt($('#showRate').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
// var reg = /^[0-9]*$/;
|
||||
var reg = /^[0-9]+([.]{1}[0-9]+){0,1}$/;
|
||||
if (!reg.test($('#winningRate').val()) || !reg.test($('#jackpotNumber').val()) || !reg.test($('#showRate').val())) {
|
||||
$('#tipMsg').text('奖品个数和概率只能是数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if ($('#creator').val() == '' || $('#creator').val() == 'undefined') {
|
||||
$('#tipMsg').text('创建者项是必填的');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
$.post('/admin/prizePoolItem/save', {
|
||||
poolType: $('#jackpotType').val(),
|
||||
deviateRangeId: getDeviateRangeId(),
|
||||
id: -1,
|
||||
prizeId: $('#awardChoose').val(),
|
||||
prizeNum: $('#jackpotNumber').val(),
|
||||
occupationRatio: $('#winningRate').val() * ACCURACY,
|
||||
showRatio: $('#showRate').val() * ACCURACY,
|
||||
creator: $('#creator').val(),
|
||||
itemType: $('#itemType').val()
|
||||
}, function (res) {
|
||||
if (res.code == 200) {
|
||||
$('#addModal').modal('hide');
|
||||
$('#tipMsg').text('添加成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('保存失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
$('#editSave').on('click', function () {
|
||||
if (parseFloat($('#winningRate2').val()) % ACCURACY >= ACCURACY || parseFloat($('#showRate2').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
|
||||
if (parseFloat($('#winningRate2').val()) > 100 || parseInt($('#winningRate2').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
|
||||
if (parseFloat($('#showRate2').val()) > 100 || parseInt($('#showRate2').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
// var reg = /^[0-9]*$/;
|
||||
var reg = /^[0-9]+([.]{1}[0-9]+){0,1}$/;
|
||||
if (!reg.test($('#winningRate2').val()) || !reg.test($('#jackpotNumber2').val()) || !reg.test($('#showRate2').val())) {
|
||||
$('#tipMsg').text('奖品个数和概率只能是数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if ($('#creator2').val() == '' || $('#creator2').val() == 'undefined') {
|
||||
$('#tipMsg').text('创建者项是必填的');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', saveId);
|
||||
$.post('/admin/prizePoolItem/save', {
|
||||
poolType: $('#jackpotType').val(),
|
||||
id: saveId,
|
||||
deviateRangeId: data.deviateRangeId,
|
||||
prizeId: pId,
|
||||
prizeNum: $('#jackpotNumber2').val(),
|
||||
occupationRatio: $('#winningRate2').val() * ACCURACY,
|
||||
showRatio: $('#showRate2').val() * ACCURACY,
|
||||
creator: $('#creator2').val(),
|
||||
itemType: $('#itemType2').val()
|
||||
}, function (res) {
|
||||
getDataFormBack: function () {
|
||||
$.get('/admin/prize/total/list', {}, function (res) {
|
||||
if (res.code == 200) {
|
||||
// console.log(res);
|
||||
$('#editModal').modal('hide');
|
||||
$('#tipMsg').text('添加成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('保存失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
// id对象存储
|
||||
var id = '' + res.data[i].id;
|
||||
idObj[id] = res.data[i];
|
||||
|
||||
// Type对象存储
|
||||
var type = '' + res.data[i].prizeType;
|
||||
|
||||
console.log(type);
|
||||
|
||||
if (!typeObj[type]) {
|
||||
typeObj[type] = [];
|
||||
}
|
||||
typeObj[type].push(res.data[i]);
|
||||
|
||||
}
|
||||
console.log(idObj, typeObj);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// 重置按钮事件
|
||||
$('#addReset').on('click', function () {
|
||||
clearModal();
|
||||
});
|
||||
|
||||
$('#editReset').on('click', function () {
|
||||
var $jackpotNumber = $('#jackpotNumber2').val();
|
||||
var $winningRate = $('#winningRate2').val();
|
||||
var $showRate = $('#showRate2').val();
|
||||
var $creator = $('#creator2').val();
|
||||
clearModal();
|
||||
$('#jackpotNumber2').val($jackpotNumber);
|
||||
$('#winningRate2').val($winningRate);
|
||||
$('#showRate2').val($showRate);
|
||||
$('#creator2').val($creator);
|
||||
});
|
||||
|
||||
// 移除按钮事件
|
||||
$('#table').on('click', '.remove', function () {
|
||||
var id = parseInt($(this).data('id'));
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', id);
|
||||
console.log(id);
|
||||
$.post('/admin/prizePoolItem/delete', {
|
||||
id: id,
|
||||
poolType: data.prizePoolType,
|
||||
deviateRangeId: data.deviateRangeId
|
||||
}, function (res) {
|
||||
if (res.code == 200) {
|
||||
$('#tipMsg').text('删除成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('删除失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
initDeviateRangeSelect: function () {
|
||||
$.get('/admin/deviateRange/list?type=1', {}, function (res) {
|
||||
if (res.total > 0) {
|
||||
var rows = res.rows;
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var deviateRange = rows[i];
|
||||
var str = '<option value=' + deviateRange.id + '>' + deviateRange.lowerLimit + '~' + deviateRange.upperLimit + '</option>';
|
||||
$('#deviateRange').append(str);
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
initDiamondDeviateRangeSelect: function () {
|
||||
$.get('/admin/deviateRange/list?type=4', {}, function (res) {
|
||||
if (res.total > 0) {
|
||||
var rows = res.rows;
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var deviateRange = rows[i];
|
||||
var str = '<option value=' + deviateRange.id + '>' + deviateRange.lowerLimit + '~' + deviateRange.upperLimit + '</option>';
|
||||
$('#diamondDeviateRange').append(str);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getDataFormBack: function () {
|
||||
$.get('/admin/prize/total/list', {}, function (res) {
|
||||
initReplacePrizeSelect: function () {
|
||||
$.get('/admin/prize/list/type?prizeType=2', {}, function (res) {
|
||||
$('#replaceAwardChoose').find('option').remove();
|
||||
for (var i in res.data) {
|
||||
var str = '<option value=' + res.data[i].id + '>' + res.data[i].prizeName + '</option>';
|
||||
$('#replaceAwardChoose').append(str);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
main.init();
|
||||
|
||||
var isEdit = false;
|
||||
$('#table').bootstrapTable('destroy');
|
||||
$('#table').bootstrapTable({
|
||||
columns: [
|
||||
{ field: 'id', title: '奖品编号', align: 'center', valign: 'middle', width: '10%' },
|
||||
{
|
||||
field: 'prizeName', title: '奖品名称', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
console.log(key);
|
||||
if (idObj[key]) {
|
||||
return idObj[key].prizeName;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '奖品分类', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var $prizeId = row.prizeId;
|
||||
var $type;
|
||||
if (idObj[$prizeId]) {
|
||||
$type = idObj[$prizeId].prizeType;
|
||||
}
|
||||
switch ($type) {
|
||||
case 8:
|
||||
return '谢谢参与';
|
||||
|
||||
case 1:
|
||||
return '金币';
|
||||
|
||||
case 2:
|
||||
return '在线礼物';
|
||||
|
||||
case 3:
|
||||
return '座驾';
|
||||
|
||||
case 4:
|
||||
return '头饰';
|
||||
|
||||
case 5:
|
||||
return '背景';
|
||||
|
||||
case 6:
|
||||
return '实体奖品';
|
||||
|
||||
case 7:
|
||||
return '靓号';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '奖品个数', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.prizeNum;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '平台价值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return idObj[key].platformValue;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '实际价值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return idObj[key].actualValue;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '实际中奖率', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.occupationRatio / ACCURACY + '%';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '显示中奖率', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.showRatio / ACCURACY + '%';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '期望值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return row.occupationRatio * idObj[key].actualValue / RATIO_PART;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'usePrizeNum', title: '被抽中数量', align: 'center', valign: 'middle', width: '10%' },
|
||||
{
|
||||
field: '', title: '操作', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.id;
|
||||
return '<button class="btn btn-primary opt-edit" data-id="' + key + '">编辑</button> <button class="btn btn-primary remove" data-id="' + key + '">移除</button>';
|
||||
}
|
||||
}
|
||||
],
|
||||
cache: false,
|
||||
striped: true,
|
||||
showRefresh: false,
|
||||
pageSize: 10,
|
||||
pagination: true,
|
||||
pageList: [10, 20, 30, 50],
|
||||
sidePagination: 'server',
|
||||
queryParamsType: 'undefined',
|
||||
queryParams: function queryParams(params) {
|
||||
|
||||
var param = {
|
||||
pageSize: params.pageSize,
|
||||
pageNumber: params.pageNumber,
|
||||
poolType: parseInt($('#jackpotType').val()),
|
||||
deviateRangeId: getDeviateRangeId()
|
||||
};
|
||||
|
||||
return param;
|
||||
},
|
||||
uniqueId: 'id',
|
||||
toolbar: '#toolbar',
|
||||
url: '/admin/prizePoolItem/list',
|
||||
onLoadSuccess: function (res) {
|
||||
console.log('load success');
|
||||
console.log(res.rows);
|
||||
var arr = [];
|
||||
var Num = 0;
|
||||
var expectNum = 0;
|
||||
var typeObjArr = {
|
||||
1: '幸运新人奖池',
|
||||
2: '幸运普通奖池',
|
||||
3: '幸运白名单奖池',
|
||||
4: '幸运偏差奖池',
|
||||
12: '幸运次数奖池',
|
||||
7: '梦幻普通奖池',
|
||||
9: '梦幻偏差奖池',
|
||||
10: '梦幻新人奖池',
|
||||
11: '梦幻白名单奖池',
|
||||
}
|
||||
for (var i in res.rows) {
|
||||
|
||||
$('#jackpotName').html(typeObjArr[res.rows[i].prizePoolType]);
|
||||
if (arr.indexOf(res.rows[i].prizeId) == -1) {
|
||||
arr.push(res.rows[i].prizeId);
|
||||
$('#jackpotNum').html(arr.length)
|
||||
}
|
||||
Num += parseInt(res.rows[i].prizeNum);
|
||||
$('#prizeNum').html(Num);
|
||||
var $expect = res.rows[i].occupationRatio;
|
||||
// console.log(idObj[res.rows[]]);
|
||||
var $actual = 0;
|
||||
if (res.rows[i] && idObj[res.rows[i].prizeId]) {
|
||||
$actual = idObj[res.rows[i].prizeId].actualValue;
|
||||
}
|
||||
var $Num = parseInt($expect) * parseInt($actual) / RATIO_PART;
|
||||
expectNum += $Num;
|
||||
$('#expectNum').html(expectNum);
|
||||
|
||||
}
|
||||
},
|
||||
onLoadError: function () {
|
||||
console.log('load fail');
|
||||
}
|
||||
});
|
||||
// 搜索按钮事件
|
||||
$('#searchBtn').on('click', function () {
|
||||
$('#table').bootstrapTable('refreshOptions', { pageNumber: 1 });
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
|
||||
$('#jackpotType').on('change', function () {
|
||||
var key = $(this).val();
|
||||
switch (key) {
|
||||
case '4':
|
||||
$('.deviateRange').show();
|
||||
$('.diamondDeviateRange').hide();
|
||||
break;
|
||||
case '9':
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').show();
|
||||
break;
|
||||
default:
|
||||
$('.deviateRange').hide();
|
||||
$('.chargeDeviateRange').hide();
|
||||
$('.diamondDeviateRange').hide();
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
// 添加按钮事件
|
||||
$('#add').on('click', function () {
|
||||
$('#awardType').find('option').remove();
|
||||
for (var key in typeObj) {
|
||||
var $prizeType = '';
|
||||
switch (key) {
|
||||
case '8':
|
||||
$prizeType = '谢谢参与';
|
||||
break;
|
||||
case '1':
|
||||
$prizeType = '金币';
|
||||
break;
|
||||
case '2':
|
||||
$prizeType = '礼物';
|
||||
break;
|
||||
case '3':
|
||||
$prizeType = '座驾';
|
||||
break;
|
||||
case '4':
|
||||
$prizeType = '头饰';
|
||||
break;
|
||||
case '5':
|
||||
$prizeType = '背景';
|
||||
break;
|
||||
case '6':
|
||||
$prizeType = '实体奖品';
|
||||
break;
|
||||
case '7':
|
||||
$prizeType = '靓号';
|
||||
break;
|
||||
}
|
||||
var str = '<option value=' + key + '>' + $prizeType + '</option>';
|
||||
$('#awardType').append(str);
|
||||
}
|
||||
clearModal();
|
||||
$('#addModal').modal('show');
|
||||
});
|
||||
|
||||
// select监听事件
|
||||
$('#addModal').find('#awardType').on('change', function () {
|
||||
$('#awardChoose').find('option').remove();
|
||||
var key = $(this).val();
|
||||
console.log(key);
|
||||
// var str = '<option></option>';
|
||||
// $('#awardChoose').append(str);
|
||||
var str;
|
||||
for (var i in typeObj[key]) {
|
||||
str = '<option value=' + typeObj[key][i].id + '>' + typeObj[key][i].prizeName + '</option>';
|
||||
$('#awardChoose').append(str);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// 编辑按钮事件
|
||||
$('#table').on('click', '.opt-edit', function () {
|
||||
clearModal();
|
||||
$('#editModal').modal('show');
|
||||
var id = $(this).data('id');
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', id);
|
||||
|
||||
console.log(data);
|
||||
$('#editModal').find('#jackpotNumber2').val(data.prizeNum);
|
||||
$('#editModal').find('#winningRate2').val(data.occupationRatio / ACCURACY);
|
||||
$('#editModal').find('#showRate2').val(data.showRatio / ACCURACY);
|
||||
$('#editModal').find('#creator2').val(data.creator);
|
||||
$('#editModal').find('#itemType2').val(data.itemType);
|
||||
pId = data.prizeId;
|
||||
saveId = id;
|
||||
});
|
||||
|
||||
// 保存按钮事件
|
||||
$('#addSave').on('click', function () {
|
||||
if (parseFloat($('#winningRate').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#winningRate').val()) > 100 || parseInt($('#winningRate').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#showRate').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if (parseFloat($('#showRate').val()) > 100 || parseInt($('#showRate').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
// var reg = /^[0-9]*$/;
|
||||
var reg = /^[0-9]+([.]{1}[0-9]+){0,1}$/;
|
||||
if (!reg.test($('#winningRate').val()) || !reg.test($('#jackpotNumber').val()) || !reg.test($('#showRate').val())) {
|
||||
$('#tipMsg').text('奖品个数和概率只能是数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if ($('#creator').val() == '' || $('#creator').val() == 'undefined') {
|
||||
$('#tipMsg').text('创建者项是必填的');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
$.post('/admin/prizePoolItem/save', {
|
||||
poolType: $('#jackpotType').val(),
|
||||
deviateRangeId: getDeviateRangeId(),
|
||||
id: -1,
|
||||
prizeId: $('#awardChoose').val(),
|
||||
prizeNum: $('#jackpotNumber').val(),
|
||||
occupationRatio: $('#winningRate').val() * ACCURACY,
|
||||
showRatio: $('#showRate').val() * ACCURACY,
|
||||
creator: $('#creator').val(),
|
||||
itemType: $('#itemType').val()
|
||||
}, function (res) {
|
||||
if (res.code == 200) {
|
||||
$('#addModal').modal('hide');
|
||||
$('#tipMsg').text('添加成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('保存失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
$('#editSave').on('click', function () {
|
||||
if (parseFloat($('#winningRate2').val()) % ACCURACY >= ACCURACY || parseFloat($('#showRate2').val()) % ACCURACY >= ACCURACY) {
|
||||
// 小数位超过3位则不允许设置
|
||||
$('#tipMsg').text('概率最多只允许设置到小数点后3位');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
|
||||
if (parseFloat($('#winningRate2').val()) > 100 || parseInt($('#winningRate2').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
|
||||
if (parseFloat($('#showRate2').val()) > 100 || parseInt($('#showRate2').val()) < 0) {
|
||||
$('#tipMsg').text('中奖概率只能是0到100的数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
// var reg = /^[0-9]*$/;
|
||||
var reg = /^[0-9]+([.]{1}[0-9]+){0,1}$/;
|
||||
if (!reg.test($('#winningRate2').val()) || !reg.test($('#jackpotNumber2').val()) || !reg.test($('#showRate2').val())) {
|
||||
$('#tipMsg').text('奖品个数和概率只能是数值');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
if ($('#creator2').val() == '' || $('#creator2').val() == 'undefined') {
|
||||
$('#tipMsg').text('创建者项是必填的');
|
||||
$('#tipModal').modal('show');
|
||||
return;
|
||||
}
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', saveId);
|
||||
$.post('/admin/prizePoolItem/save', {
|
||||
poolType: $('#jackpotType').val(),
|
||||
id: saveId,
|
||||
deviateRangeId: data.deviateRangeId,
|
||||
prizeId: pId,
|
||||
prizeNum: $('#jackpotNumber2').val(),
|
||||
occupationRatio: $('#winningRate2').val() * ACCURACY,
|
||||
showRatio: $('#showRate2').val() * ACCURACY,
|
||||
creator: $('#creator2').val(),
|
||||
itemType: $('#itemType2').val()
|
||||
}, function (res) {
|
||||
if (res.code == 200) {
|
||||
// console.log(res);
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
// id对象存储
|
||||
var id = '' + res.data[i].id;
|
||||
idObj[id] = res.data[i];
|
||||
|
||||
// Type对象存储
|
||||
var type = '' + res.data[i].prizeType;
|
||||
|
||||
console.log(type);
|
||||
|
||||
if (!typeObj[type]) {
|
||||
typeObj[type] = [];
|
||||
}
|
||||
typeObj[type].push(res.data[i]);
|
||||
|
||||
}
|
||||
console.log(idObj, typeObj);
|
||||
$('#editModal').modal('hide');
|
||||
$('#tipMsg').text('添加成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('保存失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
initDeviateRangeSelect: function () {
|
||||
$.get('/admin/deviateRange/list?type=1', {}, function (res) {
|
||||
if (res.total > 0) {
|
||||
var rows = res.rows;
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var deviateRange = rows[i];
|
||||
var str = '<option value=' + deviateRange.id + '>' + deviateRange.lowerLimit + '~' + deviateRange.upperLimit + '</option>';
|
||||
$('#deviateRange').append(str);
|
||||
}
|
||||
// 重置按钮事件
|
||||
$('#addReset').on('click', function () {
|
||||
clearModal();
|
||||
});
|
||||
|
||||
$('#editReset').on('click', function () {
|
||||
var $jackpotNumber = $('#jackpotNumber2').val();
|
||||
var $winningRate = $('#winningRate2').val();
|
||||
var $showRate = $('#showRate2').val();
|
||||
var $creator = $('#creator2').val();
|
||||
clearModal();
|
||||
$('#jackpotNumber2').val($jackpotNumber);
|
||||
$('#winningRate2').val($winningRate);
|
||||
$('#showRate2').val($showRate);
|
||||
$('#creator2').val($creator);
|
||||
});
|
||||
|
||||
// 移除按钮事件
|
||||
$('#table').on('click', '.remove', function () {
|
||||
var id = parseInt($(this).data('id'));
|
||||
var data = $('#table').bootstrapTable('getRowByUniqueId', id);
|
||||
console.log(id);
|
||||
$.post('/admin/prizePoolItem/delete', {
|
||||
id: id,
|
||||
poolType: data.prizePoolType,
|
||||
deviateRangeId: data.deviateRangeId
|
||||
}, function (res) {
|
||||
if (res.code == 200) {
|
||||
$('#tipMsg').text('删除成功');
|
||||
$('#tipModal').modal('show');
|
||||
TableHelper.doRefresh('#table');
|
||||
} else {
|
||||
$('#tipMsg').text('删除失败,' + res.message);
|
||||
$('#tipModal').modal('show');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
initDiamondDeviateRangeSelect: function () {
|
||||
$.get('/admin/deviateRange/list?type=4', {}, function (res) {
|
||||
if (res.total > 0) {
|
||||
var rows = res.rows;
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var deviateRange = rows[i];
|
||||
var str = '<option value=' + deviateRange.id + '>' + deviateRange.lowerLimit + '~' + deviateRange.upperLimit + '</option>';
|
||||
$('#diamondDeviateRange').append(str);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
initReplacePrizeSelect: function () {
|
||||
$.get('/admin/prize/list/type?prizeType=2', {}, function (res) {
|
||||
$('#replaceAwardChoose').find('option').remove();
|
||||
for (var i in res.data) {
|
||||
var str = '<option value=' + res.data[i].id + '>' + res.data[i].prizeName + '</option>';
|
||||
$('#replaceAwardChoose').append(str);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
main.init();
|
||||
|
||||
var isEdit = false;
|
||||
$('#table').bootstrapTable('destroy');
|
||||
$('#table').bootstrapTable({
|
||||
columns: [
|
||||
{ field: 'id', title: '奖品编号', align: 'center', valign: 'middle', width: '10%' },
|
||||
{
|
||||
field: 'prizeName', title: '奖品名称', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
console.log(key);
|
||||
if (idObj[key]) {
|
||||
return idObj[key].prizeName;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '奖品分类', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var $prizeId = row.prizeId;
|
||||
var $type;
|
||||
if (idObj[$prizeId]) {
|
||||
$type = idObj[$prizeId].prizeType;
|
||||
}
|
||||
switch ($type) {
|
||||
case 8:
|
||||
return '谢谢参与';
|
||||
|
||||
case 1:
|
||||
return '金币';
|
||||
|
||||
case 2:
|
||||
return '在线礼物';
|
||||
|
||||
case 3:
|
||||
return '座驾';
|
||||
|
||||
case 4:
|
||||
return '头饰';
|
||||
|
||||
case 5:
|
||||
return '背景';
|
||||
|
||||
case 6:
|
||||
return '实体奖品';
|
||||
|
||||
case 7:
|
||||
return '靓号';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '奖品个数', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.prizeNum;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '平台价值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return idObj[key].platformValue;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '实际价值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return idObj[key].actualValue;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '实际中奖率', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.occupationRatio / ACCURACY + '%';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '显示中奖率', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
return row.showRatio / ACCURACY + '%';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', title: '期望值', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.prizeId;
|
||||
if (idObj[key]) {
|
||||
return row.occupationRatio * idObj[key].actualValue / RATIO_PART;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
{ field: 'usePrizeNum', title: '被抽中数量', align: 'center', valign: 'middle', width: '10%' },
|
||||
{
|
||||
field: '', title: '操作', align: 'center', valign: 'middle', width: '10%', formatter: function (val, row, index) {
|
||||
var key = row.id;
|
||||
return '<button class="btn btn-primary opt-edit" data-id="' + key + '">编辑</button> <button class="btn btn-primary remove" data-id="' + key + '">移除</button>';
|
||||
}
|
||||
}
|
||||
],
|
||||
cache: false,
|
||||
striped: true,
|
||||
showRefresh: false,
|
||||
pageSize: 10,
|
||||
pagination: true,
|
||||
pageList: [10, 20, 30, 50],
|
||||
sidePagination: 'server',
|
||||
queryParamsType: 'undefined',
|
||||
queryParams: function queryParams(params) {
|
||||
|
||||
var param = {
|
||||
pageSize: params.pageSize,
|
||||
pageNumber: params.pageNumber,
|
||||
poolType: parseInt($('#jackpotType').val()),
|
||||
deviateRangeId: getDeviateRangeId()
|
||||
};
|
||||
|
||||
return param;
|
||||
},
|
||||
uniqueId: 'id',
|
||||
toolbar: '#toolbar',
|
||||
url: '/admin/prizePoolItem/list',
|
||||
onLoadSuccess: function (res) {
|
||||
console.log('load success');
|
||||
console.log(res.rows);
|
||||
var arr = [];
|
||||
var Num = 0;
|
||||
var expectNum = 0;
|
||||
var typeObjArr = {
|
||||
1: '幸运新人奖池',
|
||||
2: '幸运普通奖池',
|
||||
3: '幸运白名单奖池',
|
||||
4: '幸运偏差奖池',
|
||||
12: '幸运次数奖池',
|
||||
7: '梦幻普通奖池',
|
||||
9: '梦幻偏差奖池',
|
||||
10: '梦幻新人奖池',
|
||||
11: '梦幻白名单奖池',
|
||||
}
|
||||
for (var i in res.rows) {
|
||||
|
||||
$('#jackpotName').html(typeObjArr[res.rows[i].prizePoolType]);
|
||||
if (arr.indexOf(res.rows[i].prizeId) == -1) {
|
||||
arr.push(res.rows[i].prizeId);
|
||||
$('#jackpotNum').html(arr.length)
|
||||
}
|
||||
Num += parseInt(res.rows[i].prizeNum);
|
||||
$('#prizeNum').html(Num);
|
||||
var $expect = res.rows[i].occupationRatio;
|
||||
// console.log(idObj[res.rows[]]);
|
||||
var $actual = 0;
|
||||
if (res.rows[i] && idObj[res.rows[i].prizeId]) {
|
||||
$actual = idObj[res.rows[i].prizeId].actualValue;
|
||||
}
|
||||
var $Num = parseInt($expect) * parseInt($actual) / RATIO_PART;
|
||||
expectNum += $Num;
|
||||
$('#expectNum').html(expectNum);
|
||||
|
||||
}
|
||||
},
|
||||
onLoadError: function () {
|
||||
console.log('load fail');
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user