import React from "react"; import Taro from "@tarojs/taro"; import { View, CoverView } from "@tarojs/components"; import { CellGroup, Cell, Field, RadioGroup, Radio, Icon, Loading, } from "@antmjs/vantui"; import Map from "@/components/map"; import { getTaCheckItemAnswer } from "@/services/tacheckitem"; import { getTaCheckAnswer } from "@/services/tacheckanswer"; import { geocoder } from "@/utils/map"; import mapIcon from "@/assets/icons/marker.png"; import AgePicker from "./AgePicker"; export default (props) => { const { checkItemInfo, checkType, answer, readonly, onChange, onLoadingChange, } = props; const [showAgePicker, setShowAgePicker] = React.useState(false); const answerRef = React.useRef(); answerRef.current = answer; const setLoading = (v) => { if (onLoadingChange) { onLoadingChange(v); } }; const setFieldChange = (key, val) => { const newAnswer = { ...(answerRef.current || {}), [key]: val, }; answerRef.current = newAnswer; onChange(newAnswer); }; const onLocationChange = (loc) => { setFieldChange("location", loc); if (checkType == "loc" && loc) { // 交换经纬度位置 const [x, y] = loc.split(","); const reLoc = [y, x].join(","); geocoder(reLoc) .then((e) => setFieldChange( "addr", e?.address_component?.street_number || e?.address ) ) .catch(console.error); } }; return ( {/* */} {checkType == "loc" && ( )} {checkType == "survey" && } {checkType == "survey" && ( setFieldChange("communityName", e.detail)} /> )} setFieldChange("addr", e.detail)} /> {checkType == "loc" && ( )} {checkType == "survey" && ( setFieldChange("sex", e.detail)} > !readonly && setShowAgePicker(true)} /> setFieldChange("age", e)} /> )} {checkType == "survey" && ( )} ); };