daikun1@bosssoft.com.cn
1 year ago
39 changed files with 2004 additions and 356 deletions
@ -0,0 +1,8 @@ |
|||
import request from '@/config/axios' |
|||
|
|||
export const asyncLabData = async (params) => { |
|||
return await request.get({ |
|||
url: `/lab/asynclab/asyncLabData`, |
|||
params |
|||
}) |
|||
} |
@ -0,0 +1,22 @@ |
|||
import request from '@/config/axios' |
|||
|
|||
// 动态获取下拉数据
|
|||
// flag 1 冷拔-步进炉 ;2 冷拔-固熔炉 ; 3 冷拔-缝式炉 ; 4 冷拔-水表 ; 5 冷拔-智能电表 ; 6 冷拔-穿孔机 ; 7 冷拔-天然气总量
|
|||
// type 1 数据点数据 ; 2 仪表数据
|
|||
export const selectCdPros = async (params) => { |
|||
return await request.get({ url: `/pszccommon/selectCdPros`, params }) |
|||
} |
|||
|
|||
// flag 1 环形加热炉 ;2 穿孔机 ; 3 延伸机 ; 4 定经机 ; 5 热轧水表
|
|||
export const selectHr90Pros = async (params) => { |
|||
return await request.get({ url: `/pszccommon/selectHr90Pros`, params }) |
|||
} |
|||
|
|||
// flag 1 环形加热炉 ;2 环形加热炉天然气管理 ; 3 穿孔机 ; 4 延伸机 ; 5 定经机 ; 6 热轧水表
|
|||
export const selectHr108Pros = async (params) => { |
|||
return await request.get({ url: `/pszccommon/selectHr108Pros`, params }) |
|||
} |
|||
|
|||
export const selectHrTrqPros = async (params) => { |
|||
return await request.get({ url: `/pszccommon/selectHrTrqPros`, params }) |
|||
} |
@ -0,0 +1,126 @@ |
|||
<template> |
|||
<ContentWrap> |
|||
<!-- 搜索工作栏 --> |
|||
<el-form :model="queryParams" ref="queryForm" :inline="true"> |
|||
<el-form-item label="日期" prop="dateRange"> |
|||
<el-date-picker |
|||
v-model="queryParams.dateRange" |
|||
style="width: 240px; height: 30px" |
|||
value-format="YYYY-MM-DD" |
|||
end-placeholder="结束日期" |
|||
start-placeholder="开始日期" |
|||
type="daterange" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button size="mini" @click="resetQuery">重置</el-button> |
|||
<el-button type="success" @click="exportElecTotal" size="mini">导出</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</ContentWrap> |
|||
|
|||
<!-- 列表 --> |
|||
<ContentWrap> |
|||
<el-table |
|||
v-loading="loading" :data="dataList.dList" border="true" |
|||
highlight-current-row="true"> |
|||
<el-table-column label="线路名称(智能电表)" prop="mname" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="总" prop="idescTotal" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="峰" prop="idescF" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="峰值比例" prop="idescFt" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="谷" prop="idescG" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="谷值比例" prop="idescGt" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="平" prop="idescP" align="center" :show-overflow-tooltip="true" /> |
|||
<el-table-column label="平值比例" prop="idescPt" align="center" :show-overflow-tooltip="true" /> |
|||
</el-table> |
|||
</ContentWrap> |
|||
|
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import * as TjanalysisApi from '@/api/tjanalysis' |
|||
import { formatDate } from '@/utils/formatTime' |
|||
|
|||
defineOptions({ name: 'PlatscaleAnalysis' }) |
|||
|
|||
const message = useMessage() // 消息弹窗 |
|||
const { t } = useI18n() // 国际化 |
|||
|
|||
const route = useRoute() // 路由信息 |
|||
const routeName = ref() |
|||
routeName.value = route.name |
|||
const loading = ref(true) |
|||
const dataList = reactive({dList: [] , total: 0}) |
|||
|
|||
const queryParams = reactive({ |
|||
dateRange: [] |
|||
}) |
|||
|
|||
const handleQuery = async () => { |
|||
getList() |
|||
} |
|||
|
|||
const resetQuery = async () => { |
|||
queryParams.dateRange = [] |
|||
getList() |
|||
} |
|||
|
|||
const getList = async () => { |
|||
const res = await TjanalysisApi.queryElectricdataAllTj(queryParams) |
|||
console.log(res) |
|||
if (res != null && res.dataList != null) { |
|||
dataList.dList = res.dataList |
|||
} |
|||
loading.value = false |
|||
} |
|||
|
|||
const exportElecTotal = async () => { |
|||
const res = await TjanalysisApi.exportElectricdataAllTj(queryParams) |
|||
if (res != null) { |
|||
let url = window.URL.createObjectURL(new Blob([res])); |
|||
let link = document.createElement("a"); |
|||
link.style.display = "none"; |
|||
link.href = url; |
|||
link.setAttribute("download", "智能报表统计数据.xlsx"); |
|||
document.body.appendChild(link); |
|||
link.click(); |
|||
} |
|||
} |
|||
|
|||
function getSummaries(param) { |
|||
const { columns, data } = param; |
|||
const sums = []; |
|||
columns.forEach((column, index) => { |
|||
// console.log(column) |
|||
if (index === 0) { |
|||
sums[index] = '总'; |
|||
// return; |
|||
} |
|||
|
|||
const values = data.map(item => Number(item[column.property])); |
|||
if (!values.every(value => isNaN(value))) { |
|||
sums[index] = values.reduce((prev, curr) => { |
|||
const value = Number(curr); |
|||
if (!isNaN(value)) { |
|||
return prev + curr; |
|||
} else { |
|||
return prev; |
|||
} |
|||
}, 0); |
|||
// sums[index] += ' 元'; |
|||
} else { |
|||
// sums[index] = 'N/A'; |
|||
} |
|||
}); |
|||
|
|||
return sums; |
|||
} |
|||
|
|||
/** 初始化 **/ |
|||
onMounted(async () => { |
|||
getList() |
|||
}) |
|||
|
|||
</script> |
|||
|
@ -0,0 +1,121 @@ |
|||
<template> |
|||
<ContentWrap> |
|||
<!-- 搜索工作栏 --> |
|||
<el-form :model="queryParams" ref="queryForm" :inline="true"> |
|||
<el-form-item label="日期" prop="date"> |
|||
<el-date-picker |
|||
v-model="queryParams.date" |
|||
style="width: 240px; height: 30px" |
|||
value-format="YYYY-MM-DD" |
|||
type="date" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="位置" prop="mcode"> |
|||
<el-select v-model="queryParams.mcode" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in types.flagList" |
|||
:key="item.value" |
|||
:label="item.name" |
|||
:value="item.value" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button size="mini" @click="resetQuery">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</ContentWrap> |
|||
|
|||
<!-- 列表 --> |
|||
<ContentWrap> |
|||
<el-divider content-position="left"><div style="font-size:16px; float: left"><b>天然气:</b></div></el-divider> |
|||
<el-table |
|||
v-loading="loading" :data="dataList.dList" border="true" highlight-current-row="true" |
|||
header-row-style="height: 50px; text-align: center"> |
|||
<!-- <el-table-column label="" prop="mname" align="right" :show-overflow-tooltip="true" width="250" /> --> |
|||
<el-table-column label="" prop="name" align="right" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="00:00" prop="num0" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="06:00" prop="num6" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00" prop="num8" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="12:00" prop="num12" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="16:00" prop="num16" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="18:00" prop="num18" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="20:00" prop="num20" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="22:00" prop="num22" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="24:00" prop="num24" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00-00:00" prop="num0008" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="16:00-08:00" prop="num0816" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-16:00" prop="num1624" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="12:00-00:00" prop="num0012" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-12:00" prop="num1224" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="总(24:00-00:00)" prop="num0024" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<!-- <el-table-column label="电量" prop="numTj" align="center" :show-overflow-tooltip="true" width="100" /> --> |
|||
</el-table> |
|||
</ContentWrap> |
|||
|
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import * as TjanalysisApi from '@/api/tjanalysis' |
|||
import { formatDate } from '@/utils/formatTime' |
|||
import { get } from 'http' |
|||
|
|||
defineOptions({ name: 'Natgasdatahr' }) |
|||
|
|||
const message = useMessage() // 消息弹窗 |
|||
const { t } = useI18n() // 国际化 |
|||
|
|||
const route = useRoute() // 路由信息 |
|||
const routeName = ref() |
|||
routeName.value = route.name |
|||
const loading = ref(true) |
|||
const types = reactive({flagList: [ |
|||
{name: '步进炉' , value: 'Gas_hr_001'}, |
|||
{name: '固熔炉' , value: '2'}, |
|||
{name: '缝式炉' , value: '3'} |
|||
]}) |
|||
const dataList = reactive({dList: [] , days: 0}) |
|||
|
|||
const queryParams = reactive({ |
|||
date: formatDate(new Date() , 'YYYY-MM-DD'), |
|||
mcode: 'Gas_hr_001', |
|||
flag: '2' |
|||
}) |
|||
|
|||
const handleQuery = async () => { |
|||
dataList.dList = [] |
|||
getList() |
|||
} |
|||
|
|||
const resetQuery = async () => { |
|||
dataList.dList = [] |
|||
queryParams.date = formatDate(new Date() , 'YYYY-MM-DD') |
|||
getList() |
|||
} |
|||
|
|||
const getList = async () => { |
|||
const res = await TjanalysisApi.queryNatgasdataDay(queryParams) |
|||
if (res != null && res.dataList != null) { |
|||
dataList.dList = res.dataList |
|||
} |
|||
loading.value = false |
|||
} |
|||
|
|||
|
|||
/** 初始化 **/ |
|||
onMounted(async () => { |
|||
getList() |
|||
}) |
|||
|
|||
</script> |
|||
|
|||
<style> |
|||
.el-table .success-row { |
|||
background: #f0f9eb; |
|||
} |
|||
|
|||
.el-table .success-cols { |
|||
font-weight: bold; |
|||
} |
|||
</style> |
|||
|
@ -0,0 +1,120 @@ |
|||
<template> |
|||
<ContentWrap> |
|||
<!-- 搜索工作栏 --> |
|||
<el-form :model="queryParams" ref="queryForm" :inline="true"> |
|||
<el-form-item label="日期" prop="date"> |
|||
<el-date-picker |
|||
v-model="queryParams.date" |
|||
style="width: 240px; height: 30px" |
|||
value-format="YYYY-MM-DD" |
|||
type="date" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="位置" prop="mcode"> |
|||
<el-select v-model="queryParams.mcode" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in types.flagList" |
|||
:key="item.value" |
|||
:label="item.name" |
|||
:value="item.value" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button size="mini" @click="resetQuery">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</ContentWrap> |
|||
|
|||
<!-- 列表 --> |
|||
<ContentWrap> |
|||
<el-divider content-position="left"><div style="font-size:16px; float: left"><b>天然气:</b></div></el-divider> |
|||
<el-table |
|||
v-loading="loading" :data="dataList.dList" border="true" highlight-current-row="true" |
|||
header-row-style="height: 50px; text-align: center"> |
|||
<!-- <el-table-column label="" prop="mname" align="right" :show-overflow-tooltip="true" width="250" /> --> |
|||
<el-table-column label="" prop="name" align="right" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="00:00" prop="num0" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="06:00" prop="num6" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00" prop="num8" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="12:00" prop="num12" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="16:00" prop="num16" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="18:00" prop="num18" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="20:00" prop="num20" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="22:00" prop="num22" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="24:00" prop="num24" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00-00:00" prop="num0008" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="16:00-08:00" prop="num0816" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-16:00" prop="num1624" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="12:00-00:00" prop="num0012" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-12:00" prop="num1224" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="总(24:00-00:00)" prop="num0024" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<!-- <el-table-column label="电量" prop="numTj" align="center" :show-overflow-tooltip="true" width="100" /> --> |
|||
</el-table> |
|||
</ContentWrap> |
|||
|
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import * as TjanalysisApi from '@/api/tjanalysis' |
|||
import { formatDate } from '@/utils/formatTime' |
|||
import { get } from 'http' |
|||
|
|||
defineOptions({ name: 'Natgasdatahr' }) |
|||
|
|||
const message = useMessage() // 消息弹窗 |
|||
const { t } = useI18n() // 国际化 |
|||
|
|||
const route = useRoute() // 路由信息 |
|||
const routeName = ref() |
|||
routeName.value = route.name |
|||
const loading = ref(true) |
|||
const types = reactive({flagList: [ |
|||
{name: '热轧108环炉' , value: 'Gas_hr_001'}, |
|||
// {name: '热轧90环炉' , value: '2'} |
|||
]}) |
|||
const dataList = reactive({dList: [] , days: 0}) |
|||
|
|||
const queryParams = reactive({ |
|||
date: formatDate(new Date() , 'YYYY-MM-DD'), |
|||
mcode: 'Gas_hr_001', |
|||
flag: '1' |
|||
}) |
|||
|
|||
const handleQuery = async () => { |
|||
dataList.dList = [] |
|||
getList() |
|||
} |
|||
|
|||
const resetQuery = async () => { |
|||
dataList.dList = [] |
|||
queryParams.date = formatDate(new Date() , 'YYYY-MM-DD') |
|||
getList() |
|||
} |
|||
|
|||
const getList = async () => { |
|||
const res = await TjanalysisApi.queryNatgasdataDay(queryParams) |
|||
if (res != null && res.dataList != null) { |
|||
dataList.dList = res.dataList |
|||
} |
|||
loading.value = false |
|||
} |
|||
|
|||
|
|||
/** 初始化 **/ |
|||
onMounted(async () => { |
|||
getList() |
|||
}) |
|||
|
|||
</script> |
|||
|
|||
<style> |
|||
.el-table .success-row { |
|||
background: #f0f9eb; |
|||
} |
|||
|
|||
.el-table .success-cols { |
|||
font-weight: bold; |
|||
} |
|||
</style> |
|||
|
@ -0,0 +1,125 @@ |
|||
<template> |
|||
<ContentWrap> |
|||
<!-- 搜索工作栏 --> |
|||
<el-form :model="queryParams" ref="queryForm" :inline="true"> |
|||
<el-form-item label="日期" prop="date"> |
|||
<el-date-picker |
|||
v-model="queryParams.date" |
|||
style="width: 240px; height: 30px" |
|||
value-format="YYYY-MM-DD" |
|||
type="date" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="位置" prop="mcode"> |
|||
<el-select v-model="queryParams.mcode" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in types.flagList" |
|||
:key="item.value" |
|||
:label="item.name" |
|||
:value="item.value" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button size="mini" @click="resetQuery">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</ContentWrap> |
|||
|
|||
<!-- 列表 --> |
|||
<ContentWrap> |
|||
<el-divider content-position="left"><div style="font-size:16px; float: left"><b>天然气:</b></div></el-divider> |
|||
<el-table |
|||
v-loading="loading" :data="dataList.dList" border="true" highlight-current-row="true" |
|||
header-row-style="height: 50px; text-align: center"> |
|||
<!-- <el-table-column label="" prop="mname" align="right" :show-overflow-tooltip="true" width="250" /> --> |
|||
<el-table-column label="" prop="name" align="right" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="00:00" prop="num0" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="06:00" prop="num6" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00" prop="num8" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="12:00" prop="num12" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="16:00" prop="num16" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="18:00" prop="num18" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="20:00" prop="num20" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="22:00" prop="num22" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="24:00" prop="num24" align="center" :show-overflow-tooltip="true" width="120" /> |
|||
<el-table-column label="08:00-00:00" prop="num0008" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="16:00-08:00" prop="num0816" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-16:00" prop="num1624" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="12:00-00:00" prop="num0012" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="24:00-12:00" prop="num1224" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<el-table-column label="总(24:00-00:00)" prop="num0024" align="center" :show-overflow-tooltip="true" width="150" /> |
|||
<!-- <el-table-column label="电量" prop="numTj" align="center" :show-overflow-tooltip="true" width="100" /> --> |
|||
</el-table> |
|||
</ContentWrap> |
|||
|
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import * as TjanalysisApi from '@/api/tjanalysis' |
|||
import { formatDate } from '@/utils/formatTime' |
|||
import { get } from 'http' |
|||
|
|||
defineOptions({ name: 'Waterday' }) |
|||
|
|||
const message = useMessage() // 消息弹窗 |
|||
const { t } = useI18n() // 国际化 |
|||
|
|||
const route = useRoute() // 路由信息 |
|||
const routeName = ref() |
|||
routeName.value = route.name |
|||
const loading = ref(true) |
|||
const types = reactive({flagList: [ |
|||
{name: '冷拔循环水' , value: 'Gas_hr_001'}, |
|||
{name: '冷拔生产水1' , value: '2'}, |
|||
{name: '冷拔生产水2' , value: '2'}, |
|||
{name: '热轧90循环水' , value: '2'}, |
|||
{name: '热轧90生产水' , value: '2'}, |
|||
{name: '热轧108循环水' , value: '2'}, |
|||
{name: '热轧108生产水' , value: '2'} |
|||
]}) |
|||
const dataList = reactive({dList: [] }) |
|||
|
|||
const queryParams = reactive({ |
|||
date: formatDate(new Date() , 'YYYY-MM-DD'), |
|||
mcode: 'Gas_hr_001', |
|||
flag: '1' |
|||
}) |
|||
|
|||
const handleQuery = async () => { |
|||
dataList.dList = [] |
|||
getList() |
|||
} |
|||
|
|||
const resetQuery = async () => { |
|||
dataList.dList = [] |
|||
queryParams.date = formatDate(new Date() , 'YYYY-MM-DD') |
|||
getList() |
|||
} |
|||
|
|||
const getList = async () => { |
|||
const res = await TjanalysisApi.queryWaterDay(queryParams) |
|||
if (res != null && res.dataList != null) { |
|||
dataList.dList = res.dataList |
|||
} |
|||
loading.value = false |
|||
} |
|||
|
|||
|
|||
/** 初始化 **/ |
|||
onMounted(async () => { |
|||
getList() |
|||
}) |
|||
|
|||
</script> |
|||
|
|||
<style> |
|||
.el-table .success-row { |
|||
background: #f0f9eb; |
|||
} |
|||
|
|||
.el-table .success-cols { |
|||
font-weight: bold; |
|||
} |
|||
</style> |
|||
|
Loading…
Reference in new issue