From 085fa2fb257e9f11f8f6d34bf12e2dc281c36b4d Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期四, 09 二月 2023 11:28:21 +0800 Subject: [PATCH] 2023/2/9 肖辉 修改部门管理 --- src/views/operate/video/updateInterface/index.vue | 134 +++++++++++++++++--------------------------- 1 files changed, 53 insertions(+), 81 deletions(-) diff --git a/src/views/operate/video/updateInterface/index.vue b/src/views/operate/video/updateInterface/index.vue index 9135a69..f10f017 100644 --- a/src/views/operate/video/updateInterface/index.vue +++ b/src/views/operate/video/updateInterface/index.vue @@ -1,36 +1,23 @@ <template> <div class="updateUser"> <el-form label-position="right" label-width="150px" :model="videoData" :rules="rules" :disabled="isDisabled" ref="user"> - <el-form-item prop="belongToId" label="鎵�灞炰簨浠剁紪鍙�"> - <el-input v-model="videoData.belongToId"></el-input> - </el-form-item> - <el-form-item prop="eventSource" label="浜嬩欢鏉ユ簮"> - <el-input v-model="videoData.eventSource"></el-input> - </el-form-item> - <el-form-item prop="category" label="闂绫诲埆"> - <el-input v-model="videoData.category"></el-input> - </el-form-item> - <el-form-item prop="type" label="绫诲瀷"> - <el-select v-model="videoData.type"> - <el-option v-for="item in getResourceType()" :key="item.value" :label="item.label" :value="item.value" /> - </el-select> - </el-form-item> - <el-form-item prop="regionName" label="绀惧尯鍚嶇О"> - <el-input v-model="videoData.regionName"></el-input> - </el-form-item> - <el-form-item prop="id" label="瑙嗛Id"> - <el-input v-model="videoData.id"></el-input> - </el-form-item> <el-form-item prop="url" label="瑙嗛" min-width="8"> + <template v-if="videoList" > + <div class="video-cover" v-for="video in videoList" :key="video"> + <i v-if="isUpdate" @click="handleDelete(video)" class="el-icon-delete video-delete-icon"></i> + <video controls :src="video" width="100%" height="100%"/> + </div> + </template> <el-upload + v-if="isUpdate" class="avatar-uploader" action="" ref="image" + :limit="4" :show-file-list="false" :auto-upload="true" :http-request="videoUpload"> - <video controls v-if="videoData.url" :src="videoData.url" width="300px" height="200px" /> - <i v-else class="el-icon-plus avatar-uploader-icon"></i> + <el-button size="small" type="primary">涓婁紶瑙嗛<i class="el-icon-upload el-icon--right"></i></el-button> </el-upload> </el-form-item> <el-button v-if="!isDisabled" class="submit-button" type="primary" @click.native.prevent="onSubmit">鎻愪氦</el-button> @@ -66,18 +53,21 @@ belongToId: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ユ墍灞炰簨浠剁紪鍙�' }], eventSource: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ヤ簨浠舵潵婧�' }], regionName: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ョぞ鍖哄悕绉�' }], - id: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ュ浘鐗嘔d' }], + id: [{ required: true, trigger: 'blur', message: '璇疯緭鍏ヨ棰慖d' }], category: [{ required: true, trigger: 'blue', message: '璇疯緭鍏ラ棶棰樼被鍨�' }], url: [{ required: true, validator: validateVideoUrl }], type: [{ required: true, trigger: ['blur', 'change'], message: '璇烽�夋嫨绫诲瀷' }] }, - isDisabled: false + isDisabled: false, + videoList: [] } }, created() { this.videoData = deepClone(this.dialogData); - this.videoData.url = this.videoData.url ? this.videoData.url.split(',')[0] : ''; + if (this.videoData.url) { + this.videoList = this.videoData.url.split(','); + } this.isDisabled = !this.isUpdate; }, methods: { @@ -90,6 +80,7 @@ delete params.eventSource; delete params.id; params.belongToId = +params.belongToId; + params.type="03" if (this.isUpdate && !this.dialogData) { videoManagement.addVideoResource(params) .then(() => { @@ -115,8 +106,10 @@ formData.append('file', file.file); imageManagement.importImage(formData) .then(res => { - this.$refs.image.clearFiles(); - this.$set(this.videoData, 'url', FILE_ORIGINAL_URL + res.url1); + const url = res.url1 ?? res.url2 ?? res.url3 ?? res.url4; + const videoUrl = FILE_ORIGINAL_URL + url; + this.videoList.push(videoUrl); + this.$set(this.videoData, 'url', this.videoList.join(',')); this.$message.success('涓婁紶鎴愬姛'); }) .catch(err => { @@ -124,6 +117,12 @@ this.$refs.image.clearFiles(); }) }, + + handleDelete(data) { + this.videoList = this.videoList.filter(item => item !== data); + this.videoData.url = this.videoList.join(','); + }, + getResourceType(value) { return value ? RESOURCE_TYPE.find(item => item.value === value) : RESOURCE_TYPE; } @@ -143,10 +142,35 @@ <style lang="scss" scoped> .updateUser { border-radius: 1px; - background-color: #09152f; + // background-color: #09152f; display: flex; justify-content: center; align-items: center; + + .video-cover { + height: 169px; + display: flex; + } + + .video-cover:hover { + background-color: #ffffff; + opacity: .6; + .video-delete-icon { + display: block; + opacity: 1; + } + } + + .video-delete-icon { + position: absolute; + color: red; + left: calc(100% - 160px); + top: calc(100% - 150px); + z-index: 2; + height: 14px; + font-size: 24px; + display: none; + } .submit-button { margin-left: 200px; @@ -158,7 +182,7 @@ } .updateUser::v-deep .el-input__inner { - background-color: #09152f; + // background-color: #09152f; border: 1px solid #17324c; } @@ -190,58 +214,6 @@ width: 36px; height: 36px; border-radius: 50%; -} - -.card { - position: absolute; - z-index: 2000; - right: 0; - - .box-card { - min-height: 240px; - max-height: 260px; - overflow: hidden; - background-color: #09152f; - position: relative; - max-width: 220px; - - .scrollWrap { - overflow: scroll; - height: 180px; - position: relative; - color: #4b9bb7; - - .el-checkbox-group { - display: flex; - flex-direction: column; - - .el-checkbox { - line-height: 20px; - } - } - } - - .myclear { - width: 100%; - line-height: 20px; - color: #4b9bb7; - display: flex; - justify-content: space-between; - } - - .hidebar { - position: absolute; - top: 77px; - right: 20px; - width: 20px; - height: 180px; - background-color: #09152f; - } - - .item { - line-height: 40px; - } - } } .leader { -- Gitblit v1.8.0