Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
薪
薪瑞通-前端
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
许珑标
薪瑞通-前端
Commits
bc64c135
Commit
bc64c135
authored
Mar 28, 2025
by
许珑标
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发薪详情&发薪记录增加下发状态筛选条件,删除提示名字而不是ID;
登录页面短信验证码有效期提示改为5分钟; 统计页面增加下发状态筛选条件;
parent
34e7b088
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
469 additions
and
415 deletions
+469
-415
src/views/business/payOutDetail/index.vue
src/views/business/payOutDetail/index.vue
+9
-1
src/views/business/payOutDetail/list.vue
src/views/business/payOutDetail/list.vue
+5
-0
src/views/business/payOutRecord/index.vue
src/views/business/payOutRecord/index.vue
+4
-1
src/views/login.vue
src/views/login.vue
+1
-1
src/views/statistics/index.vue
src/views/statistics/index.vue
+450
-412
No files found.
src/views/business/payOutDetail/index.vue
View file @
bc64c135
...
@@ -13,6 +13,11 @@
...
@@ -13,6 +13,11 @@
<el-form-item
label=
"用工单位"
prop=
"companyName"
>
<el-form-item
label=
"用工单位"
prop=
"companyName"
>
<el-input
v-model=
"queryParams.companyName"
placeholder=
"用工单位"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.companyName"
placeholder=
"用工单位"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"下发状态"
prop=
"payStatus"
>
<el-select
v-model=
"queryParams.payStatus"
placeholder=
"请选择订单状态"
clearable
>
<el-option
v-for=
"dict in dict.type.pay_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
...
@@ -291,6 +296,7 @@ export default {
...
@@ -291,6 +296,7 @@ export default {
dicts
:
[
'
pay_status
'
,
'
bx_bear_type
'
,
'
payee_acc_type
'
],
dicts
:
[
'
pay_status
'
,
'
bx_bear_type
'
,
'
payee_acc_type
'
],
data
()
{
data
()
{
return
{
return
{
userNames
:
[],
// 用户导入参数
// 用户导入参数
upload
:
{
upload
:
{
// 是否显示弹出层(用户导入)
// 是否显示弹出层(用户导入)
...
@@ -632,6 +638,7 @@ export default {
...
@@ -632,6 +638,7 @@ export default {
// 多选框选中数据
// 多选框选中数据
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
userNames
=
selection
.
map
(
item
=>
item
.
userName
)
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
this
.
multiple
=
!
selection
.
length
}
,
}
,
...
@@ -676,7 +683,8 @@ export default {
...
@@ -676,7 +683,8 @@ export default {
/** 删除按钮操作 */
/** 删除按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
const
ids
=
row
.
id
||
this
.
ids
this
.
$modal
.
confirm
(
'
是否确认删除发薪详情编号为"
'
+
ids
+
'
"的数据项?
'
).
then
(
function
()
{
const
userNames
=
row
.
userName
||
this
.
userNames
this
.
$modal
.
confirm
(
'
是否确认删除以下收薪人员:
'
+
userNames
+
'
?
'
).
then
(
function
()
{
return
delPayOutDetail
(
ids
)
return
delPayOutDetail
(
ids
)
}
).
then
(()
=>
{
}
).
then
(()
=>
{
this
.
getList
()
this
.
getList
()
...
...
src/views/business/payOutDetail/list.vue
View file @
bc64c135
...
@@ -13,6 +13,11 @@
...
@@ -13,6 +13,11 @@
<el-form-item
label=
"用工单位"
prop=
"companyName"
>
<el-form-item
label=
"用工单位"
prop=
"companyName"
>
<el-input
v-model=
"queryParams.companyName"
placeholder=
"用工单位"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.companyName"
placeholder=
"用工单位"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"下发状态"
prop=
"payStatus"
>
<el-select
v-model=
"queryParams.payStatus"
placeholder=
"请选择订单状态"
clearable
>
<el-option
v-for=
"dict in dict.type.pay_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
src/views/business/payOutRecord/index.vue
View file @
bc64c135
...
@@ -184,6 +184,7 @@ export default {
...
@@ -184,6 +184,7 @@ export default {
dicts
:
[
'
pay_status
'
],
dicts
:
[
'
pay_status
'
],
data
()
{
data
()
{
return
{
return
{
batchNames
:
[],
payForm
:
{
payForm
:
{
payAccNo
:
null
,
payAccNo
:
null
,
},
},
...
@@ -331,6 +332,7 @@ export default {
...
@@ -331,6 +332,7 @@ export default {
// 多选框选中数据
// 多选框选中数据
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
batchNames
=
selection
.
map
(
item
=>
item
.
batchName
)
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
this
.
multiple
=
!
selection
.
length
},
},
...
@@ -373,7 +375,8 @@ export default {
...
@@ -373,7 +375,8 @@ export default {
/** 删除按钮操作 */
/** 删除按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除发薪批次信息编号为"
'
+
ids
+
'
"的数据项?
'
).
then
(
function
()
{
const
batchNames
=
row
.
batchName
||
this
.
batchNames
this
.
$modal
.
confirm
(
'
是否确认删除以下发薪任务"
'
+
batchNames
+
'
?
'
).
then
(
function
()
{
return
delPayOutRecord
(
ids
);
return
delPayOutRecord
(
ids
);
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
getList
();
this
.
getList
();
...
...
src/views/login.vue
View file @
bc64c135
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
<img
class=
"roundLogo"
src=
"../assets/images/roundLogo.png"
alt=
""
>
<img
class=
"roundLogo"
src=
"../assets/images/roundLogo.png"
alt=
""
>
</div>
</div>
<h3
style=
"text-align: center;"
>
短信验证
</h3>
<h3
style=
"text-align: center;"
>
短信验证
</h3>
<p
class=
"promptConter"
>
数字验证码已通过短信发送至 +86
{{
mobile
}}
,有效期
1
分钟,如未收到,请尝试重新获取。
</p>
<p
class=
"promptConter"
>
数字验证码已通过短信发送至 +86
{{
mobile
}}
,有效期
5
分钟,如未收到,请尝试重新获取。
</p>
<div
class=
"verificationCodeConter"
>
<div
class=
"verificationCodeConter"
>
<p
class=
"g-remove-check-code_tip"
>
请输入六位数验证码
</p>
<p
class=
"g-remove-check-code_tip"
>
请输入六位数验证码
</p>
<div
class=
"g-remove-check-code_content"
@
keyup=
"fnCheckCodeKeyup"
@
keydown=
"fnCheckCodeKeydown"
<div
class=
"g-remove-check-code_content"
@
keyup=
"fnCheckCodeKeyup"
@
keydown=
"fnCheckCodeKeydown"
...
...
src/views/statistics/index.vue
View file @
bc64c135
<
template
>
<
template
>
<!-- 统计功能页面 -->
<!-- 统计功能页面 -->
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"按月统计"
name=
"first"
>
<el-tab-pane
label=
"按月统计"
name=
"first"
>
<!-- 按月-查询条件框 -->
<!-- 按月-查询条件框 -->
<el-form
:model=
"paramsMonth"
label-width=
"80px"
label-position=
"left"
>
<el-form
:model=
"paramsMonth"
label-width=
"80px"
label-position=
"left"
>
<el-row
:gutter=
"22"
>
<el-row
:gutter=
"22"
>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"合同名称"
>
<el-form-item
label=
"合同名称"
>
<el-input
v-model=
"paramsMonth.contractName"
placeholder=
"请输入合同名称"
></el-input>
<el-input
v-model=
"paramsMonth.contractName"
placeholder=
"请输入合同名称"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"单位名称"
>
<el-form-item
label=
"单位名称"
>
<el-input
v-model=
"paramsMonth.companyName"
placeholder=
"请输入单位名称"
></el-input>
<el-input
v-model=
"paramsMonth.companyName"
placeholder=
"请输入单位名称"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"统计月份"
>
<el-form-item
label=
"下发状态"
prop=
"payStatus"
>
<el-date-picker
style=
"width: 100%;"
format=
"yyyy 年 MM 月"
value-format=
"yyyy-MM"
<el-select
v-model=
"paramsMonth.payStatus"
placeholder=
"请选择订单状态"
clearable
>
v-model=
"paramsMonth.timeVal"
type=
"month"
placeholder=
"选择月"
<el-option
v-for=
"dict in dict.type.pay_status"
:key=
"dict.value"
:label=
"dict.label"
:picker-options=
"pickerOptionsMonth"
>
:value=
"dict.value"
</el-date-picker>
/>
</el-form-item>
</el-select>
</el-col>
</el-form-item>
<el-col
:span=
"6"
>
</el-col>
<div>
<el-col
:span=
"6"
>
<el-button
size=
"small"
icon=
"el-icon-search"
type=
"primary"
<el-form-item
label=
"统计月份"
>
@
click=
"getStatisticsListMonth"
>
搜索
</el-button>
<el-date-picker
style=
"width: 100%;"
format=
"yyyy 年 MM 月"
value-format=
"yyyy-MM"
<el-button
size=
"small"
icon=
"el-icon-refresh"
type=
"info"
v-model=
"paramsMonth.timeVal"
type=
"month"
placeholder=
"选择月"
@
click=
"reactMonthStatistics"
>
重置
</el-button>
:picker-options=
"pickerOptionsMonth"
</div>
>
</el-col>
</el-date-picker>
</el-row>
</el-form-item>
</el-form>
</el-col>
<!-- 列表内容部分 -->
<el-col
:span=
"6"
>
<el-table
:data=
"statisticsMothList"
style=
"width: 100%"
:key=
"statisticsMothKey"
<div>
:header-cell-style=
"
{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
<el-button
size=
"small"
icon=
"el-icon-search"
type=
"primary"
height="calc(100vh - 300px)" show-summary :summary-method="getSummariesMonth">
@
click=
"getStatisticsListMonth"
<!--
<el-table-column
label=
"序号"
type=
"index"
:index=
"indexMonthFN"
width=
"50"
>
>
搜索
</el-table-column>
-->
</el-button>
<el-table-column
prop=
"timeVal"
label=
"时间"
>
<el-button
size=
"small"
icon=
"el-icon-refresh"
type=
"info"
<template
slot-scope=
"
{row}">
@
click=
"reactMonthStatistics"
{{
statisticsMothTime
(
row
.
timeVal
)
}}
>
重置
</
template
>
</el-button>
</el-table-column>
</div>
<el-table-column
prop=
"contractName"
label=
"合同名称"
>
</el-col>
</el-table-column>
</el-row>
<el-table-column
prop=
"companyName"
label=
"单位名称"
>
</el-form>
</el-table-column>
<!-- 列表内容部分 -->
<el-table-column
prop=
"actualPayable"
label=
"实发工资(元)"
>
<el-table
:data=
"statisticsMothList"
style=
"width: 100%;margin-top: 10px"
:key=
"statisticsMothKey"
</el-table-column>
:header-cell-style=
"
{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
<el-table-column
label=
"公司承担部分"
>
height="calc(100vh - 300px)" show-summary :summary-method="getSummariesMonth"
<el-table-column
prop=
"gsbxCompanyMoney"
label=
"工商保险(元)"
>
>
</el-table-column>
<!--
<el-table-column
label=
"序号"
type=
"index"
:index=
"indexMonthFN"
width=
"50"
>
<el-table-column
prop=
"providentFundCompanyMoney"
label=
"公积金(元)"
>
</el-table-column>
-->
</el-table-column>
<el-table-column
prop=
"timeVal"
label=
"时间"
>
<el-table-column
prop=
"sybxCompanyMoney"
label=
"失业保险(元)"
>
<template
slot-scope=
"
{row}">
</el-table-column>
{{
statisticsMothTime
(
row
.
timeVal
)
}}
<el-table-column
prop=
"syubxCompanyMoney"
label=
"生育保险(元)"
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"ylbxCompanyMoney"
label=
"养老保险(元)"
>
<el-table-column
prop=
"contractName"
label=
"合同名称"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"ysbxCompanyMoney"
label=
"医疗保险(元)"
>
<el-table-column
prop=
"companyName"
label=
"单位名称"
>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"actualPayable"
label=
"实发工资(元)"
>
<el-table-column
label=
"个人承担部分"
>
</el-table-column>
<el-table-column
prop=
"gsbxPersonalMoney"
label=
"工商保险(元)"
>
<el-table-column
label=
"公司承担部分"
>
</el-table-column>
<el-table-column
prop=
"gsbxCompanyMoney"
label=
"工商保险(元)"
>
<el-table-column
prop=
"providentFundPersonalMoney"
label=
"公积金(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"providentFundCompanyMoney"
label=
"公积金(元)"
>
<el-table-column
prop=
"sybxPersonalMoney"
label=
"失业保险(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"sybxCompanyMoney"
label=
"失业保险(元)"
>
<el-table-column
prop=
"syubxPersonalMoney"
label=
"生育保险(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"syubxCompanyMoney"
label=
"生育保险(元)"
>
<el-table-column
prop=
"ylbxPersonalMoney"
label=
"养老保险(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"ylbxCompanyMoney"
label=
"养老保险(元)"
>
<el-table-column
prop=
"ysbxPersonalMoney"
label=
"医疗保险(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"ysbxCompanyMoney"
label=
"医疗保险(元)"
>
</el-table-column>
</el-table-column>
</el-table>
</el-table-column>
<div
style=
"text-align: end;margin-top:6px;"
>
<el-table-column
label=
"个人承担部分"
>
<el-pagination
@
size-change=
"handleSizeChangeMonth"
@
current-change=
"handleCurrentChangeMonth"
<el-table-column
prop=
"gsbxPersonalMoney"
label=
"工商保险(元)"
>
:current-page=
"paramsMonth.pageNum"
:page-sizes=
"[10, 20, 30, 40]"
</el-table-column>
:page-size=
"paramsMonth.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
<el-table-column
prop=
"providentFundPersonalMoney"
label=
"公积金(元)"
>
:total=
"totalMonth"
>
</el-table-column>
</el-pagination>
<el-table-column
prop=
"sybxPersonalMoney"
label=
"失业保险(元)"
>
</div>
</el-table-column>
</el-tab-pane>
<el-table-column
prop=
"syubxPersonalMoney"
label=
"生育保险(元)"
>
<el-tab-pane
label=
"按年统计"
name=
"second"
>
</el-table-column>
<!-- 按年-查询条件框 -->
<el-table-column
prop=
"ylbxPersonalMoney"
label=
"养老保险(元)"
>
<el-form
:model=
"paramsYear"
label-width=
"80px"
label-position=
"left"
>
</el-table-column>
<el-row
:gutter=
"22"
>
<el-table-column
prop=
"ysbxPersonalMoney"
label=
"医疗保险(元)"
>
<el-col
:span=
"6"
>
</el-table-column>
<el-form-item
label=
"合同名称"
>
</el-table-column>
<el-input
v-model=
"paramsYear.contractName"
placeholder=
"请输入合同名称"
></el-input>
</el-table>
</el-form-item>
<div
style=
"text-align: end;margin-top:6px;"
>
</el-col>
<el-pagination
@
size-change=
"handleSizeChangeMonth"
@
current-change=
"handleCurrentChangeMonth"
<el-col
:span=
"6"
>
:current-page=
"paramsMonth.pageNum"
:page-sizes=
"[10, 20, 30, 40]"
<el-form-item
label=
"单位名称"
>
:page-size=
"paramsMonth.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
<el-input
v-model=
"paramsYear.companyName"
placeholder=
"请输入单位名称"
></el-input>
:total=
"totalMonth"
</el-form-item>
>
</el-col>
</el-pagination>
<el-col
:span=
"6"
>
</div>
<el-form-item
label=
"统计年份"
>
</el-tab-pane>
<el-date-picker
style=
"width: 100%;"
format=
"yyyy 年"
value-format=
"yyyy"
<el-tab-pane
label=
"按年统计"
name=
"second"
>
v-model=
"paramsYear.timeVal"
type=
"year"
placeholder=
"选择年"
<!-- 按年-查询条件框 -->
:picker-options=
"pickerOptionsYear"
>
<el-form
:model=
"paramsYear"
label-width=
"80px"
label-position=
"left"
>
</el-date-picker>
<el-row
:gutter=
"22"
>
</el-form-item>
<el-col
:span=
"6"
>
</el-col>
<el-form-item
label=
"合同名称"
>
<el-col
:span=
"6"
>
<el-input
v-model=
"paramsYear.contractName"
placeholder=
"请输入合同名称"
></el-input>
<div>
</el-form-item>
<el-button
size=
"small"
icon=
"el-icon-search"
type=
"primary"
</el-col>
@
click=
"getStatisticsListYear"
>
搜索
</el-button>
<el-col
:span=
"6"
>
<el-button
size=
"small"
icon=
"el-icon-refresh"
type=
"info"
<el-form-item
label=
"单位名称"
>
@
click=
"reactYearStatistics"
>
重置
</el-button>
<el-input
v-model=
"paramsYear.companyName"
placeholder=
"请输入单位名称"
></el-input>
</div>
</el-form-item>
</el-col>
</el-col>
</el-row>
<el-col
:span=
"6"
>
</el-form>
<el-form-item
label=
"下发状态"
prop=
"payStatus"
>
<!-- 列表内容部分 -->
<el-select
v-model=
"paramsYear.payStatus"
placeholder=
"请选择订单状态"
clearable
>
<el-table
:data=
"statisticsYearList"
style=
"width: 100%"
:key=
"statisticsYearKey"
<el-option
v-for=
"dict in dict.type.pay_status"
:key=
"dict.value"
:label=
"dict.label"
:header-cell-style=
"{ textAlign: 'center' }"
:cell-style=
"{ textAlign: 'center' }"
:value=
"dict.value"
height=
"calc(100vh - 300px)"
show-summary
:summary-method=
"getSummariesYear"
>
/>
<!-- <el-table-column label="序号" type="index" :index="indexYearFN" width="50">
</el-select>
</el-table-column> -->
</el-form-item>
<el-table-column
prop=
"timeVal"
label=
"时间"
>
</el-col>
<
template
slot-scope=
"{row}"
>
<el-col
:span=
"6"
>
{{
statisticsYearTime
(
row
.
timeVal
)
}}
<el-form-item
label=
"统计年份"
>
</
template
>
<el-date-picker
style=
"width: 100%;"
format=
"yyyy 年"
value-format=
"yyyy"
</el-table-column>
v-model=
"paramsYear.timeVal"
type=
"year"
placeholder=
"选择年"
<el-table-column
prop=
"contractName"
label=
"合同名称"
>
:picker-options=
"pickerOptionsYear"
</el-table-column>
>
<el-table-column
prop=
"companyName"
label=
"单位名称"
>
</el-date-picker>
</el-table-column>
</el-form-item>
<el-table-column
prop=
"actualPayable"
label=
"实发工资(元)"
>
</el-col>
</el-table-column>
<el-col
:span=
"6"
>
<el-table-column
label=
"公司承担部分"
>
<div>
<el-table-column
prop=
"gsbxCompanyMoney"
label=
"工商保险(元)"
>
<el-button
size=
"small"
icon=
"el-icon-search"
type=
"primary"
</el-table-column>
@
click=
"getStatisticsListYear"
<el-table-column
prop=
"providentFundCompanyMoney"
label=
"公积金(元)"
>
>
搜索
</el-table-column>
</el-button>
<el-table-column
prop=
"sybxCompanyMoney"
label=
"失业保险(元)"
>
<el-button
size=
"small"
icon=
"el-icon-refresh"
type=
"info"
</el-table-column>
@
click=
"reactYearStatistics"
<el-table-column
prop=
"syubxCompanyMoney"
label=
"生育保险(元)"
>
>
重置
</el-table-column>
</el-button>
<el-table-column
prop=
"ylbxCompanyMoney"
label=
"养老保险(元)"
>
</div>
</el-table-column>
</el-col>
<el-table-column
prop=
"ysbxCompanyMoney"
label=
"医疗保险(元)"
>
</el-row>
</el-table-column>
</el-form>
</el-table-column>
<!-- 列表内容部分 -->
<el-table-column
label=
"个人承担部分"
>
<el-table
:data=
"statisticsYearList"
style=
"width: 100%;margin-top: 10px"
:key=
"statisticsYearKey"
<el-table-column
prop=
"gsbxPersonalMoney"
label=
"工商保险(元)"
>
:header-cell-style=
"{ textAlign: 'center' }"
:cell-style=
"{ textAlign: 'center' }"
</el-table-column>
height=
"calc(100vh - 300px)"
show-summary
:summary-method=
"getSummariesYear"
<el-table-column
prop=
"providentFundPersonalMoney"
label=
"公积金(元)"
>
>
</el-table-column>
<!-- <el-table-column label="序号" type="index" :index="indexYearFN" width="50">
<el-table-column
prop=
"sybxPersonalMoney"
label=
"失业保险(元)"
>
</el-table-column> -->
</el-table-column>
<el-table-column
prop=
"timeVal"
label=
"时间"
>
<el-table-column
prop=
"syubxPersonalMoney"
label=
"生育保险(元)"
>
<
template
slot-scope=
"{row}"
>
</el-table-column>
{{
statisticsYearTime
(
row
.
timeVal
)
}}
<el-table-column
prop=
"ylbxPersonalMoney"
label=
"养老保险(元)"
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"ysbxPersonalMoney"
label=
"医疗保险(元)"
>
<el-table-column
prop=
"contractName"
label=
"合同名称"
>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"companyName"
label=
"单位名称"
>
</el-table>
</el-table-column>
<div
style=
"text-align: end;margin-top:6px;"
>
<el-table-column
prop=
"actualPayable"
label=
"实发工资(元)"
>
<el-pagination
@
size-change=
"handleSizeChangeYear"
@
current-change=
"handleCurrentChangeYear"
</el-table-column>
:current-page=
"paramsYear.pageNum"
:page-sizes=
"[10, 20, 30, 40]"
<el-table-column
label=
"公司承担部分"
>
:page-size=
"paramsYear.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
<el-table-column
prop=
"gsbxCompanyMoney"
label=
"工商保险(元)"
>
:total=
"totalYear"
>
</el-table-column>
</el-pagination>
<el-table-column
prop=
"providentFundCompanyMoney"
label=
"公积金(元)"
>
</div>
</el-table-column>
</el-tab-pane>
<el-table-column
prop=
"sybxCompanyMoney"
label=
"失业保险(元)"
>
</el-tabs>
</el-table-column>
</div>
<el-table-column
prop=
"syubxCompanyMoney"
label=
"生育保险(元)"
>
</el-table-column>
<el-table-column
prop=
"ylbxCompanyMoney"
label=
"养老保险(元)"
>
</el-table-column>
<el-table-column
prop=
"ysbxCompanyMoney"
label=
"医疗保险(元)"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"个人承担部分"
>
<el-table-column
prop=
"gsbxPersonalMoney"
label=
"工商保险(元)"
>
</el-table-column>
<el-table-column
prop=
"providentFundPersonalMoney"
label=
"公积金(元)"
>
</el-table-column>
<el-table-column
prop=
"sybxPersonalMoney"
label=
"失业保险(元)"
>
</el-table-column>
<el-table-column
prop=
"syubxPersonalMoney"
label=
"生育保险(元)"
>
</el-table-column>
<el-table-column
prop=
"ylbxPersonalMoney"
label=
"养老保险(元)"
>
</el-table-column>
<el-table-column
prop=
"ysbxPersonalMoney"
label=
"医疗保险(元)"
>
</el-table-column>
</el-table-column>
</el-table>
<div
style=
"text-align: end;margin-top:6px;"
>
<el-pagination
@
size-change=
"handleSizeChangeYear"
@
current-change=
"handleCurrentChangeYear"
:current-page=
"paramsYear.pageNum"
:page-sizes=
"[10, 20, 30, 40]"
:page-size=
"paramsYear.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalYear"
>
</el-pagination>
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
payOutStatiStics
}
from
'
@/api/business/payOutDetail
'
;
import
{
payOutStatiStics
}
from
'
@/api/business/payOutDetail
'
export
default
{
export
default
{
data
()
{
dicts
:
[
'
pay_status
'
],
return
{
data
()
{
/** 按月统计参数 */
return
{
paramsMonth
:
{
/** 按月统计参数 */
pageNum
:
1
,
paramsMonth
:
{
pageSize
:
10
,
pageNum
:
1
,
timeUnit
:
'
MONTH
'
,
pageSize
:
10
,
timeVal
:
null
,
timeUnit
:
'
MONTH
'
,
companyName
:
null
,
payStatus
:
null
,
contractName
:
null
timeVal
:
null
,
},
companyName
:
null
,
totalMonth
:
0
,
contractName
:
null
statisticsMothList
:
[],
},
statisticsMothKey
:
1
,
totalMonth
:
0
,
/** 按年统计参数 */
statisticsMothList
:
[],
paramsYear
:
{
statisticsMothKey
:
1
,
pageNum
:
1
,
/** 按年统计参数 */
pageSize
:
10
,
paramsYear
:
{
timeUnit
:
'
YEAR
'
,
pageNum
:
1
,
timeVal
:
null
,
pageSize
:
10
,
companyName
:
null
,
timeUnit
:
'
YEAR
'
,
contractName
:
null
payStatus
:
null
,
},
timeVal
:
null
,
totalYear
:
0
,
companyName
:
null
,
statisticsYearList
:
[],
contractName
:
null
statisticsYearKey
:
1
,
},
activeName
:
'
first
'
,
totalYear
:
0
,
/** 月份禁用 */
statisticsYearList
:
[],
pickerOptionsMonth
:
{
statisticsYearKey
:
1
,
disabledDate
(
time
)
{
activeName
:
'
first
'
,
const
currentMonth
=
new
Date
();
/** 月份禁用 */
currentMonth
.
setDate
(
1
);
pickerOptionsMonth
:
{
currentMonth
.
setHours
(
0
,
0
,
0
,
0
);
disabledDate
(
time
)
{
return
time
.
getTime
()
>
currentMonth
.
getTime
();
const
currentMonth
=
new
Date
()
}
currentMonth
.
setDate
(
1
)
},
currentMonth
.
setHours
(
0
,
0
,
0
,
0
)
/** 年份禁用 */
return
time
.
getTime
()
>
currentMonth
.
getTime
()
pickerOptionsYear
:
{
}
disabledDate
(
time
)
{
},
const
currentYear
=
new
Date
();
/** 年份禁用 */
currentYear
.
setMonth
(
0
);
pickerOptionsYear
:
{
currentYear
.
setDate
(
1
);
disabledDate
(
time
)
{
currentYear
.
setHours
(
0
,
0
,
0
,
0
);
const
currentYear
=
new
Date
()
return
time
.
getTime
()
>
currentYear
.
getTime
();
currentYear
.
setMonth
(
0
)
}
currentYear
.
setDate
(
1
)
currentYear
.
setHours
(
0
,
0
,
0
,
0
)
return
time
.
getTime
()
>
currentYear
.
getTime
()
}
}
}
},
created
()
{
// 获取当前年、月份
this
.
paramsYear
.
timeVal
=
String
(
new
Date
().
getFullYear
())
this
.
paramsMonth
.
timeVal
=
String
(
new
Date
().
getFullYear
())
+
'
-
'
+
String
(
new
Date
().
getMonth
()
+
1
).
padStart
(
2
,
'
0
'
)
},
mounted
()
{
this
.
getStatisticsListMonth
()
},
methods
:
{
/** 年份时间处理 */
statisticsYearTime
(
val
)
{
return
val
.
substring
(
0
,
4
)
},
/** 月份时间处理 */
statisticsMothTime
(
val
)
{
return
val
.
substring
(
0
,
7
)
},
/** 按年统计-总计方法 */
getSummariesYear
(
param
)
{
const
{
columns
,
data
}
=
param
const
sums
=
[]
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'
总计
'
return
}
if
(
index
===
1
)
{
sums
[
index
]
=
''
return
}
if
(
index
===
2
)
{
sums
[
index
]
=
''
return
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]))
if
(
!
values
.
every
(
value
=>
isNaN
(
value
)))
{
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
)
if
(
!
isNaN
(
value
))
{
return
prev
+
curr
}
else
{
return
prev
}
}
},
0
)
// sums[index] += ' 元';
}
else
{
sums
[
index
]
=
''
}
}
})
let
arrAY
=
[]
sums
.
forEach
((
ele
,
index
)
=>
{
if
(
index
!=
0
&&
index
!=
1
&&
index
!=
2
)
{
let
tys
=
null
tys
=
Math
.
floor
(
Number
(
ele
)
*
100
)
/
100
+
'
元
'
arrAY
.
push
(
tys
)
}
else
{
arrAY
.
push
(
ele
)
}
})
return
arrAY
},
},
created
()
{
/** 按月统计-总计方法 */
// 获取当前年、月份
getSummariesMonth
(
param
)
{
this
.
paramsYear
.
timeVal
=
String
(
new
Date
().
getFullYear
());
const
{
columns
,
data
}
=
param
this
.
paramsMonth
.
timeVal
=
String
(
new
Date
().
getFullYear
())
+
'
-
'
+
String
(
new
Date
().
getMonth
()
+
1
).
padStart
(
2
,
'
0
'
);
const
sums
=
[]
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'
总计
'
return
}
if
(
index
===
1
)
{
sums
[
index
]
=
''
return
}
if
(
index
===
2
)
{
sums
[
index
]
=
''
return
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]))
if
(
!
values
.
every
(
value
=>
isNaN
(
value
)))
{
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
)
if
(
!
isNaN
(
value
))
{
return
prev
+
curr
}
else
{
return
prev
}
},
0
)
// sums[index] += ' 元';
}
else
{
sums
[
index
]
=
''
}
})
let
arrAY
=
[]
sums
.
forEach
((
ele
,
index
)
=>
{
if
(
index
!=
0
&&
index
!=
1
&&
index
!=
2
)
{
let
tys
=
null
tys
=
Math
.
floor
(
Number
(
ele
)
*
100
)
/
100
+
'
元
'
arrAY
.
push
(
tys
)
}
else
{
arrAY
.
push
(
ele
)
}
})
return
arrAY
},
/** 按年统计-重置方法 */
reactYearStatistics
()
{
this
.
paramsYear
=
{
pageNum
:
1
,
pageSize
:
10
,
timeUnit
:
'
YEAR
'
,
payStatus
:
null
,
timeVal
:
String
(
new
Date
().
getFullYear
()),
companyName
:
null
,
contractName
:
null
}
this
.
getStatisticsListYear
()
},
/** 按月统计-重置方法 */
reactMonthStatistics
()
{
this
.
paramsMonth
=
{
pageNum
:
1
,
pageSize
:
10
,
timeUnit
:
'
MONTH
'
,
payStatus
:
null
,
timeVal
:
String
(
new
Date
().
getFullYear
())
+
'
-
'
+
String
(
new
Date
().
getMonth
()
+
1
).
padStart
(
2
,
'
0
'
),
companyName
:
null
,
contractName
:
null
}
this
.
getStatisticsListMonth
()
},
/** 按年统计-每页多少条 */
handleSizeChangeYear
(
val
)
{
this
.
paramsYear
.
pageSize
=
val
this
.
getStatisticsListYear
()
},
/** 按年统计 - 当前第几页 */
handleCurrentChangeYear
(
val
)
{
this
.
paramsYear
.
pageNum
=
val
this
.
getStatisticsListYear
()
},
/** 按月统计-每页多少条 */
handleSizeChangeMonth
(
val
)
{
this
.
paramsMonth
.
pageSize
=
val
this
.
getStatisticsListMonth
()
},
/** 按月统计-当前页 */
handleCurrentChangeMonth
(
val
)
{
this
.
paramsMonth
.
pageNum
=
val
this
.
getStatisticsListMonth
()
},
//** 按月序号方法 */
indexMonthFN
(
index
)
{
return
index
+
(
this
.
paramsMonth
.
pageNum
-
1
)
*
this
.
paramsMonth
.
pageSize
+
1
},
},
mounted
()
{
/** 按年同合计-排序方法 */
indexYearFN
(
index
)
{
return
index
+
(
this
.
paramsYear
.
pageNum
-
1
)
*
this
.
paramsYear
.
pageSize
+
1
},
/** tab切换执行的方法 */
handleClick
(
tab
,
event
)
{
if
(
this
.
activeName
==
'
first
'
)
{
this
.
getStatisticsListMonth
()
this
.
getStatisticsListMonth
()
}
else
if
(
this
.
activeName
==
'
second
'
)
{
this
.
getStatisticsListYear
()
}
},
},
methods
:
{
/** 获取发薪情况统计列表功能-按月 */
/** 年份时间处理 */
getStatisticsListMonth
()
{
statisticsYearTime
(
val
)
{
this
.
$modal
.
loading
(
'
加载中...
'
)
return
val
.
substring
(
0
,
4
)
payOutStatiStics
(
this
.
paramsMonth
).
then
(
res
=>
{
},
if
(
res
.
code
==
200
)
{
/** 月份时间处理 */
this
.
statisticsMothList
=
res
.
rows
statisticsMothTime
(
val
)
{
this
.
totalMonth
=
res
.
total
return
val
.
substring
(
0
,
7
)
this
.
statisticsMothKey
+=
1
},
}
/** 按年统计-总计方法 */
}).
finally
(()
=>
{
getSummariesYear
(
param
)
{
this
.
$modal
.
closeLoading
()
const
{
columns
,
data
}
=
param
;
})
const
sums
=
[];
},
columns
.
forEach
((
column
,
index
)
=>
{
/** 获取发薪情况统计列表功能-按年 */
if
(
index
===
0
)
{
getStatisticsListYear
()
{
sums
[
index
]
=
'
总计
'
;
this
.
$modal
.
loading
(
'
加载中...
'
)
return
;
payOutStatiStics
(
this
.
paramsYear
).
then
(
res
=>
{
}
if
(
res
.
code
==
200
)
{
if
(
index
===
1
)
{
this
.
statisticsYearList
=
res
.
rows
sums
[
index
]
=
''
;
this
.
totalYear
=
res
.
total
return
this
.
statisticsYearKey
+=
1
}
if
(
index
===
2
)
{
sums
[
index
]
=
''
;
return
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]));
if
(
!
values
.
every
(
value
=>
isNaN
(
value
)))
{
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
);
if
(
!
isNaN
(
value
))
{
return
prev
+
curr
;
}
else
{
return
prev
;
}
},
0
);
// sums[index] += ' 元';
}
else
{
sums
[
index
]
=
''
;
}
});
let
arrAY
=
[]
sums
.
forEach
((
ele
,
index
)
=>
{
if
(
index
!=
0
&&
index
!=
1
&&
index
!=
2
)
{
let
tys
=
null
tys
=
Math
.
floor
(
Number
(
ele
)
*
100
)
/
100
+
'
元
'
arrAY
.
push
(
tys
)
}
else
{
arrAY
.
push
(
ele
)
}
})
return
arrAY
;
},
/** 按月统计-总计方法 */
getSummariesMonth
(
param
)
{
const
{
columns
,
data
}
=
param
;
const
sums
=
[];
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'
总计
'
;
return
;
}
if
(
index
===
1
)
{
sums
[
index
]
=
''
;
return
}
if
(
index
===
2
)
{
sums
[
index
]
=
''
;
return
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]));
if
(
!
values
.
every
(
value
=>
isNaN
(
value
)))
{
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
);
if
(
!
isNaN
(
value
))
{
return
prev
+
curr
;
}
else
{
return
prev
;
}
},
0
);
// sums[index] += ' 元';
}
else
{
sums
[
index
]
=
''
;
}
});
let
arrAY
=
[]
sums
.
forEach
((
ele
,
index
)
=>
{
if
(
index
!=
0
&&
index
!=
1
&&
index
!=
2
)
{
let
tys
=
null
tys
=
Math
.
floor
(
Number
(
ele
)
*
100
)
/
100
+
'
元
'
arrAY
.
push
(
tys
)
}
else
{
arrAY
.
push
(
ele
)
}
})
return
arrAY
;
},
/** 按年统计-重置方法 */
reactYearStatistics
()
{
this
.
paramsYear
=
{
pageNum
:
1
,
pageSize
:
10
,
timeUnit
:
'
YEAR
'
,
timeVal
:
String
(
new
Date
().
getFullYear
()),
companyName
:
null
,
contractName
:
null
,
}
this
.
getStatisticsListYear
()
},
/** 按月统计-重置方法 */
reactMonthStatistics
()
{
this
.
paramsMonth
=
{
pageNum
:
1
,
pageSize
:
10
,
timeUnit
:
'
MONTH
'
,
timeVal
:
String
(
new
Date
().
getFullYear
())
+
'
-
'
+
String
(
new
Date
().
getMonth
()
+
1
).
padStart
(
2
,
'
0
'
),
companyName
:
null
,
contractName
:
null
,
}
this
.
getStatisticsListMonth
()
},
/** 按年统计-每页多少条 */
handleSizeChangeYear
(
val
)
{
this
.
paramsYear
.
pageSize
=
val
this
.
getStatisticsListYear
()
},
/** 按年统计 - 当前第几页 */
handleCurrentChangeYear
(
val
)
{
this
.
paramsYear
.
pageNum
=
val
this
.
getStatisticsListYear
()
},
/** 按月统计-每页多少条 */
handleSizeChangeMonth
(
val
)
{
this
.
paramsMonth
.
pageSize
=
val
this
.
getStatisticsListMonth
()
},
/** 按月统计-当前页 */
handleCurrentChangeMonth
(
val
)
{
this
.
paramsMonth
.
pageNum
=
val
this
.
getStatisticsListMonth
()
},
//** 按月序号方法 */
indexMonthFN
(
index
)
{
return
index
+
(
this
.
paramsMonth
.
pageNum
-
1
)
*
this
.
paramsMonth
.
pageSize
+
1
},
/** 按年同合计-排序方法 */
indexYearFN
(
index
)
{
return
index
+
(
this
.
paramsYear
.
pageNum
-
1
)
*
this
.
paramsYear
.
pageSize
+
1
},
/** tab切换执行的方法 */
handleClick
(
tab
,
event
)
{
if
(
this
.
activeName
==
'
first
'
)
{
this
.
getStatisticsListMonth
()
}
else
if
(
this
.
activeName
==
'
second
'
)
{
this
.
getStatisticsListYear
()
}
},
/** 获取发薪情况统计列表功能-按月 */
getStatisticsListMonth
()
{
this
.
$modal
.
loading
(
"
加载中...
"
);
payOutStatiStics
(
this
.
paramsMonth
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
statisticsMothList
=
res
.
rows
this
.
totalMonth
=
res
.
total
this
.
statisticsMothKey
+=
1
}
}).
finally
(()
=>
{
this
.
$modal
.
closeLoading
()
})
},
/** 获取发薪情况统计列表功能-按年 */
getStatisticsListYear
()
{
this
.
$modal
.
loading
(
"
加载中...
"
);
payOutStatiStics
(
this
.
paramsYear
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
statisticsYearList
=
res
.
rows
this
.
totalYear
=
res
.
total
this
.
statisticsYearKey
+=
1
}
}).
finally
(()
=>
{
this
.
$modal
.
closeLoading
()
})
}
}
}).
finally
(()
=>
{
this
.
$modal
.
closeLoading
()
})
}
}
}
}
}
</
script
>
</
script
>
...
...
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