From 4cb06437d5d5f36bb178635b0d2a7f25e816e003 Mon Sep 17 00:00:00 2001 From: qianlishi <1432731663@qq.com> Date: Fri, 17 Jun 2022 09:13:12 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/config/dev.env.js | 4 +- .../src/assets/styles/screenDesigner.scss | 133 +--- report-ui/src/views/bigScreenReport/index.vue | 3 +- .../screenDesigner/components/contentMenu.vue | 39 +- report-ui/src/views/screenDesigner/index.vue | 613 ++------------- .../src/views/screenDesigner/index备份.vue | 725 ++++++++++++++++++ .../views/screenDesigner/layout/leftMenu.vue | 144 ++++ .../screenDesigner/layout/middleScreen.vue | 260 +++++++ .../screenDesigner/layout/rightConfig.vue | 70 ++ .../views/screenDesigner/layout/topBar.vue | 229 ++++++ report-ui/src/views/screenDesigner/node.md | 4 + .../src/views/screenDesigner/util/revoke.js | 92 +++ .../src/views/screenDesigner/util/screen.js | 1 + 13 files changed, 1640 insertions(+), 677 deletions(-) create mode 100644 report-ui/src/views/screenDesigner/index备份.vue create mode 100644 report-ui/src/views/screenDesigner/layout/leftMenu.vue create mode 100644 report-ui/src/views/screenDesigner/layout/middleScreen.vue create mode 100644 report-ui/src/views/screenDesigner/layout/rightConfig.vue create mode 100644 report-ui/src/views/screenDesigner/layout/topBar.vue create mode 100644 report-ui/src/views/screenDesigner/util/revoke.js diff --git a/report-ui/config/dev.env.js b/report-ui/config/dev.env.js index ee3d90dc..f50fc84e 100644 --- a/report-ui/config/dev.env.js +++ b/report-ui/config/dev.env.js @@ -4,6 +4,6 @@ const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', - BASE_API: '"http://127.0.0.1:9095"' - // BASE_API: '"http://10.108.26.197:9095"' + // BASE_API: '"http://127.0.0.1:9095"' + BASE_API: '"http://10.108.26.197:9095"' }) diff --git a/report-ui/src/assets/styles/screenDesigner.scss b/report-ui/src/assets/styles/screenDesigner.scss index c7ca98cd..75dbd578 100644 --- a/report-ui/src/assets/styles/screenDesigner.scss +++ b/report-ui/src/assets/styles/screenDesigner.scss @@ -3,27 +3,7 @@ height: 100%; background: #242a30; color: #fff; - .layout-bar { - height: 40px; - line-height: 40px; - font-size: 12px; - padding: 0 10px; - display: flex; - flex-direction: row; - overflow: hidden; - .bar-item { - margin-right: 20px; - cursor: pointer; - .iconfont { - font-size: 12px; - margin-right: 4px; - } - .el-dropdown-link { - color: #fff; - cursor: pointer; - } - } - } + .layout-container { width: 100%; height: calc(100vh - 40px); @@ -31,70 +11,6 @@ flex-direction: row; justify-content: space-between; overflow: hidden; - .layout-left { - width: 200px; - background: #242a30; - overflow-x: hidden; - overflow-y: auto; - .chart-type { - display: flex; - flex-direction: row; - overflow: hidden; - .type-left { - width: 100%; - height: calc(100vh - 80px); - text-align: center; - /deep/.el-tabs__header { - width: 30%; - margin-right: 0; - .el-tabs__nav-wrap { - &::after { - background: transparent; - } - .el-tabs__item { - text-align: center; - width: 100%; - color: #fff; - padding: 0; - } - } - } - /deep/.el-tabs__content { - width: 70%; - } - } - } - //工具栏一个元素 - .tools-item { - display: flex; - position: relative; - width: 100%; - height: 48px; - align-items: center; - -webkit-box-align: center; - padding: 0 6px; - cursor: pointer; - font-size: 12px; - margin-bottom: 1px; - - .tools-item-icon { - color: #409eff; - margin-right: 10px; - width: 53px; - height: 30px; - line-height: 30px; - text-align: center; - display: block; - border: 1px solid #3a4659; - background: #282a30; - } - .tools-item-text { - } - } - /deep/.el-tabs__content { - padding: 0; - } - } .layout-middle { // display: flex; position: relative; @@ -107,50 +23,7 @@ align-items: center; vertical-align: middle; text-align: center; - .workbench-container { - position: relative; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 0; - - .vueRuler { - width: 100%; - padding: 18px 0px 0px 18px; - } - - .workbench { - background-color: #1e1e1e; - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - margin: 0; - padding: 0; - } - - .bg-grid { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-size: 30px 30px, 30px 30px; - background-image: linear-gradient( - hsla(0, 0%, 100%, 0.1) 1px, - transparent 0 - ), - linear-gradient(90deg, hsla(0, 0%, 100%, 0.1) 1px, transparent 0); - // z-index: 2; - } - } } - .layout-right { width: 300px; } @@ -232,6 +105,4 @@ } } } -/deep/.el-dropdown-menu__item { - max-width: none; -} + diff --git a/report-ui/src/views/bigScreenReport/index.vue b/report-ui/src/views/bigScreenReport/index.vue index e1db14e6..c5d47ed2 100644 --- a/report-ui/src/views/bigScreenReport/index.vue +++ b/report-ui/src/views/bigScreenReport/index.vue @@ -180,7 +180,8 @@ export default { }, openDesign(val) { let routeUrl = this.$router.resolve({ - path: "/bigscreen/designer", + path: "/screenDesigner", + // path: "/bigscreen/designer", query: { reportCode: val.reportCode } diff --git a/report-ui/src/views/screenDesigner/components/contentMenu.vue b/report-ui/src/views/screenDesigner/components/contentMenu.vue index 15562b1c..67a9a8ad 100644 --- a/report-ui/src/views/screenDesigner/components/contentMenu.vue +++ b/report-ui/src/views/screenDesigner/components/contentMenu.vue @@ -24,7 +24,9 @@ export default { props: { styleObj: Object, - visible: Boolean + visible: Boolean, + widgets: Array, + rightClickIndex: Number }, data() { return {}; @@ -49,7 +51,8 @@ export default { type: "warning" }) .then(() => { - this.$emit("deletelayer"); + console.log(this.rightClickIndex); + this.widgets.splice(this.rightClickIndex, 1); this.$message({ type: "success", message: "删除成功!" @@ -63,19 +66,41 @@ export default { }); }, copyLayer() { - this.$emit("copylayer"); + const obj = this.deepClone(this.widgets[this.rightClickIndex]); + this.widgets.splice(this.widgets.length, 0, obj); }, istopLayer() { - this.$emit("istopLayer"); + if (this.rightClickIndex + 1 < this.widgets.length) { + const temp = this.widgets.splice(this.rightClickIndex, 1)[0]; + this.widgets.push(temp); + } }, setlowLayer() { - this.$emit("setlowLayer"); + if (this.rightClickIndex != 0) { + this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); + } }, moveupLayer() { - this.$emit("moveupLayer"); + if (this.rightClickIndex != 0) { + this.widgets[this.rightClickIndex] = this.widgets.splice( + this.rightClickIndex - 1, + 1, + this.widgets[this.rightClickIndex] + )[0]; + } else { + this.widgets.push(this.widgets.shift()); + } }, movedownLayer() { - this.$emit("movedownLayer"); + if (this.rightClickIndex != this.widgets.length - 1) { + this.widgets[this.rightClickIndex] = this.widgets.splice( + this.rightClickIndex + 1, + 1, + this.widgets[this.rightClickIndex] + )[0]; + } else { + this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); + } } } }; diff --git a/report-ui/src/views/screenDesigner/index.vue b/report-ui/src/views/screenDesigner/index.vue index f4e4747d..ba283f0d 100644 --- a/report-ui/src/views/screenDesigner/index.vue +++ b/report-ui/src/views/screenDesigner/index.vue @@ -1,218 +1,48 @@ + diff --git a/report-ui/src/views/screenDesigner/layout/leftMenu.vue b/report-ui/src/views/screenDesigner/layout/leftMenu.vue new file mode 100644 index 00000000..0f2ecef5 --- /dev/null +++ b/report-ui/src/views/screenDesigner/layout/leftMenu.vue @@ -0,0 +1,144 @@ + + + + diff --git a/report-ui/src/views/screenDesigner/layout/middleScreen.vue b/report-ui/src/views/screenDesigner/layout/middleScreen.vue new file mode 100644 index 00000000..6ee0430a --- /dev/null +++ b/report-ui/src/views/screenDesigner/layout/middleScreen.vue @@ -0,0 +1,260 @@ + + + + diff --git a/report-ui/src/views/screenDesigner/layout/rightConfig.vue b/report-ui/src/views/screenDesigner/layout/rightConfig.vue new file mode 100644 index 00000000..29d2622b --- /dev/null +++ b/report-ui/src/views/screenDesigner/layout/rightConfig.vue @@ -0,0 +1,70 @@ + + + diff --git a/report-ui/src/views/screenDesigner/layout/topBar.vue b/report-ui/src/views/screenDesigner/layout/topBar.vue new file mode 100644 index 00000000..a9ebbd58 --- /dev/null +++ b/report-ui/src/views/screenDesigner/layout/topBar.vue @@ -0,0 +1,229 @@ + + + + diff --git a/report-ui/src/views/screenDesigner/node.md b/report-ui/src/views/screenDesigner/node.md index 2e20709c..141ddb24 100644 --- a/report-ui/src/views/screenDesigner/node.md +++ b/report-ui/src/views/screenDesigner/node.md @@ -13,6 +13,10 @@ │ │ ├── pieCharts(文件夹) (饼图) │ │ ├── texts(文件夹) (文本、滚动文本、超链接、当前时间、图片、视频、表格、内联框架) │ │ ├── wordcloudCharts(文件夹) (词云图) +│ ├── layout(文件夹) +│ │ ├── left.vue 大屏左侧工具栏 +│ │ ├── middle.vue 大屏中间配置 +│ │ ├── right.vue 大屏右侧配置 │ ├── util(文件夹) 公共 js │ ├── widget(文件夹) 图表组件 │ │ ├── barCharts(文件夹) (柱状图) diff --git a/report-ui/src/views/screenDesigner/util/revoke.js b/report-ui/src/views/screenDesigner/util/revoke.js new file mode 100644 index 00000000..8cb590c1 --- /dev/null +++ b/report-ui/src/views/screenDesigner/util/revoke.js @@ -0,0 +1,92 @@ +export class Revoke { + // 历史记录 + recordList = []; + + // 撤销记录,用于重做 + redoList = []; + + // 当前记录用currentRecord变量暂时存储,当用户修改时,再存放到recordList + currentRecord = null; + + // 上次插入数据时间 + time = 0; + + /** + * @description: 插入历史记录 + * @param {object}record + * @return {boolean} + */ + push(record) { + const nowTime = Date.now(); + // 防止添加重复的时间,当添加间隔小于100ms时,则替换当前记录并取消执行添加 + if (this.time + 100 > nowTime) { + this.currentRecord = JSON.stringify(record); + return false; + } + + this.time = nowTime; + // 判断之前是否已经存在currentRecord记录,有则存储到recordList + if (this.currentRecord) { + this.recordList.push(this.currentRecord); + //(清空记录)增加记录后则应该清空重做记录 + //splice() 方法向/从数组添加/删除项目,并返回删除的项目。 + this.redoList.splice(0, this.redoList.length); + } + // 将json转成字符串存储 + this.currentRecord = JSON.stringify(record); + + // 最多存储2000条记录,超过2000条记录则删除之前的记录 + if (this.length > 2000) { + //unshift() 方法将新项添加到数组的开头,并返回新的长度。 + this.recordList.unshift(); + } + + return true; + } + + /** + * @description: 撤销操作 + * @param {*} + * @return {object} + */ + undo() { + // 没有记录时,返回false + // 新建的recordList里面,不知为什么会存在一条记录,未找到原因,所以就判断长度为1时就不能撤销了。 + if (this.recordList.length === 1 ) { + return false; + } + //pop(): 方法用于删除并返回数组的最后一个元素。 + const record = this.recordList.pop(); + + // 将当前记录添加到重做记录里面 + if (this.currentRecord) { + this.redoList.push(this.currentRecord); + } + // 丢弃当前记录,防止重复添加 + this.currentRecord = null; + //返回撤销的记录 + return JSON.parse(record); + } + + /** + * @description: 重做操作 + * @param {*} + * @return {*} + */ + redo() { + // 没有重做记录时,返回false + if (this.redoList.length === 0) { + return false; + } + //pop(): 方法用于删除并返回数组的最后一个元素。 + const record = this.redoList.pop(); + // 添加到重做记录里面 + if (this.currentRecord) { + this.recordList.push(this.currentRecord); + } + // 丢弃当前记录,防止重复添加 + this.currentRecord = null; + + return JSON.parse(record); + } +} diff --git a/report-ui/src/views/screenDesigner/util/screen.js b/report-ui/src/views/screenDesigner/util/screen.js index 6a7622cc..01196cb1 100644 --- a/report-ui/src/views/screenDesigner/util/screen.js +++ b/report-ui/src/views/screenDesigner/util/screen.js @@ -15,6 +15,7 @@ export const handlerLayerWidget = (val, getToolByCode) => { } export const handleBigScreen = (data, getToolByCode, callBcak) => { + console.log('aa', getToolByCode("screen")) const optionScreen = getToolByCode("screen").options; const setup = optionScreen.setup; for (const key in data) { From 4da78266f394363d50db33bcf8fa190421acbad5 Mon Sep 17 00:00:00 2001 From: qianming Date: Fri, 17 Jun 2022 09:36:35 +0800 Subject: [PATCH 02/25] update --- report-ui/config/dev.env.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/report-ui/config/dev.env.js b/report-ui/config/dev.env.js index f50fc84e..30f1e2a3 100644 --- a/report-ui/config/dev.env.js +++ b/report-ui/config/dev.env.js @@ -4,6 +4,6 @@ const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', - // BASE_API: '"http://127.0.0.1:9095"' - BASE_API: '"http://10.108.26.197:9095"' + BASE_API: '"http://127.0.0.1:9095"' + //BASE_API: '"http://10.108.26.197:9095"' }) From 676cf8f2c88969eb8027f702d62a3af17823dd2e Mon Sep 17 00:00:00 2001 From: Raod <1130305001@qq.com> Date: Thu, 23 Jun 2022 14:54:12 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E4=BC=98=E5=8C=96----excel=20null?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reportexcel/service/impl/ReportExcelServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java index 865dd7dd..b25832d6 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java @@ -333,6 +333,9 @@ public class ReportExcelServiceImpl implements ReportExcelService { JSONObject addCell = cellDynamicData.get(j); //字段 String fieldLabel = addCell.getString(dataSet.getFieldLabel()); + if (StringUtils.isBlank(fieldLabel)) { + fieldLabel = StringUtils.EMPTY; + } String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".").concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); //转字符串,解决深拷贝问题 JSONObject addCellData = JSONObject.parseObject(cellStr); From b1819959606c1701ee22c32a97447e28185288d5 Mon Sep 17 00:00:00 2001 From: qianlishi <1432731663@qq.com> Date: Thu, 23 Jun 2022 17:24:30 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E4=BC=98=E5=8C=96=20login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/assets/images/apache.png | Bin 0 -> 13997 bytes report-ui/src/views/login.vue | 83 +++++++++++++++++++++++-- 2 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 report-ui/src/assets/images/apache.png diff --git a/report-ui/src/assets/images/apache.png b/report-ui/src/assets/images/apache.png new file mode 100644 index 0000000000000000000000000000000000000000..c74edb93f654d11be5e5b13dd07bb6737cff94bb GIT binary patch literal 13997 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 literal 0 HcmV?d00001 diff --git a/report-ui/src/views/login.vue b/report-ui/src/views/login.vue index f38b85eb..67cfe9f8 100644 --- a/report-ui/src/views/login.vue +++ b/report-ui/src/views/login.vue @@ -4,13 +4,30 @@ * @Author: qianlishi * @Date: 2021-12-11 14:48:27 * @LastEditors: qianlishi - * @LastEditTime: 2021-12-13 09:45:44 + * @LastEditTime: 2022-06-23 17:23:23 --> @@ -142,7 +175,8 @@ export default { loading: false, redirect: undefined, otherQuery: {}, - needCaptcha: false + needCaptcha: false, + centerDialogVisible: false }; }, watch: { @@ -314,10 +348,47 @@ export default { height: 60px; padding: 10px 60px; display: flex; + justify-content: space-between; align-items: center; - img { - width: 10%; - display: block; + .left { + display: flex; + flex-direction: row; + .box { + width: 40px; + height: 40px; + margin-top: 6px; + img { + width: 100%; + height: 100%; + } + } + .name { + font-size: 20px; + font-weight: bold; + padding-bottom: 5px; + margin-left: 10px; + border-left: 1px solid #ccc; + padding-top: 14px; + padding-left: 10px; + } + .box1 { + width: 100px; + margin-left: 40px; + cursor: pointer; + img { + width: 100%; + margin-top: 10px; + margin-left: 10px; + } + } + } + .right { + display: flex; + flex-direction: row; + .item { + margin-right: 20px; + cursor: pointer; + } } } .login_contant { From 57f921db0e58b1e0eea38bd7ab7c8c325b93a862 Mon Sep 17 00:00:00 2001 From: qianming Date: Fri, 24 Jun 2022 12:41:40 +0800 Subject: [PATCH 05/25] =?UTF-8?q?update=20=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/views/login.vue | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/report-ui/src/views/login.vue b/report-ui/src/views/login.vue index 67cfe9f8..3e8e12e3 100644 --- a/report-ui/src/views/login.vue +++ b/report-ui/src/views/login.vue @@ -1,6 +1,6 @@ @@ -127,7 +166,10 @@ export default { confirmPassword: [ { required: true, validator: validatePass3, trigger: "blur" } ] - } + }, + + // 说明 + centerDialogVisible: false }; }, components: { @@ -204,6 +246,8 @@ export default { line-height: 50px; border-radius: 0px !important; background: #fff !important; + display: flex; + flex-direction: row; .hamburger-container { line-height: 57px; height: 49px; @@ -217,15 +261,25 @@ export default { top: 16px; color: red; } + .right-menu { + position: absolute; + right: 35px; + display: flex; + .item-men { + display: flex; + flex-direction: row; + .item { + margin-right: 60px; + cursor: pointer; + } + } + } .avatar-container { height: 50px; display: inline-block; - position: absolute; - right: 35px; .avatar-wrapper { line-height: 50px; cursor: pointer; - margin-top: 5px; position: relative; .user-avatar { width: 40px; diff --git a/report-ui/src/views/login.vue b/report-ui/src/views/login.vue index 3e8e12e3..1eb4fd2d 100644 --- a/report-ui/src/views/login.vue +++ b/report-ui/src/views/login.vue @@ -141,6 +141,7 @@
个人/商业使用须遵循Apache2.0开源协议。 + 禁止将AJ-Report产品用于违法违规业务。
Date: Fri, 1 Jul 2022 18:52:14 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=A9=E6=B4=A5?= =?UTF-8?q?=E5=B8=82=E7=BB=8F=E7=BA=AC=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/utils/china.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report-ui/src/utils/china.js b/report-ui/src/utils/china.js index 467d8912..cfb394dc 100644 --- a/report-ui/src/utils/china.js +++ b/report-ui/src/utils/china.js @@ -356,7 +356,7 @@ export const conversionCity = { 甘孜藏族自治州: [101.9623, 30.0495], 阿坝藏族羌族自治州: [102.2245, 31.8994], 雅安市: [103.0415, 30.0099], - 天津城区: [117.1901, 39.1255], + 天津市: [117.2015, 39.0853], 赣州市: [114.9334, 25.8311], 景德镇市: [117.1848, 29.2744], 萍乡市: [113.8871, 27.6587], From 85a7f7343e1f3e792bddb0ce5eaaf24e0287c4fa Mon Sep 17 00:00:00 2001 From: Foming Date: Mon, 4 Jul 2022 02:39:05 +0000 Subject: [PATCH 10/25] update README.md. (cherry picked from commit 6c85fd239dbf79229d6e98d571d9d8334ebf980f) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 705d4d6e..063f61f6 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,8 @@ sql文件的目录在:report-core --> src --> main --> resources -- > db.migra - +
+ ## 未来计划 From 8fe8361afe047ba87c4044cfbb956ffd29f1b017 Mon Sep 17 00:00:00 2001 From: Foming Date: Mon, 4 Jul 2022 02:41:15 +0000 Subject: [PATCH 11/25] update doc/docs/guide/briefUsing.md. (cherry picked from commit 0bf7fb46e152dba90cd22ecced6b799d9cd30438) --- doc/docs/guide/briefUsing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/docs/guide/briefUsing.md b/doc/docs/guide/briefUsing.md index 676374e9..1215faf4 100644 --- a/doc/docs/guide/briefUsing.md +++ b/doc/docs/guide/briefUsing.md @@ -9,3 +9,4 @@ + From 201431855fc2e4531756ec8cfc018049c9d14681 Mon Sep 17 00:00:00 2001 From: Foming Date: Tue, 5 Jul 2022 03:38:01 +0000 Subject: [PATCH 12/25] update README.md. (cherry picked from commit dc4f8788eeae268b6d6e66e19a67bd2447a4cf9f) --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 063f61f6..4a6054f6 100644 --- a/README.md +++ b/README.md @@ -215,8 +215,6 @@ AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2. 如果不是为了进群,请直接说明来意,每天加群的都很多,企微也是我们自己的工作企微,会有很多消息会被刷下去,如果半天没有回复你,请发送多次
-AJ-Report技术交流三群,新群可直接加
-
#### 开源不易,劳烦各位star ☺ From a165d929bc1b2ed469835c3ca0c95cfdbe332862 Mon Sep 17 00:00:00 2001 From: Foming Date: Tue, 5 Jul 2022 06:29:43 +0000 Subject: [PATCH 13/25] update README.md. (cherry picked from commit 6cf7bcdfc43301f994483973849dc0890525aeef) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a6054f6..cea45922 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ sql文件的目录在:report-core --> src --> main --> resources -- > db.migra
+ ## 未来计划 From e30dfd73767c948479c8ee075c2f1bfb643ef952 Mon Sep 17 00:00:00 2001 From: Foming Date: Tue, 5 Jul 2022 06:30:28 +0000 Subject: [PATCH 14/25] update doc/docs/guide/briefUsing.md. (cherry picked from commit b5150852442d961fadb5c580cc325a5bc342da33) --- doc/docs/guide/briefUsing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/docs/guide/briefUsing.md b/doc/docs/guide/briefUsing.md index 1215faf4..b3722b4f 100644 --- a/doc/docs/guide/briefUsing.md +++ b/doc/docs/guide/briefUsing.md @@ -10,3 +10,4 @@ + From c2c0bbd2fc12b5b2ae0b16ba92cffe585c90816b Mon Sep 17 00:00:00 2001 From: Foming Date: Wed, 1 Jun 2022 10:02:03 +0800 Subject: [PATCH 15/25] =?UTF-8?q?doc=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/docs/guide/datasource.md | 1 + doc/docs/guide/question.md | 8 +++++--- doc/docs/guide/quicklyDistribution.md | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/docs/guide/datasource.md b/doc/docs/guide/datasource.md index e6aa2a46..2dc5e43b 100644 --- a/doc/docs/guide/datasource.md +++ b/doc/docs/guide/datasource.md @@ -36,6 +36,7 @@ - 第二种,在pom.xml中添加
使用build.sh脚本编译或者maven package编译都可以,前端页面选择jdbc数据源,填上对应驱动。
+**注意:** 底层只实现了mysql的解析,如果你的数据库和mysql差异较大,比如一些函数、关键字和mysql是不同的用法、含义,那就需要重写底层解析代码(datasource)

### 非JDBC驱动类数据源添加 diff --git a/doc/docs/guide/question.md b/doc/docs/guide/question.md index 0eb8ba97..450ea3aa 100644 --- a/doc/docs/guide/question.md +++ b/doc/docs/guide/question.md @@ -37,9 +37,11 @@
- 页面提示“404”
- 1、确保访问地址无误,根据部署方式的不同9095/9528 端口皆可以进入项目,如果一个不行试另一个端口
+ 1、确保访问地址无误,根据部署方式的不同 9095/9528 端口皆可以进入项目,如果一个不行试另一个端口
2、确定前端是否启动
- 3、确定后端是否启动 br> + 3、确定后端是否启动
+ 4、如果你是前后端分离部署,看看你前端config配置文件中的BASE_API有没有改成你后端的IP端口
+ 5、使用nginx转发遇到问题也是同上

@@ -103,7 +105,7 @@
- 文本框颜色无法改变
- 使用文本框,改变颜色,无法改变。已知有概率性的出现无法修改文本框颜色的情况,因为无法重现,暂时不能排查到是哪里问题。解决方法有以下
+ 使用文本框,改变颜色,无法改变。已知有概率性的出现无法修改文本框颜色的情况。解决方法有以下
1、保存退出大屏,重新进入大屏修改文本框颜色
2、删掉文本框,重新拖动一个
diff --git a/doc/docs/guide/quicklyDistribution.md b/doc/docs/guide/quicklyDistribution.md index 89b3a61d..c6cc2f15 100644 --- a/doc/docs/guide/quicklyDistribution.md +++ b/doc/docs/guide/quicklyDistribution.md @@ -1,7 +1,7 @@ ``` 第一步,下载zip包,解压
- 第二步,conf->bootstrap.yml,修改mysql连接
- 第三步,启动bin目录下start.sh
+ 第二步,conf->bootstrap.yml,修改mysql连接 + 第三步,启动bin目录下start.sh 第四步,访问 http://localhost:9095 ``` From c6e303e8b2af4763b9d34fa8336d28c423d7c2ad Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 18 Jul 2022 12:33:34 +0800 Subject: [PATCH 16/25] =?UTF-8?q?doc=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/docs/guide/quicklyDistribution.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/docs/guide/quicklyDistribution.md b/doc/docs/guide/quicklyDistribution.md index c6cc2f15..3ea87cbf 100644 --- a/doc/docs/guide/quicklyDistribution.md +++ b/doc/docs/guide/quicklyDistribution.md @@ -1,5 +1,5 @@ ``` - 第一步,下载zip包,解压
+ 第一步,下载zip包,解压 第二步,conf->bootstrap.yml,修改mysql连接 第三步,启动bin目录下start.sh 第四步,访问 http://localhost:9095 From 50a3aa2e299e03141f25b8102c70cf58dcdbfad3 Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 18 Jul 2022 13:57:14 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E5=A4=9A=E6=9F=B1=E7=BA=BF=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/configure/widget-more-bar-line.js | 21 +++++++++---------- .../widget/bar/widgetMoreBarLineChart.vue | 18 ++++++---------- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/widget-more-bar-line.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/widget-more-bar-line.js index c85aa512..5f533812 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/widget-more-bar-line.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/widget-more-bar-line.js @@ -420,7 +420,7 @@ export const widgetMoreBarLine = { { type: 'el-input-number', label: '左坐标字号', - name: 'namefontSizeYLeft', + name: 'nameFontSizeYLeft', required: false, placeholder: '', value: 14, @@ -452,7 +452,7 @@ export const widgetMoreBarLine = { { type: 'el-input-number', label: '右坐标字号', - name: 'namefontSizeYRight', + name: 'nameFontSizeYRight', required: false, placeholder: '', value: 14, @@ -650,7 +650,6 @@ export const widgetMoreBarLine = { required: false, value: [ {color: '#4bdfff'}, - {color: '#5dc1fd'}, {color: '#55f49c'}, {color: '#ffa43a'}, ], @@ -697,14 +696,14 @@ export const widgetMoreBarLine = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - {"date": "2014", "unsales": 400, "manus": 300, "rework": 400, "sales": 4.2,}, - {"date": "2015", "unsales": 400, "manus": 500, "rework": 300, "sales": 3.6,}, - {"date": "2016", "unsales": 300, "manus": 500, "rework": 500, "sales": 5.8,}, - {"date": "2017", "unsales": 300, "manus": 500, "rework": 700, "sales": 3.4,}, - {"date": "2018", "unsales": 400, "manus": 400, "rework": 1000, "sales": 2.5,}, - {"date": "2019", "unsales": 400, "manus": 500, "rework": 500, "sales": 5.8,}, - {"date": "2020", "unsales": 300, "manus": 400, "rework": 600, "sales": 7.6,}, - {"date": "2021", "unsales": 300, "manus": 600, "rework": 400, "sales": 3.4,}, + {"date": "2014", "unsales": 400, "manus": 300, "sales": 4.2,}, + {"date": "2015", "unsales": 400, "manus": 500, "sales": 3.6,}, + {"date": "2016", "unsales": 300, "manus": 500, "sales": 5.8,}, + {"date": "2017", "unsales": 300, "manus": 500, "sales": 3.4,}, + {"date": "2018", "unsales": 400, "manus": 400, "sales": 2.5,}, + {"date": "2019", "unsales": 400, "manus": 500, "sales": 5.8,}, + {"date": "2020", "unsales": 300, "manus": 400, "sales": 7.6,}, + {"date": "2021", "unsales": 300, "manus": 600, "sales": 3.4,}, ] }, { diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetMoreBarLineChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetMoreBarLineChart.vue index c2b8f485..18f74edc 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetMoreBarLineChart.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/bar/widgetMoreBarLineChart.vue @@ -80,7 +80,6 @@ export default { nameTextStyle: { color: '#666666' }, - position: 'right', axisLine: { lineStyle: { color: '#cdd5e2' @@ -283,9 +282,9 @@ export default { type: 'value', show: optionsSetup.isShowYLeft, // 坐标轴是否显示 name: optionsSetup.textNameYLeft, // 坐标轴名称 - nameTextStyle: { // 别名 + nameTextStyle: { //颜色字号 color: optionsSetup.nameColorYLeft, - fontSize: optionsSetup.namefontSizeYLeft + fontSize: optionsSetup.nameFontSizeYLeft }, axisLabel: { show: true, @@ -295,7 +294,7 @@ export default { } }, axisLine: { - show: optionsSetup.isShowYLeft, + show: true, lineStyle: { color: optionsSetup.lineColorY } @@ -306,12 +305,11 @@ export default { }, { type: 'value', - position: 'right', show: optionsSetup.isShowYRight, // 坐标轴是否显示 name: optionsSetup.textNameYRight, // 坐标轴名称 - nameTextStyle: { // 别名 + nameTextStyle: { // 颜色字号 color: optionsSetup.nameColorYRight, - fontSize: optionsSetup.namefontSizeYRight + fontSize: optionsSetup.nameFontSizeYRight }, axisLabel: { show: true, @@ -321,7 +319,7 @@ export default { } }, axisLine: { - show: optionsSetup.isShowYRight, + show: true, lineStyle: { color: optionsSetup.lineColorY } @@ -423,13 +421,11 @@ export default { let axis = []; let bar1 = []; let bar2 = []; - let bar3 = []; let line = []; for (const i in val) { axis[i] = val[i].date; bar1[i] = val[i].unsales; bar2[i] = val[i].manus; - bar3[i] = val[i].rework; line[i] = val[i].sales; } // x轴 @@ -476,12 +472,10 @@ export default { } series[0].data = bar1; series[1].data = bar2; - series[2].data = bar3; series[3].data = line; const legendName = []; legendName.push('调解成功'); legendName.push('调解失败'); - legendName.push('调解终止'); legendName.push('调解成功率'); this.options.legend['data'] = legendName; this.setOptionsLegendName(legendName); From db091f00b7a0d28a042971d77d837fe4d1102ea4 Mon Sep 17 00:00:00 2001 From: Raod <1130305001@qq.com> Date: Sat, 30 Jul 2022 11:05:49 +0800 Subject: [PATCH 18/25] =?UTF-8?q?=E9=9C=80=E6=B1=82----=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=88=86=E4=BA=AB=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReportShareController.java | 7 + .../controller/dto/ReportShareDto.java | 2 + .../controller/param/ReportShareParam.java | 20 +- .../service/ReportShareService.java | 6 + .../service/impl/ReportShareServiceImpl.java | 17 + .../template/gaea/business/util/DateUtil.java | 17 + .../migration/V1.0.22__add_report_share.sql | 8 + report-ui/src/api/reportShare.js | 24 +- report-ui/src/router/index.js | 398 +++++++++--------- report-ui/src/views/reportShare/index.vue | 238 +++++++++++ 10 files changed, 531 insertions(+), 206 deletions(-) create mode 100644 report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql create mode 100644 report-ui/src/views/reportShare/index.vue diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java index 2d030428..75881119 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java @@ -66,4 +66,11 @@ public class ReportShareController extends GaeaBaseController import('@/views/login'), hidden: true + { + path: '/login', + component: () => import('@/views/login'), hidden: true }, - { + { path: '/aj/**', - component: () => import('@/views/bigScreenReport/aj'), - hidden: true + component: () => import('@/views/bigScreenReport/aj'), + hidden: true }, { - path: '/index', - component: Layout, - name: 'index', - meta: { - title: '首页', - icon: 'iconhome2' + path: '/index', + component: Layout, + name: 'index', + meta: { + title: '首页', + icon: 'iconhome2' }, children: [ - { - path: '', - component: () => import('@/views/home/index'), - meta: { - title: '首页', - icon: 'iconhome2', - keepAlive: true, - requireAuth: true - } + { + path: '', + component: () => import('@/views/home/index'), + meta: { + title: '首页', + icon: 'iconhome2', + keepAlive: true, + requireAuth: true + } }, ] }, { - path: '/access', - name: 'access', - component: Layout, - meta: { - title: '用户权限', - icon: 'icondfzq-', + path: '/access', + name: 'access', + component: Layout, + meta: { + title: '用户权限', + icon: 'icondfzq-', requireAuth: true, - permission: 'authorityManage|roleManage|userManage' + permission: 'authorityManage|roleManage|userManage' }, children: [ - { - path: 'authority', - name: 'authority', - component: () => import('@/views/accessAuthority/index'), - meta: { - title: '权限管理', - icon: 'iconquanxian', - keepAlive: true, - requireAuth: true, + { + path: 'authority', + name: 'authority', + component: () => import('@/views/accessAuthority/index'), + meta: { + title: '权限管理', + icon: 'iconquanxian', + keepAlive: true, + requireAuth: true, permission: 'authorityManage' - } + } }, - { - path: 'role', - name: 'role', - component: () => import('@/views/accessRole/index'), - meta: { - title: '角色管理', - icon: 'iconjiaose1', - keepAlive: true, - requireAuth: true, + { + path: 'role', + name: 'role', + component: () => import('@/views/accessRole/index'), + meta: { + title: '角色管理', + icon: 'iconjiaose1', + keepAlive: true, + requireAuth: true, permission: 'roleManage' - } + } }, - { - path: 'user', - name: 'user', - component: () => import('@/views/accessUser/index'), - meta: { - title: '用户管理', - icon: 'iconyonghu', - keepAlive: true, - requireAuth: true, + { + path: 'user', + name: 'user', + component: () => import('@/views/accessUser/index'), + meta: { + title: '用户管理', + icon: 'iconyonghu', + keepAlive: true, + requireAuth: true, permission: 'userManage' - } + } }, ] }, { - path: '/report', - name: 'report', - component: Layout, - meta: { - title: '报表设计', - icon: 'iconnavicon-ywcs', - requireAuth: true, - permission: 'datasourceManage|resultsetManage|reportManage|bigScreenManage' + path: '/report', + name: 'report', + component: Layout, + meta: { + title: '报表设计', + icon: 'iconnavicon-ywcs', + requireAuth: true, + permission: 'datasourceManage|resultsetManage|reportManage|bigScreenManage' }, children: [ - { - path: 'datasource', - name: 'datasource', - component: () => import('@/views/datasource/index'), - meta: { - title: '数据源', - icon: 'icondatabase', - keepAlive: true, - requireAuth: true, + { + path: 'datasource', + name: 'datasource', + component: () => import('@/views/datasource/index'), + meta: { + title: '数据源', + icon: 'icondatabase', + keepAlive: true, + requireAuth: true, permission: 'datasourceManage' - } + } }, - { - path: 'resultset', - name: 'resultset', + { + path: 'resultset', + name: 'resultset', component: () => import('@/views/resultset/index'), - meta: { - title: '数据集', - icon: 'iconAPIwangguan', - keepAlive: true, - requireAuth: true, + meta: { + title: '数据集', + icon: 'iconAPIwangguan', + keepAlive: true, + requireAuth: true, permission: 'resultsetManage' - } + } }, - { - path: 'report', - name: 'reportIndex', - component: () => import('@/views/reportManage/index'), - meta: { - title: '报表管理', - icon: 'iconnavicon-ywcs', - keepAlive: true, - requireAuth: true, + { + path: 'report', + name: 'reportIndex', + component: () => import('@/views/reportManage/index'), + meta: { + title: '报表管理', + icon: 'iconnavicon-ywcs', + keepAlive: true, + requireAuth: true, permission: 'reportManage' - } + } }, - { - path: 'bigscreen', - name: 'bigscreen', - component: () => import('@/views/bigScreenReport/index'), - meta: { - title: '大屏报表', - icon: 'iconchufaqipeizhi-hui', - keepAlive: true, - requireAuth: true, + { + path: 'bigscreen', + name: 'bigscreen', + component: () => import('@/views/bigScreenReport/index'), + meta: { + title: '大屏报表', + icon: 'iconchufaqipeizhi-hui', + keepAlive: true, + requireAuth: true, permission: 'bigScreenManage' - }, + }, }, - { - path: 'excelreport', - name: 'excelreport', - component: () => import('@/views/excelreport/index'), - meta: { - title: '表格报表', - icon: 'iconliebiao', - keepAlive: true, - requireAuth: true, + { + path: 'excelreport', + name: 'excelreport', + component: () => import('@/views/excelreport/index'), + meta: { + title: '表格报表', + icon: 'iconliebiao', + keepAlive: true, + requireAuth: true, permission: 'excelManage' - } + } + }, + { + path: 'reportshare', + name: 'reportshare', + component: () => import('@/views/reportShare/index'), + meta: { + title: '报表分享', + icon: 'iconliebiao', + keepAlive: true, + requireAuth: true, + permission: 'reportShareManage' + } }, ] }, { - path: '/system', - name: 'system', - component: Layout, - meta: { - title: '系统设置', - icon: 'iconshezhi', - requireAuth: true, - permission: 'fileManage|dictManage|dictItemManage' + path: '/system', + name: 'system', + component: Layout, + meta: { + title: '系统设置', + icon: 'iconshezhi', + requireAuth: true, + permission: 'fileManage|dictManage|dictItemManage' }, children: [ - { - path: 'file', - name: 'file', - component: () => import('@/views/fileManagement/index'), - meta: { - title: '文件管理', - icon: 'iconfill_folder', - keepAlive: true, - requireAuth: true, + { + path: 'file', + name: 'file', + component: () => import('@/views/fileManagement/index'), + meta: { + title: '文件管理', + icon: 'iconfill_folder', + keepAlive: true, + requireAuth: true, permission: 'fileManage' - } + } }, - { - path: 'dict', - name: 'dict', - component: () => import('@/views/dict/index'), - meta: { - title: '数据字典', - icon: 'iconzidian', - keepAlive: true, - requireAuth: true, + { + path: 'dict', + name: 'dict', + component: () => import('@/views/dict/index'), + meta: { + title: '数据字典', + icon: 'iconzidian', + keepAlive: true, + requireAuth: true, permission: 'dictManage' - } + } }, - { - path: 'dictItem', - name: 'dictItem', - component: () => import('@/views/dict/dict-item'), - hidden: true, - meta: { - title: '字典项', - icon: 'iconzidianxiang', - keepAlive: true, - requireAuth: true, + { + path: 'dictItem', + name: 'dictItem', + component: () => import('@/views/dict/dict-item'), + hidden: true, + meta: { + title: '字典项', + icon: 'iconzidianxiang', + keepAlive: true, + requireAuth: true, permission: 'dictItemManage' - } + } }, ] }, - { - path: '/bigscreen/viewer', - component: () => import('@/views/bigscreenDesigner/viewer'), - hidden: true, - meta: { - requireAuth: true + { + path: '/bigscreen/viewer', + component: () => import('@/views/bigscreenDesigner/viewer'), + hidden: true, + meta: { + requireAuth: true } }, - { - path: '/bigscreen/designer', - component: () => import('@/views/bigscreenDesigner/designer'), - hidden: true, - meta: { - requireAuth: true + { + path: '/bigscreen/designer', + component: () => import('@/views/bigscreenDesigner/designer'), + hidden: true, + meta: { + requireAuth: true } }, - { - path: '/excelreport/viewer', - component: () => import('@/views/excelreport/viewer'), - hidden: true, - meta: { - requireAuth: true + { + path: '/excelreport/viewer', + component: () => import('@/views/excelreport/viewer'), + hidden: true, + meta: { + requireAuth: true } }, - { - path: '/excelreport/designer', - component: () => import('@/views/excelreport/designer'), - hidden: true, - meta: { - requireAuth: true + { + path: '/excelreport/designer', + component: () => import('@/views/excelreport/designer'), + hidden: true, + meta: { + requireAuth: true } }, // 重写大屏 { - path: '/screenDesigner', + path: '/screenDesigner', component: () => import('@/views/screenDesigner/index'), - name: 'screenDesigner', + name: 'screenDesigner', }, { - path: '/screen/preview', - component: () => import('@/views/screenDesigner/preview'), - hidden: true, - meta: { - requireAuth: true + path: '/screen/preview', + component: () => import('@/views/screenDesigner/preview'), + hidden: true, + meta: { + requireAuth: true } }, - { - path: '/404', - component: () => import('@/views/404'), - hidden: true + { + path: '/404', + component: () => import('@/views/404'), + hidden: true }, - { - path: '*', - redirect: '/login', - hidden: true + { + path: '*', + redirect: '/login', + hidden: true }, ] diff --git a/report-ui/src/views/reportShare/index.vue b/report-ui/src/views/reportShare/index.vue new file mode 100644 index 00000000..e5223368 --- /dev/null +++ b/report-ui/src/views/reportShare/index.vue @@ -0,0 +1,238 @@ + + From 0a08f0557ffbdae35a60a0476cca688e8418100c Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 1 Aug 2022 09:43:03 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0--=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/param/ReportShareParam.java | 4 +++ .../reportshare/dao/entity/ReportShare.java | 1 - .../migration/V1.0.22__add_report_share.sql | 2 ++ report-ui/src/router/index.js | 2 +- report-ui/src/views/bigScreenReport/index.vue | 4 +-- report-ui/src/views/reportShare/index.vue | 27 ++++++++++++++++--- 6 files changed, 33 insertions(+), 7 deletions(-) diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java index 35ecc9f1..32430607 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java @@ -23,4 +23,8 @@ public class ReportShareParam extends PageParam implements Serializable { /** 报表编码 */ @Query(value = QueryEnum.LIKE) private String reportCode; + + /** 分享有效期类型 */ + @Query(value = QueryEnum.EQ) + private String shareValidType; } diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java index 88b4d748..5b2af8a5 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java @@ -40,7 +40,6 @@ public class ReportShare extends GaeaBaseEntity { private Integer deleteFlag; /** 分享码 */ - @TableField(exist = false) private String sharePassword; @TableField(exist = false) diff --git a/report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql b/report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql index bb80cfdd..7d42d40c 100644 --- a/report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql +++ b/report-core/src/main/resources/db/migration/V1.0.22__add_report_share.sql @@ -6,3 +6,5 @@ INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'detail'); INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'shareDelay'); INSERT INTO `aj_report`.`access_role_authority`(`role_code`, `target`, `action`) VALUES ('root', 'reportShareManage', 'delete'); + +ALTER TABLE `aj_report`.`gaea_report_share` ADD COLUMN share_password varchar(10) DEFAULT NULL COMMENT '分享码' AFTER share_url; diff --git a/report-ui/src/router/index.js b/report-ui/src/router/index.js index 8d8f41b3..cb0dcfec 100644 --- a/report-ui/src/router/index.js +++ b/report-ui/src/router/index.js @@ -182,7 +182,7 @@ export const constantRouterMap = [ component: () => import('@/views/reportShare/index'), meta: { title: '报表分享', - icon: 'iconliebiao', + icon: 'iconfenxiang1', keepAlive: true, requireAuth: true, permission: 'reportShareManage' diff --git a/report-ui/src/views/bigScreenReport/index.vue b/report-ui/src/views/bigScreenReport/index.vue index c5d47ed2..430e9715 100644 --- a/report-ui/src/views/bigScreenReport/index.vue +++ b/report-ui/src/views/bigScreenReport/index.vue @@ -180,8 +180,8 @@ export default { }, openDesign(val) { let routeUrl = this.$router.resolve({ - path: "/screenDesigner", - // path: "/bigscreen/designer", + //path: "/screenDesigner", + path: "/bigscreen/designer", query: { reportCode: val.reportCode } diff --git a/report-ui/src/views/reportShare/index.vue b/report-ui/src/views/reportShare/index.vue index e5223368..da330391 100644 --- a/report-ui/src/views/reportShare/index.vue +++ b/report-ui/src/views/reportShare/index.vue @@ -36,6 +36,14 @@ export default { label: "报表编码", field: "reportCode" }, + { + inputType: "anji-select", + anjiSelectOption: { + dictCode: "SHARE_VAILD" + }, + label: "分享类型", + field: "shareValidType" + }, ], // 表头按钮 tableButtons: [ @@ -83,7 +91,9 @@ export default { buttons: { query: { api: reportShareList, - permission: 'ReportShare:query' + permission: 'ReportShare:query', + sort: "create_time", + order: "DESC" }, queryByPrimarykey: { api: reportShareDetail, @@ -127,7 +137,7 @@ export default { disabled: false, }, { - label: '分享有效期类型',//分享有效期类型,DIC_NAME=SHARE_VAILD + label: '分享类型',//分享有效期类型,DIC_NAME=SHARE_VAILD placeholder: '', field: 'shareValidType', fieldTableRowRenderer: row => { @@ -140,7 +150,7 @@ export default { disabled: false, }, { - label: '分享有效期',//分享有效期 + label: '分享过期时间',//分享有效期 placeholder: '', field: 'shareValidTime', editField: 'shareValidTime', @@ -154,6 +164,7 @@ export default { placeholder: '', field: 'shareToken', editField: 'shareToken', + tableHide: true, inputType: 'input', rules: [ { min: 1, max: 255, message: '不超过255个字符', trigger: 'blur' } @@ -171,6 +182,16 @@ export default { ], disabled: false, }, + { + label: '分享码', + placeholder: '', + field: 'sharePassword', + editField: 'sharePassword', + inputType: 'input', + rules: [ + ], + disabled: false, + }, ], // 弹出框表单对应的值有改动时 // formData 整个表单,通过编辑打开弹出框,根据主键查询数据时,fieldName, fieldVal, fieldExtend为空 From f3e4bb8b1db3d4641157ec00660857e65bc69448 Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 1 Aug 2022 14:44:38 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0--excel=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- doc/docs/.vuepress/config.js | 2 +- doc/docs/guide/{execl.md => excel.md} | 16 ++++++++-------- doc/docs/picture/{execl => excel}/img.png | Bin doc/docs/picture/{execl => excel}/img_1.png | Bin doc/docs/picture/{execl => excel}/img_2.png | Bin doc/docs/picture/{execl => excel}/img_3.png | Bin doc/docs/picture/{execl => excel}/img_4.png | Bin doc/docs/picture/{execl => excel}/img_5.png | Bin 9 files changed, 10 insertions(+), 10 deletions(-) rename doc/docs/guide/{execl.md => excel.md} (69%) rename doc/docs/picture/{execl => excel}/img.png (100%) rename doc/docs/picture/{execl => excel}/img_1.png (100%) rename doc/docs/picture/{execl => excel}/img_2.png (100%) rename doc/docs/picture/{execl => excel}/img_3.png (100%) rename doc/docs/picture/{execl => excel}/img_4.png (100%) rename doc/docs/picture/{execl => excel}/img_5.png (100%) diff --git a/README.md b/README.md index cea45922..9942b7a0 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ sql文件的目录在:report-core --> src --> main --> resources -- > db.migra - nodeV16适配 - 增加省市区地图等图 - 增加基础边框样式 -- Execl报表功能增加与bug修复 +- Excel报表功能增加与bug修复 ## 已知问题 diff --git a/doc/docs/.vuepress/config.js b/doc/docs/.vuepress/config.js index 1f90f7c8..798f4419 100644 --- a/doc/docs/.vuepress/config.js +++ b/doc/docs/.vuepress/config.js @@ -54,7 +54,7 @@ module.exports = { {title: '数据集', path: '/guide/dataset'}, {title: '报表管理', path: '/guide/reportmanager'}, {title: '大屏报表', path: '/guide/dashboard'}, - {title: '表格报表', path: '/guide/execl'}, + {title: '表格报表', path: '/guide/excel'}, {title: '导入导出', path: '/guide/importexport'}, {title: '图表组件', path: '/guide/charts'}, ] diff --git a/doc/docs/guide/execl.md b/doc/docs/guide/excel.md similarity index 69% rename from doc/docs/guide/execl.md rename to doc/docs/guide/excel.md index 6bb8c891..ef68d86f 100644 --- a/doc/docs/guide/execl.md +++ b/doc/docs/guide/excel.md @@ -1,34 +1,34 @@ # 介绍 -execl报表基于Luckysheet开发,[Luckysheet](https://gitee.com/mengshukeji/Luckysheet) 一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 -**注意:** execl报表目前只是简单集成,如果你遇到了一些问题请在此[Issue](https://gitee.com/anji-plus/report/issues/I4CEWV) 下面进行回复。
+Excel报表基于Luckysheet开发,[Luckysheet](https://gitee.com/mengshukeji/Luckysheet) 一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 +**注意:** Excel报表目前只是简单集成,如果你遇到了一些问题请在此[Issue](https://gitee.com/anji-plus/report/issues/I4CEWV) 下面进行回复。
## 表格报表设计 进入表格设计方法1:
从报表管理模块选择需要设计的大屏,按图示进入大屏设计界面
-![img](../picture/execl/img.png)
+![img](../picture/excel/img.png)
进入大屏设计方法2:
从大屏报表模块选择需要设计的大屏,按图示进入大屏设计界面
-![img2](../picture/execl/img_1.png)
+![img2](../picture/excel/img_1.png)
## 简介 -![img3](../picture/execl/img_2.png)
+![img3](../picture/excel/img_2.png)
## 使用 **注**:不建议一列中同时存在俩个字段数据,同时一列值也建议不要存到超大数据量,肯定无法显示的
-![img4](../picture/execl/img_3.png)
+![img4](../picture/excel/img_3.png)
## 预览/保存 点击保存,则会将数据写入到库中。
点击预览,则进入预览界面。
-![img](../picture/execl/img_4.png)
+![img](../picture/excel/img_4.png)
## 预览界面 可以进行导出操作。
-![img](../picture/execl/img_5.png)
+![img](../picture/excel/img_5.png)
diff --git a/doc/docs/picture/execl/img.png b/doc/docs/picture/excel/img.png similarity index 100% rename from doc/docs/picture/execl/img.png rename to doc/docs/picture/excel/img.png diff --git a/doc/docs/picture/execl/img_1.png b/doc/docs/picture/excel/img_1.png similarity index 100% rename from doc/docs/picture/execl/img_1.png rename to doc/docs/picture/excel/img_1.png diff --git a/doc/docs/picture/execl/img_2.png b/doc/docs/picture/excel/img_2.png similarity index 100% rename from doc/docs/picture/execl/img_2.png rename to doc/docs/picture/excel/img_2.png diff --git a/doc/docs/picture/execl/img_3.png b/doc/docs/picture/excel/img_3.png similarity index 100% rename from doc/docs/picture/execl/img_3.png rename to doc/docs/picture/excel/img_3.png diff --git a/doc/docs/picture/execl/img_4.png b/doc/docs/picture/excel/img_4.png similarity index 100% rename from doc/docs/picture/execl/img_4.png rename to doc/docs/picture/excel/img_4.png diff --git a/doc/docs/picture/execl/img_5.png b/doc/docs/picture/excel/img_5.png similarity index 100% rename from doc/docs/picture/execl/img_5.png rename to doc/docs/picture/excel/img_5.png From 0108025b34d4cff725a069b30d86c76439422502 Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 1 Aug 2022 15:44:31 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E9=9C=80=E6=B1=82--Excel=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/dto/ReportShareDto.java | 2 + .../reportshare/dao/entity/ReportShare.java | 3 + .../service/impl/ReportShareServiceImpl.java | 34 ++++++-- report-ui/src/router/index.js | 5 ++ .../bigScreenReport/components/share.vue | 11 ++- report-ui/src/views/bigScreenReport/index.vue | 5 +- .../views/excelreport/components/share.vue | 12 ++- report-ui/src/views/excelreport/el/index.vue | 85 +++++++++++++++++++ report-ui/src/views/excelreport/index.vue | 9 +- 9 files changed, 151 insertions(+), 15 deletions(-) create mode 100644 report-ui/src/views/excelreport/el/index.vue diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java index f9a42cce..b0c4944b 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java @@ -60,4 +60,6 @@ public class ReportShareDto extends GaeaBaseDTO implements Serializable { private boolean sharePasswordFlag = false; + private String reportType; + } diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java index 5b2af8a5..b581504c 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java @@ -45,5 +45,8 @@ public class ReportShare extends GaeaBaseEntity { @TableField(exist = false) private boolean sharePasswordFlag; + /** 大屏类型 report excel */ + @TableField(exist = false) + private String reportType; } diff --git a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java index 1fe00e40..02eec6eb 100644 --- a/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java +++ b/report-core/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java @@ -29,7 +29,11 @@ import org.springframework.stereotype.Service; **/ @Service public class ReportShareServiceImpl implements ReportShareService { + private static final String SHARE_AJFLAG = "#/aj/"; + private static final String SHARE_ELFLAG = "#/el/"; + private static final String REPORT = "report_screen"; + private static final String EXCEL = "report_excel"; /** * 默认跳转路由为aj的页面 */ @@ -126,11 +130,31 @@ public class ReportShareServiceImpl implements ReportShareService { //http://127.0.0.1:9095/reportDashboard/getData String shareCode = UuidUtil.generateShortUuid(); entity.setShareCode(shareCode); - if (entity.getShareUrl().contains(SHARE_URL)) { - String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); - entity.setShareUrl(prefix + SHARE_FLAG + shareCode); - } else { - entity.setShareUrl(entity.getShareUrl() + SHARE_FLAG + shareCode); + +// if (entity.getShareUrl().contains(SHARE_URL)) { +// String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); +// entity.setShareUrl(prefix + SHARE_FLAG + shareCode); +// } else { +// entity.setShareUrl(entity.getShareUrl() + SHARE_FLAG + shareCode); +// } + + + if (REPORT.equals(entity.getReportType())) { + if (entity.getShareUrl().contains(SHARE_URL)) { + String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); + entity.setShareUrl(prefix + SHARE_AJFLAG + shareCode); + }else { + entity.setShareUrl(entity.getShareUrl() + SHARE_AJFLAG + shareCode); + } + }else if (EXCEL.equals(entity.getReportType())) { + if (entity.getShareUrl().contains(SHARE_URL)) { + String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); + entity.setShareUrl(prefix + SHARE_ELFLAG + shareCode); + }else { + entity.setShareUrl(entity.getShareUrl() + SHARE_ELFLAG + shareCode); + } + }else { + return; } entity.setShareValidTime(DateUtil.getFutureDateTmdHms(entity.getShareValidType())); diff --git a/report-ui/src/router/index.js b/report-ui/src/router/index.js index cb0dcfec..5ee8db7e 100644 --- a/report-ui/src/router/index.js +++ b/report-ui/src/router/index.js @@ -35,6 +35,11 @@ export const constantRouterMap = [ component: () => import('@/views/bigScreenReport/aj'), hidden: true }, + { + path: '/el/**', + component: () => import('@/views/excelreport/el'), + hidden: true + }, { path: '/index', component: Layout, diff --git a/report-ui/src/views/bigScreenReport/components/share.vue b/report-ui/src/views/bigScreenReport/components/share.vue index 04bf6166..7245e818 100644 --- a/report-ui/src/views/bigScreenReport/components/share.vue +++ b/report-ui/src/views/bigScreenReport/components/share.vue @@ -114,6 +114,13 @@ export default { default: () => { return ""; } + }, + reportType: { + required : true, + type: String, + default: () =>{ + return ""; + } } }, data() { @@ -124,6 +131,7 @@ export default { dialogForm: { shareValidType: 0, reportCode: "", + reportType: "", shareUrl: "", shareCode: "", sharePassword: "", @@ -164,12 +172,11 @@ export default { this.dialogForm.sharePassword = ""; }, async createShare() { + this.dialogForm.reportType = this.reportType; this.dialogForm.reportCode = this.reportCode; this.dialogForm.shareUrl = window.location.href; - // console.log(this.dialogForm) const { code, data } = await reportShareAdd(this.dialogForm); if (code != "200") return; - // console.log(data) this.shareLinkFlag1 = false; this.$message({ message: "创建链接成功!", diff --git a/report-ui/src/views/bigScreenReport/index.vue b/report-ui/src/views/bigScreenReport/index.vue index 430e9715..6f911441 100644 --- a/report-ui/src/views/bigScreenReport/index.vue +++ b/report-ui/src/views/bigScreenReport/index.vue @@ -101,6 +101,7 @@ :visib="visibleForShareDialog" :reportCode="reportCodeForShareDialog" :reportName="reportNameForShareDialog" + :reportType="reportTypeForShareDialog" @handleClose="visibleForShareDialog = false" /> @@ -130,7 +131,8 @@ export default { // 分享 visibleForShareDialog: false, reportCodeForShareDialog: "", - reportNameForShareDialog: "" + reportNameForShareDialog: "", + reportTypeForShareDialog: "", }; }, mounted() {}, @@ -176,6 +178,7 @@ export default { share(val) { this.reportCodeForShareDialog = val.reportCode; this.reportNameForShareDialog = val.reportName; + this.reportTypeForShareDialog = val.reportType; this.visibleForShareDialog = true; }, openDesign(val) { diff --git a/report-ui/src/views/excelreport/components/share.vue b/report-ui/src/views/excelreport/components/share.vue index 2339f6aa..c79a36da 100644 --- a/report-ui/src/views/excelreport/components/share.vue +++ b/report-ui/src/views/excelreport/components/share.vue @@ -110,6 +110,13 @@ export default { default: () => { return ""; } + }, + reportType: { + required : true, + type: String, + default: () =>{ + return ""; + } } }, data() { @@ -120,6 +127,7 @@ export default { dialogForm: { shareValidType: 0, reportCode: "", + reportType: "", shareUrl: "", shareCode: "", sharePassword: "", @@ -160,12 +168,12 @@ export default { this.dialogForm.sharePassword = ""; }, async createShare() { + this.dialogForm.reportType = this.reportType; this.dialogForm.reportCode = this.reportCode; this.dialogForm.shareUrl = window.location.href; - // console.log(this.dialogForm) + console.log(this.dialogForm) const { code, data } = await reportShareAdd(this.dialogForm); if (code != "200") return; - // console.log(data) this.shareLinkFlag1 = false; this.$message({ message: "创建链接成功!", diff --git a/report-ui/src/views/excelreport/el/index.vue b/report-ui/src/views/excelreport/el/index.vue new file mode 100644 index 00000000..457ac387 --- /dev/null +++ b/report-ui/src/views/excelreport/el/index.vue @@ -0,0 +1,85 @@ + + + diff --git a/report-ui/src/views/excelreport/index.vue b/report-ui/src/views/excelreport/index.vue index fe9a9a95..a8ff8aca 100644 --- a/report-ui/src/views/excelreport/index.vue +++ b/report-ui/src/views/excelreport/index.vue @@ -101,6 +101,7 @@ :visib="visibleForShareDialog" :reportCode="reportCodeForShareDialog" :reportName="reportNameForShareDialog" + :reportType="reportTypeForShareDialog" @handleClose="visibleForShareDialog = false" /> @@ -130,7 +131,8 @@ export default { // 分享 visibleForShareDialog: false, reportCodeForShareDialog: "", - reportNameForShareDialog: "" + reportNameForShareDialog: "", + reportTypeForShareDialog: "" }; }, mounted() {}, @@ -174,12 +176,9 @@ export default { }, // 分享 share(val) { - //excel暂不支持 - this.$message.warning("暂不支持excel报表分享"); - return; - this.reportCodeForShareDialog = val.reportCode; this.reportNameForShareDialog = val.reportName; + this.reportTypeForShareDialog = val.reportType; this.visibleForShareDialog = true; }, openDesign(val) { From 2abad31d3786407e977fa1d7575db6139f3be1d9 Mon Sep 17 00:00:00 2001 From: qianming Date: Mon, 1 Aug 2022 15:49:52 +0800 Subject: [PATCH 22/25] update--0.9.8 --- report-ui/src/views/layout/components/Sidebar/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report-ui/src/views/layout/components/Sidebar/index.vue b/report-ui/src/views/layout/components/Sidebar/index.vue index 8b1bc139..1aea2547 100644 --- a/report-ui/src/views/layout/components/Sidebar/index.vue +++ b/report-ui/src/views/layout/components/Sidebar/index.vue @@ -3,7 +3,7 @@
- V0.9.7.3 + V0.9.8
Date: Tue, 2 Aug 2022 10:02:15 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E5=88=86=E4=BA=AB=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report-ui/src/views/excelreport/components/share.vue | 6 +++++- report-ui/src/views/reportManage/components/share.vue | 11 +++++++++-- report-ui/src/views/reportManage/index.vue | 8 +++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/report-ui/src/views/excelreport/components/share.vue b/report-ui/src/views/excelreport/components/share.vue index c79a36da..2fd596c6 100644 --- a/report-ui/src/views/excelreport/components/share.vue +++ b/report-ui/src/views/excelreport/components/share.vue @@ -54,7 +54,11 @@ - + diff --git a/report-ui/src/views/reportManage/components/share.vue b/report-ui/src/views/reportManage/components/share.vue index 04bf6166..e9825940 100644 --- a/report-ui/src/views/reportManage/components/share.vue +++ b/report-ui/src/views/reportManage/components/share.vue @@ -114,6 +114,13 @@ export default { default: () => { return ""; } + }, + reportType: { + required: true, + type: String, + default:() =>{ + return ""; + } } }, data() { @@ -124,6 +131,7 @@ export default { dialogForm: { shareValidType: 0, reportCode: "", + reportType: "", shareUrl: "", shareCode: "", sharePassword: "", @@ -164,12 +172,11 @@ export default { this.dialogForm.sharePassword = ""; }, async createShare() { + this.dialogForm.reportType = this.reportType; this.dialogForm.reportCode = this.reportCode; this.dialogForm.shareUrl = window.location.href; - // console.log(this.dialogForm) const { code, data } = await reportShareAdd(this.dialogForm); if (code != "200") return; - // console.log(data) this.shareLinkFlag1 = false; this.$message({ message: "创建链接成功!", diff --git a/report-ui/src/views/reportManage/index.vue b/report-ui/src/views/reportManage/index.vue index a07f047e..c9ca2033 100644 --- a/report-ui/src/views/reportManage/index.vue +++ b/report-ui/src/views/reportManage/index.vue @@ -13,6 +13,7 @@ :visib="visibleForShareDialog" :reportCode="reportCodeForShareDialog" :reportName="reportNameForShareDialog" + :reportType="reportTypeForShareDialog" @handleClose="visibleForShareDialog = false" /> @@ -45,6 +46,7 @@ export default { visibleForShareDialog: false, reportCodeForShareDialog: "", reportNameForShareDialog: "", + reportTypeForShareDialog: "", crudOption: { // 使用菜单做为页面标题 title: "报表管理", @@ -354,13 +356,9 @@ export default { }, //分享 shareReport(val) { - if (val.reportType == "report_excel") { - //excel暂不支持 - this.$message.warning("暂不支持excel报表分享"); - return; - } this.reportCodeForShareDialog = val.reportCode; this.reportNameForShareDialog = val.reportName; + this.reportTypeForShareDialog = val.reportType; this.visibleForShareDialog = true; }, //复制 From f2514bb2992866a3eaeed2ecdee5611111a5f964 Mon Sep 17 00:00:00 2001 From: Foming Date: Thu, 7 Jul 2022 01:04:16 +0000 Subject: [PATCH 24/25] update README.md. (cherry picked from commit 638a2cdc64b626f5c3fd542011ac0fb6ffc9ae9f) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9942b7a0..8427638b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ## 简介     AJ-Report是全开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。
-    多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持20种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。
+    多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,目前已支持25种大屏组件/图表,不会开发,照着设计稿也可以制作大屏。
    三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。 ## 在线体验 From 37ec6295581584dde125a9d06f90891757b2e6fa Mon Sep 17 00:00:00 2001 From: Foming Date: Mon, 25 Jul 2022 06:21:01 +0000 Subject: [PATCH 25/25] update README.md. (cherry picked from commit 9c9774a78cfe8d68b55571a4f8b05361619f11db) --- README.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8427638b..16bd4d4a 100644 --- a/README.md +++ b/README.md @@ -91,10 +91,12 @@ ## 部署方式 +**[运行环境参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDevelop.html)**
**注意版本兼容性**
源码 doc -> docs -> guide 目录下即所有文档
### 发行版部署 +**[发行版部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDistribution.html)**
``` 下载最新发行版,解压 @@ -111,6 +113,7 @@ http://serverip:9095 ``` ### 源码编译部署 +**[源码编译部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySource.html)**
在Linux上先准备好maven、node.js、jdk @@ -137,12 +140,6 @@ http://serverip:9095 登陆后修改"数据源->mysql数据源"用户名密码 ``` -**[运行环境参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDevelop.html)**
- -**[源码编译部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySource.html)**
- -**[发行版部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDistribution.html)**
- **[前后端分离部署参考文档](https://ajreport.beliefteam.cn/report-doc/guide/quicklySeparate.html)**
## 操作手册 @@ -213,7 +210,7 @@ AJ-Report使用[Apache2.0开源协议](http://www.apache.org/licenses/LICENSE-2. **如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues)
** 个人企业微信:加微信进群备注 AJ-Report 或者 Report
-如果不是为了进群,请直接说明来意,每天加群的都很多,企微也是我们自己的工作企微,会有很多消息会被刷下去,如果半天没有回复你,请发送多次
+如果不是为了进群,请直接说明来意,每天加群的都很多,企微也是我们自己的工作企微,会有很多消息会被刷下去,如果半天没有回复你,请发送多次。如果加了之后一言不发,不好意思,我直接忽略,我也不知道你要干嘛。