工作流 上下文参数使用++
This commit is contained in:
parent
948f2ea5ae
commit
56ac06f47d
@ -1,4 +1,11 @@
|
||||
<script setup lang="ts">
|
||||
import {fetchGetSystemVarList} from "@/service/api/system-variable";
|
||||
import { onMounted, ref, computed} from 'vue'
|
||||
|
||||
onMounted(() => {
|
||||
getSystemVariables();
|
||||
});
|
||||
|
||||
const content = defineModel<{ key: string; value: string | number | boolean; type: string }[]>('value', {
|
||||
required: true,
|
||||
default: () => []
|
||||
@ -25,6 +32,34 @@ const dynamicInputRule = [
|
||||
}
|
||||
}
|
||||
];
|
||||
const inputValue = ref('');
|
||||
const syncOptions = ref([
|
||||
{
|
||||
label: String,
|
||||
value: String
|
||||
}
|
||||
]);
|
||||
|
||||
const getSystemVariables = async () =>{
|
||||
const { error,data } = await fetchGetSystemVarList();
|
||||
if (!error) {
|
||||
syncOptions.value = data.map(item => ({
|
||||
label: item.variableName,
|
||||
value: item.variableKey.replace("$",'')
|
||||
}));
|
||||
}
|
||||
console.log("syncOptions"+syncOptions.value[0].value)
|
||||
console.log("syncOptions"+syncOptions.value[0].label)
|
||||
};
|
||||
|
||||
const filteredOptions = computed(() => {
|
||||
return inputValue.value
|
||||
? syncOptions.value.filter(opt =>
|
||||
opt.label.includes(inputValue.value) ||
|
||||
opt.value.includes(inputValue.value))
|
||||
: syncOptions.value
|
||||
});
|
||||
|
||||
|
||||
const typeOptions = [
|
||||
{
|
||||
@ -87,12 +122,33 @@ const handleUpdateType = (index: number) => {
|
||||
:rule="dynamicInputRule"
|
||||
:path="`${path}[${index}].value`"
|
||||
>
|
||||
<NInput
|
||||
<!-- <NInput-->
|
||||
<!-- v-if="content[index].type === 'string'"-->
|
||||
<!-- v-model:value="content[index].value as string"-->
|
||||
<!-- placeholder="value"-->
|
||||
<!-- @keydown.enter.prevent-->
|
||||
<!-- />-->
|
||||
|
||||
<n-mention
|
||||
v-if="content[index].type === 'string'"
|
||||
v-model:value="content[index].value as string"
|
||||
placeholder="value"
|
||||
:options="syncOptions"
|
||||
default-value="@"
|
||||
:prefix="['$']"
|
||||
@keydown.enter.prevent
|
||||
/>
|
||||
<NPopover trigger="hover"
|
||||
v-if="content[index].type === 'string'"
|
||||
>
|
||||
<template #trigger>
|
||||
<NButton text>
|
||||
<SvgIcon icon="ant-design:info-circle-outlined" class="text-18px color-blue" />
|
||||
</NButton>
|
||||
</template>
|
||||
输入$提示变量信息
|
||||
</NPopover>
|
||||
|
||||
<NInputNumber
|
||||
v-if="content[index].type === 'number'"
|
||||
v-model:value="content[index].value as number"
|
||||
|
Loading…
Reference in New Issue
Block a user