From c2d73d36f018bbbe2393357f32b548113b09d3ae Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 13 二月 2025 21:28:08 +0800 Subject: [PATCH] 流程日志组件、转办的用户、部门查询使用无数据权限的 --- src/api/system/user.js | 19 ++++++ src/api/flowLog/flowLog.js | 12 ++++ src/assets/nodata.png | 0 src/components/flow/User/MultUser.vue | 6 +- src/components/flow/User/SingleUser.vue | 6 +- src/views/projectProcess/components/LogView.vue | 107 +++++++++++++++++++++++++++++++++++ 6 files changed, 144 insertions(+), 6 deletions(-) diff --git a/src/api/flowLog/flowLog.js b/src/api/flowLog/flowLog.js new file mode 100644 index 0000000..2d7937f --- /dev/null +++ b/src/api/flowLog/flowLog.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +// 鑾峰彇娴佺▼鎺ㄨ繘鏃ュ織 +export const getProjectProcessLog = (params) => { + return request({ + url: "/flow-log/project-process/log", + method: "GET", + params: params + }) +} + + diff --git a/src/api/system/user.js b/src/api/system/user.js index 711b43e..3200d46 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -10,6 +10,16 @@ }) } +// 鏌ヨ鐢ㄦ埛鍒楄〃 鏃犳暟鎹潈闄� +export function listUserNoAuth(query) { + return request({ + url: '/system/user/list/no-data-auth', + method: 'get', + params: query + }) +} + + // 鏌ヨ鐢ㄦ埛璇︾粏 export function getUser(userId) { return request({ @@ -134,6 +144,15 @@ }) } +// 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� 鏃犳暟鎹潈闄� +export function deptTreeSelectNoAuth() { + return request({ + url: '/system/user/deptTree/no-data-auth', + method: 'get' + }) +} + + // 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋�(flowable涓撶敤) export function flowableDeptTreeSelect() { return request({ diff --git a/src/assets/nodata.png b/src/assets/nodata.png new file mode 100644 index 0000000..929ed31 --- /dev/null +++ b/src/assets/nodata.png Binary files differ diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue index 00406bb..58971e8 100644 --- a/src/components/flow/User/MultUser.vue +++ b/src/components/flow/User/MultUser.vue @@ -81,7 +81,7 @@ </template> <script> -import { listUser, deptTreeSelect } from "@/api/system/user"; +import {listUser, deptTreeSelect, deptTreeSelectNoAuth, listUserNoAuth} from "@/api/system/user"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import {StrUtil} from '@/utils/StrUtil' @@ -176,7 +176,7 @@ /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { this.loading = true; - listUser(this.queryParams).then(response => { + listUserNoAuth(this.queryParams).then(response => { this.userList = response.rows; this.total = response.total; this.loading = false; @@ -185,7 +185,7 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { - deptTreeSelect().then(response => { + deptTreeSelectNoAuth().then(response => { this.deptOptions = response.data; }); }, diff --git a/src/components/flow/User/SingleUser.vue b/src/components/flow/User/SingleUser.vue index d779e71..401c561 100644 --- a/src/components/flow/User/SingleUser.vue +++ b/src/components/flow/User/SingleUser.vue @@ -80,7 +80,7 @@ </template> <script> -import { listUser, deptTreeSelect } from "@/api/system/user"; +import {listUser, deptTreeSelect, deptTreeSelectNoAuth, listUserNoAuth} from "@/api/system/user"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import {StrUtil} from '@/utils/StrUtil' @@ -172,7 +172,7 @@ /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { this.loading = true; - listUser(this.queryParams).then(response => { + listUserNoAuth(this.queryParams).then(response => { this.userList = response.rows; this.total = response.total; this.loading = false; @@ -181,7 +181,7 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { - deptTreeSelect().then(response => { + deptTreeSelectNoAuth().then(response => { this.deptOptions = response.data; }); }, diff --git a/src/views/projectProcess/components/LogView.vue b/src/views/projectProcess/components/LogView.vue new file mode 100644 index 0000000..0b70921 --- /dev/null +++ b/src/views/projectProcess/components/LogView.vue @@ -0,0 +1,107 @@ +<template> + <div> + <div v-if="logList && logList.length > 0"> + <div class="log-warp" v-for="log in logList" :key="'log' + log.id"> + <div v-if="log.eventType === 'FINISHED'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + 瀹屾垚浜嗕换鍔� + <span class="tag taskName">{{log.taskName}}</span> + </div> + </div> + <div v-else-if="log.eventType === 'REJECT'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + 椹冲洖浜嗕换鍔� + <span class="tag taskName">{{log.taskName}}</span> + </div> + <div>椹冲洖鍘熷洜</div> + </div> + <div v-else-if="log.eventType === 'DELEGATE'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + 灏嗕换鍔� + <span class="tag taskName">{{log.taskName}}</span> + <span class="tag op">杞姙</span> + 缁欎簡璋佽皝璋� + </div> + </div> + <div v-else-if="log.eventType === 'JUMP'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + <span class="tag op">璺宠繃</span> + 浜嗕换鍔� + <span class="tag taskName">{{log.taskName}}</span> + </div> + <div>璺宠繃璇存槑</div> + </div> + <div v-else-if="log.eventType === 'SUPERVISE'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + <span class="tag op">鐫e姙</span> + 浜嗕换鍔� + <span class="tag taskName">{{log.taskName}}</span> + </div> + </div> + <div v-else-if="log.eventType === 'TEAM_WORK'"> + <div> + <span class="tag name">{{log.nickName}}</span> + 鍦� + <span class="tag time">{{log.gmtCreate}}</span> + 閭�璇蜂簡璋佽皝璋� + <span class="tag op">鍗忓悓鍔炵悊</span> + <span class="tag taskName">{{log.taskName}}</span> + </div> + </div> + </div> + </div> + <div v-else style="display: flex;justify-content: center;align-items: center;height: 500px"> + <el-empty :image="emptyImage" description="鏈煡璇㈠埌鏃ュ織淇℃伅"></el-empty> + </div> + </div> +</template> + +<script> +export default { + name: "LogView", + props: { + logList: { + require: true, + type: Array + } + }, + data() { + return { + emptyImage: require('@/assets/nodata.png') + } + } +} +</script> + +<style scoped> +.tag { + margin: 0 5px; +} +.name { + color: #E6A23C; +} +.time { + color: #909399; +} +.taskName { + color: #409EFF; +} +.op { + color: #F56C6C; +} +</style> -- Gitblit v1.8.0