解决了 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>
</template>
</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="STATE" label="设备状态" align="center">
<template slot-scope="{row}">
@ -72,8 +72,8 @@
<el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}">
<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="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 === '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 === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template>
</el-table-column>
</el-table>
@ -100,6 +100,9 @@ export default {
},
total: 0,
KEYWORDS: '',
add: '',
del: '',
edit: '',
CREATOR: '',
dates: [],
varList: [],
@ -123,6 +126,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
methods: {
handleOnline(AIBOX_ID, STATE) {
@ -262,6 +266,22 @@ export default {
this.resetAddForm()
this.addForm.dialogType = 'add'
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}">
<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="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="!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="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-if="edit" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></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="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="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="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>
</el-table-column>
</el-table>
@ -93,44 +93,38 @@
<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-item label="视频名称" prop="VIDEO_NAME" style="width: 80%">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" placeholder="这里输入视频名称..." />
<el-form-item label="视频名称" prop="VIDEO_NAME">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" style="width: 80%" placeholder="这里输入视频名称..." />
</el-form-item>
<el-form-item label="摄像头编号" prop="CODE" style="width: 80%">
<el-input :disabled="true" v-model="addForm.info.CODE" placeholder="这里输入摄像头编号..." />
<el-form-item label="摄像头编号" prop="CODE">
<el-input :disabled="true" v-model="addForm.info.CODE" style="width: 80%" placeholder="这里输入摄像头编号..." />
</el-form-item>
<el-form-item label="算法数量:" prop="CAPACITY">
<el-col :span="16" style="text-align: center">
<el-select v-model="addForm.info.ALGO_LIMIT" placeholder="请选择" style="width: 80%;" @change="removeExceed()">
<el-form-item label="算法数量:" prop="ALGO_LIMIT">
<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
v-for="item in algoLimitList"
:key="item.value"
:label="item.value"
:value="item.value"
v-for="item in algorithmList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.BIANMA"
:disabled="item.disabled"
/>
</el-select>
</el-col>
<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-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
@ -189,9 +183,9 @@ export default {
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -204,9 +198,6 @@ export default {
varList: [],
LATITUDE: '',
LONGITUDE: '',
form: {
ALGORITHM: []
},
zoom: 10,
rules: {
VIDEONAME: [{ required: true, message: '视频名称不能为空', trigger: 'blur' }],
@ -228,7 +219,9 @@ export default {
dialogVisible: false,
rules: {
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: {
AIBOX_ID: this.$parent.AIBOX_ID,
@ -239,6 +232,7 @@ export default {
CODE: '',
LATITUDE: '',
LONGITUDE: '',
ALGORITHM: [],
ALGO_LIMIT: ''
}
}
@ -247,6 +241,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
beforeDestroy() {
console.log('定时器关闭')
@ -258,7 +253,7 @@ export default {
setDisable() {
this.algorithmList.forEach(item => {
item.disabled = false
this.form.ALGORITHM.forEach(value => {
this.addForm.info.ALGORITHM.forEach(value => {
if (value.BIANMA === item.BIANMA) {
item.disabled = true
}
@ -267,16 +262,16 @@ export default {
this.$forceUpdate()
},
removeExceed() {
if (this.addForm.info.ALGO_LIMIT < this.form.ALGORITHM.length) {
while (this.addForm.info.ALGO_LIMIT < this.form.ALGORITHM.length) {
this.form.ALGORITHM.pop()
if (this.addForm.info.ALGO_LIMIT < this.addForm.info.ALGORITHM.length) {
while (this.addForm.info.ALGO_LIMIT < this.addForm.info.ALGORITHM.length) {
this.addForm.info.ALGORITHM.pop()
}
}
this.$forceUpdate()
},
addCollateral() {
this.setDisable()
this.form.ALGORITHM.push({ BIANMA: '' })
this.addForm.info.ALGORITHM.push({ BIANMA: '' })
},
bobilehandleSelected(row) {
this.$set(this.addForm.info, 'VIDEO_URL', row.VIDEOURL)
@ -361,7 +356,6 @@ export default {
this.map.addEventListener('click', this.MapClick)
},
MapClick(event) {
console.log(1111)
this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = event.lnglat.getLng()
this.addForm.info.LATITUDE = event.lnglat.getLat()
@ -383,7 +377,7 @@ export default {
})
},
getRowKey(row) {
return row.GATEVIDEO_ID
return row.AIBOX_RELATION_ID
},
//
getQuery() {
@ -517,7 +511,6 @@ export default {
this.$nextTick(() => {
for (let i = 0; i < this.videoList.length; i++) {
if (!this.videoList[i].HLSVIDEOURL) continue
console.log(this.videoList[i].HLSVIDEOURL.data.url)
// eslint-disable-next-line no-undef
const player = new Aliplayer({
'id': 'aLiVideoPlayer' + i,
@ -535,7 +528,6 @@ export default {
console.log('The player is created')
})
this.playerList.push(player)
console.log(this.playerList)
}
})
}).catch((e) => {
@ -585,7 +577,6 @@ export default {
handleAlgorithm(row, dialogType) {
this.getAlgorithmList()
this.form.ALGORITHM = []
this.resetAddForm()
this.AIBOX_RELATION_ID = row.AIBOX_RELATION_ID
this.addForm.info.VIDEO_ID = row.VIDEO_ID
@ -605,7 +596,7 @@ export default {
this.addForm.info.ALGO_LIMIT = result.ALGO_LIMIT
const bianmaList = result.BIANMA.replace(/,$/, '').split(',')
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.listLoading = false
@ -678,6 +669,7 @@ export default {
CODE: '',
LATITUDE: '',
LONGITUDE: '',
ALGORITHM: [],
ALGO_LIMIT: ''
}
this.addForm.dialogType = ''
@ -697,33 +689,43 @@ export default {
this.$forceUpdate()
},
confirm() {
let BIANMA = ''
if (this.form.ALGORITHM) {
for (let i = 0; i < this.form.ALGORITHM.length; i++) {
if (this.form.ALGORITHM[i].BIANMA !== '' && this.form.ALGORITHM[i].BIANMA !== null) {
BIANMA = BIANMA + this.form.ALGORITHM[i].BIANMA + ','
if (this.addForm.info.ALGORITHM.length < 1) {
this.$message.warning('选择的算法数量不能小于1')
} else {
for (let i = 0; i < this.addForm.info.ALGORITHM.length; i++) {
if (this.addForm.info.ALGORITHM[i].BIANMA === '') {
this.$message.warning('您选择的第' + (i + 1) + '个算法为空,请检查后提交')
return
}
}
}
this.$refs.addForm.validate(valid => {
if (valid) {
requestFN(
'/aiboxAlgorithm/' + this.addForm.dialogType,
{
...this.addForm.info,
BIANMA: BIANMA,
AIBOX_RELATION_ID: this.AIBOX_RELATION_ID
let BIANMA = ''
if (this.addForm.info.ALGORITHM) {
for (let i = 0; i < this.addForm.info.ALGORITHM.length; i++) {
if (this.addForm.info.ALGORITHM[i].BIANMA !== '' && this.addForm.info.ALGORITHM[i].BIANMA !== null) {
BIANMA = BIANMA + this.addForm.info.ALGORITHM[i].BIANMA + ','
}
).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) {
this.$confirm('确定要删除吗?', {
@ -824,6 +826,22 @@ export default {
goBack() {
this.$parent.activeName = 'List'
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>
</template>
</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="STATE" label="设备状态" align="center">
<template slot-scope="{row}">
@ -68,16 +68,16 @@
<el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}">
<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="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 type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_ID)"></el-button>
<el-button v-if="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></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="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 v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
@ -208,6 +208,9 @@ export default {
page: 1,
limit: 20
},
add: '',
del: '',
edit: '',
total: 0,
KEYWORDS: '',
CREATOR: '',
@ -250,6 +253,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
methods: {
getCoroInfoAll() {
@ -428,6 +432,22 @@ export default {
this.resetAddForm()
this.addForm.dialogType = 'add'
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>
</template>
</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="STATE" label="设备状态" align="center">
<template slot-scope="{row}">
@ -73,8 +73,8 @@
<el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}">
<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="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 === '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 === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template>
</el-table-column>
</el-table>
@ -100,6 +100,9 @@ export default {
limit: 20
},
total: 0,
add: '',
del: '',
edit: '',
KEYWORDS: '',
CREATOR: '',
dates: [],
@ -124,6 +127,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
methods: {
handleOnline(AIBOX_ID, STATE) {
@ -263,6 +267,22 @@ export default {
this.resetAddForm()
this.addForm.dialogType = 'add'
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 prop="REVIEW_STATE" label="审核状态" align="center">
<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>
</el-table-column>
<el-table-column label="操作" align="center" width="500">
<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 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-show="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" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(row)"></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="edit && row.REVIEW_STATE && row.REVIEW_STATE === '1'" type="primary" icon="el-icon-edit" size="mini" @click="handleAlgorithm(row,'edit')"></el-button>
</template>
</el-table-column>
</el-table>
@ -97,41 +97,37 @@
<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-item label="视频名称" prop="VIDEO_NAME" style="width: 80%">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" placeholder="这里输入视频名称..." />
<el-form-item label="视频名称" prop="VIDEO_NAME">
<el-input :disabled="true" v-model="addForm.info.VIDEO_NAME" style="width: 80%;" placeholder="这里输入视频名称..." />
</el-form-item>
<el-form-item label="摄像头编号" prop="CODE" style="width: 80%">
<el-input :disabled="true" v-model="addForm.info.CODE" placeholder="这里输入摄像头编号..." />
<el-form-item label="摄像头编号" prop="CODE">
<el-input :disabled="true" v-model="addForm.info.CODE" style="width: 80%;" placeholder="这里输入摄像头编号..." />
</el-form-item>
<el-form-item label="算法数量:" prop="CAPACITY">
<el-col :span="16" style="text-align: center">
<el-select :disabled="true" 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-col>
<el-select :disabled="true" v-model="addForm.info.ALGO_LIMIT" style="width: 80%;" placeholder="请选择" @change="removeExceed()">
<el-option
v-for="item in algoLimitList"
:key="item.value"
:label="item.value"
:value="item.value"
/>
</el-select>
</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 :disabled="true" 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 v-for="(item, index) in form.ALGORITHM" :key="item.id">
<el-form-item :label="'算法' + (index + 1) + ''">
<el-select :disabled="true" v-model="item.BIANMA" placeholder="请选择" style="width: 80%;" @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-form>
<div slot="footer" class="dialog-footer">
@ -191,9 +187,9 @@ export default {
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -254,6 +250,7 @@ export default {
this.getCoroInfoAll()
this.getAlgorithmList()
this.getList()
this.hasButton()
},
beforeDestroy() {
console.log('定时器关闭')
@ -846,6 +843,22 @@ export default {
goBack() {
this.$parent.activeName = 'List'
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() {
return {
//
add: '',
del: '',
edit: '',
dialogVideo: false,
dialogVideoHLS: false,
dialogVideoBack: false,
@ -226,7 +229,7 @@ export default {
this.listLoading = true
this.varList = []
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,
PERSONNELMANAGEMENT_ID: this.serachForm.UNITS_USER_ID,
@ -262,6 +265,22 @@ export default {
},
closeWindow() {
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>
</template>
</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="STATE" label="设备状态" align="center">
<template slot-scope="{row}">
@ -72,8 +72,8 @@
<el-table-column label="操作" align="center" width="420">
<template slot-scope="{row}">
<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="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 === '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 === '0'" style="background-color: seagreen; color: white" type="info" icon="el-icon-success" plain @click="handleOnline(row.AIBOX_ID,1)">线</el-button>
</template>
</el-table-column>
</el-table>
@ -100,6 +100,9 @@ export default {
page: 1,
limit: 20
},
add: '',
del: '',
edit: '',
total: 0,
KEYWORDS: '',
CREATOR: '',
@ -125,6 +128,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
methods: {
handleOnline(AIBOX_ID, STATE) {
@ -264,6 +268,22 @@ export default {
this.resetAddForm()
this.addForm.dialogType = 'add'
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 },
data() {
return {
add: '',
del: '',
edit: '',
config: config,
visible: false,
listLoading: true,
@ -152,6 +155,22 @@ export default {
},
closeWindow() {
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">
<template slot-scope="{row}">
<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 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="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 type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_RELATION_ID)"></el-button>
<el-button v-if="edit" type="info" icon="el-icon-location-information" size="mini" @click="handleMap(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="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="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="edit && row.VIDEO_TYPE === '1'" type="warning" size="mini" @click="getRTSP(row)">rtsp</el-button>
<el-button v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.AIBOX_RELATION_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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>
</div>
<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-if="video.HLSVIDEOURL" :id="'aLiVideoPlayer'+index" class="prism-player"/>
</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 slot="footer" class="dialog-footer">
<el-button @click="back"> </el-button>
@ -163,15 +167,16 @@ export default {
clientHeight: 500,
inputLocation: '',
msg: 'add',
video2List: [],
config: config,
listLoading: true,
dialogForm: false,
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -230,6 +235,7 @@ export default {
created() {
this.getCoroInfoAll()
this.getList()
this.hasButton()
},
beforeDestroy() {
console.log('定时器关闭')
@ -480,13 +486,18 @@ export default {
})
return false
}
this.video2List = []
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(',')
this.videoList = []
this.listLoading = true
requestFN(
'/gateVideo/goAllVideo',
'/gateVideo/goAllVideoForAlarm',
{
DATA_IDS: ids
}
@ -728,6 +739,7 @@ export default {
},
back() {
if (this.addForm.dialogVisible) this.addForm.dialogVisible = false
if (this.dialogVideo) this.dialogVideo = false
if (this.dialogVideoBack) this.dialogVideoBack = false
if (this.dialogVideoAll) {
@ -753,6 +765,22 @@ export default {
goBack() {
this.$parent.activeName = 'List'
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 prop="TYPE" label="类型" align="center">
<template slot-scope="{row}">
{{ row.ISONLINE === '0' ? '指标分析' : '报警源接入' }}
{{ row.TYPE === '0' ? '指标分析' : '报警源接入' }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="300">
<template slot-scope="{row}">
<el-button 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="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)"></el-button>
<el-button v-if="del" type="danger" icon="el-icon-delete" plain @click="handleDelete(row.ALARMDEVICEMAINTENANCE_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
@ -243,9 +243,9 @@ export default {
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -254,6 +254,7 @@ export default {
total: 0,
typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }],
KEYWORDS: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
dates: [],
varList: [],
LATITUDE: '',
@ -283,6 +284,9 @@ export default {
LONGITUDE: [{ required: true, message: '不可为空', trigger: 'blur' }],
LATITUDE: [{ 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' }]
},
info: {
@ -312,6 +316,7 @@ export default {
created() {
this.getList()
this.getDict()
this.hasButton()
},
methods: {
//
@ -484,7 +489,8 @@ export default {
requestFN(
'/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) => {
this.listLoading = false
@ -761,6 +767,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).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 label="操作" align="center" width="300">
<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="row.IS_ALARM === '1' && row.ALARMINFORMATIONDETAILS_ID == null" type="primary" icon="el-icon-edit" size="mini" @click="handleDetails(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-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 === '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>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
@ -73,9 +73,9 @@
<div id="map" />
<div slot="footer" class="dialog-footer">
<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>
<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 type="primary" @click="setPosition()"> </el-button>
</div>
@ -202,6 +202,7 @@ export default {
map: null,
marker: null,
BMap: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
clientHeight: 500,
inputLocation: '',
msg: 'add',
@ -213,9 +214,9 @@ export default {
dialogReason: false,
dialogSelect: false,
disabled: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -304,8 +305,26 @@ export default {
created() {
this.getList()
this.getDict()
this.hasButton()
},
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() {
console.log(66666)
this.addForm.info.ALARM_TIME = ''
@ -423,14 +442,14 @@ export default {
},
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.marker && this.map.removeOverLay(this.marker)
} else {
this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom)
this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = lng
this.addForm.info.LATITUDE = lat
this.addForm.alarmInfo.LONGITUDE = lng
this.addForm.alarmInfo.LATITUDE = lat
this.marker = new window.T.Marker(new window.T.LngLat(lng, lat))
//
this.map.addOverLay(this.marker)
@ -446,8 +465,8 @@ export default {
},
MapClick(event) {
this.marker && this.map.removeOverLay(this.marker)
this.addForm.info.LONGITUDE = event.lnglat.getLng()
this.addForm.info.LATITUDE = event.lnglat.getLat()
this.addForm.alarmInfo.LONGITUDE = event.lnglat.getLng()
this.addForm.alarmInfo.LATITUDE = event.lnglat.getLat()
this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat()))
//
this.map.addOverLay(this.marker)
@ -455,8 +474,8 @@ export default {
handleMap(row) {
this.dialogFormMap = true
this.$nextTick(() => {
if (!this.map) this.initMap(this.addForm.info.LONGITUDE, this.addForm.info.LATITUDE, 16)
else this.initCenter(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.alarmInfo.LONGITUDE, this.addForm.alarmInfo.LATITUDE, 16)
})
},
getRowKey(row) {
@ -468,7 +487,7 @@ export default {
this.getList()
},
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
},
//
@ -765,6 +784,22 @@ export default {
},
goBack() {
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: '',
msg: 'add',
config: config,
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
listLoading: true,
dialogForm: false,
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -282,6 +283,7 @@ export default {
created() {
this.getList()
this.getDict()
this.hasButton()
},
methods: {
//
@ -454,7 +456,8 @@ export default {
requestFN(
'/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) => {
this.listLoading = false
@ -702,6 +705,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).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-row>
<el-col :span="8">
<el-form-item label="关键词">
<el-input v-model="KEYWORDS" placeholder="视频名称"/>
<el-form-item label="报警值">
<el-input v-model="KEYWORDS" placeholder="请输入报警值"/>
</el-form-item>
</el-col>
<el-col :span="8">
@ -150,9 +150,9 @@ export default {
dialogImageUrl: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -207,6 +207,7 @@ export default {
created() {
this.getList()
this.getDict()
this.hasButton()
},
methods: {
clearAddform() {
@ -558,6 +559,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).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: '',
dialogVisible: false,
dialogSelect: false,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
dialogFormMap: false,
listQuery: {
page: 1,
@ -224,6 +224,7 @@ export default {
total: 0,
typeList: [{ name: '指标分析', value: '0' }, { name: '报警源接入', value: '1' }],
KEYWORDS: '',
LOGIN_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
dates: [],
varList: [],
LATITUDE: '',
@ -282,6 +283,7 @@ export default {
created() {
this.getList()
this.getDict()
this.hasButton()
},
methods: {
//
@ -454,7 +456,8 @@ export default {
requestFN(
'/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) => {
this.listLoading = false
@ -682,6 +685,22 @@ export default {
this.treeDataInspectDept = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
}).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 label="操作" align="center" width="200">
<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>
</el-table-column>
</el-table>
@ -67,8 +68,8 @@
<!-- </el-dialog>-->
<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/>
<iframe v-else :src="REGIONPATH" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<video v-if="VIDEO_URL.endsWith('.m3u8')" ref="video" class="full-height full-width" controls/>
<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">
<el-button @click="back"> </el-button>
</div>
@ -105,9 +106,9 @@ export default {
msg: 'add',
config: config,
listLoading: true,
add: true,
del: true,
edit: true,
add: '',
del: '',
edit: '',
listQuery: {
page: 1,
limit: 20
@ -120,12 +121,13 @@ export default {
LONGITUDE: '',
dialogVideo: false,
dialogVideoAll: false,
REGIONPATH: '',
VIDEO_URL: '',
zoom: 10
}
},
created() {
this.getList()
this.hasButton()
},
methods: {
back() {
@ -136,7 +138,7 @@ export default {
},
//
showVideo(path) {
this.REGIONPATH = path
this.VIDEO_URL = path
this.dialogVideo = true
},
showAll() {
@ -171,7 +173,7 @@ export default {
getList() {
this.listLoading = true
requestFN(
'/platformvideomanagement/listByPosition?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/aiboxVideo/listForAlarm?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS,
LONGITUDE: this.$parent.LONGITUDE,
@ -210,6 +212,22 @@ export default {
goKeyReset() {
this.KEYWORDS = ''
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>{{ item.IS_ALARM === '1' ? '是' : item.IS_ALARM === '2' ? '否' : '未审核' }}</td>
</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>
</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>
<table class="table-ui">
<div class="level-title" style="position: relative; top: 50px">
@ -70,7 +88,7 @@
<div>{{ '摄像头' + (index+1) + '' }}</div>
<tr>
<td class="bbg-transparent">摄像头名称</td>
<td>{{ item.NAME }}</td>
<td>{{ item.VIDEO_NAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">摄像头位置</td>
@ -83,13 +101,13 @@
</table>
</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>
<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>
</template>