Przeglądaj źródła

修改提现页面

silent 4 lat temu
rodzic
commit
5aa968cb6a
1 zmienionych plików z 217 dodań i 91 usunięć
  1. 217 91
      src/views/ldt_bills/withdrawrec.vue

+ 217 - 91
src/views/ldt_bills/withdrawrec.vue

@@ -27,6 +27,51 @@
       <!--                   @click="handleDelete">删 除-->
       <!--        </el-button>-->
       <!--      </template>-->
+      <template slot-scope="{type,size}" slot="createTimeSearch">
+        <el-row>
+          <el-col span="10">
+            <el-radio-group v-model="query.createTime" :size="size">
+              <el-radio-button @click="searchStateChange" :label="-1">全部</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="1">今天</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="2">昨天</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="3">最近七天</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="4">最近30天</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="5">本月</el-radio-button>
+              <el-radio-button @click="searchStateChange" :label="6">本年</el-radio-button>
+            </el-radio-group>
+          </el-col>
+          <el-col span="14">
+            <avue-date v-model="query.createTimeRange" type="daterange" format="yyyy年MM月dd日 hh:mm:ss" value-format="yyyy-MM-dd hh:mm:ss" placeholder="请选择日期"
+                       :size="size"
+                       @change="searchStateChange"
+                       style="width: 280px;margin: 1px"
+                       range-separator="-"
+                       start-placeholder="开始日期"
+                       end-placeholder="结束日期"></avue-date>
+          </el-col>
+        </el-row>
+      </template>
+      <template slot-scope="{type,size}" slot="withdrawStatusSearch">
+        <el-radio-group v-model="query.withdrawStatus" :size="size" @change="searchStateChange">
+          <el-radio-button :label="-1">全部</el-radio-button>
+          <el-radio-button :label="1">待确定</el-radio-button>
+          <el-radio-button :label="2">已到账</el-radio-button>
+          <el-radio-button :label="3">失败</el-radio-button>
+        </el-radio-group>
+      </template>
+      <template slot-scope="{type,size}" slot="channelSearch">
+        <el-radio-group v-model="query.channel" :size="size" @change="searchStateChange">
+          <el-radio-button :label="-1">全部</el-radio-button>
+          <el-radio-button label="yeePay">易宝</el-radio-button>
+        </el-radio-group>
+      </template>
+      <template slot-scope="{type,size}" slot="keySearch">
+        <el-input type="text" placeholder="姓名/银行卡号/易宝商户号" v-model="query.key" :size="size" style="width: 200px;margin: 1px 5px 1px 0;">
+          <el-button type="primary" :size="size" icon="el-icon-search" slot="append" @click="searchStateChange"></el-button>
+        </el-input>
+        <el-button type="primary" :size="size" icon="el-icon-top">生成列表</el-button>
+        <el-button type="primary" :size="size">导出已生成列表</el-button>
+      </template>
       <template slot="menuLeft">
         <span style="font-family: '宋体'">
           代理提现总金额:
@@ -46,6 +91,7 @@
 </template>
 
 <script>
+import moment from "moment";
 import {add, censusPrice, getDetail, getList, remove, update} from "@/api/ldt_bills/withdrawrec";
 import {mapGetters} from "vuex";
 
@@ -53,7 +99,12 @@ export default {
   data() {
     return {
       form: {},
-      query: {},
+      query: {
+        withdrawStatus: -1,
+        createTime: -1,
+        createTimeRange: [],
+        channel: -1
+      },
       loading: true,
       censusPrice: {},
       page: {
@@ -68,7 +119,7 @@ export default {
         tip: false,
         searchShow: true,
         searchMenuSpan: 6,
-        searchLabelWidth: 120,
+        searchLabelWidth: 80,
         searchSpan:4,
         border: true,
         index: true,
@@ -77,35 +128,37 @@ export default {
         delBtn: false,
         viewBtn: true,
         selection: true,
+        searchBtn:false,
+        menu: false,
+        emptyBtn: false,
         dialogClickModal: false,
         column: [
+          // {
+          //   label: "提现用户类型",
+          //   prop: "ownerType",
+          //   type: "select",
+          //   dicData: [{
+          //     label: "商家",
+          //     value: "1"
+          //   }],
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入提现用户类型: 1-商家",
+          //     trigger: "blur"
+          //   }]
+          // },
           {
-            label: "提现用户类型",
-            prop: "ownerType",
-            search: true,
-            type: "select",
-            dicData: [{
-              label: "商家",
-              value: "1"
-            }],
-            rules: [{
-              required: true,
-              message: "请输入提现用户类型: 1-商家",
-              trigger: "blur"
-            }]
-          },
-          /*{
-            label: "提现用户id",
-            prop: "ownerId",
+            label: "用户信息",
+            prop: "ownerName",
             rules: [{
               required: true,
               message: "请输入提现用户id: 若owner_type = 1则为商家id",
               trigger: "blur"
             }]
-          },*/
+          },
           {
-            label: "提现用户名",
-            prop: "ownerName",
+            label: "用户UID",
+            prop: "ownerId",
             rules: [{
               required: true,
               message: "请输入提现用户id: 若owner_type = 1则为商家id",
@@ -121,15 +174,15 @@ export default {
               trigger: "blur"
             }]
           },
-          {
-            label: "需扣积分价值",
-            prop: "pointValue",
-            rules: [{
-              required: true,
-              message: "请输入需扣积分价值",
-              trigger: "blur"
-            }]
-          },
+          // {
+          //   label: "需扣积分价值",
+          //   prop: "pointValue",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入需扣积分价值",
+          //     trigger: "blur"
+          //   }]
+          // },
           {
             label: "实际提现金额",
             prop: "actualPrice",
@@ -139,19 +192,21 @@ export default {
               trigger: "blur"
             }]
           },
-          {
-            label: "提现手续费",
-            prop: "fee",
-            rules: [{
-              required: true,
-              message: "请输入提现手续费",
-              trigger: "blur"
-            }]
-          },
+          // {
+          //   label: "提现手续费",
+          //   prop: "fee",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入提现手续费",
+          //     trigger: "blur"
+          //   }]
+          // },
           {
             label: "提现状态",
             search: true,
             type: "select",
+            searchslot:true,
+            searchSpan:24,
             dicData: [{
               label: "待确定",
               value: "1"
@@ -179,8 +234,11 @@ export default {
             }]
           },
           {
-            label: "提现渠道",
+            label: "提现方式",
             prop: "channel",
+            searchslot:true,
+            search: true,
+            searchSpan:24,
             rules: [{
               required: true,
               message: "请输入提现渠道:yeePay(易宝支付)",
@@ -196,45 +254,44 @@ export default {
               trigger: "blur"
             }]
           },
+          // {
+          //   label: "接收人真实姓名",
+          //   prop: "receiverAccountName",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入接收人真实姓名",
+          //     trigger: "blur"
+          //   }]
+          // },
+          // {
+          //   label: "接收人的银行账号",
+          //   prop: "receiverAccountNo",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入接收人的银行账号",
+          //     trigger: "blur"
+          //   }]
+          // },
+          // {
+          //   label: "到账类型",
+          //   prop: "receiveType",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入到账类型,默认实时到账",
+          //     trigger: "blur"
+          //   }]
+          // },
+          // {
+          //   label: "提现到账的金额",
+          //   prop: "receiveAmount",
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入提现到账的金额",
+          //     trigger: "blur"
+          //   }]
+          // },
           {
-            label: "接收人真实姓名",
-            prop: "receiverAccountName",
-            search: true,
-            rules: [{
-              required: true,
-              message: "请输入接收人真实姓名",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "接收人的银行账号",
-            prop: "receiverAccountNo",
-            rules: [{
-              required: true,
-              message: "请输入接收人的银行账号",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "到账类型",
-            prop: "receiveType",
-            rules: [{
-              required: true,
-              message: "请输入到账类型,默认实时到账",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "提现到账的金额",
-            prop: "receiveAmount",
-            rules: [{
-              required: true,
-              message: "请输入提现到账的金额",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "失败原因",
+            label: "拒绝原因",
             prop: "failReason",
             rules: [{
               required: true,
@@ -243,7 +300,7 @@ export default {
             }]
           },
           {
-            label: "创建时间",
+            label: "添加时间",
             prop: "createTime",
             type: "datetime",
             format: "yyyy-MM-dd hh:mm:ss",
@@ -252,13 +309,23 @@ export default {
             addDisplay: false,
             editDisplay: false,
             search: true,
-            searchSpan:6,
+            searchSpan:24,
+            searchslot:true,
             rules: [{
               required: true,
               message: "请输入通知时间",
               trigger: "blur"
             }]
           },
+          {
+            label: "关键字",
+            prop: "key",
+            hide: true,
+            search: true,
+            searchslot: true,
+            searchSpan: 12,
+            editDisplay: false,
+          },
         ]
       },
       data: []
@@ -282,6 +349,60 @@ export default {
       return ids.join(",");
     }
   },
+  watch:{
+    //监听创建时间变化
+    "query.createTime":{
+      handler(value){
+        //防止重复调用
+        if(value!==undefined){
+          this.query.createTimeRange = [];
+          switch (value){
+            case -1:
+              this.query.createTimeStart = undefined;
+              this.query.createTimeEnd = undefined;
+              break;
+            case 1: //今天
+              this.query.createTimeStart = moment().format("yyyy-MM-DD 00:00:00");
+              this.query.createTimeEnd = moment().format("yyyy-MM-DD HH:mm:ss");
+              break;
+            case 2: //昨天
+              this.query.createTimeStart = moment().subtract(1, 'days').format("yyyy-MM-DD 00:00:00");
+              this.query.createTimeEnd = moment().subtract(1, 'days').format("yyyy-MM-DD 23:59:59");
+              break;
+            case 3: //近7天
+              this.query.createTimeStart = moment().subtract(7, 'days').format("yyyy-MM-DD HH:mm:ss");
+              this.query.createTimeEnd = moment().format("yyyy-MM-DD HH:mm:ss");
+              break;
+            case 4: //近30天
+              this.query.createTimeStart = moment().subtract(30, 'days').format("yyyy-MM-DD HH:mm:ss");
+              this.query.createTimeEnd = moment().format("yyyy-MM-DD HH:mm:ss");
+              break;
+            case 5: //本月
+              this.query.createTimeStart = moment().format("yyyy-MM-01 00:00:00");
+              this.query.createTimeEnd = moment().format(`yyyy-MM-DD HH:mm:ss`);
+              break;
+            case 6: //本年
+              this.query.createTimeStart = moment().format("yyyy-01-01 00:00:00");
+              this.query.createTimeEnd = moment().format(`yyyy-MM-DD HH:mm:ss`);
+              break;
+            default:
+              break;
+          }
+        }
+      }
+    },
+    //监听创建时间变化
+    "query.createTimeRange":{
+      handler(value){
+        //防止重复调用
+        if(value.length===2){
+          this.query.createTimeStart = value[0];
+          this.query.createTimeEnd = value[1];
+          this.query.createTime = undefined;
+        }
+      }
+    },
+  },
   created() {
     this.getCensusPrice();
   },
@@ -386,19 +507,11 @@ export default {
       this.onLoad(this.page, this.query);
     },
     onLoad(page, params = {}) {
-      const {createTime} = this.query;
       let values = {
         ...params,
       };
-      if (createTime) {
-        values = {
-          ...params,
-          createTimeStart: createTime[0],
-          createTimeEnd: createTime[1],
-          ...this.query
-        };
-        values.createTime = null;
-      }
+      values.createTime = null;
+      values.createTimeRange = null;
       this.loading = true;
       getList(page.currentPage, page.pageSize, values).then(res => {
         const data = res.data.data;
@@ -412,6 +525,19 @@ export default {
       censusPrice().then(res => {
         this.censusPrice = res.data.data;
       });
+    },
+    //搜索状态改变
+    searchStateChange(){
+      setTimeout(()=>{
+        const newQuery = {};
+        this.page.currentPage = 1;
+        for(const item in this.query){
+          if(this.query[item]!==undefined && this.query[item]!==-1){
+            newQuery[item] = this.query[item];
+          }
+        }
+        this.onLoad(this.page,newQuery);
+      },100);
     }
   }
 };