Kaynağa Gözat

fix(forecast-form): 统一表单提交成功后的数据处理逻辑

yz 1 hafta önce
ebeveyn
işleme
20f05200f1

+ 5 - 6
src/components/forecast-form/forecast-form-avue.vue

@@ -342,16 +342,15 @@ export default {
         // 提交数据
         const submitData = { ...this.formData }
         
+        let res
         if (this.isEdit) {
-          await updateForecast(submitData)
-          this.$message.success('更新销售预测成功')
+          res = await updateForecast(submitData)
         } else {
-          await addForecast(submitData)
-          this.$message.success('新增销售预测成功')
+          res = await addForecast(submitData)
         }
 
-        // 触发提交成功事件
-        this.$emit('submit', submitData)
+        // 触发提交成功事件,传递API响应数据
+        this.$emit('submit', res.data)
       } catch (error) {
         console.error('提交表单失败:', error)
         this.$message.error(error.message || '操作失败,请重试')

+ 2 - 4
src/components/forecast-form/index.js

@@ -540,10 +540,8 @@ export default {
         }
 
         if (res.data && res.data.success) {
-          this.$message.success(res.data.msg || (this.isEdit ? '修改成功' : '添加成功'))
-          
-          // 触发提交成功事件
-          this.$emit(FORECAST_FORM_EVENTS.SUBMIT_SUCCESS, res.data.data)
+          // 触发提交成功事件,传递API响应数据
+          this.$emit(FORECAST_FORM_EVENTS.SUBMIT_SUCCESS, res.data)
           
           // 关闭表单
           this.closeForm()

+ 2 - 4
src/components/forecast-form/index.vue

@@ -636,10 +636,8 @@ export default {
         }
 
         if (res.data && res.data.success) {
-          this.$message.success(res.data.msg || (this.isEdit ? '修改成功' : '添加成功'))
-          
-          // 触发提交成功事件
-          this.$emit('submit', res.data.data)
+          // 触发提交成功事件,传递API响应数据
+          this.$emit('submit', res.data)
           
           // 关闭表单
           this.$emit('close')

+ 7 - 2
src/views/forecast/forecastIndex.js

@@ -626,13 +626,18 @@ export default {
      */
     handleFormSubmit(data) {
       console.log('表单提交成功', data)
+      console.log('当前编辑模式:', this.editMode)
       this.saveLoading = false
+      // 保存当前编辑模式,因为 handleBackToList 会重置它
+      const currentEditMode = this.editMode
       // 关闭表单页面,返回列表
       this.handleBackToList()
       // 刷新列表数据
       this.refreshChange()
-      // 显示成功消息
-      this.$message.success(this.editMode === 'add' ? '新增成功' : '修改成功')
+      // 显示成功消息 - 使用API返回的msg字段
+      const successMsg = data?.msg || (currentEditMode === 'add' ? '新增成功' : '修改成功')
+      console.log(data)
+      this.$message.success(successMsg)
     },
 
     /**