<el-table class="table" v-if="isshow" stripe :data="tableData" :props="tableProps" style="width: 100%;margin-top: 4px;"
row-key="code" v-loading="loading" lazy :load="searchDevice" :height="600"
:header-cell-style="headerCellStyle"
:tree-props="{ children: 'children1', hasChildren: 'hasChildren' }" :default-expand-all="false"
:header-cell-class-name="addclass" :expand-on-click-node="true">
<el-table-column align="left" prop="codeName" :label="$t('twoPermissions.equipment_catalog')"
min-width="150">
<template slot-scope="{ row }">
<i style="" v-if="!row.hasChildren" class="iconfont icon-video-camera-full"></i>
<i v-if="row.hasChildren" style="color:#ffa500" class="iconfont icon-wenjianleixing-biaozhuntu-wenjianjia"></i>
{{ row.codeName }}
</template>
</el-table-column>
<el-table-column align="center" prop="real_time" :label="$t('twoPermissions.realTimePreview')"
min-width="55">
<template slot-scope="{ row }">
<img v-if="row.real_time == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.real_time == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="(row.real_time == 2 && row.expireDate == null && row.revokeDate != null) || (row.expireDate != null && row.revokeDate != null)"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="preview_capture" :label="$t('twoPermissions.previewShot')"
min-width="55">
<template slot-scope="{ row }">
<img v-if="row.preview_capture == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.preview_capture == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="(row.real_time == 2 && row.expireDate == null && row.revokeDate != null) || (row.expireDate != null && row.revokeDate != null)"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="demand_video" :label="$t('twoPermissions.replayTheater')"
min-width="55">
<template slot-scope="{ row }">
<img v-if="row.demand_video == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.demand_video == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.demand_video == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="demand_download"
:label="$t('twoPermissions.videoDownload')" min-width="55">
<template slot-scope="{ row }">
<img v-if="row.demand_download == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.demand_download == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.demand_download == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="video_capture" :label="$t('twoPermissions.videoCapture')"
min-width="55">
<template slot-scope="{ row }">
<img v-if="row.video_capture == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.video_capture == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.video_capture == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="PZT_control" :label="$t('twoPermissions.pZTControl')"
min-width="55">
<template slot-scope="{ row }">
<img v-if="row.PZT_control == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.PZT_control == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.PZT_control == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="settings_position"
:label="$t('twoPermissions.setPresetPosition')" min-width="55">
<template slot-scope="{ row }">
<img v-if="row.settings_position == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.settings_position == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.settings_position == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="adjustment_position"
:label="$t('twoPermissions.adjustingPresetPositions')" min-width="55">
<template slot-scope="{ row }">
<img v-if="row.adjustment_position == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.adjustment_position == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.adjustment_position == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
<el-table-column align="center" prop="preset_position"
:label="$t('twoPermissions.presetNavigationPosition')" min-width="55">
<template slot-scope="{ row }">
<img v-if="row.preset_position == 2 && row.expireDate == null && row.revokeDate == null"
src="./yes.png" style="width: 20px;">
<el-popover
v-else-if="row.preset_position == 2 && row.expireDate != null && row.revokeDate == null"
placement="top-start" width="330" trigger="hover">
临时时间:{{ row.expireDate }}
<img slot="reference" src="@/assets/images/permissions/temporary.png"
style="width: 24px;transform: scale(1.2) translateX(2px);">
</el-popover>
<el-popover
v-else-if="row.preset_position == 2 && row.expireDate == null && row.revokeDate != null"
placement="top-start" width="330" trigger="hover">
回收时间:{{ row.revokeDate }}
<img slot="reference" src="@/assets/images/permissions/revoke.png"
style="width: 18px;transform: scale(1.5);">
</el-popover>
</template>
</el-table-column>
</el-table>
//data里的props
tableProps: {
children: 'children',
label: 'orgName',
value: 'orgId',
orgLevel: 'orgLevel',
},
//设置树形节点
setHasChildren(list, boolean) {
list.forEach(item => {
// 添加组织目录下用户
if (item.powerCode != null && item.powerCode != '') {
let arr = item.powerCode.split(',')
arr.forEach(a => {
item[this.getCode(a)] = '2'
})
}
if (item.children != null) {
console.log(item,'item++');
// this.searchDevice(item,item,()=>{})
item['hasChildren'] = boolean
this.setHasChildren(item.children, boolean)
}
});
},
//懒加载的方法
async searchDevice(row, treeNode, resolve) {
// 查询目录树 设备
let param = {
targetType: "1",
catalogCode: row.code,
targetId: this.queryParam.userCode,
powerCode: row.powerCode,
}
let res = await getqueryDevicePowerList(param);
if (res.data.status == '1') {
let arr = []
if (row.children != null) {
arr = row.children
}
if (res.data.data != [] && res.data.data.length != 0) {
res.data.data.forEach(item => {
if (item.powerCode != null) {
let arr = item.powerCode != null ? item.powerCode.split(',') : []
arr.forEach(a => {
item[this.getCode(a)] = '2'
item['isDevice'] = true
})
}
arr.push(item)
})
}
this.deviceCount += (arr.length / 1);
this.$set(row, 'children1', arr)
resolve(arr)
} else {
return resolve([])
}
},