|
@@ -5,6 +5,23 @@
|
|
<el-form-item prop="rosterBaseDTO.name">
|
|
<el-form-item prop="rosterBaseDTO.name">
|
|
<el-input size="small" v-model="searchForm.rosterBaseDTO.name" placeholder="姓名" clearable></el-input>
|
|
<el-input size="small" v-model="searchForm.rosterBaseDTO.name" placeholder="姓名" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item prop="rosterBaseDTO.officeId">
|
|
|
|
+ <SelectTree
|
|
|
|
+ ref="officeTree"
|
|
|
|
+ :props="{
|
|
|
|
+ value: 'id', // ID字段名
|
|
|
|
+ label: 'name', // 显示名称
|
|
|
|
+ children: 'children' // 子级字段名
|
|
|
|
+ }"
|
|
|
|
+ :url="`/sys/office/treeData?type=2`"
|
|
|
|
+ :value="searchForm.rosterBaseDTO.officeId"
|
|
|
|
+ :clearable="true"
|
|
|
|
+ :accordion="true"
|
|
|
|
+ @getValue="(value) => {searchForm.rosterBaseDTO.officeId=value}"/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item prop="rosterBaseDTO.mobile">
|
|
|
|
+ <el-input size="small" v-model="searchForm.rosterBaseDTO.mobile" placeholder="手机号" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
|
|
<el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
|
|
<el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
|
|
<el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
|
|
@@ -47,29 +64,47 @@
|
|
</vxe-column>
|
|
</vxe-column>
|
|
<vxe-column width="120" title="离职审批" field="vettingStatus">
|
|
<vxe-column width="120" title="离职审批" field="vettingStatus">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button v-if="scope.row.vettingStatus === '4'" type="primary" @click="auditDetail(scope.row)" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-if="scope.row.vettingStatus === '4'" type="primary" @click="auditDetail(scope.row)" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else-if="scope.row.vettingStatus === '6'" type="success" @click="auditDetail(scope.row)" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else-if="scope.row.vettingStatus === '7'" type="warning" @click="auditDetail(scope.row)" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else-if="scope.row.vettingStatus === '2'" type="info" size="mini" plain>
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else-if="scope.row.vettingStatus === '6'" type="success" @click="auditDetail(scope.row)" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else-if="scope.row.vettingStatus === '3'" type="info" size="mini">
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else-if="scope.row.vettingStatus === '2'" type="warning" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else-if="scope.row.vettingStatus === '5'" type="danger" @click="auditDetail(scope.row)" size="mini">
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else size="mini">
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
{{$dictUtils.getDictLabel("vetting_status", scope.row.vettingStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
</vxe-column>
|
|
</vxe-column>
|
|
<vxe-column width="120" title="离职交接" field="handoverStatus">
|
|
<vxe-column width="120" title="离职交接" field="handoverStatus">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button v-if="scope.row.handoverStatus === '3'" type="primary" @click="handoverDetail(scope.row)" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-if="scope.row.handoverStatus === '3'" type="primary" @click="handoverDetail(scope.row)" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else-if="scope.row.handoverStatus === '4'" type="success" @click="handoverDetail(scope.row)" size="mini">
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else-if="scope.row.handoverStatus === '4'" type="success" @click="handoverDetail(scope.row)" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else-if="scope.row.handoverStatus === '6'" type="warning" @click="handoverDetail(scope.row)" size="mini">
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else-if="scope.row.handoverStatus === '2'" type="info" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else-if="scope.row.handoverStatus === '5'" type="danger" @click="handoverDetail(scope.row)" size="mini">
|
|
|
|
+ {{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button v-else size="mini">
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
{{$dictUtils.getDictLabel('handover_status', scope.row.handoverStatus, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
|
|
|
|
@@ -77,10 +112,10 @@
|
|
</vxe-column>
|
|
</vxe-column>
|
|
<vxe-column width="120" title="离职状态" field="status">
|
|
<vxe-column width="120" title="离职状态" field="status">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button v-if="scope.row.status === '2'" type="success" size="mini" plain>
|
|
|
|
|
|
+ <el-button v-if="scope.row.status === '2'" type="success" size="mini">
|
|
{{$dictUtils.getDictLabel('dimission_status', scope.row.status, '-')}}
|
|
{{$dictUtils.getDictLabel('dimission_status', scope.row.status, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-else size="mini" plain>
|
|
|
|
|
|
+ <el-button v-else size="mini">
|
|
{{$dictUtils.getDictLabel('dimission_status', scope.row.status, '-')}}
|
|
{{$dictUtils.getDictLabel('dimission_status', scope.row.status, '-')}}
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
@@ -145,34 +180,47 @@
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
(scope.row.handoverStatus === '1'&&scope.row.status === '2')||
|
|
(scope.row.handoverStatus === '1'&&scope.row.status === '2')||
|
|
(scope.row.handoverStatus === '2'&&scope.row.status === '2')||
|
|
(scope.row.handoverStatus === '2'&&scope.row.status === '2')||
|
|
- (scope.row.handoverStatus === '5'&&scope.row.status === '2')"
|
|
|
|
|
|
+ (scope.row.handoverStatus === '5'&&scope.row.status === '2')||
|
|
|
|
+ (scope.row.handoverStatus === '6'&&scope.row.status === '2')"
|
|
:command="{method:'removeSure', row:scope.row}">
|
|
:command="{method:'removeSure', row:scope.row}">
|
|
取消确认
|
|
取消确认
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
scope.row.status === '2'&&
|
|
scope.row.status === '2'&&
|
|
- scope.row.handoverStatus === '1'||scope.row.handoverStatus === '2'||scope.row.handoverStatus === '5'"
|
|
|
|
|
|
+ scope.row.handoverStatus === '1'||scope.row.handoverStatus === '2'||scope.row.handoverStatus === '5'||scope.row.handoverStatus === '6'"
|
|
:command="{method:'handover', row:scope.row}">
|
|
:command="{method:'handover', row:scope.row}">
|
|
- 发起工作交接审批
|
|
|
|
|
|
+ {{scope.row.handoverStatus === '1'?'发起工作交接审批':'修改工作交接审批'}}
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
scope.row.status === '2'&&
|
|
scope.row.status === '2'&&
|
|
- scope.row.handoverStatus === '3'||scope.row.handoverStatus === '4'"
|
|
|
|
|
|
+ (scope.row.handoverStatus === '3'||scope.row.handoverStatus === '4'||scope.row.handoverStatus === '5'||scope.row.handoverStatus === '6')"
|
|
:command="{method:'handoverDetail', row:scope.row}">
|
|
:command="{method:'handoverDetail', row:scope.row}">
|
|
工作交接审批结果
|
|
工作交接审批结果
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
|
|
+ <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
|
|
+ scope.row.status === '2'&&
|
|
|
|
+ scope.row.handoverStatus === '3'"
|
|
|
|
+ :command="{method:'handoverReback', row:scope.row}">
|
|
|
|
+ 撤销工作交接审批
|
|
|
|
+ </el-dropdown-item>
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:edit')&&
|
|
(scope.row.status === '1'&&scope.row.vettingStatus === '1')||
|
|
(scope.row.status === '1'&&scope.row.vettingStatus === '1')||
|
|
(scope.row.status === '1'&&scope.row.vettingStatus === '3')||
|
|
(scope.row.status === '1'&&scope.row.vettingStatus === '3')||
|
|
- (scope.row.status === '1'&&scope.row.vettingStatus === '5')"
|
|
|
|
|
|
+ (scope.row.status === '1'&&scope.row.vettingStatus === '5')||
|
|
|
|
+ (scope.row.status === '1'&&scope.row.vettingStatus === '7')"
|
|
:command="{method:'audit', row:scope.row}">
|
|
:command="{method:'audit', row:scope.row}">
|
|
- 发起离职审批
|
|
|
|
|
|
+ {{scope.row.vettingStatus === '1'?'发起离职审批':'修改离职审批'}}
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
<el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
- (scope.row.vettingStatus === '4'||scope.row.vettingStatus === '6')"
|
|
|
|
|
|
+ (scope.row.vettingStatus === '4'||scope.row.vettingStatus === '5'||scope.row.vettingStatus === '6'||scope.row.vettingStatus === '7')"
|
|
:command="{method:'auditDetail', row:scope.row}">
|
|
:command="{method:'auditDetail', row:scope.row}">
|
|
离职审批结果
|
|
离职审批结果
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
|
|
+ <el-dropdown-item v-if="hasPermission('changes:dimission:view')&&
|
|
|
|
+ (scope.row.vettingStatus === '4')"
|
|
|
|
+ :command="{method:'auditReback', row:scope.row}">
|
|
|
|
+ 撤销离职审批
|
|
|
|
+ </el-dropdown-item>
|
|
</el-dropdown-menu>
|
|
</el-dropdown-menu>
|
|
</el-dropdown>
|
|
</el-dropdown>
|
|
</template>
|
|
</template>
|
|
@@ -203,13 +251,16 @@
|
|
import TaskService from '@/api/flowable/TaskService'
|
|
import TaskService from '@/api/flowable/TaskService'
|
|
import ProcessService from '@/api/flowable/ProcessService'
|
|
import ProcessService from '@/api/flowable/ProcessService'
|
|
import DimissionHandoverService from '@/api/changes/dimission/DimissionHandoverService'
|
|
import DimissionHandoverService from '@/api/changes/dimission/DimissionHandoverService'
|
|
|
|
+ import SelectTree from '@/components/treeSelect/treeSelect.vue'
|
|
import pick from 'lodash.pick'
|
|
import pick from 'lodash.pick'
|
|
export default {
|
|
export default {
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
searchForm: {
|
|
searchForm: {
|
|
rosterBaseDTO: {
|
|
rosterBaseDTO: {
|
|
- name: ''
|
|
|
|
|
|
+ name: '',
|
|
|
|
+ officeId: '',
|
|
|
|
+ mobile: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
dataList: [],
|
|
dataList: [],
|
|
@@ -243,7 +294,8 @@
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
DimissionForm,
|
|
DimissionForm,
|
|
- DimissionHandoverFormDialog
|
|
|
|
|
|
+ DimissionHandoverFormDialog,
|
|
|
|
+ SelectTree
|
|
},
|
|
},
|
|
activated () {
|
|
activated () {
|
|
this.refreshList()
|
|
this.refreshList()
|
|
@@ -346,17 +398,33 @@
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: '/flowable/task/TaskFormDetail',
|
|
path: '/flowable/task/TaskFormDetail',
|
|
query: {
|
|
query: {
|
|
|
|
+ status: 'reback',
|
|
isShow: 'false',
|
|
isShow: 'false',
|
|
readOnly: true,
|
|
readOnly: true,
|
|
title: '离职归档交接审批' + '流程详情',
|
|
title: '离职归档交接审批' + '流程详情',
|
|
formTitle: '离职归档交接审批' + '流程详情',
|
|
formTitle: '离职归档交接审批' + '流程详情',
|
|
businessId: row.id,
|
|
businessId: row.id,
|
|
- ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId')
|
|
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'title', 'businessId')
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 撤回工作交接审批
|
|
|
|
+ handoverReback (row) {
|
|
|
|
+ this.$confirm(`确定要撤回该申请吗?`, '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ this.processService.revokeProcIns(row.procInsId).then(({data}) => {
|
|
|
|
+ let form = {handoverStatus: '6', id: row.id}
|
|
|
|
+ this.dimissionHandoverService.updateStatusById(form)
|
|
|
|
+ this.$message.success(data)
|
|
|
|
+ this.refreshList()
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
// 发起离职审批
|
|
// 发起离职审批
|
|
audit (row) {
|
|
audit (row) {
|
|
// 读取流程表单
|
|
// 读取流程表单
|
|
@@ -399,12 +467,28 @@
|
|
title: '离职审批' + '流程详情',
|
|
title: '离职审批' + '流程详情',
|
|
formTitle: '离职审批' + '流程详情',
|
|
formTitle: '离职审批' + '流程详情',
|
|
businessId: row.id,
|
|
businessId: row.id,
|
|
- ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId')
|
|
|
|
|
|
+ status: 'reback',
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'title', 'businessId')
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 撤回离职审批
|
|
|
|
+ auditReback (row) {
|
|
|
|
+ this.$confirm(`确定要撤回该申请吗?`, '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ this.processService.revokeProcIns(row.changesDimissionAuditDTO.procInsId).then(({data}) => {
|
|
|
|
+ let form = {vettingStatus: '7', id: row.id}
|
|
|
|
+ this.dimissionService.updateVettingStatusById(form)
|
|
|
|
+ this.$message.success(data)
|
|
|
|
+ this.refreshList()
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
// 删除
|
|
// 删除
|
|
del (id) {
|
|
del (id) {
|
|
let ids = id || this.$refs.dimissionTable.getCheckboxRecords().map(item => {
|
|
let ids = id || this.$refs.dimissionTable.getCheckboxRecords().map(item => {
|
|
@@ -457,6 +541,10 @@
|
|
this.audit(command.row)
|
|
this.audit(command.row)
|
|
} else if (command.method === 'auditDetail') {
|
|
} else if (command.method === 'auditDetail') {
|
|
this.auditDetail(command.row)
|
|
this.auditDetail(command.row)
|
|
|
|
+ } else if (command.method === 'auditReback') {
|
|
|
|
+ this.auditReback(command.row)
|
|
|
|
+ } else if (command.method === 'handoverReback') {
|
|
|
|
+ this.handoverReback(command.row)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
async removeSure (row) {
|
|
async removeSure (row) {
|