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