|
@@ -718,6 +718,14 @@
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">选择题</div>
|
|
<div style="margin: 5px 0">选择题</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="tooC == 45">
|
|
|
|
+ <img
|
|
|
|
+ @click="addTools(tooC, toolIndex, taskCount)"
|
|
|
|
+ src="../assets/icon/thirdToolList/choose.png"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ <div style="margin: 5px 0">选择题</div>
|
|
|
|
+ </div>
|
|
<!-- <div v-if="tooC == 5">
|
|
<!-- <div v-if="tooC == 5">
|
|
<img
|
|
<img
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
@@ -1051,6 +1059,39 @@
|
|
</div> -->
|
|
</div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="tType && tType == 2 && tool.tool.indexOf(45) != -1"
|
|
|
|
+ class="worksBox"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="zuoyeYulan"
|
|
|
|
+ v-if="workStudent[toolIndex].length > 0"
|
|
|
|
+ >
|
|
|
|
+ <span>作业预览</span>
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ @click="jump()"
|
|
|
|
+ v-if="tType == 2"
|
|
|
|
+ class="buttonA"
|
|
|
|
+ >我的评价</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="worksDetailBox"
|
|
|
|
+ v-if="workStudent[toolIndex].length > 0"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="isWorksName"
|
|
|
|
+ v-for="(w, wIndex) in workStudent[toolIndex]"
|
|
|
|
+ :key="wIndex"
|
|
|
|
+ @click="
|
|
|
|
+ openTools(45, toolIndex, taskCount, w.works, w.sName)
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ {{ w.sName }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
v-if="tType && tType == 2 && tool.tool.indexOf(15) != -1"
|
|
v-if="tType && tType == 2 && tool.tool.indexOf(15) != -1"
|
|
class="worksBox"
|
|
class="worksBox"
|
|
@@ -1571,16 +1612,11 @@
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
class="right_box_xuan"
|
|
class="right_box_xuan"
|
|
- v-for="(item1, checkIndex) in item.askItem"
|
|
|
|
- :key="checkIndex"
|
|
|
|
- v-if="item.answer == checkIndex"
|
|
|
|
>
|
|
>
|
|
<span>正确率</span>
|
|
<span>正确率</span>
|
|
<span>{{
|
|
<span>{{
|
|
- (checkJson[toolIndex][index].checkPerent[checkIndex]
|
|
|
|
- ? checkJson[toolIndex][index].checkPerent[
|
|
|
|
- checkIndex
|
|
|
|
- ]
|
|
|
|
|
|
+ (checkJson[toolIndex][index].right
|
|
|
|
+ ? checkJson[toolIndex][index].right
|
|
: 0) + "%"
|
|
: 0) + "%"
|
|
}}</span>
|
|
}}</span>
|
|
</div>
|
|
</div>
|
|
@@ -1687,6 +1723,121 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ ((tType == 2 && sIsOpen == true) ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4) &&
|
|
|
|
+ tool.tool.indexOf(45) != -1 &&
|
|
|
|
+ (tool.testJson.testJson[0].answer ||
|
|
|
|
+ tool.testJson.testJson[0].answer === 0) &&
|
|
|
|
+ checkJson[toolIndex].length
|
|
|
|
+ "
|
|
|
|
+ class="xuan_right_box"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="tool_right_box"
|
|
|
|
+ v-for="(item, index) in tool.testJson.testJson"
|
|
|
|
+ :key="index"
|
|
|
|
+ >
|
|
|
|
+ <div>
|
|
|
|
+ <span>{{ index + 1 + "、" + item.teststitle }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="right_box_xuan">
|
|
|
|
+ <span>正确率</span>
|
|
|
|
+ <span>{{
|
|
|
|
+ (checkJson[toolIndex][index].right
|
|
|
|
+ ? checkJson[toolIndex][index].right
|
|
|
|
+ : 0) + "%"
|
|
|
|
+ }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="xuan_right_box"
|
|
|
|
+ style="background: unset"
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ ((tType == 2 && sIsOpen == true) ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4) &&
|
|
|
|
+ tool.tool.indexOf(45) != -1
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <AskStatic2
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ :askJSON="tool"
|
|
|
|
+ :checkJson="checkJson[toolIndex]"
|
|
|
|
+ ></AskStatic2>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ ((tType == 2 && sIsOpen == true) ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4) &&
|
|
|
|
+ tool.tool.indexOf(45) != -1
|
|
|
|
+ "
|
|
|
|
+ class="worksBox"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="zuoyeYulan"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <span>作业预览</span>
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ @click="jump()"
|
|
|
|
+ v-if="tType == 2"
|
|
|
|
+ class="buttonA"
|
|
|
|
+ >我的评价</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <div
|
|
|
|
+ class="worksDetailBox"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
|
|
+ :key="wIndex"
|
|
|
|
+ class="isWorksName"
|
|
|
|
+ @click="
|
|
|
|
+ openTools(
|
|
|
|
+ 45,
|
|
|
|
+ toolIndex,
|
|
|
|
+ taskCount,
|
|
|
|
+ w.works,
|
|
|
|
+ w.sName
|
|
|
|
+ )
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ {{ w.sName }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div style="font-size: 18px">未提交</div>
|
|
|
|
+ <div class="noWorksS">
|
|
|
|
+ <div
|
|
|
|
+ v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
|
|
+ :key="sIndex"
|
|
|
|
+ class="noWorksName"
|
|
|
|
+ >
|
|
|
|
+ {{ s.student }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
v-if="
|
|
v-if="
|
|
tType &&
|
|
tType &&
|
|
@@ -3118,7 +3269,7 @@
|
|
<img width="100%" :src="dialogImageUrl" alt />
|
|
<img width="100%" :src="dialogImageUrl" alt />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
- :title="noteName != '' ? noteName : '查看选择题'"
|
|
|
|
|
|
+ :title="noteName != '' ? noteName : '查看问卷'"
|
|
:visible.sync="dialogVisible5"
|
|
:visible.sync="dialogVisible5"
|
|
:append-to-body="true"
|
|
:append-to-body="true"
|
|
width="1000px"
|
|
width="1000px"
|
|
@@ -3183,6 +3334,93 @@
|
|
>
|
|
>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <el-dialog
|
|
|
|
+ :title="noteName != '' ? noteName : '查看问卷'"
|
|
|
|
+ :visible.sync="dialogVisibleChoice"
|
|
|
|
+ :append-to-body="true"
|
|
|
|
+ width="1000px"
|
|
|
|
+ :before-close="handleClose"
|
|
|
|
+ class="dialog_diy dialog_diy3"
|
|
|
|
+ >
|
|
|
|
+ <div>
|
|
|
|
+ <div
|
|
|
|
+ class="a_add_title"
|
|
|
|
+ style="
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div style="margin-right: 20px; font-size: 20px">标题:</div>
|
|
|
|
+ <div style="font-size: 20px">{{ testJson.testTitle }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="a_addBox">
|
|
|
|
+ <div style="font-size: 16px; color: #c7c7c7">题目内容</div>
|
|
|
|
+ <div
|
|
|
|
+ class="a_add_box"
|
|
|
|
+ v-for="(item1, index1) in testJson.testCount"
|
|
|
|
+ :key="index1"
|
|
|
|
+ >
|
|
|
|
+ <div class="a_add_head">
|
|
|
|
+ <div style="display: flex">
|
|
|
|
+ {{ index1 + 1 + "、" }}
|
|
|
|
+ <div>题目:{{ testJson.testJson[index1].teststitle }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <img
|
|
|
|
+ v-if="testJson.testJson[index1].img"
|
|
|
|
+ :src="testJson.testJson[index1].img"
|
|
|
|
+ style="width: 100%; margin-top: 10px"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="a_add_body">
|
|
|
|
+ <div class="a_add_input">
|
|
|
|
+ <el-radio-group
|
|
|
|
+ v-model="radio[index1]"
|
|
|
|
+ v-if="testJson.testJson[index1].type == '1'"
|
|
|
|
+ >
|
|
|
|
+ <el-radio
|
|
|
|
+ v-for="(item2, checkIndex) in testJson.testJson[index1]
|
|
|
|
+ .checkList"
|
|
|
|
+ :key="checkIndex"
|
|
|
|
+ :label="checkIndex"
|
|
|
|
+ :disabled="isAnswer"
|
|
|
|
+ class="redioStyle"
|
|
|
|
+ ><span v-html="item2"></span
|
|
|
|
+ ></el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ <el-checkbox-group
|
|
|
|
+ v-model="radio[index1]"
|
|
|
|
+ v-if="testJson.testJson[index1].type == '2'"
|
|
|
|
+ >
|
|
|
|
+ <el-checkbox
|
|
|
|
+ v-for="(item2, checkIndex) in testJson.testJson[index1]
|
|
|
|
+ .checkList"
|
|
|
|
+ :key="checkIndex"
|
|
|
|
+ :label="checkIndex"
|
|
|
|
+ :disabled="isAnswer"
|
|
|
|
+ class="redioStyle"
|
|
|
|
+ >
|
|
|
|
+ <span v-html="item2"></span>
|
|
|
|
+ </el-checkbox>
|
|
|
|
+ </el-checkbox-group>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="dialogVisibleChoice = false" v-show="noteName == ''"
|
|
|
|
+ >取 消</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ @click="addStudentTest"
|
|
|
|
+ v-show="noteName == ''"
|
|
|
|
+ >确 定</el-button
|
|
|
|
+ >
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
title="查看富文本"
|
|
title="查看富文本"
|
|
:visible.sync="dialogVisible1"
|
|
:visible.sync="dialogVisible1"
|
|
@@ -3912,6 +4150,7 @@
|
|
import "../common/aws-sdk-2.235.1.min.js";
|
|
import "../common/aws-sdk-2.235.1.min.js";
|
|
import pdf from "./components/pdf3";
|
|
import pdf from "./components/pdf3";
|
|
import AskStatic from "./components/askStatic";
|
|
import AskStatic from "./components/askStatic";
|
|
|
|
+import AskStatic2 from "./components/askStatic2";
|
|
import AnswerData2 from "./components/answerData2";
|
|
import AnswerData2 from "./components/answerData2";
|
|
import EditorBar from "./tools/wangEnduit.vue";
|
|
import EditorBar from "./tools/wangEnduit.vue";
|
|
import Time from "./tools/time.vue";
|
|
import Time from "./tools/time.vue";
|
|
@@ -3927,6 +4166,7 @@ export default {
|
|
Time,
|
|
Time,
|
|
pdf,
|
|
pdf,
|
|
AskStatic,
|
|
AskStatic,
|
|
|
|
+ AskStatic2,
|
|
Mind,
|
|
Mind,
|
|
Sunburst,
|
|
Sunburst,
|
|
SeeBoard,
|
|
SeeBoard,
|
|
@@ -4089,6 +4329,7 @@ export default {
|
|
dialogVisible4: false,
|
|
dialogVisible4: false,
|
|
isNoHomeWork: false,
|
|
isNoHomeWork: false,
|
|
dialogVisible5: false,
|
|
dialogVisible5: false,
|
|
|
|
+ dialogVisibleChoice: false,
|
|
answerDialogVisible: false,
|
|
answerDialogVisible: false,
|
|
juriVisible: false,
|
|
juriVisible: false,
|
|
timeDialogVisible: false,
|
|
timeDialogVisible: false,
|
|
@@ -4099,6 +4340,7 @@ export default {
|
|
askTitle: "",
|
|
askTitle: "",
|
|
askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
askJson: [{ askstitle: "", askItem: 1, checkList: [] }],
|
|
},
|
|
},
|
|
|
|
+ testJson: {},
|
|
checkJson: [],
|
|
checkJson: [],
|
|
askList: [],
|
|
askList: [],
|
|
answerList: [],
|
|
answerList: [],
|
|
@@ -4413,7 +4655,8 @@ export default {
|
|
b[j].type == 6 ||
|
|
b[j].type == 6 ||
|
|
b[j].type == 7) &&
|
|
b[j].type == 7) &&
|
|
a[i].tool[0] != 15 &&
|
|
a[i].tool[0] != 15 &&
|
|
- a[i].tool[0] != 4
|
|
|
|
|
|
+ a[i].tool[0] != 4 &&
|
|
|
|
+ a[i].tool[0] != 45
|
|
) {
|
|
) {
|
|
if (
|
|
if (
|
|
c.indexOf(
|
|
c.indexOf(
|
|
@@ -4483,6 +4726,7 @@ export default {
|
|
time: b[j].time,
|
|
time: b[j].time,
|
|
});
|
|
});
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
|
|
+ //问卷
|
|
this.workStudent[i].push({
|
|
this.workStudent[i].push({
|
|
works: b[j].content,
|
|
works: b[j].content,
|
|
sName: b[j].name,
|
|
sName: b[j].name,
|
|
@@ -4490,6 +4734,15 @@ export default {
|
|
type: 2,
|
|
type: 2,
|
|
time: b[j].time,
|
|
time: b[j].time,
|
|
});
|
|
});
|
|
|
|
+ } else if (b[j].type == 8 && a[i].tool[0] == 45) {
|
|
|
|
+ //选择题
|
|
|
|
+ this.workStudent[i].push({
|
|
|
|
+ works: b[j].content,
|
|
|
|
+ sName: b[j].name,
|
|
|
|
+ score: b[j].score,
|
|
|
|
+ type: 8,
|
|
|
|
+ time: b[j].time,
|
|
|
|
+ });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -4782,6 +5035,7 @@ export default {
|
|
this.checkJson[i].push({
|
|
this.checkJson[i].push({
|
|
checkCount: [],
|
|
checkCount: [],
|
|
checkPerson: [],
|
|
checkPerson: [],
|
|
|
|
+ rightPerson: [],
|
|
});
|
|
});
|
|
}
|
|
}
|
|
if (!this.checkJson[i][z].checkCount.length) {
|
|
if (!this.checkJson[i][z].checkCount.length) {
|
|
@@ -4792,6 +5046,13 @@ export default {
|
|
this.checkJson[i][z].checkCount.push(0);
|
|
this.checkJson[i][z].checkCount.push(0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (
|
|
|
|
+ (JSON.parse(data.content)[0].askJson.askJson[z].answer || JSON.parse(data.content)[0].askJson.askJson[z].answer == 0) &&
|
|
|
|
+ JSON.parse(data.content)[0].askJson.askJson[z].answer ==
|
|
|
|
+ checkL[z]
|
|
|
|
+ ) {
|
|
|
|
+ this.checkJson[i][z].rightPerson.push(data.name);
|
|
|
|
+ }
|
|
this.checkJson[i][z].checkPerson[parseInt(checkL[z])]
|
|
this.checkJson[i][z].checkPerson[parseInt(checkL[z])]
|
|
? this.checkJson[i][z].checkPerson[
|
|
? this.checkJson[i][z].checkPerson[
|
|
parseInt(checkL[z])
|
|
parseInt(checkL[z])
|
|
@@ -4804,6 +5065,70 @@ export default {
|
|
parseInt(checkL[z])
|
|
parseInt(checkL[z])
|
|
] = 1);
|
|
] = 1);
|
|
}
|
|
}
|
|
|
|
+ } else if (data.type == 8 && a[i].tool[0] == 45) {
|
|
|
|
+ var checkL = JSON.parse(data.content)[0].anwer;
|
|
|
|
+ for (var z = 0; z < checkL.length; z++) {
|
|
|
|
+ if (!this.checkJson[i][z]) {
|
|
|
|
+ this.checkJson[i].push({
|
|
|
|
+ checkCount: [],
|
|
|
|
+ checkPerson: [],
|
|
|
|
+ rightPerson: [],
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if (!this.checkJson[i][z].checkCount.length) {
|
|
|
|
+ this.checkJson[i][z].checkCount = [];
|
|
|
|
+ let _askItemCount = JSON.parse(data.content)[0].testJson
|
|
|
|
+ .testJson[z].testItem;
|
|
|
|
+ for (var aic = 0; aic < _askItemCount; aic++) {
|
|
|
|
+ this.checkJson[i][z].checkCount.push(0);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (checkL[z] instanceof Array) {
|
|
|
|
+ if (
|
|
|
|
+ JSON.parse(data.content)[0].testJson.testJson[
|
|
|
|
+ z
|
|
|
|
+ ].answer.join(",") == checkL[z].join(",")
|
|
|
|
+ ) {
|
|
|
|
+ this.checkJson[i][z].rightPerson.push(data.name);
|
|
|
|
+ }
|
|
|
|
+ for (var q = 0; q < checkL[z].length; q++) {
|
|
|
|
+ this.checkJson[i][z].checkPerson[parseInt(checkL[z][q])]
|
|
|
|
+ ? this.checkJson[i][z].checkPerson[
|
|
|
|
+ parseInt(checkL[z][q])
|
|
|
|
+ ].push(data.name)
|
|
|
|
+ : (this.checkJson[i][z].checkPerson[
|
|
|
|
+ parseInt(checkL[z][q])
|
|
|
|
+ ] = [data.name]);
|
|
|
|
+ this.checkJson[i][z].checkCount[parseInt(checkL[z][q])]
|
|
|
|
+ ? this.checkJson[i][z].checkCount[
|
|
|
|
+ parseInt(checkL[z][q])
|
|
|
|
+ ]++
|
|
|
|
+ : (this.checkJson[i][z].checkCount[
|
|
|
|
+ parseInt(checkL[z][q])
|
|
|
|
+ ] = 1);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (
|
|
|
|
+ JSON.parse(data.content)[0].testJson.testJson[z]
|
|
|
|
+ .answer == checkL[z]
|
|
|
|
+ ) {
|
|
|
|
+ this.checkJson[i][z].rightPerson.push(data.name);
|
|
|
|
+ }
|
|
|
|
+ this.checkJson[i][z].checkPerson[parseInt(checkL[z])]
|
|
|
|
+ ? this.checkJson[i][z].checkPerson[
|
|
|
|
+ parseInt(checkL[z])
|
|
|
|
+ ].push(data.name)
|
|
|
|
+ : (this.checkJson[i][z].checkPerson[
|
|
|
|
+ parseInt(checkL[z])
|
|
|
|
+ ] = [data.name]);
|
|
|
|
+ this.checkJson[i][z].checkCount[parseInt(checkL[z])]
|
|
|
|
+ ? this.checkJson[i][z].checkCount[parseInt(checkL[z])]++
|
|
|
|
+ : (this.checkJson[i][z].checkCount[
|
|
|
|
+ parseInt(checkL[z])
|
|
|
|
+ ] = 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
for (var k = 0; k < d.length; k++) {
|
|
for (var k = 0; k < d.length; k++) {
|
|
//点赞
|
|
//点赞
|
|
@@ -4835,7 +5160,8 @@ export default {
|
|
b[j].type == 6 ||
|
|
b[j].type == 6 ||
|
|
b[j].type == 7) &&
|
|
b[j].type == 7) &&
|
|
a[i].tool[0] != 15 &&
|
|
a[i].tool[0] != 15 &&
|
|
- a[i].tool[0] != 4
|
|
|
|
|
|
+ a[i].tool[0] != 4 &&
|
|
|
|
+ a[i].tool[0] != 45
|
|
) {
|
|
) {
|
|
if (
|
|
if (
|
|
c.indexOf(
|
|
c.indexOf(
|
|
@@ -4935,6 +5261,7 @@ export default {
|
|
commentJson: commentJson,
|
|
commentJson: commentJson,
|
|
});
|
|
});
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
|
|
+ //问卷
|
|
this.worksStudent[i].push({
|
|
this.worksStudent[i].push({
|
|
userid: b[j].userid,
|
|
userid: b[j].userid,
|
|
wid: b[j].id,
|
|
wid: b[j].id,
|
|
@@ -4948,6 +5275,21 @@ export default {
|
|
isLikes: isLikes,
|
|
isLikes: isLikes,
|
|
commentJson: commentJson,
|
|
commentJson: commentJson,
|
|
});
|
|
});
|
|
|
|
+ } else if (b[j].type == 8 && a[i].tool[0] == 45) {
|
|
|
|
+ //选择题
|
|
|
|
+ this.worksStudent[i].push({
|
|
|
|
+ userid: b[j].userid,
|
|
|
|
+ wid: b[j].id,
|
|
|
|
+ works: b[j].content,
|
|
|
|
+ sName: b[j].name,
|
|
|
|
+ type: 8,
|
|
|
|
+ time: b[j].time,
|
|
|
|
+ score: b[j].score,
|
|
|
|
+ likesCount: likesCount,
|
|
|
|
+ commentCount: commentCount,
|
|
|
|
+ isLikes: isLikes,
|
|
|
|
+ commentJson: commentJson,
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
this.isWorksS[i].push({ uid: b[j].userid, sName: b[j].name });
|
|
this.isWorksS[i].push({ uid: b[j].userid, sName: b[j].name });
|
|
@@ -4971,9 +5313,14 @@ export default {
|
|
for (var j = 0; j < b.length; j++) {
|
|
for (var j = 0; j < b.length; j++) {
|
|
var data = b[j];
|
|
var data = b[j];
|
|
if (i == b[j].tool) {
|
|
if (i == b[j].tool) {
|
|
- if (data.type == 2) {
|
|
|
|
|
|
+ if (data.type == 2 || data.type == 8) {
|
|
for (var z = 0; z < this.checkJson[i].length; z++) {
|
|
for (var z = 0; z < this.checkJson[i].length; z++) {
|
|
this.checkJson[i][z].checkPerent = [];
|
|
this.checkJson[i][z].checkPerent = [];
|
|
|
|
+ this.checkJson[i][z].right = Math.round(
|
|
|
|
+ (this.checkJson[i][z].rightPerson.length /
|
|
|
|
+ parseInt(this.worksStudent[i].length)) *
|
|
|
|
+ 100
|
|
|
|
+ );
|
|
for (
|
|
for (
|
|
var k = 0;
|
|
var k = 0;
|
|
k < this.checkJson[i][z].checkCount.length;
|
|
k < this.checkJson[i][z].checkCount.length;
|
|
@@ -5436,7 +5783,7 @@ export default {
|
|
addQuestion() {
|
|
addQuestion() {
|
|
this.answerList.push({
|
|
this.answerList.push({
|
|
answerTitle: this.answerQ,
|
|
answerTitle: this.answerQ,
|
|
- answer: this.questionAnswer,
|
|
|
|
|
|
+ answer: this.questionAnswer.replaceAll(/%/g, "%25"),
|
|
});
|
|
});
|
|
let params = [
|
|
let params = [
|
|
{
|
|
{
|
|
@@ -6025,6 +6372,12 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
addStudentAsk() {
|
|
addStudentAsk() {
|
|
|
|
+ for (var i = 0; i < this.radio.length; i++) {
|
|
|
|
+ if (this.radio[i] !== 0 && !this.radio[i]) {
|
|
|
|
+ this.$message.error("请选择选项");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
this.askList.push({ askJson: this.askJson, anwer: this.radio.join(",") });
|
|
this.askList.push({ askJson: this.askJson, anwer: this.radio.join(",") });
|
|
let params = [
|
|
let params = [
|
|
{
|
|
{
|
|
@@ -6052,6 +6405,43 @@ export default {
|
|
console.error(err);
|
|
console.error(err);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ addStudentTest() {
|
|
|
|
+ for (var i = 0; i < this.radio.length; i++) {
|
|
|
|
+ if (
|
|
|
|
+ (this.radio[i] instanceof Array && !this.radio[i].length) ||
|
|
|
|
+ (this.radio[i] !== 0 && !this.radio[i])
|
|
|
|
+ ) {
|
|
|
|
+ this.$message.error("请选择选项");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.askList.push({ testJson: this.testJson, anwer: this.radio });
|
|
|
|
+ let params = [
|
|
|
|
+ {
|
|
|
|
+ uid: this.userid,
|
|
|
|
+ cid: this.id,
|
|
|
|
+ stage: this.courseType,
|
|
|
|
+ task: this.taskCount,
|
|
|
|
+ tool: this.toolindex,
|
|
|
|
+ content: JSON.stringify(this.askList).replace(/%/g, "%25"),
|
|
|
|
+ type: 8,
|
|
|
|
+ },
|
|
|
|
+ ];
|
|
|
|
+ this.ajax
|
|
|
|
+ .post(this.$store.state.api + "addCourseWorks", params)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: "提交成功",
|
|
|
|
+ type: "success",
|
|
|
|
+ });
|
|
|
|
+ this.askList = [];
|
|
|
|
+ this.dialogVisibleChoice = false;
|
|
|
|
+ })
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ this.$message.error("提交失败");
|
|
|
|
+ console.error(err);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
addWork() {
|
|
addWork() {
|
|
if (this.studyJuri[0].content == "") {
|
|
if (this.studyJuri[0].content == "") {
|
|
this.$message.error("请将信息填写完整");
|
|
this.$message.error("请将信息填写完整");
|
|
@@ -6182,6 +6572,14 @@ export default {
|
|
}
|
|
}
|
|
this.isAnswer = true;
|
|
this.isAnswer = true;
|
|
this.dialogVisible5 = true;
|
|
this.dialogVisible5 = true;
|
|
|
|
+ } else if (t == 45) {
|
|
|
|
+ this.radio = [];
|
|
|
|
+ this.isAnswer = false;
|
|
|
|
+ let b = z[0].anwer;
|
|
|
|
+ this.radio = b;
|
|
|
|
+ this.testJson = z[0].testJson;
|
|
|
|
+ this.isAnswer = true;
|
|
|
|
+ this.dialogVisibleChoice = true;
|
|
}
|
|
}
|
|
// else if (t == 15) {
|
|
// else if (t == 15) {
|
|
// this.answerQ = "";
|
|
// this.answerQ = "";
|
|
@@ -6279,6 +6677,32 @@ export default {
|
|
}
|
|
}
|
|
this.dialogVisible5 = true;
|
|
this.dialogVisible5 = true;
|
|
|
|
|
|
|
|
+ // window.parent.postMessage({ tools: "4" }, "*");
|
|
|
|
+ } else if (t == 45) {
|
|
|
|
+ this.noteName = "";
|
|
|
|
+ this.radio = [];
|
|
|
|
+ this.isAnswer = false;
|
|
|
|
+ if (this.askCount > 0) {
|
|
|
|
+ this.updateCount(this.askCount, t);
|
|
|
|
+ } else {
|
|
|
|
+ this.askCount++;
|
|
|
|
+ a = this.askCount;
|
|
|
|
+ this.toolsCount(a, t);
|
|
|
|
+ }
|
|
|
|
+ this.testJson =
|
|
|
|
+ this.chapInfoList[this.courseType].chapterInfo[0].taskJson[
|
|
|
|
+ index
|
|
|
|
+ ].toolChoose[i].testJson;
|
|
|
|
+ for (var k = 0; k < this.testJson.testJson.length; k++) {
|
|
|
|
+ if (this.testJson.testJson[k].type == "2") {
|
|
|
|
+ this.radio.push([]);
|
|
|
|
+ } else {
|
|
|
|
+ this.radio.push("");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.dialogVisibleChoice = true;
|
|
|
|
+
|
|
// window.parent.postMessage({ tools: "4" }, "*");
|
|
// window.parent.postMessage({ tools: "4" }, "*");
|
|
} else if (t == 5) {
|
|
} else if (t == 5) {
|
|
if (this.scoreCount > 0) {
|
|
if (this.scoreCount > 0) {
|
|
@@ -7637,6 +8061,10 @@ export default {
|
|
font-size: 18px;
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.redioStyle >>> .el-checkbox__label {
|
|
|
|
+ font-size: 18px;
|
|
|
|
+}
|
|
|
|
+
|
|
.toolHeng2 {
|
|
.toolHeng2 {
|
|
width: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
@@ -7967,6 +8395,7 @@ export default {
|
|
.workImg > img {
|
|
.workImg > img {
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
height: 100%;
|
|
|
|
+ object-fit: contain;
|
|
}
|
|
}
|
|
|
|
|
|
.worksName {
|
|
.worksName {
|
|
@@ -8726,6 +9155,9 @@ export default {
|
|
.redioStyle >>> .el-radio__input.is-checked + .el-radio__label {
|
|
.redioStyle >>> .el-radio__input.is-checked + .el-radio__label {
|
|
color: rgb(0 123 255) !important;
|
|
color: rgb(0 123 255) !important;
|
|
}
|
|
}
|
|
|
|
+.redioStyle >>> .el-checkbox__input.is-checked + .el-checkbox__label {
|
|
|
|
+ color: rgb(0 123 255) !important;
|
|
|
|
+}
|
|
|
|
|
|
.zuoyeYulan {
|
|
.zuoyeYulan {
|
|
padding-top: 15px;
|
|
padding-top: 15px;
|