| | |
| | | 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: '菌种审批人' }, |
| | |
| | | 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, |
| | |
| | | } |
| | | 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' }); |
| | | } |
| | | }) |
| | | } |
| | |
| | | this.$nextTick(() => { |
| | | this.$refs.selectMember.setSelection(this.selectMemberData); |
| | | }); |
| | | }, |
| | | resetForm() { |
| | | this.form = { |
| | | teamName: '', |
| | | personCharge: '' |
| | | }; |
| | | this.selectMemberData = []; |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields(); |
| | | }); |
| | | } |
| | | } |
| | | } |