Explorar o código

update 代码生成模板 适配新excel导出

疯狂的狮子li %!s(int64=4) %!d(string=hai) anos
pai
achega
4e54190e3a

+ 7 - 6
ruoyi-generator/src/main/resources/vm/java/controller.java.vm

@@ -2,8 +2,10 @@ package ${packageName}.controller;
 
 import java.util.List;
 import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
 
 import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.*;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,10 +18,10 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import ${packageName}.domain.vo.${ClassName}Vo;
 import ${packageName}.domain.bo.${ClassName}Bo;
 import ${packageName}.service.I${ClassName}Service;
-import com.ruoyi.common.utils.poi.ExcelUtil;
 #if($table.crud || $table.sub)
 import com.ruoyi.common.core.page.TableDataInfo;
 #elseif($table.tree)
@@ -66,10 +68,9 @@ public class ${ClassName}Controller extends BaseController {
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
     @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult<${ClassName}Vo> export(@Validated ${ClassName}Bo bo) {
+    public void export(@Validated ${ClassName}Bo bo, HttpServletResponse response) {
         List<${ClassName}Vo> list = i${ClassName}Service.queryList(bo);
-        ExcelUtil<${ClassName}Vo> util = new ExcelUtil<${ClassName}Vo>(${ClassName}Vo.class);
-        return util.exportExcel(list, "${functionName}");
+        ExcelUtil.exportExcel(list, "${functionName}", ${ClassName}Vo.class, response);
     }
 
     /**
@@ -89,7 +90,7 @@ public class ${ClassName}Controller extends BaseController {
     @ApiOperation("新增${functionName}")
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
     @Log(title = "${functionName}", businessType = BusinessType.INSERT)
-    @RepeatSubmit
+    @RepeatSubmit()
     @PostMapping()
     public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody ${ClassName}Bo bo) {
         return toAjax(i${ClassName}Service.insertByBo(bo) ? 1 : 0);
@@ -101,7 +102,7 @@ public class ${ClassName}Controller extends BaseController {
     @ApiOperation("修改${functionName}")
     @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
     @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
-    @RepeatSubmit
+    @RepeatSubmit()
     @PutMapping()
     public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody ${ClassName}Bo bo) {
         return toAjax(i${ClassName}Service.updateByBo(bo) ? 1 : 0);

+ 12 - 6
ruoyi-generator/src/main/resources/vm/java/vo.java.vm

@@ -1,9 +1,12 @@
 package ${packageName}.domain.vo;
 
-import com.ruoyi.common.annotation.Excel;
 #foreach ($import in $importList)
 import ${import};
 #end
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -19,6 +22,7 @@ import java.util.Date;
  */
 @Data
 @ApiModel("${functionName}视图对象")
+@ExcelIgnoreUnannotated
 public class ${ClassName}Vo {
 
 	private static final long serialVersionUID = 1L;
@@ -40,12 +44,14 @@ public class ${ClassName}Vo {
 #else
 #set($comment=$column.columnComment)
 #end
-#if($parentheseIndex != -1)
-	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
-#elseif($column.javaType == 'Date')
-	@Excel(name = "${comment}" , width = 30, dateFormat = "yyyy-MM-dd")
+#if(${column.dictType} && ${column.dictType} != '')
+    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(dictType = "${column.dictType}")
+#elseif($parentheseIndex != -1)
+	@ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
 #else
-	@Excel(name = "${comment}")
+	@ExcelProperty(value = "${comment}")
 #end
 	@ApiModelProperty("$column.columnComment")
 	private $column.javaType $column.javaField;

+ 0 - 9
ruoyi-generator/src/main/resources/vm/js/api.js.vm

@@ -42,12 +42,3 @@ export function del${BusinessName}(${pkColumn.javaField}) {
     method: 'delete'
   })
 }
-
-// 导出${functionName}
-export function export${BusinessName}(query) {
-  return request({
-    url: '/${moduleName}/${businessName}/export',
-    method: 'get',
-    params: query
-  })
-}

+ 1 - 1
ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm

@@ -253,7 +253,7 @@
 </template>
 
 <script>
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
+import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 

+ 3 - 13
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm

@@ -307,7 +307,8 @@
 </template>
 
 <script>
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
+import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
+import { downLoadExcel } from "@/utils/download";
 
 export default {
   name: "${BusinessName}",
@@ -599,18 +600,7 @@ export default {
 #end
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有${functionName}数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return export${BusinessName}(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+      downLoadExcel('/${moduleName}/${businessName}/export', this.queryParams);
     }
   }
 };