diff --git a/src/components/ImageUploader.jsx b/src/components/ImageUploader.jsx index bdadf73..7b6e840 100644 --- a/src/components/ImageUploader.jsx +++ b/src/components/ImageUploader.jsx @@ -121,8 +121,8 @@ export const ImageUploader = props => { const newImages = fileList.filter(item => item.encrypt_key !== file.encrypt_key); if (props.onChange) { props.onChange(newImages); - props.save_database(newImages); } + props.handleSaveDatabase(newImages); setFileList(newImages); //console.log("删除成功"); } else { @@ -143,8 +143,8 @@ export const ImageUploader = props => { getImageList(key, false, ignore_case).then(newImages => { if (props.onChange) { props.onChange(newImages); - props.save_database(newImages); } + props.handleSaveDatabase(newImages); setFileList(prevList => { // 找到当前正在上传的文件并移除 const index = prevList.findIndex(item => item.status === "uploading"); diff --git a/src/stores/Feedback.js b/src/stores/Feedback.js index 837b106..943c787 100644 --- a/src/stores/Feedback.js +++ b/src/stores/Feedback.js @@ -8,6 +8,27 @@ import { devtools } from 'zustand/middleware'; const { HT_HOST } = config; +/*保存上传图片信息到数据库 + GRI_SN 团SN + travelAgencyId 供应商SN + */ +export const save_database = async (GRI_SN, travelAgencyId, file) => { +try { + await fetch(config.HT_HOST+`/ht3-multimodal/multimodal/overseas_image_records`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + VPI_GRI_SN: parseInt(GRI_SN), + VPI_VEI_SN: parseInt(travelAgencyId), + VPI_PicNum: file.length + }), + }); + } catch (error) { + console.error("保存数据库失败:", error); + } +} /* 查询反馈表信息 GRI_SN 团SN VEI_SN 供应商SN diff --git a/src/views/feedback/CustomerDetail.jsx b/src/views/feedback/CustomerDetail.jsx index bd83b4a..9271648 100644 --- a/src/views/feedback/CustomerDetail.jsx +++ b/src/views/feedback/CustomerDetail.jsx @@ -3,7 +3,7 @@ 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, getCustomerFeedbackDetail, getFeedbackImages, getFeedbackInfo, removeFeedbackImages, postFeedbackInfo } from '@/stores/Feedback'; +import { save_database,getFeedbackDetail, getCustomerFeedbackDetail, getFeedbackImages, getFeedbackInfo, removeFeedbackImages, postFeedbackInfo } from '@/stores/Feedback'; import BackBtn from '@/components/BackBtn'; import { usingStorage } from '@/hooks/usingStorage'; import {ImageUploader} from '@/components/ImageUploader'; @@ -43,32 +43,6 @@ function Detail() { }); }, [GRI_SN]); - const extractVpiSn = (filePath) => { - // 提取 VPI_GRI_SN: 第一个/和-之间的数字 - const vpiGriSn = filePath.match(/\/(\d+)-/)[1]; - // 提取 VPI_VEI_SN: travel-agency-后面的数字 - const vpiVeiSn = filePath.match(/travel-agency-(\d+)/)[1]; - return { vpiGriSn, vpiVeiSn }; - } - const save_database = async (file) => { - try { - const { vpiGriSn, vpiVeiSn } = extractVpiSn(file[0].key); - console.log(parseInt(vpiGriSn),parseInt(vpiVeiSn),file.length); - await fetch(`http://202.103.69.110:8007/multimodal/overseas_image_records`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - VPI_GRI_SN: parseInt(vpiGriSn), - VPI_VEI_SN: parseInt(vpiVeiSn), - VPI_PicNum: file.length - }), - }); - } catch (error) { - console.error("保存数据库失败:", error); - } - } const HWO_Guide = feedbackRate && feedbackRate.HWO_Guide ? feedbackRate.HWO_Guide : []; const HWO_Driver = feedbackRate && feedbackRate.HWO_Driver ? feedbackRate.HWO_Driver : []; @@ -95,6 +69,10 @@ function Detail() { return removeFeedbackImages(info.url); }; + const handleSaveDatabase = (fileList) => { + save_database(GRI_SN, travelAgencyId, fileList); + }; + const onFinish = (values) => { // console.log("Success:", values); if (values) { @@ -209,7 +187,7 @@ function Detail() { onRemove={handRemove}> - + { - // 提取 VPI_GRI_SN: 第一个/和-之间的数字 - const vpiGriSn = filePath.match(/\/(\d+)-/)[1]; - // 提取 VPI_VEI_SN: travel-agency-后面的数字 - const vpiVeiSn = filePath.match(/travel-agency-(\d+)/)[1]; - return { vpiGriSn, vpiVeiSn }; - } - const save_database = async (file) => { - try { - const { vpiGriSn, vpiVeiSn } = extractVpiSn(file[0].key); - console.log(parseInt(vpiGriSn),parseInt(vpiVeiSn),file.length); - await fetch(`http://202.103.69.110:8007/multimodal/overseas_image_records`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - VPI_GRI_SN: parseInt(vpiGriSn), - VPI_VEI_SN: parseInt(vpiVeiSn), - VPI_PicNum: file.length - }), - }); - } catch (error) { - console.error("保存数据库失败:", error); - } - } const HWO_Guide = feedbackRate && feedbackRate.HWO_Guide ? feedbackRate.HWO_Guide : 0; const HWO_Driver = feedbackRate && feedbackRate.HWO_Driver ? feedbackRate.HWO_Driver : 0; @@ -97,6 +71,10 @@ function Detail() { return removeFeedbackImages(info.url); }; + const handleSaveDatabase = (fileList) => { + save_database(GRI_SN, travelAgencyId, fileList); + }; + const onFinish = values => { // console.log("Success:", values); if (values) { @@ -209,7 +187,7 @@ function Detail() { onRemove={handRemove}> - +