【功能优化】发起流程时候,表单字段权限设置
parent
0ae9acdfd6
commit
ea97abc0af
|
@ -75,7 +75,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { decodeFields, setConfAndFields2 } from '@/utils/formCreate'
|
import { decodeFields, setConfAndFields2 } from '@/utils/formCreate'
|
||||||
import { BpmModelType } from '@/utils/constants'
|
import { BpmModelType } from '@/utils/constants'
|
||||||
import { CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
|
import { CandidateStrategy, NodeId, FieldPermissionType } from '@/components/SimpleProcessDesignerV2/src/consts'
|
||||||
import ProcessInstanceBpmnViewer from '../detail/ProcessInstanceBpmnViewer.vue'
|
import ProcessInstanceBpmnViewer from '../detail/ProcessInstanceBpmnViewer.vue'
|
||||||
import ProcessInstanceSimpleViewer from '../detail/ProcessInstanceSimpleViewer.vue'
|
import ProcessInstanceSimpleViewer from '../detail/ProcessInstanceSimpleViewer.vue'
|
||||||
import ProcessInstanceTimeline from '../detail/ProcessInstanceTimeline.vue'
|
import ProcessInstanceTimeline from '../detail/ProcessInstanceTimeline.vue'
|
||||||
|
@ -129,8 +129,10 @@ const initProcessInfo = async (row: any, formVariables?: any) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setConfAndFields2(detailForm, row.formConf, row.formFields, formVariables)
|
setConfAndFields2(detailForm, row.formConf, row.formFields, formVariables)
|
||||||
await nextTick()
|
|
||||||
|
await nextTick();
|
||||||
fApi.value?.btn.show(false) // 隐藏提交按钮
|
fApi.value?.btn.show(false) // 隐藏提交按钮
|
||||||
|
|
||||||
// 获取流程审批信息
|
// 获取流程审批信息
|
||||||
await getApprovalDetail(row)
|
await getApprovalDetail(row)
|
||||||
|
|
||||||
|
@ -152,7 +154,9 @@ const initProcessInfo = async (row: any, formVariables?: any) => {
|
||||||
/** 获取审批详情 */
|
/** 获取审批详情 */
|
||||||
const getApprovalDetail = async (row: any) => {
|
const getApprovalDetail = async (row: any) => {
|
||||||
try {
|
try {
|
||||||
const data = await ProcessInstanceApi.getApprovalDetail({ processDefinitionId: row.id })
|
// 获取审批详情,设置 activityId 为发起人节点(为了获取字段权限。暂时只对 Simple 设计器有效)
|
||||||
|
const data = await ProcessInstanceApi.getApprovalDetail({ processDefinitionId: row.id, activityId : NodeId.START_USER_NODE_ID })
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
message.error('查询不到审批详情信息!')
|
message.error('查询不到审批详情信息!')
|
||||||
return
|
return
|
||||||
|
@ -170,10 +174,37 @@ const getApprovalDetail = async (row: any) => {
|
||||||
|
|
||||||
// 获取审批节点,显示 Timeline 的数据
|
// 获取审批节点,显示 Timeline 的数据
|
||||||
activityNodes.value = data.activityNodes
|
activityNodes.value = data.activityNodes
|
||||||
|
// 获取表单字段权限
|
||||||
|
const formFieldsPermission = data.formFieldsPermission
|
||||||
|
// 设置表单字段权限
|
||||||
|
if (formFieldsPermission) {
|
||||||
|
Object.keys(formFieldsPermission).forEach((item) => {
|
||||||
|
setFieldPermission(item, formFieldsPermission[item])
|
||||||
|
})
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置表单权限
|
||||||
|
*/
|
||||||
|
const setFieldPermission = (field: string, permission: string) => {
|
||||||
|
if (permission === FieldPermissionType.READ) {
|
||||||
|
//@ts-ignore
|
||||||
|
fApi.value?.disabled(true, field)
|
||||||
|
}
|
||||||
|
if (permission === FieldPermissionType.WRITE) {
|
||||||
|
//@ts-ignore
|
||||||
|
fApi.value?.disabled(false, field)
|
||||||
|
|
||||||
|
}
|
||||||
|
if (permission === FieldPermissionType.NONE) {
|
||||||
|
//@ts-ignore
|
||||||
|
fApi.value?.hidden(true, field)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
if (!fApi.value || !props.selectProcessDefinition) {
|
if (!fApi.value || !props.selectProcessDefinition) {
|
||||||
|
|
Loading…
Reference in New Issue