task_tab.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <template>
  2. <view class="page-box m-lr20">
  3. <view class="from-title sys-radius-20">
  4. <view class="title-list">
  5. <view class="title-text sys-size-28 text-center sys-weight-600" :class="{'default-text':type===1}"
  6. @click="setType(1)">基础信息</view>
  7. <view class="title-text sys-size-28 text-center sys-weight-600" :class="{'default-text':type===2}"
  8. @click="setType(2)">资产/征信</view>
  9. <view class="title-text sys-size-28 text-center sys-weight-600" :class="{'default-text':type===3}"
  10. @click="setType(3)">跟进记录</view>
  11. <view class="title-text sys-size-28 text-center sys-weight-600" :class="{'default-text':type===4}"
  12. @click="setType(4)">审核进度</view>
  13. </view>
  14. <view class="title-bg"
  15. :class="{'title-bg-two':type===2,'title-bg-three':type===3,'title-bg-four':type===4}">
  16. <view class="bg-icon sys-background-dominant sys-radius-100"></view>
  17. </view>
  18. </view>
  19. </view>
  20. </template>
  21. <script>
  22. import EnNav from "@/components/en-utils/en-nav/en-nav.vue";
  23. export default {
  24. components: {
  25. EnNav
  26. },
  27. data() {
  28. return {
  29. type: 1,
  30. list: [
  31. 'https://cdn.zebraui.com/zebra-ui/images/swipe-demo/swipe1.jpg',
  32. 'https://cdn.zebraui.com/zebra-ui/images/swipe-demo/swipe2.jpg',
  33. 'https://cdn.zebraui.com/zebra-ui/images/swipe-demo/swipe2.jpg',
  34. ],
  35. options: {
  36. effect: 'coverflow',
  37. centeredSlides: true,
  38. slidesPerView: 'auto',
  39. coverflowEffect: {
  40. rotate: 50,
  41. stretch: 0,
  42. depth: 100,
  43. modifier: 1,
  44. slideShadows: true,
  45. },
  46. },
  47. slideCustomStyle: {
  48. display: 'flex',
  49. alignItems: 'center',
  50. justifyContent: 'center',
  51. borderRadius: '6rpx'
  52. },
  53. };
  54. },
  55. methods: {
  56. setType(type) {
  57. if (type !== this.type) {
  58. this.type = type
  59. }
  60. },
  61. }
  62. }
  63. </script>
  64. <style lang="scss">
  65. .page-box {
  66. .top {
  67. position: relative;
  68. padding: 20rpx;
  69. .top-img {
  70. width: calc(100vw - 40rpx);
  71. }
  72. .top-status {
  73. position: absolute;
  74. top: 47rpx;
  75. right: 54rpx;
  76. width: 75rpx;
  77. }
  78. }
  79. .from-title {
  80. // margin: 20rpx 20rpx 34rpx 20rpx;
  81. height: 90rpx;
  82. position: relative;
  83. background: linear-gradient(180deg, rgba(255, 255, 255, 0.57) 0%, rgba(255, 255, 255, 0.86) 100%);
  84. .title-bg {
  85. position: absolute;
  86. top: 0;
  87. left: 0;
  88. transition: .5s ease;
  89. z-index: 1;
  90. background-image: url("/static/img/test/tab-bg.png");
  91. background-repeat: no-repeat;
  92. background-size: 100% 103rpx;
  93. height: 103rpx;
  94. width: 25%;
  95. .bg-icon {
  96. margin-top: 68rpx;
  97. margin-left: 63rpx;
  98. width: 45rpx;
  99. height: 4rpx;
  100. }
  101. }
  102. .title-bg-two {
  103. left: 25%;
  104. transition: .5s ease;
  105. }
  106. .title-bg-three {
  107. left: 50%;
  108. transition: .5s ease;
  109. }
  110. .title-bg-four {
  111. left: 75%;
  112. transition: .5s ease;
  113. }
  114. .title-list {
  115. display: flex;
  116. justify-content: space-between;
  117. z-index: 2;
  118. position: relative;
  119. .title-text {
  120. width: 25%;
  121. height: 90rpx;
  122. line-height: 90rpx;
  123. color: #333333;
  124. }
  125. .default-text {
  126. color: #10B261;
  127. }
  128. }
  129. }
  130. .data-box {
  131. margin-top: 20rpx;
  132. .image {
  133. width: 90vw;
  134. }
  135. }
  136. }
  137. </style>