From 17e076a9db6203fc36e122eaab9b0b6a8981c8c2 Mon Sep 17 00:00:00 2001
From: "liu.shiyi" <liu.shiyi@ustcinfo.com>
Date: Wed, 2 Aug 2023 10:31:28 +0800
Subject: [PATCH 1/6] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9http=E6=95=B0?=
 =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=8A=A8=E6=80=81=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../DataSetManagement/src/HttpEditForm.vue    | 53 ++++++++++++++++---
 .../src/JsComponents/ParamsSettingDialog.vue  | 11 ++--
 2 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
index a73c3072..d47ec6c9 100644
--- a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
+++ b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
@@ -441,7 +441,7 @@
                 <el-button
                   type="text"
                   style="float: right;border: none;margin-top: -4px;"
-                  @click="$refs.paramsSettingDialog.open()"
+                  @click="openParamsSetDialog(false)"
                 >
                   配置
                 </el-button>
@@ -451,7 +451,7 @@
                   v-for="param in dataForm.config.paramsList"
                   :key="param.name"
                   class="field-item"
-                  @click="$refs.paramsSettingDialog.open()"
+                  @click="openParamsSetDialog(false)"
                 >
                   <span>{{ param.name }}</span>&nbsp;<span
                     v-show="param.remark"
@@ -463,7 +463,7 @@
                     class="edit_field"
                     type="text"
                     style="float: right;border: none;margin-top: 2px;"
-                    @click="$refs.paramsSettingDialog.open()"
+                    @click="openParamsSetDialog(false)"
                   >
                     配置
                   </el-button>
@@ -620,10 +620,11 @@
       <ParamsSettingDialog
         ref="paramsSettingDialog"
         :params-list="dataForm.config.paramsList"
-        :newParamsList="newParamsList"
+        :new-params-list="newParamsList"
         @saveParams="saveParams"
         @saveNewParams="saveNewParams"
         @getData="getData"
+        @getPramsList="getPramsList"
       />
       <OutputFieldDialog
         ref="outputFieldDialog"
@@ -908,7 +909,6 @@ export default {
       this.dataForm.config.params.splice(index, 1)
     },
     saveParams (val) {
-      debugger
       this.dataForm.config.paramsList = val
     },
     saveNewParams (val) {
@@ -975,6 +975,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 +1002,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 +1050,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 +1134,7 @@ export default {
       }
       return result
     },
+
     // 清空分类
     clearType () {
       this.typeName = ''
diff --git a/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
index 759b8c1f..3cd736e4 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)"
               />
             </template>
@@ -64,7 +65,10 @@
             filterable
           >
             <template slot-scope="scope">
-              <el-radio-group v-model="scope.row.require">
+              <el-radio-group
+                v-model="scope.row.require"
+                :disabled="isUpdate"
+              >
                 <el-radio :label="1">
                   是
                 </el-radio>
@@ -108,6 +112,7 @@
                 class="bs-el-input"
                 placeholder="请输入备注"
                 rows="2"
+                :readonly="isUpdate"
                 maxlength="200"
               />
             </template>
@@ -184,8 +189,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)
       }
@@ -219,7 +225,6 @@ export default {
       this.dialogVisible = false
     }
   }
-
 }
 </script>
 

From 8047055b0c9bda52145328ac41c9ed23e96781b1 Mon Sep 17 00:00:00 2001
From: "liu.shiyi" <liu.shiyi@ustcinfo.com>
Date: Wed, 2 Aug 2023 10:36:48 +0800
Subject: [PATCH 2/6] =?UTF-8?q?feat:http=E5=8D=95=E7=8B=AC=E5=BB=BA?=
 =?UTF-8?q?=E7=AB=8B=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../DataSetManagement/src/HttpEditForm.vue    |   2 +-
 .../src/HttpParamsSettingDialog.vue           | 233 ++++++++++++++++++
 .../src/JsComponents/ParamsSettingDialog.vue  |   8 +-
 3 files changed, 235 insertions(+), 8 deletions(-)
 create mode 100644 data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue

diff --git a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
index 32455583..6fe36b3b 100644
--- a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
+++ b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
@@ -643,7 +643,7 @@
 
 <script>
 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'
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..dbdf2693
--- /dev/null
+++ b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
@@ -0,0 +1,233 @@
+<template>
+  <div>
+    <el-dialog
+      title="参数配置"
+      :visible.sync="dialogVisible"
+      width="1000px"
+      append-to-body
+      :close-on-click-modal="false"
+      :before-close="handleClose"
+      class="bs-dialog-wrap bs-el-dialog"
+    >
+      <div class="bs-table-box">
+        <el-table
+          ref="singleTable"
+          :data="params"
+          :border="true"
+          align="center"
+          class="bs-el-table"
+        >
+          <el-empty slot="empty" />
+          <el-table-column
+            prop="name"
+            label="参数名称"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-input
+                v-model="scope.row.name"
+                class="bs-el-input"
+                placeholder="请输入名称"
+                clearable
+                readonly
+                @change="checkParamsName(scope.row)"
+              />
+            </template>
+          </el-table-column>
+          <!-- <el-table-column
+            prop="type"
+            label="参数类型"
+            align="center"
+            width="200"
+            filterable
+          >
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.type"
+                popper-class="bs-el-select"
+                class="bs-el-select"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in typeOptions"
+                  :key="item.value"
+                  :label="item.value"
+                  :value="item.value"
+                />
+              </el-select>
+            </template>
+          </el-table-column> -->
+          <el-table-column
+            prop="require"
+            label="是否必填"
+            align="center"
+            width="200"
+            filterable
+          >
+            <template slot-scope="scope">
+              <el-radio-group
+                v-model="scope.row.require"
+                :disabled="isUpdate"
+              >
+                <el-radio :label="1">
+                  是
+                </el-radio>
+                <el-radio :label="0">
+                  否
+                </el-radio>
+              </el-radio-group>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="value"
+            label="参数值"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-date-picker
+                v-if="scope.row.type === 'Date'"
+                v-model="scope.row.value"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                placeholder="选择日期时间"
+              />
+              <el-input
+                v-else
+                v-model="scope.row.value"
+                class="bs-el-input"
+                clearable
+                placeholder="请输入值"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="remark"
+            label="备注"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-input
+                v-model="scope.row.remark"
+                clearable
+                class="bs-el-input"
+                placeholder="请输入备注"
+                rows="2"
+                :readonly="isUpdate"
+                maxlength="200"
+              />
+            </template>
+          </el-table-column>
+          <!--          <el-table-column-->
+          <!--            label="操作"-->
+          <!--            width="105"-->
+          <!--            align="center"-->
+          <!--          >-->
+          <!--            <template slot="header">-->
+          <!--              <el-button-->
+          <!--                icon="el-icon-plus"-->
+          <!--                type="text"-->
+          <!--                class="no-border"-->
+          <!--                @click="addParam"-->
+          <!--              >-->
+          <!--                添加-->
+          <!--              </el-button>-->
+          <!--            </template>-->
+          <!--            <template slot-scope="scope">-->
+          <!--              <el-button-->
+          <!--                type="text"-->
+          <!--                style="color: #e47470;"-->
+          <!--                class="no-border"-->
+          <!--                @click="delRow(scope.$index)"-->
+          <!--              >-->
+          <!--                删除-->
+          <!--              </el-button>-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+        </el-table>
+      </div>
+      <span
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          class="bs-el-button-default"
+          @click="cancel"
+        >
+          取消
+        </el-button>
+        <el-button
+          type="primary"
+          @click="confirm"
+        >
+          确定
+        </el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { cloneDeep } from 'lodash'
+export default {
+  name: 'HttpParamsSettingDialog.vue',
+  props: {
+    paramsList: {
+      type: Array,
+      default: () => []
+    },
+    newParamsList: {
+      type: Array,
+      default: () => []
+    }
+  },
+  data () {
+    return {
+      params: [],
+      isUpdate: false,
+      dialogVisible: false
+    }
+  },
+  methods: {
+    open (isUpdate = false) {
+      this.$emit('getPramsList')
+      if (isUpdate) {
+        this.params = this.newParamsList
+      } else {
+        this.params = cloneDeep(this.paramsList)
+      }
+      this.isUpdate = isUpdate
+      this.dialogVisible = true
+    },
+    close () {
+      this.dialogVisible = false
+    },
+    handleClose () {
+      this.dialogVisible = false
+    },
+    checkParamsName (value) {
+      const checkList = this.params.filter(item => item.fieldName === value.name)
+      if (checkList.length) {
+        this.$message.warning('参数名称不可以与字段名相同!')
+        value.name = ''
+      }
+    },
+    cancel () {
+      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.dialogVisible = false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '../../assets/style/bsTheme.scss';
+</style>
diff --git a/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
index 3cd736e4..f0c5b046 100644
--- a/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
+++ b/data-room-ui/packages/DataSetManagement/src/JsComponents/ParamsSettingDialog.vue
@@ -215,13 +215,7 @@ 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
     }
   }

From 99b611e7e8ed8df2f4f812ac8374f0fddbcf0425 Mon Sep 17 00:00:00 2001
From: "liu.shiyi" <liu.shiyi@ustcinfo.com>
Date: Wed, 2 Aug 2023 11:21:35 +0800
Subject: [PATCH 3/6] =?UTF-8?q?feat:http=E6=95=B0=E6=8D=AE=E9=9B=86?=
 =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/HttpParamsSettingDialog.vue           | 263 ++++++++----------
 1 file changed, 117 insertions(+), 146 deletions(-)

diff --git a/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
index dbdf2693..feb09e0f 100644
--- a/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
+++ b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
@@ -9,142 +9,104 @@
       :before-close="handleClose"
       class="bs-dialog-wrap bs-el-dialog"
     >
-      <div class="bs-table-box">
-        <el-table
-          ref="singleTable"
-          :data="params"
-          :border="true"
-          align="center"
-          class="bs-el-table"
-        >
-          <el-empty slot="empty" />
-          <el-table-column
-            prop="name"
-            label="参数名称"
-            align="center"
-          >
-            <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.name"
-                class="bs-el-input"
-                placeholder="请输入名称"
-                clearable
-                readonly
-                @change="checkParamsName(scope.row)"
-              />
-            </template>
-          </el-table-column>
-          <!-- <el-table-column
-            prop="type"
-            label="参数类型"
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="formRules"
+      >
+        <div class="bs-table-box">
+          <el-table
+            ref="singleTable"
+            :data="form.params"
+            :border="true"
             align="center"
-            width="200"
-            filterable
+            class="bs-el-table"
           >
-            <template slot-scope="scope">
-              <el-select
-                v-model="scope.row.type"
-                popper-class="bs-el-select"
-                class="bs-el-select"
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in typeOptions"
-                  :key="item.value"
-                  :label="item.value"
-                  :value="item.value"
+            <el-empty slot="empty" />
+            <el-table-column
+              prop="name"
+              label="参数名称"
+              align="center"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.name"
+                  class="bs-el-input"
+                  placeholder="请输入名称"
+                  clearable
+                  readonly
+                  @change="checkParamsName(scope.row)"
                 />
-              </el-select>
-            </template>
-          </el-table-column> -->
-          <el-table-column
-            prop="require"
-            label="是否必填"
-            align="center"
-            width="200"
-            filterable
-          >
-            <template slot-scope="scope">
-              <el-radio-group
-                v-model="scope.row.require"
-                :disabled="isUpdate"
-              >
-                <el-radio :label="1">
-                  是
-                </el-radio>
-                <el-radio :label="0">
-                  否
-                </el-radio>
-              </el-radio-group>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="value"
-            label="参数值"
-            align="center"
-          >
-            <template slot-scope="scope">
-              <el-date-picker
-                v-if="scope.row.type === 'Date'"
-                v-model="scope.row.value"
-                type="datetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="选择日期时间"
-              />
-              <el-input
-                v-else
-                v-model="scope.row.value"
-                class="bs-el-input"
-                clearable
-                placeholder="请输入值"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="remark"
-            label="备注"
-            align="center"
-          >
-            <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.remark"
-                clearable
-                class="bs-el-input"
-                placeholder="请输入备注"
-                rows="2"
-                :readonly="isUpdate"
-                maxlength="200"
-              />
-            </template>
-          </el-table-column>
-          <!--          <el-table-column-->
-          <!--            label="操作"-->
-          <!--            width="105"-->
-          <!--            align="center"-->
-          <!--          >-->
-          <!--            <template slot="header">-->
-          <!--              <el-button-->
-          <!--                icon="el-icon-plus"-->
-          <!--                type="text"-->
-          <!--                class="no-border"-->
-          <!--                @click="addParam"-->
-          <!--              >-->
-          <!--                添加-->
-          <!--              </el-button>-->
-          <!--            </template>-->
-          <!--            <template slot-scope="scope">-->
-          <!--              <el-button-->
-          <!--                type="text"-->
-          <!--                style="color: #e47470;"-->
-          <!--                class="no-border"-->
-          <!--                @click="delRow(scope.$index)"-->
-          <!--              >-->
-          <!--                删除-->
-          <!--              </el-button>-->
-          <!--            </template>-->
-          <!--          </el-table-column>-->
-        </el-table>
-      </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="require"
+              label="是否必填"
+              align="center"
+              width="200"
+              filterable
+            >
+              <template slot-scope="scope">
+                <el-radio-group
+                  v-model="scope.row.require"
+                  :disabled="isUpdate"
+                >
+                  <el-radio :label="1">
+                    是
+                  </el-radio>
+                  <el-radio :label="0">
+                    否
+                  </el-radio>
+                </el-radio-group>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="value"
+              label="参数值"
+              align="center"
+            >
+              <template slot-scope="scope">
+                <el-date-picker
+                  v-if="scope.row.type === 'Date'"
+                  v-model="scope.row.value"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="选择日期时间"
+                />
+                <el-form-item
+                  v-else
+                  :prop="'params.' + scope.$index + '.value'"
+                  :rules="scope.row.require ?formRules.value:null"
+                >
+                  <el-input
+                    v-model="scope.row.value"
+                    class="bs-el-input"
+                    clearable
+                    placeholder="请输入值"
+                  />
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="remark"
+              label="备注"
+              align="center"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.remark"
+                  clearable
+                  class="bs-el-input"
+                  placeholder="请输入备注"
+                  rows="2"
+                  :readonly="isUpdate"
+                  maxlength="200"
+                />
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </el-form>
       <span
         slot="footer"
         class="dialog-footer"
@@ -182,18 +144,23 @@ export default {
   },
   data () {
     return {
-      params: [],
       isUpdate: false,
-      dialogVisible: false
+      dialogVisible: false,
+      form: {
+        params: []
+      },
+      formRules: {
+        value: [{ required: true, message: '参数值不能为空', trigger: 'blur' }]
+      }
     }
   },
   methods: {
     open (isUpdate = false) {
       this.$emit('getPramsList')
       if (isUpdate) {
-        this.params = this.newParamsList
+        this.form.params = this.newParamsList
       } else {
-        this.params = cloneDeep(this.paramsList)
+        this.form.params = cloneDeep(this.paramsList)
       }
       this.isUpdate = isUpdate
       this.dialogVisible = true
@@ -205,7 +172,7 @@ export default {
       this.dialogVisible = false
     },
     checkParamsName (value) {
-      const checkList = this.params.filter(item => item.fieldName === value.name)
+      const checkList = this.form.params.filter(item => item.fieldName === value.name)
       if (checkList.length) {
         this.$message.warning('参数名称不可以与字段名相同!')
         value.name = ''
@@ -215,14 +182,18 @@ 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.dialogVisible = false
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          if (!this.isUpdate) {
+            this.$emit('saveParams', cloneDeep(this.form.params))
+          } else {
+            console.log(this.form.params)
+            this.$emit('saveNewParams', cloneDeep(this.form.params))
+          }
+          this.$emit('getData')
+          this.dialogVisible = false
+        }
+      })
     }
   }
 }

From fd708d0efb287e713c6513f695782d1ff60dff04 Mon Sep 17 00:00:00 2001
From: "liu.shiyi" <liu.shiyi@ustcinfo.com>
Date: Wed, 2 Aug 2023 11:25:09 +0800
Subject: [PATCH 4/6] =?UTF-8?q?feat:http=E6=95=B0=E6=8D=AE=E9=9B=86?=
 =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=BC=B9=E7=AA=97=E6=B8=85=E7=A9=BA=E6=A0=A1?=
 =?UTF-8?q?=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../packages/DataSetManagement/src/HttpParamsSettingDialog.vue | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
index feb09e0f..15631f97 100644
--- a/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
+++ b/data-room-ui/packages/DataSetManagement/src/HttpParamsSettingDialog.vue
@@ -166,9 +166,11 @@ export default {
       this.dialogVisible = true
     },
     close () {
+      this.$refs.form.clearValidate()// 清空校验信息
       this.dialogVisible = false
     },
     handleClose () {
+      this.$refs.form.clearValidate() // 清空校验信息
       this.dialogVisible = false
     },
     checkParamsName (value) {
@@ -179,6 +181,7 @@ export default {
       }
     },
     cancel () {
+      this.$refs.form.clearValidate() // 清空校验信息
       this.dialogVisible = false
     },
     confirm () {

From d1efbc90af2329fd1da7edf0dbdf04770a76f83f Mon Sep 17 00:00:00 2001
From: "liu.shiyi" <liu.shiyi@ustcinfo.com>
Date: Wed, 2 Aug 2023 15:29:55 +0800
Subject: [PATCH 5/6] =?UTF-8?q?feat:http=E6=95=B0=E6=8D=AE=E9=9B=86?=
 =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=84=9A=E6=9C=AC=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../DataSetManagement/src/HttpEditForm.vue    | 82 ++++++++++++++++++-
 1 file changed, 80 insertions(+), 2 deletions(-)

diff --git a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
index 6fe36b3b..6413e7bd 100644
--- a/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
+++ b/data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
@@ -223,6 +223,7 @@
                       >
                         <el-input
                           v-model="dataForm.config.headers[index].key"
+                          class="bs-el-input"
                           placeholder="请输入键"
                           clearable
                           @blur="dataForm.config.headers[index].key = inputChange($event)"
@@ -239,6 +240,7 @@
                         <el-input
                           v-model="dataForm.config.headers[index].value"
                           placeholder="请输入值"
+                          class="bs-el-input"
                           clearable
                           @blur="dataForm.config.headers[index].value = inputChange($event)"
                         />
@@ -296,6 +298,7 @@
                       >
                         <el-input
                           v-model="dataForm.config.params[index].key"
+                          class="bs-el-input"
                           placeholder="请输入键"
                           clearable
                           @blur="dataForm.config.params[index].key = inputChange($event)"
@@ -312,6 +315,7 @@
                         <el-input
                           v-model="dataForm.config.params[index].value"
                           placeholder="请输入值"
+                          class="bs-el-input"
                           clearable
                           @blur="dataForm.config.params[index].value = inputChange($event)"
                         />
@@ -384,9 +388,21 @@
                     v-if="dataForm.config.requestType === 'frontend'"
                     class="bs-codemirror-bottom-text"
                   >
-                    <strong>请求脚本设置规则: 请求脚本已经内置参数req,可参考请求拦截的回调参数config直接使用(修改url中的参数例外),
+                    <strong>请求脚本设置规则: 请求脚本已经内置参数req,可参考下面的示例进行配置:
+                      <br> 如修改url中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">req.url.age=17</span>
                       <br> 如修改请求头中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">req.headers.name='tom'</span>
-                      <br> 如修改url中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">req.urlKey.age=17</span>
+                      <br> 如修改请求参数中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">req.params.age=17</span>
+                      <br> 如修改请求体中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">req.data.test='test'</span>
+                    </strong>
+                  </div>
+                  <div
+                    v-else
+                    class="bs-codemirror-bottom-text"
+                  >
+                    <strong>请求脚本设置规则: 请求脚本已经内置参数:请求头:headers(对象类型),请求参数params(对象类型),请求体body(字符串类型),注意:如果body有修改,必须在脚本最后将字符串body返回,可参考下面的示例进行配置:
+                      <br> 如修改请求头中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">headers.name='tom'</span>
+                      <br> 如修改请求参数中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">params.age=17</span>
+                      <br> 如修改请求体中对应参数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">body='XXXX'</span>
                     </strong>
                   </div>
                 </el-form-item>
@@ -412,6 +428,14 @@
                     <strong>响应脚本设置规则: 接口返回数据已经内置到参数response中,可直接使用,但是必须要返回设置后的数据。<br> 例如:<span style="color: red;">let data =response.data;         return data;</span>
                     </strong>
                   </div>
+                  <div
+                    v-else
+                    class="bs-codemirror-bottom-text"
+                  >
+                    <strong>响应脚本设置规则: 接口返回数据已经内置到参数responseString(已转为字符串)中,,如果需要处理成JSON格式推荐使用JsoonSlurper类。
+                      <br> 例如:<span style="color: red;"></span>
+                    </strong>
+                  </div>
                 </el-form-item>
               </el-tab-pane>
             </el-tabs>
@@ -1340,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;
+}
 </style>

From b9e0adec20aeb91da4f6d3ca1dc03a24820e0ab9 Mon Sep 17 00:00:00 2001
From: "hong.yang" <hong.yang@ustcinfo.com>
Date: Wed, 2 Aug 2023 15:58:12 +0800
Subject: [PATCH 6/6] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A7=E6=95=B0?=
 =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=8F=92=E4=BB=B6=E7=89=88=E6=9C=AC=E5=88=B0?=
 =?UTF-8?q?1.0.1.2023080201.Alpha?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

升级数据集插件版本到1.0.1.2023080201.Alpha
---
 .../module/manage/service/impl/DatasetExtendServiceImpl.java | 5 +++++
 DataRoom/pom.xml                                             | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

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 @@
         <clickhouse.version>0.3.2</clickhouse.version>
         <commons-io.version>2.2</commons-io.version>
         <okhttp3.version>4.9.1</okhttp3.version>
-        <dataset.core.version>1.0.1.2023080101.Alpha</dataset.core.version>
+        <dataset.core.version>1.0.1.2023080201.Alpha</dataset.core.version>
     </properties>
 
     <dependencyManagement>