fix: 分支节点级联选择修复
This commit is contained in:
parent
6d18c510b8
commit
80824c0381
@ -12,7 +12,6 @@
|
|||||||
<el-input
|
<el-input
|
||||||
v-model="localName"
|
v-model="localName"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -102,21 +101,10 @@ const emits = defineEmits(['setNodeName'])
|
|||||||
|
|
||||||
const showTextTitle = ref(true)
|
const showTextTitle = ref(true)
|
||||||
const localName = ref('')
|
const localName = ref('')
|
||||||
const isEditing = ref(false)
|
|
||||||
|
|
||||||
// 开始编辑
|
// 开始编辑
|
||||||
const startEditing = () => {
|
const startEditing = () => {
|
||||||
isEditing.value = true
|
|
||||||
showTextTitle.value = false
|
showTextTitle.value = false
|
||||||
|
|
||||||
// 使用 nextTick 确保 DOM 更新后再聚焦
|
|
||||||
nextTick(() => {
|
|
||||||
if (inputRef.value && inputRef.value.input) {
|
|
||||||
inputRef.value.input.focus()
|
|
||||||
// 选择所有文本
|
|
||||||
inputRef.value.input.select()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const confirmNodeName = () => {
|
const confirmNodeName = () => {
|
||||||
@ -162,29 +150,10 @@ const execute = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleInputFocus = (e) => {
|
const handleInputFocus = (e) => {
|
||||||
console.log('Input focused')
|
|
||||||
// 阻止事件冒泡到 LogicFlow
|
// 阻止事件冒泡到 LogicFlow
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
// 设置编辑状态
|
|
||||||
isEditing.value = true
|
|
||||||
|
|
||||||
// 延迟执行,确保事件处理完成
|
|
||||||
setTimeout(() => {
|
|
||||||
if (inputRef.value && inputRef.value.input) {
|
|
||||||
inputRef.value.input.focus()
|
|
||||||
}
|
|
||||||
}, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleInputBlur = (e) => {
|
|
||||||
console.log('Input blurred')
|
|
||||||
// 如果正在编辑,不要立即取消编辑状态
|
|
||||||
if (isEditing.value) {
|
|
||||||
// 可以选择在失焦时自动保存或取消
|
|
||||||
// 这里我们选择不自动保存,让用户点击确认按钮
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleInputKeydown = (e) => {
|
const handleInputKeydown = (e) => {
|
||||||
|
|||||||
@ -73,7 +73,6 @@
|
|||||||
placeholder="Select"
|
placeholder="Select"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
>
|
>
|
||||||
@ -84,16 +83,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form__container">
|
<div class="form__container">
|
||||||
<el-row v-for="(property, pIndex) in params.list">
|
<el-row v-for="(property, pIndex) in params.list">
|
||||||
<!-- :prop="`nodeParams.${index}.list.${pIndex}.name`" :rules="[{ required: true, message: '请输入变量名', trigger: 'blur' }]" -->
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="pIndex === 0 ? '引用变量' : ''"
|
:label="pIndex === 0 ? '引用变量' : ''"
|
||||||
:prop="`nodeParams.${index}.list.${pIndex}.nameType`"
|
:prop="`nodeParams.${index}.list.${pIndex}.nameType`"
|
||||||
>
|
>
|
||||||
<!-- <el-input v-model="property.name" placeholder="请输入" clearable /> -->
|
|
||||||
<el-select
|
<el-select
|
||||||
v-model="property.nameType"
|
v-model="property.nameType"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -118,7 +114,6 @@
|
|||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
clearable
|
clearable
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -139,9 +134,9 @@
|
|||||||
v-model="property.nameQuote"
|
v-model="property.nameQuote"
|
||||||
:options="quoteOptions"
|
:options="quoteOptions"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
@visible-change="visibleChange"
|
:key="nameQuoteKey"
|
||||||
|
@visible-change="(val) => visibleChange(val, 'nameQuote', index, pIndex)"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -158,7 +153,6 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="property.condition"
|
v-model="property.condition"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -183,7 +177,6 @@
|
|||||||
v-model="property.type"
|
v-model="property.type"
|
||||||
@change="handleTypeChange(index, pIndex)"
|
@change="handleTypeChange(index, pIndex)"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -207,7 +200,6 @@
|
|||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
clearable
|
clearable
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -228,9 +220,8 @@
|
|||||||
v-model="property.quote"
|
v-model="property.quote"
|
||||||
:options="quoteOptions"
|
:options="quoteOptions"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
@visible-change="visibleChange"
|
@visible-change="(val) => visibleChange(val, 'quote', index, pIndex)"
|
||||||
@focus="handleInputFocus"
|
@focus="handleInputFocus"
|
||||||
@blur="handleInputBlur"
|
|
||||||
@keydown="handleInputKeydown"
|
@keydown="handleInputKeydown"
|
||||||
@click.stop
|
@click.stop
|
||||||
@mousedown.stop
|
@mousedown.stop
|
||||||
@ -416,11 +407,17 @@ const setNodeName = (name) => {
|
|||||||
emits("contentChange");
|
emits("contentChange");
|
||||||
}
|
}
|
||||||
|
|
||||||
const visibleChange = (value) => {
|
const visibleChange = async (value, type, index, pIndex) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
const option = getInput(props.model.id);
|
const option = getInput(props.model.id);
|
||||||
if (option) {
|
if (option) {
|
||||||
quoteOptions.value = option;
|
quoteOptions.value = option;
|
||||||
|
const currentValue = formData.nodeParams[index].list[pIndex][type]
|
||||||
|
if (currentValue) {
|
||||||
|
formData.nodeParams[index].list[pIndex][type] = null
|
||||||
|
await nextTick();
|
||||||
|
formData.nodeParams[index].list[pIndex][type] = currentValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -456,31 +453,13 @@ const closePopover = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isEditing = ref(false)
|
||||||
const handleInputFocus = (e) => {
|
const handleInputFocus = (e) => {
|
||||||
console.log('Input focused')
|
|
||||||
// 阻止事件冒泡到 LogicFlow
|
// 阻止事件冒泡到 LogicFlow
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
// 设置编辑状态
|
|
||||||
isEditing.value = true
|
|
||||||
|
|
||||||
// 延迟执行,确保事件处理完成
|
|
||||||
setTimeout(() => {
|
|
||||||
if (inputRef.value && inputRef.value.input) {
|
|
||||||
inputRef.value.input.focus()
|
|
||||||
}
|
|
||||||
}, 0)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleInputBlur = (e) => {
|
|
||||||
console.log('Input blurred')
|
|
||||||
// 如果正在编辑,不要立即取消编辑状态
|
|
||||||
if (isEditing.value) {
|
|
||||||
// 可以选择在失焦时自动保存或取消
|
|
||||||
// 这里我们选择不自动保存,让用户点击确认按钮
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleInputKeydown = (e) => {
|
const handleInputKeydown = (e) => {
|
||||||
// 阻止事件冒泡到 Logic Flow 节点,避免被其事件拦截
|
// 阻止事件冒泡到 Logic Flow 节点,避免被其事件拦截
|
||||||
|
|||||||
@ -51,7 +51,7 @@ export default defineConfig(({mode, command}) => {
|
|||||||
//李小龙 http://192.168.0.5:13080
|
//李小龙 http://192.168.0.5:13080
|
||||||
// dev http://10.148.20.34:13080
|
// dev http://10.148.20.34:13080
|
||||||
// target: VITE_API_URL,
|
// target: VITE_API_URL,
|
||||||
target: command === 'build' ? VITE_API_URL : 'http://192.168.0.5:13080',
|
target: command === 'build' ? VITE_API_URL : 'http://192.168.0.100:13080',
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
rewrite: (p) => p.replace(/^\/dev-api/, '')
|
rewrite: (p) => p.replace(/^\/dev-api/, '')
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user