|
@ -10,28 +10,65 @@ |
|
|
<template #[otherConfig]="{ data }"> |
|
|
<template #[otherConfig]="{ data }"> |
|
|
<span style="color: #6ee5fe"> {{ data.deviceName }}(当前) </span> |
|
|
<span style="color: #6ee5fe"> {{ data.deviceName }}(当前) </span> |
|
|
</template> |
|
|
</template> |
|
|
</CheckboxGroup> |
|
|
</CheckboxGroup> |
|
|
</div> |
|
|
</div> |
|
|
<div class="right"> |
|
|
<div class="right"> |
|
|
<div class="top-content"> |
|
|
<div class="top-content"> |
|
|
<Video class="item-video" :pileNum="pileNum" /> |
|
|
<Video class="item-video" :pileNum="pileNum" /> |
|
|
|
|
|
|
|
|
<label>发布内容: </label> |
|
|
|
|
|
<ElInput type="textarea" v-model="releaseMessage" :autosize="{ minRows: 3, maxRows: 3 }" :maxlength="150" |
|
|
|
|
|
showWordLimit placeholder="请输入发布内容" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="footer"> |
|
|
|
|
|
<Button style="background-color: rgba(0, 179, 204, 0.3)" |
|
|
<el-form ref="form" :model="dataForm" :rules="dataRule" label-width=" 90px"> |
|
|
@click.native="(modelVisible = false), (submitting = false)"> |
|
|
<el-form-item label="音量" prop="outVol"> |
|
|
取消 |
|
|
<el-row :gutter="0"> |
|
|
</Button> |
|
|
<el-col :span="6"> |
|
|
<Button @click.native="handleSubmit" :loading="submitting"> |
|
|
<el-input-number v-model="dataForm.outVol" :min="1" :max="9"></el-input-number> |
|
|
确定 |
|
|
</el-col> |
|
|
</Button> |
|
|
<el-col :span="18"><span style="margin-left: 10px;">取值范围 1 - 9</span></el-col> |
|
|
</div> |
|
|
</el-row> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</div> |
|
|
<el-form-item label="循环次数" prop="repeatTimes"> |
|
|
|
|
|
<el-row :gutter="0"> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<el-input-number v-model="dataForm.repeatTimes" :min="1" :max="16"></el-input-number> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="18"><span style="margin-left: 10px;">取值范围 1 - 16</span></el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="紧急度" prop="priority"> |
|
|
|
|
|
<el-row :gutter="0"> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<el-select v-model="dataForm.priority" placeholder="请选择"> |
|
|
|
|
|
<el-option v-for="(item, key) in broadcastPriority" :key="key" :label="item" :value="key"> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="详细内容" prop="content"> |
|
|
|
|
|
<ElInput type="textarea" v-model="dataForm.content" :autosize="{ minRows: 3, maxRows: 3 }" |
|
|
|
|
|
:maxlength="150" showWordLimit placeholder="请输入发布内容" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <label>发布内容: </label> |
|
|
|
|
|
<ElInput type="textarea" v-model="dataForm.content" :autosize="{ minRows: 3, maxRows: 3 }" :maxlength="150" |
|
|
|
|
|
showWordLimit placeholder="请输入发布内容" /> --> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="footer"> |
|
|
|
|
|
<Button style="background-color: rgba(0, 179, 204, 0.3)" |
|
|
|
|
|
@click.native="(modelVisible = false), (submitting = false)"> |
|
|
|
|
|
取消 |
|
|
|
|
|
</Button> |
|
|
|
|
|
<Button @click.native="handleSubmit" :loading="submitting"> |
|
|
|
|
|
确定 |
|
|
|
|
|
</Button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</Dialog> |
|
|
</Dialog> |
|
|
</template> |
|
|
</template> |
|
@ -46,7 +83,7 @@ import request from "@/utils/request"; |
|
|
import { getDeviceList } from "@screen/pages/Home/components/RoadAndEvents/utils/httpList.js"; |
|
|
import { getDeviceList } from "@screen/pages/Home/components/RoadAndEvents/utils/httpList.js"; |
|
|
|
|
|
|
|
|
import { Message } from "element-ui"; |
|
|
import { Message } from "element-ui"; |
|
|
|
|
|
import { broadcastPriority } from "@screen/utils/enum.js"; |
|
|
export default { |
|
|
export default { |
|
|
name: "BroadcastReleases", |
|
|
name: "BroadcastReleases", |
|
|
components: { |
|
|
components: { |
|
@ -67,10 +104,25 @@ export default { |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
|
|
|
broadcastPriority, |
|
|
submitting: false, |
|
|
submitting: false, |
|
|
checkList: [], |
|
|
checkList: [], |
|
|
releaseMessage: null, |
|
|
dataForm: { |
|
|
|
|
|
content:"", |
|
|
|
|
|
priority:"1", |
|
|
|
|
|
repeatTimes:3, |
|
|
|
|
|
outVol:6 |
|
|
|
|
|
}, |
|
|
musicList: [], |
|
|
musicList: [], |
|
|
|
|
|
dataRule: { |
|
|
|
|
|
content: [ |
|
|
|
|
|
{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: "请输入详细内容", |
|
|
|
|
|
trigger: "blur", |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
@ -94,7 +146,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
handleSubmit() { |
|
|
handleSubmit() { |
|
|
if (!this.releaseMessage?.trim()) |
|
|
if (!this.dataForm.content?.trim()) |
|
|
return Message.error("发布内容不能为空!"); |
|
|
return Message.error("发布内容不能为空!"); |
|
|
if (!this.checkList.length) |
|
|
if (!this.checkList.length) |
|
|
return Message.error("请至少选择一个广播设备!"); |
|
|
return Message.error("请至少选择一个广播设备!"); |
|
@ -113,12 +165,11 @@ export default { |
|
|
"functionId": "A1", |
|
|
"functionId": "A1", |
|
|
"params": { |
|
|
"params": { |
|
|
"name": "task-3", |
|
|
"name": "task-3", |
|
|
"outVol": "6", |
|
|
"outVol": "" + this.dataForm.outVol, |
|
|
"priority": "1", |
|
|
"priority": "" + this.dataForm.priority, |
|
|
"text": "山东高速欢迎您", |
|
|
"text": this.dataForm.content.trim(), |
|
|
"repeatTimes": "3", |
|
|
"repeatTimes": "" + this.dataForm.repeatTimes, |
|
|
"termList": [ |
|
|
"termList": [ |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
...JSON.parse(i) |
|
|
...JSON.parse(i) |
|
|
} |
|
|
} |
|
@ -157,7 +208,7 @@ export default { |
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
.BroadcastReleases { |
|
|
.BroadcastReleases { |
|
|
// width: 450px; |
|
|
// width: 450px; |
|
|
height: 420px; |
|
|
height: 520px; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
gap: 15px; |
|
|
gap: 15px; |
|
|