From 9a79fce4e490339af28999ed76513d2450b3ceb4 Mon Sep 17 00:00:00 2001 From: LiLongLong <13717757313@163.com> Date: Thu, 19 Jun 2025 16:07:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=9D=E5=AD=98=E6=B5=8B?= =?UTF-8?q?=E9=87=8F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- src/assets/icon-lightning.svg | 1 + src/components/Header.tsx | 9 +- src/components/bluetooth.scss | 8 +- src/pages/measure/components/MeasureAction.scss | 4 +- src/pages/measure/components/MeasureAction.tsx | 8 +- src/pages/measure/components/MeasureConfig.tsx | 146 ++++++++++++++---------- src/pages/system/Setting.tsx | 41 ++++--- 8 files changed, 128 insertions(+), 91 deletions(-) create mode 100644 src/assets/icon-lightning.svg diff --git a/.env b/.env index be8a128..2bbd71a 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ -# REACT_APP_WS_URL=192.168.1.124:8080/ws +# REACT_APP_WS_URL=192.168.1.115:8080/ws REACT_APP_WS_URL=127.1.1.0:8080/ws \ No newline at end of file diff --git a/src/assets/icon-lightning.svg b/src/assets/icon-lightning.svg new file mode 100644 index 0000000..8fce40c --- /dev/null +++ b/src/assets/icon-lightning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 3a892e1..5f54936 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,6 +1,6 @@ import icon_usb from "../assets/icon_usb.svg"; import icon_bluetooth from "../assets/icon_bluetooth.svg"; -import icon_charging from "../assets/icon-charging.svg"; +import icon_charging from "../assets/icon-lightning.svg"; import icon_avatar from "../assets/icon_avatar.svg"; import icon_logout from "../assets/icon_logout.svg"; import { @@ -158,12 +158,11 @@ export default function Header() { Y轴倾斜:{deviceInfo.inclinatorY}
-
-
-
{power}%
+
+
{power}
- {(deviceInfo.flag === 1 && Number(power) < 100) && + {(deviceInfo.flag === 0 && Number(power) < 100) &&
(u.color = STEP_COLOR_GREEN)); - setMeasurementFinished(true); // 调用接口获取转换完成的测量数据 getMeasurementFinishRecord() break; @@ -369,14 +368,17 @@ export default function MeasureAction() { const getMeasurementFinishRecord = () => { setCaLoading(true) setLoadingText('正在处理测量数据...') - getRecordPoints().then(res => { + getRecordPoints().then((res: Record) => { + setCaLoading(false) if(res.status === 0){ setCaLoading(false) + setMeasurementFinished(true); canvasRef.current?.setMeasurementCalibrationData(res.data) setshowCalibration(true)//校准线 setShowStandard(true) }else{ - message.error('测量数据转换失败') + setMeasurementFinished(false) + message.error(res.message) } }) } diff --git a/src/pages/measure/components/MeasureConfig.tsx b/src/pages/measure/components/MeasureConfig.tsx index 1cbb79e..807c1f0 100644 --- a/src/pages/measure/components/MeasureConfig.tsx +++ b/src/pages/measure/components/MeasureConfig.tsx @@ -1,5 +1,5 @@ /* eslint-disable array-callback-return */ -import { Button, Form, Input, message, Select, InputNumber, Cascader, Row, Col } from "antd"; +import { Button, Form, Input, message, Select, InputNumber, Cascader, Row, Col, Spin } from "antd"; import { useEffect, useRef, useState } from "react"; import { useNavigate } from "react-router"; import { getDetailList, saveMeasurement_new } from "../../../services/measure/analysis"; @@ -44,13 +44,15 @@ export default function MeasureConfig() { const [unitType, setUnitType] = useState() const inputRef = useRef(null); const systemState = useAppSelector((store) => store.systemState); - const [currentDate, setCurrentDate] = useState() - + const [kilMet, setKilMet] = useState>({}) + const [loading, setLoading] = useState(false) useEffect(()=>{ + showLastForm() queryDictionaryList() resetRailTypes() resetDataSource() - queryRailData() + // queryRailData() + console.log('systemState.orgInfo---', systemState.orgInfo) setTimeout(() => { if(inputRef.current){ inputRef.current.focus() @@ -60,53 +62,50 @@ export default function MeasureConfig() { //获取铁路局数据 - function queryRailData(){ - getOrgListService().then((res) => { - if (res && res.data) { - let resData: OrgItem[] = res.data; - let data = convertToCascaderData(resData) - setKTJOrgList(data) - // 使用上次保存时的参数。 - showLastForm() - } - }).catch((e) => {}); - } + // function queryRailData(){ + // getOrgListService().then((res) => { + // if (res && res.data) { + // let resData: OrgItem[] = res.data; + // let data = convertToCascaderData(resData) + // setKTJOrgList(data) + // // 使用上次保存时的参数。 + + // } + // }).catch((e) => {}); + // } function showLastForm () { - const measureForm = localStorage.getItem('measureForm') let mfInfo: any = {} - if(!measureForm) { // 获取记录中的第一条数据 - const params = { - pageSize: 1, - pageNum: 5, - } - getDetailList(params).then(res => { - if(res.success){ - const list = res.data.list - if(list && list.length){ - mfInfo = list[0] - setForm(mfInfo) - } - } - }) - }else { - mfInfo = JSON.parse(measureForm) - setForm(mfInfo) + const params = { + pageSize: 5, + pageNum: 1, } + setLoading(true) + getDetailList(params).then(res => { + if(res.success){ + const list = res.data.list + if(list && list.length){ + mfInfo = list[0] + setForm(mfInfo) + }else{ + setForm({}) + } + } + setLoading(false) + }).catch( ()=> { + setLoading(false) + }) } 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, @@ -123,30 +122,37 @@ export default function MeasureConfig() { } const ymd = getDate(); const createTime = mfInfo.createTime - let todayNumber = mfInfo.todayNumber - if(createTime.indexOf(ymd.nowfm) === -1 ){ + let todayNumber = mfInfo.todayNumber || 0 + if(createTime && createTime.indexOf(ymd.nowfm) === -1 ){ todayNumber = 0 } let orgInfo = systemState.orgInfo; let labels: string[] = [] + let orgCode: 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) + orgCode.push(org.value) }) } let label = labels.join('-') let name = `${label}-${ymd.now}${(Number(todayNumber) + 1).toString().padStart(4, '0') }` - + setKilMet({ + kilometre, + meters + }) + const user = localStorage.getItem("user"); + let userData = JSON.parse(user || ""); form.setFieldsValue({ ...mfInfo, - orgValues: [mfInfo.tljCode, mfInfo.gwdCode, mfInfo.xmCode], + orgValues: orgCode, kilometre, meters, name, + operator: userData.nickname || userData.account }); - const railList = [mfInfo.tljCode, mfInfo.gwdCode, mfInfo.xmCode] + const railList = orgCode setOrgValues(railList) getStationData(railList) setDataSource(mfInfo.dataSource) @@ -206,9 +212,17 @@ export default function MeasureConfig() { //车站数据 const getStationData = (railData: string[]) => { - let tljCode = railData[0] - let gwdCode = railData[1] - let xmCode = railData[2] + let orgInfo = systemState.orgInfo; + let orgCode: string[] = [] + if(orgInfo && orgInfo.value){ + const orgValue = JSON.parse(orgInfo.value) + orgValue && orgValue.forEach((org: OrgOptions) => { + orgCode.push(org.value) + }) + } + let tljCode = orgCode[0] + let gwdCode = orgCode[1] + let xmCode = orgCode[2] const params = { tljCode, gwdCode, @@ -311,15 +325,22 @@ export default function MeasureConfig() { } console.log('values--11-', values) - + let orgInfo = systemState.orgInfo; + let orgCode: string[] = [] + if(orgInfo && orgInfo.value){ + const orgValue = JSON.parse(orgInfo.value) + orgValue && orgValue.forEach((org: OrgOptions) => { + orgCode.push(org.value) + }) + } const params = { operator: values["operator"],//操作员 name: values["name"],//测量名称 location: values["location"],//位置 direction: values["direction"],//方向 - tljCode: values["tljCode"],//铁路局 - gwdCode: values["gwdCode"],//铁路段 - xmCode: values["xmCode"],//铁路线 + tljCode: orgCode[0],//values["tljCode"],//铁路局 + gwdCode: orgCode[1],//values["gwdCode"],//铁路段 + xmCode: orgCode[2],//values["xmCode"],//铁路线 lineClassify: values["lineClassify"],//线路分类 dataType: values["dataType"],//采集方式 dataSource: values["dataSource"],//数据来源 @@ -355,6 +376,7 @@ export default function MeasureConfig() { params.alignPoints = measureData } localStorage.setItem('measureForm', JSON.stringify(params)) + console.log('params---', params) saveMeasurement_new(params) .then((res) => { if (res.success) { @@ -374,8 +396,8 @@ export default function MeasureConfig() { } return ( - <> -
+ +
- +
@@ -400,7 +424,7 @@ export default function MeasureConfig() { name="operator" rules={[{ required: true, message: "请输入操作员姓名" }]} > - + {/* - - - + } + - + {dataSource === 'DCDC' ? ( <> @@ -548,17 +573,16 @@ export default function MeasureConfig() { rules={[{ required: true, message: "请输入" }]} >
- 千米 + 千米
-
- 米 +
@@ -601,6 +625,6 @@ export default function MeasureConfig() {
- + ); } diff --git a/src/pages/system/Setting.tsx b/src/pages/system/Setting.tsx index f9f4aed..4c62647 100644 --- a/src/pages/system/Setting.tsx +++ b/src/pages/system/Setting.tsx @@ -9,14 +9,16 @@ import {bleItem, child, GwdItem, orgCascaderType, systemItem} from './types'; import { sysSet } from '../../services/user/system'; import { getDeviceConfig, saveDeviceConfig } from '../../services/device/deviceConfig' import { useAppDispatch, useAppSelector } from "../../utils/hooks"; -import { updateSystemAccountState, updateSystemOrgState } from '../../store/system/systemSlice'; +import { updateSystemAccountState, updateSystemAllState, updateSystemOrgState } from '../../store/system/systemSlice'; import {createWebSocket, sharedWsUrl} from "../../services/socket"; import {start, stop, disconnect, connect} from "../../services/ble/ble"; import { StandbyMinutes } from '../../services/measure/type'; import "./setting.scss"; +import { system } from '../../types'; export default function Setting(){ useEffect(()=>{ + querySystemInfo() queryRailData() // onBleStart() querySettingData() @@ -56,22 +58,29 @@ export default function Setting(){ // 创建 websocket 客户端 const wsClient = createWebSocket(sharedWsUrl); function querySettingData(){ - 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) + } + + const querySystemInfo = () => { + sysSet({}, "GET").then(res=>{ + if(res.status === 0 && res.data && res.data.length){ + let data:system[] = res.data; + let systemInfo: systemItem[] = data + 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) + setSystemList(systemInfo) + } + }) }