You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1289 lines
45 KiB
1289 lines
45 KiB
<template>
|
|
<div class="rightClass">
|
|
<el-row :gutter="8">
|
|
<el-col :span="9">
|
|
<el-card style="height: 100%;">
|
|
<template #header>
|
|
<span>原始文本</span>
|
|
<el-button type="primary" @click="zhantie" text style="float: right;margin-top: -7px;">粘贴</el-button>
|
|
</template>
|
|
<div>
|
|
<el-input v-model="leftText" :rows="rowLines" type="textarea" :placeholder="placeholderLeftText" />
|
|
</div>
|
|
<template #footer>
|
|
<div style="text-align: center;">
|
|
<!-- <el-button text type="primary" @click="extractTcNumbers">体福</el-button> -->
|
|
<el-button text type="primary" @click="leftTongji">统计</el-button>
|
|
<el-button text type="danger" @click="leftClear">清空</el-button>
|
|
<el-button text type="success" @click="setFuwufei">服务费</el-button>
|
|
</div>
|
|
</template>
|
|
</el-card>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-card style="height: 100%;">
|
|
<template #header>
|
|
<span>代理人列表</span>
|
|
</template>
|
|
<div :style="`height: ${tableHeight}px;`">
|
|
<el-auto-resizer>
|
|
<template #default="{ height, width }">
|
|
<el-table-v2 ref="tableRef" :columns="headerList" :data="dailishangList" :width="width"
|
|
:height="height + 50" fixed>
|
|
<!-- 超出显示的内容 可以不要,会自动有原生的 -->
|
|
<template #row="{ rowData }">
|
|
<div v-bind="rowData" @click="checkRow(rowData)"
|
|
:class="rowData.check ? 'cellChecked everyCell' : 'everyCell'">
|
|
<span> {{ rowData.name }}{{ rowData.dailifei ? `(${rowData.dailifei}%)` : "(0%)" }}</span>
|
|
</div>
|
|
</template>
|
|
</el-table-v2>
|
|
</template>
|
|
</el-auto-resizer>
|
|
</div>
|
|
<el-select-v2 v-model="changciValue" :options="changciList" size="large" />
|
|
<template #footer>
|
|
<div style="text-align: center;">
|
|
<!-- <el-button type="danger" @click="minYuce">预测</el-button>
|
|
<el-button type="danger" @click="midTongji">统计</el-button> -->
|
|
<el-button text type="danger" @click="midTongji">预测</el-button>
|
|
<el-button text type="danger" @click="midClear">清空</el-button>
|
|
</div>
|
|
</template>
|
|
</el-card>
|
|
</el-col>
|
|
<el-col :span="9">
|
|
<el-card style="height: 100%;">
|
|
<template #header>
|
|
<span>{{ resultTitle }} </span>
|
|
</template>
|
|
<div>
|
|
<el-input v-model="rightText" :rows="rowLines" type="textarea" disabled placeholder="请点击左侧的统计数据" />
|
|
</div>
|
|
<template #footer>
|
|
<div style="text-align: center;">
|
|
<el-button text type="danger" @click="rightClear">清空</el-button>
|
|
</div>
|
|
</template>
|
|
</el-card>
|
|
</el-col>
|
|
</el-row>
|
|
</div>
|
|
<el-dialog v-model="dialogForm.visible" width="70%">
|
|
<template #header>
|
|
<div class="my-header">
|
|
<h4>{{ dialogForm.title }} <el-button text @click="jietu" style="margin-top:-7px ;float: right;">截图</el-button>
|
|
</h4>
|
|
</div>
|
|
</template>
|
|
<div>
|
|
<screen-short v-if="screenshotStatus" @get-image-data="getImg" @destroy-component="destroyComponent">
|
|
</screen-short>
|
|
<el-descriptions :title="checkDailishangRaw.name" direction="vertical" :column="7" size="large" border>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
开奖
|
|
</div>
|
|
</template>
|
|
{{ selectChangci.jiangxiang }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
总押注
|
|
</div>
|
|
</template>
|
|
{{ tongjiValue || 0 }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
代理费
|
|
</div>
|
|
</template>
|
|
{{ (((tongjiValue || 0) * (checkDailishangRaw.dailifei || 0)) / 100).toFixed(2) }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
中奖数
|
|
</div>
|
|
</template>
|
|
{{ zhongjiangshucount }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
中奖赔付
|
|
</div>
|
|
</template>
|
|
{{
|
|
zhongjiangshuTotal - Number((((tongjiValue || 0) * (checkDailishangRaw.dailifei || 0)) /
|
|
100).toFixed(2)) - Number(((tongjiValue * (fuwufei.fuwufeiValue || 0)) / 100).toFixed(2))
|
|
}}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
服务费
|
|
</div>
|
|
</template>
|
|
{{ ((tongjiValue * (fuwufei.fuwufeiValue || 0)) / 100).toFixed(2) }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
输赢
|
|
</div>
|
|
</template>
|
|
{{ ((tongjiValue || 0) - Number((((tongjiValue || 0) * ((checkDailishangRaw.dailifei || 0))) /
|
|
100).toFixed(2)) - zhongjiangshuTotal
|
|
- Number(((tongjiValue * (fuwufei.fuwufeiValue || 0)) / 100).toFixed(2))).toFixed(2)
|
|
}}
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
<!-- <el-descriptions :title="selectChangci.title" direction="vertical" :column="6" size="large" border>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
代理商姓名
|
|
</div>
|
|
</template>
|
|
{{ checkDailishangRaw.name }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
代理费(%)
|
|
</div>
|
|
</template>
|
|
{{ checkDailishangRaw.dailifei || 0 }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
联系方式
|
|
</div>
|
|
</template>
|
|
{{ checkDailishangRaw.phone }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
总金额
|
|
</div>
|
|
</template>
|
|
{{ _.sum(_.values(this.dataObj)) }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
代理费
|
|
</div>
|
|
</template>
|
|
{{ ((_.sum(_.values(this.dataObj)) * ((checkDailishangRaw.dailifei || 0))) / 100).toFixed(2) }}
|
|
</el-descriptions-item>
|
|
<el-descriptions-item>
|
|
<template #label>
|
|
<div class="cell-item">
|
|
剩余金额
|
|
</div>
|
|
</template>
|
|
{{ ((_.sum(_.values(this.dataObj)) * (100 - (checkDailishangRaw.dailifei || 0))) / 100).toFixed(2) }}
|
|
</el-descriptions-item>
|
|
</el-descriptions> -->
|
|
</div>
|
|
<template #footer>
|
|
<div class="dialog-footer">
|
|
<el-button text @click="closeDialog">关闭</el-button>
|
|
</div>
|
|
</template>
|
|
</el-dialog>
|
|
<el-dialog v-model="fuwufei.visible" title="设置服务费">
|
|
<div>
|
|
<span>服务费设置:</span>
|
|
<el-input-number v-model="fuwufei.fuwufeiValue" :min="0" :max="100">
|
|
<template #decrease-icon>
|
|
<el-icon>
|
|
<ArrowDown />
|
|
</el-icon>
|
|
</template>
|
|
<template #increase-icon>
|
|
<el-icon>
|
|
<ArrowUp />
|
|
</el-icon>
|
|
</template>
|
|
</el-input-number>
|
|
</div>
|
|
<template #footer>
|
|
<div class="dialog-footer">
|
|
<el-button text @click="submitFuwufei">确认</el-button>
|
|
<el-button text @click="closeFuwufei">关闭</el-button>
|
|
</div>
|
|
</template>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import _ from 'lodash'
|
|
import { myDatabase } from '../assets/js/db.js'
|
|
import dayjs from 'dayjs'
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
export default {
|
|
name: 'shujufenxi',
|
|
components: {},
|
|
data() {
|
|
return {
|
|
_: _,
|
|
dayjs: dayjs,
|
|
leftText: "",
|
|
placeholderLeftText:
|
|
`一单一组:684,784,876共12
|
|
单:784,961,637共6元
|
|
组:214,315共4元
|
|
组六:1269共10元
|
|
组六:12069共10元
|
|
组六:120769共10元
|
|
组三:874共10元
|
|
毒:6共10元
|
|
双飞:98共10元
|
|
定位:324共10元
|
|
全包对子:共10元
|
|
`,
|
|
// leftText: `一单一组:684,784,876共12
|
|
// 单:784,961,637共6
|
|
// 组:214,315共4
|
|
// 组六:1269共10
|
|
// 组六:12069共10
|
|
// 组六:120769共10
|
|
// 组三:874共10
|
|
// 毒:6
|
|
// 双飞:98共10
|
|
// 定位:324共共10
|
|
// 全包对子:共10元`,
|
|
rightText: "",
|
|
resultTitle: "",
|
|
changciList: [],
|
|
changciValue: "",
|
|
headerList: [],
|
|
dailishangList: [],
|
|
dialogForm: {
|
|
visible: false,
|
|
title: "统计",
|
|
},
|
|
checkDailishangRaw: {},
|
|
selectChangci: {},
|
|
dataObj: {},
|
|
zhongjiangshu: {},
|
|
zhongjiangshucount: 0,
|
|
zhongjiangshuTotal: 0,
|
|
tongjiValue: 0,
|
|
tableHeight: 500,
|
|
rowLines: 24,
|
|
fuwufei: {
|
|
visible: false,
|
|
fuwufeiValue: 0,
|
|
},
|
|
form: {},
|
|
formLocal: {
|
|
caipiaotype: "1",
|
|
danxuan: 900,
|
|
zuxuan: 150,
|
|
shuangfei: 15,
|
|
dudan: 3.3,
|
|
dingwei1: 9,
|
|
dingwei2: 80,
|
|
budingwei: 0,
|
|
fushi: 150,
|
|
quanbaoduizi: 3.3,
|
|
zuliu4: 35,
|
|
zuliu5: 15,
|
|
zuliu6: 7,
|
|
zuliu7: 4,
|
|
zusan4: 24,
|
|
zusan5: 15,
|
|
zusan6: 8,
|
|
zusan7: 6,
|
|
// bai: 0,
|
|
// shi: 0,
|
|
// ge: 0
|
|
},
|
|
screenshotStatus: false,
|
|
yidanyizu: /一单一组[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yizuliu: /组六[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yizusan: /组三[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yidu: /毒[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yishuangfei: /双飞[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yidingwei: /定位[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yibudingwei: /不定位[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yifushi: /复式[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yiquanbaoduizi: /全包对子/,
|
|
yidan: /单[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
yizu: /组[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
jine: /[合计|共]+(\d+)元*/
|
|
}
|
|
},
|
|
watch: {},
|
|
computed: {},
|
|
async mounted() {
|
|
await this.init()
|
|
// 获取窗口高度
|
|
let height = document.documentElement.clientHeight
|
|
},
|
|
|
|
methods: {
|
|
// 初始化
|
|
async init() {
|
|
await this.getChangci()
|
|
await this.getDailishang()
|
|
this.fuwufei.fuwufeiValue = localStorage.getItem("fuwufei") || 0
|
|
let height = document.documentElement.clientHeight
|
|
this.tableHeight = height - 224
|
|
// 根据高度设置行数
|
|
this.rowLines = Math.ceil((height - 200) / 21)
|
|
},
|
|
// 获取场次数据
|
|
async getChangci() {
|
|
this.changciList = []
|
|
let changciListRes = await myDatabase.changci.toArray()
|
|
for (let i = 0; i < changciListRes.length; i++) {
|
|
let element = changciListRes[i];
|
|
this.changciList.push({
|
|
label: element.xuhao,
|
|
xuhao: element.xuhao,
|
|
value: element.id,
|
|
first: element.first,
|
|
second: element.second,
|
|
third: element.third,
|
|
title: `${element.xuhao}:${element.first}-${element.second}-${element.third}`,
|
|
jiangxiang: `${element.first}-${element.second}-${element.third}`
|
|
})
|
|
}
|
|
},
|
|
// 获取代理人数据
|
|
async getDailishang() {
|
|
let checkRaw = _.cloneDeep(_.find(this.dailishangList, { check: true }))
|
|
this.dailishangList = []
|
|
let dalishangListRes = await myDatabase.dailishang.toArray()
|
|
for (let i = 0; i < dalishangListRes.length; i++) {
|
|
let element = dalishangListRes[i];
|
|
this.dailishangList.push({
|
|
name: element.name,
|
|
check: (checkRaw || {}).id === element.id,
|
|
dailifei: element.dailifei,
|
|
phone: element.phone,
|
|
id: element.id,
|
|
})
|
|
}
|
|
},
|
|
// 粘贴
|
|
async zhantie() {
|
|
let text = await navigator.clipboard.readText()
|
|
this.leftText = text
|
|
},
|
|
// 清空选中数据
|
|
clearCheck() {
|
|
for (let i = 0; i < this.dailishangList.length; i++) {
|
|
let element = this.dailishangList[i];
|
|
element.check = false
|
|
}
|
|
},
|
|
// 选中数据
|
|
checkRow(rowData) {
|
|
this.clearCheck()
|
|
rowData.check = !rowData.check
|
|
},
|
|
// 左侧统计数据
|
|
leftTongji() {
|
|
// 按照换行符分割
|
|
let leftTextArr = this.leftText.split("\n")
|
|
// 将分割后的每个字符串剔除含有日期的字符串和带退的行
|
|
leftTextArr = leftTextArr.filter(item => { return !(item.match(/\d{2}:\d{2}:\d{2}/g) || item.includes("退")) })
|
|
// 将剩下的字符串末尾最多两个汉字的最后一个数字取出
|
|
leftTextArr = leftTextArr.map(item => {
|
|
let lastNum = item.match(/\d+[\u4e00-\u9fa5]{0,2}$/)
|
|
if (lastNum) {
|
|
return Number(parseFloat(lastNum[0]))
|
|
}
|
|
})
|
|
leftTextArr = _.compact(leftTextArr)
|
|
this.rightText = _.sum(leftTextArr)
|
|
this.tongjizhongjiang()
|
|
return this.rightText
|
|
// let lastNum = (this.leftText.match(/\d+/g) || []).pop()
|
|
// this.rightText = (Number(this.rightText || 0) + Number(lastNum || 0)) || 0
|
|
},
|
|
// 左侧清空数据
|
|
leftClear() {
|
|
this.leftText = ""
|
|
},
|
|
// 中间预测
|
|
minYuce() {
|
|
if (!this.changciValue) {
|
|
ElMessage.error("请选择场次")
|
|
return
|
|
}
|
|
// let checkedList = this.dailishangList.filter(item => item.check)
|
|
// if (!checkedList.length) {
|
|
// ElMessage.error("请选择代理人")
|
|
// return
|
|
// }
|
|
let changciRow = this.changciList.find(item => item.value == this.changciValue)
|
|
// 替换所有的中文:为英文:
|
|
let dataObj = this.dealLeftData(changciRow)
|
|
this.rightText = this.jsonToTextLines(dataObj).join('\n') || "无"
|
|
},
|
|
// 统计中间数据
|
|
tongjizhongjiang() {
|
|
// 按照换行符分割
|
|
let leftTextArr = this.leftText.split("\n")
|
|
// 将分割后的每个字符串剔除含有日期的字符串和带退的行
|
|
leftTextArr = leftTextArr.filter(item => { return !(item.match(/\d{2}:\d{2}:\d{2}/g) || item.includes("退")) })
|
|
// 将剩下的字符串末尾最多两个汉字的最后一个数字取出
|
|
let dataObj = {}
|
|
leftTextArr = leftTextArr.map(item => {
|
|
let itemStr = item.replaceAll(":", ":")
|
|
// 以:或者:分割
|
|
let itemArr = _.split(itemStr, ":")
|
|
if (itemArr.length > 1) {
|
|
let lastNum = itemArr[1].match(/\d+[\u4e00-\u9fa5]{0,2}$/)
|
|
if (lastNum) {
|
|
dataObj[itemArr[0]] = Number(parseFloat(lastNum[0]))
|
|
return Number(parseFloat(lastNum[0]))
|
|
}
|
|
}
|
|
})
|
|
leftTextArr = _.compact(leftTextArr)
|
|
this.zhongjiangshu = dataObj
|
|
},
|
|
dealLeftData(changciRow) {
|
|
let leftTextTemp = this.leftText.replaceAll(":", ":")
|
|
let extraList = this.extractNumbers(changciRow.first || 0, changciRow.second || 0, changciRow.third || 0, leftTextTemp)
|
|
let dataList = []
|
|
let dataObj = {}
|
|
for (let i = 0; i < extraList.length; i++) {
|
|
let element = extraList[i];
|
|
let spitArr = element.split(":")
|
|
dataList.push({
|
|
key: spitArr[0],
|
|
value: Number(spitArr[1])
|
|
})
|
|
}
|
|
let groupData = _.groupBy(dataList, "key")
|
|
for (let key in groupData) {
|
|
let value = groupData[key]
|
|
dataObj[key] = Number(_.sumBy(value, "value"))
|
|
}
|
|
return dataObj
|
|
},
|
|
// 中间统计
|
|
midTongji() {
|
|
if (!this.changciValue) {
|
|
ElMessage.error("请选择场次")
|
|
return
|
|
}
|
|
let checkedList = this.dailishangList.filter(item => item.check)
|
|
if (!checkedList.length) {
|
|
ElMessage.error("请选择代理人")
|
|
return
|
|
}
|
|
if (!this.leftText) {
|
|
ElMessage.error("请填写内容后预测")
|
|
return
|
|
}
|
|
this.checkDailishangRaw = _.find(this.dailishangList, { check: true })
|
|
this.selectChangci = _.find(this.changciList, { value: this.changciValue })
|
|
// this.tongjiValue = this.leftTongji()
|
|
this.extractTcNumbers()
|
|
// this.zhongjiangshuTotal = Number(this.zhongjiangshu[this.selectChangci.first] || 0) + Number(this.zhongjiangshu[this.selectChangci.second] || 0) + Number(this.zhongjiangshu[this.selectChangci.third] || 0)
|
|
this.dialogForm.visible = true
|
|
},
|
|
// 设置服务费
|
|
setFuwufei() {
|
|
this.fuwufei.visible = true
|
|
this.fuwufei.fuwufeiValue = localStorage.getItem("fuwufei") || 0
|
|
},
|
|
// 确认服务费
|
|
submitFuwufei() {
|
|
localStorage.setItem("fuwufei", this.fuwufei.fuwufeiValue)
|
|
this.closeFuwufei()
|
|
},
|
|
// 取消设置
|
|
closeFuwufei() {
|
|
this.fuwufei.visible = false
|
|
},
|
|
// 关闭弹窗
|
|
closeDialog() {
|
|
this.dialogForm.visible = false
|
|
this.checkDailishangRaw = {}
|
|
this.selectChangci = {}
|
|
this.dataObj = {}
|
|
},
|
|
// 中间清空数据
|
|
midClear() {
|
|
this.changciValue = ""
|
|
this.clearCheck()
|
|
},
|
|
// 右侧清空数据
|
|
rightClear() {
|
|
this.rightText = ""
|
|
},
|
|
// 提取数字
|
|
extractNumbers(key1, key2, key3, str) {
|
|
let timeRegex = /\b\d{2}:\d{2}:\d{2}\b/g;
|
|
let strTemp = str.replaceAll(timeRegex, '');
|
|
let keys = [key1, key2, key3].filter(key => key !== undefined).join('|');
|
|
let regex = new RegExp(`(?<![\\d])(${keys})[:∶]\\d+`, 'g')
|
|
// 执行匹配
|
|
let matches = strTemp.match(regex);
|
|
// 如果没有找到匹配项,则返回空数组
|
|
return matches || [];
|
|
},
|
|
// 将 JSON 对象转换为文本行
|
|
jsonToTextLines(jsonObj) {
|
|
// 将 JSON 对象转换为文本行
|
|
function convert(obj, prefix = '') {
|
|
if (typeof obj === 'object' && obj !== null) {
|
|
let lines = [];
|
|
for (let key in obj) {
|
|
if (obj.hasOwnProperty(key)) {
|
|
let value = obj[key];
|
|
let newPrefix = prefix ? `${prefix}.${key}` : key;
|
|
lines = lines.concat(convert(value, newPrefix));
|
|
}
|
|
}
|
|
return lines;
|
|
} else {
|
|
return [`${prefix}: ${obj}`];
|
|
}
|
|
}
|
|
return convert(jsonObj);
|
|
},
|
|
|
|
jietu() {
|
|
this.screenshotStatus = true;//显示截图插件
|
|
},
|
|
|
|
//截图按了√以后生成64编码
|
|
async getImg(base64) {
|
|
let uploadlist = []
|
|
let image = new Image();
|
|
let that = this
|
|
image.src = base64;
|
|
image.onload = () => {
|
|
let canvas = convertImageToCanvas(image);
|
|
let url = canvas.toDataURL('image/jpeg');
|
|
let name = that.guid();
|
|
uploadlist.push({ image: url, name: name });
|
|
};
|
|
},
|
|
//生成文件唯一编码作为name 方便后续删除图片时查找对象
|
|
guid() {
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
let r = (Math.random() * 16) | 0,
|
|
v = c == 'x' ? r : (r & 0x3) | 0x8;
|
|
return v.toString(16);
|
|
});
|
|
},
|
|
//取消截图 显示弹窗 隐藏截图插件
|
|
destroyComponent() {
|
|
this.screenshotStatus = false;
|
|
},
|
|
// 提取体彩和福彩的数字和金额
|
|
extractTcNumbers() {
|
|
if (!this.changciValue) {
|
|
ElMessage.error("请选择场次")
|
|
return
|
|
}
|
|
let checkedList = this.dailishangList.filter(item => item.check)
|
|
if (!checkedList.length) {
|
|
ElMessage.error("请选择代理人")
|
|
return
|
|
}
|
|
if (!this.leftText) {
|
|
ElMessage.error("请填写内容后预测")
|
|
return
|
|
}
|
|
let formData = JSON.parse(localStorage.getItem('peifu') || "{}")
|
|
if (_.isEmpty(formData)) {
|
|
formData = this.formLocal
|
|
} else {
|
|
formData = { ...this.formLocal, ...formData }
|
|
}
|
|
let haomaList = []
|
|
// 按照换行符分割
|
|
let leftTextArr = this.leftText.split("\n")
|
|
// 将分割后的每个字符串剔除含有日期的字符串和带退的行
|
|
leftTextArr = leftTextArr.filter(item => { return !(item.match(/\d{2}:\d{2}:\d{2}/g) || item.includes("退")) })
|
|
// 将剩下的字符串末尾最多两个汉字的最后一个数字取出
|
|
// yidanyizu: /一单一组[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yizuliu: /1组六[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yizusan: /1组三[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yidu: /1毒[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yishuangfei: /1双飞[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yidingwei: /1定位[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yibudingwei: /1不定位[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yifushi: /1复式[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yiquanbaoduizi: /1全包对子[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yidan: /1单[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// yizu: /1组[:|:]*([\d,.\s]+)(?=合计|共*)/,
|
|
// jine: /[合计|共]+(\d+)元*/
|
|
for (let i = 0; i < leftTextArr.length; i++) {
|
|
let item = leftTextArr[i];
|
|
let type = "体彩"
|
|
if (item.includes("福彩")) {
|
|
type = "福彩"
|
|
}
|
|
let jine = item.match(this.jine)
|
|
if (jine) {
|
|
jine = Number(jine[1])
|
|
} else {
|
|
continue
|
|
}
|
|
let haoma = []
|
|
// 一单一组
|
|
if (item.match(this.yidanyizu)) {
|
|
let match = item.match(this.yidanyizu)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let danxuanList = []
|
|
let zuxuanList = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
danxuanList.push({
|
|
type: "danxuan",
|
|
value: [`${numberItem}`],
|
|
jine: (jine / 2) / (haoma.length)
|
|
})
|
|
zuxuanList.push({
|
|
type: "zuxuan",
|
|
value: [`${numberItem}`],
|
|
jine: (jine / 2) / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1单",
|
|
numbers: danxuanList,
|
|
})
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1组",
|
|
numbers: zuxuanList,
|
|
})
|
|
}
|
|
// 1组六
|
|
else if (item.match(this.yizuliu)) {
|
|
let match = item.match(this.yizuliu)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let groupBy = _.groupBy(haoma, o => { return `${o}`.length });
|
|
for (let key in groupBy) {
|
|
haomaList.push({
|
|
type: type,
|
|
name: `1组六${key}码`,
|
|
numbers: [{
|
|
type: `zuliu${key}`,
|
|
value: groupBy[key],
|
|
jine: (jine / haoma.length) * (groupBy[key].length)
|
|
}],
|
|
})
|
|
}
|
|
|
|
}
|
|
// 1组三
|
|
else if (item.match(this.yizusan)) {
|
|
let match = item.match(this.yizusan)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let groupBy = _.groupBy(haoma, o => { return `${o}`.length });
|
|
for (let key in groupBy) {
|
|
haomaList.push({
|
|
type: type,
|
|
name: `1组三${key}码`,
|
|
numbers: [{
|
|
type: `zusan${key}`,
|
|
value: groupBy[key],
|
|
jine: (jine / haoma.length) * (groupBy[key].length)
|
|
}],
|
|
})
|
|
}
|
|
}
|
|
// 1毒
|
|
else if (item.match(this.yidu)) {
|
|
let match = item.match(this.yidu)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let duslist = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
duslist.push({
|
|
type: "dudan",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1毒",
|
|
numbers: duslist,
|
|
})
|
|
}
|
|
// 1双飞
|
|
else if (item.match(this.yishuangfei)) {
|
|
let match = item.match(this.yishuangfei)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let shaungfeislist = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
shaungfeislist.push({
|
|
type: "shuangfei",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1双飞",
|
|
numbers: shaungfeislist,
|
|
})
|
|
}
|
|
// 1定位
|
|
else if (item.match(this.yidingwei)) {
|
|
let match = item.match(this.yidingwei)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let dingweislist = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
dingweislist.push({
|
|
type: "dingwei",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1定位",
|
|
numbers: dingweislist,
|
|
})
|
|
}
|
|
// 1不定位
|
|
else if (item.match(this.yibudingwei)) {
|
|
let match = item.match(this.yibudingwei)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let budingweislist = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
budingweislist.push({
|
|
type: "budingwei",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1不定位",
|
|
numbers: budingweislist,
|
|
})
|
|
}
|
|
// 1复式
|
|
else if (item.match(this.yifushi)) {
|
|
let match = item.match(this.yifushi)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let budingweislist = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
budingweislist.push({
|
|
type: "fushi",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1复式",
|
|
numbers: budingweislist,
|
|
})
|
|
}
|
|
// 1全包对子
|
|
else if (item.match(this.yiquanbaoduizi)) {
|
|
let quanbaoduizislist = [{
|
|
type: "quanbaoduizi",
|
|
value: [],
|
|
jine: jine
|
|
}]
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1全包对子",
|
|
numbers: quanbaoduizislist,
|
|
})
|
|
}
|
|
// 1单
|
|
else if (item.match(this.yidan)) {
|
|
let match = item.match(this.yidan)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let danxuanList = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
danxuanList.push({
|
|
type: "danxuan",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1单",
|
|
numbers: danxuanList,
|
|
})
|
|
}
|
|
// 1组
|
|
else if (item.match(this.yizu)) {
|
|
let match = item.match(this.yizu)
|
|
let numbers = match[1].replace(/\s+/g, '').replace(/[,\.]+/g, ',');
|
|
haoma = _.compact(_.split(numbers, ","))
|
|
let zuxuanList = []
|
|
for (let j = 0; j < haoma.length; j++) {
|
|
let numberItem = haoma[j];
|
|
zuxuanList.push({
|
|
type: "zuxuan",
|
|
value: [`${numberItem}`],
|
|
jine: jine / (haoma.length)
|
|
})
|
|
}
|
|
haomaList.push({
|
|
type: type,
|
|
name: "1组",
|
|
numbers: zuxuanList,
|
|
})
|
|
}
|
|
// 其他情况继续下一个循环
|
|
else {
|
|
continue
|
|
}
|
|
}
|
|
// 选中的代理商
|
|
let checkDailishangRaw = _.find(this.dailishangList, { check: true })
|
|
// 选中的场次
|
|
let selectChangci = _.find(this.changciList, { value: this.changciValue })
|
|
this.checkDailishangRaw = checkDailishangRaw
|
|
this.selectChangci = selectChangci
|
|
|
|
// 中奖号码
|
|
let zhonghaoma = `${selectChangci.first}${selectChangci.second}${selectChangci.third}`
|
|
// 选中的代理商的代理费
|
|
// let selectdailifei = Number(checkDailishangRaw.dailifei / 100)
|
|
let alljine = []
|
|
let jinegroupBy = _.groupBy(haomaList, o => `${o.type}:${o.name}`)
|
|
for (let key in jinegroupBy) {
|
|
let value = jinegroupBy[key];
|
|
let jineList = []
|
|
let keyLocal = key
|
|
for (let i = 0; i < value.length; i++) {
|
|
let element = value[i];
|
|
for (let j = 0; j < element.numbers.length; j++) {
|
|
let item = element.numbers[j];
|
|
keyLocal = item.type
|
|
jineList.push({
|
|
...item
|
|
})
|
|
}
|
|
}
|
|
alljine.push({
|
|
key: keyLocal,
|
|
name: key,
|
|
data: jineList
|
|
})
|
|
}
|
|
//alljine= [{"key":"danxuan","name":"体彩:1单","data":[{"type":"danxuan","value":["684"],"jine":2},{"type":"danxuan","value":["784"],"jine":2},{"type":"danxuan","value":["876"],"jine":2},{"type":"danxuan","value":["784"],"jine":6}]},{"key":"zuxuan","name":"体彩:1组","data":[{"type":"zuxuan","value":["684"],"jine":2},{"type":"zuxuan","value":["784"],"jine":2},{"type":"zuxuan","value":["876"],"jine":2},{"type":"zuxuan","value":["214"],"jine":4}]},{"key":"zuliu4","name":"体彩:1组六4码","data":[{"type":"zuliu4","numbers":["1269"],"jine":10}]},{"key":"zuliu5","name":"体彩:1组六5码","data":[{"type":"zuliu5","numbers":["12069"],"jine":10}]},{"key":"zuliu6","name":"体彩:1组六6码","data":[{"type":"zuliu6","numbers":["120769"],"jine":10}]},{"key":"zusan3","name":"体彩:1组三3码","data":[{"type":"zusan3","numbers":["874"],"jine":10}]},{"key":"shuangfei","name":"体彩:1双飞","data":[{"type":"shuangfei","value":["98"],"jine":10}]},{"key":"dingwei","name":"体彩:1定位","data":[{"type":"dingwei","value":["324"],"jine":10}]}]
|
|
let alljineLocal = {}
|
|
for (let i = 0; i < alljine.length; i++) {
|
|
let element = alljine[i]
|
|
// 处理1单的玩法
|
|
if (element.key == 'danxuan') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
if (xiangmu === zhonghaoma) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理1组的玩法
|
|
else if (element.key == 'zuxuan') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 0) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组六4码的玩法
|
|
else if (element.key == 'zuliu4') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 0) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组六5码的玩法
|
|
else if (element.key == 'zuliu5') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 0) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组六6码的玩法
|
|
else if (element.key == 'zuliu6') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 0) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组六7码的玩法
|
|
else if (element.key == 'zuliu7') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 0) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组三4码的玩法
|
|
else if (element.key == 'zusan4') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length <= 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组三5码的玩法
|
|
else if (element.key == 'zusan5') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length <= 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组三6码的玩法
|
|
else if (element.key == 'zusan6') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length <= 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理组三7码的玩法
|
|
else if (element.key == 'zusan7') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length <= 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理毒胆的玩法
|
|
else if (element.key == 'dudan') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
if (_.difference(zhonghaomaArr, xiangmuArr).length === 2) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理定位的玩法
|
|
else if (element.key == 'dingwei') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
let count = 0
|
|
for (let l = 0; l < zhonghaomaArr.length; l++) {
|
|
if (`${xiangmuArr[l]}` === `${zhonghaomaArr[l]}`) {
|
|
count++
|
|
}
|
|
}
|
|
if (count === 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[`${element.key}1`])
|
|
} else if (count > 1) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[`${element.key}2`])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理不定位的玩法
|
|
// else if (element.key == 'budingwei') {
|
|
// let dataObj = {
|
|
// all: 0,
|
|
// zhong: 0
|
|
// }
|
|
// for (let j = 0; j < element.data.length; j++) {
|
|
// let item = element.data[j];
|
|
// dataObj.all += Number(item.jine)
|
|
// for (let k = 0; k < item.value.length; k++) {
|
|
// let xiangmu = `${item.value[k]}`;
|
|
// let xiangmuArr = xiangmu.split('');
|
|
// let zhonghaomaArr = zhonghaoma.split('');
|
|
// let count = 0
|
|
// for (let l = 0; l < zhonghaomaArr.length; l++) {
|
|
// if (xiangmuArr.includes(zhonghaomaArr[l])) {
|
|
// count++
|
|
// }
|
|
// }
|
|
// if (count >= 1) {
|
|
// dataObj.zhong += Number(item.jine) * 9
|
|
// }
|
|
// }
|
|
// }
|
|
// alljineLocal[element.key] = dataObj
|
|
// }
|
|
// 处理双飞的玩法
|
|
else if (element.key == 'shuangfei') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
let count = 0
|
|
for (let l = 0; l < zhonghaomaArr.length; l++) {
|
|
if (xiangmuArr.includes(zhonghaomaArr[l])) {
|
|
count++
|
|
}
|
|
}
|
|
if (count >= 2) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理复式的玩法
|
|
else if (element.key == 'fushi') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
for (let k = 0; k < item.value.length; k++) {
|
|
let xiangmu = `${item.value[k]}`;
|
|
let xiangmuArr = xiangmu.split('');
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
let count = 0
|
|
for (let l = 0; l < zhonghaomaArr.length; l++) {
|
|
if (xiangmuArr.includes(zhonghaomaArr[l])) {
|
|
count++
|
|
}
|
|
}
|
|
if (count >= 3) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
// 处理全包对子的玩法
|
|
else if (element.key == 'quanbaoduizi') {
|
|
let dataObj = {
|
|
all: 0,
|
|
zhong: 0
|
|
}
|
|
for (let j = 0; j < element.data.length; j++) {
|
|
let item = element.data[j];
|
|
dataObj.all += Number(item.jine)
|
|
let zhonghaomaArr = zhonghaoma.split('');
|
|
zhonghaomaArr = _.uniq(zhonghaomaArr)
|
|
if (zhonghaomaArr.length < 3) {
|
|
dataObj.zhong += Number(item.jine) * Number(formData[element.key])
|
|
}
|
|
}
|
|
alljineLocal[element.key] = dataObj
|
|
}
|
|
}
|
|
this.tongjiValue = 0
|
|
this.zhongjiangshuTotal = 0
|
|
this.zhongjiangshucount = 0
|
|
for (let key in alljineLocal) {
|
|
this.tongjiValue += alljineLocal[key].all
|
|
this.zhongjiangshuTotal += alljineLocal[key].zhong
|
|
if (alljineLocal[key].zhong > 0) {
|
|
this.zhongjiangshucount++
|
|
}
|
|
}
|
|
// console.log(alljineLocal)
|
|
// ElMessage({
|
|
// type: 'success',
|
|
// message: JSON.stringify(haomaList),
|
|
// duration: 3000
|
|
// })
|
|
return haomaList
|
|
},
|
|
},
|
|
|
|
}
|
|
</script>
|
|
<style scoped>
|
|
.rightClass {
|
|
padding: 8px;
|
|
}
|
|
|
|
.cellChecked {
|
|
background-color: #edf5ff;
|
|
|
|
}
|
|
|
|
.everyCell {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
text-align: center;
|
|
line-height: 50px;
|
|
}
|
|
</style>
|
|
|