|
@@ -1510,6 +1510,61 @@ export default {
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
this.dialogLoading = true;
|
|
this.dialogLoading = true;
|
|
|
|
+ //校验音频重复
|
|
|
|
+ let audiomap = new Map();
|
|
|
|
+ let regex = new RegExp(
|
|
|
|
+ '<a id="[^<>]+" name="([^<>]+\\.mp3)"></a>',
|
|
|
|
+ "ig"
|
|
|
|
+ );
|
|
|
|
+ let ret = "";
|
|
|
|
+ let quesBodyStr = paperDetailUnitExp.question.quesBody;
|
|
|
|
+ if (quesBodyStr) {
|
|
|
|
+ while ((ret = regex.exec(quesBodyStr))) {
|
|
|
|
+ if (audiomap.get(ret[1])) {
|
|
|
|
+ this.dialogLoading = false;
|
|
|
|
+ this.$notify({
|
|
|
|
+ type: "error",
|
|
|
|
+ message: "题干中存在相同的音频文件"
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ audiomap.set(ret[1], ret[1]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ let quesAnswerStr = paperDetailUnitExp.question.quesAnswer;
|
|
|
|
+ if (quesAnswerStr) {
|
|
|
|
+ while ((ret = regex.exec(quesAnswerStr))) {
|
|
|
|
+ if (audiomap.get(ret[1])) {
|
|
|
|
+ this.dialogLoading = false;
|
|
|
|
+ this.$notify({
|
|
|
|
+ type: "error",
|
|
|
|
+ message: "答案中存在相同的音频文件"
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ audiomap.set(ret[1], ret[1]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ let quesOptions = paperDetailUnitExp.question.quesOptions;
|
|
|
|
+ if (quesOptions) {
|
|
|
|
+ for (let i = 0; i < quesOptions.length; i++) {
|
|
|
|
+ let quesOptionStr = quesOptions[i].optionBody;
|
|
|
|
+ while ((ret = regex.exec(quesOptionStr))) {
|
|
|
|
+ if (audiomap.get(ret[1])) {
|
|
|
|
+ this.dialogLoading = false;
|
|
|
|
+ this.$notify({
|
|
|
|
+ type: "error",
|
|
|
|
+ message: "选项中存在相同的音频文件"
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ audiomap.set(ret[1], ret[1]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
this.$http
|
|
this.$http
|
|
.put(QUESTION_API + "/paperDetailUnit", paperDetailUnitExp)
|
|
.put(QUESTION_API + "/paperDetailUnit", paperDetailUnitExp)
|
|
.then(() => {
|
|
.then(() => {
|