add 增加按钮权限

This commit is contained in:
gssong 2025-03-01 23:46:46 +08:00
parent aef5a02097
commit 61b81f4692
3 changed files with 46 additions and 19 deletions

View File

@ -6,7 +6,6 @@ export interface CategoryTreeVO {
children: CategoryTreeVO[];
}
export interface CategoryVO {
/**
* ID
*/
@ -39,7 +38,6 @@ export interface CategoryVO {
}
export interface CategoryForm extends BaseEntity {
/**
* ID
*/
@ -59,14 +57,11 @@ export interface CategoryForm extends BaseEntity {
*
*/
orderNum?: number;
}
export interface CategoryQuery {
/**
*
*/
categoryName?: string;
}

View File

@ -29,8 +29,13 @@ export interface FlowTaskVO {
nodeType: number;
nodeRatio: string | number;
version?: string;
buttonList?: buttonList[];
}
export interface buttonList {
code: string;
show: boolean;
}
export interface VariableVo {
key: string;
value: string;

View File

@ -11,7 +11,7 @@
<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" />
</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-tag v-for="user in selectCopyUserList" :key="user.userId" closable style="margin: 2px" @close="handleCopyCloseTag(user)">
{{ user.nickName }}
@ -24,10 +24,14 @@
<template #footer>
<span class="dialog-footer">
<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'" :disabled="buttonDisabled" type="primary" @click="openTransferTask"> 转办 </el-button>
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.trust" :disabled="buttonDisabled" type="primary" @click="openDelegateTask">
委托
</el-button>
<el-button v-if="task.flowStatus === 'waiting' && buttonObj.transfer" :disabled="buttonDisabled" type="primary" @click="openTransferTask">
转办
</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"
type="primary"
@click="openMultiInstanceUser"
@ -35,15 +39,24 @@
加签
</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"
type="primary"
@click="handleTaskUser"
>
减签
</el-button>
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="danger" @click="handleTerminationTask"> 终止 </el-button>
<el-button v-if="task.flowStatus === 'waiting'" :disabled="buttonDisabled" type="danger" @click="handleBackProcessOpen"> 退回 </el-button>
<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>
</span>
</template>
@ -72,7 +85,11 @@
</el-checkbox-group>
</el-form-item>
<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 label="审批意见">
<el-input v-model="backForm.message" type="textarea" resize="none" />
@ -142,6 +159,10 @@ const backLoading = ref(true);
const backButtonDisabled = ref(true);
//
const taskNodeList = ref([]);
const buttonObj = ref<any>({
code: undefined,
show: false
});
//
const task = ref<FlowTaskVO>({
id: undefined,
@ -159,7 +180,8 @@ const task = ref<FlowTaskVO>({
formCustom: undefined,
formPath: undefined,
nodeType: undefined,
nodeRatio: undefined
nodeRatio: undefined,
buttonList: []
});
const dialog = reactive<DialogOption>({
visible: false,
@ -181,6 +203,7 @@ const backForm = ref<Record<string, any>>({
variables: {},
messageType: ['1']
});
//
const openDialog = (id?: string) => {
selectCopyUserIds.value = undefined;
@ -194,6 +217,10 @@ const openDialog = (id?: string) => {
nextTick(() => {
getTask(taskId.value).then((response) => {
task.value = response.data;
buttonObj.value = [];
task.value.buttonList.forEach((e) => {
buttonObj.value[e.code] = e.show;
});
loading.value = false;
buttonDisabled.value = false;
});
@ -208,9 +235,9 @@ const handleCompleteTask = async () => {
form.value.taskId = taskId.value;
form.value.taskVariables = props.taskVariables;
if (selectCopyUserList.value && selectCopyUserList.value.length > 0) {
let flowCopyList = [];
const flowCopyList = [];
selectCopyUserList.value.forEach((e) => {
let copyUser = {
const copyUser = {
userId: e.userId,
userName: e.nickName
};
@ -239,7 +266,7 @@ const handleBackProcessOpen = async () => {
backVisible.value = true;
backLoading.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;
backLoading.value = false;
backButtonDisabled.value = false;
@ -386,7 +413,7 @@ const handleDelegateTask = async (data) => {
};
//
const handleTerminationTask = async () => {
let params = {
const params = {
taskId: taskId.value,
comment: form.value.message
};
@ -402,7 +429,7 @@ const handleTerminationTask = async () => {
proxy?.$modal.msgSuccess('操作成功');
};
const handleTaskUser = async () => {
let data = await currentTaskAllUser(taskId.value);
const data = await currentTaskAllUser(taskId.value);
deleteUserList.value = data.data;
if (deleteUserList.value && deleteUserList.value.length > 0) {
deleteUserList.value.forEach((e) => {