UNPKG

lixin-web

Version:

vue and bootstrap

455 lines (447 loc) 16 kB
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()} }()