contract-card.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <div class="contract-card-container">
  3. <div class="contract-card-title">
  4. <span class="title">联系专属客服,申请免费体验</span>
  5. <span class="subtitle">(以下三种方式任选)</span>
  6. </div>
  7. <div class="contract-card-content">
  8. <CallPhone class="call-phone" :phone="phone" @handle="handle" />
  9. <QrCode :wxer="wxer" type="1" @handle="handle" />
  10. <ContractMine :user-phone="userPhone" class="contract-mine" @contactMeEvent="contactMeEvent" />
  11. </div>
  12. </div>
  13. </template>
  14. <script>
  15. import CallPhone from './CallPhone.vue'
  16. import ContractMine from './ContractMine.vue'
  17. import QrCode from './QrCode.vue'
  18. export default {
  19. name: 'ContractCard',
  20. components: {
  21. CallPhone,
  22. ContractMine,
  23. QrCode
  24. },
  25. props: {
  26. wxer: {
  27. type: String,
  28. default: ''
  29. },
  30. phone: {
  31. type: String,
  32. default: ''
  33. },
  34. userPhone: {
  35. type: String,
  36. default: ''
  37. }
  38. },
  39. methods: {
  40. handle() {
  41. this.$emit('handle')
  42. },
  43. contactMeEvent(phone) {
  44. this.$emit('contactMeEvent', phone)
  45. }
  46. }
  47. }
  48. </script>
  49. <style lang="scss" scoped>
  50. .contract-card-container {
  51. padding: 32px 32px;
  52. .contract-card-title {
  53. display: flex;
  54. flex-direction: column;
  55. align-items: center;
  56. .title {
  57. font-size: 18px;
  58. line-height: 28px;
  59. color: #1D1D1D;
  60. }
  61. .subtitle {
  62. margin-top: 4px;
  63. font-size: 16px;
  64. line-height: 24px;
  65. color: #686868;
  66. }
  67. }
  68. .contract-card-content {
  69. display: flex;
  70. justify-content: flex-start;
  71. margin-top: 24px;
  72. height: 154px;
  73. // .contract-mine {
  74. // flex: 1;
  75. // }
  76. }
  77. }
  78. </style>