Преглед изворни кода

fix:财务提现管理新增导出功能

test пре 2 година
родитељ
комит
09d15c8d27

+ 24 - 16
src/http/moudules/task.js

@@ -682,24 +682,24 @@ export const channelAccountQuery = (data) => {
   })
 }
 //获取应收结果
-export const accountsResult = (data,data1) => {
+export const accountsResult = (data, data1) => {
   return axios({
-    url: '/InsReceivable/receivableResult?yearMonthStr=' + data+'&insuranceId='+data1,
+    url: '/InsReceivable/receivableResult?yearMonthStr=' + data + '&insuranceId=' + data1,
     method: "get",
   })
 }
 
 //获取签单日期结算来源表
-export const signingSourceResult = (data,data1) => {
+export const signingSourceResult = (data, data1) => {
   return axios({
-    url: '/InsReceivable/signingSourceResult?yearMonthStr=' + data+'&insuranceId='+data1,
+    url: '/InsReceivable/signingSourceResult?yearMonthStr=' + data + '&insuranceId=' + data1,
     method: "get",
   })
 }
 //获取结算日期结算来源表
-export const settlementSourceResult = (data,data1) => {
+export const settlementSourceResult = (data, data1) => {
   return axios({
-    url: '/InsReceivable/settlementSourceResult?yearMonthStr=' + data+'&insuranceId='+data1,
+    url: '/InsReceivable/settlementSourceResult?yearMonthStr=' + data + '&insuranceId=' + data1,
     method: "get",
   })
 }
@@ -868,7 +868,7 @@ export const plyFeequery = (data) => {
   })
 }
 
-export const plyFeeRecord= (data) => {
+export const plyFeeRecord = (data) => {
   return axios({
     url: "/fnc/plyFee/platformSettlementRecord",
     method: "post",
@@ -1063,7 +1063,7 @@ export const findPtlAgreementList = () => {
 // 后线人员协议配置-编辑
 export const findPtlAgreementListByUserId = (userId) => {
   return axios({
-    url: "/sysUserLinkPtlAgreement/findPtlAgreementListByUserId/"+userId,
+    url: "/sysUserLinkPtlAgreement/findPtlAgreementListByUserId/" + userId,
     method: "get",
   })
 }
@@ -1132,7 +1132,7 @@ export const plyFeeUpload = (data) => {
 }
 export const plyFeeUploadId = (id) => {
   return axios({
-    url: "/fnc/plyFee/getById/"+id,
+    url: "/fnc/plyFee/getById/" + id,
     method: "get",
   })
 }
@@ -1174,7 +1174,7 @@ export const totalPinAmount = (data) => {
   })
 }
 //省市区门店数据获取
-export const queryListByParentId = (type,value) => {
+export const queryListByParentId = (type, value) => {
   return axios({
     url: `/dept/queryListByParentId/${type}/${value}`,
     method: "get",
@@ -1295,7 +1295,7 @@ export const plyFeeNonSettldetail = (data) => {
 }
 export const plyFeeId = (id) => {
   return axios({
-    url: "/fnc/plyFee/getById/" +id,
+    url: "/fnc/plyFee/getById/" + id,
     method: "get",
   })
 }
@@ -1386,7 +1386,7 @@ export const settlementFeesQuery = (data) => {
 
 export const settlementFeesGetRecord = (id) => {
   return axios({
-    url: "/fnc/SettlementFees/getRecord/" +id,
+    url: "/fnc/SettlementFees/getRecord/" + id,
     method: "get"
   })
 }
@@ -1453,7 +1453,7 @@ export const queryPageBatchUpdate = (data) => {
 }
 export const getFeeAuditHistory = (orderno) => {
   return axios({
-    url: "/fnc/carSettle/getFeeAuditHistory/" +orderno,
+    url: "/fnc/carSettle/getFeeAuditHistory/" + orderno,
     method: "get",
   })
 }
@@ -1551,7 +1551,7 @@ export const bxOtherImportData = (data) => {
 }
 export const esmInsCompany = (val) => {
   return axios({
-    url: `esmInsCompany/queryListByParentId/`+val,
+    url: `esmInsCompany/queryListByParentId/` + val,
     method: "get",
   })
 }
@@ -1725,7 +1725,7 @@ export const getAccountCardListByPage = (data) => {
 
 export const findById = (id) => {
   return axios({
-    url: "/sysAmountAuditing/findById?id="+id,
+    url: "/sysAmountAuditing/findById?id=" + id,
     method: "get",
   })
 }
@@ -1736,4 +1736,12 @@ export const addInvAccountBackCardMsg = (data) => {
     method: "post",
     data
   })
-}
+}
+export const exportAmountAuditing = (data) => {
+  return axios({
+    url: "/sysAmountAuditing/expeortData",
+    method: "post",
+    data
+  })
+}
+

+ 198 - 118
src/views/FinancialManagement/WithdrawalManagement/WithdrawalProceduresEnd.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-main ref="elMain" style="padding: 0px;">
+    <el-main ref="elMain" style="padding: 0px">
       <el-row>
         <el-form
           :inline="true"
@@ -9,23 +9,47 @@
           label-width="130px"
           size="small"
         >
-        <el-form-item label="业务员工号">
-            <el-input v-model="queryForm.userId" placeholder="业务员工号" clearable></el-input>
+          <el-form-item label="业务员工号">
+            <el-input
+              v-model="queryForm.userId"
+              placeholder="业务员工号"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="业务员姓名">
-            <el-input v-model="queryForm.userName" placeholder="业务员姓名" clearable></el-input>
+            <el-input
+              v-model="queryForm.userName"
+              placeholder="业务员姓名"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="维护人工号">
-            <el-input v-model="queryForm.leaderId" placeholder="业务员姓名" clearable></el-input>
+            <el-input
+              v-model="queryForm.leaderId"
+              placeholder="业务员姓名"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="维护人">
-            <el-input v-model="queryForm.leaderName" placeholder="业务员姓名" clearable></el-input>
+            <el-input
+              v-model="queryForm.leaderName"
+              placeholder="业务员姓名"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="电话">
-            <el-input v-model="queryForm.mobile" placeholder="电话" clearable></el-input>
+            <el-input
+              v-model="queryForm.mobile"
+              placeholder="电话"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="提现单号">
-            <el-input v-model="queryForm.id" placeholder="提现单号" clearable></el-input>
+            <el-input
+              v-model="queryForm.id"
+              placeholder="提现单号"
+              clearable
+            ></el-input>
           </el-form-item>
           <el-form-item label="提现时间">
             <el-date-picker
@@ -34,16 +58,26 @@
               range-separator="至"
               value-format="yyyy-MM-dd"
               start-placeholder="开始日期"
-              end-placeholder="结束日期">
+              end-placeholder="结束日期"
+            >
             </el-date-picker>
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" size="small" @click="findPage">查询</el-button>
+            <el-button
+              size="small"
+              type="primary"
+              style="background-color: #2d4d89; border-color: #2d4d89"
+              @click="exportDetails"
+              >导出</el-button
+            >
+            <el-button type="primary" size="small" @click="findPage"
+              >查询</el-button
+            >
           </el-form-item>
         </el-form>
       </el-row>
       <div class="amount-money">
-        <span >提现总金额:¥{{ totalAmount ||  0 }}</span>
+        <span>提现总金额:¥{{ totalAmount || 0 }}</span>
       </div>
       <kt-common-table
         :showBatchDelete="false"
@@ -51,30 +85,54 @@
         :data="pageResult"
         :columns="columns"
         @findPage="findPage"
-        button3Name="补充信息" @handleButton3="handleButton3"
+        button3Name="补充信息"
+        @handleButton3="handleButton3"
       ></kt-common-table>
     </el-main>
-    <el-dialog :visible.sync="dialogVisibleBatch" width="35%" :before-close="handleCloseBatch">
-        <el-button type="text" @click="bindbankCard">绑定内部银行卡</el-button>
-        <div  v-if="bankForm.accountName">
-          <p>银行卡号:{{ bankForm.bankCardNum }}</p>
-          <p>内部账户名称:{{ bankForm.accountName }}</p>
-          <p>内部开户行号:{{ bankForm.bankNum }}</p>
-          <p>内部开户行名称:{{ bankForm.bankName }}</p>
-        </div>
-        <span slot="footer" class="dialog-footer">
-          <el-button size="small" @click="dialogVisibleBatch = false">取 消</el-button>
-          <el-button size="small" type="primary" @click="handleSumbit()">确 定</el-button>
-        </span>
-      </el-dialog>
+    <el-dialog
+      :visible.sync="dialogVisibleBatch"
+      width="35%"
+      :before-close="handleCloseBatch"
+    >
+      <el-button type="text" @click="bindbankCard">绑定内部银行卡</el-button>
+      <div v-if="bankForm.accountName">
+        <p>银行卡号:{{ bankForm.bankCardNum }}</p>
+        <p>内部账户名称:{{ bankForm.accountName }}</p>
+        <p>内部开户行号:{{ bankForm.bankNum }}</p>
+        <p>内部开户行名称:{{ bankForm.bankName }}</p>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisibleBatch = false"
+          >取 消</el-button
+        >
+        <el-button size="small" type="primary" @click="handleSumbit()"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
     <el-dialog title="绑定银行卡" :visible.sync="bankdialogVisible" width="50%">
-      <templateTable  :formList="formList" ref="templateTable"  @handleCurrentTableChange="handleCurrentTableChange"
-      :tableConfig="tableConfig" :data="bankDataTable"  @findPage="findPage" @handleSearchList="handleSearchList"
-       :pagination="pageData" @getList="getList">
+      <templateTable
+        :formList="formList"
+        ref="templateTable"
+        @handleCurrentTableChange="handleCurrentTableChange"
+        :tableConfig="tableConfig"
+        :data="bankDataTable"
+        @findPage="findPage"
+        @handleSearchList="handleSearchList"
+        :pagination="pageData"
+        @getList="getList"
+      >
       </templateTable>
       <span slot="footer" class="dialog-footer">
-        <el-button size="small" @click="bankdialogVisible = false">取 消</el-button>
-        <el-button  size="small" type="primary" @click="bankdialogVisible = false">确定</el-button>
+        <el-button size="small" @click="bankdialogVisible = false"
+          >取 消</el-button
+        >
+        <el-button
+          size="small"
+          type="primary"
+          @click="bankdialogVisible = false"
+          >确定</el-button
+        >
       </span>
     </el-dialog>
   </div>
@@ -84,18 +142,18 @@ import Cookies from "js-cookie";
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import KtButton from "@/views/Core/KtButton";
 import CommonUtil from "@/utils/comutil.js";
-import templateTable from '@/components/TemplateTable/index.vue'
+import templateTable from "@/components/TemplateTable/index.vue";
 
 export default {
   components: {
     KtCommonTable,
     KtButton,
-    templateTable
+    templateTable,
   },
   data() {
     return {
-      rowlist:{},
-      bankForm:{},
+      rowlist: {},
+      bankForm: {},
       formList: [
         {
           label: "账户名称",
@@ -106,41 +164,43 @@ export default {
           label: "银行卡号",
           prop: "bankCardNum",
           type: "input",
-        }
-    ],
-    tableConfig: {
+        },
+      ],
+      tableConfig: {
         columns: [
           {
             prop: "accountName",
             label: "内部账户名称",
-            type: "text"
-
-          }, {
+            type: "text",
+          },
+          {
             prop: "bankCardNum",
             label: "内部银行卡号",
-            type: "text"
-          }, {
+            type: "text",
+          },
+          {
             prop: "bankName",
             label: "内部开户行",
-            type: "text"
-          }, {
+            type: "text",
+          },
+          {
             prop: "bankNum",
             label: "内部开户行号",
-            type: "text"
-          }, 
+            type: "text",
+          },
         ],
-        operationWidth: '180',
+        operationWidth: "180",
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
       },
-    pageData: {
+      pageData: {
         pageNum: 1,
         pageSize: 20,
       },
-      bankDataTable:[],
-      dialogVisibleBatch:false,
-      bankdialogVisible:false,
+      bankDataTable: [],
+      dialogVisibleBatch: false,
+      bankdialogVisible: false,
       // 右侧列表查询数据Start
       queryForm: {},
       pageResult: {},
@@ -148,9 +208,9 @@ export default {
         //查询的默认条件
         pageNum: 1,
         pageSize: 10,
-        auditingStatus: "3"
+        auditingStatus: "3",
       },
-      totalAmount:0,
+      totalAmount: 0,
       columns: [
         //数据列
         { prop: "id", label: "提现单号" },
@@ -158,20 +218,23 @@ export default {
         { prop: "userName", label: "业务员姓名" },
         { prop: "leaderId", label: "维护人工号" },
         {
-            prop: "accountName",
-            label: "内部账户名称",
-            width:100
-          }, {
-            prop: "bankCardNum",
-            label: "内部银行卡号",
-          }, {
-            prop: "bankName",
-            label: "内部开户行",
-            width:160
-          }, {
-            prop: "bankNum",
-            label: "内部开户行号",
-          }, 
+          prop: "accountName",
+          label: "内部账户名称",
+          width: 100,
+        },
+        {
+          prop: "bankCardNum",
+          label: "内部银行卡号",
+        },
+        {
+          prop: "bankName",
+          label: "内部开户行",
+          width: 160,
+        },
+        {
+          prop: "bankNum",
+          label: "内部开户行号",
+        },
         { prop: "leaderName", label: "维护人" },
         { prop: "mobile", label: "电话" },
         { prop: "deptId", label: "机构代码" },
@@ -183,33 +246,50 @@ export default {
         { prop: "bankAccount", label: "银行" },
         { prop: "bankNumber", label: "账号" },
         { prop: "voucherId", label: "凭证号" },
-        { prop: "createTime", label: "提现时间" }
-      ]
+        { prop: "createTime", label: "提现时间" },
+      ],
     };
   },
   created() {},
   mounted() {},
   methods: {
-    handleSearchList(val){
+    exportDetails() {
+      this.$api.task.exportAmountAuditing(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,
+          });
+        }
+      });
+    },
+    handleSearchList(val) {
       this.bankfindPage(val);
     },
-    handleButton3({row}){
-      this.rowlist=row
-      this.bankForm={}
-      this.dialogVisibleBatch=true
-      this.$api.task.findById(row.id).then(res=>{
-        if(res.code==200){
-          this.bankForm=res.data
+    handleButton3({ row }) {
+      this.rowlist = row;
+      this.bankForm = {};
+      this.dialogVisibleBatch = true;
+      this.$api.task.findById(row.id).then((res) => {
+        if (res.code == 200) {
+          this.bankForm = res.data;
         }
-      })
+      });
     },
-    bindbankCard(){
-      this.bankdialogVisible=true
+    bindbankCard() {
+      this.bankdialogVisible = true;
       this.bankfindPage();
     },
-    handleCurrentTableChange(val){
-      this.bankForm=val
-      this.bankdialogVisible=false
+    handleCurrentTableChange(val) {
+      this.bankForm = val;
+      this.bankdialogVisible = false;
     },
     tablePageChange(val) {
       this.pageData.pageSize = val;
@@ -220,49 +300,49 @@ export default {
       this.bankfindPage();
     },
     getList(data) {
-      this.bankfindPage(data)
+      this.bankfindPage(data);
     },
-    bankfindPage(data){
+    bankfindPage(data) {
       this.tableConfig.loading = true;
       this.$api.task
         .getAccountCardListByPage({ ...this.pageData, ...data })
-        .then(res => {
+        .then((res) => {
           if (res.code == 200) {
-            this.bankDataTable = res.data.content ? res.data.content : []
+            this.bankDataTable = res.data.content ? res.data.content : [];
             this.pageData.pageNum = res.data.pageNum;
             this.pageData.pageSize = res.data.pageSize;
             this.pageData.totalSize = res.data.totalSize;
             this.tableConfig.loading = false;
-          }
-          else {
+          } else {
             this.tableConfig.loading = false;
-            this.$message.error(res.msg)
+            this.$message.error(res.msg);
           }
         });
     },
-    handleCloseBatch(){
-      this.dialogVisibleBatch=false
+    handleCloseBatch() {
+      this.dialogVisibleBatch = false;
     },
     handleSumbit() {
-      this.$api.task.addInvAccountBackCardMsg({ id:this.rowlist.id,...this.bankForm }).then(res => {
-        if (res.code == 200) {
-          this.dialogVisibleBatch = false
-          this.findPage();
-          this.$message({
-            type: "success",
-            message: res.msg
-          });
-        }
-        else {
-          this.$message.error(res.msg)
-        }
-      })
+      this.$api.task
+        .addInvAccountBackCardMsg({ id: this.rowlist.id, ...this.bankForm })
+        .then((res) => {
+          if (res.code == 200) {
+            this.dialogVisibleBatch = false;
+            this.findPage();
+            this.$message({
+              type: "success",
+              message: res.msg,
+            });
+          } else {
+            this.$message.error(res.msg);
+          }
+        });
     },
     handlePrint(index, row) {
-      this.$api.task.AmountReview(this.pageRequest).then(res => {
+      this.$api.task.AmountReview(this.pageRequest).then((res) => {
         console.log(res);
         let blob = new Blob([res], {
-          type: "application/vnd.ms-excel"
+          type: "application/vnd.ms-excel",
         }); // 2.获取请求返回的response对象中的blob 设置文件类型,这里以excel为例
         let url = window.URL.createObjectURL(blob); // 3.创建一个临时的url指向blob对象
         // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
@@ -282,7 +362,7 @@ export default {
         this.pageRequest.pageNum = data.pageRequest.pageNum;
         this.pageRequest.pageSize = data.pageRequest.pageSize;
       }
-      if (this.queryForm.date && this.queryForm.date.length>0) {
+      if (this.queryForm.date && this.queryForm.date.length > 0) {
         this.queryForm.startTime = this.queryForm.date[0];
         this.queryForm.endTime = this.queryForm.date[1];
       } else {
@@ -293,21 +373,21 @@ export default {
         .payqueryPage({
           ...this.pageRequest,
           ...this.queryForm,
-          amountStatus: "1"
+          amountStatus: "1",
         })
-        .then(res => {
+        .then((res) => {
           if (res.code == 200) {
             that.pageResult = res.data;
           }
         })
         .then(data != null ? data.callback : "");
 
-        that.$api.task
+      that.$api.task
         .querySumAmount({
           ...this.queryForm,
           ...this.pageRequest,
         })
-        .then(res => {
+        .then((res) => {
           if (res.code == 200) {
             that.totalAmount = res.data;
           }
@@ -337,20 +417,20 @@ export default {
         format = format.replace(formatArr[i], newArr[i]);
       }
       return format;
-    }
-  }
+    },
+  },
 };
 </script>
 
 
     <style scoped lang='scss'>
-  .amount-money {
+.amount-money {
   font-size: 14px;
   text-align: right;
-  margin:0 30px 20px 0;
-  >span{
+  margin: 0 30px 20px 0;
+  > span {
     padding: 8px 15px;
-    background: #F2F5FD;
+    background: #f2f5fd;
   }
 }
 </style>