|
|
@@ -66,66 +66,65 @@
|
|
|
:newSujectApisTable="newSujectApisTable"
|
|
|
/> -->
|
|
|
<div v-if="showHide">
|
|
|
-
|
|
|
- <el-form
|
|
|
- label-position="right"
|
|
|
- label-width="110px"
|
|
|
- :model="listData"
|
|
|
- ref="listData"
|
|
|
- :rules="rulesTest"
|
|
|
- >
|
|
|
- <el-form-item
|
|
|
- v-for="(items, indexs) in listitem"
|
|
|
- :key="indexs"
|
|
|
- :label="items.label"
|
|
|
- :prop="items.prop"
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="110px"
|
|
|
+ :model="listData"
|
|
|
+ ref="listData"
|
|
|
+ :rules="rulesTest"
|
|
|
>
|
|
|
- <div v-if="items.scope === 'bussing'">
|
|
|
- <div v-if="!activeExam.length">请在下面输入框添加知识点</div>
|
|
|
- <ul v-else class="BusBoxs">
|
|
|
- <li
|
|
|
- class="fot_Le"
|
|
|
- v-for="(item, index) in activeExam"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
- {{ item.knowledgeName }}
|
|
|
- <i
|
|
|
- class="el-icon-error icon_clear"
|
|
|
- @click="clearBusName(index)"
|
|
|
- ></i>
|
|
|
- </li>
|
|
|
- <div style="clear: both"></div>
|
|
|
- </ul>
|
|
|
- <el-select
|
|
|
- v-model="value"
|
|
|
- placeholder="请选择知识点"
|
|
|
- @change="changeKnow"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.knowledgeId"
|
|
|
- :label="item.knowledgeName"
|
|
|
- :value="item.knowledgeId"
|
|
|
- :disabled="comLs(item)"
|
|
|
+ <el-form-item
|
|
|
+ v-for="(items, indexs) in listitem"
|
|
|
+ :key="indexs"
|
|
|
+ :label="items.label"
|
|
|
+ :prop="items.prop"
|
|
|
+ >
|
|
|
+ <div v-if="items.scope === 'bussing'">
|
|
|
+ <div v-if="!activeExam.length">请在下面输入框添加知识点</div>
|
|
|
+ <ul v-else class="BusBoxs">
|
|
|
+ <li
|
|
|
+ class="fot_Le"
|
|
|
+ v-for="(item, index) in activeExam"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ {{ item.knowledgeName }}
|
|
|
+ <i
|
|
|
+ class="el-icon-error icon_clear"
|
|
|
+ @click="clearBusName(index)"
|
|
|
+ ></i>
|
|
|
+ </li>
|
|
|
+ <div style="clear: both"></div>
|
|
|
+ </ul>
|
|
|
+ <el-select
|
|
|
+ v-model="value"
|
|
|
+ placeholder="请选择知识点"
|
|
|
+ @change="changeKnow"
|
|
|
>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- <el-button @click="addExam">自定义添加</el-button>
|
|
|
- </div>
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.knowledgeId"
|
|
|
+ :label="item.knowledgeName"
|
|
|
+ :value="item.knowledgeId"
|
|
|
+ :disabled="comLs(item)"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button @click="addExam">自定义添加</el-button>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-radio-group
|
|
|
- v-else-if="items.scope === 'radio'"
|
|
|
- v-model="listData[items.prop]"
|
|
|
- >
|
|
|
- <el-radio :label="1">发布</el-radio>
|
|
|
- <el-radio :label="0">未发布</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- <el-input
|
|
|
- v-model="listData[items.prop]"
|
|
|
- v-else
|
|
|
- ></el-input> </el-form-item
|
|
|
- ></el-form>
|
|
|
- <questionBank :dingFormInfo="listNums" :nums="1" ref="child" />
|
|
|
+ <el-radio-group
|
|
|
+ v-else-if="items.scope === 'radio'"
|
|
|
+ v-model="listData[items.prop]"
|
|
|
+ >
|
|
|
+ <el-radio :label="1">发布</el-radio>
|
|
|
+ <el-radio :label="0">未发布</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ <el-input
|
|
|
+ v-model="listData[items.prop]"
|
|
|
+ v-else
|
|
|
+ ></el-input> </el-form-item
|
|
|
+ ></el-form>
|
|
|
+ <questionBank :dingFormInfo="listNums" :nums="1" ref="child" />
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="closeBefore">关 闭</el-button>
|
|
|
@@ -364,7 +363,8 @@
|
|
|
controls-position="right"
|
|
|
:min="1"
|
|
|
size="mini"
|
|
|
- ></el-input-number><span v-if="djTimeType === 1">分钟</span>
|
|
|
+ ></el-input-number
|
|
|
+ ><span v-if="djTimeType === 1">分钟</span>
|
|
|
</div>
|
|
|
<div class="margin_bs">
|
|
|
答卷次数:
|
|
|
@@ -655,10 +655,11 @@ import tableList from "@/components/tableList";
|
|
|
import busIns from "@/components/busIns";
|
|
|
import questionBank from "@/components/questionBank";
|
|
|
export default {
|
|
|
+ name: "TopicAddPaper",
|
|
|
components: { searchBoxNew, pagination, tableList, busIns, questionBank },
|
|
|
data() {
|
|
|
return {
|
|
|
- showHide:false,
|
|
|
+ showHide: false,
|
|
|
activeName: "second",
|
|
|
formList: [
|
|
|
// {
|
|
|
@@ -904,7 +905,7 @@ export default {
|
|
|
djTime: 0, //答卷时长
|
|
|
djNumType: 0, //0无限1有限
|
|
|
djNum: 0, //答卷次数
|
|
|
- examsType:1,
|
|
|
+ examsType: 1,
|
|
|
businObj: {},
|
|
|
};
|
|
|
},
|
|
|
@@ -969,7 +970,7 @@ export default {
|
|
|
};
|
|
|
this.djTime = res.data.answerTime;
|
|
|
this.djNum = res.data.answerNum;
|
|
|
- this.examsType = res.data.doType
|
|
|
+ this.examsType = res.data.doType;
|
|
|
this.passScore = res.data.passScore;
|
|
|
});
|
|
|
},
|
|
|
@@ -1082,11 +1083,28 @@ export default {
|
|
|
this.dialogVisibleTable = false;
|
|
|
return;
|
|
|
}
|
|
|
- this.activeLists.map((item) => {
|
|
|
- item.optionsList = JSON.parse(item.jsonStr);
|
|
|
- item.sort = 0;
|
|
|
- (item.partScore = 0), (item.score = "");
|
|
|
- });
|
|
|
+
|
|
|
+ if (this.tableData.length) {
|
|
|
+ let maxIndex = 0;
|
|
|
+ this.tableData.forEach((item) => {
|
|
|
+ if (item.sort > maxIndex) {
|
|
|
+ maxIndex = item.sort;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.activeLists.forEach((item, index) => {
|
|
|
+ item.sort = maxIndex + index + 1;
|
|
|
+ item.optionsList = JSON.parse(item.jsonStr);
|
|
|
+ item.partScore = 0;
|
|
|
+ item.score = "";
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.activeLists.forEach((item, index) => {
|
|
|
+ item.sort = index + 1;
|
|
|
+ item.optionsList = JSON.parse(item.jsonStr);
|
|
|
+ item.partScore = 0;
|
|
|
+ item.score = "";
|
|
|
+ });
|
|
|
+ }
|
|
|
this.activeLists.forEach((item) => {
|
|
|
this.tableData.unshift(item);
|
|
|
});
|
|
|
@@ -1119,7 +1137,7 @@ export default {
|
|
|
if (v === undefined) {
|
|
|
self.statusPop = 1;
|
|
|
self.innerVisiblePaperTopic = true;
|
|
|
- self.showHide = true
|
|
|
+ self.showHide = true;
|
|
|
self.$nextTick(() => {
|
|
|
(self.listNums = {
|
|
|
type: 1,
|
|
|
@@ -1141,7 +1159,7 @@ export default {
|
|
|
});
|
|
|
} else {
|
|
|
self.innerVisiblePaperTopic = true;
|
|
|
- self.showHide = true
|
|
|
+ self.showHide = true;
|
|
|
self.statusPop = int;
|
|
|
var vres = JSON.parse(JSON.stringify(v));
|
|
|
self.indexZB = indexZB;
|
|
|
@@ -1158,8 +1176,8 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
self.activeExam = a;
|
|
|
- }else{
|
|
|
- self.activeExam = []
|
|
|
+ } else {
|
|
|
+ self.activeExam = [];
|
|
|
}
|
|
|
if (vres.type === 2) {
|
|
|
if (vres.answerQuestion) {
|
|
|
@@ -1303,7 +1321,7 @@ export default {
|
|
|
},
|
|
|
closeBefore() {
|
|
|
this.innerVisiblePaperTopic = false;
|
|
|
- this.showHide = false
|
|
|
+ this.showHide = false;
|
|
|
},
|
|
|
async submitForm(formName, int) {
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
@@ -1351,7 +1369,8 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
if (
|
|
|
- data.optionsList[i].type != 3 && data.optionsList[i].type != 5 &&
|
|
|
+ data.optionsList[i].type != 3 &&
|
|
|
+ data.optionsList[i].type != 5 &&
|
|
|
!data.optionsList[i].optionsList.length
|
|
|
) {
|
|
|
self.$message.error("请添加选项");
|
|
|
@@ -1412,15 +1431,25 @@ export default {
|
|
|
}
|
|
|
if (this.statusPop === 1) {
|
|
|
data.businessList = [this.businObj];
|
|
|
- data.sort = 0;
|
|
|
data.partScore = 0;
|
|
|
data.score = "";
|
|
|
data.status = 1;
|
|
|
+ if (this.tableData.length) {
|
|
|
+ let maxIndex = 0;
|
|
|
+ this.tableData.forEach((item) => {
|
|
|
+ if (item.sort > maxIndex) {
|
|
|
+ maxIndex = item.sort;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ data.sort = maxIndex + 1;
|
|
|
+ } else {
|
|
|
+ data.sort = 1;
|
|
|
+ }
|
|
|
this.tableData.unshift(data);
|
|
|
// this.$api.addbankquestion(data).then((res) => {
|
|
|
self.$message.success("添加成功");
|
|
|
self.innerVisiblePaperTopic = false;
|
|
|
- self.showHide = false
|
|
|
+ self.showHide = false;
|
|
|
// self.search();
|
|
|
// });
|
|
|
}
|
|
|
@@ -1429,7 +1458,7 @@ export default {
|
|
|
// this.$api.editbankquestion(data).then((res) => {
|
|
|
self.$message.success("修改成功");
|
|
|
self.innerVisiblePaperTopic = false;
|
|
|
- self.showHide = false
|
|
|
+ self.showHide = false;
|
|
|
// self.search();
|
|
|
// });
|
|
|
}
|
|
|
@@ -1460,18 +1489,18 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
for (let i = 0; i < this.tableData.length; i++) {
|
|
|
- if (!this.tableData[i].sort && this.tableData[i].sort !== 0) {
|
|
|
- this.$message.warning(`题目管理第${i + 1}条请输入排序`);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- let arr = this.tableData.map((items) => {
|
|
|
- return items.sort;
|
|
|
- });
|
|
|
- if (new Set(arr).size != arr.length) {
|
|
|
- this.$message.warning("排序不允许重复");
|
|
|
- return
|
|
|
- }
|
|
|
+ if (!this.tableData[i].sort && this.tableData[i].sort !== 0) {
|
|
|
+ this.$message.warning(`题目管理第${i + 1}条请输入排序`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let arr = this.tableData.map((items) => {
|
|
|
+ return items.sort;
|
|
|
+ });
|
|
|
+ if (new Set(arr).size != arr.length) {
|
|
|
+ this.$message.warning("排序不允许重复");
|
|
|
+ return;
|
|
|
+ }
|
|
|
var arrs = [];
|
|
|
for (let i = 0; i < this.tableData.length; i++) {
|
|
|
if (self.tableData[i].questionId) {
|
|
|
@@ -1492,7 +1521,7 @@ export default {
|
|
|
questionList: arrs,
|
|
|
status: 1,
|
|
|
passScore: this.passScore,
|
|
|
- doType:this.examsType
|
|
|
+ doType: this.examsType,
|
|
|
};
|
|
|
if (this.djTimeType === 0) {
|
|
|
data.answerTime = 0;
|
|
|
@@ -1507,15 +1536,19 @@ export default {
|
|
|
this.$api.editbankexam(data).then((res) => {
|
|
|
this.$message.success("修改成功");
|
|
|
setTimeout(() => {
|
|
|
- this.$router.push({
|
|
|
- path: "testPaperManagement",
|
|
|
+ this.$store.dispatch("tagsView/exitView", this.$route).then(() => {
|
|
|
+ this.$router.push({
|
|
|
+ path: "testPaperManagement",
|
|
|
+ });
|
|
|
});
|
|
|
}, 500);
|
|
|
});
|
|
|
},
|
|
|
backPage() {
|
|
|
- this.$router.push({
|
|
|
- path: "testPaperManagement",
|
|
|
+ this.$store.dispatch("tagsView/delView", this.$route).then((res) => {
|
|
|
+ this.$router.push({
|
|
|
+ path: "testPaperManagement",
|
|
|
+ });
|
|
|
});
|
|
|
},
|
|
|
emitData() {
|
|
|
@@ -1530,22 +1563,22 @@ export default {
|
|
|
this.diansBoxStatus = false;
|
|
|
},
|
|
|
submitPagsInfos() {
|
|
|
- if(this.examsType === 2){
|
|
|
- var ast = this.boxtableDataPags.every(item => {
|
|
|
- if(item.type === 2){
|
|
|
- return item.partScore >= 0 && item.score >= 0
|
|
|
- }else{
|
|
|
- return item.score >= 0
|
|
|
+ if (this.examsType === 2) {
|
|
|
+ var ast = this.boxtableDataPags.every((item) => {
|
|
|
+ if (item.type === 2) {
|
|
|
+ return item.partScore >= 0 && item.score >= 0;
|
|
|
+ } else {
|
|
|
+ return item.score >= 0;
|
|
|
}
|
|
|
- })
|
|
|
- if(!ast){
|
|
|
- this.$message.warning("请设置每道题目的分值")
|
|
|
- return
|
|
|
+ });
|
|
|
+ if (!ast) {
|
|
|
+ this.$message.warning("请设置每道题目的分值");
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
- if(Number(this.passScore) > Number(this.getAllpocis)){
|
|
|
- this.$message.warning("及格分数不得大于当前总分")
|
|
|
- return
|
|
|
+ if (Number(this.passScore) > Number(this.getAllpocis)) {
|
|
|
+ this.$message.warning("及格分数不得大于当前总分");
|
|
|
+ return;
|
|
|
}
|
|
|
this.tableData = this.boxtableDataPags;
|
|
|
this.diansBoxStatus = false;
|