4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
65f592b6
梁保满
答题卡列表页
|
2
|
<div>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
3
|
<back-box>
|
65f592b6
梁保满
答题卡列表页
|
4
|
<template slot="title">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
5
|
<span>已归档答题卡</span>
|
65f592b6
梁保满
答题卡列表页
|
6
7
|
</template>
</back-box>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
8
9
|
<div class="answer-header">
<div class="sel-box">
|
225a00b6
梁保满
飞书问题解决
|
10
|
<!-- <el-cascader size="small"
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
11
12
13
14
15
16
17
|
class="sel sel2"
:options="options"
:props="props"
collapse-tags
clearable
placeholder="选择年级-班级"
v-model="query.gradeClass"
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
18
|
@change="changeGrade"
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
19
20
21
22
|
><template slot-scope="{ node, data }">
<span>{{ data.label }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
</template></el-cascader
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
23
|
> -->
|
77da338a
梁保满
自测问题修改
|
24
25
26
27
28
29
|
<el-select class="sel" v-model="query.type" placeholder="选择类型" @change="_QueryData()">
<el-option label="备题" :value="1"></el-option>
<el-option label="组卷" :value="2"></el-option>
</el-select>
<el-select class="sel" v-model="query.classId" placeholder="选择班级" @change="changClazz">
<el-option v-for="item in classList" :key="item.value" :label="item.label" :value="item.value">
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
30
31
|
</el-option>
</el-select>
|
77da338a
梁保满
自测问题修改
|
32
33
|
<el-select class="sel" v-model="query.subjectName" placeholder="选择科目" @change="_QueryData()">
<el-option v-for="item in subjectList" :key="item.value" :label="item.label" :value="item.value">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
34
35
|
</el-option>
</el-select>
|
77da338a
梁保满
自测问题修改
|
36
37
|
<el-select class="sel" v-model="query.tagId" placeholder="选择类型" @change="_QueryData()">
<el-option v-for="item in typeList" :key="item.label" :label="item.label" :value="item.value">{{ item.label }}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
38
39
|
</el-option>
</el-select>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
40
|
|
77da338a
梁保满
自测问题修改
|
41
42
43
|
<el-input placeholder="输入试卷名称" v-model="query.title" class="input-with-select"
@keyup.enter.native="_QueryData(true)">
<el-button slot="append" icon="el-icon-search" @click="_QueryData(true)"></el-button>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
44
45
46
|
</el-input>
</div>
</div>
|
5424ef82
梁保满
接口调整
|
47
|
<ul class="content" v-loading="loading">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
48
49
50
51
52
53
54
|
<li class="item" v-for="item in tableData" :key="item.id">
<div class="pic-box">
<p class="i-box"><i class="fa fa-map-o"></i></p>
<p class="ids">{{ item.id }}</p>
</div>
<div class="info">
<p class="title">
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
55
56
|
{{ item.title }}
<span class="label" v-if="item.tag">{{ item.tag }}</span>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
57
58
59
60
|
</p>
<p class="num">
{{ item.gradeName }}
<em class="s-line">|</em>
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
61
|
总题数:{{ item.questionNum }}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
62
|
<em class="s-line">|</em>
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
63
|
预计时长:{{ item.examsDuration }}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
64
65
|
</p>
<p class="person">
|
77da338a
梁保满
自测问题修改
|
66
|
{{ item.realName }}<em class="s-line">|</em><span class="date">{{ item.modifiedTime }}</span>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
67
68
69
|
</p>
</div>
<div class="btn-box">
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
70
|
<el-tooltip effect="dark" content="恢复" placement="bottom">
|
77da338a
梁保满
自测问题修改
|
71
72
|
<el-button class="edit" type="info" size="mini" circle icon="fa fa-mail-reply"
@click="modify(item)"></el-button>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
73
74
|
</el-tooltip>
<el-popconfirm title="确定删除这张答题卡吗?" @confirm="remove(item)">
|
77da338a
梁保满
自测问题修改
|
75
|
<el-button slot="reference" class="delete" type="info" size="mini" circle icon="el-icon-delete"></el-button>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
76
77
78
79
|
</el-popconfirm>
</div>
</li>
</ul>
|
f26ecfa4
阿宝
测试bug
|
80
|
<div class="pagination-box">
|
77da338a
梁保满
自测问题修改
|
81
82
|
<el-pagination small="" layout="total,prev, pager, next" :hide-on-single-page="true" :total="total"
@current-change="changePage" :current-page="page" :page-size="size">
|
f26ecfa4
阿宝
测试bug
|
83
84
|
</el-pagination>
</div>
|
77da338a
梁保满
自测问题修改
|
85
|
<el-empty :image-size="100" v-if="!tableData.length && loading == false" description="没有更多数据"></el-empty>
|
65f592b6
梁保满
答题卡列表页
|
86
|
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
87
88
89
90
|
</template>
<script>
export default {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
91
92
|
data() {
return {
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
93
|
role: "",
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
94
|
loading: false,
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
props: { multiple: true, checkStrictly: true },
options: [
{
value: 1,
label: "一年级",
children: [
{
value: 2,
label: "二班",
},
{
value: 3,
label: "三班",
},
],
},
{
value: 4,
label: "二年级",
children: [
{
value: 5,
label: "二班",
},
{
value: 6,
label: "三班",
},
],
},
],
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
126
|
query: {
|
77da338a
梁保满
自测问题修改
|
127
|
type: 1,
|
5424ef82
梁保满
接口调整
|
128
129
130
|
classId: "",
subjectName: "",
tagId: "",
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
131
132
|
title: "",
},
|
5424ef82
梁保满
接口调整
|
133
134
135
|
classList: [],
subjectList: [],
typeList: [],
|
f26ecfa4
阿宝
测试bug
|
136
|
tableData: [],
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
137
|
total: 0,
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
138
139
|
page: 1,
size: 20,
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
140
141
|
};
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
142
|
async created() {
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
143
144
145
|
this.role =
this.$store.getters.info.showRole ||
this.$store.getters.info.permissions[0].role;
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
146
147
148
149
150
|
await this._QueryClassList();
await this._QuerySubjectList();
this._QueryTypeList();
this._QueryData(false);
},
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
151
|
methods: {
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
152
153
|
async modify(obj) {
//恢复答题卡
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
154
155
156
157
158
|
let modifyPaper =
this.role == "ROLE_PERSONAL"
? this.$request.pModifyPaper
: this.$request.modifyPaper;
const { data, status, info } = await modifyPaper({
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
159
|
paperId: obj.id,
|
5424ef82
梁保满
接口调整
|
160
|
status: 1,
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
161
|
});
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
162
163
164
165
|
if (status == 0) {
let type = this.query.title ? 1 : 0;
this._QueryData(type);
} else {
|
6fffbd55
阿宝
组卷接口调整
|
166
|
this.$message.error(info);
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
167
|
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
168
|
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
169
|
async remove(obj) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
170
|
//删除答题卡
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
171
172
173
174
175
|
let delPaper =
this.role == "ROLE_PERSONAL"
? this.$request.pDelPaper
: this.$request.delPaper;
const { data, status, info } = await delPaper({
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
176
|
paperId: obj.id,
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
177
|
});
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
178
179
180
181
|
if (status == 0) {
let type = this.query.title ? 1 : 0;
this._QueryData(type);
} else {
|
6fffbd55
阿宝
组卷接口调整
|
182
|
this.$message.error(info);
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
183
184
185
186
187
188
|
}
},
//切换班级
async changClazz() {
await this._QuerySubjectList();
this._QueryData(false);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
189
|
},
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
190
191
192
|
changePage(page) {
this.page = page;
this._QueryData(this.query.title);
|
f26ecfa4
阿宝
测试bug
|
193
|
},
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
194
195
|
async _QueryData(type) {
//获取答题卡列表
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
196
|
this.loading = true;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
197
198
199
200
201
202
|
let query = {};
if (!type) {
this.query.title = "";
query = { ...this.query };
} else {
query = { title: this.query.title };
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
203
|
}
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
204
|
query.classId = this.query.classId;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
205
206
207
208
209
|
for (let key in query) {
if (!query[key]) {
query[key] = null;
}
}
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
210
211
212
213
214
|
let fetchPaperList =
this.role == "ROLE_PERSONAL"
? this.$request.pPaperList
: this.$request.fetchPaperList;
const { data, status, info } = await fetchPaperList({
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
215
|
...query,
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
216
217
218
|
status: 2,
page: this.page,
size: this.size,
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
219
220
|
});
this.loading = false;
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
221
|
if (status === 0) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
222
223
224
|
this.total = data.total;
this.tableData = (data.list && [...data.list]) || [];
} else {
|
6fffbd55
阿宝
组卷接口调整
|
225
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
226
227
|
}
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
228
229
|
// 查找班级
async _QueryClassList() {
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
230
231
232
233
234
|
let fetchClassList =
this.role == "ROLE_PERSONAL"
? this.$request.pClassList
: this.$request.fetchClassList;
const { data, status, info } = await fetchClassList();
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
235
236
|
if (status === 0) {
if (!!data.list) {
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
237
238
239
|
this.classList =
data.list?.map((item) => {
return {
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
240
|
value: this.role == "ROLE_PERSONAL" ? item.id : item.classId,
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
241
242
243
|
label: item.className,
};
}) || [];
|
5424ef82
梁保满
接口调整
|
244
|
this.query.classId = this.classList[0]?.value;
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
245
|
}
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
246
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
247
|
this.$message.error(info);
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
248
249
|
}
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
250
251
|
// 查找科目
async _QuerySubjectList() {
|
77da338a
梁保满
自测问题修改
|
252
|
let fetchSubjectList =
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
253
254
255
256
257
|
this.role == "ROLE_PERSONAL"
? this.$request.pSubjectList
: this.$request.fetchSubjectList;
const { data, status, info } = await fetchSubjectList({
|
5424ef82
梁保满
接口调整
|
258
|
classId: this.query.classId,
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
259
260
|
});
if (status === 0) {
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
261
262
263
264
265
266
267
|
this.subjectList =
data.subjectNames?.map((item) => {
return {
value: item,
label: item,
};
}) || [];
|
5424ef82
梁保满
接口调整
|
268
|
this.query.subjectName = this.subjectList[0]?.value;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
269
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
270
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
271
272
|
}
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
273
274
|
// 查找答题卡类型
async _QueryTypeList() {
|
77da338a
梁保满
自测问题修改
|
275
|
let fetchTypeNames =
|
e371f2dc
梁保满
软件下载,学校,班级老师等报表导入...
|
276
277
278
279
280
|
this.role == "ROLE_PERSONAL"
? this.$request.pPaperTagList
: this.$request.fetchTypeNames;
const { data, status, info } = await fetchTypeNames({
|
5424ef82
梁保满
接口调整
|
281
|
classId: this.query.classId,
|
d703d72c
梁保满
首页,个人信息,班级名单,部分备题...
|
282
|
tyle: 0,
|
5424ef82
梁保满
接口调整
|
283
|
});
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
284
285
|
if (status === 0) {
this.typeList =
|
d5987f6a
阿宝
组件修改答案
|
286
|
data.list?.map((item) => {
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
287
288
289
290
291
|
return {
value: item.tagId,
label: item.tag,
};
}) || [];
|
5424ef82
梁保满
接口调整
|
292
293
|
this.typeList.unshift({
value: "",
|
f26ecfa4
阿宝
测试bug
|
294
|
label: "请选择标签",
|
5424ef82
梁保满
接口调整
|
295
|
});
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
296
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
297
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
298
299
300
301
|
}
},
},
};
|
4c4f7640
梁保满
路由表,路由前端文件
|
302
303
|
</script>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
304
305
306
307
308
309
|
<style lang="scss" scoped>
.answer-header {
.sel-box {
.sel {
min-width: 160px;
}
|
77da338a
梁保满
自测问题修改
|
310
|
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
311
312
313
|
:deep(.el-cascader__tags) {
flex-wrap: nowrap;
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
314
315
|
}
}
|
77da338a
梁保满
自测问题修改
|
316
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
317
318
319
320
321
|
.content {
margin: 0 20px;
background: #f8f8f8;
padding: 12px;
border-radius: 20px;
|
77da338a
梁保满
自测问题修改
|
322
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
323
324
325
326
327
328
329
330
331
332
|
.item {
display: flex;
align-items: center;
width: 100%;
overflow: hidden;
box-sizing: border-box;
padding: 12px;
border-radius: 20px;
background: #fff;
margin-bottom: 12px;
|
77da338a
梁保满
自测问题修改
|
333
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
334
335
336
|
&:last-of-type {
margin-bottom: 0;
}
|
77da338a
梁保满
自测问题修改
|
337
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
338
339
340
341
342
343
344
345
346
347
|
.pic-box {
width: 80px;
height: 80px;
border-radius: 10px;
margin-right: 10px;
flex-shrink: 0;
background: #d7d7d7;
text-align: center;
color: #fff;
font-weight: 500;
|
77da338a
梁保满
自测问题修改
|
348
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
349
350
351
352
353
354
|
.i-box {
padding-top: 10px;
font-size: 32px;
margin-bottom: 3px;
}
}
|
77da338a
梁保满
自测问题修改
|
355
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
356
357
358
359
360
361
362
|
.info {
height: 80px;
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
|
77da338a
梁保满
自测问题修改
|
363
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
364
365
366
367
|
.s-line {
padding: 0 5px;
color: #e2e2e2;
}
|
77da338a
梁保满
自测问题修改
|
368
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
369
370
371
372
|
.title {
font-size: 16px;
color: #222;
font-weight: 500;
|
77da338a
梁保满
自测问题修改
|
373
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
374
375
376
377
378
379
380
381
382
383
384
|
.label {
display: inline-block;
font-size: 12px;
color: #2e9afe;
line-height: 16px;
padding: 0 10px;
border: 1px solid #2e9afe;
border-radius: 10px;
transform: translateY(-2px);
}
}
|
77da338a
梁保满
自测问题修改
|
385
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
386
387
388
389
|
.person {
color: #666;
}
}
|
77da338a
梁保满
自测问题修改
|
390
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
391
392
|
.btn-box {
flex-shrink: 0;
|
77da338a
梁保满
自测问题修改
|
393
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
394
395
396
397
398
399
|
.edit {
margin-right: 12px;
}
}
}
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
400
|
</style>
|