index.vue 4.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <!-- 会员中心-会员信息 -->
  2. <template>
  3. <app-view>
  4. <el-descriptions title="会员信息" :column="2" style="padding:20px">
  5. <el-descriptions-item label="登录代码">{{ handleNoneValue(loginInfo.logincode) }}</el-descriptions-item>
  6. <el-descriptions-item label="企业名称">{{ handleNoneValue(userInfo.customername) }}</el-descriptions-item>
  7. <el-descriptions-item label="登录账号">{{ loginInfo.loginid }}</el-descriptions-item>
  8. <el-descriptions-item label="手机号">{{ handleNoneValue(userInfo.mobile2) }}</el-descriptions-item>
  9. <el-descriptions-item label="机构代码">{{ userInfo.userid }}</el-descriptions-item>
  10. <el-descriptions-item label="法人姓名">{{ handleNoneValue(userInfo.legalpersonname) }}</el-descriptions-item>
  11. <el-descriptions-item label="证件类型">{{ getCertificateTypeName(userInfo.cardtypeid) }}</el-descriptions-item>
  12. <el-descriptions-item label="企业地址">{{ handleNoneValue(userInfo.address) }}</el-descriptions-item>
  13. <el-descriptions-item label="证件号码">{{ handleNoneValue(decryptAES(userInfo.cardnum)) }}
  14. </el-descriptions-item>
  15. <el-descriptions-item label="联系人">{{ handleNoneValue(userInfo.contactname) }}</el-descriptions-item>
  16. <el-descriptions-item label="联系电话">{{ handleNoneValue(decryptAES(userInfo.telphone))
  17. }}</el-descriptions-item>
  18. </el-descriptions>
  19. <el-divider />
  20. <el-descriptions title="签约信息" :column="2" style="padding:20px" v-if="accountInfo">
  21. <el-descriptions-item label="资金账号">{{ accountInfo.accountid }}</el-descriptions-item>
  22. <el-descriptions-item label="余额">{{ accountInfo.currentbalance.toFixed(2) }}</el-descriptions-item>
  23. <el-descriptions-item label="冻结资金">{{ freezeMargin.toFixed(2) }}</el-descriptions-item>
  24. <el-descriptions-item label="可用资金">{{ avaiableMoney.toFixed(2) }}</el-descriptions-item>
  25. <template v-if="bankInfo">
  26. <el-descriptions-item label="托管银行">{{ bankInfo.cusbankname }}</el-descriptions-item>
  27. <el-descriptions-item label="开户银行">{{ bankInfo.bankname }}</el-descriptions-item>
  28. <el-descriptions-item label="证件类型">{{
  29. bankInfo.cardtype ?
  30. getCertificateTypeName(Number(bankInfo.cardtype)) : handleNoneValue('')
  31. }}
  32. </el-descriptions-item>
  33. <el-descriptions-item label="银行卡户名">{{ bankInfo.bankaccountname }}</el-descriptions-item>
  34. <el-descriptions-item label="证件号码">{{ handleNoneValue(bankInfo.cardno) }}</el-descriptions-item>
  35. <el-descriptions-item label="银行子账号">{{ handleNoneValue(bankInfo.bankchildaccount) }}
  36. </el-descriptions-item>
  37. <el-descriptions-item label="手机号">{{ handleNoneValue(bankInfo.mobilephone) }}</el-descriptions-item>
  38. <el-descriptions-item label="签约状态">{{ getSignStatusName(bankInfo.signstatus) }}</el-descriptions-item>
  39. </template>
  40. </el-descriptions>
  41. <app-auth-operation :menus="handleTableButtons" :options="{ bankInfo }" @closed="getBankAccountSign" />
  42. </app-view>
  43. </template>
  44. <script lang="ts" setup>
  45. import { computed } from 'vue'
  46. import { useAccount } from '@/business/account'
  47. import { decryptAES } from '@/utils/websocket/crypto'
  48. import { handleNoneValue } from '@/filters'
  49. import { getCertificateTypeName } from '@/constants/certificate'
  50. import { SignStatus, getSignStatusName } from '@/constants/bank'
  51. import { useAccountStore } from '@/stores'
  52. import AppAuthOperation from '@pc/components/modules/auth-operation/index.vue'
  53. const { accountInfo, avaiableMoney, freezeMargin } = useAccountStore()
  54. const { loading, loginInfo, userInfo, bankInfo, getBankAccountSign } = useAccount()
  55. const handleTableButtons = computed(() => {
  56. const buttons = ['mine_profile_loginpassword', 'mine_profile_accountpassword']
  57. if (!loading.value) {
  58. if (bankInfo.value) {
  59. switch (bankInfo.value.signstatus) {
  60. case SignStatus.Signed: {
  61. buttons.push('mine_profile_rescind')
  62. break
  63. }
  64. case SignStatus.Unsigned:
  65. case SignStatus.Rescinded:
  66. case SignStatus.Refuse: {
  67. buttons.push('mine_profile_sign')
  68. break
  69. }
  70. }
  71. } else {
  72. buttons.push('mine_profile_sign')
  73. }
  74. }
  75. return buttons
  76. })
  77. getBankAccountSign()
  78. </script>