|
|
@@ -14,9 +14,9 @@
|
|
14
|
14
|
placeholder="请输入发布日期" />
|
|
15
|
15
|
</div>
|
|
16
|
16
|
<div style="width: 240px;">
|
|
17
|
|
- <el-select v-model="scarData.active" placeholder="发布状态" style="width: 240px">
|
|
|
17
|
+ <el-select v-model="scarData.active" clearable placeholder="发布状态" style="width: 240px">
|
|
18
|
18
|
<el-option label="进行中" value="1" />
|
|
19
|
|
- <el-option label="已结束" value="2" />
|
|
|
19
|
+ <el-option label="停用/已结束" value="2" />
|
|
20
|
20
|
<el-option label="未发布" value="3" />
|
|
21
|
21
|
</el-select>
|
|
22
|
22
|
</div>
|
|
|
@@ -93,7 +93,24 @@
|
|
93
|
93
|
</div>
|
|
94
|
94
|
</div>
|
|
95
|
95
|
</div>
|
|
|
96
|
+
|
|
96
|
97
|
</div>
|
|
|
98
|
+ <div class="page" style="background-color: #fff;height: 50px;padding: 10px;">
|
|
|
99
|
+ <el-pagination
|
|
|
100
|
+ style="float: right;margin-right: 10px;"
|
|
|
101
|
+ v-model:current-page="scarData.pageNum"
|
|
|
102
|
+ v-model:page-size="scarData.pageSize"
|
|
|
103
|
+ :page-sizes="[10, 30, 50, 100]"
|
|
|
104
|
+ :size="size"
|
|
|
105
|
+ :disabled="disabled"
|
|
|
106
|
+ :background="background"
|
|
|
107
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
108
|
+ :total="page.total"
|
|
|
109
|
+ @size-change="handleSizeChange"
|
|
|
110
|
+ @current-change="handleCurrentChange"
|
|
|
111
|
+ />
|
|
|
112
|
+ </div>
|
|
|
113
|
+
|
|
97
|
114
|
|
|
98
|
115
|
|
|
99
|
116
|
<!-- 弹出框 -->
|
|
|
@@ -166,13 +183,13 @@
|
|
166
|
183
|
</div>
|
|
167
|
184
|
</template>
|
|
168
|
185
|
|
|
169
|
|
-<script setup>
|
|
170
|
|
- import { ref, getCurrentInstance } from 'vue';
|
|
|
186
|
+<script setup name="Survey">
|
|
|
187
|
+ import { ref, getCurrentInstance, reactive, onActivated } from 'vue';
|
|
171
|
188
|
|
|
172
|
189
|
import { useRouter } from 'vue-router';
|
|
173
|
190
|
const router = useRouter();
|
|
174
|
191
|
import moment from 'moment';
|
|
175
|
|
- import QRCode from 'qrcodejs2-fix';
|
|
|
192
|
+ import QRCode from 'qrcode';
|
|
176
|
193
|
|
|
177
|
194
|
import request from '@/utils/request'
|
|
178
|
195
|
import { download } from '@/utils/request'
|
|
|
@@ -184,13 +201,18 @@
|
|
184
|
201
|
const table = ref({})
|
|
185
|
202
|
|
|
186
|
203
|
// 表格数据
|
|
187
|
|
- const dataList = ref([]);;
|
|
|
204
|
+ const dataList = ref([]);
|
|
|
205
|
+ const page = reactive({
|
|
|
206
|
+ total: 0,
|
|
|
207
|
+ });
|
|
188
|
208
|
|
|
189
|
209
|
// 搜索数据
|
|
190
|
210
|
const scarData = ref({
|
|
191
|
211
|
title: '',
|
|
192
|
212
|
createtime: '',
|
|
193
|
|
- active: ''
|
|
|
213
|
+ active: '',
|
|
|
214
|
+ pageNum: 1,
|
|
|
215
|
+ pageSize: 10,
|
|
194
|
216
|
});
|
|
195
|
217
|
|
|
196
|
218
|
// 用户弹出框
|
|
|
@@ -215,7 +237,7 @@
|
|
215
|
237
|
|
|
216
|
238
|
// 获取列表
|
|
217
|
239
|
const getListData = (() => {
|
|
218
|
|
- return (function fn(page) {
|
|
|
240
|
+ return (function fn() {
|
|
219
|
241
|
dataList.value = [];
|
|
220
|
242
|
console.log(scarData.value)
|
|
221
|
243
|
// scarData.value.createtime = moment(scarData.value.createtime).format('YYYY-MM-DD')
|
|
|
@@ -225,34 +247,36 @@
|
|
225
|
247
|
const params = scarData.value
|
|
226
|
248
|
getPageListData(`/survey/survey`, params).then(({ data, total }) => {
|
|
227
|
249
|
dataList.value = data;
|
|
|
250
|
+ console.log(total, 'total')
|
|
|
251
|
+ page.total = total;
|
|
228
|
252
|
});
|
|
229
|
253
|
return fn;
|
|
230
|
254
|
})();
|
|
231
|
255
|
})();
|
|
232
|
256
|
|
|
233
|
|
- // 二维码下载
|
|
234
|
|
- function dowQR(v) {
|
|
235
|
|
- const el = document.getElementById(`pageQR_${v.surveyId}`);
|
|
236
|
|
- el.innerHTML = '';
|
|
237
|
|
-
|
|
238
|
|
- new QRCode(el, {
|
|
239
|
|
- text: returnCopyData(v), //二维码内容字符串
|
|
240
|
|
- width: 128, //图像宽度
|
|
241
|
|
- height: 128, //图像高度
|
|
242
|
|
- colorDark: '#000000', //二维码前景色
|
|
243
|
|
- colorLight: '#ffffff', //二维码背景色
|
|
244
|
|
- correctLevel: QRCode.CorrectLevel.H, //容错级别
|
|
245
|
|
- })
|
|
|
257
|
+ const handleSizeChange = (val) => {
|
|
|
258
|
+ scarData.value.pageSize = val;
|
|
|
259
|
+ getListData();
|
|
|
260
|
+ }
|
|
246
|
261
|
|
|
247
|
|
- let img = document.querySelectorAll(`#pageQR_${v.surveyId} img`)[0];
|
|
248
|
|
- img.onload = () => {
|
|
249
|
|
- let a = document.createElement('a');
|
|
250
|
|
- a.setAttribute('href', img.src);
|
|
251
|
|
- a.download = '二维码.png';
|
|
252
|
|
- a.click();
|
|
|
262
|
+ const handleCurrentChange = (val) => {
|
|
|
263
|
+ scarData.value.pageNum = val;
|
|
|
264
|
+ getListData();
|
|
|
265
|
+ }
|
|
253
|
266
|
|
|
254
|
|
- a.remove();
|
|
255
|
|
- }
|
|
|
267
|
+ // 二维码下载
|
|
|
268
|
+ async function dowQR(v) {
|
|
|
269
|
+ const img = await QRCode.toDataURL(returnCopyData(v), {
|
|
|
270
|
+ width: 200,
|
|
|
271
|
+ margin: 2,
|
|
|
272
|
+ });
|
|
|
273
|
+
|
|
|
274
|
+ console.log(img, 'img');
|
|
|
275
|
+ let a = document.createElement('a');
|
|
|
276
|
+ a.setAttribute('href', img);
|
|
|
277
|
+ a.download = '二维码.png';
|
|
|
278
|
+ a.click();
|
|
|
279
|
+ a.remove();
|
|
256
|
280
|
|
|
257
|
281
|
}
|
|
258
|
282
|
|
|
|
@@ -439,11 +463,18 @@
|
|
439
|
463
|
let oldTime = new Date(data.starttime).getTime();
|
|
440
|
464
|
let newTime = new Date(data.endtime).getTime();
|
|
441
|
465
|
let time = new Date().getTime();
|
|
|
466
|
+
|
|
442
|
467
|
|
|
443
|
468
|
|
|
444
|
|
- if (!data.endtime || !data.starttime) {
|
|
|
469
|
+ if (data.active === 0) {
|
|
|
470
|
+ return '停用';
|
|
|
471
|
+ }
|
|
|
472
|
+ if (!data.active) {
|
|
445
|
473
|
return '未发布';
|
|
446
|
474
|
}
|
|
|
475
|
+ if (data.active === 2) {
|
|
|
476
|
+ return '进行中';
|
|
|
477
|
+ }
|
|
447
|
478
|
|
|
448
|
479
|
if (time < oldTime) {
|
|
449
|
480
|
return '未开始';
|
|
|
@@ -454,6 +485,12 @@
|
|
454
|
485
|
}
|
|
455
|
486
|
}
|
|
456
|
487
|
|
|
|
488
|
+ // 页面跳转过来,特定场景刷新
|
|
|
489
|
+ onActivated(() => {
|
|
|
490
|
+
|
|
|
491
|
+ getListData();
|
|
|
492
|
+ });
|
|
|
493
|
+
|
|
457
|
494
|
</script>
|
|
458
|
495
|
|
|
459
|
496
|
<style scoped lang="scss">
|