瀏覽代碼

添加工作流模型

4.0
lip 2 年之前
父節點
當前提交
93ec115816
共有 54 個檔案被更改,包括 2889 行新增71 行删除
  1. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelForm.java
  2. +12
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java
  3. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/EmptyWorker.java
  4. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLc1Worker.java
  5. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLc2Worker.java
  6. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLt2Worker.java
  7. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLtMsWorker.java
  8. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLtWorker.java
  9. +21
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcMsWorker.java
  10. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcNormalWorker.java
  11. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcSingleWorker.java
  12. +6
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/ModelFactory.java
  13. +27
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLc1Worker.java
  14. +27
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLc2Worker.java
  15. +27
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLtWorker.java
  16. +27
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcMsWorker.java
  17. +27
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLtMsWorker.java
  18. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowSingleWorker.java
  19. +0
    -2
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java
  20. +2
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelLoadHandler.java
  21. +7
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelSaveHandler.java
  22. +2
    -3
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelService.java
  23. +5
    -2
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/ModelDetail.java
  24. +3
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/ModelLoadHandler.java
  25. +92
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclc1/FlowLcLc1Service.java
  26. +13
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclc2/FlowLcLc2Service.java
  27. +13
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclt/FlowLcLtService.java
  28. +13
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcltms/FlowLcLtMs.java
  29. +47
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsDelHandler.java
  30. +75
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsSaveHandler.java
  31. +93
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsService.java
  32. +0
    -25
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/ModelUtils.java
  33. +4
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc1/LCLC1Config.java
  34. +42
    -10
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc1/LCLC1Service.java
  35. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc2/LCLC2Service.java
  36. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclt/LCLTService.java
  37. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclt2/LCLT2Service.java
  38. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcltms/LCLtMsService.java
  39. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsConfig.java
  40. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsDelHandler.java
  41. +9
    -2
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsSaveHandler.java
  42. +44
    -12
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsService.java
  43. +1
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/normal/LCNormalService.java
  44. +97
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_fields_only.ftl
  45. +534
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_flow_body_b.ftl
  46. +131
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_flow_body_h.ftl
  47. +8
    -1
      smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_list_dialog.ftl
  48. +27
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/model_card_flow_ll.ftl
  49. +301
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/model_card_flow_lms.ftl
  50. +22
    -6
      smtweb-framework/bpm/src/main/resources/static/template/default/model_card_ms.ftl
  51. +7
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/model_card_normal.ftl
  52. +633
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/model_list_flow_ll1.ftl
  53. +468
    -0
      smtweb-framework/bpm/src/main/resources/static/template/default/model_list_flow_ll2.ftl
  54. +6
    -1
      smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java

+ 1
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelForm.java 查看文件

@@ -150,7 +150,7 @@ public class ModelForm extends DefaultEntity {
}

public void setContent(String mfContent) {
put("mf_content", mfContent);
put("mf_content", mfContent == null ? "{}" :mfContent.replaceAll("\\s*", ""));
}

public String getOption() {


+ 12
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/ModelFormHelper.java 查看文件

@@ -432,14 +432,25 @@ public class ModelFormHelper {
}

/**
* 根据向导生成model
*
* @param form
* @param tmplId
*/
public static void buildSaveModelByTmpl(ModelForm form, String tmplId) {
buildSaveModelByTmplExt(form, new SwMap(), tmplId);
}

/**
* 根据向导生成model
*
* @param form
* @param tmplId
* @param modelExt 额外的属性配置
*/
public static void buildSaveModelByTmplExt(ModelForm form,SwMap modelExt, String tmplId) {
PageDatasets datasets = form.getDatasets();
SwMap tmplModel = JsonUtil.parse(form.getTmpl(), SwMap.class);
tmplModel.putAll(modelExt);
tmplModel.put("title", form.getTitle());
tmplModel.put("name", form.getName());
tmplModel.put("datasets", JsonUtil.bean2MapList(form.getDatasets().list));


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/EmptyWorker.java 查看文件

@@ -16,6 +16,7 @@ import java.util.List;
/**
* @Author:lip
* @Date : 2022/9/14 11:27
* 自定义模型-生成一个空白页面
*/
public class EmptyWorker extends BaseModelWorker{
private final static String template = "model_empty";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLc1Worker.java 查看文件

@@ -5,6 +5,7 @@ import cc.smtweb.system.bpm.web.design.form.ModelForm;
/**
* @Author:lip
* @Date : 2022/9/1 16:05
* 左列表-右列表(含编辑弹窗、左列表可编辑)
*/
public class LcLc1Worker extends LcSingleWorker {
private final static String tmpl = "model_list_list_1";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLc2Worker.java 查看文件

@@ -5,6 +5,7 @@ import cc.smtweb.system.bpm.web.design.form.ModelForm;
/**
* @Author:lip
* @Date : 2022/9/1 16:05
* 左列表-右列表(含编辑弹窗、左列表不可编辑)
*/
public class LcLc2Worker extends LcSingleWorker {
private final static String tmpl = "model_list_list_2";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLt2Worker.java 查看文件

@@ -5,6 +5,7 @@ import cc.smtweb.system.bpm.web.design.form.ModelForm;
/**
* @Author:lip
* @Date : 2022/9/13 10:06
* 左树-列表(含编辑弹窗)
*/
public class LcLt2Worker extends LcSingleWorker {
private final static String template = "model_tree_list_dialog";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLtMsWorker.java 查看文件

@@ -7,6 +7,7 @@ import cc.smtweb.system.bpm.web.design.form.ModelForm;
/**
* @Author:lip
* @Date : 2022/8/28 22:57
* 左树-主子列表(含编辑卡片)
*/
public class LcLtMsWorker extends LcMsWorker {
private final static String templateList = "model_tree_list";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcLtWorker.java 查看文件

@@ -7,6 +7,7 @@ import cc.smtweb.system.bpm.web.design.form.ModelForm;
/**
* @Author:lip
* @Date : 2022/8/26 10:20
* 左树-列表(含编辑卡片)
*/
public class LcLtWorker extends LcNormalWorker {
private final static String templateList = "model_tree_list";


+ 21
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcMsWorker.java 查看文件

@@ -1,8 +1,12 @@
package cc.smtweb.system.bpm.web.design.form.model;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.exception.SwException;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.ModelFormHelper;
import org.apache.commons.lang3.StringUtils;

/**
* @Author:lip
@@ -22,4 +26,21 @@ public class LcMsWorker extends LcNormalWorker {
}
return super.getTmplId(bean);
}

/**
* 根据模型生成页面
*
* @param bean
*/
public void buildSaveModel(ModelForm bean) {
String tmplId = getTmplId(bean);
if (StringUtils.isEmpty(tmplId)) throw new SwException("此类型页面没有找到对应的模板文件!");
SwMap model = new SwMap();
SwMap opts = bean.getOpts();
SwMap cfg = opts.readMap(ModelFormHelper.OPT_CONFIG);
//
model.put("subIndSave",cfg.readMap("props").readBool("subIndSave"));

ModelFormHelper.buildSaveModelByTmplExt(bean, model, tmplId);
}
}

+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcNormalWorker.java 查看文件

@@ -15,6 +15,7 @@ import java.util.List;
/**
* @Author:lip
* @Date : 2022/8/26 10:20
* 普通列表(含编辑卡片)
*/
public class LcNormalWorker extends BaseModelWorker {
private final static String templateList = "model_list_normal";


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/LcSingleWorker.java 查看文件

@@ -13,6 +13,7 @@ import java.util.List;

/**
* Created by Akmm at 2022-08-14 12:17
* 简单列表(含编辑弹窗)
*/
public class LcSingleWorker extends BaseModelWorker {
private final static String tmpl = "model_list_card";


+ 6
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/ModelFactory.java 查看文件

@@ -5,7 +5,7 @@ import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.exception.SwException;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.ModelFormHelper;
import cc.smtweb.system.bpm.web.design.form.model.flow.FlowSingleWorker;
import cc.smtweb.system.bpm.web.design.form.model.flow.*;
import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
@@ -33,6 +33,11 @@ public class ModelFactory {
mapWorker.put(SwEnum.ModelType.LC_LC_1.value, new LcLc1Worker());
mapWorker.put(SwEnum.ModelType.LC_LC_2.value, new LcLc2Worker());
mapWorker.put(SwEnum.ModelType.FLOW_SINGLE.value, new FlowSingleWorker());
mapWorker.put(SwEnum.ModelType.FLOW_LC_LC_1.value, new FlowLcLc1Worker());
mapWorker.put(SwEnum.ModelType.FLOW_LC_LC_2.value, new FlowLcLc2Worker());
mapWorker.put(SwEnum.ModelType.FLOW_LC_LT.value, new FlowLcLtWorker());
mapWorker.put(SwEnum.ModelType.FLOW_LC_MS.value, new FlowLcMsWorker());
mapWorker.put(SwEnum.ModelType.FLOW_LT_MS.value, new FlowLtMsWorker());
mapWorker.put(SwEnum.ModelType.EMPTY.value, new EmptyWorker());
}



+ 27
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLc1Worker.java 查看文件

@@ -0,0 +1,27 @@
package cc.smtweb.system.bpm.web.design.form.model.flow;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.model.LcNormalWorker;

/**
* @Author:lip
* @Date : 2022/9/15 16:49
* 左列表-右列表(含编辑卡片、工作流、左列表可编辑)
*/
public class FlowLcLc1Worker extends LcNormalWorker {
private final static String templateList = "model_list_flow_ll1";
private final static String templateCard = "model_card_flow_ll";

@Override
protected String getTmplId(ModelForm bean) {
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.LIST.value))) {
return templateList;
}
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.CARD.value))) {
return templateCard;
}
return super.getTmplId(bean);
}
}

+ 27
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLc2Worker.java 查看文件

@@ -0,0 +1,27 @@
package cc.smtweb.system.bpm.web.design.form.model.flow;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.model.LcNormalWorker;

/**
* @Author:lip
* @Date : 2022/9/15 16:49
* 左列表-右列表(含编辑卡片、工作流、左列表不可编辑)
*/
public class FlowLcLc2Worker extends LcNormalWorker {
private final static String templateList = "model_list_flow_ll2";
private final static String templateCard = "model_card_flow_ll";

@Override
protected String getTmplId(ModelForm bean) {
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.LIST.value))) {
return templateList;
}
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.CARD.value))) {
return templateCard;
}
return super.getTmplId(bean);
}
}

+ 27
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcLtWorker.java 查看文件

@@ -0,0 +1,27 @@
package cc.smtweb.system.bpm.web.design.form.model.flow;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.model.LcNormalWorker;

/**
* @Author:lip
* @Date : 2022/9/15 16:45
* 左树-列表(含编辑卡片、工作流)
*/
public class FlowLcLtWorker extends LcNormalWorker {
private final static String templateList = "model_tree_list";
private final static String templateCard = "model_card_flow";

@Override
protected String getTmplId(ModelForm bean) {
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.LIST.value))) {
return templateList;
}
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.CARD.value))) {
return templateCard;
}
return super.getTmplId(bean);
}
}

+ 27
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLcMsWorker.java 查看文件

@@ -0,0 +1,27 @@
package cc.smtweb.system.bpm.web.design.form.model.flow;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.model.LcMsWorker;

/**
* @Author:lip
* @Date : 2022/9/15 16:49
* 普通主子列表(含编辑卡片、工作流)
*/
public class FlowLcMsWorker extends LcMsWorker {
private final static String templateList = "model_list_normal";
private final static String templateCard = "model_card_flow_lms";

@Override
protected String getTmplId(ModelForm bean) {
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.LIST.value))) {
return templateList;
}
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.CARD.value))) {
return templateCard;
}
return super.getTmplId(bean);
}
}

+ 27
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowLtMsWorker.java 查看文件

@@ -0,0 +1,27 @@
package cc.smtweb.system.bpm.web.design.form.model.flow;

import cc.smtweb.framework.core.common.SwEnum;
import cc.smtweb.framework.core.util.StringUtil;
import cc.smtweb.system.bpm.web.design.form.ModelForm;
import cc.smtweb.system.bpm.web.design.form.model.LcMsWorker;

/**
* @Author:lip
* @Date : 2022/9/15 16:49
* 左树-主子列表(含编辑卡片、工作流)
*/
public class FlowLtMsWorker extends LcMsWorker {
private final static String templateList = "model_tree_list";
private final static String templateCard = "model_card_flow_lms";

@Override
protected String getTmplId(ModelForm bean) {
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.LIST.value))) {
return templateList;
}
if (bean.getName().endsWith(StringUtil.upFirst(SwEnum.PageType.CARD.value))) {
return templateCard;
}
return super.getTmplId(bean);
}
}

+ 1
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/form/model/flow/FlowSingleWorker.java 查看文件

@@ -17,7 +17,7 @@ import java.util.List;
/**
* @Author: tanghp
* @Date: 2022-08-26 9:48
* @Desc: 列表卡片(含工作流)
* @Desc: 普通列表(含编辑卡片、工作流)
*/
public class FlowSingleWorker extends BaseModelWorker {
private final static String listTmpl = "model_list_flow";


+ 0
- 2
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelListHandler.java 查看文件

@@ -1,12 +1,10 @@
package cc.smtweb.system.bpm.web.engine.model.common;

import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.db.EntityHelper;
import cc.smtweb.framework.core.mvc.service.SqlNamedPara;
import cc.smtweb.framework.core.mvc.service.SqlPara;
import cc.smtweb.system.bpm.web.design.form.define.PageDataset;
import cc.smtweb.system.bpm.web.engine.dynPage.DynPageHelper;
import cc.smtweb.system.bpm.web.engine.dynPage.DynPageListHandler;
import cc.smtweb.system.bpm.web.engine.dynPage.IBuildSqlListener;
import cc.smtweb.system.bpm.web.engine.flow.entity.ProcInst;



+ 2
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelLoadHandler.java 查看文件

@@ -1,5 +1,6 @@
package cc.smtweb.system.bpm.web.engine.model.common;

import cc.smtweb.framework.core.common.SwConsts;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.db.impl.DefaultEntity;
import cc.smtweb.framework.core.mvc.service.SwListData;
@@ -33,6 +34,7 @@ public class FlowModelLoadHandler<T extends DefaultEntity> extends ModelLoadHand

//过滤条件
long id = params.readLong("id");
if (id <= 0) id = filter.readLong(SwConsts.NAME_ID);
long taskId = params.readLong("taskId");

PageDataset cardDataset = findCardDataset(ModelHelper.DATASET_NAME_CARD);


+ 7
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelSaveHandler.java 查看文件

@@ -15,6 +15,13 @@ import cc.smtweb.system.bpm.web.engine.flow.FlowListener;
* 带流程的简单卡片之保存
*/
public class FlowModelSaveHandler<T extends DefaultEntity> extends ModelSaveHandler<T> implements FlowListener {
public FlowModelSaveHandler() {
}

public FlowModelSaveHandler(String cardDsName) {
super(cardDsName);
}

protected FlowInstance flowInstance;
@Override
protected void readFromPage(SwMap pageData, SwMap filter) {


+ 2
- 3
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/FlowModelService.java 查看文件

@@ -4,7 +4,6 @@ import cc.smtweb.framework.core.annotation.SwBody;
import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.framework.core.common.R;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.db.impl.DefaultEntity;
import cc.smtweb.framework.core.mvc.service.AbstractHandler;
import cc.smtweb.framework.core.mvc.service.IWorker;
import cc.smtweb.framework.core.session.UserSession;
@@ -24,9 +23,9 @@ public class FlowModelService extends LCSingleService {
case TYPE_MODEL_LIST:
return new FlowModelListHandler();
case TYPE_MODEL_LOAD:
return new FlowModelLoadHandler<DefaultEntity>();
return new FlowModelLoadHandler<>();
case TYPE_MODEL_SAVE:
return new FlowModelSaveHandler<DefaultEntity>();
return new FlowModelSaveHandler<>();
case TYPE_MODEL_DEL:
return new FlowModelDelHandler();
}


+ 5
- 2
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/ModelDetail.java 查看文件

@@ -109,16 +109,18 @@ public class ModelDetail<T extends DefaultEntity> {
if (table == null) throw new BizException("没有找到待保存的表定义:" + pageDataset.name);
SwMap details = pageData.readMap(pageDataset.name);
if (details == null) throw new BizException("没有找到待保存的表数据:" + pageDataset.name);
EntityDao<T> dao = DbEngine.getInstance().findDao(table.getTableName());
EntityDao<T> dao = DbEngine.getInstance().findDao(table.getName());
List<Map<String,Object>> inserted = details.readListMap("inserted");
if(!CommUtil.isEmpty(inserted)){
inserted.forEach((row)-> {
T bean = dao.createBean();
bean.init();
bean.getData().putAll(row);
bean.setEntityId(DbEngine.getInstance().nextId());
if(consumer!=null){
consumer.accept(true,bean);
}
insertList.add(bean);
});
}
List<Map<String,Object>> updated = details.readListMap("updated");
@@ -130,6 +132,7 @@ public class ModelDetail<T extends DefaultEntity> {
if(consumer!=null){
consumer.accept(false,bean);
}
updateList.add(bean);
});
}
Set<Long> deleted = details.readLongSet("deleted");
@@ -141,7 +144,7 @@ public class ModelDetail<T extends DefaultEntity> {
public void batchSave(PageDataset pageDataset) {
ModelTable table = ModelTableCache.getInstance().get(pageDataset.masterTable);
if (table == null) throw new BizException("没有找到待保存的表定义:" + pageDataset.name);
EntityDao<T> dao = DbEngine.getInstance().findDao(table.getTableName());
EntityDao<T> dao = DbEngine.getInstance().findDao(table.getName());
batchSave(dao);
}
}

+ 3
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/common/ModelLoadHandler.java 查看文件

@@ -66,7 +66,9 @@ public class ModelLoadHandler<T extends DefaultEntity> extends AbstractDynPageHa
//从数据库加载bean,并设到返回值
protected void load(SwMap ret, SwMap filter) {
PageDataset cardDataset = findCardDataset(cardDsName);
bean = provider.loadBean(cardDataset, filter.readLong(SwConsts.NAME_ID));
long id = params.readLong(SwConsts.NAME_ID);
if (id <= 0) id = filter.readLong(SwConsts.NAME_ID);
bean = provider.loadBean(cardDataset, id);
ret.put(cardDsName, DynRetBean.createBean(bean));
}



+ 92
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclc1/FlowLcLc1Service.java 查看文件

@@ -0,0 +1,92 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lclc1;

import cc.smtweb.framework.core.annotation.SwBody;
import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.framework.core.common.R;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.mvc.service.AbstractHandler;
import cc.smtweb.framework.core.session.UserSession;
import cc.smtweb.system.bpm.web.engine.model.common.*;
import cc.smtweb.system.bpm.web.engine.model.listcard.lclc1.LCLC1Service;

/**
* @Author:lip
* @Date : 2022/9/16 18:53
* 模型:FLOW_LC_LC_1 服务类
*/
@SwService
public class FlowLcLc1Service extends FlowModelService {
private LCLC1Service worker = new LCLC1Service();

@Override
protected AbstractHandler createHandler(String type) {
switch (type) {
case TYPE_MODEL_LIST:
case TYPE_MODEL_LOAD:
case TYPE_MODEL_SAVE:
case TYPE_MODEL_DEL:
return super.createHandler(type);
}
return worker.createHandler(type);
}

/**
* 左列表保存
* @param params
* @param us
* @return
*/
public R modelLSave(@SwBody SwMap params, UserSession us) {
return worker.modelLSave(params,us);
}

/**
* 左表编辑
* @param params
* @param us
* @return
*/
public R modelLLoad(@SwBody SwMap params, UserSession us) {
return worker.modelLLoad(params,us);
}

/**
* 左表新增初始化
* @param params
* @param us
* @return
*/
public R modelLAdd(@SwBody SwMap params, UserSession us) {
return worker.modelLAdd(params,us);
}

/**
* 左表删除
* @param params
* @param us
* @return
*/
public R modelLDel(@SwBody SwMap params, UserSession us) {
return worker.modelLDel(params,us);
}

/**
* 加载左表列表数据
* @param params
* @param us
* @return
*/
public R modelLList(@SwBody SwMap params, UserSession us) {
return worker.modelLList(params,us);
}

/**
* 加载左表列表总记录数及合计栏
* @param params
* @param us
* @return
*/
public R modelLListTotal(@SwBody SwMap params, UserSession us) {
return worker.modelLListTotal(params,us);
}
}

+ 13
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclc2/FlowLcLc2Service.java 查看文件

@@ -0,0 +1,13 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lclc2;

import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.system.bpm.web.engine.model.flow.listcard.lclc1.FlowLcLc1Service;

/**
* @Author:lip
* @Date : 2022/9/16 19:01
* 模型:FLOW_LC_LC_2 服务类
*/
@SwService
public class FlowLcLc2Service extends FlowLcLc1Service {
}

+ 13
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lclt/FlowLcLtService.java 查看文件

@@ -0,0 +1,13 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lclt;

import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.system.bpm.web.engine.model.common.FlowModelService;

/**
* @Author:lip
* @Date : 2022/9/16 18:41
* 模型:FLOW_LC_LT 服务类
*/
@SwService
public class FlowLcLtService extends FlowModelService {
}

+ 13
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcltms/FlowLcLtMs.java 查看文件

@@ -0,0 +1,13 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lcltms;

import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.system.bpm.web.engine.model.flow.listcard.lcms.FlowLcMsService;

/**
* @Author:lip
* @Date : 2022/9/17 21:20
* 模型:FLOW_LT_MS 服务类
*/
@SwService
public class FlowLcLtMs extends FlowLcMsService {
}

+ 47
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsDelHandler.java 查看文件

@@ -0,0 +1,47 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lcms;

import cc.smtweb.framework.core.db.DbEngine;
import cc.smtweb.framework.core.db.EntityDao;
import cc.smtweb.framework.core.db.cache.ModelTableCache;
import cc.smtweb.framework.core.db.vo.ModelTable;
import cc.smtweb.system.bpm.web.design.form.define.PageDataset;
import cc.smtweb.system.bpm.web.engine.model.common.FlowModelDelHandler;
import cc.smtweb.system.bpm.web.engine.model.listcard.lcms.LCMsConfig;

/**
* @Author:lip
* @Date : 2022/9/16 19:45
* 主子表模型删除处理类
*/
public class FlowLcMsDelHandler extends FlowModelDelHandler {
@Override
protected void checkDel(PageDataset pageDataSet, long id) {
super.checkDel(pageDataSet, id);
// 子表删除校验
}

@Override
protected void localDel(long id, ModelTable table) {
super.localDel(id, table);
// 获取主子表模型配置
LCMsConfig.Config config = new LCMsConfig.Config(form);
// 子表删除
batchDelDetail(config.getSubTableId(),config.getSubFKField(),id);
}

/**
* 批量删除明细 供子类调用
* @param tableId 表定义ID
* @param fk 关联字段
* @param id 主表ID
*/
protected void batchDelDetail(long tableId, String fk, long id) {
if (tableId <= 0L) return;
ModelTable table = ModelTableCache.getInstance().get(tableId);
if (table == null) return;
EntityDao dao = DbEngine.getInstance().findDao(table.getName());
if (dao != null) {
dao.deleteEntity(String.format(" where %s = ? ", fk), id);
}
}
}

+ 75
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsSaveHandler.java 查看文件

@@ -0,0 +1,75 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lcms;

import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.db.DbEngine;
import cc.smtweb.framework.core.db.impl.DefaultEntity;
import cc.smtweb.system.bpm.web.design.form.define.PageDataset;
import cc.smtweb.system.bpm.web.engine.model.common.FlowModelSaveHandler;
import cc.smtweb.system.bpm.web.engine.model.common.ModelDetail;
import cc.smtweb.system.bpm.web.engine.model.listcard.lcms.LCMsConfig;

import java.util.function.BiConsumer;

/**
* @Author:lip
* @Date : 2022/9/16 19:25
* 主子表模型保存处理类
*/
public class FlowLcMsSaveHandler extends FlowModelSaveHandler {

// 子表明细
protected ModelDetail subDetail;

@Override
public void readFromPage(SwMap pageData, SwMap filter) {
super.readFromPage(pageData, filter);
LCMsConfig.Config config = new LCMsConfig.Config(form);
// 读取子表
subDetail = readDetailFromPage(LCMsConfig.dsSList,pageData,filter,(isNew,item) -> {
if(isNew){
item.setEntityId(DbEngine.getInstance().nextId());
item.put(config.getSubFKField(),bean.getEntityId());
}
});
}

@Override
protected void checkValid() {
super.checkValid();
// 校验子表明细
}

@Override
public void doSave() {
super.doSave();
// 保存子表
saveDetail(LCMsConfig.dsSList,subDetail);
}

/**
* 读取明细 供子类调用
* @param dsName 数据集名称
* @param pageData 数据对象
* @param filter 数据集的filter参数
* @param afterReadBean 读取明细之后的接口
* @return
* @param <E>
*/
protected <E extends DefaultEntity> ModelDetail<E> readDetailFromPage(String dsName, SwMap pageData, SwMap filter, BiConsumer<Boolean,E> afterReadBean) {
ModelDetail<E> modelDetail = new ModelDetail<>();
PageDataset pageDataset = findDataset(dsName);
modelDetail.readFromMap(pageDataset,pageData,afterReadBean);
return modelDetail;
}

/**
* 保存明细 供子类调用
* @param dsName
* @param modelDetail
* @param <E>
*/
protected <E extends DefaultEntity> void saveDetail(String dsName, ModelDetail<E> modelDetail){
PageDataset pageDataset = findDataset(dsName);
modelDetail.batchSave(pageDataset);
}
}

+ 93
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/flow/listcard/lcms/FlowLcMsService.java 查看文件

@@ -0,0 +1,93 @@
package cc.smtweb.system.bpm.web.engine.model.flow.listcard.lcms;

import cc.smtweb.framework.core.annotation.SwBody;
import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.framework.core.common.R;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.mvc.service.AbstractHandler;
import cc.smtweb.framework.core.session.UserSession;
import cc.smtweb.system.bpm.web.engine.model.common.FlowModelService;
import cc.smtweb.system.bpm.web.engine.model.listcard.lcms.LCMsService;

/**
* @Author:lip
* @Date : 2022/9/16 18:53
* 模型:FLOW_LT_MS 服务类
*/
@SwService
public class FlowLcMsService extends FlowModelService {
private LCMsService worker = new LCMsService();

protected AbstractHandler createHandler(String type) {
switch (type) {
case TYPE_MODEL_LIST:
case TYPE_MODEL_LOAD:
return super.createHandler(type);
case TYPE_MODEL_SAVE:
return new FlowLcMsSaveHandler();
case TYPE_MODEL_DEL:
return new FlowLcMsDelHandler();
}
return worker.createHandler(type);
}

/**
* 子表单独保存
* @param params
* @param us
* @return
*/
public R modelSubSave(@SwBody SwMap params, UserSession us) {
return worker.modelSubSave(params,us);
}

/**
* 子表编辑
* @param params
* @param us
* @return
*/
public R modelSubLoad(@SwBody SwMap params, UserSession us) {
return worker.modelSubLoad(params,us);
}

/**
* 子表新增初始化
* @param params
* @param us
* @return
*/
public R modelSubAdd(@SwBody SwMap params, UserSession us) {
return worker.modelSubAdd(params,us);
}

/**
* 子表单独删除
* @param params
* @param us
* @return
*/
public R modelSubDel(@SwBody SwMap params, UserSession us) {
return worker.modelSubDel(params,us);
}

/**
* 子表列表数据
* @param params
* @param us
* @return
*/
public R modelSubList(@SwBody SwMap params, UserSession us) {
return worker.modelSubList(params,us);
}

/**
* 列子表表总记录数及合计栏
* @param params
* @param us
* @return
*/
public R modelSubListTotal(@SwBody SwMap params, UserSession us) {
return worker.modelSubListTotal(params,us);
}
}

+ 0
- 25
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/ModelUtils.java 查看文件

@@ -1,25 +0,0 @@
package cc.smtweb.system.bpm.web.engine.model.listcard;

import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.system.bpm.web.design.form.define.PageDataset;
import cc.smtweb.system.bpm.web.design.form.define.PageDatasets;
import cc.smtweb.system.bpm.web.engine.dynPage.DynRetBean;
import org.springframework.util.Assert;

/**
* @Author:lip
* @Date : 2022/9/2 15:22
*/
public class ModelUtils {
public static SwMap buildRetData(String dsName, SwMap data) {
SwMap mapRet = new SwMap();
mapRet.put(dsName, DynRetBean.createBean(data));
return mapRet;
}

public static PageDataset findPageDatasetByName(PageDatasets dataSets, String dsName) {
PageDataset pageDataset = dataSets.findByName(dsName);
Assert.notNull(pageDataset, "未获取到数据集:" + dsName);
return pageDataset;
}
}

+ 4
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc1/LCLC1Config.java 查看文件

@@ -5,8 +5,12 @@ package cc.smtweb.system.bpm.web.engine.model.listcard.lclc1;
* @Date : 2022/9/2 12:00
*/
public class LCLC1Config {
// 左列表数据集
public static final String dsLList = "lList";
// 左表编辑数据集
public static final String dsLCard = "lCard";
// 右表(主表)列表数据集
public static final String dsRList = "list";
// 右表(主表)编辑数据集
public static final String dsRCard = "card";
}

+ 42
- 10
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc1/LCLC1Service.java 查看文件

@@ -4,7 +4,6 @@ import cc.smtweb.framework.core.annotation.SwBody;
import cc.smtweb.framework.core.annotation.SwService;
import cc.smtweb.framework.core.common.R;
import cc.smtweb.framework.core.common.SwMap;
import cc.smtweb.framework.core.db.impl.DefaultEntity;
import cc.smtweb.framework.core.mvc.service.AbstractHandler;
import cc.smtweb.framework.core.session.UserSession;
import cc.smtweb.system.bpm.web.engine.model.common.*;
@@ -12,6 +11,7 @@ import cc.smtweb.system.bpm.web.engine.model.common.*;
/**
* @Author:lip
* @Date : 2022/9/2 11:34
* 模型LC_LC_1(左列表-右列表(含编辑弹窗、左列表可编辑)) 服务类
*/
@SwService
public class LCLC1Service extends ModelService {
@@ -21,44 +21,76 @@ public class LCLC1Service extends ModelService {
public final static String TYPE_MODEL_LEFT_DEL = "modelLDel";

@Override
protected AbstractHandler createHandler(String type) {
public AbstractHandler createHandler(String type) {
switch (type) {
case TYPE_MODEL_LEFT_LIST:
return new ModelListHandler(LCLC1Config.dsLList);
case TYPE_MODEL_LEFT_LOAD:
return new ModelLoadHandler<DefaultEntity>(LCLC1Config.dsLCard);
return new ModelLoadHandler<>(LCLC1Config.dsLCard);
case TYPE_MODEL_LEFT_SAVE:
return new ModelSaveHandler<DefaultEntity>(LCLC1Config.dsLCard);
return new ModelSaveHandler<>(LCLC1Config.dsLCard);
case TYPE_MODEL_LEFT_DEL:
return new ModelDelHandler(LCLC1Config.dsLCard);
}
return super.createHandler(type);
}
//左表保存

/**
* 左表保存
* @param params
* @param us
* @return
*/
public R modelLSave(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_SAVE, handler -> ((ModelSaveHandler) handler).save());
}

//左表读取
/**
* 左表编辑
* @param params
* @param us
* @return
*/
public R modelLLoad(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_LOAD, handler -> ((ModelLoadHandler) handler).load());
}

//左表读取
/**
* 左表新增初始化
* @param params
* @param us
* @return
*/
public R modelLAdd(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_LOAD, handler -> ((ModelLoadHandler) handler).add());
}

//左表删除
/**
* 左表删除
* @param params
* @param us
* @return
*/
public R modelLDel(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_DEL, handler -> ((ModelDelHandler) handler).del());
}
//左表列表数据

/**
* 左表列表数据
* @param params
* @param us
* @return
*/
public R modelLList(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_LIST, handler -> ((ModelListHandler) handler).data());
}

//左表列表总记录数及合计栏
/**
* 左表列表总记录数及合计栏
* @param params
* @param us
* @return
*/
public R modelLListTotal(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_LEFT_LIST, handler -> ((ModelListHandler) handler).getTotal());
}


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclc2/LCLC2Service.java 查看文件

@@ -6,6 +6,7 @@ import cc.smtweb.system.bpm.web.engine.model.listcard.lclc1.LCLC1Service;
/**
* @Author:lip
* @Date : 2022/9/13 15:28
* 模型LC_LC_2(左列表-右列表(含编辑弹窗、左列表不可编辑)) 服务类
*/
@SwService
public class LCLC2Service extends LCLC1Service {


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclt/LCLTService.java 查看文件

@@ -6,6 +6,7 @@ import cc.smtweb.system.bpm.web.engine.model.listcard.normal.LCNormalService;
/**
* @Author:lip
* @Date : 2022/9/13 15:30
* 模型LC_LT(左树-列表(含编辑卡片)) 服务类
*/
@SwService
public class LCLTService extends LCNormalService {


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lclt2/LCLT2Service.java 查看文件

@@ -6,6 +6,7 @@ import cc.smtweb.system.bpm.web.engine.model.common.ModelService;
/**
* @Author:lip
* @Date : 2022/8/27 13:54
* 模型LC_LT_2(左树-列表(含编辑弹窗)) 服务类
*/
@SwService
public class LCLT2Service extends ModelService {


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcltms/LCLtMsService.java 查看文件

@@ -6,6 +6,7 @@ import cc.smtweb.system.bpm.web.engine.model.listcard.lcms.LCMsService;
/**
* @Author:lip
* @Date : 2022/9/13 15:32
* 模型LC_LT_MS(左树-主子列表(含编辑卡片)) 服务类
*/
@SwService
public class LCLtMsService extends LCMsService {


+ 1
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsConfig.java 查看文件

@@ -19,7 +19,7 @@ public class LCMsConfig {
//卡片子表卡片数据集
public static final String dsSCard = "cardSub";
// 模型的配置信息类
static class Config{
public static class Config{
private final ModelForm modelForm;

public Config(ModelForm modelForm) {


+ 1
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsDelHandler.java 查看文件

@@ -38,7 +38,7 @@ public class LCMsDelHandler extends ModelDelHandler {
if(tableId<=0L)return;
ModelTable table = ModelTableCache.getInstance().get(tableId);
if(table == null) return;
EntityDao dao =DbEngine.getInstance().findDao(table.getTableName());
EntityDao dao =DbEngine.getInstance().findDao(table.getName());
if(dao!=null){
dao.deleteEntity(String.format(" where %s = ? ",fk),id);
}


+ 9
- 2
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsSaveHandler.java 查看文件

@@ -15,11 +15,18 @@ import java.util.function.BiConsumer;
* 主子表保存handler
*/
public class LCMsSaveHandler<T extends DefaultEntity> extends ModelSaveHandler<T> {
public LCMsSaveHandler() {
}

public LCMsSaveHandler(String cardDsName) {
super(cardDsName);
}

// 子表明细
protected ModelDetail subDetail;

@Override
protected void readFromPage(SwMap pageData, SwMap filter) {
public void readFromPage(SwMap pageData, SwMap filter) {
super.readFromPage(pageData, filter);
LCMsConfig.Config config = new LCMsConfig.Config(form);
// 读取子表
@@ -38,7 +45,7 @@ public class LCMsSaveHandler<T extends DefaultEntity> extends ModelSaveHandler<T
}

@Override
protected void doSave() {
public void doSave() {
super.doSave();
// 保存子表
saveDetail(LCMsConfig.dsSList,subDetail);


+ 44
- 12
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/lcms/LCMsService.java 查看文件

@@ -12,7 +12,7 @@ import cc.smtweb.system.bpm.web.engine.model.common.*;
/**
* @Author:lip
* @Date : 2022/8/28 20:38
* 卡片列表(主子表)接口服务类
* 模型LC_LT_MS(普通主子列表(含编辑卡片)) 服务类
*/
@SwService
public class LCMsService extends ModelService {
@@ -20,51 +20,83 @@ public class LCMsService extends ModelService {
public final static String TYPE_MODEL_SUB_LOAD = "modelSubLoad";
public final static String TYPE_MODEL_SUB_SAVE = "modelSubSave";
public final static String TYPE_MODEL_SUB_DEL = "modelSubDel";
protected AbstractHandler createHandler(String type) {

public AbstractHandler createHandler(String type) {
switch (type) {
case TYPE_MODEL_LOAD:
return new LCMsLoadHandler<DefaultEntity>();
return new LCMsLoadHandler<>();
case TYPE_MODEL_SAVE:
return new LCMsSaveHandler<DefaultEntity>();
return new LCMsSaveHandler<>();
case TYPE_MODEL_DEL:
return new LCMsDelHandler();
case TYPE_MODEL_SUB_LIST:
return new ModelListHandler(LCMsConfig.dsSList);
case TYPE_MODEL_SUB_LOAD:
return new ModelLoadHandler<DefaultEntity>(LCMsConfig.dsSCard);
return new ModelLoadHandler<>(LCMsConfig.dsSCard);
case TYPE_MODEL_SUB_SAVE:
return new ModelSaveHandler<DefaultEntity>(LCMsConfig.dsSCard);
return new ModelSaveHandler<>(LCMsConfig.dsSCard);
case TYPE_MODEL_SUB_DEL:
return new ModelDelHandler(LCMsConfig.dsSCard);
}
return super.createHandler(type);
}
//子表单独保存

/**
* 子表单独保存
* @param params
* @param us
* @return
*/
public R modelSubSave(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_SAVE, handler -> ((ModelSaveHandler) handler).save());
}

//子表读取
/**
* 子表编辑
* @param params
* @param us
* @return
*/
public R modelSubLoad(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_LOAD, handler -> ((ModelLoadHandler) handler).load());
}

//子表新增初始化
/**
* 子表新增初始化
* @param params
* @param us
* @return
*/
public R modelSubAdd(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_LOAD, handler -> ((ModelLoadHandler) handler).add());
}

//子表删除
/**
* 子表单独删除
* @param params
* @param us
* @return
*/
public R modelSubDel(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_DEL, handler -> ((ModelDelHandler) handler).del());
}

//子表列表数据
/**
* 子表列表数据
* @param params
* @param us
* @return
*/
public R modelSubList(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_LIST, handler -> ((ModelListHandler) handler).data());
}

//列子表表总记录数及合计栏
/**
* 列子表表总记录数及合计栏
* @param params
* @param us
* @return
*/
public R modelSubListTotal(@SwBody SwMap params, UserSession us) {
return pageHandler(params, us, TYPE_MODEL_SUB_LIST, handler -> ((ModelListHandler) handler).getTotal());
}


+ 1
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/engine/model/listcard/normal/LCNormalService.java 查看文件

@@ -6,6 +6,7 @@ import cc.smtweb.system.bpm.web.engine.model.common.ModelService;
/**
* @Author:lip
* @Date : 2022/8/27 13:54
* 模型LC_NORMAL(普通列表(含编辑卡片)) 服务类
*/
@SwService
public class LCNormalService extends ModelService {


+ 97
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_fields_only.ftl 查看文件

@@ -0,0 +1,97 @@
<#--group当前分组-->
<#--colNum卡片列数-->
<#assign field = group.fields>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0",
<#if colNum lte 1>
"gridTemplateColumns": "1fr 2fr",
<#elseif colNum gte 2>
"gridTemplateColumns": "1fr 1fr 1fr",
</#if>
"paddingTop": 32
},
"children": [
<#list group.fields as fields>
{
"id": "id${newId()}",
<#if (fields.readonly = true)>
"type": "fx-text",
<#else>
"type": "${fields.editor}",
</#if>
"props": {
"label": "${fields.label}",
"dataset": "${fields.dataset}",
"required": "${fields.required}",
"field": "${fields.id}",
<#if fields.maxlength gt 0>
"maxlength": ${fields.maxlength},
</#if>
<#if fields.lookup??>
"lookup": {
<#list fields.lookup as k, v>
"${k}": "${v}" <#if k_has_next>,</#if>
</#list>
},
</#if>
"placeholder": "请输入内容",
<#if (colNum = 2)>
"tips": "${fields.desc}",
</#if>
"labelWidth": 100,
<#if (fields.readonly = true)>
"readonly": true,
<#else>
"readonly": false,
</#if>
"affixError": true
},
"events": {}
}
<#if fields_has_next>
<#if (colNum lte 1 )>
<#if (fields.desc != "")>
,{
"id": "${newId()}",
"type": "fx-label",
"props": {
"label": "${fields.desc}",
"labelWidth": 0,
"affixError": true,
"labelAlign": "left"
}
}
<#else>
,{
"id": "id${newId()}",
"type": "fx-placeholder",
"props": {
"label": "占位"
},
"layout": {
"row": 1
}
}
</#if>
</#if>
<#if (colNum = 2 && ((fields_index+1) % 2 = 0 ) )>
,{
"id": "id${newId()}",
"type": "fx-placeholder",
"props": {
"label": "占位"
},
"layout": {
"row": 1
}
}
</#if>
,
</#if>
</#list>
]
}

+ 534
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_flow_body_b.ftl 查看文件

@@ -0,0 +1,534 @@
<#--这里放主数据集内容-->
<#list layout.flow as group>
<#--流程数据集-->
,{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
<#include "incModel/inc_card_fields_only.ftl"/>
</#list>
,{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {},
"children": []
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "56",
"alignY": "center",
"alignX": "center"
},
"children": [
{
"id": "${newId()}",
"type": "fx-button-group",
"props": {
"menus": []
},
"slots": {
"default": [
{
"id": "${newId()}",
"type": "fx-button",
"props": {
"name": "button:new",
"label": "新增",
"type": "primary",
"action": "button:addCard"
},
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:save-and-new",
"label": "保存并新增",
"type": "primary",
"action": "button:saveAddCard",
"linkType": "curr"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:save",
"label": "保存",
"type": "success",
"action": "button:saveCard"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:submit",
"label": "提交",
"type": "primary",
"action": "button:submit"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:retake",
"label": "取回",
"action": "button:retake"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:reject",
"label": "驳回",
"type": "warning",
"action": "button:reject"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:disuse",
"label": "作废",
"type": "danger",
"action": "button:disuse"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:interrupt",
"label": "终止",
"type": "danger",
"action": "button:interrupt"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"type": "fx-button",
"props": {
"name": "button:delete",
"label": "删除",
"type": "danger",
"action": "button:delCard"
},
"id": "${newId()}",
"vars": {
"$ref": "$ref"
}
},
{
"id": "${newId()}",
"type": "fx-button",
"props": {
"name": "button:return",
"label": "返回",
"size": "default",
"action": "button:backList"
},
"events": {},
"vars": {
"$ref": "$ref"
}
}
]
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
}
]
}
},
{
"page": {
"id": "${newId()}",
"type": "fx-dialog",
"props": {
"title": "审批意见",
"key": "dlgOpt",
"width": "450px",
"height": "260px",
"showPrefix": true
},
"events": {}
},
"graph": {
"shape": "panel",
"id": "${newId()}",
"type": "fx-split-panel",
"props": {
"horizontal": false,
"shadow": "never"
},
"children": [
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false
},
"children": [
{
"shape": "panel",
"id": "${newId()}",
"type": "fx-form-panel",
"props": {
"name": "dlgOptForm",
"colNum": 1,
"paddingTop": 24,
"size": "0"
},
"children": [
{
"id": "${newId()}",
"type": "fx-select",
"props": {
"name":"flowSelCommentRef",
"label": "备选意见",
"clearable": true,
"labelWidth": 100,
"affixError": true,
"dataset": "dlgOpt",
"field": "selComment",
"size": "default"
},
"events": {
"on-change": "onSelCommentChange"
},
"vars": {
"$ref": "$ref"
}
},
{
"id": "${newId()}",
"type": "fx-textarea",
"props": {
"label": "处理意见",
"maxlength": 200,
"placeholder": "请输入内容",
"labelWidth": 100,
"affixError": true,
"size": "default",
"dataset": "dlgOpt",
"field": "comment",
"rows": 4
},
"events": {}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {},
"children": []
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "50",
"alignX": "end",
"alignY": "center",
"paddingRight": 10
},
"children": [
{
"id": "${newId()}",
"type": "fx-button-group",
"props": {
"showDropdown": false
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "确认",
"leftIcon": "correct",
"type": "primary",
"action": "button:dlgDynConfirm",
"linkType": ""
},
"id": "${newId()}",
"events": {}
},
{
"type": "fx-button",
"props": {
"label": "取消",
"leftIcon": "error",
"action": "button:closeDialog"
},
"id": "${newId()}",
"events": {}
}
],
"dropdown": []
}
}
]
}
]
}
},
{
"page": {
"id": "${newId()}",
"type": "fx-dialog",
"props": {
"title": "驳回",
"key": "dlgReject",
"width": "450px",
"height": "300px",
"showPrefix": true
},
"events": {}
},
"graph": {
"shape": "panel",
"id": "${newId()}",
"type": "fx-split-panel",
"props": {
"horizontal": false,
"shadow": "never"
},
"children": [
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false
},
"children": [
{
"shape": "panel",
"id": "${newId()}",
"type": "fx-form-panel",
"props": {
"name": "dlgOptForm",
"colNum": 1,
"paddingTop": 24,
"size": "0"
},
"children": [
{
"id": "${newId()}",
"type": "fx-select",
"props": {
"name":"flowToTaskRef",
"label": "驳回到",
"clearable": true,
"labelWidth": 100,
"affixError": true,
"size": "default",
"multiple": true,
"dataset": "dlgOpt",
"field": "toTaskId"
},
"events": {},
"vars": {
"$ref": "$ref"
}
},
{
"id": "${newId()}",
"type": "fx-select",
"props": {
"name":"flowSelCommentRef",
"label": "备选意见",
"clearable": true,
"labelWidth": 100,
"affixError": true,
"dataset": "dlgOpt",
"field": "selComment",
"size": "default"
},
"events": {
"on-change": "onSelCommentChange"
},
"vars": {
"$ref": "$ref"
}
},
{
"id": "${newId()}",
"type": "fx-textarea",
"props": {
"label": "处理意见",
"maxlength": 200,
"placeholder": "请输入内容",
"labelWidth": 100,
"affixError": true,
"size": "default",
"dataset": "dlgOpt",
"field": "comment",
"rows": 4
},
"events": {}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {},
"children": []
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "50",
"alignX": "end",
"alignY": "center",
"paddingRight": 10
},
"children": [
{
"id": "${newId()}",
"type": "fx-button-group",
"props": {
"showDropdown": false
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "确认",
"leftIcon": "correct",
"type": "primary",
"action": "button:dlgDynConfirm",
"linkType": ""
},
"id": "${newId()}",
"events": {}
},
{
"type": "fx-button",
"props": {
"label": "取消",
"leftIcon": "error",
"action": "button:closeDialog"
},
"id": "${newId()}",
"events": {}
}
],
"dropdown": []
}
}
]
}
]
}
}

+ 131
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_card_flow_body_h.ftl 查看文件

@@ -0,0 +1,131 @@
{
"version": 6,
"form": [
{
"page": {
"id": "id${newId()}",
"type": "fx-page",
"props": {
"title": "编辑",
"key": "${newId()}",
"tipsExpand": false
}
},
"graph": {
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"horizontal": false,
"shadow": "",
"scroll": false,
"size": "",
"name": "s0"
},
"children": [
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"size": "56",
"horizontal": true,
"scroll": false,
"name": "s11"
},
"children": [
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignY": "center",
"size": "200",
"paddingLeft": 16
},
"children": [
{
"id": "${newId()}",
"type": "fx-title",
"props": {
"label": "${title}",
"showPrefix": true
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {},
"children": []
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignY": "center",
"size": "75"
},
"children": [
{
"id": "${newId()}",
"type": "fx-title",
"props": {
"label": "单据状态:",
"fontWeight": "bold",
"color": "#F56C6C",
"showPrefix": false
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignY": "center",
"size": "200",
"colNum": 1
},
"children": [
{
"id": "${newId()}",
"type": "fx-select",
"props": {
"name":"flowTaskRef",
"label": "当前任务",
"clearable": true,
"labelWidth": 100,
"affixError": false,
"size": "default",
"hideLabel": true,
"dataset": "flow",
"field": "selTaskId"
},
"events": {
"on-change": "onTaskChange"
},
"vars": {
"$ref": "$ref"
}
}
]
}
]
},
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"size": "",
"horizontal": false,
"scroll": true,
"name": "s12"
},
"children": [
<#--这里放主数据集内容-->

+ 8
- 1
smtweb-framework/bpm/src/main/resources/static/template/default/incModel/inc_list_dialog.ftl 查看文件

@@ -22,7 +22,14 @@
"type": "${dfield.editor}",
"dataset": "${dfield.dataset}",
"field": "${dfield.id}",
"required": "${field.required}",
"required": "${dfield.required}",
<#if dfield.lookup??>
"lookup": {
<#list dfield.lookup as k, v>
"${k}": "${v}" <#if k_has_next>,</#if>
</#list>
},
</#if>
<#if dfield.maxlength gt 0>
"maxlength": ${dfield.maxlength},
</#if>


+ 27
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/model_card_flow_ll.ftl 查看文件

@@ -0,0 +1,27 @@
<#include "incModel/inc_card_flow_body_h.ftl"/>
<#assign colNum = param.rCardCol>
<#list layout.rCard as group>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
<#include "incModel/inc_card_fields_only.ftl"/>
</#list>
<#include "incModel/inc_card_flow_body_b.ftl"/>
],
"model": [
<#list datasets as dataset>
<#include "incModel/inc_model.ftl"/><#if dataset_has_next>,</#if>
</#list>
],
"option": {
"widgetRef": [${widgetRef}],
"vars": []
}
}

+ 301
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/model_card_flow_lms.ftl 查看文件

@@ -0,0 +1,301 @@
<#include "incModel/inc_card_flow_body_h.ftl"/>
<#list layout.cardMaster as group>
<#assign colNum = param.rCardCol>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
<#include "incModel/inc_card_fields_only.ftl"/>
</#list>
,{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"size": "56",
"horizontal": true
},
"children": [
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "",
"label": "",
"colNum": 2,
"alignY": "center",
"paddingLeft": 16,
"shadow": ""
},
"children": [
{
"id": "id${newId()}",
"type": "fx-title",
"props": {
"label": "子表列表配置",
"fontSize": 16,
"color": "#01070D",
"fontWeight": "bold",
"showPrefix": false,
"prefixWidth": 5,
"prefixHeight": 24,
"prefixColor": "#1E90FF"
}
}
]
},
{
"id": "id${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignX": "right",
"size": "150",
"alignY": "center",
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-button",
"props": {
"label": "新增",
"type": "primary",
"action": "button:addRow",
"size": "default",
"linkType": "dialog",
"leftIcon": "plus",
"fxLink": "dialog:cardSubDialog",
"fxLink_text": "子表编辑卡片",
"preAction": "",
"dataset": "${layout.listSub[0].dataset}"
},
"events": {}
}
]
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "400",
"label": "子表列表",
"colNum": 0,
"paddingLeft": 16,
"paddingRight": 16,
"shadow": "",
"paddingTop": 0
},
"children": [
{
"id": "id${newId()}",
"type": "fx-table",
"props": {
"label": "子表表格",
"border": true,
"stripe": true,
"showHeader": true,
"fit": true,
"dataset": "${layout.listSub[0].dataset}",
"actionWidth": 150
},
"slots": {
"default": [
<#list layout.listSub[0].fields as field>
{
"id": "id${newId()}",
"type": "fx-table-column",
"props": {
"field": "${field.id}",
"label": "${field.label}"
}
}
<#if field_has_next>,</#if>
</#list>
],
"button": [
{
"id": "id${newId()}",
"type": "fx-button",
"props": {
"label": "编辑",
"type": "text",
"leftIcon": "edit",
"action": "button:loadRow",
"dataset": "${layout.listSub[0].dataset}",
"linkType": "dialog",
"fxLink": "dialog:cardSubDialog",
"fxLink_text": "子表编辑卡片"
}
},
{
"id": "id${newId()}",
"type": "fx-button",
"props": {
"label": "删除",
"type": "text",
"leftIcon": "delete-themes",
"action": "button:delRow",
"dataset": "${layout.listSub[0].dataset}",
"preAction": "",
"link": true,
"confirm": ""
}
}
]
},
"events": {}
}
]
}
<#include "incModel/inc_card_flow_body_b.ftl"/>
<#--子表编辑弹窗-->
<#list layout.listSub as group>
,{
"page": {
"id": "id${newId()}",
"type": "fx-dialog",
"props": {
<#if (param.cardSubTitle == "")>
"title": "子表编辑卡片",
<#else>
"title": "${param.cardSubTitle}",
</#if>
"key": "cardSubDialog",
"closeOnClickModal": false
},
"events": {}
},
"graph": {
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"horizontal": false,
"shadow": "never"
},
"children": [
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false,
"scroll": true,
"backgroundColor": "--color-white"
},
"children": [
<#assign colNum = param.subCol>
<#include "incModel/inc_card_fields_only.ftl"/>
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "56",
"paddingRight": 10,
"alignY": "center"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "保存",
"leftIcon": "save",
"type": "success",
"action": "button:saveRow",
"dataset": "${group.dataset}"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "保存行并新增",
"type": "primary",
"action": "button:saveAddRow",
"dataset": "${group.dataset}"
},
"id": "${newId()}",
"events": {}
},
{
"type": "fx-button",
"props": {
"label": "关闭",
"leftIcon": "close",
"type": "",
"action": "button:closeDialog"
},
"id": "id${newId()}"
}
]
}
}
]
}
]
}
}
</#list>
],
"model": [
<#list datasets as dataset>
<#include "incModel/inc_model.ftl"/><#if dataset_has_next>,</#if>
</#list>
],
"option": {
"widgetRef": [${widgetRef}],
"vars": []
}
}

+ 22
- 6
smtweb-framework/bpm/src/main/resources/static/template/default/model_card_ms.ftl 查看文件

@@ -77,10 +77,21 @@
"label": "${field.label}",
"dataset": "${field.dataset}",
"required": "${field.required}",
<#if field.lookup??>
"lookup": {
<#list field.lookup as k, v>
"${k}": "${v}" <#if k_has_next>,</#if>
</#list>
},
</#if>
"field": "${field.id}",
"placeholder": "请输入内容",
"labelWidth": 150,
"readonly": "${field.readonly}",
<#if (field.readonly = true)>
"readonly": true,
<#else>
"readonly": false,
</#if>
"affixError": true
},
"events": {}
@@ -213,7 +224,7 @@
"props": {
"label": "新增",
"type": "primary",
"action": "button:addRow",
"action": "button:addSubRow",
"size": "default",
"linkType": "dialog",
"leftIcon": "plus",
@@ -276,7 +287,7 @@
"label": "编辑",
"type": "text",
"leftIcon": "edit",
"action": "button:loadRow",
"action": "button:loadSubRow",
"dataset": "${layout.listSub[0].dataset}",
"linkType": "dialog",
"fxLink": "dialog:cardSubDialog",
@@ -290,7 +301,7 @@
"label": "删除",
"type": "text",
"leftIcon": "delete-themes",
"action": "button:delRow",
"action": "button:delSubRow",
"dataset": "${layout.listSub[0].dataset}",
"preAction": "",
"link": true,
@@ -391,7 +402,12 @@
]
}
},
<#list layout.listSub as assist_dialog>
<#if (subIndSave = true || subIndSave = "true")>
<#assign datasetSub = layout.cardSub>
<#else>
<#assign datasetSub = layout.listSub>
</#if>
<#list datasetSub as assist_dialog>
{
"page": {
"id": "id${newId()}",
@@ -475,7 +491,7 @@
"label": "保存",
"leftIcon": "save",
"type": "success",
"action": "button:saveRow",
"action": "button:saveSubRow",
"dataset": "${assist_dialog.dataset}"
},
"id": "id${newId()}"


+ 7
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/model_card_normal.ftl 查看文件

@@ -162,6 +162,13 @@
"dataset": "${field.dataset}",
"required": "${field.required}",
"field": "${field.id}",
<#if field.lookup??>
"lookup": {
<#list field.lookup as k, v>
"${k}": "${v}" <#if k_has_next>,</#if>
</#list>
},
</#if>
<#if field.maxlength gt 0>
"maxlength": ${field.maxlength},
</#if>


+ 633
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/model_list_flow_ll1.ftl 查看文件

@@ -0,0 +1,633 @@
{
"version": 6,
"form": [
{
"page": {
"id": "id${newId()}",
"type": "fx-page",
"props": {
"title": "${title}",
"key": "${newId()}"
}
},
"graph": {
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"shadow": ""
},
"children": [
{
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"horizontal": true,
"shadow": ""
},
"children": [
<#list layout.lList as assist>
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false,
"size": "420"
},
"children": [
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "56",
"alignY": "center",
"paddingLeft": 16,
"colNum": 2,
"gridTemplateColumns": "",
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-title",
"props": {
"label": "${param.lListTitle}"
}
},
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${assist.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "新增",
"leftIcon": "plus",
"type": "primary",
"action": "button:addCard",
"linkType": "dialog",
"link": false,
"fxLink": "dialog:lCardDialog",
"fxLink_text": "${param.lCardTitle}"
},
"id": "id${newId()}"
}
]
}
}
]
},
{
"id":"${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
<#if (assist.cfilters?size>0)>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignY": "center",
"size": "50",
"gridTemplateColumns": "1fr 50px",
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
<#list assist.cfilters as cfilters>
{
"id": "id${newId()}",
"type": "${cfilters.editor}",
"props": {
"label": "${cfilters.label}",
"maxlength": 50,
"placeholder": "请输入${cfilters.label}",
"labelWidth": 150,
"affixError": false,
"hideLabel": true,
"leftIcon": "",
"dataset": "${cfilters.dataset}",
"field": "${cfilters.id}"
},
"events": {}
},
</#list>
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${assist.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "查询",
"leftIcon": "",
"action": "button:loadList",
"link": false,
"type": "primary"
},
"id": "id${newId()}"
}
]
}
}
]
},
</#if>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "",
"colNum": 0,
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-table",
"props": {
"label": "${param.lListTitle}",
"border": true,
"stripe": true,
"showHeader": false,
"fit": true,
"hideOp": false,
"hideNo": true,
"dataset": "${assist.dataset}",
"hidePagination": true,
"name":"leftTb"
},
"slots": {
"button": [
{
"type": "fx-button",
"props": {
"label": "编辑",
"type": "primary",
"leftIcon": "edit",
"action": "button:editCard",
"linkType": "dialog",
"dataset": "${assist.dataset}",
"fxLink": "dialog:lCardDialog",
"fxLink_text": "${param.lCardTitle}",
"link": true
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "删除",
"type": "primary",
"leftIcon": "delete",
"action": "button:delCard",
"link": true,
"text": false,
"dataset": "${assist.dataset}",
"confirm": ""
},
"id": "id${newId()}"
}
],
"default": [
<#list assist.fields as field>
{
"id": "id${newId()}",
"type": "fx-table-column",
"props": {
"field": "${field.id}",
"label": "${field.label}"
}
}<#if field_has_next>,</#if>
</#list>
]
},
"events": {},
"vars": {
"$ref": "$ref"
}
}
]
}
]
},
</#list>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
<#list layout.rList as main>
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false
},
"children": [
<#if (main.cfilters?size>0)>
{
"shape": "panel",
"id": "form_panel",
"type": "fx-form-panel",
"props": {
"colNum": 3,
"label": "查询条件",
"paddingLeft": 16,
"paddingRight": 16,
"size": "56",
"alignY": "center"
},
"children": [
<#list main.cfilters as cfilters>
{
"id": "id${newId()}",
"type": "${cfilters.editor}",
"props": {
"label": "${cfilters.label}",
"maxlength": 50,
"placeholder": "请输入${cfilters.label}",
"labelWidth": 100,
"affixError": false
},
"events": {}
},
</#list>
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"dataset": "${main.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "重置",
"leftIcon": "clear",
"action": "button:reset"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "查询",
"leftIcon": "search",
"type": "primary",
"action": "button:loadList",
"linkType": ""
},
"id": "id${newId()}"
}
<#if (main.sfilters?size>0)>
,{
"id": "id${newId()}",
"type": "fx-button",
"props": {
"label": "高级筛选",
"leftIcon": "hamburger-button",
"action": "button:link",
"link": true,
"linkType": "drawer",
"fxLink": "dialog:rQueryDialog"
}
}
</#if>
]
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"label": "间隔",
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
</#if>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"label": "${param.rListTitle}",
"size": "50",
"colNum": 2,
"alignY": "center",
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-title",
"props": {
"label": "${param.rListTitle}"
}
},
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${main.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "新增",
"leftIcon": "plus",
"type": "primary",
"action": "button:addCard",
"link": false,
"linkType": "curr",
<#if name?has_content && name?ends_with("List")>
"fxLink": "bpm.${name?replace("List","Card")}",
<#else>
"fxLink": "",
</#if>
"fxLink_text": "编辑卡片",
"preAction": ""
},
"id": "id${newId()}"
}
]
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"label": "表格区",
"colNum": 0,
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-table",
"props": {
"label": "表格",
"border": true,
"stripe": true,
"showHeader": true,
"fit": true,
"dataset": "${main.dataset}"
},
"slots": {
"button": [
{
"type": "fx-button",
"props": {
"label": "编辑",
"type": "primary",
"leftIcon": "edit",
"action": "button:editCard",
"link": false,
"linkType": "curr",
<#if name?has_content && name?ends_with("List")>
"fxLink": "bpm.${name?replace("List","Card")}",
<#else>
"fxLink": "",
</#if>
"fxLink_text": "编辑卡片"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "删除",
"type": "danger",
"leftIcon": "delete",
"action": "button:delCard",
"link": false,
"text": true,
"preAction": ""
},
"id": "id${newId()}"
}
],
"default": [
<#list main.fields as field>
{
"id": "id${newId()}",
"type": "fx-table-column",
"props": {
"field": "${field.id}",
"label": "${field.label}"
}
}<#if field_has_next>,</#if>
</#list>
]
},
"events": {}
}
]
}
]
}
</#list>
]
},
{
"shape": "panel",
"id": "fx-form-panel",
"type": "fx-split-panel",
"props": {
"shadow": "",
"size": 24
},
"children": []
}
]
}
},
<#list layout.lCard as lDialog>
{
"page": {
"id": "id${newId()}",
"type": "fx-dialog",
"props": {
<#if (param.lCardTitle == "")>
"title": "左表卡片",
<#else>
"title": "${param.lCardTitle}",
</#if>
"key": "lCardDialog",
"closeOnClickModal": false
},
"events": {}
},
"graph": {
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"horizontal": false,
"shadow": "never"
},
"children": [
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false,
"scroll": true,
"backgroundColor": "--color-white"
},
"children": [
<#assign dfields = lDialog.fields>
<#assign col = param.lCardCol>
<#include "incModel/inc_list_dialog.ftl"/>
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "56",
"paddingRight": 10,
"alignY": "center"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${lDialog.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "保存",
"leftIcon": "save",
"type": "success",
"action": "button:saveCard"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "关闭",
"leftIcon": "close",
"type": "",
"action": "button:closeDialog"
},
"id": "id${newId()}"
}
]
}
}
]
}
]
}
}
</#list>
<#list layout.lList as lQDialog>
<#assign group = lQDialog >
<#assign dialogKey = "lQueryDialog">
<#assign dialogTitle = "左列表高级筛选">
<#if (group.sfilters?size>0)>
,<#include "incModel/inc_query_sfilters.ftl"/>
</#if>
</#list>
<#list layout.rList as rQDialog>
<#assign group = rQDialog >
<#assign dialogKey = "rQueryDialog">
<#assign dialogTitle = "右列表高级筛选">
<#if (group.sfilters?size>0)>
,<#include "incModel/inc_query_sfilters.ftl"/>
</#if>
</#list>
],
"model": [
<#list datasets as dataset>
<#include "incModel/inc_model.ftl"/><#if dataset_has_next>,</#if>
</#list>
],
"option": {
"widgetRef": [${widgetRef}],
"vars": []
}
}

+ 468
- 0
smtweb-framework/bpm/src/main/resources/static/template/default/model_list_flow_ll2.ftl 查看文件

@@ -0,0 +1,468 @@
{
"version": 6,
"form": [
{
"page": {
"id": "id${newId()}",
"type": "fx-page",
"props": {
"title": "${title}",
"key": "${newId()}"
}
},
"graph": {
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"shadow": ""
},
"children": [
{
"shape": "panel",
"id": "root_panel",
"type": "fx-split-panel",
"props": {
"horizontal": true,
"shadow": ""
},
"children": [
<#list layout.lList as assist>
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false,
"size": "420"
},
"children": [
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "56",
"alignY": "center",
"paddingLeft": 16,
"colNum": 2,
"gridTemplateColumns": "",
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-title",
"props": {
"label": "${param.lListTitle}"
}
}
]
},
{
"id":"${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "0"
},
"children": [
{
"id": "id${newId()}",
"type": "fx-divider",
"props": {
"label": "",
"contentPosition": "center",
"direction": "horizontal"
}
}
]
},
<#if (assist.cfilters?size>0)>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"alignY": "center",
"size": "50",
"gridTemplateColumns": "1fr 50px",
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
<#list assist.cfilters as cfilters>
{
"id": "id${newId()}",
"type": "${cfilters.editor}",
"props": {
"label": "${cfilters.label}",
"maxlength": 50,
"placeholder": "请输入${cfilters.label}",
"labelWidth": 150,
"affixError": false,
"hideLabel": true,
"leftIcon": "",
"dataset": "${cfilters.dataset}",
"field": "${cfilters.id}"
},
"events": {}
},
</#list>
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${assist.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "查询",
"leftIcon": "",
"action": "button:loadList",
"link": false,
"type": "primary"
},
"id": "id${newId()}"
}
]
}
}
]
},
</#if>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "",
"colNum": 0,
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-table",
"props": {
"label": "${param.lListTitle}",
"border": true,
"stripe": true,
"showHeader": false,
"fit": true,
"hideOp": false,
"hideNo": true,
"dataset": "${assist.dataset}",
"hidePagination": true,
"name":"leftTb"
},
"slots": {
"button": [],
"default": [
<#list assist.fields as field>
{
"id": "id${newId()}",
"type": "fx-table-column",
"props": {
"field": "${field.id}",
"label": "${field.label}"
}
}<#if field_has_next>,</#if>
</#list>
]
},
"events": {},
"vars": {
"$ref": "$ref"
}
}
]
}
]
},
</#list>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
<#list layout.rList as main>
{
"id": "${newId()}",
"type": "fx-split-panel",
"shape": "panel",
"props": {
"horizontal": false
},
"children": [
<#if (main.cfilters?size>0)>
{
"shape": "panel",
"id": "form_panel",
"type": "fx-form-panel",
"props": {
"colNum": 3,
"label": "查询条件",
"size": "56",
"paddingLeft": 16,
"paddingRight": 16,
"alignY": "center"
},
"children": [
<#list main.cfilters as cfilters>
{
"id": "id${newId()}",
"type": "${cfilters.editor}",
"props": {
"label": "${cfilters.label}",
"maxlength": 50,
"placeholder": "请输入${cfilters.label}",
"labelWidth": 100,
"affixError": false,
"hideLabel": true
},
"events": {}
},
</#list>
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"dataset": "${main.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "重置",
"leftIcon": "clear",
"action": "button:reset"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "查询",
"leftIcon": "search",
"type": "primary",
"action": "button:loadList",
"linkType": ""
},
"id": "id${newId()}"
}
<#if (main.sfilters?size>0)>
,{
"id": "id${newId()}",
"type": "fx-button",
"props": {
"label": "高级筛选",
"leftIcon": "hamburger-button",
"action": "button:link",
"link": true,
"linkType": "drawer",
"fxLink": "dialog:rQueryDialog"
}
}
</#if>
]
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"size": "16",
"backgroundColor": "--color-transparent"
},
"children": []
},
</#if>
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"label": "${param.rListTitle}",
"size": "50",
"colNum": 2,
"alignY": "center",
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-title",
"props": {
"label": "${param.rListTitle}"
}
},
{
"id": "id${newId()}",
"type": "fx-button-group",
"props": {
"menus": [],
"textAlign": "right",
"dataset": "${main.dataset}"
},
"slots": {
"default": [
{
"type": "fx-button",
"props": {
"label": "新增",
"leftIcon": "plus",
"type": "primary",
"action": "button:addCard",
"link": false,
"linkType": "curr",
<#if name?has_content && name?ends_with("List")>
"fxLink": "bpm.${name?replace("List","Card")}",
<#else>
"fxLink": "",
</#if>
"fxLink_text": "编辑卡片",
"preAction": ""
},
"id": "id${newId()}"
}
]
}
}
]
},
{
"id": "${newId()}",
"type": "fx-form-panel",
"shape": "panel",
"props": {
"label": "表格区",
"colNum": 0,
"paddingLeft": 16,
"paddingRight": 16
},
"children": [
{
"id": "id${newId()}",
"type": "fx-table",
"props": {
"label": "表格",
"border": true,
"stripe": true,
"showHeader": true,
"fit": true,
"dataset": "${main.dataset}"
},
"slots": {
"button": [
{
"type": "fx-button",
"props": {
"label": "编辑",
"type": "primary",
"leftIcon": "edit",
"action": "button:editCard",
"link": false,
"linkType": "curr",
<#if name?has_content && name?ends_with("List")>
"fxLink": "bpm.${name?replace("List","Card")}",
<#else>
"fxLink": "",
</#if>
"fxLink_text": "编辑卡片"
},
"id": "id${newId()}"
},
{
"type": "fx-button",
"props": {
"label": "删除",
"type": "danger",
"leftIcon": "delete",
"action": "button:delCard",
"link": false,
"text": true,
"preAction": ""
},
"id": "id${newId()}"
}
],
"default": [
<#list main.fields as field>
{
"id": "id${newId()}",
"type": "fx-table-column",
"props": {
"field": "${field.id}",
"label": "${field.label}"
}
}<#if field_has_next>,</#if>
</#list>
]
},
"events": {}
}
]
}
]
}
</#list>
]
},
{
"shape": "panel",
"id": "fx-form-panel",
"type": "fx-split-panel",
"props": {
"shadow": "",
"size": 24
},
"children": []
}
]
}
}
<#list layout.lList as lQDialog>
<#assign group = lQDialog >
<#assign dialogKey = "lQueryDialog">
<#assign dialogTitle = "左列表高级筛选">
<#if (group.sfilters?size>0)>
,<#include "incModel/inc_query_sfilters.ftl"/>
</#if>
</#list>
<#list layout.rList as rQDialog>
<#assign group = rQDialog >
<#assign dialogKey = "rQueryDialog">
<#assign dialogTitle = "右列表高级筛选">
<#if (group.sfilters?size>0)>
,<#include "incModel/inc_query_sfilters.ftl"/>
</#if>
</#list>
],
"model": [
<#list datasets as dataset>
<#include "incModel/inc_model.ftl"/><#if dataset_has_next>,</#if>
</#list>
],
"option": {
"widgetRef": [${widgetRef}],
"vars": []
}
}

+ 6
- 1
smtweb-framework/core/src/main/java/cc/smtweb/framework/core/common/SwEnum.java 查看文件

@@ -347,7 +347,12 @@ public interface SwEnum {
public static StrEnumBean LC_LC_1 = instance.addEnum("LC_LC_1", "左列表-右列表(含编辑弹窗、左列表可编辑)");
public static StrEnumBean LC_LC_2 = instance.addEnum("LC_LC_2", "左列表-右列表(含编辑弹窗、左列表不可编辑)");
public static StrEnumBean EMPTY = instance.addEnum("EMPTY", "自定义模型");
public static StrEnumBean FLOW_SINGLE = instance.addEnum("FLOW_SINGLE", "普通工作流列表(含编辑卡片)");
public static StrEnumBean FLOW_SINGLE = instance.addEnum("FLOW_SINGLE", "普通列表(含编辑卡片、工作流)");
public static StrEnumBean FLOW_LC_LT = instance.addEnum("FLOW_LC_LT", "左树-列表(含编辑卡片、工作流)");
public static StrEnumBean FLOW_LC_LC_1 = instance.addEnum("FLOW_LC_LC_1", "左列表-右列表(含编辑卡片、工作流、左列表可编辑)");
public static StrEnumBean FLOW_LC_LC_2 = instance.addEnum("FLOW_LC_LC_2", "左列表-右列表(含编辑卡片、工作流、左列表不可编辑)");
public static StrEnumBean FLOW_LC_MS = instance.addEnum("FLOW_LC_MS", "普通主子列表(含编辑卡片、工作流)");
public static StrEnumBean FLOW_LT_MS = instance.addEnum("FLOW_LT_MS", "左树-主子列表(含编辑卡片、工作流)");
}

// 权限类型


Loading…
取消
儲存