warnFire-brt.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <div class="warnTargetFire-brt">
  3. <div class="top-area">
  4. <a-table :columns="columns" :data-source="tableData" bordered :pagination="false" :scroll="{ y: 250 }">
  5. <template #bodyCell="{ column, text }">
  6. <template v-if="column.dataIndex === 'alarmdes' || column.dataIndex === 'alarmInfo'">
  7. <div v-for="item in text.split(',')" :key="item">{{ item }}</div>
  8. </template>
  9. </template>
  10. </a-table>
  11. </div>
  12. <div class="bot-area">
  13. <warnZb :widthV="widthV" :heightV="heightV" :coordDw="coordDw" :widthCanvas="widthCanvas" :heightCanvas="heightCanvas" />
  14. </div>
  15. </div>
  16. </template>
  17. <script setup lang="ts">
  18. import { ref, reactive, watch } from 'vue';
  19. import { useGlobSetting } from '/@/hooks/setting';
  20. import warnZb from './warnZb.vue';
  21. let props = defineProps({
  22. tableList: {
  23. type: Array,
  24. default: () => {
  25. return [];
  26. },
  27. },
  28. });
  29. let widthV = ref('80%');
  30. let heightV = ref('80%');
  31. let coordDw = ref<any[]>([50, 94]);
  32. let widthCanvas = ref(1240);
  33. let heightCanvas = ref(364);
  34. let tableData = ref<any[]>([]);
  35. let columns = reactive([
  36. {
  37. title: '序号',
  38. dataIndex: '',
  39. key: 'rowIndex',
  40. width: 80,
  41. align: 'center',
  42. customRender: ({ index }) => {
  43. return `${index + 1}`;
  44. },
  45. },
  46. {
  47. title: '预警等级',
  48. dataIndex: 'level',
  49. align: 'center',
  50. },
  51. {
  52. title: '煤自燃阶段',
  53. dataIndex: 'alarmName',
  54. align: 'center',
  55. },
  56. {
  57. title: '指标气体',
  58. align: 'center',
  59. dataIndex: 'alarmInfo',
  60. },
  61. {
  62. title: '指标气体浓度范围',
  63. align: 'center',
  64. dataIndex: 'alarmdes',
  65. },
  66. {
  67. title: '温度',
  68. align: 'center',
  69. dataIndex: 'temperature',
  70. },
  71. ]);
  72. watch(
  73. () => props.tableList,
  74. (newV, oldV) => {
  75. let { sysOrgCode } = useGlobSetting();
  76. if (sysOrgCode == 'A02A02') {
  77. tableData.value = [
  78. {
  79. alarmType: 'fireWarn',
  80. alarmdes: '<79.1,<0.12,',
  81. level: '绿色预警',
  82. temperature: '0-120℃',
  83. alarmName: '缓慢氧化阶段(潜伏期)',
  84. id: '1811650465072791911',
  85. alarmInfo: '一氧化碳,一氧化碳/二氧化碳,',
  86. alarmcode: 'coval,coCo2,',
  87. },
  88. {
  89. alarmType: 'fireWarn',
  90. alarmdes: '79.1-1653.6,0.12-0.46,<2.4,',
  91. level: '黄色预警',
  92. temperature: '120-200℃',
  93. alarmName: '加速氧化阶段(自热期)',
  94. id: '1811650534094258912',
  95. alarmInfo: '一氧化碳,一氧化碳/二氧化碳,乙烯,',
  96. alarmcode: 'coval,coCo2,ch2val,',
  97. },
  98. {
  99. alarmType: 'fireWarn',
  100. alarmdes: '>1653.6,>0.46,>2.4,>0.0,',
  101. level: '红色预警',
  102. temperature: '>200℃',
  103. alarmName: '剧烈氧化阶段(燃烧期)',
  104. id: '1811650769583423913',
  105. alarmInfo: '一氧化碳,一氧化碳/二氧化碳,乙烯,乙炔,',
  106. alarmcode: 'coval,coCo2,ch2val,chval,',
  107. },
  108. ];
  109. } else {
  110. if (newV.length != 0) {
  111. tableData.value = newV;
  112. }
  113. }
  114. },
  115. { immediate: true, deep: true }
  116. );
  117. </script>
  118. <style lang="less" scoped>
  119. @import '/@/design/theme.less';
  120. @{theme-deepblue} {
  121. .warnTargetFire-brt {
  122. --image-bj1: url('/@/assets/images/themify/deepblue/fire/bj1.png');
  123. }
  124. }
  125. .warnTargetFire-brt {
  126. --image-bj1: url('/@/assets/images/fire/bj1.png');
  127. width: 100%;
  128. height: 100%;
  129. margin: 15px 0px 0px 0px;
  130. padding: 20px;
  131. // background: url('../../../../../assets//images/fire/border.png') no-repeat center;
  132. // background-size: 100% 100%;
  133. box-sizing: border-box;
  134. .top-area {
  135. height: 40%;
  136. margin-bottom: 15px;
  137. background: var(--image-bj1) no-repeat center;
  138. background-size: 100% 100%;
  139. }
  140. .bot-area {
  141. height: calc(60% - 15px);
  142. background: var(--image-bj1) no-repeat center;
  143. background-size: 100% 100%;
  144. }
  145. }
  146. </style>