|
@@ -3,12 +3,14 @@
|
|
<el-dialog
|
|
<el-dialog
|
|
:close-on-click-modal="false"
|
|
:close-on-click-modal="false"
|
|
:close-on-press-escape="false"
|
|
:close-on-press-escape="false"
|
|
- :title="'新增API模式自定义事件'"
|
|
|
|
:visible.sync="showEditComputedField"
|
|
:visible.sync="showEditComputedField"
|
|
append-to-body
|
|
append-to-body
|
|
class="dataset-edit-computed-fields"
|
|
class="dataset-edit-computed-fields"
|
|
width="700px"
|
|
width="700px"
|
|
>
|
|
>
|
|
|
|
+ <p slot="title">
|
|
|
|
+ {{ id ? '编辑自定义事件' : '新增自定义事件' }}
|
|
|
|
+ </p>
|
|
<div>事件名称:<el-input style="width:300px" v-model="eventName" placeholder="请输入事件名称"></el-input></div>
|
|
<div>事件名称:<el-input style="width:300px" v-model="eventName" placeholder="请输入事件名称"></el-input></div>
|
|
<el-tabs v-model="activeName">
|
|
<el-tabs v-model="activeName">
|
|
<el-tab-pane label="请求设置" name="post">
|
|
<el-tab-pane label="请求设置" name="post">
|
|
@@ -38,7 +40,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="参数值" align="center">
|
|
<el-table-column label="参数值" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-popover :ref="`jarParamSelector-headers}`" key="headers" placement="bottom-start" trigger="click">
|
|
|
|
|
|
+ <el-popover :ref="`jarParamSelector-headers`" key="headers" placement="bottom-start" trigger="click">
|
|
<div style="display: flex">
|
|
<div style="display: flex">
|
|
<div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
<div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
<p>引用字段</p>
|
|
<p>引用字段</p>
|
|
@@ -53,7 +55,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
- <el-cascader-panel v-model="nowParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(scope.row,`\${${$event}}`)"></el-cascader-panel>
|
|
|
|
|
|
+ <el-cascader-panel v-model="hedParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(scope.row,`\${${$event}}`)"></el-cascader-panel>
|
|
</div>
|
|
</div>
|
|
<el-button slot="reference" size="mini" type="success" plain>插入变量</el-button>
|
|
<el-button slot="reference" size="mini" type="success" plain>插入变量</el-button>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -78,7 +80,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="参数值" align="center">
|
|
<el-table-column label="参数值" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-popover :ref="`jarParamSelector-params}`" key="params" placement="bottom-start" trigger="click">
|
|
|
|
|
|
+ <el-popover :ref="`jarParamSelector-params`" key="params" placement="bottom-start" trigger="click">
|
|
<div style="display: flex">
|
|
<div style="display: flex">
|
|
<div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
<div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
<p>引用字段</p>
|
|
<p>引用字段</p>
|
|
@@ -93,7 +95,7 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
- <el-cascader-panel v-model="nowParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(scope.row,`\${${$event}}`)"></el-cascader-panel>
|
|
|
|
|
|
+ <el-cascader-panel v-model="parParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(scope.row,`\${${$event}}`)"></el-cascader-panel>
|
|
</div>
|
|
</div>
|
|
<el-button slot="reference" size="mini" type="success" plain>插入变量</el-button>
|
|
<el-button slot="reference" size="mini" type="success" plain>插入变量</el-button>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -123,7 +125,26 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="value" align="center">
|
|
<el-table-column label="value" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-input v-model="scope.row.value" placeholder="value" ></el-input>
|
|
|
|
|
|
+ <el-popover :ref="`jarParamSelector-body`" key="params" placement="bottom-start" trigger="click">
|
|
|
|
+ <div style="display: flex">
|
|
|
|
+ <div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
|
|
+ <p>引用字段</p>
|
|
|
|
+ <template v-for="field of tobeChooseWeidu">
|
|
|
|
+ <div :key="field.columnTitle" :title="field.columnName" class="weidu" @click="setJarValueFun(scope.row,`[${field.columnName}]`)">
|
|
|
|
+ {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-for="field of tobeChooseZhibiao">
|
|
|
|
+ <div :key="field.columnTitle" :title="field.columnName" class="zhibiao" @click="setJarValueFun(scope.row,`[${field.columnName}]`)">
|
|
|
|
+ {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <el-cascader-panel v-model="bodParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(scope.row,`\${${$event}}`)"></el-cascader-panel>
|
|
|
|
+ </div>
|
|
|
|
+ <el-button slot="reference" size="mini" type="success" plain>插入变量</el-button>
|
|
|
|
+ </el-popover>
|
|
|
|
+ <el-input v-model="scope.row.value" placeholder="value" style="width:300px;margin-left:10px;"></el-input>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -135,34 +156,39 @@
|
|
</el-form>
|
|
</el-form>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="响应设置" name="req">
|
|
<el-tab-pane label="响应设置" name="req">
|
|
- <el-button size="mini" type="success" plain icon="el-icon-plus" @click="addForm.fields.push({name:'',type:'STRING',jsonpath:''})">添加响应字段</el-button>
|
|
|
|
|
|
+<!-- <el-button size="mini" type="success" plain icon="el-icon-plus" @click="addForm.fields.push({name:'',type:'STRING',jsonpath:''})">添加响应字段</el-button>-->
|
|
<el-button size="mini" plain icon="el-icon-refresh-left" @click="getReqData">响应数据结构预览</el-button>
|
|
<el-button size="mini" plain icon="el-icon-refresh-left" @click="getReqData">响应数据结构预览</el-button>
|
|
<el-button size="mini" type="text" icon="el-icon-paperclip" @click="openJson">jsonpath使用说明</el-button>
|
|
<el-button size="mini" type="text" icon="el-icon-paperclip" @click="openJson">jsonpath使用说明</el-button>
|
|
<el-table size="mini" :data="addForm.fields" border style="width: 100%;margin:10px 0;">
|
|
<el-table size="mini" :data="addForm.fields" border style="width: 100%;margin:10px 0;">
|
|
- <el-table-column width="50" align="center">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <i class="el-icon-delete" style="font-size:20px" @click="addForm.fields.splice(scope.$index,1)"></i>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
+<!-- <el-table-column width="50" align="center">-->
|
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
|
+<!-- <i class="el-icon-delete" style="font-size:20px" @click="addForm.fields.splice(scope.$index,1)"></i>-->
|
|
|
|
+<!-- </template>-->
|
|
|
|
+<!-- </el-table-column>-->
|
|
<el-table-column label="字段" width="180" align="center">
|
|
<el-table-column label="字段" width="180" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.name" placeholder="字段名称"></el-input>
|
|
<el-input v-model="scope.row.name" placeholder="字段名称"></el-input>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="字段类型" width="180" align="center">
|
|
|
|
|
|
+ <el-table-column label="字段值" width="180" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-select v-model="scope.row.type" placeholder="请选择字段类型">
|
|
|
|
- <el-option label="字符串" value="STRING"></el-option>
|
|
|
|
- <el-option label="整数" value="INT"></el-option>
|
|
|
|
- <el-option label="长整数" value="BIGINT"></el-option>
|
|
|
|
- <el-option label="浮点数" value="DOUBLE"></el-option>
|
|
|
|
- <el-option label="精确浮点数" value="FLOAT"></el-option>
|
|
|
|
- <el-option label="日期" value="DATE"></el-option>
|
|
|
|
- <el-option label="时间" value="TIME"></el-option>
|
|
|
|
- <el-option label="日期时间" value="TIMESTAMP"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-input v-model="scope.row.value" placeholder="字段名称"></el-input>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
+<!-- <el-table-column label="字段类型" width="180" align="center">-->
|
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
|
+<!-- <el-select v-model="scope.row.type" placeholder="请选择字段类型">-->
|
|
|
|
+<!-- <el-option label="字符串" value="STRING"></el-option>-->
|
|
|
|
+<!-- <el-option label="整数" value="INT"></el-option>-->
|
|
|
|
+<!-- <el-option label="长整数" value="BIGINT"></el-option>-->
|
|
|
|
+<!-- <el-option label="浮点数" value="DOUBLE"></el-option>-->
|
|
|
|
+<!-- <el-option label="精确浮点数" value="FLOAT"></el-option>-->
|
|
|
|
+<!-- <el-option label="日期" value="DATE"></el-option>-->
|
|
|
|
+<!-- <el-option label="时间" value="TIME"></el-option>-->
|
|
|
|
+<!-- <el-option label="日期时间" value="TIMESTAMP"></el-option>-->
|
|
|
|
+<!-- </el-select>-->
|
|
|
|
+<!-- </template>-->
|
|
|
|
+<!-- </el-table-column>-->
|
|
<el-table-column label="json路径" align="center">
|
|
<el-table-column label="json路径" align="center">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.jsonpath" placeholder="json路径"></el-input>
|
|
<el-input v-model="scope.row.jsonpath" placeholder="json路径"></el-input>
|
|
@@ -209,11 +235,13 @@ export default {
|
|
headers:[{name:'',value:''}],
|
|
headers:[{name:'',value:''}],
|
|
bodyType:'form-data',
|
|
bodyType:'form-data',
|
|
body:'',
|
|
body:'',
|
|
- fields:[{name:'',type:'STRING',jsonpath:''}],
|
|
|
|
|
|
+ fields:[{name:'',value:'',jsonpath:''}],
|
|
},
|
|
},
|
|
tobeChooseWeidu: [], // 计算字段编辑框里维度字段
|
|
tobeChooseWeidu: [], // 计算字段编辑框里维度字段
|
|
tobeChooseZhibiao: [], // 计算字段编辑框里指标字段
|
|
tobeChooseZhibiao: [], // 计算字段编辑框里指标字段
|
|
- nowParam:[],
|
|
|
|
|
|
+ hedParam:[],
|
|
|
|
+ parParam:[],
|
|
|
|
+ bodParam:[],
|
|
paramList: [],
|
|
paramList: [],
|
|
template:'',
|
|
template:'',
|
|
rules: {
|
|
rules: {
|
|
@@ -262,7 +290,7 @@ export default {
|
|
headers:[{name:'',value:''}],
|
|
headers:[{name:'',value:''}],
|
|
body:'',
|
|
body:'',
|
|
bodyType:'form-data',
|
|
bodyType:'form-data',
|
|
- fields:[{name:'',type:'STRING',jsonpath:''}],
|
|
|
|
|
|
+ fields:[{name:'',value:'',jsonpath:''}],
|
|
}
|
|
}
|
|
this.formDataList = [{key:'',value:''}]
|
|
this.formDataList = [{key:'',value:''}]
|
|
}
|
|
}
|
|
@@ -362,6 +390,10 @@ export default {
|
|
if (this.addForm.method === 'POST' && this.addForm.bodyType === 'form-data') {
|
|
if (this.addForm.method === 'POST' && this.addForm.bodyType === 'form-data') {
|
|
this.addForm.body = JSON.stringify(this.formDataList)
|
|
this.addForm.body = JSON.stringify(this.formDataList)
|
|
}
|
|
}
|
|
|
|
+ if (this.addForm.method !== 'POST') {
|
|
|
|
+ this.addForm.body = ''
|
|
|
|
+ this.formDataList = [{key:'',value:''}]
|
|
|
|
+ }
|
|
let params = {
|
|
let params = {
|
|
id: this.id,
|
|
id: this.id,
|
|
eventName: this.eventName,
|
|
eventName: this.eventName,
|