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