From c35074e0e33054bb6c5ada22f8104422ae953b17 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 21 二月 2025 17:19:04 +0800 Subject: [PATCH] 1. 新增默认加载时先判断各选项是否获取完成逻辑 --- src/components/search/SearchBar.vue | 63 +++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/components/search/SearchBar.vue b/src/components/search/SearchBar.vue index a7de11b..6c0dad6 100644 --- a/src/components/search/SearchBar.vue +++ b/src/components/search/SearchBar.vue @@ -2,11 +2,15 @@ <BaseCard size="middle-s" direction="down"> <template #content> <el-form :inline="true"> - <OptionMission v-model="mission"></OptionMission> - <OptionType v-model="formSearch.type"></OptionType> + <OptionMission v-model="mission" @init-over="initOver"></OptionMission> + <OptionType + v-model="formSearch.deviceType" + @init-over="initOver" + ></OptionType> <OptionDevice - :type="formSearch.type" + :type="formSearch.deviceType" v-model="formSearch.deviceCode" + @init-over="initOver" ></OptionDevice> <OptionTime v-model="formSearch.timeArray" @@ -27,6 +31,12 @@ </template> <script> +// 鍙兘浼氭湁寤舵椂鍒濆鍖栫殑閫夐」鎬绘暟锛屽寘鎷蛋鑸换鍔°�佽澶囩被鍨嬨�佽澶囩紪鍙� +const MAX_INIT = 3; +// 宸插垵濮嬪寲鐨勯�夐」鏁� +let initCount = 0; +let initEvents = []; + // 鎼滅储妗� export default { props: { @@ -37,7 +47,7 @@ return { mission: undefined, formSearch: { - type: '', + deviceType: '', deviceCode: '', timeArray: [] }, @@ -54,24 +64,43 @@ }, mission(nV, oV) { if (nV != oV) { - this.formSearch.timeArray = [ - new Date(nV.startTime), - new Date(nV.endTime) - ]; - this.dateRange = [new Date(nV.startTime), new Date(nV.endTime)]; - this.formSearch.type = nV.deviceType; - this.formSearch.deviceCode = nV.deviceCode; + this.onInit(() => { + this.formSearch.timeArray = [ + new Date(nV.startTime), + new Date(nV.endTime) + ]; + this.dateRange = [new Date(nV.startTime), new Date(nV.endTime)]; + this.formSearch.deviceType = nV.deviceType; + this.formSearch.deviceCode = nV.deviceCode; - // 浠h〃棣栨杩涘叆鐣岄潰锛屾鏃惰嚜鍔ㄦ墽琛岄涓换鍔$殑鏁版嵁鏌ヨ鎿嶄綔 - if (oV == undefined) { - setTimeout(() => { - this.handleClick(); - }, 500); - } + // 浠h〃棣栨杩涘叆鐣岄潰锛屾鏃惰嚜鍔ㄦ墽琛岄涓换鍔$殑鏁版嵁鏌ヨ鎿嶄綔 + if (oV == undefined) { + setTimeout(() => { + this.handleClick(); + }, 500); + } + }); } } }, methods: { + // 鍚勯�夐」鍒濆鍖栧姞杞藉畬鎴愬垽瀹� + initOver() { + initCount++; + if (initCount == MAX_INIT && initEvents.length > 0) { + initEvents.forEach((e) => { + e(); + }); + initEvents = []; + } + }, + onInit(event) { + if (initCount == MAX_INIT) { + event(); + } else { + initEvents.push(event); + } + }, handleClick() { this.$emit('search', { ...this.formSearch, mission: this.mission }); } -- Gitblit v1.9.3