自主项目bug,国栋哥哥帮忙修了

This commit is contained in:
hbzgyjh 2021-12-24 14:53:29 +08:00
parent dcad25334b
commit 11f392000c
1 changed files with 51 additions and 43 deletions

View File

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