This commit is contained in:
shijingjing
2022-06-09 16:42:46 +08:00
parent a4348368e0
commit 0a49f98892
4 changed files with 44 additions and 88 deletions

View File

@@ -8,7 +8,7 @@
<script> <script>
import List from './components/List' import List from './components/List'
import TaskList from './components/TaskList' import taskList from './components/taskList'
export default { export default {
label: '广播设备管理', label: '广播设备管理',
@@ -20,7 +20,7 @@ export default {
data() { data() {
return { return {
component: 'TaskList', component: 'taskList',
params: {}, params: {},
include: [], include: [],
} }
@@ -28,12 +28,12 @@ export default {
components: { components: {
List, List,
TaskList, taskList,
}, },
methods: { methods: {
onChange(data) { onChange(data) {
if (data.type === 'taskList') { if (data.type === 'taskList') {
this.component = 'TaskList' this.component = 'taskList'
this.params = data.params this.params = data.params
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<section class="TaskList"> <section class="taskList">
<ai-list> <ai-list>
<ai-title slot="title" title="任务列表" isShowBack isShowBottomBorder @onBackClick="cancel(true)"/> <ai-title slot="title" title="任务列表" isShowBack isShowBottomBorder @onBackClick="cancel(true)"/>
<template #content> <template #content>
@@ -26,7 +26,7 @@
<script> <script>
export default { export default {
name: 'TaskList', name: 'taskList',
components: {}, components: {},
props: { props: {
dict: Object, dict: Object,
@@ -124,7 +124,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.TaskList { .taskList {
height: 100%; height: 100%;
} }
</style> </style>

View File

@@ -6,23 +6,18 @@
<template #content> <template #content>
<ai-card title="基础信息"> <ai-card title="基础信息">
<template #content> <template #content>
<el-alert title="温馨提示:请先选择行政区划,再选择播放设备!" type="warning" show-icon :closable="false" style="margin-bottom: 12px;padding: 4px 20px;"></el-alert>
<el-form class="ai-form" :model="formData" :rules="formRules" ref="ruleForm" label-width="120px"> <el-form class="ai-form" :model="formData" :rules="formRules" ref="ruleForm" label-width="120px">
<el-form-item label="播发内容" prop="mediaId"> <el-form-item label="播发内容" prop="mediaId">
<ai-select v-model="formData.mediaId" placeholder="播发内容" clearable :selectList="mediaList"></ai-select> <ai-select v-model="formData.mediaId" placeholder="播发内容" clearable :selectList="mediaList"></ai-select>
</el-form-item> </el-form-item>
<el-form-item label="播放设备" prop="serialNo">
<!-- <el-input size="small" placeholder="请选择..." class="equipment" disabled v-model="formData.serialNo">
<el-button slot="append" @click="detailDialog = true">选择</el-button>
</el-input> -->
<div class="equipments">
<div>已选择<span>{{ formData.serialNo.length }}</span>个设备</div>
<el-button slot="append" @click="detailDialog = true">选择</el-button>
</div>
</el-form-item>
<el-form-item label="播发级别" prop="messageLevel"> <el-form-item label="播发级别" prop="messageLevel">
<ai-select v-model="formData.messageLevel" placeholder="播发级别" clearable <ai-select v-model="formData.messageLevel" placeholder="播发级别" clearable
:selectList="$dict.getDict('dlbMessageUrgency')"></ai-select> :selectList="$dict.getDict('dlbMessageUrgency')"></ai-select>
</el-form-item> </el-form-item>
<el-form-item label="行政区划" prop="areaId">
<ai-area-get v-model="areaId" :root="areaRootId" :instance="instance" @select="handleAreaSelect" multiple size="small" placeholder="全部地区"/>
</el-form-item>
<el-form-item label="播放方式" prop="taskType" class="buildingTypes"> <el-form-item label="播放方式" prop="taskType" class="buildingTypes">
<el-radio-group v-model="formData.taskType"> <el-radio-group v-model="formData.taskType">
<el-radio label="0">立即播放</el-radio> <el-radio label="0">立即播放</el-radio>
@@ -63,77 +58,13 @@
:picker-options="{ start: formData.startTime, minTime: formData.startTime}" :picker-options="{ start: formData.startTime, minTime: formData.startTime}"
value-format="HH:mm:ss"></el-time-picker> value-format="HH:mm:ss"></el-time-picker>
</el-form-item> </el-form-item>
<el-form-item label="播放设备" prop="serialNo" style="width: 100%;">
<ai-table-select :instance="instance" :action="`/app/appresident/list?householdName=1&areaId=${areaId}&auditStatus=1`"
@select="v=>chooseUser=v" multiple/>
</el-form-item>
</el-form> </el-form>
</template> </template>
</ai-card> </ai-card>
<ai-dialog
title="选择设备"
:visible.sync="detailDialog"
:customFooter="true"
:destroyOnClose="true"
width="1080px">
<ai-detail style="background: #FFF;">
<template #content>
<el-alert title="温馨提示:请先在设备管理中绑定行政区划" type="warning" show-icon :closable="false" style="margin-bottom: 12px;padding: 4px;"></el-alert>
<div class="container">
<div class="item">
<div class="title">
<div>行政区划</div>
<div>
<el-input placeholder="请输入" v-model="input3" class="input-with-select" size="small">
<el-button slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
</div>
<div class="content">
<el-tree :data="data" :props="defaultProps" :accordion="true" @node-click="handleNodeClick"></el-tree>
</div>
</div>
<div class="item">
<div class="title">
<div class="checkBox">
<!-- <el-checkbox v-model="isAll">全选</el-checkbox> -->
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
</div>
<div>
<el-input placeholder="请输入" v-model="input3" class="input-with-select" size="small">
<el-button slot="append" icon="el-icon-search" @click="searchEquipment"></el-button>
</el-input>
</div>
</div>
<div class="content">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox v-for="city in cities" :label="city" :key="city" style="display: block;">{{city}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="item">
<div class="title">
<div>已选择</div>
<el-button type="info" size="mini" @click="emptyBtn">清空</el-button>
</div>
<div class="content">
<el-tag
v-for="tag in tags"
:key="tag.name"
size="mini"
closable
@close="closeTags(tag)"
:type="tag.type"
style="margin-right: 5px;margin-bottom: 5px;">
{{tag.name}}
</el-tag>
</div>
</div>
</div>
</template>
</ai-detail>
<div class="dialog-footer" slot="footer">
<el-button @click="detailDialog=false" size="medium">关闭</el-button>
<el-button @click="play(info.id)" type="primary" size="medium">确认</el-button>
</div>
</ai-dialog>
</template> </template>
<template #footer> <template #footer>
<el-button @click="cancel">取消</el-button> <el-button @click="cancel">取消</el-button>
@@ -196,6 +127,9 @@ export default {
mediaId: [ mediaId: [
{required: true, message: '请选择播发内容', trigger: 'change'} {required: true, message: '请选择播发内容', trigger: 'change'}
], ],
areaId: [
{required: true, message: '请选择行政区划', trigger: 'change'}
],
serialNo: [ serialNo: [
{required: true, message: '请选择播放设备', trigger: 'change'} {required: true, message: '请选择播放设备', trigger: 'change'}
], ],
@@ -224,6 +158,7 @@ export default {
{required: true, message: '播放天数', trigger: 'change'} {required: true, message: '播放天数', trigger: 'change'}
], ],
}, },
areaRootId: '',
mediaList: [], mediaList: [],
equipmentList: [], equipmentList: [],
detailDialog: false, detailDialog: false,
@@ -282,8 +217,10 @@ export default {
{ name: '标签四', type: 'warning' }, { name: '标签四', type: 'warning' },
{ name: '标签五', type: 'danger' } { name: '标签五', type: 'danger' }
], ],
serialNoList: [],
areaId: '',
areaName: '',
chooseUser: '',
} }
}, },
computed: { computed: {
@@ -295,7 +232,11 @@ export default {
newDate() { newDate() {
var myDate = new Date(); var myDate = new Date();
return myDate.getHours() + ':' + myDate.getMinutes() + ':' + myDate.getSeconds() return myDate.getHours() + ':' + myDate.getMinutes() + ':' + myDate.getSeconds()
},
areaRoot() {
return this.areaRootId = [this.user.info.areaId.substr(0,6),'000000'].join("")
} }
}, },
created() { created() {
this.dict.load('dlbMessageUrgency', 'dlbBroadTaskType', 'dlbDyclingType') this.dict.load('dlbMessageUrgency', 'dlbBroadTaskType', 'dlbDyclingType')
@@ -304,6 +245,8 @@ export default {
}) })
}, },
methods: { methods: {
// 选择设备
getSelect() {},
getMediaList() { getMediaList() {
return this.instance.post(`/app/appdlbresource/list?current=1&size=10000`).then((res) => { return this.instance.post(`/app/appdlbresource/list?current=1&size=10000`).then((res) => {
if (res?.data) { if (res?.data) {
@@ -324,6 +267,10 @@ export default {
} }
}) })
}, },
// 地区选择
handleAreaSelect() {
this.areaName = v?.[0]?.label
},
// 全选按钮 // 全选按钮
handleCheckAllChange(val) { handleCheckAllChange(val) {
this.checkedCities = val ? this.cities : []; this.checkedCities = val ? this.cities : [];
@@ -350,6 +297,16 @@ export default {
handleNodeClick(data) { handleNodeClick(data) {
console.log(data); console.log(data);
}, },
// 行政区划
bindAdministrative() {
this.instance.post(`/app/appdlbquipment/addOrUpdate`, this.changeInfo).then((res) => {
if (res.code == 0) {
// this.$message.success('绑定行政区划成功!')
// this.bindVisible = false
// this.getList()
}
})
},
confirm() { confirm() {
this.$refs['ruleForm'].validate((valid) => { this.$refs['ruleForm'].validate((valid) => {
if (valid) { if (valid) {
@@ -434,7 +391,6 @@ export default {
.item { .item {
flex: 1; flex: 1;
display: inline-block; display: inline-block;
width: 100%;
height: auto; height: auto;
border: 1px solid #DDD; border: 1px solid #DDD;
.title { .title {

View File

@@ -22,7 +22,7 @@
<div class="above" v-if="editOne==true"> <div class="above" v-if="editOne==true">
<div class="left"> <div class="left">
<el-form-item label="网格员姓名" prop="name" > <el-form-item label="网格员姓名" prop="name" >
<el-input v-model="forms.name" placeholder="请选择网格员" disabled> <el-input v-model="form.name" placeholder="请选择网格员" disabled>
<template #append> <template #append>
<ai-wechat-selecter :isMultiple="false" refs="addTags" :instance="instance" v-model="users" @change="getSelectPerson"> <ai-wechat-selecter :isMultiple="false" refs="addTags" :instance="instance" v-model="users" @change="getSelectPerson">
<el-button size="small" type="primary"><span style="color: #fff">选择成员</span></el-button> <el-button size="small" type="primary"><span style="color: #fff">选择成员</span></el-button>