Browse Source

音频选择修改

dev
xuhuajiao 3 years ago
parent
commit
c545f0d484
  1. 2
      src/layout/components/Sidebar/Link.vue
  2. 4
      src/layout/components/Sidebar/Logo.vue
  3. 154
      src/views/immediateRelease/index.vue

2
src/layout/components/Sidebar/Link.vue

@ -2,7 +2,7 @@
<template> <template>
<component v-bind="linkProps(to)"> <component v-bind="linkProps(to)">
<slot />
<slot></slot>
</component> </component>
</template> </template>

4
src/layout/components/Sidebar/Logo.vue

@ -2,10 +2,10 @@
<div class="sidebar-logo-container" :class="{'collapse':collapse}"> <div class="sidebar-logo-container" :class="{'collapse':collapse}">
<transition name="sidebarLogoFade"> <transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<img v-if="logo" :src="logo" class="sidebar-logo" />
</router-link> </router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> <router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo">
<img v-if="logo" :src="logo" class="sidebar-logo" />
</router-link> </router-link>
</transition> </transition>
</div> </div>

154
src/views/immediateRelease/index.vue

@ -104,6 +104,7 @@
<div class="step_select"> <div class="step_select">
<div>已选内容 0</div> <div>已选内容 0</div>
<div>内容总时长0.00s</div> <div>内容总时长0.00s</div>
<div>添加BGM<el-button class="step_select_audio" type="primary" round @click="selectAudioCont">选择文件</el-button></div>
</div> </div>
<div class="step_select_list"> <div class="step_select_list">
<div class="step_upload" @click="selectContVisible = true"></div> <div class="step_upload" @click="selectContVisible = true"></div>
@ -173,7 +174,7 @@
:disable-transitions="true" :disable-transitions="true"
:hit="false" :hit="false"
color="#cbe3ff" color="#cbe3ff"
@close="handleClose(tag)"
@close="deltTags(tag)"
> >
{{ tag }} {{ tag }}
</el-tag> </el-tag>
@ -223,14 +224,6 @@
</div> </div>
<!-- 主题库 --> <!-- 主题库 -->
<div v-if="activeIndex === 1" class="theme_cont"> <div v-if="activeIndex === 1" class="theme_cont">
<!-- <ul class="tab_item">
<li
v-for="(item, index) in tabItem"
:key="index"
:class="{'active': activeItemIndex === index}"
@click="tab(index)"
>{{ item.name }}</li>
</ul> -->
<!-- 主题库list --> <!-- 主题库list -->
<ThemeGalleryList <ThemeGalleryList
ref="ThemeGalleryList" ref="ThemeGalleryList"
@ -244,7 +237,7 @@
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" round @click="submitForm('form')"> </el-button> <el-button type="primary" round @click="submitForm('form')"> </el-button>
<el-button round @click="selectContVisible = false"> </el-button>
<el-button round @click="cancelContSelect"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -254,7 +247,6 @@
title="请选择播放内容" title="请选择播放内容"
:close-on-click-modal="false" :close-on-click-modal="false"
:visible.sync="listEditVisible" :visible.sync="listEditVisible"
width="800px"
> >
<div class="total_time"> <div class="total_time">
内容总时长3m15s 内容总时长3m15s
@ -289,6 +281,11 @@
<el-option label="动画2" value="2">动画2</el-option> <el-option label="动画2" value="2">动画2</el-option>
</el-select> </el-select>
</div> </div>
<div class="set_time set_audio">
<span>音频</span>
<p class="audio_name">audio.mp3</p>
<el-button type="primary" round @click="selectAudioCont">选择文件</el-button>
</div>
</div> </div>
<div v-else class="edit_cont_other">内容时长{{ item.time }}</div> <div v-else class="edit_cont_other">内容时长{{ item.time }}</div>
</div> </div>
@ -299,6 +296,47 @@
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
<!-- 素材库 - 音频选择 -->
<div class="release_layer upload_layer">
<el-dialog
:close-on-click-modal="false"
:show-close="false"
:visible.sync="selectAudioVisible"
width="1200px"
>
<div slot="title" class="layer_tab_title">
<span class="active">素材库</span>
</div>
<div>
<ul class="tab_item">
<li>音频<span>3</span></li>
</ul>
<div class="material_list">
<div
v-for="(item, index) in listData"
:key="index"
:class="['material_item', 'item_cont',{ 'item_multi': audioChecked === index }]"
>
<img v-if="item.coverImg" :src="item.coverImg" alt />
<div v-if="item.type == 'audio'" class="radio_img"></div>
<div class="item_format">
<span class="item_type">{{ item.type }}</span>
<span v-if="item.type !== 'JPG'" class="item_time">03:00</span>
</div>
<div class="file_name">{{ item.name }}</div>
<span v-if="isMultiSelected" class="checked_btn" @click="audioCheckedHandle(index)"></span>
</div>
</div>
</div>
<div class="upload_list_right">
<div class="mulit_btn" @click="multiSelectBtn('audio')">{{ mulitText }}</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" round> </el-button>
<el-button round @click="cancelContSelect('audio')"> </el-button>
</div>
</el-dialog>
</div>
<!-- 添加发布的设备 --> <!-- 添加发布的设备 -->
<div class="add_device_layer"> <div class="add_device_layer">
<el-dialog <el-dialog
@ -354,12 +392,15 @@ export default {
return { return {
publishType: 0, publishType: 0,
time: 15, time: 15,
audio_name: 'audio.mp3',
animation: null, animation: null,
selectDeviceVisible: false, selectDeviceVisible: false,
listEditVisible: false, listEditVisible: false,
selectContVisible: false, selectContVisible: false,
activeIndex: 0, activeIndex: 0,
activeItemIndex: 0, activeItemIndex: 0,
selectAudioVisible: false,
audioChecked: null,
deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'], deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'],
deviceTags: [], deviceTags: [],
mulitText: '多选', mulitText: '多选',
@ -376,14 +417,22 @@ export default {
{ {
id: '2', id: '2',
name: '2', name: '2',
type: 'JPG',
size: '12kb',
coverImg: require('@/assets/images/background.jpg'),
time: ''
},
{
id: '3',
name: '4',
type: 'VEDIO', type: 'VEDIO',
size: '12kb', size: '12kb',
coverImg: require('@/assets/images/background.jpg'), coverImg: require('@/assets/images/background.jpg'),
time: '03:00' time: '03:00'
}, },
{ {
id: '3',
name: '3',
id: '4',
name: '4',
type: 'audio', type: 'audio',
size: '12kb', size: '12kb',
coverImg: '', coverImg: '',
@ -402,14 +451,22 @@ export default {
{ {
id: '2', id: '2',
name: '2', name: '2',
type: 'JPG',
size: '12kb',
coverImg: require('@/assets/images/background.jpg'),
time: ''
},
{
id: '3',
name: '4',
type: 'VEDIO', type: 'VEDIO',
size: '12kb', size: '12kb',
coverImg: require('@/assets/images/background.jpg'), coverImg: require('@/assets/images/background.jpg'),
time: '03:00' time: '03:00'
}, },
{ {
id: '3',
name: '3',
id: '4',
name: '4',
type: 'audio', type: 'audio',
size: '12kb', size: '12kb',
coverImg: '', coverImg: '',
@ -443,7 +500,6 @@ export default {
] ]
} }
}, },
computed: { computed: {
changePlaceholder() { changePlaceholder() {
return this.publishType === 0 ? '即时发布 2022-01-01' : '定时发布 2022-01-01' return this.publishType === 0 ? '即时发布 2022-01-01' : '定时发布 2022-01-01'
@ -451,9 +507,15 @@ export default {
}, },
mounted() { mounted() {
console.log(this.$route.query.tag) console.log(this.$route.query.tag)
if (this.$route.path === '/release') {
this.materialTabItem.pop()
}
if (this.$route.query.tag) { if (this.$route.query.tag) {
this.publishType = this.$route.query.tag this.publishType = this.$route.query.tag
} }
console.log(this.$router.options.routes)
console.log(this.$route.path)
}, },
methods: { methods: {
selectEdit() { selectEdit() {
@ -484,14 +546,19 @@ export default {
} }
}, },
// btn // btn
multiSelectBtn() {
multiSelectBtn(type) {
this.isMultiSelected = !this.isMultiSelected this.isMultiSelected = !this.isMultiSelected
if (this.isMultiSelected) { if (this.isMultiSelected) {
this.mulitText = '取消' this.mulitText = '取消'
} else {
if (type === 'audio') {
this.mulitText = '选择'
this.audioChecked = null
} else { } else {
this.mulitText = '多选' this.mulitText = '多选'
this.uploadContentIds = [] this.uploadContentIds = []
} }
}
}, },
// //
selectedListItem(id) { selectedListItem(id) {
@ -505,6 +572,7 @@ export default {
this.uploadContentIds.push(id) this.uploadContentIds.push(id)
} }
}, },
//
addDeviceTag() { addDeviceTag() {
this.selectDeviceVisible = true this.selectDeviceVisible = true
}, },
@ -512,13 +580,16 @@ export default {
console.log(tag) console.log(tag)
this.deviceTags.push(tag) this.deviceTags.push(tag)
}, },
handleClose(tag) {
//
deltTags(tag) {
this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) this.deviceTags.splice(this.deviceTags.indexOf(tag), 1)
console.log(this.deviceTags) console.log(this.deviceTags)
}, },
//
clearDevice() { clearDevice() {
this.deviceTags = [] this.deviceTags = []
}, },
// -/ tab
tabAll(index) { tabAll(index) {
this.activeIndex = index this.activeIndex = index
this.activeItemIndex = 0 this.activeItemIndex = 0
@ -529,10 +600,35 @@ export default {
tab(index) { tab(index) {
this.activeItemIndex = index this.activeItemIndex = index
}, },
// -
clearCheckbox() { clearCheckbox() {
if (this.form.timePeriod === '每天') { if (this.form.timePeriod === '每天') {
this.form.onweek = [] this.form.onweek = []
} }
},
//
selectAudioCont() {
this.isMultiSelected = false
this.mulitText = '选择'
this.selectAudioVisible = true
},
// -
audioCheckedHandle(index) {
this.audioChecked = index
console.log(this.audioChecked)
},
// -
cancelContSelect(type) {
this.isMultiSelected = false
if (type === 'audio') {
this.selectAudioVisible = false
this.mulitText = '选择'
this.audioChecked = null
} else {
this.selectContVisible = false
this.mulitText = '多选'
this.uploadContentIds = []
}
} }
} }
} }
@ -619,6 +715,10 @@ export default {
div{ div{
margin-right: 30px; margin-right: 30px;
} }
.step_select_audio{
margin-left: 5px;
padding: 5px;
}
} }
.step_select_list{ .step_select_list{
display: flex; display: flex;
@ -782,21 +882,31 @@ export default {
} }
.set_animation{ .set_animation{
display: flex; display: flex;
margin-right: 30px;
span.set_item{ span.set_item{
margin-right: 8px; margin-right: 8px;
} }
} }
.set_audio{
.audio_name{
margin-right: 10px;
}
::v-deep .el-button--small{
padding: 0 15px;
border: none;
}
}
::v-deep .el-input__inner{ ::v-deep .el-input__inner{
text-align: center; text-align: center;
height: 26px;
line-height: 26px;
height: 27px;
line-height: 27px;
} }
::v-deep .el-input__icon{ ::v-deep .el-input__icon{
line-height: 26px;
line-height: 27px;
} }
} }
.edit_cont_other{ .edit_cont_other{
line-height: 26px;
line-height: 27px;
font-size: 12px; font-size: 12px;
color: #666; color: #666;
} }

Loading…
Cancel
Save