Просмотр исходного кода

银行卡增加驳回,增加校验规则

@dongkboy 2 лет назад
Родитель
Сommit
a91747d2cc

+ 4 - 2
src/views/Core/KtCommonTable.vue

@@ -50,12 +50,14 @@
             </el-table-column>
             <el-table-column prop="bankNumber" label="银行卡号" style="flex: 1">
             </el-table-column>
+            <el-table-column prop="realUserName" label="真实姓名" style="flex: 1">
+            </el-table-column>
             <el-table-column prop="auditStatus" label="审核状态" style="flex: 1">
               <template slot-scope="scope1">
                 <span>{{ scope1.row.auditStatus == 0 ? '未审核' : scope1.row.auditStatus == '1' ? '审核通过' : scope1.row.auditStatus == '2' ? '审核驳回' : scope1.row.auditStatus }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="delFlag" label="是否解绑" style="flex: 1">
+            <el-table-column prop="delFlag" label="是否解绑" style="flex: 1" width="150">
               <template slot-scope="scope1">
                 <el-row>
                   <el-col :span="8">
@@ -679,7 +681,7 @@ export default {
         r: r
       })
     },
-    
+
     handleTimeLine: function (index, row, i, r) {
       this.$emit("handleTimeLine", {
         index: index,

+ 84 - 44
src/views/FinancialManagement/AcountWithdrawal/AcountBalance.vue

@@ -35,7 +35,9 @@
       </div>
       <kt-common-table :showBatchDelete="false" :showSysUserAccountCardList="true" :showBatchPrint="false"
         :showOperation="true" :data="pageResult" :columns="columns" @findPage="queryBalance" :isshowpagination="true"
-        button2Name="提现" button3Name="绑卡" button2Background="#409eff" button3Background="#409eff" @handleButton2="withdrawButton" @handleButton3="withdrawButton2" @handleBreak="handleBreak" @handleTimeLine="handleTimeLine" @handleRebind="handleRebind">
+        button2Name="提现" button3Name="绑卡" button2Background="#409eff" button3Background="#409eff"
+        @handleButton2="withdrawButton" @handleButton3="withdrawButton2" @handleBreak="handleBreak"
+        @handleTimeLine="handleTimeLine" @handleRebind="handleRebind">
       </kt-common-table>
     </SplitArea>
     <!-- </Split> -->
@@ -52,7 +54,8 @@
             <el-input v-model="withdrawForm.amount" placeholder="请输入提现金额" style="width: 300px;"></el-input>
           </el-form-item>
           <el-form-item label="银行卡">
-            <el-select clearable filterable   v-model="withdrawForm.fromBankCardId" placeholder="请选择银行卡" style="width: 300px;">
+            <el-select clearable filterable v-model="withdrawForm.fromBankCardId" placeholder="请选择银行卡"
+              style="width: 300px;">
               <el-option v-for="(item, index) in sysUserAccountCardList" :key="index"
                 :label="item.bankNumber + '-' + item.bankAccount" :value="item.bankNumber">
               </el-option>
@@ -66,20 +69,23 @@
       </el-dialog>
 
       <el-dialog :visible.sync="dialogVisible1" title="绑卡" @close="dialogVisible1 = false" width="40%">
-        <el-form ref="form" :model="addCard" label-width="100px">
-          <el-form-item label="银行卡号">
+        <el-form ref="addCardform" :model="addCard" :rules="bankAddrules" label-width="100px">
+          <el-form-item label="银行卡号" prop="bankNumber">
             <el-input v-model="addCard.bankNumber" placeholder="请输入银行卡号" style="width: 300px;"></el-input>
           </el-form-item>
-          <el-form-item label="开户行">
+          <el-form-item label="真实姓名" prop="realUserName">
+            <el-input v-model="addCard.realUserName" placeholder="请输入真实姓名" style="width: 300px;"></el-input>
+          </el-form-item>
+          <el-form-item label="开户行" prop="bankAccount">
             <el-input v-model="addCard.bankAccount" placeholder="请输入开户行" style="width: 300px;"></el-input>
           </el-form-item>
-          <el-form-item label="开户行地址">
+          <el-form-item label="开户行地址" prop="bankAddress">
             <el-input v-model="addCard.bankAddress" placeholder="请输入开户行地址" style="width: 300px;"></el-input>
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
           <el-button size="small" @click="dialogVisible1 = false">取 消</el-button>
-          <el-button size="small" type="primary" @click="handleConfirm1">确 定</el-button>
+          <el-button size="small" type="primary" @click="handleConfirm1('addCardform')">确 定</el-button>
         </span>
       </el-dialog>
 
@@ -92,8 +98,8 @@
                 <div>创建人: {{ item.creator }}</div>
               </div>
             </template>
-            </el-step>
-          </el-steps>
+          </el-step>
+        </el-steps>
       </el-dialog>
     </div>
   </div>
@@ -124,6 +130,21 @@ export default {
         amount: "",
         fromBankCardId: "",
       },
+      bankAddrules: {
+        bankAccount: [
+          { required: true, message: '请输入开户行', trigger: 'change' }
+        ],
+        realUserName: [
+          { required: true, message: '请输入真实姓名', trigger: 'change' },
+        ],
+        bankNumber: [
+          { required: true, message: '请输入卡号', trigger: 'change' }
+        ],
+        bankAddress: [
+          { required: true, message: '请输入开户行名称', trigger: 'change' }
+        ],
+
+      },
       //提现弹窗相关
       dialogVisible: false, //弹窗是否出现
       options: [
@@ -244,6 +265,16 @@ export default {
       sysUserAccountCardList: [],
     };
   },
+  watch: {
+    "addCard.bankNumber": {
+      handler(val) {
+        if (val) {
+          this.addCard.bankNumber = val.replace(/\s/g, "");
+        }
+      },
+      deep: true
+    },
+  },
   created() {
     //查询机构
     this.$api.dept.findDeptTree().then((res) => {
@@ -257,7 +288,7 @@ export default {
 
   methods: {
     // 轨迹
-    handleTimeLine({index, row, i, r}) {
+    handleTimeLine({ index, row, i, r }) {
       this.dialogVisibleLine = true
       this.$api.dept.getUserBankCardHistoryList({
         bankNumber: r.bankNumber
@@ -283,7 +314,7 @@ export default {
       })
     },
     // 解绑
-    handleBreak({index, row, i, r}) {
+    handleBreak({ index, row, i, r }) {
       this.$api.dept.unbind({
         id: r.id,
         delFlag: '1',
@@ -298,7 +329,7 @@ export default {
       })
     },
     // 重新绑定
-    handleRebind({index, row, i, r}) {
+    handleRebind({ index, row, i, r }) {
       this.$api.dept.rebind({
         id: r.id,
         delFlag: '0',
@@ -313,17 +344,22 @@ export default {
       })
     },
     // 绑卡
-    handleConfirm1() {
-      this.addCard.isDefault = '0'
-      this.$api.dept.insert(this.addCard).then((res) => {
-        if (res.code == 200) {
-          this.queryBalance();
-          this.$message.success(res.msg)
-          this.dialogVisible1 = false
-        } else {
-          this.$message.error(res.msg)
+    handleConfirm1(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.addCard.isDefault = '0'
+          this.$api.letter.insertByBankNumber(this.addCard).then((res) => {
+            if (res.code == 200) {
+              this.queryBalance();
+              this.$message.success(res.msg)
+              this.dialogVisible1 = false
+            } else {
+              this.$message.error(res.msg)
+            }
+          })
         }
       })
+
     },
     //弹窗是否出现
     showDialog() {
@@ -331,25 +367,26 @@ export default {
     },
     //体现操作
     handleConfirm() {
-      this.dialogVisible = false;
-      this.$api.dept.withdraw(this.withdrawForm).then((res) => {
-        if (res.code == 200) {
-          this.queryBalance();
-          this.$message({
-            message:'success',
-            message: "提现成功",
-          });
-        } else {
-          this.$message({
-            message: res.msg,
-            type: 'error'
-          });
-        }
-        (this.userId = ""),
-          (this.selectedValue = ""),
-          (this.amount = ""),
-          (this.fromBankCardId = "");
-      });
+      console.log(this.withdrawForm)
+      // this.dialogVisible = false;
+      // this.$api.dept.withdraw(this.withdrawForm).then((res) => {
+      //   if (res.code == 200) {
+      //     this.queryBalance();
+      //     this.$message({
+      //       message:'success',
+      //       message: "提现成功",
+      //     });
+      //   } else {
+      //     this.$message({
+      //       message: res.msg,
+      //       type: 'error'
+      //     });
+      //   }
+      //   (this.userId = ""),
+      //     (this.selectedValue = ""),
+      //     (this.amount = ""),
+      //     (this.fromBankCardId = "");
+      // });
     },
     //提现条件
     withdrawButton({ index, row }) {
@@ -364,7 +401,7 @@ export default {
       this.dialogVisible = !this.dialogVisible;
     },
     // 绑卡
-    withdrawButton2({index, row}) {
+    withdrawButton2({ index, row }) {
       this.addCard = {}
       this.addCard.userId = row.userId;
       this.addCard.userName = row.name
@@ -474,16 +511,19 @@ export default {
 .el-cascader {
   width: 100%;
 }
+
 .el-steps {
-  >>> .el-step__head.is-wait {
+  >>>.el-step__head.is-wait {
     color: var(--themeColor);
     border-color: var(--themeColor);
   }
-  >>> .el-step__title.is-wait {
+
+  >>>.el-step__title.is-wait {
     color: var(--themeColor);
     font-weight: 700;
   }
-  >>> .el-step__description.is-wait {
+
+  >>>.el-step__description.is-wait {
     color: #606266;
     margin-bottom: 10px;
   }

+ 1 - 1
src/views/FinancialManagement/AcountWithdrawal/WithdrawalReview.vue

@@ -125,7 +125,7 @@ export default {
     reviewStatussubmit() {
       const loading = this.$loading({
         lock: true,
-        text: 'Loading',
+        text: '接口请求中',
         spinner: 'el-icon-loading',
         background: 'rgba(0, 0, 0, 0.7)'
       });

+ 1 - 1
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue

@@ -475,7 +475,7 @@ export default {
       }).then(() => {
         const loading = this.$loading({
         lock: true,
-        text: 'Loading',
+        text: '数据加载中,请稍等',
         spinner: 'el-icon-loading',
         background: 'rgba(0, 0, 0, 0.7)'
       });

+ 115 - 82
src/views/Letter/Wallet/BankCard.vue

@@ -7,13 +7,13 @@
       <el-radio-button label="1">已审核</el-radio-button>
       <el-radio-button label="2">审核驳回</el-radio-button>
     </el-radio-group>
-    <div class="flex f-wrap  a-c">
-      <div class="bankClass " @click="bankAddVisible = true">
-        <div class="add flex j-c a-c">
-          <img src="../../../../static/bankadd.png" alt="">
-          <span>添加银行卡提现</span>
-        </div>
+    <div class="bankClass " @click="bankAddVisible = true">
+      <div class="add flex j-c a-c">
+        <img src="../../../../static/bankadd.png" alt="">
+        <span>添加银行卡提现</span>
       </div>
+    </div>
+    <div class="flex f-wrap  a-c">
       <template v-if="bankType == 0">
         <div class="bankdata flex f-c j-s" :style="{ background: item.stylelist.background }"
           v-for="(item, index) in cardPackList1" :key="index">
@@ -28,16 +28,9 @@
                 <span>储蓄卡</span>
               </div>
             </div>
-
-            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item)"
-              v-loading.fullscreen.lock="Loading">
           </div>
           <div class="bank flex j-s a-c">
-            <div>{{ item.bankNumber.slice(0, 4) }}</div>
-            <div>{{ item.bankNumber.slice(4, 8) }}</div>
-            <div>{{ item.bankNumber.slice(8, 12) }}</div>
-            <div>{{ item.bankNumber.slice(12, 16) }}</div>
-            <div>{{ item.bankNumber.slice(-3) }}</div>
+            <div v-for="(item, index) in item.bankArray " :key="index">{{ item }}</div>
           </div>
         </div>
       </template>
@@ -63,64 +56,55 @@
             </div>
           </div>
           <div class="bank flex j-s a-c">
-            <div>{{ item.bankNumber.slice(0, 4) }}</div>
-            <div>{{ item.bankNumber.slice(4, 8) }}</div>
-            <div>{{ item.bankNumber.slice(8, 12) }}</div>
-            <div>{{ item.bankNumber.slice(12, 16) }}</div>
-            <div>{{ item.bankNumber.slice(-3) }}</div>
+            <div v-for="(item, index) in item.bankArray " :key="index">{{ item }}</div>
           </div>
         </div>
       </template>
       <template v-if="bankType == 2">
-        <div class="bankdata flex f-c j-s" :style="{ background: item.stylelist.background }"
-          v-for="(item, index) in cardPackList3" :key="index">
-          <img class="Backgroundimage" src="../../../../static/bankLogo/img1.png" alt="">
-          <div class="flex j-s a-start">
-            <div class="flex">
-              <div class="logo">
-                <img :src="item.stylelist.logo" mode="">
-              </div>
-              <div class="banktitle flex f-c">
-                <span>{{ item.bankAccount }}</span>
-                <span>储蓄卡</span>
+        <div class="flex f-c a-c" v-for="(item, index) in cardPackList3" :key="index">
+          <div class="bankdata flex f-c j-s" :style="{ background: item.stylelist.background }">
+            <img class="Backgroundimage" src="../../../../static/bankLogo/img1.png" alt="">
+            <div class="flex j-s a-start">
+              <div class="flex">
+                <div class="logo">
+                  <img :src="item.stylelist.logo" mode="">
+                </div>
+                <div class="banktitle flex f-c">
+                  <span>{{ item.bankAccount }}</span>
+                  <span>储蓄卡</span>
+                </div>
               </div>
             </div>
-            <!-- <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item)"
-              v-loading.fullscreen.lock="Loading"> -->
-          </div>
-          <div class="bank flex j-s a-c">
-            <div>{{ item.bankNumber.slice(0, 4) }}</div>
-            <div>{{ item.bankNumber.slice(4, 8) }}</div>
-            <div>{{ item.bankNumber.slice(8, 12) }}</div>
-            <div>{{ item.bankNumber.slice(12, 16) }}</div>
-            <div>{{ item.bankNumber.slice(-3) }}</div>
+            <div class="bank flex j-s a-c">
+              <div v-for="(item, index) in item.bankArray " :key="index">{{ item }}</div>
+            </div>
           </div>
+          <div class="rejetion">驳回原因:{{item.remark }}</div>
         </div>
       </template>
     </div>
     <el-dialog :title="banktitle + '银行卡'" :visible.sync="bankAddVisible" width="28%" @close="bankopen">
       <div class="dialogCentent">
-        <el-form ref="form" :model="bankAddform" label-width="80px">
-          <el-form-item label="选择银行">
-            <el-select v-model="bankAddform.bankAccount" placeholder="点击选择银行卡" filterable clearable>
+        <el-form ref="bankAddform" :model="bankAddform" :rules="bankAddrules" label-width="80px">
+          <el-form-item label="选择银行" prop="bankAccount">
+            <el-select v-model="bankAddform.bankAccount" placeholder="点击选择银行" filterable clearable>
               <el-option :label="item.label" :value="item.label" v-for="(item, index) in list " :key="index"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="真实姓名">
-            <el-input v-model="bankAddform.realUserName" placeholder="请输入真实姓名"></el-input>
+          <el-form-item label="真实姓名" prop="realUserName">
+            <el-input v-model="bankAddform.realUserName" placeholder="请输入真实姓名" clearable></el-input>
           </el-form-item>
-          <el-form-item label="银行卡">
-            <el-input v-model="bankAddform.bankNumber" placeholder="请输入银行卡号"></el-input>
+          <el-form-item label="银行卡号" prop="bankNumber">
+            <el-input v-model="bankAddform.bankNumber" type="number" placeholder="请输入银行卡号" clearable></el-input>
           </el-form-item>
-          <el-form-item label="开户行">
-            <el-input v-model="bankAddform.bankAddress" placeholder="请输入开户行"></el-input>
+          <el-form-item label="开户行" prop="bankAddress">
+            <el-input v-model="bankAddform.bankAddress" placeholder="请输入开户行" clearable></el-input>
           </el-form-item>
-
         </el-form>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button size="small" @click="bankAddVisible = false">取 消</el-button>
-        <el-button size="small" type="primary" @click="bankAdd">确 定</el-button>
+        <el-button size="small" type="primary" @click="bankAdd('bankAddform')">确 定</el-button>
       </span>
     </el-dialog>
   </div>
@@ -142,6 +126,21 @@ export default {
       },
       bankAddVisible: false,
       Loading: false,
+      bankAddrules: {
+        bankAccount: [
+          { required: true, message: '请选择银行', trigger: 'change' }
+        ],
+        realUserName: [
+          { required: true, message: '请输入真实姓名', trigger: 'change' },
+        ],
+        bankNumber: [
+          { required: true, message: '请输入卡号', trigger: 'change' }
+        ],
+        bankAddress: [
+          { required: true, message: '请输入开户行名称', trigger: 'change' }
+        ],
+
+      },
       cardPackList1: [],
       cardPackList2: [],
       cardPackList3: [],
@@ -311,47 +310,60 @@ export default {
       ],
     }
   },
+  watch: {
+    "bankAddform.bankNumber": {
+      handler(val) {
+        if (val) {
+          this.bankAddform.bankNumber = val.replace(/\s/g, "");
+        }
+      },
+      deep: true
+    },
+  },
   // 生命周期函数
   created() {
     this.banklist();
   },
   // 方法函数
   methods: {
-    bankAdd() {
-      if (this.banktitle == '添加') {
-        this.$api.letter.insertByBankNumber(this.bankAddform).then((res) => {
-          if (res.code == '200') {
-            this.bankAddVisible = false;
-            this.banklist();
-            this.$message({
-              type: 'success',
-              message: "添加成功",
-            });
-          } else {
-            this.$message({
-              type: 'error',
-              message: res.msg,
-            });
-          }
-        });
-      } else {
-        this.$api.dept.bankupdate(this.bankAddform).then((res) => {
-          if (res.code == '200') {
-            this.bankAddVisible = false;
-            this.banklist();
-            this.$message({
-              type: 'success',
-              message: "修改成功",
+    bankAdd(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          if (this.banktitle == '添加') {
+            this.$api.letter.insertByBankNumber(this.bankAddform).then((res) => {
+              if (res.code == '200') {
+                this.bankAddVisible = false;
+                this.banklist();
+                this.$message({
+                  type: 'success',
+                  message: "添加成功",
+                });
+              } else {
+                this.$message({
+                  type: 'error',
+                  message: res.msg,
+                });
+              }
             });
           } else {
-            this.$message({
-              type: 'error',
-              message: res.msg,
+            this.$api.dept.bankupdate(this.bankAddform).then((res) => {
+              if (res.code == '200') {
+                this.bankAddVisible = false;
+                this.banklist();
+                this.$message({
+                  type: 'success',
+                  message: "修改成功",
+                });
+              } else {
+                this.$message({
+                  type: 'error',
+                  message: res.msg,
+                });
+              }
             });
           }
-        });
-      }
-
+        }
+      });
     },
     bankdel(item) {
       this.$confirm('是否解绑银行卡?', '提示', {
@@ -388,8 +400,12 @@ export default {
       });
 
     },
-    bankopen(){
+    bankopen() {
       this.banktitle = '添加';
+      for (const key in this.bankAddform) {
+        if (key !== 'isDefault')
+          this.bankAddform[key] = "";
+      }
     },
     bankupdate(item) {
       this.$api.dept.bankgetByBankId(item.id).then((res) => {
@@ -431,6 +447,11 @@ export default {
                 background: 'linear-gradient(90deg, rgba(229, 166,0,0.7) 0%, #e5a600 100%)',
               }
             }
+            const resultArray = [];
+            for (let i = 0; i < val.bankNumber.length; i += 4) {
+              resultArray.push(val.bankNumber.substring(i, i + 4));
+            }
+            val.bankArray = resultArray;
             switch (val.auditStatus) {
               case "0":
                 list1.push(val);
@@ -463,6 +484,18 @@ export default {
 </script>
 <!-- 样式区域 -->
 <style lang='scss' scoped>
+.rejetion {
+  width: 322px;
+  height: 56px;
+  background: rgba(212, 36, 38, 0.1);
+  border-radius: 4px 4px 4px 4px;
+  padding: 6px;
+  box-sizing: border-box;
+  color: #D42426;
+  font-size: 15px;
+
+}
+
 /deep/ {
   .el-dialog__body {
     background: #F2F2F2;