index.tsx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { View, Text, } from "@tarojs/components";
  2. import Taro, { useDidShow } from "@tarojs/taro";
  3. import NavBarNormal from "@/components/nav-bar-normal/index";
  4. import PageCustom from "@/components/page-custom/index";
  5. import IconArrowDownRounded from '@/components/icon/IconArrowDownRounded';
  6. import DataCard from './components/DataCard'
  7. import VisitorCard from "./components/VisitorCard";
  8. import PickerSingleColumn from "./components/Picker/PickerSingleColumn";
  9. import { useState } from "react";
  10. export default () => {
  11. // 当前选中的值
  12. const options = ['张三', '李四']
  13. // 是否显示选择器
  14. const [showPicker, setShowPicker] = useState(false)
  15. // 当前选中的值
  16. const [selected, setSelected] = useState(options[0])
  17. const handleChange = (value: string) => {
  18. setSelected(value)
  19. }
  20. return (
  21. <PageCustom>
  22. <NavBarNormal leftColumn={()=> <Text>数据分析</Text>}>
  23. </NavBarNormal>
  24. <View className="w-full pt-8 px-16 pb-40">
  25. <PickerSingleColumn options={options} selected={selected} onChange={handleChange} showPicker={showPicker} setShowPicker={setShowPicker}>
  26. <View className="flex items-center gap-2 bg-white rounded-12 p-12 mb-16" onClick={() => setShowPicker(true)}>
  27. <View className="flex-1 text-14 leading-22 text-gray-45">{selected}</View>
  28. <View className="flex-center">
  29. <IconArrowDownRounded/>
  30. </View>
  31. </View>
  32. </PickerSingleColumn>
  33. <View className="grid grid-cols-2 gap-8 bg-white rounded-12 p-12 mb-12">
  34. <DataCard text="今日访问次数" unitText="次" value={588} />
  35. <DataCard text="今日对话人数" unitText="人" value={588} />
  36. <DataCard text="累计访问次数" unitText="次" value={588} />
  37. <DataCard text="累计对话人数" unitText="人" value={588} />
  38. <DataCard text="好评" unitText="条" value={20} arrow />
  39. <DataCard text="待处理差评" unitText="条" value={2} arrow />
  40. </View>
  41. <View className="mb-8 text-14 leading-22 font-medium">访问详情</View>
  42. <View className="flex flex-col gap-8">
  43. <VisitorCard data={{
  44. name: '洪三',
  45. company: '北京茗视光眼科医院管理有限公司',
  46. position: 'CEO',
  47. agentName: '张医生',
  48. chatNum: 10,
  49. visitNum: 7,
  50. disLikeNum: 2,
  51. visitTime: 5
  52. }}></VisitorCard>
  53. <VisitorCard data={{
  54. name: '李四',
  55. company: '北京茗视光眼科医院管理有限公司',
  56. position: '商务经理',
  57. agentName: '张医生',
  58. chatNum: 10,
  59. visitNum: 7,
  60. disLikeNum: 2,
  61. visitTime: 5
  62. }}></VisitorCard>
  63. </View>
  64. </View>
  65. </PageCustom>
  66. );
  67. };