From 3aedad63dd01f1fc5154cb520af32edab967d6e0 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 12 5月 2025 09:15:26 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
---
PipeLineLems/pipelinelems_web/src/widgets/OrderManagement-main/hooks/permission.ts | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/OrderManagement-main/hooks/permission.ts b/PipeLineLems/pipelinelems_web/src/widgets/OrderManagement-main/hooks/permission.ts
new file mode 100644
index 0000000..002bd30
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/OrderManagement-main/hooks/permission.ts
@@ -0,0 +1,99 @@
+import { reactive, ref, onUnmounted } from 'vue'
+import sdk from 'sdk'
+import { ElMessage } from 'element-plus'
+import { _t } from '../app'
+import { get } from 'lodash'
+
+const subs = [
+ {
+ id: 'DefectList',
+ name: '缂洪櫡娓呭崟',
+ },
+ {
+ id: 'ToDoUnqualified',
+ name: '寰呭姙涓嶈壇鍝�',
+ },
+ {
+ id: 'JudgmentRecord',
+ name: '浜у搧鍒ゅ畾璁板綍',
+ },
+ {
+ id: 'ToDoUnqualified-judgment',
+ name: '寰呭姙涓嶈壇鍝�-鍒ゅ畾',
+ },
+ {
+ id: 'ToDoUnqualified-configuration',
+ name: '寰呭姙涓嶈壇鍝�-閰嶇疆',
+ },
+ {
+ id: 'JudgmentRecord-export',
+ name: '浜у搧鍒ゅ畾璁板綍-瀵煎嚭',
+ },
+]
+const subsType = subs.map((e) => e.id)
+export const permissionCodes = ref<any[]>([])
+export const initPermission = (props: any) => {
+ // // 鍓嶇椤甸潰鏉冮檺璁剧疆
+ const node = reactive(props.node)
+
+ let permissions =
+ process.env.NODE_ENV === 'development'
+ ? []
+ : window.app.current.project?.current.page?.permissions
+ const permission = {
+ id: node?.id,
+ name: node?.name,
+ subs,
+ }
+ const children = get(
+ window.app.current.project?.current.page,
+ 'body.children',
+ []
+ )
+ // permissions.push(permission)
+ const childrenIds = children.map((item: any) => item.id)
+ permissions = permissions.filter((item: any) => childrenIds.includes(item.id))
+
+ if (
+ permissions.every((item: typeof permission) => item.id !== permission.id)
+ ) {
+ permissions.push(permission)
+ }
+
+ if (childrenIds.includes(permission.id)) {
+ const currentPermission = permissions.find(
+ (item: typeof permission) => item.id === permission.id
+ )
+ currentPermission && Object.assign(currentPermission, permission)
+ }
+ const userInfo = sdk.userInfo
+
+ // mock data
+ if (process.env.NODE_ENV === 'development') {
+ userInfo.permissions = {
+ all: true,
+ widgets: [],
+ }
+ }
+
+ if (userInfo.permissions.all) {
+ permissionCodes.value = permission.subs.map((item) => item.id)
+ } else {
+ permissionCodes.value = userInfo.permissions.widgets
+ }
+
+ onUnmounted(() => {
+ const index = permissions.findIndex((f: any) => f.id === node?.id)
+ if (index !== -1) {
+ permissions.splice(index, 1)
+ }
+ })
+}
+
+export const isHasPermission = (code: (typeof subsType)[number]) => {
+ if (!permissionCodes.value.includes(code)) {
+ ElMessage.warning(_t('鐢ㄦ埛娌℃湁璇ユ潈闄愶紒'))
+ return false
+ }
+ return true
+}
--
Gitblit v1.9.3