import React, { useState } from 'react'; import { View, Text, StyleSheet, Image, TouchableOpacity, Modal } from 'react-native'; import { rpx } from '../../utils/rpx'; import { useNavigation } from '@react-navigation/native'; const DeviceSet = () => { const navigation = useNavigation(); const [showAutoOffModal, setShowAutoOffModal] = useState(false); const [showAutoLockModal, setShowAutoLockModal] = useState(false); const [selectedTime, setSelectedTime] = useState('3分钟'); const [selectedLockTime, setSelectedLockTime] = useState('15秒'); const [showSensitivityModal, setShowSensitivityModal] = useState(false); const [selectedSensitivity, setSelectedSensitivity] = useState('3级'); // 自动关机选项 const autoOffOptions = ['1分钟', '3分钟', '5分钟', '10分钟']; // 自动锁车选项 const autoLockOptions = ['15秒', '30秒', '1分钟', '3分钟']; // 震动灵敏度选项 const sensitivityOptions = ['1级', '2级', '3级', '4级', '5级']; // 处理无感解锁点击 const handleUnlockPress = () => { navigation.navigate('UnlockSetting' as never); // 替换成实际的路由名 }; return ( 无感解锁 setShowAutoOffModal(true)}> 自动关机 {selectedTime} 车辆停稳并在等待时间内未行驶则自动关机 setShowAutoLockModal(true)}> 自动锁车 {selectedLockTime} 车辆停稳并在等待时间内未行驶则自动锁车 setShowSensitivityModal(true)}> 震动报警灵敏度 setShowAutoOffModal(false)} > 取消 自动关机 setShowAutoOffModal(false)} > 确定 {autoOffOptions.map((time, index) => ( { setSelectedTime(time); setShowAutoOffModal(false); }} > {time} ))} {/* 修改自动锁车弹窗 */} setShowAutoLockModal(false)} > 取消 自动锁车 setShowAutoLockModal(false)} > 确定 {autoLockOptions.map((time, index) => ( { setSelectedLockTime(time); setShowAutoLockModal(false); }} > {time} ))} {/* 在最后添加震动报警灵敏度选择弹窗 */} setShowSensitivityModal(false)} > 取消 报警灵敏度 setShowSensitivityModal(false)} > 确定 {sensitivityOptions.map((level, index) => ( { setSelectedSensitivity(level); setShowSensitivityModal(false); }} > {level} ))} ); }; const styles = StyleSheet.create({ headerButton: { padding: rpx(8), minWidth: rpx(80), alignItems: 'center', }, confirmText: { fontSize: rpx(28), color: '#4297F3', fontWeight: '500', }, optionsContainer: { paddingVertical: rpx(20), }, optionItem: { padding: rpx(30), alignItems: 'center', borderBottomWidth: 1, borderBottomColor: '#EBEBEB', }, selectedItemBg: { backgroundColor: '#F5F5F5', }, optionText: { fontSize: rpx(30), color: '#333', }, selectedOption: { color: '#4297F3', fontWeight: '500', }, modalHeader: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: rpx(16), borderBottomWidth: 1, borderBottomColor: '#EBEBEB', }, container: { flex: 1, alignItems: 'center', backgroundColor: '#F3FCFF', }, card: { marginTop: rpx(20), width: rpx(688), backgroundColor: '#fff', borderRadius: rpx(30), padding: rpx(30), paddingTop: rpx(0), }, icon_set: { width: rpx(50), height: rpx(50), }, cont_li_right: { marginLeft: 'auto', display: 'flex', flexDirection: 'row', alignItems: 'center', }, rightTxt: { fontWeight: '500', fontSize: rpx(28), color: '#4297F3', marginRight: rpx(8), }, noBotLine: { borderBottomWidth: 0, borderBottomColor: 'transparent', }, tipTxt: { width: '85%', marginLeft: rpx(62), fontSize: rpx(28), color: '#999', marginTop: rpx(8), }, icon_right: { width: rpx(32), height: rpx(32), }, cont_li_content: { flexDirection: 'column', }, cont_li: { paddingTop: rpx(32), paddingBottom: rpx(32), borderBottomWidth: rpx(1), borderBottomColor: '#EBEBEB', }, text_set: { fontWeight: '500', fontSize: rpx(36), color: '#333', marginLeft: rpx(10), }, cont_li_top: { width: '100%', flexDirection: 'row', alignItems: 'center', marginBottom: rpx(8), }, modalContainer: { flex: 1, backgroundColor: 'rgba(0,0,0,0.5)', justifyContent: 'flex-end', }, modalContent: { backgroundColor: '#fff', borderTopLeftRadius: rpx(20), borderTopRightRadius: rpx(20), paddingBottom: rpx(34), }, modalTitle: { fontSize: rpx(32), fontWeight: '500', color: '#333', }, cancelButton: { marginTop: rpx(16), padding: rpx(30), alignItems: 'center', }, cancelText: { fontSize: rpx(30), color: '#666', }, }); export default DeviceSet;