Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
49da75a0
Commit
49da75a0
authored
Jul 19, 2023
by
王启林
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/attendance-performance-platform
parents
dc9a9698
b480ac15
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
172 additions
and
199 deletions
+172
-199
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
...nce-manager-ui/admin/src/views/attendance/record/list.vue
+2
-2
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
...mance-manager-ui/admin/src/views/attendance/stat/list.vue
+2
-2
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/components/BarCharts.vue
...min/src/views/staff/perform/stat/components/BarCharts.vue
+5
-1
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/list.vue
...ce-manager-ui/admin/src/views/staff/perform/stat/list.vue
+163
-194
No files found.
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
View file @
49da75a0
...
@@ -66,14 +66,14 @@
...
@@ -66,14 +66,14 @@
@
click=
"lookexportHis"
@
click=
"lookexportHis"
>
导出记录
</el-button
>
导出记录
</el-button
>
>
<el-button
<
!--
<
el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"setdialog"
@
click=
"setdialog"
>
表格设置
</el-button
>
表格设置
</el-button
>
>
-->
</LayoutTable>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<!-- 导出记录查看 -->
<!-- 导出记录查看 -->
...
...
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
View file @
49da75a0
...
@@ -18,13 +18,13 @@
...
@@ -18,13 +18,13 @@
type=
"success"
type=
"success"
@
click=
"lookexportHis"
@
click=
"lookexportHis"
>
导出记录
</el-button>
>
导出记录
</el-button>
<el-button
<
!--
<
el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"setdialog"
@
click=
"setdialog"
>
表格设置
</el-button>
>
表格设置
</el-button>
-->
</LayoutTable>
</LayoutTable>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<!-- 表格设置 -->
<!-- 表格设置 -->
...
...
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/components/BarCharts.vue
View file @
49da75a0
...
@@ -80,7 +80,7 @@ export default {
...
@@ -80,7 +80,7 @@ export default {
name
:
'
目标线
'
,
name
:
'
目标线
'
,
yAxis
:
this
.
markLine
,
yAxis
:
this
.
markLine
,
label
:
{
label
:
{
formatter
:
'
{b}:
'
+
this
.
legendName
+
'
不高于20.0%,
'
,
formatter
:
'
{b}:
'
+
this
.
legendName
+
'
不高于20.0%,
'
,
position
:
'
insideStartTop
'
position
:
'
insideStartTop
'
},
},
lineStyle
:
{
lineStyle
:
{
...
@@ -188,6 +188,10 @@ export default {
...
@@ -188,6 +188,10 @@ export default {
]
]
})
})
}
}
myChart
.
on
(
'
click
'
,
(
params
)
=>
{
this
.
$emit
(
"
click
"
,
params
)
})
},
},
},
},
};
};
...
...
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/list.vue
View file @
49da75a0
...
@@ -9,17 +9,8 @@
...
@@ -9,17 +9,8 @@
<el-radio-button
:label=
"2"
>
按个人
</el-radio-button>
<el-radio-button
:label=
"2"
>
按个人
</el-radio-button>
</el-radio-group>
</el-radio-group>
<div
class=
"search_box"
>
<div
class=
"search_box"
>
<el-select
<el-select
v-model=
"boardQuery.month"
placeholder=
"请选择"
style=
"margin: 0 10px;"
>
v-model=
"boardQuery.month"
<el-option
v-for=
"item in optionsMonths"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
placeholder=
"请选择"
style=
"margin: 0 10px;"
>
<el-option
v-for=
"item in optionsMonths"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-button
type=
"primary"
>
搜索
</el-button>
<el-button
type=
"primary"
>
搜索
</el-button>
...
@@ -28,60 +19,30 @@
...
@@ -28,60 +19,30 @@
<div
class=
"mid"
>
<div
class=
"mid"
>
<div
class=
"mid_top"
>
<div
class=
"mid_top"
>
<div
class=
"jixiaozongfen"
>
<div
class=
"jixiaozongfen"
>
<bar-charts
<bar-charts
:title=
"'绩效总分排名'"
:id=
"'jixiaozongfen'"
:legendName=
"'绩效总分'"
:title=
"'绩效总分排名'"
:parameter=
"depStatObj.totalScore"
:styleObj=
"
{ width: '100%', height: '300px' }" />
:id=
"'jixiaozongfen'"
:legendName=
"'绩效总分'"
:parameter=
"depStatObj.totalScore"
:styleObj=
"
{ width: '100%', height: '300px' }"
/>
</div>
</div>
<div
class=
"jixiaopingjunfen"
>
<div
class=
"jixiaopingjunfen"
>
<line-charts
<line-charts
:title=
"'绩效平均分排名'"
:id=
"'jixiaopingjunfen'"
:parameter=
"depStatObj.averageScore"
:title=
"'绩效平均分排名'"
:legendName=
"'绩效平均分'"
:styleObj=
"
{ width: '100%', height: '300px' }" />
:id=
"'jixiaopingjunfen'"
:parameter=
"depStatObj.averageScore"
:legendName=
"'绩效平均分'"
:styleObj=
"
{ width: '100%', height: '300px' }"
/>
</div>
</div>
</div>
</div>
<div
class=
"mid_down"
>
<div
class=
"mid_down"
>
<div
class=
"top_10 box"
>
<div
class=
"top_10 box"
>
<bar-charts
<bar-charts
:title=
"'部门加分排名TOP10'"
:id=
"'top_10'"
:parameter=
"depStatObj.totalAddScore"
:title=
"'部门加分排名TOP10'"
:legendName=
"'部门加分分值'"
@
click=
"rowClick"
:styleObj=
"
{ width: '100%', height: '300px' }" />
:id=
"'top_10'"
:parameter=
"depStatObj.totalAddScore"
:legendName=
"'部门加分分值'"
:styleObj=
"
{ width: '100%', height: '300px' }"
/>
</div>
</div>
<div
class=
"jiafen box"
>
<div
class=
"jiafen box"
>
<pie-charts
<pie-charts
:title=
"'部门加分整体分布'"
:id=
"'jiafen'"
:parameter=
"depStatObj.pieAddScore"
:legendName=
"'部门加分'"
:title=
"'部门加分整体分布'"
:styleObj=
"
{ width: '100%', height: '300px' }" />
:id=
"'jiafen'"
:parameter=
"depStatObj.pieAddScore"
:legendName=
"'部门加分'"
:styleObj=
"
{ width: '100%', height: '300px' }"
/>
</div>
</div>
<div
class=
"koufen_10 box"
>
<div
class=
"koufen_10 box"
>
<bar-charts
<bar-charts
:title=
"'部门扣分排名TOP10'"
:id=
"'koufen_10'"
:parameter=
"depStatObj.totalSubScore"
:title=
"'部门扣分排名TOP10'"
:legendName=
"'部门分值'"
@
click=
"rowClickSub"
:styleObj=
"
{ width: '100%', height: '300px' }" />
:id=
"'koufen_10'"
:parameter=
"depStatObj.totalSubScore"
:legendName=
"'部门分值'"
:styleObj=
"
{ width: '100%', height: '300px' }"
/>
</div>
</div>
<div
class=
"koufen box"
>
<div
class=
"koufen box"
>
<pie-charts
<pie-charts
:parameter=
"depStatObj.pieSubScore"
:title=
"'部门扣分整体分布'"
:id=
"'koufen'"
:legendName=
"'部门扣分'"
:parameter=
"depStatObj.pieSubScore"
:styleObj=
"
{ onAssessmentScope2width: '100%', height: '300px' }" />
:title=
"'部门扣分整体分布'"
:id=
"'koufen'"
:legendName=
"'部门扣分'"
:styleObj=
"
{ onAssessmentScope2width: '100%', height: '300px' }"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -96,41 +57,20 @@
...
@@ -96,41 +57,20 @@
</el-radio-group>
</el-radio-group>
<div
class=
"search_box"
>
<div
class=
"search_box"
>
<el-select
v-model=
"value"
@
change=
"deptList"
placeholder=
"请选择"
>
<el-select
v-model=
"value"
@
change=
"deptList"
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-select
<el-select
@
change=
"deptList"
v-model=
"StatQuery.month"
placeholder=
"请选择"
style=
"margin: 0 10px;"
>
@
change=
"deptList"
<el-option
v-for=
"item in optionsMonths"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
v-model=
"StatQuery.month"
placeholder=
"请选择"
style=
"margin: 0 10px;"
>
<el-option
v-for=
"item in optionsMonths"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<el-button
type=
"primary"
@
click=
"deptList"
>
搜索
</el-button>
<el-button
type=
"primary"
@
click=
"deptList"
>
搜索
</el-button>
</div>
</div>
</div>
</div>
<div
class=
"bar_content"
>
<div
class=
"bar_content"
>
<bar-charts
<bar-charts
:title=
"`$
{type1 == 1 ? '各部门' : '个人'}${StatQuery.month}月${alignmentName}对齐情况`" :id="'bar_content'"
:title=
"`$
{type1 == 1 ? '各部门' : '个人'}${StatQuery.month}月${alignmentName}对齐情况`"
:legendName="alignmentName" :option="{ title: { left: 'center', textStyle: { fontSize: 24 } } }" :markLine="0.2"
:id="'bar_content'"
:parameter="depStatObj.alignment" :styleObj="{ width: '1800px', height: '650px' }" />
:legendName="alignmentName"
:option="{title:{left:'center',textStyle:{fontSize:24}}}"
:markLine="0.2"
:parameter="depStatObj.alignment"
:styleObj="{ width: '1800px', height: '650px' }"
/>
</div>
</div>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
...
@@ -142,48 +82,34 @@
...
@@ -142,48 +82,34 @@
<el-radio-button
:label=
"2"
>
按个人
</el-radio-button>
<el-radio-button
:label=
"2"
>
按个人
</el-radio-button>
</el-radio-group>
</el-radio-group>
<el-button
type=
"primary"
style=
"margin: 0 20px;"
@
click=
"addGoal"
>
<el-button
type=
"primary"
style=
"margin: 0 20px;"
@
click=
"addGoal"
>
+ 创建目标
</el-button
+ 创建目标
</el-button>
>
</div>
</div>
<div
class=
"mid_content"
style=
"height: auto;"
>
<div
class=
"mid_content"
style=
"height: auto;"
>
<div
class=
"goal_box"
v-for=
"(val, i) in dataList"
:key=
"i"
>
<div
class=
"goal_box"
v-for=
"(val, i) in dataList"
:key=
"i"
>
<div
class=
"goal_title"
>
<div
class=
"goal_title"
>
<img
src=
"../../../../assets/images/u17641.svg"
alt=
""
/>
<img
src=
"../../../../assets/images/u17641.svg"
alt=
""
/>
<span>
<span>
{{
dictString
(
'
assessmentType
'
,
val
.
assessmentType
)
}}{{
dictString
(
'
compareScope
'
,
val
.
compareScope
)
}}{{
val
.
ratio
}}
%
{{
dictString
(
'
assessmentType
'
,
val
.
assessmentType
)
}}{{
dictString
(
'
compareScope
'
,
val
.
compareScope
)
}}{{
val
.
ratio
}}
%
</span>
</span>
</div>
</div>
<p
class=
"goal_txt"
>
<p
class=
"goal_txt"
>
<span>
{{
type2
==
1
?
"
目标部门:
"
:
"
目标个人:
"
}}
</span
<span>
{{
type2
==
1
?
"
目标部门:
"
:
"
目标个人:
"
}}
</span><span>
{{
><span>
{{
type2
==
1
?
val
.
deptPerpose
:
val
.
staffPerpose
type2
==
1
?
val
.
deptPerpose
:
val
.
staffPerpose
}}
</span>
}}
</span>
</p>
</p>
<p
class=
"goal_txt"
>
<p
class=
"goal_txt"
>
<span>
周期:
</span><span>
{{
val
.
year
}}
{{
dictString
(
'
periodType
'
,
val
.
periodType
)
}}
</span>
<span>
周期:
</span><span>
{{
val
.
year
}}
{{
dictString
(
'
periodType
'
,
val
.
periodType
)
}}
</span>
</p>
</p>
<p
class=
"goal_txt"
>
<p
class=
"goal_txt"
>
<span>
负责人:
</span><span>
{{
val
.
leaders
}}
</span>
<span>
负责人:
</span><span>
{{
val
.
leaders
}}
</span>
</p>
</p>
<p
class=
"goal_txt"
>
<p
class=
"goal_txt"
>
<span>
最近更新:
</span><span>
{{
val
.
updateTime
}}
</span>
<span>
最近更新:
</span><span>
{{
val
.
updateTime
}}
</span>
</p>
</p>
<p
class=
"goal_txt"
><span>
更新人员:
</span><span>
{{
dictString
(
'
updateUserId
'
,
val
.
updateUserId
)
}}
</span></p>
<p
class=
"goal_txt"
><span>
更新人员:
</span><span>
{{
dictString
(
'
updateUserId
'
,
val
.
updateUserId
)
}}
</span></p>
<div
class=
"button_box"
>
<div
class=
"button_box"
>
<el-button
<el-button
type=
"primary"
style=
"width: 150px;"
plain
@
click=
"hanleEdit(val)"
>
编辑
</el-button>
type=
"primary"
<el-button
type=
"danger"
style=
"width: 150px;"
plain
@
click=
"hanleDel(val)"
>
删除
</el-button>
style=
"width: 150px;"
plain
@
click=
"hanleEdit(val)"
>
编辑
</el-button
>
<el-button
type=
"danger"
style=
"width: 150px;"
plain
@
click=
"hanleDel(val)"
>
删除
</el-button
>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -217,10 +143,10 @@ export default {
...
@@ -217,10 +143,10 @@ export default {
},
},
methods
:
{
methods
:
{
// 个人绩效分数统计
// 个人绩效分数统计
staffStatList
(){
staffStatList
()
{
this
.
$post
(
"
/staff/perform/stat/list
"
,
this
.
boardQuery
).
then
((
res
)
=>
{
this
.
$post
(
"
/staff/perform/stat/list
"
,
this
.
boardQuery
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -234,10 +160,10 @@ export default {
...
@@ -234,10 +160,10 @@ export default {
}
}
});
});
// 加分top10
// 加分top10
const
top10
=
{
...
this
.
boardQuery
,
size
:
10
}
const
top10
=
{
...
this
.
boardQuery
,
size
:
10
}
this
.
$post
(
"
/staff/perform/stat/list
"
,
top10
).
then
((
res
)
=>
{
this
.
$post
(
"
/staff/perform/stat/list
"
,
top10
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -251,10 +177,10 @@ export default {
...
@@ -251,10 +177,10 @@ export default {
}
}
});
});
// 减分
// 减分
const
top10Sub
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:[{
colName
:
'
totalSubScore
'
,
sortKind
:
'
desc
'
}]
}
const
top10Sub
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:
[{
colName
:
'
totalSubScore
'
,
sortKind
:
'
desc
'
}]
}
this
.
$post
(
"
/staff/perform/stat/list
"
,
top10Sub
).
then
((
res
)
=>
{
this
.
$post
(
"
/staff/perform/stat/list
"
,
top10Sub
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -269,10 +195,10 @@ export default {
...
@@ -269,10 +195,10 @@ export default {
});
});
},
},
// 部门绩效分数统计
// 部门绩效分数统计
statList
(){
statList
()
{
this
.
$post
(
"
/dept/perform/stat/list
"
,
this
.
boardQuery
).
then
((
res
)
=>
{
this
.
$post
(
"
/dept/perform/stat/list
"
,
this
.
boardQuery
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -292,10 +218,10 @@ export default {
...
@@ -292,10 +218,10 @@ export default {
}
}
});
});
// 加分top10
// 加分top10
const
top10
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:[{
colName
:
'
totalAddScore
'
,
sortKind
:
'
desc
'
}]
}
const
top10
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:
[{
colName
:
'
totalAddScore
'
,
sortKind
:
'
desc
'
}]
}
this
.
$post
(
"
/dept/perform/stat/list
"
,
top10
).
then
((
res
)
=>
{
this
.
$post
(
"
/dept/perform/stat/list
"
,
top10
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -306,14 +232,14 @@ export default {
...
@@ -306,14 +232,14 @@ export default {
});
});
this
.
depStatObj
.
totalAddScore
.
x
=
x
this
.
depStatObj
.
totalAddScore
.
x
=
x
this
.
depStatObj
.
totalAddScore
.
y
=
y
this
.
depStatObj
.
totalAddScore
.
y
=
y
this
.
depStatObj
.
totalAddScore
.
row
=
row
}
}
});
});
// 减分
// 减分
const
top10Sub
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:[{
colName
:
'
totalSubScore
'
,
sortKind
:
'
desc
'
}]
}
const
top10Sub
=
{
...
this
.
boardQuery
,
size
:
10
,
orderColList
:
[{
colName
:
'
totalSubScore
'
,
sortKind
:
'
desc
'
}]
}
this
.
$post
(
"
/dept/perform/stat/list
"
,
top10Sub
).
then
((
res
)
=>
{
this
.
$post
(
"
/dept/perform/stat/list
"
,
top10Sub
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
// this.statArr = row
// this.statArr = row
const
x
=
[]
const
x
=
[]
...
@@ -328,10 +254,10 @@ export default {
...
@@ -328,10 +254,10 @@ export default {
});
});
},
},
// 部门目标对齐
// 部门目标对齐
deptList
(){
deptList
()
{
this
.
$post
(
"
/perform/perpose/dept/stat/list
"
,
this
.
StatQuery
).
then
((
res
)
=>
{
this
.
$post
(
"
/perform/perpose/dept/stat/list
"
,
this
.
StatQuery
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
const
x
=
[]
const
x
=
[]
const
y
=
[]
const
y
=
[]
...
@@ -345,10 +271,10 @@ export default {
...
@@ -345,10 +271,10 @@ export default {
});
});
},
},
// 个人对齐方式
// 个人对齐方式
staffList
(){
staffList
()
{
this
.
$post
(
"
/perform/perpose/staff/stat/list
"
,
this
.
StatQuery
).
then
((
res
)
=>
{
this
.
$post
(
"
/perform/perpose/staff/stat/list
"
,
this
.
StatQuery
).
then
((
res
)
=>
{
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
if
(
code
==
1
)
{
if
(
code
==
1
)
{
const
row
=
data
.
data
||
[]
const
row
=
data
.
data
||
[]
const
x
=
[]
const
x
=
[]
const
y
=
[]
const
y
=
[]
...
@@ -379,9 +305,9 @@ export default {
...
@@ -379,9 +305,9 @@ export default {
},
},
// 目标管理
// 目标管理
getData
()
{
getData
()
{
this
.
$post
(
"
/perform/perpose/list
"
,
this
.
query
).
then
((
res
)
=>
{
this
.
$post
(
"
/perform/perpose/list
"
,
this
.
query
).
then
((
res
)
=>
{
console
.
log
(
res
,
"
@@@@@@@@@@@@
"
);
console
.
log
(
res
,
"
@@@@@@@@@@@@
"
);
const
{
code
,
data
,
dict
}
=
res
const
{
code
,
data
,
dict
}
=
res
this
.
dict
=
dict
||
{}
this
.
dict
=
dict
||
{}
if
(
code
==
1
)
{
if
(
code
==
1
)
{
this
.
dataList
=
data
.
data
;
this
.
dataList
=
data
.
data
;
...
@@ -391,39 +317,64 @@ export default {
...
@@ -391,39 +317,64 @@ export default {
});
});
},
},
// 字典转换
// 字典转换
dictString
(
key
,
id
)
{
dictString
(
key
,
id
)
{
const
keyName
=
this
.
dict
[
key
]
const
keyName
=
this
.
dict
[
key
]
return
keyName
?
keyName
[
id
]:
""
return
keyName
?
keyName
[
id
]
:
""
},
},
// TAB个人/法人
// TAB个人/法人
onAssessmentScope
(
v
){
onAssessmentScope
(
v
)
{
if
(
v
==
1
)
{
if
(
v
==
1
)
{
this
.
statList
()
this
.
statList
()
}
else
{
}
else
{
this
.
staffStatList
()
this
.
staffStatList
()
}
}
},
},
// 目标看齐
// 目标看齐
onAssessmentScope1
(
v
){
onAssessmentScope1
(
v
)
{
if
(
v
==
1
)
{
if
(
v
==
1
)
{
this
.
deptList
()
this
.
deptList
()
}
else
{
}
else
{
this
.
staffList
()
this
.
staffList
()
}
}
},
},
onAssessmentScope2
(
v
){
onAssessmentScope2
(
v
)
{
if
(
v
==
1
)
{
if
(
v
==
1
)
{
this
.
query
.
assessmentScope
=
1
this
.
query
.
assessmentScope
=
1
}
else
{
}
else
{
this
.
query
.
assessmentScope
=
2
this
.
query
.
assessmentScope
=
2
}
}
this
.
getData
()
this
.
getData
()
},
rowClick
(
row
)
{
const
{
dataIndex
}
=
row
const
{
attendScoreAdd
,
reviewScoreAdd
,
goworkScoreAdd
,
effectScoreAdd
,
otherScoreAdd
,
complainScoreAdd
}
=
this
.
depStatObj
.
totalAddScore
.
row
[
dataIndex
]
this
.
depStatObj
.
pieAddScore
=
[
{
value
:
attendScoreAdd
,
name
:
'
考勤绩效
'
},
{
value
:
reviewScoreAdd
,
name
:
'
评价绩效
'
},
{
value
:
goworkScoreAdd
,
name
:
'
办件绩效
'
},
{
value
:
effectScoreAdd
,
name
:
'
效能绩效
'
},
{
value
:
complainScoreAdd
,
name
:
'
投诉绩效
'
},
{
value
:
otherScoreAdd
,
name
:
'
其它绩效
'
},
]
},
// 减分top10
rowClickSub
(
row
)
{
const
{
dataIndex
}
=
row
const
{
attendScoreSub
,
reviewScoreSub
,
goworkScoreSub
,
effectScoreSub
,
complainScoreSub
,
otherScoreSub
}
=
this
.
depStatObj
.
totalAddScore
.
row
[
dataIndex
]
this
.
depStatObj
.
pieSubScore
=
[
{
value
:
attendScoreSub
,
name
:
'
考勤绩效
'
},
{
value
:
reviewScoreSub
,
name
:
'
评价绩效
'
},
{
value
:
goworkScoreSub
,
name
:
'
办件绩效
'
},
{
value
:
effectScoreSub
,
name
:
'
效能绩效
'
},
{
value
:
complainScoreSub
,
name
:
'
投诉绩效
'
},
{
value
:
otherScoreSub
,
name
:
'
其它绩效
'
},
]
}
}
},
},
computed
:
{
computed
:
{
alignmentName
:
function
()
{
alignmentName
:
function
()
{
const
obj
=
this
.
options
.
find
(
v
=>
v
.
value
==
this
.
value
)
const
obj
=
this
.
options
.
find
(
v
=>
v
.
value
==
this
.
value
)
return
obj
.
label
return
obj
.
label
}
}
},
},
...
@@ -528,63 +479,63 @@ export default {
...
@@ -528,63 +479,63 @@ export default {
],
],
value
:
"
lateRate
"
,
//默认显示迟到类型
value
:
"
lateRate
"
,
//默认显示迟到类型
dataList
:
[],
dataList
:
[],
depStatObj
:{
depStatObj
:
{
totalScore
:{
totalScore
:
{
x
:[],
x
:
[],
y
:[]
y
:
[]
},
//绩效总分排名
},
//绩效总分排名
averageScore
:{
averageScore
:
{
x
:[],
x
:
[],
y
:[]
y
:
[]
},
//绩效平均排名
},
//绩效平均排名
totalAddScore
:{
totalAddScore
:
{
x
:[],
x
:
[],
y
:[]
y
:
[]
},
//加分
},
//加分
totalSubScore
:{
totalSubScore
:
{
x
:[],
x
:
[],
y
:[]
y
:
[]
},
//减分
},
//减分
alignment
:{
alignment
:
{
x
:[],
x
:
[],
y
:[]
y
:
[]
},
//目标对齐
},
//目标对齐
pieAddScore
:[
pieAddScore
:
[
{
value
:
0
,
name
:
'
考勤绩效
'
},
{
value
:
0
,
name
:
'
考勤绩效
'
},
{
value
:
0
,
name
:
'
评价绩效
'
},
{
value
:
0
,
name
:
'
评价绩效
'
},
{
value
:
0
,
name
:
'
办件绩效
'
},
{
value
:
0
,
name
:
'
办件绩效
'
},
{
value
:
0
,
name
:
'
效能绩效
'
},
{
value
:
0
,
name
:
'
效能绩效
'
},
{
value
:
0
,
name
:
'
投诉绩效
'
},
{
value
:
0
,
name
:
'
投诉绩效
'
},
{
value
:
0
,
name
:
'
其它绩效
'
},
{
value
:
0
,
name
:
'
其它绩效
'
},
],
//部门加分分布
],
//部门加分分布
pieSubScore
:[
pieSubScore
:
[
{
value
:
0
,
name
:
'
考勤绩效
'
},
{
value
:
0
,
name
:
'
考勤绩效
'
},
{
value
:
0
,
name
:
'
评价绩效
'
},
{
value
:
0
,
name
:
'
评价绩效
'
},
{
value
:
0
,
name
:
'
办件绩效
'
},
{
value
:
0
,
name
:
'
办件绩效
'
},
{
value
:
0
,
name
:
'
效能绩效
'
},
{
value
:
0
,
name
:
'
效能绩效
'
},
{
value
:
0
,
name
:
'
投诉绩效
'
},
{
value
:
0
,
name
:
'
投诉绩效
'
},
{
value
:
0
,
name
:
'
其它绩效
'
},
{
value
:
0
,
name
:
'
其它绩效
'
},
]
//部门减分分布
]
//部门减分分布
},
//按部门
},
//按部门
month
:
""
,
//月份
month
:
""
,
//月份
boardQuery
:{
boardQuery
:
{
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
year
:
parseInt
(
moment
().
format
(
'
YYYY
'
)),
year
:
parseInt
(
moment
().
format
(
'
YYYY
'
)),
month
:
parseInt
(
moment
().
format
(
'
MM
'
)),
month
:
parseInt
(
moment
().
format
(
'
MM
'
)),
},
//看板查询条件
},
//看板查询条件
query
:{
query
:
{
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
assessmentScope
:
1
//考核范围(1.部门,2.个人)
assessmentScope
:
1
//考核范围(1.部门,2.个人)
},
//目标管理查询条件
},
//目标管理查询条件
StatQuery
:{
StatQuery
:
{
page
:
1
,
page
:
1
,
size
:
-
1
,
size
:
-
1
,
year
:
parseInt
(
moment
().
format
(
'
YYYY
'
)),
year
:
parseInt
(
moment
().
format
(
'
YYYY
'
)),
month
:
parseInt
(
moment
().
format
(
'
MM
'
)),
month
:
parseInt
(
moment
().
format
(
'
MM
'
)),
},
//对齐方式入参
},
//对齐方式入参
dict
:{}
//字典
dict
:
{}
//字典
};
};
},
},
};
};
...
@@ -594,55 +545,66 @@ export default {
...
@@ -594,55 +545,66 @@ export default {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
overflow: hidden;
overflow: hidden;
/deep/.el-tabs__item {
/deep/.el-tabs__item {
width: 120px;
width: 120px;
font-size: 14px;
font-size: 14px;
text-align: center;
text-align: center;
}
}
.content {
.content {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
.search_top {
.search_top {
width: 100%;
width: 100%;
height: 1000%;
height: 1000%;
display: flex;
display: flex;
justify-content: space-between;
justify-content: space-between;
}
}
/deep/.el-radio-button {
/deep/.el-radio-button {
width: 150px;
width: 150px;
text-align: center;
text-align: center;
border: 1px solid #eee;
border: 1px solid #eee;
}
}
/deep/.el-radio-button__inner {
/deep/.el-radio-button__inner {
width: 150px;
width: 150px;
}
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
/deep/.el-radio-button__orig-radio:checked+.el-radio-button__inner {
width: 150px;
width: 150px;
border: none;
border: none;
background: #1890ff;
background: #1890ff;
color: #fff;
color: #fff;
border: 1px solid #eee;
border: 1px solid #eee;
}
}
.top {
.top {
width: 100%;
width: 100%;
height: 60px;
height: 60px;
}
}
.mid {
.mid {
width: 100%;
width: 100%;
height: 100%;
height: 100%;
display: flex;
display: flex;
flex-direction: column;
flex-direction: column;
.mid_top {
.mid_top {
width: 100%;
width: 100%;
height: 300px;
height: 300px;
display: flex;
display: flex;
justify-content: space-between;
justify-content: space-between;
.jixiaozongfen,
.jixiaozongfen,
.jixiaopingjunfen {
.jixiaopingjunfen {
width: 48%;
width: 48%;
height: 100%;
height: 100%;
}
}
}
}
.mid_down {
.mid_down {
width: 100%;
width: 100%;
height: 380px;
height: 380px;
...
@@ -656,16 +618,19 @@ export default {
...
@@ -656,16 +618,19 @@ export default {
}
}
}
}
}
}
.mid_content,
.mid_content,
.bar_content {
.bar_content {
width: 100%;
width: 100%;
height: 700px;
height: 700px;
overflow: hidden;
overflow: hidden;
}
}
.mid_content {
.mid_content {
overflow-y: auto;
overflow-y: auto;
display: flex;
display: flex;
flex-wrap: wrap;
flex-wrap: wrap;
.goal_box {
.goal_box {
width: 405px;
width: 405px;
height: 238px;
height: 238px;
...
@@ -678,14 +643,17 @@ export default {
...
@@ -678,14 +643,17 @@ export default {
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.117647058823529);
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.117647058823529);
margin: 10px 20px 20px 10px;
margin: 10px 20px 20px 10px;
padding: 20px;
padding: 20px;
.goal_title {
.goal_title {
width: 100%;
width: 100%;
display: flex;
display: flex;
align-items: center;
align-items: center;
img {
img {
margin-right: 10px;
margin-right: 10px;
}
}
}
}
.goal_txt {
.goal_txt {
font-family: "微软雅黑", sans-serif;
font-family: "微软雅黑", sans-serif;
font-weight: 400;
font-weight: 400;
...
@@ -695,6 +663,7 @@ export default {
...
@@ -695,6 +663,7 @@ export default {
width: 100%;
width: 100%;
margin: 10px 0;
margin: 10px 0;
}
}
.button_box {
.button_box {
width: 100%;
width: 100%;
display: flex;
display: flex;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment