From ff8a05baaf7418378909ea9cddc526b4a04e70d1 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期五, 01 十一月 2024 16:01:01 +0800
Subject: [PATCH] 教师修改密码
---
src/views/exam/question/edit/audio.vue | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/views/exam/question/edit/audio.vue b/src/views/exam/question/edit/audio.vue
index 7f88df7..f244f47 100644
--- a/src/views/exam/question/edit/audio.vue
+++ b/src/views/exam/question/edit/audio.vue
@@ -1,21 +1,23 @@
<template>
<div class="app-container">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
- <el-form-item label="瀛︾锛�" prop="subjectId" required>
+ <el-form-item label="瀛︾锛�" prop="subjectId">
<el-select v-model="form.subjectId" placeholder="瀛︾">
<el-option v-for="item in subjects" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="棰樺共锛�" prop="title" required>
+ <el-form-item label="棰樺共锛�" prop="title">
<el-input v-model="form.title" @focus="inputClick(form, 'title')" />
</el-form-item>
- <el-form-item label="璇煶锛�" prop="audioFile" required>
+ <el-form-item label="璇煶锛�" prop="audioFile">
<el-upload v-model="form.audioFile" :action="uploadUrl" :limit="1" accept="audio/*" :on-success="uploadSuccess"
- :file-list="audioList">
+ :on-remove="handleRemove" :file-list="audioList">
<el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+ <el-button v-if="form.audioFile" size="small" type="primary" @click.stop="audioPlay(form.audioFile)">{{
+ audioInstance ? '鍋滄' : '鎾斁' }}</el-button>
</el-upload>
</el-form-item>
- <el-form-item label="閫夐」锛�" required>
+ <el-form-item label="閫夐」锛�">
<el-form-item :label="item.prefix" :key="item.prefix" v-for="(item, index) in form.items" label-width="50px"
class="question-item-label">
<el-input v-model="item.prefix" style="width:50px;" />
@@ -24,13 +26,13 @@
@click="questionItemRemove(index)"></el-button>
</el-form-item>
</el-form-item>
- <el-form-item label="瑙f瀽锛�" prop="analyze" required>
+ <el-form-item label="瑙f瀽锛�" prop="analyze">
<el-input v-model="form.analyze" @focus="inputClick(form, 'analyze')" />
</el-form-item>
- <el-form-item label="闅惧害锛�" required>
+ <el-form-item label="闅惧害锛�">
<el-rate v-model="form.difficult" class="question-item-rate"></el-rate>
</el-form-item>
- <el-form-item label="姝g‘绛旀锛�" prop="correct" required>
+ <el-form-item label="姝g‘绛旀锛�" prop="correct">
<el-radio-group v-model="form.correct">
<el-radio v-for="item in form.items" :key="item.prefix" :label="item.prefix">{{ item.prefix }}</el-radio>
</el-radio-group>
@@ -125,7 +127,8 @@
dialog: false,
question: null,
loading: false
- }
+ },
+ audioInstance: null
}
},
created() {
@@ -144,6 +147,18 @@
}
},
methods: {
+ handleRemove() {
+ this.form.audioFile = ''
+ },
+ audioPlay(url) {
+ if (this.audioInstance) {
+ this.audioInstance.pause();
+ this.audioInstance = null;
+ } else {
+ this.audioInstance = new Audio('/api/files/' + url);
+ this.audioInstance.play();
+ }
+ },
uploadSuccess(response) {
this.form.audioFile = response.data.url;
this.form.originalFile = response.data.name;
--
Gitblit v1.8.0