diff --git a/src/views/TestLine/createData.js b/src/views/TestLine/createData.js index 0e2fc99..fedf418 100644 --- a/src/views/TestLine/createData.js +++ b/src/views/TestLine/createData.js @@ -1,21 +1,170 @@ -import moment from "moment"; -export default function data(type) { - const now = moment(); // 获取当前时间 - const startOfDay = now.clone().startOf('day'); // 获取今天的凌晨 +import { Button, Form, Input, Popconfirm, Table } from 'antd'; +import React, { useContext, useEffect, useRef, useState } from 'react'; +const EditableContext = React.createContext(null); +const EditableRow = ({ index, ...props }) => { + const [form] = Form.useForm(); + return ( +
+ ); +}; +const EditableCell = ({ + title, + editable, + children, + dataIndex, + record, + handleSave, + ...restProps +}) => { + const [editing, setEditing] = useState(true); + const inputRef = useRef(null); + const form = useContext(EditableContext); + // useEffect(() => { + // if (editing) { + // inputRef.current?.focus(); + // } + // }, [editing]); + const toggleEdit = (title) => { + if (title == '雨量') { + // setEditing(!editing); + if (record[dataIndex]) { + form.setFieldsValue({ + [dataIndex]: record[dataIndex], + }); - // 初始化数组,第一个元素是今天的凌晨 - let timeArray = [startOfDay]; + } + }; - // 生成接下来的时间点并添加到数组中,间隔为两个小时,且不超过当前时间 - let nextTime = startOfDay.clone().add(1, 'hours'); - while (nextTime <= now) { - timeArray.push(nextTime.format('MM-DD HH:mm')); - nextTime = nextTime.clone().add(1, 'hours'); + } + const save = async () => { + try { + const values = await form.validateFields(); + toggleEdit(title); + handleSave({ + ...record, + ...values, + }); + } catch (errInfo) { + console.log('Save failed:', errInfo); } + }; + let childNode = children; + if (editable) { + childNode = editing ? ( +| {editing ? ( @@ -39,7 +41,7 @@ const TableE = ({count,setEditData,tableData}) => { const [editingKey, setEditingKey] = useState(''); const [details, setDetails] = useState([]) const isEditing = (record) => { - return record.key === editingKey; + return editingKey.includes(record.key); } const columns = [ { @@ -135,8 +137,6 @@ const TableE = ({count,setEditData,tableData}) => { ...col, onCell: (record) => ({ record, - inputType: col.dataIndex === 'age' ? 'number' : - col.dataIndex === 'sex' ? 'select' : "text", dataIndex: col.dataIndex, title: col.title, editing: isEditing(record), @@ -154,7 +154,7 @@ const TableE = ({count,setEditData,tableData}) => { form1.setFieldsValue(newArr[0]) setDetails([...newArr]); setEditData([...newArr]); - setEditingKey(newArr[0].key); + setEditingKey(newArr.map(item => item.key)); }; useEffect(() => { @@ -167,7 +167,7 @@ const TableE = ({count,setEditData,tableData}) => { <> |