浏览代码

Merge branch 'dev' into online

Foming 2 月之前
父节点
当前提交
ff8c7bbf82

+ 5 - 8
README.md

@@ -22,11 +22,11 @@
 通过百度网盘分享的文件:大屏模板
 链接:https://pan.baidu.com/s/1rkjBiiTpA4DBQdep-uAYzQ?pwd=w3rm提取码:w3rm
 
-#### &emsp; [在线提问](https://gitee.com/anji-plus/report/issues "issue"): https://gitee.com/anji-plus/report/issues <br>
+#### &emsp; [在线提问](https://gitee.com/belief-team/report/issues "issue"): https://gitee.com/belief-team/report/issues <br>
 
 ## 发行版本
 
-#### &emsp; [下载链接](https://gitee.com/anji-plus/report/releases "下载链接"): https://gitee.com/anji-plus/report/releases <br>
+#### &emsp; [下载链接](https://gitee.com/belief-team/report/releases "下载链接"): https://gitee.com/belief-team/report/releases <br>
 
 ## 功能概述
 
@@ -147,7 +147,7 @@ http://serverip:9095
 简易步骤
 
 ```
-git clone https://gitee.com/anji-plus/report.git
+git clone https://gitee.com/belief-team/report.git
 cd report
 sh build.sh
 编译完成放在build文件夹 aj-report-xxxx.zip
@@ -193,7 +193,7 @@ spring.gaea.Security.jwtSecret = 修改32位jwt密钥
 
 ## SQL初始化
 
-sql文件的目录在:report-core --> src --> main --> resources -- > db.migration <br>
+sql文件的目录在:report-core --> src --> main --> resources --> db.migration <br>
 系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件,执行完将会创建
 aj_report(存放系统基础数据)数据库 <br>
 
@@ -261,7 +261,7 @@ AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.
 
 ## 技术支持
 
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+**如有问题,请提交 [Issue](https://gitee.com/belief-team/report/issues) <br>**
 
 个人微信:个人微信,不闲聊,加群、咨询请备注,备注格式不限但最好是:“项目名 + 问题” ,项目名可以是**AJ-Report**、**Report**、**大屏
 **,只要能一眼分辨就行 <br>
@@ -297,6 +297,3 @@ AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2.
 
 <br>
 
-## Stargazers over time
-
-[![Stargazers over time](https://starchart.cc/anji-plus/report.svg)](https://starchart.cc/anji-plus/report)

+ 6 - 2
doc/docs/guide/authManager.md

@@ -6,7 +6,12 @@
 
 新增用户的默认密码是在bootstrap.yml文件中配置的 <br>
 
-![img](../picture/authmanager/img_2.png) <br>
+```yaml
+  user:
+    ##新增用户默认密码
+    default:
+      password: 123456
+```
 
 ## 用户授权
 
@@ -31,7 +36,6 @@
 导入导出的权限是在 角色 --> 分配权限中控制。 <br>
 
 ![img](../picture/authmanager/img_7.png) <br>
-用户绑定了角色,角色则绑定了权限,是这样一层关系。 <br>
 
 
 

+ 2 - 1
doc/docs/guide/chartsConfig.md

@@ -1,7 +1,8 @@
 ## 简要说明
 
 图表配置项的中文名称基本都是直接使用Echarts图表组件对应定义的名称,非Echarts图表组件则根据功能进行命名。<br>
-每个图表组件的配置项都不尽相同,配置项的作用在于调整图表、数据的展示样式,这里着重说明一些共有的配置项和特殊的配置项,因为并不是按照一个图表一个配置项介绍的,没有介绍的部分请自行尝试了。
+每个图表组件的配置项都不尽相同,配置项的作用在于调整图表、数据的展示样式,这里着重说明一些共有的配置项和特殊的配置项,因为并不是按照一个图表一个配置项介绍的,没有介绍的部分请自行尝试了。<br>
+**请以系统中图表实际的配置项为准** <br>
 
 ## 通用配置项
 

+ 15 - 14
doc/docs/guide/chartsLinkage.md

@@ -4,23 +4,24 @@
 除下文介绍的示例外,还可去数据集、体验地址去查看示例。<br>
 
 - 表单联动 <br>
-  目前支持的有下拉框、时间筛选器。<br>
-  V1.0.0 支持被联动的组件有:<br>
-    - 文本栏 - V1.1.0
+  目前支持的有下拉框、时间筛选器、按钮。<br>
+  支持被联动的组件有(以实际系统中存在的组件为准):<br>
+    - 文本栏 - V1.1
       - 文本
       - 滚动文本
       - 表格
-    - 柱状图(包含全部)
-    - 折线图(包含全部)
-    - 柱线图(包含全部)
-    - 饼图(包含全部)
-    - 漏斗图(包含全部)
-    - 百分比(包含全部)-V1.1.0
-    - 中国地图(包含全部)
-    - 词云图(包含全部)-V1.1.0
-    - 热力图(包含全部)
-    - 雷达图(包含全部)
-    - 刻度尺(包含全部)-V1.1.0
+    - 柱状图(包含全部)-V1.0
+    - 折线图(包含全部)-V1.0
+    - 柱线图(包含全部)-V1.0
+    - 饼图(包含全部)-V1.0
+    - 漏斗图(包含全部)-V1.0
+    - 百分比(包含全部)-V1.1
+    - 中国地图(包含全部)-V1.0
+    - 词云图(包含全部)-V1.1
+    - 热力图(包含全部)-V1.0
+    - 雷达图(包含全部)-V1.0
+    - 刻度尺(包含全部)-V1.1
+    - 日历 -V1.7
 
 - 图表联动:<br>
   目前联动主要集中在柱状图、折线图、饼图等这种二维图表,二维图表是指图表只支持2个字段的数据集,当然并不是说需要3个字段的堆叠图(柱状/折线)不支持联动,而是这种三维图表去联动二维图表会带来一些问题,反之二维的去联动三维的同样存在问题,因此目前源代码中只添加了部分二维图表的联动。<br>

+ 6 - 8
doc/docs/guide/quicklyDistribution.md

@@ -23,9 +23,7 @@
 解压下载好的Zip包,找到bootstrap.yml <br>
 ![img_1.png](../picture/quickly/img_17.png) <br>
 
-将图中关于mysql的连接配置信息换成你使用的IP:数据库名。如果没有修改flyway为false,那flyway会自动建立aj_report库 <br>
-
-![bootstrap.png](../picture/quickly/img_2.png) <br>
+将关于mysql的连接配置信息换成你使用的IP:数据库名。 <br>
 **注**:请确认你的Mysql是否支持远程连接,登陆用户是否有DDL权限 <br>
 
 ```yaml
@@ -37,18 +35,18 @@
 
 ## flyway
 
-flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。如果你mysql没问题,注意检查flyway是否开启。<br>
+flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。<br>
+如果日志提示“FlywayInitialization”错误,请修改为false,并手动执行sql(report-core --> src --> main --> resources --> db.migration)<br>
 
 ```yaml
   flyway:
-    enabled: false    #是否开启flyway(自动执行sql脚本),默认false
+    enabled: true    #是否开启flyway(自动执行sql脚本),默认true
 ```
 
 ## OSS配置
 
 OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
-![file.png](../picture/quickly/img.png) <br>
-
+需要修改downloadPath和path <br>
 ```yaml
   gaea:
     subscribes:
@@ -57,7 +55,7 @@ OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->
         ##允许上传的文件后缀
         file-type-white-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa|.svg
         # 用于文件上传成功后,生成文件的下载公网完整URL,http://serverip:9095/file/download,注意填写IP必须填写后端服务所在的机器IP
-        downloadPath: http://10.108.26.197:9095/file/download
+        downloadPath: http://127.0.0.1:9095/file/download
         nfs:
           #上传对应本地全路径,注意目录不会自动创建,注意 Win是 \ 且有盘符,linux是 / 无盘符,注意目录权限问题
           path: /app/disk/upload/

+ 5 - 6
doc/docs/guide/quicklySeparate.md

@@ -49,9 +49,8 @@ git clone https://gitee.com/anji-plus/report.git <br>
 ### 修改mysql连接
 
 report-core --> src --> main --> resources --> bootstrap.yml <br>
-将图中关于mysql的连接配置信息换成你使用的IP <br>
 
-![bootstrap.png](../picture/quickly/img_2.png) <br>
+将关于mysql的连接配置信息换成你使用的IP:数据库名。 <br>
 **注**:请确认你的Mysql是否支持远程连接,登陆用户是否有DDL权限 <br>
 
 ```yaml
@@ -63,7 +62,8 @@ report-core --> src --> main --> resources --> bootstrap.yml <br>
 
 ## flyway
 
-flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。如果你mysql没问题,注意检查flyway是否开启。<br>
+flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。<br>
+如果日志提示“FlywayInitialization”错误,请修改为false,并手动执行sql(report-core --> src --> main --> resources --> db.migration)<br>
 
 ```yaml
   flyway:
@@ -73,8 +73,7 @@ flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可
 ### OSS配置
 
 OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
-![file.png](../picture/quickly/img.png) <br>
-
+需要修改downloadPath和path <br>
 ```yaml
   gaea:
     subscribes:
@@ -83,7 +82,7 @@ OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->
         ##允许上传的文件后缀
         file-type-white-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa|.svg
         # 用于文件上传成功后,生成文件的下载公网完整URL,http://serverip:9095/file/download,注意填写IP必须填写后端服务所在的机器IP
-        downloadPath: http://10.108.26.197:9095/file/download
+        downloadPath: http://127.0.0.1:9095/file/download
         nfs:
           #上传对应本地全路径,注意目录不会自动创建,注意 Win是 \ 且有盘符,linux是 / 无盘符,注意目录权限问题
           path: /app/disk/upload/

+ 5 - 7
doc/docs/guide/quicklySource.md

@@ -55,9 +55,7 @@ git clone https://gitee.com/anji-plus/report.git <br>
 解压aj-report-xxxx.zip,找到bootstrap.yml <br>
 ![img_1.png](../picture/quickly/img_17.png) <br>
 
-将图中关于mysql的连接配置信息换成你使用的IP:数据库名。如果没有修改flyway为false,那flyway会自动建立aj_report库 <br>
-
-![bootstrap.png](../picture/quickly/img_2.png) <br>
+将关于mysql的连接配置信息换成你使用的IP:数据库名。 <br>
 **注**:请确认你的Mysql是否支持远程连接,登陆用户是否有DDL权限 <br>
 
 ```yaml
@@ -69,7 +67,8 @@ git clone https://gitee.com/anji-plus/report.git <br>
 
 ## flyway
 
-flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。如果你mysql没问题,注意检查flyway是否开启。<br>
+flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可能会执行失败。<br>
+如果日志提示“FlywayInitialization”错误,请修改为false,并手动执行sql(report-core --> src --> main --> resources --> db.migration)<br>
 
 ```yaml
   flyway:
@@ -79,8 +78,7 @@ flyway是用于自动执行sql,因为mysql版本及配置等问题,flyway可
 ## OSS配置
 
 OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->amazonS3->nfs <br>
-![file.png](../picture/quickly/img.png) <br>
-
+需要修改downloadPath和path <br>
 ```yaml
   gaea:
     subscribes:
@@ -89,7 +87,7 @@ OSS底层已支持minio、amazonS3、nfs,都配置的情况下优先级minio->
         ##允许上传的文件后缀
         file-type-white-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa|.svg
         # 用于文件上传成功后,生成文件的下载公网完整URL,http://serverip:9095/file/download,注意填写IP必须填写后端服务所在的机器IP
-        downloadPath: http://10.108.26.197:9095/file/download
+        downloadPath: http://127.0.0.1:9095/file/download
         nfs:
           #上传对应本地全路径,注意目录不会自动创建,注意 Win是 \ 且有盘符,linux是 / 无盘符,注意目录权限问题
           path: /app/disk/upload/

+ 17 - 0
doc/docs/guide/releases/1.7.x.md

@@ -36,3 +36,20 @@
 
 1、doc更新
 
+## V1.7.1
+
+### 新增
+
+1、大屏设计器-日历组件支持联动 --贡献人:shuaiwu95@shuaiwu123
+
+### 优化
+
+1、大屏设计器-文本框增加行高默认值
+
+### 修复
+
+1、修复预览页面缩放异常问题 --贡献人:shuaiwu95@shuaiwu123
+
+### 其他
+
+1、doc更新

二进制
doc/docs/picture/authmanager/img_2.png


二进制
doc/docs/picture/quickly/img.png


二进制
doc/docs/picture/quickly/img_2.png


+ 1 - 1
report-core/pom.xml

@@ -13,7 +13,7 @@
 
     <groupId>com.anji-plus</groupId>
     <artifactId>aj-report</artifactId>
-    <version>1.7.0.RELEASE</version>
+    <version>1.7.1.RELEASE</version>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

+ 1 - 1
report-ui/package.json

@@ -1,6 +1,6 @@
 {
   "name": "report-ui",
-  "version": "1.7.0",
+  "version": "1.7.1",
   "description": "report-ui",
   "author": "beliefteam",
   "scripts": {

+ 5 - 0
report-ui/src/views/bigscreenDesigner/designer/linkageLogic.js

@@ -22,6 +22,11 @@ export const lickageParamsConfig = [
     code: 'widget-form-time',
     paramsKey: ['startTime','endTime']
   },
+  {
+    name: '日历',
+    code: 'widget-calendar',
+    paramsKey: ['date']
+  },
   {
     name: '柱图',
     code: 'widget-barchart',

+ 28 - 1
report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-calendar.js

@@ -112,6 +112,21 @@ export const widgetCalendar = {
               required: false,
               placeholder: '',
               value: 'rgb(0, 0, 0)'
+            },{
+              type: 'vue-color',
+              label: '选中背景色',
+              name: 'selectedBackground',
+              required: false,
+              placeholder: '',
+              value: 'rgb(11, 180, 241)'
+            },
+            {
+              type: 'vue-color',
+              label: '选中文字颜色',
+              name: 'selectedTextColor',
+              required: false,
+              placeholder: '',
+              value: 'rgb(0, 0, 0)'
             },
             {
               type: 'el-switch',
@@ -123,7 +138,19 @@ export const widgetCalendar = {
             },
           ]
         }
-      ]
+      ],
+      [{
+        name: '组件联动',
+        list: [
+          {
+            type: 'componentLinkage',
+            label: '',
+            name: 'componentLinkage',
+            required: false,
+            value: []
+          }
+        ]
+      }]
     ],
     data: [
       {

+ 1 - 1
report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js

@@ -104,7 +104,7 @@ export const widgetText = {
         name: 'lineHeight',
         required: false,
         placeholder: '',
-        value: '0',
+        value: '40',
       },
       {
         type: 'el-input-number',

+ 53 - 23
report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetCalendar.vue

@@ -18,9 +18,11 @@
           :class="{
             'out-of-range': day.isOutOfRange,
             'current-month': day.isCurrentMonth,
-            'today': day.isToday
+            'today': day.isToday,
+            'selected': day.date === selectDayStr
           }"
-          :style="cellStyle(day.isToday)"
+          :style="cellStyle(day.isToday, day.date === selectDayStr)"
+          @click="selectDay(day)"
         >
           <slot name="day" :day="day">
             <div class="day-number">{{ day.day }}</div>
@@ -34,13 +36,17 @@
 
 <script>
 import moment from 'moment'
-import { targetWidgetLinkageLogic } from "@/views/bigscreenDesigner/designer/linkageLogic";
+import { targetWidgetLinkageLogic, originWidgetLinkageLogic } from "@/views/bigscreenDesigner/designer/linkageLogic";
 
 export default {
   name: 'widgetCalendar',
   props: {
     value: Object,
     ispreview: Boolean,
+    widgetIndex: {
+      type: Number,
+      default: 0,
+    },
   },
   data() {
     return {
@@ -49,11 +55,12 @@ export default {
       startDate: moment().format('YYYY-MM-DD'),
       endDate: moment().format('YYYY-MM-DD'),
       options: {},
-      optionsSetUp: {},
+      optionsSetup: {},
       optionsPosition: {},
       optionsData: {},
 
-      text: ''
+      text: '',
+      selectDayStr: moment().format('YYYY-MM-DD')
     }
   },
   computed: {
@@ -64,7 +71,7 @@ export default {
       return moment(this.endDate, 'YYYY-MM-DD').endOf('day')
     },
     showButton () {
-      return this.optionsSetUp.isButton;
+      return this.optionsSetup.isButton;
     },
     styleObj() {
       const allStyle = this.optionsPosition;
@@ -74,33 +81,33 @@ export default {
         height: allStyle.height + "px",
         left: allStyle.left + "px",
         top: allStyle.top + "px",
-        background: this.optionsSetUp.tableBgColor,
-        borderColor: this.optionsSetUp.borderColor
+        background: this.optionsSetup.tableBgColor,
+        borderColor: this.optionsSetup.borderColor
       };
     },
     headerStyle () {
       return {
-        background: this.optionsSetUp.headerBackground,
-        color: this.optionsSetUp.headerTextColor,
-        justifyContent: this.optionsSetUp.isButton ? 'space-between' : 'center'
+        background: this.optionsSetup.headerBackground,
+        color: this.optionsSetup.headerTextColor,
+        justifyContent: this.optionsSetup.isButton ? 'space-between' : 'center'
 
       };
     },
     headerBtnStyle () {
       return {
-        background: this.optionsSetUp.headerBtnBackground,
-        color: this.optionsSetUp.headerBtnTextColor
+        background: this.optionsSetup.headerBtnBackground,
+        color: this.optionsSetup.headerBtnTextColor
       };
     },
     weekStyle () {
       return {
-        background: this.optionsSetUp.weekBackground,
-        color: this.optionsSetUp.weekTextColor
+        background: this.optionsSetup.weekBackground,
+        color: this.optionsSetup.weekTextColor
       };
     },
     dayStyle () {
       return {
-        backgroundColor: this.optionsSetUp.borderColor
+        backgroundColor: this.optionsSetup.borderColor
       }
     },
     currentMonthTitle() {
@@ -138,13 +145,16 @@ export default {
       }
       
       return days
-    }
+    },
+    allComponentLinkage() {
+      return this.$store.state.designer.allComponentLinkage;
+    },
   },
   watch: {
     value: {
       handler(val) {
         this.options = val;
-        this.optionsSetUp = val.setup;
+        this.optionsSetup = val.setup;
         this.optionsPosition = val.position;
         this.optionsData = val.data;
         this.setOptionsData();
@@ -154,13 +164,21 @@ export default {
   },
   mounted() {
     this.options = this.value;
-    this.optionsSetUp = this.value.setup;
+    this.optionsSetup = this.value.setup;
     this.optionsPosition = this.value.position;
     this.optionsData = this.value.data;
     targetWidgetLinkageLogic(this);
     this.setOptionsData();
   },
   methods: {
+    selectDay (data) {
+      this.selectDayStr = data.date
+      const formTimeData = {}
+      formTimeData['date'] = data.date
+      originWidgetLinkageLogic(this, true, {
+        currentData: formTimeData,
+      }); // 联动-源组件逻辑
+    },
     // 数据解析
     setOptionsData(e, paramsConfig) {
       const optionsData = this.optionsData; // 数据类型 静态 or 动态
@@ -214,10 +232,17 @@ export default {
         this.$forceUpdate();
       });
     },
-    cellStyle (isToday) {
-      return {
-        backgroundColor: isToday ? this.optionsSetUp.todayBackground : this.optionsSetUp.dayBackground,
-        color: isToday ? this.optionsSetUp.todayTextColor : this.optionsSetUp.dayTextColor,
+    cellStyle (isToday, isSelected) {
+      if (isSelected) {
+        return {
+          backgroundColor: this.optionsSetup.selectedBackground,
+          color: this.optionsSetup.selectedTextColor,
+        }
+      } else {
+        return {
+          backgroundColor: isToday ? this.optionsSetup.todayBackground : this.optionsSetup.dayBackground,
+          color: isToday ? this.optionsSetup.todayTextColor : this.optionsSetup.dayTextColor,
+        }
       }
     },
     prevMonth() {
@@ -329,6 +354,7 @@ export default {
   width: calc(100% - 0px);
   display: flex;
   flex-direction: column;
+  cursor: pointer;
 }
 
 /* 当前月份的日期 */
@@ -337,6 +363,10 @@ export default {
   color: #ffffff;
 }
 
+.day-cell.selected {
+  background-color: rgb(11, 180, 241);
+}
+
 /* 非当前月份的日期 */
 .day-cell:not(.current-month) {
  background-color: rgba(0, 59, 81, .5);

+ 9 - 5
report-ui/src/views/bigscreenDesigner/viewer/index.vue

@@ -96,11 +96,15 @@ export default {
       this.bigScreenStyle.transform='scale('+scale.scalex+','+scale.scaley+')'
     },
     getScale(){
-      let width=this.dashboard.width;
-      let height=this.dashboard.height;
-      return{
-        scalex:(window.innerWidth)/width,
-        scaley:(window.innerHeight)/height,
+      let width = this.dashboard.width
+      let height = this.dashboard.height
+      // 固定宽度比例
+      const scalex = window.innerWidth / width
+      // 高度按相同比例缩放,但允许超出屏幕高度
+      const scaley = scalex
+      return {
+        scalex,
+        scaley
       }
     },
   }

+ 1 - 1
report-ui/src/views/layout/components/Sidebar/index.vue

@@ -3,7 +3,7 @@
     <div class="admin-title" @click="goBigScreen">
       <div class="con">
         <img src="/static/logo-dp.png" width="50" />
-        <span class="version">V1.7.0</span>
+        <span class="version">V1.7.1</span>
       </div>
     </div>
     <el-menu