Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import List from './components/List'
|
import List from './components/List'
|
||||||
import Add from './components/Add'
|
import Add from './components/Add'
|
||||||
|
import Detail from './components/Detail'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
label: '播发记录',
|
label: '播发记录',
|
||||||
@@ -20,7 +21,7 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
component: 'List',
|
component: 'Detail',
|
||||||
params: {},
|
params: {},
|
||||||
include: [],
|
include: [],
|
||||||
}
|
}
|
||||||
@@ -28,7 +29,8 @@ export default {
|
|||||||
|
|
||||||
components: {
|
components: {
|
||||||
Add,
|
Add,
|
||||||
List
|
List,
|
||||||
|
Detail
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onChange(data) {
|
onChange(data) {
|
||||||
@@ -37,6 +39,11 @@ export default {
|
|||||||
this.params = data.params
|
this.params = data.params
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.type === 'detail') {
|
||||||
|
this.component = 'Detail'
|
||||||
|
this.params = data.params
|
||||||
|
}
|
||||||
|
|
||||||
if (data.type == 'list') {
|
if (data.type == 'list') {
|
||||||
this.component = 'List'
|
this.component = 'List'
|
||||||
this.params = data.params
|
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">
|
<el-table-column slot="options" label="操作" align="center" width="180" fixed="right">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" @click="onAdd(row.broadcastId)">复制</el-button>
|
<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="cancel(row.broadcastId)"
|
||||||
v-if="row.broadcastStatus == 0 || row.broadcastStatus == 1 || row.broadcastStatus == 2">撤回
|
v-if="row.broadcastStatus == 0 || row.broadcastStatus == 1 || row.broadcastStatus == 2">撤回
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -126,6 +127,14 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
toDetail(id) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'detail',
|
||||||
|
params: {
|
||||||
|
id: id || ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
cancel(id) {
|
cancel(id) {
|
||||||
this.$confirm('确定撤回该广播?').then(() => {
|
this.$confirm('确定撤回该广播?').then(() => {
|
||||||
this.instance.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${id}`).then((res) => {
|
this.instance.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${id}`).then((res) => {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import List from './components/List'
|
import List from './components/List'
|
||||||
|
import TaskList from './components/TaskList'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
label: '广播设备管理',
|
label: '广播设备管理',
|
||||||
@@ -19,19 +20,20 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
component: 'List',
|
component: 'TaskList',
|
||||||
params: {},
|
params: {},
|
||||||
include: [],
|
include: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
List
|
List,
|
||||||
|
TaskList,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onChange(data) {
|
onChange(data) {
|
||||||
if (data.type === 'add') {
|
if (data.type === 'taskList') {
|
||||||
this.component = 'Add'
|
this.component = 'TaskList'
|
||||||
this.params = data.params
|
this.params = data.params
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,10 @@
|
|||||||
@selection-change="(v) => (ids = v.map((e) => e.id))">
|
@selection-change="(v) => (ids = v.map((e) => e.id))">
|
||||||
<el-table-column slot="options" label="操作" align="center" width="280" fixed="right">
|
<el-table-column slot="options" label="操作" align="center" width="280" fixed="right">
|
||||||
<template slot-scope="{ row }">
|
<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="bind(row)">绑定行政区划</el-button>
|
||||||
<!-- <el-button type="text" @click="locate=true">地图标绘</el-button>-->
|
<!-- <el-button type="text" @click="locate=true">地图标绘</el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</ai-table>
|
</ai-table>
|
||||||
@@ -187,6 +188,16 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
toTaskList(id) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'taskList',
|
||||||
|
params: {
|
||||||
|
id: id || '',
|
||||||
|
// areaId: this.areaId,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</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>
|
||||||
<el-table-column slot="options" label="操作" align="center" width="180" fixed="right">
|
<el-table-column slot="options" label="操作" align="center" width="180" fixed="right">
|
||||||
<div class="table-options" slot-scope="{ row }">
|
<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>
|
<el-button type="text" @click="remove(row.id)">删除</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</ai-table>
|
</ai-table>
|
||||||
</template>
|
</template>
|
||||||
</ai-list>
|
</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>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -82,9 +110,9 @@ export default {
|
|||||||
return h('span', null, this.dict.getLabel('dlbResourceType', row.type))
|
return h('span', null, this.dict.getLabel('dlbResourceType', row.type))
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
slot: 'content',
|
// slot: 'content',
|
||||||
},
|
// },
|
||||||
{prop: 'createTime', label: '创建时间', align: 'center'},
|
{prop: 'createTime', label: '创建时间', align: 'center'},
|
||||||
{
|
{
|
||||||
prop: 'createUserName',
|
prop: 'createUserName',
|
||||||
@@ -101,6 +129,8 @@ export default {
|
|||||||
],
|
],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
areaId: '',
|
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) {
|
play (id) {
|
||||||
|
this.detailDialog = false
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Play',
|
type: 'Play',
|
||||||
params: {
|
params: {
|
||||||
@@ -184,5 +225,8 @@ export default {
|
|||||||
.mar-t10 {
|
.mar-t10 {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
.audios {
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user