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

---
 culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue |  131 +++++++++++++++++++++----------------------
 1 files changed, 64 insertions(+), 67 deletions(-)

diff --git a/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue b/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue
index 4947fbf..661e170 100644
--- a/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue
+++ b/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue
@@ -1,21 +1,21 @@
 <template>
-  <el-dialog :visible.sync="visible" width="80%" @close="handleClose">
+  <el-dialog :visible.sync="visible" width="80%" @open="handleOpen" @close="handleClose">
     <el-card class="top-card">
       <el-row :gutter="24" class="top-info-row">
         <el-col :span="8" class="info-col">
           <div class="info-item">
-            <span class="label">菌种来源:</span>{{ detail.source }}
+            <span class="label">菌种来源:</span>{{ detail.strainSource }}
           </div>
           <div class="info-item">
-            <span class="label">鉴别菌株编号:</span>{{ detail.strainNo }}
+            <span class="label">鉴别菌株编号:</span>{{ detail.identifyingStrainCode }}
           </div>
           <div class="info-item">
-            <span class="label">鉴别菌株名称:</span>{{ detail.strainName }}
+            <span class="label">鉴别菌株名称:</span>{{ detail.identifyingStrainName }}
           </div>
         </el-col>
         <el-col :span="8" class="info-col">
           <div class="info-item">
-            <span class="label">验证实验编号:</span>{{ detail.verifyNo }}
+            <span class="label">验证实验编号:</span>{{ detail.validationExperimentCode }}
           </div>
           <div class="info-item">
             <span class="label">实验时间:</span>{{ detail.experimentTime }}
@@ -28,7 +28,7 @@
           </div>
           <div class="info-item signature-item">
             <div class="signature-area">
-              <img v-if="detail.signature" :src="detail.signature" alt="签字" />
+              <img v-if="detail.handleSignature" :src="detail.handleSignature" alt="签字" />
               <span v-else class="waiting-text">暂无签名</span>
             </div>
           </div>
@@ -36,35 +36,25 @@
       </el-row>
     </el-card>
     <div class="section-card" style="margin-top: 24px">
-      <el-form label-width="100px" label-position="top">
-        <el-form-item label="实验结论">
-          <el-input
-            type="textarea"
-            v-model="detail.conclusion"
-            :rows="3"
-            placeholder="请输入"
-          />
+      <el-form ref="form" label-width="100px" :model="detail" label-position="top">
+        <el-form-item label="实验结论" prop="result">
+          <el-input type="textarea" :disabled="true" v-model="detail.result" :rows="3" placeholder="请输入" />
         </el-form-item>
-        <el-form-item label="批准菌株用途">
-          <el-checkbox-group v-model="detail.usage">
-            <el-checkbox label="传代" />
-            <el-checkbox label="菌种保藏" />
-            <el-checkbox label="废弃" />
+        <el-form-item label="批准菌株用途" prop="purpose">
+          <el-checkbox-group :disabled="true" v-model="detail.purpose">
+            <el-checkbox label="1">传代</el-checkbox>
+            <el-checkbox label="2">菌种保藏</el-checkbox>
+            <el-checkbox label="3">废弃</el-checkbox>
           </el-checkbox-group>
         </el-form-item>
       </el-form>
     </div>
 
     <div class="section-card" style="margin-top: 12px">
-      <el-table
-        :data="tableData"
-        border
-        style="width: 100%"
-        :row-class-name="getRowClassName"
-      >
-        <el-table-column prop="condition" label="菌种培养工艺条件" />
+      <el-table :data="tableData" border style="width: 100%" :row-class-name="getRowClassName">
+        <el-table-column prop="conditions" label="菌种培养工艺条件" />
         <el-table-column prop="record" label="菌种培养工艺实况记录" />
-        <el-table-column prop="process" label="菌种培养标准工艺" />
+        <el-table-column prop="workmanship" label="菌种培养标准工艺" />
         <el-table-column label="操作" width="120">
           <template #default="{ row }">
             <el-button type="text" @click="handleEdit(row)">详情</el-button>
@@ -77,6 +67,7 @@
 
 <script>
 import DetailConditionDialog from "./DetailConditionDialog.vue";
+import { detail } from "./service.js";
 export default {
   name: "DetailConditionDialog",
   components: { DetailConditionDialog },
@@ -86,47 +77,43 @@
       type: Object,
       default: () => ({ condition: "", record: "", process: "" }),
     },
+    value: {
+      type: Object,
+      default: () => ({})
+    },
   },
   data() {
     return {
       detail: {
-        source: "内容的内容内容内容",
-        strainNo: "3411234",
-        strainName: "名称名称名称",
-        verifyNo: "34133214",
-        experimentTime: "2025-1-23 11:10:28",
-        signature: "", // 签名图片url
-        conclusion: "",
-        usage: [],
+        strainSource: '',
+        identifyingStrainCode: '',
+        identifyingStrainName: '',
+        validationExperimentCode: '',
+        experimentTime: '',
+        handleSignature: '', // 签名图片url
+        result: '',
+        purpose: []
       },
-      activeTab: "condition",
+      activeTab: "conditions",
       initialTableData: [
-        {
-          condition: "平板培养基",
-          record: "文字内容文字内容文字内容文字内容文字内容文字内容",
-          process: "文字内容文字内容文字内容文字内容文字内容文字内容",
-        },
-        { condition: "培养温度", record: "", process: "" },
-        { condition: "培养时间", record: "", process: "" },
-        { condition: "摇瓶培养基", record: "", process: "" },
-        { condition: "接种量", record: "", process: "" },
-        { condition: "培养时间", record: "", process: "" },
-        { condition: "发酵时间", record: "", process: "" },
-        { condition: "检测数据及结果", record: "", process: "" },
+        { conditions: '平板培养基', record: '', workmanship: '' },
+        { conditions: '培养温度', record: '', workmanship: '' },
+        { conditions: '培养时间', record: '', workmanship: '' },
+        { conditions: '摇瓶培养基', record: '', workmanship: '' },
+        { conditions: '接种量', record: '', workmanship: '' },
+        { conditions: '培养时间', record: '', workmanship: '' },
+        { conditions: '发酵时间', record: '', workmanship: '' },
+        { conditions: '检测数据及结果', record: '', workmanship: '' }
       ],
       tableData: [
-        {
-          condition: "平板培养基",
-          record: "文字内容文字内容文字内容文字内容文字内容文字内容",
-          process: "文字内容文字内容文字内容文字内容文字内容文字内容",
-        },
-        { condition: "培养温度", record: "", process: "" },
-        { condition: "培养时间", record: "", process: "" },
-        { condition: "摇瓶培养基", record: "", process: "" },
-        { condition: "接种量", record: "", process: "" },
-        { condition: "培养时间", record: "", process: "" },
-        { condition: "发酵时间", record: "", process: "" },
-        { condition: "检测数据及结果", record: "", process: "" },
+        { conditions: '平板培养基', record: '', workmanship: '' },
+        { conditions: '培养温度', record: '', workmanship: '' },
+        { conditions: '培养时间', record: '', workmanship: '' },
+        { conditions: '摇瓶培养基', record: '', workmanship: '' },
+        { conditions: '接种量', record: '', workmanship: '' },
+        { conditions: '培养时间', record: '', workmanship: '' },
+        { conditions: '发酵时间', record: '', workmanship: '' },
+        { conditions: '检测数据及结果', record: '', workmanship: '' }
       ],
       dialogVisible: false,
       dialogIsEdit: false,
@@ -136,18 +123,26 @@
     };
   },
   methods: {
+    handleOpen() {
+      if (this.value.id) {
+        detail({ id: this.value.id }).then(res => {
+          this.detail = {
+            ...res,
+            handleSignature: res.handleSignature || '', // 处理签名为空的情况
+            purpose: res.purpose.split(',') || [] // 处理 purpose 为空的情况
+          }
+          this.tableData = res.list || []
+        })
+      }
+    },
     handleClose() {
       this.$emit("update:visible", false);
     },
     handleEdit(row) {
-      const idx = this.tableData.indexOf(row);
-      this.dialogVisible = true;
-      this.dialogIsEdit = true;
-      this.dialogIsFixed = idx < this.initialTableData.length;
-      this.dialogValue = { ...row };
-      this.dialogIndex = idx;
+      
+       this.$emit("viewDetail", row);
     },
-  
+
     handleSave() {
       this.dialogVisible = true;
       this.dialogIsEdit = false;
@@ -176,6 +171,7 @@
 .el-dialog__body {
   padding-bottom: 0;
 }
+
 .top-card {
   margin-bottom: 0;
   background: rgba(239, 239, 239, 1);
@@ -257,6 +253,7 @@
   padding: 24px;
   padding-bottom: 0;
   gap: 24px;
+
   .el-button {
     width: 150px;
   }

--
Gitblit v1.7.1