Browse Source

清空 横竖屏 紧急发布

dev
xudanya 3 years ago
parent
commit
8bb1d8c975
  1. 6
      src/api/publish/urgentMessage.js
  2. 53
      src/views/device/deviceConfig.vue
  3. 57
      src/views/device/index.vue
  4. 18
      src/views/publishContent/historyList/index.vue
  5. 39
      src/views/publishContent/publishList/index.vue
  6. 145
      src/views/publishContent/urgentMessage/index.vue

6
src/api/publish/urgentMessage.js

@ -4,8 +4,8 @@ import request from '@/utils/request'
// 编辑紧急发布 // 编辑紧急发布
export function reqUrgentMessage(parameter) { export function reqUrgentMessage(parameter) {
return request({ return request({
url: 'api/release/editNotice',
method: 'post',
data: parameter
url: 'api/release/getUrgentNoticeList',
method: 'get',
params: parameter
}) })
} }

53
src/views/device/deviceConfig.vue

@ -42,9 +42,9 @@
<el-image class="cover_img" :src="row.startup_screen" v-show="row.startup_screen"></el-image> <el-image class="cover_img" :src="row.startup_screen" v-show="row.startup_screen"></el-image>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建时间" align="center" width="200">
<el-table-column prop="update_time" label="创建时间" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
<div>{{ row.create_time | parseTime }}</div>
<div>{{ row.update_time | parseTime }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="120"> <el-table-column fixed="right" label="操作" align="center" width="120">
@ -58,7 +58,19 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件-->
<el-pagination
style="margin-top: 20px; text-align: center"
:current-page="queryInfo.page"
:total="total"
:page-size="queryInfo.size"
:pager-count="7"
:page-sizes="[3, 5, 10]"
@current-change="getStartUpList"
@size-change="handleSizeChange"
layout="prev, pager, next, jumper,->,sizes,total"
>
</el-pagination>
</el-col> </el-col>
</el-row> </el-row>
<!-- 编辑设备 --> <!-- 编辑设备 -->
@ -230,10 +242,11 @@ export default {
device_id: '', device_id: '',
device_name: '', device_name: '',
is_state: '', is_state: '',
page: '1',
size: '3'
page: 1,
size: 3
}, },
//
total:0,
//
startUpList: [], startUpList: [],
form: { form: {
device_direction: null, device_direction: null,
@ -312,11 +325,14 @@ export default {
}, },
methods: { methods: {
// //
getStartUpList() {
getStartUpList(pager=1) {
this.queryInfo.page=pager
const params = this.queryInfo const params = this.queryInfo
reqStartUpList(params).then(res => { reqStartUpList(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.startUpList = res.data.content this.startUpList = res.data.content
this.total=res.data.totalElements
this.queryInfo.size=res.data.size
} else { } else {
return this.$message.error('获取设备列表失败!') return this.$message.error('获取设备列表失败!')
} }
@ -335,9 +351,9 @@ export default {
if (row.open_weekly) { if (row.open_weekly) {
this.selectOpenWeekly = row.open_weekly.split(',') this.selectOpenWeekly = row.open_weekly.split(',')
} }
console.log(this.form.open_weekly)
console.log(typeof this.form.open_weekly)
console.log(this.selectOpenWeekly)
// console.log(this.form.open_weekly)
// console.log(typeof this.form.open_weekly)
// console.log(this.selectOpenWeekly)
this.form.close_weekly = row.close_weekly this.form.close_weekly = row.close_weekly
if (row.close_weekly) { if (row.close_weekly) {
this.selectCloseweekly = row.close_weekly.split(',') this.selectCloseweekly = row.close_weekly.split(',')
@ -409,9 +425,6 @@ export default {
} }
}) })
}, },
// handleAvatarSuccess(res, file) {
// this.form.startup_screen = res.data
// },
// - btn // - btn
// //
handleSelectionChange(sels) { handleSelectionChange(sels) {
@ -429,7 +442,7 @@ export default {
ids.push(item.device_id) ids.push(item.device_id)
}) })
// console.log(ids) // console.log(ids)
this.$confirm('确定要清空选中配置周期和启动画面吗?','提示', {
this.$confirm('确定要清空选中配置周期和启动画面吗?','提示', {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
@ -444,8 +457,8 @@ export default {
message: '清空成功', message: '清空成功',
type: 'success' type: 'success'
}) })
this.getDevice()
}
this.getStartUpList()
}
}).catch(()=>{ }).catch(()=>{
this.$message({ this.$message({
message:'清空失败', message:'清空失败',
@ -453,7 +466,13 @@ export default {
}) })
}) })
}) })
}
},
//
handleSizeChange(size) {
//
this.queryInfo.size = size
this.getPageList();
},
} }
} }
</script> </script>

57
src/views/device/index.vue

@ -78,9 +78,9 @@
<el-button type="text" size="small" @click="handleClick(scope.row)">查看</el-button> <el-button type="text" size="small" @click="handleClick(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建时间" align="center" width="160" >
<el-table-column prop="update_time" label="创建时间" align="center" width="160" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<div>{{ row.create_time | parseTime}}</div>
<div>{{ row.update_time | parseTime}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="160"> <el-table-column fixed="right" label="操作" align="center" width="160">
@ -97,18 +97,18 @@
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-pagination
<el-pagination
style="margin-top: 20px; text-align: center" style="margin-top: 20px; text-align: center"
:current-page="queryInfo.page" :current-page="queryInfo.page"
:total="total" :total="total"
:page-size="queryInfo.size" :page-size="queryInfo.size"
:pager-count="7" :pager-count="7"
:page-sizes="[3, 5, 10]" :page-sizes="[3, 5, 10]"
@current-change="getPageList"
@current-change="getDevice"
@size-change="handleSizeChange" @size-change="handleSizeChange"
layout="prev, pager, next, jumper,->,sizes,total" layout="prev, pager, next, jumper,->,sizes,total"
> >
</el-pagination> -->
</el-pagination>
<!-- 编辑设备 --> <!-- 编辑设备 -->
<div class="layer"> <div class="layer">
<el-dialog <el-dialog
@ -125,13 +125,13 @@
<el-form-item label="设备名称" prop="name"> <el-form-item label="设备名称" prop="name">
<el-input v-model="form.name" /> <el-input v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="设备方向" prop="orientation">
<el-select v-model="form.orientation" size="small" class="filter-item">
<el-form-item label="设备方向" prop="orientation_name">
<el-select v-model="form.orientation_name" size="small" class="filter-item" @change="selectDirection">
<el-option <el-option
v-for="item in deviceData" v-for="item in deviceData"
:key="item.key" :key="item.key"
:label="item.name" :label="item.name"
:value="item.key"
:value="item"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -220,8 +220,8 @@ export default {
device_id:'', device_id:'',
device_name:'', device_name:'',
is_state:'', is_state:'',
page:'1',
size:'3'
page:1,
size:1
}, },
total: 0, total: 0,
// device_id:'', // device_id:'',
@ -241,6 +241,7 @@ export default {
form: { form: {
account: null, account: null,
name: null, name: null,
orientation_name:null,
orientation: null, orientation: null,
device_id:'', device_id:'',
orga_id:'1310000' orga_id:'1310000'
@ -262,13 +263,14 @@ export default {
}, },
methods: { methods: {
// //
getDevice(){
// this.page=pager
getDevice(pager=1){
this.queryInfo.page=pager
const params = this.queryInfo const params = this.queryInfo
ReqDeviceList(params).then(res => { ReqDeviceList(params).then(res => {
if(res.code==200) { if(res.code==200) {
this.deviceList=res.data.content this.deviceList=res.data.content
this.total=res.data.totalElements this.total=res.data.totalElements
this.queryInfo.size=res.data.size
}else{ }else{
return this.$message.error('获取设备列表失败!') return this.$message.error('获取设备列表失败!')
} }
@ -280,9 +282,15 @@ export default {
this.addFromVisible = true this.addFromVisible = true
this.form.account = row.device_account this.form.account = row.device_account
this.form.name=row.device_name this.form.name=row.device_name
this.form.orientation=row.device_direction==1?'竖屏':'横屏'
this.form.orientation_name=row.device_direction==1?'竖屏':'横屏'
this.form.orientation=row.device_direction
this.form.device_id=row.device_id this.form.device_id=row.device_id
// console.log(this.form.device_id)
},
//
selectDirection(selVal) {
console.log(selVal)
this.form.orientation = selVal.key
this.form.orientation_name = selVal.name
}, },
// //
removeDevice(row){ removeDevice(row){
@ -301,7 +309,8 @@ export default {
message: '解绑成功', message: '解绑成功',
type: 'success' type: 'success'
}) })
this.getDevice(this.deviceList.length>1?this.page:this.page-1)
//
this.getDevice(this.deviceList.length>1?this.queryInfo.page:this.queryInfo.page-1)
} }
}) })
}).catch(()=>{ }).catch(()=>{
@ -310,18 +319,6 @@ export default {
type:'info' type:'info'
}) })
}) })
// .catch(err => err) //catch
// if ('cancel' === confirmRes) {//
// return this.$message.info('')
// }
// if ('confirm' === confirmRes) { //
// ReqRemoveDevice(row.id).then(res=>{
// console.log(res)
// })
// }
}, },
recordData(index, row) { recordData(index, row) {
@ -372,6 +369,12 @@ export default {
} }
}) })
}, },
//
handleSizeChange(size) {
//
this.queryInfo.size = size
this.getPageList();
},
} }
} }

18
src/views/publishContent/historyList/index.vue

@ -2,9 +2,9 @@
<div class="list_warp"> <div class="list_warp">
<el-row :gutter="15"> <el-row :gutter="15">
<el-col> <el-col>
<!-- v-loading="crud.loading" -->
<el-table <el-table
ref="table"
v-loading="crud.loading"
ref="table"
:data="tableData" :data="tableData"
:header-cell-style="{ background: '#3a8aeb', color: '#fff' }" :header-cell-style="{ background: '#3a8aeb', color: '#fff' }"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@ -34,27 +34,19 @@
<el-table-column prop="device" align="center" label="发布设备" /> <el-table-column prop="device" align="center" label="发布设备" />
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination />
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
import crudDept from '@/api/system/dept'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import pagination from '@crud/Pagination'
const defaultForm = {
}
export default { export default {
name: 'HistoryList', name: 'HistoryList',
components: { pagination },
cruds() {
return CRUD({ title: '部门', url: 'api/dept', crudMethod: { ...crudDept } })
},
mixins: [presenter(), header(), form(defaultForm), crud()],
data() { data() {
return { return {
form:{
},
selectedList: [], selectedList: [],
tableData: [ tableData: [
{ {

39
src/views/publishContent/publishList/index.vue

@ -78,8 +78,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件-->
<pagination />
</el-col> </el-col>
</el-row> </el-row>
<!-- 编辑 --> <!-- 编辑 -->
@ -250,18 +248,23 @@
</template> </template>
<script> <script>
import pagination from '@crud/Pagination'
import {reqPublishList} from '@/api/publish/publishList' import {reqPublishList} from '@/api/publish/publishList'
export default { export default {
name: 'PublishList', name: 'PublishList',
components: { pagination },
data() { data() {
return { return {
queryInfo:{
release_name:'',
orga_id:'',
page:1,
size:3,
// queryInfo:{
// release_name:'',
// orga_id:'',
// page:1,
// size:3,
// },
form:{
name:'',
date:'',
file:'',
deviceSelect:''
}, },
selectedList: [], selectedList: [],
publishVisible: false, publishVisible: false,
@ -299,18 +302,18 @@ export default {
} }
}, },
mounted(){ mounted(){
this.getPublishList()
// this.getPublishList()
}, },
methods: { methods: {
// //
getPublishList(){
const params=this.queryInfo
reqPublishList(params).then(res=>{
if(res.code==200) {
this.publishList=res.data.content
}
})
},
// getPublishList(){
// const params=this.queryInfo
// reqPublishList(params).then(res=>{
// if(res.code==200) {
// this.publishList=res.data.content
// }
// })
// },
isTophandle(index, row) { isTophandle(index, row) {
row.isTop = !row.isTop row.isTop = !row.isTop
}, },

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

@ -2,21 +2,31 @@
<div class="list_warp"> <div class="list_warp">
<el-row :gutter="15"> <el-row :gutter="15">
<el-col> <el-col>
<!-- v-loading="crud.loading" -->
<el-table <el-table
ref="table" ref="table"
v-loading="crud.loading"
:data="tableData"
:data="urgentMessage"
:header-cell-style="{ background: '#3a8aeb', color: '#fff' }" :header-cell-style="{ background: '#3a8aeb', color: '#fff' }"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="序号" type="index" align="center" prop="name" width="50" />
<el-table-column label="发布内容" align="center" prop="content" width="400" />
<el-table-column label="通知时间" align="center" prop="date" />
<el-table-column label="发布人" align="center" prop="user" />
<el-table-column label="状态" align="center" prop="enabled">
<template slot-scope="scope">
<div :class="{ 'stop_txt': scope.row.enabled }">{{ scope.row.enabled ? '发布中' : '停止' }}</div>
<!-- prop="name" -->
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="发布内容" align="center" prop="context" width="400" >
<template slot-scope="{row}">
<div>{{row.context}}</div>
</template>
</el-table-column>
<el-table-column label="通知时间" align="center" prop="create_time" >
<template slot-scope="{row}">
<div>{{ row.create_time | parseTime }}</div>
</template>
</el-table-column>
<el-table-column label="发布人" align="center" prop="creater_name" />
<el-table-column label="状态" align="center" prop="is_state">
<template slot-scope="{row}">
<div :class="{ 'stop_txt': row.is_state}">{{ row.is_state==1 ? '发布中' : '停止' }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120px" align="center" fixed="right"> <el-table-column label="操作" width="120px" align="center" fixed="right">
@ -24,18 +34,16 @@
<el-button <el-button
type="primary" type="primary"
class="edit_btn" class="edit_btn"
@click="editFormData(scope.$index, scope.row)"
@click="editFormData(scope.row)"
>编辑</el-button> >编辑</el-button>
<el-button <el-button
type="primary" type="primary"
:class="['start_btn', { 'stop_btn': scope.row.enabled }]"
:class="['start_btn', { 'stop_btn': scope.row.is_state==1 }]"
@click="isStopHandle(scope.$index, scope.row)" @click="isStopHandle(scope.$index, scope.row)"
>{{ scope.row.enabled ? '停止' : '恢复' }}</el-button>
>{{ scope.row.is_state==1 ? '停止' : '恢复' }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件-->
<pagination />
</el-col> </el-col>
</el-row> </el-row>
@ -50,13 +58,13 @@
<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 <el-form-item
label="文本颜色" label="文本颜色"
prop="color"
prop="context_color"
:rules="[ :rules="[
{ required: true, message: '请选择文本内容', trigger: '' } { required: true, message: '请选择文本内容', trigger: '' }
]" ]"
> >
<colorPicker v-model="form.color" class="txt_color" @change="headleChangeColor" />
<el-input v-show="false" v-model="form.color" />
<colorPicker v-model="form.context_color" class="txt_color" @change="headleChangeColor" />
<el-input v-show="false" v-model="form.context_color" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="文本内容" label="文本内容"
@ -65,7 +73,7 @@
{ required: true, message: '请输入文本内容', trigger: 'blur' } { required: true, message: '请输入文本内容', trigger: 'blur' }
]" ]"
> >
<el-input v-model="form.content" 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 <el-form-item
label="文本大小" label="文本大小"
@ -85,12 +93,12 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="文本位置" label="文本位置"
prop="position"
prop="context_position"
:rules="[ :rules="[
{ required: true, message: '请选择文本位置', trigger: 'change' }, { required: true, message: '请选择文本位置', trigger: 'change' },
]" ]"
> >
<el-select v-model="form.position" size="small" class="filter-item">
<el-select v-model="form.context_position" size="small" class="filter-item">
<el-option <el-option
v-for="item in positionData" v-for="item in positionData"
:key="item.key" :key="item.key"
@ -141,7 +149,7 @@
closable closable
:disable-transitions="true" :disable-transitions="true"
:hit="false" :hit="false"
color="#cbe3ff"
context_color="#cbe3ff"
@close="handleClose(tag)" @close="handleClose(tag)"
> >
{{ tag }} {{ tag }}
@ -149,7 +157,9 @@
</div> </div>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button :loading="crud.status.cu === 2" type="primary" round @click="crud.submitCU">保存</el-button>
<!-- :loading="crud.status.cu === 2"
@click="crud.submitCU"-->
<el-button type="primary" round>保存</el-button>
<el-button round @click="messageVisible=false">关闭</el-button> <el-button round @click="messageVisible=false">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
@ -179,60 +189,71 @@
</template> </template>
<script> <script>
import crudDept from '@/api/system/dept'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import pagination from '@crud/Pagination'
const defaultForm = {
color: '#ff0000',
content: '',
txtSize: '',
position: '',
speed: '',
deviceSelect: ''
}
import { parseTime } from '@/utils/index.js'
import {reqUrgentMessage} from '@/api/publish/urgentMessage'
export default { export default {
name: 'UrgentMessage', name: 'UrgentMessage',
components: { pagination },
cruds() {
return CRUD({ title: '部门', url: 'api/dept', crudMethod: { ...crudDept }})
filters: {
parseTime(time, cFormat) {
return parseTime(time, cFormat)
}
}, },
mixins: [presenter(), header(), form(defaultForm), crud()],
data() { data() {
return { return {
form :{
context_color: '#ff0000',//
context: '', //
txtSize: '', //
context_position: '', //
speed: '', //
deviceSelect: '' //
},
queryInfo:{
notice_name:'',
orga_id:'133221333123111',
page:1,
size:3
},
messageVisible: false, messageVisible: false,
selectDeviceVisible: false, selectDeviceVisible: false,
sizeData: [{ key: '0', name: '16' }, { key: '1', name: '22' }, { key: '2', name: '24' }, { key: '3', name: '30' }], sizeData: [{ key: '0', name: '16' }, { key: '1', name: '22' }, { key: '2', name: '24' }, { key: '3', name: '30' }],
positionData: [{ key: '0', name: '顶部' }, { key: '1', name: '中间' }, { key: '2', name: '底部' }], positionData: [{ key: '0', name: '顶部' }, { key: '1', name: '中间' }, { key: '2', name: '底部' }],
speedData: [{ key: '0', name: '1s' }, { key: '1', name: '2s' }, { key: '2', name: '3s' }], speedData: [{ key: '0', name: '1s' }, { key: '1', name: '2s' }, { key: '2', name: '3s' }],
selectedList: [], selectedList: [],
tableData: [
{
id: 1,
name: '图片1',
content: '这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是...',
user: '某某某',
enabled: true,
date: '2021-2-2 16:00'
},
{
id: 2,
name: '图片2',
content: '这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是...',
user: '某某某2',
enabled: false,
date: '2021-2-2 16:00'
}
],
deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'], deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'],
deviceTags: []
deviceTags: [],
//
urgentMessage:[]
} }
}, },
mounted(){
this.getUrgentMessage()
},
methods: { methods: {
//
getUrgentMessage(){
const params=this.queryInfo
reqUrgentMessage(params).then(res=>{
if(res.code==200){
this.urgentMessage=res.data.content
console.log( this.urgentMessage)
}
})
},
isStopHandle(index, row) { isStopHandle(index, row) {
row.enabled = !row.enabled
if(row.is_state ==1){
row.is_state=2
}else{
row.is_state=1
}
}, },
editFormData(index, row) {
//
editFormData(row) {
console.log(row)
this.messageVisible = true this.messageVisible = true
this.form.context=row.context
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.selectedList = val this.selectedList = val
@ -241,21 +262,21 @@ export default {
} else { } else {
this.clearBtnDisabled = true this.clearBtnDisabled = true
} }
console.log(val)
// console.log(val)
}, },
headleChangeColor() { headleChangeColor() {
console.log(this.form.color)
// console.log(this.form.context_color)
}, },
addDeviceTag() { addDeviceTag() {
this.selectDeviceVisible = true this.selectDeviceVisible = true
}, },
tagHandle(tag) { tagHandle(tag) {
console.log(tag)
// console.log(tag)
this.deviceTags.push(tag) this.deviceTags.push(tag)
}, },
handleClose(tag) { handleClose(tag) {
this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) this.deviceTags.splice(this.deviceTags.indexOf(tag), 1)
console.log(this.deviceTags)
// console.log(this.deviceTags)
}, },
clearDevice() { clearDevice() {
this.deviceTags = [] this.deviceTags = []

Loading…
Cancel
Save