update: 更新流程spel页面展示 ;

This commit is contained in:
Michelle.Chung
2025-07-06 13:51:26 +08:00
parent 0ca453d549
commit a8bb81c984

View File

@@ -45,9 +45,21 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="组件名称" align="center" prop="componentName" /> <el-table-column label="组件名称" align="center">
<el-table-column label="方法名称" align="center" prop="methodName" /> <template #default="scope">
<el-table-column label="参数名称" align="center" prop="methodParams" /> {{ scope.row.componentName || '-' }}
</template>
</el-table-column>
<el-table-column label="方法名称" align="center">
<template #default="scope">
{{ scope.row.methodName || '-' }}
</template>
</el-table-column>
<el-table-column label="参数名称" align="center">
<template #default="scope">
{{ scope.row.methodParams || '-' }}
</template>
</el-table-column>
<el-table-column label="SPEL表达式" align="center" prop="viewSpel" /> <el-table-column label="SPEL表达式" align="center" prop="viewSpel" />
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template #default="scope"> <template #default="scope">
@@ -55,7 +67,11 @@
<el-tag v-else>停用</el-tag> <el-tag v-else>停用</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center">
<template #default="scope">
{{ scope.row.remark || '-' }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
@@ -100,7 +116,7 @@
<el-input v-model="form.methodParams" placeholder="请输入方法参数" @input="updateViewSpel" /> <el-input v-model="form.methodParams" placeholder="请输入方法参数" @input="updateViewSpel" />
<template #label> <template #label>
<span> <span>
<el-tooltip content="方法参数,如:#deptId, 多个使用 ',' 分隔" placement="top"> <el-tooltip content="方法参数deptId, 多个使用 ',' 分隔,单参数变量仅支持单个方法参数" placement="top">
<el-icon><question-filled /></el-icon> <el-icon><question-filled /></el-icon>
</el-tooltip> </el-tooltip>
方法参数 方法参数
@@ -110,7 +126,9 @@
<!-- 改为只读文本展示 --> <!-- 改为只读文本展示 -->
<el-form-item label="SPEL表达式"> <el-form-item label="SPEL表达式">
<span class="preview-box">{{ form.viewSpel || '例如:#{@组件名.方法名(#方法参数)}' }}</span> <span class="preview-box">
{{ form.viewSpel || '例如:#{@组件名.方法名(#方法参数)} 或 ${方法参数}' }}
</span>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
@@ -292,6 +310,19 @@ const updateViewSpel = () => {
return; return;
} }
// 替换变量值:只有参数存在,组件和方法都不存在
if (!comp && !method && paramStr) {
const paramList = paramStr.split(',')
.map(p => p.trim())
.filter(p => p.length > 0);
if (paramList.length === 1) {
form.value.viewSpel = `\${${paramList[0]}}`;
return;
}
}
// 如果缺少组件或方法,提示填写
if (!comp || !method) { if (!comp || !method) {
form.value.viewSpel = '请填写组件名称和方法名'; form.value.viewSpel = '请填写组件名称和方法名';
return; return;