custom/鲁控数字-薪资核算列表页面批量编辑

custom/鲁控数字-薪资核算列表页面批量编辑
黎永顺 2 years ago
parent 7a41d131c7
commit d79e6140a3

@ -74,6 +74,7 @@ const Index: FunctionComponent<Props> = (props) => {
setPageInfo(pageInfo);
setDataSource(dataSource);
setSelectedRowKeys(selectedRowKeys);
editItemList.current = [];
setColumns([...convertColumns(_.map(columns, o => ({ ...o, i18n: i18nRes }))), {
title: i18nRes["操作"], dataIndex: "operate", fixed: "right", width: 120,
render: (__, record) => (<Button type="link" onClick={() => handleEdit(record?.id)}>{i18nRes["编辑"]}</Button>)
@ -251,25 +252,28 @@ const EditableCell: React.FC<EditableCellProps> = (props) => {
setEditing(!editing);
form.setFieldsValue({ [dataIndex]: record[dataIndex] });
};
const save = async () => {
const save = _.debounce(async () => {
try {
let values = await form.validateFields();
if (record[`${_.keys(values)[0]}_type`] === "number") {
values = { ...values, [_.keys(values)[0]]: toDecimal_n(_.get(values, _.keys(values)[0]), restProps?.pattern) };
values = {
...values,
[_.keys(values)[0]]: !_.isNil(_.get(values, _.keys(values)[0])) ? toDecimal_n(_.get(values, _.keys(values)[0]), restProps?.pattern) : toDecimal_n(0, restProps?.pattern)
};
}
toggleEdit();
handleSave?.({ ...record, ...values });
} catch (errInfo) {
console.log("Save failed:", errInfo);
}
};
}, 500);
let childNode = children;
if (editable) {
childNode = editing ? (
<Form.Item style={{ margin: 0 }} name={dataIndex}>
{record[`${dataIndex}_type`] === "number" ?
<InputNumber ref={inputRef} precision={restProps?.pattern} onBlur={save} onPressEnter={save}/> :
<Input ref={inputRef} onPressEnter={save} onBlur={save}/>}
<InputNumber ref={inputRef} precision={restProps?.pattern} onChange={save} onBlur={toggleEdit}
onPressEnter={toggleEdit}/> :
<Input ref={inputRef} onPressEnter={toggleEdit} onBlur={toggleEdit} onChange={save}/>}
</Form.Item>
) : (
// record[dataIndex]

Loading…
Cancel
Save