From a3393e77e09695c562a0b48fdd603a672fda50a2 Mon Sep 17 00:00:00 2001
From: pyt <626651354@qq.com>
Date: 星期五, 13 六月 2025 09:15:40 +0800
Subject: [PATCH] fix

---
 culture/src/views/projectList/addProject.vue |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/culture/src/views/projectList/addProject.vue b/culture/src/views/projectList/addProject.vue
index 9c2e21d..48f76b4 100644
--- a/culture/src/views/projectList/addProject.vue
+++ b/culture/src/views/projectList/addProject.vue
@@ -44,12 +44,15 @@
     name: 'AddProject',
     data() {
         return {
-            form: {},
+            form: {
+                teamName: '',
+                personCharge: ''
+            },
             rules: {
                 teamName: [{ required: true, message: '请输入项目组名称', trigger: 'blur' }],
                 personCharge: [{ required: true, message: '请输入项目组描述', trigger: 'blur' }]
             },
-            selectMemberData: [],
+            selectMemberData: [], // 初始化为空数组
             // 角色配置常量
             ROLE_CONFIG: {
                 1: { key: 'approver', limit: 1, label: '菌种审批人' },
@@ -61,9 +64,17 @@
         submitForm() {
             this.$refs.form.validate((valid) => {
                 if (valid) {
+                    const requiredRoles = ['菌种审批人', '菌种工程师', '菌种实验员'];
+                    const selectedRoleNames = this.selectMemberData.map(member => member.roleName);
+                    for (const role of requiredRoles) {
+                        if (!selectedRoleNames.includes(role)) {
+                            this.$message.error(`请选择${role}`);
+                            return;
+                        }
+                    }
                     if (this.selectMemberData.length == 0) {
-                        this.$message.error('请选择项目组成员')
-                        return
+                        this.$message.error('请选择项目组成员');
+                        return;
                     }
                     const ROLE_NAME_TO_TYPE = {
                         '菌种审批人': 1,
@@ -80,8 +91,11 @@
                     }
                     addProject(data).then(res => {
                         if (res.code == 200) {
-                            this.$message.success('添加成功')
-                            this.$router.push({ name: 'ProjectList' })
+                            this.$message.success('添加成功');
+                            this.resetForm(); // 添加成功后重置表单
+                            this.$router.back(); // 跳转到上一个页面
+                            // Optionally, navigate away or give other feedback
+                            // this.$router.push({ name: 'ProjectList' }); 
                         }
                     })
                 }
@@ -118,6 +132,16 @@
             this.$nextTick(() => {
                 this.$refs.selectMember.setSelection(this.selectMemberData);
             });
+        },
+        resetForm() {
+            this.form = {
+                teamName: '',
+                personCharge: ''
+            };
+            this.selectMemberData = [];
+            this.$nextTick(() => {
+                this.$refs.form.resetFields();
+            });
         }
     }
 }

--
Gitblit v1.7.1