|
|
|
|
@ -1,37 +1,41 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="app-container">
|
|
|
|
|
|
|
|
|
|
<div class="company" v-if="!$store.state.user.tenantId">
|
|
|
|
|
<el-input
|
|
|
|
|
style="width: 200px"
|
|
|
|
|
placeholder="公司名称"
|
|
|
|
|
size="small"
|
|
|
|
|
prefix-icon="el-icon-search"
|
|
|
|
|
v-model="gsInfo.tenantName"
|
|
|
|
|
@keyup.enter.native="getGsInfoList">
|
|
|
|
|
</el-input>
|
|
|
|
|
<div class="cp-content" style="width: 200px">
|
|
|
|
|
<div :class="gsInfo.active_id===item.id?'cp-item active':'cp-item'" @click="changCompany(item.id)" v-for="item in gsInfo.list">{{ item.name }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div :class="$store.state.user.tenantId?'content-all':'content'">
|
|
|
|
|
|
|
|
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
|
<el-form-item label="租户id" prop="tenantId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.tenantId"
|
|
|
|
|
placeholder="请输入租户id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="年" prop="year">
|
|
|
|
|
<el-input
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="queryParams.year"
|
|
|
|
|
placeholder="请输入年"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
type="year"
|
|
|
|
|
size="mini"
|
|
|
|
|
placeholder="选择年"
|
|
|
|
|
value-format="yyyy">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="月" prop="month">
|
|
|
|
|
<el-input
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="queryParams.month"
|
|
|
|
|
placeholder="请输入月"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="部门id" prop="deptId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.deptId"
|
|
|
|
|
placeholder="请输入部门id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
type="month"
|
|
|
|
|
size="mini"
|
|
|
|
|
placeholder="选择月"
|
|
|
|
|
format="MM"
|
|
|
|
|
value-format="MM">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="部门名称" prop="deptName">
|
|
|
|
|
<el-input
|
|
|
|
|
@ -41,14 +45,6 @@
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工id" prop="employeeId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.employeeId"
|
|
|
|
|
placeholder="请输入员工id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工姓名" prop="employeeName">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.employeeName"
|
|
|
|
|
@ -57,206 +53,6 @@
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="基本工资" prop="basicSalary">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.basicSalary"
|
|
|
|
|
placeholder="请输入基本工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实际出勤天数" prop="actuallyDays">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.actuallyDays"
|
|
|
|
|
placeholder="请输入实际出勤天数"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实际出勤小时数" prop="actuallyHours">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.actuallyHours"
|
|
|
|
|
placeholder="请输入实际出勤小时数"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="出勤工时" prop="dayWorkHours">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.dayWorkHours"
|
|
|
|
|
placeholder="请输入出勤工时"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="包活工时" prop="workOrderHours">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.workOrderHours"
|
|
|
|
|
placeholder="请输入包活工时"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="加班工时" prop="overtimeWorkHours">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.overtimeWorkHours"
|
|
|
|
|
placeholder="请输入加班工时"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 日工帮工工时" prop="rigongHelpHours">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.rigongHelpHours"
|
|
|
|
|
placeholder="请输入 日工帮工工时"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工工资" prop="dayWorkPay">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.dayWorkPay"
|
|
|
|
|
placeholder="请输入日工工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="包活工资" prop="workOrderPay">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.workOrderPay"
|
|
|
|
|
placeholder="请输入包活工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="加班工资" prop="overtime">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.overtime"
|
|
|
|
|
placeholder="请输入加班工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="帮工工资" prop="banggongPay">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.banggongPay"
|
|
|
|
|
placeholder="请输入帮工工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="值班/拉货工资 废弃" prop="zhibanOrLahuo">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.zhibanOrLahuo"
|
|
|
|
|
placeholder="请输入值班/拉货工资 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="节假日工资 废弃" prop="holiday">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.holiday"
|
|
|
|
|
placeholder="请输入节假日工资 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="岗位津贴 废弃" prop="post">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.post"
|
|
|
|
|
placeholder="请输入岗位津贴 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="话费及其他补贴 废弃" prop="phoneCharge">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.phoneCharge"
|
|
|
|
|
placeholder="请输入话费及其他补贴 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="合同补 废弃" prop="contract">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.contract"
|
|
|
|
|
placeholder="请输入合同补 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="全勤奖 废弃" prop="fullTime">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.fullTime"
|
|
|
|
|
placeholder="请输入全勤奖 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="上月差异 废弃" prop="diffOfLastMonth">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.diffOfLastMonth"
|
|
|
|
|
placeholder="请输入上月差异 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="应付工资" prop="shoudPayMoney">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.shoudPayMoney"
|
|
|
|
|
placeholder="请输入应付工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="扣款忘刷迟到 废弃" prop="late">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.late"
|
|
|
|
|
placeholder="请输入扣款忘刷迟到 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="扣款保险/党费 废弃" prop="insurance">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.insurance"
|
|
|
|
|
placeholder="请输入扣款保险/党费 废弃"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实发工资" prop="actuallyPayMoney">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.actuallyPayMoney"
|
|
|
|
|
placeholder="请输入实发工资"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工补贴对象" prop="allButieData">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.allButieData"
|
|
|
|
|
placeholder="请输入员工补贴对象"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="note">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.note"
|
|
|
|
|
placeholder="请输入备注"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工工资是否可查" prop="empQuery">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.empQuery"
|
|
|
|
|
placeholder="请输入员工工资是否可查"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<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>
|
|
|
|
|
@ -266,100 +62,125 @@
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
type="warning"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-plus"
|
|
|
|
|
icon="el-icon-download"
|
|
|
|
|
size="mini"
|
|
|
|
|
@click="handleAdd"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:add']"
|
|
|
|
|
>新增</el-button>
|
|
|
|
|
@click="handleExport"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:export']"
|
|
|
|
|
>导出</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="success"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="yearMoth"
|
|
|
|
|
type="month"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="single"
|
|
|
|
|
@click="handleUpdate"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:edit']"
|
|
|
|
|
>修改</el-button>
|
|
|
|
|
placeholder="选择年月(工资查询开关)"
|
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
|
@change="selectYearMonth"
|
|
|
|
|
v-hasPermi="['secure:salary:query']">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="danger"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-delete"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="handleDelete"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:remove']"
|
|
|
|
|
>删除</el-button>
|
|
|
|
|
<el-switch
|
|
|
|
|
v-model="editSwic.empQuery"
|
|
|
|
|
active-value="1"
|
|
|
|
|
inactive-value="0"
|
|
|
|
|
@change="handelYear"
|
|
|
|
|
v-hasPermi="['secure:salary:onoff']"
|
|
|
|
|
></el-switch>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
|
<div class="top-center-gen">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="dataform.date"
|
|
|
|
|
type="month"
|
|
|
|
|
size="mini"
|
|
|
|
|
placeholder="选择月"
|
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
|
@change="selectMonth"
|
|
|
|
|
style="width:40%;">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
<el-checkbox v-model="dataform.updateSupport" style="margin-left: 10px" /> <span style="font-size: 10px">更新数据</span>
|
|
|
|
|
<el-button
|
|
|
|
|
type="warning"
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-download"
|
|
|
|
|
size="mini"
|
|
|
|
|
@click="handleExport"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:export']"
|
|
|
|
|
>导出</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
|
:disabled="produce"
|
|
|
|
|
@click="handleGenerate"
|
|
|
|
|
v-hasPermi="['secure:salary:generate']"
|
|
|
|
|
style="margin-left: 10px;"
|
|
|
|
|
>生成</el-button>
|
|
|
|
|
</el-row>
|
|
|
|
|
</div>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="salaryReportList" @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="主键" align="center" prop="id" v-if="true"/>
|
|
|
|
|
<el-table-column label="租户id" align="center" prop="tenantId" />
|
|
|
|
|
<el-table v-loading="loading" :data="salaryReportList">
|
|
|
|
|
<el-table-column label="年" align="center" prop="year" />
|
|
|
|
|
<el-table-column label="月" align="center" prop="month" />
|
|
|
|
|
<el-table-column label="部门id" align="center" prop="deptId" />
|
|
|
|
|
<el-table-column label="部门名称" align="center" prop="deptName" />
|
|
|
|
|
<el-table-column label="员工id" align="center" prop="employeeId" />
|
|
|
|
|
<el-table-column label="员工姓名" align="center" prop="employeeName" />
|
|
|
|
|
<el-table-column label="部门名称" align="center" prop="deptName"/>
|
|
|
|
|
<el-table-column label="基本工资" align="center" prop="basicSalary" />
|
|
|
|
|
<el-table-column label="实际出勤天数" align="center" prop="actuallyDays" />
|
|
|
|
|
<el-table-column label="实际出勤小时数" align="center" prop="actuallyHours" />
|
|
|
|
|
<el-table-column label="出勤工时" align="center" prop="dayWorkHours" />
|
|
|
|
|
<el-table-column label="包活工时" align="center" prop="workOrderHours" />
|
|
|
|
|
<el-table-column label="加班工时" align="center" prop="overtimeWorkHours" />
|
|
|
|
|
<el-table-column label=" 日工帮工工时" align="center" prop="rigongHelpHours" />
|
|
|
|
|
<el-table-column label="日工帮工工时" align="center" prop="rigongHelpHours" />
|
|
|
|
|
<el-table-column label="日工工资" align="center" prop="dayWorkPay" />
|
|
|
|
|
<el-table-column label="包活工资" align="center" prop="workOrderPay" />
|
|
|
|
|
<el-table-column label="加班工资" align="center" prop="overtime" />
|
|
|
|
|
<el-table-column label="帮工工资" align="center" prop="banggongPay" />
|
|
|
|
|
<el-table-column label="值班/拉货工资 废弃" align="center" prop="zhibanOrLahuo" />
|
|
|
|
|
<el-table-column label="节假日工资 废弃" align="center" prop="holiday" />
|
|
|
|
|
<el-table-column label="岗位津贴 废弃" align="center" prop="post" />
|
|
|
|
|
<el-table-column label="话费及其他补贴 废弃" align="center" prop="phoneCharge" />
|
|
|
|
|
<el-table-column label="合同补 废弃" align="center" prop="contract" />
|
|
|
|
|
<el-table-column label="全勤奖 废弃" align="center" prop="fullTime" />
|
|
|
|
|
<el-table-column label="上月差异 废弃" align="center" prop="diffOfLastMonth" />
|
|
|
|
|
<el-table-column :label="item.buTieName" align="center" :prop="item.buTieName" v-for="(item, index) in increaseDec" v-if="item.type === '1'" :key="index">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<template v-for="(addsum,i) in scope.row.allButieData">
|
|
|
|
|
<span :key="i" v-if="item.buTieName === addsum.buTieName" v-text="addsum.money"></span>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="应付工资" align="center" prop="shoudPayMoney" />
|
|
|
|
|
<el-table-column label="扣款忘刷迟到 废弃" align="center" prop="late" />
|
|
|
|
|
<el-table-column label="扣款保险/党费 废弃" align="center" prop="insurance" />
|
|
|
|
|
<el-table-column :label="item.buTieName" align="center" :prop="item.buTieName" v-for="(item, index) in increaseDec" v-if="item.type === '0'" :key="index">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<template v-for="(sum,i) in scope.row.allButieData">
|
|
|
|
|
<span :key="i" v-if="item.buTieName === sum.buTieName" v-text="sum.money"></span>
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="实发工资" align="center" prop="actuallyPayMoney" />
|
|
|
|
|
<el-table-column label="员工补贴对象" align="center" prop="allButieData" />
|
|
|
|
|
<el-table-column label="备注" align="center" prop="note" />
|
|
|
|
|
<el-table-column label="员工工资是否可查" align="center" prop="empQuery" />
|
|
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
|
|
<el-table-column label="备注" align="center" prop="note">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-input v-if="scope.row.edit" v-model="scope.row.note" class="edit-input" size="small" />
|
|
|
|
|
<div>{{scope.row.note}}</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="操作" align="center" min-width="120px" class-name="small-padding fixed-width" fixed>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="!scope.row.edit"
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
|
|
@click="handleRowEdit(scope.row)"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:edit']"
|
|
|
|
|
>修改</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="scope.row.edit"
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-circle-check"
|
|
|
|
|
@click="ensureRowEdit(scope.row)"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:edit']"
|
|
|
|
|
>确定</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="scope.row.edit"
|
|
|
|
|
size="mini"
|
|
|
|
|
type="text"
|
|
|
|
|
icon="el-icon-delete"
|
|
|
|
|
@click="handleDelete(scope.row)"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:remove']"
|
|
|
|
|
>删除</el-button>
|
|
|
|
|
icon="el-icon-circle-close"
|
|
|
|
|
@click="cancelRowEdit(scope.row)"
|
|
|
|
|
v-hasPermi="['pay:salaryReport:edit']"
|
|
|
|
|
>取消</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
@ -372,121 +193,25 @@
|
|
|
|
|
@pagination="getList"
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<!-- 添加或修改工资明细总对话框 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
<el-form-item label="租户id" prop="tenantId">
|
|
|
|
|
<el-input v-model="form.tenantId" placeholder="请输入租户id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="年" prop="year">
|
|
|
|
|
<el-input v-model="form.year" placeholder="请输入年" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="月" prop="month">
|
|
|
|
|
<el-input v-model="form.month" placeholder="请输入月" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="部门id" prop="deptId">
|
|
|
|
|
<el-input v-model="form.deptId" placeholder="请输入部门id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="部门名称" prop="deptName">
|
|
|
|
|
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工id" prop="employeeId">
|
|
|
|
|
<el-input v-model="form.employeeId" placeholder="请输入员工id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工姓名" prop="employeeName">
|
|
|
|
|
<el-input v-model="form.employeeName" placeholder="请输入员工姓名" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="基本工资" prop="basicSalary">
|
|
|
|
|
<el-input v-model="form.basicSalary" placeholder="请输入基本工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实际出勤天数" prop="actuallyDays">
|
|
|
|
|
<el-input v-model="form.actuallyDays" placeholder="请输入实际出勤天数" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实际出勤小时数" prop="actuallyHours">
|
|
|
|
|
<el-input v-model="form.actuallyHours" placeholder="请输入实际出勤小时数" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="出勤工时" prop="dayWorkHours">
|
|
|
|
|
<el-input v-model="form.dayWorkHours" placeholder="请输入出勤工时" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="包活工时" prop="workOrderHours">
|
|
|
|
|
<el-input v-model="form.workOrderHours" placeholder="请输入包活工时" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="加班工时" prop="overtimeWorkHours">
|
|
|
|
|
<el-input v-model="form.overtimeWorkHours" placeholder="请输入加班工时" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label=" 日工帮工工时" prop="rigongHelpHours">
|
|
|
|
|
<el-input v-model="form.rigongHelpHours" placeholder="请输入 日工帮工工时" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工工资" prop="dayWorkPay">
|
|
|
|
|
<el-input v-model="form.dayWorkPay" placeholder="请输入日工工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="包活工资" prop="workOrderPay">
|
|
|
|
|
<el-input v-model="form.workOrderPay" placeholder="请输入包活工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="加班工资" prop="overtime">
|
|
|
|
|
<el-input v-model="form.overtime" placeholder="请输入加班工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="帮工工资" prop="banggongPay">
|
|
|
|
|
<el-input v-model="form.banggongPay" placeholder="请输入帮工工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="值班/拉货工资 废弃" prop="zhibanOrLahuo">
|
|
|
|
|
<el-input v-model="form.zhibanOrLahuo" placeholder="请输入值班/拉货工资 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="节假日工资 废弃" prop="holiday">
|
|
|
|
|
<el-input v-model="form.holiday" placeholder="请输入节假日工资 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="岗位津贴 废弃" prop="post">
|
|
|
|
|
<el-input v-model="form.post" placeholder="请输入岗位津贴 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="话费及其他补贴 废弃" prop="phoneCharge">
|
|
|
|
|
<el-input v-model="form.phoneCharge" placeholder="请输入话费及其他补贴 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="合同补 废弃" prop="contract">
|
|
|
|
|
<el-input v-model="form.contract" placeholder="请输入合同补 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="全勤奖 废弃" prop="fullTime">
|
|
|
|
|
<el-input v-model="form.fullTime" placeholder="请输入全勤奖 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="上月差异 废弃" prop="diffOfLastMonth">
|
|
|
|
|
<el-input v-model="form.diffOfLastMonth" placeholder="请输入上月差异 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="应付工资" prop="shoudPayMoney">
|
|
|
|
|
<el-input v-model="form.shoudPayMoney" placeholder="请输入应付工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="扣款忘刷迟到 废弃" prop="late">
|
|
|
|
|
<el-input v-model="form.late" placeholder="请输入扣款忘刷迟到 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="扣款保险/党费 废弃" prop="insurance">
|
|
|
|
|
<el-input v-model="form.insurance" placeholder="请输入扣款保险/党费 废弃" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实发工资" prop="actuallyPayMoney">
|
|
|
|
|
<el-input v-model="form.actuallyPayMoney" placeholder="请输入实发工资" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工补贴对象" prop="allButieData">
|
|
|
|
|
<el-input v-model="form.allButieData" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="note">
|
|
|
|
|
<el-input v-model="form.note" placeholder="请输入备注" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工工资是否可查" prop="empQuery">
|
|
|
|
|
<el-input v-model="form.empQuery" placeholder="请输入员工工资是否可查" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { listSalaryReport, getSalaryReport, delSalaryReport, addSalaryReport, updateSalaryReport } from "@/api/pay/salaryReport";
|
|
|
|
|
import { listSalaryReport, getSalaryReport, delSalaryReport, generate, updateSalaryReport } from "@/api/pay/salaryReport";
|
|
|
|
|
import { listTenant } from "@/api/pay/tenant";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "SalaryReport",
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
// 公司信息
|
|
|
|
|
gsInfo:{
|
|
|
|
|
tenantName:'',
|
|
|
|
|
active_id:this.$store.state.user.tenantId,
|
|
|
|
|
list:[]
|
|
|
|
|
},
|
|
|
|
|
// 按钮loading
|
|
|
|
|
buttonLoading: false,
|
|
|
|
|
// 遮罩层
|
|
|
|
|
@ -647,16 +372,60 @@ export default {
|
|
|
|
|
empQuery: [
|
|
|
|
|
{ required: true, message: "员工工资是否可查不能为空", trigger: "blur" }
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
yearMoth: null,
|
|
|
|
|
editQuery: {
|
|
|
|
|
year: null,
|
|
|
|
|
month: null
|
|
|
|
|
},
|
|
|
|
|
editSwic: {
|
|
|
|
|
year: null,
|
|
|
|
|
month: null,
|
|
|
|
|
empQuery: '0'
|
|
|
|
|
},
|
|
|
|
|
dataform: {
|
|
|
|
|
date: null,
|
|
|
|
|
updateSupport: false
|
|
|
|
|
},
|
|
|
|
|
// date: null,
|
|
|
|
|
produce: true,
|
|
|
|
|
addItem: [],
|
|
|
|
|
subTraction: [],
|
|
|
|
|
increaseDec: []
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
if (!this.$store.state.user.tenantId) {
|
|
|
|
|
this.getGsInfoList()
|
|
|
|
|
}else {
|
|
|
|
|
this.gsInfo.active_id = this.$store.state.user.tenantId
|
|
|
|
|
this.getList();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 获取左侧公司列表
|
|
|
|
|
getGsInfoList(){
|
|
|
|
|
listTenant({ name: this.gsInfo.tenantName }).then(response => {
|
|
|
|
|
if(response.rows.length>0){
|
|
|
|
|
this.gsInfo.list = response.rows;
|
|
|
|
|
this.gsInfo.active_id = this.gsInfo.list[0].id
|
|
|
|
|
this.getList()
|
|
|
|
|
}else{
|
|
|
|
|
this.$alert(`没有查到相关公司,暂无数据!`, `提示`, {
|
|
|
|
|
type: 'warning'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 选择公司
|
|
|
|
|
changCompany(id){
|
|
|
|
|
this.gsInfo.active_id = id
|
|
|
|
|
this.getList()
|
|
|
|
|
},
|
|
|
|
|
/** 查询工资明细总列表 */
|
|
|
|
|
getList() {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
this.queryParams.tenantId = this.gsInfo.active_id;
|
|
|
|
|
listSalaryReport(this.queryParams).then(response => {
|
|
|
|
|
this.salaryReportList = response.rows;
|
|
|
|
|
this.total = response.total;
|
|
|
|
|
@ -717,12 +486,6 @@ export default {
|
|
|
|
|
this.resetForm("queryForm");
|
|
|
|
|
this.handleQuery();
|
|
|
|
|
},
|
|
|
|
|
// 多选框选中数据
|
|
|
|
|
handleSelectionChange(selection) {
|
|
|
|
|
this.ids = selection.map(item => item.id)
|
|
|
|
|
this.single = selection.length!==1
|
|
|
|
|
this.multiple = !selection.length
|
|
|
|
|
},
|
|
|
|
|
/** 新增按钮操作 */
|
|
|
|
|
handleAdd() {
|
|
|
|
|
this.reset();
|
|
|
|
|
@ -745,6 +508,7 @@ export default {
|
|
|
|
|
submitForm() {
|
|
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
this.form.tenantId = this.gsInfo.active_id;
|
|
|
|
|
this.buttonLoading = true;
|
|
|
|
|
if (this.form.id != null) {
|
|
|
|
|
updateSalaryReport(this.form).then(response => {
|
|
|
|
|
@ -786,7 +550,145 @@ export default {
|
|
|
|
|
this.download('pay/salaryReport/export', {
|
|
|
|
|
...this.queryParams
|
|
|
|
|
}, `salaryReport_${new Date().getTime()}.xlsx`)
|
|
|
|
|
},
|
|
|
|
|
selectYearMonth(val) {
|
|
|
|
|
if(val === null || val === ''){
|
|
|
|
|
this.editSwic.empQuery = '0'
|
|
|
|
|
}else{
|
|
|
|
|
var myDate = new Date(this.yearMoth);
|
|
|
|
|
this.editQuery.year = myDate.getFullYear() + '';
|
|
|
|
|
this.editQuery.month = myDate.getMonth() + 1 + '';
|
|
|
|
|
if ((this.editQuery.month).toString().length == 1) {
|
|
|
|
|
this.editQuery.month = "0" + this.editQuery.month;
|
|
|
|
|
listSalary(this.editQuery).then(response => {
|
|
|
|
|
var empSalar = response.rows
|
|
|
|
|
empSalar.forEach(item => {
|
|
|
|
|
this.editSwic.empQuery = (item.empQuery).toString();
|
|
|
|
|
this.editSwic.year = this.editQuery.year;
|
|
|
|
|
this.editSwic.month = this.editQuery.month;
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
listSalary(this.editQuery).then(response => {
|
|
|
|
|
var empSalar = response.rows
|
|
|
|
|
empSalar.forEach(item => {
|
|
|
|
|
this.editSwic.empQuery = (item.empQuery).toString();
|
|
|
|
|
this.editSwic.year = this.editQuery.year;
|
|
|
|
|
this.editSwic.month = this.editQuery.month;
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handelYear() {
|
|
|
|
|
let text = this.editSwic.empQuery === "1" ? "启用" : "停用";
|
|
|
|
|
this.editSwic.empQuery = text === "启用" ? "1" : "0";
|
|
|
|
|
this.getEditQuery();
|
|
|
|
|
},
|
|
|
|
|
/** 生成报表选择月份 */
|
|
|
|
|
selectMonth(val) {
|
|
|
|
|
if(val === null || val === ''){
|
|
|
|
|
this.produce = true
|
|
|
|
|
}else{
|
|
|
|
|
this.produce = false
|
|
|
|
|
}
|
|
|
|
|
// this.produce = true
|
|
|
|
|
},
|
|
|
|
|
/** 生成报表 */
|
|
|
|
|
handleGenerate() {
|
|
|
|
|
const loading = this.$loading({
|
|
|
|
|
lock: true,
|
|
|
|
|
text: 'Loading',
|
|
|
|
|
spinner: 'el-icon-loading',
|
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
|
|
});
|
|
|
|
|
generate({
|
|
|
|
|
tenantId:this.gsInfo.active_id,
|
|
|
|
|
...this.dataform
|
|
|
|
|
}).then(response => {
|
|
|
|
|
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", '导入结果', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
dangerouslyUseHTMLString: true,
|
|
|
|
|
callback: action => {
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.getList();
|
|
|
|
|
loading.close();
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
handleRowEdit(row) {
|
|
|
|
|
console.log(row);
|
|
|
|
|
// row.edit = true;
|
|
|
|
|
this.$set(row, 'edit', true)
|
|
|
|
|
},
|
|
|
|
|
/** 确定修改按钮操作*/
|
|
|
|
|
ensureRowEdit(row) {
|
|
|
|
|
row.allButieData = JSON.stringify(row.allButieData)
|
|
|
|
|
updateSalaryReport(row).then(response => {
|
|
|
|
|
if (response.code === 200) {
|
|
|
|
|
this.$message({
|
|
|
|
|
message: '修改成功',
|
|
|
|
|
type: 'success'
|
|
|
|
|
});
|
|
|
|
|
if(row.edit){
|
|
|
|
|
row.edit = false;
|
|
|
|
|
}
|
|
|
|
|
this.getList();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 取消修改按钮操作*/
|
|
|
|
|
cancelRowEdit(row) {
|
|
|
|
|
row.edit = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.app-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
.company {
|
|
|
|
|
border-radius: 5px;
|
|
|
|
|
width: 230px;
|
|
|
|
|
height: calc(100vh - 115px);
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
.cp-content {
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
.cp-item {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
padding: 6px 10px 6px 5px;
|
|
|
|
|
color: #424242;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #f6f6f6;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.active{
|
|
|
|
|
background: #edf6ff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.content{
|
|
|
|
|
padding-left: 15px;
|
|
|
|
|
width: calc(100% - 250px);
|
|
|
|
|
.el-button--medium {
|
|
|
|
|
padding: 2px 0px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.content-all{
|
|
|
|
|
width: 100%;
|
|
|
|
|
.el-button--medium {
|
|
|
|
|
padding: 2px 0px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.top-center-gen {
|
|
|
|
|
position: relative;
|
|
|
|
|
float: right;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|