kpjl.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <template>
  2. <view>
  3. <!-- 可开发票列表 -->
  4. <view class="fpList flex justify-center flex-wrap" v-if="orderList.length>0">
  5. <view class="fpList-box">
  6. <view class="fpList-box-item flex justify-center" v-for="(item,index) in orderList" :key="index">
  7. <view class="fpList-box-item-c flex justify-between align-center">
  8. <view class="fpList-box-item-c-l flex align-center">
  9. <view class="fpList-box-item-c-l-info">
  10. <view class="flex justify-between align-center" style="font-weight: bold;width: 646rpx;" :style="item.status==3?'color:red;':'color:green;'">
  11. {{item.status==1?'处理中':(item.status==2?'开票完成':'开票失败')}}
  12. <span style="font-weight: bold;color: black;">{{item.invoiceMoney}}元</span>
  13. </view>
  14. <view class="" style="color: rgb(126, 126, 126);margin-top: 10rpx;">
  15. <view class="">
  16. 发票抬头:{{item.invoiceHeader}}
  17. </view>
  18. <view class="">
  19. 纳税人识别号:{{item.taxPayerNumber}}
  20. </view>
  21. <view class="">
  22. 发票金额:{{item.invoiceMoney}}
  23. </view>
  24. <view class="">
  25. 开户行:{{item.bankDeposit}}
  26. </view>
  27. <view class="">
  28. 银行卡号:{{item.bankNumber}}
  29. </view>
  30. <view class="">
  31. 开户手机号:{{item.bankPhone}}
  32. </view>
  33. </view>
  34. <view class="fpList-box-item-c-l-info-c">
  35. 开票内容:{{item.invoiceTitle}}
  36. </view>
  37. <view class="fpList-box-item-c-l-info-c">
  38. 接收邮箱:{{item.userEmail}}
  39. </view>
  40. <view class="fpList-box-item-c-l-info-b">
  41. 接收手机号:{{item.userPhone}}
  42. </view>
  43. <view class="fpList-box-item-c-l-info-t">
  44. <span>{{item.createTime}}</span>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. </view>
  50. </view>
  51. <u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" />
  52. </view>
  53. <empty v-if="orderList.length==0" style="height: 100vh;"/>
  54. </view>
  55. </template>
  56. <script>
  57. import empty from '../../components/empty.vue'
  58. export default {
  59. data() {
  60. return {
  61. status: 'loadmore',
  62. iconType: 'flower',
  63. loadText: {
  64. loadmore: '轻轻上拉',
  65. loading: '努力加载中',
  66. nomore: '没有更多了'
  67. },
  68. orderList: [],
  69. page: 1,
  70. limit: 10,
  71. totalPage: 0,
  72. }
  73. },
  74. onLoad() {
  75. this.getOrderList();
  76. },
  77. onShow() {
  78. this.getOrderList();
  79. },
  80. onReachBottom: function() {
  81. if (this.page < this.totalPage) {
  82. this.page = this.page + 1;
  83. this.status = 'loading'
  84. this.getOrderList();
  85. } else {
  86. this.status = 'nomore'
  87. }
  88. },
  89. onPullDownRefresh: function() {
  90. this.page = 1;
  91. this.getOrderList();
  92. },
  93. methods: {
  94. //开票数据
  95. getOrderList() {
  96. let data = {
  97. page: this.page,
  98. limit: this.limit,
  99. }
  100. this.$Request.getT("/app/invoice/getMyInvoiceList", data).then(res => {
  101. if (res.code == 0) {
  102. this.totalPage = res.data.pages
  103. let data = res.data.records
  104. if (this.page == 1) {
  105. this.orderList = data
  106. } else {
  107. if (data.length > 0) {
  108. this.orderList = this.orderList.concat(data)
  109. }
  110. }
  111. }
  112. });
  113. },
  114. }
  115. }
  116. </script>
  117. <style lang="scss" scoped>
  118. .fpList {
  119. width: 100%;
  120. height: auto;
  121. margin-top: 20rpx;
  122. margin-bottom: 190rpx;
  123. .fpList-box {
  124. width: 686rpx;
  125. height: 100%;
  126. .fpList-box-item {
  127. width: 100%;
  128. // height: 200rpx;
  129. padding: 20rpx 0;
  130. border-radius: 26rpx;
  131. background-color: #ffffff;
  132. margin-bottom: 20rpx;
  133. }
  134. .fpList-box-item-c {
  135. width: 646rpx;
  136. height: 100%;
  137. .fpList-box-item-c-l-info-t {
  138. font-size: 30rpx;
  139. font-weight: bold;
  140. span {
  141. color: #cccccc;
  142. font-size: 22rpx;
  143. font-weight: 300;
  144. }
  145. }
  146. .fpList-box-item-c-l-info-c {
  147. width: 460rpx;
  148. margin-top: 10rpx;
  149. color: rgb(126, 126, 126);
  150. span {
  151. display: inline-block;
  152. width: 20rpx;
  153. height: 20rpx;
  154. background-color: #FF7F00;
  155. border-radius: 50%;
  156. position: relative;
  157. margin-right: 20rpx;
  158. text {
  159. display: inline-block;
  160. width: 10rpx;
  161. height: 10rpx;
  162. background-color: #ffffff;
  163. border-radius: 50%;
  164. position: absolute;
  165. top: 50%;
  166. left: 50%;
  167. transform: translate(-50%, -50%);
  168. }
  169. }
  170. }
  171. .fpList-box-item-c-l-info-b {
  172. width: 460rpx;
  173. margin-top: 10rpx;
  174. color: rgb(126, 126, 126);
  175. span {
  176. display: inline-block;
  177. width: 20rpx;
  178. height: 20rpx;
  179. background-color: black;
  180. border-radius: 50%;
  181. position: relative;
  182. margin-right: 20rpx;
  183. text {
  184. display: inline-block;
  185. width: 10rpx;
  186. height: 10rpx;
  187. background-color: #ffffff;
  188. border-radius: 50%;
  189. position: absolute;
  190. top: 50%;
  191. left: 50%;
  192. transform: translate(-50%, -50%);
  193. }
  194. }
  195. }
  196. .fpList-box-item-c-r {
  197. margin-top: 94rpx;
  198. span {
  199. font-size: 30rpx;
  200. font-weight: bold;
  201. margin-right: 10rpx;
  202. }
  203. }
  204. }
  205. }
  206. }
  207. </style>