服装智能制造软件平台V3.0
http://182.92.169.222/hhxy/#/user/login
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
200 lines
6.2 KiB
200 lines
6.2 KiB
<template> |
|
<j-modal |
|
:title="title" |
|
:width="1200" |
|
:visible="visible" |
|
:confirmLoading="confirmLoading" |
|
switchFullscreen |
|
@ok="handleOk" |
|
@cancel="handleCancel" |
|
cancelText="关闭"> |
|
<div style="width: 1000px; margin: auto"> |
|
|
|
<div v-for="(item,index) in data" style="border-bottom: #9e9e9e 1px solid;padding: 10px 0;"> |
|
第{{index + 1}}大题: |
|
<a-input v-model="item.name" placeholder="请输入大题名称" style="width: 53.5%"></a-input> |
|
请输入分值: |
|
<a-input v-model="item.point" type="number" placeholder="请输入分值" style="width: 10%"></a-input> |
|
<a-button type="primary" @click="show1(index)" size="small" style="margin-left:20px;">添加题目</a-button> |
|
<a-button @click="deleteName(index)" type="danger" size="small" style="margin-left:20px;">删除大题</a-button> |
|
<div v-for="(item1,index1) in item.question" style="padding: 4px 0;"> |
|
<span style="margin-left: 5px;width: 600px; display: inline-block">{{index1 + 1}}:{{item1.name}}</span> |
|
请输入分值: |
|
<a-input type="number" style="width: 10%;" size="small" v-model="item1.point" placeholder="请输入分值"></a-input> |
|
<a-button @click="deletequestion(index,index1)" type="danger" size="small" style="margin-left:20px;">删除题目 |
|
</a-button> |
|
</div> |
|
</div> |
|
<a-button @click="addName" type="primary" style="margin-top: 20px;">添加大题</a-button> |
|
<SelectExquestionList ref="selectExquestionList" @ok="questdata"></SelectExquestionList> |
|
</div> |
|
</j-modal> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
import {httpAction, getAction, deleteAction} from '@/api/manage' |
|
import SelectExquestionList from './SelectExquestionList' |
|
|
|
export default { |
|
name: "GroupVolume", |
|
components: {SelectExquestionList}, |
|
data() { |
|
return { |
|
form: this.$form.createForm(this), |
|
title: "操作", |
|
width: 800, |
|
visible: false, |
|
data: [{paperid: this.paperid, point: 0, name: "", question: []}], |
|
paperid: "", |
|
model: {}, |
|
labelCol: { |
|
xs: {span: 24}, |
|
sm: {span: 5}, |
|
}, |
|
wrapperCol: { |
|
xs: {span: 24}, |
|
sm: {span: 16}, |
|
}, |
|
flag: 0, |
|
students: [], |
|
totalPoints: 0, |
|
confirmLoading: false, |
|
validatorRules: {}, |
|
url: { |
|
groupVolume: "/ex/exExamPaper/groupVolume", |
|
getque: "/ex/exExamPaper/getque", |
|
delete: "/ex/exHistory/delete", |
|
groupVolumedelete: "/ex/exExamPaper/groupVolumedelete", |
|
} |
|
|
|
} |
|
}, |
|
created() { |
|
}, |
|
methods: { |
|
show(paperid, totalPoints) { |
|
|
|
this.visible = true; |
|
this.paperid = paperid; |
|
this.data = [{paperid: this.paperid, point: 0, name: "", question: []}]; |
|
this.totalPoints = totalPoints; |
|
getAction(this.url.getque, {"id": paperid}).then((res) => { |
|
if (res.success) { |
|
console.log(res.result) |
|
this.data = res.result |
|
} else { |
|
this.$message.error(res.message); |
|
} |
|
}); |
|
/*getAction(this.url.showstudent, {id: examid}).then((res) => { |
|
if (res.success) { |
|
console.log(res.result) |
|
this.students = res.result; |
|
this.examid = examid; |
|
this.visible = true; |
|
} else { |
|
this.$message.error(res.message); |
|
} |
|
});*/ |
|
}, |
|
questdata(val) { |
|
console.log("-----------") |
|
console.log(val) |
|
for (let i = 0; i < val.length; i++) { |
|
console.log(val[i]) |
|
let x = {sort:i,id: val[i].id, name: val[i].name, point: 0} |
|
this.data[this.flag].question.push(x) |
|
} |
|
// this.data[this.flag].question = val; |
|
}, |
|
show1(val) { |
|
this.$refs.selectExquestionList.show() |
|
this.flag = val; |
|
}, |
|
addName() { |
|
// let x = {name: '', question: [{queid: '',quename:'', point: ''}]}; |
|
let x = {paperid: this.paperid, point: 0, name: "", question: []}; |
|
this.data.push(x); |
|
}, |
|
deleteName(val) { |
|
this.data.splice(val, 1) |
|
}, |
|
deletequestion(index, index1) { |
|
this.data[index].question.splice(index1, 1) |
|
}, |
|
enterExam(id, eid) { |
|
console.log(eid) |
|
this.$refs.stuExamPointsDetailModal.enterExam(id, eid) |
|
}, |
|
close() { |
|
this.$emit('close'); |
|
this.visible = false; |
|
}, |
|
handleOk() { |
|
console.log(this.data[0]) |
|
let flag1 = 0; |
|
var points1 = 0; |
|
for (let i = 0; i < this.data.length; i++) { |
|
console.log(this.data[i].name) |
|
if(this.data[i].name==""){ |
|
this.$message.error("添加失败!第" + (i + 1) + "大题题目名称为空"); |
|
return; |
|
} |
|
var points = 0; |
|
for (let j = 0; j < this.data[i].question.length; j++) { |
|
points = points + parseFloat(this.data[i].question[j].point) |
|
|
|
} |
|
points1 = points1 + parseFloat(this.data[i].point) |
|
if (points != this.data[i].point) { |
|
this.$message.error("添加失败!第" + (i + 1) + "题下所有题目分值相加与总分值不相等"); |
|
return; |
|
} |
|
} |
|
if (points1 != this.totalPoints) { |
|
this.$message.error("添加失败!大题分值相加与总分值不相等"); |
|
return; |
|
} |
|
console.log('111111111') |
|
getAction(this.url.groupVolumedelete, {"paperid":this.paperid}).then((res) => { |
|
if (res.success) { |
|
|
|
for (let i = 0; i < this.data.length; i++) { |
|
for (let j = 0;j<this.data[i].question.length;j++){ |
|
this.data[i].question[j].sort=(i+1)+""+(j+1); |
|
} |
|
console.log(this.data[i]) |
|
getAction(this.url.groupVolume, {"groupVolume": JSON.stringify(this.data[i]),"flag":i}).then((res) => { |
|
if (res.success) { |
|
console.log(res.result) |
|
} else { |
|
this.$message.error(res.message); |
|
} |
|
}); |
|
} |
|
|
|
} else { |
|
this.$message.error(res.message); |
|
} |
|
}); |
|
console.log('2222222222') |
|
|
|
this.$message.success("提交成功"); |
|
this.$emit('close'); |
|
this.visible = false; |
|
}, |
|
handleCancel() { |
|
this.close() |
|
}, |
|
} |
|
} |
|
</script> |
|
<style scoped> |
|
td { |
|
border: #5c6065 1px solid; |
|
height: 40px; |
|
text-align: center; |
|
} |
|
</style> |