You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

list.vue 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <view class="content">
  3. <view class="list-item" v-for="(item,index) in state.tableData">
  4. <view><text>卡号:</text><text>{{item.cardId}}</text></view>
  5. <view><text>下黑时间:</text><text>{{item.creationTime}}</text></view>
  6. <view v-if="item.reasonIn"><text>下黑原因:</text><text>{{item.reasonIn}}</text></view>
  7. <view><text>黑名单类型:</text><text>{{item.typeC}}</text></view>
  8. <view><text>状态:</text><text>{{item.status == '1'?'在黑':'已反白'}}</text></view>
  9. </view>
  10. <view class="no" v-if="state.tableData.length==0">暂无黑名单</view>
  11. </view>
  12. </template>
  13. <script setup lang="ts">
  14. import { reactive } from "vue";
  15. import { onLoad } from "@dcloudio/uni-app";
  16. import { blackApi } from "@/utils/network/api.js";
  17. import { request } from "@/utils/network/request.js";
  18. import { stringToJson } from "@/utils/network/encryption.js";
  19. import { getItem } from "@/utils/storage";
  20. const state = reactive({
  21. vehiclePlate: "",
  22. vehiclePlateColor: "",
  23. tableData: [],
  24. blackStatus: []
  25. });
  26. onLoad((option : any) => {
  27. console.log("option", option)
  28. let black = getItem('key')['BLACKLIST_TYPE'];
  29. for (var k = 0; k < black.length; k++) {
  30. let obj = {};
  31. obj['value'] = black[k]['code']
  32. obj['text'] = black[k]['name']
  33. state.blackStatus.push(obj)
  34. }
  35. console.log("black", state.blackStatus)
  36. state.vehiclePlate = option.vehiclePlate;
  37. state.vehiclePlateColor = option.vehiclePlateColor;
  38. list()
  39. })
  40. const list = () => {
  41. const options = {
  42. type: 2,
  43. data: {
  44. "vehiclePlate": state.vehiclePlate,
  45. "vehiclePlateColor": state.vehiclePlateColor
  46. },
  47. method: 'POST',
  48. showLoading: true,
  49. }
  50. request(blackApi, options).then((res) => {
  51. const data = stringToJson(res.bizContent);
  52. const getData = data.blackCards;
  53. const newData = []
  54. // 只要在黑的 和 1 2 3不展示
  55. // LOSS("卡挂失",1){},
  56. // HANG_WITHOUT_CARD("无卡挂起",2){},
  57. // CANCEL_WITHOUT_CARD("无卡注销",3){},
  58. // OVERDRAW("账户透支",4){},
  59. // AGENCY_BLACK("合作机构黑名单",5){},
  60. // VEHICLE_TYPE_NOTMATCH("车型不符",6){},
  61. // CARD_BALANCE_INSUFFICIENT("储值卡余额不足",7){},
  62. for (var i = 0; i < getData.length; i++) {
  63. if (getData[i]['status'] == '1' && (getData[i]['type'] == 4 || getData[i]['type'] == 5 || getData[i]['type'] == 6 || getData[i]['type'] == 7)) {
  64. newData.push(getData[i])
  65. }
  66. }
  67. for (var i = 0; i < newData.length; i++) {
  68. for (var m = 0; m < state.blackStatus.length; m++) {
  69. if (newData[i]['type'] == state.blackStatus[m]['value']) {
  70. newData[i]['typeC'] = state.blackStatus[m]['text']
  71. break;
  72. }
  73. }
  74. }
  75. state.tableData = newData
  76. console.log("圈存金额查询2", data)
  77. })
  78. }
  79. </script>
  80. <style scoped>
  81. .content {
  82. padding-bottom: 20rpx;
  83. background-color: #EEF7F7;
  84. padding-top: 20rpx;
  85. min-height: 100vh;
  86. }
  87. .list-item {
  88. width: 95%;
  89. border-radius: 10rpx;
  90. margin: 30rpx auto;
  91. font-size: 28rpx;
  92. border: 1rpx solid #ccc;
  93. padding: 12rpx;
  94. box-sizing: border-box;
  95. background-color: white;
  96. }
  97. .list-item>view {
  98. margin-bottom: 10rpx;
  99. width: 94%;
  100. }
  101. .no {
  102. text-align: center;
  103. padding-top: 100rpx;
  104. }
  105. </style>