diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/service/impl/DatasetExtendServiceImpl.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/service/impl/DatasetExtendServiceImpl.java index 2b7db783..60efc03b 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/service/impl/DatasetExtendServiceImpl.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/service/impl/DatasetExtendServiceImpl.java @@ -44,4 +44,9 @@ public class DatasetExtendServiceImpl implements IDatasetExtendService { msg = msg.substring(0, msg.length() - 1); return msg; } + + @Override + public String getServiceType() { + return "大屏"; + } } diff --git a/DataRoom/pom.xml b/DataRoom/pom.xml index 6aef891c..d031ac60 100644 --- a/DataRoom/pom.xml +++ b/DataRoom/pom.xml @@ -60,7 +60,7 @@ 0.3.2 2.2 4.9.1 - 1.0.1.2023080101.Alpha + 1.0.1.2023080201.Alpha diff --git a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue index 242c08f9..8e345b40 100644 --- a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue +++ b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue @@ -223,6 +223,7 @@ > @@ -296,6 +298,7 @@ > @@ -384,9 +388,21 @@ v-if="dataForm.config.requestType === 'frontend'" class="bs-codemirror-bottom-text" > - 请求脚本设置规则: 请求脚本已经内置参数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 @@ @@ -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 } } - }