|
@@ -95,7 +95,8 @@ const submitHandler = async () => {
|
|
|
// 表单设计
|
|
|
// 流程设计
|
|
|
// 扩展设置
|
|
|
- changeTab()
|
|
|
+ const leavePageFlag = changeTab()
|
|
|
+ if (leavePageFlag) return // 说明表单设计的值有重复的
|
|
|
const params = {
|
|
|
categoryId: categoryId.value,
|
|
|
processIcon: processIcon.value,
|
|
@@ -119,23 +120,25 @@ const submitHandler = async () => {
|
|
|
|
|
|
// 切换选项卡之前,做相应的保存操作
|
|
|
const changeTab = () => {
|
|
|
+ let leavePageFlag = false
|
|
|
if (activeName.value === '表单设计') {
|
|
|
+ // 这里针对表单设计单独处理,如果不符合条件,则不允许切换
|
|
|
dyncComponent.value.exportJsonEv()
|
|
|
+ leavePageFlag = dyncComponent.value.validateOnlyEv() // FormDesign.vue中的方法
|
|
|
+ if (leavePageFlag) {
|
|
|
+ return ElMessage.error(`表单设计中字段ID不能重复,请确认唯一值`)
|
|
|
+ }
|
|
|
} else if (activeName.value === '流程设计') {
|
|
|
dyncComponent.value.saveDesign()
|
|
|
}
|
|
|
+ return leavePageFlag
|
|
|
}
|
|
|
|
|
|
const activeComponent = item => {
|
|
|
- changeTab()
|
|
|
- // 这里针对表单设计单独处理,如果不符合条件,则不允许切换
|
|
|
- if (activeName.value === '表单设计') {
|
|
|
- const leavePageFlag = dyncComponent.value.validateOnlyEv() // FormDesign.vue中的方法
|
|
|
- if (leavePageFlag) {
|
|
|
- return ElMessage.error(`请确认当前表单中的字段Id值是唯一的`)
|
|
|
- }
|
|
|
+ const leavePageFlag = changeTab()
|
|
|
+ if (!leavePageFlag) {
|
|
|
+ activeName.value = item.label
|
|
|
}
|
|
|
- activeName.value = item.label
|
|
|
}
|
|
|
|
|
|
const currentComponent = computed(() => {
|