Procházet zdrojové kódy

[Fix 0000]解决联动配置模块数据不展示问题

bobo04052021@163.com před 3 dny
rodič
revize
f8035d6927

+ 115 - 60
src/views/vent/home/configurable/components/content.vue

@@ -4,40 +4,75 @@
   <div class="content">
   <div class="content">
     <!-- 背景 -->
     <!-- 背景 -->
     <img v-if="background.show && background.type === 'image'" class="content__background" :src="background.link" />
     <img v-if="background.show && background.type === 'image'" class="content__background" :src="background.link" />
-    <video v-if="background.show && background.type === 'video' && background.isBoard" class="content__background"
-      width="100%" autoplay loop muted disablepictureinpicture playsinline>
+    <video
+      v-if="background.show && background.type === 'video' && background.isBoard"
+      class="content__background"
+      width="100%"
+      autoplay
+      loop
+      muted
+      disablepictureinpicture
+      playsinline
+    >
       <source :src="background.link" />
       <source :src="background.link" />
       Not Supportted Link Or Browser
       Not Supportted Link Or Browser
     </video>
     </video>
-    <video v-if="background.show && background.type === 'video' && !background.isBoard" class="content__background_1"
-      width="100%" autoplay loop muted disablepictureinpicture playsinline>
+    <video
+      v-if="background.show && background.type === 'video' && !background.isBoard"
+      class="content__background_1"
+      width="100%"
+      autoplay
+      loop
+      muted
+      disablepictureinpicture
+      playsinline
+    >
       <source :src="background.link" />
       <source :src="background.link" />
       Not Supportted Link Or Browser
       Not Supportted Link Or Browser
     </video>
     </video>
     <div class="flex w-full h-full" :style="{ flexDirection: layout.direction }">
     <div class="flex w-full h-full" :style="{ flexDirection: layout.direction }">
-      <div v-for="config in layoutConfig" :key="config.name"
-        :style="{ flexBasis: config.basis, overflow: config.overflow ? 'auto' : 'hidden' }">
+      <div v-for="config in layoutConfig" :key="config.name" :style="{ flexBasis: config.basis, overflow: config.overflow ? 'auto' : 'hidden' }">
         <!-- 告示板部分 -->
         <!-- 告示板部分 -->
         <template v-if="config.name === 'board'">
         <template v-if="config.name === 'board'">
-          <div v-if="config.pageType == 'vent_New'" style="padding-top: 11%"
-            class="content__module content__module1 flex flex-justify-around flex-items-center flex-wrap">
-            <MiniBoard v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
-              :type="config.type" :layout="config.layout" />
+          <div
+            v-if="config.pageType == 'vent_New'"
+            style="padding-top: 11%"
+            class="content__module content__module1 flex flex-justify-around flex-items-center flex-wrap"
+          >
+            <MiniBoard
+              v-for="item in config.items"
+              :key="item.prop"
+              :label="item.label"
+              :value="item.value"
+              :type="config.type"
+              :layout="config.layout"
+            />
           </div>
           </div>
-          <div v-else-if="config.pageType == 'New_fire'"
-            class="content__module flex flex-justify-around flex-items-center flex-wrap">
-            <MiniBoardNew v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
-              :type="config.type" :layout="config.layout" />
+          <div v-else-if="config.pageType == 'New_fire'" class="content__module flex flex-justify-around flex-items-center flex-wrap">
+            <MiniBoardNew
+              v-for="item in config.items"
+              :key="item.prop"
+              :label="item.label"
+              :value="item.value"
+              :type="config.type"
+              :layout="config.layout"
+            />
           </div>
           </div>
           <div v-else class="content__module flex flex-justify-around flex-items-center flex-wrap">
           <div v-else class="content__module flex flex-justify-around flex-items-center flex-wrap">
-            <MiniBoard v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
-              :unit="item.unit" :type="config.type" :layout="config.layout" />
+            <MiniBoard
+              v-for="item in config.items"
+              :key="item.prop"
+              :label="item.label"
+              :value="item.value"
+              :unit="item.unit"
+              :type="config.type"
+              :layout="config.layout"
+            />
           </div>
           </div>
         </template>
         </template>
         <!-- 图表部分,这部分通常需要填充,有告示板、Header等内容需要填充父级 -->
         <!-- 图表部分,这部分通常需要填充,有告示板、Header等内容需要填充父级 -->
         <template v-if="config.name === 'chart'">
         <template v-if="config.name === 'chart'">
-          <CustomChart v-if="config.pageType == 'New_dust'" class="content__module_dust" :chart-config="config.config"
-            :chart-data="config.data" />
+          <CustomChart v-if="config.pageType == 'New_dust'" class="content__module_dust" :chart-config="config.config" :chart-data="config.data" />
           <CustomChart v-else class="content__module" :chart-config="config.config" :chart-data="config.data" />
           <CustomChart v-else class="content__module" :chart-config="config.config" :chart-data="config.data" />
         </template>
         </template>
         <!-- 通常列表部分 -->
         <!-- 通常列表部分 -->
@@ -61,8 +96,7 @@
         </template>
         </template>
         <!-- 复杂列表部分 -->
         <!-- 复杂列表部分 -->
         <template v-if="config.name === 'gallery_list'">
         <template v-if="config.name === 'gallery_list'">
-          <GalleryList class="content__module" :type="config.type" :list-config="config.items"
-            :gallery-config="config.galleryItems" />
+          <GalleryList class="content__module" :type="config.type" :list-config="config.items" :gallery-config="config.galleryItems" />
         </template>
         </template>
         <!-- 复杂列表部分 -->
         <!-- 复杂列表部分 -->
         <template v-if="config.name === 'complex_list'">
         <template v-if="config.name === 'complex_list'">
@@ -70,22 +104,28 @@
         </template>
         </template>
         <!-- 表格部分,这部分通常是占一整个模块的 -->
         <!-- 表格部分,这部分通常是占一整个模块的 -->
         <template v-if="config.name === 'table'">
         <template v-if="config.name === 'table'">
-          <CustomTable class="content__module text-center overflow-auto" :type="config.type" :columns="config.columns"
-            :auto-scroll="config.autoScroll" :data="config.data" />
+          <CustomTable
+            class="content__module text-center overflow-auto"
+            :type="config.type"
+            :columns="config.columns"
+            :auto-scroll="config.autoScroll"
+            :data="config.data"
+          />
         </template>
         </template>
         <template v-if="config.name === 'tabs'">
         <template v-if="config.name === 'tabs'">
-          <CustomTabs class="content__module" :type="config.type" :tab-config="config.items"
-            :overflow="config.overflow" />
+          <CustomTabs class="content__module" :type="config.type" :tab-config="config.items" :overflow="config.overflow" />
         </template>
         </template>
         <template v-if="config.name === 'blast_delta'">
         <template v-if="config.name === 'blast_delta'">
-          <BlastDelta v-if="config.pageType === 'New_fire'" class="content__moduleFire" :pos-monitor="config.data"
-            :canvasSize="{ width: 250, height: 200 }" />
-          <BlastDelta v-else class="content__module" :pos-monitor="config.data"
-            :canvasSize="{ width: 250, height: 200 }" />
+          <BlastDelta
+            v-if="config.pageType === 'New_fire'"
+            class="content__moduleFire"
+            :pos-monitor="config.data"
+            :canvasSize="{ width: 250, height: 200 }"
+          />
+          <BlastDelta v-else class="content__module" :pos-monitor="config.data" :canvasSize="{ width: 250, height: 200 }" />
         </template>
         </template>
         <template v-if="config.name === 'qh_curve'">
         <template v-if="config.name === 'qh_curve'">
-          <QHCurve class="content__module" :mainfan="config.data" :fan1-prop="config.config.fan1Prop"
-            :fan2-prop="config.config.fan2Prop" />
+          <QHCurve class="content__module" :mainfan="config.data" :fan1-prop="config.config.fan1Prop" :fan2-prop="config.config.fan2Prop" />
         </template>
         </template>
         <template v-if="config.name === 'ai_chat'">
         <template v-if="config.name === 'ai_chat'">
           <AIChat class="content__module" />
           <AIChat class="content__module" />
@@ -98,8 +138,13 @@
           <SelectCs :devicedata="config.data" :config="config.config" />
           <SelectCs :devicedata="config.data" :config="config.config" />
         </template>
         </template>
         <template v-if="config.name === 'measure_detail'">
         <template v-if="config.name === 'measure_detail'">
-          <MeasureDetail class="content__module" :show-title="false" :composite-data="config.data"
-            :topconfig="config.config.topconfig" :btnconfig="config.config.btnconfig" />
+          <MeasureDetail
+            class="content__module"
+            :show-title="false"
+            :composite-data="config.data"
+            :topconfig="config.config.topconfig"
+            :btnconfig="config.config.btnconfig"
+          />
         </template>
         </template>
         <template v-if="config.name === 'partition'">
         <template v-if="config.name === 'partition'">
           <Partition class="content__module" :type="config.type" :label="config.label" :icon="config.icon" />
           <Partition class="content__module" :type="config.type" :label="config.label" :icon="config.icon" />
@@ -111,8 +156,7 @@
           <RadioLabel class="content__module" :type="config.config.type" :config="config.config" />
           <RadioLabel class="content__module" :type="config.config.type" :config="config.config" />
         </template>
         </template>
         <template v-if="config.name === 'button_list'">
         <template v-if="config.name === 'button_list'">
-          <ButtonList class="content__module" :type="config.config.type" :config="config.config"
-            :buttonList="config.config.buttonList" />
+          <ButtonList class="content__module" :type="config.config.type" :config="config.config" :buttonList="config.config.buttonList" />
         </template>
         </template>
         <template v-if="config.name === 'card_list'">
         <template v-if="config.name === 'card_list'">
           <cardList class="content__module" :cardData="config.data" />
           <cardList class="content__module" :cardData="config.data" />
@@ -120,17 +164,12 @@
         <template v-else-if="config.name === 'generalist'">
         <template v-else-if="config.name === 'generalist'">
           <generalList class="content__module" :generalData="config.data" />
           <generalList class="content__module" :generalData="config.data" />
         </template>
         </template>
-    
-    
-        
-        
-    
+
         <template v-else-if="config.name === 'jk-video'">
         <template v-else-if="config.name === 'jk-video'">
           <cameraModal class="content__module" :deviceId="config.data" />
           <cameraModal class="content__module" :deviceId="config.data" />
         </template>
         </template>
         <template v-if="config.name === 'gallery_new'">
         <template v-if="config.name === 'gallery_new'">
-          <CustomGalleryNew class="content__module" :type="config.config.type" :option="config.config.items"
-            :galleryData="config.data" />
+          <CustomGalleryNew class="content__module" :type="config.config.type" :option="config.config.items" :galleryData="config.data" />
         </template>
         </template>
         <template v-if="config.name === 'card_new'">
         <template v-if="config.name === 'card_new'">
           <ImageCardNew :option="config.config.items" :cardData="config.data"></ImageCardNew>
           <ImageCardNew :option="config.config.items" :cardData="config.data"></ImageCardNew>
@@ -183,6 +222,18 @@
         <template v-if="config.name === 'system_view'">
         <template v-if="config.name === 'system_view'">
           <SystemView></SystemView>
           <SystemView></SystemView>
         </template>
         </template>
+        <template v-if="config.name === 'rule_table'">
+          <RuleTable></RuleTable>
+        </template>
+        <template v-if="config.name === 'link_log'">
+          <LinkLog></LinkLog>
+        </template>
+        <template v-if="config.name === 'rule_num'">
+          <RuleNum></RuleNum>
+        </template>
+        <template v-if="config.name === 'link_edit'">
+          <LinkRuleEdit></LinkRuleEdit>
+        </template>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
@@ -224,25 +275,29 @@ import ButtonList from './preset/buttonList.vue';
 import cardList from './preset/cardList.vue';
 import cardList from './preset/cardList.vue';
 import generalList from './preset/generalList.vue';
 import generalList from './preset/generalList.vue';
 
 
-import cameraModal from './preset/cameraModal.vue'
-import CustomGalleryNew from './preset/CustomGalleryNew.vue'
-import ImageCardNew from './preset/ImageCardNew.vue'
-import BtnListNew from './preset/BtnListNew.vue'
-import OperateNew from './preset/OperateNew.vue'
-import LongList from './preset/LongList.vue'
-import LongList1 from './preset/LongList1.vue'
-import LongList2 from './preset/LongList2.vue'
-import SearchTable from './preset/SearchTable.vue'
-import MixedWarn from './preset/MixedWarn.vue'
-import RuleList from './preset/RuleList.vue'
-import EchartBarNew from './preset/EchartBarNew.vue'
-import UserList from './preset/UserList.vue'
-import LogAudit from './preset/LogAudit.vue'
-import UserEdit from './preset/UserEdit.vue'
-import PermissionManager from './preset/PermissionManager.vue'
-import PermissionSet from './preset/PermissionSet.vue'
-import StatisticDay from './preset/StatisticDay.vue'
-import SystemView from './preset/SystemView.vue'
+import cameraModal from './preset/cameraModal.vue';
+import CustomGalleryNew from './preset/CustomGalleryNew.vue';
+import ImageCardNew from './preset/ImageCardNew.vue';
+import BtnListNew from './preset/BtnListNew.vue';
+import OperateNew from './preset/OperateNew.vue';
+import LongList from './preset/LongList.vue';
+import LongList1 from './preset/LongList1.vue';
+import LongList2 from './preset/LongList2.vue';
+import SearchTable from './preset/SearchTable.vue';
+import MixedWarn from './preset/MixedWarn.vue';
+import RuleList from './preset/RuleList.vue';
+import EchartBarNew from './preset/EchartBarNew.vue';
+import UserList from './preset/UserList.vue';
+import LogAudit from './preset/LogAudit.vue';
+import UserEdit from './preset/UserEdit.vue';
+import PermissionManager from './preset/PermissionManager.vue';
+import PermissionSet from './preset/PermissionSet.vue';
+import StatisticDay from './preset/StatisticDay.vue';
+import SystemView from './preset/SystemView.vue';
+import RuleTable from './preset/ruleTable.vue';
+import LinkLog from './preset/linkLog.vue';
+import RuleNum from './preset/ruleNum.vue';
+import LinkRuleEdit from './preset/linkRuleEdit.vue';
 // import FIreWarn from './preset/FIreWarn.vue';
 // import FIreWarn from './preset/FIreWarn.vue';
 // import FIreControl from './preset/FIreControl.vue';
 // import FIreControl from './preset/FIreControl.vue';
 
 

+ 8 - 8
src/views/vent/home/configurable/gasInjection.vue

@@ -15,13 +15,13 @@
 <script setup lang="ts">
 <script setup lang="ts">
 import { ref } from 'vue';
 import { ref } from 'vue';
 import { useInitConfigs, useInitPage } from './hooks/useInit';
 import { useInitConfigs, useInitPage } from './hooks/useInit';
-import navMenu from './components/navMenu.vue'
-import fireMonitor from './fireMonitor.vue'
-import deviceManger from './deviceManger.vue'
-import warnMonitor from './warnMonitor.vue'
-import systemManger from './systemManger.vue'
-import largeScreen from './largeScreen.vue'
-
+import navMenu from './components/navMenu.vue';
+import fireMonitor from './fireMonitor.vue';
+import deviceManger from './deviceManger.vue';
+import warnMonitor from './warnMonitor.vue';
+import systemManger from './systemManger.vue';
+import largeScreen from './largeScreen.vue';
+import linkConfiguration from './linkConfiguration.vue';
 const { mainTitle, data, updateData } = useInitPage('红沙泉露天煤矿系统');
 const { mainTitle, data, updateData } = useInitPage('红沙泉露天煤矿系统');
 //当前激活界面
 //当前激活界面
 const activeComponente = ref<any>(fireMonitor);
 const activeComponente = ref<any>(fireMonitor);
@@ -45,7 +45,7 @@ function changeMenu(param) {
       activeComponente.value = systemManger;
       activeComponente.value = systemManger;
       break;
       break;
     case 'dpzs':
     case 'dpzs':
-        activeComponente.value = largeScreen
+      activeComponente.value = largeScreen;
       break;
       break;
   }
   }
 }
 }