riku
2024-07-03 f57633ef165ae24ae858894e3b9583a00d3ef7f6
src/components/search/SearchBar.vue
@@ -1,15 +1,20 @@
<template>
  <BaseCard class="">
  <BaseCard size="middle-s" direction="down">
    <template #content>
      <el-form :inline="true">
        <OptionMission v-model="formSearch.missionCode"></OptionMission>
        <OptionMission v-model="mission"></OptionMission>
        <OptionType v-model="formSearch.type"></OptionType>
        <OptionDevice
          :type="formSearch.type"
          v-model="formSearch.deviceCode"
        ></OptionDevice>
        <OptionTime v-model="formSearch.timeArray"></OptionTime>
        <el-button type="primary" class="el-button-custom" @click="handleClick">
        <el-button
          :loading="loading"
          type="primary"
          class="el-button-custom"
          @click="handleClick"
        >
          分析
        </el-button>
      </el-form>
@@ -21,12 +26,13 @@
// 搜索框
export default {
  props: {
    loading: Boolean,
    searchTime: Array
  },
  data() {
    return {
      mission: {},
      formSearch: {
        missionCode: '',
        type: '',
        deviceCode: '',
        timeArray: []
@@ -37,13 +43,23 @@
  watch: {
    searchTime(nV, oV) {
      if (nV != oV) {
        this.timeArray = this.searchTime;
        this.formSearch.timeArray = this.searchTime;
      }
    },
    mission(nV, oV) {
      if (nV != oV) {
        this.formSearch.timeArray = [
          new Date(nV.startTime),
          new Date(nV.endTime)
        ];
        this.formSearch.type = nV.deviceType;
        this.formSearch.deviceCode = nV.deviceCode;
      }
    }
  },
  methods: {
    handleClick() {
      this.$emit('search', this.formSearch);
      this.$emit('search', { ...this.formSearch, mission: this.mission });
    }
  }
};