From 1d92efc40ec4f8e40e624430b4f3063a37ebc743 Mon Sep 17 00:00:00 2001
From: 刘淇 <290219706@qq.com>
Date: Wed, 28 Oct 2026 15:29:34 +0800
Subject: [PATCH] 判断动态表单每一项必填?
---
pages-sub/daily/maintain-manage/add-record.vue | 33 ++++++++++++++++++++++++++++++---
pages-sub/daily/maintain-manage/finish-plan-detail.vue | 1 +
pages-sub/daily/maintain-manage/type-list-page.vue | 4 ++--
3 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/pages-sub/daily/maintain-manage/add-record.vue b/pages-sub/daily/maintain-manage/add-record.vue
index 78383f6..dbd8b74 100644
--- a/pages-sub/daily/maintain-manage/add-record.vue
+++ b/pages-sub/daily/maintain-manage/add-record.vue
@@ -142,6 +142,19 @@
提交并结束本次任务
+
+
+
+
+
+
@@ -201,6 +214,7 @@ export default {
}
],
},
+ showNoRequiredModal: false,
// 动态字段列表
dynamicFields: [] as any[],
// 日期时间选择器
@@ -502,15 +516,28 @@ export default {
this.inspectFormRules[field.fieldCode] = [this.buildRequiredRule(field)]
}
}
- this.dynamicFields = fields
+ this.dynamicFields = fields
+
+ // =========新增:校验全部字段required都等于0=========
+ const allNoRequired = this.dynamicFields.every(item => Number(item.required) === 0)
+ if(allNoRequired){
+ this.showNoRequiredModal = true
+ }
+
this.$nextTick(() => {
this.$refs.inspectFormRef.setRules(this.inspectFormRules)
})
+
} catch (err) {
console.error('获取动态表单字段失败:', err)
uni.showToast({ title: '加载表单配置失败', icon: 'none' })
}
},
+
+ handleNoRequiredConfirm(){
+ // 弹窗只能点确定,直接退出页面,不允许继续填报
+ uni.navigateBack()
+ },
/**
* 删除图片
*/
@@ -1075,10 +1102,10 @@ if (type === 1) {
}
uni.hideLoading()
// 后端 /create 只建草稿、不推进完成次数,必须再点「提交并结束」或在列表点「结束任务」才计数
- uni.showToast({ title: '已暂存,请记得结束本次养护', icon: 'none', duration: 1500 })
+ uni.showToast({ title: '已暂存,请记得结束本次养护', icon: 'none', duration: 2500 })
setTimeout(() => {
uni.reLaunch({ url: '/pages-sub/daily/maintain-manage/index' })
- }, 1500)
+ }, 2500)
} catch (error) {
uni.hideLoading()
// 表单校验失败时 error 是字段数组(uview-plus 已提示),不重复弹
diff --git a/pages-sub/daily/maintain-manage/finish-plan-detail.vue b/pages-sub/daily/maintain-manage/finish-plan-detail.vue
index 0f6f7ee..ae73b1f 100644
--- a/pages-sub/daily/maintain-manage/finish-plan-detail.vue
+++ b/pages-sub/daily/maintain-manage/finish-plan-detail.vue
@@ -627,6 +627,7 @@ onLoad((options) => {
display: flex;
flex-direction: column;
align-items: flex-start;
+ overflow: hidden;
gap: 8rpx;
margin: 0 24rpx 24rpx;
padding: 24rpx;
diff --git a/pages-sub/daily/maintain-manage/type-list-page.vue b/pages-sub/daily/maintain-manage/type-list-page.vue
index 5e5c6b4..0a2956a 100644
--- a/pages-sub/daily/maintain-manage/type-list-page.vue
+++ b/pages-sub/daily/maintain-manage/type-list-page.vue
@@ -62,7 +62,7 @@
去作业
去查看
- 去查看
+
@@ -89,7 +89,7 @@
-
+
确定要结束吗?
--
libgit2 0.21.4