| | |
| | | import com.ruoyi.gen.domain.GenTableColumn;
|
| | |
|
| | | /**
|
| | | * 模板工具类
|
| | | * 模板处理工具类
|
| | | *
|
| | | * @author ruoyi
|
| | | */
|
| | |
| | | velocityContext.put("basePackage", getPackagePrefix(packageName));
|
| | | velocityContext.put("packageName", packageName);
|
| | | velocityContext.put("author", genTable.getFunctionAuthor());
|
| | | velocityContext.put("colSpan", getColSpan(genTable.getFormColNum()));
|
| | | velocityContext.put("datetime", DateUtils.getDate());
|
| | | velocityContext.put("pkColumn", genTable.getPkColumn());
|
| | | velocityContext.put("importList", getImportList(genTable));
|
| | |
| | | velocityContext.put("columns", genTable.getColumns());
|
| | | velocityContext.put("table", genTable);
|
| | | velocityContext.put("dicts", getDicts(genTable));
|
| | | setExtensionsContext(velocityContext, genTable.getOptions());
|
| | | setMenuVelocityContext(velocityContext, genTable);
|
| | | if (GenConstants.TPL_TREE.equals(tplCategory))
|
| | | {
|
| | |
| | | setSubVelocityContext(velocityContext, genTable);
|
| | | }
|
| | | return velocityContext;
|
| | | }
|
| | |
|
| | | public static void setExtensionsContext(VelocityContext context, String options)
|
| | | {
|
| | | JSONObject paramsObj = JSONObject.parseObject(options);
|
| | | boolean genView = genView(paramsObj);
|
| | | context.put("genView", genView);
|
| | | }
|
| | |
|
| | | public static void setMenuVelocityContext(VelocityContext context, GenTable genTable)
|
| | |
| | | * @param tplWebType 前端类型
|
| | | * @return 模板列表
|
| | | */
|
| | | public static List<String> getTemplateList(String tplCategory, String tplWebType)
|
| | | public static List<String> getTemplateList(GenTable table)
|
| | | {
|
| | | String tplWebType = table.getTplWebType();
|
| | | String tplCategory = table.getTplCategory();
|
| | | JSONObject paramsObj = JSONObject.parseObject(table.getOptions());
|
| | | boolean isView = genView(paramsObj);
|
| | | String useWebType = "vm/vue";
|
| | | String apiTemplate = "vm/js/api.js.vm";
|
| | | if (StringUtils.equals(ELEMENT_PLUS, tplWebType))
|
| | |
| | | {
|
| | | templates.add(useWebType + "/index.vue.vm");
|
| | | templates.add("vm/java/sub-domain.java.vm");
|
| | | }
|
| | | if (isView)
|
| | | {
|
| | | templates.add(useWebType + "/view.vue.vm");
|
| | | }
|
| | | return templates;
|
| | | }
|
| | |
| | | else if (template.contains("index-tree.vue.vm"))
|
| | | {
|
| | | fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
|
| | | }
|
| | | else if (template.contains("view.vue.vm"))
|
| | | {
|
| | | fileName = StringUtils.format("{}/views/{}/{}/view.vue", vuePath, moduleName, businessName);
|
| | | }
|
| | | return fileName;
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 扩展功能/生成详情页
|
| | | * |
| | | * @param paramsObj 生成其他选项
|
| | | * @return 是否生成详细页
|
| | | */
|
| | | public static boolean genView(JSONObject paramsObj)
|
| | | {
|
| | | if (StringUtils.isNotNull(paramsObj) && paramsObj.containsKey(GenConstants.GEN_VIEW))
|
| | | {
|
| | | return paramsObj.getBoolean(GenConstants.GEN_VIEW);
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取树名称
|
| | | *
|
| | | * @param paramsObj 生成其他选项
|
| | |
| | | }
|
| | | return num;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取表单 el-col span
|
| | | * |
| | | * @param formColNum 表单布局方式(1单列 2双列 3三列)
|
| | | * @return span 数值字符串
|
| | | */
|
| | | public static String getColSpan(int formColNum)
|
| | | {
|
| | | if (formColNum == 2)
|
| | | {
|
| | | return "12";
|
| | | }
|
| | | else if (formColNum == 3)
|
| | | {
|
| | | return "8";
|
| | | }
|
| | | return "24";
|
| | | }
|
| | | }
|