fix
13404089107
2025-08-15 9cb1c3c39136c89974bc4049fca5e450e757b1be
laboratory/src/views/dataManagement/confirmation-sheet/components/add.vue
@@ -63,7 +63,7 @@
import AddTestItem from './add-test-item.vue'
import ConfirmDialog from './confirm-dialog.vue'
import { add, update, getDetail } from '../service'
import { mapState } from "vuex";
export default {
  name: 'AddConfirmationSheet',
  components: {
@@ -120,10 +120,12 @@
      this.getDetailData(id)
    }
  },
  computed: {
    ...mapState(["tagList", "isFold"]),
  },
  mounted() { },
  methods: {
    setSelectedScheduling(data) {
      console.log('data', data)
      if (!data || data.length === 0) return;
      const selectedData = data[0]; // 获取选中的第一条数据
      this.selectedScheduling = selectedData;
@@ -133,7 +135,7 @@
        planCode: selectedData.projectName || '', // 所属项目课题方案
        planName: selectedData.experimentCode || '', // 实验编号
        testName: selectedData.experimentName || '', // 实验名称
        notifyTime: selectedData.experimentDate || '', // 通知时间
        notifyTime: selectedData.createTime || '', // 通知时间
        startTime: selectedData.experimentStartTime || '', // 实验开始时间
        endTime: selectedData.experimentEndTime || '', // 实验结束时间
        participants: selectedData.participantsName || '', // 参加人员
@@ -184,7 +186,7 @@
            obj.roleId = this.$route.query.roleId
            edit(obj).then(() => {
              this.msgsuccess('保存成功')
              this.$router.go(-1)
              this.back()
            })
          } else {
            add(obj).then(() => {
@@ -194,7 +196,7 @@
                remark: "",
              }
              this.menu = []
              this.$router.go(-1)
              this.back()
            })
          }
        }
@@ -359,7 +361,7 @@
          confirmSign: signatureImage, // 签字图片
          signTime: new Date().toISOString(), // 签字时间
          testMethodConfirmSheetTerms: this.testItems.map(item => ({
            id: item.id, // 保留原有ID(编辑时使用)
            id: '', // 保留原有ID(编辑时使用)
            termCode: item.termCode,
            termName: item.termName,
            termType: item.termType,
@@ -370,27 +372,27 @@
            testId: item.testId
          }))
        }
        // 打印提交参数
        console.log('提交确认单参数:', JSON.stringify(submitData, null, 2))
        // 根据是否有 id 决定调用新增还是更新接口
        if (this.formData.id) {
          submitData.id = this.formData.id
          console.log('调用更新接口,参数:', JSON.stringify(submitData, null, 2))
          await update(submitData)
          this.$message.success('更新成功')
        } else {
          console.log('调用新增接口,参数:', JSON.stringify(submitData, null, 2))
          await add(submitData)
          this.$message.success('提交成功')
        }
        this.confirmDialogVisible = false // 关闭弹窗
        this.$router.go(-1)
        this.back()
      } catch (error) {
        this.$message.error((this.formData.id ? '更新' : '提交') + '失败:' + (error.message || '未知错误'))
      }
    },
    back() {
      this.$router.back();
      this.$store.commit(
        "SET_TAGLIST",
        this.tagList.filter((item) => item.path !== this.$route.path)
      );
    },
    async handleSaveDraft() {
      try {
@@ -404,7 +406,7 @@
          dispatchId: this.selectedScheduling.id,
          auditStatus: -1, // 草稿箱状态
          testMethodConfirmSheetTerms: this.testItems.map(item => ({
            id: item.id, // 保留原有ID(编辑时使用)
            id: '', // 保留原有ID(编辑时使用)
            termCode: item.termCode,
            termName: item.termName,
            termType: item.termType,
@@ -417,16 +419,12 @@
        }
        // 打印草稿参数
        console.log('保存草稿参数:', JSON.stringify(draftData, null, 2))
        // 根据是否有 id 决定调用新增还是更新接口
        if (this.formData.id) {
          draftData.id = this.formData.id
          console.log('调用更新草稿接口,参数:', JSON.stringify(draftData, null, 2))
          await update(draftData)
          this.$message.success('更新草稿成功')
        } else {
          console.log('调用新增草稿接口,参数:', JSON.stringify(draftData, null, 2))
          await add(draftData)
          this.$message.success('保存草稿成功')
        }
@@ -442,8 +440,8 @@
        if (res) {
          // 设置实验调度数据
          this.selectedScheduling = {
            ...res,
            id: res.dispatchId,
            ...res
          }
          this.tableData = [{
            // planCode: res.projectName,
@@ -461,12 +459,6 @@
            status: this.getStatusText(res.status) // 状态
          }]
          // this.confirmFormData = {
          //   planName: res.projectName || '',
          //   testCode: res.experimentCode || '',
          //   testName: res.experimentName || '',
          // };
          console.log('confirmFormData confirmFormData ',this.confirmFormData)
          // 设置检测项数据
          this.testItems = res.testMethodConfirmSheetTerms.map(item => ({
@@ -485,36 +477,7 @@
        }
      } catch (error) {
        this.$message.error('获取详情失败:' + (error.message || '未知错误'))
      }
    },
    async handleEditSubmit(signatureImage) {
      try {
        const submitData = {
          id: this.formData.id,
          dispatchId: this.selectedScheduling.id,
          auditStatus: 1,
          confirmSign: signatureImage,
          signTime: new Date().toISOString(),
          testMethodConfirmSheetTerms: this.testItems.map(item => ({
            id: item.id, // 保留原有ID
            termCode: item.termCode,
            termName: item.termName,
            termType: item.termType,
            termMethodCode: item.termMethodCode,
            termMethod: item.termMethod,
            sampleRequire: item.sampleRequire,
            status: item.status,
            testId: item.testId
          }))
        }
        await update(submitData)
        this.$message.success('更新成功')
        this.$router.push('/dataManagement/confirmation-sheet')
      } catch (error) {
        this.$message.error('更新失败:' + (error.message || '未知错误'))
        // this.$message.error('获取详情失败:' + (error.message || '未知错误'))
      }
    },
  },