From 2b17647c623741aa22e1f6d13aade6562f794196 Mon Sep 17 00:00:00 2001 From: danshihao Date: Wed, 7 Aug 2024 19:58:33 +0800 Subject: [PATCH] =?UTF-8?q?[update=20=E9=A6=96=E9=A1=B5]=20=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/JDatePicker.vue | 15 +++++++++++- src/utils/util.js | 23 +++++++++++++++++++ src/views/dashboard/modules/RetrievalCard.vue | 4 ++-- src/views/dashboard/search/AdvancedSearch.vue | 14 +++++------ src/views/dashboard/search/GeneralSearch.vue | 8 +++++-- 5 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/components/JDatePicker.vue b/src/components/JDatePicker.vue index 035f02f..12e74e1 100644 --- a/src/components/JDatePicker.vue +++ b/src/components/JDatePicker.vue @@ -44,6 +44,12 @@ export default { type: Array, required: false, default: () => [] + }, + // 是否返回区间,只选择一侧,另一侧会返回一个minDate或maxDate + returnInterval: { + type: Boolean, + required: false, + default: true } }, data () { @@ -112,7 +118,14 @@ export default { }, // 触发change事件 triggerChange () { - this.$emit('change', [this.startDate || minDate, this.endDate || maxDate]) + const startDate = this.startDate || minDate + const endDate = this.endDate || maxDate + // 是否一侧为空时,返回最大日期或最小日期 + if (this.returnInterval) { + this.$emit('change', [startDate, endDate]) + } else { + this.$emit('change', [this.startDate, this.endDate]) + } }, // 记录最后一次点击的日期 clickCalendarDate (val) { diff --git a/src/utils/util.js b/src/utils/util.js index dae62d0..2f813bd 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -738,3 +738,26 @@ export function queryStandardInfoByStandardNumber (standardNumber) { }) }) } + +/** + * 查找树节点 + * @param tree {Array} - 树结构 + * @param findVal - 查找的值 + * @param valueField - 查找的属性名 + * @param childrenField - 子节点属性名 + * @return {null | Object} - 返回对应节点 + */ +export function findNodeByField (tree, findVal, valueField = 'id', childrenField = 'children') { + for (const node of tree) { + if (node[valueField] === findVal) { + return node + } + if (node[childrenField] && node[childrenField].length > 0) { + const result = findNodeByField(node[childrenField], findVal) + if (result) { + return result + } + } + } + return null +} diff --git a/src/views/dashboard/modules/RetrievalCard.vue b/src/views/dashboard/modules/RetrievalCard.vue index ea0e7cc..babd503 100644 --- a/src/views/dashboard/modules/RetrievalCard.vue +++ b/src/views/dashboard/modules/RetrievalCard.vue @@ -3,8 +3,8 @@
{{ $t('dashboard.generalSearch.all')}} - - {{ item.title }} + + {{ isChinese() ? item.title : item.enText }} diff --git a/src/views/dashboard/search/AdvancedSearch.vue b/src/views/dashboard/search/AdvancedSearch.vue index 0883213..9709ec1 100644 --- a/src/views/dashboard/search/AdvancedSearch.vue +++ b/src/views/dashboard/search/AdvancedSearch.vue @@ -60,14 +60,12 @@ - +