上传
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="searchForm" ref="searchFormRef" inline>
|
||||
<el-form :model="searchForm" ref="searchFormRef" inline @submit.prevent>
|
||||
<el-form-item>
|
||||
<el-input v-model="searchForm.employeeName" placeholder="员工姓名" />
|
||||
<el-input
|
||||
v-model="searchForm.name"
|
||||
placeholder="员工姓名"
|
||||
clearable
|
||||
@keyup.enter="handleSearch"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
v-model="searchForm.month"
|
||||
v-model="searchForm.yearmonth"
|
||||
type="month"
|
||||
placeholder="年月"
|
||||
format="YYYY-MM"
|
||||
value-format="YYYY-MM"
|
||||
style="width: 100%"
|
||||
@change="handleSearch"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -66,26 +70,26 @@
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.allowanceSalary"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.allowanceSalary }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提成" min-width="90px">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.percentageSalary"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.percentageSalary }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖金" min-width="90px">
|
||||
@@ -105,13 +109,13 @@
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.fullWorkSalary"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.fullWorkSalary }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="其他" min-width="90px">
|
||||
@@ -127,7 +131,7 @@
|
||||
<span v-else> {{ row.extraSalary }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="小计" min-width="90px" />
|
||||
<el-table-column label="小计" prop="salaryTotal" min-width="90px" />
|
||||
</el-table-column>
|
||||
<el-table-column label="应扣工资" align="center">
|
||||
<el-table-column label="绩效" min-width="90px">
|
||||
@@ -147,13 +151,13 @@
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.leaveDayDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.leaveDayDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="90px">
|
||||
@@ -163,39 +167,39 @@
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.absenceDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.absenceDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="旷工" min-width="90px">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.skipWorkDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.skipWorkDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="违纪" min-width="90px">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.breachDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.breachDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="公积金" min-width="90px">
|
||||
@@ -228,31 +232,31 @@
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.taxDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.taxDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="其他" min-width="90px">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="row.edit"
|
||||
v-model="row.jbgz"
|
||||
v-model="row.extraDeduct"
|
||||
:min="0"
|
||||
:controls="false"
|
||||
size="small"
|
||||
style="width: 65px"
|
||||
/>
|
||||
<span v-else> {{ row.jbgz }}</span>
|
||||
<span v-else> {{ row.extraDeduct }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="小计" min-width="90px" />
|
||||
<el-table-column label="小计" prop="deductTotal" min-width="90px" />
|
||||
</el-table-column>
|
||||
<el-table-column label="实发工资" fixed="right" width="90" />
|
||||
<el-table-column label="实发工资" prop="gantSalary" fixed="right" width="90" />
|
||||
<el-table-column label="操作" fixed="right" width="200">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
@@ -288,38 +292,66 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="searchForm.pageNo"
|
||||
v-model:limit="searchForm.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<DialogCreateSalary ref="createSalaryRef" @success="getList" />
|
||||
<DialogSalaryImport ref="importSalaryRef" @success="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="SalarySlip">
|
||||
import DialogCreateSalary from './Comp/DialogCreateSalary.vue'
|
||||
const searchForm = ref({})
|
||||
import DialogSalaryImport from './Comp/DialogSalaryImport.vue'
|
||||
|
||||
import { removeNullField } from '@/utils'
|
||||
import * as SalaryApi from '@/api/home/salary.js'
|
||||
|
||||
const searchForm = ref({
|
||||
name: undefined,
|
||||
yearmonth: undefined,
|
||||
pageNo: 1,
|
||||
pageSize: 50
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
handleSearch()
|
||||
})
|
||||
|
||||
function handleSearch() {
|
||||
searchForm.value.pageNO = 1
|
||||
searchForm.value.pageNo = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
const loading = ref(false)
|
||||
const tableList = ref([])
|
||||
const total = ref(0)
|
||||
function getList() {
|
||||
tableList.value = [
|
||||
{
|
||||
yearmonth: '2024-06',
|
||||
id: 1,
|
||||
children: [
|
||||
{ id: 11, name: '张三' },
|
||||
{ id: 12, name: '李四' }
|
||||
]
|
||||
async function getList() {
|
||||
loading.value = true
|
||||
try {
|
||||
let params = {
|
||||
...searchForm.value
|
||||
}
|
||||
]
|
||||
total.value = 0
|
||||
if (params.yearmonth) {
|
||||
params = {
|
||||
...params,
|
||||
year: new Date(params.yearmonth).getFullYear(),
|
||||
month: new Date(params.yearmonth).getMonth() + 1
|
||||
}
|
||||
}
|
||||
const data = await SalaryApi.getSalaryPage(removeNullField(params))
|
||||
tableList.value = data.list
|
||||
total.value = data.total
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const createSalaryRef = ref()
|
||||
@@ -327,7 +359,10 @@ function craeteSalary() {
|
||||
createSalaryRef.value.open()
|
||||
}
|
||||
|
||||
function importHistorySalary() {}
|
||||
const importSalaryRef = ref()
|
||||
function importHistorySalary() {
|
||||
importSalaryRef.value.open()
|
||||
}
|
||||
|
||||
function spanMethod({ row, columnIndex }) {
|
||||
if (row.children && row.children.length > 0) {
|
||||
|
||||
Reference in New Issue
Block a user