Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
<script>
|
||||
import List from './components/List'
|
||||
import Add from './components/Add'
|
||||
import Detail from './components/Detail'
|
||||
|
||||
export default {
|
||||
label: '播发记录',
|
||||
@@ -20,7 +21,7 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
component: 'List',
|
||||
component: 'Detail',
|
||||
params: {},
|
||||
include: [],
|
||||
}
|
||||
@@ -28,7 +29,8 @@ export default {
|
||||
|
||||
components: {
|
||||
Add,
|
||||
List
|
||||
List,
|
||||
Detail
|
||||
},
|
||||
methods: {
|
||||
onChange(data) {
|
||||
@@ -37,6 +39,11 @@ export default {
|
||||
this.params = data.params
|
||||
}
|
||||
|
||||
if (data.type === 'detail') {
|
||||
this.component = 'Detail'
|
||||
this.params = data.params
|
||||
}
|
||||
|
||||
if (data.type == 'list') {
|
||||
this.component = 'List'
|
||||
this.params = data.params
|
||||
|
||||
96
packages/device/AppBroadcast/components/Detail.vue
Normal file
96
packages/device/AppBroadcast/components/Detail.vue
Normal file
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<ai-detail isHasSidebar>
|
||||
<template slot="title">
|
||||
<ai-title title="任务详情" isShowBack isShowBottomBorder @onBackClick="cancel(true)">
|
||||
</ai-title>
|
||||
</template>
|
||||
<template slot="content">
|
||||
<AiSidebar :tabTitle="tabList" v-model="currIndex"></AiSidebar>
|
||||
<div v-show="currIndex == 0">
|
||||
<ai-card title="播发任务" v-show="currIndex === 0">
|
||||
<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.idNumber"></ai-info-item>
|
||||
<ai-info-item label="所属地区" :value="info.areaName"></ai-info-item>
|
||||
<ai-info-item label="详细地址" isLine :value="info.address"></ai-info-item>
|
||||
</ai-wrapper> -->
|
||||
</template>
|
||||
</ai-card>
|
||||
</div>
|
||||
<ai-card title="播发设备" v-show="currIndex == 1">
|
||||
<template #content>
|
||||
<ai-table
|
||||
class="detail-table__table"
|
||||
:tableData="tableData"
|
||||
:col-configs="colConfigs"
|
||||
:total="total"
|
||||
:current.sync="search.current"
|
||||
:size.sync="search.size"
|
||||
@getList="getList">
|
||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<div class="table-options">
|
||||
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</ai-table>
|
||||
</template>
|
||||
</ai-card>
|
||||
<ai-card title="播发素材" v-show="currIndex == 2">
|
||||
<template #content>
|
||||
<ai-table
|
||||
class="detail-table__table"
|
||||
:tableData="tableData"
|
||||
:col-configs="colConfigs"
|
||||
:total="total"
|
||||
:current.sync="search.current"
|
||||
:size.sync="search.size"
|
||||
@getList="getList">
|
||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<div class="table-options">
|
||||
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</ai-table>
|
||||
</template>
|
||||
</ai-card>
|
||||
</template>
|
||||
</ai-detail>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Detail',
|
||||
components: {},
|
||||
props: {
|
||||
dict: Object,
|
||||
params: Object,
|
||||
instance: Function,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tabList: ['播发任务','播发设备','播发素材']
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
cancel(isRefresh) {
|
||||
this.$emit('change', {
|
||||
type: 'list',
|
||||
isRefresh: !!isRefresh,
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.Detail {
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -31,6 +31,7 @@
|
||||
<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)"
|
||||
v-if="row.broadcastStatus == 0 || row.broadcastStatus == 1 || row.broadcastStatus == 2">撤回
|
||||
</el-button>
|
||||
@@ -126,6 +127,14 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
toDetail(id) {
|
||||
this.$emit('change', {
|
||||
type: 'detail',
|
||||
params: {
|
||||
id: id || ''
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel(id) {
|
||||
this.$confirm('确定撤回该广播?').then(() => {
|
||||
this.instance.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${id}`).then((res) => {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<script>
|
||||
import List from './components/List'
|
||||
import TaskList from './components/TaskList'
|
||||
|
||||
export default {
|
||||
label: '广播设备管理',
|
||||
@@ -19,19 +20,20 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
component: 'List',
|
||||
component: 'TaskList',
|
||||
params: {},
|
||||
include: [],
|
||||
}
|
||||
},
|
||||
|
||||
components: {
|
||||
List
|
||||
List,
|
||||
TaskList,
|
||||
},
|
||||
methods: {
|
||||
onChange(data) {
|
||||
if (data.type === 'add') {
|
||||
this.component = 'Add'
|
||||
if (data.type === 'taskList') {
|
||||
this.component = 'TaskList'
|
||||
this.params = data.params
|
||||
}
|
||||
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
@selection-change="(v) => (ids = v.map((e) => e.id))">
|
||||
<el-table-column slot="options" label="操作" align="center" width="280" fixed="right">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="text" @click="close(row.id)">停播</el-button>
|
||||
<!-- <el-button type="text" @click="close(row.id)">停播</el-button> -->
|
||||
<el-button type="text" @click="toTaskList(row.id)">任务列表</el-button>
|
||||
<el-button type="text" @click="bind(row)">绑定行政区划</el-button>
|
||||
<!-- <el-button type="text" @click="locate=true">地图标绘</el-button>-->
|
||||
<!-- <el-button type="text" @click="locate=true">地图标绘</el-button>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</ai-table>
|
||||
@@ -187,6 +188,16 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
toTaskList(id) {
|
||||
this.$emit('change', {
|
||||
type: 'taskList',
|
||||
params: {
|
||||
id: id || '',
|
||||
// areaId: this.areaId,
|
||||
},
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
130
packages/device/AppEquipmentManage/components/taskList.vue
Normal file
130
packages/device/AppEquipmentManage/components/taskList.vue
Normal file
@@ -0,0 +1,130 @@
|
||||
<template>
|
||||
<section class="TaskList">
|
||||
<ai-list>
|
||||
<ai-title slot="title" title="任务列表" isShowBack isShowBottomBorder @onBackClick="cancel(true)"/>
|
||||
<template #content>
|
||||
<ai-search-bar bottomBorder>
|
||||
<template slot="right">
|
||||
<el-input v-model="search.keyword" size="small" placeholder="融资名称/创建人" clearable
|
||||
v-throttle="() => {page.current = 1, getList()}"
|
||||
@clear=";(page.current = 1), (search.keyword = ''), getList()" suffix-icon="iconfont iconSearch"/>
|
||||
</template>
|
||||
</ai-search-bar>
|
||||
<ai-table :tableData="tableData" :col-configs="colConfigs" :total="total" ref="aitableex"
|
||||
:current.sync="page.current" :size.sync="page.size" @getList="getList"
|
||||
@selection-change="(v) => (ids = v.map((e) => e.id))">
|
||||
<el-table-column slot="options" label="操作" align="center" width="280" fixed="right">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="text" @click="close(row.id)">撤回任务</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</ai-table>
|
||||
</template>
|
||||
</ai-list>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'TaskList',
|
||||
components: {},
|
||||
props: {
|
||||
dict: Object,
|
||||
instance: Function,
|
||||
params: Object,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
page: {
|
||||
current: 1,
|
||||
size: 10,
|
||||
},
|
||||
total: 0,
|
||||
search: {
|
||||
bind: '',
|
||||
keyword: '',
|
||||
},
|
||||
tableData: [],
|
||||
colConfigs: [
|
||||
{
|
||||
prop: 'deviceName',
|
||||
label: '任务名称',
|
||||
},
|
||||
{
|
||||
prop: 'areaName',
|
||||
label: '媒资类型',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'serialNo',
|
||||
label: '级别',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'devStatus',
|
||||
label: '播发方式',
|
||||
width: '100',
|
||||
align: 'center',
|
||||
render: (h, {row}) => {
|
||||
return h('span', null, this.dict.getLabel('dlbDevStatus', row.devStatus))
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: 'bind',
|
||||
label: '开始时间',
|
||||
width: '120',
|
||||
align: 'center',
|
||||
render: (h, {row}) => {
|
||||
return h('span', null, this.dict.getLabel('yesOrNo', row.bind))
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: 'serialNo',
|
||||
label: '状态',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
prop: 'serialNo',
|
||||
label: '创建人',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
slot: 'options',
|
||||
label: '操作',
|
||||
align: 'center',
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
create() {
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
getList() {},
|
||||
|
||||
close(id) {
|
||||
this.$confirm('确定停播该设备?').then(() => {
|
||||
this.instance.post(`/app/appdlbquipment/stop?deviceId=${id}`).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('停播成功!')
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
cancel(isRefresh) {
|
||||
this.$emit('change', {
|
||||
type: 'list',
|
||||
isRefresh: !!isRefresh,
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.TaskList {
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -32,13 +32,41 @@
|
||||
</el-table-column>
|
||||
<el-table-column slot="options" label="操作" align="center" width="180" fixed="right">
|
||||
<div class="table-options" slot-scope="{ row }">
|
||||
<el-button type="text" @click="play(row.id)">播发</el-button>
|
||||
<!-- play(row.id) -->
|
||||
<el-button type="text" @click="getItemInfo(row.id)">播发</el-button>
|
||||
<el-button type="text" @click="remove(row.id)">删除</el-button>
|
||||
</div>
|
||||
</el-table-column>
|
||||
</ai-table>
|
||||
</template>
|
||||
</ai-list>
|
||||
|
||||
<ai-dialog
|
||||
title="广播播发"
|
||||
:visible.sync="detailDialog"
|
||||
:customFooter="true"
|
||||
:destroyOnClose="true"
|
||||
width="780px">
|
||||
<ai-detail style="background: #FFF;">
|
||||
<template #content>
|
||||
<div class="audios">
|
||||
<ai-audio :src="info.url" v-if="info.type == 1" skin="flat"/>
|
||||
</div>
|
||||
<ai-wrapper style="margin-top: 30px;">
|
||||
<ai-info-item label="媒资名称" :value="info.name"></ai-info-item>
|
||||
<ai-info-item label="状态" :value="info.content"></ai-info-item>
|
||||
<ai-info-item label="媒资类型">{{$dict.getLabel('dlbResourceType', info.type)}}</ai-info-item>
|
||||
<ai-info-item label="创建时间" :value="info.createTime"></ai-info-item>
|
||||
</ai-wrapper>
|
||||
</template>
|
||||
</ai-detail>
|
||||
|
||||
<div class="dialog-footer" slot="footer">
|
||||
<el-button @click="detailDialog=false" size="medium">关闭</el-button>
|
||||
<el-button @click="play(info.id)" size="medium">新建广播</el-button>
|
||||
</div>
|
||||
</ai-dialog>
|
||||
|
||||
</section>
|
||||
</template>
|
||||
|
||||
@@ -82,9 +110,9 @@ export default {
|
||||
return h('span', null, this.dict.getLabel('dlbResourceType', row.type))
|
||||
},
|
||||
},
|
||||
{
|
||||
slot: 'content',
|
||||
},
|
||||
// {
|
||||
// slot: 'content',
|
||||
// },
|
||||
{prop: 'createTime', label: '创建时间', align: 'center'},
|
||||
{
|
||||
prop: 'createUserName',
|
||||
@@ -101,6 +129,8 @@ export default {
|
||||
],
|
||||
tableData: [],
|
||||
areaId: '',
|
||||
detailDialog: false,
|
||||
info: {},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -137,7 +167,18 @@ export default {
|
||||
})
|
||||
},
|
||||
|
||||
getItemInfo (id) {
|
||||
this.instance.post(`/app/appdlbresource/queryDetailById?id=${id}`).then(res => {
|
||||
if (res?.data) {
|
||||
console.log(res);
|
||||
this.info = res.data
|
||||
this.detailDialog = true
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
play (id) {
|
||||
this.detailDialog = false
|
||||
this.$emit('change', {
|
||||
type: 'Play',
|
||||
params: {
|
||||
@@ -184,5 +225,8 @@ export default {
|
||||
.mar-t10 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.audios {
|
||||
padding-left: 40px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<ai-title :title="id ? '编辑成员' : '添加成员'" isShowBack isShowBottomBorder @onBackClick="cancel(false)">
|
||||
</ai-title>
|
||||
</template>
|
||||
<template slot="content">
|
||||
<template slot="content">
|
||||
<el-form ref="form" :model="form" label-width="110px" label-position="right">
|
||||
<ai-card title="个人信息">
|
||||
<template #content>
|
||||
|
||||
Reference in New Issue
Block a user