权限相关调整
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
>
|
||||
<template #tableHeader>
|
||||
<div class="task-table-toolbar">
|
||||
<el-button type="primary" icon="Plus" @click="openCreate">
|
||||
<el-button v-auth="'onboardingTaskCreate'" type="primary" icon="Plus" @click="openCreate">
|
||||
发起入职任务
|
||||
</el-button>
|
||||
<div class="task-metric-filters">
|
||||
@@ -63,59 +63,77 @@
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskVariableEdit'"
|
||||
v-if="['pending_fill', 'rejected'].includes(scope.row.taskStatus)"
|
||||
link
|
||||
type="primary"
|
||||
icon="Setting"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="openContractVariables(scope.row)"
|
||||
>
|
||||
签署材料参数
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskCopy'"
|
||||
link
|
||||
type="success"
|
||||
icon="CopyDocument"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="openCopyTask(scope.row)"
|
||||
>
|
||||
复制任务
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskLink'"
|
||||
v-if="['pending_fill', 'rejected'].includes(scope.row.taskStatus)"
|
||||
link
|
||||
type="warning"
|
||||
icon="CopyDocument"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="copyOrShareTaskLink(scope.row)"
|
||||
>
|
||||
复制链接
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskAudit'"
|
||||
v-if="scope.row.taskStatus === 'reviewing'"
|
||||
link
|
||||
type="success"
|
||||
icon="Check"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="approve(scope.row)"
|
||||
>
|
||||
通过
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskAudit'"
|
||||
v-if="scope.row.taskStatus === 'reviewing'"
|
||||
link
|
||||
type="danger"
|
||||
icon="Close"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="reject(scope.row)"
|
||||
>
|
||||
退回
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskArchive'"
|
||||
v-if="scope.row.taskStatus === 'approved'"
|
||||
link
|
||||
type="info"
|
||||
icon="FolderChecked"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="archive(scope.row)"
|
||||
>
|
||||
归档
|
||||
@@ -132,20 +150,26 @@
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskRevoke'"
|
||||
v-if="['pending_fill', 'reviewing', 'rejected'].includes(scope.row.taskStatus)"
|
||||
link
|
||||
type="danger"
|
||||
icon="Delete"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="revoke(scope.row)"
|
||||
>
|
||||
撤销
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskDelete'"
|
||||
v-if="scope.row.taskStatus === 'revoked'"
|
||||
link
|
||||
type="danger"
|
||||
icon="Delete"
|
||||
:disabled="!canManage(scope.row)"
|
||||
:title="disabledReason(scope.row)"
|
||||
@click="removeTask(scope.row)"
|
||||
>
|
||||
删除
|
||||
@@ -813,19 +837,23 @@
|
||||
|
||||
<div v-if="detail.task.taskStatus === 'reviewing'" class="review-btn-group">
|
||||
<el-button
|
||||
v-auth="'onboardingTaskMaterialReview'"
|
||||
size="small"
|
||||
type="success"
|
||||
plain
|
||||
:disabled="item.reviewStatus === 'passed'"
|
||||
:disabled="item.reviewStatus === 'passed' || !canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="reviewMaterial(item.id, 'passed')"
|
||||
>
|
||||
合格
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskMaterialReview'"
|
||||
size="small"
|
||||
type="danger"
|
||||
plain
|
||||
:disabled="item.reviewStatus === 'need_supplement'"
|
||||
:disabled="item.reviewStatus === 'need_supplement' || !canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="reviewMaterial(item.id, 'need_supplement')"
|
||||
>
|
||||
需补充
|
||||
@@ -854,11 +882,14 @@
|
||||
</div>
|
||||
<div class="contract-right">
|
||||
<el-button
|
||||
v-auth="'onboardingTaskContractGenerate'"
|
||||
v-if="!item.generatedDocxFileId"
|
||||
type="primary"
|
||||
plain
|
||||
size="small"
|
||||
icon="DocumentChecked"
|
||||
:disabled="!canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="generate(item.id)"
|
||||
>
|
||||
生成DOCX签署材料
|
||||
@@ -911,25 +942,34 @@
|
||||
<div v-if="detail" class="drawer-footer-actions">
|
||||
<div class="drawer-footer-right">
|
||||
<el-button
|
||||
v-auth="'onboardingTaskAudit'"
|
||||
v-if="detail.task.taskStatus === 'reviewing'"
|
||||
type="danger"
|
||||
icon="Close"
|
||||
:disabled="!canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="reject(detail.task)"
|
||||
>
|
||||
退回修改
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskAudit'"
|
||||
v-if="detail.task.taskStatus === 'reviewing'"
|
||||
type="success"
|
||||
icon="Check"
|
||||
:disabled="!canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="approve(detail.task)"
|
||||
>
|
||||
审核通过并建档
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskArchive'"
|
||||
v-if="detail.task.taskStatus === 'approved'"
|
||||
type="info"
|
||||
icon="FolderChecked"
|
||||
:disabled="!canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="archive(detail.task)"
|
||||
>
|
||||
归档该任务
|
||||
@@ -943,9 +983,12 @@
|
||||
电子签约
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskDelete'"
|
||||
v-if="detail.task.taskStatus === 'revoked'"
|
||||
type="danger"
|
||||
icon="Delete"
|
||||
:disabled="!canManage(detail.task)"
|
||||
:title="disabledReason(detail.task)"
|
||||
@click="removeTask(detail.task)"
|
||||
>
|
||||
删除该任务
|
||||
@@ -1014,9 +1057,12 @@
|
||||
</div>
|
||||
|
||||
<el-button
|
||||
v-auth="'onboardingTaskVariableEdit'"
|
||||
type="primary"
|
||||
size="small"
|
||||
icon="Check"
|
||||
:disabled="!canManage(contractVariableTask)"
|
||||
:title="disabledReason(contractVariableTask)"
|
||||
@click="saveContractVariables(group)"
|
||||
>
|
||||
保存《{{ group.contractName }}》参数
|
||||
@@ -1096,7 +1142,15 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer-flex">
|
||||
<el-button @click="contractVariablesVisible = false">关闭</el-button>
|
||||
<el-button type="primary" icon="Check" :loading="savingAllVars" @click="saveAllContractVariables">
|
||||
<el-button
|
||||
v-auth="'onboardingTaskVariableEdit'"
|
||||
type="primary"
|
||||
icon="Check"
|
||||
:loading="savingAllVars"
|
||||
:disabled="!canManage(contractVariableTask)"
|
||||
:title="disabledReason(contractVariableTask)"
|
||||
@click="saveAllContractVariables"
|
||||
>
|
||||
一键保存全部签署材料参数
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -1277,7 +1331,14 @@
|
||||
: '链接尚未生成或已过期,点击下方按钮自动刷新' }}
|
||||
</div>
|
||||
</div>
|
||||
<el-button type="primary" plain @click="copyElectronicSignLink">
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
type="primary"
|
||||
plain
|
||||
:disabled="!canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="copyElectronicSignLink"
|
||||
>
|
||||
获取并复制链接
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -1329,10 +1390,12 @@
|
||||
<div class="electronic-sign-footer">
|
||||
<div>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="electronicSignDetail?.hasProcess && canInvalidElectronicSign"
|
||||
type="danger"
|
||||
plain
|
||||
:disabled="electronicSignLoading"
|
||||
:disabled="electronicSignLoading || !canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="invalidElectronicSign"
|
||||
>
|
||||
作废流程
|
||||
@@ -1341,27 +1404,34 @@
|
||||
<div>
|
||||
<el-button @click="electronicSignVisible = false">关闭</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="electronicSignDetail?.hasProcess && electronicSignDetail.signStatus === 'pending_employee_sign'"
|
||||
:disabled="electronicSignLoading"
|
||||
:disabled="electronicSignLoading || !canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="noticeElectronicSign"
|
||||
>
|
||||
催签
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="electronicSignDetail?.hasProcess && electronicSignDetail.providerContractId"
|
||||
:loading="electronicSignLoading"
|
||||
:disabled="!canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="syncElectronicSign"
|
||||
>
|
||||
同步状态
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="
|
||||
electronicSignDetail?.hasProcess
|
||||
&& electronicSignDetail.signStatus === 'pending_company_seal'
|
||||
"
|
||||
type="primary"
|
||||
:loading="electronicSignLoading"
|
||||
:disabled="!allEmployeeSignedDocumentsPreviewed"
|
||||
:disabled="!allEmployeeSignedDocumentsPreviewed || !canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="confirmCompanySeal"
|
||||
>
|
||||
确认企业盖章
|
||||
@@ -1374,20 +1444,24 @@
|
||||
下载完整归档
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="electronicSignDetail?.canReinitiate"
|
||||
type="warning"
|
||||
plain
|
||||
:loading="electronicSignLoading"
|
||||
:disabled="!electronicSignDetail.documents.length"
|
||||
:disabled="!electronicSignDetail.documents.length || !canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="reinitiateElectronicSign"
|
||||
>
|
||||
重新发起签约
|
||||
</el-button>
|
||||
<el-button
|
||||
v-auth="'onboardingTaskElectronicSign'"
|
||||
v-if="electronicSignDetail?.canInitiate"
|
||||
type="primary"
|
||||
:loading="electronicSignLoading"
|
||||
:disabled="!electronicSignDetail.documents.length"
|
||||
:disabled="!electronicSignDetail.documents.length || !canManage(electronicSignTask)"
|
||||
:title="disabledReason(electronicSignTask)"
|
||||
@click="initiateElectronicSign"
|
||||
>
|
||||
{{ electronicSignDetail.hasProcess ? '继续/重试发起' : '确认发起电子签' }}
|
||||
@@ -1434,6 +1508,9 @@ import {
|
||||
} from "@/api/modules/biz/onboarding";
|
||||
import type { ColumnProps, ProTableInstance } from "@/components/ProTable/interface";
|
||||
import { getMessageBoxPromptResult, isMessageBoxConfirmed } from "@/utils/messageBox";
|
||||
import { useOnboardingPermission } from "@/utils/onboardingPermission";
|
||||
|
||||
const { canManage, disabledReason } = useOnboardingPermission("onboardingTaskManageAll");
|
||||
|
||||
const proTable = ref<ProTableInstance>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user