浏览代码

Merge remote-tracking branch 'origin/master'

liu.shiyi 1 年之前
父节点
当前提交
4d62c0e8d8
共有 19 个文件被更改,包括 384 次插入158 次删除
  1. 3 0
      DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenDateTimePickerChart.java
  2. 3 0
      DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenTimePickerChart.java
  3. 1 0
      data-room-ui/packages/BasicComponents/DateTimePicker/index.vue
  4. 101 39
      data-room-ui/packages/BasicComponents/DateTimePicker/setting.vue
  5. 2 1
      data-room-ui/packages/BasicComponents/DateTimePicker/settingConfig.js
  6. 1 1
      data-room-ui/packages/BasicComponents/Input/settingConfig.js
  7. 1 0
      data-room-ui/packages/BasicComponents/TimePicker/index.vue
  8. 70 20
      data-room-ui/packages/BasicComponents/TimePicker/setting.vue
  9. 2 0
      data-room-ui/packages/BasicComponents/TimePicker/settingConfig.js
  10. 24 18
      data-room-ui/packages/BigScreenDesign/PageDesignTop.vue
  11. 13 0
      data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue
  12. 110 73
      data-room-ui/packages/BizComponent/index.vue
  13. 2 2
      data-room-ui/packages/ComponentList/EditForm.vue
  14. 1 1
      data-room-ui/packages/ComponentList/index.vue
  15. 2 0
      data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue
  16. 1 1
      data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue
  17. 1 1
      data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue
  18. 45 0
      data-room-ui/packages/DataSetManagement/src/ScriptEditForm.vue
  19. 1 1
      data-room-ui/packages/DataSourceManagement/src/setDatasource.vue

+ 3 - 0
DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenDateTimePickerChart.java

@@ -43,6 +43,9 @@ public class ScreenDateTimePickerChart extends Chart {
         @ApiModelProperty(notes = "绑定值的格式")
         private String valueFormat;
 
+        @ApiModelProperty(notes = "显示的格式")
+        private String format;
+
         @ApiModelProperty(notes = "下拉框")
         private Map<String, Object> dropDownBox;
 

+ 3 - 0
DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenTimePickerChart.java

@@ -53,6 +53,9 @@ public class ScreenTimePickerChart extends Chart {
         @ApiModelProperty(notes = "绑定值的格式")
         private String valueFormat;
 
+        @ApiModelProperty(notes = "显示的格式")
+        private String format;
+
 
     }
 

+ 1 - 0
data-room-ui/packages/BasicComponents/DateTimePicker/index.vue

@@ -8,6 +8,7 @@
     :class="['basic-component-date-picker', `date-picker-${config.code}`]"
     :popper-class="'basic-component-date-picker date-picker-popper-' + config.code"
     :value-format="config.customize.valueFormat"
+    :format="config.customize.format"
     :default-value="value"
     size="large"
     @focus="focusEvent"

+ 101 - 39
data-room-ui/packages/BasicComponents/DateTimePicker/setting.vue

@@ -21,6 +21,20 @@
           </div>
           <SettingTitle>基础</SettingTitle>
           <div class="lc-field-body">
+            <el-form-item label="组件类型">
+              <el-select
+                v-model="config.customize.type"
+                class="bs-el-select"
+                popper-class="bs-el-select"
+              >
+                <el-option
+                  v-for="(type) in displayTypeOptions"
+                  :key="type.value"
+                  :label="type.label"
+                  :value="type.value"
+                />
+              </el-select>
+            </el-form-item>
             <!-- 选择器背景颜色 -->
             <el-form-item label="背景颜色">
               <ColorPicker
@@ -92,43 +106,80 @@
               />
             </el-form-item>
           </div>
-          <SettingTitle>时间格式</SettingTitle>
+          <SettingTitle>日期时间格式</SettingTitle>
           <div class="lc-field-body">
-            <el-form-item label="显示类型">
-              <el-select
-                v-model="config.customize.type"
-                class="bs-el-select"
-                popper-class="bs-el-select"
-              >
-                <el-option
-                  v-for="(type) in displayTypeOptions"
-                  :key="type.value"
-                  :label="type.label"
-                  :value="type.value"
+            <el-form-item label="时间显示格式化">
+              <div class="description">
+                <el-input
+                  v-model="config.customize.format"
+                  placeholder="例如:yyyy-MM-dd HH:mm:ss"
+                  clearable
                 />
-              </el-select>
+                <el-tooltip
+                  placement="top"
+                >
+                  <span
+                    class="el-icon-question"
+                    style="color:#9e9e9e"
+                  />
+                  <div slot="content">
+                    年:yyyy,表示年份,例如:2017<br>
+                    月:M,表示月份,不补0,例如:1<br>
+                    月:MM,表示月份,补0,例如:01<br>
+                    日:d,表示日期,不补0,例如:2<br>
+                    日:dd,表示日期,补0,例如:02<br>
+                    小时:H,表示小时(24小时制),不补0,例如:3<br>
+                    小时:HH,表示小时(24小时制),补0,例如:03<br>
+                    小时:h,表示小时(12小时制),须和 A 或 a 使用,不补0,例如:3<br>
+                    小时:hh,表示小时(12小时制),须和 A 或 a 使用,补0,例如:03<br>
+                    分钟:m,表示分钟,不补0,例如:4<br>
+                    分钟:mm,表示分钟,补0,例如:04<br>
+                    秒:s,表示秒钟,不补0,例如:5<br>
+                    秒:ss,表示秒钟,补0,例如:05<br>
+                    AM/PM:A,仅 format 可用,大写,例如:AM<br>
+                    am/pm:a,仅 format 可用,小写,例如:am<br>
+                    JS时间戳:timestamp,仅 value-format 可用,组件绑定值为number类型,例如:1483326245000<br>
+                    不需要格式化字符:[MM],使用方括号标识不需要格式化的字符,例如:MM<br>
+                    具体的时间格式化字符和使用方式,可以参考Element-UI官网的日期选择器的时间格式化部分。
+                  </div>
+                </el-tooltip>
+              </div>
             </el-form-item>
-            <el-form-item label="时间格式化类型">
-              <el-select
-                v-model="config.customize.formatType"
-                class="bs-el-select"
-                popper-class="bs-el-select"
-                clearable
-              >
-                <el-option
-                  v-for="(type) in formatTypeOptions"
-                  :key="type.value"
-                  :label="type.label"
-                  :value="type.value"
-                />
-              </el-select>
+            <el-form-item label="时间数据类型">
+              <div class="description">
+                <el-select
+                  v-model="config.customize.formatType"
+                  class="bs-el-select"
+                  popper-class="bs-el-select"
+                  clearable
+                >
+                  <el-option
+                    v-for="(type) in formatTypeOptions"
+                    :key="type.value"
+                    :label="type.label"
+                    :value="type.value"
+                  />
+                </el-select>
+                <el-tooltip
+                  placement="top"
+                >
+                  <span
+                    class="el-icon-question"
+                    style="color:#9e9e9e"
+                  />
+                  <div slot="content">
+                    时间戳:从1970年1月1日开始计算的秒数,数据类型为数值型,例如:1483326245000。<br>
+                    自定义:通过输入特定的格式字符串来指定时间的数据格式,例如:yyyy-MM-dd HH:mm:ss对应数据为 2023-10-08 09:30:00。<br>
+                  </div>
+                </el-tooltip>
+              </div>
             </el-form-item>
             <el-form-item
               v-if="config.customize.formatType === 'custom'"
-              label="自定义时间格式"
+              label="时间数据格式"
             >
               <!-- year/month/date/week/ datetime/datetimerange/daterange -->
-              <div class="time-format-description">
+              <div class="description">
                 <el-input
                   v-model="config.customize.valueFormat"
                   placeholder="例如:yyyy-MM-dd HH:mm:ss"
@@ -143,14 +194,26 @@
                     style="color:#9e9e9e"
                   />
                   <div slot="content">
-                    时间格式示例:<br>
-                    yyyy:表示年份,<br>
-                    MM:表示月份,<br>
-                    dd:表示日期,<br>
-                    HH:表示小时(24小时制),<br>
-                    mm:表示分钟,<br>
-                    ss:表示秒,<br>
-                    具体可参考Element-UI官网的日期选择器的时间格式化部分。
+                    <div slot="content">
+                      年:yyyy,表示年份,例如:2017<br>
+                      月:M,表示月份,不补0,例如:1<br>
+                      月:MM,表示月份,补0,例如:01<br>
+                      日:d,表示日期,不补0,例如:2<br>
+                      日:dd,表示日期,补0,例如:02<br>
+                      小时:H,表示小时(24小时制),不补0,例如:3<br>
+                      小时:HH,表示小时(24小时制),补0,例如:03<br>
+                      小时:h,表示小时(12小时制),须和 A 或 a 使用,不补0,例如:3<br>
+                      小时:hh,表示小时(12小时制),须和 A 或 a 使用,补0,例如:03<br>
+                      分钟:m,表示分钟,不补0,例如:4<br>
+                      分钟:mm,表示分钟,补0,例如:04<br>
+                      秒:s,表示秒钟,不补0,例如:5<br>
+                      秒:ss,表示秒钟,补0,例如:05<br>
+                      AM/PM:A,仅 format 可用,大写,例如:AM<br>
+                      am/pm:a,仅 format 可用,小写,例如:am<br>
+                      JS时间戳:timestamp,仅 value-format 可用,组件绑定值为number类型,例如:1483326245000<br>
+                      不需要格式化字符:[MM],使用方括号标识不需要格式化的字符,例如:MM<br>
+                      具体的时间格式化字符和使用方式,可以参考Element-UI官网的日期选择器的时间格式化部分。
+                    </div>
                   </div>
                 </el-tooltip>
               </div>
@@ -162,7 +225,6 @@
   </div>
 </template>
 <script>
-import moment from 'moment'
 import SettingTitle from 'data-room-ui/SettingTitle/index.vue'
 import ColorPicker from 'data-room-ui/ColorPicker/index.vue'
 import PosWhSetting from 'data-room-ui/BigScreenDesign/RightSetting/PosWhSetting.vue'
@@ -227,7 +289,7 @@ export default {
     width: 97%;
     padding: 16px;
   }
-  .time-format-description{
+  .description{
     display: flex;
     align-items: center;
     .el-tooltip{

+ 2 - 1
data-room-ui/packages/BasicComponents/DateTimePicker/settingConfig.js

@@ -32,7 +32,8 @@ const customConfig = {
     type: 'datetimerange',
     // 时间格式化类型:时间戳(timestamp),自定义(custom)
     formatType: 'custom',
-    // 绑定值的格式
+    format: 'yyyy-MM-dd HH:mm:ss',
+    // 时间数据格式
     valueFormat: 'yyyy-MM-dd HH:mm:ss',
     // 下拉框
     dropDownBox: {

+ 1 - 1
data-room-ui/packages/BasicComponents/Input/settingConfig.js

@@ -25,7 +25,7 @@ const customConfig = {
 
     titleStyle: {
       // 标题大小
-      fontSize: 14,
+      fontSize: 18,
       // 标题颜色
       color: '#fff',
       // 标题间距

+ 1 - 0
data-room-ui/packages/BasicComponents/TimePicker/index.vue

@@ -6,6 +6,7 @@
     clearable
     :class="['basic-component-time-picker', `time-picker-${config.code}`]"
     :popper-class="'basic-component-time-picker time-picker-popper-' + config.code"
+    :format="config.customize.format"
     :value-format="config.customize.valueFormat"
     :default-value="value"
     @focus="focusEvent"

+ 70 - 20
data-room-ui/packages/BasicComponents/TimePicker/setting.vue

@@ -84,25 +84,69 @@
           </div>
           <SettingTitle>时间格式</SettingTitle>
           <div class="lc-field-body">
-            <el-form-item label="时间格式化类型">
-              <el-select
-                v-model="config.customize.formatType"
-                class="bs-el-select"
-                popper-class="bs-el-select"
-              >
-                <el-option
-                  v-for="(type) in formatTypeOptions"
-                  :key="type.value"
-                  :label="type.label"
-                  :value="type.value"
+            <el-form-item label="时间显示格式化">
+              <div class="description">
+                <el-input
+                  v-model="config.customize.format"
+                  placeholder="例如:HH:mm:ss"
+                  clearable
                 />
-              </el-select>
+                <el-tooltip
+                  placement="top"
+                >
+                  <span
+                    class="el-icon-question"
+                    style="color:#9e9e9e"
+                  />
+                  <div slot="content">
+                    小时:H,表示小时(24小时制),不补0,例如:3<br>
+                    小时:HH,表示小时(24小时制),补0,例如:03<br>
+                    小时:h,表示小时(12小时制),须和 A 或 a 使用,不补0,例如:3<br>
+                    小时:hh,表示小时(12小时制),须和 A 或 a 使用,补0,例如:03<br>
+                    分钟:m,表示分钟,不补0,例如:4<br>
+                    分钟:mm,表示分钟,补0,例如:04<br>
+                    秒:s,表示秒钟,不补0,例如:5<br>
+                    秒:ss,表示秒钟,补0,例如:05<br>
+                    JS时间戳:timestamp,仅 value-format 可用,组件绑定值为number类型,例如:1483326245000<br>
+                    不需要格式化字符:[MM],使用方括号标识不需要格式化的字符,例如:MM<br>
+                    具体的时间格式化字符和使用方式,可以参考Element-UI官网的日期选择器的时间格式化部分。
+                  </div>
+                </el-tooltip>
+              </div>
+            </el-form-item>
+            <el-form-item label="时间数据类型">
+              <div class="description">
+                <el-select
+                  v-model="config.customize.formatType"
+                  class="bs-el-select"
+                  popper-class="bs-el-select"
+                >
+                  <el-option
+                    v-for="(type) in formatTypeOptions"
+                    :key="type.value"
+                    :label="type.label"
+                    :value="type.value"
+                  />
+                </el-select>
+                <el-tooltip
+                  placement="top"
+                >
+                  <span
+                    class="el-icon-question"
+                    style="color:#9e9e9e"
+                  />
+                  <div slot="content">
+                    时间戳:从1970年1月1日开始计算的秒数,数据类型为数值型,例如:1483326245000。<br>
+                    自定义:通过输入特定的格式字符串来指定时间的数据格式,例如:HH:mm:ss对应数据为 09:30:00。<br>
+                  </div>
+                </el-tooltip>
+              </div>
             </el-form-item>
             <el-form-item
               v-if="config.customize.formatType === 'custom'"
-              label="自定义时间格式"
+              label="时间数据格式"
             >
-              <div class="time-format-description">
+              <div class="description">
                 <el-input
                   v-model="config.customize.valueFormat"
                   placeholder="例如:HH:mm:ss"
@@ -116,11 +160,17 @@
                     style="color:#9e9e9e"
                   />
                   <div slot="content">
-                    时间格式示例:<br>
-                    HH:表示小时(24小时制),<br>
-                    mm:表示分钟,<br>
-                    ss:表示秒,
-                    具体可参考Element-UI官网的日期选择器的时间格式化部分。
+                    小时:H,表示小时(24小时制),不补0,例如:3<br>
+                    小时:HH,表示小时(24小时制),补0,例如:03<br>
+                    小时:h,表示小时(12小时制),须和 A 或 a 使用,不补0,例如:3<br>
+                    小时:hh,表示小时(12小时制),须和 A 或 a 使用,补0,例如:03<br>
+                    分钟:m,表示分钟,不补0,例如:4<br>
+                    分钟:mm,表示分钟,补0,例如:04<br>
+                    秒:s,表示秒钟,不补0,例如:5<br>
+                    秒:ss,表示秒钟,补0,例如:05<br>
+                    JS时间戳:timestamp,仅 value-format 可用,组件绑定值为number类型,例如:1483326245000<br>
+                    不需要格式化字符:[MM],使用方括号标识不需要格式化的字符,例如:MM<br>
+                    具体的时间格式化字符和使用方式,可以参考Element-UI官网的日期选择器的时间格式化部分。
                   </div>
                 </el-tooltip>
               </div>
@@ -184,7 +234,7 @@ export default {
     width: 97%;
     padding: 16px;
   }
-  .time-format-description{
+  .description{
     display: flex;
     align-items: center;
     .el-tooltip{

+ 2 - 0
data-room-ui/packages/BasicComponents/TimePicker/settingConfig.js

@@ -41,6 +41,8 @@ const customConfig = {
     dropDownSelectedFontColor: '#409EFF',
     // 时间格式化类型:时间戳(timestamp),自定义(custom)
     formatType: 'custom',
+    // 时间格式化
+    format: 'HH:mm:ss',
     // 绑定值的格式
     valueFormat: 'HH:mm:ss'
   }

+ 24 - 18
data-room-ui/packages/BigScreenDesign/PageDesignTop.vue

@@ -438,26 +438,32 @@ export default {
           pageInfo.isPreview = false
           this.saveLoading = true
           const node = document.querySelector('.render-theme-wrap')
-          const dataUrl = await toJpeg(node, { quality: 0.2 })
-          if (showSize(dataUrl) > 200) {
-            const url = dataURLtoBlob(dataUrl)
-            // 压缩到500KB,这里的500就是要压缩的大小,可自定义
-            const imgRes = await imageConversion.compressAccurately(url, {
-              size: 200, // 图片大小压缩到100kb
-              width: 1280, // 宽度压缩到1280
-              height: 720 // 高度压缩到720
-            })
-            const base64 = await translateBlobToBase64(imgRes)
-            pageInfo.coverPicture = base64.result
-            const res = await saveScreen(pageInfo)
-            this.$message.success('保存成功')
-            return res
+          let dataUrl = ''
+          try {
+            dataUrl = await toJpeg(node, { quality: 0.2 })
+          } catch (error) {
+            console.info(error)
+          }
+          if (dataUrl) {
+            if (showSize(dataUrl) > 200) {
+              const url = dataURLtoBlob(dataUrl)
+              // 压缩到500KB,这里的500就是要压缩的大小,可自定义
+              const imgRes = await imageConversion.compressAccurately(url, {
+                size: 200, // 图片大小压缩到100kb
+                width: 1280, // 宽度压缩到1280
+                height: 720 // 高度压缩到720
+              })
+              const base64 = await translateBlobToBase64(imgRes)
+              pageInfo.coverPicture = base64.result
+            } else {
+              pageInfo.coverPicture = dataUrl
+            }
           } else {
-            pageInfo.coverPicture = dataUrl
-            const res = await saveScreen(pageInfo)
-            this.$message.success('保存成功')
-            return res
+            pageInfo.coverPicture = ''
           }
+          const res = await saveScreen(pageInfo)
+          this.$message.success('保存成功')
+          return res
         }
       } catch (error) {
         console.error(error)

+ 13 - 0
data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue

@@ -764,6 +764,19 @@ export default {
                 })
               }
             }
+            if (res.params) {
+              // 如果数据集中有新增的参数,需要显示出来
+              res.params.forEach(param => {
+                if (!this.params.find(item => item.name === param.name)) {
+                  this.params.push({
+                    name: param.name,
+                    value: param.value,
+                    type: param.type,
+                    remark: param.remark
+                  })
+                }
+              })
+            }
             deleteKeys.forEach(key => {
               delete this.config.dataSource.params[key]
             })

+ 110 - 73
data-room-ui/packages/BizComponent/index.vue

@@ -339,69 +339,57 @@ export default {
         }
       })
     },
-    save (pageJump = false) {
+    async save (pageJump = false) {
       this.loading = true
+      let dataUrl = ''
       const node = document.querySelector('.remote-preview-inner-wrap')
       // 获取node下的第一个子节点
       const childrenNode = node.children[0]
-      toJpeg(childrenNode, { quality: 0.2 })
-        .then((dataUrl) => {
-          const that = this
-          if (showSize(dataUrl) > 200) {
-            const url = dataURLtoBlob(dataUrl)
-            // 压缩到500KB,这里的500就是要压缩的大小,可自定义
-            imageConversion
-              .compressAccurately(url, {
-                size: 200, // 图片大小压缩到100kb
-                width: 1280, // 宽度压缩到1280
-                height: 720 // 高度压缩到720
-              })
-              .then((res) => {
-                translateBlobToBase64(res, function (e) {
-                  this.form.coverPicture = e.result
-                  updateBizComponent(this.form)
-                    .then(() => {
-                      this.$message({
-                        message: '保存成功',
-                        type: 'success',
-                        duration: 800,
-                        onClose: () => {
-                          // 此处写提示关闭后需要执行的函数
-                          if (pageJump) {
-                            this.pageJump()
-                          }
-                        }
-                      })
-                    })
-                    .finally(() => {
-                      that.loading = false
-                    })
-                })
-              })
-          } else {
-            this.form.coverPicture = dataUrl
-            updateBizComponent(this.form)
-              .then(() => {
-                this.$message({
-                  message: '保存成功',
-                  type: 'success',
-                  duration: 800,
-                  onClose: () => {
-                    // 此处写提示关闭后需要执行的函数
-                    if (pageJump) {
-                      this.pageJump()
-                    }
-                  }
-                })
-              })
-              .finally(() => {
-                this.loading = false
-              })
+      try {
+        dataUrl = await toJpeg(childrenNode, { quality: 0.2 })
+      } catch (error) {
+        console.info(error)
+      }
+      console.log(dataUrl)
+      if (dataUrl) {
+        if (showSize(dataUrl) > 200) {
+          const url = dataURLtoBlob(dataUrl)
+          // 压缩到500KB,这里的500就是要压缩的大小,可自定义
+          imageConversion.compressAccurately(
+            url,
+            {
+              size: 200, // 图片大小压缩到100kb
+              width: 1280, // 宽度压缩到1280
+              height: 720 // 高度压缩到720
+            }
+          ).then((res) => {
+            translateBlobToBase64(res, (e) => {
+              this.form.coverPicture = e.result
+            })
+          })
+        } else {
+          this.form.coverPicture = dataUrl
+        }
+      } else {
+        this.form.coverPicture = ''
+      }
+      updateBizComponent(this.form).then(() => {
+        this.$message({
+          message: '保存成功',
+          type: 'success',
+          duration: 800,
+          onClose: () => {
+            // 此处写提示关闭后需要执行的函数
+            if (pageJump) {
+              this.pageJump()
+            }
           }
         })
-        .catch(() => {
-          this.loading = false
-        })
+        this.loading = false
+      }).catch((error) => {
+        console.info(error)
+        this.loading = false
+      })
     },
     createdImg () {
       this.loading = true
@@ -421,7 +409,8 @@ export default {
           })
           this.loading = false
         })
-        .catch(() => {
+        .catch((error) => {
+          console.info(error)
           this.$message.warning('出现未知错误,请重试')
           this.loading = false
         })
@@ -446,7 +435,7 @@ export default {
   background: var(--bs-background-2);
   overflow: hidden;
 
-  > * {
+  >* {
     box-sizing: border-box;
   }
 
@@ -523,11 +512,13 @@ export default {
             flex-direction: row;
             align-items: center;
             justify-content: space-between;
-            .code-tab-btn{
+
+            .code-tab-btn {
               // width: 90px;
               cursor: pointer;
               text-align: center;
             }
+
             .code-tab {
               font-size: 14px;
               align-items: center;
@@ -569,12 +560,14 @@ export default {
         height: 100%;
         background: var(--bs-background-1);
         position: relative;
-        .code-tab-header{
+
+        .code-tab-header {
           height: 40px;
           display: flex;
           flex-direction: row;
           align-items: center;
           background-color: var(--bs-background-2);
+
           .code-tab {
             font-size: 14px;
             align-items: center;
@@ -593,16 +586,60 @@ export default {
 }
 </style>
 <style>
-  .cm-s-material-darker.CodeMirror,
-  .cm-s-material-darker .CodeMirror-gutters
-  {
-    background: var(--bs-background-1) !important;
-  }
-  .CodeMirror-scroll {
-    background-color: var(--bs-background-1) !important;
-  }
-  .CodeMirror-gutters {
-    border-right: 1px solid var(--bs-background-1) !important;
-    background-color: var(--bs-background-1) !important;
-  }
+.cm-s-material-darker.CodeMirror,
+.cm-s-material-darker .CodeMirror-gutters {
+  background: var(--bs-background-1) !important;
+}
+
+.CodeMirror-scroll {
+  background-color: var(--bs-background-1) !important;
+}
+
+.CodeMirror-gutters {
+  border-right: 1px solid var(--bs-background-1) !important;
+  background-color: var(--bs-background-1) !important;
+}
+
+.CodeMirror-vscrollbar {
+  right: 0;
+  top: 0;
+  overflow-x: hidden;
+  overflow-y: scroll;
+}
+
+/* Webkit浏览器滚动条样式 */
+.CodeMirror-vscrollbar::-webkit-scrollbar {
+  width: 6px;
+  /* 滚动条宽度 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background-color: #444851;
+  /* 滚动条滑块颜色 */
+  border-radius: 4px;
+  /* 滚动条滑块圆角 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover {
+  background-color: #444851;
+  /* 滚动条滑块悬停时颜色 */
+}
+
+/* Firefox和新版Chrome浏览器滚动条样式 */
+.CodeMirror-vscrollbar {
+  scrollbar-width: thin;
+  /* 滚动条宽度 */
+  scrollbar-color: #444851 #444851;
+  /* 滚动条颜色 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background-color: #444851;
+  /* 滚动条滑块颜色 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover {
+  background-color: #444851;
+  /* 滚动条滑块悬停时颜色 */
+}
 </style>

+ 2 - 2
data-room-ui/packages/ComponentList/EditForm.vue

@@ -477,7 +477,7 @@ export default {
     // 跳转设计态
     toDesign (form) {
       const path = this.type === 'component' ? (window.BS_CONFIG?.routers?.designUrl || '/big-screen/design') : 'big-screen-biz-component-design'
-      const { href: bigScreenHref } = this.type == 'bizComponent' ? this.$router.resolve({
+      const { href: bigScreenHref } = this.type === 'bizComponent' ? this.$router.resolve({
         path,
         query: {
           code: form.code,
@@ -490,7 +490,7 @@ export default {
         }
       })
       // 新窗口打开
-      window.open(bigScreenHref, '_blank')
+      window.open(bigScreenHref, '_self')
     }
   }
 }

+ 1 - 1
data-room-ui/packages/ComponentList/index.vue

@@ -353,7 +353,7 @@ export default {
         }
       })
       // 新窗口打开
-      window.open(href, '_blank')
+      window.open(href, '_self')
     },
     add () {
       const page = {

+ 2 - 0
data-room-ui/packages/DataSetManagement/src/CustomEditForm.vue

@@ -1432,3 +1432,5 @@ export default {
   width: 100% !important;
 }
 </style>
+
+<style></style>

+ 1 - 1
data-room-ui/packages/DataSetManagement/src/HttpEditForm.vue

@@ -885,7 +885,7 @@ export default {
           this.newParamsList = cloneDeep(paramsList)
           this.codemirrorOption.mode = this.dataForm.config.requestType === 'frontend' ? 'text/javascript' : 'text/x-groovy'
           // this.replaceParams(paramsList)
-          this.scriptExecute(true)
+          // this.scriptExecute(true)
         })
       }
     },

+ 1 - 1
data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue

@@ -358,7 +358,7 @@
           <el-table
             align="center"
             :data="dataPreviewList"
-            max-height="400"
+            max-height="100%"
             :border="true"
             class="bs-el-table bs-scrollbar"
           >

+ 45 - 0
data-room-ui/packages/DataSetManagement/src/ScriptEditForm.vue

@@ -1166,3 +1166,48 @@ return ElasticsearchDsService.query(host, port, username, password, path, dsl);
   width: 100% !important;
 }
 </style>
+
+<style>
+.CodeMirror-vscrollbar {
+  right: 0;
+  top: 0;
+  overflow-x: hidden;
+  overflow-y: scroll;
+}
+
+/* Webkit浏览器滚动条样式 */
+.CodeMirror-vscrollbar::-webkit-scrollbar {
+  width: 6px;
+  /* 滚动条宽度 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background-color: #444851;
+  /* 滚动条滑块颜色 */
+  border-radius: 4px;
+  /* 滚动条滑块圆角 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover {
+  background-color: #444851;
+  /* 滚动条滑块悬停时颜色 */
+}
+
+/* Firefox和新版Chrome浏览器滚动条样式 */
+.CodeMirror-vscrollbar {
+  scrollbar-width: thin;
+  /* 滚动条宽度 */
+  scrollbar-color: #444851 #444851;
+  /* 滚动条颜色 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background-color: #444851;
+  /* 滚动条滑块颜色 */
+}
+
+.CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover {
+  background-color: #444851;
+  /* 滚动条滑块悬停时颜色 */
+}
+</style>

+ 1 - 1
data-room-ui/packages/DataSourceManagement/src/setDatasource.vue

@@ -339,7 +339,7 @@ export default {
         case 'com.ibm.db2.jcc.DB2Driver':
           return 'jdbc:db2://localhost:5000/db_name'
         case 'com.microsoft.sqlserver.jdbc.SQLServerDriver':
-          return 'jdbc:sqlserver://localhost:1433;databaseName=db_name'
+          return 'jdbc:sqlserver://localhost:1433;databaseName=db_name;encrypt=false'
         case 'org.postgresql.Driver':
           return 'jdbc:postgresql://localhost:13308/db_name'
         case 'org.apache.hive.jdbc.HiveDriver':