Browse Source

编辑发布

dev
xuhuajiao 3 years ago
parent
commit
972f4b5212
  1. 8
      src/utils/index.js
  2. 19
      src/views/ThemeGallery/index.vue
  3. 20
      src/views/components/MaterialCompontentList.vue
  4. 116
      src/views/immediateRelease/index.vue
  5. 16
      src/views/materialContent/materialList/index.vue
  6. 48
      src/views/publishContent/urgentMessage/index.vue

8
src/utils/index.js

@ -383,6 +383,7 @@ export function downloadFile(obj, name, suffix) {
document.body.removeChild(link) document.body.removeChild(link)
} }
// 获取当天的日期
export function getNowFormatDate() { export function getNowFormatDate() {
var date = new Date() var date = new Date()
var seperator1 = '-' var seperator1 = '-'
@ -463,3 +464,10 @@ export function setWeekly(str) {
return str.split(',').map(i => a[i]).join('/') return str.split(',').map(i => a[i]).join('/')
} }
} }
// 根据url获取文件格式
export function getFileFormat(str) {
if (str) {
return str.substring(str.lastIndexOf('.') + 1, str.length)
}
}

19
src/views/ThemeGallery/index.vue

@ -41,7 +41,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属机构" prop="is_all_name"> <el-form-item label="所属机构" prop="is_all_name">
<el-select v-model="classifyForm.is_all_name" style="width: 360px;" @change="selectorganization" value-key="name">
<el-select v-model="classifyForm.is_all_name" style="width: 360px;" value-key="name" @change="selectorganization">
<el-option v-for="item in options" :key="item.key" :label="item.name" :value="item" /> <el-option v-for="item in options" :key="item.key" :label="item.name" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -57,7 +57,7 @@
</template> </template>
<script> <script>
import { reqHeaderList, reqAddOrEdit } from "@/api/theme/theme.js";
import { reqHeaderList, reqAddOrEdit } from '@/api/theme/theme.js'
import ThemeGalleryList from '../components/ThemeGalleryList.vue' import ThemeGalleryList from '../components/ThemeGalleryList.vue'
export default { export default {
name: 'ThemeGallery', name: 'ThemeGallery',
@ -83,7 +83,7 @@ export default {
is_all_name: '', is_all_name: '',
is_all: false, is_all: false,
id: '', id: '',
orga_ids: ["133221333123111"],
orga_ids: ['133221333123111'],
selectName: null, selectName: null,
direction: null, direction: null,
selectNameList: [] selectNameList: []
@ -117,8 +117,7 @@ export default {
// lsit // lsit
tabItem: [], tabItem: [],
activeIndex: 0,
activeIndex: 0
} }
}, },
@ -131,7 +130,6 @@ export default {
reqHeaderList(orga_id).then(res => { reqHeaderList(orga_id).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.tabItem = res.data this.tabItem = res.data
} }
}) })
}, },
@ -175,7 +173,6 @@ export default {
} else { } else {
this.classifyForm.is_all_name == '武汉图书馆' this.classifyForm.is_all_name == '武汉图书馆'
} }
} else { } else {
this.layerTitle = '新增' this.layerTitle = '新增'
this.isAddEdit = 0 this.isAddEdit = 0
@ -183,13 +180,11 @@ export default {
this.classifyForm.class_name = '' this.classifyForm.class_name = ''
this.classifyForm.is_all_name = '' this.classifyForm.is_all_name = ''
} }
}, },
// //
upload() { upload() {
// //
this.$refs.ThemeGalleryList.saveMaterial() this.$refs.ThemeGalleryList.saveMaterial()
}, },
selectName(vId) { selectName(vId) {
this.classifyForm.id = vId.id this.classifyForm.id = vId.id
@ -208,7 +203,7 @@ export default {
class_name: this.classifyForm.class_name, class_name: this.classifyForm.class_name,
is_all: this.classifyForm.is_all, is_all: this.classifyForm.is_all,
id: this.classifyForm.id, id: this.classifyForm.id,
orga_ids: ["133221333123111"],
orga_ids: ['133221333123111']
} }
reqAddOrEdit(params).then(res => { reqAddOrEdit(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
@ -218,8 +213,6 @@ export default {
}) })
this.addDialogVisible = false this.addDialogVisible = false
this.getHeaderList() this.getHeaderList()
} }
}) })
} else { } else {
@ -243,7 +236,7 @@ export default {
tabItemClick(tab, event) { tabItemClick(tab, event) {
console.log(this.themeItemActive) console.log(this.themeItemActive)
console.log(tab, event) console.log(tab, event)
},
}
} }
} }

20
src/views/components/MaterialCompontentList.vue

@ -15,9 +15,9 @@
</div> </div>
<div v-for="(item, index) in materialList" :key="'list-'+index" :class="['material_item', 'item_cont', { 'item_multi': selectedListId.includes(item.material_id) }]"> <div v-for="(item, index) in materialList" :key="'list-'+index" :class="['material_item', 'item_cont', { 'item_multi': selectedListId.includes(item.material_id) }]">
<img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt /> <img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt />
<div v-if="item.material_type == 2" class="radio_img"></div>
<div v-if="!item.img_path && item.material_type == 2" class="radio_img"></div>
<div class="item_format"> <div class="item_format">
<span class="item_type">{{ materialPostfix[index] }}</span>
<span class="item_type">{{ item.deposit_url | getFileFormat }}</span>
<span v-if="item.material_type !== '0'" class="item_time">{{ item.duration | getSeconds }}</span> <span v-if="item.material_type !== '0'" class="item_time">{{ item.duration | getSeconds }}</span>
</div> </div>
<div class="file_name">{{ item.material_name }}</div> <div class="file_name">{{ item.material_name }}</div>
@ -28,13 +28,16 @@
<script> <script>
import { getMaterialList } from '@/api/material/material' import { getMaterialList } from '@/api/material/material'
import { getSeconds } from '@/utils/index.js'
import { getSeconds, getFileFormat } from '@/utils/index.js'
export default { export default {
name: 'MaterialList', name: 'MaterialList',
components: {}, components: {},
filters: { filters: {
getSeconds(s) { getSeconds(s) {
return getSeconds(s) return getSeconds(s)
},
getFileFormat(str) {
return getFileFormat(str)
} }
}, },
props: { props: {
@ -56,7 +59,6 @@ export default {
materialList: [], // list materialList: [], // list
materialType: null, materialType: null,
materialTypeNot: null, materialTypeNot: null,
materialPostfix: [], //
selectedMaterial: [], // selectedMaterial: [], //
selectedListId: [], // material_id selectedListId: [], // material_id
selectinFolderid: [], // id -- in_folder_id selectinFolderid: [], // id -- in_folder_id
@ -80,6 +82,7 @@ export default {
} }
}, },
activeItemIndex(val) { activeItemIndex(val) {
console.log(val)
if (val == 0) { if (val == 0) {
this.materialType = null this.materialType = null
this.materialTypeNot = 2 this.materialTypeNot = 2
@ -90,6 +93,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.materialTypeNot = 2
this.getMaterialList() this.getMaterialList()
}, },
methods: { methods: {
@ -131,16 +135,8 @@ export default {
} }
this.materialFolders = res.data.materialFolders this.materialFolders = res.data.materialFolders
this.materialList = res.data.pageThemeVO this.materialList = res.data.pageThemeVO
// data // data
this.thisFoldId = res.data.thisFoldId this.thisFoldId = res.data.thisFoldId
//
this.materialList.forEach((item, key) => {
this.materialPostfix[key] = item.deposit_url.substring(
item.deposit_url.lastIndexOf('.') + 1,
item.deposit_url.length
)
})
} else { } else {
this.$message({ this.$message({
message: res.msg, message: res.msg,

116
src/views/immediateRelease/index.vue

@ -77,7 +77,7 @@
<img v-if="(item.img_path|| item.imgPath) || (item.material_type == 1 || item.type == 1)" :src="(item.img_path||item.imgPath)" :onerror="defaultImg" alt /> <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-if="(!item.img_path|| !item.imgPath) && (item.material_type == 2|| item.type == 2)" class="radio_img"></div>
<div class="item_format"> <div class="item_format">
<span class="item_type">{{ materialPostfix[index] }}</span>
<span class="item_type">{{ (item.deposit_url || item.depositUrl) | getFileFormat }}</span>
<span v-if="item.material_type != '0' || item.type != '0'" class="item_time">{{ item.duration | getSeconds }}</span> <span v-if="item.material_type != '0' || item.type != '0'" class="item_time">{{ item.duration | getSeconds }}</span>
</div> </div>
<div class="file_name">{{ item.material_name || item.name }}</div> <div class="file_name">{{ item.material_name || item.name }}</div>
@ -122,8 +122,8 @@
<el-button round class="delt_btn" @click="clearDevice()">清空</el-button> <el-button round class="delt_btn" @click="clearDevice()">清空</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-tag v-for="tag in deviceTags" :key="tag.device_id" closable :disable-transitions="true" :hit="false" color="#cbe3ff" @close="deltTags(tag)">
{{ tag.device_name }}
<el-tag v-for="tag in deviceTags" :key="(tag.device_id || tag.deviceId)" closable :disable-transitions="true" :hit="false" color="#cbe3ff" @close="deltTags(tag)">
{{ tag.device_name || tag.deviceName }}
</el-tag> </el-tag>
</div> </div>
</el-col> </el-col>
@ -168,18 +168,20 @@
</div> </div>
<div v-for="(item, index) in selectedEditData" :key="index" class="edit_material"> <div v-for="(item, index) in selectedEditData" :key="index" class="edit_material">
<div class="edit_img"> <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.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>
<span class="">{{ index+1 }}</span> <span class="">{{ index+1 }}</span>
</div> </div>
<div class="edit_cont"> <div class="edit_cont">
<div class="edit_cont_base"> <div class="edit_cont_base">
<p>{{ item.material_name }}</p>
<span>{{ materialPostfix[index] }}</span>
<span>{{ item.file_size | formatBytes }}</span>
<p>{{ item.material_name || item.name }}</p>
<span>{{ (item.deposit_url || item.depositUrl) | getFileFormat }}</span>
<span>{{ (item.file_size||item.fileSize) | formatBytes }}</span>
</div> </div>
<!-- <div v-if="item.material_type == 0" class="edit_cont_set"> --> <!-- <div v-if="item.material_type == 0" class="edit_cont_set"> -->
<el-form v-if="item.material_type == 0" :ref="setMaterialForm" :model="setMaterialForm.form" class="edit_cont_set" size="small">
<el-form v-if="item.material_type == 0 || item.type == 0" :ref="setMaterialForm" :model="setMaterialForm.form" class="edit_cont_set" size="small">
<div class="set_time"> <div class="set_time">
<span>展示时长</span> <span>展示时长</span>
<el-form-item :prop="'form.'+index+'.showTime'" style="width: 100px"> <el-form-item :prop="'form.'+index+'.showTime'" style="width: 100px">
@ -262,7 +264,7 @@ import MaterialList from '../components/MaterialCompontentList.vue'
import { getMaterialByType, FetchFindMaterialById } from '@/api/material/material' import { getMaterialByType, FetchFindMaterialById } from '@/api/material/material'
import { ReqDeviceList } from '@/api/device/deviceList.js' import { ReqDeviceList } from '@/api/device/deviceList.js'
import { FetchSaveRelease, FetchGetReleaseDetailsById } from '@/api/release/release.js' import { FetchSaveRelease, FetchGetReleaseDetailsById } from '@/api/release/release.js'
import { getSeconds, formatBytes, parseTime } from '@/utils/index.js'
import { getSeconds, formatBytes, parseTime, getFileFormat } from '@/utils/index.js'
export default { export default {
name: 'ImmediateRelease', name: 'ImmediateRelease',
components: { components: {
@ -276,13 +278,15 @@ export default {
}, },
formatBytes(bytes, decimals) { formatBytes(bytes, decimals) {
return formatBytes(bytes, decimals) return formatBytes(bytes, decimals)
},
getFileFormat(str) {
return getFileFormat(str)
} }
}, },
data() { data() {
return { return {
orga_id: '133221333123111', orga_id: '133221333123111',
selectedMaterial: [], // selectedMaterial: [], //
materialPostfix: [],
publishType: 0, // publishType: 0, //
themeType: null, themeType: null,
page: 1, page: 1,
@ -309,17 +313,6 @@ export default {
release_deviceDTOs: [], // {"device_id": "id"} release_deviceDTOs: [], // {"device_id": "id"}
release_end: '', // yyyy-MM-dd HH:mm:ss release_end: '', // yyyy-MM-dd HH:mm:ss
release_id: null, // id null release_id: null, // id null
// {
// "duration": (s),
// "effect": ,
// "material_id": "id",
// "material_name": "",
// "img_path","",
// "bgm_path":"",
// "file_size":"",
// "ranking": ,
// "rm_id": "id null"
// }
release_materialDTOs: [], release_materialDTOs: [],
release_start: null, // yyyy-MM-dd HH:mm:ss release_start: null, // yyyy-MM-dd HH:mm:ss
release_type: '' // release_type: '' //
@ -397,7 +390,10 @@ export default {
} }
], ],
activeIndex: 0, activeIndex: 0,
activeItemIndex: 0
activeItemIndex: 0,
release_id: null,
releaseInfo: null,
isEditMaterial: []
} }
}, },
computed: { computed: {
@ -411,15 +407,6 @@ export default {
created() { created() {
this.selectedMaterial = [] this.selectedMaterial = []
this.selectedMaterial = JSON.parse(localStorage.getItem('selectedMaterial')) this.selectedMaterial = JSON.parse(localStorage.getItem('selectedMaterial'))
//
if (this.selectedMaterial) {
this.selectedMaterial.forEach((item, key) => {
this.materialPostfix[key] = item.deposit_url.substring(
item.deposit_url.lastIndexOf('.') + 1,
item.deposit_url.length
)
})
}
}, },
mounted() { mounted() {
if (this.$route.path === '/release') { if (this.$route.path === '/release') {
@ -437,22 +424,23 @@ export default {
methods: { methods: {
editRelease() { editRelease() {
const release_id = JSON.parse(localStorage.getItem('releaseId')) const release_id = JSON.parse(localStorage.getItem('releaseId'))
this.release_id = release_id
const params = { const params = {
release_id: release_id release_id: release_id
} }
FetchGetReleaseDetailsById(params).then(res => { FetchGetReleaseDetailsById(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
console.log(res.data)
const releaseInfo = res.data.release const releaseInfo = res.data.release
this.releaseInfo = releaseInfo
this.form.orga_id = releaseInfo.orgaId this.form.orga_id = releaseInfo.orgaId
this.form.relaase_name = releaseInfo.relaaseName this.form.relaase_name = releaseInfo.relaaseName
this.form.release_cycle = releaseInfo.releaseCycle this.form.release_cycle = releaseInfo.releaseCycle
if (this.form.release_cycle == 2) { if (this.form.release_cycle == 2) {
if (releaseInfo.releaseWeekly) {
this.selectWeekly = releaseInfo.releaseWeekly.split(',') this.selectWeekly = releaseInfo.releaseWeekly.split(',')
} }
}
this.form.is_topping = releaseInfo.isTopping this.form.is_topping = releaseInfo.isTopping
this.form.release_device = releaseInfo.releaseDevice
if (releaseInfo.releaseType == 1) { if (releaseInfo.releaseType == 1) {
const arr = [] const arr = []
arr.push(parseTime(releaseInfo.releaseStart)) arr.push(parseTime(releaseInfo.releaseStart))
@ -461,13 +449,12 @@ export default {
} else { } else {
this.form.release_start = parseTime(releaseInfo.releaseStart) this.form.release_start = parseTime(releaseInfo.releaseStart)
} }
if (releaseInfo.actualEnd) {
this.form.actual_end = releaseInfo.actualEnd
}
this.form.bgm_main = releaseInfo.bgmMain this.form.bgm_main = releaseInfo.bgmMain
this.form.release_deviceDTOs = res.data.release_devices this.form.release_deviceDTOs = res.data.release_devices
// list // list
const materialIds = [] const materialIds = []
this.isEditMaterial = res.data.release_materials
res.data.release_materials.map((item) => { res.data.release_materials.map((item) => {
materialIds.push(item.materialId) materialIds.push(item.materialId)
}) })
@ -476,10 +463,12 @@ export default {
} }
FetchFindMaterialById(params).then(res => { FetchFindMaterialById(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
console.log(res.data)
this.selectedMaterial = res.data this.selectedMaterial = res.data
} }
}) })
// list
this.form.release_device = releaseInfo.releaseDevice
this.deviceTags = res.data.release_devices
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
} }
@ -492,8 +481,16 @@ export default {
this.form.orga_id = this.orga_id this.form.orga_id = this.orga_id
// //
this.form.release_type = this.publishType this.form.release_type = this.publishType
//
this.form.actual_end = this.publishType == 0 ? null : ''
//
if (this.release_id) {
if (this.releaseInfo.actualEnd) {
this.form.actual_end = this.releaseInfo.actualEnd
}
this.form.release_id = this.release_id
} else {
this.form.actual_end = null
this.form.release_id = null
}
// //
if (this.form.release_device) { if (this.form.release_device) {
if (this.form.release_device == 1) { if (this.form.release_device == 1) {
@ -505,7 +502,7 @@ export default {
} }
this.form.release_deviceDTOs = this.deviceTags.map(item => { this.form.release_deviceDTOs = this.deviceTags.map(item => {
const json = {} const json = {}
json.device_id = item.device_id
json.device_id = item.device_id || item.deviceId
return json return json
}) })
} }
@ -528,7 +525,7 @@ export default {
if (this.selectedMaterial) { if (this.selectedMaterial) {
this.form.release_materialDTOs = this.selectedMaterial.map((item, index) => { this.form.release_materialDTOs = this.selectedMaterial.map((item, index) => {
const json = {} const json = {}
if (item.material_type == 0) {
if (item.material_type == 0 || item.type == 0) {
json.duration = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showTime : 15 json.duration = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showTime : 15
json.effect = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showAnimation : 0 json.effect = (item.showTime || item.showAnimationName || item.showAnimation) ? item.showAnimation : 0
json.bgm_path = (item.showAudioName || item.showAudioUrl) ? item.showAudioUrl : null json.bgm_path = (item.showAudioName || item.showAudioUrl) ? item.showAudioUrl : null
@ -537,17 +534,21 @@ export default {
json.effect = 0 json.effect = 0
json.bgm_path = null 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.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
if (this.release_id) {
json.rm_id = this.isEditMaterial[index].id
} else {
json.rm_id = null json.rm_id = null
}
json.ranking = index + 1 json.ranking = index + 1
return json return json
}) })
// bgm // bgm
const isBgm = this.selectedMaterial.find(item => { const isBgm = this.selectedMaterial.find(item => {
return item.material_type == 2
return item.material_type == 2 || item.type == 2
}) })
if (isBgm) { if (isBgm) {
this.form.bgm_main = isBgm.deposit_url this.form.bgm_main = isBgm.deposit_url
@ -599,7 +600,7 @@ export default {
this.deviceTags.push(tag) this.deviceTags.push(tag)
} else { } else {
const result = this.deviceTags.find((item) => { const result = this.deviceTags.find((item) => {
return item == tag
return (item.device_id || item.deviceId) == tag.device_id
}) })
if (!result) { if (!result) {
this.deviceTags.push(tag) this.deviceTags.push(tag)
@ -629,13 +630,6 @@ export default {
getMaterialByType(params).then(res => { getMaterialByType(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.audioListData = res.data.content this.audioListData = res.data.content
//
this.audioListData.forEach((item, key) => {
this.materialPostfix[key] = item.deposit_url.substring(
item.deposit_url.lastIndexOf('.') + 1,
item.deposit_url.length
)
})
} else { } else {
this.$message({ this.$message({
message: res.msg, message: res.msg,
@ -712,7 +706,7 @@ export default {
if (!this.isMainBgm) { if (!this.isMainBgm) {
this.audioListData[index].material_type = 2 this.audioListData[index].material_type = 2
const resultIndex = this.selectedMaterial.findIndex((item, key) => { const resultIndex = this.selectedMaterial.findIndex((item, key) => {
return item.material_type == 2
return item.material_type == 2 || item.type == 2
}) })
if (resultIndex == -1) { if (resultIndex == -1) {
this.selectedMaterial.push(this.audioListData[index]) this.selectedMaterial.push(this.audioListData[index])
@ -751,7 +745,6 @@ export default {
// -tab // -tab
tabItem(index) { tabItem(index) {
this.activeItemIndex = index this.activeItemIndex = index
console.log(this.activeItemIndex)
}, },
// btn // btn
multiSelectBtn(type) { multiSelectBtn(type) {
@ -777,13 +770,6 @@ export default {
this.selectContVisible = false this.selectContVisible = false
this.selectedMaterial = [] this.selectedMaterial = []
this.selectedMaterial = this.$refs.MaterialList.selectedMaterial this.selectedMaterial = this.$refs.MaterialList.selectedMaterial
//
this.selectedMaterial.forEach((item, key) => {
this.materialPostfix[key] = item.deposit_url.substring(
item.deposit_url.lastIndexOf('.') + 1,
item.deposit_url.length
)
})
localStorage.setItem('selectedMaterial', JSON.stringify(this.selectedMaterial)) localStorage.setItem('selectedMaterial', JSON.stringify(this.selectedMaterial))
this.mulitText = '多选' this.mulitText = '多选'
}, },

16
src/views/materialContent/materialList/index.vue

@ -29,7 +29,7 @@
<img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt /> <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 v-if="!item.img_path && item.material_type == 2" class="radio_img"></div>
<div class="item_format"> <div class="item_format">
<span class="item_type">{{ materialPostfix[index] }}</span>
<span class="item_type">{{ item.deposit_url | getFileFormat }}</span>
<span v-if="item.material_type !== '0'" class="item_time">{{ item.duration | getSeconds }}</span> <span v-if="item.material_type !== '0'" class="item_time">{{ item.duration | getSeconds }}</span>
</div> </div>
<div class="file_name">{{ item.material_name }}</div> <div class="file_name">{{ item.material_name }}</div>
@ -103,13 +103,16 @@
import { getMaterialList, saveMaterialFolder, deleteMaterialFolder, saveMaterial, deleteMyMaterial, moveMyMaterial } from '@/api/material/material' import { getMaterialList, saveMaterialFolder, deleteMaterialFolder, saveMaterial, deleteMyMaterial, moveMyMaterial } from '@/api/material/material'
import Upload from '../../components/upload' import Upload from '../../components/upload'
import UploadCover from '../../components/upload_cover' import UploadCover from '../../components/upload_cover'
import { getSeconds } from '@/utils/index.js'
import { getSeconds, getFileFormat } from '@/utils/index.js'
export default { export default {
name: 'Material', name: 'Material',
components: { Upload, UploadCover }, components: { Upload, UploadCover },
filters: { filters: {
getSeconds(s) { getSeconds(s) {
return getSeconds(s) return getSeconds(s)
},
getFileFormat(s) {
return getFileFormat(s)
} }
}, },
props: { props: {
@ -140,7 +143,6 @@ export default {
formatType: null, // 0 img 1 video 2 audio formatType: null, // 0 img 1 video 2 audio
materialId: null, // id materialId: null, // id
materialImgPath: '', // materialImgPath: '', //
materialPostfix: [], //
materialDuration: 0, // materialDuration: 0, //
materialName: '', // materialName: '', //
uploadFileUrl: null, // uploadFileUrl: null, //
@ -216,14 +218,6 @@ export default {
this.materialList = res.data.pageThemeVO this.materialList = res.data.pageThemeVO
// data // data
this.thisFoldId = res.data.thisFoldId this.thisFoldId = res.data.thisFoldId
//
this.materialList.forEach((item, key) => {
this.materialPostfix[key] = item.deposit_url.substring(
item.deposit_url.lastIndexOf('.') + 1,
item.deposit_url.length
)
// item.material_name = item.material_name.split('.')[0]
})
}) })
}, },
// / // /

48
src/views/publishContent/urgentMessage/index.vue

@ -42,41 +42,65 @@
<div class="publish_layer"> <div class="publish_layer">
<el-dialog :title="form.notice_id==null? '紧急发布':'编辑'" :close-on-click-modal="false" :show-close="false" :visible.sync="messageVisible" width="872px"> <el-dialog :title="form.notice_id==null? '紧急发布':'编辑'" :close-on-click-modal="false" :show-close="false" :visible.sync="messageVisible" width="872px">
<el-form ref="form" :model="form" size="small" label-width="100px"> <el-form ref="form" :model="form" size="small" label-width="100px">
<el-form-item label="文本颜色" prop="context_color" :rules="[
<el-form-item
label="文本颜色"
prop="context_color"
:rules="[
{ required: true, message: '请选择文本颜色', trigger: '' }, { required: true, message: '请选择文本颜色', trigger: '' },
]">
]"
>
<colorPicker v-model="form.context_color" class="txt_color" @change="headleChangeColor" /> <colorPicker v-model="form.context_color" class="txt_color" @change="headleChangeColor" />
<el-input v-show="false" v-model="form.context_color" /> <el-input v-show="false" v-model="form.context_color" />
</el-form-item> </el-form-item>
<el-form-item label="文本内容" prop="context" :rules="[
<el-form-item
label="文本内容"
prop="context"
:rules="[
{ required: true, message: '请输入文本内容', trigger: 'blur' }, { required: true, message: '请输入文本内容', trigger: 'blur' },
]">
]"
>
<el-input v-model="form.context" type="textarea" rows="6" style="width: 674px" /> <el-input v-model="form.context" type="textarea" rows="6" style="width: 674px" />
</el-form-item> </el-form-item>
<el-form-item label="文本大小" prop="context_size_name" :rules="[
<el-form-item
label="文本大小"
prop="context_size_name"
:rules="[
{ required: true, message: '请选择文本大小', trigger: 'change' }, { required: true, message: '请选择文本大小', trigger: 'change' },
]">
]"
>
<el-select v-model="form.context_size_name" size="small" class="filter-item" @change="selectSize"> <el-select v-model="form.context_size_name" size="small" class="filter-item" @change="selectSize">
<el-option v-for="item in sizeData" :key="item.key" :label="item.name" :value="item" /> <el-option v-for="item in sizeData" :key="item.key" :label="item.name" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文本位置" prop="context_position_name" :rules="[
<el-form-item
label="文本位置"
prop="context_position_name"
:rules="[
{ required: true, message: '请选择文本位置', trigger: 'change' }, { required: true, message: '请选择文本位置', trigger: 'change' },
]">
]"
>
<el-select v-model="form.context_position_name" size="small" value-key="name" class="filter-item" @change="selectPosition"> <el-select v-model="form.context_position_name" size="small" value-key="name" class="filter-item" @change="selectPosition">
<el-option v-for="item in positionData" :key="item.key" :label="item.name" :value="item" /> <el-option v-for="item in positionData" :key="item.key" :label="item.name" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="滚动速度" prop="context_speed_name" :rules="[
<el-form-item
label="滚动速度"
prop="context_speed_name"
:rules="[
{ required: true, message: '请选择滚动速度', trigger: 'change' }, { required: true, message: '请选择滚动速度', trigger: 'change' },
]">
]"
>
<el-select v-model="form.context_speed_name" size="small" class="filter-item" @change="selectSpeed"> <el-select v-model="form.context_speed_name" size="small" class="filter-item" @change="selectSpeed">
<el-option v-for="item in speedData" :key="item.key" :label="item.name" :value="item" /> <el-option v-for="item in speedData" :key="item.key" :label="item.name" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="选择设备" prop="notice_device" :rules="[
<el-form-item
label="选择设备"
prop="notice_device"
:rules="[
{ required: true, message: '请选择设备', trigger: 'change' }, { required: true, message: '请选择设备', trigger: 'change' },
]">
]"
>
<el-radio-group v-model="form.notice_device" @change="clearCheckbox()"> <el-radio-group v-model="form.notice_device" @change="clearCheckbox()">
<el-radio :label="1" value="all">所有设备</el-radio> <el-radio :label="1" value="all">所有设备</el-radio>
<el-radio :label="2" value="other">部分设备<i v-if="form.notice_device === 2" class="radio_tip" @click="addDeviceTag()">添加</i></el-radio> <el-radio :label="2" value="other">部分设备<i v-if="form.notice_device === 2" class="radio_tip" @click="addDeviceTag()">添加</i></el-radio>

Loading…
Cancel
Save