From cfcf647d4746f151f8162883c12da05f71a56f7f Mon Sep 17 00:00:00 2001 From: WenG <450292408@qq.com> Date: Mon, 9 May 2022 23:08:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=86=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=A1=A8=E5=8D=95=E5=8A=A0=E5=85=A5=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/design/FormController.java | 11 +++++ .../report/FormReportRouteController.java | 20 +++++++- .../form/service/design/IFormService.java | 9 ++++ .../service/design/impl/FormServiceImpl.java | 14 ++++++ .../form-design/modules/formDesigner.js | 2 +- .../resources/templates/form-report/list.html | 9 ++-- .../main/resources/templates/form/list.html | 46 +++++++++++++++---- 7 files changed, 96 insertions(+), 15 deletions(-) diff --git a/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java b/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java index fea2bc44..a0a8294e 100644 --- a/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java +++ b/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java @@ -151,6 +151,17 @@ public class FormController extends DefaultBaseController { return new SuccessResult(); } + @ApiOperation(value = "更新到菜单", notes = "更新到菜单接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path"), + @ApiImplicitParam(name = "menuParentId", value = "上级菜单ID", paramType = "path") + }) + @PutMapping("update-to-menu/form-id/{formId}/menu-parent-id/{menuParentId}") + public SuccessResult updateToMenu(@PathVariable("formId") String formId, @PathVariable("menuParentId") String menuParentId) { + formService.updateToMenu(formId, menuParentId); + return new SuccessResult(); + } + @ApiOperation(value = "表单列表", notes = "表单列表接口") @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("list") diff --git a/module-form/src/main/java/ink/wgink/module/form/controller/route/report/FormReportRouteController.java b/module-form/src/main/java/ink/wgink/module/form/controller/route/report/FormReportRouteController.java index 11839c28..67a162e0 100644 --- a/module-form/src/main/java/ink/wgink/module/form/controller/route/report/FormReportRouteController.java +++ b/module-form/src/main/java/ink/wgink/module/form/controller/route/report/FormReportRouteController.java @@ -71,6 +71,23 @@ public class FormReportRouteController { @GetMapping("list/code/{formCode}/version/{formVersion}") public ModelAndView list(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) { + ModelAndView mv = new ModelAndView("form-report/list"); + mv.addObject("isFromMenu", false); + setObject(formCode, formVersion, mv); + return mv; + } + + @GetMapping("list/code/{formCode}/version/{formVersion}/{isFromMenu}") + public ModelAndView list(@PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + @PathVariable("isFromMenu") Boolean isFromMenu) { + ModelAndView mv = new ModelAndView("form-report/list"); + mv.addObject("isFromMenu", isFromMenu); + setObject(formCode, formVersion, mv); + return mv; + } + + private void setObject(String formCode, Integer formVersion, ModelAndView mv) { FormPO formPO = formService.getPOByCodeAndVersion(formCode, formVersion); if (formPO == null) { throw new SearchException("表单不存在"); @@ -84,12 +101,11 @@ public class FormReportRouteController { return showField; } ).collect(Collectors.toList()); - ModelAndView mv = new ModelAndView("form-report/list"); + mv.addObject("formCode", formCode); mv.addObject("formVersion", formVersion); mv.addObject("formType", formPO.getFormType()); mv.addObject("showFields", showFields); - return mv; } } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java index d9784c38..a207e941 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java @@ -134,6 +134,14 @@ public interface IFormService { */ void updateAppShowPageCode(String formId, String appShowPageCode); + /** + * 保存到菜单 + * + * @param formId + * @param menuParentId + */ + void updateToMenu(String formId, String menuParentId); + /** * 详情 * @@ -284,4 +292,5 @@ public interface IFormService { */ SuccessResultList> listPage(ListPage page); + } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java index 53598260..8d61be59 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java @@ -5,6 +5,8 @@ import com.github.pagehelper.PageInfo; import ink.wgink.common.base.DefaultBaseService; import ink.wgink.exceptions.ParamsException; import ink.wgink.exceptions.RemoveException; +import ink.wgink.exceptions.SearchException; +import ink.wgink.interfaces.menu.IMenuBaseService; import ink.wgink.module.form.dao.design.IFormDao; import ink.wgink.module.form.pojo.dtos.design.FormDTO; import ink.wgink.module.form.pojo.pos.design.FormPO; @@ -31,6 +33,8 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService private IFormReportService formReportService; @Autowired private IFormFieldService formFieldService; + @Autowired + private IMenuBaseService menuBaseService; @Override public void createDynamicForm(String createTableSQL) { @@ -213,6 +217,16 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService formDao.update(params); } + @Override + public void updateToMenu(String formId, String menuParentId) { + FormPO formPO = getPO(formId); + if (formPO == null) { + throw new SearchException("表单不存在"); + } + String menuUrl = String.format("/route/form-report/list/code/%s/version/%d/true", formPO.getFormCode(), formPO.getFormVersion()); + menuBaseService.saveAndReturnIdByParentIdAndNameAndUrl(menuParentId, formPO.getFormName(), menuUrl); + } + @Override public FormDTO get(Map params) { params = params == null ? getHashMap(0) : params; diff --git a/module-form/src/main/resources/static/form-design/modules/formDesigner.js b/module-form/src/main/resources/static/form-design/modules/formDesigner.js index 8082d577..2c9b6ff1 100644 --- a/module-form/src/main/resources/static/form-design/modules/formDesigner.js +++ b/module-form/src/main/resources/static/form-design/modules/formDesigner.js @@ -266,7 +266,7 @@ layui.config({ */ Class.prototype.config = { version: "1.0", - formName: "表单设计器", + formName: "", Author: "WenG", formId: "id", mainTitleTpl: '', diff --git a/module-form/src/main/resources/templates/form-report/list.html b/module-form/src/main/resources/templates/form-report/list.html index 24f90e96..7cae3680 100644 --- a/module-form/src/main/resources/templates/form-report/list.html +++ b/module-form/src/main/resources/templates/form-report/list.html @@ -16,7 +16,7 @@ -
+
@@ -60,6 +60,7 @@ var formVersion = [[${formVersion}]]; var formType = [[${formType}]]; var showFields = [[${showFields}]]; + var isFromMenu = [[${isFromMenu}]] // 初始化表格 function initTable() { @@ -236,7 +237,7 @@ id: 'dataTable', url: top.restAjax.path('api/form-report/listpage-all-fields/code/{formCode}/version/{formVersion}', [formCode, formVersion]), width: admin.screen() > 1 ? '100%' : '', - height: $win.height() - 22, + height: $win.height() - (isFromMenu ? 50 : 22), limit: 20, limits: [20, 40, 60, 80, 100, 200], toolbar: '#headerToolBar', @@ -308,7 +309,7 @@ top.dialog.open({ title: '新增', url: top.restAjax.path('route/form-report/save/code/{formCode}/version/{formVersion}', [formCode, formVersion]), - width: '500px', + width: isFromMenu ? '75%' : '60%', height: '85%', onClose: function () { reloadTable(); @@ -323,7 +324,7 @@ top.dialog.open({ title: '编辑', url: top.restAjax.path('route/form-report/update/code/{formCode}/version/{formVersion}?uid={uid}', [formCode, formVersion, checkDatas[0].uid]), - width: '500px', + width: isFromMenu ? '75%' : '60%', height: '85%', onClose: function () { reloadTable(); diff --git a/module-form/src/main/resources/templates/form/list.html b/module-form/src/main/resources/templates/form/list.html index 83fb8bfb..41649442 100644 --- a/module-form/src/main/resources/templates/form/list.html +++ b/module-form/src/main/resources/templates/form/list.html @@ -140,13 +140,16 @@ return ''; } }, - {field:'opition', width:150, title: '操作', fixed:'right', align:'center', + {field:'opition', width:220, title: '操作', fixed:'right', align:'center', templet: function(item) { - return '
' + - ''+ - // ''+ - ''+ - '
'; + var btnGroup = '
'; + btnGroup += ''; + btnGroup += ''; + if(item.formType === 'default') { + btnGroup += ''; + } + btnGroup += '
'; + return btnGroup; } } ] @@ -327,9 +330,9 @@ onClose: function () { } }) - } else if(event === 'reportListEvent') { + } else if(event === 'dataListEvent') { top.dialog.open({ - title: '上报列表', + title: '数据列表', url: top.restAjax.path('route/form-report/list/code/{formCode}/version/{formVersion}', [data.formCode, data.formVersion]), width: '70%', height: '80%', @@ -353,6 +356,33 @@ top.dialog.close(layIndex); }); }); + } else if(event === 'joinMenuEvent') { + top.dialog.open({ + title: '选择要添加的根节点', + width: '300px', + height: '400px', + url: top.restAjax.path('route/menu/list-tree-select', []), + onClose: function() { + var selectedNodes = top.dialog.dialogData.selectedNodes; + if(!selectedNodes || selectedNodes.length == 0) { + return; + } + var menuParentId = selectedNodes[0].id; + top.dialog.confirm('确定添加到该节点吗?', function(index) { + top.dialog.close(index); + var layIndex; + top.restAjax.put(top.restAjax.path('api/form/update-to-menu/form-id/{formId}/menu-parent-id/{parentMenuId}', [data.formId, menuParentId]), {}, null, function (code, data) { + top.dialog.msg('添加成功,刷新菜单查看'); + }, function (code, data) { + top.dialog.msg(data.msg); + }, function () { + layIndex = top.dialog.msg('正在添加...', {icon: 16, time: 0, shade: 0.3}); + }, function () { + top.dialog.close(layIndex); + }); + }); + } + }) } })