diff --git a/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.jsx b/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.jsx
new file mode 100644
index 0000000..db4b1e3
--- /dev/null
+++ b/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.jsx
@@ -0,0 +1,276 @@
+import styles from './MeasurementPointSetting.module.css'
+import { Flex, Input, Select, InputNumber, Button, Table } from 'antd'
+import {
+ PlusOutlined,
+ MinusOutlined,
+ DeleteOutlined,
+ ReloadOutlined,
+ SendOutlined
+} from '@ant-design/icons'
+
+function MeasurementPointSetting() {
+ // 测点列表数据
+ const dataSource = [
+ {
+ key: '1',
+ 项目: '传感器',
+ 数值: '',
+ children: [
+ { key: '1-1', 项目: '测点位置', 数值: 1 },
+ {
+ key: '1-2',
+ 项目: '测点描述',
+ 数值: '我去年买了个表'
+ },
+ { key: '1-3', 项目: '计算系数', 数值: 0.448 },
+ {
+ key: '1-4',
+ 项目: '基准标靶',
+ 数值: 'n',
+ children: [
+ { key: '1-4-1', 项目: 'x', 数值: 349 },
+ { key: '1-4-2', 项目: 'y', 数值: 1108 },
+ { key: '1-4-3', 项目: 'w', 数值: 125 },
+ { key: '1-4-4', 项目: 'h', 数值: 115 }
+ ]
+ }
+ ]
+ },
+ {
+ key: '2',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '3',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '4',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '5',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '6',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '7',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '8',
+ 项目: '传感器',
+ 数值: ''
+ },
+ {
+ key: '9',
+ 项目: '传感器',
+ 数值: ''
+ }
+ ]
+
+ // 表格列配置
+ const columns = [
+ {
+ title: '项目',
+ dataIndex: '项目',
+ key: '项目',
+ width: 120,
+ render: (text, record) => {
+ // 根据层级设置不同的字体大小
+ const level = record.key.split('-').length - 1
+ const fontSize = level === 0 ? '14px' : level === 1 ? '12px' : '11px'
+ const fontWeight = level === 0 ? '500' : 'normal'
+
+ return (
+
+ {text}
+
+ )
+ }
+ },
+ {
+ title: '数值',
+ dataIndex: '数值',
+ key: '数值',
+ render: (value, record) => {
+ // 根据层级设置不同的字体大小
+ const level = record.key.split('-').length - 1
+ const fontSize = level === 0 ? '14px' : level === 1 ? '12px' : '11px'
+
+ return (
+
+ {value || ''}
+
+ )
+ }
+ }
+ ]
+
+ return (
+
+ {/* 标题 */}
+
+ 测点设置:
+
+
+ {/* 基本信息 */}
+
+
基本信息
+
+
+ 测点位置:
+
+
+
+
+ 测点描述:
+
+
+
+
+ 计算系数:
+
+
+
+
+ 基准标靶:
+
+
+
+
+ {/* 成像区域 */}
+
+
成像区域
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* 系数计算 */}
+
+
系数计算
+
+
+ 镜头焦距:
+
+
+
+
+ 测点距离:
+
+
+
+
+ {/* 测点列表 */}
+
+
测点列表
+
+
+
+ {/* 操作按钮 */}
+
+ } shape="circle" />
+ } shape="circle" />
+ } shape="circle" />
+ } shape="circle" />
+ } shape="circle" />
+
+
+
+ )
+}
+
+export default MeasurementPointSetting
diff --git a/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.module.css b/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.module.css
new file mode 100644
index 0000000..2c3d3c9
--- /dev/null
+++ b/src/renderer/src/components/MeasurementPointSetting/MeasurementPointSetting.module.css
@@ -0,0 +1,76 @@
+/* MeasurementPointSetting component styles */
+
+.container {
+ flex: 1;
+ overflow: auto;
+ padding: 4px;
+}
+
+.header {
+ padding: 4px;
+ padding-bottom: 0;
+}
+
+.title {
+ font-weight: bold;
+ font-size: 14px;
+}
+
+.section {
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ margin: 2px 0;
+ padding: 4px;
+ display: flex;
+ flex-direction: column;
+ gap: 4px;
+ background: #f9f9f9;
+}
+
+.sectionTitle {
+ font-weight: bold;
+ color: #333;
+}
+
+.formRow {
+ margin-bottom: 8px;
+ align-items: center;
+}
+
+.label {
+ text-align: right;
+ margin-right: 8px;
+
+}
+
+.input {
+ height: 24px;
+
+}
+
+.select {
+ height: 24px;
+}
+
+.numberInput {
+ font-size: 12px;
+ height: 26px;
+}
+
+.tableSection {
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ margin: 4px 0;
+ padding: 8px;
+ background: #f9f9f9;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+
+
+.actionButtons {
+ margin-top: 8px;
+ gap: 8px;
+}
diff --git a/src/renderer/src/components/MeasurementPointSetting/index.jsx b/src/renderer/src/components/MeasurementPointSetting/index.jsx
new file mode 100644
index 0000000..d6456cf
--- /dev/null
+++ b/src/renderer/src/components/MeasurementPointSetting/index.jsx
@@ -0,0 +1,219 @@
+import React, { useState } from 'react'
+import styles from './index.module.css'
+import { Flex, Input, Select, InputNumber, Button, Table } from 'antd'
+import {
+ PlusOutlined,
+ MinusOutlined,
+ DeleteOutlined,
+ ReloadOutlined,
+ SendOutlined
+} from '@ant-design/icons'
+
+function MeasurementPointSetting() {
+ const [measurementData] = useState([
+ {
+ key: '1',
+ 项目: '传感器',
+ 数值: '',
+ children: [
+ { key: '1-1', 项目: '测点位置', 数值: '1' },
+ { key: '1-2', 项目: '测点描述', 数值: '' },
+ { key: '1-3', 项目: '计算系数', 数值: '0.448' },
+ { key: '1-4', 项目: '营样标定', 数值: 'n' },
+ { key: '1-5', 项目: 'x', 数值: '349' },
+ { key: '1-6', 项目: 'y', 数值: '1108' },
+ { key: '1-7', 项目: 'w', 数值: '125' },
+ { key: '1-8', 项目: 'h', 数值: '15' }
+ ]
+ },
+ { key: '2', 项目: '传感器', 数值: '' },
+ { key: '3', 项目: '传感器', 数值: '' },
+ { key: '4', 项目: '传感器', 数值: '' },
+ { key: '5', 项目: '传感器', 数值: '' }
+ ])
+
+ const columns = [
+ {
+ title: '项目',
+ dataIndex: '项目',
+ key: '项目',
+ width: '50%'
+ },
+ {
+ title: '数值',
+ dataIndex: '数值',
+ key: '数值',
+ width: '50%',
+ render: (text) => text || '-'
+ }
+ ]
+
+ return (
+
+ {/* 标题 */}
+
+ 测点设置:
+
+
+ {/* 基本信息 */}
+
+
基本信息
+
+
+ 测点位置:
+
+
+
+
+ 测点描述:
+
+
+
+
+ 计算系数:
+
+
+
+
+ 营样标定:
+
+
+
+
+ {/* 成像区域 */}
+
+
成像区域
+
+
+
+ X:
+
+
+
+ W:
+
+
+
+
+
+
+ Y:
+
+
+
+ H:
+
+
+
+
+
+ {/* 系数计算 */}
+
+
系数计算
+
+
+ 像素单距:
+
+
+
+
+ 测点距离:
+
+
+
+
+ {/* 测点列表 */}
+
+
测点列表
+
+
+
+
+
+ 项目 |
+ 数值 |
+
+
+
+ {measurementData.map((item) => (
+
+ {item.type} |
+ {item.value || '-'} |
+
+ ))}
+
+
+
+
+ {/* 操作按钮 */}
+
+ }
+ shape="circle"
+ />
+ }
+ shape="circle"
+ />
+ }
+ shape="circle"
+ />
+ }
+ shape="circle"
+ />
+ }
+ shape="circle"
+ />
+
+
+
+ )
+}
+
+export default MeasurementPointSetting
diff --git a/src/renderer/src/components/SiderHeader/SiderHeader.jsx b/src/renderer/src/components/SiderHeader/SiderHeader.jsx
index ec66919..6d9f4fc 100644
--- a/src/renderer/src/components/SiderHeader/SiderHeader.jsx
+++ b/src/renderer/src/components/SiderHeader/SiderHeader.jsx
@@ -9,7 +9,10 @@ import {
SlidersFilled
} from '@ant-design/icons'
import SystemSettings from '../SystemSettings/SystemSettings'
-function SiderHeader() {
+import MeasurementPointSetting from '../MeasurementPointSetting/MeasurementPointSetting'
+import PropTypes from 'prop-types'
+
+function SiderHeader({ showSystemSettings = true }) {
return (
@@ -40,9 +43,13 @@ function SiderHeader() {
-
+ {showSystemSettings ? : }
)
}
+SiderHeader.propTypes = {
+ showSystemSettings: PropTypes.bool
+}
+
export default SiderHeader