add 增加按钮权限
This commit is contained in:
parent
aef5a02097
commit
61b81f4692
@ -6,7 +6,6 @@ export interface CategoryTreeVO {
|
|||||||
children: CategoryTreeVO[];
|
children: CategoryTreeVO[];
|
||||||
}
|
}
|
||||||
export interface CategoryVO {
|
export interface CategoryVO {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程分类ID
|
* 流程分类ID
|
||||||
*/
|
*/
|
||||||
@ -39,7 +38,6 @@ export interface CategoryVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface CategoryForm extends BaseEntity {
|
export interface CategoryForm extends BaseEntity {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程分类ID
|
* 流程分类ID
|
||||||
*/
|
*/
|
||||||
@ -59,14 +57,11 @@ export interface CategoryForm extends BaseEntity {
|
|||||||
* 显示顺序
|
* 显示顺序
|
||||||
*/
|
*/
|
||||||
orderNum?: number;
|
orderNum?: number;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CategoryQuery {
|
export interface CategoryQuery {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程分类名称
|
* 流程分类名称
|
||||||
*/
|
*/
|
||||||
categoryName?: string;
|
categoryName?: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -29,8 +29,13 @@ export interface FlowTaskVO {
|
|||||||
nodeType: number;
|
nodeType: number;
|
||||||
nodeRatio: string | number;
|
nodeRatio: string | number;
|
||||||
version?: string;
|
version?: string;
|
||||||
|
buttonList?: buttonList[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface buttonList {
|
||||||
|
code: string;
|
||||||
|
show: boolean;
|
||||||
|
}
|
||||||
export interface VariableVo {
|
export interface VariableVo {
|
||||||
key: string;
|
key: string;
|
||||||
value: string;
|
value: string;
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<el-form-item v-if="task.flowStatus === 'waiting'" label="附件">
|
<el-form-item v-if="task.flowStatus === 'waiting'" label="附件">
|
||||||
<fileUpload v-model="form.fileId" :file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']" :file-size="20" />
|
<fileUpload v-model="form.fileId" :file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']" :file-size="20" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="抄送">
|
<el-form-item label="抄送" v-if="task.flowStatus === 'waiting' && buttonObj.copy">
|
||||||
<el-button type="primary" icon="Plus" circle @click="openUserSelectCopy" />
|
<el-button type="primary" icon="Plus" circle @click="openUserSelectCopy" />
|
||||||
<el-tag v-for="user in selectCopyUserList" :key="user.userId" closable style="margin: 2px" @close="handleCopyCloseTag(user)">
|
<el-tag v-for="user in selectCopyUserList" :key="user.userId" closable style="margin: 2px" @close="handleCopyCloseTag(user)">
|
||||||
{{ user.nickName }}
|
{{ user.nickName }}
|
||||||
@ -24,10 +24,14 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
<el-button :disabled="buttonDisabled" type="primary" @click="handleCompleteTask"> 提交 </el-button>
|
<el-button :disabled="buttonDisabled" type="primary" @click="handleCompleteTask"> 提交 </el-button>
|
||||||
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="primary" @click="openDelegateTask"> 委托 </el-button>
|
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.trust" :disabled="buttonDisabled" type="primary" @click="openDelegateTask">
|
||||||
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="primary" @click="openTransferTask"> 转办 </el-button>
|
委托
|
||||||
|
</el-button>
|
||||||
|
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.transfer" :disabled="buttonDisabled" type="primary" @click="openTransferTask">
|
||||||
|
转办
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="task.flowStatus === 'waiting' && Number(task.nodeRatio) > 0"
|
v-if="task.flowStatus === 'waiting' && Number(task.nodeRatio) > 0 && buttonObj.subSign"
|
||||||
:disabled="buttonDisabled"
|
:disabled="buttonDisabled"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openMultiInstanceUser"
|
@click="openMultiInstanceUser"
|
||||||
@ -35,15 +39,24 @@
|
|||||||
加签
|
加签
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="task.flowStatus === 'waiting' && Number(task.nodeRatio) > 0"
|
v-if="task.flowStatus === 'waiting' && Number(task.nodeRatio) > 0 && buttonObj.subSign"
|
||||||
:disabled="buttonDisabled"
|
:disabled="buttonDisabled"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleTaskUser"
|
@click="handleTaskUser"
|
||||||
>
|
>
|
||||||
减签
|
减签
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="danger" @click="handleTerminationTask"> 终止 </el-button>
|
<el-button
|
||||||
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="danger" @click="handleBackProcessOpen"> 退回 </el-button>
|
v-if="task.flowStatus === 'waiting' && buttonObj.termination"
|
||||||
|
:disabled="buttonDisabled"
|
||||||
|
type="danger"
|
||||||
|
@click="handleTerminationTask"
|
||||||
|
>
|
||||||
|
终止
|
||||||
|
</el-button>
|
||||||
|
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.back" :disabled="buttonDisabled" type="danger" @click="handleBackProcessOpen">
|
||||||
|
退回
|
||||||
|
</el-button>
|
||||||
<el-button :disabled="buttonDisabled" @click="cancel">取消</el-button>
|
<el-button :disabled="buttonDisabled" @click="cancel">取消</el-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
@ -72,7 +85,11 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="task.flowStatus === 'waiting'" label="附件">
|
<el-form-item v-if="task.flowStatus === 'waiting'" label="附件">
|
||||||
<fileUpload v-model="backForm.fileId" :file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']" :file-size="20" />
|
<fileUpload
|
||||||
|
v-model="backForm.fileId"
|
||||||
|
:file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'txt', 'pdf']"
|
||||||
|
:file-size="20"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="审批意见">
|
<el-form-item label="审批意见">
|
||||||
<el-input v-model="backForm.message" type="textarea" resize="none" />
|
<el-input v-model="backForm.message" type="textarea" resize="none" />
|
||||||
@ -142,6 +159,10 @@ const backLoading = ref(true);
|
|||||||
const backButtonDisabled = ref(true);
|
const backButtonDisabled = ref(true);
|
||||||
// 可驳回得任务节点
|
// 可驳回得任务节点
|
||||||
const taskNodeList = ref([]);
|
const taskNodeList = ref([]);
|
||||||
|
const buttonObj = ref<any>({
|
||||||
|
code: undefined,
|
||||||
|
show: false
|
||||||
|
});
|
||||||
//任务
|
//任务
|
||||||
const task = ref<FlowTaskVO>({
|
const task = ref<FlowTaskVO>({
|
||||||
id: undefined,
|
id: undefined,
|
||||||
@ -159,7 +180,8 @@ const task = ref<FlowTaskVO>({
|
|||||||
formCustom: undefined,
|
formCustom: undefined,
|
||||||
formPath: undefined,
|
formPath: undefined,
|
||||||
nodeType: undefined,
|
nodeType: undefined,
|
||||||
nodeRatio: undefined
|
nodeRatio: undefined,
|
||||||
|
buttonList: []
|
||||||
});
|
});
|
||||||
const dialog = reactive<DialogOption>({
|
const dialog = reactive<DialogOption>({
|
||||||
visible: false,
|
visible: false,
|
||||||
@ -181,6 +203,7 @@ const backForm = ref<Record<string, any>>({
|
|||||||
variables: {},
|
variables: {},
|
||||||
messageType: ['1']
|
messageType: ['1']
|
||||||
});
|
});
|
||||||
|
|
||||||
//打开弹窗
|
//打开弹窗
|
||||||
const openDialog = (id?: string) => {
|
const openDialog = (id?: string) => {
|
||||||
selectCopyUserIds.value = undefined;
|
selectCopyUserIds.value = undefined;
|
||||||
@ -194,6 +217,10 @@ const openDialog = (id?: string) => {
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
getTask(taskId.value).then((response) => {
|
getTask(taskId.value).then((response) => {
|
||||||
task.value = response.data;
|
task.value = response.data;
|
||||||
|
buttonObj.value = [];
|
||||||
|
task.value.buttonList.forEach((e) => {
|
||||||
|
buttonObj.value[e.code] = e.show;
|
||||||
|
});
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
buttonDisabled.value = false;
|
buttonDisabled.value = false;
|
||||||
});
|
});
|
||||||
@ -208,9 +235,9 @@ const handleCompleteTask = async () => {
|
|||||||
form.value.taskId = taskId.value;
|
form.value.taskId = taskId.value;
|
||||||
form.value.taskVariables = props.taskVariables;
|
form.value.taskVariables = props.taskVariables;
|
||||||
if (selectCopyUserList.value && selectCopyUserList.value.length > 0) {
|
if (selectCopyUserList.value && selectCopyUserList.value.length > 0) {
|
||||||
let flowCopyList = [];
|
const flowCopyList = [];
|
||||||
selectCopyUserList.value.forEach((e) => {
|
selectCopyUserList.value.forEach((e) => {
|
||||||
let copyUser = {
|
const copyUser = {
|
||||||
userId: e.userId,
|
userId: e.userId,
|
||||||
userName: e.nickName
|
userName: e.nickName
|
||||||
};
|
};
|
||||||
@ -239,7 +266,7 @@ const handleBackProcessOpen = async () => {
|
|||||||
backVisible.value = true;
|
backVisible.value = true;
|
||||||
backLoading.value = true;
|
backLoading.value = true;
|
||||||
backButtonDisabled.value = true;
|
backButtonDisabled.value = true;
|
||||||
let data = await getBackTaskNode(task.value.definitionId, task.value.nodeCode);
|
const data = await getBackTaskNode(task.value.definitionId, task.value.nodeCode);
|
||||||
taskNodeList.value = data.data;
|
taskNodeList.value = data.data;
|
||||||
backLoading.value = false;
|
backLoading.value = false;
|
||||||
backButtonDisabled.value = false;
|
backButtonDisabled.value = false;
|
||||||
@ -386,7 +413,7 @@ const handleDelegateTask = async (data) => {
|
|||||||
};
|
};
|
||||||
//终止任务
|
//终止任务
|
||||||
const handleTerminationTask = async () => {
|
const handleTerminationTask = async () => {
|
||||||
let params = {
|
const params = {
|
||||||
taskId: taskId.value,
|
taskId: taskId.value,
|
||||||
comment: form.value.message
|
comment: form.value.message
|
||||||
};
|
};
|
||||||
@ -402,7 +429,7 @@ const handleTerminationTask = async () => {
|
|||||||
proxy?.$modal.msgSuccess('操作成功');
|
proxy?.$modal.msgSuccess('操作成功');
|
||||||
};
|
};
|
||||||
const handleTaskUser = async () => {
|
const handleTaskUser = async () => {
|
||||||
let data = await currentTaskAllUser(taskId.value);
|
const data = await currentTaskAllUser(taskId.value);
|
||||||
deleteUserList.value = data.data;
|
deleteUserList.value = data.data;
|
||||||
if (deleteUserList.value && deleteUserList.value.length > 0) {
|
if (deleteUserList.value && deleteUserList.value.length > 0) {
|
||||||
deleteUserList.value.forEach((e) => {
|
deleteUserList.value.forEach((e) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user