| | |
| | | :file-list="fileUrl" :on-remove="handleRemove" :before-remove="beforeRemove" :on-success="handleUploadSuccess" |
| | | :before-upload="beforeUpload"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">只能上传pdf、mp4、avi、png、jpg、jpge文件,且不超过{{ fileSizeLimitM }}M</div> |
| | | <div slot="tip" class="el-upload__tip">只能上传pdf、mp4、avi、png、jpg、jpge、flv文件,且不超过{{ fileSizeLimitM }}G</div> |
| | | <div v-if="fileUrl && fileUrl.length > 0 && uploadNum === 1"> |
| | | <video controls class="returnShow" v-if="fileType === 'video'" :src="'/api/files/' + fileUrl[0].url"></video> |
| | | <img class="returnShow" v-if="fileType === 'img'" :src="'/api/files/' + fileUrl[0].url" /> |
| | | <video controls class="returnShow" v-if="fileType === 'video' && fileUrl[0]" :src="'/api/files/' + fileUrl[0].url"></video> |
| | | <img class="returnShow" v-if="fileType === 'img' && fileUrl[0]" :src="'/api/files/' + fileUrl[0].url" /> |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | |
| | | return { |
| | | uploadUrl: "/api/upload/upload", |
| | | fileTypeList: { |
| | | 'video': ['mp4', 'avi'], |
| | | 'video': ['mp4', 'avi', 'flv'], |
| | | 'img': ['jpg', 'png', 'jpeg'], |
| | | 'pdf': ['pdf'], |
| | | 'file': ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'png', 'jpg', 'jpeg', 'pdf'], |
| | |
| | | }, |
| | | handleUploadSuccess(res, file) { |
| | | this.fileUrl.push(res.response); |
| | | console.log("当前文件信息") |
| | | this.$emit('getUploadUrl', this.fileUrl); |
| | | }, |
| | | beforeUpload(file) { |
| | |
| | | let limitType = true; |
| | | if (typeList) { |
| | | const tempType = typeList.find(item => { |
| | | if (type.includes(item)) { |
| | | if (type.includes(item) || file.name.endsWith(".flv")) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | |
| | | limitType = false; |
| | | } |
| | | } |
| | | const limit = file.size / 1024 / 1024 < this.fileSizeLimitM; |
| | | const limit = file.size / 1024 / 1024 / 1024 < this.fileSizeLimitM; |
| | | if (!limit) { |
| | | this.$message.error(`上传文件大小不能超过 ${this.fileSizeLimitM}MB!`); |
| | | this.$message.error(`上传文件大小不能超过 ${this.fileSizeLimitM}G!`); |
| | | } |
| | | return limitType && limit; |
| | | }, |
| | |
| | | <el-table-column prop="contentType" :formatter="typeFormatter" label="文件类型"> |
| | | </el-table-column> |
| | | <el-table-column label="文件内容" width="240"> |
| | | <template slot-scope="scope"> |
| | | <template slot-scope="scope" v-if="scope.row.contentUrl"> |
| | | <video controls v-if="scope.row.contentType === 'video'" :src="'/api/files/' + scope.row.contentUrl.url" |
| | | class="showContent" /> |
| | | <el-image v-if="scope.row.contentType === 'img'" :src="'/api/files/' + scope.row.contentUrl.url" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="上传文件(一个)" prop="contentUrl"> |
| | | <upload v-show="form.contentType" ref="upload" :fileUrl="form.contentUrl" :fileType="form.contentType" |
| | | :fileSizeLimitM="1024" :uploadNum="1" @getUploadUrl="getUploadUrl" @removeFile="removeFile" /> |
| | | <upload v-if="form.contentType" ref="upload" :fileUrl="form.contentUrl" :fileType="form.contentType" |
| | | :fileSizeLimitM="10" :uploadNum="1" @getUploadUrl="getUploadUrl" @removeFile="removeFile" /> |
| | | </el-form-item> |
| | | <el-form-item label="附件(最多3个)" prop="attachment"> |
| | | <upload :fileSizeLimitM="1024" :uploadNum="3" :fileUrl="form.attachment" |
| | | <upload :fileSizeLimitM="10" :uploadNum="3" :fileUrl="form.attachment" |
| | | @getUploadUrl="getUploadAttachmentUrl" @removeFile="removeAttachmentFile" /> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | temp: [] |
| | | }, |
| | | rules: { |
| | | contentUrl: [ |
| | | { required: true, message: '请上传文件', trigger: 'blur' }, |
| | | ], |
| | | // contentUrl: [ |
| | | // { required: true, message: '请上传文件', trigger: 'blur' }, |
| | | // ], |
| | | subject: [ |
| | | { required: true, message: '请输入主题内容', trigger: 'blur' }, |
| | | ], |
| | |
| | | this.form.attachment = uploadData; |
| | | }, |
| | | getUploadUrl(uploadData) { |
| | | console.log("收到:", uploadData) |
| | | this.form.contentUrl = uploadData; |
| | | }, |
| | | remove(id) { |
| | |
| | | handleUpdate(row) { |
| | | this.form.id = row.id; |
| | | this.form.contentType = row.contentType; |
| | | this.form.contentUrl = [row.contentUrl] || []; |
| | | this.form.contentUrl = row.contentUrl ? [row.contentUrl] : []; |
| | | this.form.attachment = row.attachment || []; |
| | | this.form.subject = row.subject; |
| | | this.form.belongType = row.belongType; |