From dab9dc6bc552137c3736bb706f6e386ec618d8cc Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Mon, 2 Aug 2021 10:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=B5=84=E6=BA=90=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/pojo/dtos/login/LoginFormDTO.java | 56 +++++++++++ .../base/pojo/vos/login/LoginFormVO.java | 12 +++ .../mapper/login/login-form-mapper.xml | 8 ++ .../resources/templates/login/form/save.html | 95 ++++++++++++++++++ .../templates/login/form/update.html | 96 +++++++++++++++++++ 5 files changed, 267 insertions(+) diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java index 1994c3e6..a3d67d18 100644 --- a/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java @@ -26,6 +26,8 @@ public class LoginFormDTO implements Serializable { private Integer isActive; @ApiModelProperty(name = "preview", value = "预览") private String preview; + @ApiModelProperty(name = "resourceImgs", value = "资源图片") + private String resourceImgs; @ApiModelProperty(name = "formHtml", value = "form代码") private String formHtml; @ApiModelProperty(name = "formCss", value = "form样式") @@ -43,46 +45,98 @@ public class LoginFormDTO implements Serializable { return loginFormId == null ? "" : loginFormId.trim(); } + public void setLoginFormId(String loginFormId) { + this.loginFormId = loginFormId; + } + public String getName() { return name == null ? "" : name.trim(); } + public void setName(String name) { + this.name = name; + } + public String getSummary() { return summary == null ? "" : summary.trim(); } + public void setSummary(String summary) { + this.summary = summary; + } + public Integer getIsActive() { return isActive == null ? 0 : isActive; } + public void setIsActive(Integer isActive) { + this.isActive = isActive; + } + public String getPreview() { return preview == null ? "" : preview.trim(); } + public void setPreview(String preview) { + this.preview = preview; + } + + public String getResourceImgs() { + return resourceImgs == null ? "" : resourceImgs.trim(); + } + + public void setResourceImgs(String resourceImgs) { + this.resourceImgs = resourceImgs; + } + public String getFormHtml() { return formHtml == null ? "" : formHtml.trim(); } + public void setFormHtml(String formHtml) { + this.formHtml = formHtml; + } + public String getFormCss() { return formCss == null ? "" : formCss.trim(); } + public void setFormCss(String formCss) { + this.formCss = formCss; + } + public String getFormLeftCss() { return formLeftCss == null ? "" : formLeftCss.trim(); } + public void setFormLeftCss(String formLeftCss) { + this.formLeftCss = formLeftCss; + } + public String getFormCenterCss() { return formCenterCss == null ? "" : formCenterCss.trim(); } + public void setFormCenterCss(String formCenterCss) { + this.formCenterCss = formCenterCss; + } + public String getFormRightCss() { return formRightCss == null ? "" : formRightCss.trim(); } + public void setFormRightCss(String formRightCss) { + this.formRightCss = formRightCss; + } + public String getGmtCreat() { return gmtCreat == null ? "" : gmtCreat.trim(); } + public void setGmtCreat(String gmtCreat) { + this.gmtCreat = gmtCreat; + } + @Override public String toString() { final StringBuilder sb = new StringBuilder("{"); @@ -96,6 +150,8 @@ public class LoginFormDTO implements Serializable { .append(isActive); sb.append(",\"preview\":\"") .append(preview).append('\"'); + sb.append(",\"resourceImgs\":\"") + .append(resourceImgs).append('\"'); sb.append(",\"formHtml\":\"") .append(formHtml).append('\"'); sb.append(",\"formCss\":\"") diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java index 77534023..43381b48 100644 --- a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java @@ -25,6 +25,8 @@ public class LoginFormVO { private Integer isActive; @ApiModelProperty(name = "preview", value = "预览") private String preview; + @ApiModelProperty(name = "resourceImgs", value = "资源图片") + private String resourceImgs; @ApiModelProperty(name = "formHtml", value = "form代码") @CheckEmptyAnnotation(name = "form代码") private String formHtml; @@ -69,6 +71,14 @@ public class LoginFormVO { this.preview = preview; } + public String getResourceImgs() { + return resourceImgs == null ? "" : resourceImgs.trim(); + } + + public void setResourceImgs(String resourceImgs) { + this.resourceImgs = resourceImgs; + } + public String getFormHtml() { return formHtml == null ? "" : formHtml.trim(); } @@ -120,6 +130,8 @@ public class LoginFormVO { .append(isActive); sb.append(",\"preview\":\"") .append(preview).append('\"'); + sb.append(",\"resourceImgs\":\"") + .append(resourceImgs).append('\"'); sb.append(",\"formHtml\":\"") .append(formHtml).append('\"'); sb.append(",\"formCss\":\"") diff --git a/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml b/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml index e8b5e2a6..4675910a 100644 --- a/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml +++ b/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml @@ -10,6 +10,7 @@ + @@ -27,6 +28,7 @@ `summary` varchar(255) DEFAULT NULL COMMENT '说明', `is_active` int(1) DEFAULT '1' COMMENT '是否激活', `preview` char(36) DEFAULT NULL COMMENT '预览', + `resource_imgs` text COMMENT '资源图片', `form_html` longtext COMMENT 'form代码', `form_css` longtext COMMENT 'form样式', `form_left_css` text COMMENT 'form左样式', @@ -49,6 +51,7 @@ summary, is_active, preview, + resource_imgs, form_html, form_css, form_left_css, @@ -65,6 +68,7 @@ #{summary}, #{isActive}, #{preview}, + #{resourceImgs}, #{formHtml}, #{formCss}, #{formLeftCss}, @@ -110,6 +114,9 @@ preview = #{preview}, + + resource_imgs = #{resourceImgs}, + form_html = #{formHtml}, @@ -165,6 +172,7 @@ summary, is_active, preview, + resource_imgs, form_html, form_css, form_left_css, diff --git a/login-base/src/main/resources/templates/login/form/save.html b/login-base/src/main/resources/templates/login/form/save.html index 1ec2a10a..647bcf59 100644 --- a/login-base/src/main/resources/templates/login/form/save.html +++ b/login-base/src/main/resources/templates/login/form/save.html @@ -73,6 +73,48 @@ +
+ +
+ +
+ +
+
  • 1. form表单代码:表单的HTML代码。
  • @@ -411,6 +453,58 @@ }); } + // 初始化预览图预览图上传 + function initResourceImgsUploadFile() { + var files = $('#resourceImgs').val(); + initFileList('resourceImgs', files, function(fileName) { + var viewer = new Viewer(document.getElementById(fileName +'FileBox'), {navbar: false}); + viewerObj[fileName] = viewer; + }); + + form.on('button(resourceImgsUploadFile)', function(obj) { + var name = this.dataset.name; + var explain = this.dataset.explain; + top.dialog.file({ + type: 'image', + title: '上传'+ explain, + width: '400px', + height: '420px', + maxFileCount: '1', + onClose: function() { + var uploadFileArray = top.dialog.dialogData.uploadFileArray; + if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) { + var files = $('#'+ name).val(); + for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) { + if(files.length > 0) { + files += ','; + } + files += file.data; + } + initFileList(name, files, function(fileName) { + viewerObj[fileName].update(); + }); + } + } + }); + }); + + form.on('button(resourceImgsRemoveFile)', function(obj) { + var name = this.dataset.name; + var id = this.dataset.id; + var files = $('#'+ name).val().replace(id, ''); + files = files.replace(/\,+/g, ','); + if(files.charAt(0) == ',') { + files = files.substring(1); + } + if(files.charAt(files.length - 1) == ',') { + files = files.substring(0, files.length - 1); + } + initFileList(name, files, function(fileName) { + viewerObj[fileName].update(); + }); + }); + } + function initFormHtml() { var editor = CodeMirror.fromTextArea(document.getElementById('formHtml'), { lineNumbers: true, @@ -468,6 +562,7 @@ // 初始化 function initData() { initPreviewUploadFile(); + initResourceImgsUploadFile(); initFormHtml(); initFormCss(); initFormLeftCss(); diff --git a/login-base/src/main/resources/templates/login/form/update.html b/login-base/src/main/resources/templates/login/form/update.html index 591b41d4..c726fa65 100644 --- a/login-base/src/main/resources/templates/login/form/update.html +++ b/login-base/src/main/resources/templates/login/form/update.html @@ -73,6 +73,48 @@ +
    + +
    + +
    + +
    +
    • 1. form表单代码:表单的HTML代码。
    • @@ -413,6 +455,58 @@ }); } + // 初始化预览图预览图上传 + function initResourceImgsUploadFile() { + var files = $('#resourceImgs').val(); + initFileList('resourceImgs', files, function(fileName) { + var viewer = new Viewer(document.getElementById(fileName +'FileBox'), {navbar: false}); + viewerObj[fileName] = viewer; + }); + + form.on('button(resourceImgsUploadFile)', function(obj) { + var name = this.dataset.name; + var explain = this.dataset.explain; + top.dialog.file({ + type: 'image', + title: '上传'+ explain, + width: '400px', + height: '420px', + maxFileCount: '1', + onClose: function() { + var uploadFileArray = top.dialog.dialogData.uploadFileArray; + if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) { + var files = $('#'+ name).val(); + for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) { + if(files.length > 0) { + files += ','; + } + files += file.data; + } + initFileList(name, files, function(fileName) { + viewerObj[fileName].update(); + }); + } + } + }); + }); + + form.on('button(resourceImgsRemoveFile)', function(obj) { + var name = this.dataset.name; + var id = this.dataset.id; + var files = $('#'+ name).val().replace(id, ''); + files = files.replace(/\,+/g, ','); + if(files.charAt(0) == ',') { + files = files.substring(1); + } + if(files.charAt(files.length - 1) == ',') { + files = files.substring(0, files.length - 1); + } + initFileList(name, files, function(fileName) { + viewerObj[fileName].update(); + }); + }); + } + function initFormHtml(value) { var editor = CodeMirror.fromTextArea(document.getElementById('formHtml'), { lineNumbers: true, @@ -481,6 +575,7 @@ summary: data.summary, isActive: data.isActive, preview: data.preview, + resourceImgs: data.resourceImgs, formHtml: data.formHtml, formCss: data.formCss, formLeftCss: data.formLeftCss, @@ -490,6 +585,7 @@ form.render(null, 'dataForm'); initPreviewUploadFile(); + initResourceImgsUploadFile(); initFormHtml(data.formHtml); initFormCss(data.formCss); initFormLeftCss(data.formLeftCss);