diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java
index b9888fb63..41a43e559 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java
+++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java
@@ -11,6 +11,11 @@ public interface GenConstants {
*/
String TPL_CRUD = "crud";
+ /**
+ * 单表(增删改查-高级搜索)
+ */
+ String TPL_CRUD_SEARCH = "crudSearch";
+
/**
* 树表(增删改查)
*/
diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java
index 6e111e3a8..ba8738eed 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java
+++ b/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java
@@ -131,6 +131,8 @@ public class VelocityUtils {
templates.add("vm/ts/types.ts.vm");
if (GenConstants.TPL_CRUD.equals(tplCategory)) {
templates.add("vm/vue/index.vue.vm");
+ } else if (GenConstants.TPL_CRUD_SEARCH.equals(tplCategory)) {
+ templates.add("vm/vue/index-search.vue.vm");
} else if (GenConstants.TPL_TREE.equals(tplCategory)) {
templates.add("vm/vue/index-tree.vue.vm");
}
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-search.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-search.vue.vm
new file mode 100644
index 000000000..b119787eb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-search.vue.vm
@@ -0,0 +1,718 @@
+
+
+
+
+
+ #foreach($column in $columns)
+ #if($column.query)
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+
+
+ #end
+ #end
+ #end
+
+ 搜索
+
+
+
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+ #foreach($column in $columns)
+ #set($javaField=$column.javaField)
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.pk)
+
+ #if($column.query)
+
+ ${comment}
+
+
+
+
+
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+ #end
+ 确认
+
+
+
+ #end
+
+ #elseif($column.list && $column.htmlType == "datetime")
+
+ #if($column.query)
+
+ ${comment}
+
+
+
+
+
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+ #end
+ 确认
+
+
+
+ #end
+
+ {{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}
+
+
+ #elseif($column.list && $column.htmlType == "imageUpload")
+
+ #if($column.query)
+
+ ${comment}
+
+
+
+
+
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+ #end
+ 确认
+
+
+
+ #end
+
+
+
+
+ #elseif($column.list && $column.dictType && "" != $column.dictType)
+
+ #if($column.query)
+
+ ${comment}
+
+
+
+
+
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+ #end
+ 确认
+
+
+
+ #end
+
+ #if($column.htmlType == "checkbox")
+
+ #else
+
+ #end
+
+
+ #elseif($column.list && "" != $javaField)
+
+ #if($column.query)
+
+ ${comment}
+
+
+
+
+
+ #set($dictType=$column.dictType)
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($column.htmlType == "input" || $column.htmlType == "textarea")
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
+
+
+
+ #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
+
+
+
+ #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
+
+ #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
+
+ #end
+ 确认
+
+
+
+ #end
+
+ #end
+ #end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #foreach($column in $columns)
+ #set($field=$column.javaField)
+ #if(($column.insert || $column.edit) && !$column.pk)
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #set($dictType=$column.dictType)
+ #if($column.htmlType == "input")
+
+
+
+ #elseif($column.htmlType == "imageUpload")
+
+
+
+ #elseif($column.htmlType == "fileUpload")
+
+
+
+ #elseif($column.htmlType == "editor")
+
+
+
+ #elseif($column.htmlType == "select" && "" != $dictType)
+
+
+
+
+
+ #elseif($column.htmlType == "select" && $dictType)
+
+
+
+
+
+ #elseif($column.htmlType == "checkbox" && "" != $dictType)
+
+
+
+ {{dict.label}}
+
+
+
+ #elseif($column.htmlType == "checkbox" && $dictType)
+
+
+ 请选择字典生成
+
+
+ #elseif($column.htmlType == "radio" && "" != $dictType)
+
+
+ {{dict.label}}
+
+
+ #elseif($column.htmlType == "radio" && $dictType)
+
+
+ 请选择字典生成
+
+
+ #elseif($column.htmlType == "datetime")
+
+
+
+
+ #elseif($column.htmlType == "textarea")
+
+
+
+ #end
+ #end
+ #end
+
+
+
+
+
+
+
+
+