xw 3 дней назад
Родитель
Сommit
5dae779405
2 измененных файлов с 37 добавлено и 1 удалено
  1. 20 0
      src/api/system/dept.js
  2. 17 1
      src/views/system/dept/index.vue

+ 20 - 0
src/api/system/dept.js

@@ -131,3 +131,23 @@ export function redMoneyDetailList(query) {
     params: query
   })
 }
+
+// 导出部门红包明细
+export function exportRedMoneyDetail(deptId) {
+  return request({
+    url: '/system/dept/exportRedMoneyDetail',
+    method: 'get',
+    params: { deptId: deptId },
+    responseType: 'blob'
+  })
+}
+
+// 导出部门流量明细
+export function exportFlowDetail(deptId) {
+  return request({
+    url: '/system/dept/exportFlowDetail',
+    method: 'get',
+    params: { deptId: deptId },
+    responseType: 'blob'
+  })
+}

+ 17 - 1
src/views/system/dept/index.vue

@@ -287,6 +287,9 @@
 
     <!-- 流量明细对话框 -->
     <el-dialog title="部门流量明细" :visible.sync="openFlowDetail" width="1200px" append-to-body>
+      <div style="margin-bottom: 10px;">
+        <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExportFlowDetail">导出</el-button>
+      </div>
       <el-table v-loading="flowDetailLoading" :data="flowDetailList">
         <el-table-column label="操作时间" align="center" prop="createTime" width="180">
           <template slot-scope="scope">
@@ -329,6 +332,9 @@
 
     <!-- 红包明细对话框 -->
     <el-dialog title="部门红包明细" :visible.sync="openRedMoneyDetail" width="1200px" append-to-body>
+      <div style="margin-bottom: 10px;">
+        <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExportRedMoneyDetail">导出</el-button>
+      </div>
       <el-table v-loading="redMoneyDetailLoading" :data="redMoneyDetailList">
         <el-table-column label="操作时间" align="center" prop="createTime" width="180">
           <template slot-scope="scope">
@@ -372,7 +378,7 @@
 </template>
 
 <script>
-import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild, updatePadNum, addRedMoney, addFlowNum, deductFlowNum, flowDetailList, redMoneyDetailList, deductRedMoney } from "@/api/system/dept";
+import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild, updatePadNum, addRedMoney, addFlowNum, deductFlowNum, flowDetailList, redMoneyDetailList, deductRedMoney, exportRedMoneyDetail, exportFlowDetail } from "@/api/system/dept";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { addOrEditDeptResource, getDeptResource } from '@/api/system/resourceManagement'
@@ -657,6 +663,16 @@ export default {
         this.redMoneyDetailLoading = false;
       });
     },
+    /** 导出流量明细 */
+    handleExportFlowDetail() {
+      this.download('/system/dept/exportFlowDetail?deptId=' + this.flowDetailQuery.deptId, {
+      }, `部门流量明细_${new Date().getTime()}.xlsx`);
+    },
+    /** 导出红包明细 */
+    handleExportRedMoneyDetail() {
+      this.download('/system/dept/exportRedMoneyDetail?deptId=' + this.redMoneyDetailQuery.deptId, {
+      }, `部门红包明细_${new Date().getTime()}.xlsx`);
+    },
     formatBalance(flow){
       //对流量值进行判断,换算成GB或TB
       if(!flow){