|
@@ -268,7 +268,18 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-form-item label="公告内容" prop="content">
|
|
|
- <ckeditor width="650px" v-model="noticeForm.content"></ckeditor>
|
|
|
+ <div
|
|
|
+ v-if="this.operateType == 'view'"
|
|
|
+ v-html="noticeForm.content"
|
|
|
+ class="ckeditor-readOnly"
|
|
|
+ ></div>
|
|
|
+ <div v-else>
|
|
|
+ <ckeditor
|
|
|
+ :readOnly="this.operateType == 'view'"
|
|
|
+ width="650px"
|
|
|
+ v-model="noticeForm.content"
|
|
|
+ ></ckeditor>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div style="text-align: center;">
|
|
@@ -341,6 +352,7 @@
|
|
|
v-loading="loading"
|
|
|
element-loading-text="拼命加载中"
|
|
|
:data="examTableData"
|
|
|
+ ref="examTable"
|
|
|
border
|
|
|
@selection-change="examSelectChange"
|
|
|
>
|
|
@@ -390,7 +402,7 @@
|
|
|
:inline="true"
|
|
|
:model="markFormSearch"
|
|
|
label-position="right"
|
|
|
- label-width="70px"
|
|
|
+ label-width="110px"
|
|
|
>
|
|
|
<el-row :gutter="10" v-if="selectedMark.length != 0">
|
|
|
<el-col :xs="30" :sm="30" :md="30" :lg="30">
|
|
@@ -430,6 +442,7 @@
|
|
|
v-loading="loading"
|
|
|
element-loading-text="拼命加载中"
|
|
|
:data="markTableData"
|
|
|
+ ref="markTable"
|
|
|
border
|
|
|
@selection-change="markSelectChange"
|
|
|
>
|
|
@@ -501,7 +514,9 @@ export default {
|
|
|
workName: ""
|
|
|
},
|
|
|
selectedExam: [],
|
|
|
+ tempSelectedExam: [],
|
|
|
selectedMark: [],
|
|
|
+ tempSelectedMark: [],
|
|
|
examTableData: [],
|
|
|
markTableData: [],
|
|
|
operateType: "add",
|
|
@@ -595,6 +610,7 @@ export default {
|
|
|
closeEditNoticeDialog() {
|
|
|
this.editNoticeDialogVisible = false;
|
|
|
},
|
|
|
+
|
|
|
selectChange(row) {
|
|
|
this.selectedNoticeIds = [];
|
|
|
row.forEach((element, index) => {
|
|
@@ -616,30 +632,38 @@ export default {
|
|
|
this.searchForm();
|
|
|
},
|
|
|
examSelectChange(row) {
|
|
|
- var selectedExam = this.selectedExam;
|
|
|
- if (selectedExam.length >= 10) {
|
|
|
+ this.tempSelectedExam = row;
|
|
|
+ var selectedExams = this.selectedExam;
|
|
|
+ if (selectedExams.length >= 10) {
|
|
|
this.warn("一次最多只能选择10个考试批次!");
|
|
|
return;
|
|
|
}
|
|
|
row.forEach(element => {
|
|
|
- if (selectedExam.indexOf(element) == -1 && selectedExam.length < 10) {
|
|
|
- selectedExam.push(element);
|
|
|
+ if (
|
|
|
+ !selectedExams.some(se => se.id == element.id) &&
|
|
|
+ selectedExams.length < 10
|
|
|
+ ) {
|
|
|
+ selectedExams.push(element);
|
|
|
}
|
|
|
});
|
|
|
- this.selectedExam = selectedExam;
|
|
|
+ this.selectedExam = selectedExams;
|
|
|
},
|
|
|
markSelectChange(row) {
|
|
|
- var selectedMark = this.selectedMark;
|
|
|
- if (selectedMark.length >= 10) {
|
|
|
+ this.tempSelectedMark = row;
|
|
|
+ var selectedMarks = this.selectedMark;
|
|
|
+ if (selectedMarks.length >= 10) {
|
|
|
this.warn("一次最多只能选择10个阅卷工作!");
|
|
|
return;
|
|
|
}
|
|
|
row.forEach(element => {
|
|
|
- if (selectedMark.indexOf(element) == -1 && selectedMark.length < 10) {
|
|
|
- selectedMark.push(element);
|
|
|
+ if (
|
|
|
+ !selectedMarks.some(sm => sm.id == element.id) &&
|
|
|
+ selectedMarks.length < 10
|
|
|
+ ) {
|
|
|
+ selectedMarks.push(element);
|
|
|
}
|
|
|
});
|
|
|
- this.selectedMark = selectedMark;
|
|
|
+ this.selectedMark = selectedMarks;
|
|
|
},
|
|
|
handleExamCurrentChange(val) {
|
|
|
this.examCurrentPage = val;
|
|
@@ -741,12 +765,12 @@ export default {
|
|
|
this.noticeForm.noticeStatus = "";
|
|
|
|
|
|
this.editNoticeDialogVisible = true;
|
|
|
+
|
|
|
this.selectedExam = [];
|
|
|
this.selectedMark = [];
|
|
|
this.noticeForm = {};
|
|
|
},
|
|
|
editNoticeDialog(row) {
|
|
|
- debugger;
|
|
|
this.operateType = "edit";
|
|
|
this.noticeForm = Object.assign({}, row);
|
|
|
this.selectedExam = [];
|
|
@@ -911,9 +935,13 @@ export default {
|
|
|
showSelectReceiver() {
|
|
|
if (this.noticeForm.ruleType == "STUDENTS_OF_EXAM") {
|
|
|
this.selectedMark = [];
|
|
|
+ this.examFormSearch.name = "";
|
|
|
+ this.resetExamPageAndSearchForm();
|
|
|
this.examReceiverVisible = true;
|
|
|
} else if (this.noticeForm.ruleType == "TEACHER_OF_MARK_WORK") {
|
|
|
this.selectedExam = [];
|
|
|
+ this.markFormSearch.workName = "";
|
|
|
+ this.resetMarkPageAndSearchForm();
|
|
|
this.markReceiverVisible = true;
|
|
|
} else {
|
|
|
this.examReceiverVisible = false;
|
|
@@ -921,26 +949,42 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
examTagClose(tag) {
|
|
|
- let selectedId = "";
|
|
|
for (let [index, exam] of this.selectedExam.entries()) {
|
|
|
if (tag.id == exam.id) {
|
|
|
+ this.toggleExamSelection(
|
|
|
+ this.examTableData.find(p => p.id == exam.id)
|
|
|
+ );
|
|
|
this.selectedExam.splice(index, 1);
|
|
|
- } else {
|
|
|
- selectedId = selectedId + exam.id;
|
|
|
}
|
|
|
}
|
|
|
- this.receiverForm.publishObjectId = selectedId;
|
|
|
},
|
|
|
markTagClose(tag) {
|
|
|
- let selectedId = "";
|
|
|
for (let [index, mark] of this.selectedMark.entries()) {
|
|
|
if (tag.id == mark.id) {
|
|
|
+ this.toggleMarkSelection(
|
|
|
+ this.markTableData.find(p => p.id == mark.id)
|
|
|
+ );
|
|
|
this.selectedMark.splice(index, 1);
|
|
|
- } else {
|
|
|
- selectedId = selectedId + mark.id;
|
|
|
}
|
|
|
}
|
|
|
- this.receiverForm.publishObjectId = selectedId;
|
|
|
+ },
|
|
|
+ toggleExamSelection(row) {
|
|
|
+ if (
|
|
|
+ this.tempSelectedExam &&
|
|
|
+ this.tempSelectedExam.length > 0 &&
|
|
|
+ this.tempSelectedExam.some(p => p.id == row.id)
|
|
|
+ ) {
|
|
|
+ this.$refs.examTable.toggleRowSelection(row);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ toggleMarkSelection(row) {
|
|
|
+ if (
|
|
|
+ this.tempSelectedMark &&
|
|
|
+ this.tempSelectedMark.length > 0 &&
|
|
|
+ this.tempSelectedMark.some(p => p.id == row.id)
|
|
|
+ ) {
|
|
|
+ this.$refs.markTable.toggleRowSelection(row);
|
|
|
+ }
|
|
|
},
|
|
|
examConfirm() {
|
|
|
this.examReceiverVisible = false;
|
|
@@ -995,4 +1039,13 @@ export default {
|
|
|
.input {
|
|
|
width: 400px;
|
|
|
}
|
|
|
+.ckeditor-readOnly {
|
|
|
+ width: 650px;
|
|
|
+ height: 270px;
|
|
|
+ border-width: 1px;
|
|
|
+ border-style: solid;
|
|
|
+ border-color: rgb(211, 213, 218);
|
|
|
+ padding: 5px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
</style>
|