index.jsx 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import {View, Image, Text, Navigator} from '@tarojs/components';
  2. import classNames from 'classnames';
  3. import sendIcon from '@assets/sending.svg';
  4. import complateIcon from '@assets/complate.svg';
  5. import orderIcon from '@assets/order.svg';
  6. import face from '@assets/face.svg';
  7. import Login from './login';
  8. import {useBoolean} from 'ahooks';
  9. import {DELIVER_GOODS_PATH} from '@routes';
  10. const btnList = [
  11. {
  12. title: '收发货',
  13. children: [
  14. {title: '发货', icon: sendIcon, url: DELIVER_GOODS_PATH},
  15. {title: '收货', icon: complateIcon, url: ''},
  16. ],
  17. },
  18. {title: '历史记录', children: [{title: '订单', icon: orderIcon, url: ''}]},
  19. ];
  20. export default function App() {
  21. const [visible, {toggle, setFalse}] = useBoolean();
  22. return (
  23. <>
  24. <View
  25. className={classNames(
  26. 'w-screen h-screen overflow-auto pt-20 px-4',
  27. 'bg-gradient-to-br from-[#DEF6FE] to-[#F4F6F8]',
  28. )}
  29. >
  30. <View className='flex items-center' onClick={toggle}>
  31. <Image
  32. className='w-14 h-14 rounded-full'
  33. src={face}
  34. mode='widthFix'
  35. />
  36. <View className='flex-1 ps-4'>
  37. <Text className='block text-base text-[#333]'>登录</Text>
  38. </View>
  39. </View>
  40. {btnList.map(function (el, index) {
  41. return (
  42. <View
  43. key={el.title}
  44. className={classNames(
  45. 'bg-white py-3 px-5 rounded-lg shadow-lg',
  46. index === 0 ? 'mt-20' : 'mt-6',
  47. )}
  48. >
  49. <Text className='block text-lg font-semibold text-black'>
  50. {el.title}
  51. </Text>
  52. <View className='mt-3 grid grid-cols-4 grid-rows-1 gap-4'>
  53. {el.children.map(function (item) {
  54. return (
  55. <Navigator url={item.url} key={item.title}>
  56. <Image
  57. src={item.icon}
  58. className='w-8 h-8 mx-auto'
  59. mode='widthFix'
  60. />
  61. <Text className='block text-center text-sm mt-2 text-[#666]'>
  62. {item.title}
  63. </Text>
  64. </Navigator>
  65. );
  66. })}
  67. </View>
  68. </View>
  69. );
  70. })}
  71. </View>
  72. <Login visible={visible} onClose={setFalse} />
  73. </>
  74. );
  75. }