Browse Source

fix():反馈建议增加撤回功能

tags/PMS_Frontend_v1.0.6-develop
guoxin 1 year ago
parent
commit
91574eea42
  1. 61
      src/components/SelectGaodeLngLat/index.jsx
  2. 10
      src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx
  3. 12
      src/services/search.js

61
src/components/SelectGaodeLngLat/index.jsx

@ -1,11 +1,13 @@
import React, { useState, useEffect, useRef, useLayoutEffect } from "react"; import React, { useState, useEffect, useRef, useLayoutEffect } from "react";
import { Button, Input, Modal, message } from "antd";
import { Button, Input, Modal, message, AutoComplete } from "antd";
import { BaseMap } from "../MapComponets"; import { BaseMap } from "../MapComponets";
import L from "leaflet"; import L from "leaflet";
import "leaflet/dist/leaflet.css"; import "leaflet/dist/leaflet.css";
import "leaflet.chinatmsproviders"; import "leaflet.chinatmsproviders";
import ajax from "@/services"; import ajax from "@/services";
import "./index.scss"; import "./index.scss";
let timer = null;
function SelectGaodeLngLat(props) { function SelectGaodeLngLat(props) {
const { const {
getLntLat = () => { }, getLntLat = () => { },
@ -17,13 +19,48 @@ function SelectGaodeLngLat(props) {
const [lnglat, setLnglat] = useState([]); const [lnglat, setLnglat] = useState([]);
const [address, setAddress] = useState(""); const [address, setAddress] = useState("");
const [searchLnglatValue, setSearchLnglatValue] = useState([]); const [searchLnglatValue, setSearchLnglatValue] = useState([]);
const [getLngLabel, setGetLngLabel] = useState([])
const searchLnglat = (values) => { const searchLnglat = (values) => {
if (values.split(",").length < 2) {
return;
clearTimeout(timer);
timer = setTimeout(() => {
ajax.handleLng({
keywords: values,
}).then(
(res) => {
if (parseInt(res?.status) === 20000) {
setGetLngLabel(
res?.data.map((ele) => {
return {
...ele,
label: (
<div className="labds">
<span>{ele.label}</span>
</div>
),
value: ele.label,
values: ele.value
};
})
);
} else {
message.error(res?.message);
}
},
(err) => {
console.log(err);
} }
let lat = values.split(",")[0];
let lng = values.split(",")[1];
setSearchLnglatValue([lng, lat]);
);
}, 1000);
};
//
const onSelect = (data) => {
console.log(getLngLabel);
let add = getLngLabel.filter((ele) => ele.value == data)[0] || [];
console.log(add);
// setSearchLnglatValue([ add.lng,add.lat])
setLnglat([add.lng, add.lat]);
getLntLat([add.lng, add.lat]);
}; };
function getLocationMessage() { function getLocationMessage() {
// const lat_lng = lnglat.reverse().join(","); // const lat_lng = lnglat.reverse().join(",");
@ -71,10 +108,14 @@ function SelectGaodeLngLat(props) {
<div className="bottom-input"> <div className="bottom-input">
<div className="input-search"> <div className="input-search">
<Input.Search
<AutoComplete
options={getLngLabel}
placeholder="请选择地址"
onSearch={searchLnglat} onSearch={searchLnglat}
enterButton={"搜索"}
></Input.Search>
onSelect={onSelect}
// enterButton={""}
style={{ width: 300 }}
></AutoComplete>
</div> </div>
<div className="result-search"> <div className="result-search">
<label>已选择的经纬度:</label> <label>已选择的经纬度:</label>
@ -170,8 +211,10 @@ function ModalMap(props) {
}; };
}, []); }, []);
useEffect(() => { useEffect(() => {
setTimeout(()=>{
if (searchLnglatValue.length === 0) return; if (searchLnglatValue.length === 0) return;
mapRef.current.setView(searchLnglatValue, 13); mapRef.current.setView(searchLnglatValue, 13);
},800)
}, [searchLnglatValue]); }, [searchLnglatValue]);
return ( return (

10
src/pages/OperationCenter/CustomerServieMgm/CallbackSuggestion/loadable.jsx

@ -314,9 +314,7 @@ function CallbackSuggestion(props) {
} }
}) })
} }
const [getAgain, setGetAgain] = useState(true)
const handleAgain = (res) => { const handleAgain = (res) => {
setGetAgain(false)
setRepairData({ content: res.replyContent }) setRepairData({ content: res.replyContent })
} }
const handleRepair = () => { const handleRepair = () => {
@ -703,15 +701,9 @@ function CallbackSuggestion(props) {
<div className="rejectContent" onClick={() => { handleReject(res) }}>撤回</div> <div className="rejectContent" onClick={() => { handleReject(res) }}>撤回</div>
</div> </div>
: :
<>
{
getAgain == true ?
<div className="reapir">你撤回了一条消息 <div className="reapir">你撤回了一条消息
<span className="again" onClick={() => { handleAgain(res) }}>重新编辑</span> <span className="again" onClick={() => { handleAgain(res) }}>重新编辑</span>
</div> : ''
}
</>
</div>
} }
</div> </div>

12
src/services/search.js

@ -439,7 +439,7 @@ const assetsModel = (params) => {
// 领用人 // 领用人
const recipient = (params) => { const recipient = (params) => {
return ajax({ return ajax({
url: "/api/bpm/operator/get_all_worker",
url: "/api/bpm/operator/get_on_job_worker",
type: "get", type: "get",
data: params, data: params,
}); });
@ -452,6 +452,15 @@ const assetsList = (params) => {
data: params, data: params,
}); });
}; };
//物品管理列表
const handleLng = (params) => {
return ajax({
url: "/PMS/api/ana/overview/geocode_copy",
type: "get",
data: params,
});
};
//物品管理--添加物品 //物品管理--添加物品
const saveData = (params) => { const saveData = (params) => {
return ajax({ return ajax({
@ -1067,6 +1076,7 @@ export default {
getAnalysisRules, getAnalysisRules,
getFileList, getFileList,
getTagList, getTagList,
handleLng,
getPictureListData, getPictureListData,
getWorkerStatData, getWorkerStatData,
getSalesStatData, getSalesStatData,

Loading…
Cancel
Save