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

---
 culture/src/views/pedigree-chart/components/AddSublevelForm.vue |   80 ++++++++++++++++++++++++++++++++--------
 1 files changed, 64 insertions(+), 16 deletions(-)

diff --git a/culture/src/views/pedigree-chart/components/AddSublevelForm.vue b/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
index 3b54d91..855a4d0 100644
--- a/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
+++ b/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
@@ -14,8 +14,8 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="10">
-                    <el-form-item label="传代菌种编号" prop="strainNo">
-                        <el-input disabled v-model="form.strainNo"></el-input>
+                    <el-form-item label="传代菌种编号" prop="strainCode">
+                        <el-input disabled v-model="form.strainCode"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="10">
@@ -36,15 +36,15 @@
                     </el-form-item>
                 </el-col>
             </el-row>
-            <el-form-item label="保存/废弃" required>
+            <el-form-item label="保存/废弃">
                 <div class="flex-row">
-                    <div @click="handleStatus('save')" :class="form.isDiscarded && 'active'">保存</div>
-                    <div @click="handleStatus('discard')" :class="!form.isDiscarded && 'active'">废弃</div>
+                    <div :class="form.status === 1 && 'active'" @click="handleStatus(1)">保存</div>
+                    <div :class="form.status === 2 && 'active'" @click="handleStatus(2)">废弃</div>
                 </div>
             </el-form-item>
             <el-row :gutter="20">
                 <el-col :span="10">
-                    <el-form-item v-if="!form.isDiscarded" label="废弃原因说明" required>
+                    <el-form-item v-if="form.status === 2" label="废弃原因说明" required>
                         <el-input :disabled="!dialogTitle.includes('新增')" v-model="form.discardReason"
                             placeholder="请输入"></el-input>
                     </el-form-item>
@@ -52,7 +52,7 @@
             </el-row>
             <el-row :gutter="20">
                 <el-col :span="10">
-                    <el-form-item label="菌种入库时间" prop="inTime">
+                    <el-form-item label="菌种入库时间" prop="inTime" required>
                         <el-input disabled v-model="form.inTime"></el-input>
                     </el-form-item>
                 </el-col>
@@ -71,10 +71,11 @@
             </el-row>
         </el-form>
         <div v-if="dialogTitle.includes('新增')" class="dialog-footer">
-            <el-button type="primary" @click="handleSubmit">提交</el-button>
+            <el-button type="primary" @click="handleSubmit">提交签字</el-button>
         </div>
     </el-dialog>
 </template>
+
 <script>
 export default {
     data() {
@@ -82,36 +83,83 @@
             dialogVisible: false,
             dialogTitle: '',
             form: {
-                isDiscarded: true
+                thisName: '',
+                thisTime: '',
+                strainCode: '',
+                strainName: '',
+                inoculateNo: '',
+                inoculateName: '',
+                status: 1,
+                inTime: '',
+                discardReason: ''
             },
             rules: {
-                isDiscarded: [
-                    { required: true, message: '请选择废弃状态', trigger: 'blur' }
+                thisName: [
+                    { required: true, message: '请输入接种操作人', trigger: 'blur' }
+                ],
+                thisTime: [
+                    { required: true, message: '请输入接种操作时间', trigger: 'blur' }
+                ],
+                strainCode: [
+                    { required: true, message: '请输入传代菌种编号', trigger: 'blur' }
+                ],
+                strainName: [
+                    { required: true, message: '请输入传代菌种名称', trigger: 'blur' }
                 ],
                 inoculateNo: [
                     { required: true, message: '请输入接种菌种编号', trigger: 'blur' }
                 ],
                 inoculateName: [
                     { required: true, message: '请输入接种菌种名称', trigger: 'blur' }
-                ],
-            },
+                ]
+            }
         }
     },
     methods: {
         openInitData(value) {
             this.dialogTitle = value.title
-            this.form = value.form
+            // 获取用户信息
+            const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}')
+            // 获取当前时间并格式化
+            const now = new Date()
+            const formatTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}`
+            
+            this.form = {
+                ...this.form,
+                ...value.form,
+                thisName: userInfo.nickName || '',
+                thisTime: formatTime,
+                inTime: formatTime
+            }
             this.dialogVisible = true
         },
         closeDialog() {
             this.dialogVisible = false
+            // 重置表单数据
+            this.form = {
+                thisName: '',
+                thisTime: '',
+                strainCode: '',
+                strainName: '',
+                inoculateNo: '',
+                inoculateName: '',
+                status: 1,
+                inTime: '',
+                discardReason: ''
+            }
+            // 重置表单验证
+            this.$refs.form && this.$refs.form.resetFields()
         },
         handleSubmit() {
-            this.$emit('addNodeSign', this.form, 3)
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    this.$emit('addNodeSign', this.form, 3)
+                }
+            })
         },
         handleStatus(status) {
             if (!this.dialogTitle.includes('新增')) return
-            this.form.isDiscarded = status === 'save'
+            this.form.status = status
             this.$forceUpdate()
         }
     }

--
Gitblit v1.7.1