feat(ems): 增加采集时间和记录时间的选择功能

- 在多个组件中添加采集日期范围和采集时间范围的选择器
- 修改查询参数以包含采集时间和记录时间
- 优化时间范围的默认值设置
- 调整时间格式以适应后端接口要求
master
zch 4 months ago
parent b6503508db
commit 2be46cee38

@ -56,9 +56,14 @@
<el-table-column label="父级编号" prop="parentId" v-if="columns[1].visible" />
<el-table-column label="计量设备编号" align="center" prop="monitorCode" v-if="columns[2].visible" />
<el-table-column label="计量设备名称" align="center" prop="monitorName" v-if="columns[3].visible" />
<el-table-column label="能源类型" align="center" prop="monitorType" v-if="columns[4].visible">
<!-- <el-table-column label="能源类型" align="center" prop="monitorType" v-if="columns[4].visible">
<template slot-scope="scope">
{{ dict.type.monitor_type.find(e=>e.value == scope.row.monitorType).label}}
<dict-tag :options="dict.type.monitor_info_monitor_status || []" :value="scope.row.monitorStatus" />
</template>
</el-table-column>-->
<el-table-column label="能源类型" align="center" prop="monitorType" v-if="columns[4].visible && form.monitorType !== 1">
<template slot-scope="scope">
<span>{{ getEnergyTypeName(scope.row.monitorType) }}</span>
</template>
</el-table-column>
<el-table-column label="计量设备位置" align="center" prop="monitorAddr" v-if="columns[5].visible" />
@ -412,7 +417,13 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
}
},
/** 获取能源类型名称 */
getEnergyTypeName(energyTypeId) {
const energyType = this.energyTypeList.find(item => item.energyTypeId === energyTypeId);
return energyType ? energyType.energyName : '';
},
}
};
</script>

@ -49,7 +49,7 @@
end-placeholder="结束时间"
></el-date-picker>
</el-form-item>-->
<el-form-item label="记录时间">
<!-- <el-form-item label="记录时间">
<el-date-picker
v-model="daterangeRecordTime"
style="width: 340px"
@ -59,7 +59,32 @@
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-date-picker>
</el-form-item>-->
<el-form-item label="记录日期范围">
<el-date-picker
v-model="daterangeRecordTime"
style="width: 340px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="记录时间范围">
<el-time-picker
v-model="timerangeRecordTime"
style="width: 340px"
value-format="HH:mm:ss"
is-range
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-time-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -290,6 +315,8 @@ export default {
daterangeCollectTime: [],
//
daterangeRecordTime: [],
//
timerangeRecordTime: [],
//
queryParams: {
pageNum: 1,
@ -336,6 +363,20 @@ export default {
/* const nowDate = parseTime(new Date(), '{y}-{m}-{d}')
this.daterangeCollectTime[0] = nowDate + ' 00:00:00'
this.daterangeCollectTime[1] = nowDate + ' 23:59:59'*/
const today = new Date();
const yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
//8
/* this.timerangeRecordTime = ['08:30:00', '08:30:00']; */
this.timerangeRecordTime[0] = '08:00:00';
this.timerangeRecordTime[1] = '08:00:00';
this.daterangeRecordTime[0] = parseTime(yesterday, '{y}-{m}-{d}') ;
this.daterangeRecordTime[1] = parseTime(today, '{y}-{m}-{d}') ;
this.getTreeselect()
this.getTreeMonitorInfo()
this.getList()
@ -372,12 +413,12 @@ export default {
this.loading = true
this.queryParams.params = {}
if (null != this.daterangeCollectTime && '' != this.daterangeCollectTime) {
this.queryParams.params['beginCollectTime'] = this.daterangeCollectTime[0]
this.queryParams.params['endCollectTime'] = this.daterangeCollectTime[1]
this.queryParams.params['beginCollectTime'] =this.daterangeCollectTime[0] + ' ' + this.timerangeRecordTime[0];
this.queryParams.params['endCollectTime'] =this.daterangeCollectTime[1] + ' ' + this.timerangeRecordTime[1];
}
if (null != this.daterangeRecordTime && '' != this.daterangeRecordTime) {
this.queryParams.params['beginRecordTime'] = this.daterangeRecordTime[0]
this.queryParams.params['endRecordTime'] = this.daterangeRecordTime[1]
this.queryParams.params['beginRecordTime'] =this.daterangeRecordTime[0] + ' ' + this.timerangeRecordTime[0];
this.queryParams.params['endRecordTime'] = this.daterangeRecordTime[1] + 'T' + this.timerangeRecordTime[1];
}
listRecordSteamInstant(this.queryParams).then(response => {
this.recordSteamInstantList = response.rows
@ -514,36 +555,6 @@ export default {
}
}
}
/*
function sortByPrefixOrder(data, order) {
//
const groupedData = {};
data.forEach(item => {
const prefix = item.code.split('_')[0];
if (!groupedData[prefix]) {
groupedData[prefix] = [];
}
groupedData[prefix].push(item);
});
//
const sortedData = [];
order.forEach(prefix => {
if (groupedData[prefix]) {
sortedData.push(...groupedData[prefix]);
}
});
//
data.forEach(item => {
if (!sortedData.includes(item)) {
sortedData.push(item);
}
});
return sortedData;
}
*/
</script>
<style scoped>

@ -39,6 +39,7 @@
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!--
<el-form-item label="采集时间">
<el-date-picker
v-model="daterangeCollectTime"
@ -50,6 +51,31 @@
end-placeholder="结束时间"
></el-date-picker>
</el-form-item>
-->
<el-form-item label="采集日期范围">
<el-date-picker
v-model="daterangeCollectTime"
style="width: 340px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="采集时间范围">
<el-time-picker
v-model="timerangeRecordTime"
style="width: 340px"
value-format="HH:mm:ss"
is-range
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-time-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -88,22 +114,14 @@ export default {
//List
monitorInfoOptions: [],
workUnitName: undefined,
/*
//
monitorInfoOptionsData: [],
specificOrder: ["赛轮沈阳","公用橡胶","三像","维航","维",
"米其林高压","米其林低压","米其林","橡胶四厂",
"三聚凯特","世源","联盛","正兴","天峰药业","中科北方","沃得","管理中心","沈阳经济技术升发区管理委员会办","科创","博泰","亿纬","普利司通"
], //
*/
//
selectMonitorName: null,
//
baseMonitorInfoList: [],
//
daterangeCollectTime: [],
//
timerangeRecordTime:[],
//
loading: true,
//
@ -169,9 +187,17 @@ export default {
}
},
created() {
const nowDate = parseTime(new Date(), '{y}-{m}-{d}')
this.daterangeCollectTime[0] = nowDate + ' 00:00:00'
this.daterangeCollectTime[1] = nowDate + ' 23:59:59'
const today = new Date();
const yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
this.daterangeCollectTime[0] = parseTime(yesterday, '{y}-{m}-{d}') ;
this.daterangeCollectTime[1] = parseTime(today, '{y}-{m}-{d}') ;
//8
this.timerangeRecordTime[0] = '08:00:00';
this.timerangeRecordTime[1] = '08:00:00';
this.getTreeselect()
this.getTreeMonitorInfo()
this.getList()
@ -199,8 +225,8 @@ export default {
this.loading = true
this.queryParams.params = {}
if (null != this.daterangeCollectTime && '' != this.daterangeCollectTime) {
this.queryParams.params['beginCollectTime'] = this.daterangeCollectTime[0]
this.queryParams.params['endCollectTime'] = this.daterangeCollectTime[1]
this.queryParams.params['beginCollectTime'] =this.daterangeCollectTime[0] + ' ' + this.timerangeRecordTime[0];
this.queryParams.params['endCollectTime'] =this.daterangeCollectTime[1] + ' ' + this.timerangeRecordTime[1];
}
this.getChart()
},

@ -38,7 +38,7 @@
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="记录时间">
<!-- <el-form-item label="记录时间">
<el-date-picker
v-model="daterangeCollectTime"
style="width: 340px"
@ -48,7 +48,31 @@
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-date-picker>
</el-form-item>-->
<el-form-item label="采集日期范围">
<el-date-picker
v-model="daterangeCollectTime"
style="width: 340px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="采集时间范围">
<el-time-picker
v-model="timerangeRecordTime"
style="width: 340px"
value-format="HH:mm:ss"
is-range
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-time-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -87,22 +111,14 @@ export default {
//List
monitorInfoOptions: [],
workUnitName: undefined,
/*
//
monitorInfoOptionsData: [],
specificOrder: ["赛轮沈阳","公用橡胶","三像","维航","维",
"米其林高压","米其林低压","米其林","橡胶四厂",
"三聚凯特","世源","联盛","正兴","天峰药业","中科北方","沃得","管理中心","沈阳经济技术升发区管理委员会办","科创","博泰","亿纬","普利司通"
], //
*/
//
selectMonitorName: null,
//
baseMonitorInfoList: [],
//
daterangeCollectTime: [],
//
timerangeRecordTime: [],
//
loading: true,
//
@ -164,9 +180,18 @@ export default {
}
},
created() {
const nowDate = parseTime(new Date(), '{y}-{m}-{d}')
this.daterangeCollectTime[0] = nowDate + ' 00:00:00'
this.daterangeCollectTime[1] = nowDate + ' 23:59:59'
const today = new Date();
const yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
this.daterangeCollectTime[0] = parseTime(yesterday, '{y}-{m}-{d}') ;
this.daterangeCollectTime[1] = parseTime(today, '{y}-{m}-{d}') ;
//8
/* this.timerangeRecordTime = ['08:30:00', '08:30:00']; */
this.timerangeRecordTime[0] = '08:00:00';
this.timerangeRecordTime[1] = '08:00:00';
this.getTreeselect()
this.getTreeMonitorInfo()
this.getList()
@ -194,8 +219,8 @@ export default {
this.loading = true
this.queryParams.params = {}
if (null != this.daterangeCollectTime && '' != this.daterangeCollectTime) {
this.queryParams.params['beginRecordTime'] = this.daterangeCollectTime[0]
this.queryParams.params['endRecordTime'] = this.daterangeCollectTime[1]
this.queryParams.params['beginRecordTime'] = this.daterangeCollectTime[0] + ' ' + this.timerangeRecordTime[0];
this.queryParams.params['endRecordTime'] = this.daterangeCollectTime[1] + ' ' + this.timerangeRecordTime[1];
}
this.getChart()
},
@ -661,36 +686,6 @@ export default {
}
}
}
/*
function sortByPrefixOrder(data, order) {
//
const groupedData = {};
data.forEach(item => {
const prefix = item.code ? item.code.split('_')[0] : ''; // code
if (!groupedData[prefix]) {
groupedData[prefix] = [];
}
groupedData[prefix].push(item);
});
//
const sortedData = [];
order.forEach(prefix => {
if (groupedData[prefix]) {
sortedData.push(...groupedData[prefix]);
}
});
//
data.forEach(item => {
if (!sortedData.includes(item)) {
sortedData.push(item);
}
});
return sortedData;
}
*/
</script>

@ -38,7 +38,7 @@
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="开始时间">
<!-- <el-form-item label="开始时间">
<el-date-picker
v-model="daterangeBeginTime"
style="width: 340px"
@ -48,7 +48,30 @@
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-date-picker>
</el-form-item>-->
<el-form-item label="采集日期范围">
<el-date-picker
v-model="daterangeBeginTime"
style="width: 340px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="采集时间范围">
<el-time-picker
v-model="timerangeRecordTime"
style="width: 340px"
value-format="HH:mm:ss"
is-range
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
></el-time-picker>
</el-form-item>
<el-form-item label="修改标识" prop="updateFlag">
<el-select v-model="queryParams.updateFlag" placeholder="请选择修改标识" clearable>
<el-option
@ -259,16 +282,6 @@ export default {
monitorInfoOptions: [],
//
filterBoxName: undefined,
/*
//
monitorInfoOptionsData: [],
specificOrder: ["赛轮沈阳","公用橡胶","三像","维航","维",
"米其林高压","米其林低压","米其林","橡胶四厂",
"三聚凯特","世源","联盛","正兴","天峰药业","中科北方","沃得","管理中心","沈阳经济技术升发区管理委员会办","科创","博泰","亿纬","普利司通"
], //
*/
monitorProps: {
children: 'children',
label: 'label'
@ -293,6 +306,8 @@ export default {
open: false,
//
daterangeBeginTime: [],
//
timerangeRecordTime:[],
//
queryParams: {
pageNum: 1,
@ -331,9 +346,16 @@ export default {
}
},
created() {
const nowDate = parseTime(new Date(), '{y}-{m}-{d}')
this.daterangeBeginTime[0] = nowDate + ' 00:00:00'
this.daterangeBeginTime[1] = nowDate + ' 23:59:59'
const today = new Date();
const yesterday = new Date(today);
yesterday.setDate(today.getDate() - 1);
//8
/* this.timerangeRecordTime = ['08:30:00', '08:30:00']; */
this.timerangeRecordTime[0] = '08:00:00';
this.timerangeRecordTime[1] = '08:00:00';
this.daterangeBeginTime[0] = parseTime(yesterday, '{y}-{m}-{d}') ;
this.daterangeBeginTime[1] = parseTime(today, '{y}-{m}-{d}') ;
this.getTreeselect()
this.getList()
},
@ -349,8 +371,8 @@ export default {
this.loading = true
this.queryParams.params = {}
if (null != this.daterangeBeginTime && '' != this.daterangeBeginTime) {
this.queryParams.params['beginBeginTime'] = this.daterangeBeginTime[0]
this.queryParams.params['endBeginTime'] = this.daterangeBeginTime[1]
this.queryParams.params['beginBeginTime'] = this.daterangeBeginTime[0] + ' ' + this.timerangeRecordTime[0];
this.queryParams.params['endBeginTime'] = this.daterangeBeginTime[1] + ' ' + this.timerangeRecordTime[1];
}
listReportPointSteam(this.queryParams).then(response => {
this.reportPointSteamList = response.rows
@ -469,33 +491,66 @@ export default {
this.download('ems/report/reportPointSteam/export', {
...this.queryParams
}, `reportPointSteam_${new Date().getTime()}.xlsx`)
}
},
decreaseBeginDate() {
if (this.daterangeBeginTime && this.daterangeBeginTime.length === 2) {
const startDate = new Date(this.daterangeBeginTime[0]);
startDate.setDate(startDate.getDate() - 1);
this.daterangeBeginTime = [startDate.toISOString().split('T')[0], endDate.toISOString().split('T')[0]];
}
},
decreaseEndDate() {
if (this.daterangeBeginTime && this.daterangeBeginTime.length === 2) {
const endDate = new Date(this.daterangeBeginTime[1]);
endDate.setDate(endDate.getDate() - 1);
this.daterangeBeginTime = [startDate.toISOString().split('T')[0], endDate.toISOString().split('T')[0]];
}
},
increaseBeginDate() {
if (this.daterangeBeginTime && this.daterangeBeginTime.length === 2) {
const startDate = new Date(this.daterangeBeginTime[0]);
startDate.setDate(startDate.getDate() + 1);
this.daterangeBeginTime = [startDate.toISOString().split('T')[0], endDate.toISOString().split('T')[0]];
}
},
increaseEndDate() {
if (this.daterangeBeginTime && this.daterangeBeginTime.length === 2) {
const endDate = new Date(this.daterangeBeginTime[1]);
endDate.setDate(startDate.getDate() + 1);
this.daterangeBeginTime = [startDate.toISOString().split('T')[0], endDate.toISOString().split('T')[0]];
}
},
decreaseBeginTime() {
if (this.timerangeRecordTime && this.timerangeRecordTime.length === 2) {
const startTime = new Date(`1970-01-01T${this.timerangeRecordTime[0]}`);
startTime.setHours(startTime.getHours() - 1);
this.timerangeRecordTime = [startTime.toTimeString().substring(0, 8), endTime.toTimeString().substring(0, 8)];
}
},
decreaseEndTime() {
if (this.timerangeRecordTime && this.timerangeRecordTime.length === 2) {
const endTime = new Date(`1970-01-01T${this.timerangeRecordTime[1]}`);
endTime.setHours(endTime.getHours() - 1);
this.timerangeRecordTime = [startTime.toTimeString().substring(0, 8), endTime.toTimeString().substring(0, 8)];
}
},
increaseBeginTime() {
if (this.timerangeRecordTime && this.timerangeRecordTime.length === 2) {
const startTime = new Date(`1970-01-01T${this.timerangeRecordTime[0]}`);
startTime.setHours(startTime.getHours() + 1);
this.timerangeRecordTime = [startTime.toTimeString().substring(0, 8), endTime.toTimeString().substring(0, 8)];
}
},
increaseEndTime() {
if (this.timerangeRecordTime && this.timerangeRecordTime.length === 2) {
const endTime = new Date(`1970-01-01T${this.timerangeRecordTime[1]}`);
endTime.setHours(endTime.getHours() + 1);
this.timerangeRecordTime = [startTime.toTimeString().substring(0, 8), endTime.toTimeString().substring(0, 8)];
}
},
}
}/*
function sortByPrefixOrder(data, specificOrder) {
//
const orderMap = {};
specificOrder.forEach((prefix, index) => {
orderMap[prefix] = index;
});
console.log('Original data:', data); //
//
const sortedData = data.sort((a, b) => {
const prefixA = specificOrder.find(prefix => a.label.startsWith(prefix));
const prefixB = specificOrder.find(prefix => b.label.startsWith(prefix));
//
if (prefixA === prefixB) {
return a.label.localeCompare(b.label);
}
//
if (prefixA === undefined) return 1; //
if (prefixB === undefined) return -1; //
return orderMap[prefixA] - orderMap[prefixB];
});
console.log('Sorted data:', sortedData); //
return sortedData;
}
*/
</script>
<style scoped>

Loading…
Cancel
Save