diff --git a/src/views/components/MaterialCompontentList.vue b/src/views/components/MaterialCompontentList.vue index 809d886..428e901 100644 --- a/src/views/components/MaterialCompontentList.vue +++ b/src/views/components/MaterialCompontentList.vue @@ -41,6 +41,10 @@ export default { isMultiSelected: { type: Boolean, required: true + }, + activeItemIndex: { + type: Number, + required: true } }, data () { @@ -50,6 +54,8 @@ export default { thisFoldId: null, // 当前父文件夹ID materialFolders: [], // 文件夹list materialList: [], // 素材库list + materialType: null, + materialTypeNot: null, materialPostfix: [], // 文件后缀格式 selectedMaterial: [], // 素材选中 selectedListId: [], // 素材选中的material_id @@ -72,6 +78,15 @@ export default { if (newName === false) { this.selectedListId = [] } + }, + activeItemIndex (val) { + if (val == 0) { + this.materialType = null + this.materialTypeNot = 2 + } else { + this.materialType = val - 1 + } + this.getMaterialList() } }, mounted () { @@ -84,7 +99,6 @@ export default { this.materialList = [] let params if (this.isToFolder) { - console.log('文件夹内') let folder_id if (this.isReturn) { folder_id = this.rootFolderId @@ -95,8 +109,8 @@ export default { params = { 'folder_id': folder_id, 'material_name': null, - 'material_type': null, - 'material_type_not': '2', + 'material_type': this.materialType, + 'material_type_not': this.materialTypeNot, 'orga_id': this.orga_id } } else { @@ -105,8 +119,8 @@ export default { params = { 'folder_id': null, 'material_name': null, - 'material_type': null, - 'material_type_not': '2', + 'material_type': this.materialType, + 'material_type_not': this.materialTypeNot, 'orga_id': this.orga_id } } diff --git a/src/views/immediateRelease/index.vue b/src/views/immediateRelease/index.vue index 5c85681..fd30de2 100644 --- a/src/views/immediateRelease/index.vue +++ b/src/views/immediateRelease/index.vue @@ -7,11 +7,13 @@
名称 - + + +
- 发布 + 发布 关闭 @@ -26,16 +28,14 @@ 每天 每周 - + {{ item.name }} @@ -123,11 +123,11 @@
    -
  • {{ item.name }}{{ item.num }} +
  • {{ item.name }}{{ item.num }}
- +
@@ -396,7 +396,7 @@ export default { this.selectedMaterial = [] this.selectedMaterial = JSON.parse(localStorage.getItem('selectedMaterial')) // 素材类型格式处理 - if (this.selectedMaterial.length != 0) { + if (this.selectedMaterial) { this.selectedMaterial.forEach((item, key) => { this.materialPostfix[key] = item.deposit_url.substring( item.deposit_url.lastIndexOf('.') + 1, @@ -417,73 +417,87 @@ export default { }, methods: { // 发布提交 - releaseSubmit () { - console.log(this.form) - this.form.orga_id = this.orga_id - if (this.form.release_device == 1) { - this.form.release_deviceDTOs = [] - } else { - if (this.deviceTags.length == 0) { - this.$message.error('请选择设备 !') - return - } - this.form.release_deviceDTOs = this.deviceTags.map(item => { - const json = {} - json.device_id = item.device_id - return json - }) - } - this.form.release_type = this.publishType - // 先判断编辑还是新增 - this.form.actual_end = this.publishType == 0 ? null : '' - if (this.publishType == 0) { - this.form.release_cycle = 0 - this.form.release_weekly = null - this.form.release_end = this.form.release_start - } - if (this.form.release_cycle == 2) { - this.form.release_weekly = this.selectWeekly.join(',') - } - if (this.form.release_start instanceof Array) { - const arrDate = this.form.release_start - this.form.release_start = arrDate[0] - this.form.release_end = arrDate[1] - } - this.form.release_materialDTOs = this.selectedMaterial.map((item, index) => { - const json = {} - 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 - } else { - json.duration = 0 - json.effect = 0 - json.bgm_path = null - } - json.material_id = item.material_id - json.material_name = item.material_name - json.img_path = item.img_path - json.file_size = item.file_size - json.rm_id = null - json.ranking = index + 1 - return json - }) - const isBgm = this.selectedMaterial.find(item => { - return item.material_type == 2 - }) - if (isBgm) { - this.form.bgm_main = isBgm.deposit_url - } else { - this.form.bgm_main = null - } - saveRelease(this.form).then(res => { - if (res.code == 200) { - this.$message.success('发布成功!') - localStorage.removeItem('selectedMaterial') + releaseSubmit (formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + this.form.orga_id = this.orga_id + // 先判断编辑还是新增 + this.form.actual_end = this.publishType == 0 ? null : '' + if (this.form.release_device) { + if (this.form.release_device == 1) { + this.form.release_deviceDTOs = [] + } else { + if (this.deviceTags.length == 0) { + this.$message.error('请选择设备 !') + return + } + this.form.release_deviceDTOs = this.deviceTags.map(item => { + const json = {} + json.device_id = item.device_id + return json + }) + } + } + this.form.release_type = this.publishType + + if (this.publishType == 0) { + this.form.release_cycle = 0 + this.form.release_weekly = null + this.form.release_end = this.form.release_start + } + if (this.form.release_cycle == 2) { + this.form.release_weekly = this.selectWeekly.join(',') + } + if (this.form.release_start instanceof Array) { + const arrDate = this.form.release_start + this.form.release_start = arrDate[0] + this.form.release_end = arrDate[1] + } + if (this.selectedMaterial) { + this.form.release_materialDTOs = this.selectedMaterial.map((item, index) => { + const json = {} + 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 + } else { + json.duration = 0 + json.effect = 0 + json.bgm_path = null + } + json.material_id = item.material_id + json.material_name = item.material_name + json.img_path = item.img_path + json.file_size = item.file_size + json.rm_id = null + json.ranking = index + 1 + return json + }) + // 判断最外层是否有bgm + const isBgm = this.selectedMaterial.find(item => { + return item.material_type == 2 + }) + if (isBgm) { + this.form.bgm_main = isBgm.deposit_url + } else { + this.form.bgm_main = null + } + saveRelease(this.form).then(res => { + if (res.code == 200) { + this.$message.success('发布成功!') + localStorage.removeItem('selectedMaterial') + } else { + this.$message.error(res.msg) + } + }) + } else { + this.$message.error('请选择发布内容!') + } } else { - this.$message.error(res.msg) + console.log('error submit!!'); + return false; } - }) + }); }, // 获取设备列表 ReqDeviceList () { @@ -661,8 +675,10 @@ export default { this.isMultiSelected = false this.mulitText = '多选' }, - tab (index) { + // 子菜单-tab + tabItem (index) { this.activeItemIndex = index + console.log(this.activeItemIndex) }, // 多选btn multiSelectBtn (type) {