From ddb24e78372045196406c579914a0a6caf55cd12 Mon Sep 17 00:00:00 2001 From: wuqun Date: Fri, 18 Nov 2022 16:22:55 +0800 Subject: [PATCH] =?UTF-8?q?(*)=E6=B7=BB=E5=8A=A0=E9=94=80=E5=94=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1-=E9=94=80=E5=94=AE=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E5=88=86=E5=B8=83=20=E6=A8=A1=E5=9D=97=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/.vscode/launch.json | 6 +-- .../src/layout/components/header/contant.js | 5 +++ .../sections/humanAffairs/containers/index.js | 3 +- .../containers/personnelDistribution.jsx | 42 +++++++++++++++++++ .../src/sections/humanAffairs/nav-item.jsx | 8 ++++ .../src/sections/humanAffairs/routes.js | 12 +++++- 6 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 web/client/src/sections/humanAffairs/containers/personnelDistribution.jsx diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json index bda745f..3a4a4a3 100644 --- a/api/.vscode/launch.json +++ b/api/.vscode/launch.json @@ -42,9 +42,9 @@ // 测试 "--clickHouseUrl http://10.8.30.161", - "--clickHousePepEmis pg_pepca", - "--clickHouseCamworkflow pg_camworkflow", - "--clickHouseHr pg_hrm", + "--clickHousePepEmis pepca8", + "--clickHouseCamworkflow camworkflow", + "--clickHouseHr hrm", ] }, { diff --git a/web/client/src/layout/components/header/contant.js b/web/client/src/layout/components/header/contant.js index b58ed2d..4aa17a0 100644 --- a/web/client/src/layout/components/header/contant.js +++ b/web/client/src/layout/components/header/contant.js @@ -60,6 +60,11 @@ const headerItems = [{ itemKey: "recruitRecord", text: "招聘记录", to: "/humanAffairs/recruit/recruitRecord/appointmentRecords" + }, { + fatherKey: "recruit", + itemKey: "salesStatistics", + text: "销售统计", + to: "/humanAffairs/recruit/salesStatistics/personnelDistribution" }] }, { itemKey: "employeeRelationship", diff --git a/web/client/src/sections/humanAffairs/containers/index.js b/web/client/src/sections/humanAffairs/containers/index.js index 58f7233..b9ddae3 100644 --- a/web/client/src/sections/humanAffairs/containers/index.js +++ b/web/client/src/sections/humanAffairs/containers/index.js @@ -9,6 +9,7 @@ import LeaveStatistics from './leaveStatistics'; import OvertimeStatistics from './overtimeStatistics'; //招聘 import AppointmentRecords from './appointmentRecords'; +import PersonnelDistribution from './personnelDistribution'; //培训 import ResourceRepository from './resourceRepository'; //绩效考核 @@ -32,7 +33,7 @@ import PersonnelFilesDetail from './personnelFilesDetail'; export { PersonnelFiles, EmployeeInformation, DeptArchives, AttendanceStatistics, LeaveStatistics, OvertimeStatistics, - AppointmentRecords, + AppointmentRecords, PersonnelDistribution, ResourceRepository, WeeklyManagement, SaleLog, PMLog, ProbationerKPI, RegularKPI, diff --git a/web/client/src/sections/humanAffairs/containers/personnelDistribution.jsx b/web/client/src/sections/humanAffairs/containers/personnelDistribution.jsx new file mode 100644 index 0000000..7072e89 --- /dev/null +++ b/web/client/src/sections/humanAffairs/containers/personnelDistribution.jsx @@ -0,0 +1,42 @@ +import React, { useEffect, useState } from 'react'; +import { connect } from 'react-redux'; +import Empty from '../components/empty'; +import '../style.less' + +const PersonnelDistribution = (props) => { + const { dispatch, actions } = props + + return ( + <> +
+
+
招聘
+
/
+
销售统计
+
/
+
销售人员分布
+
+
+
+
+
+
销售人员分布
+
DISTRIBUTION OF SALES PERSONNEL
+
+
+ +
+
+ + ) +} + +function mapStateToProps(state) { + const { auth, global } = state; + return { + user: auth.user, + actions: global.actions, + }; +} + +export default connect(mapStateToProps)(PersonnelDistribution); diff --git a/web/client/src/sections/humanAffairs/nav-item.jsx b/web/client/src/sections/humanAffairs/nav-item.jsx index 3696ea1..6576295 100644 --- a/web/client/src/sections/humanAffairs/nav-item.jsx +++ b/web/client/src/sections/humanAffairs/nav-item.jsx @@ -46,6 +46,14 @@ export function getNavItem(user, dispatch) { items: [{ itemKey: 'appointmentRecords', to: '/humanAffairs/recruit/recruitRecord/appointmentRecords', text: '任用记录' }] + }, { + itemKey: 'salesStatistics', + text: '销售统计', + icon: ,//wwwtodo + to: '/humanAffairs/recruit/salesStatistics/personnelDistribution', + items: [{ + itemKey: 'personnelDistribution', to: '/humanAffairs/recruit/salesStatistics/personnelDistribution', text: '销售人员分布' + }] }, { itemKey: 'trainFiles', text: '培训档案', diff --git a/web/client/src/sections/humanAffairs/routes.js b/web/client/src/sections/humanAffairs/routes.js index 9815cf7..91ffb0c 100644 --- a/web/client/src/sections/humanAffairs/routes.js +++ b/web/client/src/sections/humanAffairs/routes.js @@ -2,7 +2,7 @@ import { PersonnelFiles, EmployeeInformation, //人员档案 DeptArchives, //部门档案 AttendanceStatistics, LeaveStatistics, OvertimeStatistics, - AppointmentRecords, + AppointmentRecords, PersonnelDistribution, ResourceRepository, WeeklyManagement, SaleLog, PMLog, ProbationerKPI, RegularKPI, @@ -89,6 +89,16 @@ export default [{ component: AppointmentRecords, breadcrumb: '任用记录', }] + }, { + path: '/salesStatistics', + key: 'salesStatistics', + breadcrumb: '销售统计', + childRoutes: [{ + path: '/personnelDistribution', + key: 'personnelDistribution', + component: PersonnelDistribution, + breadcrumb: '销售人员分布', + }] }] }, { path: '/train',