员工管理修改

master
wanglei 7 months ago
parent 0786f6aae9
commit bf237a2ead

@ -42,3 +42,12 @@ export function delEmployeeInfo(id) {
method: 'delete'
})
}
//修改每日应出勤小时数
export function updateHour(data) {
return request({
url: '/secure/empinfo/edithour',
method: 'put',
params: data
})
}

@ -5,6 +5,8 @@ const user = {
state: {
token: getToken(),
name: '',
userId: '',
tenantId: '',
avatar: '',
roles: [],
permissions: []
@ -17,6 +19,12 @@ const user = {
SET_NAME: (state, name) => {
state.name = name
},
SET_USERID: (state, userId) => {
state.userId = userId
},
SET_TENANTID: (state, tenantId) => {
state.tenantId = tenantId
},
SET_AVATAR: (state, avatar) => {
state.avatar = avatar
},
@ -59,6 +67,8 @@ const user = {
commit('SET_ROLES', ['ROLE_DEFAULT'])
}
commit('SET_NAME', user.userName)
commit('SET_USERID', user.userId)
commit('SET_TENANTID', user.tenantId)
commit('SET_AVATAR', avatar)
resolve(res)
}).catch(error => {

@ -1,25 +1,26 @@
<template>
<div class="app-container">
<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="登录用户id" prop="userId">
<div class="company" v-if="!$store.state.user.tenantId">
<el-input
v-model="queryParams.userId"
placeholder="请输入登录用户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="员工所属部门" prop="deptId">
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="90px">
<el-form-item label="所属部门" prop="deptName">
<el-input
v-model="queryParams.deptId"
v-model="queryParams.deptName"
placeholder="请输入员工所属部门"
clearable
@keyup.enter.native="handleQuery"
@ -33,71 +34,27 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input
v-model="queryParams.age"
placeholder="请输入年龄"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input
v-model="queryParams.phone"
placeholder="请输入手机号"
clearable
@keyup.enter.native="handleQuery"
<el-form-item label="性别" prop="sex">
<el-select v-model="queryParams.sex" placeholder="请选择性别" clearable>
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-form-item>
<el-form-item label="身份证号" prop="idcard">
<el-input
v-model="queryParams.idcard"
placeholder="请输入身份证号"
clearable
@keyup.enter.native="handleQuery"
</el-select>
</el-form-item>
<el-form-item label="休息类型" prop="restType">
<el-select v-model="queryParams.restType" placeholder="请选择休息类型" clearable>
<el-option
v-for="dict in dict.type.pay_work_rest_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="银行卡号" prop="bankCardNumber">
<el-input
v-model="queryParams.bankCardNumber"
placeholder="请输入银行卡号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="开户行" prop="openingBank">
<el-input
v-model="queryParams.openingBank"
placeholder="请输入开户行"
clearable
@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="daySalary">
<el-input
v-model="queryParams.daySalary"
placeholder="请输入日薪"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="时薪" prop="hourSalary">
<el-input
v-model="queryParams.hourSalary"
placeholder="请输入时薪"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="每日应出勤小时数" prop="hoursPerDay">
<el-form-item label="每日应出勤" prop="hoursPerDay">
<el-input
v-model="queryParams.hoursPerDay"
placeholder="请输入每日应出勤小时数"
@ -105,77 +62,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input
v-model="queryParams.education"
placeholder="请输入学历"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="家庭住址" prop="address">
<el-input
v-model="queryParams.address"
placeholder="请输入家庭住址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="紧急联系人" prop="contact">
<el-input
v-model="queryParams.contact"
placeholder="请输入紧急联系人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="紧急联系人电话" prop="contactPhone">
<el-input
v-model="queryParams.contactPhone"
placeholder="请输入紧急联系人电话"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="质检(1-是 0-否)" prop="zhijian">
<el-input
v-model="queryParams.zhijian"
placeholder="请输入质检(1-是 0-否)"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="业务员(1-是 0-否)" prop="yewu">
<el-input
v-model="queryParams.yewu"
placeholder="请输入业务员(1-是 0-否)"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同补助开始时间" prop="htstime">
<el-date-picker clearable
v-model="queryParams.htstime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择合同补助开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="合同补助结束时间" prop="htetime">
<el-date-picker clearable
v-model="queryParams.htetime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择合同补助结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="删除标志" prop="deleted">
<el-input
v-model="queryParams.deleted"
placeholder="请输入删除标志"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="状态" prop="deleted">
<el-select v-model="queryParams.deleted" placeholder="请选择">
<el-option
v-for="dict in dict.type.pay_del_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -191,7 +86,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['pay:employeeInfo:add']"
v-hasPermi="['secure:empinfo:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
@ -202,77 +97,96 @@
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['pay:employeeInfo:edit']"
v-hasPermi="['secure:empinfo:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
type="warning"
plain
icon="el-icon-delete"
icon="el-icon-download"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['pay:employeeInfo:remove']"
>删除</el-button>
@click="handleExport"
v-hasPermi="['secure:empinfo:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
type="primary"
plain
icon="el-icon-download"
icon="el-icon-edit"
size="mini"
@click="handleExport"
v-hasPermi="['pay:employeeInfo:export']"
>导出</el-button>
@click="handleEdit"
v-hasPermi="['secure:empinfo:edithour']"
>修改每日应出勤小时数</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="employeeInfoList" @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-column label="登录用户id" align="center" prop="userId" />
<el-table-column label="员工所属部门" align="center" prop="deptId" />
<el-table-column label="员工姓名" align="center" prop="name" />
<el-table-column label="性别" align="center" prop="sex" />
<el-table v-loading="loading" :data="employeeInfoList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" fixed min-width="50"/>
<el-table-column label="员工所属部门" align="center" prop="deptName" :show-overflow-tooltip="true" fixed min-width="120"/>
<el-table-column label="员工姓名" align="center" prop="name" :show-overflow-tooltip="true" fixed min-width="100"/>
<el-table-column label="状态" align="center" prop="deleted">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_del_status" :value="scope.row.deleted"/>
</template>
</el-table-column>
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="手机号" align="center" prop="phone" />
<el-table-column label="身份证号" align="center" prop="idcard" />
<el-table-column label="银行卡号" align="center" prop="bankCardNumber" />
<el-table-column label="开户行" align="center" prop="openingBank" />
<el-table-column label="手机号" align="center" prop="phone" min-width="100"/>
<el-table-column label="身份证号" align="center" prop="idcard" min-width="100" />
<el-table-column label="银行卡号" align="center" prop="bankCardNumber" min-width="100" />
<el-table-column label="开户行" align="center" prop="openingBank" min-width="100" />
<el-table-column label="基本工资" align="center" prop="basicSalary" />
<el-table-column label="日薪" align="center" prop="daySalary" />
<el-table-column label="时薪" align="center" prop="hourSalary" />
<el-table-column label="休息类型(0 :周休 1:非周休 2天休 3小时 4包月 5周二天)" align="center" prop="restType" />
<el-table-column label="每日应出勤小时数" align="center" prop="hoursPerDay" />
<el-table-column label="(
0:日薪(日工+包活)
1:月薪(日工+包活)
2:喷涂按小时数(16/1717/18)
3.外贸按小时数(17/21)
4.包月工资)
" align="center" prop="payCalcType" />
<el-table-column label="学历" align="center" prop="education" />
<!-- <el-table-column label="日薪" align="center" prop="daySalary" />-->
<!-- <el-table-column label="时薪" align="center" prop="hourSalary" />-->
<el-table-column label="休息类型" align="center" prop="restType">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_work_rest_type" :value="scope.row.restType"/>
</template>
</el-table-column>
<el-table-column label="每日应出勤小时数" align="center" prop="hoursPerDay" min-width="130"/>
<el-table-column label="工资计算类型" align="center" prop="payCalcType" min-width="110">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_salary_type" :value="scope.row.payCalcType"/>
</template>
</el-table-column>
<el-table-column label="学历" align="center" prop="education" >
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_education" :value="scope.row.education"/>
</template>
</el-table-column>
<el-table-column label="家庭住址" align="center" prop="address" />
<el-table-column label="紧急联系人" align="center" prop="contact" />
<el-table-column label="紧急联系人电话" align="center" prop="contactPhone" />
<el-table-column label="质检(1-是 0-否)" align="center" prop="zhijian" />
<el-table-column label="业务员(1-是 0-否)" align="center" prop="yewu" />
<el-table-column label="合同补助开始时间" align="center" prop="htstime" width="180">
<el-table-column label="紧急联系人" align="center" prop="contact" min-width="100"/>
<el-table-column label="紧急联系人电话" align="center" prop="contactPhone" min-width="120"/>
<!-- <el-table-column label="是否质检" align="center" prop="zhijian">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_yes_no" :value="scope.row.zhijian"/>
</template>
</el-table-column>
<el-table-column label="业务员" align="center" prop="yewu">
<template slot-scope="scope">
<dict-tag :options="dict.type.pay_yes_no" :value="scope.row.yewu"/>
</template>
</el-table-column>
<el-table-column label="合同补助开始时间" align="center" prop="htstime" min-width="130">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.htstime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="合同补助结束时间" align="center" prop="htetime" width="180">
<el-table-column label="合同补助结束时间" align="center" prop="htetime" min-width="130">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.htetime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="删除标志" align="center" prop="deleted" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
</el-table-column>-->
<el-table-column label="备注" align="center" prop="remark" min-width="120"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="100">
<template slot-scope="scope">
<el-button
size="mini"
@ -281,13 +195,6 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['pay:employeeInfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['pay:employeeInfo:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -300,104 +207,246 @@
@pagination="getList"
/>
</div>
<!-- 添加或修改员工信息对话框 -->
<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="登录用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入登录用户id" />
</el-form-item>
<el-form-item label="员工所属部门" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入员工所属部门" />
<el-dialog :title="title" :visible.sync="open" width="850px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="135px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="员工所属部门" prop="deptId" style="height: 35px;">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择员工所属部门" @select="changeDept"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="员工姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入员工姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="deleted">
<el-radio-group v-model="form.deleted">
<el-radio
v-for="dict in dict.type.pay_del_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%;">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idcard">
<el-input v-model="form.idcard" placeholder="请输入身份证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学历" prop="education">
<el-select v-model="form.education" placeholder="请选择学历" style="width: 100%;">
<el-option
v-for="dict in dict.type.pay_education"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="休息类型" prop="restType">
<el-select v-model="form.restType" placeholder="请选择休息类型" style="width: 100%;">
<el-option
v-for="dict in dict.type.pay_work_rest_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="每日应出勤" prop="hoursPerDay">
<el-input v-model="form.hoursPerDay" placeholder="请输入每日应出勤小时数" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否质检" prop="zhijian">
<el-radio-group v-model="form.zhijian">
<el-radio
v-for="dict in dict.type.pay_yes_no"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="银行卡号" prop="bankCardNumber">
<el-input v-model="form.bankCardNumber" placeholder="请输入银行卡号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户行" prop="openingBank">
<el-input v-model="form.openingBank" placeholder="请输入开户行" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工资计算类型" prop="payCalcType">
<el-select v-model="form.payCalcType" placeholder="请选择工资计算类型" style="width: 100%;">
<el-option
v-for="dict in dict.type.pay_salary_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="基本工资" prop="basicSalary">
<el-input v-model="form.basicSalary" placeholder="请输入基本工资" />
</el-form-item>
<el-form-item label="日薪" prop="daySalary">
<el-input v-model="form.daySalary" placeholder="请输入日薪" />
</el-form-item>
<el-form-item label="时薪" prop="hourSalary">
<el-input v-model="form.hourSalary" placeholder="请输入时薪" />
</el-form-item>
<el-form-item label="每日应出勤小时数" prop="hoursPerDay">
<el-input v-model="form.hoursPerDay" placeholder="请输入每日应出勤小时数" />
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input v-model="form.education" placeholder="请输入学历" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="家庭住址" prop="address">
<el-input v-model="form.address" placeholder="请输入家庭住址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="紧急联系人" prop="contact">
<el-input v-model="form.contact" placeholder="请输入紧急联系人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="紧急联系人电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入紧急联系人电话" />
</el-form-item>
<el-form-item label="质检(1-是 0-否)" prop="zhijian">
<el-input v-model="form.zhijian" placeholder="请输入质检(1-是 0-否)" />
</el-col>
<!-- <el-col :span="12">
<el-form-item label="日薪" prop="daySalary">
<el-input v-model="form.daySalary" placeholder="请输入日薪" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="时薪" prop="hourSalary">
<el-input v-model="form.hourSalary" placeholder="请输入时薪" />
</el-form-item>
<el-form-item label="业务员(1-是 0-否)" prop="yewu">
<el-input v-model="form.yewu" placeholder="请输入业务员(1-是 0-否)" />
</el-col>
<el-col :span="12">
<el-form-item label="业务员" prop="yewu">
<el-radio-group v-model="form.yewu">
<el-radio
v-for="dict in dict.type.pay_yes_no"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同补助开始时间" prop="htstime">
<el-date-picker clearable
<el-date-picker clearable style="width: 100%;"
v-model="form.htstime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择合同补助开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同补助结束时间" prop="htetime">
<el-date-picker clearable
<el-date-picker clearable style="width: 100%;"
v-model="form.htetime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择合同补助结束时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="删除标志" prop="deleted">
<el-input v-model="form.deleted" placeholder="请输入删除标志" />
</el-form-item>
<el-radio-group v-model="form.deleted">
<el-radio
v-for="dict in dict.type.pay_del_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>-->
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</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>
<!-- 添加或修改每日应出勤小时数对话框 -->
<el-dialog :title="title" :visible.sync="openHour" width="500px" append-to-body :close-on-click-modal="false">
<el-form ref="formHour" :model="formHour" :rules="hourrules" label-width="162px">
<el-form-item label="每日应出勤小时数" prop="oldHour">
<el-input v-model="formHour.oldHour" placeholder="请输入每日应出勤小时数" />
</el-form-item>
<el-form-item label="修改每日应出勤小时数" prop="newHour">
<el-input v-model="formHour.newHour" placeholder="请输入每日应出勤小时数" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFormHour"> </el-button>
<el-button @click="cancelHour"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listEmployeeInfo, getEmployeeInfo, delEmployeeInfo, addEmployeeInfo, updateEmployeeInfo } from "@/api/pay/employeeInfo";
import { listEmployeeInfo, getEmployeeInfo, delEmployeeInfo, addEmployeeInfo, updateEmployeeInfo, updateHour } from "@/api/pay/employeeInfo";
import { deptTreeSelect } from "@/api/system/user";
import { listTenant } from "@/api/pay/tenant";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "EmployeeInfo",
components: { Treeselect },
dicts: ['sys_user_sex', 'pay_salary_type', 'pay_work_rest_type', 'pay_del_status', 'pay_yes_no', 'pay_education'],
data() {
return {
//
gsInfo:{
tenantName:'',
active_id:this.$store.state.user.tenantId,
list:[]
},
// loading
buttonLoading: false,
//
@ -414,6 +463,8 @@ export default {
total: 0,
//
employeeInfoList: [],
//
deptOptions: undefined,
//
title: "",
//
@ -452,94 +503,81 @@ export default {
form: {},
//
rules: {
id: [
{ required: true, message: "主键不能为空", trigger: "blur" }
],
tenantId: [
{ required: true, message: "租户id不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "登录用户id不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "员工所属部门不能为空", trigger: "blur" }
],
name: [
{ required: true, message: "员工姓名不能为空", trigger: "blur" }
],
sex: [
{ required: true, message: "性别不能为空", trigger: "change" }
],
age: [
{ required: true, message: "年龄不能为空", trigger: "blur" }
],
phone: [
{ required: true, message: "手机号不能为空", trigger: "blur" }
],
idcard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
bankCardNumber: [
{ required: true, message: "银行卡号不能为空", trigger: "blur" }
],
openingBank: [
{ required: true, message: "开户行不能为空", trigger: "blur" }
{ required: true, message: "手机号不能为空", trigger: "blur" },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
trigger: "blur"
}
],
basicSalary: [
{ required: true, message: "基本工资不能为空", trigger: "blur" }
],
daySalary: [
{ required: true, message: "日薪不能为空", trigger: "blur" }
],
hourSalary: [
{ required: true, message: "时薪不能为空", trigger: "blur" }
],
restType: [
{ required: true, message: "休息类型(0 :周休 1:非周休 2天休 3小时 4包月 5周二天)不能为空", trigger: "change" }
],
hoursPerDay: [
{ required: true, message: "每日应出勤小时数不能为空", trigger: "blur" }
],
payCalcType: [
{ required: true, message: "工资计算类型", trigger: "change" }
],
education: [
{ required: true, message: "学历不能为空", trigger: "blur" }
],
address: [
{ required: true, message: "家庭住址不能为空", trigger: "blur" }
],
contact: [
{ required: true, message: "紧急联系人不能为空", trigger: "blur" }
],
contactPhone: [
{ required: true, message: "紧急联系人电话不能为空", trigger: "blur" }
],
zhijian: [
{ required: true, message: "质检(1-是 0-否)不能为空", trigger: "blur" }
],
yewu: [
{ required: true, message: "业务员(1-是 0-否)不能为空", trigger: "blur" }
],
htstime: [
{ required: true, message: "合同补助开始时间不能为空", trigger: "blur" }
],
htetime: [
{ required: true, message: "合同补助结束时间不能为空", trigger: "blur" }
],
deleted: [
{ required: true, message: "删除标志不能为空", trigger: "blur" }
},
openHour: false,
formHour: {},
hourrules: {
oldHour: [
{ required: true, message: "每日应出勤小时数不能为空", trigger: 'blur'}
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
newHour: [
{ required: true, message: "修改每日应出勤小时数不能为空", trigger: "blur" }
]
}
},
hours: [
{name: '8'},
{name: '8.5'},
{name: '9'}
],
};
},
created() {
console.log(this.$store.state.user, this.$store.state.user.tenantId);
if (!this.$store.state.user.tenantId) {
this.getGsInfoList()
}else {
this.gsInfo.active_id = this.$store.state.user.tenantId
this.getList();
this.getDeptTree();
}
this.roles = sessionStorage.getItem("roles");
},
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()
this.getDeptTree();
}else{
this.$alert(`没有查到相关公司,暂无数据!`, `提示`, {
type: 'warning'
});
}
});
},
//
changCompany(id){
this.gsInfo.active_id = id
this.getList()
this.getDeptTree();
},
/** 查询员工信息列表 */
getList() {
this.loading = true;
@ -554,6 +592,13 @@ export default {
this.open = false;
this.reset();
},
/** 查询部门下拉树结构 */
getDeptTree() {
deptTreeSelect({tenantId: this.gsInfo.active_id}).then(response => {
// deptTreeSelect().then(response => {
this.deptOptions = response.data;
});
},
//
reset() {
this.form = {
@ -561,6 +606,7 @@ export default {
tenantId: undefined,
userId: undefined,
deptId: undefined,
deptName: undefined,
name: undefined,
sex: undefined,
age: undefined,
@ -578,11 +624,11 @@ export default {
address: undefined,
contact: undefined,
contactPhone: undefined,
zhijian: undefined,
zhijian: '0',
yewu: undefined,
htstime: undefined,
htetime: undefined,
deleted: undefined,
deleted: '0',
createBy: undefined,
createTime: undefined,
updateBy: undefined,
@ -621,6 +667,8 @@ export default {
getEmployeeInfo(id).then(response => {
this.loading = false;
this.form = response.data;
this.form.zhijian= this.form.zhijian.toString();
this.form.deleted= this.form.deleted.toString();
this.open = true;
this.title = "修改员工信息";
});
@ -629,6 +677,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) {
updateEmployeeInfo(this.form).then(response => {
@ -670,7 +719,82 @@ export default {
this.download('pay/employeeInfo/export', {
...this.queryParams
}, `employeeInfo_${new Date().getTime()}.xlsx`)
},
/** 修改每日应出勤小时数 */
handleEdit() {
this.reset();
this.openHour = true;
this.title = "修改每日应出勤小时数";
},
submitFormHour() {
this.$refs["formHour"].validate(valid => {
if (valid) {
updateHour(this.formHour).then(response => {
if (response.code === 200) {
this.$modal.msgSuccess("修改成功");
}
this.openHour = false;
this.getList();
})
}
})
},
cancelHour() {
this.openHour = false;
this.resetHour();
},
resetHour() {
this.formHour = {
oldHour: null,
newHour: null
}
this.resetForm("formHour");
},
//
changeDept(val){
this.form.deptId=val.id
this.form.deptName=val.label
}
}
};
</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;
}
}
}
</style>

Loading…
Cancel
Save