lixin-web
Version:
vue and bootstrap
455 lines (447 loc) • 16 kB
JavaScript
var Lotterykl8 = function(){
/**
* 彩票投注辅助
*/
var LotteryUtils = function() {
/**
* 多少注计算
*/
var _inputNumbers = function(type, datasel) {
var nums = 0, tmp_nums = 1;
// 选号
switch (type) {
case 'rx1':
nums = datasel[0].length + (datasel[1]).length;
break;
case 'rx2':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 2 && l <= 8) {
nums = ArrayUtil.ComNum(l, 2);
}
break;
case 'rx3':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 3 && l <= 8) {
nums = ArrayUtil.ComNum(l, 3);
}
break;
case 'rx4':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 4 && l <= 8) {
nums = ArrayUtil.ComNum(l, 4);
}
break;
case 'rx5':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 5 && l <= 8) {
nums = ArrayUtil.ComNum(l, 5);
}
break;
case 'rx6':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 6 && l <= 8) {
nums = ArrayUtil.ComNum(l, 6);
}
break;
case 'rx7':
var l = datasel[0].length + (datasel[1]).length;
if(l >= 7 && l <= 8) {
nums = ArrayUtil.ComNum(l, 7);
}
break;
default:
var maxplace = 1;
for (var i = 0; i < maxplace; i++) {
// 有位置上没有选择
if (datasel[i].length == 0) {
tmp_nums = 0; break;
}
tmp_nums *= datasel[i].length;
}
nums += tmp_nums;
}
return nums;
}
var _inputFormat = function(type, datasel) {
switch (type) {
case 'rx1':
case 'rx2':
case 'rx3':
case 'rx4':
case 'rx5':
case 'rx6':
case 'rx7':
return datasel[0].concat(datasel[1]).toString();
case 'hezhids':
case 'hezhidx':
case 'jopan':
case 'sxpan':
case 'hzdxds':
case 'hezhiwx':
return datasel[0].toString().replace(/\,/g , '|');
default:
break;
}
}
var _typeFormat = function(code) {
var arr = [];
var j = 0, o = 0, h = 0;
$.each(code, function(idx, val) {
var num = parseInt(val);
h += num;
if(num%2 == 0) {
o++;
} else {
j++;
}
});
if(j > o) {
arr[0] = '奇';
}
if(j < o) {
arr[0] = '偶';
}
if(j == o) {
arr[0] = '和';
}
var hdx = '';
if(h >= 210 && h <= 809) {
hdx += '小';
}
if(h == 810) {
hdx += '和';
}
if(h >= 811 && h <= 1410) {
hdx += '大';
}
if(h%2 == 0) {
hdx += '双';
} else {
hdx += '单';
}
arr[1] = hdx;
return arr;
}
return {
inputNumbers: _inputNumbers,
inputFormat: _inputFormat,
typeFormat: _typeFormat
}
}();
/**
* TODO 彩票投注主要方法
*/
var LotteryMain = function() {
var that = this;
LotteryBaBa.call(this);
this.LotteryUtils = LotteryUtils;
// 布局
this.Layout = [{
title: '趣味',
rows: [[{
title: '趣味型',
columns: [{
showname: '和值单双',
shortname: 'hezhids',
realname: '[趣味_和值单双]',
tips: '选择20个开奖号码总和值的单双属性。',
example: '投注方案:和值单双“双”<br>开奖号码:01 02 03 04 05 06 07 08 09 10<br> 11 12 13 14 15 16 17 18 19 20<br>中奖结果:和值单双“双”',
help: '20个开奖号码的总和值为奇数时中“单”,为偶数时中“双”。',
select: {
layout: [{
title: '和值单双',
balls: ['单', '双'],
tools: false
}]
}
}, {
showname: '和值大小',
shortname: 'hezhidx',
realname: '[趣味_和值大小]',
tips: '选择20个开奖号码总和值的大小属性。',
example: '投注方案:和值大小“小”<br>开奖号码:01 02 03 04 05 06 07 08 09 10<br> 11 12 13 14 15 16 17 18 19 20<br>中奖结果:和值大小“小”',
help: '选择20个开奖号码总和值的大小属性:小于810为小,等于810为和,大于810为大。',
select: {
layout: [{
title: '和值大小',
balls: ['小(210~809)', '和(810)', '大(811~1410)'],
values: ['小', '和', '大'],
tools: false,
cls: 'x-large f16'
}]
}
}, {
showname: '奇偶盘',
shortname: 'jopan',
realname: '[趣味_奇偶盘]',
tips: '选择20个开奖号码中包含奇偶号码个数多少的关系。',
example: '投注方案:奇偶盘“和”<br>开奖号码:01 02 03 04 05 06 07 08 09 10<br> 11 12 13 14 15 16 17 18 19 20<br>中奖结果:奇偶盘“和”',
help: '任选一个奇偶盘属性,当开奖结果的20个号码的奇偶盘属性与所投注的结果一致,即为中奖。',
select: {
layout: [{
title: '奇偶',
balls: ['奇(奇>偶)', '和(奇=偶)', '偶(奇<偶)'],
values: ['奇', '和', '偶'],
tools: false,
cls: 'x-large f16'
}]
}
}, {
showname: '上下盘',
shortname: 'sxpan',
realname: '[趣味_上下盘]',
tips: '开奖号码中包含上盘(01-40)与下盘(41-80)号码个数多少的关系。',
example: '投注方案:上下盘“上”<br>开奖号码:01 02 03 04 05 06 07 08 09 10<br> 11 12 13 14 15 16 17 18 19 20<br>中奖结果:上下盘“上”',
help: '任选一个上下盘属性,当开奖结果的20个号码的上下盘属性与所投注的结果一致,即为中奖。',
select: {
layout: [{
title: '上下',
balls: ['上(上>下)', '中(上=下)', '下(上<下)'],
values: ['上', '中', '下'],
tools: false,
cls: 'x-large f16'
}]
}
}, {
showname: '和值大小盘',
shortname: 'hzdxds',
realname: '[趣味_和值大小盘]',
tips: '选择20个开奖号码总和值的大小单双属性',
example: '投注方案:和值大小单双“小双”<br>开奖号码:01 02 03 04 05 06 07 08 09 10<br> 11 12 13 14 15 16 17 18 19 20<br>中奖结果:和值大小单双“小双”',
help: '任选一个和值大小单双属性,当开奖结果的20个号码的和值大小单双属性与所投注的结果一致,即为中奖。',
select: {
layout: [{
title: '大小单双',
balls: ['大&单', '大&双', '小&单', '小&双'],
values: ['大单', '大双', '小单', '小双'],
tools: false,
cls: 'x-large f22'
}]
}
}]
}]]
}, {
title: '任选',
rows: [[{
title: '任选',
columns: [{
showname: '任选1',
shortname: 'rx1',
realname: '[任选_任选1]',
tips: '从01-80中任选1个以上号码',
example: '投注方案:01<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中1个号码',
help: '从01-80中选择1个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}]
}
}, {
showname: '任选2',
shortname: 'rx2',
realname: '[任选_任选2]',
tips: '从01-80中任选2-8个以上号码',
example: '投注方案:01 02<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中2个号码',
help: '从01-80中选择2个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}, {
showname: '任选3',
shortname: 'rx3',
realname: '[任选_任选3]',
tips: '从01-80中任选3-8个以上号码',
example: '投注方案:01 02 03<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中3个号码',
help: '从01-80中选择3个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}, {
showname: '任选4',
shortname: 'rx4',
realname: '[任选_任选4]',
tips: '从01-80中任选4-8个以上号码',
example: '投注方案:01 02 03 04<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中4个号码',
help: '从01-80中选择4个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}, {
showname: '任选5',
shortname: 'rx5',
realname: '[任选_任选5]',
tips: '从01-80中任选5-8个以上号码',
example: '投注方案:01 02 03 04 05<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中5个号码',
help: '从01-80中选择5个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}, {
showname: '任选6',
shortname: 'rx6',
realname: '[任选_任选6]',
tips: '从01-80中任选6-8个以上号码',
example: '投注方案:01 02 03 04 05 06<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中5个号码',
help: '从01-80中选择5个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}, {
showname: '任选7',
shortname: 'rx7',
realname: '[任选_任选7]',
tips: '从01-80中任选7-8个以上号码',
example: '投注方案:01 02 03 04 05 06 07<br>开奖号码:01 02 03 04 05 06 07 08 21 22<br> 71 72 73 74 75 76 77 78 79 80<br>中奖结果:中7个号码',
help: '从01-80中选择7个号码组成一注,当期开奖结果的20个号码中包含所选号码,即可中奖。',
select: {
layout: [{
title: '上',
balls: ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40'],
tools: false,
cls: 'place'
}, {
title: '下',
balls: ['41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','65','66','67','68','69','70','71','72','73','74','75','76','77','78','79','80'],
tools: false,
cls: 'place'
}],
maxLength: 8
}
}]
}]]
}, {
title: '五行',
rows: [[{
title: '五行',
columns: [{
showname: '五行',
shortname: 'hezhiwx',
realname: '[五行]',
tips: '选择20个开奖号码总和值的五行属性。',
example: '',
help: '',
select: {
layout: [{
balls: ['金(210~695)', '木(696~763)', '水(764~855)', '火(856~923)', '土(924~1410)'],
values: ['金', '木', '水', '火', '土'],
styles: ['metal', 'tree', 'water', 'fire', 'earth'],
tools: false,
cls: 'x-large f14'
}]
}
}]
}]]
}];
// 构造选号区域
this.buildSelectPlace = function(playArea, select) {
$.each(select.layout, function(i, val) {
var row = $('<div class="row">');
if(val.title) {
row.append('<div class="label">' + val.title + '</div>');
}
if(val.cls) {
row.addClass(val.cls);
}
// 球
var balls = $('<div class="balls">').append('<ul>');
$.each(val.balls, function(j, ball) {
var els = $('<li>').append('<a>' + ball + '</a>');
if(val.values) {
els.find('a').attr('data-val', val.values[j]);
} else {
els.find('a').attr('data-val', ball);
}
if(val.styles) {
els.find('a').addClass(val.styles[j]);
}
balls.find('ul').append(els);
});
balls.find('ul > li > a').click(function() {
if($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
// 关联事件maxLength
if(select.maxLength) {
var abs = playArea.find('.balls > ul > li > a.selected');
if(abs.length >= select.maxLength) {
return false;
}
}
$(this).addClass('selected');
}
that.PlayOptions.update();
});
row.append(balls);
// 工具
if(val.tools) {
buildBallTools(row, balls);
}
playArea.append(row);
});
}
};
return {LotteryMain:new LotteryMain()}
}()