bindBank.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <template>
  2. <view class="container">
  3. <view class="listTpl flex" v-if="list.length > 0" v-for="item,index in list">
  4. <view class="infoTpl">
  5. <view class="tplName flex_item">
  6. <image src="../../../static/image/img34.png" style="width: 40rpx;height: 30rpx;position: relative;top:10rpx;" mode="widthFix"></image>
  7. <view class="titleBox">
  8. <view class="name">{{item.bank}}</view>
  9. <view class="tip">持卡人:{{item.bank_real_name}}</view>
  10. </view>
  11. </view>
  12. <view class="cardNum flex_item">
  13. <view class="num" v-if="!item.show">{{item.bank_code1}}</view>
  14. <view class="num1" v-else>{{item.bank_code}}</view>
  15. <view @click="showChange(index,item.show)">
  16. <image :src="item.show?'/static/image/img35.png':'/static/image/img36.png'" style="width: 50rpx;height: 50rpx;" mode="widthFix"></image>
  17. </view>
  18. </view>
  19. </view>
  20. <view class="tplTip flex_item" @click="edit(item.id,'edit')">
  21. <view class="edit">去修改</view>
  22. <uni-icons type="right" color="#fff"></uni-icons>
  23. </view>
  24. <view class="del" @click="del(item.id)">
  25. <image src="/static/image/img37.png" style="width: 32rpx;height: 32rpx;" mode="widthFix"></image>
  26. </view>
  27. </view>
  28. <view class="noData" v-if="list.length == 0">暂无银行卡数据~</view>
  29. <view class="submission">
  30. <button class="golden" type="golden" hover-class="none" @click="edit(0,'add')">添加银行卡</button>
  31. </view>
  32. </view>
  33. </template>
  34. <script>
  35. import { getBank,delBank } from '@/api/set.js';
  36. export default {
  37. data() {
  38. return{
  39. list:[],
  40. };
  41. },
  42. onLoad() {},
  43. onShow() {
  44. this.getList()
  45. },
  46. methods: {
  47. showChange(index,show){
  48. this.list[index].show = !show
  49. },
  50. getList(){
  51. let obj = this
  52. getBank({
  53. page:1,
  54. limit:100
  55. }).then(res => {
  56. let data = res.data.list
  57. let reg = /^(.{4})(?:\d+)(.{4})$/
  58. data.forEach(item => {
  59. item.show = false
  60. item.bank_code1 = item.bank_code.replace(reg, "**** **** **** $2")
  61. })
  62. obj.list = data
  63. });
  64. },
  65. del(id){
  66. let obj = this
  67. uni.showModal({
  68. title: '提示',
  69. content: '您确定要删除该银行卡吗?',
  70. success: (res) => {
  71. if(res.confirm) {
  72. delBank({
  73. id:id
  74. }).then(res => {
  75. uni.showToast({
  76. title: res.msg,
  77. icon: 'none',
  78. duration: 1000
  79. })
  80. setTimeout(function () {
  81. obj.getList()
  82. }, 100);
  83. });
  84. } else {
  85. console.log('cancel') //点击取消之后执行的代码
  86. }
  87. }
  88. })
  89. },
  90. edit(id,type){
  91. if(type == 'add'){
  92. uni.navigateTo({
  93. url:'/pages/user/set/editBank'
  94. })
  95. }else{
  96. uni.navigateTo({
  97. url:'/pages/user/set/editBank?id='+id
  98. })
  99. }
  100. }
  101. },
  102. };
  103. </script>
  104. <style lang="scss" scoped>
  105. .container{
  106. padding: 25rpx 25rpx;
  107. }
  108. .del{
  109. position: absolute;
  110. right: 35rpx;
  111. top: 35rpx;
  112. }
  113. .listTpl{
  114. color: #fff;
  115. background: #1F2A4A;
  116. padding: 36rpx 38rpx;
  117. border-radius: 20rpx;
  118. margin-bottom: 25rpx;
  119. position: relative;
  120. .infoTpl{
  121. .tplName{
  122. align-items: flex-start;
  123. .titleBox{
  124. padding-left: 25rpx;
  125. .name{
  126. font-weight: bold;
  127. font-size: 30rpx;
  128. color: #FFFFFF;
  129. }
  130. .tip{
  131. font-weight: 500;
  132. font-size: 25rpx;
  133. color: rgba(255, 255, 255, 0.64);
  134. padding-top: 12rpx;
  135. }
  136. }
  137. }
  138. .cardNum{
  139. font-weight: bold;
  140. color: #FFFFFF;
  141. padding-top: 50rpx;
  142. padding-bottom: 20rpx;
  143. .num{
  144. margin-right: 35rpx;
  145. font-size: 45rpx;
  146. }
  147. .num1{
  148. margin-right: 35rpx;
  149. font-size: 38rpx;
  150. }
  151. }
  152. }
  153. }
  154. .noData{
  155. color: rgba(255, 255, 255, 0.64);
  156. font-size: 25rpx;
  157. padding: 30rpx 0rpx;
  158. text-align: center;
  159. }
  160. .submission {
  161. padding: 80rpx 25rpx;
  162. .golden {
  163. background: #0C5AFA;
  164. color: #ffffff;
  165. }
  166. }
  167. .edit{
  168. font-size: 30rpx;
  169. }
  170. </style>