From a60dc30be50598fe2d1acb42f8171ec69e37b436 Mon Sep 17 00:00:00 2001
From: 13404089107 <puwei@sinata.cn>
Date: 星期三, 28 五月 2025 17:29:05 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 laboratory/src/views/dataManagement/confirmation-sheet/components/add-test-item.vue |   88 +++++++++++++++++++++++++++++++------------
 1 files changed, 63 insertions(+), 25 deletions(-)

diff --git a/laboratory/src/views/dataManagement/confirmation-sheet/components/add-test-item.vue b/laboratory/src/views/dataManagement/confirmation-sheet/components/add-test-item.vue
index 0fe6992..a5bd4a2 100644
--- a/laboratory/src/views/dataManagement/confirmation-sheet/components/add-test-item.vue
+++ b/laboratory/src/views/dataManagement/confirmation-sheet/components/add-test-item.vue
@@ -3,33 +3,33 @@
     <el-dialog :visible.sync="dialogVisible" @close="$emit('close')" title="新增检测项" width="50%">
       <el-form ref="form" :model="form" :rules="rules" label-position="top" class="test-item-form">
         <div class="form-row">
-          <el-form-item label="检测项编号" prop="testCode" class="form-item">
-            <el-input v-model="form.testCode" placeholder="请输入"></el-input>
+          <el-form-item label="检测项编号" prop="termCode" class="form-item">
+            <el-input v-model="form.termCode" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="检测项名称" prop="testName" class="form-item">
-            <el-input v-model="form.testName" placeholder="请输入"></el-input>
+          <el-form-item label="检测项名称" prop="termName" class="form-item">
+            <el-input v-model="form.termName" placeholder="请输入"></el-input>
           </el-form-item>
         </div>
         <div class="form-row">
-          <el-form-item label="定性/定量" prop="testType" class="form-item">
-            <el-radio-group v-model="form.testType">
+          <el-form-item label="定性/定量" prop="termType" class="form-item">
+            <el-radio-group v-model="form.termType">
               <el-radio :label="1">定性</el-radio>
               <el-radio :label="2">定量</el-radio>
             </el-radio-group>
           </el-form-item>
         </div>
         <div class="form-row">
-          <el-form-item label="检测方法编号" prop="methodCode" class="form-item">
-            <el-input v-model="form.methodCode" placeholder="请输入"></el-input>
+          <el-form-item label="检测方法编号" prop="termMethodCode" class="form-item">
+            <el-input v-model="form.termMethodCode" placeholder="请输入"></el-input>
           </el-form-item>
-          <el-form-item label="检测方法" prop="methodName" class="form-item">
-            <el-input v-model="form.methodName" placeholder="请输入"></el-input>
+          <el-form-item label="检测方法" prop="termMethod" class="form-item">
+            <el-input v-model="form.termMethod" placeholder="请输入"></el-input>
           </el-form-item>
         </div>
-        <el-form-item label="收样要求" prop="requirements" class="form-item">
+        <el-form-item label="收样要求" prop="sampleRequire" class="form-item">
           <el-input
             type="textarea"
-            v-model="form.requirements"
+            v-model="form.sampleRequire"
             :rows="4"
             placeholder="请输入收样要求..."
           ></el-input>
@@ -49,37 +49,59 @@
     dialogVisible: {
       type: Boolean,
       default: false
+    },
+    editData: {
+      type: Object,
+      default: () => null
     }
   },
   data() {
     return {
       form: {
-        testCode: '',
-        testName: '',
-        testType: 1,
-        methodCode: '',
-        methodName: '',
-        requirements: ''
+        termCode: '',
+        termName: '',
+        termType: 1,
+        termMethodCode: '',
+        termMethod: '',
+        sampleRequire: '',
+        status: 1,
+        testId: ''
       },
       rules: {
-        testCode: [
+        termCode: [
           { required: true, message: '请输入检测项编号', trigger: 'blur' }
         ],
-        testName: [
+        termName: [
           { required: true, message: '请输入检测项名称', trigger: 'blur' }
         ],
-        testType: [
+        termType: [
           { required: true, message: '请选择定性/定量', trigger: 'change' }
         ],
-        methodCode: [
+        termMethodCode: [
           { required: true, message: '请输入检测方法编号', trigger: 'blur' }
         ],
-        methodName: [
+        termMethod: [
           { required: true, message: '请输入检测方法', trigger: 'blur' }
         ],
-        requirements: [
+        sampleRequire: [
           { required: true, message: '请输入收样要求', trigger: 'blur' }
         ]
+      }
+    }
+  },
+  watch: {
+    dialogVisible(val) {
+      if (val && this.editData) {
+        // 编辑模式,回显数据
+        this.$nextTick(() => {
+          this.form = {
+            ...this.editData,
+            termType: Number(this.editData.termType) // 确保termType是数字类型
+          }
+        })
+      } else if (!val) {
+        // 关闭对话框时重置表单
+        this.resetForm()
       }
     }
   },
@@ -87,12 +109,28 @@
     submitForm() {
       this.$refs.form.validate((valid) => {
         if (valid) {
-          this.$emit('confirm', this.form)
+          // 提交前确保termType是数字类型
+          const submitData = {
+            ...this.form,
+            termType: Number(this.form.termType)
+          }
+          this.$emit('confirm', submitData)
+          this.resetForm()
         }
       })
     },
     resetForm() {
       this.$refs.form.resetFields()
+      this.form = {
+        termCode: '',
+        termName: '',
+        termType: 1,
+        termMethodCode: '',
+        termMethod: '',
+        sampleRequire: '',
+        status: 1,
+        testId: ''
+      }
     }
   }
 }

--
Gitblit v1.7.1