From e3a0df5002f65d3aa3b4056142f1cd345a830e32 Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Mon, 3 Jul 2023 09:43:04 +0800 Subject: [PATCH] =?UTF-8?q?HR=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/displayboardapi/indexapi.ts | 53 +++++++ src/api/displayboardapi/types.ts | 52 ++++++ src/views/hr/displayboard.vue | 79 +++++++++- src/views/hr/displayboards/dimissionrate.vue | 111 +++++++++++++ src/views/hr/displayboards/educationpie.vue | 125 +++++++++++++++ .../hr/displayboards/groupdimissionrate.vue | 148 ++++++++++++++++++ .../hr/displayboards/groupdimratepie.vue | 136 ++++++++++++++++ 7 files changed, 702 insertions(+), 2 deletions(-) create mode 100644 src/api/displayboardapi/indexapi.ts create mode 100644 src/api/displayboardapi/types.ts create mode 100644 src/views/hr/displayboards/dimissionrate.vue create mode 100644 src/views/hr/displayboards/educationpie.vue create mode 100644 src/views/hr/displayboards/groupdimissionrate.vue create mode 100644 src/views/hr/displayboards/groupdimratepie.vue diff --git a/src/api/displayboardapi/indexapi.ts b/src/api/displayboardapi/indexapi.ts new file mode 100644 index 000000000..f8831eea3 --- /dev/null +++ b/src/api/displayboardapi/indexapi.ts @@ -0,0 +1,53 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { dimissionRateQuery,publicId,eduStruCont,sendOrgCont } from './types'; +/** + * 获取离职率 + */ + export function getDimissionRate(data?: dimissionRateQuery) { + return request({ + url: '/hrapi/staff/dimission_rate', + method: 'post', + data: data + }); +} +/** + * 获取行政组织直接下属 + */ + export function getOrgChiled(data?: publicId): AxiosPromise { + return request({ + url: '/hrapi/org/getorgchiled', + method: 'post', + data: data + }); +} +/** + * 获取单一行政组织离职率 + */ + export function getOneOrgDimissionRate(data?: dimissionRateQuery){ + return request({ + url: '/hrapi/staff/oneorg_dimission_rate', + method: 'post', + data: data + }); +} +/** + * 获取公司指定年月的离职率 + */ + export function getOrgTimeRate(data?: dimissionRateQuery){ + return request({ + url: '/hrapi/staff/getorgtimerate', + method: 'post', + data: data + }); +} +/** + * 获取学历结构 + */ + export function getEdtuStru(data?: publicId): AxiosPromise { + return request({ + url: '/hrapi/staff/get_edu_stru', + method: 'post', + data: data + }); +} diff --git a/src/api/displayboardapi/types.ts b/src/api/displayboardapi/types.ts new file mode 100644 index 000000000..ce20a62bb --- /dev/null +++ b/src/api/displayboardapi/types.ts @@ -0,0 +1,52 @@ +export interface publicId{ + id?:number; +} +/** + * 获取离职率参数 + */ +export interface dimissionRateQuery{ + id?:number; + time?:string; +} +/** + * 折线结构 + */ +export interface zexianStrcut{ + name: string; + type: string; + stack: string; + data: number[] +} +/** + * 行政住址结构 + */ +export interface orgInfo{ + id: number; + number: string; + name: string; + superior: number; + organizationtype: number; + abbreviation: string; + time: number; + state: number; + wechatorganizationid: number; + superiorsun: string; + schoole: number; + kingdeeid: string; + ispower: number; + sort: number +} +/** + * 输出行政组织 + */ +export interface sendOrgCont{ + current:number; + list:orgInfo[] +} +/** + * 学历结构 + */ +export interface eduStruCont{ + education:string; + percentage:number; +} diff --git a/src/views/hr/displayboard.vue b/src/views/hr/displayboard.vue index b5bb99bf9..2edc6bc16 100644 --- a/src/views/hr/displayboard.vue +++ b/src/views/hr/displayboard.vue @@ -4,11 +4,86 @@ @ 备注: HR看板 --> diff --git a/src/views/hr/displayboards/dimissionrate.vue b/src/views/hr/displayboards/dimissionrate.vue new file mode 100644 index 000000000..e2ef05e6f --- /dev/null +++ b/src/views/hr/displayboards/dimissionrate.vue @@ -0,0 +1,111 @@ + + + + diff --git a/src/views/hr/displayboards/educationpie.vue b/src/views/hr/displayboards/educationpie.vue new file mode 100644 index 000000000..cc12a28c9 --- /dev/null +++ b/src/views/hr/displayboards/educationpie.vue @@ -0,0 +1,125 @@ + + + + diff --git a/src/views/hr/displayboards/groupdimissionrate.vue b/src/views/hr/displayboards/groupdimissionrate.vue new file mode 100644 index 000000000..51804c86d --- /dev/null +++ b/src/views/hr/displayboards/groupdimissionrate.vue @@ -0,0 +1,148 @@ + + + + diff --git a/src/views/hr/displayboards/groupdimratepie.vue b/src/views/hr/displayboards/groupdimratepie.vue new file mode 100644 index 000000000..d646944f2 --- /dev/null +++ b/src/views/hr/displayboards/groupdimratepie.vue @@ -0,0 +1,136 @@ + + + +