解决了 Bug 创建人是分级账号 没有显示人名 显示的是编码 后面的菜单也都要看一下 14841

解决了 Bug 附近摄像头列表 搜索框不好使 14838
解决了 Bug 搜索框实际是预警值的搜索框 里面的提示语不正确 14837
解决了 Bug 这几项都是非必填项吗 14835
解决了 Bug 类型选择的是指标分析 显示的却是报警源接入 14836
解决了 Bug 审核状态对不上 14833
解决了 Bug 审核页面 字段框的左右对齐 14832
解决了 Bug 算法数量下面不判空吗 14831
解决了 Bug 选择当天搜索不出数据 14829
解决了 Bug 新增弹窗 算法数量弹窗左右与上方对齐 14830
解决了 Bug 搜索同一天搜索不出数据 后面菜单也有这个问题 14825
解决了 Bug 新增的数据 创建人显示为1 后面的菜单都有这个问题 就提这一个 不多提BUG了 14824
解决了 Bug 点击重置 只出现为申请的数据 不显示其他数据吗 14834
解决了 Bug 这个获取rtsp地址是什么意思 有什么用 14828
解决了 Bug 地图查看详情 填写的处理报警信息需要显示吗 附近摄像头没有显示 14842
解决了 Bug “AI视频管理”和“报警管理”都没有根据增删改查权限去限制相应的按钮 14840
解决了 Bug 点击播放全部 不显示视频 14827
解决了 Bug 1、选择的监管端接受报警人 应该可以处理报警信息 2、选择的企业端接受报警人 目前没有处理报警功能 14839
解决了 Bug 选择移动摄像头 加载时间3.6秒 14826
2024年3月12日AIBOX&ALARM
songwenxuan 2024-03-29 14:07:39 +08:00
parent 0184a25b14
commit 8510e9490b
16 changed files with 525 additions and 200 deletions

View File

@ -57,7 +57,7 @@
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CREATOR" label="创建人" align="center"/> <el-table-column prop="CREATOR_NAME" label="创建人" align="center"/>
<el-table-column prop="CREATE_TIME" label="创建时间" align="center"/> <el-table-column prop="CREATE_TIME" label="创建时间" align="center"/>
<el-table-column prop="STATE" label="设备状态" align="center"> <el-table-column prop="STATE" label="设备状态" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
@ -72,8 +72,8 @@
<el-table-column label="操作" align="center" width="420"> <el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button> <el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button> <el-button v-if="edit && row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button>
<el-button v-if="row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button> <el-button v-if="edit && row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -100,6 +100,9 @@ export default {
}, },
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
add: '',
del: '',
edit: '',
CREATOR: '', CREATOR: '',
dates: [], dates: [],
varList: [], varList: [],
@ -123,6 +126,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
methods: { methods: {
handleOnline(AIBOX_ID, STATE) { handleOnline(AIBOX_ID, STATE) {
@ -262,6 +266,22 @@ export default {
this.resetAddForm() this.resetAddForm()
this.addForm.dialogType = 'add' this.addForm.dialogType = 'add'
this.addForm.dialogVisible = true this.addForm.dialogVisible = true
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -67,11 +67,11 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-if="row.REVIEW_STATE && row.REVIEW_STATE !== '2'" type="success" icon="el-icon-view" size="mini" @click="handleAlgorithm(row,'view')"></el-button> <el-button v-if="row.REVIEW_STATE && row.REVIEW_STATE !== '2'" type="success" icon="el-icon-view" size="mini" @click="handleAlgorithm(row,'view')"></el-button>
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button> <el-button v-if="edit" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
<el-button v-show="row.VIDEO_TYPE === '0'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button> <el-button v-if="edit && row.VIDEO_TYPE === '0'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button v-if="!row.REVIEW_STATE || row.REVIEW_STATE === '' || row.REVIEW_STATE === '0' && row.REVIEW_STATE !== '1'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'add')"></el-button> <el-button v-if="edit && !row.REVIEW_STATE || row.REVIEW_STATE === '' || row.REVIEW_STATE === '0' && row.REVIEW_STATE !== '1'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'add')"></el-button>
<el-button v-else-if="row.REVIEW_STATE && row.REVIEW_STATE !== '1' && row.REVIEW_STATE !== '2'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button> <el-button v-else-if="edit && row.REVIEW_STATE && row.REVIEW_STATE !== '1' && row.REVIEW_STATE !== '2'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button>
<el-button v-else-if="row.REVIEW_STATE && row.REVIEW_STATE !== '1' && row.REVIEW_STATE === '2'" type="danger" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button> <el-button v-else-if="edit && row.REVIEW_STATE && row.REVIEW_STATE !== '1' && row.REVIEW_STATE === '2'" type="danger" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -93,44 +93,38 @@
<el-dialog :visible.sync="addForm.dialogVisible" :title="addForm.dialogType==='add'?'新增': addForm.dialogType==='edit' ? '配置算法' : '查看'" width="600px"> <el-dialog :visible.sync="addForm.dialogVisible" :title="addForm.dialogType==='add'?'新增': addForm.dialogType==='edit' ? '配置算法' : '查看'" width="600px">
<el-form ref="addForm" :model="addForm.info" :rules="addForm.rules" label-width="110px" style="width: 600px;"> <el-form ref="addForm" :model="addForm.info" :rules="addForm.rules" label-width="110px" style="width: 600px;">
<el-form-item label="视频名称" prop="VIDEO_NAME" style="width: 80%"> <el-form-item label="视频名称" prop="VIDEO_NAME">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" placeholder="这里输入视频名称..." /> <el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" style="width: 80%" placeholder="这里输入视频名称..." />
</el-form-item> </el-form-item>
<el-form-item label="摄像头编号" prop="CODE" style="width: 80%"> <el-form-item label="摄像头编号" prop="CODE">
<el-input :disabled="true" v-model="addForm.info.CODE" placeholder="这里输入摄像头编号..." /> <el-input :disabled="true" v-model="addForm.info.CODE" style="width: 80%" placeholder="这里输入摄像头编号..." />
</el-form-item> </el-form-item>
<el-form-item label="算法数量:" prop="CAPACITY"> <el-form-item label="算法数量:" prop="ALGO_LIMIT">
<el-col :span="16" style="text-align: center"> <el-select v-model="addForm.info.ALGO_LIMIT" placeholder="请选择" style="width: 80%;" @change="removeExceed()">
<el-select v-model="addForm.info.ALGO_LIMIT" placeholder="请选择" style="width: 80%;" @change="removeExceed()"> <el-option
v-for="item in algoLimitList"
:key="item.value"
:label="item.value"
:value="item.value"
/>
</el-select>
<el-button v-if="addForm.info.ALGO_LIMIT > addForm.info.ALGORITHM.length" type="primary" style="width: 60% ; height: 30px ;" @click="addCollateral"></el-button>
</el-form-item>
<el-col v-for="(item, index) in addForm.info.ALGORITHM" :key="item.id">
<el-form-item :label="'算法' + (index + 1) + ''" prop="ALGORITHM">
<el-select v-model="item.BIANMA" style="width: 80%" placeholder="请选择" @change="setDisable">
<el-option <el-option
v-for="item in algoLimitList" v-for="item in algorithmList"
:key="item.value" :key="item.DICTIONARIES_ID"
:label="item.value" :label="item.NAME"
:value="item.value" :value="item.BIANMA"
:disabled="item.disabled"
/> />
</el-select> </el-select>
</el-col> </el-form-item>
<el-col :span="8" style="text-align: left">
<el-button v-if="addForm.info.ALGO_LIMIT > form.ALGORITHM.length" type="primary" style="width: 60% ; height: 30px ;" @click="addCollateral"></el-button>
</el-col>
</el-form-item>
<el-col v-for="(item, index) in form.ALGORITHM" :key="item.id" :span="24">
<el-col :span="18" style="text-align: center">
<el-form-item :label="'算法' + (index + 1) + ''">
<el-select v-model="item.BIANMA" placeholder="请选择" style="width: 100%;" @change="setDisable">
<el-option
v-for="item in algorithmList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.BIANMA"
:disabled="item.disabled"
/>
</el-select>
</el-form-item>
</el-col>
</el-col> </el-col>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -189,9 +183,9 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -204,9 +198,6 @@ export default {
varList: [], varList: [],
LATITUDE: '', LATITUDE: '',
LONGITUDE: '', LONGITUDE: '',
form: {
ALGORITHM: []
},
zoom: 10, zoom: 10,
rules: { rules: {
VIDEONAME: [{ required: true, message: '视频名称不能为空', trigger: 'blur' }], VIDEONAME: [{ required: true, message: '视频名称不能为空', trigger: 'blur' }],
@ -228,7 +219,9 @@ export default {
dialogVisible: false, dialogVisible: false,
rules: { rules: {
VIDEO_NAME: [{ required: true, message: '不可为空', trigger: 'blur' }], VIDEO_NAME: [{ required: true, message: '不可为空', trigger: 'blur' }],
CODE: [{ required: true, message: '不可为空', trigger: 'blur' }] CODE: [{ required: true, message: '不可为空', trigger: 'blur' }],
ALGO_LIMIT: [{ required: true, message: '不可为空', trigger: 'blur' }],
ALGORITHM: [{ required: true, message: '不可为空', trigger: 'blur' }]
}, },
info: { info: {
AIBOX_ID: this.$parent.AIBOX_ID, AIBOX_ID: this.$parent.AIBOX_ID,
@ -239,6 +232,7 @@ export default {
CODE: '', CODE: '',
LATITUDE: '', LATITUDE: '',
LONGITUDE: '', LONGITUDE: '',
ALGORITHM: [],
ALGO_LIMIT: '' ALGO_LIMIT: ''
} }
} }
@ -247,6 +241,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
beforeDestroy() { beforeDestroy() {
console.log('定时器关闭') console.log('定时器关闭')
@ -258,7 +253,7 @@ export default {
setDisable() { setDisable() {
this.algorithmList.forEach(item => { this.algorithmList.forEach(item => {
item.disabled = false item.disabled = false
this.form.ALGORITHM.forEach(value => { this.addForm.info.ALGORITHM.forEach(value => {
if (value.BIANMA === item.BIANMA) { if (value.BIANMA === item.BIANMA) {
item.disabled = true item.disabled = true
} }
@ -267,16 +262,16 @@ export default {
this.$forceUpdate() this.$forceUpdate()
}, },
removeExceed() { removeExceed() {
if (this.addForm.info.ALGO_LIMIT < this.form.ALGORITHM.length) { if (this.addForm.info.ALGO_LIMIT < this.addForm.info.ALGORITHM.length) {
while (this.addForm.info.ALGO_LIMIT < this.form.ALGORITHM.length) { while (this.addForm.info.ALGO_LIMIT < this.addForm.info.ALGORITHM.length) {
this.form.ALGORITHM.pop() this.addForm.info.ALGORITHM.pop()
} }
} }
this.$forceUpdate() this.$forceUpdate()
}, },
addCollateral() { addCollateral() {
this.setDisable() this.setDisable()
this.form.ALGORITHM.push({ BIANMA: '' }) this.addForm.info.ALGORITHM.push({ BIANMA: '' })
}, },
bobilehandleSelected(row) { bobilehandleSelected(row) {
this.$set(this.addForm.info, 'VIDEO_URL', row.VIDEOURL) this.$set(this.addForm.info, 'VIDEO_URL', row.VIDEOURL)
@ -361,7 +356,6 @@ export default {
this.map.addEventListener('click', this.MapClick) this.map.addEventListener('click', this.MapClick)
}, },
MapClick(event) { MapClick(event) {
console.log(1111)
this.marker && this.map.removeOverLay(this.marker) this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = event.lnglat.getLng() this.addForm.info.LONGITUDE = event.lnglat.getLng()
this.addForm.info.LATITUDE = event.lnglat.getLat() this.addForm.info.LATITUDE = event.lnglat.getLat()
@ -383,7 +377,7 @@ export default {
}) })
}, },
getRowKey(row) { getRowKey(row) {
return row.GATEVIDEO_ID return row.AIBOX_RELATION_ID
}, },
// //
getQuery() { getQuery() {
@ -517,7 +511,6 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
for (let i = 0; i < this.videoList.length; i++) { for (let i = 0; i < this.videoList.length; i++) {
if (!this.videoList[i].HLSVIDEOURL) continue if (!this.videoList[i].HLSVIDEOURL) continue
console.log(this.videoList[i].HLSVIDEOURL.data.url)
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
const player = new Aliplayer({ const player = new Aliplayer({
'id': 'aLiVideoPlayer' + i, 'id': 'aLiVideoPlayer' + i,
@ -535,7 +528,6 @@ export default {
console.log('The player is created') console.log('The player is created')
}) })
this.playerList.push(player) this.playerList.push(player)
console.log(this.playerList)
} }
}) })
}).catch((e) => { }).catch((e) => {
@ -585,7 +577,6 @@ export default {
handleAlgorithm(row, dialogType) { handleAlgorithm(row, dialogType) {
this.getAlgorithmList() this.getAlgorithmList()
this.form.ALGORITHM = []
this.resetAddForm() this.resetAddForm()
this.AIBOX_RELATION_ID = row.AIBOX_RELATION_ID this.AIBOX_RELATION_ID = row.AIBOX_RELATION_ID
this.addForm.info.VIDEO_ID = row.VIDEO_ID this.addForm.info.VIDEO_ID = row.VIDEO_ID
@ -605,7 +596,7 @@ export default {
this.addForm.info.ALGO_LIMIT = result.ALGO_LIMIT this.addForm.info.ALGO_LIMIT = result.ALGO_LIMIT
const bianmaList = result.BIANMA.replace(/,$/, '').split(',') const bianmaList = result.BIANMA.replace(/,$/, '').split(',')
for (let i = 0; i < bianmaList.length; i++) { for (let i = 0; i < bianmaList.length; i++) {
this.form.ALGORITHM.push({ 'BIANMA': bianmaList[i] }) this.addForm.info.ALGORITHM.push({ 'BIANMA': bianmaList[i] })
} }
this.setDisable() this.setDisable()
this.listLoading = false this.listLoading = false
@ -678,6 +669,7 @@ export default {
CODE: '', CODE: '',
LATITUDE: '', LATITUDE: '',
LONGITUDE: '', LONGITUDE: '',
ALGORITHM: [],
ALGO_LIMIT: '' ALGO_LIMIT: ''
} }
this.addForm.dialogType = '' this.addForm.dialogType = ''
@ -697,33 +689,43 @@ export default {
this.$forceUpdate() this.$forceUpdate()
}, },
confirm() { confirm() {
let BIANMA = '' if (this.addForm.info.ALGORITHM.length < 1) {
if (this.form.ALGORITHM) { this.$message.warning('选择的算法数量不能小于1')
for (let i = 0; i < this.form.ALGORITHM.length; i++) { } else {
if (this.form.ALGORITHM[i].BIANMA !== '' && this.form.ALGORITHM[i].BIANMA !== null) { for (let i = 0; i < this.addForm.info.ALGORITHM.length; i++) {
BIANMA = BIANMA + this.form.ALGORITHM[i].BIANMA + ',' if (this.addForm.info.ALGORITHM[i].BIANMA === '') {
this.$message.warning('您选择的第' + (i + 1) + '个算法为空,请检查后提交')
return
} }
} }
} let BIANMA = ''
this.$refs.addForm.validate(valid => { if (this.addForm.info.ALGORITHM) {
if (valid) { for (let i = 0; i < this.addForm.info.ALGORITHM.length; i++) {
requestFN( if (this.addForm.info.ALGORITHM[i].BIANMA !== '' && this.addForm.info.ALGORITHM[i].BIANMA !== null) {
'/aiboxAlgorithm/' + this.addForm.dialogType, BIANMA = BIANMA + this.addForm.info.ALGORITHM[i].BIANMA + ','
{
...this.addForm.info,
BIANMA: BIANMA,
AIBOX_RELATION_ID: this.AIBOX_RELATION_ID
} }
).then((data) => { }
this.$message.success('保存成功')
this.getList()
this.addForm.dialogVisible = false
}).catch((e) => {
})
} else {
return false
} }
}) this.$refs.addForm.validate(valid => {
if (valid) {
requestFN(
'/aiboxAlgorithm/' + this.addForm.dialogType,
{
...this.addForm.info,
BIANMA: BIANMA,
AIBOX_RELATION_ID: this.AIBOX_RELATION_ID
}
).then((data) => {
this.$message.success('保存成功')
this.getList()
this.addForm.dialogVisible = false
}).catch((e) => {
})
} else {
return false
}
})
}
}, },
handleDelete(id) { handleDelete(id) {
this.$confirm('确定要删除吗?', { this.$confirm('确定要删除吗?', {
@ -824,6 +826,22 @@ export default {
goBack() { goBack() {
this.$parent.activeName = 'List' this.$parent.activeName = 'List'
this.$parent.GATE_MACHINE_ID = '' this.$parent.GATE_MACHINE_ID = ''
},
//
hasButton: function() {
var keys = 'aiboxApply:add,aiboxApply:del,aiboxApply:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxApplyfhadminadd //
this.del = data.aiboxApplyfhadmindel //
this.edit = data.aiboxApplyfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }

View File

@ -57,7 +57,7 @@
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CREATOR" label="创建人" align="center"/> <el-table-column prop="CREATOR_NAME" label="创建人" align="center"/>
<el-table-column prop="CREATE_TIME" label="创建时间" align="center"/> <el-table-column prop="CREATE_TIME" label="创建时间" align="center"/>
<el-table-column prop="STATE" label="设备状态" align="center"> <el-table-column prop="STATE" label="设备状态" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
@ -68,16 +68,16 @@
<el-table-column label="操作" align="center" width="420"> <el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="goView(row)"></el-button> <el-button type="success" icon="el-icon-view" size="mini" @click="goView(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button> <el-button v-if="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button> <el-button v-if="edit && row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button>
<el-button v-if="row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button> <el-button v-if="edit && row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
<el-button type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_ID)"></el-button> <el-button v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group"> <div class="page-btn-group">
<div> <div>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-if="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -208,6 +208,9 @@ export default {
page: 1, page: 1,
limit: 20 limit: 20
}, },
add: '',
del: '',
edit: '',
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
CREATOR: '', CREATOR: '',
@ -250,6 +253,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
methods: { methods: {
getCoroInfoAll() { getCoroInfoAll() {
@ -428,6 +432,22 @@ export default {
this.resetAddForm() this.resetAddForm()
this.addForm.dialogType = 'add' this.addForm.dialogType = 'add'
this.addForm.dialogVisible = true this.addForm.dialogVisible = true
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -57,7 +57,7 @@
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CREATOR" label="创建人" align="center"/> <el-table-column prop="CREATOR_NAME" label="创建人" align="center"/>
<el-table-column prop="CREATE_TIME" label="创建时间" align="center"/> <el-table-column prop="CREATE_TIME" label="创建时间" align="center"/>
<el-table-column prop="STATE" label="设备状态" align="center"> <el-table-column prop="STATE" label="设备状态" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
@ -73,8 +73,8 @@
<el-table-column label="操作" align="center" width="420"> <el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button> <el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button> <el-button v-if="edit && row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button>
<el-button v-if="row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button> <el-button v-if="edit && row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -100,6 +100,9 @@ export default {
limit: 20 limit: 20
}, },
total: 0, total: 0,
add: '',
del: '',
edit: '',
KEYWORDS: '', KEYWORDS: '',
CREATOR: '', CREATOR: '',
dates: [], dates: [],
@ -124,6 +127,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
methods: { methods: {
handleOnline(AIBOX_ID, STATE) { handleOnline(AIBOX_ID, STATE) {
@ -263,6 +267,22 @@ export default {
this.resetAddForm() this.resetAddForm()
this.addForm.dialogType = 'add' this.addForm.dialogType = 'add'
this.addForm.dialogVisible = true this.addForm.dialogVisible = true
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -66,16 +66,16 @@
</el-table-column> </el-table-column>
<el-table-column prop="REVIEW_STATE" label="审核状态" align="center"> <el-table-column prop="REVIEW_STATE" label="审核状态" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ row.REVIEW_STATE === '0' ? '未提交' : row.REVIEW_STATE === '1' ? '待审核' : row.REVIEW_STATE === '2' ? '审核打回' : row.REVIEW_STATE === '3' ? '审核通过' : '未申请' }} {{ row.REVIEW_STATE === '0' ? '未提交' : row.REVIEW_STATE === '1' ? '待审核' : row.REVIEW_STATE === '2' ? '审核打回' : row.REVIEW_STATE === '3' ? '审核通过' : '未提交' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="500"> <el-table-column label="操作" align="center" width="500">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-show="row.REVIEW_STATE" type="success" icon="el-icon-view" size="mini" @click="handleAlgorithm(row,'view')"></el-button> <el-button v-show="row.REVIEW_STATE" type="success" icon="el-icon-view" size="mini" @click="handleAlgorithm(row,'view')"></el-button>
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button> <el-button v-if="edit" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
<el-button v-show="row.VIDEO_TYPE === '0'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button> <el-button v-if="edit && row.VIDEO_TYPE === '0'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button v-show="row.REVIEW_STATE && row.REVIEW_STATE === '1'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button> <el-button v-if="edit && row.REVIEW_STATE && row.REVIEW_STATE === '1'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -97,41 +97,37 @@
<el-dialog :visible.sync="addForm.dialogVisible" :title="addForm.dialogType==='add'?'新增': addForm.dialogType==='edit' ? '审核' : '查看'" width="600px"> <el-dialog :visible.sync="addForm.dialogVisible" :title="addForm.dialogType==='add'?'新增': addForm.dialogType==='edit' ? '审核' : '查看'" width="600px">
<el-form ref="addForm" :model="addForm.info" :rules="addForm.rules" label-width="110px" style="width: 600px;"> <el-form ref="addForm" :model="addForm.info" :rules="addForm.rules" label-width="110px" style="width: 600px;">
<el-form-item label="视频名称" prop="VIDEO_NAME" style="width: 80%"> <el-form-item label="视频名称" prop="VIDEO_NAME">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" placeholder="这里输入视频名称..." /> <el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" style="width: 80%;" placeholder="这里输入视频名称..." />
</el-form-item> </el-form-item>
<el-form-item label="摄像头编号" prop="CODE" style="width: 80%"> <el-form-item label="摄像头编号" prop="CODE">
<el-input :disabled="true" v-model="addForm.info.CODE" placeholder="这里输入摄像头编号..." /> <el-input :disabled="true" v-model="addForm.info.CODE" style="width: 80%;" placeholder="这里输入摄像头编号..." />
</el-form-item> </el-form-item>
<el-form-item label="算法数量:" prop="CAPACITY"> <el-form-item label="算法数量:" prop="CAPACITY">
<el-col :span="16" style="text-align: center"> <el-select :disabled="true" v-model="addForm.info.ALGO_LIMIT" style="width: 80%;" placeholder="请选择" @change="removeExceed()">
<el-select :disabled="true" v-model="addForm.info.ALGO_LIMIT" placeholder="请选择" style="width: 80%;" @change="removeExceed()"> <el-option
<el-option v-for="item in algoLimitList"
v-for="item in algoLimitList" :key="item.value"
:key="item.value" :label="item.value"
:label="item.value" :value="item.value"
:value="item.value" />
/> </el-select>
</el-select>
</el-col>
</el-form-item> </el-form-item>
<el-col v-for="(item, index) in form.ALGORITHM" :key="item.id" :span="24"> <el-col v-for="(item, index) in form.ALGORITHM" :key="item.id">
<el-col :span="18" style="text-align: center"> <el-form-item :label="'算法' + (index + 1) + ''">
<el-form-item :label="'算法' + (index + 1) + ''"> <el-select :disabled="true" v-model="item.BIANMA" placeholder="请选择" style="width: 80%;" @change="setDisable">
<el-select :disabled="true" v-model="item.BIANMA" placeholder="请选择" style="width: 100%;" @change="setDisable"> <el-option
<el-option v-for="item in algorithmList"
v-for="item in algorithmList" :key="item.DICTIONARIES_ID"
:key="item.DICTIONARIES_ID" :label="item.NAME"
:label="item.NAME" :value="item.BIANMA"
:value="item.BIANMA" :disabled="item.disabled"
:disabled="item.disabled" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item>
</el-col>
</el-col> </el-col>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -191,9 +187,9 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -254,6 +250,7 @@ export default {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getAlgorithmList() this.getAlgorithmList()
this.getList() this.getList()
this.hasButton()
}, },
beforeDestroy() { beforeDestroy() {
console.log('定时器关闭') console.log('定时器关闭')
@ -846,6 +843,22 @@ export default {
goBack() { goBack() {
this.$parent.activeName = 'List' this.$parent.activeName = 'List'
this.$parent.GATE_MACHINE_ID = '' this.$parent.GATE_MACHINE_ID = ''
},
//
hasButton: function() {
var keys = 'aiboxReview:add,aiboxReview:del,aiboxReview:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxReviewfhadminadd //
this.del = data.aiboxReviewfhadmindel //
this.edit = data.aiboxReviewfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }

View File

@ -95,6 +95,9 @@ export default {
data() { data() {
return { return {
// //
add: '',
del: '',
edit: '',
dialogVideo: false, dialogVideo: false,
dialogVideoHLS: false, dialogVideoHLS: false,
dialogVideoBack: false, dialogVideoBack: false,
@ -226,7 +229,7 @@ export default {
this.listLoading = true this.listLoading = true
this.varList = [] this.varList = []
requestFN( requestFN(
'/videoResources/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/videoResources/listOptimize?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
VIDEONAME: this.serachForm.KEYWORDS, VIDEONAME: this.serachForm.KEYWORDS,
PERSONNELMANAGEMENT_ID: this.serachForm.UNITS_USER_ID, PERSONNELMANAGEMENT_ID: this.serachForm.UNITS_USER_ID,
@ -262,6 +265,22 @@ export default {
}, },
closeWindow() { closeWindow() {
this.handleClose() this.handleClose()
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }

View File

@ -57,7 +57,7 @@
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="CREATOR" label="创建人" align="center"/> <el-table-column prop="CREATOR_NAME" label="创建人" align="center"/>
<el-table-column prop="CREATE_TIME" label="创建时间" align="center"/> <el-table-column prop="CREATE_TIME" label="创建时间" align="center"/>
<el-table-column prop="STATE" label="设备状态" align="center"> <el-table-column prop="STATE" label="设备状态" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
@ -72,8 +72,8 @@
<el-table-column label="操作" align="center" width="420"> <el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button> <el-button type="primary" icon="el-icon-s-tools" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button> <el-button v-if="edit && row.STATE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_ID,0)">线</el-button>
<el-button v-if="row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button> <el-button v-if="edit && row.STATE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -100,6 +100,9 @@ export default {
page: 1, page: 1,
limit: 20 limit: 20
}, },
add: '',
del: '',
edit: '',
total: 0, total: 0,
KEYWORDS: '', KEYWORDS: '',
CREATOR: '', CREATOR: '',
@ -125,6 +128,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
methods: { methods: {
handleOnline(AIBOX_ID, STATE) { handleOnline(AIBOX_ID, STATE) {
@ -264,6 +268,22 @@ export default {
this.resetAddForm() this.resetAddForm()
this.addForm.dialogType = 'add' this.addForm.dialogType = 'add'
this.addForm.dialogVisible = true this.addForm.dialogVisible = true
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -63,6 +63,9 @@ export default {
directives: { waves }, directives: { waves },
data() { data() {
return { return {
add: '',
del: '',
edit: '',
config: config, config: config,
visible: false, visible: false,
listLoading: true, listLoading: true,
@ -152,6 +155,22 @@ export default {
}, },
closeWindow() { closeWindow() {
this.handleClose() this.handleClose()
},
//
hasButton: function() {
var keys = 'aiboxVideo:add,aiboxVideo:del,aiboxVideo:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxVideofhadminadd //
this.del = data.aiboxVideofhadmindel //
this.edit = data.aiboxVideofhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }

View File

@ -56,18 +56,18 @@
<el-table-column label="操作" align="center" width="580"> <el-table-column label="操作" align="center" width="580">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button> <el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>
<el-button type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button> <el-button v-if="edit" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button> <el-button v-if="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="row.ISONLINE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_RELATION_ID,0)">线</el-button> <el-button v-if="edit && row.ISONLINE === '1'" style="background-color: grey; color: white" type="Info" icon="el-icon-error" plain @click="handleOnline(row.AIBOX_RELATION_ID,0)">线</el-button>
<el-button v-if="row.ISONLINE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_RELATION_ID,1)">线</el-button> <el-button v-if="edit && row.ISONLINE === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_RELATION_ID,1)">线</el-button>
<el-button v-show="row.VIDEO_TYPE === '0'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button> <el-button v-show="edit && row.VIDEO_TYPE === '1'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_RELATION_ID)"></el-button> <el-button v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_RELATION_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group"> <div class="page-btn-group">
<div> <div>
<el-button v-show="$parent.CAPACITY > varList.length" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-if="add" v-show="$parent.CAPACITY > varList.length" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
<el-button type="success" icon="el-icon-caret-right" @click="showAll"></el-button> <el-button type="success" icon="el-icon-caret-right" @click="showAll"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
@ -135,6 +135,10 @@
<div v-for="(video,index) in videoList" :key="index" style="margin-bottom: 10px;width: 45%"> <div v-for="(video,index) in videoList" :key="index" style="margin-bottom: 10px;width: 45%">
<div v-if="video.HLSVIDEOURL" :id="'aLiVideoPlayer'+index" class="prism-player"/> <div v-if="video.HLSVIDEOURL" :id="'aLiVideoPlayer'+index" class="prism-player"/>
</div> </div>
{{ video2List }}
<div v-for="(video2,index2) in video2List" :key="index2" style="margin-bottom: 10px;width: 45%">
<iframe :src="video2.VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
</div>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button> <el-button @click="back"> </el-button>
@ -163,15 +167,16 @@ export default {
clientHeight: 500, clientHeight: 500,
inputLocation: '', inputLocation: '',
msg: 'add', msg: 'add',
video2List: [],
config: config, config: config,
listLoading: true, listLoading: true,
dialogForm: false, dialogForm: false,
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -230,6 +235,7 @@ export default {
created() { created() {
this.getCoroInfoAll() this.getCoroInfoAll()
this.getList() this.getList()
this.hasButton()
}, },
beforeDestroy() { beforeDestroy() {
console.log('定时器关闭') console.log('定时器关闭')
@ -480,13 +486,18 @@ export default {
}) })
return false return false
} }
this.video2List = []
const ids = _selectData.map((item, index) => { const ids = _selectData.map((item, index) => {
return item.VIDEO_ID if (item.VIDEO_TYPE === '1') {
return item.VIDEO_ID
} else if (item.VIDEO_TYPE === '0') {
this.video2List.push({ 'VIDEOURL': item.VIDEO_URL })
}
}).join(',') }).join(',')
this.videoList = [] this.videoList = []
this.listLoading = true this.listLoading = true
requestFN( requestFN(
'/gateVideo/goAllVideo', '/gateVideo/goAllVideoForAlarm',
{ {
DATA_IDS: ids DATA_IDS: ids
} }
@ -728,6 +739,7 @@ export default {
}, },
back() { back() {
if (this.addForm.dialogVisible) this.addForm.dialogVisible = false
if (this.dialogVideo) this.dialogVideo = false if (this.dialogVideo) this.dialogVideo = false
if (this.dialogVideoBack) this.dialogVideoBack = false if (this.dialogVideoBack) this.dialogVideoBack = false
if (this.dialogVideoAll) { if (this.dialogVideoAll) {
@ -753,6 +765,22 @@ export default {
goBack() { goBack() {
this.$parent.activeName = 'List' this.$parent.activeName = 'List'
this.$parent.GATE_MACHINE_ID = '' this.$parent.GATE_MACHINE_ID = ''
},
//
hasButton: function() {
var keys = 'aiboxVideo:add,aiboxVideo:del,aiboxVideo:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxVideofhadminadd //
this.del = data.aiboxVideofhadmindel //
this.edit = data.aiboxVideofhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }

View File

@ -49,19 +49,19 @@
</el-table-column> </el-table-column>
<el-table-column prop="TYPE" label="类型" align="center"> <el-table-column prop="TYPE" label="类型" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ row.ISONLINE === '0' ? '指标分析' : '报警源接入' }} {{ row.TYPE === '0' ? '指标分析' : '报警源接入' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="300"> <el-table-column label="操作" align="center" width="300">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button> <el-button v-if="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
<el-button type="danger" icon="el-icon-delete" plain @click="handleDelete(row.ALARMDEVICEMAINTENANCE_ID)"></el-button> <el-button v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.ALARMDEVICEMAINTENANCE_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group"> <div class="page-btn-group">
<div> <div>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-if="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -243,9 +243,9 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -254,6 +254,7 @@ export default {
total: 0, total: 0,
typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }], typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }],
KEYWORDS: '', KEYWORDS: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
dates: [], dates: [],
varList: [], varList: [],
LATITUDE: '', LATITUDE: '',
@ -283,6 +284,9 @@ export default {
LONGITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }], LONGITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }],
LATITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }], LATITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }],
RECIPIENT: [{ required: true, message: '不可为空', trigger: 'blur' }], RECIPIENT: [{ required: true, message: '不可为空', trigger: 'blur' }],
INDICATORSOURCE: [{ required: true, message: '不可为空', trigger: 'blur' }],
ALARMTHRESHOLD: [{ required: true, message: '不可为空', trigger: 'blur' }],
LONGTITUDEANDLATITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }],
TYPE: [{ required: true, message: '不可为空', trigger: 'blur' }] TYPE: [{ required: true, message: '不可为空', trigger: 'blur' }]
}, },
info: { info: {
@ -312,6 +316,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getDict() this.getDict()
this.hasButton()
}, },
methods: { methods: {
// //
@ -484,7 +489,8 @@ export default {
requestFN( requestFN(
'/alarmDeviceMaintenance/listForManager?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/alarmDeviceMaintenance/listForManager?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
KEYWORDS: this.KEYWORDS KEYWORDS: this.KEYWORDS,
LOGIN_USER_ID: this.LOGIN_USER_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -761,6 +767,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes') this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).catch((e) => { }).catch((e) => {
}) })
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -54,17 +54,17 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="300"> <el-table-column label="操作" align="center" width="300">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-show="row.IS_ALARM !== '1' && row.IS_ALARM !== '2'" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button> <el-button v-show="edit && row.IS_ALARM !== '1' && row.IS_ALARM !== '2' && judgeRecipient(row)" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-show="row.IS_ALARM === '1' && row.ALARMINFORMATIONDETAILS_ID == null" type="primary" icon="el-icon-edit" size="mini" @click="handleDetails(row)"></el-button> <el-button v-if="edit && row.IS_ALARM === '1' && row.ALARMINFORMATIONDETAILS_ID == null && judgeRecipient(row)" type="primary" icon="el-icon-edit" size="mini" @click="handleDetails(row)"></el-button>
<el-button v-show="row.IS_ALARM === '1' && row.ALARMINFORMATIONDETAILS_ID != null" type="success" icon="el-icon-check" size="mini" @click="handleDetailsCheck(row)"></el-button> <el-button v-show="row.IS_ALARM === '1' && row.ALARMINFORMATIONDETAILS_ID != null" type="success" icon="el-icon-check" size="mini" @click="handleDetailsCheck(row)"></el-button>
<el-button v-show="row.IS_ALARM === '2'" type="warning" icon="el-icon-search" size="mini" @click="handleReason(row)"></el-button> <el-button v-show="row.IS_ALARM === '2'" type="warning" icon="el-icon-search" size="mini" @click="handleReason(row)"></el-button>
<el-button type="danger" icon="el-icon-delete" plain @click="handleDelete(row.ALARMINFORMATION_ID)"></el-button> <el-button v-if="del && judgeRecipient(row)" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.ALARMINFORMATION_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page-btn-group"> <div class="page-btn-group">
<div> <div>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button> <el-button v-if="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
@ -73,9 +73,9 @@
<div id="map" /> <div id="map" />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<span>经度</span> <span>经度</span>
<el-input v-model="addForm.info.LONGITUDE" style="width: 200px" placeholder="请输入内容" disabled /> <el-input v-model="addForm.alarmInfo.LONGITUDE" style="width: 200px" placeholder="请输入内容" disabled />
<span>纬度</span> <span>纬度</span>
<el-input v-model="addForm.info.LATITUDE" style="width: 200px" placeholder="请输入内容" disabled /> <el-input v-model="addForm.alarmInfo.LATITUDE" style="width: 200px" placeholder="请输入内容" disabled />
<el-button @click="dialogFormMap = false"> </el-button> <el-button @click="dialogFormMap = false"> </el-button>
<el-button type="primary" @click="setPosition()"> </el-button> <el-button type="primary" @click="setPosition()"> </el-button>
</div> </div>
@ -202,6 +202,7 @@ export default {
map: null, map: null,
marker: null, marker: null,
BMap: '', BMap: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
clientHeight: 500, clientHeight: 500,
inputLocation: '', inputLocation: '',
msg: 'add', msg: 'add',
@ -213,9 +214,9 @@ export default {
dialogReason: false, dialogReason: false,
dialogSelect: false, dialogSelect: false,
disabled: false, disabled: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -304,8 +305,26 @@ export default {
created() { created() {
this.getList() this.getList()
this.getDict() this.getDict()
this.hasButton()
}, },
methods: { methods: {
judgeRecipient(row) {
if (row.RECIPIENT) {
const recipientList = row.RECIPIENT.split(',')
for (let i = 0; i < recipientList.length; i++) {
console.log(recipientList[i])
console.log(this.LOGIN_USER_ID)
if (recipientList[i] === this.LOGIN_USER_ID) {
console.log(recipientList[i])
console.log(this.LOGIN_USER_ID)
return true
}
}
return false
} else {
return false
}
},
clearAddform() { clearAddform() {
console.log(66666) console.log(66666)
this.addForm.info.ALARM_TIME = '' this.addForm.info.ALARM_TIME = ''
@ -423,14 +442,14 @@ export default {
}, },
initCenter(lng, lat, zoom) { initCenter(lng, lat, zoom) {
// //
if (!this.addForm.info.LONGITUDE && !this.addForm.info.LATITUDE) { if (!this.addForm.alarmInfo.LONGITUDE && !this.addForm.alarmInfo.LATITUDE) {
this.map.centerAndZoom(new window.T.LngLat(119.58, 39.94), zoom) this.map.centerAndZoom(new window.T.LngLat(119.58, 39.94), zoom)
this.marker && this.map.removeOverLay(this.marker) this.marker && this.map.removeOverLay(this.marker)
} else { } else {
this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom) this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom)
this.marker && this.map.removeOverLay(this.marker) this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = lng this.addForm.alarmInfo.LONGITUDE = lng
this.addForm.info.LATITUDE = lat this.addForm.alarmInfo.LATITUDE = lat
this.marker = new window.T.Marker(new window.T.LngLat(lng, lat)) this.marker = new window.T.Marker(new window.T.LngLat(lng, lat))
// //
this.map.addOverLay(this.marker) this.map.addOverLay(this.marker)
@ -446,8 +465,8 @@ export default {
}, },
MapClick(event) { MapClick(event) {
this.marker && this.map.removeOverLay(this.marker) this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = event.lnglat.getLng() this.addForm.alarmInfo.LONGITUDE = event.lnglat.getLng()
this.addForm.info.LATITUDE = event.lnglat.getLat() this.addForm.alarmInfo.LATITUDE = event.lnglat.getLat()
this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat())) this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat()))
// //
this.map.addOverLay(this.marker) this.map.addOverLay(this.marker)
@ -455,8 +474,8 @@ export default {
handleMap(row) { handleMap(row) {
this.dialogFormMap = true this.dialogFormMap = true
this.$nextTick(() => { this.$nextTick(() => {
if (!this.map) this.initMap(this.addForm.info.LONGITUDE, this.addForm.info.LATITUDE, 16) if (!this.map) this.initMap(this.addForm.alarmInfo.LONGITUDE, this.addForm.alarmInfo.LATITUDE, 16)
else this.initCenter(this.addForm.info.LONGITUDE, this.addForm.info.LATITUDE, 16) else this.initCenter(this.addForm.alarmInfo.LONGITUDE, this.addForm.alarmInfo.LATITUDE, 16)
}) })
}, },
getRowKey(row) { getRowKey(row) {
@ -468,7 +487,7 @@ export default {
this.getList() this.getList()
}, },
setPosition() { setPosition() {
this.addForm.info.LONGTITUDEANDLATITUDE = this.addForm.info.LONGITUDE + '--' + this.addForm.info.LATITUDE this.addForm.alarmInfo.ALARM_AREA = this.addForm.alarmInfo.LONGITUDE + '--' + this.addForm.alarmInfo.LATITUDE
this.dialogFormMap = false this.dialogFormMap = false
}, },
// //
@ -765,6 +784,22 @@ export default {
}, },
goBack() { goBack() {
this.$parent.activeName = 'list' this.$parent.activeName = 'list'
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -208,14 +208,15 @@ export default {
inputLocation: '', inputLocation: '',
msg: 'add', msg: 'add',
config: config, config: config,
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
listLoading: true, listLoading: true,
dialogForm: false, dialogForm: false,
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -282,6 +283,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getDict() this.getDict()
this.hasButton()
}, },
methods: { methods: {
// //
@ -454,7 +456,8 @@ export default {
requestFN( requestFN(
'/alarmDeviceMaintenance/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/alarmDeviceMaintenance/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
KEYWORDS: this.KEYWORDS KEYWORDS: this.KEYWORDS,
LOGIN_USER_ID: this.LOGIN_USER_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -702,6 +705,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes') this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).catch((e) => { }).catch((e) => {
}) })
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -6,8 +6,8 @@
<el-form label-width="100px"> <el-form label-width="100px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="关键词"> <el-form-item label="报警值">
<el-input v-model="KEYWORDS" placeholder="视频名称"/> <el-input v-model="KEYWORDS" placeholder="请输入报警值"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -150,9 +150,9 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -207,6 +207,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getDict() this.getDict()
this.hasButton()
}, },
methods: { methods: {
clearAddform() { clearAddform() {
@ -558,6 +559,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes') this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).catch((e) => { }).catch((e) => {
}) })
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -213,9 +213,9 @@ export default {
dialogImageUrl: '', dialogImageUrl: '',
dialogVisible: false, dialogVisible: false,
dialogSelect: false, dialogSelect: false,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
dialogFormMap: false, dialogFormMap: false,
listQuery: { listQuery: {
page: 1, page: 1,
@ -224,6 +224,7 @@ export default {
total: 0, total: 0,
typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }], typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }],
KEYWORDS: '', KEYWORDS: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
dates: [], dates: [],
varList: [], varList: [],
LATITUDE: '', LATITUDE: '',
@ -282,6 +283,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getDict() this.getDict()
this.hasButton()
}, },
methods: { methods: {
// //
@ -454,7 +456,8 @@ export default {
requestFN( requestFN(
'/alarmDeviceMaintenance/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/alarmDeviceMaintenance/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
KEYWORDS: this.KEYWORDS KEYWORDS: this.KEYWORDS,
LOGIN_USER_ID: this.LOGIN_USER_ID
} }
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
@ -682,6 +685,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes') this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).catch((e) => { }).catch((e) => {
}) })
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -50,7 +50,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row.REGIONPATH)"></el-button> <el-button v-if="row.VIDEO_TYPE === '0'" type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row.VIDEO_URL)"></el-button>
<el-button v-if="row.VIDEO_TYPE === '1'" type="primary" icon="el-icon-caret-right" size="mini" @click="showVideo(row.VIDEO_URL)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -67,8 +68,8 @@
<!-- </el-dialog>--> <!-- </el-dialog>-->
<el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" title="视频" width="600px"> <el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" title="视频" width="600px">
<video v-if="REGIONPATH.endsWith('.m3u8')" ref="video" class="full-height full-width" controls/> <video v-if="VIDEO_URL.endsWith('.m3u8')" ref="video" class="full-height full-width" controls/>
<iframe v-else :src="REGIONPATH" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/> <iframe v-else :src="VIDEO_URL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button> <el-button @click="back"> </el-button>
</div> </div>
@ -105,9 +106,9 @@ export default {
msg: 'add', msg: 'add',
config: config, config: config,
listLoading: true, listLoading: true,
add: true, add: '',
del: true, del: '',
edit: true, edit: '',
listQuery: { listQuery: {
page: 1, page: 1,
limit: 20 limit: 20
@ -120,12 +121,13 @@ export default {
LONGITUDE: '', LONGITUDE: '',
dialogVideo: false, dialogVideo: false,
dialogVideoAll: false, dialogVideoAll: false,
REGIONPATH: '', VIDEO_URL: '',
zoom: 10 zoom: 10
} }
}, },
created() { created() {
this.getList() this.getList()
this.hasButton()
}, },
methods: { methods: {
back() { back() {
@ -136,7 +138,7 @@ export default {
}, },
// //
showVideo(path) { showVideo(path) {
this.REGIONPATH = path this.VIDEO_URL = path
this.dialogVideo = true this.dialogVideo = true
}, },
showAll() { showAll() {
@ -171,7 +173,7 @@ export default {
getList() { getList() {
this.listLoading = true this.listLoading = true
requestFN( requestFN(
'/platformvideomanagement/listByPosition?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/aiboxVideo/listForAlarm?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {
KEYWORDS: this.KEYWORDS, KEYWORDS: this.KEYWORDS,
LONGITUDE: this.$parent.LONGITUDE, LONGITUDE: this.$parent.LONGITUDE,
@ -210,6 +212,22 @@ export default {
goKeyReset() { goKeyReset() {
this.KEYWORDS = '' this.KEYWORDS = ''
this.getList() this.getList()
},
//
hasButton: function() {
var keys = 'aiboxManager:add,aiboxManager:del,aiboxManager:edit'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.aiboxManagerfhadminadd //
this.del = data.aiboxManagerfhadmindel //
this.edit = data.aiboxManagerfhadminedit //
}).catch((e) => {
this.listLoading = false
})
} }
} }
} }

View File

@ -50,15 +50,33 @@
<td class="bbg-transparent">是否报警信息</td> <td class="bbg-transparent">是否报警信息</td>
<td>{{ item.IS_ALARM === '1' ? '是' : item.IS_ALARM === '2' ? '否' : '未审核' }}</td> <td>{{ item.IS_ALARM === '1' ? '是' : item.IS_ALARM === '2' ? '否' : '未审核' }}</td>
</tr> </tr>
<tr v-show="item.IS_ALARM === '1' && item.INFORMANT_NAME">
<td class="bbg-transparent">报警人姓名</td>
<td>{{ item.INFORMANT_NAME }}</td>
</tr>
<tr v-show="item.IS_ALARM === '1' && item.INFORMANT_NAME">
<td class="bbg-transparent">报警人电话</td>
<td>{{ item.INFORMANT_PHONE }}</td>
</tr>
<tr v-show="item.IS_ALARM === '1' && item.INFORMANT_NAME">
<td class="bbg-transparent">详细地址</td>
<td>{{ item.ADDRESS }}</td>
</tr>
<tr v-show="item.IS_ALARM === '1' && item.INFORMANT_NAME">
<td class="bbg-transparent">报警内容</td>
<td>{{ item.CONTENT }}</td>
</tr>
<tr v-show="item.IS_ALARM === '1' && !item.INFORMANT_NAME">
<td class="bbg-transparent">报警信息</td>
<td> 待填报 </td>
</tr>
<tr v-show="item.IS_ALARM === '2' && item.REASON">
<td class="bbg-transparent">REASON</td>
<td>{{ item.REASON }}</td>
</tr>
</table> </table>
</div> </div>
</div> </div>
<el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" :show-close="false" title="视频2" width="600px">
<iframe :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
</div>
</el-dialog>
</div> </div>
<table class="table-ui"> <table class="table-ui">
<div class="level-title" style="position: relative; top: 50px"> <div class="level-title" style="position: relative; top: 50px">
@ -70,7 +88,7 @@
<div>{{ '摄像头' + (index+1) + '' }}</div> <div>{{ '摄像头' + (index+1) + '' }}</div>
<tr> <tr>
<td class="bbg-transparent">摄像头名称</td> <td class="bbg-transparent">摄像头名称</td>
<td>{{ item.NAME }}</td> <td>{{ item.VIDEO_NAME }}</td>
</tr> </tr>
<tr> <tr>
<td class="bbg-transparent">摄像头位置</td> <td class="bbg-transparent">摄像头位置</td>
@ -83,13 +101,13 @@
</table> </table>
</div> </div>
</div> </div>
<el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" :show-close="false" title="视频2" width="600px">
<iframe :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
</div>
</el-dialog>
</table> </table>
<el-dialog v-if="dialogVideo" :visible.sync="dialogVideo" :append-to-body="true" title="视频2" width="600px">
<iframe :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay;fullscreen;microphone" style="position: relative;border:none"/>
<div slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>