Browse Source

(*)回款明细表, 业绩明细表, 销售人员分布明细表 路由

master
wuqun 2 years ago
parent
commit
113b342cc4
  1. 6
      web/client/src/layout/components/header/contant.js
  2. 8
      web/client/src/sections/business/containers/index.js
  3. 44
      web/client/src/sections/business/containers/performanceReport/achievementDetails.jsx
  4. 44
      web/client/src/sections/business/containers/performanceReport/backMoneyDetails.jsx
  5. 44
      web/client/src/sections/business/containers/salesReport/salesDistributionDetails.jsx
  6. 17
      web/client/src/sections/business/nav-item.jsx
  7. 25
      web/client/src/sections/business/routes.js

6
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"
}]
}]

8
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
};

44
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 (
<>
<div style={{ padding: '0px 12px' }}>
<div style={{ display: 'flex' }}>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业务管理</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业绩报表</div>
<div style={{ color: '#033C9A', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: '#033C9A', fontSize: 14 }}>业绩明细表</div>
</div>
<div style={{ background: '#FFFFFF', boxShadow: '0px 0px 12px 2px rgba(220,222,224,0.2)', borderRadius: 2, padding: '20px ', marginTop: 9 }}>
<Table columns={columns} dataSource={data} pagination={false} />
</div>
</div>
</>
)
}
function mapStateToProps(state) {
const { auth, global } = state;
return {
user: auth.user,
actions: global.actions,
};
}
export default connect(mapStateToProps)(AchievementDetails);

44
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 (
<>
<div style={{ padding: '0px 12px' }}>
<div style={{ display: 'flex' }}>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业务管理</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业绩报表</div>
<div style={{ color: '#033C9A', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: '#033C9A', fontSize: 14 }}>回款明细表</div>
</div>
<div style={{ background: '#FFFFFF', boxShadow: '0px 0px 12px 2px rgba(220,222,224,0.2)', borderRadius: 2, padding: '20px ', marginTop: 9 }}>
<Table columns={columns} dataSource={data} pagination={false} />
</div>
</div>
</>
)
}
function mapStateToProps(state) {
const { auth, global } = state;
return {
user: auth.user,
actions: global.actions,
};
}
export default connect(mapStateToProps)(BackMoneyDetails);

44
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 (
<>
<div style={{ padding: '0px 12px' }}>
<div style={{ display: 'flex' }}>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业务管理</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: 'rgba(0,0,0,0.45)', fontSize: 14 }}>业绩报表</div>
<div style={{ color: '#033C9A', fontSize: 14, margin: '0px 8px' }}>/</div>
<div style={{ color: '#033C9A', fontSize: 14 }}>销售人员分布明细表</div>
</div>
<div style={{ background: '#FFFFFF', boxShadow: '0px 0px 12px 2px rgba(220,222,224,0.2)', borderRadius: 2, padding: '20px ', marginTop: 9 }}>
<Table columns={columns} dataSource={data} pagination={false} />
</div>
</div>
</>
)
}
function mapStateToProps(state) {
const { auth, global } = state;
return {
user: auth.user,
actions: global.actions,
};
}
export default connect(mapStateToProps)(SalesDistributionDetails);

17
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: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbzhongceng"></iconpark-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: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbzhongceng"></iconpark-icon>,
to: '/businessManagement/salesReport/salesDistributionDetails',
items: [{
itemKey: 'salesDistributionDetails',
to: '/businessManagement/salesReport/salesDistributionDetails', text: '销售人员分布明细表'
}]
}]
},

25
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: '销售人员分布明细表'
}]
}]
}

Loading…
Cancel
Save