微信小程序,访客邀约
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

73 行
2.8 KiB

  1. <script setup lang="ts">
  2. import Taro from "@tarojs/taro";
  3. import { Router } from 'tarojs-router-next'
  4. import {BjxHelper, ScreenHelper} from "../../utils";
  5. import "./index.scss";
  6. import {ref} from "vue";
  7. import {ContactData} from "../../stores/contacts";
  8. const props = defineProps(['items'])
  9. // const elevatorHeight = ref(ScreenHelper.getScreenHeight() - ScreenHelper.getStatusBarHeight() - ScreenHelper.getWindowBarHeight())
  10. const clickItem = (key: string, item: ContactData) => {
  11. console.log(key, item.name);
  12. console.log(item);
  13. Router.toContactEdit({ data: item })
  14. }
  15. // ScreenHelper.getDomObjectHeight(".scroll").then( calcElevatorHeight => {
  16. // console.log("calcElevatorHeight", calcElevatorHeight)
  17. // elevatorHeight.value = calcElevatorHeight
  18. // })
  19. </script>
  20. <template>
  21. <nut-elevator :index-list="props.items" is-sticky style="height: 100%" :height="100" @click-item="clickItem">
  22. <template #default="{ item }">
  23. <view class="d-flex flex-row pl-3 pr-3 pb-2 w-100" @tap="onItemTap(this)" hover-class="item-hover">
  24. <view class="pr-4 pt-2 h6">
  25. <NutBadge :value="item.isVIP?'VIP':''">
  26. <NutAvatar size="normal" color="white" :bg-color="BjxHelper.mbString2RgbHex(item.name)" class="overflow-hidden">
  27. <img v-if="item.avatar" :src="item.avatar" />
  28. <view v-else-if="BjxHelper.getBJXFirstChar(item.name)">{{BjxHelper.getBJXFirstChar(item.name)}}</view>
  29. <view v-else>
  30. <Text className='fas fa-user fa-lg'/>
  31. </view>
  32. </NutAvatar>
  33. </NutBadge>
  34. </view>
  35. <view class="flex-grow-1">
  36. <view class="d-flex flex-row pt-2">
  37. <view v-if="item.name" class="name">{{item.name}}</view>
  38. <view v-else class="text-black-50 name">
  39. <Text className='text-info fas fa-exclamation-circle'/> 无姓名
  40. </view>
  41. <!-- <view class="pl-2 vip pt-1">-->
  42. <!-- <view v-if="item.isVIP" class="badge badge-pill badge-danger">VIP</view>-->
  43. <!-- <view v-else></view>-->
  44. <!-- </view>-->
  45. </view>
  46. <view class="company">
  47. <view v-if="item.company">{{item.company}}</view>
  48. <view v-else class="text-black-50">
  49. <Text className='text-info fas fa-exclamation-circle'/> 无公司信息
  50. </view>
  51. </view>
  52. </view>
  53. <view class="pr-4 d-flex justify-content-end">
  54. <h5 class="pt-3" v-if="item.isBlock" style="line-height: unset !important;">
  55. <view class="badge badge-pill badge-light text-danger">
  56. <Text className="fas fa-ban text-danger"></Text>
  57. 已阻止
  58. </view>
  59. </h5>
  60. <view v-else></view>
  61. </view>
  62. </view>
  63. </template>
  64. </nut-elevator>
  65. </template>