lu-lowcode-package-form 0.11.40 → 0.11.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lu-lowcode-package-form",
3
- "version": "0.11.40",
3
+ "version": "0.11.41",
4
4
  "dependencies": {
5
5
  "@ant-design/icons": "^4.8.1",
6
6
  "@dnd-kit/core": "^6.1.0",
@@ -4,6 +4,7 @@ import { CopyOutlined, DeleteOutlined } from "@ant-design/icons";
4
4
  import { BaseWrapper } from "../base.jsx"
5
5
  import { nanoid } from "nanoid";
6
6
  import { eventEmitter } from '../../../utils/events'
7
+ import { useMemoizedFn } from 'ahooks';
7
8
 
8
9
  const TableAction = ({ label, subTableIndex, children, subTableHead = false, ...props }) => {
9
10
  //fsticky fright-0
@@ -83,7 +84,31 @@ const Table = ({ children, onTableAddRow, disabled, readonly, onTableRemoveRow,
83
84
  }
84
85
  return true
85
86
  }
87
+ const handleCopy = useMemoizedFn((index)=>{
88
+ let tableValues = form.getFieldValue(fieldName)
89
+ const copyRow = {...tableValues[index],__id:nanoid()}
90
+ tableValues.splice(index + 1, 0, copyRow)
91
+ form?.setFieldValue(fieldName, tableValues)
86
92
 
93
+ let changedFields = {}
94
+ let tableName = fieldName;
95
+ for (let i = index + 1; i < tableValues.length; i++) {
96
+ let value = tableValues[i]
97
+ for (let key in value) {
98
+ let changedFieldName = [tableName,i,key]
99
+ changedFields[changedFieldName] = { name: changedFieldName, value: value[key] }
100
+ }
101
+ }
102
+ typeof recordFieldsChange == "function" && recordFieldsChange(changedFields,true)
103
+ })
104
+
105
+ const handleRemove = useMemoizedFn((index)=>{
106
+ let tableValues = form.getFieldValue(fieldName)
107
+ tableValues.splice(index, 1)
108
+ form?.setFieldValue(fieldName, tableValues)
109
+ typeof onTableRemoveRow === "function" && onTableRemoveRow(childrenIds);
110
+ typeof removeLastFieldsValues === "function" && removeLastFieldsValues(`${name},${index}`,true)
111
+ })
87
112
  if (props.isRequired)
88
113
  rules.push({ required: true, message: `子表[${props.label}]必须填写` });
89
114
  return <Form.List name={name} rules={rules}>
@@ -200,31 +225,12 @@ const Table = ({ children, onTableAddRow, disabled, readonly, onTableRemoveRow,
200
225
  </TableCol>
201
226
  })}
202
227
  {disabled != true && readonly != true && <TableAction subTableHead={index == 0} key={`row_${index}_action`} subTable={true} subTableIndex={index} label={"操作"}>
203
- {isAllowCopy && <CopyOutlined className="fcursor-pointer" onClick={() => {
204
- let tableValues = form.getFieldValue(fieldName)
205
- const copyRow = {...tableValues[index],__id:nanoid()}
206
- tableValues.splice(index + 1, 0, copyRow)
207
- form?.setFieldValue(fieldName, tableValues)
208
-
209
- let changedFields = {}
210
- let tableName = fieldName;
211
- for (let i = index + 1; i < tableValues.length; i++) {
212
- let value = tableValues[i]
213
- for (let key in value) {
214
- let changedFieldName = [tableName,i,key]
215
- changedFields[changedFieldName] = { name: changedFieldName, value: value[key] }
216
- }
217
- }
218
- typeof recordFieldsChange == "function" && recordFieldsChange(changedFields,true)
219
- }} />}
228
+ {isAllowCopy && <CopyOutlined className="fcursor-pointer" onClick={()=>handleCopy(index)} />}
220
229
  <Popconfirm
221
230
  title="删除确认"
222
231
  description="确定要删除这一行吗?"
223
232
  onConfirm={() => {
224
- remove(index)
225
- typeof onTableRemoveRow === "function" && onTableRemoveRow(childrenIds);
226
- console.log("removeLastFieldsValues", typeof removeLastFieldsValues)
227
- typeof removeLastFieldsValues === "function" && removeLastFieldsValues(`${name},${index}`,true)
233
+ handleRemove(index)
228
234
  }}
229
235
  okText="确定"
230
236
  cancelText="取消"