import { useParams, useNavigate } from "react-router-dom"; import { useEffect, useState } from "react"; import { Row, Col, Space, Button, Divider, Form, Typography, Rate, Radio, Upload, Input, App, Card } from "antd"; import { PlusOutlined } from "@ant-design/icons"; import * as config from "@/config"; import { getFeedbackDetail, getFeedbackImages, getFeedbackInfo, removeFeedbackImages, postFeedbackInfo } from '@/stores/Feedback'; import BackBtn from "@/components/BackBtn"; import { usingStorage } from "@/hooks/usingStorage"; import {ImageUploader} from '@/components/ImageUploader'; const { Title, Text, Paragraph } = Typography; function Detail() { const navigate = useNavigate(); const { GRI_SN,RefNo } = useParams(); const {travelAgencyId, loginToken} = usingStorage(); const desc = ["none", "Unacceptable", "Poor", "Fair", "Very Good", "Excellent"]; const { notification } = App.useApp(); const [form] = Form.useForm(); const [feedbackRate, setFeedbackRate] = useState({}); const [feedbackReview, setFeedbackReview] = useState({}); const [feedbackImages, setFeedbackImages] = useState([]); const [feedbackInfo, setFeedbackInfo] = useState({}); const [ossKey, setOssKey] = useState(''); useEffect(() => { const key = `temp/tour-guide/2025-6/31278`; setOssKey(key); }, []); useEffect(() => { // console.info("Detail.useEffect: " + GRI_SN); getFeedbackDetail(travelAgencyId, GRI_SN).then((res) => { setFeedbackRate(res.feedbackRate); setFeedbackReview(res.feedbackReview); }); getFeedbackImages(travelAgencyId, GRI_SN).then((res) => setFeedbackImages(res)); getFeedbackInfo(travelAgencyId, GRI_SN).then((v) => { form.setFieldsValue({ info_content: v.EEF_Content }); setFeedbackInfo(v); }); }, [GRI_SN]); const HWO_Guide = feedbackRate && feedbackRate.HWO_Guide ? feedbackRate.HWO_Guide : 0; const HWO_Driver = feedbackRate && feedbackRate.HWO_Driver ? feedbackRate.HWO_Driver : 0; const HWO_Car = feedbackRate && feedbackRate.HWO_Car ? feedbackRate.HWO_Car : 0; const HWO_Hotel = feedbackRate && feedbackRate.HWO_Hotel ? feedbackRate.HWO_Hotel : 0; const HWO_Activity = feedbackRate && feedbackRate.HWO_Activity ? feedbackRate.HWO_Activity : 0; const OtherThoughts = feedbackRate && feedbackRate.OtherThoughts ? feedbackRate.OtherThoughts : ""; const PhotoPermission = feedbackRate && feedbackRate.PhotoPermission && feedbackRate.PhotoPermission == "YES" ? true : false; const ECI_Content = feedbackReview && feedbackReview.ECI_Content ? feedbackReview.ECI_Content : "None"; const fileList = (feedbackImages); const handleChange = info => { // console.log(info); let newFileList = [...info.fileList]; newFileList = newFileList.map(file => { if (file.response && file.response.result) { file.url = file.response.result.file_url; } return file; }); setFeedbackImages(newFileList); }; const handRemove = info => { return removeFeedbackImages(info.url); }; const onFinish = values => { // console.log("Success:", values); if (values) { postFeedbackInfo(feedbackInfo.EEF_VEI_SN, feedbackInfo.EEF_GRI_SN, feedbackInfo.EEF_EOI_SN, values.info_content).then(() => { notification.success({ message: `Notification`, description: "Submit Successful", placement: "top", duration: 4, }); }); } }; return ( Post Survey {RefNo}}>
How satisfied were you with your general experience? {desc[HWO_Guide]} {desc[HWO_Driver]} {desc[HWO_Car]} {desc[HWO_Hotel]} {desc[HWO_Activity]} Would you like to give us permission to use the photos taken by the tour guide(s) during your trip which contain your portrait? {PhotoPermission ? ( <> Yes No ) : ( <> Yes No )} Other thoughts you want to share with us: {OtherThoughts}
External Reviews}> {ECI_Content} Feedback from local agent}>
); } export default (Detail);