From fcc84cfea24bb528fc9142240d4dbcf94eaa0a88 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期四, 26 六月 2025 16:26:19 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 culture/src/views/strainReportLibrary/reportLibraryOneFour/add.vue |  164 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 93 insertions(+), 71 deletions(-)

diff --git a/culture/src/views/strainReportLibrary/reportLibraryOneFour/add.vue b/culture/src/views/strainReportLibrary/reportLibraryOneFour/add.vue
index 4d11c02..4859ffe 100644
--- a/culture/src/views/strainReportLibrary/reportLibraryOneFour/add.vue
+++ b/culture/src/views/strainReportLibrary/reportLibraryOneFour/add.vue
@@ -143,8 +143,8 @@
                 </div>
 
                 <div class="end-btn" style="margin-top: 38px">
-                    <el-button type="primary" @click="addData">发送</el-button>
-                    <el-button type="default" @click="saveData">存草稿</el-button>
+                    <el-button type="primary" @click="addData" :loading="submitLoading">发送</el-button>
+                    <el-button type="default" @click="saveData" :loading="draftLoading">存草稿</el-button>
                 </div>
             </el-form>
         </Card>
@@ -231,6 +231,8 @@
                 }
             ],
             selectedMember: null, // 存储选中的菌种实验员
+            submitLoading: false, // 发送按钮loading
+            draftLoading: false, // 存草稿按钮loading
         }
     },
     computed: {
@@ -275,92 +277,112 @@
         }
     },
     methods: {
-        addData() {
-            console.log('qeqweqeqwqrew', this.form, this.projectData);
-
-            this.$refs.form.validate(async (valid) => {
-                if (!valid) return;
-                let str = []
-                str = this.assessmentTable.map(item => {
-                    return item.selectedScore
-                })
-
-                if (this.$refs.materialEditor.getContent() == '<p></p>') {
-                    this.$message.error('请输入报告正文')
-                    return
-                }
-                if (!this.projectData.length) {
-                    this.$message.warning('请选择项目组');
-                    return;
-                }
-                if (!this.selectedMember || !this.selectedMember[0]) {
-                    this.$message.warning('请选择菌种实验员');
-                    return;
-                }
-                const params = {
-                    isDraft: 0,
-                    projectId: this.projectData[0].id,
-                    experimentId: this.selectedMember[0].userId,
-                    // reportCode: this.form.reportCode,
-                    reportContent: this.$refs.materialEditor.getContent(),
-                    reportName: this.form.reportName,
-                    evaluateTotal: this.totalScore,
-                    evaluate: str.join(','),    
-                    reportType: 4
-                };
-                console.log('params', params);
-
-                if (this.$route.query.id) {
-
-                    params.id = this.$route.query.id
-                    update(params).then(res => {
-                        if (res.code == 200) {
-                            this.$message.success('编辑成功');
-                            this.$router.back()
-                        }
+        async addData() {
+            if (this.submitLoading) return;
+            this.submitLoading = true;
+            try {
+                this.$refs.form.validate(async (valid) => {
+                    if (!valid) { this.submitLoading = false; return; }
+                    let str = []
+                    str = this.assessmentTable.map(item => {
+                        return item.selectedScore
                     })
-                    return
-                }
 
-                add(params).then(res => {
-                    if (res.code == 200) {
-                        this.$message.success('发送成功');
-                        this.$router.push('/strainReportLibrary/reportLibraryFour');
+                    if (this.$refs.materialEditor.getContent() == '<p></p>') {
+                        this.$message.error('请输入报告正文')
+                        this.submitLoading = false;
+                        return
                     }
-                })
-            });
-        },
-        saveData() {
-            this.$refs.form.validate(async (valid) => {
-                if (!valid) return;
-                let str = []
-                str = this.assessmentTable.map(item => {
-                    return item.selectedScore
-                })
-
-                try {
+                    if (!this.projectData.length) {
+                        this.$message.warning('请选择项目组');
+                        this.submitLoading = false;
+                        return;
+                    }
+                    if (!this.selectedMember || !this.selectedMember[0]) {
+                        this.$message.warning('请选择菌种实验员');
+                        this.submitLoading = false;
+                        return;
+                    }
                     const params = {
-                        isDraft: 1,
+                        isDraft: 0,
                         projectId: this.projectData[0].id,
                         experimentId: this.selectedMember[0].userId,
                         // reportCode: this.form.reportCode,
                         reportContent: this.$refs.materialEditor.getContent(),
                         reportName: this.form.reportName,
                         evaluateTotal: this.totalScore,
-                        evaluate: str.join(','),
+                        evaluate: str.join(','),    
                         reportType: 4
                     };
+                    if (this.$route.query.id) {
+                        params.id = this.$route.query.id
+                        update(params).then(res => {
+                            this.submitLoading = false;
+                            if (res.code == 200) {
+                                this.$message.success('编辑成功');
+                                this.$router.back()
+                            }
+                        }).catch(() => {
+                            this.submitLoading = false;
+                        })
+                        return
+                    }
                     add(params).then(res => {
+                        this.submitLoading = false;
                         if (res.code == 200) {
-                            this.$message.success('保存成功');
+                            this.$message.success('发送成功');
                             this.$router.push('/strainReportLibrary/reportLibraryFour');
                         }
+                    }).catch(() => {
+                        this.submitLoading = false;
                     })
-                } catch (e) {
-                    this.$message.error('保存失败');
-                }
-            });
-        }, getProjectData(data) {
+                });
+            } catch (e) {
+                this.submitLoading = false;
+            }
+        },
+        async saveData() {
+            if (this.draftLoading) return;
+            this.draftLoading = true;
+            try {
+                this.$refs.form.validate(async (valid) => {
+                    if (!valid) { this.draftLoading = false; return; }
+                    let str = []
+                    str = this.assessmentTable.map(item => {
+                        return item.selectedScore
+                    })
+                    try {
+                        const params = {
+                            isDraft: 1,
+                            projectId: this.projectData[0].id,
+                            experimentId: this.selectedMember[0].userId,
+                            // reportCode: this.form.reportCode,
+                            reportContent: this.$refs.materialEditor.getContent(),
+                            reportName: this.form.reportName,
+                            evaluateTotal: this.totalScore,
+                            evaluate: str.join(','),
+                            reportType: 4
+                        };
+                        add(params).then(res => {
+                            this.draftLoading = false;
+                            if (res.code == 200) {
+                                this.$message.success('保存成功');
+                                this.$router.push('/strainReportLibrary/reportLibraryFour');
+                            }
+                        }).catch(() => {
+                            this.draftLoading = false;
+                        })
+                    } catch (e) {
+                        this.draftLoading = false;
+                        this.$message.error('保存失败');
+                    }
+                });
+            } catch (e) {
+                this.draftLoading = false;
+                this.$message.error('保存失败');
+            }
+        },
+        getProjectData(data) {
             this.projectData = [data]; // 将选中的项目组数据存储到数组中
             this.showChoose = false
         },

--
Gitblit v1.7.1