xuhuajiao 3 years ago
parent
commit
362b70d75b
  1. 84
      src/views/immediateRelease/index.vue
  2. 32
      src/views/publishContent/historyList/index.vue

84
src/views/immediateRelease/index.vue

@ -73,16 +73,16 @@
<div class="step_select_list">
<div class="step_upload" @click="selectContVisible = true"></div>
<draggable v-model="selectedMaterial" class="drag_list" @end="dragEnd">
<div v-for="(item, index) in selectedMaterial" :key="'list-'+index" :class="['material_item', 'item_cont']" @click="clickMaterialItem((item.material_id||item.id),item)">
<img v-if="(item.img_path|| item.imgPath) || (item.material_type == 1 || item.type == 1)" :src="(item.img_path||item.imgPath)" :onerror="defaultImg" alt />
<div v-if="(!item.img_path|| !item.imgPath) && (item.material_type == 2|| item.type == 2)" class="radio_img"></div>
<div v-for="(item, index) in selectedMaterial" :key="'list-'+index" :class="['material_item', 'item_cont']" @click="clickMaterialItem(item.material_id,item)">
<img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt />
<div v-if="!item.img_path && item.material_type == 2" class="radio_img"></div>
<div class="item_format">
<span class="item_type">{{ (item.deposit_url || item.depositUrl) | getFileFormat }}</span>
<span class="item_type">{{ item.deposit_url | getFileFormat }}</span>
<span v-if="item.material_type != '0' || item.type != '0'" class="item_time">{{ item.duration | getSeconds }}</span>
</div>
<div class="file_name">{{ item.material_name || item.name }}</div>
<div v-if="contentIds.includes((item.material_id||item.id))" class="select_handle">
<div class="select_delt" @click.stop="selectDelt((item.material_id||item.id),index)">
<div v-if="contentIds.includes(item.material_id)" class="select_handle">
<div class="select_delt" @click.stop="selectDelt(item.material_id,index)">
<svg class="font-icon icon1" aria-hidden="true">
<use xlink:href="#icon-guanbi2" />
</svg>
@ -168,20 +168,18 @@
</div>
<div v-for="(item, index) in selectedEditData" :key="index" class="edit_material">
<div class="edit_img">
<!-- <img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt />
<div v-if="!item.img_path && item.material_type == 2" class="radio_img"></div> -->
<img v-if="(item.img_path|| item.imgPath) || (item.material_type == 1 || item.type == 1)" :src="(item.img_path||item.imgPath)" :onerror="defaultImg" alt />
<div v-if="(!item.img_path|| !item.imgPath) && (item.material_type == 2|| item.type == 2)" class="radio_img"></div>
<img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt />
<div v-if="!item.img_path && item.material_type == 2" class="radio_img"></div>
<span class="">{{ index+1 }}</span>
</div>
<div class="edit_cont">
<div class="edit_cont_base">
<p>{{ item.material_name || item.name }}</p>
<span>{{ (item.deposit_url || item.depositUrl) | getFileFormat }}</span>
<span>{{ (item.file_size||item.fileSize) | formatBytes }}</span>
<span>{{ item.deposit_url | getFileFormat }}</span>
<span>{{ item.file_size | formatBytes }}</span>
</div>
<!-- <div v-if="item.material_type == 0" class="edit_cont_set"> -->
<el-form v-if="item.material_type == 0 || item.type == 0" :ref="setMaterialForm" :model="setMaterialForm.form" class="edit_cont_set" size="small">
<el-form v-if="item.material_type == 0" :ref="setMaterialForm" :model="setMaterialForm.form" class="edit_cont_set" size="small">
<div class="set_time">
<span>展示时长</span>
<el-form-item :prop="'form.'+index+'.showTime'" style="width: 100px">
@ -422,6 +420,7 @@ export default {
}
},
methods: {
// release_id
editRelease() {
const release_id = JSON.parse(localStorage.getItem('releaseId'))
this.release_id = release_id
@ -432,42 +431,43 @@ export default {
if (res.code == 200) {
const releaseInfo = res.data.release
this.releaseInfo = releaseInfo
this.form.orga_id = releaseInfo.orgaId
this.form.relaase_name = releaseInfo.relaaseName
this.form.release_cycle = releaseInfo.releaseCycle
this.form.orga_id = releaseInfo.orga_id
this.form.relaase_name = releaseInfo.relaase_name
this.form.release_cycle = releaseInfo.release_cycle
if (this.form.release_cycle == 2) {
if (releaseInfo.releaseWeekly) {
this.selectWeekly = releaseInfo.releaseWeekly.split(',')
if (releaseInfo.release_weekly) {
this.selectWeekly = releaseInfo.release_weekly.split(',')
}
}
this.form.is_topping = releaseInfo.isTopping
if (releaseInfo.releaseType == 1) {
this.form.is_topping = releaseInfo.is_topping
if (releaseInfo.release_type == 1) {
const arr = []
arr.push(parseTime(releaseInfo.releaseStart))
arr.push(parseTime(releaseInfo.releaseEnd))
arr.push(parseTime(releaseInfo.release_start))
arr.push(parseTime(releaseInfo.release_end))
this.form.release_start = arr
} else {
this.form.release_start = parseTime(releaseInfo.releaseStart)
this.form.release_start = parseTime(releaseInfo.release_start)
}
this.form.bgm_main = releaseInfo.bgmMain
this.form.bgm_main = releaseInfo.bgm_main
this.form.release_deviceDTOs = res.data.release_devices
// list
const materialIds = []
this.isEditMaterial = res.data.release_materials
res.data.release_materials.map((item) => {
materialIds.push(item.materialId)
materialIds.push(item.material_id)
})
const params = {
ids: materialIds
}
// ID
FetchFindMaterialById(params).then(res => {
if (res.code == 200) {
this.selectedMaterial = res.data
}
})
// list
this.form.release_device = releaseInfo.releaseDevice
this.form.release_device = releaseInfo.release_device
this.deviceTags = res.data.release_devices
} else {
this.$message.error(res.msg)
@ -483,8 +483,10 @@ export default {
this.form.release_type = this.publishType
//
if (this.release_id) {
if (this.releaseInfo.actualEnd) {
this.form.actual_end = this.releaseInfo.actualEnd
if (this.releaseInfo.actual_end) {
this.form.actual_end = this.releaseInfo.actual_end
} else {
this.form.actual_end = null
}
this.form.release_id = this.release_id
} else {
@ -525,7 +527,7 @@ export default {
if (this.selectedMaterial) {
this.form.release_materialDTOs = this.selectedMaterial.map((item, index) => {
const json = {}
if (item.material_type == 0 || item.type == 0) {
if (item.material_type == 0) {
json.duration = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showTime : 15
json.effect = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showAnimation : 0
json.bgm_path = (item.showAudioName || item.showAudioUrl) ? item.showAudioUrl : null
@ -534,13 +536,17 @@ export default {
json.effect = 0
json.bgm_path = null
}
json.material_id = item.material_id || item.id
json.material_name = item.material_name || item.name
json.img_path = item.img_path || item.imgPath
json.file_size = item.file_size || item.fileSize
json.material_id = item.material_id
json.material_name = item.material_name
json.img_path = item.img_path
json.file_size = item.file_size
if (this.release_id) {
if (this.isEditMaterial.length != 0) {
json.rm_id = this.isEditMaterial[index].id
if (!item.create_time) {
json.rm_id = null
} else {
json.rm_id = this.isEditMaterial[index].id
}
}
} else {
json.rm_id = null
@ -550,7 +556,7 @@ export default {
})
// bgm
const isBgm = this.selectedMaterial.find(item => {
return item.material_type == 2 || item.type == 2
return item.material_type == 2
})
if (isBgm) {
this.form.bgm_main = isBgm.deposit_url
@ -562,6 +568,8 @@ export default {
if (res.code == 200) {
this.$message.success('发布成功!')
localStorage.removeItem('selectedMaterial')
localStorage.removeItem('releaseId')
this.$router.push({ path: '/publish' })
} else {
this.$message.error(res.msg)
}
@ -708,7 +716,7 @@ export default {
if (!this.isMainBgm) {
this.audioListData[index].material_type = 2
const resultIndex = this.selectedMaterial.findIndex((item, key) => {
return item.material_type == 2 || item.type == 2
return item.material_type == 2
})
if (resultIndex == -1) {
this.selectedMaterial.push(this.audioListData[index])
@ -753,9 +761,11 @@ export default {
this.isMultiSelected = !this.isMultiSelected
if (this.isMultiSelected) {
this.mulitText = '取消'
this.$refs.MaterialList.selectedListId = []
this.$refs.MaterialList.selectedMaterial = []
// -list
this.selectedMaterial.forEach(item => {
this.$refs.MaterialList.selectedListId.push(item.material_id || item.id)
this.$refs.MaterialList.selectedListId.push(item.material_id)
this.$refs.MaterialList.selectedMaterial.push(item)
})
} else {

32
src/views/publishContent/historyList/index.vue

@ -21,7 +21,7 @@
</el-table-column>
<el-table-column label="发布周期" align="center" prop="cycle">
<template slot-scope="scope">
{{ scope.row.release_cycle==0?(''):((scope.row.release_cycle==1?'每天':'每周'+setWeekly(row.release_weekly))) }}
{{ scope.row.release_cycle==0?(''):((scope.row.release_cycle==1?'每天':'每周'+scope.row.release_weekly)) }}
</template>
</el-table-column>
<el-table-column label="发布类型" align="center" prop="type">
@ -33,7 +33,7 @@
<el-table-column label="状态" align="center" prop="enabled">
<template slot-scope="scope">
<div :class="{ stop_txt: scope.row.is_state }">
{{ scope.row.is_state==0 ? '':(scope.row.is_state==1? '每天':'每周') }}
{{ scope.row.is_state==0 ? '':(scope.row.is_state==1? '停止':'发布中') }}
</div>
</template>
</el-table-column>
@ -55,7 +55,7 @@
</template>
<script>
import { parseTime } from '@/utils/index.js'
import { parseTime, setWeekly } from '@/utils/index.js'
import { reqPublishHistory } from '@/api/publish/publishHistory'
export default {
name: 'HistoryList',
@ -84,26 +84,6 @@ export default {
}
},
computed: {
//
setWeekly() {
const a = {
1: '一',
2: '二',
3: '三',
4: '四',
5: '五',
6: '六',
7: '七'
}
return function(str) {
if (str) {
return str.split(',').map(i => a[i]).join('/')
}
}
}
},
mounted() {
this.getPublishHistory()
},
@ -121,8 +101,12 @@ export default {
if (item.binding_device) {
item.binding_device = item.binding_device.split(',')
}
if (item.release_weekly) {
item.release_weekly = setWeekly(item.release_weekly)
} else {
item.release_weekly = ''
}
})
console.log(this.publishHistoryList)
}
})

Loading…
Cancel
Save