|
@@ -6,9 +6,14 @@
|
|
|
<a-row>
|
|
|
<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="请选择填报日期" @change="onChange" />
|
|
|
+ <div class="item-text">日期区间:</div>
|
|
|
+ <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">
|
|
@@ -30,21 +35,18 @@
|
|
|
<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>
|
|
@@ -72,288 +74,439 @@
|
|
|
</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>
|
|
|
+ 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'">
|
|
|
+ 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'">
|
|
|
+ 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>
|
|
|
+ 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'">
|
|
|
+ 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>
|
|
|
</a-table>
|
|
|
</div>
|
|
|
+ <BasicModal @register="registerModal" @ok="submitHandler">
|
|
|
+ <BasicForm @register="registerForm" />
|
|
|
+ </BasicModal>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, onMounted, computed, reactive } from 'vue';
|
|
|
-import { columns } from './gas-report.data';
|
|
|
-import { getGasAddressList, getList, expComReportByParam, reviewPass, getIsReviewPass } from './gas-report.api';
|
|
|
-import customHeader from '/@/components/vent/customHeader.vue';
|
|
|
-import { message } from 'ant-design-vue';
|
|
|
-import dayjs from 'dayjs';
|
|
|
-
|
|
|
+ import { ref, onMounted, reactive } from 'vue';
|
|
|
+ import { columns } from './gas-report.data';
|
|
|
+ import { getGasAddressList, getList, expComReportByParam, reviewPass, getIsReviewPass, getAllUserInfo, exportReportByPoi } 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[]>([]);
|
|
|
-
|
|
|
-function onChange(val, time) {
|
|
|
- searchData.reportTime = time;
|
|
|
-}
|
|
|
-//获取日报列表数据
|
|
|
-async function getTableList() {
|
|
|
- let res = await getList({ pageNo: pagination.current, pageSize: pagination.pageSize, ...searchData });
|
|
|
- console.log(res, '瓦斯日报列表数据-----------');
|
|
|
- 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;
|
|
|
+ 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'], // 可选的每页显示条数
|
|
|
});
|
|
|
-}
|
|
|
-//获取安装位置下拉选项
|
|
|
-async function getSelectList() {
|
|
|
- let res = await getGasAddressList({ coalseam: '', devicekind: 'gasDayReport' });
|
|
|
- console.log(res, '区队下拉选项--------');
|
|
|
- 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 });
|
|
|
+ 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 : '-';
|
|
|
});
|
|
|
- qdList = uniqueObjectsArray(qdList);
|
|
|
+ tableData.value = res.records;
|
|
|
+ pagination.total = res.total;
|
|
|
}
|
|
|
-}
|
|
|
-//导出报表
|
|
|
-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 });
|
|
|
- console.log(res, '导出------------');
|
|
|
- let filename = searchData.reportTime + '.xlsx';
|
|
|
- downFilePublic(res, filename);
|
|
|
- }
|
|
|
+ //查询
|
|
|
+ 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 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() {
|
|
|
+ if (searchData.reportTime && searchData.sbr) {
|
|
|
+ openModal();
|
|
|
+ } else if (!searchData.reportTime) {
|
|
|
message.warning('请选择需要导出数据的填报日期!');
|
|
|
+ } else if (!searchData.sbr) {
|
|
|
+ message.warning('请输入检查工名称!');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-}
|
|
|
-//导出三对照报表
|
|
|
-async function getExport1() {
|
|
|
- if (searchData.reportTime) {
|
|
|
- let res = await expComReportByParam({ tempName: 'wssdz', reportTime: searchData.reportTime });
|
|
|
- console.log(res, '导出------------');
|
|
|
- let filename = searchData.reportTime + '.xlsx';
|
|
|
- downFilePublic(res, filename);
|
|
|
- } else {
|
|
|
- message.warning('请选择需要导出数据的填报日期!');
|
|
|
- }
|
|
|
-}
|
|
|
-//导出瓦斯检查小票
|
|
|
-async function getExport2() {
|
|
|
- if (searchData.reportTime && searchData.sbr) {
|
|
|
- let res = await expComReportByParam({ tempName: 'wsjcxp', reportTime: searchData.reportTime, checkName: searchData.sbr });
|
|
|
- console.log(res, '导出------------');
|
|
|
- let filename = searchData.reportTime + '.xlsx';
|
|
|
- downFilePublic(res, filename);
|
|
|
- } else if (!searchData.reportTime) {
|
|
|
- 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;
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-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
|
|
|
+ //审核通过
|
|
|
+ async function getPassSh() {
|
|
|
+ if (getTs()) {
|
|
|
+ message.warning('数据异常!');
|
|
|
} else {
|
|
|
- param = true
|
|
|
- return
|
|
|
+ let res = await reviewPass({ reportTime: searchData.reportTime });
|
|
|
+ if (res) {
|
|
|
+ getTableList();
|
|
|
+ }
|
|
|
}
|
|
|
- })
|
|
|
- return param
|
|
|
-}
|
|
|
+ }
|
|
|
|
|
|
-//审核通过
|
|
|
-async function getPassSh() {
|
|
|
- if (getTs()) {
|
|
|
- message.warning('数据异常!');
|
|
|
- } else {
|
|
|
- let res = await reviewPass({ reportTime: searchData.reportTime })
|
|
|
- console.log(res, '审核通过')
|
|
|
- if (res) {
|
|
|
- getTableList();
|
|
|
+ // 下载公用方法
|
|
|
+ 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);
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
-
|
|
|
-// 下载公用方法
|
|
|
-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('请选择需要导出数据的填报日期!');
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
-//导出瓦斯班报表
|
|
|
-async function handleMenuClick(val) {
|
|
|
- if (searchData.reportTime) {
|
|
|
- let res = await expComReportByParam({ tempName: 'wsrbshb', reportTime: searchData.reportTime });
|
|
|
- let filename = searchData.reportTime + '.xlsx';
|
|
|
+
|
|
|
+ const [registerModal, { openModal }] = useModal();
|
|
|
+ const [registerForm, { validate }] = useForm({
|
|
|
+ schemas: [
|
|
|
+ {
|
|
|
+ label: '交班瓦检员',
|
|
|
+ field: 'agoCheckPerson',
|
|
|
+ component: 'ApiSelect',
|
|
|
+ required: true,
|
|
|
+ componentProps: {
|
|
|
+ api: getAllUserInfo,
|
|
|
+ labelField: 'username',
|
|
|
+ valueField: 'id',
|
|
|
+ showSearch: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '当班瓦检员',
|
|
|
+ field: 'nowCheckPerson',
|
|
|
+ component: 'ApiSelect',
|
|
|
+ required: true,
|
|
|
+ componentProps: {
|
|
|
+ api: getAllUserInfo,
|
|
|
+ labelField: 'username',
|
|
|
+ valueField: 'id',
|
|
|
+ showSearch: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '接班瓦检员',
|
|
|
+ field: 'nextCheckPerson',
|
|
|
+ component: 'ApiSelect',
|
|
|
+ required: true,
|
|
|
+ componentProps: {
|
|
|
+ api: getAllUserInfo,
|
|
|
+ labelField: 'username',
|
|
|
+ valueField: 'id',
|
|
|
+ showSearch: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ labelWidth: 100,
|
|
|
+ showActionButtonGroup: false,
|
|
|
+ });
|
|
|
+
|
|
|
+ /** 导出瓦斯检查小票 */
|
|
|
+ async function submitHandler() {
|
|
|
+ const params = await validate();
|
|
|
+ const res = await exportReportByPoi({ tempName: 'wsjcxp', reportTime: searchData.reportTime, checkName: searchData.sbr, ...params });
|
|
|
+ const filename = searchData.reportTime + '.xlsx';
|
|
|
downFilePublic(res, filename);
|
|
|
- } else {
|
|
|
- message.warning('请选择需要导出数据的填报日期!');
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- getSelectList();
|
|
|
- getTableList();
|
|
|
-});
|
|
|
+ onMounted(() => {
|
|
|
+ getSelectList();
|
|
|
+ getTableList();
|
|
|
+ });
|
|
|
</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;
|
|
|
+ .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-table-thead > tr > th:last-child) {
|
|
|
+ border-right: 1px solid #91e9fe !important;
|
|
|
+ }
|
|
|
|
|
|
-:deep(.zxm-picker-input > input) {
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
+ :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: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;
|
|
|
-}
|
|
|
+ :deep(.zxm-select-selection-item) {
|
|
|
+ color: #fff !important;
|
|
|
+ }
|
|
|
</style>
|