diff --git a/.env b/.env index 2bbd71a..be8a128 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ -# REACT_APP_WS_URL=192.168.1.115:8080/ws +# REACT_APP_WS_URL=192.168.1.124:8080/ws REACT_APP_WS_URL=127.1.1.0:8080/ws \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 2e0f113..8ae30af 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -38,7 +38,6 @@ function App() { } else if (data.messageType === "STATE" && data.path === "/api/subdevice/uartchanel/get-channel-state") { dispatch(updateDeviceState(data.data)); } else if (data.messageType === "STATE" && data.path === "/api/profiler-state/get-state") { - console.log('updateDevice===',data.data); dispatch(updateDevice(data.data)); }else if(data.path === "/get-task-progress"){ let syncData = data.data; diff --git a/src/components/bluetooth.scss b/src/components/bluetooth.scss index fcc7436..3b80ee2 100644 --- a/src/components/bluetooth.scss +++ b/src/components/bluetooth.scss @@ -75,7 +75,7 @@ width: 2rem; padding-left: 2px; padding-right: 2px; - color: #1afa29; + color: #0b8a13; border: solid 1px #1afa29; border-radius: 2px; &::after { diff --git a/src/pages/measure/components/MeasureAction.scss b/src/pages/measure/components/MeasureAction.scss index dae6e43..f693639 100644 --- a/src/pages/measure/components/MeasureAction.scss +++ b/src/pages/measure/components/MeasureAction.scss @@ -9,7 +9,6 @@ grid-template-columns: 1fr 1fr 1fr; width: 80vw; height: 50vh; - padding-top: 5vh } .modal_upload{ diff --git a/src/pages/measure/components/MeasureAction.tsx b/src/pages/measure/components/MeasureAction.tsx index ec8759f..cdd2dc8 100644 --- a/src/pages/measure/components/MeasureAction.tsx +++ b/src/pages/measure/components/MeasureAction.tsx @@ -3,6 +3,7 @@ import { Button, Checkbox, CheckboxProps, Drawer, Form, Input, InputNumber, mess import { useNavigate } from "react-router"; import { getAlignPointsByRailSize, + getRecordPoints, getReport, startMeasurement, stopMeasurement, @@ -338,7 +339,7 @@ export default function MeasureAction() { }else if(status === 2) { updated[3].color = STEP_COLOR_GREEN; updated[4].color = STEP_COLOR_BLUE; - setMeasurementFinished(true); + // setMeasurementFinished(true); } updated[1].color = STEP_COLOR_GREEN; updated[2].color = STEP_COLOR_GREEN; @@ -347,9 +348,9 @@ export default function MeasureAction() { break; case "FINISH_RECORD": updated.forEach(u => (u.color = STEP_COLOR_GREEN)); - setCaLoading(true) - setLoadingText('正在处理测量数据...') setMeasurementFinished(true); + // 调用接口获取转换完成的测量数据 + getMeasurementFinishRecord() break; case "WRONG_SIDE": // 把状态全部置灰 @@ -365,6 +366,21 @@ export default function MeasureAction() { }); }; + const getMeasurementFinishRecord = () => { + setCaLoading(true) + setLoadingText('正在处理测量数据...') + getRecordPoints().then(res => { + if(res.status === 0){ + setCaLoading(false) + canvasRef.current?.setMeasurementCalibrationData(res.data) + setshowCalibration(true)//校准线 + setShowStandard(true) + }else{ + message.error('测量数据转换失败') + } + }) + } + // 处理点数据消息 const handlePointReport = (pointData: TrackRecordSig["data"]) => { if (!isLeftFinished.current) { @@ -393,8 +409,8 @@ export default function MeasureAction() { } else if (data.path === "/api/measurement-task/point-report") { handlePointReport(data.data); } else if (data.path === "/api/measurement-task/measure-finished") { - setCaLoading(false) - handleMeasureResult(data.data) + // setCaLoading(false) + // handleMeasureResult(data.data) } }); wsClient.connect(); diff --git a/src/pages/measure/components/MeasureConfig.tsx b/src/pages/measure/components/MeasureConfig.tsx index 049f825..1cbb79e 100644 --- a/src/pages/measure/components/MeasureConfig.tsx +++ b/src/pages/measure/components/MeasureConfig.tsx @@ -22,7 +22,9 @@ import type { } from "../../../services/ktjTypes"; import { RAIN_TYPES, XB_CODES, DATA_SOURCE } from "../../../constant/index"; import "./MeasureAction.scss"; -import { GwdItem, orgCascaderType, systemItem } from "../../system/types"; +import { GwdItem, orgCascaderType, OrgOptions, systemItem } from "../../system/types"; + + export default function MeasureConfig() { const navigate = useNavigate(); const [KTJOrgList, setKTJOrgList] = useState([]); @@ -41,6 +43,9 @@ export default function MeasureConfig() { const [unitTypeList, setUnitTypeList] = useState([]) const [unitType, setUnitType] = useState() const inputRef = useRef(null); + const systemState = useAppSelector((store) => store.systemState); + const [currentDate, setCurrentDate] = useState() + useEffect(()=>{ queryDictionaryList() resetRailTypes() @@ -91,6 +96,24 @@ export default function MeasureConfig() { } } + const getDate = () => { + const currentDate = new Date(); // 获取当前时间 + + const year = currentDate.getFullYear(); // 获取完整的年份 + let month: string | number = currentDate.getMonth() + 1; // 获取月份(0-11),需要加1 + let day: string | number = currentDate.getDate(); // 获取日 + month = month < 10 ? "0" + month : month + day = day < 10 ? "0" + day : day + const currentTime = `${year}-${month}-${day}` + console.log('------------currentTime------------------', currentTime) + setCurrentDate(currentTime) + let now = `${year}${month}${day}` + return { + now, + nowfm: currentTime, + }; // 格式化日期为YYYY-MM-DD格式 + } + const setForm = (mfInfo: any) => { let kilometre = 0 let meters = 0 @@ -98,11 +121,30 @@ export default function MeasureConfig() { kilometre = mfInfo.mileage.split('+')[0] meters = mfInfo.mileage.split('+')[1] } + const ymd = getDate(); + const createTime = mfInfo.createTime + let todayNumber = mfInfo.todayNumber + if(createTime.indexOf(ymd.nowfm) === -1 ){ + todayNumber = 0 + } + let orgInfo = systemState.orgInfo; + let labels: string[] = [] + if(orgInfo && orgInfo.value){ + const orgValue = JSON.parse(orgInfo.value) + orgValue && orgValue.forEach((org: OrgOptions) => { + console.log('label===', org.label) + labels.push(org.label) + }) + } + let label = labels.join('-') + let name = `${label}-${ymd.now}${(Number(todayNumber) + 1).toString().padStart(4, '0') }` + form.setFieldsValue({ ...mfInfo, orgValues: [mfInfo.tljCode, mfInfo.gwdCode, mfInfo.xmCode], kilometre, meters, + name, }); const railList = [mfInfo.tljCode, mfInfo.gwdCode, mfInfo.xmCode] setOrgValues(railList) @@ -336,13 +378,22 @@ export default function MeasureConfig() {
+
+ + + +
+
- - - - - - + + */} -
+ <> - +
+ 千米 +
-
-
- + -
-
+ - +
+ 米 +
-
-
+ } { @@ -33,6 +34,7 @@ export default function Setting(){ const [orgValues, setOrgValues] = useState([]) const [bleList, setBleList] = useState([]) const [saveLoading, setSaveLoading] = useState(false) + const [todayNumberFlag, setTodayNumberFlag] = useState(true) const dormancyList = [{ label: '1分钟', value: 1, @@ -54,7 +56,21 @@ export default function Setting(){ // 创建 websocket 客户端 const wsClient = createWebSocket(sharedWsUrl); function querySettingData(){ - let systemInfo = systemState.systemInfo + let systemInfo: systemItem[] = JSON.parse(JSON.stringify(systemState.systemInfo)) + console.log('systemInfo---', systemInfo) + if(systemInfo && systemInfo.length){ + systemInfo.forEach(item => { + if(item.value === 'false'){ + item.value = false + } + if(item.value === 'true'){ + item.value = true + } + if(item.code === 'TODAY_NUMBER_FLAG'){ + setTodayNumberFlag(item.value) + } + }) + } setSystemList(systemInfo) } @@ -109,7 +125,7 @@ export default function Setting(){ useEffect(()=>{ if(orgInfo && orgInfo.value){ let orgIds:string[] = [] - const values:child[] = JSON.parse(orgInfo.value) + const values:child[] = JSON.parse(orgInfo.value as string) values.map(item => { orgIds.push(item.value) }) @@ -119,11 +135,11 @@ export default function Setting(){ const queryConfig = () => { getDeviceConfig().then((res: any) => { - console.log('-----', res) const standbyMinutes = res.data.standbyMinutes if (standbyMinutes ) { setStandbyMinutes(standbyMinutes) } + setTodayNumberFlag(res.data.todayNumberFlag) }) } @@ -306,7 +322,8 @@ export default function Setting(){ } }; - const saveSet = (item:systemItem, value:string) => { + const saveSet = (item:systemItem, value:string | boolean) => { + console.log('value--', value) const params = { id:item.id, value @@ -321,38 +338,52 @@ export default function Setting(){ name="basic" labelCol={{ span: 5, offset: 1 }} wrapperCol={{ span: 16 }} - style={{ maxWidth: 600 }} + style={{ maxWidth: 600}} autoComplete="off" > { systemList.map((item, index) => { - return item.name ? - - {item.code === 'ORG' ? - - : saveSet(item, e.target.value)}/>} + - : null - }) + }else if(item.code === 'TODAY_NUMBER_FLAG'){ + return + saveSet(item, value)} /> + + }else if(item.code === 'DOWNLOAD_FILE_TYPE'){ + return + saveSet(item, e.target.value)}/> + + } + }) } - - - - - - - + } diff --git a/src/pages/system/setting.scss b/src/pages/system/setting.scss new file mode 100644 index 0000000..f6c7fc6 --- /dev/null +++ b/src/pages/system/setting.scss @@ -0,0 +1,4 @@ +.ant-form-item-row{ + display: flex; + align-items: center; +} \ No newline at end of file diff --git a/src/pages/system/types.ts b/src/pages/system/types.ts index a000984..1924db6 100644 --- a/src/pages/system/types.ts +++ b/src/pages/system/types.ts @@ -19,7 +19,7 @@ export type systemItem = { id?:string | number; code?: string; name?: string; - value?: string; + value?: any; } export type bleItem = { @@ -29,3 +29,7 @@ export type bleItem = { loading: boolean; } +export type OrgOptions = { + value: string; + label: string; +} \ No newline at end of file diff --git a/src/services/measure/analysis.ts b/src/services/measure/analysis.ts index 62ad1e4..11fbfb9 100644 --- a/src/services/measure/analysis.ts +++ b/src/services/measure/analysis.ts @@ -142,4 +142,12 @@ export function getAlignPointsByRailSize(params:{railSize:string}){ url: `/api/align/catch/points/${params.railSize}`, method: "GET", }); -} \ No newline at end of file +} + +// 获取测量完成,转换后的测量数据 +export function getRecordPoints(){ + return httpRequest({ + url: `/api/measurement-task/get-record`, + method: "GET", + }); +} diff --git a/src/services/user/system.ts b/src/services/user/system.ts index 3bd362e..f6d8143 100644 --- a/src/services/user/system.ts +++ b/src/services/user/system.ts @@ -1,5 +1,5 @@ import httpRequest, { BaseResponse } from "../httpRequest"; -export function sysSet(params:{code?: string, name?: string, value?: string}, type: "GET" | "POST" | "PATCH" | "PUT" | "DELETE" = "GET"): Promise { +export function sysSet(params:{code?: string, name?: string, value?: string | boolean}, type: "GET" | "POST" | "PATCH" | "PUT" | "DELETE" = "GET"): Promise { return httpRequest({ url: "/api/sysSet/", params: {