Ver Fonte

应付概览导出功能

@dongkboy há 3 meses atrás
pai
commit
48ea714960
2 ficheiros alterados com 57 adições e 5 exclusões
  1. 2 1
      src/api/modules/finance.ts
  2. 55 4
      src/views/payCredit/generanView.vue

+ 2 - 1
src/api/modules/finance.ts

@@ -93,7 +93,8 @@ const financeApi = (axiosInstance: ApiInstance) => ({
     // 应付账款-概览
     // 应付账款-概览
     getPayableStatistics: (data: any) => axiosInstance.post('userAccount/getPayableStatistics', data), // 总数
     getPayableStatistics: (data: any) => axiosInstance.post('userAccount/getPayableStatistics', data), // 总数
     userAccountList: (data: any) => axiosInstance.post('/userAccount/accountList', data), // 列表
     userAccountList: (data: any) => axiosInstance.post('/userAccount/accountList', data), // 列表
-
+  // 应付概览-数据导出
+    exportPayableStatisticsExcel: (data: any) => axiosInstance.post('/amountAuditing/exportYwyIORecs', data),
     // 基础管理-账户管理
     // 基础管理-账户管理
     cardList: (data: any) => axiosInstance.post('/accountCard/cardList', data), // 账户列表
     cardList: (data: any) => axiosInstance.post('/accountCard/cardList', data), // 账户列表
     cardGet: (data: string) => axiosInstance.get(`/accountCard/cardGet?id=${data}`), // 账户详情
     cardGet: (data: string) => axiosInstance.get(`/accountCard/cardGet?id=${data}`), // 账户详情

+ 55 - 4
src/views/payCredit/generanView.vue

@@ -23,8 +23,8 @@
         </el-col>
         </el-col>
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="统计日期">
           <el-form-item label="统计日期">
-            <el-date-picker v-model="form.createTime" clearable type="daterange" range-separator="至" start-placeholder="开始时间"
-              end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+            <el-date-picker v-model="form.createTime" clearable type="daterange" range-separator="至"
+              start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="8"></el-col>
         <el-col :span="8"></el-col>
@@ -70,6 +70,13 @@
       <el-table-column prop="sumAmount" label="应付总计"></el-table-column>
       <el-table-column prop="sumAmount" label="应付总计"></el-table-column>
       <el-table-column prop="sumAmountPaid" label="已付金额"></el-table-column>
       <el-table-column prop="sumAmountPaid" label="已付金额"></el-table-column>
       <el-table-column prop="sumAmountUnpaid" label="未付金额"></el-table-column>
       <el-table-column prop="sumAmountUnpaid" label="未付金额"></el-table-column>
+      <el-table-column label="操作" width="150" fixed="right">
+        <template #default="scope">
+          <div class="flex a-c ">
+            <el-button type="primary" link @click="handleExport(scope.row)">导出收支明细</el-button>
+          </div>
+        </template>
+      </el-table-column>
     </el-table>
     </el-table>
     <div class="pagination">
     <div class="pagination">
       <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
       <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
@@ -77,11 +84,29 @@
         @current-change="handleCurrentChange"></el-pagination>
         @current-change="handleCurrentChange"></el-pagination>
     </div>
     </div>
   </PageMain>
   </PageMain>
+  <el-dialog v-model="exportDialogVisible" title="导出收支明细" width="500">
+    <el-form  label-width="100">
+      <el-form-item label="导出日期">
+        <el-date-picker v-model="exportTime" clearable type="daterange" range-separator="至"
+          start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+      </el-form-item>
+    </el-form>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button @click="exportDialogVisible = false">取消</el-button>
+        <el-button type="primary" @click="handleExportConfirm">
+          确认导出
+        </el-button>
+      </div>
+    </template>
+  </el-dialog>
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
 import api from '@/api'
 import api from '@/api'
-
+import { ElMessage } from 'element-plus'
+let exportDialogVisible = ref(false)// 导出收支明细弹窗
+const  exportTime = ref([])
 let form = ref({
 let form = ref({
   salesman: '',
   salesman: '',
   attrType: '',
   attrType: '',
@@ -143,7 +168,33 @@ const initData = () => {
     }
     }
   })
   })
 }
 }
-
+const userId = ref('')
+const handleExport = (row: any) => {
+  userId.value = row.userId
+  exportDialogVisible.value = true
+}
+const handleExportConfirm = () => {
+  if (exportTime.value.length == 0) {
+    ElMessage.warning('请选择导出日期')
+    return
+  }
+  api.financeApi.exportPayableStatisticsExcel({
+    ywyUserId: userId.value,
+    beginDate: exportTime.value?.[0],
+    endDate: exportTime.value?.[1]
+  }).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage.success('导出成功')
+      exportDialogVisible.value = false
+      const link = document.createElement('a');
+      link.href = res.msg;
+      link.download = '';
+      // 触发下载
+      document.body.appendChild(link);
+      link.click();
+    }
+  })
+}
 onMounted(() => {
 onMounted(() => {
   initData();
   initData();
 })
 })