| | |
| | | /> |
| | | <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> |
| | |
| | | 查看附件({{ 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> |
| | |
| | | <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> |
| | |
| | | </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 |
| | |
| | | <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"; |
| | |
| | | name: "MaintenanceDetail", |
| | | components: { |
| | | Pagination, |
| | | UploadAttachment, |
| | | FilePreviewDialog, |
| | | LiverKidneyPanel, |
| | | BloodRoutinePanel, |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | isEdit: true, |
| | | isEdit: false, |
| | | currentMaintenanceId: null, |
| | | isEditMode: false, |
| | | form: { |