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
7010d508
Commit
7010d508
authored
Jul 15, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
232e389a
c118e33d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
184 additions
and
75 deletions
+184
-75
attendance-performance-manager-ui/admin/src/views/homeCharts/record/list.vue
...nce-manager-ui/admin/src/views/homeCharts/record/list.vue
+184
-75
No files found.
attendance-performance-manager-ui/admin/src/views/homeCharts/record/list.vue
View file @
7010d508
...
@@ -48,30 +48,40 @@
...
@@ -48,30 +48,40 @@
<div
class=
"content_top"
>
<div
class=
"content_top"
>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
初始扣分
</span
<span
class=
"txt"
>
初始扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
yearRecordAll
.
initScore
||
"
--
"
}}
</span>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
核查扣分
</span
<span
class=
"txt"
>
核查扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
yearRecordAll
.
checkScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
yearRecordAll
.
checkPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
申诉分值
</span
<span
class=
"txt"
>
申诉分值
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
yearRecordAll
.
appealScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
yearRecordAll
.
appealPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
累计扣分
</span
<span
class=
"txt"
>
累计扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
yearRecordAll
.
total
||
"
--
"
}}
</span>
</p>
</p>
</div>
</div>
<div
class=
"content_down"
>
<div
class=
"content_down"
>
<div
class=
"down_left"
>
<div
class=
"down_left"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
yearRecordAll
.
huanbi
||
"
暂无环比
"
}}
</div>
<p
class=
"down_text"
>
环比增长率
</p>
<p
class=
"down_text"
>
环比增长率
</p>
</div>
</div>
<div
class=
"down_right"
>
<div
class=
"down_right"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
yearRecordAll
.
tongbi
||
"
暂无同比
"
}}
</div>
<p
class=
"down_text"
>
同比增长率
</p>
<p
class=
"down_text"
>
同比增长率
</p>
</div>
</div>
</div>
</div>
...
@@ -83,30 +93,40 @@
...
@@ -83,30 +93,40 @@
<div
class=
"content_top"
>
<div
class=
"content_top"
>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
初始扣分
</span
<span
class=
"txt"
>
初始扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
monthRecordAll
.
initScore
||
"
--
"
}}
</span>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
核查扣分
</span
<span
class=
"txt"
>
核查扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
monthRecordAll
.
checkScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
monthRecordAll
.
checkPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
申诉分值
</span
<span
class=
"txt"
>
申诉分值
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
monthRecordAll
.
appealScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
monthRecordAll
.
appealPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
累计扣分
</span
<span
class=
"txt"
>
累计扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
monthRecordAll
.
total
||
"
--
"
}}
</span>
</p>
</p>
</div>
</div>
<div
class=
"content_down"
>
<div
class=
"content_down"
>
<div
class=
"down_left"
>
<div
class=
"down_left"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
monthRecordAll
.
huanbi
||
"
暂无环比
"
}}
</div>
<p
class=
"down_text"
>
环比增长率
</p>
<p
class=
"down_text"
>
环比增长率
</p>
</div>
</div>
<div
class=
"down_right"
>
<div
class=
"down_right"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
monthRecordAll
.
tongbi
||
"
暂无同比
"
}}
</div>
<p
class=
"down_text"
>
同比增长率
</p>
<p
class=
"down_text"
>
同比增长率
</p>
</div>
</div>
</div>
</div>
...
@@ -118,30 +138,40 @@
...
@@ -118,30 +138,40 @@
<div
class=
"content_top"
>
<div
class=
"content_top"
>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
初始扣分
</span
<span
class=
"txt"
>
初始扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
dayRecordAll
.
initScore
||
"
--
"
}}
</span>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
核查扣分
</span
<span
class=
"txt"
>
核查扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
dayRecordAll
.
checkScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
dayRecordAll
.
checkPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
申诉分值
</span
<span
class=
"txt"
>
申诉分值
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
<span
class=
"txt_small"
>
占比:87.21%
</span>
dayRecordAll
.
appealScore
||
"
--
"
}}
</span>
<span
class=
"txt_small"
>
占比:
{{
dayRecordAll
.
appealPercent
||
"
--
"
}}
</span
>
</p>
</p>
<p
class=
"content_text"
>
<p
class=
"content_text"
>
<span
class=
"txt"
>
累计扣分
</span
<span
class=
"txt"
>
累计扣分
</span
><span
class=
"txt_num"
>
9856241
</span>
><span
class=
"txt_num"
>
{{
dayRecordAll
.
total
||
"
--
"
}}
</span>
</p>
</p>
</div>
</div>
<div
class=
"content_down"
>
<div
class=
"content_down"
>
<div
class=
"down_left"
>
<div
class=
"down_left"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
dayRecordAll
.
huanbi
||
"
暂无环比
"
}}
</div>
<p
class=
"down_text"
>
环比增长率
</p>
<p
class=
"down_text"
>
环比增长率
</p>
</div>
</div>
<div
class=
"down_right"
>
<div
class=
"down_right"
>
<div
class=
"num"
>
+65.32%
</div>
<div
class=
"num"
>
{{
dayRecordAll
.
tongbi
||
"
暂无同比
"
}}
</div>
<p
class=
"down_text"
>
同比增长率
</p>
<p
class=
"down_text"
>
同比增长率
</p>
</div>
</div>
</div>
</div>
...
@@ -152,31 +182,27 @@
...
@@ -152,31 +182,27 @@
<div
class=
"down_content"
>
<div
class=
"down_content"
>
<img
class=
"content_title"
src=
"../../../assets/images/title.png"
/>
<img
class=
"content_title"
src=
"../../../assets/images/title.png"
/>
<div
style=
"margin: 20px 0"
>
<div
style=
"margin: 20px 0"
>
<el-radio-group
v-model=
"type"
border
>
<el-radio-group
v-model=
"
form.
type"
border
>
<el-radio-button
label=
"1"
>
部门评估
</el-radio-button>
<el-radio-button
:
label=
"1"
>
部门评估
</el-radio-button>
<el-radio-button
label=
"2"
>
个人评估
</el-radio-button>
<el-radio-button
:
label=
"2"
>
个人评估
</el-radio-button>
</el-radio-group>
</el-radio-group>
</div>
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form-item
label=
"请选择部门:"
>
<el-form-item
label=
"请选择部门:"
>
<el-select
<el-select
v-model=
"form.
region
"
v-model=
"form.
dept
"
placeholder=
"请选择部门"
placeholder=
"请选择部门"
style=
"width: 100%"
style=
"width: 100%"
>
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
v-for=
"v in deptList"
:key=
"v.id"
:label=
"v.deptName"
:value=
"v.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"请选择时间:"
>
<el-date-picker
type=
"date"
placeholder=
"选择日期"
v-model=
"form.date1"
style=
"width: 100%"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"请选择类型:"
style=
"text-align: left"
>
<el-form-item
label=
"请选择类型:"
style=
"text-align: left"
>
<el-radio-group
v-model=
"form.resource"
>
<el-radio-group
v-model=
"form.resource"
>
<el-radio
:label=
"1"
>
按年
</el-radio>
<el-radio
:label=
"1"
>
按年
</el-radio>
...
@@ -184,6 +210,36 @@
...
@@ -184,6 +210,36 @@
<el-radio
:label=
"3"
>
按天
</el-radio>
<el-radio
:label=
"3"
>
按天
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"请选择时间:"
>
<el-date-picker
v-if=
"form.resource == 1"
type=
"year"
value-format=
"yyyy"
placeholder=
"选择日期"
v-model=
"form.year"
style=
"width: 100%"
></el-date-picker>
<el-date-picker
v-else-if=
"form.resource == 2"
type=
"month"
value-format=
"MM"
placeholder=
"选择日期"
v-model=
"form.month"
style=
"width: 100%"
></el-date-picker>
<el-date-picker
v-else
v-model=
"form.day"
value-format=
"yyyy-MM-DD"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 100%"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
<el-button
type=
"primary"
type=
"primary"
...
@@ -262,39 +318,45 @@ export default {
...
@@ -262,39 +318,45 @@ export default {
personageAttTopDate
:
2
,
// 个人绩效排名top搜索
personageAttTopDate
:
2
,
// 个人绩效排名top搜索
appealDate
:
2
,
// 申诉分值分布搜索
appealDate
:
2
,
// 申诉分值分布搜索
form
:
{
form
:
{
date1
:
""
,
type
:
1
,
type
:
[],
dept
:
""
,
resource
:
""
,
resource
:
1
,
year
:
""
,
month
:
""
,
day
:
[],
},
},
config
:
{},
//部门绩效总分top10
config
:
{},
//部门绩效总分top10
personConfig
:
{},
//个人绩效总分top10
personConfig
:
{},
//个人绩效总分top10
// 个人绩效总分排名
staffQuery
:
{
page
:
1
,
size
:
10
,
},
// 部门
// 部门
depQuery
:
{
depQuery
:
{
page
:
1
,
page
:
1
,
size
:
10
,
size
:
-
1
,
},
},
deptList
:
[],
// 部门列表
leidaEchart
:
null
,
// 异常分值分布情况echart实例
leidaEchart
:
null
,
// 异常分值分布情况echart实例
rulePie
:
null
,
// 绩效规则分布echart实例
rulePie
:
null
,
// 绩效规则分布echart实例
shensuPie
:
null
,
// 申诉分值分布情况echart实例
shensuPie
:
null
,
// 申诉分值分布情况echart实例
recordPie
:
null
,
// 反馈记录整体情况echart实例
recordPie
:
null
,
// 反馈记录整体情况echart实例
timer
:
null
,
timer
:
null
,
yearRecordAll
:
{},
// 今年分值
monthRecordAll
:
{},
// 本月分值
dayRecordAll
:
{},
// 今日分值
};
};
},
},
created
()
{
this
.
getDeptList
();
this
.
getYearRecordAll
();
this
.
getMonthRecordAll
();
},
mounted
()
{
mounted
()
{
this
.
staffStatList
();
this
.
staffStatList
();
this
.
getException
();
this
.
getException
();
this
.
depStatList
();
this
.
depStatList
();
this
.
getAttendanceRules
();
this
.
getAttendanceRules
();
this
.
getFeedback
();
this
.
getFeedback
();
this
.
autoUpdata
();
this
.
getAppealTotal
();
this
.
getAppealTotal
();
// 定时器刷新数据
this
.
autoUpdata
();
},
},
methods
:
{
methods
:
{
...
@@ -305,6 +367,40 @@ export default {
...
@@ -305,6 +367,40 @@ export default {
this
.
shensuPie
&&
this
.
shensuPie
.
resize
();
this
.
shensuPie
&&
this
.
shensuPie
.
resize
();
this
.
recordPie
&&
this
.
recordPie
.
resize
();
this
.
recordPie
&&
this
.
recordPie
.
resize
();
},
},
// 获取部门列表
getDeptList
()
{
this
.
$post
(
"
/dept/list
"
,
this
.
depQuery
).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
this
.
deptList
=
data
.
data
;
}
});
},
// 获取今年分值
async
getYearRecordAll
()
{
this
.
yearRecordAll
=
await
this
.
getRecordAll
(
1
);
},
// 获取本月分值
async
getMonthRecordAll
()
{
this
.
monthRecordAll
=
await
this
.
getRecordAll
(
2
);
},
// 获取今日分值
async
getDayRecordAll
()
{
this
.
dayRecordAll
=
await
this
.
getRecordAll
(
3
);
},
// 获取分值情况
async
getRecordAll
(
summaryType
)
{
let
obj
=
{};
await
this
.
$post
(
"
/check/all/record/score/summary
"
,
{
summaryType
,
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
1
)
{
obj
=
data
;
}
});
return
obj
;
},
// 个人绩效总分排名
// 个人绩效总分排名
staffStatList
()
{
staffStatList
()
{
this
.
$post
(
"
/staff/perform/stat/summary/top
"
,
{
this
.
$post
(
"
/staff/perform/stat/summary/top
"
,
{
...
@@ -332,9 +428,7 @@ export default {
...
@@ -332,9 +428,7 @@ export default {
let
names
=
data
.
map
((
v
)
=>
v
.
name
);
let
names
=
data
.
map
((
v
)
=>
v
.
name
);
let
add
=
data
.
map
((
v
)
=>
v
.
add
);
let
add
=
data
.
map
((
v
)
=>
v
.
add
);
let
sub
=
data
.
map
((
v
)
=>
v
.
sub
);
let
sub
=
data
.
map
((
v
)
=>
v
.
sub
);
this
.
$nextTick
(()
=>
{
this
.
drawLeiDa
(
names
,
add
,
sub
);
this
.
drawLeiDa
(
names
,
add
,
sub
);
});
}
}
});
});
},
},
...
@@ -369,9 +463,7 @@ export default {
...
@@ -369,9 +463,7 @@ export default {
value
:
v
.
score
,
value
:
v
.
score
,
};
};
});
});
this
.
$nextTick
(()
=>
{
this
.
drawRulePie
(
arr
,
totalScore
);
this
.
drawRulePie
(
arr
,
totalScore
);
});
}
}
});
});
},
},
...
@@ -383,9 +475,7 @@ export default {
...
@@ -383,9 +475,7 @@ export default {
let
{
notStart
,
total
,
ended
,
progress
}
=
data
;
let
{
notStart
,
total
,
ended
,
progress
}
=
data
;
let
names
=
[
"
未开始
"
,
"
进行中
"
,
"
已完结
"
,
"
全部问卷
"
];
let
names
=
[
"
未开始
"
,
"
进行中
"
,
"
已完结
"
,
"
全部问卷
"
];
let
values
=
[
notStart
,
progress
,
ended
,
total
];
let
values
=
[
notStart
,
progress
,
ended
,
total
];
this
.
$nextTick
(()
=>
{
this
.
drawRecordPie
(
names
,
values
);
this
.
drawRecordPie
(
names
,
values
);
});
}
}
});
});
},
},
...
@@ -394,12 +484,16 @@ export default {
...
@@ -394,12 +484,16 @@ export default {
this
.
$post
(
"
/perform/attend/appeal/perform/summary
"
,
{
this
.
$post
(
"
/perform/attend/appeal/perform/summary
"
,
{
summaryType
:
this
.
appealDate
,
summaryType
:
this
.
appealDate
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
res
.
code
==
1
)
{
if
(
code
==
1
)
{
const
{
dict
,
data
}
=
res
;
console
.
log
(
res
);
let
{
performType
}
=
dict
;
let
params
=
data
.
data
.
map
((
v
)
=>
{
// this.$nextTick(() => {
return
{
// });
name
:
this
.
filterDict
(
v
.
performType
,
performType
),
value
:
v
.
score
,
};
});
this
.
drawCorePie
(
params
);
}
}
});
});
},
},
...
@@ -574,7 +668,7 @@ export default {
...
@@ -574,7 +668,7 @@ export default {
window
.
addEventListener
(
"
resize
"
,
this
.
adapterEcharts
);
window
.
addEventListener
(
"
resize
"
,
this
.
adapterEcharts
);
},
},
// 申诉分值分布情况echarts
// 申诉分值分布情况echarts
drawCorePie
()
{
drawCorePie
(
data
=
[]
)
{
let
chartDom
=
document
.
getElementById
(
"
shensuPie
"
);
let
chartDom
=
document
.
getElementById
(
"
shensuPie
"
);
// 避免刷新数据时重新初始化图表
// 避免刷新数据时重新初始化图表
this
.
shensuPie
=
this
.
$echarts
.
getInstanceByDom
(
chartDom
);
this
.
shensuPie
=
this
.
$echarts
.
getInstanceByDom
(
chartDom
);
...
@@ -617,15 +711,15 @@ export default {
...
@@ -617,15 +711,15 @@ export default {
},
},
formatter
:
(
name
)
=>
{
formatter
:
(
name
)
=>
{
// formatter格式化函数动态呈现数据
// formatter格式化函数动态呈现数据
var
total
=
0
;
// 用于计算总数
let
total
=
0
;
// 用于计算总数
var
target
;
// 遍历拿到数据
let
target
;
// 遍历拿到数据
for
(
var
i
=
0
;
i
<
this
.
cricleD
ata
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
d
ata
.
length
;
i
++
)
{
total
+=
this
.
cricleD
ata
[
i
].
value
;
total
+=
d
ata
[
i
].
value
;
if
(
this
.
cricleD
ata
[
i
].
name
==
name
)
{
if
(
d
ata
[
i
].
name
==
name
)
{
target
=
this
.
cricleD
ata
[
i
].
value
;
target
=
d
ata
[
i
].
value
;
}
}
}
}
var
v
=
((
target
/
total
)
*
100
).
toFixed
(
2
);
// let
v = ((target / total) * 100).toFixed(2);
return
`{oneone|
${
name
}
}`
;
return
`{oneone|
${
name
}
}`
;
// 富文本第一列样式应用 富文本第二列样式应用 富文本第三列样式应用
// 富文本第一列样式应用 富文本第二列样式应用 富文本第三列样式应用
},
},
...
@@ -667,7 +761,7 @@ export default {
...
@@ -667,7 +761,7 @@ export default {
labelLine
:
{
labelLine
:
{
show
:
true
,
show
:
true
,
},
},
data
:
this
.
cricleData
,
data
,
},
},
],
],
});
});
...
@@ -759,10 +853,14 @@ export default {
...
@@ -759,10 +853,14 @@ export default {
break
;
break
;
case
"
appealDate
"
:
case
"
appealDate
"
:
this
.
appealDate
=
date
;
this
.
appealDate
=
date
;
this
.
getAppealTotal
();
break
;
break
;
}
}
},
},
// 创建报告
onSubmit
()
{
console
.
log
(
this
.
form
);
},
// 获取年
// 获取年
getYear
()
{
getYear
()
{
return
new
Date
().
getFullYear
();
return
new
Date
().
getFullYear
();
...
@@ -775,6 +873,16 @@ export default {
...
@@ -775,6 +873,16 @@ export default {
getDay
()
{
getDay
()
{
return
new
Date
().
getDate
();
return
new
Date
().
getDate
();
},
},
// 过滤字典
filterDict
(
key
,
dict
=
{})
{
let
str
=
""
;
Object
.
keys
(
dict
).
forEach
((
keys
)
=>
{
if
(
key
==
keys
)
{
str
=
dict
[
keys
];
}
});
return
str
;
},
// 1分值自动刷新数据
// 1分值自动刷新数据
autoUpdata
()
{
autoUpdata
()
{
this
.
timer
=
setInterval
(()
=>
{
this
.
timer
=
setInterval
(()
=>
{
...
@@ -783,6 +891,7 @@ export default {
...
@@ -783,6 +891,7 @@ export default {
this
.
depStatList
();
this
.
depStatList
();
this
.
getAttendanceRules
();
this
.
getAttendanceRules
();
this
.
getFeedback
();
this
.
getFeedback
();
this
.
getAppealTotal
();
},
1000
*
60
);
},
1000
*
60
);
},
},
},
},
...
...
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