mirror of
https://gitee.com/maimengcloud/xm-ui-web.git
synced 2025-12-30 10:12:26 +00:00
优化
This commit is contained in:
@@ -274,8 +274,10 @@
|
|||||||
### 人效趋势分析
|
### 人效趋势分析
|
||||||

|

|
||||||
|
|
||||||
### 人效排行榜
|
### 人效排行榜-按产品分组
|
||||||

|

|
||||||
|
### 人效排行榜-按人分组
|
||||||
|

|
||||||
|
|
||||||
### 燃尽图
|
### 燃尽图
|
||||||

|

|
||||||
|
|||||||
BIN
docs/images/xm-zs/xm-zs-16-rxfx-sort-userid.png
Normal file
BIN
docs/images/xm-zs/xm-zs-16-rxfx-sort-userid.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 162 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 155 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 198 KiB |
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="工时归属" prop="username">
|
<el-form-item label="工时归属" prop="username">
|
||||||
<xm-user-select :xm-product="xmProductCpd" :sel-project="selProjectCpd" width="100%" label="工时归属" v-model="editForm.userid" :init-name="editForm.username" />
|
<xm-user-select :xm-product="xmProductCpd" :sel-project="selProjectCpd" width="100%" label="工时归属" v-model="editForm.userid" :init-name="editForm.username" @change2="onUserSelect"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
@@ -398,6 +398,9 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
onUserSelect(u){
|
||||||
|
this.editForm.username=u.username
|
||||||
|
}
|
||||||
|
|
||||||
},//end method
|
},//end method
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|||||||
@@ -83,7 +83,19 @@ import { listSumWorkloadHumanEffectSort } from '@/api/xm/core/xmWorkload';
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
standWeWorkloadCpd(){
|
||||||
|
if(this.rawDatas.length==0){
|
||||||
|
return []
|
||||||
|
}else{
|
||||||
|
let baseHeWorkload=this.calcBaseHeWorkload(this.params.dateType)
|
||||||
|
return this.rawDatas.map(i=>baseHeWorkload)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
legendCpd(){
|
legendCpd(){
|
||||||
|
return ['实际人效=工作量/总人数/周期','标准人效']
|
||||||
|
},
|
||||||
|
xDataCpd(){
|
||||||
if (this.rawDatas.length == 0) {
|
if (this.rawDatas.length == 0) {
|
||||||
return []
|
return []
|
||||||
} else {
|
} else {
|
||||||
@@ -170,6 +182,18 @@ import { listSumWorkloadHumanEffectSort } from '@/api/xm/core/xmWorkload';
|
|||||||
}//end return
|
}//end return
|
||||||
},//end data
|
},//end data
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
calcBaseHeWorkload(dateType){
|
||||||
|
if(dateType=='days'){
|
||||||
|
return 8
|
||||||
|
}else if(dateType=='months'){
|
||||||
|
return 8*22
|
||||||
|
}else if(dateType=='years'){
|
||||||
|
return 8*360
|
||||||
|
}else{
|
||||||
|
return 8
|
||||||
|
}
|
||||||
|
},
|
||||||
listSumWorkloadHumanEffectSort(){
|
listSumWorkloadHumanEffectSort(){
|
||||||
if(this.rptDatas){
|
if(this.rptDatas){
|
||||||
this.rawDatas=this.rptDatas
|
this.rawDatas=this.rptDatas
|
||||||
@@ -261,22 +285,45 @@ import { listSumWorkloadHumanEffectSort } from '@/api/xm/core/xmWorkload';
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
legend: {
|
||||||
|
bottom: 'bottom',
|
||||||
|
data: this.legendCpd
|
||||||
|
},
|
||||||
calculable: true,
|
calculable: true,
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
type: 'category',
|
||||||
data: this.legendCpd
|
data: this.xDataCpd
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
|
|
||||||
|
name:'实际人效=工作量/总人数/周期',
|
||||||
data: this.heWorkloadCpd,
|
data: this.heWorkloadCpd,
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
label:{
|
label:{
|
||||||
show:true
|
show:true
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name:'标准人效',
|
||||||
|
data: this.standWeWorkloadCpd,
|
||||||
|
type: 'line',
|
||||||
|
smooth: true,
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
// 折点颜色样式
|
||||||
|
color: 'green',
|
||||||
|
lineStyle: {
|
||||||
|
// 折线颜色样式
|
||||||
|
color: 'green'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -87,9 +87,17 @@ import { listSumWorkloadHumanEffectTrend } from '@/api/xm/core/xmWorkload';
|
|||||||
return this.rawDatas.map(i=>i.baseHeWorkload||baseHeWorkload)
|
return this.rawDatas.map(i=>i.baseHeWorkload||baseHeWorkload)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
standWeWorkloadCpd(){
|
||||||
|
if(this.rawDatas.length==0){
|
||||||
|
return []
|
||||||
|
}else{
|
||||||
|
let baseHeWorkload=this.calcBaseHeWorkload(this.params.dateType)
|
||||||
|
return this.rawDatas.map(i=>baseHeWorkload)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
legendCpd(){
|
legendCpd(){
|
||||||
return ['人均效能=工作量/总人数/周期','基准平均人效']
|
return ['实际人效=工作量/总人数/周期','部门人效','标准人效']
|
||||||
},
|
},
|
||||||
titleCpd(){
|
titleCpd(){
|
||||||
if(this.cfg?.title){
|
if(this.cfg?.title){
|
||||||
@@ -278,7 +286,7 @@ import { listSumWorkloadHumanEffectTrend } from '@/api/xm/core/xmWorkload';
|
|||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
name:'人均效能=工作量/总人数/周期',
|
name:'实际人效=工作量/总人数/周期',
|
||||||
data: this.heWorkloadCpd,
|
data: this.heWorkloadCpd,
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
@@ -294,7 +302,7 @@ import { listSumWorkloadHumanEffectTrend } from '@/api/xm/core/xmWorkload';
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:'基准平均人效',
|
name:'部门人效',
|
||||||
data: this.baseWeWorkloadCpd,
|
data: this.baseWeWorkloadCpd,
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
@@ -308,6 +316,22 @@ import { listSumWorkloadHumanEffectTrend } from '@/api/xm/core/xmWorkload';
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name:'标准人效',
|
||||||
|
data: this.standWeWorkloadCpd,
|
||||||
|
type: 'line',
|
||||||
|
smooth: true,
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
// 折点颜色样式
|
||||||
|
color: 'green',
|
||||||
|
lineStyle: {
|
||||||
|
// 折线颜色样式
|
||||||
|
color: 'green'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user