Commit bc64c135 authored by 许珑标's avatar 许珑标

发薪详情&发薪记录增加下发状态筛选条件,删除提示名字而不是ID;

登录页面短信验证码有效期提示改为5分钟;
统计页面增加下发状态筛选条件;
parent 34e7b088
...@@ -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()
......
...@@ -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>
......
...@@ -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();
......
...@@ -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"
......
<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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment