|
|
@ -2,21 +2,31 @@ |
|
|
|
<div class="list_warp"> |
|
|
|
<el-row :gutter="15"> |
|
|
|
<el-col> |
|
|
|
<!-- v-loading="crud.loading" --> |
|
|
|
<el-table |
|
|
|
ref="table" |
|
|
|
v-loading="crud.loading" |
|
|
|
:data="tableData" |
|
|
|
:data="urgentMessage" |
|
|
|
:header-cell-style="{ background: '#3a8aeb', color: '#fff' }" |
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
> |
|
|
|
<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> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="操作" width="120px" align="center" fixed="right"> |
|
|
@ -24,18 +34,16 @@ |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
class="edit_btn" |
|
|
|
@click="editFormData(scope.$index, scope.row)" |
|
|
|
@click="editFormData(scope.row)" |
|
|
|
>编辑</el-button> |
|
|
|
<el-button |
|
|
|
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)" |
|
|
|
>{{ scope.row.enabled ? '停止' : '恢复' }}</el-button> |
|
|
|
>{{ scope.row.is_state==1 ? '停止' : '恢复' }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!--分页组件--> |
|
|
|
<pagination /> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
|
|
|
@ -50,13 +58,13 @@ |
|
|
|
<el-form ref="form" :model="form" size="small" label-width="100px"> |
|
|
|
<el-form-item |
|
|
|
label="文本颜色" |
|
|
|
prop="color" |
|
|
|
prop="context_color" |
|
|
|
:rules="[ |
|
|
|
{ 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 |
|
|
|
label="文本内容" |
|
|
@ -65,7 +73,7 @@ |
|
|
|
{ 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 |
|
|
|
label="文本大小" |
|
|
@ -85,12 +93,12 @@ |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="文本位置" |
|
|
|
prop="position" |
|
|
|
prop="context_position" |
|
|
|
:rules="[ |
|
|
|
{ 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 |
|
|
|
v-for="item in positionData" |
|
|
|
:key="item.key" |
|
|
@ -141,7 +149,7 @@ |
|
|
|
closable |
|
|
|
:disable-transitions="true" |
|
|
|
:hit="false" |
|
|
|
color="#cbe3ff" |
|
|
|
context_color="#cbe3ff" |
|
|
|
@close="handleClose(tag)" |
|
|
|
> |
|
|
|
{{ tag }} |
|
|
@ -149,7 +157,9 @@ |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
|
<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> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
@ -179,60 +189,71 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<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 { |
|
|
|
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() { |
|
|
|
return { |
|
|
|
form :{ |
|
|
|
context_color: '#ff0000',//文本的颜色 |
|
|
|
context: '', //文本的内容 |
|
|
|
txtSize: '', //文本的大小 |
|
|
|
context_position: '', //文本的位置 |
|
|
|
speed: '', //文本的速度 |
|
|
|
deviceSelect: '' //选择的设备 |
|
|
|
}, |
|
|
|
queryInfo:{ |
|
|
|
notice_name:'', |
|
|
|
orga_id:'133221333123111', |
|
|
|
page:1, |
|
|
|
size:3 |
|
|
|
}, |
|
|
|
messageVisible: false, |
|
|
|
selectDeviceVisible: false, |
|
|
|
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: '底部' }], |
|
|
|
speedData: [{ key: '0', name: '1s' }, { key: '1', name: '2s' }, { key: '2', name: '3s' }], |
|
|
|
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'], |
|
|
|
deviceTags: [] |
|
|
|
deviceTags: [], |
|
|
|
// 紧急通知列表 |
|
|
|
urgentMessage:[] |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted(){ |
|
|
|
this.getUrgentMessage() |
|
|
|
}, |
|
|
|
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) { |
|
|
|
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.form.context=row.context |
|
|
|
}, |
|
|
|
handleSelectionChange(val) { |
|
|
|
this.selectedList = val |
|
|
@ -241,21 +262,21 @@ export default { |
|
|
|
} else { |
|
|
|
this.clearBtnDisabled = true |
|
|
|
} |
|
|
|
console.log(val) |
|
|
|
// console.log(val) |
|
|
|
}, |
|
|
|
headleChangeColor() { |
|
|
|
console.log(this.form.color) |
|
|
|
// console.log(this.form.context_color) |
|
|
|
}, |
|
|
|
addDeviceTag() { |
|
|
|
this.selectDeviceVisible = true |
|
|
|
}, |
|
|
|
tagHandle(tag) { |
|
|
|
console.log(tag) |
|
|
|
// console.log(tag) |
|
|
|
this.deviceTags.push(tag) |
|
|
|
}, |
|
|
|
handleClose(tag) { |
|
|
|
this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) |
|
|
|
console.log(this.deviceTags) |
|
|
|
// console.log(this.deviceTags) |
|
|
|
}, |
|
|
|
clearDevice() { |
|
|
|
this.deviceTags = [] |
|
|
|