新增五项重置数据的选项,可选择单独重置
Showing
4 changed files
with
114 additions
and
6 deletions
... | @@ -20,7 +20,9 @@ | ... | @@ -20,7 +20,9 @@ |
20 | 20 | ||
21 | ### 重置 | 21 | ### 重置 |
22 | 22 | ||
23 | - 重置所有数据恢复到初始状态 | 23 | - 重置数据恢复到初始状态 |
24 | - 可选的重置选项: | ||
25 | `1.重置全部数据 2.重置抽奖配置 3.重置名单 4.重置照片 5.重置抽奖结果` | ||
24 | 26 | ||
25 | ### 导入名单 | 27 | ### 导入名单 |
26 | 28 | ||
... | @@ -34,7 +36,7 @@ | ... | @@ -34,7 +36,7 @@ |
34 | ## 温馨提示 | 36 | ## 温馨提示 |
35 | 37 | ||
36 | - 本抽奖程序无暗箱操作,无后台,无后门。 | 38 | - 本抽奖程序无暗箱操作,无后台,无后门。 |
37 | - 名单和照片显示只需导入一种即可。 | 39 | - 名单和照片显示只需导入一种即可,无导入数据则使用抽奖号码。 |
38 | - 建议使用最新的 Chrome 浏览器打开体验最佳。 | 40 | - 建议使用最新的 Chrome 浏览器打开体验最佳。 |
39 | 41 | ||
40 | ## License | 42 | ## License | ... | ... |
... | @@ -4,6 +4,7 @@ | ... | @@ -4,6 +4,7 @@ |
4 | @close="$emit('update:visible', false)" | 4 | @close="$emit('update:visible', false)" |
5 | width="600px" | 5 | width="600px" |
6 | class="c-Result" | 6 | class="c-Result" |
7 | :append-to-body="true" | ||
7 | > | 8 | > |
8 | <div class="dialog-title" slot="title"> | 9 | <div class="dialog-title" slot="title"> |
9 | <span :style="{ fontSize: '18px' }"> | 10 | <span :style="{ fontSize: '18px' }"> |
... | @@ -132,7 +133,7 @@ export default { | ... | @@ -132,7 +133,7 @@ export default { |
132 | border: 1px solid #ccc; | 133 | border: 1px solid #ccc; |
133 | background-color: #f2f2f2; | 134 | background-color: #f2f2f2; |
134 | margin-left: 5px; | 135 | margin-left: 5px; |
135 | margin-top: 5px; | 136 | margin-bottom: 5px; |
136 | position: relative; | 137 | position: relative; |
137 | cursor: pointer; | 138 | cursor: pointer; |
138 | &:hover { | 139 | &:hover { | ... | ... |
... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
3 | <el-button @click="startHandler" type="primary" size="mini">{{ | 3 | <el-button @click="startHandler" type="primary" size="mini">{{ |
4 | running ? '停止' : '开始' | 4 | running ? '停止' : '开始' |
5 | }}</el-button> | 5 | }}</el-button> |
6 | <el-button size="mini" @click="resetConfig"> | 6 | <el-button size="mini" @click="showRemoveoptions = true"> |
7 | 重置 | 7 | 重置 |
8 | </el-button> | 8 | </el-button> |
9 | <el-button size="mini" @click="showImport = true"> | 9 | <el-button size="mini" @click="showImport = true"> |
... | @@ -104,11 +104,41 @@ | ... | @@ -104,11 +104,41 @@ |
104 | :visible.sync="showImportphoto" | 104 | :visible.sync="showImportphoto" |
105 | @getPhoto="$emit('getPhoto')" | 105 | @getPhoto="$emit('getPhoto')" |
106 | ></Importphoto> | 106 | ></Importphoto> |
107 | |||
108 | <el-dialog | ||
109 | :visible.sync="showRemoveoptions" | ||
110 | width="300px" | ||
111 | class="c-removeoptions" | ||
112 | :append-to-body="true" | ||
113 | > | ||
114 | <el-form ref="form" :model="removeInfo" label-width="80px" size="mini"> | ||
115 | <el-form-item label="重置选项"> | ||
116 | <el-radio-group v-model="removeInfo.type"> | ||
117 | <el-radio border :label="0">重置全部数据</el-radio> | ||
118 | <el-radio border :label="1">重置抽奖配置</el-radio> | ||
119 | <el-radio border :label="2">重置名单</el-radio> | ||
120 | <el-radio border :label="3">重置照片</el-radio> | ||
121 | <el-radio border :label="4">重置抽奖结果</el-radio> | ||
122 | </el-radio-group> | ||
123 | </el-form-item> | ||
124 | <el-form-item> | ||
125 | <el-button type="primary" @click="resetConfig">确定重置</el-button> | ||
126 | <el-button @click="showRemoveoptions = false">取消</el-button> | ||
127 | </el-form-item> | ||
128 | </el-form> | ||
129 | </el-dialog> | ||
107 | </div> | 130 | </div> |
108 | </template> | 131 | </template> |
109 | 132 | ||
110 | <script> | 133 | <script> |
111 | import { clearData, conversionCategoryName } from '@/helper/index'; | 134 | import { |
135 | clearData, | ||
136 | removeData, | ||
137 | configField, | ||
138 | listField, | ||
139 | resultField, | ||
140 | conversionCategoryName | ||
141 | } from '@/helper/index'; | ||
112 | import Importphoto from './Importphoto'; | 142 | import Importphoto from './Importphoto'; |
113 | import { database, DB_STORE_NAME } from '@/helper/db'; | 143 | import { database, DB_STORE_NAME } from '@/helper/db'; |
114 | 144 | ||
... | @@ -158,6 +188,8 @@ export default { | ... | @@ -158,6 +188,8 @@ export default { |
158 | showSetwat: false, | 188 | showSetwat: false, |
159 | showImport: false, | 189 | showImport: false, |
160 | showImportphoto: false, | 190 | showImportphoto: false, |
191 | showRemoveoptions: false, | ||
192 | removeInfo: { type: 0 }, | ||
161 | form: { | 193 | form: { |
162 | category: '', | 194 | category: '', |
163 | mode: 1, | 195 | mode: 1, |
... | @@ -167,18 +199,51 @@ export default { | ... | @@ -167,18 +199,51 @@ export default { |
167 | listStr: '' | 199 | listStr: '' |
168 | }; | 200 | }; |
169 | }, | 201 | }, |
202 | watch: { | ||
203 | showRemoveoptions(v) { | ||
204 | if (!v) { | ||
205 | this.removeInfo.type = 0; | ||
206 | } | ||
207 | } | ||
208 | }, | ||
170 | methods: { | 209 | methods: { |
171 | resetConfig() { | 210 | resetConfig() { |
172 | this.$confirm('此操作将重置所有数据,是否继续?', '提示', { | 211 | const type = this.removeInfo.type; |
212 | this.$confirm('此操作将重置所选数据,是否继续?', '提示', { | ||
173 | confirmButtonText: '确定', | 213 | confirmButtonText: '确定', |
174 | cancelButtonText: '取消', | 214 | cancelButtonText: '取消', |
175 | type: 'warning' | 215 | type: 'warning' |
176 | }) | 216 | }) |
177 | .then(() => { | 217 | .then(() => { |
218 | switch (type) { | ||
219 | case 0: | ||
178 | clearData(); | 220 | clearData(); |
179 | this.$store.commit('setClearStore'); | 221 | this.$store.commit('setClearStore'); |
180 | database.clear(DB_STORE_NAME); | 222 | database.clear(DB_STORE_NAME); |
223 | break; | ||
224 | case 1: | ||
225 | removeData(configField); | ||
226 | this.$store.commit('setClearConfig'); | ||
227 | break; | ||
228 | case 2: | ||
229 | removeData(listField); | ||
230 | this.$store.commit('setClearList'); | ||
231 | break; | ||
232 | case 3: | ||
233 | database.clear(DB_STORE_NAME); | ||
234 | this.$store.commit('setClearPhotos'); | ||
235 | break; | ||
236 | case 4: | ||
237 | removeData(resultField); | ||
238 | this.$store.commit('setClearResult'); | ||
239 | break; | ||
240 | default: | ||
241 | break; | ||
242 | } | ||
243 | |||
181 | this.closeRes && this.closeRes(); | 244 | this.closeRes && this.closeRes(); |
245 | |||
246 | this.showRemoveoptions = false; | ||
182 | this.$message({ | 247 | this.$message({ |
183 | type: 'success', | 248 | type: 'success', |
184 | message: '重置成功!' | 249 | message: '重置成功!' |
... | @@ -293,4 +358,15 @@ export default { | ... | @@ -293,4 +358,15 @@ export default { |
293 | text-align: center; | 358 | text-align: center; |
294 | } | 359 | } |
295 | } | 360 | } |
361 | .c-removeoptions { | ||
362 | .el-dialog { | ||
363 | height: 290px; | ||
364 | } | ||
365 | .el-radio.is-bordered + .el-radio.is-bordered { | ||
366 | margin-left: 0px; | ||
367 | } | ||
368 | .el-radio.is-bordered { | ||
369 | margin-bottom: 10px; | ||
370 | } | ||
371 | } | ||
296 | </style> | 372 | </style> | ... | ... |
... | @@ -34,6 +34,35 @@ export default new Vuex.Store({ | ... | @@ -34,6 +34,35 @@ export default new Vuex.Store({ |
34 | photos: [] | 34 | photos: [] |
35 | }, | 35 | }, |
36 | mutations: { | 36 | mutations: { |
37 | setClearConfig(state) { | ||
38 | state.config = { | ||
39 | name: '年会抽奖', | ||
40 | number: 70, | ||
41 | specialAward: 0, | ||
42 | firstPrize: 1, | ||
43 | secondPrize: 5, | ||
44 | thirdPrize: 8, | ||
45 | fourthPrize: 10, | ||
46 | fifthPrize: 20 | ||
47 | }; | ||
48 | state.newLottery = []; | ||
49 | }, | ||
50 | setClearList(state) { | ||
51 | state.list = []; | ||
52 | }, | ||
53 | setClearPhotos(state) { | ||
54 | state.photos = []; | ||
55 | }, | ||
56 | setClearResult(state) { | ||
57 | state.result = { | ||
58 | specialAward: [], | ||
59 | firstPrize: [], | ||
60 | secondPrize: [], | ||
61 | thirdPrize: [], | ||
62 | fourthPrize: [], | ||
63 | fifthPrize: [] | ||
64 | }; | ||
65 | }, | ||
37 | setClearStore(state) { | 66 | setClearStore(state) { |
38 | state.config = { | 67 | state.config = { |
39 | name: '年会抽奖', | 68 | name: '年会抽奖', | ... | ... |
-
Please register or sign in to post a comment