Bladeren bron

提现重做

@dongkboy 2 jaren geleden
bovenliggende
commit
91f771816b

BIN
src/assets/qianbao1.png


BIN
src/assets/qianbao2.png


BIN
src/assets/qianbao3.png


BIN
src/assets/qianbao4.png


BIN
src/assets/qianbao5.png


+ 60 - 1
src/http/moudules/letter.js

@@ -1066,4 +1066,63 @@ export const financeAuditDetailExcelExport = (data) => {
     method: "post",
     method: "post",
     data
     data
   })
   })
-}
+}
+/**
+ * pc钱包接口
+ */
+//获取汇总金额
+export const findMyAmount = (data) => {
+  return axios({
+    url: "/sysUserAccount/findMyAmount",
+    method: "post",
+    data
+  })
+}
+//车险明细查询
+export const findMyInsuranceByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/findMyInsuranceByUserId",
+    method: "post",
+    data
+  })
+}
+//车险明细导出
+export const exportMyInsuranceByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/exportMyInsuranceByUserId",
+    method: "post",
+    data
+  })
+}
+//推广明细查询
+export const findMyInsuranceTGByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/findMyInsuranceTGByUserId",
+    method: "post",
+    data
+  })
+}
+//推广明细导出
+export const expeortMyInsuranceTGByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/expeortMyInsuranceTGByUserId",
+    method: "post",
+    data
+  })
+}
+//收支明细查询
+export const findMyIncomeAndExpensesNewByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/findMyIncomeAndExpensesNewByUserId",
+    method: "post",
+    data
+  })
+}
+//收支明细导出
+export const exportMyIncomeAndExpensesNewByUserId = (data) => {
+  return axios({
+    url: "/sysUserAccount/exportMyIncomeAndExpensesNewByUserId",
+    method: "post",
+    data
+  })
+}

+ 0 - 1
src/store/modules/menu.js

@@ -8,7 +8,6 @@ export default {
       "agreementManage/carInsurance/agreementUnderwritingRule",
       "agreementManage/carInsurance/agreementUnderwritingRule",
       "agreementManage/carInsurance/agreementNonVehicleConfig",
       "agreementManage/carInsurance/agreementNonVehicleConfig",
       "letter/wallet/amountManagement",
       "letter/wallet/amountManagement",
-      "letter/wallet/expenditureDetails",
     ]
     ]
   },
   },
   getters: {
   getters: {

+ 326 - 0
src/views/Letter/Wallet/AutoInsuranceDetails.vue

@@ -0,0 +1,326 @@
+<!-- 模板区域 -->
+<template>
+  <div class="p-1">
+    <!-- 模板内容 -->
+    <el-form ref="queryFormRef" :model="queryForm" label-width="120px" class="queryform">
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="任务号">
+            <el-input size="small" v-model="queryForm.orderNo" placeholder="请输入任务号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="订单号">
+            <el-input size="small" v-model="queryForm.subOrderNo" placeholder="请输入订单号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="保险公司">
+            <el-select size="small" v-model="queryForm.companyId" placeholder="请选择保险公司" style="width: 100%"  filterable  clearable>
+              <el-option :label="item.name" :value="item.id" v-for="(item, index) in ompanyqueryList"
+                :key="index"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="投保险种">
+            <el-select size="small" v-model="queryForm.productId" placeholder="请选择投保险种" style="width: 100%" filterable clearable>
+              <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in productsTypeoptions"
+                :key="index"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="车牌号">
+            <el-input size="small" v-model="queryForm.licenseNo" placeholder="请输入车牌号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="车架号">
+            <el-input size="small" v-model="queryForm.frameNo" placeholder="请输入车架号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="发动机号">
+            <el-input size="small" v-model="queryForm.engineNo" placeholder="请输入发动机号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="交强保单号">
+            <el-input size="small" v-model="queryForm.jqapplyno" placeholder="请输入交强保单号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="商业保单号">
+            <el-input size="small" v-model="queryForm.syapplyno" placeholder="请输入交强保单号"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="代理人工号">
+            <el-input size="small" v-model="queryForm.userDLId" placeholder="请输入录入人"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="代理人姓名">
+            <el-input size="small" v-model="queryForm.userDLName" placeholder="请输入代理人姓名"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="被保险人">
+            <el-input size="small" v-model="queryForm.insuredName" placeholder="请输入被保险人姓名"  clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="签单日期">
+            <el-date-picker size="small" value-format="yyyy-MM-dd" v-model="dateTime" style="width: 100%"  clearable
+              @change="dataTmeChange" type="daterange" align="left" range-separator="至" start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="审核状态">
+            <el-radio-group size="small" v-model="queryForm.auditstatus" style="width: 100%"  clearable>
+              <el-radio label="">全部</el-radio>
+              <el-radio label="1">已审核</el-radio>
+              <el-radio label="0">未审核</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4" :offset="8" class="flex j-end">
+          <el-button size="small" type="primary" style="background-color: #2D4D89;border-color:#2D4D89;" @click="exportDetails">导出</el-button>
+          <el-button size="small" type="primary"  @click="autoInsuranceFindPage">查询</el-button>
+        </el-col>
+      </el-row>
+    </el-form>
+    <kt-common-table :tableHeights="560" :SerialShow="false" :operationWidth="150" :showOperation="true"
+      :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" :data="autoInsuranceResult"
+      :columns="autoInsuranceColumns" @findPage="autoInsuranceFindPage" button2Name="详情" button2Type="text"
+      :button2style="{ color: '#2D4D89' }" button2Background="#E6A23C" @handleButton2="autoInsurancedetails"
+      button2Icon="">
+    </kt-common-table>
+    <detailsDialog ref="detailsDialog" :orderInfo.sync="orderInfo" :Feepermissions="false"></detailsDialog>
+  </div>
+</template>
+
+<!-- 行为区域 -->
+<script>
+import detailsDialog from "@/views/Core/components/detailsDialog.vue";
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import Cookies from "js-cookie";
+export default {
+  components: {
+    KtCommonTable,
+    detailsDialog
+  },
+  // 数据存放区域
+  data() {
+    return {
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        orderCommissionVo: {},
+        extendInfo: {}
+      },
+      dateTime: [],
+      queryForm: {
+        orderNo: "",//任务号
+        subOrderNo: "",//订单号
+        companyId: "",//保险公司
+        productId: "",//投保险种
+        licenseNo: "",//车牌号
+        frameNo: "",//车架号
+        engineNo: "",//发动机号
+        jqapplyno: "",//保单号
+        syapplyno: "",//保单号
+        userDLId: "",//代理人工号
+        userDLName: "",//代理人姓名
+        insuredName: "",//被保险人
+        startDate: "",
+        endDate: "",
+        auditstatus: "",//审核状态
+        userId: '',
+      },
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+      },
+      ompanyqueryList: [],
+      productsTypeoptions: [],
+      autoInsuranceResult: [],
+      autoInsuranceColumns: [
+        { prop: "orderNo", label: "任务号", minWidth: 160,  },
+        { prop: "subOrderNo", label: "订单号", minWidth: 160, },
+        { prop: "userId", label: "工号", minWidth: 160 },
+        { prop: "userName", label: "姓名", minWidth: 160 },
+        { prop: "licenseNo", label: "车牌号", minWidth: 160 },
+        { prop: "insuredName", label: "被保险人", minWidth: 160 },
+        { prop: "jqapplyno", label: "交强保单号", minWidth: 160 },
+        { prop: "syapplyno", label: "商业保单号", minWidth: 160 },
+        { prop: "auditTime", label: "审核时间", minWidth: 160 },
+        { prop: "auditstatus", label: "审核状态", minWidth: 160 ,formatter: this.validIndFormatter,},
+        { prop: "amount", label: "交易金额", minWidth: 160 },
+      ],
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.queryForm.userId = Cookies.get("user");
+    this.CompanyList();
+    this.getDicType("productsType"); //车船税类型
+
+  },
+  // 方法函数
+  methods: {
+    validIndFormatter(row, column) {
+      let auditstatus = row.auditstatus;
+      if (auditstatus == '已审核') {
+        return <span style="background:linear-gradient( 180deg, #66CDBB 0%, #33A08D 100%); borderRadius: 4px;padding:4px 10px;color:#fff">已审核</span>
+      } else {
+        return <span style="background:#A6A6A6; borderRadius: 4px;padding:4px 10px;color:#fff">未审核</span>
+      }
+    },
+    exportDetails() {
+      this.$api.letter.exportMyInsuranceByUserId(this.queryForm).then((res) => {
+        if (res.code == '200') {
+          let url = process.env.BASE_URL + res.msg; // 3.创建一个临时的url指向blob对象
+          let a = document.createElement("a");
+          a.href = url;
+          a.download = "导出文件.xlsx";
+          a.click();
+          window.URL.revokeObjectURL(url);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    autoInsurancedetails({ row, column }) {
+      for (let i = 0; i < this.global.insureList.length; i++) {
+        this.global.insureList[i].coveragePremium = "";
+        this.global.insureList[i].amount = 0;
+      }
+      let params = {
+        companyId: row.subOrderNo
+      };
+      this.$api.letter.getByCompanyId(params).then(res => {
+        if (res.code == 200) {
+          this.licenseNo = res.data.licenseno; //车牌号
+          this.inscompany = res.data.inscompany; //保险公司
+          if (res.data.accidentInfo) {
+            res.data.accidentInfo.constructor === Object
+              ? [res.data.accidentInfo]
+              : res.data.accidentInfo;
+          }
+          Object.assign(this.orderInfo, res.data);
+          if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
+            for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
+              if (this.orderInfo.riskinfo[i].riskCode == "0510") {
+                for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
+                  for (let m = 0; m < this.global.insureList.length; m++) {
+                    if (
+                      this.orderInfo.kindinfo[j].kindCode ==
+                      this.global.insureList[m].kindCode
+                    ) {
+                      this.global.insureList[
+                        m
+                      ].coveragePremium = this.orderInfo.kindinfo[
+                        j
+                      ].coveragePremium;
+                      if (this.orderInfo.kindinfo[j].kindCode == "B") {
+                        this.global.insureList[9].amtList[0].value = this.orderInfo.kindinfo[
+                          j
+                        ].amount;
+                      }
+                      if (this.orderInfo.kindinfo[j].kindCode == "A") {
+                        this.global.insureList[m].amount = "1";
+                      } else if (this.global.insureList[m].kindCode == "D4") {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].unitAmount;
+                      } else if (
+                        this.global.insureList[m].isMainRisk ||
+                        this.global.insureList[m].kindCode == "BD" ||
+                        this.global.insureList[m].kindCode == "L"
+                      ) {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].amount;
+                      } else {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].deductibleRate;
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+          this.$refs.detailsDialog.setBackupVisible(true);
+        } else {
+          this.$message.error("订单获取失败");
+        }
+      });
+    },
+    dataTmeChange(val) {
+      if (val) {
+        this.queryForm.startDate = val[0];
+        this.queryForm.endDate = val[1];
+      } else {
+        this.queryForm.startDate = "";
+        this.queryForm.endDate = "";
+      }
+    },
+    autoInsuranceFindPage(data) {
+      if (data && data.pageRequest) {
+        this.pageRequest.pageNum = data.pageRequest.pageNum;
+        this.pageRequest.pageSize = data.pageRequest.pageSize;
+      } else {
+        this.pageRequest.pageNum = 1;
+        this.pageRequest.pageSize = 20;
+      }
+      this.$api.letter
+        .findMyInsuranceByUserId({ ...this.pageRequest, ...this.queryForm })
+        .then((res) => {
+          this.autoInsuranceResult = res.data;
+        });
+    },
+    CompanyList() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.ompanyqueryList = res.data;
+      })
+    },
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then(res => {
+        if (res.code == 200) {
+          this[type + "options"] = res.data.ddList;
+        }
+      });
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+/deep/ {
+  .el-pagination.is-background .el-pager li:not(.disabled).active {
+    background-color: #2D4D89;
+  }
+
+  .el-form-item {
+    margin-bottom: 8px;
+  }
+}
+</style>

+ 642 - 613
src/views/Letter/Wallet/ExpenditureDetails.vue

@@ -1,211 +1,216 @@
 <!-- 模板区域 -->
 <!-- 模板区域 -->
 <template>
 <template>
-    <div id="body">
-        <!-- 模板内容 -->
-        <div class="flex a-c u-f-jsb">
-            <el-button size="small" type="primary" icon="el-icon-arrow-left" @click="back">
-                返回
-            </el-button>
-            <div class="amount-money">
-                <span >收入:¥{{ pageResult.sumAmountSR || 0 }}</span>
-                <span >支出:¥{{ pageResult.sumAmountZC || 0 }}</span>
-            </div>
-        </div>
-        <div class="content">
-            <el-form :inline="true" :model="formQuery" class="demo-form-inline" size="small" style="margin: 15px 0;">
-                <el-row>
-                    <el-col :span="6" >
-                        <el-form-item label="收支状态:">
-                            <el-radio-group v-model="formQuery.incomeAndExpensesType" @input="getMoneyAttrType">
-                                <el-radio v-for="val in incomeAndExpensesTypeoptions" :key="val.dictValue"
-                                    :label="val.dictValue">{{
-                                        val.dictTag
-                                    }}</el-radio>
-                            </el-radio-group>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="6">
-                        <el-form-item label="业务板块:">
-                            <el-radio-group v-model="formQuery.businessSegmentsType" @input="getbusinessSegmentsTypeType">
-                                <el-radio
-                                    v-for="val in  businessSegmentsSZTypeoptions"
-                                    :key="val.dictValue" :label="val.dictValue">{{ val.dictTag
-                                    }}</el-radio>
-                            </el-radio-group>
-                        </el-form-item>
-                    </el-col>
-                
-                    <el-col :span="6" >
-                        <el-form-item label="交易类型:">
-                            <el-select v-model="formQuery.transactionType" size="small" clearable placeholder="请选择">
-                                <el-option v-for="item in moneyAttrTypeoptions" :key="item.dictValue"
-                                    :disabled="item.disabled" :label="item.dictTag" :value="item.dictValue">
-                                </el-option>
-                            </el-select>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="6">
-                        <el-form-item label="时间筛选类型:">
-                            <el-select v-model="formQuery.dateQueryType" clearable size="small" placeholder="请选择">
-                                <el-option v-for="item in Timefilteringtype" :key="item.value" :label="item.label"
-                                    :value="item.value">
-                                </el-option>
-                            </el-select>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="6">
-                        <el-form-item label="筛选日期:">
-                            <el-date-picker v-model="formQuery.datetime" type="datetimerange" range-separator="至"
-                                style="width:230px" value-format="yyyy-MM-dd" start-placeholder="开始日期"
-                                end-placeholder="结束日期">
-                            </el-date-picker>
-                        </el-form-item>
-                        <el-form-item>
-                            <el-button type="primary" @click="onSubmit">查询</el-button>
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-            </el-form>
-            <el-table size="small" :data="tableData" height="500" border highlight-current-row stripe :header-cell-style="{
-                background: '#F2F7FC',
-                fontWeight: '700',
-                color: '#606266',
-            }">
-                <template>
-                    <el-table-column prop="subOrderNo" label="订单编号" align="center"></el-table-column>
-                    <el-table-column prop="createTime" label="交易时间" align="center"></el-table-column>
-                    <el-table-column prop="auditiingId" label="交易号" align="center"></el-table-column>
-                    <el-table-column prop="auditingStatus" label="提现状态" align="center"></el-table-column>
-                    <el-table-column prop="licenseNo" label="车牌号" align="center"></el-table-column>
-                    <el-table-column prop="businessSegmentsType" label="业务板块" align="center">
-                        <template slot-scope="scope">
-                            <span>{{ screenType( 'businessSegmentsSZType',
-                                scope.row.businessSegmentsType) }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="transactionType" label="交易类型" align="center">
-                        <template slot-scope="scope">
-                            <span>{{ screenType('moneyAttrType', scope.row.transactionType) }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="incomeAndExpensesType" label="收支类型" align="center">
-                        <template slot-scope="scope">
-                            <span>{{ screenType('incomeAndExpensesType', scope.row.incomeAndExpensesType) }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="amount" label="交易金额" align="center"></el-table-column>
-                </template>
-                <el-table-column label="操作" align="center" width="200" fixed="right">
-                    <template slot-scope="scope">
-                        <el-button v-if="scope.row.transactionType == '1'" size="small" type="primary"
-                            @click="OrderDetails(scope.$index, scope.row)">详情</el-button>
-                        <el-button v-else size="small" type="primary"
-                            @click="regularDetails(scope.$index, scope.row)">详情</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <el-pagination @size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper"
-                @current-change="refreshPageRequest" :current-page="formQuery.pageNum" :page-size="formQuery.pageSize"
-                :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]" :total="formQuery.totalSize">
-            </el-pagination>
-        </div>
-        <!-- 车辆报价新页面 -->
-        <detailsDialog ref="detailsDialog" :orderInfo.sync="orderInfo" :Feepermissions="false"></detailsDialog>
-        <el-dialog title="账单详情" :visible.sync="detailsVisible" width="25%">
-            <div class="flex f-c j-s">
-                <template v-if="orderDetail.transactionType == '3'">
-                    <div class="dialogCentent flex f-c">
-                        <h2>业务收入提现到银行卡</h2>
-                        <p class="withdraw-alAmount">¥{{ tixianDetails.withdrawalAmount }}</p>
-                        <div style="height: 170px;" v-if="tixianDetails.record && tixianDetails.record.length > 0">
-                            <el-steps direction="vertical" :active="tixianDetails.active" class="tixianDetails-steps">
-                                <el-step :icon="val.processingStatus == '3' ? 'el-icon-error' : 'el-icon-success'"
-                                    :description="val.processingDate" :title="val.processingStatusName"
-                                    v-for="val in tixianDetails.record" :key="val.processingStatus"></el-step>
-                            </el-steps>
-                        </div>
-                    </div>
-                    <div class="dialogCentent flex f-c" style="margin-top:10px">
-                        <span v-if="tixianDetails.transactionNumber">交易编号: <span style="color: #333;">{{
-                            tixianDetails.transactionNumber }}</span> </span>
-                        <span v-if="tixianDetails.applicationDate">申请时间: <span style="color: #333;">{{
-                            tixianDetails.applicationDate
-                        }}</span> </span>
-                        <span v-if="tixianDetails.paymentDate">到账时间: <span style="color: #333;">{{ tixianDetails.paymentDate
-                        }}</span>
-                        </span>
-                        <span v-if="tixianDetails.bankNumber">提现账户: <span style="color: #333;">{{ tixianDetails.bankNumber
-                        }}</span>
-                        </span>
-                        <span v-if="tixianDetails.bankAccount">提现银行 <span style="color: #333;">{{ tixianDetails.bankAccount
-                        }}</span>
-                        </span>
-                    </div>
-                </template>
-                <template v-if="orderDetail.transactionType == '2'">
-                    <div>
-                        <div class="dialogCentent flex f-c  totalsum">
-                            <span>推广费</span>
-                            <span>{{ tuiguangDetails.amount }}</span>
-                        </div>
-                        <div class=" flex f-c  dialogCentent" style="margin-top:10px">
-                            <span v-if="tuiguangDetails.subOrderId">订单编号: <span style="color: #333;">{{
-                                tuiguangDetails.subOrderId
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.signingTime">承保时间: <span style="color: #333;">{{
-                                tuiguangDetails.signingTime
-                            }}</span> </span>
-                            <span v-if="tuiguangDetails.licenseNo">车牌号: <span style="color: #333;">{{
-                                tuiguangDetails.licenseNo
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.jypremium">驾意险: <span style="color: #333;">¥{{
-                                tuiguangDetails.jypremium
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.jqpremium">交强险: <span style="color: #333;">¥{{
-                                tuiguangDetails.jqpremium
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.sypremium">商业险: <span style="color: #333;">¥{{
-                                tuiguangDetails.sypremium
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.agentName">代理人姓名: <span style="color: #333;">{{
-                                tuiguangDetails.agentName
-                            }}</span>
-                            </span>
-                            <span v-if="tuiguangDetails.agentLevel">代理人级别: <span style="color: #333;">{{
-                                tuiguangDetails.agentLevel
-                            }}</span> </span>
-                        </div>
-                    </div>
-                </template>
-                <template v-if="orderDetail.transactionType == '4'">
-                    <div>
-                        <div class="dialogCentent flex f-c  totalsum">
-                            <span>退款</span>
-                            <span>{{ tuikuanDetails.refundAmount }}</span>
-                        </div>
-                        <div class=" flex f-c  dialogCentent" style="margin-top:10px">
-                            <span v-if="tuikuanDetails.transactionNumber">订单编号: <span style="color: #333;">{{
-                                tuikuanDetails.transactionNumber
-                            }}</span>
-                            </span>
-                            <span v-if="tuikuanDetails.refundTime">退款时间: <span style="color: #333;">{{
-                                tuikuanDetails.refundTime
-                            }}</span> </span>
-                        </div>
-                    </div>
-                </template>
+  <div class="p-2">
+    <el-form label-width="100px" :model="formQuery" class="demo-form-inline">
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="交易类型:">
+            <el-select v-model="formQuery.transactionType" size="small" clearable placeholder="请选择" style="width: 100%;">
+              <el-option v-for="item in moneyAttrTypeoptions" :key="item.dictValue" :disabled="item.disabled"
+                :label="item.dictTag" :value="item.dictValue">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="车牌号">
+            <el-input size="small" v-model="formQuery.licenseNo" placeholder="请输入车牌号"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="时间类型">
+            <el-select v-model="formQuery.dateQueryType" clearable size="small" placeholder="请选择时间类型"
+              style="width: 100%;">
+              <el-option v-for="item in Timefilteringtype" :key="item.value" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="筛选日期">
+            <el-date-picker size="small" v-model="formQuery.datetime" type="datetimerange" range-separator="至"
+              style="width: 100%;" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+          <!-- <el-form-item>
+            <el-button size="small" type="primary" @click="onSubmit">查询</el-button>
+          </el-form-item> -->
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="收支状态">
+            <el-radio-group size="small" v-model="formQuery.incomeAndExpensesType" @input="getMoneyAttrType">
+              <el-radio v-for="val in incomeAndExpensesTypeoptions" :key="val.dictValue" :label="val.dictValue">{{
+                val.dictTag
+              }}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="业务板块:">
+            <el-radio-group size="small" v-model="formQuery.businessSegmentsType" @input="getbusinessSegmentsTypeType">
+              <el-radio v-for="val in  businessSegmentsSZTypeoptions" :key="val.dictValue" :label="val.dictValue">{{
+                val.dictTag
+              }}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="3" :offset="9" class="flex j-end">
+          <el-button size="small" type="primary" style="background-color: #2D4D89;border-color:#2D4D89;" @click="exportDetails">导出</el-button>
+          <el-button size="small" type="primary" @click="onSubmit">查询</el-button>
+        </el-col>
+      </el-row>
+    </el-form>
+    <el-table size="small" :data="tableData" height="630" border highlight-current-row stripe :header-cell-style="{
+      background: '#F2F7FC',
+      fontWeight: '700',
+      color: '#606266',
+    }">
+      <template>
+        <el-table-column prop="subOrderNo" label="订单编号" align="center"></el-table-column>
+        <el-table-column prop="createTime" label="交易时间" align="center"></el-table-column>
+        <el-table-column prop="auditiingId" label="交易号" align="center"></el-table-column>
+        <el-table-column prop="licenseNo" label="车牌号" align="center"></el-table-column>
+        <el-table-column prop="businessSegmentsType" label="业务板块" align="center">
+          <template slot-scope="scope">
+            <span>{{ screenType('businessSegmentsSZType',
+              scope.row.businessSegmentsType) }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="transactionType" label="交易类型" align="center">
+          <template slot-scope="scope">
+            <span>{{ screenType('moneyAttrType', scope.row.transactionType) }}</span>
+          </template>
+        </el-table-column>
 
 
+        <el-table-column prop="amount" label="交易金额" align="center">
+          <template slot-scope="scope">
+          <span v-if="scope.row.transactionType=='3'" style="color: #0052FF;">-{{ scope.row.amount }}</span>
+          <span v-else >+{{ scope.row.amount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="auditingStatus" label="提现状态" align="center">
+          <template slot-scope="scope" v-if="scope.row.transactionType=='3'">
+            <el-tag v-if="scope.row.auditingStatus=='提现中'" type="warning">{{scope.row.auditingStatus}}</el-tag>
+            <el-tag v-if="scope.row.auditingStatus=='已提现'" type="success">{{scope.row.auditingStatus}}</el-tag>
+            <el-tag v-if="scope.row.auditingStatus=='已驳回'" type="danger">{{scope.row.auditingStatus}}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="incomeAndExpensesType" label="收支类型" align="center">
+          <template slot-scope="scope">
+            <span>{{ screenType('incomeAndExpensesType', scope.row.incomeAndExpensesType) }}</span>
+          </template>
+        </el-table-column>
+      </template>
+      <el-table-column label="操作" align="center" width="200" fixed="right">
+        <template slot-scope="scope">
+          <el-button v-if="scope.row.transactionType == '1'" size="small" type="text"
+            @click="OrderDetails(scope.$index, scope.row)">详情</el-button>
+          <el-button v-else size="small" type="text" @click="regularDetails(scope.$index, scope.row)">详情</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination background style="margin-top: 10px;" @size-change="handleSizeChange"
+      layout="total, sizes, prev, pager, next, jumper" @current-change="refreshPageRequest"
+      :current-page="formQuery.pageNum" :page-size="formQuery.pageSize"
+      :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]" :total="formQuery.totalSize">
+    </el-pagination>
+    <!-- 车辆报价新页面 -->
+    <detailsDialog ref="detailsDialog" :orderInfo.sync="orderInfo" :Feepermissions="false"></detailsDialog>
+    <el-dialog title="账单详情" :visible.sync="detailsVisible" width="25%">
+      <div class="flex f-c j-s">
+        <template v-if="orderDetail.transactionType == '3'">
+          <div class="dialogCentent flex f-c">
+            <h2>业务收入提现到银行卡</h2>
+            <p class="withdraw-alAmount">¥{{ tixianDetails.withdrawalAmount }}</p>
+            <div style="height: 170px;" v-if="tixianDetails.record && tixianDetails.record.length > 0">
+              <el-steps direction="vertical" :active="tixianDetails.active" class="tixianDetails-steps">
+                <el-step :icon="val.processingStatus == '3' ? 'el-icon-error' : 'el-icon-success'"
+                  :description="val.processingDate" :title="val.processingStatusName" v-for="val in tixianDetails.record"
+                  :key="val.processingStatus"></el-step>
+              </el-steps>
             </div>
             </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button size="small" @click="detailsVisible = false">取 消</el-button>
+          </div>
+          <div class="dialogCentent flex f-c" style="margin-top:10px">
+            <span v-if="tixianDetails.transactionNumber">交易编号: <span style="color: #333;">{{
+              tixianDetails.transactionNumber }}</span> </span>
+            <span v-if="tixianDetails.applicationDate">申请时间: <span style="color: #333;">{{
+              tixianDetails.applicationDate
+            }}</span> </span>
+            <span v-if="tixianDetails.paymentDate">到账时间: <span style="color: #333;">{{ tixianDetails.paymentDate
+            }}</span>
+            </span>
+            <span v-if="tixianDetails.bankNumber">提现账户: <span style="color: #333;">{{ tixianDetails.bankNumber
+            }}</span>
             </span>
             </span>
-        </el-dialog>
-    </div>
+            <span v-if="tixianDetails.bankAccount">提现银行 <span style="color: #333;">{{ tixianDetails.bankAccount
+            }}</span>
+            </span>
+          </div>
+        </template>
+        <template v-if="orderDetail.transactionType == '2'">
+          <div>
+            <div class="dialogCentent flex f-c  totalsum">
+              <span>推广费</span>
+              <span>{{ tuiguangDetails.amount }}</span>
+            </div>
+            <div class=" flex f-c  dialogCentent" style="margin-top:10px">
+              <span v-if="tuiguangDetails.subOrderId">订单编号: <span style="color: #333;">{{
+                tuiguangDetails.subOrderId
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.signingTime">承保时间: <span style="color: #333;">{{
+                tuiguangDetails.signingTime
+              }}</span> </span>
+              <span v-if="tuiguangDetails.licenseNo">车牌号: <span style="color: #333;">{{
+                tuiguangDetails.licenseNo
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.jypremium">驾意险: <span style="color: #333;">¥{{
+                tuiguangDetails.jypremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.jqpremium">交强险: <span style="color: #333;">¥{{
+                tuiguangDetails.jqpremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.sypremium">商业险: <span style="color: #333;">¥{{
+                tuiguangDetails.sypremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.agentName">代理人姓名: <span style="color: #333;">{{
+                tuiguangDetails.agentName
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.agentLevel">代理人级别: <span style="color: #333;">{{
+                tuiguangDetails.agentLevel
+              }}</span> </span>
+            </div>
+          </div>
+        </template>
+        <template v-if="orderDetail.transactionType == '4'">
+          <div>
+            <div class="dialogCentent flex f-c  totalsum">
+              <span>退款</span>
+              <span>{{ tuikuanDetails.refundAmount }}</span>
+            </div>
+            <div class=" flex f-c  dialogCentent" style="margin-top:10px">
+              <span v-if="tuikuanDetails.transactionNumber">订单编号: <span style="color: #333;">{{
+                tuikuanDetails.transactionNumber
+              }}</span>
+              </span>
+              <span v-if="tuikuanDetails.refundTime">退款时间: <span style="color: #333;">{{
+                tuikuanDetails.refundTime
+              }}</span> </span>
+            </div>
+          </div>
+        </template>
+
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="detailsVisible = false">取 消</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
 </template>
   <!-- 行为区域 -->
   <!-- 行为区域 -->
 <script>
 <script>
@@ -214,466 +219,490 @@ import Cookies from "js-cookie";
 import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 
 
 export default {
 export default {
-    components: {
-        KtCommonTable,
-        detailsDialog
-    },
-    // 数据存放区域
-    data() {
-        return {
-            orderInfo: {
-                //选中的订单
-                ownerinfo: {},
-                carinfo: {},
-                applyinfo: {},
-                insureinfo: {},
-                kindinfo: [],
-                riskinfo: [],
-                ownerinfo: {},
-                orderCommissionVo: {},
-                extendInfo: {}
-            },
-            is_post: false,
-            lowest: 20,
-            detailsVisible: false,//详情弹窗
-            pageResult: {},
-            tableData: [],
-            orderDetail: {},//提现详情
-            tuiguangDetails: {},//推广预收/实收详情
-            tixianDetails: {},//提现详情
-            tuikuanDetails: {},
-            formQuery: {
-                pageNum: 1,
-                pageSize: 20,
-                totalSize: 0,
-                businessSegmentsType: '0',
-                incomeAndExpensesType: '0',
-                transactionType: '0'
-            },
-            searchType: "",
-            userId: Cookies.get("user"),
-            orderInfo: {
-                //选中的订单
-                ownerinfo: {},
-                carinfo: {},
-                applyinfo: {},
-                insureinfo: {},
-                kindinfo: [],
-                riskinfo: [],
-                ownerinfo: {},
-                orderCommissionVo: {},
-                extendInfo: {}
-            },
-            incomeAndExpensesTypeoptions: [],
-            businessSegmentsSZTypeoptions: [],
-            moneyAttrTypeoptions: [],
-            Timefilteringtype: [
-                {
-                    value: '0',
-                    label: '全部'
-                }, {
-                    value: '1',
-                    label: '一周内'
-                }, {
-                    value: '2',
-                    label: '一月内'
-                }, {
-                    value: '3',
-                    label: '三月内'
-                }, {
-                    value: '4',
-                    label: '六月内'
-                },
-            ]
-        }
-    },
+  components: {
+    KtCommonTable,
+    detailsDialog
+  },
+  // 数据存放区域
+  data() {
+    return {
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        orderCommissionVo: {},
+        extendInfo: {}
+      },
+      is_post: false,
+      lowest: 20,
+      detailsVisible: false,//详情弹窗
+      pageResult: {},
+      tableData: [],
+      orderDetail: {},//提现详情
+      tuiguangDetails: {},//推广预收/实收详情
+      tixianDetails: {},//提现详情
+      tuikuanDetails: {},
+      formQuery: {
+        licenseNo: "",
+        pageNum: 1,
+        pageSize: 20,
+        totalSize: 0,
+        businessSegmentsType: '0',
+        incomeAndExpensesType: '0',
+        transactionType: '0'
+      },
+      searchType: "",
+      userId: Cookies.get("user"),
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        orderCommissionVo: {},
+        extendInfo: {}
+      },
+      incomeAndExpensesTypeoptions: [],
+      businessSegmentsSZTypeoptions: [],
+      moneyAttrTypeoptions: [],
+      Timefilteringtype: [
+        {
+          value: '0',
+          label: '全部'
+        }, {
+          value: '1',
+          label: '一周内'
+        }, {
+          value: '2',
+          label: '一月内'
+        }, {
+          value: '3',
+          label: '三月内'
+        }, {
+          value: '4',
+          label: '六月内'
+        },
+      ]
+    }
+  },
 
 
-    // 生命周期函数
-    created() {
-        this.FindPage();
-        this.getDicType("businessSegmentsType"); //业务板块
-        this.getDicType("transactionType"); //预收收入类型
-        this.getDicType("incomeAndExpensesType"); //收支类型
-        this.getDicType("moneyAttrType"); //交易类型
-        this.getDicType("businessSegmentsSZType"); // 收支业务板块
-    
+  // 生命周期函数
+  created() {
+    this.FindPage();
+    this.getDicType("businessSegmentsType"); //业务板块
+    this.getDicType("transactionType"); //预收收入类型
+    this.getDicType("incomeAndExpensesType"); //收支类型
+    this.getDicType("moneyAttrType"); //交易类型
+    this.getDicType("businessSegmentsSZType"); // 收支业务板块
+
+  },
+  // 方法函数
+  methods: {
+    exportDetails() {
+      this.$api.letter.exportMyIncomeAndExpensesNewByUserId({ ...this.formQuery, userId: this.userId }).then((res) => {
+        if (res.code == '200') {
+          let url = process.env.BASE_URL + res.msg; // 3.创建一个临时的url指向blob对象
+          let a = document.createElement("a");
+          a.href = url;
+          a.download = "导出文件.xlsx";
+          a.click();
+          window.URL.revokeObjectURL(url);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
     },
     },
-    // 方法函数
-    methods: {
-        OrderDetails(index, row) {
-            for (let i = 0; i < this.global.insureList.length; i++) {
-                this.global.insureList[i].coveragePremium = "";
-                this.global.insureList[i].amount = 0;
-            }
-            let params = {
-                companyId: row.subOrderNo
-            };
-            this.$api.letter.getByCompanyId(params).then(res => {
-                if (res.code == 200) {
-                    this.licenseNo = res.data.licenseno; //车牌号
-                    this.inscompany = res.data.inscompany; //保险公司
-                    if (res.data.accidentInfo) {
-                        res.data.accidentInfo.constructor === Object
-                            ? [res.data.accidentInfo]
-                            : res.data.accidentInfo;
+    OrderDetails(index, row) {
+      for (let i = 0; i < this.global.insureList.length; i++) {
+        this.global.insureList[i].coveragePremium = "";
+        this.global.insureList[i].amount = 0;
+      }
+      let params = {
+        companyId: row.subOrderNo
+      };
+      this.$api.letter.getByCompanyId(params).then(res => {
+        if (res.code == 200) {
+          this.licenseNo = res.data.licenseno; //车牌号
+          this.inscompany = res.data.inscompany; //保险公司
+          if (res.data.accidentInfo) {
+            res.data.accidentInfo.constructor === Object
+              ? [res.data.accidentInfo]
+              : res.data.accidentInfo;
+          }
+          Object.assign(this.orderInfo, res.data);
+          if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
+            for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
+              if (this.orderInfo.riskinfo[i].riskCode == "0510") {
+                for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
+                  for (let m = 0; m < this.global.insureList.length; m++) {
+                    if (
+                      this.orderInfo.kindinfo[j].kindCode ==
+                      this.global.insureList[m].kindCode
+                    ) {
+                      this.global.insureList[
+                        m
+                      ].coveragePremium = this.orderInfo.kindinfo[
+                        j
+                      ].coveragePremium;
+                      if (this.orderInfo.kindinfo[j].kindCode == "B") {
+                        this.global.insureList[9].amtList[0].value = this.orderInfo.kindinfo[
+                          j
+                        ].amount;
+                      }
+                      if (this.orderInfo.kindinfo[j].kindCode == "A") {
+                        this.global.insureList[m].amount = "1";
+                      } else if (this.global.insureList[m].kindCode == "D4") {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].unitAmount;
+                      } else if (
+                        this.global.insureList[m].isMainRisk ||
+                        this.global.insureList[m].kindCode == "BD" ||
+                        this.global.insureList[m].kindCode == "L"
+                      ) {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].amount;
+                      } else {
+                        this.global.insureList[
+                          m
+                        ].amount = this.orderInfo.kindinfo[j].deductibleRate;
+                      }
                     }
                     }
-                    Object.assign(this.orderInfo, res.data);
-                    if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
-                        for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
-                            if (this.orderInfo.riskinfo[i].riskCode == "0510") {
-                                for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
-                                    for (let m = 0; m < this.global.insureList.length; m++) {
-                                        if (
-                                            this.orderInfo.kindinfo[j].kindCode ==
-                                            this.global.insureList[m].kindCode
-                                        ) {
-                                            this.global.insureList[
-                                                m
-                                            ].coveragePremium = this.orderInfo.kindinfo[
-                                                j
-                                            ].coveragePremium;
-                                            if (this.orderInfo.kindinfo[j].kindCode == "B") {
-                                                this.global.insureList[9].amtList[0].value = this.orderInfo.kindinfo[
-                                                    j
-                                                ].amount;
-                                            }
-                                            if (this.orderInfo.kindinfo[j].kindCode == "A") {
-                                                this.global.insureList[m].amount = "1";
-                                            } else if (this.global.insureList[m].kindCode == "D4") {
-                                                this.global.insureList[
-                                                    m
-                                                ].amount = this.orderInfo.kindinfo[j].unitAmount;
-                                            } else if (
-                                                this.global.insureList[m].isMainRisk ||
-                                                this.global.insureList[m].kindCode == "BD" ||
-                                                this.global.insureList[m].kindCode == "L"
-                                            ) {
-                                                this.global.insureList[
-                                                    m
-                                                ].amount = this.orderInfo.kindinfo[j].amount;
-                                            } else {
-                                                this.global.insureList[
-                                                    m
-                                                ].amount = this.orderInfo.kindinfo[j].deductibleRate;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    this.$refs.detailsDialog.setBackupVisible(true);
-                } else {
-                    this.$message.error("订单获取失败");
+                  }
                 }
                 }
+              }
+            }
+          }
+          this.$refs.detailsDialog.setBackupVisible(true);
+        } else {
+          this.$message.error("订单获取失败");
+        }
+      });
+    },
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then((res) => {
+        if (res.code == 200 && res.data) {
+          this[type + "options"] = res.data.ddList;
+          if (type == 'moneyAttrType') {
+            this.getMoneyAttrType('0')
+          }
+        }
+        else {
+          this[type + "options"] = []
+        }
+      });
+    },
+    getMoneyAttrType(e) {
+      this.formQuery.transactionType = ''
+      if (e == 0) {
+        this.moneyAttrTypeoptions.map(val => val.disabled = false)
+      }
+      if (e == 1) {
+        this.moneyAttrTypeoptions.map(val => {
+          if (val.dictValue == '0' || val.dictValue == '3') {
+            val.disabled = true
+          }
+          else {
+            val.disabled = false
+          }
+        })
+      }
+      if (e == 2) {
+        this.moneyAttrTypeoptions.map(val => {
+          if (val.dictValue == '3') {
+            val.disabled = false
+          }
+          else {
+            val.disabled = true
+          }
+        })
+      }
+    },
+    getbusinessSegmentsTypeType(val) {
+      if (val == 2) {
+        this.formQuery.transactionType = '4'
+        this.formQuery.incomeAndExpensesType = '1'
+      }
+    },
+    regularDetails(index, row) {
+      let obj = Object.assign({}, row);
+      this.orderDetail = obj;
+      if (row.transactionType == "2") {
+        this.$api.letter.getSubOrderDetails(row.subOrderNo).then((res) => {
+          if (res.code == '200') {
+            this.tuiguangDetails = res.data;
+            this.tuiguangDetails.amount = row.amount;
+            this.detailsVisible = true;
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.msg,
             });
             });
-        },
-        getDicType(type) {
-            this.$api.insCompany.dicType(type).then((res) => {
-                if (res.code == 200 && res.data) {
-                    this[type + "options"] = res.data.ddList;
-                    if (type == 'moneyAttrType') {
-                        this.getMoneyAttrType('0')
-                    }
-                }
-                else {
-                    this[type + "options"] = []
-                }
+          }
+        });
+      }
+      if (row.transactionType == "3") {
+        this.$api.letter.findDetailById(row.id).then((res) => {
+          if (res.code == '200') {
+            res.data.record.forEach((val, index) => {
+              if (!val.processingStatusFlag) {
+                res.data.active = index
+              }
+              else {
+                res.data.active = res.data.record.length
+              }
+            })
+            this.tixianDetails = res.data;
+            this.detailsVisible = true;
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.msg,
             });
             });
-        },
-        getMoneyAttrType(e) {
-            this.formQuery.transactionType = ''
-            if (e == 0) {
-                this.moneyAttrTypeoptions.map(val => val.disabled = false)
-            }
-            if (e == 1) {
-                this.moneyAttrTypeoptions.map(val => {
-                    if (val.dictValue == '0' || val.dictValue == '3') {
-                        val.disabled = true
-                    }
-                    else {
-                        val.disabled = false
-                    }
-                })
-            }
-            if (e == 2) {
-                this.moneyAttrTypeoptions.map(val => {
-                    if (val.dictValue == '3') {
-                        val.disabled = false
-                    }
-                    else {
-                        val.disabled = true
-                    }
-                })
-            }
-        },
-        getbusinessSegmentsTypeType(val) {
-            if ( val == 2) {
-                this.formQuery.transactionType = '4'
-                this.formQuery.incomeAndExpensesType = '1'
-            }
-        },
-        regularDetails(index, row) {
-            let obj = Object.assign({}, row);
-            this.orderDetail = obj;
-            if (row.transactionType == "2") {
-                this.$api.letter.getSubOrderDetails(row.subOrderNo).then((res) => {
-                    if (res.code == '200') {
-                        this.tuiguangDetails = res.data;
-                        this.tuiguangDetails.amount = row.amount;
-                        this.detailsVisible = true;
-                    } else {
-                        this.$message({
-                            type: 'error',
-                            message: res.msg,
-                        });
-                    }
-                });
-            }
-            if (row.transactionType == "3") {
-                this.$api.letter.findDetailById(row.id).then((res) => {
-                    if (res.code == '200') {
-                        res.data.record.forEach((val, index) => {
-                            if (!val.processingStatusFlag) {
-                                res.data.active = index
-                            }
-                            else {
-                                res.data.active = res.data.record.length
-                            }
-                        })
-                        this.tixianDetails = res.data;
-                        this.detailsVisible = true;
-                    } else {
-                        this.$message({
-                            type: 'error',
-                            message: res.msg,
-                        });
-                    }
-                });
-            }
-            if (row.transactionType == "4") {
-                this.$api.letter.findRefundDetailById(row.id).then((res) => {
-                    if (res.code == '200') {
-                        this.tuikuanDetails = res.data;
-                        this.detailsVisible = true;
-                    } else {
-                        this.$message({
-                            type: 'error',
-                            message: res.msg,
-                        });
-                    }
-                });
-            }
-        },
+          }
+        });
+      }
+      if (row.transactionType == "4") {
+        this.$api.letter.findRefundDetailById(row.id).then((res) => {
+          if (res.code == '200') {
+            this.tuikuanDetails = res.data;
+            this.detailsVisible = true;
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.msg,
+            });
+          }
+        });
+      }
+    },
 
 
-        onSubmit() {
-            if (
-                this.formQuery.datetime == undefined ||
-                this.formQuery.datetime == null ||
-                this.formQuery.datetime == ""
-            ) {
-                (this.formQuery.startDate = ""),
-                    (this.formQuery.endDate = "");
-            } else {
-                this.formQuery.startDate = this.formQuery.datetime[0];
-                this.formQuery.endDate = this.formQuery.datetime[1];
-            }
-            this.formQuery.pageNum = 1
-            this.FindPage()
-        },
+    onSubmit() {
+      if (
+        this.formQuery.datetime == undefined ||
+        this.formQuery.datetime == null ||
+        this.formQuery.datetime == ""
+      ) {
+        (this.formQuery.startDate = ""),
+          (this.formQuery.endDate = "");
+      } else {
+        this.formQuery.startDate = this.formQuery.datetime[0];
+        this.formQuery.endDate = this.formQuery.datetime[1];
+      }
+      this.formQuery.pageNum = 1
+      this.FindPage()
+    },
 
 
-        screenType(option, val) {
-            if (val) {
-                return this[option + "options"].find(item => {
-                    return item.dictValue === val;
-                }).dictTag;
-            }
+    screenType(option, val) {
+      if (val) {
+        return this[option + "options"].find(item => {
+          return item.dictValue === val;
+        }).dictTag;
+      }
 
 
-        },
-        //产品分页json
-        FindPage() {
-            const loading = this.$loading({
-                lock: true,
-                text: 'Loading',
-                spinner: 'el-icon-loading',
-                background: 'rgba(0, 0, 0, 0.7)'
-            });
-           
-                this.$api.letter.findMyIncomeAndExpensesByUserId({ ...this.formQuery, userId: this.userId }).then((res) => {
-                    if (res.code == '200') {
-                        this.pageResult = res.data;
-                        this.tableData = res.data.data.content
-                        this.formQuery.pageNum = res.data.data.pageNum,
-                            this.formQuery.pageSize = res.data.data.pageSize,
-                            this.formQuery.totalSize = res.data.data.totalSize,
-                            loading.close();
-                    } else {
-                        loading.close();
-                        this.tableData = []
-                        this.$message({
-                            type: 'error',
-                            message: res.msg,
-                        });
-                    }
-                });
+    },
+    //产品分页json
+    FindPage() {
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      this.$api.letter.findMyIncomeAndExpensesNewByUserId({ ...this.formQuery, userId: this.userId }).then((res) => {
+        if (res.code == '200') {
+          this.pageResult = res.data;
+          this.tableData = res.data.content;
+          this.formQuery.pageNum = res.data.pageNum;
+          this.formQuery.pageSize = res.data.pageSize;
+          this.formQuery.totalSize = res.data.totalSize;
+          loading.close();
+        } else {
+          loading.close();
+          this.tableData = []
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
 
 
-        },
-        back() {
-            this.$router.push({
-                path: "fundsWallet",
-            });
-        },
-        transformTime(day) {
-            var date = new Date();
-            date.setFullYear(date.getFullYear());
-            date.setTime(date.getTime());
-            var strYear = date.getFullYear();
-            var strDay = day ? date.getDate() - day : date.getDate();
-            var strMonth = date.getMonth() + 1;
-            if (strMonth < 10) {
-                strMonth = "0" + strMonth;
-            }
-            if (strDay < 10) {
-                strDay = "0" + strDay;
-            }
-            var datastr = strYear + "-" + strMonth + "-" + strDay;
-            return datastr;
-        },
-        refreshPageRequest(val) {
-            this.formQuery.pageNum = val
-            this.FindPage()
-        },
-        handleSizeChange(val) {
-            this.formQuery.pageSize = val
-            this.FindPage()
-        },
     },
     },
-    // 计算属性
-    computed: {
-    }
+    back() {
+      this.$router.push({
+        path: "fundsWallet",
+      });
+    },
+    transformTime(day) {
+      var date = new Date();
+      date.setFullYear(date.getFullYear());
+      date.setTime(date.getTime());
+      var strYear = date.getFullYear();
+      var strDay = day ? date.getDate() - day : date.getDate();
+      var strMonth = date.getMonth() + 1;
+      if (strMonth < 10) {
+        strMonth = "0" + strMonth;
+      }
+      if (strDay < 10) {
+        strDay = "0" + strDay;
+      }
+      var datastr = strYear + "-" + strMonth + "-" + strDay;
+      return datastr;
+    },
+    refreshPageRequest(val) {
+      this.formQuery.pageNum = val
+      this.FindPage()
+    },
+    handleSizeChange(val) {
+      this.formQuery.pageSize = val
+      this.FindPage()
+    },
+  },
+  // 计算属性
+  computed: {
+  }
 }
 }
 </script>
 </script>
   <!-- 样式区域 -->
   <!-- 样式区域 -->
 <style lang='scss' scoped>
 <style lang='scss' scoped>
 /deep/ {
 /deep/ {
-    .el-dialog__body {
-        background: #F2F2F2;
-    }
+  .el-pagination.is-background .el-pager li:not(.disabled).active {
+    background-color: #2D4D89;
+  }
+  .el-form-item {
+    margin-bottom: 8px;
+  }
 
 
-    .el-dialog__footer {
-        padding: 10px;
-    }
+  .el-dialog__body {
+    background: #F2F2F2;
+  }
 
 
-    .tixianDetails-steps {
-        .el-step__head.is-finish {
-            color: #229805;
-            border-color: #ccc;
+  .el-dialog__footer {
+    padding: 10px;
+  }
 
 
-            .el-step__icon>.el-icon-error {
-                color: red
-            }
-        }
+  .tixianDetails-steps {
+    .el-step__head.is-finish {
+      color: #229805;
+      border-color: #ccc;
 
 
-        .el-step__title.is-finish,
-        .el-step__description.is-finish {
-            color: #333;
-            font-size: 14px;
-        }
+      .el-step__icon>.el-icon-error {
+        color: red
+      }
+    }
 
 
+    .el-step__title.is-finish,
+    .el-step__description.is-finish {
+      color: #333;
+      font-size: 14px;
     }
     }
+
+  }
 }
 }
 
 
 .withdrawalinput {
 .withdrawalinput {
-    border: none;
+  border: none;
 }
 }
 
 
 #body {
 #body {
-    padding: 0 24px;
+  padding: 0 24px;
 }
 }
 
 
 .content {
 .content {
-    padding: 5px 24px 20px 24px;
-
-    .header {
-        width: 100%;
-        height: 108px;
-        background: #F5F6F8;
-        border-radius: 12px 12px 12px 12px;
-        padding: 15px 40px;
-        box-sizing: border-box;
-
-        >div {
-            width: 25%;
-            height: 100%;
-
-            span:nth-child(2) {
-                font-family: DIN, DIN;
-                font-size: 28px;
-                font-weight: bold;
-            }
-        }
+  padding: 5px 24px 20px 24px;
 
 
-        .sum {
-            border-right: 1px solid #D7DBE7;
-            box-sizing: border-box;
-            padding-right: 80px;
+  .header {
+    width: 100%;
+    height: 108px;
+    background: #F5F6F8;
+    border-radius: 12px 12px 12px 12px;
+    padding: 15px 40px;
+    box-sizing: border-box;
 
 
-            span:nth-child(1) {
-                font-family: DIN, DIN;
-                font-size: 20px;
-                color: rgba(51, 51, 51, 0.8);
-            }
-        }
+    >div {
+      width: 25%;
+      height: 100%;
+
+      span:nth-child(2) {
+        font-family: DIN, DIN;
+        font-size: 28px;
+        font-weight: bold;
+      }
+    }
+
+    .sum {
+      border-right: 1px solid #D7DBE7;
+      box-sizing: border-box;
+      padding-right: 80px;
+
+      span:nth-child(1) {
+        font-family: DIN, DIN;
+        font-size: 20px;
+        color: rgba(51, 51, 51, 0.8);
+      }
     }
     }
+  }
 }
 }
 
 
 .dialogCentent,
 .dialogCentent,
 .dialoglist,
 .dialoglist,
 .dialoginput {
 .dialoginput {
-    background: #FFFFFF;
-    border-radius: 4px 4px 4px 4px;
-    padding: 10px;
+  background: #FFFFFF;
+  border-radius: 4px 4px 4px 4px;
+  padding: 10px;
 
 
-    >span {
-        font-family: PingFang SC, PingFang SC;
-        font-weight: 500;
-        font-size: 13px;
-        margin-bottom: 10px;
-        color: rgba(51, 51, 51, 0.8);
-    }
+  >span {
+    font-family: PingFang SC, PingFang SC;
+    font-weight: 500;
+    font-size: 13px;
+    margin-bottom: 10px;
+    color: rgba(51, 51, 51, 0.8);
+  }
 }
 }
 
 
 .totalsum {
 .totalsum {
-    margin-bottom: 15px;
+  margin-bottom: 15px;
 
 
-    >span {
-        font-weight: bold;
-        font-size: 16px;
-        color: #333333;
-    }
+  >span {
+    font-weight: bold;
+    font-size: 16px;
+    color: #333333;
+  }
 
 
-    >span:nth-child(2) {
-        font-size: 30px;
-        color: #FF5600;
-        font-weight: bold;
-    }
+  >span:nth-child(2) {
+    font-size: 30px;
+    color: #FF5600;
+    font-weight: bold;
+  }
 }
 }
 
 
 .amount-money {
 .amount-money {
-    padding: 5px 0 5px 15px;
-    font-size: 14px;
-    background: #F2F5FD;
+  padding: 5px 0 5px 15px;
+  font-size: 14px;
+  background: #F2F5FD;
 
 
-    span {
-        margin-right: 15px;
+  span {
+    margin-right: 15px;
 
 
-    }
+  }
 }
 }
 
 
 .withdraw-alAmount {
 .withdraw-alAmount {
-    font-weight: 700;
-    font-size: 28px;
-    color: #229805;
-    margin: 0 0 30px 0;
-}</style>
-  
+  font-weight: 700;
+  font-size: 28px;
+  color: #229805;
+  margin: 0 0 30px 0;
+}
+</style>

+ 173 - 34
src/views/Letter/Wallet/FundsWallet.vue

@@ -2,21 +2,108 @@
 <template>
 <template>
   <div id="body">
   <div id="body">
     <!-- 模板内容 -->
     <!-- 模板内容 -->
-    <div class="header flex a-c u-f-sa">
-      <div class="flex f-c a-c j-s My-assets" >
-        <span>我的资产(元)</span>
-        <span>{{ moneyData }}</span>
-        <span class="withdrawal-style"  @click="instantWithdrawal()">提现</span>
+    <div class="flex j-s a-c ">
+      <h3>钱包提现</h3>
+      <div class="flex a-c ">
+        <span style="width: 100px;font-size: 16px;color: #262626;">时间筛选</span>
+        <el-date-picker size="small" v-model="datetime" type="datetimerange" range-separator="至" style="width: 300px;"
+          @change="datetimeChange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期">
+        </el-date-picker>
       </div>
       </div>
-      <div class="flex a-c advance-payment" @click="toBillDetails(1)">
-        <img src="../../../assets/预收明细.png" />
+    </div>
+    <div class="header flex a-c j-start">
+      <div class="summary flex f-c">
+        <span>车险收益</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.sumCarInsuranceAmount }}</span> </span>
+      </div>
+      <div class="circle flex j-c a-c">
+        <img src="../../../assets/qianbao1.png" alt="">
+      </div>
+
+      <div class=" summary flex f-c">
+        <span>车险(确认中)</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.advanceCarInsuranceAmount }}</span> </span>
+      </div>
+      <div class="circle flex j-c a-c">
+        <img src="../../../assets/qianbao2.png" alt="">
+      </div>
+      <div class="summary flex f-c">
+        <span>车险(已确认)</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.paidUpCarInsuranceAmount }}</span> </span>
+      </div>
+    </div>
+    <div class="header flex a-c j-start">
+      <div class="summary flex f-c">
+        <span>推广费收益</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.sumPromotionFeesAmount }}</span> </span>
+      </div>
+      <div class="circle flex j-c a-c">
+        <img src="../../../assets/qianbao1.png" alt="">
+      </div>
+
+      <div class=" summary flex f-c">
+        <span>推广费(预收)</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.advanceCollectionPromotionFeesAmount }}</span> </span>
+      </div>
+      <div class="circle flex j-c a-c">
+        <img src="../../../assets/qianbao2.png" alt="">
+      </div>
+      <div class="summary flex f-c">
+        <span>推广费(实收)</span>
+        <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.paidPromotionFeesAmount }}</span> </span>
+      </div>
+    </div>
+    <div class="header flex a-c j-s">
+      <div class="flex a-c">
+        <div class="summary flex f-c">
+          <span>车险推广费合计收益</span>
+          <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.sumDrawAmount }}</span> </span>
+        </div>
+        <div class="circle flex j-c a-c">
+          <img src="../../../assets/qianbao1.png" alt="">
+        </div>
+
+        <div class=" summary flex f-c">
+          <span>已提现金额</span>
+          <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.withdrawnAmount }}</span> </span>
+        </div>
+        <div class="circle flex j-c a-c">
+          <img src="../../../assets/qianbao2.png" alt="">
+        </div>
+        <div class="summary flex f-c">
+          <span>可提现金额</span>
+          <span>¥ <span style="font-size: 36px;font-family: DIN, DIN;
+font-weight: 500;">{{ findMyAmountData.withdrawableAmount }}</span> </span>
+        </div>
+      </div>
+
+      <span class="withdrawal-style" @click="instantWithdrawal()">提现</span>
+    </div>
+    <div class="header flex j-s a-c">
+      <div class="flex a-c advance-payment" @click="toBillDetails('autoInsuranceDetails')">
+        <img src="../../../assets/qianbao3.png" />
         <div>
         <div>
-          <span>预收明细</span>
-          <span>车牌订单明细内容</span>
+          <span>车险业务明细</span>
+          <span>手续+跟单费预收实收明细内容</span>
         </div>
         </div>
       </div>
       </div>
-      <div class="flex a-c advance-payment" @click="toBillDetails(2)">
-        <img src="../../../assets/收支明细.png" />
+      <div class="flex a-c advance-payment" @click="toBillDetails('promotionFeeDetails')">
+        <img src="../../../assets/qianbao4.png" />
+        <div>
+          <span>推广费明细</span>
+          <span>推广费预收实收明细内容</span>
+        </div>
+      </div>
+      <div class="flex a-c advance-payment" @click="toBillDetails('expenditureDetails')">
+        <img src="../../../assets/qianbao5.png" />
         <div>
         <div>
           <span>收支明细</span>
           <span>收支明细</span>
           <span>收入/提现中/已提现明细内容</span>
           <span>收入/提现中/已提现明细内容</span>
@@ -46,7 +133,7 @@
             <el-input v-model="extract" class="no-border" @input="suminput"></el-input>
             <el-input v-model="extract" class="no-border" @input="suminput"></el-input>
           </div>
           </div>
           <div class="" style="padding:10px">
           <div class="" style="padding:10px">
-            <span v-if="is_out" style="color: red;">输入金额超过可提现金额,账户余额 {{ moneyData}} 元</span>
+            <span v-if="is_out" style="color: red;">输入金额超过可提现金额,账户余额 {{ moneyData }} 元</span>
             <span v-else-if="is_lowest" style="color: red;">最低{{ lowest }}元起提现,账户余额 {{ moneyData }}
             <span v-else-if="is_lowest" style="color: red;">最低{{ lowest }}元起提现,账户余额 {{ moneyData }}
               元</span>
               元</span>
             <template v-else>
             <template v-else>
@@ -71,7 +158,11 @@ export default {
   // 数据存放区域
   // 数据存放区域
   data() {
   data() {
     return {
     return {
-      moneyData:0,
+      datetime: [],
+      startDate: "",
+      endDate: "",
+
+      moneyData: 0,
       withdrawalVisible: false,//提现弹窗
       withdrawalVisible: false,//提现弹窗
       bankCardInfo: {},
       bankCardInfo: {},
       cardPackList: [],//银行卡数据
       cardPackList: [],//银行卡数据
@@ -140,6 +231,7 @@ export default {
       is_lowest: false,
       is_lowest: false,
       is_out: false,
       is_out: false,
       is_post: false,
       is_post: false,
+      findMyAmountData: {},
     }
     }
   },
   },
   watch: {
   watch: {
@@ -157,6 +249,15 @@ export default {
   },
   },
   // 方法函数
   // 方法函数
   methods: {
   methods: {
+    datetimeChange(val) {
+      if (val) {
+        this.startDate = val[0];
+        this.endDate = val[1];
+      } else {
+        this.startDate = "";
+        this.endDate = "";
+      }
+    },
     allwithdrawal() {
     allwithdrawal() {
       this.extract = parseFloat(this.moneyData);
       this.extract = parseFloat(this.moneyData);
       this.checkMoney();
       this.checkMoney();
@@ -208,7 +309,7 @@ export default {
         if (res.code == '200') {
         if (res.code == '200') {
           this.$message({
           this.$message({
             type: 'success',
             type: 'success',
-            message: res.msg ||'提现成功',
+            message: res.msg || '提现成功',
           });
           });
           this.allamount();
           this.allamount();
           this.withdrawalVisible = false;
           this.withdrawalVisible = false;
@@ -221,7 +322,7 @@ export default {
       });
       });
     },
     },
     instantWithdrawal() {
     instantWithdrawal() {
-      this.extract=null
+      this.extract = null
       this.$api.letter.getUserBankList({
       this.$api.letter.getUserBankList({
         auditStatus: '1',
         auditStatus: '1',
         delFlag: '0'
         delFlag: '0'
@@ -252,21 +353,20 @@ export default {
       });
       });
     },
     },
     toBillDetails(type) {
     toBillDetails(type) {
-      if(type==1){
-        this.$router.push({
-          path: "amountManagement",
-        });
-      }
-      if(type==2){
-        this.$router.push({
-          path: "expenditureDetails",
-        });
-      }
+      this.$router.push({
+        path: type,
+      });
     },
     },
     allamount() {
     allamount() {
       let userId = Cookies.get("user");
       let userId = Cookies.get("user");
-      this.$api.letter.getUserSumAmountByUserId(userId).then((res) => {
+      let params = {
+        userId: userId,
+        startDate: this.startDate,
+        endDate: this.endDate,
+      }
+      this.$api.letter.findMyAmount(params).then((res) => {
         if (res.code == '200') {
         if (res.code == '200') {
+          this.findMyAmountData = res.data;
           this.moneyData = res.data;
           this.moneyData = res.data;
         } else {
         } else {
           this.$message({
           this.$message({
@@ -286,8 +386,9 @@ export default {
 #body {
 #body {
   padding: 20px 24px;
   padding: 20px 24px;
 }
 }
+
 /deep/ {
 /deep/ {
-.no-border {
+  .no-border {
     .el-input__inner {
     .el-input__inner {
       border: none;
       border: none;
       outline: none;
       outline: none;
@@ -299,17 +400,21 @@ export default {
 
 
   }
   }
 }
 }
+
 .My-assets {
 .My-assets {
   span {
   span {
     margin-bottom: 15px;
     margin-bottom: 15px;
   }
   }
+
   span:nth-child(1) {
   span:nth-child(1) {
     font-size: 20px;
     font-size: 20px;
   }
   }
+
   span:nth-child(2) {
   span:nth-child(2) {
     font-size: 40px;
     font-size: 40px;
 
 
   }
   }
+
   span:nth-child(2):before {
   span:nth-child(2):before {
     content: "¥";
     content: "¥";
     font-size: 22px;
     font-size: 22px;
@@ -318,16 +423,42 @@ export default {
 
 
 .header {
 .header {
   width: 100%;
   width: 100%;
-  height: 220px;
+  height: auto;
   background: #F2F5FD;
   background: #F2F5FD;
   border-radius: 12px 12px 12px 12px;
   border-radius: 12px 12px 12px 12px;
-  padding: 33px;
+  padding: 30px 40px;
   box-sizing: border-box;
   box-sizing: border-box;
+  margin-bottom: 20px;
+
   .center {
   .center {
     // border: 1px solid #D7DBE7;
     // border: 1px solid #D7DBE7;
     border-top: none;
     border-top: none;
     border-bottom: none;
     border-bottom: none;
   }
   }
+
+  .summary {
+    width: 220px;
+
+    >span:nth-child(1) {
+      font-size: 20px;
+      color: #333;
+    }
+
+    >span:nth-child(2) {
+      margin-top: 15px;
+      font-size: 22px;
+      color: #333;
+    }
+  }
+
+  .circle {
+    width: 28px;
+    height: 28px;
+    background: #FFFFFF;
+    box-shadow: 0px 4px 4px 0px rgba(152, 186, 255, 0.2);
+    border-radius: 50%;
+    margin: 0 124px;
+  }
 }
 }
 
 
 
 
@@ -339,28 +470,35 @@ export default {
   height: 42px;
   height: 42px;
   background: linear-gradient(270deg, #0052FF 0%, #6899FF 100%);
   background: linear-gradient(270deg, #0052FF 0%, #6899FF 100%);
   border-radius: 8px 8px 8px 8px;
   border-radius: 8px 8px 8px 8px;
+  margin-right: 100px;
 }
 }
 
 
 .advance-payment {
 .advance-payment {
   width: 320px;
   width: 320px;
-  height: 100px;
   background: #FFFFFF;
   background: #FFFFFF;
   border-radius: 8px 8px 8px 8px;
   border-radius: 8px 8px 8px 8px;
+  padding: 18px 24px;
 
 
   div {
   div {
     margin-left: 15px;
     margin-left: 15px;
+
     span {
     span {
       font-size: 16px;
       font-size: 16px;
       display: block;
       display: block;
-      
     }
     }
+
+    span:first-child {
+      font-weight: bold;
+    }
+
     span:last-child {
     span:last-child {
       margin-top: 8px;
       margin-top: 8px;
-        font-size: 13px;
-        color: rgba(51, 51, 51, 0.8);
-      }
+      font-size: 13px;
+      color: rgba(51, 51, 51, 0.8);
+    }
   }
   }
 }
 }
+
 .dialoginput {
 .dialoginput {
   width: 50%;
   width: 50%;
 
 
@@ -378,6 +516,7 @@ export default {
 
 
 
 
 }
 }
+
 .dialoglist {
 .dialoglist {
   width: 40%;
   width: 40%;
   padding: 20px;
   padding: 20px;

+ 250 - 0
src/views/Letter/Wallet/PromotionFeeDetails.vue

@@ -0,0 +1,250 @@
+<!-- 模板区域 -->
+<template>
+  <div class="p-1">
+    <!-- 模板内容 -->
+    <el-form ref="queryFormRef" :model="queryForm" label-width="100px" class="queryform">
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="订单号">
+            <el-input size="small" v-model="queryForm.subOrderNo" placeholder="请输入订单号" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="代理人工号">
+            <el-input size="small" v-model="queryForm.userDLId" placeholder="请输入录入人" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="代理人姓名">
+            <el-input size="small" v-model="queryForm.userDLName" placeholder="请输入代理人姓名" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="车牌号">
+            <el-input size="small" v-model="queryForm.licenseNo" placeholder="请输入车牌号" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="承保日期">
+            <el-date-picker size="small" clearable value-format="yyyy-MM-dd" v-model="dataTime" style="width: 100%"
+              @change="dataTmeChange" type="daterange" align="left" range-separator="至" start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="3" :offset="15" class="flex j-end">
+          <el-button size="small" type="primary" style="background-color: #2D4D89;border-color:#2D4D89;" @click="exportDetails">导出</el-button>
+          <el-button size="small" type="primary" @click="promotionFindPage">查询</el-button>
+        </el-col>
+      </el-row>
+    </el-form>
+    <kt-common-table :tableHeights="660" :SerialShow="false" :operationWidth="200" :showOperation="true"
+      :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" :data="promotionResult"
+      :columns="promotionColumns" @findPage="promotionFindPage" button2Name="详情" button2Type="text"
+      :button2style="{ color: '#2D4D89' }" button2Background="#E6A23C" @handleButton2="promotiondetails" button2Icon="">
+    </kt-common-table>
+    <el-dialog title="账单详情" :visible.sync="detailsVisible" width="25%">
+      <div class="flex f-c j-s">
+        <template>
+          <div>
+            <div class="dialogCentent flex f-c  totalsum">
+              <span>推广费</span>
+              <span>{{ tuiguangDetails.amount }}</span>
+            </div>
+            <div class=" flex f-c  dialogCentent" style="margin-top:10px">
+              <span v-if="tuiguangDetails.subOrderId">订单编号: <span style="color: #333;">{{ tuiguangDetails.subOrderId
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.signingTime">承保时间: <span style="color: #333;">{{ tuiguangDetails.signingTime
+              }}</span> </span>
+              <span v-if="tuiguangDetails.licenseNo">车牌号: <span style="color: #333;">{{ tuiguangDetails.licenseNo
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.jypremium">驾意险: <span style="color: #333;">¥{{ tuiguangDetails.jypremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.jqpremium">交强险: <span style="color: #333;">¥{{ tuiguangDetails.jqpremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.sypremium">商业险: <span style="color: #333;">¥{{ tuiguangDetails.sypremium
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.agentName">代理人姓名: <span style="color: #333;">{{ tuiguangDetails.agentName
+              }}</span>
+              </span>
+              <span v-if="tuiguangDetails.agentLevel">代理人级别: <span style="color: #333;">{{ tuiguangDetails.agentLevel
+              }}</span> </span>
+            </div>
+          </div>
+        </template>
+
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="detailsVisible = false">取 消</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import Cookies from "js-cookie";
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+export default {
+  components: {
+    KtCommonTable,
+  },
+  // 数据存放区域
+  data() {
+    return {
+      dataTime: [],
+      queryForm: {
+        subOrderNo: '',//订单号
+        licenseNo: "",
+        startDate: "",
+        endDate: "",
+        userDLId: "",
+        userDLName: "",
+        userId: "",
+        pageNum: 1,
+        pageSize: 20,
+      },
+      tuiguangDetails:{},
+      promotionResult: [],
+      detailsVisible:false,
+      promotionColumns: [
+        { prop: "subOrderNo", label: "订单编号", minWidth: 160, },
+        { prop: "signingTime", label: "承保时间", minWidth: 160 },
+        { prop: "licenseNo", label: "车牌号", minWidth: 160 },
+        { prop: "amount", label: "实收金额", minWidth: 160 },
+        { prop: "jypremium", label: "驾意险", minWidth: 160 },
+        { prop: "jqpremium", label: "交强险", minWidth: 160 },
+        { prop: "sypremium", label: "商业险", minWidth: 160 },
+        { prop: "userId", label: "代理人工号", minWidth: 160 },
+        { prop: "userName", label: "代理人", minWidth: 160 },
+        { prop: "userLevel", label: "代理人级别", minWidth: 160 },
+      ],
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.queryForm.userId = Cookies.get("user");
+  },
+  // 方法函数
+  methods: {
+
+    exportDetails() {
+      this.$api.letter.expeortMyInsuranceTGByUserId(this.queryForm).then((res) => {
+        if (res.code == '200') {
+          let url = process.env.BASE_URL + res.msg; // 3.创建一个临时的url指向blob对象
+          let a = document.createElement("a");
+          a.href = url;
+          a.download = "导出文件.xlsx";
+          a.click();
+          window.URL.revokeObjectURL(url);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    dataTmeChange(val) {
+      if (val) {
+        this.queryForm.startDate = val[0];
+        this.queryForm.endDate = val[1];
+      } else {
+        this.queryForm.startDate = "";
+        this.queryForm.endDate = "";
+      }
+    },
+    promotionFindPage(data) {
+      if (data && data.pageRequest) {
+        this.queryForm.pageNum = data.pageRequest.pageNum;
+        this.queryForm.pageSize = data.pageRequest.pageSize;
+      } else {
+        this.queryForm.pageNum = 1;
+        this.queryForm.pageSize = 20;
+      }
+      this.$api.letter
+        .findMyInsuranceTGByUserId(this.queryForm)
+        .then((res) => {
+          this.promotionResult = res.data;
+        });
+    },
+    promotiondetails({ row, column }) {
+      this.$api.letter.getSubOrderDetails(row.subOrderNo).then((res) => {
+        if (res.code == '200') {
+          this.tuiguangDetails = res.data;
+          this.tuiguangDetails.amount = row.amount;
+          this.detailsVisible = true;
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    CompanyList() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.ompanyqueryList = res.data;
+      })
+    },
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then(res => {
+        if (res.code == 200) {
+          this[type + "options"] = res.data.ddList;
+        }
+      });
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+.totalsum {
+  margin-bottom: 15px;
+
+  >span {
+    font-weight: bold;
+    font-size: 16px;
+    color: #333333;
+  }
+
+  >span:nth-child(2) {
+    font-size: 30px;
+    color: #FF5600;
+    font-weight: bold;
+  }
+}
+
+.dialogCentent {
+  background: #FFFFFF;
+  border-radius: 4px 4px 4px 4px;
+  padding: 10px;
+
+  >span {
+    font-family: PingFang SC, PingFang SC;
+    font-weight: 500;
+    font-size: 13px;
+    margin-bottom: 10px;
+    color: rgba(51, 51, 51, 0.8);
+  }
+}
+
+/deep/ {
+  .el-dialog__body {
+    background: #F2F2F2;
+  }
+  .el-pagination.is-background .el-pager li:not(.disabled).active {
+    background-color: #2D4D89;
+  }
+
+  .el-form-item {
+    margin-bottom: 8px;
+  }
+}
+</style>