diff --git a/src/components/kpi/ObjectPanel.jsx b/src/components/kpi/ObjectPanel.jsx index 2caa53a..c34a236 100644 --- a/src/components/kpi/ObjectPanel.jsx +++ b/src/components/kpi/ObjectPanel.jsx @@ -13,7 +13,7 @@ const searchFormItemSet = { }; export default observer((props) => { - const searchProps = searchFormItemSet?.[props.curObject] || {}; + const searchProps = searchFormItemSet?.[props.curObject] || { shows: ['DateType', 'years',] , sort }; return ( <> diff --git a/src/components/kpi/SubjectTable/Profit.jsx b/src/components/kpi/SubjectTable/Profit.jsx index d4446f0..79de9c8 100644 --- a/src/components/kpi/SubjectTable/Profit.jsx +++ b/src/components/kpi/SubjectTable/Profit.jsx @@ -201,8 +201,8 @@ export default observer((props) => { const mergePageData = Object.values( Object.assign( {}, - _initialTable.reduce((r, v) => ({ ...r, [v.object_name]: v }), {}), - dataSource.reduce((r, v) => ({ ...r, [v.object_name]: v }), {}) + _initialTable.reduce((r, v) => ({ ...r, [v.object_id]: v }), {}), + dataSource.reduce((r, v) => ({ ...r, [v.object_id]: v }), {}) ) ); if (e && isEmpty(dataSource)) { diff --git a/src/components/kpi/SubjectTable/SumProfitPanel.jsx b/src/components/kpi/SubjectTable/SumProfitPanel.jsx deleted file mode 100644 index 1b5666d..0000000 --- a/src/components/kpi/SubjectTable/SumProfitPanel.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import { useContext } from 'react'; -import { observer } from 'mobx-react'; -// import { stores_Context } from '../config'; -import { Button, Table, Switch, Input, Space, Typography, Row, Col, Spin, Radio, Tabs } from 'antd'; -import SearchForm from '../../search/SearchForm'; -import { bu, KPIObjects } from '../../../libs/ht'; - -export default observer((props) => { - // const { } = useContext(stores_Context); - return ( - <> - - - { - // TradeStore.setStateSearch(form); - // pageRefresh(obj); - }} - /> - - - - - { - const id = String(i); - return { - ...ele, - children: `Content of tab ${id}`, - }; - })} - /> - - - - ); -}); diff --git a/src/libs/ht.js b/src/libs/ht.js index f5a70be..5055f31 100644 --- a/src/libs/ht.js +++ b/src/libs/ht.js @@ -116,13 +116,29 @@ export const dataFieldAlias = dataFieldOptions.reduce( * KPI对象 */ export const KPIObjects = [ - { key: 'overview', value: 'overview', label: '海纳' }, + { key: 'overview', value: 'overview', label: '海纳', data: [{ key: '-1', value: '-1', label: '海纳' }] }, + { + key: 'bizarea', + value: 'bizarea', + label: '国内外业务', + data: [ + { key: 'inside', value: 'inside', label: '国内' }, + { key: 'outside', value: 'outside', label: '海外' }, + ], + }, { key: 'bu', value: 'bu', label: 'HT事业部', data: bu }, { key: 'dept', value: 'dept', label: '小组', data: leafGroup }, { key: 'du', value: 'du', label: '销售小组', data: deptUnits }, { key: 'operator', value: 'operator', label: '顾问' }, { key: 'destination', value: 'destination', label: '目的地' }, { key: 'country', value: 'country', label: '国籍' }, + { key: 'guestgrouptype', value: 'guestgrouptype', label: '成员关系', data: [ // todo: + { key: 'family', value: 'family', label: '家庭' }, + { key: 'solo', value: 'solo', label: 'Solo' }, + { key: 'group', value: 'group', label: '组织' }, + { key: 'other', value: 'other', label: '其他' }, + ] + }, ]; export const KPISubjects = [ { key: 'sum_profit', value: 'sum_profit', label: '毛利' }, diff --git a/src/stores/Trade.js b/src/stores/Trade.js index 50e2fed..3e5733e 100644 --- a/src/stores/Trade.js +++ b/src/stores/Trade.js @@ -90,6 +90,24 @@ class Trade { }); } + /** + * 成员关系, 年度 + */ + fetchTradeDataByGuestType(queryData) { + this.BuData.loading = true; + Object.assign(queryData, { groupType: 'GuestGroupType', groupDateType: 'year' }); + this.fetchTradeData(queryData).then((json) => { + if (json.errcode === 0) { + runInAction(() => { + const data = json.result1; + + this.BuData.loading = false; + this.BuData.dataSource = data; + }); + } + }); + } + /** * 业务区域, 按月 */ @@ -141,6 +159,11 @@ class Trade { return null; } + /** + * 从结果中取出目标客户的数据 + */ + setTargetsRes = () => {}; + setStateSearch(body) { this.searchPayloadHome = body; } diff --git a/src/views/KPI.jsx b/src/views/KPI.jsx index 524e364..5e9977c 100644 --- a/src/views/KPI.jsx +++ b/src/views/KPI.jsx @@ -9,7 +9,8 @@ import OverviewPanel from './../components/kpi/OverviewPanel'; import './kpi.css'; const objectComponents = { - 'overview': OverviewPanel, + // 'overview': OverviewPanel, + 'overview': ObjectPanel, 'bu': ObjectPanel, 'dept': ObjectPanel, 'du': ObjectPanel, @@ -68,7 +69,7 @@ export default observer((props) => { || !isEmpty(searchFormStore.formValues?.operator)) { // && isEmpty(getkpiParam.object_id) setRetObjects(searchOperator.dataSource); - getkpiParam.object_id = searchOperator.dataSource.map((ele) => ele.key).join(','); + // getkpiParam.object_id = searchOperator.dataSource.map((ele) => ele.key).join(','); // todo: 多选 delete getkpiParam.dept_id; } } @@ -95,7 +96,7 @@ export default observer((props) => { onChange={onObjectChange} type="card" items={KPIObjects.map((ele, i) => { - const ObjectItemPanel = objectComponents[ele.key]; + const ObjectItemPanel = objectComponents?.[ele.key] || ObjectPanel; return { ...ele, children: (