|
|
@ -46,72 +46,19 @@ |
|
|
|
<HistoryMessage :isVisible="isVisible" @update:isVisible="isVisible = $event"> |
|
|
|
<div class="detail-container"> |
|
|
|
<div class="detail-section"> |
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">日期:</span> |
|
|
|
<span class="value">{{ rowData && formatDate(rowData.creatDate) }}</span> |
|
|
|
</div> |
|
|
|
<div class="divider"></div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">样本id:</span> |
|
|
|
<span class="value">{{ rowData && rowData.id }}</span> |
|
|
|
</div> |
|
|
|
<div class="divider"></div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">项目名称:</span> |
|
|
|
<span class="value">{{ rowData && rowData.id }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">Result:</span> |
|
|
|
<span class="value">{{ rowData && JSON.stringify(rowData.results) }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-section"> |
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">样本种类:</span> |
|
|
|
<span class="value">{{ rowData && rowData.sampleBloodType }}</span> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">操次:</span> |
|
|
|
<span class="value">{{ rowData && rowData.lotId }}</span> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">Rec:</span> |
|
|
|
<span class="value">Record 1</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">有效期:</span> |
|
|
|
<span class="value">2024-12-31</span> |
|
|
|
</div> |
|
|
|
<div class="divider"></div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">操作人:</span> |
|
|
|
<span class="value">John Doe</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">序列号:</span> |
|
|
|
<span class="value">SN12345</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">App Ver:</span> |
|
|
|
<span class="value">1.0.0</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-item"> |
|
|
|
<span class="label">F/W Ver:</span> |
|
|
|
<span class="value">2.0.0</span> |
|
|
|
</div> |
|
|
|
<p class="date">日期:{{ rowData && formatDate(rowData.creatDate) }}</p> |
|
|
|
<p class="userid">{{ rowData && (rowData.sampleUserid || rowData.sampleId) }}</p> |
|
|
|
<p class="projName">{{ rowData && rowData.projName }}</p> |
|
|
|
|
|
|
|
<ul> |
|
|
|
<li>样本种类:{{ rowData && settingTubeStore.bloodTypeKeyMap[rowData.sampleBloodType].name }}</li> |
|
|
|
<li>批次:{{ rowData && rowData.lotId }}</li> |
|
|
|
<li>有效期:{{ rowData && formatDate(rowData.expiryDate) }}</li> |
|
|
|
<li>操作人:{{ rowData && rowData.operator }}</li> |
|
|
|
<li>序列号:{{ rowData && rowData.sn }}</li> |
|
|
|
<li>App Ver: {{ rowData && rowData.appVersion }}</li> |
|
|
|
<li>F/W ver: {{ rowData && rowData.mcuVersion }}</li> |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="detail-footer"> |
|
|
@ -125,7 +72,7 @@ |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import { onMounted, ref } from 'vue' |
|
|
|
import dayjs from 'dayjs' |
|
|
|
|
|
|
|
import { HistoryTable, HistoryWarn } from './components/index' |
|
|
|
import { |
|
|
|
getHistoryInfo, |
|
|
@ -138,6 +85,11 @@ import WarnSvg from '@/assets/Index/History/warn.svg' |
|
|
|
import PrintSvg from '@/assets/Index/History/print.svg' |
|
|
|
import ErrorSvg from '@/assets/Warn.svg' |
|
|
|
import { eMessage } from './utils' |
|
|
|
import dayjs from 'dayjs' |
|
|
|
import { useSettingTestTubeStore } from '@/store' |
|
|
|
|
|
|
|
const settingTubeStore = useSettingTestTubeStore() |
|
|
|
|
|
|
|
// 添加表格引用 |
|
|
|
const historyTableRef = ref() |
|
|
|
|
|
|
@ -147,8 +99,6 @@ const isVisible = ref<boolean>(false) |
|
|
|
const handleClose = () => { |
|
|
|
isVisible.value = false |
|
|
|
} |
|
|
|
// 绑定输入框的值 |
|
|
|
// const inputValue = ref<string>('') |
|
|
|
|
|
|
|
// 选中的项目 |
|
|
|
const selectedItems = ref<TableItem[]>([]) |
|
|
@ -224,7 +174,7 @@ const handleSelectRow = (item: TableItem) => { |
|
|
|
rowData.value = item |
|
|
|
} |
|
|
|
const formatDate = (date: string | number | Date) => { |
|
|
|
return dayjs(date).format('YYYY-MM-DD') |
|
|
|
return dayjs(date).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
} |
|
|
|
|
|
|
|
// 根据操作类型显示不同的确认弹框或通知 |
|
|
@ -451,6 +401,9 @@ onMounted(() => { |
|
|
|
} |
|
|
|
|
|
|
|
#history-container { |
|
|
|
> * { |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
width: 100%; |
|
|
|
height: 90vh; |
|
|
|
display: flex; |
|
|
@ -587,6 +540,7 @@ onMounted(() => { |
|
|
|
} |
|
|
|
|
|
|
|
.history-function { |
|
|
|
padding: 0 20px; |
|
|
|
width: 100%; |
|
|
|
height: 84px; |
|
|
|
margin-top: 20px; |
|
|
@ -632,31 +586,10 @@ onMounted(() => { |
|
|
|
.detail-container { |
|
|
|
.detail-section { |
|
|
|
margin-bottom: 24px; |
|
|
|
} |
|
|
|
|
|
|
|
.detail-item { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
padding: 16px 0; |
|
|
|
font-size: 28px; |
|
|
|
|
|
|
|
.label { |
|
|
|
color: #606266; |
|
|
|
min-width: 200px; |
|
|
|
font-weight: 500; |
|
|
|
font-size: 22px; |
|
|
|
.projName { |
|
|
|
font-weight: 600; |
|
|
|
} |
|
|
|
|
|
|
|
.value { |
|
|
|
color: #303133; |
|
|
|
flex: 1; |
|
|
|
word-break: break-all; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.divider { |
|
|
|
height: 1px; |
|
|
|
background-color: #ebeef5; |
|
|
|
margin: 16px 0; |
|
|
|
} |
|
|
|
|
|
|
|
.detail-footer { |
|
|
|