lxh vor 3 Wochen
Ursprung
Commit
8a47ddff52

+ 376 - 394
src/views/vent/gas/gasReport/index.vue

@@ -7,13 +7,8 @@
           <a-col :span="4">
             <div class="area-item">
               <div class="item-text">日期区间:</div>
-              <a-date-picker
-                style="width: 220px"
-                :showTime="false"
-                valueFormat="YYYY-MM-DD"
-                v-model:value="searchData.reportTime"
-                placeholder="请选择填报日期"
-              />
+              <a-date-picker style="width: 220px" :showTime="false" valueFormat="YYYY-MM-DD"
+                v-model:value="searchData.reportTime" placeholder="请选择填报日期" />
             </div>
           </a-col>
           <!-- <a-col :span="4">
@@ -35,18 +30,21 @@
             <div class="area-item">
               <div class="item-text">上报地点:</div>
               <a-select v-model:value="searchData.strInstallPos" style="width: 220px" placeholder="请选择上报地点">
-                <a-select-option v-for="item in addressList" :key="item" :value="item.value">{{ item.label }}</a-select-option>
+                <a-select-option v-for="item in addressList" :key="item" :value="item.value">{{ item.label
+                  }}</a-select-option>
               </a-select>
             </div>
           </a-col>
 
           <a-button type="primary" preIcon="ant-design:search-outlined" @click="getSearch">查询</a-button>
           <a-button preIcon="ant-design:sync-outlined" style="margin: 0px 10px" @click="onReset">重置</a-button>
-          <a-button type="primary" preIcon="ant-design:check-circle-outlined" style="margin-right: 10px" @click="getPassSh">审核通过</a-button>
+          <a-button type="primary" preIcon="ant-design:check-circle-outlined" style="margin-right: 10px"
+            @click="getPassSh">审核通过</a-button>
           <a-button type="primary" preIcon="ant-design:download-outlined" @click="getExport">导出日报表</a-button>
           <!-- <a-button type="primary" preIcon="ant-design:download-outlined" @click="getExport1"
             style="margin: 0px 10px">导出瓦斯三对照报表</a-button> -->
-          <a-button type="primary" preIcon="ant-design:download-outlined" @click="getExport2" style="margin: 0px 10px">导出瓦斯检查小票</a-button>
+          <a-button type="primary" preIcon="ant-design:download-outlined" @click="getExport2"
+            style="margin: 0px 10px">导出瓦斯检查小票</a-button>
           <a-button type="primary" preIcon="ant-design:download-outlined" @click="handleMenuClick">导出班报表</a-button>
           <!-- <a-dropdown>
             <template #overlay>
@@ -74,74 +72,59 @@
 </a-dropdown> -->
         </a-row>
       </div>
-      <a-table
-        :columns="columns"
-        :data-source="tableData"
-        size="small"
-        :scroll="{ y: 500 }"
-        class="tableW"
-        :pagination="pagination"
-        @change="pageChange"
-      >
+      <a-table :columns="columns" :data-source="tableData" size="small" :scroll="{ y: 500 }" class="tableW"
+        :pagination="pagination" @change="pageChange">
         <template #bodyCell="{ column, text }">
-          <template
-            v-if="
-              column.dataIndex == 'o2Night1' ||
-              column.dataIndex == 'o2Night2' ||
-              column.dataIndex == 'o2Early1' ||
-              column.dataIndex == 'o2Early2' ||
-              column.dataIndex == 'o2Noon1' ||
-              column.dataIndex == 'o2Noon2'
-            "
-          >
-            <div :style="{ color: Number(text) >= 18 && Number(text) <= 20.9 ? '#0ae715' : '#ff2313' }">{{ text }} </div>
+          <template v-if="
+            column.dataIndex == 'o2Night1' ||
+            column.dataIndex == 'o2Night2' ||
+            column.dataIndex == 'o2Early1' ||
+            column.dataIndex == 'o2Early2' ||
+            column.dataIndex == 'o2Noon1' ||
+            column.dataIndex == 'o2Noon2'
+          ">
+            <div :style="{ color: Number(text) >= 18 && Number(text) <= 20.9 ? '#0ae715' : '#ff2313' }">{{ text }}
+            </div>
           </template>
-          <template
-            v-if="
-              column.dataIndex == 'coNight1' ||
-              column.dataIndex == 'coNight2' ||
-              column.dataIndex == 'coEarly1' ||
-              column.dataIndex == 'coEarly2' ||
-              column.dataIndex == 'coNoon1' ||
-              column.dataIndex == 'coNoon2'
-            "
-          >
+          <template v-if="
+            column.dataIndex == 'coNight1' ||
+            column.dataIndex == 'coNight2' ||
+            column.dataIndex == 'coEarly1' ||
+            column.dataIndex == 'coEarly2' ||
+            column.dataIndex == 'coNoon1' ||
+            column.dataIndex == 'coNoon2'
+          ">
             <div :style="{ color: Number(text) >= 0 && Number(text) <= 23 ? '#0ae715' : '#ff2313' }">{{ text }}</div>
           </template>
-          <template
-            v-if="
-              column.dataIndex == 'tnight1' ||
-              column.dataIndex == 'tnight2' ||
-              column.dataIndex == 'tearly1' ||
-              column.dataIndex == 'tearly2' ||
-              column.dataIndex == 'tnoon1' ||
-              column.dataIndex == 'tnoon2'
-            "
-          >
+          <template v-if="
+            column.dataIndex == 'tnight1' ||
+            column.dataIndex == 'tnight2' ||
+            column.dataIndex == 'tearly1' ||
+            column.dataIndex == 'tearly2' ||
+            column.dataIndex == 'tnoon1' ||
+            column.dataIndex == 'tnoon2'
+          ">
             <div :style="{ color: Number(text) >= 3 && Number(text) <= 25 ? '#0ae715' : '#ff2313' }">{{ text }}</div>
           </template>
-          <template
-            v-if="
-              column.dataIndex == 'co2Night1' ||
-              column.dataIndex == 'co2Night2' ||
-              column.dataIndex == 'co2Early1' ||
-              column.dataIndex == 'co2Early2' ||
-              column.dataIndex == 'co2Noon1' ||
-              column.dataIndex == 'co2Noon2'
-            "
-          >
-            <div :style="{ color: Number(text) >= 0.04 && Number(text) <= 0.1 ? '#0ae715' : '#ff2313' }">{{ text }} </div>
+          <template v-if="
+            column.dataIndex == 'co2Night1' ||
+            column.dataIndex == 'co2Night2' ||
+            column.dataIndex == 'co2Early1' ||
+            column.dataIndex == 'co2Early2' ||
+            column.dataIndex == 'co2Noon1' ||
+            column.dataIndex == 'co2Noon2'
+          ">
+            <div :style="{ color: Number(text) >= 0.04 && Number(text) <= 0.1 ? '#0ae715' : '#ff2313' }">{{ text }}
+            </div>
           </template>
-          <template
-            v-if="
-              column.dataIndex == 'ch4Night1' ||
-              column.dataIndex == 'ch4Night2' ||
-              column.dataIndex == 'ch4Early1' ||
-              column.dataIndex == 'ch4Early2' ||
-              column.dataIndex == 'ch4Noon1' ||
-              column.dataIndex == 'ch4Noon2'
-            "
-          >
+          <template v-if="
+            column.dataIndex == 'ch4Night1' ||
+            column.dataIndex == 'ch4Night2' ||
+            column.dataIndex == 'ch4Early1' ||
+            column.dataIndex == 'ch4Early2' ||
+            column.dataIndex == 'ch4Noon1' ||
+            column.dataIndex == 'ch4Noon2'
+          ">
             <div :style="{ color: Number(text) >= 0 && Number(text) <= 0.1 ? '#0ae715' : '#ff2313' }">{{ text }}</div>
           </template>
         </template>
@@ -154,319 +137,319 @@
 </template>
 
 <script setup lang="ts">
-  import { ref, onMounted, reactive } from 'vue';
-  import { columns } from './gas-report.data';
-  import { getGasAddressList, getList, expComReportByParam, reviewPass, getIsReviewPass, getAllUserInfo, exportReportByPoi,queryUserByRoleCode } from './gas-report.api';
-  import customHeader from '/@/components/vent/customHeader.vue';
-  import { message } from 'ant-design-vue';
-  import dayjs from 'dayjs';
-  import { BasicModal, useModal } from '/@/components/Modal';
-  import { BasicForm, useForm } from '/@/components/Form';
+import { ref, onMounted, reactive } from 'vue';
+import { columns } from './gas-report.data';
+import { getGasAddressList, getList, expComReportByParam, reviewPass, getIsReviewPass, getAllUserInfo, exportReportByPoi, queryUserByRoleCode } from './gas-report.api';
+import customHeader from '/@/components/vent/customHeader.vue';
+import { message } from 'ant-design-vue';
+import dayjs from 'dayjs';
+import { BasicModal, useModal } from '/@/components/Modal';
+import { BasicForm, useForm } from '/@/components/Form';
+
+let searchData = reactive({
+  reportTime: dayjs().format('YYYY-MM-DD'),
+  districtTeam: '',
+  sbr: '',
+  strInstallPos: '',
+});
+let qdList = reactive<any[]>([]); //区队下拉列表
+let addressList = reactive<any[]>([]); //上报地点下拉列表
+let pagination = reactive({
+  current: 1, // 当前页码
+  pageSize: 10, // 每页显示条数
+  total: 0, // 总条目数,后端返回
+  // showTotal: (total, range) => `${range[0]}-${range[1]} 条,总共 ${total} 条`, // 分页右下角显示信息
+  showSizeChanger: true, // 是否可改变每页显示条数
+  pageSizeOptions: ['10', '20', '50'], // 可选的每页显示条数
+});
+let tableData = ref<any[]>([]);
 
-  let searchData = reactive({
-    reportTime: dayjs().format('YYYY-MM-DD'),
-    districtTeam: '',
-    sbr: '',
-    strInstallPos: '',
+//获取日报列表数据
+async function getTableList() {
+  let res = await getList({ pageNo: pagination.current, pageSize: pagination.pageSize, ...searchData });
+  res.records.forEach((el) => {
+    el.jwSdzNight1 = el.jwSdzNight1 != null ? el.jwSdzNight1 : '-';
+    el.jwSdzNight2 = el.jwSdzNight2 != null ? el.jwSdzNight2 : '-';
+    el.jwSdzEarly1 = el.jwSdzEarly1 != null ? el.jwSdzEarly1 : '-';
+    el.jwSdzEarly2 = el.jwSdzEarly2 != null ? el.jwSdzEarly2 : '-';
+    el.jwSdzNoon1 = el.jwSdzNoon1 != null ? el.jwSdzNoon1 : '-';
+    el.jwSdzNoon2 = el.jwSdzNoon2 != null ? el.jwSdzNoon2 : '-';
   });
-  let qdList = reactive<any[]>([]); //区队下拉列表
-  let addressList = reactive<any[]>([]); //上报地点下拉列表
-  let pagination = reactive({
-    current: 1, // 当前页码
-    pageSize: 10, // 每页显示条数
-    total: 0, // 总条目数,后端返回
-    // showTotal: (total, range) => `${range[0]}-${range[1]} 条,总共 ${total} 条`, // 分页右下角显示信息
-    showSizeChanger: true, // 是否可改变每页显示条数
-    pageSizeOptions: ['10', '20', '50'], // 可选的每页显示条数
+  tableData.value = res.records;
+  pagination.total = res.total;
+}
+//查询
+function getSearch() {
+  pagination.current = 1;
+  getTableList();
+}
+//重置
+function onReset() {
+  pagination.current = 1;
+  searchData.districtTeam = '';
+  searchData.reportTime = '';
+  searchData.strInstallPos = '';
+  searchData.sbr = '';
+  getTableList();
+}
+//分页切换
+function pageChange(val) {
+  pagination.current = val.current;
+  pagination.pageSize = val.pageSize;
+  getTableList();
+}
+function uniqueObjectsArray(arr) {
+  const map = new Map();
+  return arr.filter((item) => {
+    const key = JSON.stringify(item);
+    const isNew = !map.has(key);
+    map.set(key, item);
+    return isNew;
   });
-  let tableData = ref<any[]>([]);
-
-  //获取日报列表数据
-  async function getTableList() {
-    let res = await getList({ pageNo: pagination.current, pageSize: pagination.pageSize, ...searchData });
-    res.records.forEach((el) => {
-      el.jwSdzNight1 = el.jwSdzNight1 != null ? el.jwSdzNight1 : '-';
-      el.jwSdzNight2 = el.jwSdzNight2 != null ? el.jwSdzNight2 : '-';
-      el.jwSdzEarly1 = el.jwSdzEarly1 != null ? el.jwSdzEarly1 : '-';
-      el.jwSdzEarly2 = el.jwSdzEarly2 != null ? el.jwSdzEarly2 : '-';
-      el.jwSdzNoon1 = el.jwSdzNoon1 != null ? el.jwSdzNoon1 : '-';
-      el.jwSdzNoon2 = el.jwSdzNoon2 != null ? el.jwSdzNoon2 : '-';
-    });
-    tableData.value = res.records;
-    pagination.total = res.total;
-  }
-  //查询
-  function getSearch() {
-    pagination.current = 1;
-    getTableList();
-  }
-  //重置
-  function onReset() {
-    pagination.current = 1;
-    searchData.districtTeam = '';
-    searchData.reportTime = '';
-    searchData.strInstallPos = '';
-    searchData.sbr = '';
-    getTableList();
-  }
-  //分页切换
-  function pageChange(val) {
-    pagination.current = val.current;
-    pagination.pageSize = val.pageSize;
-    getTableList();
-  }
-  function uniqueObjectsArray(arr) {
-    const map = new Map();
-    return arr.filter((item) => {
-      const key = JSON.stringify(item);
-      const isNew = !map.has(key);
-      map.set(key, item);
-      return isNew;
+}
+//获取安装位置下拉选项
+async function getSelectList() {
+  let res = await getGasAddressList({ coalseam: '', devicekind: 'gasDayReport' });
+  qdList.length = 0;
+  addressList.length = 0;
+  if (res.length != 0) {
+    res.forEach((el) => {
+      qdList.push({ label: el.devgroup_dictText, value: el.devgroup_dictText });
+      addressList.push({ label: el.strinstallpos, value: el.strinstallpos });
     });
+    qdList = uniqueObjectsArray(qdList);
   }
-  //获取安装位置下拉选项
-  async function getSelectList() {
-    let res = await getGasAddressList({ coalseam: '', devicekind: 'gasDayReport' });
-    qdList.length = 0;
-    addressList.length = 0;
-    if (res.length != 0) {
-      res.forEach((el) => {
-        qdList.push({ label: el.devgroup_dictText, value: el.devgroup_dictText });
-        addressList.push({ label: el.strinstallpos, value: el.strinstallpos });
-      });
-      qdList = uniqueObjectsArray(qdList);
-    }
-  }
-  //导出报表
-  async function getExport() {
-    if (getTs()) {
-      message.warning('数据异常!');
-    } else {
-      if (searchData.reportTime) {
-        let data = await getIsReviewPass({ reportTime: searchData.reportTime });
-        if (data == '已审核通过!') {
-          let res = await expComReportByParam({ tempName: 'wsrb', reportTime: searchData.reportTime });
-          let filename = searchData.reportTime + '.xlsx';
-          downFilePublic(res, filename);
-        }
-      } else {
-        message.warning('请选择需要导出数据的填报日期!');
-      }
-    }
-  }
-  //导出三对照报表
-  // async function getExport1() {
-  //   if (searchData.reportTime) {
-  //     let res = await expComReportByParam({ tempName: 'wssdz', reportTime: searchData.reportTime });
-  //     let filename = searchData.reportTime + '.xlsx';
-  //     downFilePublic(res, filename);
-  //   } else {
-  //     message.warning('请选择需要导出数据的填报日期!');
-  //   }
-  // }
-  //导出瓦斯检查小票
-  async function getExport2() {
+}
+//导出报表
+async function getExport() {
+  if (getTs()) {
+    message.warning('数据异常!');
+  } else {
     if (searchData.reportTime) {
-      openModal();
-    } else if (!searchData.reportTime) {
+      let data = await getIsReviewPass({ reportTime: searchData.reportTime });
+      if (data == '已审核通过!') {
+        let res = await expComReportByParam({ tempName: 'wsrb', reportTime: searchData.reportTime });
+        let filename = searchData.reportTime + '.xlsx';
+        downFilePublic(res, filename);
+      }
+    } else {
       message.warning('请选择需要导出数据的填报日期!');
-    } else if (!searchData.sbr) {
-      message.warning('请输入检查工名称!');
     }
   }
-
-  function getTs() {
-    let param = true;
-    tableData.value.forEach((el) => {
-      if (
-        Number(el.o2Night1) >= 18 &&
-        Number(el.o2Night1) <= 20.9 &&
-        Number(el.o2Night2) >= 18 &&
-        Number(el.o2Night2) <= 20.9 &&
-        Number(el.o2Early1) >= 18 &&
-        Number(el.o2Early1) <= 20.9 &&
-        Number(el.o2Early2) >= 18 &&
-        Number(el.o2Early2) <= 20.9 &&
-        Number(el.o2Noon1) >= 18 &&
-        Number(el.o2Noon1) <= 20.9 &&
-        Number(el.o2Noon2) >= 18 &&
-        Number(el.o2Noon2) <= 20.9
-      ) {
-        param = false;
-      } else if (
-        Number(el.coNight1) >= 0 &&
-        Number(el.coNight1) <= 23 &&
-        Number(el.coNight2) >= 0 &&
-        Number(el.coNight2) <= 23 &&
-        Number(el.coEarly1) >= 0 &&
-        Number(el.coEarly1) <= 23 &&
-        Number(el.coEarly2) >= 0 &&
-        Number(el.coEarly2) <= 23 &&
-        Number(el.coNoon1) >= 0 &&
-        Number(el.coNoon1) <= 23 &&
-        Number(el.coNoon2) >= 0 &&
-        Number(el.coNoon2) <= 23
-      ) {
-        param = false;
-      } else if (
-        Number(el.co2Night1) >= 0.04 &&
-        Number(el.co2Night1) <= 0.1 &&
-        Number(el.co2Night2) >= 0.04 &&
-        Number(el.co2Night2) <= 0.1 &&
-        Number(el.co2Early1) >= 0.04 &&
-        Number(el.co2Early1) <= 0.1 &&
-        Number(el.co2Early2) >= 0.04 &&
-        Number(el.co2Early2) <= 0.1 &&
-        Number(el.co2Noon1) >= 0.04 &&
-        Number(el.co2Noon1) <= 0.1 &&
-        Number(el.co2Noon2) >= 0.04 &&
-        Number(el.co2Noon2) <= 0.1
-      ) {
-        param = false;
-      } else if (
-        Number(el.tnight1) >= 3 &&
-        Number(el.tnight1) <= 25 &&
-        Number(el.tnight2) >= 3 &&
-        Number(el.tnight2) <= 25 &&
-        Number(el.tearly1) >= 3 &&
-        Number(el.tearly1) <= 25 &&
-        Number(el.tearly2) >= 3 &&
-        Number(el.tearly2) <= 25 &&
-        Number(el.tnoon1) >= 3 &&
-        Number(el.tnoon1) <= 25 &&
-        Number(el.tnoon2) >= 3 &&
-        Number(el.tnoon2) <= 25
-      ) {
-        param = false;
-      } else if (
-        Number(el.ch4Night1) >= 0 &&
-        Number(el.ch4Night1) <= 0.1 &&
-        Number(el.ch4Night2) >= 0 &&
-        Number(el.ch4Night2) <= 0.1 &&
-        Number(el.ch4Early1) >= 0 &&
-        Number(el.ch4Early1) <= 0.1 &&
-        Number(el.ch4Early2) >= 0 &&
-        Number(el.ch4Early2) <= 0.1 &&
-        Number(el.ch4Noon1) >= 0 &&
-        Number(el.ch4Noon1) <= 0.1 &&
-        Number(el.ch4Noon2) >= 0 &&
-        Number(el.ch4Noon2) <= 0.1
-      ) {
-        param = false;
-      } else {
-        param = true;
-        return;
-      }
-    });
-    return param;
+}
+//导出三对照报表
+// async function getExport1() {
+//   if (searchData.reportTime) {
+//     let res = await expComReportByParam({ tempName: 'wssdz', reportTime: searchData.reportTime });
+//     let filename = searchData.reportTime + '.xlsx';
+//     downFilePublic(res, filename);
+//   } else {
+//     message.warning('请选择需要导出数据的填报日期!');
+//   }
+// }
+//导出瓦斯检查小票
+async function getExport2() {
+  if (searchData.reportTime) {
+    openModal();
+  } else if (!searchData.reportTime) {
+    message.warning('请选择需要导出数据的填报日期!');
+  } else if (!searchData.sbr) {
+    message.warning('请输入检查工名称!');
   }
+}
 
-  //审核通过
-  async function getPassSh() {
-    if (getTs()) {
-      message.warning('数据异常!');
+function getTs() {
+  let param = true;
+  tableData.value.forEach((el) => {
+    if (
+      Number(el.o2Night1) >= 18 &&
+      Number(el.o2Night1) <= 20.9 &&
+      Number(el.o2Night2) >= 18 &&
+      Number(el.o2Night2) <= 20.9 &&
+      Number(el.o2Early1) >= 18 &&
+      Number(el.o2Early1) <= 20.9 &&
+      Number(el.o2Early2) >= 18 &&
+      Number(el.o2Early2) <= 20.9 &&
+      Number(el.o2Noon1) >= 18 &&
+      Number(el.o2Noon1) <= 20.9 &&
+      Number(el.o2Noon2) >= 18 &&
+      Number(el.o2Noon2) <= 20.9
+    ) {
+      param = false;
+    } else if (
+      Number(el.coNight1) >= 0 &&
+      Number(el.coNight1) <= 23 &&
+      Number(el.coNight2) >= 0 &&
+      Number(el.coNight2) <= 23 &&
+      Number(el.coEarly1) >= 0 &&
+      Number(el.coEarly1) <= 23 &&
+      Number(el.coEarly2) >= 0 &&
+      Number(el.coEarly2) <= 23 &&
+      Number(el.coNoon1) >= 0 &&
+      Number(el.coNoon1) <= 23 &&
+      Number(el.coNoon2) >= 0 &&
+      Number(el.coNoon2) <= 23
+    ) {
+      param = false;
+    } else if (
+      Number(el.co2Night1) >= 0.04 &&
+      Number(el.co2Night1) <= 0.1 &&
+      Number(el.co2Night2) >= 0.04 &&
+      Number(el.co2Night2) <= 0.1 &&
+      Number(el.co2Early1) >= 0.04 &&
+      Number(el.co2Early1) <= 0.1 &&
+      Number(el.co2Early2) >= 0.04 &&
+      Number(el.co2Early2) <= 0.1 &&
+      Number(el.co2Noon1) >= 0.04 &&
+      Number(el.co2Noon1) <= 0.1 &&
+      Number(el.co2Noon2) >= 0.04 &&
+      Number(el.co2Noon2) <= 0.1
+    ) {
+      param = false;
+    } else if (
+      Number(el.tnight1) >= 3 &&
+      Number(el.tnight1) <= 25 &&
+      Number(el.tnight2) >= 3 &&
+      Number(el.tnight2) <= 25 &&
+      Number(el.tearly1) >= 3 &&
+      Number(el.tearly1) <= 25 &&
+      Number(el.tearly2) >= 3 &&
+      Number(el.tearly2) <= 25 &&
+      Number(el.tnoon1) >= 3 &&
+      Number(el.tnoon1) <= 25 &&
+      Number(el.tnoon2) >= 3 &&
+      Number(el.tnoon2) <= 25
+    ) {
+      param = false;
+    } else if (
+      Number(el.ch4Night1) >= 0 &&
+      Number(el.ch4Night1) <= 0.1 &&
+      Number(el.ch4Night2) >= 0 &&
+      Number(el.ch4Night2) <= 0.1 &&
+      Number(el.ch4Early1) >= 0 &&
+      Number(el.ch4Early1) <= 0.1 &&
+      Number(el.ch4Early2) >= 0 &&
+      Number(el.ch4Early2) <= 0.1 &&
+      Number(el.ch4Noon1) >= 0 &&
+      Number(el.ch4Noon1) <= 0.1 &&
+      Number(el.ch4Noon2) >= 0 &&
+      Number(el.ch4Noon2) <= 0.1
+    ) {
+      param = false;
     } else {
-      let res = await reviewPass({ reportTime: searchData.reportTime });
-      if (res) {
-        getTableList();
-      }
+      param = true;
+      return;
     }
-  }
+  });
+  return param;
+}
 
-  // 下载公用方法
-  function downFilePublic(content, fileName) {
-    const blob = new Blob([content], { type: 'application/xlsx;charset=UTF-8' }); // 构造一个blob对象来处理数据
-    // 对于<a>标签,只有 Firefox 和 Chrome(内核) 支持 download 属性
-    // IE10以上支持blob但是依然不支持download
-    if ('download' in document.createElement('a')) {
-      // 支持a标签download的浏览器
-      const link = document.createElement('a'); // 创建a标签
-      link.download = fileName; // a标签添加属性
-      link.style.display = 'none';
-      link.href = URL.createObjectURL(blob);
-      document.body.appendChild(link);
-      link.click(); // 执行下载
-      URL.revokeObjectURL(link.href); // 释放url
-      document.body.removeChild(link); // 释放标签
-    } else {
-      // 其他浏览器
-      navigator.msSaveBlob(blob, fileName);
+//审核通过
+async function getPassSh() {
+  if (getTs()) {
+    message.warning('数据异常!');
+  } else {
+    let res = await reviewPass({ reportTime: searchData.reportTime });
+    if (res) {
+      getTableList();
     }
   }
-  //导出瓦斯班报表
-  async function handleMenuClick(val) {
-    if (searchData.reportTime) {
-      let res = await expComReportByParam({ tempName: 'wsrbshb', reportTime: searchData.reportTime });
-      let filename = searchData.reportTime + '.xlsx';
-      downFilePublic(res, filename);
-    } else {
-      message.warning('请选择需要导出数据的填报日期!');
-    }
+}
+
+// 下载公用方法
+function downFilePublic(content, fileName) {
+  const blob = new Blob([content], { type: 'application/xlsx;charset=UTF-8' }); // 构造一个blob对象来处理数据
+  // 对于<a>标签,只有 Firefox 和 Chrome(内核) 支持 download 属性
+  // IE10以上支持blob但是依然不支持download
+  if ('download' in document.createElement('a')) {
+    // 支持a标签download的浏览器
+    const link = document.createElement('a'); // 创建a标签
+    link.download = fileName; // a标签添加属性
+    link.style.display = 'none';
+    link.href = URL.createObjectURL(blob);
+    document.body.appendChild(link);
+    link.click(); // 执行下载
+    URL.revokeObjectURL(link.href); // 释放url
+    document.body.removeChild(link); // 释放标签
+  } else {
+    // 其他浏览器
+    navigator.msSaveBlob(blob, fileName);
+  }
+}
+//导出瓦斯班报表
+async function handleMenuClick(val) {
+  if (searchData.reportTime) {
+    let res = await expComReportByParam({ tempName: 'wsrbshb', reportTime: searchData.reportTime });
+    let filename = searchData.reportTime + '.xlsx';
+    downFilePublic(res, filename);
+  } else {
+    message.warning('请选择需要导出数据的填报日期!');
   }
+}
 
-  const [registerModal, { openModal }] = useModal();
-  const [registerForm, { validate, setFieldsValue }] = useForm({
-    schemas: [
-      {
-        label: '检查工',
-        field: 'checkName',
-        component: 'ApiSelect',
-        required: true,
-        show: false,
+const [registerModal, { openModal }] = useModal();
+const [registerForm, { validate, setFieldsValue }] = useForm({
+  schemas: [
+    {
+      label: '检查工',
+      field: 'checkName',
+      component: 'ApiSelect',
+      required: true,
+      show: false,
+    },
+    {
+      label: '交班瓦检员',
+      field: 'agoCheckPerson',
+      component: 'ApiSelect',
+      required: true,
+      componentProps: {
+        api: queryUserByRoleCode,
+        params: { roleCode: 'gasCheck' },
+        labelField: 'realname',
+        valueField: 'username',
+        showSearch: true,
       },
-      {
-        label: '交班瓦检员',
-        field: 'agoCheckPerson',
-        component: 'ApiSelect',
-        required: true,
-        componentProps: {
-          api: queryUserByRoleCode,
-            params: { roleCode: 'gasCheck' },
-          labelField: 'realname',
-          valueField: 'username',
-          showSearch: true,
+    },
+    {
+      label: '当班瓦检员',
+      field: 'nowCheckPerson',
+      component: 'ApiSelect',
+      required: true,
+      componentProps: {
+        api: queryUserByRoleCode,
+        params: { roleCode: 'gasCheck' },
+        labelField: 'realname',
+        valueField: 'username',
+        showSearch: true,
+        onChange(__, { label }) {
+          setFieldsValue({
+            checkName: label,
+          });
         },
       },
-      {
-        label: '当班瓦检员',
-        field: 'nowCheckPerson',
-        component: 'ApiSelect',
-        required: true,
-        componentProps: {
-          api: queryUserByRoleCode,
-            params: { roleCode: 'gasCheck' },
-          labelField: 'realname',
-          valueField: 'username',
-          showSearch: true,
-          onChange(__, { label }) {
-            setFieldsValue({
-              checkName: label,
-            });
-          },
-        },
-      },
-      {
-        label: '接班瓦检员',
-        field: 'nextCheckPerson',
-        component: 'ApiSelect',
-        required: true,
-        componentProps: {
-          api: queryUserByRoleCode,
-            params: { roleCode: 'gasCheck' },
-          labelField: 'realname',
-          valueField: 'username',
-          showSearch: true,
-        },
+    },
+    {
+      label: '接班瓦检员',
+      field: 'nextCheckPerson',
+      component: 'ApiSelect',
+      required: true,
+      componentProps: {
+        api: queryUserByRoleCode,
+        params: { roleCode: 'gasCheck' },
+        labelField: 'realname',
+        valueField: 'username',
+        showSearch: true,
       },
-    ],
-    labelWidth: 100,
-    showActionButtonGroup: false,
-  });
+    },
+  ],
+  labelWidth: 100,
+  showActionButtonGroup: false,
+});
 
-  /** 导出瓦斯检查小票 */
-  async function submitHandler() {
-    const params = await validate();
-    const res = await exportReportByPoi({ tempName: 'wsjcxp', reportTime: searchData.reportTime, ...params });
+/** 导出瓦斯检查小票 */
+async function submitHandler() {
+  const params = await validate();
+  const res = await exportReportByPoi({ tempName: 'wsjcxp', reportTime: searchData.reportTime, ...params });
     const filename = searchData.reportTime + '.xlsx';
     downFilePublic(res, filename);
   }
@@ -478,50 +461,49 @@
 </script>
 
 <style lang="less" scoped>
-  @import '/@/design/theme.less';
+@import '/@/design/theme.less';
 
-  .gasReport {
-    width: 100%;
-    height: 100%;
-    padding: 80px 10px 15px 10px;
-    box-sizing: border-box;
-    position: relative;
+.gasReport {
+  width: 100%;
+  height: 100%;
+  padding: 80px 10px 15px 10px;
+  box-sizing: border-box;
+  position: relative;
 
-    .search-area {
-      margin: 20px 0px;
+  .search-area {
+    margin: 20px 0px;
 
-      .area-item {
-        display: flex;
-        align-items: center;
+    .area-item {
+      display: flex;
+      align-items: center;
 
-        .item-text {
-          color: #fff;
-        }
+      .item-text {
+        color: #fff;
       }
     }
-
-    .zxm-picker,
-    .zxm-input {
-      border: 1px solid var(--vent-form-item-border) !important;
-      background-color: #ffffff00 !important;
-      color: #fff !important;
-    }
-  }
-
-  :deep(.zxm-table-thead > tr > th:last-child) {
-    border-right: 1px solid #91e9fe !important;
-  }
-
-  :deep(.zxm-picker-input > input) {
-    color: #fff;
   }
 
-  :deep(.zxm-select:not(.zxm-select-customize-input) .zxm-select-selector) {
+  .zxm-picker,
+  .zxm-input {
     border: 1px solid var(--vent-form-item-border) !important;
     background-color: #ffffff00 !important;
+    color: #fff !important;
   }
+}
 
-  :deep(.zxm-select-selection-item) {
-    color: #fff !important;
+:deep(.zxm-table-thead > tr > th:last-child) {
+  border-right: 1px solid #91e9fe !important;
+}
+
+:deep(.zxm-picker-input > input) {
+  color: #fff;
+}
+
+:deep(.zxm-select:not(.zxm-select-customize-input) .zxm-select-selector) {
+  border: 1px solid var(--vent-form-item-border) !important;
+  background-color: #ffffff00 !important;
+}
+
+:deep(.zxm-select-selection-item) {color: #fff !important;
   }
 </style>

+ 24 - 24
src/views/vent/monitorManager/warningMonitor/alarm.data.ts

@@ -284,30 +284,30 @@ export const safetySchema: FormSchema[] = [
     component: 'Input',
     colProps: { span: 3 },
   },
-  // {
-  //   label: '报警类型',
-  //   field: 'warnLevel',
-  //   defaultValue: '',
-  //   component: 'JDictSelectTag',
-  //    componentProps: () => {
-  //     return {
-  //       dictCode: 'aqjkAlarmType',
-  //     };
-  //   },
-  //   colProps: { span: 4 },
-  // },
-  // {
-  //   label: '设备类型',
-  //   field: 'deviceKind',
-  //   defaultValue: '',
-  //   component: 'JDictSelectTag',
-  //    componentProps: () => {
-  //     return {
-  //       dictCode: 'aqjkAlarmDevType',
-  //     };
-  //   },
-  //   colProps: { span: 4 },
-  // },
+  {
+    label: '报警类型',
+    field: 'warnLevel',
+    defaultValue: null,
+    component: 'JDictSelectTag',
+     componentProps: () => {
+      return {
+        dictCode: 'aqjkAlarmType',
+      };
+    },
+    colProps: { span: 4 },
+  },
+  {
+    label: '设备类型',
+    field: 'deviceKind',
+    defaultValue: null,
+    component: 'JDictSelectTag',
+     componentProps: () => {
+      return {
+        dictCode: 'aqjkAlarmDevType',
+      };
+    },
+    colProps: { span: 4 },
+  },
   {
     label: '矿编码',
     field: 'orgcode',