Card2.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <view class="order-card">
  3. <view v-for="(item,index) in list" :key="item.name +'Card2'">
  4. <view class="flex_c_s order-item hr-solid" v-if="hanlerIF(index)" >
  5. <view class="font-30-333">{{item.name}}</view>
  6. <view class="font-30-333">{{item.value}}</view>
  7. </view>
  8. </view>
  9. <view class="flex_c_c order-item" @click="handleClick">
  10. <text class="font-28-cb">{{ status?'收起':'展开' }}</text> <up-icon :name="icon_value" color="#CB9964" size="16"></up-icon>
  11. </view>
  12. </view>
  13. </template>
  14. <script setup>
  15. import { computed, ref } from 'vue';
  16. const list = [
  17. {
  18. name: '支付金额:',
  19. value: '¥100.00'
  20. },
  21. {
  22. name: '订单编号:',
  23. value: '123456'
  24. },
  25. {
  26. name: '支付方式:',
  27. value: '微信'
  28. },
  29. {
  30. name: '支付时间:',
  31. value: '2025-06-04 9:12'
  32. },
  33. {
  34. name: '下单时间:',
  35. value: '2025-06-04 9:12'
  36. },
  37. {
  38. name: '完成时间:',
  39. value: '服务中'
  40. },
  41. {
  42. name: '服务类别:',
  43. value: '老人生活-老人生活'
  44. },
  45. {
  46. name: '被服务人员:',
  47. value: '原女士'
  48. },
  49. ]
  50. const status = ref(false);
  51. const icon_value = computed(()=>{
  52. return status.value?'arrow-up' : 'arrow-down'
  53. })
  54. const hanlerIF = (index) =>{
  55. return status.value ? true:index<1;
  56. }
  57. const handleClick= () =>{
  58. status.value = !status.value;
  59. }
  60. </script>
  61. <style lang="scss" scoped>
  62. .order-card {
  63. border-radius: 20rpx;
  64. background: #FFFFFF;
  65. margin-bottom: 20rpx;
  66. .order-item {
  67. padding: 23rpx 26rpx;
  68. }
  69. }
  70. </style>