WXL
4 天以前 c4599aa279fd2f90b741608392e056fbae2282d5
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: {