|
|
|
@ -24,11 +24,11 @@ export default observer((props) => {
|
|
|
|
|
const [editableRowsKeys, setEditableRowKeys] = useState([]);
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
setDataSource(KPIStore.pageData);
|
|
|
|
|
setEditableRowKeys([]);
|
|
|
|
|
setEditOpen(false);
|
|
|
|
|
return () => {};
|
|
|
|
|
}, [KPIStore.pageData]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const PercentInput = useMemo(
|
|
|
|
|
() =>
|
|
|
|
|
// eslint-disable-next-line react/display-name
|
|
|
|
@ -84,7 +84,7 @@ export default observer((props) => {
|
|
|
|
|
title: '年度目标',
|
|
|
|
|
dataIndex: 'yearValue',
|
|
|
|
|
valueType: 'digit',
|
|
|
|
|
fieldProps: { style: { width: '100%' }, step: 10000*100 },
|
|
|
|
|
fieldProps: { style: { width: '100%' }, step: 10000 * 100 },
|
|
|
|
|
formItemProps: {
|
|
|
|
|
style: { width: '100%' },
|
|
|
|
|
},
|
|
|
|
@ -138,10 +138,9 @@ export default observer((props) => {
|
|
|
|
|
value: mVal,
|
|
|
|
|
kpi_id: curObj.kpiDataMapped?.[`M${mIndex}`]?.kpi_id || undefined,
|
|
|
|
|
key: undefined,
|
|
|
|
|
group_date_type: 'month',
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
return r.concat(allMonth);
|
|
|
|
|
}, []);
|
|
|
|
|
const yearRow = (({ object, object_name, object_id, subject, date_type, yearValue, kpiYear }) => ({
|
|
|
|
|
object,
|
|
|
|
|
object_name,
|
|
|
|
@ -152,8 +151,10 @@ export default observer((props) => {
|
|
|
|
|
start_date: moment([KPIStore.settingYear, 0, 1]).format('YYYY-MM-DD'),
|
|
|
|
|
end_date: moment([KPIStore.settingYear, 11, 1]).endOf('M').format('YYYY-MM-DD HH:mm'),
|
|
|
|
|
kpi_id: kpiYear?.kpi_id || undefined,
|
|
|
|
|
}))(dataSource?.[0] || {});
|
|
|
|
|
tableData.unshift(yearRow);
|
|
|
|
|
group_date_type: 'year',
|
|
|
|
|
}))(curObj);
|
|
|
|
|
return r.concat(allMonth, yearRow);
|
|
|
|
|
}, []);
|
|
|
|
|
console.log('sub', tableData, 'del:', delKpiIds);
|
|
|
|
|
// return false; // debug:
|
|
|
|
|
KPIStore.onSubmit(tableData, { delQueue: delKpiIds }).then((res) => {
|
|
|
|
@ -180,28 +181,37 @@ export default observer((props) => {
|
|
|
|
|
date_type: searchFormStore.formValuesToSub.DateType,
|
|
|
|
|
kpiDataMapped: {},
|
|
|
|
|
key: Date.now().toString(32),
|
|
|
|
|
group_date_type: 'month',
|
|
|
|
|
}),
|
|
|
|
|
{}
|
|
|
|
|
); // v.formItemProps.initialValue
|
|
|
|
|
const makeInitialTable = (e) => {
|
|
|
|
|
setEditOpen(e);
|
|
|
|
|
// todo: 单独设置之后, 清空筛选会导致无法批量设置新的
|
|
|
|
|
if (e && isEmpty(dataSource)) {
|
|
|
|
|
// test: 单独设置之后, 清空筛选会导致无法批量设置新的
|
|
|
|
|
const _initialRow = Object.assign({}, initialRow, initialPercentKey);
|
|
|
|
|
const _objects = isEmpty(objects) ? (curObjectItem?.data || []) : objects;
|
|
|
|
|
console.log('ooo', objects, isEmpty(objects), curObjectItem?.data || []);
|
|
|
|
|
const _objects = isEmpty(objects) ? curObjectItem?.data || [] : objects;
|
|
|
|
|
// console.log('ooo', objects, isEmpty(objects), curObjectItem?.data || []);
|
|
|
|
|
const _initialTable = _objects.map((obj) => ({
|
|
|
|
|
...cloneDeep(_initialRow),
|
|
|
|
|
object_name: obj.label,
|
|
|
|
|
object_id: obj.value,
|
|
|
|
|
key: Date.now().toString(32) + obj.value,
|
|
|
|
|
}));
|
|
|
|
|
console.log(_initialRow, 'iiiii');
|
|
|
|
|
// console.log(_initialRow, 'iiiii');
|
|
|
|
|
const mergePageData = Object.values(
|
|
|
|
|
Object.assign(
|
|
|
|
|
{},
|
|
|
|
|
_initialTable.reduce((r, v) => ({ ...r, [v.object_name]: v }), {}),
|
|
|
|
|
dataSource.reduce((r, v) => ({ ...r, [v.object_name]: v }), {})
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
if (e && isEmpty(dataSource)) {
|
|
|
|
|
setDataSource(_initialTable);
|
|
|
|
|
setEditableRowKeys(_initialTable.map((ele) => ele.key));
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
setEditableRowKeys(e ? dataSource.map((ele) => ele.key) : []);
|
|
|
|
|
setDataSource(mergePageData);
|
|
|
|
|
setEditableRowKeys(e ? mergePageData.map((ele) => ele.key) : []);
|
|
|
|
|
};
|
|
|
|
|
const [delKpiIds, setDelKpiIds] = useState([]);
|
|
|
|
|
return (
|
|
|
|
@ -226,13 +236,11 @@ export default observer((props) => {
|
|
|
|
|
return [defaultDoms.delete];
|
|
|
|
|
},
|
|
|
|
|
onDelete: (_key, _row) => {
|
|
|
|
|
// console.log('del', _key, _row);
|
|
|
|
|
const rowKpiIds = (_row?.kpiData || []).map((ele) => ele.kpi_id);
|
|
|
|
|
rowKpiIds.push(_row?.kpiYear?.kpi_id);
|
|
|
|
|
setDelKpiIds(rowKpiIds);
|
|
|
|
|
},
|
|
|
|
|
onValuesChange: (record, recordList) => {
|
|
|
|
|
// console.log('on edit, onValuesChange',record, recordList);
|
|
|
|
|
onTableChange(recordList);
|
|
|
|
|
},
|
|
|
|
|
onChange: (editableKeys, editableRows) => {
|
|
|
|
@ -242,9 +250,14 @@ export default observer((props) => {
|
|
|
|
|
/>
|
|
|
|
|
</Col>
|
|
|
|
|
<Col className="gutter-row mb-n1 p-none mt-1 align_center" span={24}>
|
|
|
|
|
<Space size={'large'}>
|
|
|
|
|
<Button className="mt-1 mb-1 align_center" disabled={!editOpen} type="primary" key="save" onClick={onTableSubmit}>
|
|
|
|
|
保存数据
|
|
|
|
|
</Button>
|
|
|
|
|
{!editOpen && <Button className="mt-1 mb-1 align_center" disabled={false} type={'ghost'} key="initTable" onClick={() => {makeInitialTable(true);}}>
|
|
|
|
|
编辑设置
|
|
|
|
|
</Button>}
|
|
|
|
|
</Space>
|
|
|
|
|
</Col>
|
|
|
|
|
</Row>
|
|
|
|
|
</>
|
|
|
|
|