综合查询
This commit is contained in:
@ -14,6 +14,7 @@ const ems = {
|
|||||||
ticketStatusOptions:{0:'待处理', 1:'已处理', 2:'处理中'},//工单处理状态
|
ticketStatusOptions:{0:'待处理', 1:'已处理', 2:'处理中'},//工单处理状态
|
||||||
strategyStatusOptions:{'0':'未启用', '1':'已运行', '2':'已暂停', '3':'禁用', '4':'删除'},//策略状态
|
strategyStatusOptions:{'0':'未启用', '1':'已运行', '2':'已暂停', '3':'禁用', '4':'删除'},//策略状态
|
||||||
chargeStatusOptions:{'1':'充电','2':'待机'},//冲放状态
|
chargeStatusOptions:{'1':'充电','2':'待机'},//冲放状态
|
||||||
|
deviceCategoryOptions:{'PCS':'PCS','STACK':'电池堆','CLUSTER':'电池簇','COOLING':'液冷','BATTERY':'单体电池','AMMETER':'电表'},//设备类别
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
SET_ZD_LIST(state, list) {
|
SET_ZD_LIST(state, list) {
|
||||||
|
|||||||
136
src/views/ems/search/index.vue
Normal file
136
src/views/ems/search/index.vue
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
<template>
|
||||||
|
<div v-loading="loading" class="ems-dashboard-editor-container" style="background-color: #ffffff">
|
||||||
|
<el-form ref="form" :model="form" label-position="top">
|
||||||
|
<el-form-item
|
||||||
|
label="站点"
|
||||||
|
prop="siteId"
|
||||||
|
:rules="[{ required: true, message: '请选择站点' }]"
|
||||||
|
>
|
||||||
|
<el-checkbox-group v-model="form.siteId">
|
||||||
|
<el-checkbox v-for="(item,index) in siteList" :key="index+'zdListSearch'" :label="item.siteId">
|
||||||
|
{{ item.siteName }}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="设备" prop="deviceCategory" :rules="[{ required: true, message: '请选择设备' }]">
|
||||||
|
<el-radio-group v-model="form.deviceCategory" >
|
||||||
|
<el-radio v-for="([value,name],index) in deviceCategoryList" :key="index+'sbListSearch'" :label="value">
|
||||||
|
{{ name }}
|
||||||
|
</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<div style="display: flex">
|
||||||
|
<el-form-item label="点位" prop="point" :rules="[{ required: true, message: '请输入点位' }]" style="width: 200px;margin-right: 50px">
|
||||||
|
<el-input
|
||||||
|
v-model="form.point"
|
||||||
|
placeholder="请输入点位"
|
||||||
|
type="text"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="横坐标" prop="xAxios" :rules="[{ required: true, message: '请选择横坐标' }]">
|
||||||
|
<el-radio-group v-model="form.xAxios">
|
||||||
|
<el-radio label="hour">时</el-radio>
|
||||||
|
<el-radio label="minute">分</el-radio>
|
||||||
|
<el-radio label="second">秒</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</div>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="submitForm">生成图表</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-card shadow="always" class="common-card-container common-card-container-body-no-padding time-range-card">
|
||||||
|
<div slot="header" class="time-range-header">
|
||||||
|
<span class="card-title"></span>
|
||||||
|
<date-range-select ref="dateRangeSelect" @updateDate="updateDate"/>
|
||||||
|
</div>
|
||||||
|
<div style="height: 310px" id="searchChart"></div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts'
|
||||||
|
import resize from '@/mixins/ems/resize'
|
||||||
|
import {mapState} from "vuex";
|
||||||
|
import {getAllSites} from "@/api/ems/zddt";
|
||||||
|
import DateRangeSelect from "@/components/Ems/DateRangeSelect/index.vue";
|
||||||
|
export default {
|
||||||
|
name: "Search",
|
||||||
|
mixins: [resize],
|
||||||
|
components: {DateRangeSelect},
|
||||||
|
computed: {
|
||||||
|
...mapState({
|
||||||
|
deviceCategoryOptions: state => state?.ems?.deviceCategoryOptions || {},
|
||||||
|
}),
|
||||||
|
//设备列表
|
||||||
|
deviceCategoryList() {
|
||||||
|
// deviceCategoryOptions:{'PCS':'PCS','STACK':'电池堆','CLUSTER':'电池簇','COOLING':'液冷','BATTERY':'单体电池','AMMETER':'电表'},//设备类别
|
||||||
|
return Object.entries(this.deviceCategoryOptions).filter(([key, value]) => {
|
||||||
|
return ['STACK', 'CLUSTER', 'BATTERY', 'AMMETER'].includes(key)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
chart: null,
|
||||||
|
timeRange:[],
|
||||||
|
siteList: [],//站点列表
|
||||||
|
form: {
|
||||||
|
siteId: [],//当前选中的站点id 默认选中第一个站点
|
||||||
|
deviceCategory: '',//设备
|
||||||
|
point: '',//点位
|
||||||
|
xAxios: '',//横坐标
|
||||||
|
},
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showLoading(){
|
||||||
|
this.chart && this.chart.showLoading()
|
||||||
|
},
|
||||||
|
hideLoading(){
|
||||||
|
this.chart && this.chart.hideLoading()
|
||||||
|
},
|
||||||
|
initChart() {
|
||||||
|
this.chart = echarts.init(document.querySelector('#searchChart'))
|
||||||
|
},
|
||||||
|
// 更新时间范围 重置图表
|
||||||
|
updateDate(data){
|
||||||
|
this.timeRange=data
|
||||||
|
this.getDate()
|
||||||
|
},
|
||||||
|
submitForm() {
|
||||||
|
this.$refs.form.validate(valid => {
|
||||||
|
valid && this.getDate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getZdList() {
|
||||||
|
return getAllSites().then(response => {
|
||||||
|
this.siteList = response.data || []
|
||||||
|
console.log("获取站点列表返回数据", this.siteList)
|
||||||
|
// this.siteList.length > 0 && (this.form.siteId = [this.siteList[0].siteId])
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.searchLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getDate(){
|
||||||
|
|
||||||
|
},
|
||||||
|
init() {
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getZdList()
|
||||||
|
this.initChart()
|
||||||
|
this.$refs.dateRangeSelect.init()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user