diff --git a/src/views/wf/myticket.vue b/src/views/wf/myticket.vue index c6873ab2..2e915692 100644 --- a/src/views/wf/myticket.vue +++ b/src/views/wf/myticket.vue @@ -218,12 +218,24 @@ export default { this.getWfOptions(); }, methods: { - getWfOptions() { + async getWfOptions() { let permissions = this.$TOOL.data.get("PERMISSIONS"); + let userInfo = this.$TOOL.data.get("USER_INFO"); + let isDeptHead = false; + try { + const userPosts = await this.$API.system.userPost.list.req({ user: userInfo.id, page: 0 }); + isDeptHead = (userPosts || []).some(up => up.post_ && up.post_.name === "部门负责人"); + } catch (e) { + console.error("获取用户岗位失败:", e); + } + const restrictedKeys = { wf_leave: isDeptHead }; const groups = {}; this.$API.wf.workflow.list.req({ page: 0 }).then((res) => { res.forEach((item) => { if(item.key && permissions.includes(item.key)) { + if (item.key in restrictedKeys && !restrictedKeys[item.key]) { + return; + } let cate = item.cate; if (!cate){cate="未分组"} if (!groups[cate]) {