|
@@ -214,7 +214,7 @@
|
|
|
>
|
|
|
</div>
|
|
|
<div class="container-group container-group-l">
|
|
|
- <div class="warning-group" style="max-height: 200px; overflow-y: auto">
|
|
|
+ <div class="warning-group" :style="computedStyle">
|
|
|
<template v-if="selectData.deviceType">
|
|
|
<div class="container-item" v-for="(data, index) in leftColumns" :key="index">
|
|
|
<div class="item-icon">
|
|
@@ -237,26 +237,27 @@
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="container-group">
|
|
|
- <div class="warning-header">
|
|
|
- <div class="header-item">
|
|
|
- <div class="header-title">评价分析</div>
|
|
|
- <!-- <div class="header-value">{{ selectData['warnLogNotOkCount'] }} </div> -->
|
|
|
+ <template v-for="(item, index) in modalTypeArr.rightBtnArr" :key="index">
|
|
|
+ <div class="container-group" v-if="item.permission === 'fanLocal:pjfx' && hasPermission(item.permission)">
|
|
|
+ <div class="warning-header">
|
|
|
+ <div class="header-item">
|
|
|
+ <div class="header-title">评价分析</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="warning-group" style="max-height: 200px; overflow-y: auto">
|
|
|
- <template v-if="selectData.deviceType">
|
|
|
- <div class="container-item" v-for="(data, index) in leftColumns1" :key="index">
|
|
|
- <div class="item-icon">
|
|
|
- <!-- <SvgIcon class="icon-style" size="18" name="temperature" /> -->
|
|
|
- <CaretRightOutlined class="icon-style" />
|
|
|
+ <div class="warning-group" style="max-height: 200px; overflow-y: auto">
|
|
|
+ <template v-if="selectData.deviceType">
|
|
|
+ <div class="container-item" v-for="(data, index) in leftColumns1" :key="index">
|
|
|
+ <div class="item-icon">
|
|
|
+ <!-- <SvgIcon class="icon-style" size="18" name="temperature" /> -->
|
|
|
+ <CaretRightOutlined class="icon-style" />
|
|
|
+ </div>
|
|
|
+ <div class="item-name">{{ data.title }}</div>
|
|
|
+ <div :class="['item-value', { 'text-red-bold': data.value === '超限' }]">{{ data.value }}</div>
|
|
|
</div>
|
|
|
- <div class="item-name">{{ data.title }}</div>
|
|
|
- <div :class="['item-value', { 'text-red-bold': data.value === '超限' }]">{{ data.value }}</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
@@ -272,7 +273,7 @@
|
|
|
>
|
|
|
</div>
|
|
|
<div class="container-group container-group-l">
|
|
|
- <div class="warning-group" style="max-height: 200px; overflow-y: auto">
|
|
|
+ <div class="warning-group" style="max-height: 200px">
|
|
|
<template v-if="deviceType">
|
|
|
<div v-for="(state, index) in rightColumns" :key="index">
|
|
|
<template v-if="!state.dataIndex.endsWith('_w')">
|
|
@@ -655,7 +656,20 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import { ExclamationCircleFilled, ArrowRightOutlined, VideoCameraOutlined } from '@ant-design/icons-vue';
|
|
|
-import { onBeforeMount, ref, watch, onMounted, nextTick, defineAsyncComponent, reactive, onUnmounted, inject, unref, shallowReactive } from 'vue';
|
|
|
+import {
|
|
|
+ onBeforeMount,
|
|
|
+ ref,
|
|
|
+ watch,
|
|
|
+ onMounted,
|
|
|
+ nextTick,
|
|
|
+ defineAsyncComponent,
|
|
|
+ reactive,
|
|
|
+ onUnmounted,
|
|
|
+ inject,
|
|
|
+ unref,
|
|
|
+ computed,
|
|
|
+ shallowReactive,
|
|
|
+} from 'vue';
|
|
|
// import BarSingle from '../../../../components/chart/BarSingle.vue';
|
|
|
import FanDeviceEcharts from '../comment/FanDeviceEcharts.vue';
|
|
|
import BarAndLine from '../../../../components/chart/BarAndLine.vue';
|
|
@@ -708,6 +722,11 @@ const router = useRouter();
|
|
|
const { createConfirm } = useMessage();
|
|
|
const globSetting = useGlobSetting();
|
|
|
const showPlay = ref(hasPermission('fanlocal:showCamera') ? true : false);
|
|
|
+const computedStyle = computed(() => {
|
|
|
+ const items = modalTypeArr.rightBtnArr;
|
|
|
+ const hasMatchingPermission = items.some((item) => item.permission === 'fanLocal:pjfx' && hasPermission(item.permission));
|
|
|
+ return hasMatchingPermission ? 'max-height: 200px' : '';
|
|
|
+});
|
|
|
const modalTypeArr = reactive({
|
|
|
leftBtnArr: [
|
|
|
{
|
|
@@ -844,6 +863,11 @@ const modalTypeArr = reactive({
|
|
|
value: '按需供风联动',
|
|
|
permission: 'fanLocal:supplyAir',
|
|
|
},
|
|
|
+ {
|
|
|
+ key: 'pjfx',
|
|
|
+ value: '评价分析',
|
|
|
+ permission: 'fanLocal:pjfx',
|
|
|
+ },
|
|
|
],
|
|
|
});
|
|
|
const sensorList = ref<any[]>([
|