web
7 天以前 9631059731ceb3e119101de3f7e27f6dd76da324
fix:修改水温报表,配置测试环境
已修改7个文件
已添加1个文件
90 ■■■■ 文件已修改
.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.production 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.staging 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/screen/report/index.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/rem.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/flow/report/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/temperature/monitor/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/temperature/report/index.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.development
@@ -1,4 +1,4 @@
n
# 页面标题
VITE_APP_TITLE = 后台管理系统
.env.production
@@ -8,7 +8,7 @@
# 图片地址
VITE_APP_IMG_BASEURL = 'http://113.250.189.120:8036/upload'
# 金川管理系统/开发环境
# 金川管理系统/正式环境
 VITE_APP_PUBLIC_REQUEST_API = 'http://113.250.189.120:8036'
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip
.env.staging
对比新文件
@@ -0,0 +1,12 @@
# 页面标题
VITE_APP_TITLE = 后台管理系统
# 开发环境配置
VITE_APP_ENV = 'staging'
# 图片地址
VITE_APP_IMG_BASEURL = 'http://113.250.189.120:8036/upload'
# 金川管理系统/测试环境
 VITE_APP_PUBLIC_REQUEST_API = 'http://113.250.189.120:8036'
src/api/screen/report/index.js
@@ -22,4 +22,27 @@
        data,
        responseType: 'blob'
    })
}
/**
 * 水温报表数据
 */
export const getTemptureReportList = (data) => {
    return publicRequest({
        url: '/dataUploadYwjRecord/search',
        method: 'post',
        data
    })
}
/**
 * 水温报表数据导出
 */
export const exportTemptureReportList = (data) => {
    return publicRequest({
        url: '/dataUploadYwjRecord/exportExcel',
        method: 'post',
        data,
        responseType: 'blob'
    })
}
src/utils/rem.js
@@ -4,5 +4,5 @@
    const newVal = Math.round((windowWidth / 1920) * baseFontSize)
    document.documentElement.style.fontSize = `${newVal}px`;
}
window.addEventListener('resize', resize);
resize() //先调用一次,适配初次加载屏幕大小
window.addEventListener('resize', resize);  //挂载窗口大小事件
src/views/screen/flow/report/index.vue
@@ -49,7 +49,7 @@
        data.createTimeRange = ''
    }
    exportFlowReportList(data).then(res => {
        exportBlobFile(res, '统计报表')
        exportBlobFile(res, `生态流量统计报表${new Date().getTime()}`)
    })
}
src/views/screen/temperature/monitor/index.vue
@@ -32,7 +32,13 @@
// 获取监控点列表
const getMonitorList = () => {
    pointApi().search({type: 1, page: 1, limit: 100, keywords: searchVal.value}).then(res => {
        monitorList.value = res.data.list.filter(el => el.parentId !== 0)
        //0-未报警, 1-下限报警, 2-上限报警
        monitorList.value = res.data.list.filter(el => el.parentId !== 0).map(item => {
            return {
                ...item,
                errorType: Number(item.waterTemperature) < Number(item.lowWaterLevel) ? 1 : Number(item.waterTemperature) > Number(item.tallWaterLevel) ? 2 : 0
            }
        })
    })
}
@@ -173,10 +179,10 @@
                        <div class="item-btn">
                            <el-button size="large" type="success" @click="setMonitorData(item)">应用</el-button>
                        </div>
                        <div class="item-error" v-if="Number(item.waterTemperature) < Number(item.lowWaterLevel) || Number(item.waterTemperature) > Number(item.tallWaterLevel)">
                        <div class="item-error" v-if="[1,2].includes(item.errorType)">
                            <img src="@/assets/images/warning.png" alt="" />
                            <div v-if="Number(item.waterTemperature) < Number(item.lowWaterLevel)">水温达到下限值</div>
                            <div v-else-if="Number(item.waterTemperature) > Number(item.tallWaterLevel)">水温达到上限值</div>
                            <div v-if="item.errorType === 1">水温达到下限值</div>
                            <div v-else-if="item.errorType === 2">水温达到上限值</div>
                        </div>
                    </div>
                </div>
src/views/screen/temperature/report/index.vue
@@ -1,8 +1,9 @@
<script setup>
import {ref, onMounted} from "vue";
import {getTemperaturePointList} from "@/api/screen/index.js";
import {getFlowReportList} from "@/api/screen/report/index.js";
import {getTemptureReportList, exportTemptureReportList} from "@/api/screen/report/index.js";
import Table from '@/components/Table/index.vue'
import { exportBlobFile } from '@/utils/index.js'
const cascaderOption = { label: 'pointName', value: 'id', children: 'childrenList', checkStrictly: true, expandTrigger: 'hover', emitPath: false }; //级联选择器配置
const typeOption = ref([])
@@ -21,17 +22,33 @@
})
const tableRef = ref(null); //表格实例
let tableHead = [
    { prop: 'flowVelocity', label: '流速 (m/s)' },
    { prop: 'newFlow', label: '瞬时流量 (m³/h)', },
    { prop: 'totalFlow', label: '累计流量 (m³)' },
    { prop: 'waterTemperature', label: '水温(℃)' },
    { prop: 'waterLevel', label: '水位(m)', },
    { prop: 'pointName', label: '采集点' },
    { prop: 'uploadTimeView', label: '采集时间' },
    { prop: 'createTimeView', label: '采集时间' },
]
// 获取监测点
const getPoint = () => {
    getTemperaturePointList().then(res => {
        typeOption.value = res.data
    })
}
// 导出报表
const exportData = () => {
    let data = {
        limit: tableRef.value.state.limit,
        page: tableRef.value.state.page,
        ...searchData
    }
    if(timeVal.value && timeVal.value.length > 0) {
        data.createTimeRange = timeVal.value[0] + '~' + timeVal.value[1]
    } else {
        data.createTimeRange = ''
    }
    exportTemptureReportList(data).then(res => {
        exportBlobFile(res, `水温统计报表${new Date().getTime()}`)
    })
}
@@ -82,10 +99,10 @@
                end-placeholder="结束时间"
            />
            <el-button type="primary" size="large" style="width: 6rem" @click="searchTable">搜索</el-button>
            <el-button type="success" size="large" style="width: 6rem">一键导出</el-button>
            <el-button type="success" size="large" style="width: 6rem" @click="exportData">一键导出</el-button>
        </div>
        <div class="report-table">
            <Table ref="tableRef" :getList="getFlowReportList" :headList="tableHead" :searchData="searchData"></Table>
            <Table ref="tableRef" :getList="getTemptureReportList" :headList="tableHead" :searchData="searchData"></Table>
        </div>
    </div>
</template>