Browse Source

[Feat 0000] 保德首页各项修改及看板标题及各项修改

houzekong 5 months ago
parent
commit
54eff84c94

+ 157 - 0
src/views/vent/home/billboard/billboard.data.ts

@@ -651,3 +651,160 @@ export const DEFAULT_TEST_DATA = {
 };
 
 export type BillboardType = typeof DEFAULT_TEST_DATA;
+
+export const mockSHENDONG = [
+  {
+    code: 'sdmtjtltmk',
+    orgname: '柳塔矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 70,
+      zxcds: 70,
+      cdbjs: 1,
+      jcsbs: 55,
+    },
+  },
+  {
+    code: 'sdmtjtcctrk',
+    orgname: '寸草塔二矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 76,
+      zxcds: 70,
+      cdbjs: 5,
+      jcsbs: 54,
+    },
+  },
+  {
+    code: 'sdmtjtbetmk',
+    orgname: '布尔台矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 55,
+      zxcds: 50,
+      cdbjs: 0,
+      jcsbs: 32,
+    },
+  },
+  {
+    code: 'sdmtjtwlmlmk',
+    orgname: '乌兰木伦矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 32,
+      zxcds: 26,
+      cdbjs: 2,
+      jcsbs: 15,
+    },
+  },
+  {
+    code: 'sdmtjtcctmk',
+    orgname: '寸草塔矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 55,
+      zxcds: 40,
+      cdbjs: 12,
+      jcsbs: 33,
+    },
+  },
+  {
+    code: 'sdmtjtsgtmk',
+    orgname: '石圪台矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 67,
+      zxcds: 20,
+      cdbjs: 0,
+      jcsbs: 22,
+    },
+  },
+  {
+    code: 'sdmtjtbltmk',
+    orgname: '补连塔矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 46,
+      zxcds: 32,
+      cdbjs: 2,
+      jcsbs: 56,
+    },
+  },
+  {
+    code: 'sdmtjthlgmk',
+    orgname: '哈拉沟矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 53,
+      zxcds: 14,
+      cdbjs: 14,
+      jcsbs: 25,
+    },
+  },
+  {
+    code: 'sdmtjtswmk',
+    orgname: '上湾矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+  {
+    code: 'sdmtjtdltmkhjtj',
+    orgname: '活鸡兔井',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+  {
+    code: 'sdmtjtdltmk',
+    orgname: '大柳塔井',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+  {
+    code: 'sdmtjtjjmk',
+    orgname: '锦界矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+  {
+    code: 'sdmtjtyjlmk',
+    orgname: '榆家梁矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+  {
+    code: 'sdmtjtbdmk',
+    orgname: '保德矿',
+    dustRisk: {
+      fxdj: '低',
+      cds: 3,
+      zxcds: 2,
+      cdbjs: 1,
+      jcsbs: 0,
+    },
+  },
+];

+ 11 - 7
src/views/vent/home/billboard/components/DustRisk.vue

@@ -14,7 +14,7 @@
   import _ from 'lodash-es';
   import { get } from '../utils';
 
-  withDefaults(
+  const props = withDefaults(
     defineProps<{
       data?: BillboardType;
     }>(),
@@ -32,14 +32,14 @@
     jcsbs: 99,
   });
 
-  // function fetchData() {
-  //   const info = props.data.dustRisk;
-  //   if (!info) return;
-  //   dustRiskData.value = info;
-  // }
+  function fetchData() {
+    const info = props.data.dustRisk;
+    if (!info) return;
+    dustRiskData.value = info;
+  }
 
   onMounted(() => {
-    // fetchData();
+    fetchData();
   });
 </script>
 
@@ -76,6 +76,10 @@
       text-align: center;
       width: 140px;
     }
+    .img {
+      width: 27px;
+      height: 27px;
+    }
   }
 
   .dust-risk-item:nth-child(odd) {

+ 1 - 1
src/views/vent/home/billboard/dust.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="DustStatus" />
+  <Billboard billboard-type="DustStatus" title="粉尘看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/file.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="FileOverview" />
+  <Billboard billboard-type="FileOverview" title="文件总览看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/fire.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="FireStatus" />
+  <Billboard billboard-type="FireStatus" title="防灭火看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/gas.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="GasStatus" />
+  <Billboard billboard-type="GasStatus" title="瓦斯看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 5 - 2
src/views/vent/home/billboard/index.vue

@@ -61,10 +61,12 @@
   import DuskRisk from './components/DustRisk.vue';
   import _ from 'lodash-es';
   import { useRouter } from 'vue-router';
+  import { mockSHENDONG } from './billboard.data';
   // import mapComponent from './components/3Dmap/index.vue';
 
   const props = defineProps<{
     billboardType: string;
+    title?: string;
   }>();
 
   // const route = useRoute();
@@ -83,13 +85,14 @@
     DuskRisk,
   };
 
-  const mainTitle = '国能神东一通三防管控平台';
+  const mainTitle = props.title || '国能神东一通三防管控平台';
 
   // 看板相关的基础配置
   const billboards = ref<(() => VNode)[]>([]);
 
   function fetchBillboards() {
-    getSummary().then((r) => {
+    Promise.resolve(mockSHENDONG).then((r) => {
+      // getSummary().then((r) => {
       billboards.value = r.map((el) => {
         return () =>
           h(

+ 1 - 1
src/views/vent/home/billboard/risk.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="DuskRisk" />
+  <Billboard billboard-type="DuskRisk" title="粉尘看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/summary.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="Summary" />
+  <Billboard billboard-type="Summary" title="综合看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/vent.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="VentilationStatus" />
+  <Billboard billboard-type="VentilationStatus" title="通风看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 1 - 1
src/views/vent/home/billboard/warn.vue

@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
-  <Billboard billboard-type="Warning" />
+  <Billboard billboard-type="Warning" title="预警信息看板" />
 </template>
 <script lang="ts" setup>
   import Billboard from './index.vue';

+ 8 - 1
src/views/vent/home/configurable/components/ModuleBD.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="dane-bd" :style="style" :class="daneClass">
     <div v-if="moduleName" class="dane-title">
-      <div class="common-navL">{{ moduleName }}</div>
+      <div class="common-navL" :class="{ 'cursor-pointer': !!moduleData.to }" @click="redirectTo">{{ moduleName }}</div>
 
       <div class="common-navR">
         <!-- 下拉框 -->
@@ -53,6 +53,7 @@
   import { ModuleData, ShowStyle } from '../../../deviceManager/configurationTable/types';
   import { useInitDevicesBD } from '../hooks/useInit';
   import { getFormattedText } from '../../../deviceManager/configurationTable/adapters';
+  import { openWindow } from '/@/utils';
 
   const props = defineProps<{
     moduleData: ModuleData;
@@ -102,6 +103,12 @@
     emit('select', selectedDevice);
   }
 
+  function redirectTo() {
+    const { to } = props.moduleData;
+    if (!to) return;
+    openWindow(to);
+  }
+
   onMounted(() => {
     fetchDevices({ init: true });
     interval = setInterval(() => {

+ 1 - 1
src/views/vent/home/configurable/components/ModuleCommon.vue

@@ -2,7 +2,7 @@
   <!-- 常用模块 -->
   <ventBox1 class="module-common" :style="style">
     <template v-if="moduleName" #title>
-      <div @click="redirectTo">{{ moduleName }}</div>
+      <div :class="{ 'cursor-pointer': !!moduleData.to }" @click="redirectTo">{{ moduleName }}</div>
     </template>
     <template #container>
       <slot>

+ 1 - 0
src/views/vent/home/configurable/components/ModuleEnhanced.vue

@@ -5,6 +5,7 @@
     :style="style"
     :title="moduleName"
     :visible="visible"
+    :class="{ 'cursor-pointer': !!moduleData.to }"
     @close="$emit('close')"
     @click="redirectTo"
   >

+ 1 - 0
src/views/vent/home/configurable/components/ModuleOriginal.vue

@@ -5,6 +5,7 @@
     :style="style"
     :title="moduleName"
     :visible="visible"
+    :class="{ 'cursor-pointer': !!moduleData.to }"
     @close="$emit('close')"
     @click="redirectTo"
   >

+ 2 - 1
src/views/vent/home/configurable/configurable.data.ts

@@ -1685,6 +1685,7 @@ export const testConfigBDDust: Config[] = [
       list: [],
       complex_list: [],
       preset: [],
+      to: 'http://10.248.210.154:8801',
       // mock: BDdustMock,
     },
     showStyle: {
@@ -1695,7 +1696,7 @@ export const testConfigBDDust: Config[] = [
   },
   {
     deviceType: '',
-    moduleName: '粉尘关联指标',
+    moduleName: '隔爆设施管理台账',
     pageType: '',
     moduleData: {
       header: {

+ 1 - 1
src/views/vent/home/configurable/fireBD.vue

@@ -25,7 +25,7 @@
           <div style="margin-bottom: 15px; color: #009bff; font-size: 24px; font-weight: bolder; letter-spacing: 10px">
             {{ homedata.allMineWarn }}
           </div>
-          <!-- <div style="color: #fff; font-size: 12px">自燃倾向性等级 : 容易自燃</div> -->
+          <div style="color: #fff; font-size: 12px">自燃倾向性等级 : 自燃</div>
         </div>
         <div class="tcontent-r">
           <div>火灾</div>

+ 27 - 54
src/views/vent/home/configurable/index.vue

@@ -28,21 +28,21 @@
           <!-- <div style="color: #fff; font-size: 12px">自燃倾向性等级 : 容易自燃</div> -->
         </div>
         <div class="tcontent-r">
-          <div>火灾</div>
+          <div>粉尘</div>
           <div>风险</div>
         </div>
       </div>
     </div>
-    <div class="right-t">
-      <div class="tcontent-l" @click="redirectTo('/grout-home')">
+    <!-- <div class="right-t">
+      <div class="tcontent-l" @click="redirectTo('https://bing.cn')">
         <div>智能</div>
-        <div>浆系统</div>
+        <div>浆系统</div>
       </div>
-      <div class="tcontent-r" @click="redirectTo('/nitrogen-home')">
+      <div class="tcontent-r" @click="redirectTo('https://bing.cn')">
         <div>智能</div>
-        <div>注系统</div>
+        <div>注系统</div>
       </div>
-    </div>
+    </div> -->
     <ModuleBD
       v-for="cfg in configs"
       :key="cfg.deviceType"
@@ -53,17 +53,6 @@
       :visible="true"
       :page-type="pageType"
     />
-    <ModuleBDDual
-      :show-style="configA.showStyle"
-      :module-data-a="configA.moduleData"
-      :module-name-a="configA.moduleName"
-      :device-type-a="configA.deviceType"
-      :module-data-b="configB.moduleData"
-      :module-name-b="configB.moduleName"
-      :device-type-b="configB.deviceType"
-      :visible="true"
-      :page-type="pageType"
-    />
     <div style="width: 1000px; height: 570px; position: absolute; left: calc(50% - 500px); top: 60px">
       <VentModal />
     </div>
@@ -75,46 +64,30 @@
   // import MonitorCenter from './components/MonitorCenter.vue';
   // import { useInitConfigs } from './hooks/useInit';
   import ModuleBD from './components/ModuleBD.vue';
-  import ModuleBDDual from './components/ModuleBDDual.vue';
-  import { testConfigBDFire } from './configurable.data';
+  import { testConfigBDDust } from './configurable.data';
   import VentModal from '/@/components/vent/micro/ventModal.vue';
-  import { getBDFireData } from './configurable.api';
+  import { getBDDustData } from './configurable.api';
 
-  const mainTitle = ref('保德煤矿火灾预警系统');
-  const pageType = 'BD_fire';
+  const mainTitle = ref('保德煤矿粉尘灾害预警系统');
+  const pageType = 'BD_dust';
 
   // const moduleCodes = ['fanlocal', 'fanmain' /** 'vc', 'ar', 'va', 'ws', 'dw' */];
 
-  const configs = ref(
-    testConfigBDFire.filter(({ moduleName }) => {
-      return moduleName !== '工作面光纤监测' && moduleName !== '工作面束管监测';
-    })
-  );
-  const configA = ref<any>(
-    testConfigBDFire.find(({ moduleName }) => {
-      return moduleName === '工作面束管监测';
-    })
-  );
-  const configB = ref<any>(
-    testConfigBDFire.find(({ moduleName }) => {
-      return moduleName === '工作面光纤监测';
-    })
-  );
+  const configs = ref(testConfigBDDust);
   // const { configs, fetchConfigs } = useInitConfigs();
-
   const homedata = ref<any>({});
 
   onMounted(() => {
     // configs.value = testConfigB;
-    getBDFireData({}).then((r) => {
+    getBDDustData({}).then((r) => {
       homedata.value = r;
     });
     // fetchConfigs(pageType);
   });
 
-  function redirectTo(url) {
-    window.open(url);
-  }
+  // function redirectTo(url) {
+  //   window.open(url);
+  // }
 </script>
 <style lang="less" scoped>
   @font-face {
@@ -251,8 +224,7 @@
   }
   .right-t {
     position: absolute;
-    // height: 160px;
-    height: 115px;
+    height: 160px;
     right: 0;
     top: 40px;
     width: 450px;
@@ -264,12 +236,11 @@
     display: flex;
     align-items: center;
     justify-content: space-around;
-    z-index: 1;
 
     .tcontent-l {
       flex: 1;
-      height: 100%;
-      font-size: 16px;
+      height: 70%;
+      font-size: 20px;
       font-weight: bold;
       background-image: url(/@/assets/images/home-container/configurable/firehome/img-5.png),
         url(/@/assets/images/home-container/configurable/firehome/ggxt.png);
@@ -281,13 +252,14 @@
         center,
         center top;
       text-align: center;
-      padding-top: 35px;
-      line-height: 40px;
+      padding-top: 40px;
+      line-height: 50px;
+      cursor: pointer;
     }
     .tcontent-r {
       flex: 1;
-      height: 100%;
-      font-size: 16px;
+      height: 70%;
+      font-size: 20px;
       font-weight: bold;
       background-image: url(/@/assets/images/home-container/configurable/firehome/img-5.png),
         url(/@/assets/images/home-container/configurable/firehome/zjxt.png);
@@ -299,8 +271,9 @@
         center,
         center top;
       text-align: center;
-      padding-top: 35px;
-      line-height: 40px;
+      padding-top: 40px;
+      line-height: 50px;
+      cursor: pointer;
     }
   }