user-card-operate.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <view class="slot" :class="{ border }">
  3. <view class="left" @click="goUser">
  4. <view class="avatar"><u-avatar size="88" :src="data.avatar"></u-avatar></view>
  5. <view class="username">{{ data.username }}</view>
  6. <view class="sex">
  7. <u-image width="28rpx" height="28rpx" src="../../../static/user/sex-0.png" v-if="data.sex == '0'"></u-image>
  8. <u-image width="28rpx" height="28rpx" src="../../../static/user/sex-1.png" v-if="data.sex == '1'"></u-image>
  9. </view>
  10. </view>
  11. <view class="right">
  12. <u-button size="mini" shape="circle" plain v-if="data.status == '0'" @click="follow">关注</u-button>
  13. <u-button size="mini" shape="circle" plain v-if="data.status == '1'" @click="cancelFollow">已关注</u-button>
  14. <u-button size="mini" shape="circle" plain v-if="data.status == '2'" @click="cancelFollow">互相关注</u-button>
  15. </view>
  16. </view>
  17. </template>
  18. <script>
  19. export default {
  20. props: {
  21. data: {
  22. type: Object,
  23. default: () => {
  24. return {};
  25. }
  26. },
  27. border: {
  28. type: Boolean,
  29. default: false
  30. }
  31. },
  32. methods: {
  33. // 关注
  34. follow() {},
  35. // 取消关注
  36. cancelFollow() {},
  37. // 去用户首页
  38. goUser() {
  39. uni.navigateTo({
  40. url: '/pages-mine/pages/user'
  41. });
  42. }
  43. }
  44. };
  45. </script>
  46. <style lang="scss" scoped>
  47. .slot {
  48. display: flex;
  49. align-items: center;
  50. justify-content: space-between;
  51. padding-top: 24rpx;
  52. padding-bottom: 24rpx;
  53. &.border {
  54. border-bottom: 1px solid $app-theme-border-color;
  55. }
  56. .left {
  57. display: flex;
  58. align-items: center;
  59. .avatar {
  60. margin-right: 24rpx;
  61. }
  62. .username {
  63. margin-right: 16rpx;
  64. font-size: 30rpx;
  65. font-family: PingFangSC-Regular, PingFang SC;
  66. font-weight: 400;
  67. color: $app-theme-text-black-color;
  68. }
  69. .sex {
  70. display: flex;
  71. align-items: center;
  72. }
  73. }
  74. .right {
  75. }
  76. }
  77. </style>