feat(devops): 优化流水线任务构建器界面功能

- 添加按钮组条件渲染,仅在可交互时显示
- 调整按钮类型和请求类型列的宽度以改善布局
- 新增添加按钮功能,支持动态添加按钮配置
- 修复节点参数表格作用域变量命名冲突问题
- 新增添加参数功能,支持动态添加节点参数配置
This commit is contained in:
2026-03-07 10:45:23 +08:00
parent 2739905d23
commit 2898cb7e19
@@ -105,14 +105,14 @@
<el-form-item label="是否可交互(运行态)"> <el-form-item label="是否可交互(运行态)">
<el-switch v-model="hasButtonList" /> <el-switch v-model="hasButtonList" />
</el-form-item> </el-form-item>
<el-form-item label="按钮组"> <el-form-item v-if="hasButtonList" label="按钮组">
<el-table :data="buttonList"> <el-table :data="buttonList">
<el-table-column prop="text" label="按钮名称" width="180"> <el-table-column prop="text" label="按钮名称" width="180">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.text" /> <el-input v-model="scope.row.text" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="按钮类型" width="150"> <el-table-column prop="type" label="按钮类型" width="160">
<template v-slot="scope"> <template v-slot="scope">
<el-select <el-select
v-model="scope.row.type" v-model="scope.row.type"
@@ -139,7 +139,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table v-if="scope.row.type === 'execute'" :data="buttonList"> <el-table v-if="scope.row.type === 'execute'" :data="buttonList">
<el-table-column prop="method" label="请求类型" width="120"> <el-table-column prop="method" label="请求类型" width="160">
<template v-slot="innerScope"> <template v-slot="innerScope">
<el-select <el-select
v-model="innerScope.row.method" v-model="innerScope.row.method"
@@ -160,21 +160,22 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-button style="width: 100%" type="primary" plain @click="buttonList.push({})">添加按钮</el-button>
</el-form-item> </el-form-item>
<el-form-item label="节点参数"> <el-form-item label="节点参数">
<el-table :data="parameterList"> <el-table :data="parameterList">
<el-table-column prop="name" label="参数名称"> <el-table-column prop="name" label="参数名称">
<template v-slot="scope"> <template v-slot="nodeParamScope">
<el-input v-model="scope.row.name" /> <el-input v-model="nodeParamScope.row.name" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="code" label="参数编码"> <el-table-column prop="code" label="参数编码">
<template v-slot="scope"> <template v-slot="nodeParamScope">
<el-input v-model="scope.row.code" /> <el-input v-model="nodeParamScope.row.code" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dataSource" label="参数可选项"> <el-table-column prop="dataSource" label="参数可选项">
<template v-slot="scope"> <template v-slot="nodeParamScope">
<el-select <el-select
placeholder="请输入参数可选项" placeholder="请输入参数可选项"
clearable clearable
@@ -182,7 +183,7 @@
allow-create allow-create
> >
<el-option <el-option
v-for="(item, index) in scope.row.dataSource" v-for="(item, index) in nodeParamScope.row.dataSource"
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -191,6 +192,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-button style="width: 100%" type="primary" plain @click="parameterList.push({})">添加参数</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</CutePage> </CutePage>