播发记录

This commit is contained in:
shijingjing
2022-06-11 14:36:19 +08:00
parent 231717f862
commit 96f565bbe4
4 changed files with 59 additions and 95 deletions

View File

@@ -11,23 +11,24 @@
<template #content>
<ai-wrapper
label-width="120px">
<ai-info-item label="播发级别" :value="info.name"></ai-info-item>
<ai-info-item label="播放方式" :value="info.createTime"></ai-info-item>
<ai-info-item label="开始日期" :value="info.name"></ai-info-item>
<ai-info-item label="播放天数" :value="info.name"></ai-info-item>
<ai-info-item label="开始时间" :value="info.name"></ai-info-item>
<ai-info-item label="结束时间" :value="info.areaName"></ai-info-item>
<ai-info-item label="创建人" :value="info.idNumber"></ai-info-item>
<ai-info-item label="创建时间" :value="info.areaName"></ai-info-item>
<ai-info-item label="起止时间" :value="info.name"></ai-info-item>
<ai-info-item label="详细地址" isLine :value="info.address"></ai-info-item>
<ai-info-item label="播发级别">{{ $dict.getLabel('dlbMessageUrgency',info.messageLevel) }} - {{ $dict.getLabel('dlbDyclingType', info.cyclingType) }}</ai-info-item>
<ai-info-item label="播放方式">{{ info.taskType==1? '定时播放': '立即播放'}}</ai-info-item>
<ai-info-item label="创建人" :value="info.createUserName"></ai-info-item>
<ai-info-item label="创建时间" :value="info.createTime"></ai-info-item>
<ai-info-item label="开始日期" :value="info.startDate" v-if="info.taskType == 1"></ai-info-item>
<ai-info-item label="播放天数" :value="info.broadcastDay" v-if="info.cyclingType == 3 && info.taskType == 1"></ai-info-item>
<ai-info-item label="播放天数" v-if="info.cyclingType == 2 && info.taskType == 1">
<span v-for="(item, index) in info.cyclingDateList" :key="index"><span v-if="index > 0">,</span>{{dayList[item]}}</span>
</ai-info-item>
<ai-info-item label="开始时间" :value="info.startTime" v-if="info.taskType == 1"></ai-info-item>
<ai-info-item label="结束时间" :value="info.endTime" v-if="info.taskType == 1"></ai-info-item>
</ai-wrapper>
</template>
</ai-card>
</div>
<ai-card title="播发设备" v-show="currIndex == 1">
<template #right>
<div style="color: #333;font-size: 15px;"><span style="color: #0082ff;font-size: 15px;">10</span>个设备</div>
<div style="color: #333;font-size: 15px;"><span style="color: #0082ff;font-size: 15px;" v-if="info.devices.length">{{info.devices.length}}</span>个设备</div>
</template>
<template #content>
<ai-table
@@ -35,16 +36,14 @@
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
:current.sync="search.current"
:size.sync="search.size"
@getList="getList">
@getList="getDetail">
</ai-table>
</template>
</ai-card>
<ai-card title="播发素材" v-show="currIndex == 2">
<template #content>
<div class="audios">
<ai-audio :src="info.url" skin="flat"/>
<ai-audio :src="item.url" v-for="item in info.materials" :key="item.id" skin="flat" style="margin-bottom: 8px;"/>
</div>
</template>
</ai-card>
@@ -70,16 +69,23 @@ export default {
search: {},
total: 0,
colConfigs: [
{prop: 'messageName', label: '设备名称', width: 400},
{prop: 'messageType', label: '行政区划', align: 'center', dict: "dlbResourceType"},
{prop: 'messageUrgency', label: '状态', align: 'center', dict: "dlbMessageUrgency"},
{prop: 'name', label: '设备名称', width: 400},
{prop: 'areaName', label: '行政区划', align: 'center'},
{prop: 'devStatus', label: '状态', align: 'center', render: (h, { row })=>{
return h('span',null,this.dict.getLabel('dlbDevStatus',row.devStatus))
}},
],
dayList: ['', '每周一', '每周二', '每周三', '每周四', '每周五', '每周六', '每周日'],
voiceList: [],
}
},
created() {
if(this.params.id) {
this.getDetail()
}
this.$dict.load('dlbMessageUrgency','dlbDyclingType','dlbDevStatus').then(()=>{
if(this.params.id) {
this.getDetail()
}
})
},
methods: {
@@ -91,10 +97,16 @@ export default {
},
getDetail() {
this.instance.post(`/app/appzyvideobroadcast/queryDetailById?id=${this.params.id}`).then((res) => {
console.log(res);
if(res?.data) {
this.info = res.data
this.tableData = res.data.devices
this.total = res.data.devices.length
if(this.info.cyclingType == 2) {
this.info.cyclingDateList = this.info.cyclingDate.split(',')
}
}
})
},
getList() {},
}
}
</script>

View File

@@ -5,15 +5,15 @@
<template #content>
<ai-search-bar bottomBorder>
<template slot="left">
<ai-select v-model="search.messageType" placeholder="媒资类型" clearable
<ai-select v-model="search.cyclingType" placeholder="媒资类型" clearable
:selectList="$dict.getDict('dlbResourceType')"
@change=";(page.current = 1), getList()"></ai-select>
<ai-select v-model="search.messageUrgency" placeholder="级别" clearable
<ai-select v-model="search.messageLevel" placeholder="级别" clearable
:selectList="$dict.getDict('dlbMessageUrgency')"
@change=";(page.current = 1), getList()"></ai-select>
</template>
<template slot="right">
<el-input v-model="search.messageName" size="small" placeholder="媒资名称" clearable
<el-input v-model="search.sourceName" size="small" placeholder="媒资名称" clearable
v-throttle="() => {page.current = 1, getList()}"
@clear=";(page.current = 1), (search.messageName = ''), getList()"
suffix-icon="iconfont iconSearch"/>
@@ -30,9 +30,9 @@
@selection-change="(v) => (ids = v.map((e) => e.id))">
<el-table-column slot="options" label="操作" align="center" width="180" fixed="right">
<template slot-scope="{ row }">
<el-button type="text" @click="onAdd(row.broadcastId)">复制</el-button>
<el-button type="text" @click="toDetail(row.broadcastId)">详情</el-button>
<el-button type="text" @click="cancel(row.broadcastId)"
<!-- <el-button type="text" @click="onAdd(row.id)">复制</el-button> -->
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
<el-button type="text" @click="reset(row.id)"
v-if="row.broadcastStatus == 0 || row.broadcastStatus == 1 || row.broadcastStatus == 2">撤回
</el-button>
</template>
@@ -63,19 +63,21 @@ export default {
},
total: 0,
search: {
messageName: '',
messageType: '',
messageUrgency: '',
sourceName: '',
cyclingType: '',
messageLevel: '',
},
id: '',
ids: [],
colConfigs: [
{prop: 'messageName', label: '媒资名称', width: 400},
{prop: 'messageType', label: '媒资类型', align: 'center', dict: "dlbResourceType"},
{prop: 'messageUrgency', label: '级别', align: 'center', dict: "dlbMessageUrgency"},
{prop: 'taskType', label: '播发方式', align: 'center', dict: "dlbBroadTaskType"},
{prop: 'startDate', label: '开始时间', align: 'center', width: 180},
{prop: 'broadcastStatus', label: '状态', align: 'center', dict: "dlbBroadcastStatus"},
{prop: 'sourceName', label: '媒资名称', width: 200},
{prop: 'cyclingType', label: '媒资类型', align: 'center', dict: "dlbResourceType"},
{prop: 'messageLevel', label: '级别', align: 'center', dict: "dlbMessageUrgency"},
{prop: 'taskType', label: '播发方式', align: 'center', render: (h, {row}) => {
return h('span', null, (row.taskType == 1? '定时播放':'立即播放'))},
},
{prop: 'startTime', label: '开始时间', align: 'center', width: 180},
// {prop: 'broadcastStatus', label: '状态', align: 'center', dict: "dlbBroadcastStatus"},
{prop: 'areaName', label: '地区', align: 'center'},
{prop: 'createUserName', label: '创建人', align: 'center'},
{slot: 'options'},
@@ -100,7 +102,7 @@ export default {
created() {
this.areaId = this.user.info.areaId
this.dict.load('dlbResourceType', 'dlbMessageUrgency', 'dlbBroadTaskType', 'dlbBroadcastStatus', 'dlbMessageUrgency').then(() => {
this.dict.load('dlbDyclingType', 'dlbMessageUrgency', 'dlbBroadTaskType', 'dlbBroadcastStatus', 'dlbMessageUrgency').then(() => {
this.getList()
this.loading = true
})
@@ -108,7 +110,7 @@ export default {
methods: {
getList() {
this.instance.post(`/app/appzyvideobroadcast/getBroadcastRecords`, null, {
this.instance.post(`/app/appzyvideobroadcast/list`, null, {
params: {
...this.page,
...this.search,
@@ -140,8 +142,8 @@ export default {
}
})
},
cancel(id) {
this.$confirm('确定撤回该广播?').then(() => {
reset(id) {
this.$confirm('确定撤回该广播?').then(() => {
this.instance.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${id}`).then((res) => {
if (res.code == 0) {
this.$message.success('撤回成功!')

View File

@@ -5,9 +5,9 @@
<template #content>
<ai-search-bar bottomBorder>
<template slot="right">
<el-input v-model="search.keyword" size="small" placeholder="媒资名称/创建人" clearable
<el-input v-model="search.sourceName" size="small" placeholder="媒资名称/创建人" clearable
v-throttle="() => {page.current = 1, getList()}"
@clear=";(page.current = 1), (search.keyword = ''), getList()" suffix-icon="iconfont iconSearch"/>
@clear=";(page.current = 1), (search.sourceName = ''), getList()" suffix-icon="iconfont iconSearch"/>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :col-configs="colConfigs" :total="page.total" ref="aitableex"
@@ -41,7 +41,7 @@ export default {
total: 0,
},
search: {
keyword: '',
sourceName: '',
},
tableData: [],
colConfigs: [

View File

@@ -168,59 +168,9 @@ export default {
children: 'children',
label: 'label'
},
// tree
data: [{
label: '一级 1',
children: [{
label: '二级 1-1',
children: [{
label: '三级 1-1-1'
}]
}]
}, {
label: '一级 2',
children: [{
label: '二级 2-1',
children: [{
label: '三级 2-1-1'
}]
}, {
label: '二级 2-2',
children: [{
label: '三级 2-2-1'
}]
}]
}, {
label: '一级 3',
children: [{
label: '二级 3-1',
children: [{
label: '三级 3-1-1'
}]
}, {
label: '二级 3-2',
children: [{
label: '三级 3-2-1'
}]
}]
}],
// 复选框
checkAll: false,
checkedCities: [],
cities: ['上海', '北京', '广州', '深圳','湖北','湖南','河北','河南'],
isIndeterminate: true,
// 标签
tags: [
{ name: '标签一', type: '' },
{ name: '标签二', type: 'success' },
{ name: '标签三', type: 'info' },
{ name: '标签四', type: 'warning' },
{ name: '标签五', type: 'danger' }
],
serialNoList: [],
areaId: '',
areaName: '',
chooseUser: '',
}
},
computed: {