From 3cc6dd041b921926c5f1e653aae68264e4b40e95 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Wed, 26 Oct 2022 19:34:56 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E5=BA=94=E7=94=A8=E5=B8=82=E5=9C=BA):=20?=
=?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=94=E7=94=A8=E5=AF=B9=E6=8E=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/panel/AppLogController.java | 19 +-
.../panel/PanelGroupController.java | 14 +
.../request/dataset/DataSetGroupRequest.java | 2 +
.../panel/PanelAppTemplateApplyRequest.java | 6 +
.../dto/appTemplateMarket/AppLogGridDTO.java | 8 +
.../java/io/dataease/ext/ExtAppLogMapper.xml | 20 +-
.../io/dataease/ext/ExtDataSetGroupMapper.xml | 6 +-
.../panel/PanelAppTemplateService.java | 40 +-
.../service/panel/PanelGroupService.java | 67 ++-
.../service/panel/applog/AppLogService.java | 28 +
.../main/resources/db/migration/V42__1.16.sql | 11 +
frontend/src/api/appTemplateMarket/log.js | 13 +-
frontend/src/api/panel/panel.js | 29 +-
.../components/business/DeLayoutContent.vue | 2 +-
frontend/src/lang/en.js | 12 +-
frontend/src/lang/tw.js | 12 +-
frontend/src/lang/zh.js | 12 +-
.../panel/appTemplate/AppTemplateContent.vue | 535 ++++++++++++++++++
.../component/AppTemplateApply.vue | 54 ++
.../appTemplate/component/TemplateItem.vue | 130 ++++-
.../appTemplate/component/TemplateList.vue | 28 +-
.../src/views/panel/appTemplate/index.vue | 504 +----------------
.../component/AppMarketPreview.vue | 124 ++++
.../views/panel/appTemplateMarket/index.vue | 278 ++++-----
.../panel/appTemplateMarket/log/index.vue | 167 +++++-
.../src/views/panel/list/PanelViewShow.vue | 153 ++---
.../src/views/system/datasource/DsForm.vue | 380 +++++++++++--
27 files changed, 1835 insertions(+), 819 deletions(-)
create mode 100644 frontend/src/views/panel/appTemplate/AppTemplateContent.vue
create mode 100644 frontend/src/views/panel/appTemplate/component/AppTemplateApply.vue
create mode 100644 frontend/src/views/panel/appTemplateMarket/component/AppMarketPreview.vue
diff --git a/backend/src/main/java/io/dataease/controller/panel/AppLogController.java b/backend/src/main/java/io/dataease/controller/panel/AppLogController.java
index f388d18a78..45a547acf3 100644
--- a/backend/src/main/java/io/dataease/controller/panel/AppLogController.java
+++ b/backend/src/main/java/io/dataease/controller/panel/AppLogController.java
@@ -21,24 +21,31 @@ import java.util.List;
@RestController
@Api(tags = "应用市场:应用日志")
@ApiSupport(order = 220)
-@RequestMapping("/app/log")
+@RequestMapping("app/log")
public class AppLogController {
@Resource
- private AppLogService applogService;
+ private AppLogService appLogService;
@I18n
@ApiOperation("查询日志")
@PostMapping("/logGrid/{goPage}/{pageSize}")
@ApiImplicitParams({
- @ApiImplicitParam(paramType = "path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
- @ApiImplicitParam(paramType = "path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
- @ApiImplicitParam(name = "request", value = "查询条件", required = true)
+ @ApiImplicitParam(paramType = "path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
+ @ApiImplicitParam(paramType = "path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager> logGrid(@PathVariable int goPage, @PathVariable int pageSize,
@RequestBody KeyGridRequest request) {
Page
{{ $t("user.clear_filter") }}
+ >{{ $t('user.clear_filter') }}
+
- {{ row.datasourceName }}
+ {{ row.datasourceName }}
+ {{ row.datasourceName }}
+ :label="$t('app_template.panel')"
+ >
+
+ {{ row.panelName }}
+ {{ row.panelName }}
+
+
{{ scope.row.applyTime | timestampFormatDate }}
+
+
+ {{ $t('commons.edit') }}
+
+ {{ $t('commons.delete') }}
+
+
+
@@ -132,6 +166,36 @@
@search="filterDraw"
/>
+
+
+
+
+
+
+
+
+ {{$t('app_template.log_resource_delete_tips')}}
+
+
+ {{ $t('commons.cancel') }}
+ {{ $t('commons.confirm') }}
+
+
@@ -144,10 +208,14 @@ import {
addOrder,
formatOrders
} from '@/utils/index'
-import { logGrid } from '@/api/appTemplateMarket/log'
+import { deleteLogAndResource, logGrid } from '@/api/appTemplateMarket/log'
+import { findOneWithParent } from '@/api/panel/panel'
+import AppTemplateApply from '@/views/panel/appTemplate/component/AppTemplateApply'
+import { deepCopy } from '@/components/canvas/utils/utils'
+
export default {
name: 'AppTemplateLog',
- components: { GridTable, filterUser },
+ components: { AppTemplateApply, GridTable, filterUser },
mixins: [keyEnter],
props: {
appTemplateId: {
@@ -162,6 +230,11 @@ export default {
},
data() {
return {
+ deleteConfirmDialog: false,
+ deleteItemInfo: {
+ deleteResource: false
+ },
+ operateWidth: 168,
columns: [],
paginationConfig: {
currentPage: 1,
@@ -194,6 +267,53 @@ export default {
this.resizeObserver()
},
methods: {
+ closeDel() {
+ this.deleteItemInfo = {
+ deleteResource: false
+ }
+ this.deleteConfirmDialog = false
+ },
+ confirmDel() {
+ deleteLogAndResource(this.deleteItemInfo).then(()=>{
+ this.closeDel()
+ this.search()
+ })
+ },
+ closeDraw() {
+ this.search()
+ },
+ editApply(item) {
+ const param = {
+ datasourceType: item.datasourceType,
+ logId: item.id,
+ panelId: item.panelId,
+ panelGroupPid: item.panelGroupPid,
+ datasourceId: item.datasourceId,
+ datasetGroupPid: item.datasetGroupPid,
+ datasetGroupId: item.datasetGroupId,
+ datasetGroupName: item.datasetGroupName,
+ panelName: item.panelName
+ }
+ this.$refs.templateEditApply.init(param)
+ },
+ goToDatasource(row) {
+
+ },
+ goPanel(row) {
+ findOneWithParent(row.panelId).then(rsp => {
+ this.$router.push({ name: 'panel', params: rsp.data })
+ })
+ },
+ edit() {
+
+ },
+ del(item) {
+ this.deleteItemInfo = {
+ ...item,
+ deleteResource: false
+ }
+ this.deleteConfirmDialog = true
+ },
applyNew() {
this.$emit('applyNew')
},
@@ -302,4 +422,13 @@ export default {
.table-container-filter {
height: calc(100% - 110px);
}
+
+.link-span {
+ color: #3370FF;
+ cursor: pointer;
+
+ &:hover {
+ text-decoration: underline;
+ }
+}
diff --git a/frontend/src/views/panel/list/PanelViewShow.vue b/frontend/src/views/panel/list/PanelViewShow.vue
index 106a7dbb4a..25279cdd46 100644
--- a/frontend/src/views/panel/list/PanelViewShow.vue
+++ b/frontend/src/views/panel/list/PanelViewShow.vue
@@ -17,7 +17,7 @@
style="border-bottom: 1px solid;border-bottom-color:#E6E6E6;"
>
-
+
-
+
{{ $t('panel.export_to_img') }}
+ {{ $t('panel.export_to_app') }}
@@ -304,6 +308,7 @@ export default {
},
data() {
return {
+ canvasInfoTemp: 'preview-temp-canvas-main',
canvasId: 'canvas-main',
showMain: true,
pdfTemplateSelectedIndex: 0,
@@ -405,7 +410,7 @@ export default {
saveToTemplate() {
this.dataLoading = true
setTimeout(() => {
- html2canvas(document.getElementById('canvasInfoTemp')).then(canvas => {
+ html2canvas(document.getElementById(this.canvasInfoTemp)).then(canvas => {
this.templateSaveShow = true
this.dataLoading = false
const snapshot = canvas.toDataURL('image/jpeg', 0.1) // 0.2是图片质量
@@ -430,7 +435,7 @@ export default {
_this.dataLoading = true
try {
_this.findStaticSource(function(staticResource) {
- html2canvas(document.getElementById('canvasInfoTemp')).then(canvas => {
+ html2canvas(document.getElementById(_this.canvasInfoTemp)).then(canvas => {
_this.dataLoading = false
const snapshot = canvas.toDataURL('image/jpeg', 0.1) // 0.1是图片质量
if (snapshot !== '') {
@@ -458,9 +463,9 @@ export default {
_this.dataLoading = true
try {
_this.findStaticSource(function(staticResource) {
- html2canvas(document.getElementById('canvasInfoTemp')).then(canvas => {
+ html2canvas(document.getElementById(_this.canvasInfoTemp)).then(canvas => {
_this.dataLoading = false
- const snapshot = canvas.toDataURL('image/jpeg', 0.1) // 0.1是图片质量
+ const snapshot = canvas.toDataURL('image/jpeg', 1) // 0.1是图片质量
if (snapshot !== '') {
const panelInfo = {
name: _this.$store.state.panel.panelInfo.name,
@@ -528,7 +533,7 @@ export default {
setTimeout(() => {
this.exporting = true
setTimeout(() => {
- const canvasID = document.getElementById('canvasInfoTemp')
+ const canvasID = document.getElementById(this.canvasInfoTemp)
const a = document.createElement('a')
html2canvas(canvasID).then(canvas => {
this.exporting = false
@@ -559,7 +564,7 @@ export default {
setTimeout(() => {
this.exporting = true
setTimeout(() => {
- html2canvas(document.getElementById('canvasInfoTemp')).then(canvas => {
+ html2canvas(document.getElementById(this.canvasInfoTemp)).then(canvas => {
const snapshot = canvas.toDataURL('image/jpeg', 1) // 是图片质量
this.dataLoading = false
this.exporting = false
@@ -573,7 +578,7 @@ export default {
},
refreshTemplateInfo() {
this.templateInfo = {}
- html2canvas(document.getElementById('canvasInfoTemp')).then(canvas => {
+ html2canvas(document.getElementById(this.canvasInfoTemp)).then(canvas => {
const snapshot = canvas.toDataURL('image/jpeg', 0.1) // 0.2是图片质量
if (snapshot !== '') {
this.templateInfo = {
@@ -623,7 +628,9 @@ export default {
if (this.showType === 1 && this.shareUserId !== null) {
const param = { userId: this.shareUserId }
proxyInitPanelData(this.panelInfo.id, param, null)
- } else { initPanelData(this.panelInfo.id, false) }
+ } else {
+ initPanelData(this.panelInfo.id, false)
+ }
},
changePublishState() {
if (this.panelInfo.status === 'publish') {
@@ -642,72 +649,76 @@ export default {
diff --git a/frontend/src/views/system/datasource/DsForm.vue b/frontend/src/views/system/datasource/DsForm.vue
index 96ca0ac5f0..0382ad2bee 100644
--- a/frontend/src/views/system/datasource/DsForm.vue
+++ b/frontend/src/views/system/datasource/DsForm.vue
@@ -1,9 +1,9 @@