|
@@ -107,7 +107,6 @@
|
|
|
btn-content="批量导入"
|
|
|
btn-type="success"
|
|
|
:upload-url="uploadUrl"
|
|
|
- :upload-data="uploadData"
|
|
|
:format="['xls', 'xlsx']"
|
|
|
accept=".xls,.xlsx"
|
|
|
@valid-error="validError"
|
|
@@ -117,7 +116,7 @@
|
|
|
<el-button
|
|
|
v-if="checkPrivilege('button', 'ExamTaskStudentObject')"
|
|
|
type="primary"
|
|
|
- :disabled="studentUploaded && tableData.length"
|
|
|
+ :disabled="studentUploaded && !!tableData.length"
|
|
|
@click="toAdd"
|
|
|
>新增考试对象</el-button
|
|
|
>
|
|
@@ -273,9 +272,6 @@ export default {
|
|
|
createTime: [],
|
|
|
// import
|
|
|
uploadUrl: "/api/admin/exam/task/exam_task_exam_student_import",
|
|
|
- uploadData: {
|
|
|
- examObjectType: "IMPORT_STUDENT"
|
|
|
- },
|
|
|
downloadUrl: "/temps/studentTemplate.xlsx",
|
|
|
dfilename: "学生导入模板.xlsx",
|
|
|
studentUploaded: false
|
|
@@ -395,7 +391,7 @@ export default {
|
|
|
return Promise.resolve(true);
|
|
|
},
|
|
|
updateData() {
|
|
|
- const tableList = this.tableData.map(row => {
|
|
|
+ const tableData = this.tableData.map(row => {
|
|
|
let nrow = { ...row };
|
|
|
let extendFields = this.extendFields.map(field => {
|
|
|
let info = { ...field };
|
|
@@ -412,7 +408,7 @@ export default {
|
|
|
this.updateTaskInfo({
|
|
|
infoPrintTask: {
|
|
|
...this.modalForm,
|
|
|
- list: tableList
|
|
|
+ list: tableData
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -484,7 +480,7 @@ export default {
|
|
|
let modalFormData = { ...this.modalForm };
|
|
|
delete modalFormData.printHouseId;
|
|
|
let data = {
|
|
|
- id: "",
|
|
|
+ id: this.$randomCode(),
|
|
|
examPlace: "",
|
|
|
examRoom: "",
|
|
|
classId: "",
|
|
@@ -514,9 +510,8 @@ export default {
|
|
|
examTaskStudentObjectParamList.push(...item.children);
|
|
|
});
|
|
|
let tableRow = this.$objAssign(this.getInitTableRow(), {
|
|
|
- id: this.$randomCode(),
|
|
|
- classId: selectedStudents.map(item => item.classId).join(),
|
|
|
- className: selectedStudents.map(item => item.className).join(),
|
|
|
+ classId: selectedStudents.map(item => item.clazzId).join(),
|
|
|
+ className: selectedStudents.map(item => item.clazzName).join(),
|
|
|
backupCount: this.infoExamPrintPlan.backupCount,
|
|
|
studentCount: examTaskStudentObjectParamList.length,
|
|
|
examTaskStudentObjectParamList
|
|
@@ -549,10 +544,36 @@ export default {
|
|
|
},
|
|
|
uploadSuccess(res) {
|
|
|
this.studentUploaded = true;
|
|
|
- console.log(res.data);
|
|
|
this.$message.success("导入成功!");
|
|
|
- // this.getStudents("BASIC_CLAZZ_STUDENT");
|
|
|
- // const selectedUsers = this.parseStudentData(res.data);
|
|
|
+ this.$refs.ModifyExamStudent.clearTypeData();
|
|
|
+
|
|
|
+ const initRow = this.getInitTableRow();
|
|
|
+ this.tableData = res.data.map(item => {
|
|
|
+ let examTaskStudentObjectParamList = [];
|
|
|
+ item.examTaskStudentObjectResultList.forEach(elem => {
|
|
|
+ elem.studentInfoList.forEach(std => {
|
|
|
+ examTaskStudentObjectParamList.push({
|
|
|
+ ...std,
|
|
|
+ studentClazzType: elem.studentClazzType
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ let tableRow = this.$objAssign(initRow, {
|
|
|
+ classId: item.examTaskStudentObjectResultList
|
|
|
+ .map(item => item.clazzId)
|
|
|
+ .join(),
|
|
|
+ className: item.examTaskStudentObjectResultList
|
|
|
+ .map(item => item.clazzName)
|
|
|
+ .join(),
|
|
|
+ examRoom: item.examRoom,
|
|
|
+ examPlace: item.examPlace,
|
|
|
+ backupCount: this.infoExamPrintPlan.backupCount,
|
|
|
+ studentCount: examTaskStudentObjectParamList.length,
|
|
|
+ examTaskStudentObjectParamList
|
|
|
+ });
|
|
|
+
|
|
|
+ return tableRow;
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|