Эх сурвалжийг харах

add export for index page

allen 1 сар өмнө
parent
commit
c955df220c

+ 42 - 0
mirs-admin/src/main/java/com/mirs/biz/controller/IndexController.java

@@ -10,16 +10,22 @@ import com.mirs.biz.service.IBrdfDataService;
 import com.mirs.biz.service.IEmiMeasurementService;
 import com.mirs.biz.service.IIntegratedDataService;
 import com.mirs.biz.service.ISampleService;
+import com.mirs.common.annotation.Log;
 import com.mirs.common.config.RuoYiConfig;
 import com.mirs.common.core.controller.BaseController;
 import com.mirs.common.core.domain.AjaxResult;
+import com.mirs.common.enums.BusinessType;
+import com.mirs.common.utils.poi.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.*;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 
+import javax.servlet.http.HttpServletResponse;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -154,4 +160,40 @@ public class IndexController extends BaseController {
         }
         return success(result);
     }
+
+    /**
+     * 导出BRDF数据列表
+     */
+    @Log(title = "Emi首页导出测量数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportEmiMeasurementList")
+    public void exportEmiMeasurementList(HttpServletResponse response, IndexSearchDTO dto)
+    {
+        List<EmiMeasurement> emiMeasurementList = emiMeasurementService.selectEmiMeasurementList(dto.getEmiMeasurement());
+        ExcelUtil<EmiMeasurement> util = new ExcelUtil<EmiMeasurement>(EmiMeasurement.class);
+        util.exportExcel(response, emiMeasurementList, "BRDF数据数据");
+    }
+
+    /**
+     * 导出BRDF数据列表
+     */
+    @Log(title = "Emi首页导出积分数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportIntegratedDataList")
+    public void exportIntegratedDataList(HttpServletResponse response, IndexSearchDTO dto)
+    {
+        List<IntegratedData> integratedDataList = integratedDataService.selectIntegratedDataList(dto.getIntegratedData());
+        ExcelUtil<IntegratedData> util = new ExcelUtil<IntegratedData>(IntegratedData.class);
+        util.exportExcel(response, integratedDataList, "BRDF数据数据");
+    }
+
+    /**
+     * 导出BRDF数据列表
+     */
+    @Log(title = "Emi首页导出BRDF数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportBrdfDataLis")
+    public void exportBrdfDataLis(HttpServletResponse response, IndexSearchDTO dto)
+    {
+        List<BrdfData> brdfData = brdfDataService.selectBrdfDataList(dto.getBrdfData());
+        ExcelUtil<BrdfData> util = new ExcelUtil<BrdfData>(BrdfData.class);
+        util.exportExcel(response, brdfData, "BRDF数据数据");
+    }
 }

+ 71 - 4
mirs-ui/src/views/index.vue

@@ -246,8 +246,16 @@
         <div class="result-bottom">
           <!-- 左下区块 -->
           <el-card class="result-block block-3">
-            <div slot="header" class="clearfix">
+            <div slot="header" class="clearfix card-header">
               <span>测量数据表</span>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="handleExportEmiMeasurementList"
+                style="margin-left:10px"
+                >导出</el-button
+              >
             </div>
             <div class="table-container">
               <el-table
@@ -271,8 +279,15 @@
 
           <!-- 右下区块 -->
           <el-card class="result-block block-4">
-            <div slot="header" class="clearfix">
+            <div slot="header" class="clearfix card-header">
               <span>积分数据表</span>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="handleExportIntegratedDataList"
+                >导出</el-button
+              >
             </div>
             <div class="table-container">
               <el-table
@@ -335,8 +350,15 @@
         <!-- 下半部分 -->
         <div class="result-bottom">
           <el-card class="result-block block-22">
-            <div slot="header" class="clearfix">
-              <span>测量数据表</span>
+            <div slot="header" class="clearfix card-header">
+              <span>BRDF数据表</span>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="handleExportBrdfDataList"
+                >导出</el-button
+              >
             </div>
             <div class="table-container">
               <el-table
@@ -660,6 +682,36 @@ export default {
       }
       window.removeEventListener("resize", this.handleResize);
     },
+    /** 导出测量数据操作 */
+    handleExportEmiMeasurementList() {
+      this.download(
+        "index/search/exportEmiMeasurementList",
+        {
+          ...this.queryParams,
+        },
+        `emiMeasure_${new Date().getTime()}.xlsx`
+      );
+    },
+    /** 导出积分数据操作 */
+    handleExportIntegratedDataList() {
+      this.download(
+        "index/search/exportIntegratedDataList",
+        {
+          ...this.queryParams,
+        },
+        `integrated_${new Date().getTime()}.xlsx`
+      );
+    },
+    /** 导出BRDF数据操作 */
+    handleExportBrdfDataList() {
+      this.download(
+        "index/search/exportBrdfDataLis",
+        {
+          ...this.queryParams,
+        },
+        `BRDF_${new Date().getTime()}.xlsx`
+      );
+    },
   },
 };
 </script>
@@ -786,5 +838,20 @@ export default {
   .el-table {
     flex: 1;
   }
+
+  .card-header {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    width: 100%; // 确保占据整个宽度
+
+    span {
+      flex-grow: 1; // 让标题占据剩余空间
+    }
+
+    .el-button {
+      margin-left: auto; // 强制按钮靠右
+    }
+  }
 }
 </style>