|
|
|
@ -136,21 +136,6 @@
|
|
|
|
|
<span>事件音频:</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- <div class="component-upload-image">
|
|
|
|
|
<el-upload
|
|
|
|
|
id="audioUpload"
|
|
|
|
|
v-model="formInline.reportEventObj.audioUrl"
|
|
|
|
|
class="upload-demo-audio"
|
|
|
|
|
action=""
|
|
|
|
|
:http-request="httpRequestHandler"
|
|
|
|
|
:file-list="file_list"
|
|
|
|
|
:limit="1"
|
|
|
|
|
:before-upload="beforeAvatarUpload"
|
|
|
|
|
:show-file-list="false"
|
|
|
|
|
>
|
|
|
|
|
<i class="el-icon-plus"></i>
|
|
|
|
|
</el-upload>
|
|
|
|
|
</div> -->
|
|
|
|
|
<my-upload v-model="formInline.reportEventObj.audioUrl" :limit="1" :fileType="['mp3','flac']" :fileSize="20" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -272,8 +257,6 @@ export default {
|
|
|
|
|
label: '选项1'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
file_list: [],
|
|
|
|
|
httpRequestParams: {},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods:{
|
|
|
|
@ -312,56 +295,6 @@ export default {
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
beforeAvatarUpload(file) {
|
|
|
|
|
console.log('file', file)
|
|
|
|
|
// 文件类型进行判断
|
|
|
|
|
console.log('file', file.name.substring(file.name.length - 3))
|
|
|
|
|
// const isAudio = file.type === 'audio/mp3' || file.type === 'audio/mpeg'
|
|
|
|
|
const isAudio = file.name.substring(file.name.length - 3) === 'mp3'
|
|
|
|
|
console.log(isAudio, 'isAudio')
|
|
|
|
|
// 限制上传文件大小 5M
|
|
|
|
|
const isLt2M = file.size / 1024 / 1024 < 5
|
|
|
|
|
// 获取时长
|
|
|
|
|
this.getTimes(file)
|
|
|
|
|
const isTime60S = this.audioDuration >= 300 ? true : ''
|
|
|
|
|
console.log(isTime60S)
|
|
|
|
|
|
|
|
|
|
if (!isAudio) {
|
|
|
|
|
this.$message.error('上传文件只能是Mp3格式!')
|
|
|
|
|
this.fileList = []
|
|
|
|
|
} else {
|
|
|
|
|
if (!isLt2M) {
|
|
|
|
|
this.$message.error('上传文件大小不能超过 5MB!')
|
|
|
|
|
this.fileList = []
|
|
|
|
|
} else {
|
|
|
|
|
if (isTime60S) {
|
|
|
|
|
this.$message.error('上传文件时长不能超过300秒!')
|
|
|
|
|
this.fileList = []
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return isAudio && isLt2M && isTime60S
|
|
|
|
|
},
|
|
|
|
|
getTimes(file) {
|
|
|
|
|
var content = file
|
|
|
|
|
// 获取录音时长
|
|
|
|
|
var url = URL.createObjectURL(content) // 重点
|
|
|
|
|
console.log(url)
|
|
|
|
|
this.music_path = url
|
|
|
|
|
// 经测试,发现audio也可获取视频的时长
|
|
|
|
|
this.audioElement = new Audio(url)
|
|
|
|
|
this.audioElement.addEventListener('loadedmetadata', (_event) => {
|
|
|
|
|
console.log(12312321)
|
|
|
|
|
this.audioDuration = parseInt(this.audioElement.duration)
|
|
|
|
|
console.log(this.audioDuration)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
httpRequestHandler(res) {
|
|
|
|
|
console.log('res', res)
|
|
|
|
|
const fd = new FormData()
|
|
|
|
|
fd.append('file', res.file)
|
|
|
|
|
this.httpRequestParams = fd
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|