From 14dcdb7fe107b0f12c3cfb1fc73e3d366f4ddd98 Mon Sep 17 00:00:00 2001 From: chenxing Date: Mon, 28 Sep 2026 17:08:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(app):=20=E7=BC=96=E8=BE=91=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=9B=9E=E4=BC=A0=20appCode/appNature=20=E5=BF=85?= =?UTF-8?q?=E5=A1=AB=E9=85=8D=E5=A5=97=EF=BC=88C5=EF=BC=89=E2=80=94?= =?UTF-8?q?=E2=80=94AppForm=20=E7=BC=96=E8=BE=91=E6=80=81=E6=8A=80?= =?UTF-8?q?=E6=9C=AF=E6=A0=87=E8=AF=86=E5=BF=85=E5=A1=AB=E8=A7=84=E5=88=99?= =?UTF-8?q?=EF=BC=88=E5=90=8E=E7=AB=AF=20Create/Update=20=E7=BB=84?= =?UTF-8?q?=E5=90=8C=E5=8F=A3=E5=BE=84=EF=BC=89=EF=BC=9BEditAppContainer?= =?UTF-8?q?=20=E5=AD=A6=E6=A0=A1=E5=88=86=E6=94=AF=E8=A1=A5=E5=9B=9E?= =?UTF-8?q?=E4=BC=A0=20categoryId/appCode/appNature=20=E5=8E=9F=E5=80=BC?= =?UTF-8?q?=E6=BB=A1=E8=B6=B3=E5=B9=B3=E5=8F=B0=E6=A0=A1=E9=AA=8C=EF=BC=88?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E5=AD=A6=E6=A0=A1=E8=A6=86=E7=9B=96=E5=8F=AA?= =?UTF-8?q?=E8=AF=BB=E5=90=8D=E7=A7=B0/=E6=8F=8F=E8=BF=B0/=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=EF=BC=8C=E8=AF=AD=E4=B9=89=E4=B8=8D=E5=8F=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/app/AppForm.vue | 4 ++-- src/views/app/EditAppContainer.vue | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/views/app/AppForm.vue b/src/views/app/AppForm.vue index d269655..4ede284 100644 --- a/src/views/app/AppForm.vue +++ b/src/views/app/AppForm.vue @@ -250,8 +250,8 @@ const rules = computed(() => ({ ...(props.schoolMode ? {} : { categoryId: [{ required: true, type: 'number' as const, message: '请选择应用类型', trigger: 'change' }], }), - // 技术标识仅新增必填(后端 Create 组同口径);编辑留空 = 保持原值(存量孤儿行允许继续观察) - ...((props.schoolMode || props.isEdit) ? {} : { + // 技术标识新增与编辑均必填(2026-09-28 拍板,后端 Create/Update 组同口径);学校模式不展示该字段 + ...(props.schoolMode ? {} : { appCode: [{ required: true, message: '请输入技术标识', trigger: 'blur' }], }), })); diff --git a/src/views/app/EditAppContainer.vue b/src/views/app/EditAppContainer.vue index 2c9a8e8..47f36f8 100644 --- a/src/views/app/EditAppContainer.vue +++ b/src/views/app/EditAppContainer.vue @@ -67,11 +67,15 @@ function open(id: number, row: any, categories: any[], onSuccess?: () => void) { async function handleSubmit(formData: Record) { if (!currentId.value) return; if (isSchoolMode) { - // 学校模式:仅 名称/描述/Pc图标 三字段写学校覆盖表,其余字段一律不提交 + // 学校模式:仅 名称/描述/Pc图标 三字段写学校覆盖表(后端 editAppForSchool 只读这三个); + // categoryId/appCode/appNature 原样回传仅为满足平台级 Update 校验(后端不落平台表),缺失会 400 form.value = { id: currentId.value, name: formData.name, + categoryId: formData.categoryId, desc: formData.desc, + appCode: formData.appCode, + appNature: formData.appNature, pcIcon: formData.pcIcon, }; } else {