MetricModalOrder.tsx 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { View, Text } from '@tarojs/components'
  2. import './MetricModalOrder.scss'
  3. import { alphaToHex } from '@/utils/tools'
  4. import { useTranslation } from 'react-i18next'
  5. import { useEffect, useState } from 'react'
  6. import MoveOrderList from './MoveOrderList'
  7. import { IconDrag } from '@/components/basic/Icons'
  8. export default function Component(props: { themeColor: string, cancel: Function, confirm: Function, array: any }) {
  9. var color = props.themeColor ? props.themeColor : '#ff0000'
  10. const [list, setList] = useState(props.array)
  11. const { t } = useTranslation()
  12. var alpha = alphaToHex(0.4)
  13. useEffect(()=>{
  14. setList(props.array)
  15. },[props.array])
  16. function cancel() {
  17. props.cancel()
  18. }
  19. function confirm() {
  20. props.confirm(list)
  21. }
  22. // function items() {
  23. // var array:any = []
  24. // for (var i = 0; i < list.length; i++) {
  25. // var item = (
  26. // <View className='modal_order_item' style={{ height: 40 }}>
  27. // <Text style={{color:color}}>{list[i].name}</Text>
  28. // <IconDrag width={20}/>
  29. // </View>
  30. // )
  31. // array.push(item)
  32. // }
  33. // return array
  34. // }
  35. return <View className='modal_content'>
  36. <View className='modal_title_view'>
  37. <Text className='modal_title1'>{t('feature.track_something.metric.order')}</Text>
  38. <Text className='modal_subtitle'>长按可拖动排序</Text>
  39. </View>
  40. <View className='modal_order_detail'>
  41. <MoveOrderList itemHeight={40} array={list} color={color} update={(temps)=>{setList(temps)}}/>
  42. </View>
  43. <View className='modal_operate'>
  44. <View className='modal_btn' style={{ backgroundColor: color + alpha }} onClick={cancel}>
  45. <Text className='modal_cancel_text' style={{ color: color }}>{global.metricAdd ? '上一步' : '取消'}</Text>
  46. </View>
  47. <View className='btn_space' />
  48. <View className='modal_btn' style={{ backgroundColor: color }} onClick={confirm}>
  49. <Text className='modal_confirm_text' style={{ color: '#000' }}>{global.metricAdd ? '完成' : '确定'}</Text>
  50. </View>
  51. </View>
  52. </View>
  53. }