Commit b771882b authored by guoyou's avatar guoyou

员工管理

parent ae70a2d4
...@@ -160,3 +160,21 @@ export function getOne(id) { ...@@ -160,3 +160,21 @@ export function getOne(id) {
method: 'get', method: 'get',
}); });
} }
// 员工变更记录
export function findPositionChangeRecord(params) {
return fetch({
url: 'api/admin/postion/admin/findPositionChangeRecord',
method: 'get',
params: params
});
}
// 员工修改
export function updUserChange(params) {
return fetch({
url: 'api/admin/postion/admin/updUserChange',
method: 'post',
data: params
});
}
\ No newline at end of file
...@@ -555,12 +555,6 @@ export const asyncRouterMap = [{ ...@@ -555,12 +555,6 @@ export const asyncRouterMap = [{
component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'), component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'),
name: '客服列表', name: '客服列表',
authority: 'imCustomerServiceManger' authority: 'imCustomerServiceManger'
},
{
path: 'employeesInput',
component: _import('userManagement/employeesInput'),
name: '员工录入',
authority: 'employeesInput'
} }
] ]
}, },
...@@ -794,5 +788,20 @@ export const asyncRouterMap = [{ ...@@ -794,5 +788,20 @@ export const asyncRouterMap = [{
authority: 'vehicleStatistics' authority: 'vehicleStatistics'
} }
] ]
},
{
path: '/interior',
component: Layout,
name: '内部人员管理',
icon: 'setting',
authority: 'interior',
children: [
{
path: 'employeesInput',
component: _import('interior/employeesInput'),
name: '员工录入',
authority: 'employeesInput'
}
]
} }
]; ];
...@@ -260,8 +260,6 @@ export default { ...@@ -260,8 +260,6 @@ export default {
* 操作-编辑 * 操作-编辑
* */ * */
handleUpdate(row) { handleUpdate(row) {
console.log(objDeepCopy);
this.modalTitle = '编辑' this.modalTitle = '编辑'
this.form = objDeepCopy(row) this.form = objDeepCopy(row)
this.bannerDialogVisible = true this.bannerDialogVisible = true
......
...@@ -3,29 +3,14 @@ ...@@ -3,29 +3,14 @@
<div class="filter-container"> <div class="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px"> <el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<el-form-item label="手机号">
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input> <el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="状态"> <el-form-item label="手机号">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工状态"> <el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in statusList "
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -39,15 +24,19 @@ ...@@ -39,15 +24,19 @@
@select="handleSelectPark" @select="handleSelectPark"
clearable clearable
></el-autocomplete> ></el-autocomplete>
<!-- <el-select class="filter-item" v-model="listQuery.status" placeholder="请选分公司"> </el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="身份">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工身份">
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option <el-option
v-for="(item,index) in companyList " v-for="(item,index) in statusList "
:key="index" :key="index"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
></el-option> ></el-option>
</el-select>--> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -67,31 +56,34 @@ ...@@ -67,31 +56,34 @@
highlight-current-row highlight-current-row
style="width: 100%" style="width: 100%"
> >
<el-table-column label="序号" align="center" width="70">
<template scope="scope">
<span>{{scope.$index+(listQuery.page - 1) * listQuery.limit + 1}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column> <el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column> <el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="jobName" label="职位" align="center"></el-table-column>
<el-table-column prop="companyName" label="所属公司" align="center"></el-table-column> <el-table-column prop="companyName" label="所属公司" align="center"></el-table-column>
<el-table-column prop="jobName" label="职位" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></el-table-column> <el-table-column prop="positionName" label="身份" align="center"></el-table-column>
<el-table-column label="状态" align="center"> <el-table-column label="状态" align="center">
<template scope="scope"> <template scope="scope">
<span v-if="scope.row.status == 1">已核销</span> <span v-if="scope.row.status == 1" style="color:#20a0ff">离职</span>
<span v-else>未核销</span> <span v-else style="color:red">在职</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作" width="400" fixed="right"> <el-table-column align="center" label="操作" fixed="right">
<template scope="scope"> <template scope="scope">
<el-button <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="editorStaff(scope.row)" @click="infoStaff(scope.row)"
v-if="scope.row.status != 1" >详情</el-button>
>编辑</el-button>
<el-button <el-button
size="small" size="small"
class="el-button el-button--text el-button--small" class="el-button el-button--text el-button--small"
@click="deleteStaff(scope.row)" @click="editorStaff(scope.row)"
v-if="scope.row.status != 1" >编辑</el-button>
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -116,12 +108,33 @@ ...@@ -116,12 +108,33 @@
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input> <el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="员工身份"> <el-form-item label="入职日期" v-show="staffTitle == '新增员工'">
<el-date-picker
v-model="staffTitleFrom.relTime"
type="date"
placeholder="选择日期"
style="width:100%"
></el-date-picker>
</el-form-item>
<el-form-item label="所属公司">
<el-autocomplete
class="inline-input"
v-model="staffTitleFrom.companyName"
:fetch-suggestions="querySearch"
placeholder="请选择分公司"
:disabled="whether == 1 ? false:true"
:style="{width:whether==1?'100%':'90%'}"
@select="handleSelectParks"
></el-autocomplete>
<el-button type="text" v-show="whether == 2" @click="amend(4)">修改</el-button>
</el-form-item>
<el-form-item label="身份">
<el-select <el-select
class="filter-item" class="filter-item"
v-model="staffTitleFrom.positionId" v-model="staffTitleFrom.positionId"
placeholder="请选择员工身份" placeholder="请选择身份"
style="width:100%" :disabled="whether == 1 ? false:true"
:style="{width:whether==1?'100%':'90%'}"
> >
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option <el-option
...@@ -131,14 +144,19 @@ ...@@ -131,14 +144,19 @@
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
<el-button type="text" v-show="whether == 2" @click="amend(3)">修改</el-button>
</el-form-item> </el-form-item>
<el-form-item label="状态" v-show="whether == 2">
<el-form-item label="员工职位"> <el-input v-model="staffTitleFrom.status" disabled style="width:90%"></el-input>
<el-button type="text" @click="amend(5)">修改</el-button>
</el-form-item>
<el-form-item label="职位">
<el-select <el-select
class="filter-item" class="filter-item"
v-model="staffTitleFrom.jobId" v-model="staffTitleFrom.jobId"
placeholder="请选择员工身份" placeholder="请选择职位"
style="width:100%" :disabled="whether == 1 ? false:true"
:style="{width:whether==1?'100%':'90%'}"
> >
<el-option :key="undefined" label="全部" :value="undefined"></el-option> <el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option <el-option
...@@ -148,18 +166,9 @@ ...@@ -148,18 +166,9 @@
:value="item.id" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
<el-button type="text" v-show="whether == 2" @click="amend(2)">修改</el-button>
</el-form-item> </el-form-item>
<el-form-item label="分公司">
<el-autocomplete
class="inline-input"
v-model="staffTitleFrom.companyName"
:fetch-suggestions="querySearch"
placeholder="请选择分公司"
style="width:100%"
@select="handleSelectParks"
></el-autocomplete>
</el-form-item>
<div style="text-align:center"> <div style="text-align:center">
<el-button type="primary" @click="confirm">确 定</el-button> <el-button type="primary" @click="confirm">确 定</el-button>
<el-button type="primary" @click="bulkUploadMember = false">取消</el-button> <el-button type="primary" @click="bulkUploadMember = false">取消</el-button>
...@@ -200,6 +209,132 @@ ...@@ -200,6 +209,132 @@
</el-form> </el-form>
</el-dialog> </el-dialog>
<!-- 员工详情 S -->
<el-dialog title="员工信息详情" :visible.sync="infoPop" class="member">
<p class="title">基础信息</p>
<p class="staff-info">
<span>
<b>姓名:</b>
{{staffInfo.info.name}}
</span>
<span>
<b>手机号:</b>
{{staffInfo.info.phone}}
</span>
<span>
<b>状态:</b>
{{staffInfo.info.status == 1?"离职":'在职'}}
</span>
<span>
<b>当前所属分公司:</b>
{{staffInfo.info.companyName}}
</span>
<span>
<b>身份:</b>
{{staffInfo.info.positionName}}
</span>
<span>
<b>职位:</b>
{{staffInfo.info.jobName}}
</span>
</p>
<p class="title" style="margin-top:20px">人事变动记录</p>
<p v-for="(item,index) in staffInfo.record" :key="index">
<b>{{item.relTime}}</b>
<span v-if="item.jobRemark == 1">入职</span>
<span v-if="item.jobRemark == 4">(人事调动) {{item.newCompanyName}} => {{item.oldCompanyName}}</span>
<span v-if="item.jobRemark == 2">(职位变更) {{item.newJobName}} => {{item.oldJobName}}</span>
<span v-if="item.jobRemark == 3">(身份变更) {{item.newPositionName}} => {{item.oldPositionName}}</span>
<span v-if="item.jobRemark == 5">离职</span>
</p>
</el-dialog>
<!-- 员工详情 E -->
<!-- 修改 S -->
<el-dialog :title="amendContent" :visible.sync="amendPop" class="member" @click="closeAmend">
<!-- 修改分公司 -->
<div v-if="isShow == 4">
<el-form :model="amendCompany" ref="amendCompany" label-width="80px">
<el-form-item label="修改原因" style="width:80%">
<el-radio-group v-model="amendCompany.changeStatus" prop="changeStatus">
<el-radio-button label="3">人事调动</el-radio-button>
<el-radio-button label="2">信息修改</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="调动日期" v-show="amendCompany.changeStatus == 3" prop="relTime">
<el-date-picker v-model="amendCompany.relTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
</el-form-item>
<el-form-item label="分公司" prop="companyId">
<el-select v-model="amendCompany.companyId" clearable placeholder="请选择">
<el-option
v-for="item in companyList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-button type="primary" @click="compantBtn">确定</el-button>
<el-button type="primary" @click="amendPop = false">取消</el-button>
</el-form>
</div>
<div v-else-if="isShow == 3">
<el-form :model="amendIdentity" label-width="80px">
<el-form-item label="身份">
<el-select class="filter-item" v-model="amendIdentity.positionId" placeholder="请选择身份" style="width:250px">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in postionsList "
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="变更日期">
<el-date-picker v-model="amendIdentity.relTime" type="datetime" placeholder="选择日期时间" style="width:250px"></el-date-picker>
</el-form-item>
<el-button type="primary" @click="amendIdentityBtn">确定</el-button>
<el-button type="primary" @click="amendPop = false">取消</el-button>
</el-form>
</div>
<div v-else-if="isShow == 5">
<el-form :model="isJobForm" label-width="80px">
<el-form-item :label="amendContent">
<el-date-picker v-model="isJobForm.relTime" type="datetime" placeholder="选择日期时间" style="width:250px"></el-date-picker>
</el-form-item>
<el-button type="primary" @click="isJobBtn(amendContent)">确定</el-button>
<el-button type="primary" @click="amendPop = false">取消</el-button>
</el-form>
</div>
<div v-else-if="isShow == 2">
<el-form :model="position" label-width="80px">
<el-form-item label="职位">
<el-select
class="filter-item"
v-model="position.jobId"
placeholder="请选择职位"
>
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in jobsList "
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="变更日期">
<el-date-picker v-model="position.relTime" type="datetime" placeholder="选择日期时间" style="width:250px"></el-date-picker>
</el-form-item>
<el-button type="primary" @click="positionBtn()">确定</el-button>
<el-button type="primary" @click="amendPop = false">取消</el-button>
</el-form>
</div>
</el-dialog>
<!-- 修改 E -->
<!-- 提示 --> <!-- 提示 -->
<el-dialog title="上传提示" :visible.sync="uploadHiut"> <el-dialog title="上传提示" :visible.sync="uploadHiut">
<p> <p>
...@@ -227,22 +362,28 @@ import { ...@@ -227,22 +362,28 @@ import {
postions, postions,
addEditor, addEditor,
deleteStaffs, deleteStaffs,
jobs,editorUpd jobs,
editorUpd,
findPositionChangeRecord,
updUserChange
} from 'src/api/admin/userManagement/index' } from 'src/api/admin/userManagement/index'
import { getToken } from 'src/utils/auth' import { getToken } from 'src/utils/auth'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { staffImport } from 'src/api/admin/UserMember/index' import { staffImport } from 'src/api/admin/UserMember/index'
import { getAll } from 'api/base_info/branch_company' import { getAll } from 'api/base_info/branch_company'
import { getrewardSetting } from 'api/purseManage'
import { formatDate } from 'utils/dateFormattor'
export default { export default {
created() { created() {
let query = localStorage.getItem("employeesInput"); let query = localStorage.getItem('employeesInput')
if(query !="null" && query){ if (query != 'null' && query) {
this.listQuery = JSON.parse(query); this.listQuery = JSON.parse(query)
} }
this.getList(); this.getList()
this.postionsFn(); this.postionsFn()
this.getAllFn(); this.getAllFn()
this.jobsFn(); this.jobsFn()
this.getRank()
}, },
computed: { computed: {
...mapGetters(['elements']), ...mapGetters(['elements']),
...@@ -256,6 +397,30 @@ export default { ...@@ -256,6 +397,30 @@ export default {
}, },
data() { data() {
return { return {
//职位
position:{
relTime: null, //修改时间
jobId:null,//职位
},
//修改分公司
amendCompany: {
changeStatus: 3,
companyId: null, //公司id
relTime: null //修改时间
},
amendIdentity: {
positionId: null, //身份id
relTime:null,//变更日期
},
//入职离职
isJobForm:{
relTime:null,//变更日期
},
amendPop: false, //修改弹窗
amendContent: '', //修改标题
isShow: '4', //编辑员工弹窗
infoPop: false,
jobsList: [], jobsList: [],
activeId: '', activeId: '',
uploadListHiut: { uploadListHiut: {
...@@ -285,31 +450,155 @@ export default { ...@@ -285,31 +450,155 @@ export default {
tableKey: 0, tableKey: 0,
list: [], list: [],
listLoading: true, listLoading: true,
statusList: [ statusList: [],
{
label: '未核销',
value: '0'
},
{
label: '已核销',
value: '1'
}
],
postionsList: [], postionsList: [],
staffTitle: '新增员工', staffTitle: '新增员工',
bulkUploadMember: false, bulkUploadMember: false,
whether: 1, //1:新增 2:编辑
staffTitleFrom: { staffTitleFrom: {
phone: '', phone: '',
name: '', name: '',
positionId: '', positionId: '',
jobId: '', jobId: '',
companyId: '', companyId: '',
companyName: '' companyName: '',
relTime: null //入职日期
}, },
rules: {} rules: {},
staffInfo: {
info: {},
record:[],
}
} }
}, },
methods: { methods: {
//修改弹窗关闭
closeAmend(){
this.$refs.amendCompany.resetFields();
},
//修改员工弹窗
amend(val) {
this.amendPop = true
if (val == 4) {
this.amendContent = '修改所属公司'
this.isShow = val
this.amendCompany= {
changeStatus: 3,
companyId: null, //公司id
relTime: null //修改时间
}
} else if (val == 3) {
this.amendContent = '修改身份'
this.isShow = val
this.amendIdentity= {
positionId: null, //身份id
relTime:null,//变更日期
}
} else if (val == 5) {
this.amendContent = this.staffTitleFrom.status == '在职' ? '离职时间' : '入职时间'
this.isShow = val
this.isJobForm={
relTime:null,//变更日期
}
}else if(val == 2){
this.amendContent = '职位修改'
this.isShow = val
this.position={
relTime: null, //修改时间
jobId:null,//职位
}
}
},
//公司修改
compantBtn() {
if (!this.amendCompany.companyId) {
this.$message('分公司不能为空')
return false
} else if (this.amendCompany.changeStatus == 3) {
if (!this.amendCompany.relTime) {
this.$message('调动日期不能为空')
return false
} else {
this.amendCompany.relTime = formatDate(this.amendCompany.relTime, 'yyyy-MM-dd hh:mm:ss')
let name = this.companyList.filter(item => item.id == this.amendCompany.companyId)
this.amendCompany.companyName = name[0].name
this.amendCompany.jobId = this.staffTitleFrom.jobId
this.amendCompany.positionId = this.staffTitleFrom.positionId
this.amendCompany.isDel = 0
this.setApi(this.amendCompany)
}
} else {
let name = this.companyList.filter(item => item.id == this.amendCompany.companyId)
this.amendCompany.companyName = name[0].name
this.amendCompany.jobId = this.staffTitleFrom.jobId
this.amendCompany.positionId = this.staffTitleFrom.positionId
this.amendCompany.isDel = 0
this.setApi(this.amendCompany)
}
},
setApi(params){
params.phone = this.staffTitleFrom.phone
params.id = this.staffTitleFrom.id
params.name = this.staffTitleFrom.name
updUserChange(params).then(data => {
if (data.status == 200) {
this.$message.success('编辑成功')
this.amendPop = false;
this.bulkUploadMember = false
this.getList()
}else{
this.$message.error(data.message)
}
})
},
//身份修改
amendIdentityBtn() {
this.amendIdentity.changeStatus = 2
if (!this.amendIdentity.positionId || !this.amendIdentity.relTime ) {
this.$message('身份和变更日期不能为空')
return false
}else{
this.amendIdentity.relTime = formatDate(this.amendIdentity.relTime, 'yyyy-MM-dd hh:mm:ss')
this.amendIdentity.companyName = this.staffTitleFrom.companyName
this.amendIdentity.jobId = this.staffTitleFrom.jobId
this.amendIdentity.companyId = this.staffTitleFrom.companyId
this.amendIdentity.isDel = 0
this.setApi(this.amendIdentity)
}
},
//离职在职
isJobBtn(val){
if(!this.isJobForm.relTime){
this.$message('日期不能为空')
return false
}else{
this.isJobForm.relTime = formatDate(this.isJobForm.relTime, 'yyyy-MM-dd hh:mm:ss')
// val == '离职时间' ? this.isJobForm.job_remark = 5 : this.isJobForm.job_remark = 1
this.isJobForm.companyName = this.staffTitleFrom.companyName
this.isJobForm.positionId = this.staffTitleFrom.positionId
this.isJobForm.companyId = this.staffTitleFrom.companyId
this.isJobForm.isDel = 1
this.isJobForm.changeStatus = 2
this.isJobForm.jobId = this.staffTitleFrom.jobId
this.setApi(this.isJobForm)
}
},
//职位变更
positionBtn(){
if(!this.position.jobId || !this.position.relTime){
this.$message('日期不能为空')
return false
}else{
this.position.changeStatus = 2
this.position.relTime = formatDate(this.position.relTime, 'yyyy-MM-dd hh:mm:ss')
this.position.companyName = this.staffTitleFrom.companyName
this.position.positionId = this.staffTitleFrom.positionId
this.position.companyId = this.staffTitleFrom.companyId
this.position.isDel = 0
this.setApi(this.position)
}
},
handleSelectPark(item) { handleSelectPark(item) {
this.listQuery.companyId = item.id this.listQuery.companyId = item.id
}, },
...@@ -335,13 +624,20 @@ export default { ...@@ -335,13 +624,20 @@ export default {
// 调用 callback 返回建议列表的数据 // 调用 callback 返回建议列表的数据
cb(results) cb(results)
}, },
//获取身份
getRank() {
getrewardSetting().then(data => {
if (data.status == 200) {
this.statusList = data.data
}
})
},
//分公司 //分公司
getAllFn() { getAllFn() {
getAll().then(data => { getAll().then(data => {
if (data.status == 200) { if (data.status == 200) {
this.companyList = data.data; this.companyList = data.data
this.companyList.unshift({name:'全部',id:''}); this.companyList.unshift({ name: '全部', id: '' })
} }
}) })
}, },
...@@ -353,7 +649,8 @@ export default { ...@@ -353,7 +649,8 @@ export default {
positionId: '', positionId: '',
jobId: '', jobId: '',
companyId: '', companyId: '',
companyName: '' companyName: '',
relTime: null
} }
}, },
upLoad(file) { upLoad(file) {
...@@ -426,7 +723,6 @@ export default { ...@@ -426,7 +723,6 @@ export default {
staffList(this.listQuery).then(data => { staffList(this.listQuery).then(data => {
this.listLoading = true this.listLoading = true
if (data.status == 200) { if (data.status == 200) {
console.log(data)
this.list = data.data.data this.list = data.data.data
this.total = data.data.totalCount this.total = data.data.totalCount
this.listLoading = false this.listLoading = false
...@@ -434,24 +730,33 @@ export default { ...@@ -434,24 +730,33 @@ export default {
}) })
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.listQuery.limit = val; this.listQuery.limit = val
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("employeesInput", JSON.stringify(this.listQuery)); localStorage.setItem(
'employeesInput',
JSON.stringify(this.listQuery)
)
} }
this.getList(); this.getList()
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.listQuery.page = val; this.listQuery.page = val
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("employeesInput", JSON.stringify(this.listQuery)); localStorage.setItem(
'employeesInput',
JSON.stringify(this.listQuery)
)
} }
this.getList(); this.getList()
}, },
//搜索 //搜索
handleFilter() { handleFilter() {
this.listQuery.page = 1; this.listQuery.page = 1
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("employeesInput", JSON.stringify(this.listQuery)); localStorage.setItem(
'employeesInput',
JSON.stringify(this.listQuery)
)
} }
this.getList() this.getList()
}, },
...@@ -465,9 +770,12 @@ export default { ...@@ -465,9 +770,12 @@ export default {
limit: 10, limit: 10,
companyId: '', companyId: '',
companyName: '' companyName: ''
}; }
if(this.listQuery){ if (this.listQuery) {
localStorage.setItem("employeesInput", JSON.stringify(this.listQuery)); localStorage.setItem(
'employeesInput',
JSON.stringify(this.listQuery)
)
} }
this.getList() this.getList()
}, },
...@@ -475,6 +783,7 @@ export default { ...@@ -475,6 +783,7 @@ export default {
addStaff() { addStaff() {
this.staffTitle = '新增员工' this.staffTitle = '新增员工'
this.bulkUploadMember = true this.bulkUploadMember = true
this.whether = 1
}, },
//批量导入员工 //批量导入员工
toLoad() { toLoad() {
...@@ -485,43 +794,34 @@ export default { ...@@ -485,43 +794,34 @@ export default {
this.activeId = row.id this.activeId = row.id
this.staffTitle = '编辑员工' this.staffTitle = '编辑员工'
this.bulkUploadMember = true this.bulkUploadMember = true
this.whether = 2
this.staffTitleFrom = { this.staffTitleFrom = {
phone: row.phone, phone: row.phone,
name: row.name, name: row.name,
positionId: row.positionId, positionId: row.positionId,
companyId:row.companyId, companyId: row.companyId,
companyName:row.companyName, companyName: row.companyName,
} relTime: row.relTime,
}, id:row.id,
//删除员工 jobId:row.jobId,
deleteStaff(row) { status: row.status == 1 ? '离职' : '在职'
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteStaffs(row.id).then(data => {
if (data.status == 200) {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '失败',
message: '删除失败',
type: 'failed',
duration: 2000
})
} }
}) },
//员工详情
infoStaff(row) {
this.infoPop = true
this.staffInfo.info = row
console.log(row.phone)
findPositionChangeRecord({ phone: row.phone }).then(data => {
if(data.status == 200){
this.staffInfo.record = data.data
}
}) })
}, },
//确定 //确定
confirm(formName) { confirm(formName) {
if (!!this.staffTitleFrom.relTime) this.staffTitleFrom.relTime = formatDate(this.staffTitleFrom.relTime,'yyyy-MM-dd hh:mm:ss')
if (this.staffTitle == '新增员工') { if (this.staffTitle == '新增员工') {
addEditor(this.staffTitleFrom).then(data => { addEditor(this.staffTitleFrom).then(data => {
if (data.status == 200) { if (data.status == 200) {
...@@ -533,11 +833,11 @@ export default { ...@@ -533,11 +833,11 @@ export default {
}) })
this.bulkUploadMember = false this.bulkUploadMember = false
this.getList() this.getList()
}else { } else {
this.$notify({ this.$notify({
title: '失败', title: '失败',
message: data.message, message: data.message,
type: 'failed', type: 'error',
duration: 2000 duration: 2000
}) })
} }
...@@ -554,7 +854,7 @@ export default { ...@@ -554,7 +854,7 @@ export default {
}) })
this.bulkUploadMember = false this.bulkUploadMember = false
this.getList() this.getList()
}else { } else {
this.$notify({ this.$notify({
title: '失败', title: '失败',
message: data.message, message: data.message,
...@@ -589,6 +889,15 @@ export default { ...@@ -589,6 +889,15 @@ export default {
} }
</script> </script>
<style> <style>
.title {
color: #666;
border-bottom: 1px solid #d9d9d9;
padding-bottom: 10px;
}
.staff-info span {
display: inline-block;
margin: 10px 20px 0 0;
}
.member .el-dialog--small { .member .el-dialog--small {
width: 500px; width: 500px;
} }
......
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