diff --git a/src/components/search/SearchForm.jsx b/src/components/search/SearchForm.jsx index 2a0447a..74d634e 100644 --- a/src/components/search/SearchForm.jsx +++ b/src/components/search/SearchForm.jsx @@ -268,13 +268,20 @@ function getFields(props) { midCol ), item( - 'year', + 'years', 99, {/* */} ,2 ), + item( + 'months', + 99, + + + ,2 + ), ]; baseChildren = baseChildren .map((x) => { diff --git a/src/libs/ht.js b/src/libs/ht.js index dd6d8a5..ed93759 100644 --- a/src/libs/ht.js +++ b/src/libs/ht.js @@ -88,3 +88,16 @@ export const dataFieldAlias = dataFieldOptions.reduce( }), {} ); + +/** + * KPI对象 + */ +export const KPIObjects = [ + { value: 'overview', label: '总额' }, + { value: 'bu', label: '事业部' }, + { value: 'dept', label: '小组' }, + { value: 'du', label: '顾问小组' }, + { value: 'operator', label: '顾问' }, + { value: 'destination', label: '目的地' }, + { value: 'country', label: '国籍' }, +]; diff --git a/src/views/KPI.jsx b/src/views/KPI.jsx index eda8640..267bb9e 100644 --- a/src/views/KPI.jsx +++ b/src/views/KPI.jsx @@ -3,17 +3,19 @@ import { observer, useLocalStore } from 'mobx-react'; import { toJS } from 'mobx'; // import type { ProColumns } from '@ant-design/pro-components'; import { EditableProTable, ProCard, ProFormField } from '@ant-design/pro-components'; -import { Button, Table, Switch, Input, Space, Typography } from 'antd'; +import { Button, Table, Switch, Input, Space, Typography, Row, Col, Spin, Radio } from 'antd'; import { stores_Context } from '../config'; import { isEmpty, fixTo4Decimals, cloneDeep } from './../utils/commons'; +import SearchForm from './../components/search/SearchForm'; +import { KPIObjects } from './../libs/ht'; -const {Text} = Typography; -const initialPercentKey = new Array(12).fill(1).reduce((r, v, i) => ({ ...r, [`M${i+1}Percent`]: [8, 9].includes(i) ? 10 : 8 }), {}); +const { Text } = Typography; +const initialPercentKey = new Array(12).fill(1).reduce((r, v, i) => ({ ...r, [`M${i + 1}Percent`]: [8, 9].includes(i) ? 10 : 8 }), {}); export default observer((props) => { const [dataSource, setDataSource] = useState([]); const { KPIStore, DictDataStore } = useContext(stores_Context); - const { settingYear, } = KPIStore; + const { settingYear } = KPIStore; const { operator } = DictDataStore; useEffect(() => { // KPIStore.saveOrUpdate(); @@ -41,7 +43,7 @@ export default observer((props) => { }; return ( - + {/* onBlur={handleInputConfirm} onPressEnter={handleInputConfirm} */} {/* 1 */} {calcV} @@ -52,7 +54,10 @@ export default observer((props) => { // console.log(toJS(row), mon); return ( -
{row.kpiDataMapped?.[`M${mon}`]?.percentVal}%
+
+ {row.kpiDataMapped?.[`M${mon}`]?.percentVal} + % +
{row.kpiDataMapped?.[`M${mon}`]?.value}
); @@ -64,7 +69,7 @@ export default observer((props) => { valueType: 'percent', width: '6.5em', fieldProps: { min: 0, max: 100, style: { width: '4em' } }, - renderFormItem: ({ dataIndex, ...item }, { record, isEditable ,...e }, form) => { + renderFormItem: ({ dataIndex, ...item }, { record, isEditable, ...e }, form) => { return ; }, render: (_, row) => RenderInput(row, index + 1), @@ -78,7 +83,7 @@ export default observer((props) => { valueType: 'select', // ...valueEnum // fieldProps: { labelInValue: true }, - render: (_, r) => r.object_name + render: (_, r) => r.object_name, }, // { // title: 'Name', @@ -127,8 +132,38 @@ export default observer((props) => { setDataSource(argrs[0]); // KPIStore.handleTableEdit(argrs[0]); }; + const handleRadioChange = (val) => { + console.log(val, 'sss'); + }; return ( <> + + + handleRadioChange(e.target.value)} /> + + + + + { + // TradeStore.setStateSearch(form); + // pageRefresh(obj); + }} + /> + + { ? { newRecordType: 'dataSource', record: () => ({ - key: (Date.now().toString(32)), // dataSource.length + 1, // Number(Date.now().toString()), + key: Date.now().toString(32), // dataSource.length + 1, // Number(Date.now().toString()), ...initialRow, object_name: '', value: 0, @@ -200,7 +235,11 @@ export default observer((props) => { }, }} /> - {(operator?.dataSource || []).map(ele =>
{ele.label} {ele.mobile}
)} + {(operator?.dataSource || []).map((ele) => ( +
+ {ele.label} {ele.mobile} +
+ ))} ); });