1
0
mirror of synced 2025-11-06 04:20:54 +08:00

Merge branch 'dev'

This commit is contained in:
Foming
2025-08-08 15:35:27 +08:00
19 changed files with 160 additions and 79 deletions

View File

@@ -23,11 +23,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
@@ -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)

View File

@@ -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>

View File

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

View File

@@ -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>

View File

@@ -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并手动执行sqlreport-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
# 用于文件上传成功后生成文件的下载公网完整URLhttp://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/

View File

@@ -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并手动执行sqlreport-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
# 用于文件上传成功后生成文件的下载公网完整URLhttp://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/

View File

@@ -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并手动执行sqlreport-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
# 用于文件上传成功后生成文件的下载公网完整URLhttp://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/

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -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>

View File

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

View File

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

View File

@@ -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: [
{

View File

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

View File

@@ -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) {
cellStyle (isToday, isSelected) {
if (isSelected) {
return {
backgroundColor: isToday ? this.optionsSetUp.todayBackground : this.optionsSetUp.dayBackground,
color: isToday ? this.optionsSetUp.todayTextColor : this.optionsSetUp.dayTextColor,
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);

View File

@@ -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;
let width = this.dashboard.width
let height = this.dashboard.height
// 固定宽度比例
const scalex = window.innerWidth / width
// 高度按相同比例缩放,但允许超出屏幕高度
const scaley = scalex
return {
scalex:(window.innerWidth)/width,
scaley:(window.innerHeight)/height,
scalex,
scaley
}
},
}

View File

@@ -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