| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <template>
- <div class="warnTargetFire-brt">
- <div class="top-area">
- <a-table :columns="columns" :data-source="tableData" bordered :pagination="false" :scroll="{ y: 250 }">
- <template #bodyCell="{ column, text }">
- <template v-if="column.dataIndex === 'alarmdes' || column.dataIndex === 'alarmInfo'">
- <div v-for="item in text.split(',')" :key="item">{{ item }}</div>
- </template>
- </template>
- </a-table>
- </div>
- <div class="bot-area">
- <warnZb :widthV="widthV" :heightV="heightV" :coordDw="coordDw" :widthCanvas="widthCanvas"
- :heightCanvas="heightCanvas" />
- </div>
- </div>
- </template>
- <script setup lang="ts">
- import { ref, reactive, watch } from 'vue';
- import { useGlobSetting } from '/@/hooks/setting';
- import warnZb from './warnZb.vue';
- let props = defineProps({
- tableList: {
- type: Array,
- default: () => {
- return [];
- },
- },
- });
- let widthV = ref('80%');
- let heightV = ref('80%');
- let coordDw = ref<any[]>([30, 56, 119]);
- let widthCanvas = ref(1240);
- let heightCanvas = ref(364);
- let tableData = ref<any[]>([]);
- let columns = reactive([
- {
- title: '序号',
- dataIndex: '',
- key: 'rowIndex',
- width: 80,
- align: 'center',
- customRender: ({ index }) => {
- return `${index + 1}`;
- },
- },
- {
- title: '预警等级',
- dataIndex: 'level',
- align: 'center',
- },
- {
- title: '煤自燃阶段',
- dataIndex: 'alarmName',
- align: 'center',
- },
- {
- title: '指标气体',
- align: 'center',
- dataIndex: 'alarmInfo',
- },
- {
- title: '指标气体浓度范围',
- align: 'center',
- dataIndex: 'alarmdes',
- },
- {
- title: '温度',
- align: 'center',
- dataIndex: 'temperature',
- },
- ]);
- watch(
- () => props.tableList,
- (newV, oldV) => {
- let { sysOrgCode } = useGlobSetting();
- if (sysOrgCode == 'A02A02') {
- tableData.value = [
- {
- alarmType: 'fireWarn',
- alarmdes: '0-13.75ppm',
- level: '绿色预警',
- temperature: '0-30℃',
- alarmName: '潜伏期阶段',
- id: '1811650465072791911',
- alarmInfo: 'CO',
- alarmcode: 'coval,coCo2,',
- },
- {
- alarmType: 'fireWarn',
- alarmdes: '13.75-67.2ppm,0.036-0.095',
- level: '黄色预警',
- temperature: '30-70℃',
- alarmName: '缓慢氧化升温阶段',
- id: '1811650534094258912',
- alarmInfo: 'CO,CO / CO₂',
- alarmcode: 'coval,coCo2,ch2val,',
- },
- {
- alarmType: 'fireWarn',
- alarmdes: '67.2-1606.3ppm,0.095-0.322,<2,<1.5',
- level: '橙色预警',
- temperature: '70-120℃',
- alarmName: '加速氧化升温阶段',
- id: '1811650534094258912',
- alarmInfo: 'CO,CO / CO₂,C₂H₄,CH₃CH₂CH₃ / CH₃CH₃',
- alarmcode: 'coval,coCo2,ch2val,',
- },
- {
- alarmType: 'fireWarn',
- alarmdes: '>1606.3ppm,>0.322,>2,>1.5,>0',
- level: '红色预警',
- temperature: '>120℃',
- alarmName: '剧烈氧化升温阶段',
- id: '1811650769583423913',
- alarmInfo: 'CO,CO / CO₂,C₂H₄,CH₃CH₂CH₃ / CH₃CH₃,C₂H₂',
- alarmcode: 'coval,coCo2,ch2val,chval,',
- },
- ];
- } else {
- if (newV.length != 0) {
- tableData.value = newV.map(el => {
- return {
- alarmType: el.alarmType,
- alarmdes: el.sublist[0].alarmdes,
- level: el.sublist[0].level,
- temperature: el.sublist[0].temperature,
- alarmName: el.alarmName,
- id: el.id,
- alarmInfo: el.sublist[0].alarmInfo,
- alarmcode: el.sublist[0].alarmcode,
- }
- });
- }
- }
- },
- { immediate: true, }
- );
- </script>
- <style lang="less" scoped>
- @import '/@/design/theme.less';
- @{theme-deepblue} {
- .warnTargetFire-brt {
- --image-bj1: url('/@/assets/images/themify/deepblue/fire/bj1.png');
- }
- }
- .warnTargetFire-brt {
- --image-bj1: url('/@/assets/images/fire/bj1.png');
- width: 100%;
- height: 100%;
- margin: 15px 0px 0px 0px;
- padding: 20px;
- // background: url('../../../../../assets//images/fire/border.png') no-repeat center;
- // background-size: 100% 100%;
- box-sizing: border-box;
- .top-area {
- height: 40%;
- margin-bottom: 15px;
- background: var(--image-bj1) no-repeat center;
- background-size: 100% 100%;
- }
- .bot-area {
- height: calc(60% - 15px);
- background: var(--image-bj1) no-repeat center;
- background-size: 100% 100%;
- }
- }
- </style>
|