longyvfengyun
2024-03-25 4b6b56fc1cbd9f6be12a5bc439e496f29c4b51a1
src/views/analysis/lofAnalysis.vue
@@ -3,7 +3,7 @@
import carInfoModule from "@/views/moudle/battShow/carInfo";
import FlexBox from "@/components/FlexBox.vue";
import ChartBox from "@/components/chartBox.vue";
import {dataAnalysisModule} from "@/views/analysis/module";
import {dataAnalysisModule, bmsAnalysisTimeModule} from "@/views/analysis/module";
import HdwChart from "@/components/echarts/hdwChart.vue";
import getNormalLine from "@/components/echarts/options/normalLine";
import {ElMessage} from "element-plus";
@@ -284,13 +284,25 @@
          A 15 15, 0, 1, 1, 27.99 7.5
          L 15 15
        " style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
      `
      `;
const cascaderValue = ref([]);
const {
   usefulTimeRangeList,
   getBmsAnalysisTime
} = bmsAnalysisTimeModule();
const cascaderHandleChange = ()=>{
   carName.value = cascaderValue.value[0];
   timeRange.value = cascaderValue.value[1].split("~");
}
onMounted(()=>{
   analysisType.value = 4;
   getBmsAnalysisTime(analysisType.value);
   getCarNames();
   initChart();
   setChart();
   console.log(new Date(1694326785000).format("yyyy-MM-dd hh:mm:ss"));
})
</script>
@@ -305,33 +317,23 @@
         <div class="input-list">
            <div class="input-item">
               <div class="input-wrapper">
                  <div class="input-label">车辆名称:</div>
                  <div class="input-label">数据筛选:</div>
                  <div class="input-content">
                     <el-select v-model="carName" filterable>
                        <el-option
                           v-for="(item, key) in carList" :key="'key'+key"
                           :value="item.key" :label="item.label"></el-option>
                     </el-select>
                     <el-cascader
                        class="w400"
                        v-model="cascaderValue"
                        :options="usefulTimeRangeList"
                        @change="cascaderHandleChange">
                        <template #default="{ node, data }">
                           <span>{{ data.label }}</span>
                           <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
                        </template>
                     </el-cascader>
                  </div>
               </div>
            </div>
            <div class="input-item">
               <div class="input-wrapper">
                  <div class="input-label">日期选择:</div>
                  <div class="input-content">
                     <el-date-picker
                        v-model="timeRange"
                        type="datetimerange"
                        start-placeholder="开始时间"
                        end-placeholder="结束时间"
                        format="YYYY-MM-DD HH:mm:ss"
                        date-format="YYYY/MM/DD ddd"
                        time-format="A hh:mm:ss"></el-date-picker>
                  </div>
               </div>
            </div>
            <div class="input-item">
               <el-button :loading="loading" type="primary" @click="searchData">查询</el-button>
               <el-button :disabled="cascaderValue.length === 0" :loading="loading" type="primary" @click="searchData">查询</el-button>
            </div>
         </div>
      </div>
@@ -441,4 +443,7 @@
   height: 100%;
   padding: 8px 0 8px 8px;
}
/deep/ .el-cascader.w400 {
   width: 400px;
}
</style>