Browse Source

fix:交通银行新需求点修改

lazy 1 week ago
parent
commit
d8209b77d5

+ 2 - 1
src/store/modules/constant.js

@@ -43,7 +43,8 @@ export default {
       bocomCustomerStages: [], // 会员信息管理 - 客户阶段
       bocomApiInterface: [], // 会员接口管理 -
       bocomTransState: [], // 会员账户-资金管理-交易记录-交易状态
-      bocomTransRecordsFundSource: [] // 会员账户-资金管理-交易记录-资金来源
+      bocomTransRecordsFundSource: [], // 会员账户-资金管理-交易记录-资金来源
+      bocomVipAccountStatus: [] // 会员账户-搜索-会员账户状态
     }
   },
   mutations: {

+ 0 - 12
src/store/modules/constantData.js

@@ -33,18 +33,6 @@ export default {
       name: '债务人'
     }
   ],
-
-  // 会员账户管理 -- 账户状态
-  memberAccountStatus: [
-    {
-      code: 1,
-      name: '生效'
-    },
-    {
-      code: 3,
-      name: '失效'
-    }
-  ],
   // 会员管理 -- 会员授权状态
   memberAccountAuthStatus: [
     {

+ 15 - 0
src/views/cyAccountManage/memberAccountManage/components/BindCard.vue

@@ -406,6 +406,10 @@ export default {
       }
     },
     deleteCard(row) {
+      if (!this.isDelInToday(row.moneyConfirmStartTime)) {
+        this.$message.warning('实体卡激活当日不允许删除')
+        return
+      }
       this.$confirm('您将删除该绑定实体卡,删除后无法恢复。请确认是否继续?', '删除绑定实体卡', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
@@ -428,6 +432,10 @@ export default {
       }
     },
     addCard() {
+      if (this.tableData.length > 0) {
+        this.$message.warning('一个账户只允许绑定一个实体账户,如需更改,请先删除已绑定实体账户')
+        return
+      }
       this.$refs.dialog.show = true
     },
     getVerifyDesc(status) {
@@ -472,6 +480,13 @@ export default {
         return approvalMap[status] || ''
       }
       return ''
+    },
+    isDelInToday(date) {
+      const timeDelay = 24 * 60 * 60 * 1000
+      const now = new Date().getTime()
+      const dateTime = new Date(date).getTime()
+
+      return dateTime - now > timeDelay
     }
   }
 }

+ 60 - 9
src/views/cyAccountManage/memberAccountManage/mainContent.vue

@@ -13,7 +13,7 @@
         <div>
           <el-select v-model="search.accountStatus" placeholder="请选择账户状态" clearable>
             <el-option
-              v-for="item in constant.memberAccountStatus"
+              v-for="item in constant.bocomVipAccountStatus"
               :key="item.code"
               :label="item.name"
               :value="item.code"
@@ -110,19 +110,26 @@ export default {
         },
         {
           label: '账户状态',
+          prop: 'accountStatusReal',
+          showTooltip: true
+        },
+        {
+          label: '授权代理人授权状态',
+          width: 150,
           showTooltip: true,
           render: (h, row) => {
             return (
-              <div>{ row.accountStatus === 1 ? '生效' : '失效' }</div>
+              <div>{ this.getAuthorizationDesc(row.authorizationStatus) }</div>
             )
           }
         },
         {
-          label: '授权状态',
+          label: '法人授权状态',
+          width: 120,
           showTooltip: true,
           render: (h, row) => {
             return (
-              <div>{ this.getAuthorizationDesc(row.authorizationStatus) }</div>
+              <div>{ this.getlegalDesc(row.legalAuthorizationStatus) }</div>
             )
           }
         },
@@ -190,6 +197,7 @@ export default {
           prop: 'currency',
           showTooltip: true
         },
+
         {
           label: '通知推送对象',
           width: 120,
@@ -200,6 +208,23 @@ export default {
             )
           }
         },
+        {
+          label: '提示',
+          render: (h, row) => {
+            if (row.accountStatusReal === '生效') {
+              if (row.authorizationStatus === 1 && row.legalAuthorizationStatus === 1) {
+                return <div>请联系客服</div>
+              }
+              if (row.authorizationStatus === 2 && row.legalAuthorizationStatus === 2) {
+                return <div>请联系客服</div>
+              }
+              if (row.authorizationStatus === 3 && row.legalAuthorizationStatus === 3) {
+                return <div>请联系客服</div>
+              }
+            }
+            return <div></div>
+          }
+        },
         {
           label: '创建日期',
           prop: 'gmtCreate',
@@ -320,16 +345,30 @@ export default {
     ...mapGetters(['constant']),
     tablePower() {
       return ({ item, tab, row }) => {
-        const { tabPower, rowPower } = item
+        const { tabPower, rowPower, category } = item
         if (rowPower) {
           if (tabPower.includes(tab) && rowPower.includes(row.statusName)) {
             return true
           }
 
-          if (row.authorizationStatus !== null &&
-            rowPower.includes(row.authorizationStatus)) {
-            return true
-          } else {
+          // if (row.authorizationStatus !== null &&
+          //   rowPower.includes(row.authorizationStatus)) {
+          //   return true
+          // } else {
+          //   return false
+          // }
+          if (category === 'seeAuth') {
+            if (row.accountStatusReal === '生效') {
+              if (row.authorizationStatus === 0 && row.legalAuthorizationStatus === 0) {
+                return true
+              }
+              if (row.authorizationStatus === 0 && row.legalAuthorizationStatus === 4) {
+                return true
+              }
+              if (row.authorizationStatus === 4 && row.legalAuthorizationStatus === 0) {
+                return true
+              }
+            }
             return false
           }
         } else {
@@ -363,6 +402,7 @@ export default {
   },
   mounted() {
     this.fetchData('all')
+    this.$store.dispatch('getConstant', ['bocomVipAccountStatus'])
   },
   methods: {
     async fetchData(tab) {
@@ -599,6 +639,17 @@ export default {
         return noticeMap[status] || ''
       }
       return ''
+    },
+    // 法人授权状态
+    getlegalDesc(status) {
+      const map = {
+        0: '待用户授权',
+        1: '银行审核中',
+        2: '授权失败(用户拒绝)',
+        3: '授权失败(银行拒绝)',
+        4: '授权成功'
+      }
+      return map[status] || ''
     }
   }
 }

+ 10 - 1
src/views/cyAccountManage/memberInfoManage/mainContent.vue

@@ -66,7 +66,7 @@
     <cy-dialog ref="timeAxisDialog" title="进度时间轴" top="15vh">
       <cy-time-axis ref="timeAxis" :time-axis-params="timeAxisParams"></cy-time-axis>
     </cy-dialog>
-    <authorization ref="authorizationRef" :active-info="authActiveInfo" :go-list="true" />
+    <authorization ref="authorizationRef" :active-info="authActiveInfo" :go-list="goList" />
     <cy-dialog ref="failreasonDialog" title="报错原因" top="15vh">
       <cy-comm-table
         :columns="reasonColumns"
@@ -95,6 +95,7 @@ export default {
       activeName: 'pending',
       loading: false,
       total: 0,
+      goList: false,
       search: {
         stage: '',
         keyword: '',
@@ -491,6 +492,13 @@ export default {
         this.handleAddAccount(row)
       } else if (type === 'auth') {
         // 去授权
+        this.$refs.authorizationRef.openDialog(true)
+        this.goList = false
+        this.authActiveInfo = {
+          name: row.authenticator,
+          qrcodeUrl: row.qrCode,
+          effectTime: row.qrCodeEffectTime
+        }
       } else if (type === 'finishChange') {
         // 完成变更
         const str = row.customerType === 0 ? '只有单位名称、法人证件号、授权代理人证件号可进行变更' : row.customerType === 1 ? '只有单位名称、负责人证件号码、授权代理人证件号码可进行变更' : ''
@@ -544,6 +552,7 @@ export default {
     async handleAddAccount(row) {
       const res = await addMemberRegister({ bocomBasicInfoId: row.id, Loading: true })
       if (res.success && res.data && res.data.authorizationStatus !== 4) {
+        this.goList = true
         this.authActiveInfo = {
           name: res.data.authenticator,
           qrcodeUrl: res.data.qrCode,