组卷策略问题未解决

This commit is contained in:
hbzgyjh 2021-12-24 14:25:20 +08:00
parent 1e1970327b
commit dcad25334b
1 changed files with 43 additions and 51 deletions

View File

@ -35,13 +35,7 @@
</a-row>
<a-card :bordered="false" title="组卷策略详情">
<a-table
:columns="columns"
:data-source="tableData"
bordered
:position="{ disabled: false }"
:pagination="false"
>
<a-table :columns="columns" :data-source="tableData" bordered :position="{ disabled: false }" :pagination="false">
<template slot="topicNum" slot-scope="text, record">
<a-input-number style="margin: -5px 0" v-model="record.topicNum" :min="0" :max="record.totalNum" />
</template>
@ -49,10 +43,10 @@
<a-input-number style="margin: -5px 0" v-model="record.topicScore" :min="0" />
</template>
<template slot="totalScore" slot-scope="text, record">
<p>{{ record.topicScore }}</p>
<p>{{record.topicScore}}</p>
</template>
<template slot="footer" :style="{ float: 'left' }">
<p class="right">总分数{{ form.totalScore }} </p>
<template slot="footer" :style="{ float:'left' }">
<p class="right">总分数{{form.totalScore}} </p>
</template>
</a-table>
</a-card>
@ -75,8 +69,8 @@ export default {
components: {},
props: {
projectForm: {
type: Object
}
type: Object,
},
},
data() {
//
@ -91,7 +85,7 @@ export default {
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
trainClass: [{ required: true, message: '请选择培训分类', trigger: 'blur' }],
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
trainClass: [{ required: true, message: '请选择培训分类', trigger: 'blur' }]
trainClass: [{ required: true, message: '请选择培训分类', trigger: 'blur' }],
},
columns: [
{ title: '序号', key: 'i', dataIndex: 'i', width: 70, scopedSlots: { customRender: 'serial' } },
@ -105,7 +99,7 @@ export default {
if (text == 3) return '判断题'
if (text == 4) return '简答题'
if (text == 5) return '填空题'
}
},
},
{ title: '总题量', dataIndex: 'totalNum', key: 'totalNum' },
{
@ -113,55 +107,54 @@ export default {
dataIndex: 'topicNum',
width: 100,
key: 'topicNum',
scopedSlots: { customRender: 'topicNum' }
scopedSlots: { customRender: 'topicNum' },
},
{
title: '单题分值',
dataIndex: 'topicScore',
width: 100,
key: 'topicScore',
scopedSlots: { customRender: 'topicScore' }
scopedSlots: { customRender: 'topicScore' },
},
{
title: '总分',
dataIndex: 'totalScore',
key: 'total',
customRender: (value, row, index) => {
if (!row.topicNum || !row.topicScore) return ''
return row.topicNum * row.topicScore + '分'
}
}
if (!row.topicNum || !row.topicScore) return '';
return (row.topicNum * row.topicScore) + '分'
},
},
],
tableData: [],
totalScore: 0
tableData: [],
totalScore: 0,
}
},
// data
computed: {},
// data
watch: {
tableData: function() {
let sum = 0
tableData: function () {
let sum = 0;
this.tableData.forEach(element => {
if (element.totalScore) {
console.log('单条总分数', element.totalScore)
sum = sum + element.totalScore
if(element.totalScore){
console.log('单条总分数',element.totalScore)
sum = sum + element.totalScore;
}
})
this.form.totalScore = sum
});
this.form.totalScore = sum;
}
},
//
methods: {
//
toSave() {
this.form.testPaperTactics = { ...this.tableData }
this.form.testPaperTactics = this.tableData;
this.form.projectStatus = 1
this.$emit('executeSave', this.form)
},
//
toIssue() {
this.form.testPaperTactics = { ...this.tableData }
this.form.testPaperTactics = this.tableData;
this.form.projectStatus = 2
this.$emit('executeIssue', this.form)
},
@ -170,18 +163,17 @@ export default {
this.$emit('prevStep', this.form)
},
initTable() {
let ids = this.form.lessonIds.map(t => {
return parseInt(t.ids)
let ids = this.form.lessonIds.map((t) => {
return parseInt(t.ids);
})
getQuestionNumByCourseIds({ ids: ids }).then(res => {
getQuestionNumByCourseIds({ ids: ids }).then((res) => {
this.tableData = res.data
if (this.tableData && this.form.testPaperTactics) {
this.tableData.forEach((t1, t1Index) => {
if(this.tableData && this.form.testPaperTactics){
this.tableData.forEach(t1 => {
this.form.testPaperTactics.forEach(t2 => {
if (t1.topicType === t2.topicType) {
this.$set(this.tableData[t1Index], 'topicNum', t2.topicNum)
this.$set(this.tableData[t1Index], 'topicScore', t2.topicScore)
if(t1.topicType === t2.topicType){
t1.topicNum = t2.topicNum
t1.topicScore = t2.topicScore
}
})
})
@ -191,24 +183,24 @@ export default {
},
// - 访this
created() {
this.initTable()
this.initTable();
},
// - 访DOM
mounted() {},
mounted() { },
// -
beforeCreate() {},
beforeCreate() { },
// -
beforeMount() {},
beforeMount() { },
// -
beforeUpdate() {},
beforeUpdate() { },
// -
updated() {},
updated() { },
// -
beforeDestroy() {},
beforeDestroy() { },
// -
destroyed() {},
destroyed() { },
// keep-alive
activated() {}
activated() {},
}
</script>
<style scoped>
@ -217,4 +209,4 @@ export default {
text-align: right;
font-size: 16px;
}
</style>
</style>