提取校验下拉菜单选择

This commit is contained in:
liangdaliang
2025-03-14 10:01:01 +08:00
parent 24f6f4bcf1
commit c4e81c568d
2 changed files with 50 additions and 4 deletions

View File

@@ -90,12 +90,18 @@
</el-table-column> </el-table-column>
<el-table-column label="提取方式"> <el-table-column label="提取方式">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input placeholder="请输入提取方式" v-model="form.assignment[scope.$index].type" @input="e => handleTableEdit(e, 'assignment', scope)" clearable/> <el-select v-model="form.assignment[scope.$index].type" style="width: 100%;" placeholder="请选择提取方式">
<el-option v-for="dict in dict.type.extract_type" :key="dict.value" :label="dict.label" :value="dict.value" @change="e => handleTableEdit(e, 'assignment', scope)"/>
</el-select>
<!-- <el-input placeholder="请输入提取方式" v-model="form.assignment[scope.$index].type" @input="e => handleTableEdit(e, 'assignment', scope)" clearable/>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提取对象"> <el-table-column label="提取对象">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input placeholder="请输入提取对象" v-model="form.assignment[scope.$index].content" @input="e => handleTableEdit(e, 'assignment', scope)" clearable/> <el-select v-model="form.assignment[scope.$index].content" style="width: 100%;" placeholder="请选择提取对象">
<el-option v-for="dict in dict.type.extract_object" :key="dict.value" :label="dict.label" :value="dict.value" @change="e => handleTableEdit(e, 'assignment', scope)"/>
</el-select>
<!-- <el-input placeholder="请输入提取对象" v-model="form.assignment[scope.$index].content" @input="e => handleTableEdit(e, 'assignment', scope)" clearable/>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提取表达式"> <el-table-column label="提取表达式">
@@ -124,7 +130,10 @@
</el-table-column> </el-table-column>
<el-table-column label="条件"> <el-table-column label="条件">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input placeholder="请输入条件" v-model="form.assertion[scope.$index].fn" @input="e => handleTableEdit(e, 'assertion', scope)" clearable/> <el-select v-model="form.assertion[scope.$index].fn" style="width: 100%;" placeholder="请选择条件">
<el-option v-for="dict in dict.type.assert_condition" :key="dict.value" :label="dict.label" :value="dict.value" @change="e => handleTableEdit(e, 'assertion', scope)"/>
</el-select>
<!-- <el-input placeholder="请输入条件" v-model="form.assertion[scope.$index].fn" @input="e => handleTableEdit(e, 'assertion', scope)" clearable/>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="内容"> <el-table-column label="内容">
@@ -170,7 +179,7 @@ import {listApi} from "@/api/test/api";
export default { export default {
components: {FolderPage, JsonEditorVue}, components: {FolderPage, JsonEditorVue},
dicts: ['http_method', 'http_protocol'], dicts: ['http_method', 'http_protocol','extract_type','extract_object','assert_condition'],
props: { props: {
form: { form: {
type: Object type: Object

View File

@@ -74,6 +74,43 @@ export default {
this.list = []; this.list = [];
res.data.forEach(item => { res.data.forEach(item => {
this.id = item.caseId; this.id = item.caseId;
let childrenList = item.childrenList;
if (childrenList) {
childrenList.forEach((children) => {
if (children.requestHeader === '[]') {
children.requestHeader = [];
children.requestHeader.push({
key: "",
value: "",
})
}
if (children.requestParams === '[]') {
children.requestParams = [];
children.requestParams.push({
key: "",
value: "",
})
}
if (children.assignment === '[]') {
children.assignment = [];
children.assignment.push({
name: "",
type: "",
content: "",
path: "",
})
}
if (children.assertion === '[]') {
children.assertion = [];
children.assertion.push({
name: "",
source: "",
fn: "",
target: ""
})
}
});
}
let p = { let p = {
...item, ...item,
assertion: item.assertion ? JSON.parse(item.assertion) : [], assertion: item.assertion ? JSON.parse(item.assertion) : [],