diff --git a/src/api/lowCode/form/type.ts b/src/api/lowCode/form/type.ts index 1df198e..1bd983f 100644 --- a/src/api/lowCode/form/type.ts +++ b/src/api/lowCode/form/type.ts @@ -42,7 +42,8 @@ export interface tableFormStruct { columns: any[]; config: Object; controlBtn:any[]; - operateBtn:any[] + operateBtn:any[]; + columnsCheck?:any; }, searchData: any[]; loading: boolean; @@ -54,7 +55,7 @@ export interface tableFormStruct { openPageMode:string }, tagList: Object, - formId: string; + formId: string|any; formList: any[], // 所有可选表单数据源 name: string, treeData: Object, // 左侧树相关 diff --git a/src/api/taskapi/types.ts b/src/api/taskapi/types.ts new file mode 100644 index 0000000..691fff4 --- /dev/null +++ b/src/api/taskapi/types.ts @@ -0,0 +1,20 @@ + +//节点赋权 +export interface nodePoweInfo { + nodeKey:string; + powerAry:powerAryInfo[]; + apiSetup?:apiSetupInfo +} +//节点福泉结构体 +export interface powerAryInfo{ + id:string; + isEdit:boolean; + isLook:boolean; + name:string; + status?:number +} +//节点福泉补充 +export interface apiSetupInfo{ + library?:any[]; + title?:any[]; +} diff --git a/src/api/workFlow/type.ts b/src/api/workFlow/type.ts index 6a77e29..116ae0c 100644 --- a/src/api/workFlow/type.ts +++ b/src/api/workFlow/type.ts @@ -92,4 +92,24 @@ export interface appFormInfo{ userpermit: string; version: number; visibility: number; +} + +//节点赋权 +export interface nodePoweInfo { + nodeKey:string; + powerAry:powerAryInfo[]; + apiSetup?:apiSetupInfo +} +//节点福泉结构体 +export interface powerAryInfo{ + id:string; + isEdit:boolean; + isLook:boolean; + name:string; + status?:number +} +//节点福泉补充 +export interface apiSetupInfo{ + library?:any[]; + title?:any[]; } \ No newline at end of file diff --git a/src/components/formTable/formItemGroup.vue b/src/components/formTable/formItemGroup.vue index 13f0d2d..146ff1e 100644 --- a/src/components/formTable/formItemGroup.vue +++ b/src/components/formTable/formItemGroup.vue @@ -12,6 +12,8 @@ import { constFormBtnEvent,constFormProps } from '@/api/lowCode/utils'; import { useDesignFormStore } from '@/utils/pinia/stores/lowCode/designForm' import { AnalysisCss,AnalysisInputCss } from '@/api/common/cssInfo' import { useAttrs,computed, onMounted, nextTick,ref,watch,onBeforeMount} from 'vue' +import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types"; +import { formTableInfo } from '@/utils/pinia/stores/lowCode/entry' const props = withDefaults( defineProps<{ @@ -539,6 +541,50 @@ const linksIf = (obj: FormList) => { } return true; }; + +const allNodePwoer = inject('flowNodePower') as any +const currentNodePowerKey = inject('currentNodeKey') as any + +//获取当前节点授权 +const curNodePowerAry = () => { + if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){ + if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){ + let powerAry: any[] = [] + allNodePwoer.value.forEach((item:nodePoweInfo) => { + if(item.nodeKey == currentNodePowerKey.value){ + powerAry = item.powerAry + } + }) + return powerAry + }else{ + return [] + } + }else{ + return [] + } +} +/** +@ 作者: 秦东 +@ 时间: 2025-11-06 14:03:21 +@ 功能: 判断此组件是否可见 +*/ +const judgeIsShow = (key: string) => { + let myPower = curNodePowerAry() //获取权限数组 + if(Array.isArray(myPower) && myPower.length > 0){ + let isOk = true + myPower.forEach((item:powerAryInfo) => { + if(key == item.id){ + isOk = item.isLook + } + }) + return isOk + }else{ + return true + } +} + + + -