请求脚本设置规则: 请求脚本已经内置参数req,可参考请求拦截的回调参数config直接使用(修改url中的参数例外),
+ 请求脚本设置规则: 请求脚本已经内置参数req,可参考下面的示例进行配置:
+
如修改url中对应参数 : req.url.age=17
如修改请求头中对应参数 : req.headers.name='tom'
-
如修改url中对应参数 : req.urlKey.age=17
+
如修改请求参数中对应参数 : req.params.age=17
+
如修改请求体中对应参数 : req.data.test='test'
+
+
+
+ 请求脚本设置规则: 请求脚本已经内置参数:请求头:headers(对象类型),请求参数params(对象类型),请求体body(字符串类型),注意:如果body有修改,必须在脚本最后将字符串body返回,可参考下面的示例进行配置:
+
如修改请求头中对应参数 : headers.name='tom'
+
如修改请求参数中对应参数 : params.age=17
+
如修改请求体中对应参数 : body='XXXX'
@@ -412,6 +428,14 @@
响应脚本设置规则: 接口返回数据已经内置到参数response中,可直接使用,但是必须要返回设置后的数据。
例如:let data =response.data; return data;
+
+ 响应脚本设置规则: 接口返回数据已经内置到参数responseString(已转为字符串)中,,如果需要处理成JSON格式推荐使用JsoonSlurper类。
+
例如:
+
+
@@ -441,7 +465,7 @@
配置
@@ -451,7 +475,7 @@
v-for="param in dataForm.config.paramsList"
:key="param.name"
class="field-item"
- @click="$refs.paramsSettingDialog.open()"
+ @click="openParamsSetDialog(false)"
>
{{ param.name }}
配置
@@ -624,6 +648,7 @@
@saveParams="saveParams"
@saveNewParams="saveNewParams"
@getData="getData"
+ @getPramsList="getPramsList"
/>
import LabelSelect from 'data-room-ui/DataSetLabelManagement/src/LabelSelect.vue'
-import ParamsSettingDialog from './JsComponents/ParamsSettingDialog.vue'
+import ParamsSettingDialog from './HttpParamsSettingDialog.vue'
import OutputFieldDialog from './JsComponents/OutputFieldDialog.vue'
import FieldFillDialog from './JsComponents/FieldFillDialog.vue'
import { nameCheckRepeat, datasetAdd, datasetUpdate, getDataset, getCategoryTree, datasetExecuteTest } from 'data-room-ui/js/utils/datasetConfigService'
@@ -908,7 +933,6 @@ export default {
this.dataForm.config.params.splice(index, 1)
},
saveParams (val) {
- debugger
this.dataForm.config.paramsList = val
},
saveNewParams (val) {
@@ -975,6 +999,14 @@ export default {
})
this.fieldDesc = fieldDesc
},
+ // 打开动态参数设置弹窗
+ async openParamsSetDialog (isUpdate) {
+ this.getPramsList()
+ const oldList = _.cloneDeep(this.dataForm.config.paramsList)
+ this.newParamsList = this.compareParamsList(this.newParamsList, oldList)
+ await this.$nextTick()
+ this.$refs.paramsSettingDialog.open(isUpdate)
+ },
// 获取请求地址、请求头、请求参数、请求体中所有的变量,在动态参数中进行变量
getPramsList () {
const paramNames1 = this.getValName(this.dataForm.config.url)
@@ -994,13 +1026,40 @@ export default {
type: 'String',
value: '',
status: 1,
- require: 1,
+ require: 0,
remark: ''
})
}
})
this.dataForm.config.paramsList = _.cloneDeep(params)
},
+ // 用来对两个数组进行对比
+ compareParamsList (newList, oldList) {
+ // 创建一个空数组,用于存储最终的结果
+ const result = []
+
+ // 遍历A数组中的每个对象
+ for (const objA of oldList) {
+ let found = false // 标志变量,用于表示是否在B数组中找到对应的属性
+
+ // 遍历B数组中的每个对象
+ for (const objB of newList) {
+ if (objA.name === objB.name) {
+ // 如果A和B中的fieldName相同,则将B中该属性的属性值赋值给A,并将该对象添加到结果数组中
+ objA.value = objB.value
+ result.push(objA)
+ found = true
+ break
+ }
+ }
+
+ // 如果在B数组中没有找到对应的属性,则直接将该对象添加到结果数组中
+ if (!found) {
+ result.push(objA)
+ }
+ }
+ return result
+ },
// 获取字符串中${变量名}中的变量名
getValName (str) {
// 定义正则表达式模式
@@ -1015,12 +1074,13 @@ export default {
},
// 点击解析按钮
scriptExecute (isInit = false) {
- this.getPramsList()
+ // this.getPramsList()
+ // this.newParamsList = this.compareParamsList(this.newParamsList, this.dataForm.config.paramsList)
// 如果动态参数未配置,则直接打开配置弹窗
// const flag = this.dataForm.config.paramsList.some(item => !item.value)
// 每次执行时只要有动态参数就会打开参数配置的弹窗进行设置
if (this.dataForm.config.paramsList && this.dataForm.config.paramsList.length && !isInit) {
- this.$refs.paramsSettingDialog.open(true)
+ this.openParamsSetDialog(true)
} else {
this.getData()
}
@@ -1098,6 +1158,7 @@ export default {
}
return result
},
+
// 清空分类
clearType () {
this.typeName = ''
@@ -1303,4 +1364,58 @@ export default {
.preview-table{
max-height: 300px!important;
}
+///* 修改表格的滚动条样式 */
+///deep/.el-table__body-wrapper::-webkit-scrollbar {
+// width: 4px; /* 设置滚动条宽度 */
+//}
+//
+///deep/.el-table__body-wrapper::-webkit-scrollbar-thumb {
+// background-color: #000; /* 设置滚动条滑块的背景颜色 */
+//}
+//
+///deep/.el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
+// background-color: #555; /* 设置鼠标悬停在滚动条滑块上时的背景颜色 */
+//}
+//
+///deep/.el-table__body-wrapper::-webkit-scrollbar-track {
+// background-color: #000; /* 设置滚动条轨道的背景颜色 */
+//}
+// 滚动条的宽度
+// .el-table__body-wrapper::-webkit-scrollbar {
+// width: 6px!important; // 横向滚动条
+// height: 6px!important; // 纵向滚动条 必写
+//}
+//// 滚动条的滑块
+// .el-table__body-wrapper::-webkit-scrollbar-thumb {
+// background-color: #ddd!important;
+// border-radius: 3px!important;
+//}
+.el-table__body-wrapper::-webkit-scrollbar {
+ display: block;
+ width: 16px; /*滚动条宽度*/
+ height: 16px; /*滚动条高度*/
+}
+/*定义滚动条轨道 内阴影+圆角*/
+//.el-table__body-wrapper::-webkit-scrollbar-track {
+// box-shadow: 0px 1px 3px #292c34 inset; /*滚动条的背景区域的内阴影*/
+// // border-radius: 10px; /*滚动条的背景区域的圆角*/
+// background-color: #292c34; /*滚动条的背景颜色*/
+//}
+///*定义滑块 内阴影+圆角*/
+//.el-table__body-wrapper::-webkit-scrollbar-thumb {
+// box-shadow: 0px 1px 3px #494d5b inset; /*滚动条的内阴影*/
+// border-radius: 10px; /*滚动条的圆角*/
+// background-color: #494d5b; /*滚动条的背景颜色*/
+// border: 5px solid #292c34;
+//}
+/*滚动条样式*/
+::v-deep ::-webkit-scrollbar {
+ width: 4px;
+ border-radius: 4px;
+ height: 4px;
+}
+::v-deep ::-webkit-scrollbar-thumb {
+ background: #fff !important;
+ border-radius: 10px;
+}
diff --git a/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
new file mode 100644
index 00000000..15631f97
--- /dev/null
+++ b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是
+
+
+ 否
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
index 26e088a3..8ccf549b 100644
--- a/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
+++ b/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
@@ -29,6 +29,7 @@
class="bs-el-input"
placeholder="请输入名称"
clearable
+ readonly
@change="checkParamsName(scope.row)"
/>
@@ -66,6 +67,7 @@
@@ -111,6 +113,7 @@
class="bs-el-input"
placeholder="请输入备注"
rows="2"
+ :readonly="isUpdate"
maxlength="200"
/>
@@ -187,8 +190,9 @@ export default {
},
methods: {
open (isUpdate = false) {
+ this.$emit('getPramsList')
if (isUpdate) {
- this.params = cloneDeep(this.newParamsList)
+ this.params = this.newParamsList
} else {
this.params = cloneDeep(this.paramsList)
}
@@ -212,17 +216,10 @@ export default {
this.dialogVisible = false
},
confirm () {
- if (!this.isUpdate) {
- this.$emit('saveParams', cloneDeep(this.params))
- } else {
- console.log(this.params)
- this.$emit('saveNewParams', cloneDeep(this.params))
- }
- this.$emit('getData')
+ this.$emit('saveParams', cloneDeep(this.params))
this.dialogVisible = false
}
}
-
}