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