From c4599aa279fd2f90b741608392e056fbae2282d5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期四, 20 八月 2026 17:16:54 +0800
Subject: [PATCH] 各表单布局调整

---
 src/views/business/course/components/DonorMaintenanceStage.vue |  256 +++++++++-----------------------------------------
 1 files changed, 48 insertions(+), 208 deletions(-)

diff --git a/src/views/business/course/components/DonorMaintenanceStage.vue b/src/views/business/course/components/DonorMaintenanceStage.vue
index f30f888..7080781 100644
--- a/src/views/business/course/components/DonorMaintenanceStage.vue
+++ b/src/views/business/course/components/DonorMaintenanceStage.vue
@@ -23,10 +23,54 @@
               />
               <el-table-column label="鍩瑰吇缁撴灉" align="center" prop="result">
                 <template slot-scope="scope">
-                  <el-tag
-                    :type="scope.row.result === '闃存��' ? 'success' : 'danger'"
-                    effect="plain"
+                  <!-- 闃虫�х粨鏋滃甫鎮诞鎻愮ず -->
+                  <el-tooltip
+                    v-if="
+                      scope.row.result === '闃虫��' && scope.row.positiveDetails
+                    "
+                    effect="light"
+                    placement="top"
+                    :open-delay="200"
+                    popper-class="custom-positive-tooltip"
                   >
+                    <div slot="content">
+                      <div
+                        style="font-weight: bold; color: #f56c6c; margin-bottom: 8px;"
+                      >
+                        <i class="el-icon-warning"></i> 闃虫�х粨鏋滆鎯�
+                      </div>
+                      <div
+                        style="color: #606266; line-height: 1.6; white-space: pre-wrap;"
+                      >
+                        {{ scope.row.positiveDetails }}
+                      </div>
+                    </div>
+                    <el-tag
+                      type="danger"
+                      effect="plain"
+                      @click="handleResultClick(scope.row)"
+                      style="cursor: pointer;"
+                    >
+                      {{ scope.row.result }}
+                      <i class="el-icon-info" style="margin-left: 4px;"></i>
+                    </el-tag>
+                  </el-tooltip>
+
+                  <!-- 闃虫�т絾娌℃湁璇︽儏鐨� -->
+                  <el-tag
+                    v-else-if="
+                      scope.row.result === '闃虫��' && !scope.row.positiveDetails
+                    "
+                    type="danger"
+                    effect="plain"
+                    @click="handleResultClick(scope.row)"
+                    style="cursor: pointer;"
+                  >
+                    {{ scope.row.result }}
+                  </el-tag>
+
+                  <!-- 闃存�х粨鏋� -->
+                  <el-tag v-else type="success" effect="plain">
                     {{ scope.row.result }}
                   </el-tag>
                 </template>
@@ -44,30 +88,6 @@
                     鏌ョ湅闄勪欢({{ scope.row.attachments.length }})
                   </el-button>
                   <span v-else>鏃犻檮浠�</span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="200"
-                class-name="small-padding fixed-width"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-edit"
-                    @click="handleEditCulture(scope.row)"
-                    >缂栬緫</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    style="color: #F56C6C;"
-                    @click="handleDeleteCulture(scope.row)"
-                    >鍒犻櫎</el-button
-                  >
                 </template>
               </el-table-column>
             </el-table>
@@ -115,30 +135,6 @@
                   <span v-else>鏃犻檮浠�</span>
                 </template>
               </el-table-column>
-              <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="180"
-                class-name="small-padding fixed-width"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-edit"
-                    @click="handleEditRecord(scope.row)"
-                    >缂栬緫</el-button
-                  >
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    style="color: #F56C6C;"
-                    @click="handleDeleteRecord(scope.row)"
-                    >鍒犻櫎</el-button
-                  >
-                </template>
-              </el-table-column>
             </el-table>
           </el-card>
         </el-tab-pane>
@@ -176,160 +172,6 @@
     </el-card>
 
     <!-- 鎶ょ悊鏍告煡璁板綍 -->
-
-    <!-- 鍩瑰吇璁板綍缂栬緫瀵硅瘽妗� -->
-    <el-dialog
-      :title="cultureDialogTitle"
-      :visible.sync="cultureDialogVisible"
-      width="700px"
-      :close-on-click-modal="false"
-    >
-      <el-form
-        :model="cultureForm"
-        ref="cultureForm"
-        :rules="cultureRules"
-        label-width="120px"
-      >
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鍩瑰吇绫诲瀷" prop="cultureType">
-              <el-select
-                v-model="cultureForm.cultureType"
-                placeholder="璇烽�夋嫨鍩瑰吇绫诲瀷"
-                style="width: 100%"
-              >
-                <el-option
-                  v-for="item in cultureTypeOptions"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.label"
-                />
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="閲囨牱鏃堕棿" prop="sampleTime">
-              <el-date-picker
-                v-model="cultureForm.sampleTime"
-                type="datetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="閫夋嫨閲囨牱鏃堕棿"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鍩瑰吇缁撴灉" prop="result">
-              <el-select
-                v-model="cultureForm.result"
-                placeholder="璇烽�夋嫨鍩瑰吇缁撴灉"
-                style="width: 100%"
-              >
-                <el-option label="闃存��" value="闃存��" />
-                <el-option label="闃虫��" value="闃虫��" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-form-item label="闄勪欢">
-          <UploadAttachment
-            ref="cultureUploadAttachment"
-            :file-list="cultureFileList"
-            :limit="10"
-            :accept="attachmentAccept"
-            :multiple="true"
-            @change="handleCultureAttachmentChange"
-            @upload-success="handleCultureUploadSuccess"
-            @upload-error="handleCultureUploadError"
-            @remove="handleCultureAttachmentRemove"
-          />
-        </el-form-item>
-      </el-form>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="cultureDialogVisible = false">鍙栨秷</el-button>
-        <el-button
-          type="primary"
-          @click="handleSaveCulture"
-          :loading="cultureSaveLoading"
-          >淇濆瓨</el-button
-        >
-      </span>
-    </el-dialog>
-
-    <!-- 鎶ょ悊鏍告煡璁板綍缂栬緫瀵硅瘽妗� -->
-    <el-dialog
-      :title="recordDialogTitle"
-      :visible.sync="recordDialogVisible"
-      width="700px"
-      :close-on-click-modal="false"
-    >
-      <el-form
-        :model="recordForm"
-        ref="recordForm"
-        :rules="recordRules"
-        label-width="120px"
-      >
-        <el-row :gutter="20">
-          <el-col :span="12">
-            <el-form-item label="鏍告煡鏃堕棿" prop="recordTime">
-              <el-date-picker
-                v-model="recordForm.recordTime"
-                type="datetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="閫夋嫨鏍告煡鏃堕棿"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鏍告煡浜�" prop="recorder">
-              <el-input
-                v-model="recordForm.recorder"
-                placeholder="璇疯緭鍏ユ牳鏌ヤ汉濮撳悕"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-form-item label="鏍告煡璁板綍" prop="checkRecord">
-          <el-input
-            type="textarea"
-            :rows="4"
-            v-model="recordForm.checkRecord"
-            placeholder="璇疯緭鍏ユ牳鏌ヨ褰曞唴瀹�"
-          />
-        </el-form-item>
-
-        <el-form-item label="闄勪欢">
-          <UploadAttachment
-            ref="recordUploadAttachment"
-            :file-list="recordFileList"
-            :limit="10"
-            :accept="attachmentAccept"
-            :multiple="true"
-            @change="handleRecordAttachmentChange"
-            @upload-success="handleRecordUploadSuccess"
-            @upload-error="handleRecordUploadError"
-            @remove="handleRecordAttachmentRemove"
-          />
-        </el-form-item>
-      </el-form>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="recordDialogVisible = false">鍙栨秷</el-button>
-        <el-button
-          type="primary"
-          @click="handleSaveRecord"
-          :loading="recordSaveLoading"
-          >淇濆瓨</el-button
-        >
-      </span>
-    </el-dialog>
 
     <!-- 闄勪欢棰勮瀵硅瘽妗� -->
     <el-dialog
@@ -400,7 +242,6 @@
 <script>
 import { maintainList, maintainedit, maintainAdd } from "@/api/businessApi";
 import Pagination from "@/components/Pagination";
-import UploadAttachment from "@/components/UploadAttachment";
 import FilePreviewDialog from "@/components/FilePreviewDialog";
 import LiverKidneyPanel from "@/components/MaintainComponents/LiverKidneyPanel.vue";
 import BloodRoutinePanel from "@/components/MaintainComponents/BloodRoutinePanel.vue";
@@ -413,7 +254,6 @@
   name: "MaintenanceDetail",
   components: {
     Pagination,
-    UploadAttachment,
     FilePreviewDialog,
     LiverKidneyPanel,
     BloodRoutinePanel,
@@ -436,7 +276,7 @@
   },
   data() {
     return {
-      isEdit: true,
+      isEdit: false,
       currentMaintenanceId: null,
       isEditMode: false,
       form: {

--
Gitblit v1.9.3