解决configInfo对象属性值相关报错

This commit is contained in:
zhujiyan
2024-05-06 14:59:18 +08:00
parent 4b3fa307bc
commit 488a6a126c

View File

@@ -59,6 +59,7 @@
:rules="[{ required: true, message: '请选择流水号' }]" :rules="[{ required: true, message: '请选择流水号' }]"
> >
<el-select <el-select
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processSnTemplateId"
v-model:value="form.properties.configInfo.processSnTemplateId" v-model:value="form.properties.configInfo.processSnTemplateId"
placeholder="请选择流水号" placeholder="请选择流水号"
:options="snTemplateArray" :options="snTemplateArray"
@@ -92,6 +93,7 @@
> >
<template-generator <template-generator
ref="processTitleGenerator" ref="processTitleGenerator"
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processTitleTemplate"
v-model:inputValue="form.properties.configInfo.processTitleTemplate" v-model:inputValue="form.properties.configInfo.processTitleTemplate"
:fieldInfoLis="fieldInfoLis" :fieldInfoLis="fieldInfoLis"
/> />
@@ -103,15 +105,16 @@
> >
<template-generator <template-generator
ref="processAbstractGenerator" ref="processAbstractGenerator"
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processAbstractTemplate"
v-model:inputValue="form.properties.configInfo.processAbstractTemplate" v-model:inputValue="form.properties.configInfo.processAbstractTemplate"
:fieldInfoLis="fieldInfoLis" :fieldInfoLis="fieldInfoLis"
/> />
</el-form-item> </el-form-item>
<el-form-item label="开启自动去重" name="processEnableAutoDistinct"> <el-form-item label="开启自动去重" name="processEnableAutoDistinct">
<el-switch v-model:checked="form.properties.configInfo.processEnableAutoDistinct" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableAutoDistinct" v-model:checked="form.properties.configInfo.processEnableAutoDistinct" />
</el-form-item> </el-form-item>
<el-form-item v-show="form.properties.configInfo.processEnableAutoDistinct" name="processAutoDistinctType"> <el-form-item v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableAutoDistinct" name="processAutoDistinctType">
<el-radio-group v-model:value="form.properties.configInfo.processAutoDistinctType"> <el-radio-group v-model:value="form.properties.configInfo.processAutoDistinctType">
<el-radio <el-radio
v-for="autoDistinctType in processAutoDistinctTypeList" v-for="autoDistinctType in processAutoDistinctTypeList"
@@ -124,12 +127,12 @@
<el-row :gutter="[10, 0]"> <el-row :gutter="[10, 0]">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开启审批撤销" name="processEnableRevoke"> <el-form-item label="开启审批撤销" name="processEnableRevoke">
<el-switch v-model:checked="form.properties.configInfo.processEnableRevoke" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableRevoke" v-model:checked="form.properties.configInfo.processEnableRevoke" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开启意见必填" name="processEnableCommentRequired"> <el-form-item label="开启意见必填" name="processEnableCommentRequired">
<el-switch v-model:checked="form.properties.configInfo.processEnableCommentRequired" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCommentRequired" v-model:checked="form.properties.configInfo.processEnableCommentRequired" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -163,82 +166,88 @@
</el-form-item> </el-form-item>
<el-form-item label="开启待办通知" name="processEnableTodoNotice"> <el-form-item label="开启待办通知" name="processEnableTodoNotice">
<el-switch v-model:checked="form.properties.configInfo.processEnableTodoNotice" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableTodoNotice" v-model:checked="form.properties.configInfo.processEnableTodoNotice" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="待办通知方式" label="待办通知方式"
v-show="form.properties.configInfo.processEnableTodoNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableTodoNotice"
name="processTodoNoticeChannel" name="processTodoNoticeChannel"
:rules="[{ required: formData.processEnableTodoNotice, message: '请选择通知方式' }]" :rules="[{ required: formData.processEnableTodoNotice, message: '请选择通知方式' }]"
> >
<el-checkbox-group <el-checkbox-group
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processTodoNoticeChannel"
v-model:value="form.properties.configInfo.processTodoNoticeChannel" v-model:value="form.properties.configInfo.processTodoNoticeChannel"
:options="noticeInfoList" :options="noticeInfoList"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="待办通知模板" label="待办通知模板"
v-show="form.properties.configInfo.processEnableTodoNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableTodoNotice"
name="processTodoNoticeTemplate" name="processTodoNoticeTemplate"
:rules="[{ required: formData.processEnableTodoNotice, message: '请创造通知模板' }]" :rules="[{ required: formData.processEnableTodoNotice, message: '请创造通知模板' }]"
> >
<template-generator <template-generator
ref="todoNoticeChannelRef" ref="todoNoticeChannelRef"
:fieldInfoLis="fieldInfoLis" :fieldInfoLis="fieldInfoLis"
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processTodoNoticeTemplate"
v-model:inputValue="form.properties.configInfo.processTodoNoticeTemplate" v-model:inputValue="form.properties.configInfo.processTodoNoticeTemplate"
/> />
</el-form-item> </el-form-item>
<el-form-item label="开启抄送通知" name="processEnableCopyNotice"> <el-form-item label="开启抄送通知" name="processEnableCopyNotice">
<el-switch v-model:checked="form.properties.configInfo.processEnableCopyNotice" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCopyNotice" v-model:checked="form.properties.configInfo.processEnableCopyNotice" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="抄送通知方式" label="抄送通知方式"
v-show="form.properties.configInfo.processEnableCopyNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCopyNotice"
name="processCopyNoticeChannel" name="processCopyNoticeChannel"
:rules="[{ required: formData.processEnableCopyNotice, message: '请选择通知方式' }]" :rules="[{ required: formData.processEnableCopyNotice, message: '请选择通知方式' }]"
> >
<el-checkbox-group <el-checkbox-group
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processCopyNoticeChannel"
v-model:value="form.properties.configInfo.processCopyNoticeChannel" v-model:value="form.properties.configInfo.processCopyNoticeChannel"
:options="noticeInfoList" :options="noticeInfoList"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="抄送通知模板" label="抄送通知模板"
v-show="form.properties.configInfo.processEnableCopyNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCopyNotice"
name="processCopyNoticeTemplate" name="processCopyNoticeTemplate"
:rules="[{ required: formData.processEnableCopyNotice, message: '请创造通知模板' }]" :rules="[{ required: formData.processEnableCopyNotice, message: '请创造通知模板' }]"
> >
<template-generator <template-generator
ref="enableCopyNoticeRef" ref="enableCopyNoticeRef"
:fieldInfoLis="fieldInfoLis" :fieldInfoLis="fieldInfoLis"
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processCopyNoticeTemplate"
v-model:inputValue="form.properties.configInfo.processCopyNoticeTemplate" v-model:inputValue="form.properties.configInfo.processCopyNoticeTemplate"
/> />
</el-form-item> </el-form-item>
<el-form-item label="开启完成通知" name="processEnableCompleteNotice"> <el-form-item label="开启完成通知" name="processEnableCompleteNotice">
<el-switch v-model:checked="form.properties.configInfo.processEnableCompleteNotice" /> <el-switch v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCompleteNotice" v-model:checked="form.properties.configInfo.processEnableCompleteNotice" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="完成通知方式" label="完成通知方式"
v-show="form.properties.configInfo.processEnableCompleteNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCompleteNotice"
name="processCompleteNoticeChannel" name="processCompleteNoticeChannel"
:rules="[{ required: formData.processEnableCompleteNotice, message: '请选择通知方式' }]" :rules="[{ required: formData.processEnableCompleteNotice, message: '请选择通知方式' }]"
> >
<el-checkbox-group <el-checkbox-group
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processCompleteNoticeChannel"
v-model:value="form.properties.configInfo.processCompleteNoticeChannel" v-model:value="form.properties.configInfo.processCompleteNoticeChannel"
:options="noticeInfoList" :options="noticeInfoList"
/> />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="完成通知模板" label="完成通知模板"
v-show="form.properties.configInfo.processEnableCompleteNotice" v-show="form.properties&&form.properties.configInfo&&form.properties.configInfo.processEnableCompleteNotice"
name="processCompleteNoticeTemplate" name="processCompleteNoticeTemplate"
:rules="[{ required: formData.processEnableCompleteNotice, message: '请创造通知模板' }]" :rules="[{ required: formData.processEnableCompleteNotice, message: '请创造通知模板' }]"
> >
<template-generator <template-generator
ref="enableCompleteNoticeRef" ref="enableCompleteNoticeRef"
:fieldInfoLis="fieldInfoLis" :fieldInfoLis="fieldInfoLis"
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processCompleteNoticeTemplate"
v-model:inputValue="form.properties.configInfo.processCompleteNoticeTemplate" v-model:inputValue="form.properties.configInfo.processCompleteNoticeTemplate"
/> />
</el-form-item> </el-form-item>
@@ -253,6 +262,7 @@
:rules="[{ required: true, message: '请输入开始节点表单' }]" :rules="[{ required: true, message: '请输入开始节点表单' }]"
> >
<el-input <el-input
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processStartTaskFormUrl"
v-model:value="form.properties.configInfo.processStartTaskFormUrl" v-model:value="form.properties.configInfo.processStartTaskFormUrl"
addon-before="src/views/flw/customform/" addon-before="src/views/flw/customform/"
addon-after=".vue" addon-after=".vue"
@@ -261,7 +271,7 @@
> >
<template #suffix> <template #suffix>
<el-button <el-button
v-if="form.properties.configInfo.processStartTaskFormUrl" v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processStartTaskFormUrl"
type="primary" type="primary"
size="small" size="small"
@click="$refs.previewCustomFormRef.onOpen(form.properties.configInfo.processStartTaskFormUrl)" @click="$refs.previewCustomFormRef.onOpen(form.properties.configInfo.processStartTaskFormUrl)"
@@ -277,6 +287,7 @@
:rules="[{ required: true, message: '请输入移动端开始节点表单' }]" :rules="[{ required: true, message: '请输入移动端开始节点表单' }]"
> >
<el-input <el-input
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processStartTaskMobileFormUrl"
v-model:value="form.properties.configInfo.processStartTaskMobileFormUrl" v-model:value="form.properties.configInfo.processStartTaskMobileFormUrl"
addon-before="pages/flw/customform/" addon-before="pages/flw/customform/"
addon-after=".vue" addon-after=".vue"
@@ -290,6 +301,7 @@
:rules="[{ required: true, message: '请输入人员节点表单' }]" :rules="[{ required: true, message: '请输入人员节点表单' }]"
> >
<el-input <el-input
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processUserTaskFormUrl"
v-model:value="form.properties.configInfo.processUserTaskFormUrl" v-model:value="form.properties.configInfo.processUserTaskFormUrl"
addon-before="src/views/flw/customform/" addon-before="src/views/flw/customform/"
addon-after=".vue" addon-after=".vue"
@@ -314,6 +326,7 @@
:rules="[{ required: true, message: '请输入移动端人员节点表单' }]" :rules="[{ required: true, message: '请输入移动端人员节点表单' }]"
> >
<el-input <el-input
v-if="form.properties&&form.properties.configInfo&&form.properties.configInfo.processUserTaskMobileFormUrl"
v-model:value="form.properties.configInfo.processUserTaskMobileFormUrl" v-model:value="form.properties.configInfo.processUserTaskMobileFormUrl"
addon-before="pages/flw/customform/" addon-before="pages/flw/customform/"
addon-after=".vue" addon-after=".vue"
@@ -325,7 +338,7 @@
<el-tab-pane key="5" tab="执行监听" force-render> <el-tab-pane key="5" tab="执行监听" force-render>
<prop-listener-info <prop-listener-info
ref="propListenerInfoRef" ref="propListenerInfoRef"
:listenerValue="form.properties.executionListenerInfo" :listenerValue="form.properties?.executionListenerInfo"
:defaultListenerList="executionListenerInfo" :defaultListenerList="executionListenerInfo"
:listener-value-array="executionListenerArray" :listener-value-array="executionListenerArray"
listener-type="global" listener-type="global"
@@ -440,8 +453,10 @@
computed: { computed: {
// 监听内部数组,选了人员相关,我们就不提示 // 监听内部数组,选了人员相关,我们就不提示
alertShow() { alertShow() {
if(this.form.properties&&this.form.properties.participateInfo){
return this.form.properties.participateInfo.length <= 0 return this.form.properties.participateInfo.length <= 0
} }
}
}, },
watch: { watch: {
modelValue(val) { modelValue(val) {
@@ -575,7 +590,7 @@
}, },
// 获取tag标签的内容 // 获取tag标签的内容
getTagList(type) { getTagList(type) {
const participateInfo = this.form.properties.participateInfo const participateInfo = this.form.properties&&this.form.properties.participateInfo?this.form.properties.participateInfo:[]
if (participateInfo.length < 0) { if (participateInfo.length < 0) {
return undefined return undefined
} else { } else {