diff --git a/web/client/src/layout/components/header/contant.js b/web/client/src/layout/components/header/contant.js index 22c3c92..39c9a20 100644 --- a/web/client/src/layout/components/header/contant.js +++ b/web/client/src/layout/components/header/contant.js @@ -13,6 +13,12 @@ const headerItems = [{ itemKey: "performanceReport", text: "业绩报表", to: "/businessManagement/performanceReport/contractDetails" + }, { + fatherKey: "authCenter", + openKey: "salesReport", + itemKey: "salesReport", + text: "销售报表", + to: "/businessManagement/salesReport/salesDistributionDetails" }] }] diff --git a/web/client/src/sections/business/containers/index.js b/web/client/src/sections/business/containers/index.js index f4822e5..9e7bfa7 100644 --- a/web/client/src/sections/business/containers/index.js +++ b/web/client/src/sections/business/containers/index.js @@ -6,6 +6,9 @@ import ReserveItemsDepSummary from './reserveItemsDepSummary'; import ReserveItemsLostStatistics from './reserveItemsLostStatistics'; import ContractDetails from './performanceReport/contractDetails'; import InvoicingDetails from './performanceReport/invoicingDetails'; +import BackMoneyDetails from './performanceReport/backMoneyDetails'; +import AchievementDetails from './performanceReport/achievementDetails'; +import SalesDistributionDetails from './salesReport/salesDistributionDetails'; export { ReserveItemsReporting, @@ -13,5 +16,8 @@ export { ReserveItemsDepSummary, ReserveItemsLostStatistics, ContractDetails, - InvoicingDetails + InvoicingDetails, + BackMoneyDetails, + AchievementDetails, + SalesDistributionDetails }; \ No newline at end of file diff --git a/web/client/src/sections/business/containers/performanceReport/achievementDetails.jsx b/web/client/src/sections/business/containers/performanceReport/achievementDetails.jsx new file mode 100644 index 0000000..403dd48 --- /dev/null +++ b/web/client/src/sections/business/containers/performanceReport/achievementDetails.jsx @@ -0,0 +1,44 @@ +import React, { useEffect, useState } from 'react'; +import { connect } from 'react-redux'; +import { Table } from '@douyinfe/semi-ui'; +import '../../style.less'; + +const AchievementDetails = (props) => { + + const columns = [ + { + title: '序号', + dataIndex: 'index', + render: (text, record, index) => index + 1 + }, + ]; + const data = []; + return ( + <> +
+
+
业务管理
+
/
+
业绩报表
+
/
+
业绩明细表
+
+
+ + + + + + ) +} + + +function mapStateToProps(state) { + const { auth, global } = state; + return { + user: auth.user, + actions: global.actions, + }; +} + +export default connect(mapStateToProps)(AchievementDetails); \ No newline at end of file diff --git a/web/client/src/sections/business/containers/performanceReport/backMoneyDetails.jsx b/web/client/src/sections/business/containers/performanceReport/backMoneyDetails.jsx new file mode 100644 index 0000000..7943903 --- /dev/null +++ b/web/client/src/sections/business/containers/performanceReport/backMoneyDetails.jsx @@ -0,0 +1,44 @@ +import React, { useEffect, useState } from 'react'; +import { connect } from 'react-redux'; +import { Table } from '@douyinfe/semi-ui'; +import '../../style.less'; + +const BackMoneyDetails = (props) => { + + const columns = [ + { + title: '序号', + dataIndex: 'index', + render: (text, record, index) => index + 1 + }, + ]; + const data = []; + return ( + <> +
+
+
业务管理
+
/
+
业绩报表
+
/
+
回款明细表
+
+
+
+ + + + + ) +} + + +function mapStateToProps(state) { + const { auth, global } = state; + return { + user: auth.user, + actions: global.actions, + }; +} + +export default connect(mapStateToProps)(BackMoneyDetails); \ No newline at end of file diff --git a/web/client/src/sections/business/containers/salesReport/salesDistributionDetails.jsx b/web/client/src/sections/business/containers/salesReport/salesDistributionDetails.jsx new file mode 100644 index 0000000..c34e7a9 --- /dev/null +++ b/web/client/src/sections/business/containers/salesReport/salesDistributionDetails.jsx @@ -0,0 +1,44 @@ +import React, { useEffect, useState } from 'react'; +import { connect } from 'react-redux'; +import { Table } from '@douyinfe/semi-ui'; +import '../../style.less'; + +const SalesDistributionDetails = (props) => { + + const columns = [ + { + title: '序号', + dataIndex: 'index', + render: (text, record, index) => index + 1 + }, + ]; + const data = []; + return ( + <> +
+
+
业务管理
+
/
+
业绩报表
+
/
+
销售人员分布明细表
+
+
+
+ + + + + ) +} + + +function mapStateToProps(state) { + const { auth, global } = state; + return { + user: auth.user, + actions: global.actions, + }; +} + +export default connect(mapStateToProps)(SalesDistributionDetails); \ No newline at end of file diff --git a/web/client/src/sections/business/nav-item.jsx b/web/client/src/sections/business/nav-item.jsx index 9560751..6e0f6af 100644 --- a/web/client/src/sections/business/nav-item.jsx +++ b/web/client/src/sections/business/nav-item.jsx @@ -26,7 +26,7 @@ export function getNavItem(user, dispatch) { itemKey: 'reserveItemsLostStatistics', to: '/businessManagement/pmReport/reserveItemsLostStatistics', text: '储备项目丢单统计表' }] - },{ + }, { itemKey: 'performanceReport', text: '业绩报表', icon: , @@ -37,6 +37,21 @@ export function getNavItem(user, dispatch) { }, { itemKey: 'invoicingDetails', to: '/businessManagement/performanceReport/invoicingDetails', text: '开票明细表' + }, { + itemKey: 'backMoneyDetails', + to: '/businessManagement/performanceReport/backMoneyDetails', text: '回款明细表' + }, { + itemKey: 'achievementDetails', + to: '/businessManagement/performanceReport/achievementDetails', text: '业绩明细表' + }] + }, { + itemKey: 'salesReport', + text: '销售报表', + icon: , + to: '/businessManagement/salesReport/salesDistributionDetails', + items: [{ + itemKey: 'salesDistributionDetails', + to: '/businessManagement/salesReport/salesDistributionDetails', text: '销售人员分布明细表' }] }] }, diff --git a/web/client/src/sections/business/routes.js b/web/client/src/sections/business/routes.js index a856b22..4147f0e 100644 --- a/web/client/src/sections/business/routes.js +++ b/web/client/src/sections/business/routes.js @@ -1,6 +1,6 @@ import { ReserveItemsReporting, ReserveItemsPeriodicStatistics, ReserveItemsDepSummary, ReserveItemsLostStatistics, - ContractDetails, InvoicingDetails + ContractDetails, InvoicingDetails, BackMoneyDetails, AchievementDetails, SalesDistributionDetails } from './containers'; export default [{ @@ -36,8 +36,7 @@ export default [{ breadcrumb: '储备项目丢单统计表', component: ReserveItemsLostStatistics }] - }, - { + }, { path: '/performanceReport', key: 'performanceReport', breadcrumb: '业绩报表', @@ -51,6 +50,26 @@ export default [{ key: 'invoicingDetails', breadcrumb: '开票明细表', component: InvoicingDetails + }, { + path: '/backMoneyDetails', + key: 'backMoneyDetails', + component: BackMoneyDetails, + breadcrumb: '回款明细表' + }, { + path: '/achievementDetails', + key: 'achievementDetails', + breadcrumb: '业绩明细表', + component: AchievementDetails + }] + }, { + path: '/salesReport', + key: 'salesReport', + breadcrumb: '销售报表', + childRoutes: [{ + path: '/salesDistributionDetails', + key: 'salesDistributionDetails', + component: SalesDistributionDetails, + breadcrumb: '销售人员分布明细表' }] }] }