Ver código fonte

fix: 开发收入明细和提现记录

wuguojie 5 meses atrás
pai
commit
32fb617ef6

+ 24 - 0
src/api/system/finance.js

@@ -0,0 +1,24 @@
+import request from '@/utils/request'
+
+export function totalData() {
+    return request({
+        url: 'api/order/v1/pc/totalData',
+        method: 'get'
+    })
+}
+
+export function getOrderIncome(data) {
+    return request({
+        url: `api/financial/v1/pc/getOrderIncome`,
+        method: 'get',
+        params: data
+    })
+}
+
+export function exportData(data) {
+    return request({
+        url: '/api/financial/v1/pc/export',
+        method: 'post',
+        data: data
+    })
+}

+ 21 - 3
src/api/system/record.js

@@ -20,7 +20,7 @@ export function getRecord(cId) {
 // 新增提现
 export function addRecord(data) {
   return request({
-    url: '/system/record', 
+    url: '/system/record',
     method: 'post',
     data: data
   })
@@ -45,8 +45,26 @@ export function delRecord(cId) {
 // 审核
 export function auditRecord(data) {
   return request({
-    url: '/api/tx/record/wx/auditing', 
+    url: '/api/tx/record/wx/auditing',
+    method: 'post',
+    data: data
+  })
+}
+
+// 审核新
+export function auditNewRecord(data) {
+  return request({
+    url: '/api/tx/record/pc/auditing',
     method: 'post',
     data: data
   })
-}
+}
+
+// 导出
+export function exportData(data) {
+  return request({
+    url: '/api/tx/record/pc/export',
+    method: 'post',
+    data: data
+  })
+}

+ 1 - 0
src/plugins/download.js

@@ -18,6 +18,7 @@ export default {
       headers: { 'Authorization': 'Bearer ' + getToken() }
     }).then((res) => {
       const isBlob = blobValidate(res.data);
+
       if (isBlob) {
         const blob = new Blob([res.data])
         this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))

+ 244 - 0
src/views/finance/income/index.vue

@@ -0,0 +1,244 @@
+<template>
+    <div class="finance app-container">
+        <el-row :gutter="20" class="contrast">
+            <el-col :span="8">
+                <div class="contrast_data">
+                    <div class="top">累计营业收入</div>
+                    <div class="center">
+                        ¥{{ turnover }}
+                    </div>
+                </div>
+            </el-col>
+            <el-col :span="8">
+                <div class="contrast_data">
+                    <div class="top">累计平台佣金收入</div>
+                    <div class="center">
+                        ¥{{ commission }}
+                    </div>
+                </div>
+            </el-col>
+            <el-col :span="8">
+                <div class="contrast_data">
+                    <div class="top">累计商家收入</div>
+                    <div class="center">
+                        ¥{{ merchant }}
+                    </div>
+                </div>
+            </el-col>
+        </el-row>
+        <el-form :model="form">
+            <el-row :gutter="20">
+                <el-col :span="6">
+                    <el-form-item prop="orderNo" label="订单号">
+                        <el-input v-model="form.orderNo" />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item prop="merchantName" label="商户名称">
+                        <el-input v-model="form.merchantName" />
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item prop="payTime" label="支付时间">
+                        <el-date-picker
+                            style="width: 100%"
+                            v-model="form.payTime"
+                            type="daterange"
+                            range-separator="至"
+                            start-placeholder="开始日期"
+                            end-placeholder="结束日期"
+                            value-format="yyyy-MM-dd"
+                        ></el-date-picker>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item prop="submitTime" label="提交时间">
+                        <el-date-picker
+                            style="width: 100%"
+                            v-model="form.submitTime"
+                            type="daterange"
+                            range-separator="至"
+                            start-placeholder="开始日期"
+                            end-placeholder="结束日期"
+                            value-format="yyyy-MM-dd"
+                        ></el-date-picker>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-button icon="el-icon-search" type="primary" @click="handleSearch">搜索</el-button>
+                    <el-button icon="el-icon-download" type="primary" @click="handleExport">导出</el-button>
+                    <el-button icon="el-icon-refresh" @click="handleReset">重置</el-button>
+                </el-col>
+            </el-row>
+        </el-form>
+        <el-table
+            class="incomeTable"
+            :data="incomeData"
+        >
+            <el-table-column prop="projectNames" label="项目名称"></el-table-column>
+            <el-table-column prop="orderNo" label="订单编号"></el-table-column>
+            <el-table-column prop="jsName" label="商户名称"></el-table-column>
+            <el-table-column prop="orderPrice" label="订单金额"></el-table-column>
+            <el-table-column prop="couponPrice" label="优惠券补贴"></el-table-column>
+            <el-table-column prop="realPayPrice" label="实付金额"></el-table-column>
+            <el-table-column prop="percent" label="平台佣金比例"></el-table-column>
+            <el-table-column prop="yPrice" label="平台佣金"></el-table-column>
+            <el-table-column prop="rPrice" label="商户应收金额"></el-table-column>
+            <el-table-column prop="dtCreateTime" label="提交时间"></el-table-column>
+            <el-table-column prop="payTime" label="支付时间"></el-table-column>
+        </el-table>
+        <pagination
+            v-show="queryParams.total > 0"
+            :total="queryParams.total"
+            :page.sync="queryParams.current"
+            :limit.sync="queryParams.size"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+        />
+    </div>
+</template>
+
+<script>
+import {totalData, getOrderIncome, exportData} from "@/api/system/finance";
+// import { saveAs } from 'file-saver'
+
+export default {
+    name: "index.vue",
+    data() {
+        return {
+            turnover: 0,
+            commission: 0,
+            merchant: 0,
+            form: {
+                orderNo: '',
+                merchantName: '',
+                payTime: [],
+                submitTime: []
+            },
+            incomeData: [],
+            queryParams: {
+                total: 1,
+                current: 1,
+                size: 10
+            }
+        }
+    },
+    methods: {
+        initTotalData() {
+            totalData().then(res => {
+                if(res.code == 200) {
+                    this.turnover = res.data.totalPrice
+                    this.commission = res.data.platformPrice
+                    this.merchant = res.data.merchantPrice
+                }
+            })
+        },
+        handleSearch() {
+            this.initData()
+        },
+        handleExport() {
+            this.download(
+                "/api/financial/v1/pc/export",
+                {
+                    current: this.queryParams.current,
+                    size: this.queryParams.size,
+                    orderNo: this.form.orderNo,
+                    jsName: this.form.merchantName,
+                    payTimeBegin: this.form.payTime?.[0] || '',
+                    payTimeEnd: this.form.payTime?.[1] || '',
+                    dtCreateTimeBegin: this.form.submitTime?.[0] || '',
+                    dtCreateTimeTimeEnd: this.form.submitTime?.[1] || ''
+                },
+                `收入明细${new Date().getTime()}.xlsx`
+            );
+            // exportData({
+            //     current: this.queryParams.current,
+            //     size: this.queryParams.size,
+            //     orderNo: this.form.orderNo,
+            //     jsName: this.form.merchantName,
+            //     payTimeBegin: this.form.payTime?.[0] || '',
+            //     payTimeEnd: this.form.payTime?.[1] || '',
+            //     dtCreateTimeBegin: this.form.submitTime?.[0] || '',
+            //     dtCreateTimeTimeEnd: this.form.submitTime?.[1] || ''
+            // }).then((res) => {
+            //     if(res.code == 200) {
+            //         const blob = new Blob([res])
+            //         let url = window.URL.createObjectURL(blob)
+            //         const link = document.createElement('a')
+            //         link.href = url
+            //         link.download = '收入明细.xlsx'
+            //         link.click()
+            //         URL.revokeObjectURL(url)
+            //     }
+            // })
+        },
+        handleReset() {
+            this.form = {
+                orderNo: '',
+                merchantName: '',
+                payTime: [],
+                submitTime: []
+            }
+            this.initData()
+        },
+        initData() {
+            getOrderIncome({
+                current: this.queryParams.current,
+                size: this.queryParams.size,
+                orderNo: this.form.orderNo,
+                jsName: this.form.merchantName,
+                payTimeBegin: this.form.payTime?.[0] || '',
+                payTimeEnd: this.form.payTime?.[1] || '',
+                acceptanceTimeBegin: this.form.submitTime?.[0] || '',
+                acceptanceTimeEnd: this.form.submitTime?.[1] || ''
+            }).then((res) => {
+                if(res.code == 200) {
+                    this.incomeData = res.data.records
+                }
+            })
+        },
+        handleSizeChange(size) {
+            this.queryParams.size = size
+            this.initData()
+        },
+        handleCurrentChange(page) {
+            this.queryParams.current = page
+            this.initData()
+        }
+    },
+    mounted() {
+        this.initTotalData();
+        this.initData();
+    }
+}
+</script>
+
+<style scoped lang="scss">
+.finance{
+    width: 100%;
+    height: 100%;
+    .contrast {
+        width: 100%;
+        height: 100%;
+        display: flex;
+        justify-content: space-between;
+        .contrast_data {
+            background: linear-gradient(to right, #338aef, #3498f2);
+            padding: 10px 10px 10px 20px;
+            box-sizing: border-box;
+            border-radius: 10px;
+            color: #fff;
+            .top {
+                font-size: 20px;
+                margin-bottom: 20px;
+            }
+            .center {
+                font-size: 26px;
+            }
+        }
+    }
+    .incomeTable{
+        margin-top: 20px;
+    }
+}
+</style>

+ 564 - 224
src/views/record/index.vue

@@ -1,178 +1,385 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      size="small"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
-      <el-form-item label="手机号" prop="cPhone">
-        <el-input
-          v-model="queryParams.cPhone"
-          placeholder="请输入手机号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="姓名" prop="cName">
-        <el-input
-          v-model="queryParams.cName"
-          placeholder="请输入姓名"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >搜索</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置</el-button
-        >
-      </el-form-item>
-    </el-form>
-    <el-table
-      v-loading="loading"
-      :data="recordList"
-      @selection-change="handleSelectionChange"
-    >
-      <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <!-- <el-table-column label="${comment}" align="center" prop="cId" /> -->
-      <el-table-column label="提现单号" align="center" prop="cashNo" />
-      <el-table-column label="提现金额" align="center" prop="dPrice" />
-      <el-table-column label="开户行" align="center" prop="openingBank" />
-      <el-table-column label="银行账户" align="center" prop="bankAccount" />
-      <el-table-column label="手机号" align="center" prop="cPhone" />
-      <el-table-column label="姓名" align="center" prop="cName" />
-      <!-- <el-table-column label="提现图片" align="center" prop="cImage" width="100">
-          <template slot-scope="scope">
-            <image-preview :src="scope.row.cImage" :width="50" :height="50"/>
-          </template>
-        </el-table-column> -->
+      <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane label="待审核" name="first">
+              <el-form
+                      :model="queryParams"
+                      ref="queryForm"
+                      size="small"
+                      :inline="true"
+                      v-show="showSearch"
+                      label-width="68px"
+              >
+                  <el-row :gutter="20">
+                      <el-col :span="8">
+                          <el-form-item label="手机号" prop="cPhone">
+                              <el-input
+                                  v-model="queryParams.cPhone"
+                                  placeholder="请输入手机号"
+                                  clearable
+                                  @keyup.enter.native="handleQuery"
+                              />
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-form-item label="姓名" prop="cName">
+                              <el-input
+                                  v-model="queryParams.cName"
+                                  placeholder="请输入姓名"
+                                  clearable
+                                  @keyup.enter.native="handleQuery"
+                              />
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-form-item>
+                              <el-button
+                                  type="primary"
+                                  icon="el-icon-search"
+                                  size="mini"
+                                  @click="handleQuery"
+                              >搜索</el-button>
+                              <el-button icon="el-icon-download" type="primary" @click="handleExport" size="mini">导出</el-button>
+                              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+                              >重置</el-button>
+                          </el-form-item>
+                      </el-col>
+                  </el-row>
+              </el-form>
+              <el-table
+                      v-loading="loading"
+                      :data="recordList"
+                      @selection-change="handleSelectionChange"
+              >
+                  <!-- <el-table-column type="selection" width="55" align="center" /> -->
+                  <!-- <el-table-column label="${comment}" align="center" prop="cId" /> -->
+                  <el-table-column label="提现单号" align="center" prop="cashNo" />
+                  <el-table-column label="提现金额" align="center" prop="dPrice" />
+                  <el-table-column label="开户行" align="center" prop="openingBank" />
+                  <el-table-column label="银行账户" align="center" prop="bankAccount" />
+                  <el-table-column label="手机号" align="center" prop="cPhone" />
+                  <el-table-column label="姓名" align="center" prop="cName" />
+                  <!-- <el-table-column label="提现图片" align="center" prop="cImage" width="100">
+                      <template slot-scope="scope">
+                        <image-preview :src="scope.row.cImage" :width="50" :height="50"/>
+                      </template>
+                    </el-table-column> -->
 
-      <el-table-column
-        label="是否审核"
-        align="center"
-        prop="nStatus"
-        width="100"
-      >
-        <template slot-scope="scope">
+                  <el-table-column
+                          label="是否审核"
+                          align="center"
+                          prop="nStatus"
+                          width="100"
+                  >
+                      <template slot-scope="scope">
           <span>{{
-            scope.row.nStatus === 1
-              ? "审核通过"
-              : scope.row.nStatus === 2
-              ? "驳回"
-              : "审核中"
-          }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="创建时间"
-        align="center"
-        prop="dtCreateTime"
-        width="180"
-      >
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.dtCreateTime, "{y}-{m}-{d}") }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            :disabled="scope.row.nStatus === 1 || scope.row.nStatus === 2"
-            @click="auditIn(scope.row)"
-            >审核</el-button
-          >
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            :disabled="scope.row.nStatus === 1 || scope.row.nStatus === 2"
-            @click="turn(scope.row)"
-            >驳回</el-button
-          >
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <el-pagination
-      v-show="total > 0"
-      background
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :current-page="queryParams.current"
-      :page-size="queryParams.size"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="total"
-    >
-    </el-pagination>
-    <!-- 添加或修改提现对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="提现用户" prop="cOpenId">
-          <el-input v-model="form.cOpenId" placeholder="请输入提现用户" />
-        </el-form-item>
-        <el-form-item label="提现金额" prop="dPrice">
-          <el-input v-model="form.dPrice" placeholder="请输入提现金额" />
-        </el-form-item>
-        <el-form-item label="提现时间" prop="cTime">
-          <el-input v-model="form.cTime" placeholder="请输入提现时间" />
-        </el-form-item>
-        <el-form-item label="手机号" prop="cPhone">
-          <el-input v-model="form.cPhone" placeholder="请输入手机号" />
-        </el-form-item>
-        <el-form-item label="姓名" prop="cName">
-          <el-input v-model="form.cName" placeholder="请输入姓名" />
-        </el-form-item>
-        <el-form-item label="提现图片" prop="cImage">
-          <image-upload v-model="form.cImage" />
-        </el-form-item>
-        <el-form-item label="创建时间" prop="dtCreateTime">
-          <el-date-picker
-            clearable
-            v-model="form.dtCreateTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="请选择创建时间"
-          >
-          </el-date-picker>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
+              scope.row.nStatus === 1
+                  ? "审核通过"
+                  : scope.row.nStatus === 2
+                      ? "驳回"
+                      : "审核中"
+              }}</span>
+                      </template>
+                  </el-table-column>
+                  <el-table-column
+                          label="创建时间"
+                          align="center"
+                          prop="dtCreateTime"
+                          width="180"
+                  >
+                      <template slot-scope="scope">
+                          <span>{{ parseTime(scope.row.dtCreateTime, "{y}-{m}-{d}") }}</span>
+                      </template>
+                  </el-table-column>
+                  <el-table-column
+                          label="操作"
+                          align="center"
+                          class-name="small-padding fixed-width"
+                  >
+                      <template slot-scope="scope">
+                          <el-button
+                                  size="mini"
+                                  type="text"
+                                  icon="el-icon-edit"
+                                  :disabled="scope.row.nStatus === 1 || scope.row.nStatus === 2"
+                                  @click="auditIn(scope.row)"
+                          >审核</el-button
+                          >
+                          <el-button
+                                  size="mini"
+                                  type="text"
+                                  icon="el-icon-delete"
+                                  :disabled="scope.row.nStatus === 1 || scope.row.nStatus === 2"
+                                  @click="turn(scope.row)"
+                          >驳回</el-button
+                          >
+                      </template>
+                  </el-table-column>
+              </el-table>
+              <el-pagination
+                      v-show="total > 0"
+                      background
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="queryParams.current"
+                      :page-size="queryParams.size"
+                      layout="total, sizes, prev, pager, next, jumper"
+                      :total="total"
+              >
+              </el-pagination>
+              <!-- 添加或修改提现对话框 -->
+              <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+                  <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+                      <el-form-item label="提现用户" prop="cOpenId">
+                          <el-input v-model="form.cOpenId" placeholder="请输入提现用户" />
+                      </el-form-item>
+                      <el-form-item label="提现金额" prop="dPrice">
+                          <el-input v-model="form.dPrice" placeholder="请输入提现金额" />
+                      </el-form-item>
+                      <el-form-item label="提现时间" prop="cTime">
+                          <el-input v-model="form.cTime" placeholder="请输入提现时间" />
+                      </el-form-item>
+                      <el-form-item label="手机号" prop="cPhone">
+                          <el-input v-model="form.cPhone" placeholder="请输入手机号" />
+                      </el-form-item>
+                      <el-form-item label="姓名" prop="cName">
+                          <el-input v-model="form.cName" placeholder="请输入姓名" />
+                      </el-form-item>
+                      <el-form-item label="提现图片" prop="cImage">
+                          <image-upload v-model="form.cImage" />
+                      </el-form-item>
+                      <el-form-item label="创建时间" prop="dtCreateTime">
+                          <el-date-picker
+                                  clearable
+                                  v-model="form.dtCreateTime"
+                                  type="date"
+                                  value-format="yyyy-MM-dd"
+                                  placeholder="请选择创建时间"
+                          >
+                          </el-date-picker>
+                      </el-form-item>
+                  </el-form>
+                  <div slot="footer" class="dialog-footer">
+                      <el-button type="primary" @click="submitForm">确 定</el-button>
+                      <el-button @click="cancel">取 消</el-button>
+                  </div>
+              </el-dialog>
+              <el-dialog title="审核通过" :visible.sync="auditOpen" width="500px" append-to-body>
+                  <el-form ref="auditForm" :model="auditForm" :rules="auditRules" label-width="120px">
+                      <el-form-item label="申请提现金额:">
+                          <span>{{ auditForm.dPrice }}</span>
+                      </el-form-item>
+                      <el-form-item prop="percent" label="税率:">
+                          <el-input v-model="auditForm.percent" @change="taxChange" />
+                      </el-form-item>
+                      <el-form-item label="应扣税费:">
+                          <span>{{ auditForm.taxation }}</span>
+                      </el-form-item>
+                      <el-form-item label="商家实收:">
+                          <span>{{ auditForm.receive }}</span>
+                      </el-form-item>
+                  </el-form>
+                  <div slot="footer">
+                      <el-button type="primary" @click="handleAuditSubmit">确 定</el-button>
+                      <el-button @click="handleAuditCancel">取 消</el-button>
+                  </div>
+              </el-dialog>
+              <el-dialog title="审核驳回" :visible.sync="rejectOpen" width="500px" append-to-body>
+                  <el-form ref="rejectForm" :model="rejectForm" label-width="120px">
+                      <el-form-item prop="reject" label="驳回理由">
+                          <el-input v-model="rejectForm.reject" />
+                      </el-form-item>
+                  </el-form>
+                  <div slot="footer">
+                      <el-button type="primary" @click="handleRejectSubmit">确 定</el-button>
+                      <el-button @click="handleRejectCancel">取 消</el-button>
+                  </div>
+              </el-dialog>
+          </el-tab-pane>
+          <el-tab-pane label="审核通过" name="second">
+              <el-form :model="queryParams" label-width="68px">
+                  <el-row :gutter="20">
+                      <el-col :span="8">
+                          <el-form-item prop="createTime" label="创建时间">
+                              <el-date-picker
+                                  v-model="queryParams.createTime"
+                                  type="datetimerange"
+                                  range-separator="至"
+                                  start-placeholder="开始日期"
+                                  end-placeholder="结束日期"
+                                  @change="handleTimeChange"
+                                  value-format="yyyy-MM-dd HH:mm:ss"
+                              ></el-date-picker>
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-form-item prop="name" label="商户名称">
+                              <el-input v-model="queryParams.cName" />
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-button
+                              type="primary"
+                              size="mini"
+                              icon="el-icon-search"
+                              @click="handleQuery"
+                          >搜索</el-button>
+                          <el-button icon="el-icon-download" type="primary" @click="handleExport" size="mini">导出</el-button>
+                          <el-button size="mini" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+                      </el-col>
+                  </el-row>
+              </el-form>
+              <el-table
+                  style="margin-top: 20px;"
+                :data="recordList"
+              >
+                  <el-table-column prop="cashNo" label="提现单号"></el-table-column>
+                  <el-table-column prop="dPrice" label="提现金额"></el-table-column>
+                  <el-table-column prop="percent" label="税率"></el-table-column>
+                  <el-table-column prop="rPrice" label="代扣税额"></el-table-column>
+                  <el-table-column prop="WPrice" label="提现到账金额"></el-table-column>
+                  <el-table-column prop="openingBank" label="开户行"></el-table-column>
+                  <el-table-column prop="bankAccount" label="银行账户"></el-table-column>
+                  <el-table-column prop="cPhone" label="手机号"></el-table-column>
+                  <el-table-column prop="cName" label="姓名"></el-table-column>
+                  <el-table-column prop="nStatus" label="审核状态">
+                      <template slot-scope="scope">
+                          <span>
+                              {{
+                                  scope.row.nStatus === 1
+                                      ? "审核通过"
+                                      : scope.row.nStatus === 2
+                                          ? "驳回"
+                                          : "审核中"
+                              }}
+                          </span>
+                      </template>
+                  </el-table-column>
+                  <el-table-column prop="dtCreateTime" label="创建时间"></el-table-column>
+              </el-table>
+              <el-pagination
+                  v-show="total > 0"
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                  :current-page="queryParams.current"
+                  :page-size="queryParams.size"
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :total="queryParams.total"
+              >
+              </el-pagination>
+          </el-tab-pane>
+          <el-tab-pane label="审核驳回" name="third">
+              <el-form :model="queryParams" label-width="68px">
+                  <el-row :gutter="20">
+                      <el-col :span="8">
+                          <el-form-item prop="createTime" label="创建时间">
+                              <el-date-picker
+                                  v-model="queryParams.createTime"
+                                  type="daterange"
+                                  range-separator="至"
+                                  start-placeholder="开始日期"
+                                  end-placeholder="结束日期"
+                                  @change="handleTimeChange"
+                                  value-format="yyyy-MM-dd"
+                              ></el-date-picker>
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-form-item prop="name" label="商户名称">
+                              <el-input v-model="queryParams.cName" />
+                          </el-form-item>
+                      </el-col>
+                      <el-col :span="8">
+                          <el-button
+                              type="primary"
+                              size="mini"
+                              icon="el-icon-search"
+                              @click="handleQuery"
+                          >搜索</el-button>
+                          <el-button icon="el-icon-download" type="primary" @click="handleExport" size="mini">导出</el-button>
+                          <el-button size="mini" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
+                      </el-col>
+                  </el-row>
+              </el-form>
+              <el-table
+                  style="margin-top: 20px;"
+                  :data="recordList"
+              >
+                  <el-table-column prop="cashNo" label="提现单号"></el-table-column>
+                  <el-table-column prop="dPrice" label="提现金额"></el-table-column>
+                  <el-table-column prop="openingBank" label="开户行"></el-table-column>
+                  <el-table-column prop="bankAccount" label="银行账户"></el-table-column>
+                  <el-table-column prop="cPhone" label="手机号"></el-table-column>
+                  <el-table-column prop="cName" label="姓名"></el-table-column>
+                  <el-table-column prop="nStatus" label="审核状态">
+                      <template slot-scope="scope">
+                          <span>
+                              {{
+                                  scope.row.nStatus === 1
+                                      ? "审核通过"
+                                      : scope.row.nStatus === 2
+                                          ? "驳回"
+                                          : "审核中"
+                              }}
+                          </span>
+                      </template>
+                  </el-table-column>
+                  <el-table-column prop="dtCreateTime" label="创建时间"></el-table-column>
+                  <el-table-column prop="reject" label="驳回理由"></el-table-column>
+              </el-table>
+              <el-pagination
+                  v-show="total > 0"
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                  :current-page="queryParams.current"
+                  :page-size="queryParams.size"
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :total="queryParams.total"
+              >
+              </el-pagination>
+          </el-tab-pane>
+      </el-tabs>
   </div>
 </template>
-  
+
   <script>
-import {
-  listRecord,
-  getRecord,
-  delRecord,
-  addRecord,
-  updateRecord,
-  auditRecord,
-} from "@/api/system/record";
+  import {
+      listRecord,
+      getRecord,
+      delRecord,
+      addRecord,
+      updateRecord,
+      auditRecord, auditNewRecord,
+  } from "@/api/system/record";
 
 export default {
   name: "Record",
   data() {
     return {
+        activeName: 'first',
+
+        // passForm: {
+        //     createTime: [],
+        //     name: ''
+        // },
+        // passList: [],
+        // passParams: {
+        //     total: 1,
+        //     current: 1,
+        //     size: 10
+        // },
+        //
+        // refuseForm: {
+        //     createTime: [],
+        //     name: ''
+        // },
+        // refuseList: [],
+        // refuseParams: {
+        //     total: 1,
+        //     current: 1,
+        //     size: 10
+        // },
+
       // 遮罩层
       loading: true,
       // 选中数组
@@ -201,75 +408,182 @@ export default {
         cPhone: "",
         cName: null,
         cImage: null,
-        nStatus: null,
-        dtCreateTime: null,
+        nStatus: 0,
+          createTime: null
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {},
+
+        // 审核通过表单
+        auditOpen: false,
+        auditForm: {},
+        auditRules: {
+            percent: [
+                { required: true, message: '请输入税率', trigger: 'blur' }
+            ]
+        },
+        rejectOpen: false,
+        rejectForm: {}
     };
   },
   created() {
     this.getList();
   },
   methods: {
-    auditIn(e) {
-      var ids = {
-        cId: e.cId,
-        nStatus: 1,
-      };
-      this.$confirm("确定通过单号为" + e.cashNo + "的审核?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          auditRecord(ids).then((res) => {
-            // console.log(res.data,"eeeeeeeeeeeeeeeeeeee")
-            if (res.code == 200) {
-              this.$modal.msgSuccess("审核成功");
-              this.getList();
-            } else {
-              this.$modal.msgError(res.data.msg);
-            }
+      // 审核通过税率填写
+      // 审核通过
+      handleAuditSubmit() {
+          let ids = {
+              cId: this.auditForm.cId,
+              nStatus: 1,
+              percent: this.auditForm.percent
+          }
+          auditNewRecord(ids).then((res) => {
+              if (res.code == 200) {
+                  this.$modal.msgSuccess("审核成功");
+                  this.auditOpen = false
+                  this.getList();
+              } else {
+                  this.$modal.msgError(res.data.msg);
+              }
           });
-        })
-        .catch((e) => {
-          this.$message({
-            type: "info",
-            message: "已取消",
+      },
+      handleAuditCancel() {
+          this.auditOpen = false
+          this.auditForm = {}
+      },
+      taxChange(e) {
+          let value = Number(e)
+          console.log(123123123, e, value)
+          if(value > 0) {
+              this.$set(this.auditForm, 'taxation', this.auditForm.dPrice * value * 0.01)
+              let num = ((this.auditForm.dPrice * 100).toFixed(2) - (this.auditForm.taxation * 100).toFixed(2)) * 0.01
+              this.$set(this.auditForm, 'receive', this.formatDecimal(num, 4))
+          }
+      },
+      formatDecimal(num, decimal = 2) {
+          num = num.toString()
+          const index = num.indexOf('.')
+          if (index !== -1) {
+              num = num.substring(0, decimal + index + 1)
+          } else {
+              num = num.substring(0)
+          }
+          //截取后保留两位小数
+          return parseFloat(num).toFixed(decimal)
+      },
+      handleRejectSubmit() {
+          let ids = {
+              cId: this.rejectForm.cId,
+              nStatus: 2,
+              reject: this.rejectForm.reject
+          }
+          auditNewRecord(ids).then((res) => {
+              if (res.code == 200) {
+                  this.$modal.msgSuccess("驳回成功");
+                  this.getList();
+                  this.rejectOpen = false
+              } else {
+                  this.$modal.msgError(res.data.msg);
+              }
           });
-        });
+      },
+      handleRejectCancel() {
+          this.rejectOpen = false
+          this.rejectForm = {}
+      },
+      handleClick(tab) {
+          this.queryParams = {
+              current: 1,
+              size: 10,
+              cOpenId: null,
+              dPrice: null,
+              cTime: null,
+              cPhone: "",
+              cName: null,
+              cImage: null,
+              createTime: null,
+              nStatus: 0
+          }
+          switch (tab.name) {
+              case 'first':
+                  this.queryParams.nStatus = 0
+                  this.getList()
+                  break;
+              case 'second':
+                  this.queryParams.nStatus = 1
+                  this.getList()
+                  break;
+              case 'third':
+                  this.queryParams.nStatus = 2
+                  this.getList()
+                  break;
+          }
+      },
+      handleTimeChange(e) {
+          // this.queryParams.startTime = e[0]
+          // this.queryParams.endTime = e[1]
+      },
+    auditIn(e) {
+          this.auditOpen = true
+        this.auditForm = e
+      // var ids = {
+      //   cId: e.cId,
+      //   nStatus: 1,
+      // };
+      // this.$confirm("确定通过单号为" + e.cashNo + "的审核?", "提示", {
+      //   confirmButtonText: "确定",
+      //   cancelButtonText: "取消",
+      //   type: "warning",
+      // })
+      //   .then(() => {
+      //     auditRecord(ids).then((res) => {
+      //       // console.log(res.data,"eeeeeeeeeeeeeeeeeeee")
+      //       if (res.code == 200) {
+      //         this.$modal.msgSuccess("审核成功");
+      //         this.getList();
+      //       } else {
+      //         this.$modal.msgError(res.data.msg);
+      //       }
+      //     });
+      //   })
+      //   .catch((e) => {
+      //     this.$message({
+      //       type: "info",
+      //       message: "已取消",
+      //     });
+      //   });
     },
     turn(e) {
-      
-      
-      var ids = {
-        cId: e.cId,
-        nStatus: 2,
-      };
-      this.$confirm("确定驳回单号为" + e.cashNo + "的审核?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          auditRecord(ids).then((res) => {
-            if (res.code == 200) {
-              this.$modal.msgSuccess("驳回成功");
-              this.getList();
-            } else {
-              this.$modal.msgError(res.data.msg);
-            }
-          });
-        })
-        .catch((e) => {
-          this.$message({
-            type: "info",
-            message: "已取消",
-          });
-        });
+        this.rejectOpen = true
+        this.rejectForm = e
+      // var ids = {
+      //   cId: e.cId,
+      //   nStatus: 2,
+      // };
+      // this.$confirm("确定驳回单号为" + e.cashNo + "的审核?", "提示", {
+      //   confirmButtonText: "确定",
+      //   cancelButtonText: "取消",
+      //   type: "warning",
+      // })
+      //   .then(() => {
+      //     auditRecord(ids).then((res) => {
+      //       if (res.code == 200) {
+      //         this.$modal.msgSuccess("驳回成功");
+      //         this.getList();
+      //       } else {
+      //         this.$modal.msgError(res.data.msg);
+      //       }
+      //     });
+      //   })
+      //   .catch((e) => {
+      //     this.$message({
+      //       type: "info",
+      //       message: "已取消",
+      //     });
+      //   });
     },
     handleSizeChange(val) {
       // console.log(val,"handleSizeChange")
@@ -284,7 +598,13 @@ export default {
     /** 查询提现列表 */
     getList() {
       this.loading = true;
-      listRecord(this.queryParams).then((response) => {
+      let params = {...this.queryParams}
+        if(params.createTime && params.createTime.length === 2) {
+            params.startTime = params.createTime[0]
+            params.endTime = params.createTime[1]
+        }
+        delete params.createTime
+      listRecord(params).then((response) => {
         this.recordList = response.data.records;
         this.total = response.data.total;
         this.loading = false;
@@ -312,12 +632,24 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
+      this.queryParams.current = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
+        let obj = {
+            current: 1,
+            size: 10,
+            cOpenId: null,
+            dPrice: null,
+            cTime: null,
+            cPhone: "",
+            cName: null,
+            cImage: null,
+            nStatus: this.queryParams.nStatus,
+            createTime: null
+        }
+        this.queryParams = obj
       this.handleQuery();
     },
     // 多选框选中数据
@@ -379,19 +711,27 @@ export default {
     /** 导出按钮操作 */
     handleExport() {
       this.download(
-        "system/record/export",
+        "/api/tx/record/pc/export",
         {
           ...this.queryParams,
         },
-        `record_${new Date().getTime()}.xlsx`
+        `提现记录${new Date().getTime()}.xlsx`
       );
     },
   },
 };
 </script>
-  <style scoped>
+  <style scoped lang="scss">
 .el-pagination {
   float: right;
   padding: 30px 0;
 }
-</style>
+.el-form-item{
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+}
+::v-deep .el-form-item__content{
+    margin-left: 0 !important;
+}
+</style>