diff --git a/backend/src/main/java/io/dataease/controller/request/panel/PanelTemplateRequest.java b/backend/src/main/java/io/dataease/controller/request/panel/PanelTemplateRequest.java index 3295f2b0ac..7841a2512b 100644 --- a/backend/src/main/java/io/dataease/controller/request/panel/PanelTemplateRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/panel/PanelTemplateRequest.java @@ -17,6 +17,8 @@ public class PanelTemplateRequest extends PanelTemplateWithBLOBs { private String withBlobs="Y"; @ApiModelProperty("操作类型") private String optType; + @ApiModelProperty("静态文件") + private String staticResource; @ApiModelProperty("是否及联") private Boolean withChildren = false; diff --git a/backend/src/main/java/io/dataease/service/panel/PanelTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelTemplateService.java index ebb962dc7d..71e79b9627 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelTemplateService.java @@ -12,6 +12,7 @@ import io.dataease.plugins.common.base.domain.PanelTemplate; import io.dataease.plugins.common.base.domain.PanelTemplateExample; import io.dataease.plugins.common.base.domain.PanelTemplateWithBLOBs; import io.dataease.plugins.common.base.mapper.PanelTemplateMapper; +import io.dataease.service.staticResource.StaticResourceService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,6 +36,8 @@ public class PanelTemplateService { private PanelTemplateMapper panelTemplateMapper; @Resource private ExtPanelTemplateMapper extPanelTemplateMapper; + @Resource + private StaticResourceService staticResourceService; public List templateList(PanelTemplateRequest panelTemplateRequest) { panelTemplateRequest.setWithBlobs("N"); @@ -75,6 +78,8 @@ public class PanelTemplateService { exampleDelete.createCriteria().andPidEqualTo(request.getPid()).andNameEqualTo(request.getName()); panelTemplateMapper.deleteByExample(exampleDelete); } + //Store static resource into the server + staticResourceService.saveFilesToServe(request.getStaticResource()); panelTemplateMapper.insert(request); } else { String nameCheckResult = this.nameCheck(CommonConstants.OPT_TYPE.UPDATE, request.getName(), request.getPid(), request.getId()); diff --git a/frontend/src/views/panel/template/component/TemplateImport.vue b/frontend/src/views/panel/template/component/TemplateImport.vue index 411bdd9fe6..4ae7ce5599 100644 --- a/frontend/src/views/panel/template/component/TemplateImport.vue +++ b/frontend/src/views/panel/template/component/TemplateImport.vue @@ -45,6 +45,7 @@ export default { templateStyle: null, templateData: null, dynamicData: null, + staticResource: null, snapshot: '' } } @@ -120,6 +121,7 @@ export default { this.templateInfo.templateData = this.importTemplateInfo.panelData this.templateInfo.snapshot = this.importTemplateInfo.snapshot this.templateInfo.dynamicData = this.importTemplateInfo.dynamicData + this.templateInfo.staticResource = this.importTemplateInfo.staticResource this.templateInfo.nodeType = 'template' } reader.readAsText(file)