init
Showing
14 changed files
with
59 additions
and
35 deletions
This diff could not be displayed because it is too large.
No preview for this file type
| ... | @@ -8,7 +8,7 @@ | ... | @@ -8,7 +8,7 @@ |
| 8 | <link | 8 | <link |
| 9 | rel="stylesheet" | 9 | rel="stylesheet" |
| 10 | href="https://at.alicdn.com/t/font_1594571_5oi8u1hs5fy.css"/> | 10 | href="https://at.alicdn.com/t/font_1594571_5oi8u1hs5fy.css"/> |
| 11 | <title>luckydraw</title> | 11 | <title>赤金科技-年会抽奖</title> |
| 12 | </head> | 12 | </head> |
| 13 | <body> | 13 | <body> |
| 14 | <noscript> | 14 | <noscript> | ... | ... |
This diff is collapsed.
Click to expand it.
src/assets/bg.png
0 → 100644
689 KB
| ... | @@ -2379,7 +2379,7 @@ | ... | @@ -2379,7 +2379,7 @@ |
| 2379 | shadowOffset: [0, 0], | 2379 | shadowOffset: [0, 0], |
| 2380 | initial: null, | 2380 | initial: null, |
| 2381 | hideTags: true, | 2381 | hideTags: true, |
| 2382 | zoom: 1, | 2382 | zoom: 0.7, |
| 2383 | weight: false, | 2383 | weight: false, |
| 2384 | weightMode: "size", | 2384 | weightMode: "size", |
| 2385 | weightFrom: null, | 2385 | weightFrom: null, |
| ... | @@ -2395,7 +2395,7 @@ | ... | @@ -2395,7 +2395,7 @@ |
| 2395 | txtOpt: true, | 2395 | txtOpt: true, |
| 2396 | txtScale: 2, | 2396 | txtScale: 2, |
| 2397 | frontSelect: false, | 2397 | frontSelect: false, |
| 2398 | wheelZoom: true, | 2398 | wheelZoom: false, |
| 2399 | zoomMin: 0.3, | 2399 | zoomMin: 0.3, |
| 2400 | zoomMax: 3, | 2400 | zoomMax: 3, |
| 2401 | zoomStep: 0.05, | 2401 | zoomStep: 0.05, |
| ... | @@ -2414,7 +2414,7 @@ | ... | @@ -2414,7 +2414,7 @@ |
| 2414 | shuffleTags: false, | 2414 | shuffleTags: false, |
| 2415 | noSelect: false, | 2415 | noSelect: false, |
| 2416 | noMouse: false, | 2416 | noMouse: false, |
| 2417 | imageScale: 1, | 2417 | imageScale: 1.6, |
| 2418 | paused: false, | 2418 | paused: false, |
| 2419 | dragControl: false, | 2419 | dragControl: false, |
| 2420 | dragThreshold: 4, | 2420 | dragThreshold: 4, | ... | ... |
| ... | @@ -75,7 +75,7 @@ export default { | ... | @@ -75,7 +75,7 @@ export default { |
| 75 | const formData = new FormData(); | 75 | const formData = new FormData(); |
| 76 | formData.append('uploadImg', fileList[0]); | 76 | formData.append('uploadImg', fileList[0]); |
| 77 | const reader = new FileReader(); | 77 | const reader = new FileReader(); |
| 78 | const AllowImgFileSize = 1024 * 150; | 78 | const AllowImgFileSize = 1024 * 200; |
| 79 | const file = fileList[0]; | 79 | const file = fileList[0]; |
| 80 | if (file) { | 80 | if (file) { |
| 81 | this.filename = file.name; | 81 | this.filename = file.name; | ... | ... |
| ... | @@ -31,6 +31,7 @@ | ... | @@ -31,6 +31,7 @@ |
| 31 | :step="1" | 31 | :step="1" |
| 32 | ></el-input> | 32 | ></el-input> |
| 33 | </el-form-item> | 33 | </el-form-item> |
| 34 | <!-- | ||
| 34 | <el-form-item label="一等奖"> | 35 | <el-form-item label="一等奖"> |
| 35 | <el-input | 36 | <el-input |
| 36 | type="number" | 37 | type="number" |
| ... | @@ -39,6 +40,7 @@ | ... | @@ -39,6 +40,7 @@ |
| 39 | :step="1" | 40 | :step="1" |
| 40 | ></el-input> | 41 | ></el-input> |
| 41 | </el-form-item> | 42 | </el-form-item> |
| 43 | --> | ||
| 42 | <el-form-item | 44 | <el-form-item |
| 43 | :label="newitem.name" | 45 | :label="newitem.name" |
| 44 | v-for="newitem in storeNewLottery" | 46 | v-for="newitem in storeNewLottery" |
| ... | @@ -126,7 +128,7 @@ export default { | ... | @@ -126,7 +128,7 @@ export default { |
| 126 | const str = 'abcdefghijklmnopqrstuvwxyz'; | 128 | const str = 'abcdefghijklmnopqrstuvwxyz'; |
| 127 | let fieldStr = ''; | 129 | let fieldStr = ''; |
| 128 | for (let index = 0; index < 10; index++) { | 130 | for (let index = 0; index < 10; index++) { |
| 129 | fieldStr += str.split('')[randomNum(1, 27) - 1]; | 131 | fieldStr += str.split('')[randomNum(1, 26) - 1]; |
| 130 | } | 132 | } |
| 131 | return `${fieldStr}${Date.now()}`; | 133 | return `${fieldStr}${Date.now()}`; |
| 132 | }, | 134 | }, | ... | ... |
| ... | @@ -30,8 +30,11 @@ export default { | ... | @@ -30,8 +30,11 @@ export default { |
| 30 | result() { | 30 | result() { |
| 31 | return this.$store.state.result; | 31 | return this.$store.state.result; |
| 32 | }, | 32 | }, |
| 33 | list() { | ||
| 34 | return this.$store.state.list; | ||
| 35 | }, | ||
| 33 | message() { | 36 | message() { |
| 34 | const { result, config } = this; | 37 | const { result, config, list } = this; |
| 35 | const fields = Object.keys(config); | 38 | const fields = Object.keys(config); |
| 36 | 39 | ||
| 37 | let message = [{ key: 0, title: config.name }]; | 40 | let message = [{ key: 0, title: config.name }]; |
| ... | @@ -42,7 +45,12 @@ export default { | ... | @@ -42,7 +45,12 @@ export default { |
| 42 | key: index + 1, | 45 | key: index + 1, |
| 43 | title: `${label}抽奖结果:`, | 46 | title: `${label}抽奖结果:`, |
| 44 | value: `${ | 47 | value: `${ |
| 45 | result[item].length > 0 ? result[item].join('、') : '暂未抽取' | 48 | result[item].length > 0 |
| 49 | ? list | ||
| 50 | .filter(v => result[item].indexOf(v.key) > -1) | ||
| 51 | .map(v => v.name) | ||
| 52 | .join('、') | ||
| 53 | : '暂未抽取' | ||
| 46 | }` | 54 | }` |
| 47 | }); | 55 | }); |
| 48 | } | 56 | } |
| ... | @@ -57,7 +65,6 @@ export default { | ... | @@ -57,7 +65,6 @@ export default { |
| 57 | .c-Publicity { | 65 | .c-Publicity { |
| 58 | height: 100%; | 66 | height: 100%; |
| 59 | // width: 1000px; | 67 | // width: 1000px; |
| 60 | background-color: rgba(255, 255, 255, 0.1); | ||
| 61 | margin: 0 auto; | 68 | margin: 0 auto; |
| 62 | position: relative; | 69 | position: relative; |
| 63 | overflow: hidden; | 70 | overflow: hidden; |
| ... | @@ -66,14 +73,14 @@ export default { | ... | @@ -66,14 +73,14 @@ export default { |
| 66 | color: #fff; | 73 | color: #fff; |
| 67 | font-size: 16px; | 74 | font-size: 16px; |
| 68 | .title { | 75 | .title { |
| 69 | color: #ccc; | 76 | color: #f1d192; |
| 70 | } | 77 | } |
| 71 | .value { | 78 | .value { |
| 72 | margin-left: 10px; | 79 | margin-left: 10px; |
| 73 | } | 80 | } |
| 74 | &.actiname { | 81 | &.actiname { |
| 75 | .title { | 82 | .title { |
| 76 | color: red; | 83 | color: #fff; |
| 77 | font-size: 20px; | 84 | font-size: 20px; |
| 78 | } | 85 | } |
| 79 | } | 86 | } | ... | ... |
| ... | @@ -35,9 +35,9 @@ | ... | @@ -35,9 +35,9 @@ |
| 35 | class="card" | 35 | class="card" |
| 36 | v-for="(data, j) in item.value" | 36 | v-for="(data, j) in item.value" |
| 37 | :key="j" | 37 | :key="j" |
| 38 | :data-res="data" | 38 | :data-res="data.number" |
| 39 | > | 39 | > |
| 40 | {{ data }} | 40 | {{ data.name }} |
| 41 | </span> | 41 | </span> |
| 42 | </span> | 42 | </span> |
| 43 | </div> | 43 | </div> |
| ... | @@ -59,6 +59,9 @@ export default { | ... | @@ -59,6 +59,9 @@ export default { |
| 59 | this.$store.commit('setResult', val); | 59 | this.$store.commit('setResult', val); |
| 60 | } | 60 | } |
| 61 | }, | 61 | }, |
| 62 | list() { | ||
| 63 | return this.$store.state.list; | ||
| 64 | }, | ||
| 62 | resultList() { | 65 | resultList() { |
| 63 | const list = []; | 66 | const list = []; |
| 64 | for (const key in this.result) { | 67 | for (const key in this.result) { |
| ... | @@ -68,7 +71,10 @@ export default { | ... | @@ -68,7 +71,10 @@ export default { |
| 68 | list.push({ | 71 | list.push({ |
| 69 | label: key, | 72 | label: key, |
| 70 | name, | 73 | name, |
| 71 | value: element | 74 | value: element.map(v => ({ |
| 75 | number: v, | ||
| 76 | name: this.list.filter(vv => vv.key === v)[0].name | ||
| 77 | })) | ||
| 72 | }); | 78 | }); |
| 73 | } | 79 | } |
| 74 | } | 80 | } | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -35,13 +35,27 @@ export function randomNum(minNum = 1, maxNum) { | ... | @@ -35,13 +35,27 @@ export function randomNum(minNum = 1, maxNum) { |
| 35 | */ | 35 | */ |
| 36 | export function luckydrawHandler(total, won = [], num) { | 36 | export function luckydrawHandler(total, won = [], num) { |
| 37 | const peolist = generateArray(1, Number(total)); | 37 | const peolist = generateArray(1, Number(total)); |
| 38 | const wons = won; | 38 | let wons = won; |
| 39 | const res = []; | 39 | const res = []; |
| 40 | for (let j = 0; j < num; j++) { | 40 | const rest = peolist.filter(item => !wons.includes(item)); |
| 41 | const nodraws = peolist.filter(item => !wons.includes(item)); | 41 | |
| 42 | const current = nodraws[randomNum(1, nodraws.length) - 1]; | 42 | if (rest.length < num) { |
| 43 | res.push(current); | 43 | res.push(...rest); |
| 44 | wons.push(current); | 44 | wons = [...rest]; |
| 45 | for (let j = 0; j < num - rest.length; j++) { | ||
| 46 | const nodraws = peolist.filter(item => !wons.includes(item)); | ||
| 47 | const current = nodraws[randomNum(1, nodraws.length) - 1]; | ||
| 48 | res.push(current); | ||
| 49 | wons.push(current); | ||
| 50 | } | ||
| 51 | } else { | ||
| 52 | for (let j = 0; j < num; j++) { | ||
| 53 | const nodraws = peolist.filter(item => !wons.includes(item)); | ||
| 54 | const current = nodraws[randomNum(1, nodraws.length) - 1]; | ||
| 55 | res.push(current); | ||
| 56 | wons.push(current); | ||
| 57 | } | ||
| 45 | } | 58 | } |
| 59 | |||
| 46 | return res; | 60 | return res; |
| 47 | } | 61 | } | ... | ... |
| ... | @@ -39,6 +39,7 @@ export const newLotteryField = 'newLottery'; // 新增奖项 | ... | @@ -39,6 +39,7 @@ export const newLotteryField = 'newLottery'; // 新增奖项 |
| 39 | export const listField = 'list'; // 名单 | 39 | export const listField = 'list'; // 名单 |
| 40 | export function conversionCategoryName(key) { | 40 | export function conversionCategoryName(key) { |
| 41 | let name = ''; | 41 | let name = ''; |
| 42 | /* | ||
| 42 | switch (key) { | 43 | switch (key) { |
| 43 | case 'firstPrize': | 44 | case 'firstPrize': |
| 44 | name = '一等奖'; | 45 | name = '一等奖'; |
| ... | @@ -46,6 +47,7 @@ export function conversionCategoryName(key) { | ... | @@ -46,6 +47,7 @@ export function conversionCategoryName(key) { |
| 46 | default: | 47 | default: |
| 47 | break; | 48 | break; |
| 48 | } | 49 | } |
| 50 | */ | ||
| 49 | const newLottery = getData(newLotteryField) || []; | 51 | const newLottery = getData(newLotteryField) || []; |
| 50 | const findres = newLottery.find(item => item.key === key); | 52 | const findres = newLottery.find(item => item.key === key); |
| 51 | if (findres) { | 53 | if (findres) { | ... | ... |
| ... | @@ -13,12 +13,9 @@ export default new Vuex.Store({ | ... | @@ -13,12 +13,9 @@ export default new Vuex.Store({ |
| 13 | state: { | 13 | state: { |
| 14 | config: { | 14 | config: { |
| 15 | name: '年会抽奖', | 15 | name: '年会抽奖', |
| 16 | number: 70, | 16 | number: 44 |
| 17 | firstPrize: 1 | ||
| 18 | }, | ||
| 19 | result: { | ||
| 20 | firstPrize: [] | ||
| 21 | }, | 17 | }, |
| 18 | result: {}, | ||
| 22 | newLottery: [], | 19 | newLottery: [], |
| 23 | list: [], | 20 | list: [], |
| 24 | photos: [] | 21 | photos: [] |
| ... | @@ -27,8 +24,7 @@ export default new Vuex.Store({ | ... | @@ -27,8 +24,7 @@ export default new Vuex.Store({ |
| 27 | setClearConfig(state) { | 24 | setClearConfig(state) { |
| 28 | state.config = { | 25 | state.config = { |
| 29 | name: '年会抽奖', | 26 | name: '年会抽奖', |
| 30 | number: 70, | 27 | number: 44 |
| 31 | firstPrize: 1 | ||
| 32 | }; | 28 | }; |
| 33 | state.newLottery = []; | 29 | state.newLottery = []; |
| 34 | }, | 30 | }, |
| ... | @@ -39,19 +35,14 @@ export default new Vuex.Store({ | ... | @@ -39,19 +35,14 @@ export default new Vuex.Store({ |
| 39 | state.photos = []; | 35 | state.photos = []; |
| 40 | }, | 36 | }, |
| 41 | setClearResult(state) { | 37 | setClearResult(state) { |
| 42 | state.result = { | 38 | state.result = {}; |
| 43 | firstPrize: [] | ||
| 44 | }; | ||
| 45 | }, | 39 | }, |
| 46 | setClearStore(state) { | 40 | setClearStore(state) { |
| 47 | state.config = { | 41 | state.config = { |
| 48 | name: '年会抽奖', | 42 | name: '年会抽奖', |
| 49 | number: 70, | 43 | number: 44 |
| 50 | firstPrize: 1 | ||
| 51 | }; | ||
| 52 | state.result = { | ||
| 53 | firstPrize: [] | ||
| 54 | }; | 44 | }; |
| 45 | state.result = {}; | ||
| 55 | state.newLottery = []; | 46 | state.newLottery = []; |
| 56 | state.list = []; | 47 | state.list = []; |
| 57 | state.photos = []; | 48 | state.photos = []; |
| ... | @@ -65,9 +56,11 @@ export default new Vuex.Store({ | ... | @@ -65,9 +56,11 @@ export default new Vuex.Store({ |
| 65 | setData(resultField, state.result); | 56 | setData(resultField, state.result); |
| 66 | }, | 57 | }, |
| 67 | setNewLottery(state, newLottery) { | 58 | setNewLottery(state, newLottery) { |
| 59 | /* | ||
| 68 | if (state.newLottery.find(item => item.name === newLottery.name)) { | 60 | if (state.newLottery.find(item => item.name === newLottery.name)) { |
| 69 | return; | 61 | return; |
| 70 | } | 62 | } |
| 63 | */ | ||
| 71 | state.newLottery.push(newLottery); | 64 | state.newLottery.push(newLottery); |
| 72 | setData(newLotteryField, state.newLottery); | 65 | setData(newLotteryField, state.newLottery); |
| 73 | }, | 66 | }, | ... | ... |
-
Please register or sign in to post a comment