From 1d520cc8a2d5346b5bdb0ece6af5b8b24fdc8d6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cyiyousong=E2=80=9D?= <鈥測ousong_yi@foxmail.com鈥�>
Date: Mon, 8 Jul 2024 16:50:37 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E6=8E=92=E9=98=9F?=
 =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=97=B6=E9=97=B4=E9=80=89=E6=8B=A9=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../engineSearch/components/Search copy 2.vue | 198 +++++++++++
 .../pages/engineSearch/components/Search.vue  | 321 +++++++++++-------
 .../components/date-picker/src/panel/date.vue |  51 +--
 .../components/date-picker/src/picker.vue     | 164 ++-------
 4 files changed, 457 insertions(+), 277 deletions(-)
 create mode 100644 admin_2/src/pages/engineSearch/components/Search copy 2.vue

diff --git a/admin_2/src/pages/engineSearch/components/Search copy 2.vue b/admin_2/src/pages/engineSearch/components/Search copy 2.vue
new file mode 100644
index 0000000..01ec3b8
--- /dev/null
+++ b/admin_2/src/pages/engineSearch/components/Search copy 2.vue	
@@ -0,0 +1,198 @@
+<template>
+  <div
+    class="search mb-[15px] flex h-[170px] w-full flex-col items-center justify-around"
+  >
+    <div class="flex gap-10">
+      <router-link v-for="(v, i) in subMenus" :key="i" :to="v.path">
+        {{ v.meta.title }}
+      </router-link>
+    </div>
+    <div class="flex items-center justify-center gap-2">
+      <el-form ref="form" size="small" inline :model="form">
+        <el-form-item prop="type">
+          <el-select
+            style="width: 100px"
+            v-model="form.type"
+            placeholder="璇烽€夋嫨"
+          >
+            <el-option label="鎸夊勾" value="year"></el-option>
+            <el-option label="鎸夋湀" value="month"></el-option>
+            <el-option label="鎸夋棩" value="day"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="year" v-if="form.type == 'year'">
+          <el-date-picker
+            style="width: 150px"
+            v-model="form.year"
+            type="year"
+            value-format="yyyy"
+            placeholder="閫夋嫨骞�"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item prop="month" v-if="form.type == 'month'">
+          <el-date-picker
+            style="width: 150px"
+            v-model="form.month"
+            type="month"
+            value-format="yyyy-MM"
+            placeholder="閫夋嫨鏈�"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item prop="day" v-if="form.type == 'day'">
+          <el-date-picker
+            style="width: 150px"
+            v-model="form.day"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="閫夋嫨鏃�"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item
+          prop="businessName"
+          v-if="$route.path == '/enginesearch/queueupdata'"
+        >
+          <el-select
+            style="width: 150px"
+            v-model="form.businessName"
+            placeholder="璇烽€夋嫨涓氬姟"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="v in businessList"
+              :key="v.id"
+              :label="v.businessName"
+              :value="v.businessName"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="pjOption" v-else>
+          <el-select
+            style="width: 150px"
+            v-model="form.pjOption"
+            placeholder="璇烽€夋嫨璇勪环閫夐」"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="(v, i) in pjOption"
+              :key="i"
+              :label="v"
+              :value="v"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="deptName">
+          <el-select
+            style="width: 150px"
+            v-model="form.deptName"
+            placeholder="璇烽€夋嫨閮ㄩ棬"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="v in deptList"
+              :key="v.id"
+              :label="v.name"
+              :value="v.name"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="windowName">
+          <el-select
+            style="width: 150px"
+            v-model="form.windowName"
+            placeholder="璇烽€夋嫨绐楀彛"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="v in windowList"
+              :key="v.id"
+              :label="`${v.name}-${v.fromnum}`"
+              :value="v.fromnum"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="handleSearch">妫€绱�</el-button>
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="$router.push('/engine')">杩斿洖</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+import { findBottomSubarrays } from "@/utils";
+let pjOption = ["闈炲父婊℃剰", "婊℃剰", "鍩烘湰婊℃剰", "涓嶆弧鎰�", "闈炲父涓嶆弧鎰�"];
+export default {
+  components: {},
+  data() {
+    return {
+      pjOption,
+      subMenus: [],
+      form: {
+        type: "year",
+        businessName: "",
+        deptName: "",
+        windowName: "",
+        year: "",
+        month: "",
+        day: "",
+        pjOption: "",
+      },
+    };
+  },
+  computed: {
+    ...mapState("user", ["businessList", "deptList", "windowList"]),
+    activeKey() {
+      return this.$route.path;
+    },
+  },
+  created() {
+    this.getSubMenus();
+  },
+  mounted() {},
+  methods: {
+    changeRouter(e) {
+      this.$router.push(e.name);
+    },
+    // 鑾峰彇褰撳墠椤跺眰璺敱涓嬬殑鎵€鏈夊瓙璺敱
+    getSubMenus() {
+      let path = this.$route?.meta.parentPath
+        ? this.$route.meta.parentPath
+        : this.$route.path;
+      let options = this.$router.options.routes[0].children;
+      let curRouters = options.filter((v) => v.path == path);
+      this.subMenus = findBottomSubarrays(curRouters).filter(
+        (v) => !v.meta.hidden
+      );
+    },
+    handleSearch() {
+      this.$emit("search", this.form);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.search {
+  flex-shrink: 0;
+  background: url("@/assets/img/engineSearch_bg.svg") no-repeat center / 100%
+    100%;
+  a {
+    color: rgba(254, 254, 254, 0.65);
+  }
+  .router-link-active {
+    color: #fff;
+    font-weight: 600;
+  }
+}
+</style>
diff --git a/admin_2/src/pages/engineSearch/components/Search.vue b/admin_2/src/pages/engineSearch/components/Search.vue
index 01ec3b8..6cc89ed 100644
--- a/admin_2/src/pages/engineSearch/components/Search.vue
+++ b/admin_2/src/pages/engineSearch/components/Search.vue
@@ -8,135 +8,129 @@
       </router-link>
     </div>
     <div class="flex items-center justify-center gap-2">
-      <el-form ref="form" size="small" inline :model="form">
-        <el-form-item prop="type">
-          <el-select
-            style="width: 100px"
-            v-model="form.type"
-            placeholder="璇烽€夋嫨"
-          >
-            <el-option label="鎸夊勾" value="year"></el-option>
-            <el-option label="鎸夋湀" value="month"></el-option>
-            <el-option label="鎸夋棩" value="day"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="year" v-if="form.type == 'year'">
-          <el-date-picker
-            style="width: 150px"
-            v-model="form.year"
-            type="year"
-            value-format="yyyy"
-            placeholder="閫夋嫨骞�"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item prop="month" v-if="form.type == 'month'">
-          <el-date-picker
-            style="width: 150px"
-            v-model="form.month"
-            type="month"
-            value-format="yyyy-MM"
-            placeholder="閫夋嫨鏈�"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item prop="day" v-if="form.type == 'day'">
-          <el-date-picker
-            style="width: 150px"
-            v-model="form.day"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="閫夋嫨鏃�"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item
-          prop="businessName"
-          v-if="$route.path == '/enginesearch/queueupdata'"
-        >
-          <el-select
-            style="width: 150px"
-            v-model="form.businessName"
-            placeholder="璇烽€夋嫨涓氬姟"
-            clearable
-            filterable
-          >
-            <el-option
-              v-for="v in businessList"
-              :key="v.id"
-              :label="v.businessName"
-              :value="v.businessName"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="pjOption" v-else>
-          <el-select
-            style="width: 150px"
-            v-model="form.pjOption"
-            placeholder="璇烽€夋嫨璇勪环閫夐」"
-            clearable
-            filterable
-          >
-            <el-option
-              v-for="(v, i) in pjOption"
-              :key="i"
-              :label="v"
-              :value="v"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="deptName">
-          <el-select
-            style="width: 150px"
-            v-model="form.deptName"
-            placeholder="璇烽€夋嫨閮ㄩ棬"
-            clearable
-            filterable
-          >
-            <el-option
-              v-for="v in deptList"
-              :key="v.id"
-              :label="v.name"
-              :value="v.name"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item prop="windowName">
-          <el-select
-            style="width: 150px"
-            v-model="form.windowName"
-            placeholder="璇烽€夋嫨绐楀彛"
-            clearable
-            filterable
-          >
-            <el-option
-              v-for="v in windowList"
-              :key="v.id"
-              :label="`${v.name}-${v.fromnum}`"
-              :value="v.fromnum"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-button @click="handleSearch">妫€绱�</el-button>
-        </el-form-item>
-        <el-form-item>
-          <el-button @click="$router.push('/engine')">杩斿洖</el-button>
-        </el-form-item>
-      </el-form>
+      <div class="search-box">
+        <div class="flex gap-2">
+          <div class="item border">
+            <span class="pl-[15px] text-[14px]">閫夋嫨鏃堕棿</span>
+            <el-popover
+              trigger="click"
+              placement="bottom-start"
+              popper-class="search-popover"
+            >
+              <div class="flex flex-col items-center">
+                <div class="tab-box">
+                  <div
+                    :class="['tab-item', { active: form.type == 'year' }]"
+                    @click="changeTab('year')"
+                  >
+                    鎸夊勾
+                  </div>
+                  <div
+                    :class="['tab-item', { active: form.type == 'month' }]"
+                    @click="changeTab('month')"
+                  >
+                    鎸夋湀
+                  </div>
+                  <div
+                    :class="['tab-item', { active: form.type == 'date' }]"
+                    @click="changeTab('date')"
+                  >
+                    鎸夋棩
+                  </div>
+                </div>
+                <div class="tab-content w-ull">
+                  <date-picker
+                    v-show="form.type == 'year'"
+                    v-model="form.year"
+                    type="year"
+                    value-format="yyyy"
+                    placeholder="閫夋嫨骞�"
+                  >
+                  </date-picker>
+                  <date-picker
+                    v-show="form.type == 'month'"
+                    v-model="form.month"
+                    type="month"
+                    value-format="yyyy-MM"
+                    placeholder="閫夋嫨鏈�"
+                  >
+                  </date-picker>
+                  <date-picker
+                    v-show="form.type == 'date'"
+                    v-model="form.day"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="閫夋嫨鏃�"
+                  >
+                  </date-picker>
+                </div>
+              </div>
+              <el-input
+                size="small"
+                placeholder="鏆傛湭閫夋嫨"
+                :value="dateInputVal"
+                slot="reference"
+                clearable
+                @clear="handleClearDate"
+              ></el-input>
+            </el-popover>
+          </div>
+          <div class="item border">
+            <span class="pl-[15px] text-[14px]">閫夋嫨涓氬姟</span>
+            <el-popover
+              trigger="click"
+              placement="bottom-start"
+              popper-class="search-popover"
+            >
+              <el-input
+                size="small"
+                placeholder="鏆傛湭閫夋嫨"
+                slot="reference"
+              ></el-input>
+            </el-popover>
+          </div>
+          <div class="item border">
+            <span class="pl-[15px] text-[14px]">閫夋嫨閮ㄩ棬</span>
+            <el-popover
+              trigger="click"
+              placement="bottom-start"
+              popper-class="search-popover"
+            >
+              <el-input
+                size="small"
+                placeholder="鏆傛湭閫夋嫨"
+                slot="reference"
+              ></el-input>
+            </el-popover>
+          </div>
+          <div class="item">
+            <span class="pl-[15px] text-[14px]">閫夋嫨绐楀彛</span>
+            <el-popover
+              trigger="click"
+              placement="bottom-start"
+              popper-class="search-popover"
+            >
+              <el-input
+                size="small"
+                placeholder="鏆傛湭閫夋嫨"
+                slot="reference"
+              ></el-input>
+            </el-popover>
+          </div>
+        </div>
+        <div class="btn">妫€绱�</div>
+      </div>
+      <div class="back-btn" @click="$router.push('/engine')">杩斿洖</div>
     </div>
   </div>
 </template>
 
 <script>
-import { mapState } from "vuex";
 import { findBottomSubarrays } from "@/utils";
-let pjOption = ["闈炲父婊℃剰", "婊℃剰", "鍩烘湰婊℃剰", "涓嶆弧鎰�", "闈炲父涓嶆弧鎰�"];
 export default {
   components: {},
   data() {
     return {
-      pjOption,
       subMenus: [],
       form: {
         type: "year",
@@ -151,10 +145,18 @@ export default {
     };
   },
   computed: {
-    ...mapState("user", ["businessList", "deptList", "windowList"]),
     activeKey() {
       return this.$route.path;
     },
+    dateInputVal() {
+      if (this.form.type == "year") {
+        return this.form.year;
+      } else if (this.form.type == "month") {
+        return this.form.month;
+      } else {
+        return this.form.day;
+      }
+    },
   },
   created() {
     this.getSubMenus();
@@ -175,8 +177,16 @@ export default {
         (v) => !v.meta.hidden
       );
     },
-    handleSearch() {
-      this.$emit("search", this.form);
+    changeTab(key) {
+      this.form.type = key;
+    },
+    handlePick(val) {
+      console.log(val);
+    },
+    handleClearDate() {
+      this.form.year = "";
+      this.form.month = "";
+      this.form.day = "";
     },
   },
 };
@@ -184,7 +194,6 @@ export default {
 
 <style lang="less" scoped>
 .search {
-  flex-shrink: 0;
   background: url("@/assets/img/engineSearch_bg.svg") no-repeat center / 100%
     100%;
   a {
@@ -195,4 +204,70 @@ export default {
     font-weight: 600;
   }
 }
+.border {
+  border-right: 1px solid #ccc;
+}
+.search-box {
+  height: 68px;
+  width: 60%;
+  padding: 0px 15px;
+  background: #fff;
+  border-radius: 34px;
+  display: flex;
+  align-items: center;
+}
+
+.btn,
+.back-btn {
+  width: 96px;
+  height: 60px;
+  flex-shrink: 0;
+  font-weight: 700;
+  color: #fff;
+  line-height: 60px;
+  text-align: center;
+  background: linear-gradient(90deg, #5ab6ff, #2e9aff);
+  border-radius: 30px;
+  cursor: pointer;
+}
+.back-btn {
+  color: var(--primary);
+  background: #fff;
+}
+:deep(.el-input) {
+  .el-input__inner {
+    border: none;
+  }
+}
+.tab-box {
+  width: 300px;
+  height: 40px;
+  background-color: #ebebeb;
+  border-radius: 20px;
+  display: flex;
+  position: relative;
+  .tab-item {
+    width: 100px;
+    height: 100%;
+    border-radius: 20px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    cursor: pointer;
+  }
+  .active {
+    background-color: #fff;
+    border: 2px solid var(--primary);
+  }
+}
+
+:deep(.el-picker-panel) {
+  border: none;
+  box-shadow: none;
+  border-radius: 0px;
+}
+:global(.search-popover) {
+  width: 348px;
+  min-height: 330px;
+}
 </style>
diff --git a/admin_2/src/pages/engineSearch/components/date-picker/src/panel/date.vue b/admin_2/src/pages/engineSearch/components/date-picker/src/panel/date.vue
index 61093c9..7a0155c 100644
--- a/admin_2/src/pages/engineSearch/components/date-picker/src/panel/date.vue
+++ b/admin_2/src/pages/engineSearch/components/date-picker/src/panel/date.vue
@@ -6,7 +6,7 @@
   >
     <div
       v-show="visible"
-      class="el-picker-panel el-date-picker"
+      class="el-picker-panel el-date-picker el-popper"
       :class="[
         {
           'has-sidebar': $slots.sidebar || shortcuts,
@@ -218,30 +218,6 @@ export default {
   mixins: [Locale],
 
   directives: { Clickoutside },
-  data() {
-    return {
-      popperClass: "",
-      date: new Date(),
-      value: "",
-      defaultValue: null, // use getDefaultValue() for time computation
-      defaultTime: null,
-      showTime: false,
-      selectionMode: "day",
-      shortcuts: "",
-      visible: true,
-      currentView: "date",
-      disabledDate: "",
-      cellClassName: "",
-      selectableRange: [],
-      firstDayOfWeek: 7,
-      showWeekNumber: false,
-      timePickerVisible: false,
-      format: "",
-      arrowControl: false,
-      userInputDate: null,
-      userInputTime: null,
-    };
-  },
 
   watch: {
     showTime(val) {
@@ -659,6 +635,31 @@ export default {
     ElButton,
   },
 
+  data() {
+    return {
+      popperClass: "",
+      date: new Date(),
+      value: "",
+      defaultValue: null, // use getDefaultValue() for time computation
+      defaultTime: null,
+      showTime: false,
+      selectionMode: "day",
+      shortcuts: "",
+      visible: true,
+      currentView: "date",
+      disabledDate: "",
+      cellClassName: "",
+      selectableRange: [],
+      firstDayOfWeek: 7,
+      showWeekNumber: false,
+      timePickerVisible: false,
+      format: "",
+      arrowControl: false,
+      userInputDate: null,
+      userInputTime: null,
+    };
+  },
+
   computed: {
     year() {
       return this.date.getFullYear();
diff --git a/admin_2/src/pages/engineSearch/components/date-picker/src/picker.vue b/admin_2/src/pages/engineSearch/components/date-picker/src/picker.vue
index d24362e..4bb1764 100644
--- a/admin_2/src/pages/engineSearch/components/date-picker/src/picker.vue
+++ b/admin_2/src/pages/engineSearch/components/date-picker/src/picker.vue
@@ -1,102 +1,5 @@
 <template>
-  <el-input
-    class="el-date-editor"
-    :class="'el-date-editor--' + type"
-    :readonly="
-      !editable ||
-      readonly ||
-      type === 'dates' ||
-      type === 'week' ||
-      type === 'years' ||
-      type === 'months'
-    "
-    :disabled="pickerDisabled"
-    :size="pickerSize"
-    :name="name"
-    v-bind="firstInputId"
-    v-if="!ranged"
-    v-clickoutside="handleClose"
-    :placeholder="placeholder"
-    @focus="handleFocus"
-    @keydown.native="handleKeydown"
-    :value="displayValue"
-    @input="(value) => (userInput = value)"
-    @change="handleChange"
-    @mouseenter.native="handleMouseEnter"
-    @mouseleave.native="showClose = false"
-    :validateEvent="false"
-    ref="reference"
-  >
-    <i
-      slot="prefix"
-      class="el-input__icon"
-      :class="triggerClass"
-      @click="handleFocus"
-    >
-    </i>
-    <i
-      slot="suffix"
-      class="el-input__icon"
-      @click="handleClickIcon"
-      :class="[showClose ? '' + clearIcon : '']"
-      v-if="haveTrigger"
-    >
-    </i>
-  </el-input>
-  <div
-    class="el-date-editor el-range-editor el-input__inner"
-    :class="[
-      'el-date-editor--' + type,
-      pickerSize ? `el-range-editor--${pickerSize}` : '',
-      pickerDisabled ? 'is-disabled' : '',
-      pickerVisible ? 'is-active' : '',
-    ]"
-    @click="handleRangeClick"
-    @mouseenter="handleMouseEnter"
-    @mouseleave="showClose = false"
-    @keydown="handleKeydown"
-    ref="reference"
-    v-clickoutside="handleClose"
-    v-else
-  >
-    <i :class="['el-input__icon', 'el-range__icon', triggerClass]"></i>
-    <input
-      autocomplete="off"
-      :placeholder="startPlaceholder"
-      :value="displayValue && displayValue[0]"
-      :disabled="pickerDisabled"
-      v-bind="firstInputId"
-      :readonly="!editable || readonly"
-      :name="name && name[0]"
-      @input="handleStartInput"
-      @change="handleStartChange"
-      @focus="handleFocus"
-      class="el-range-input"
-    />
-    <slot name="range-separator">
-      <span class="el-range-separator">{{ rangeSeparator }}</span>
-    </slot>
-    <input
-      autocomplete="off"
-      :placeholder="endPlaceholder"
-      :value="displayValue && displayValue[1]"
-      :disabled="pickerDisabled"
-      v-bind="secondInputId"
-      :readonly="!editable || readonly"
-      :name="name && name[1]"
-      @input="handleEndInput"
-      @change="handleEndChange"
-      @focus="handleFocus"
-      class="el-range-input"
-    />
-    <i
-      @click="handleClickIcon"
-      v-if="haveTrigger"
-      :class="[showClose ? '' + clearIcon : '']"
-      class="el-input__icon el-range__close-icon"
-    >
-    </i>
-  </div>
+  <div class="w-full" ref="reference"></div>
 </template>
 
 <script>
@@ -109,25 +12,25 @@ import {
   isDateObject,
   getWeekNumber,
 } from "element-ui/src/utils/date-util";
-import Popper from "element-ui/src/utils/vue-popper";
+// import Popper from "element-ui/src/utils/vue-popper";
 import Emitter from "element-ui/src/mixins/emitter";
 import ElInput from "element-ui/packages/input";
-import merge from "element-ui/src/utils/merge";
-
-const NewPopper = {
-  props: {
-    appendToBody: Popper.props.appendToBody,
-    offset: Popper.props.offset,
-    boundariesPadding: Popper.props.boundariesPadding,
-    arrowOffset: Popper.props.arrowOffset,
-    transformOrigin: Popper.props.transformOrigin,
-  },
-  methods: Popper.methods,
-  data() {
-    return merge({ visibleArrow: true }, Popper.data);
-  },
-  beforeDestroy: Popper.beforeDestroy,
-};
+// import merge from "element-ui/src/utils/merge";
+
+// const NewPopper = {
+//   props: {
+//     appendToBody: Popper.props.appendToBody,
+//     offset: Popper.props.offset,
+//     boundariesPadding: Popper.props.boundariesPadding,
+//     arrowOffset: Popper.props.arrowOffset,
+//     transformOrigin: Popper.props.transformOrigin,
+//   },
+//   methods: Popper.methods,
+//   data() {
+//     return merge({ visibleArrow: true }, Popper.data);
+//   },
+//   beforeDestroy: Popper.beforeDestroy,
+// };
 
 const DEFAULT_FORMATS = {
   date: "yyyy-MM-dd",
@@ -384,7 +287,7 @@ const validator = function (val) {
 };
 
 export default {
-  mixins: [Emitter, NewPopper],
+  mixins: [Emitter],
 
   inject: {
     elForm: {
@@ -666,6 +569,9 @@ export default {
 
     this.$on("fieldReset", this.handleFieldReset);
   },
+  mounted() {
+    this.showPicker();
+  },
 
   methods: {
     focus() {
@@ -915,7 +821,7 @@ export default {
       if (this.picker) {
         this.picker.resetView && this.picker.resetView();
         this.pickerVisible = this.picker.visible = false;
-        this.destroyPopper();
+        // this.destroyPopper();
       }
     },
 
@@ -926,7 +832,7 @@ export default {
       }
       this.pickerVisible = this.picker.visible = true;
 
-      this.updatePopper();
+      // this.updatePopper();
 
       this.picker.value = this.parsedValue;
       this.picker.resetView && this.picker.resetView();
@@ -994,21 +900,21 @@ export default {
       this.picker.$on("dodestroy", this.doDestroy);
       this.picker.$on("pick", (date = "", visible = false) => {
         this.userInput = null;
-        this.pickerVisible = this.picker.visible = visible;
+        // this.pickerVisible = this.picker.visible = visible;
         this.emitInput(date);
         this.picker.resetView && this.picker.resetView();
       });
 
-      this.picker.$on("select-range", (start, end, pos) => {
-        if (this.refInput.length === 0) return;
-        if (!pos || pos === "min") {
-          this.refInput[0].setSelectionRange(start, end);
-          this.refInput[0].focus();
-        } else if (pos === "max") {
-          this.refInput[1].setSelectionRange(start, end);
-          this.refInput[1].focus();
-        }
-      });
+      // this.picker.$on("select-range", (start, end, pos) => {
+      //   if (this.refInput.length === 0) return;
+      //   if (!pos || pos === "min") {
+      //     this.refInput[0].setSelectionRange(start, end);
+      //     this.refInput[0].focus();
+      //   } else if (pos === "max") {
+      //     this.refInput[1].setSelectionRange(start, end);
+      //     this.refInput[1].focus();
+      //   }
+      // });
     },
 
     unmountPicker() {
-- 
2.24.3