|
|
|
@ -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]
|
|
|
|
|