index.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <view class="page-wrap">
  3. <view class="tabs-panel">
  4. <view :class="{ item: true, active: tabActive === item }" v-for="(item, index) in tabList" :key="index" @click="tabActive = item">
  5. {{ item }}
  6. </view>
  7. </view>
  8. <view class="order-panel">
  9. <view class="item" v-for="(item, index) in orderList" :key="index" @click="handleOpenOrderDetail(item.orderId)">
  10. <view class="head">
  11. <image class="icon" src="../../../static/svg/temp.svg" mode="aspectFill"></image>
  12. <view class="business">财税</view>
  13. <view class="state">{{ item.status || '--' }}</view>
  14. </view>
  15. <view class="content">
  16. <view class="name">{{ item.productName }}</view>
  17. <view class="text">订单号:{{ item.orderCode || '--' }}</view>
  18. <view class="text">{{ item.company.companyName || '--' }}</view>
  19. <view class="text">
  20. {{ item.contractServiceStart ? item.contractServiceStart.slice(0, 7) : '--' }} 至 {{ item.contractServiceEnd ? item.contractServiceEnd.slice(0, 7) : '--' }}
  21. </view>
  22. <view class="money">¥{{ numberfilter(item.amount) }}</view>
  23. <view class="sub">{{ item.signingTypeName || '' }}</view>
  24. </view>
  25. </view>
  26. <view class="c-abnor" v-if="!orderList.length">
  27. <image class="icon" src="@/static/svg/bags.svg"></image>
  28. 暂无数据
  29. </view>
  30. </view>
  31. </view>
  32. </template>
  33. <script>
  34. import orderService from '@/api/order.js';
  35. import { numberfilter } from '@/utils/filter';
  36. export default {
  37. data() {
  38. return {
  39. tabActive: '全部订单',
  40. tabList: ['全部订单', '未生效', '生效中', '已完成'],
  41. orderList: []
  42. };
  43. },
  44. watch: {
  45. tabActive() {
  46. this.getOrderList();
  47. }
  48. },
  49. onLoad() {
  50. this.getOrderList();
  51. },
  52. onPullDownRefresh() {
  53. this.getOrderList();
  54. },
  55. methods: {
  56. // 获取订单列表
  57. async getOrderList() {
  58. const { tabActive } = this;
  59. const { rows } = await orderService.getOrderList(tabActive === '全部订单' ? '' : tabActive);
  60. this.orderList = rows;
  61. uni.pageScrollTo({ scrollTop: 0 });
  62. uni.stopPullDownRefresh();
  63. },
  64. handleOpenOrderDetail() {
  65. uni.navigateTo({
  66. url: 'detail'
  67. });
  68. },
  69. numberfilter
  70. }
  71. };
  72. </script>
  73. <style lang="scss" scoped>
  74. @import 'index.scss';
  75. </style>