From de767e07b4d266288e73f0495ab64ba06ef354fb Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 24 Apr 2025 09:27:58 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90issues/8093=E3=80=91=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=90=8E=E4=BC=9A=E5=85=88=E5=8F=98=E6=88=90=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=86=8D=E6=98=BE=E7=A4=BAlabel=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Form/src/jeecg/components/JTreeSelect.vue | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JTreeSelect.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JTreeSelect.vue index 3770c4aa1..9e9da55a4 100644 --- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JTreeSelect.vue +++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JTreeSelect.vue @@ -32,7 +32,7 @@ import { useAttrs } from '/@/hooks/core/useAttrs'; import { TreeSelect } from 'ant-design-vue'; import { useMessage } from '/@/hooks/web/useMessage'; - import { isObject } from '/@/utils/is'; + import { isObject, isArray } from '/@/utils/is'; import { useI18n } from '/@/hooks/web/useI18n'; enum Api { url = '/sys/dict/loadTreeData', @@ -143,6 +143,23 @@ if(props.url){ getItemFromTreeData(); }else{ + // update-begin--author:liaozhiyang---date:20250423---for:【issues/8093】选择节点后会先变成编码再显示label文字 + if (props.value) { + if (isArray(treeValue.value)) { + let isNotRequestTransform = false; + const value = isArray(props.value) ? props.value : props.value.split(','); + isNotRequestTransform = value.every((value) => !!treeValue.value.find((item) => item.value === value)); + if (isNotRequestTransform) { + return; + } + } else if (isObject(treeValue.value) && unref(treeValue).label != null) { + if (props.value == unref(treeValue).value) { + // 不需要再去请求翻译 + return; + } + } + } + // update-end--author:liaozhiyang---date:20250423---for:【issues/8093】选择节点后会先变成编码再显示label文字 let params = { key: props.value }; let result = await defHttp.get({ url: `${Api.view}${props.dict}`, params }, { isTransformResponse: false }); if (result.success) { @@ -291,7 +308,22 @@ } else { emitValue(value.value); } - treeValue.value = value; + // update-begin--author:liaozhiyang---date:20250423---for:【issues/8093】删除后会先变成编码再显示label文字 + if (isArray(value)) { + // 编辑删除时有选中的值是异步(第二级以上的)会不显示label + value.forEach((item) => { + if (item.label === undefined && item.value != null) { + const findItem = treeValue.value.find((o) => o.value === item.value); + if (findItem) { + item.label = findItem.label; + } + } + }); + treeValue.value = value; + } else { + treeValue.value = value; + } + // update-end--author:liaozhiyang---date:20250423---for:【issues/8093】删除后会先变成编码再显示label文字 } function emitValue(value) {