报告查询
This commit is contained in:
parent
5cd1b0d887
commit
c0e90c4510
@ -70,7 +70,7 @@ import ImagePreview from "@/components/ImagePreview"
|
|||||||
import TreeSelect from '@/components/TreeSelect'
|
import TreeSelect from '@/components/TreeSelect'
|
||||||
// 字典标签组件
|
// 字典标签组件
|
||||||
import DictTag from '@/components/DictTag'
|
import DictTag from '@/components/DictTag'
|
||||||
import Print from 'vue3-print-nb';
|
import print from 'vue3-print-nb';
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
|
|
||||||
// 全局方法挂载
|
// 全局方法挂载
|
||||||
@ -96,7 +96,7 @@ app.component('Editor', Editor)
|
|||||||
|
|
||||||
//VUE3标准方法注入全局方法
|
//VUE3标准方法注入全局方法
|
||||||
app.provide('comDict', comDict);
|
app.provide('comDict', comDict);
|
||||||
app.use(Print); // 注册打印插件
|
app.use(print); // 注册打印插件
|
||||||
app.provide('$vuePrint', app.config.globalProperties.$vuePrint);
|
app.provide('$vuePrint', app.config.globalProperties.$vuePrint);
|
||||||
app.use(router)
|
app.use(router)
|
||||||
app.use(store)
|
app.use(store)
|
||||||
|
|||||||
@ -123,6 +123,10 @@
|
|||||||
<CustomTable v-if="bottomTableData.length > 0" :data="bottomTableData" :columns="bottomColumns"
|
<CustomTable v-if="bottomTableData.length > 0" :data="bottomTableData" :columns="bottomColumns"
|
||||||
:config="bottomTableConfig">
|
:config="bottomTableConfig">
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
|
|
||||||
|
<div v-if="bottomTableData.length > 0" class="expert-comment" :title="expertComment">
|
||||||
|
专家评语:{{ expertComment }}
|
||||||
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@ -177,7 +181,6 @@ import { usePrintStore } from '@/store/modules/printStore'
|
|||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
import useUserStore from '@/store/modules/user'
|
import useUserStore from '@/store/modules/user'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
@ -221,9 +224,15 @@ const queryParams = reactive<QueryParams>({
|
|||||||
dybz: '',
|
dybz: '',
|
||||||
userid: ''
|
userid: ''
|
||||||
});
|
});
|
||||||
|
// 获取当前日期(当天)
|
||||||
|
const today = dayjs();
|
||||||
|
|
||||||
|
// 计算前6天的日期(当天 + 前6天 = 7天)
|
||||||
|
const startOfWeek = today.subtract(6, 'day');
|
||||||
|
|
||||||
|
const startDate = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD');
|
||||||
|
const endDate = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD');
|
||||||
|
|
||||||
const startDate = typeof route.query.startdate === 'string' ? route.query.startdate : '';
|
|
||||||
const endDate = typeof route.query.endate === 'string' ? route.query.endate : '';
|
|
||||||
queryParams.times = [startDate, endDate];
|
queryParams.times = [startDate, endDate];
|
||||||
queryParams.ksdh = (route.query.deptcode as string) || '';
|
queryParams.ksdh = (route.query.deptcode as string) || '';
|
||||||
queryParams.userid = (route.query.userid as string) || '';
|
queryParams.userid = (route.query.userid as string) || '';
|
||||||
@ -297,20 +306,21 @@ const columns = ref([
|
|||||||
{ prop: 'dybz', label: '印', align: 'center', visible: true, slot: 'dybz', width: 40 },
|
{ prop: 'dybz', label: '印', align: 'center', visible: true, slot: 'dybz', width: 40 },
|
||||||
{ prop: 'jzbz', label: '急', align: 'center', visible: true, slot: 'jzbz', width: 40 },
|
{ prop: 'jzbz', label: '急', align: 'center', visible: true, slot: 'jzbz', width: 40 },
|
||||||
{ prop: 'alarmflag', label: '危', align: 'center', visible: true, slot: 'alarmflag', width: 40 },
|
{ prop: 'alarmflag', label: '危', align: 'center', visible: true, slot: 'alarmflag', width: 40 },
|
||||||
{ prop: 'jyrqname', label: '检验日期', align: 'center', visible: true, sortable: true, width: 100 },
|
{ prop: 'brdh', label: '病人代号', align: 'center', visible: true, sortable: true, width: 100 },
|
||||||
{ prop: 'brdh', label: '病人代号', align: 'center', visible: true, width: 100 },
|
|
||||||
{ prop: 'brxm', label: '病人姓名', align: 'center', visible: true, },
|
{ prop: 'brxm', label: '病人姓名', align: 'center', visible: true, },
|
||||||
{ prop: 'brxbname', label: '性别', align: 'center', visible: true, width: 40 },
|
{ prop: 'brxbname', label: '性别', align: 'center', visible: true, width: 40 },
|
||||||
{ prop: 'ch', label: '床号', align: 'center', visible: true, width: 50 },
|
{ prop: 'ch', label: '床号', align: 'center', visible: true, width: 50 },
|
||||||
{ prop: 'yqdl', label: '仪器', align: 'center', visible: true, width: 100 },
|
{ prop: 'jymd', label: '检验目的', align: 'center', visible: true, width: 200 },
|
||||||
{ prop: 'ybh', label: '样本号', align: 'center', visible: true, width: 60 },
|
|
||||||
{ prop: 'yblxname', label: '样本类型', align: 'center', visible: true, },
|
{ prop: 'yblxname', label: '样本类型', align: 'center', visible: true, },
|
||||||
{ prop: 'jymd', label: '检验目的', align: 'center', visible: true, width: 118 },
|
{ prop: 'sqsj', label: '送检时间', align: 'center', visible: true, width: 150 },
|
||||||
{ prop: 'sqsj', label: '申请时间', align: 'center', visible: true, width: 150 },
|
{ prop: 'confirmtime', label: '报告时间', align: 'center', visible: true, sortable: true, width: 150 },
|
||||||
{ prop: 'sjysname', label: '送检医生', align: 'center', visible: true, width: 80 },
|
{ prop: 'sjysname', label: '送检医生', align: 'center', visible: true, width: 80 },
|
||||||
{ prop: 'brlyname', label: '病人类型', align: 'center', visible: true, width: 80 },
|
{ prop: 'brlyname', label: '病人类型', align: 'center', visible: true, width: 80 },
|
||||||
{ prop: 'yqmc', label: '仪器名称', align: 'center', visible: true, width: 150 },
|
|
||||||
{ prop: 'yljg', label: '医疗机构', align: 'center', visible: true, width: 150 },
|
{ prop: 'yljg', label: '医疗机构', align: 'center', visible: true, width: 150 },
|
||||||
|
{ prop: 'jyrqname', label: '检验日期', align: 'center', visible: true, width: 100 },
|
||||||
|
{ prop: 'ybh', label: '样本号', align: 'center', visible: true, width: 60 },
|
||||||
|
{ prop: 'yqmc', label: '仪器名称', align: 'center', visible: true, width: 150 },
|
||||||
|
{ prop: 'yqdl', label: '仪器', align: 'center', visible: true, width: 100 },
|
||||||
])
|
])
|
||||||
|
|
||||||
const selectionChange = (selection: any) => {
|
const selectionChange = (selection: any) => {
|
||||||
@ -321,6 +331,20 @@ const selectionChange = (selection: any) => {
|
|||||||
|
|
||||||
const rightTableRef = ref()
|
const rightTableRef = ref()
|
||||||
const rowHandle = (row: any) => {
|
const rowHandle = (row: any) => {
|
||||||
|
console.log('row==>', row);
|
||||||
|
if (row.yqdl == '细菌仪') {
|
||||||
|
rightColumns.value[1].visible = false
|
||||||
|
rightColumns.value[2].visible = true
|
||||||
|
rightColumns.value[4].visible = false
|
||||||
|
rightColumns.value[5].visible = false
|
||||||
|
rightColumns.value[6].visible = true
|
||||||
|
} else {
|
||||||
|
rightColumns.value[1].visible = true
|
||||||
|
rightColumns.value[2].visible = false
|
||||||
|
rightColumns.value[4].visible = true
|
||||||
|
rightColumns.value[5].visible = true
|
||||||
|
rightColumns.value[6].visible = false
|
||||||
|
}
|
||||||
timelineItems.value =
|
timelineItems.value =
|
||||||
[
|
[
|
||||||
{ title: '检验申请', time: row.sqsj },
|
{ title: '检验申请', time: row.sqsj },
|
||||||
@ -467,10 +491,12 @@ const rightTableData = ref([])
|
|||||||
// 配置项
|
// 配置项
|
||||||
const rightColumns = ref([
|
const rightColumns = ref([
|
||||||
{ prop: 'xmdh', label: '项目代号', align: 'center', visible: true, },
|
{ prop: 'xmdh', label: '项目代号', align: 'center', visible: true, },
|
||||||
{ prop: 'xmmc', label: '项目名称', align: 'center', visible: true, width: 150 },
|
{ prop: 'xmmc', label: '项目名称', align: 'center', visible: true, },
|
||||||
|
{ prop: 'xmmc', label: '培养结果', align: 'center', visible: true, width: 150 },
|
||||||
{ prop: 'csjg', label: '检验结果', align: 'center', visible: true, },
|
{ prop: 'csjg', label: '检验结果', align: 'center', visible: true, },
|
||||||
{ prop: 'refs', label: '参考值', align: 'center', visible: true, },
|
{ prop: 'refs', label: '参考值', align: 'center', visible: true, },
|
||||||
{ prop: 'dw', label: '单位', align: 'center', visible: true, },
|
{ prop: 'dw', label: '单位', align: 'center', visible: true, },
|
||||||
|
{ prop: 'od', label: '菌落计数', align: 'center', visible: true, },
|
||||||
{ prop: 'jgbz', label: '结果标志', align: 'center', visible: true, slot: 'jgbz' },
|
{ prop: 'jgbz', label: '结果标志', align: 'center', visible: true, slot: 'jgbz' },
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -502,7 +528,7 @@ const rightTableConfig = ref(
|
|||||||
{
|
{
|
||||||
// stripe: true, // 斑马纹
|
// stripe: true, // 斑马纹
|
||||||
border: true, // 边框
|
border: true, // 边框
|
||||||
height: '40vh', // 高度
|
height: '25vh', // 高度
|
||||||
highlightCurrentRow: true, // 高亮当前行
|
highlightCurrentRow: true, // 高亮当前行
|
||||||
cellStyle: rightCellStyleHd
|
cellStyle: rightCellStyleHd
|
||||||
}
|
}
|
||||||
@ -512,11 +538,12 @@ const formatJgbz = (v: string) => {
|
|||||||
return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : ''
|
return v == 'H' ? '高' : v == 'L' ? '低' : v == 'N' ? '阴性' : v == 'P' ? '阳性' : v == 'Q' ? '弱阳性' : v == 'M' ? '正常' : ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const expertComment = ref('')
|
||||||
const xmRow = ref<any>({})
|
const xmRow = ref<any>({})
|
||||||
// 查询抗生素
|
// 查询抗生素
|
||||||
const xmrowHandle = (row: any) => {
|
const xmrowHandle = (row: any) => {
|
||||||
xmRow.value = row
|
xmRow.value = row
|
||||||
|
expertComment.value = row.textresult
|
||||||
const data = {
|
const data = {
|
||||||
jyrq: Info.value.jyrq,
|
jyrq: Info.value.jyrq,
|
||||||
yq: Info.value.yq,
|
yq: Info.value.yq,
|
||||||
@ -528,7 +555,7 @@ const xmrowHandle = (row: any) => {
|
|||||||
bottomTableData.value = res.rows
|
bottomTableData.value = res.rows
|
||||||
if (res.rows.length > 0) {
|
if (res.rows.length > 0) {
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
rightTableConfig.value.height = `calc(50vh - ${heightForm.value}px)`
|
rightTableConfig.value.height = `calc(35vh - ${heightForm.value}px)`
|
||||||
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -753,10 +780,11 @@ const getEcharts = (data: any) => {
|
|||||||
const bottomTableData = ref([])
|
const bottomTableData = ref([])
|
||||||
// 配置项
|
// 配置项
|
||||||
const bottomColumns = ref([
|
const bottomColumns = ref([
|
||||||
{ prop: 'ywdh', label: '抗生素编号', align: 'center', visible: true, },
|
{ prop: 'ywdh', label: '抗生素代码', align: 'center', visible: true, },
|
||||||
{ prop: 'ywmc', label: '抗生素名称', align: 'center', visible: true, },
|
{ prop: 'ywmc', label: '抗生素名称', align: 'center', width: 200, visible: true, },
|
||||||
{ prop: 'csjg', label: '测试结果', align: 'center', visible: true },
|
{ prop: 'mic', label: 'MIC', align: 'center', visible: true },
|
||||||
// { prop: 'jgbz', label: '结果标志', align: 'center', visible: true },
|
{ prop: 'rad', label: 'KB', align: 'center', visible: true },
|
||||||
|
{ prop: 'csjg', label: '药敏结果', align: 'center', visible: true },
|
||||||
])
|
])
|
||||||
const botCellStyleHd = ({ row, column, rowIndex, columnIndex }: {
|
const botCellStyleHd = ({ row, column, rowIndex, columnIndex }: {
|
||||||
row: any;
|
row: any;
|
||||||
@ -764,10 +792,10 @@ const botCellStyleHd = ({ row, column, rowIndex, columnIndex }: {
|
|||||||
rowIndex: number;
|
rowIndex: number;
|
||||||
columnIndex: number;
|
columnIndex: number;
|
||||||
}) => {
|
}) => {
|
||||||
if (column.label == '测试结果' && row.jgbz == 'R') {
|
if (column.label == '药敏结果' && row.jgbz == 'R') {
|
||||||
return { background: '#ffc0c0 !important', color: '#606266' };
|
return { background: '#ffc0c0 !important', color: '#606266' };
|
||||||
}
|
}
|
||||||
if (column.label == '测试结果' && row.jgbz.trim() == "") {
|
if (column.label == '药敏结果' && row.jgbz.trim() == "") {
|
||||||
return { background: '#ffff80 !important', color: '#606266' };
|
return { background: '#ffff80 !important', color: '#606266' };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -776,7 +804,7 @@ const bottomTableConfig = ref(
|
|||||||
{
|
{
|
||||||
// stripe: true, // 斑马纹
|
// stripe: true, // 斑马纹
|
||||||
border: true, // 边框
|
border: true, // 边框
|
||||||
height: '32vh', // 高度
|
height: '40vh', // 高度
|
||||||
highlightCurrentRow: true, // 高亮当前行
|
highlightCurrentRow: true, // 高亮当前行
|
||||||
cellStyle: botCellStyleHd
|
cellStyle: botCellStyleHd
|
||||||
}
|
}
|
||||||
@ -951,4 +979,20 @@ function adjustTableHeight() {
|
|||||||
:deep(.el-form-item--default) {
|
:deep(.el-form-item--default) {
|
||||||
margin-bottom: 1.125rem;
|
margin-bottom: 1.125rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.expert-comment {
|
||||||
|
/* 限制最大显示行数为2行 */
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
/* 超出部分隐藏 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 可选:设置行高和最大宽度,优化显示效果 */
|
||||||
|
line-height: 1.5;
|
||||||
|
/* 行高,根据字体大小调整 */
|
||||||
|
max-width: 100%;
|
||||||
|
pointer-events: auto;
|
||||||
|
/* 允许鼠标交互 */
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="show" title="申请信息条形码自动输入" width="800px" :close-on-click-modal="false" :draggable="true"
|
<el-dialog v-model="show" title="申请信息条形码自动输入" width="800px" class="dialog_box" :close-on-click-modal="false"
|
||||||
@close="handleClose">
|
:draggable="true" @close="handleClose">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<el-form inline class="compact-form">
|
<el-form inline class="compact-form">
|
||||||
<el-form-item label="样本号:">
|
<el-form-item label="样本号:">
|
||||||
@ -55,8 +55,7 @@
|
|||||||
}}</span> 个
|
}}</span> 个
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-table :data="tableData" ref="tableRef" border height="400px" show-overflow-tooltip>
|
||||||
<el-table :data="tableData" border class="mt-4 w-full" height="400px">
|
|
||||||
<el-table-column prop="ybh" label="样本号" />
|
<el-table-column prop="ybh" label="样本号" />
|
||||||
<el-table-column prop="sqh" label="条码" />
|
<el-table-column prop="sqh" label="条码" />
|
||||||
<el-table-column prop="brxm" label="姓名" />
|
<el-table-column prop="brxm" label="姓名" />
|
||||||
@ -64,7 +63,6 @@
|
|||||||
<el-table-column prop="jymd" label="项目" width="300" />
|
<el-table-column prop="jymd" label="项目" width="300" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -139,6 +137,9 @@ const handleEnter = () => {
|
|||||||
}
|
}
|
||||||
prevSpecimen.value = res.data
|
prevSpecimen.value = res.data
|
||||||
tableData.value.push(res.data)
|
tableData.value.push(res.data)
|
||||||
|
nextTick(() => {
|
||||||
|
tableRef.value.setScrollTop(tableData.value.length * 30);
|
||||||
|
})
|
||||||
currentScanCount.value++;
|
currentScanCount.value++;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -147,25 +148,34 @@ const handleEnter = () => {
|
|||||||
// 上一个标本
|
// 上一个标本
|
||||||
const goPrev = () => {
|
const goPrev = () => {
|
||||||
emit('goPrev');
|
emit('goPrev');
|
||||||
|
sqhRef.value?.focus()
|
||||||
};
|
};
|
||||||
|
|
||||||
// 下一个标本
|
// 下一个标本
|
||||||
const goNext = () => {
|
const goNext = () => {
|
||||||
emit('goNext');
|
emit('goNext');
|
||||||
|
sqhRef.value?.focus()
|
||||||
};
|
};
|
||||||
|
|
||||||
// 最后一个标本
|
// 最后一个标本
|
||||||
const goLast = () => {
|
const goLast = () => {
|
||||||
emit('goLast');
|
emit('goLast');
|
||||||
|
sqhRef.value?.focus()
|
||||||
};
|
};
|
||||||
|
const tableRef = ref()
|
||||||
const printHandle = () => {
|
const printHandle = () => {
|
||||||
if (!tableData.value.length) return ElMessage.warning('样本打印数据为空')
|
if (!tableData.value.length) return ElMessage.warning('样本打印数据为空')
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const open = () => {
|
const open = () => {
|
||||||
ybh.value = labPat.value.ybh
|
ybh.value = labPat.value.ybh
|
||||||
show.value = true;
|
show.value = true;
|
||||||
|
nextTick(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
sqhRef.value?.focus()
|
||||||
|
}, 100);
|
||||||
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
@ -182,6 +192,12 @@ const formatDict = (v: string, dictType: string) => {
|
|||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
for (let index = 0; index < 100; index++) {
|
||||||
|
tableData.value.push({ ybh: index, sqh: '321421321', brxm: '李是大', brdh: '4332132', jymd: '高蛋白大 大的 ' },);
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@ -222,4 +238,25 @@ defineExpose({
|
|||||||
color: #0000ff;
|
color: #0000ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 页面基础样式 */
|
||||||
|
.page-container {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.other-content {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 1px dashed #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin-top: 30px;
|
||||||
|
text-align: center;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
</div>
|
</div>
|
||||||
<div ref="myEcharts" class="mt20" style="width:100%;height: 40vh" />
|
<div ref="myEcharts" class="mt20" style="width:100%;height: 35vh" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -42,7 +42,6 @@ import * as echarts from 'echarts';
|
|||||||
import { historyInfo } from '@/api/liswork/work/LisWork'
|
import { historyInfo } from '@/api/liswork/work/LisWork'
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import CustomTable from '@/components/elTable/index.vue'
|
import CustomTable from '@/components/elTable/index.vue'
|
||||||
import { getGroupInstrdList } from '@/api/liswork/work/LisWork'
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// 主键
|
// 主键
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@ -57,12 +56,11 @@ const props = defineProps({
|
|||||||
|
|
||||||
// 解构 props
|
// 解构 props
|
||||||
const { queryParams } = toRefs(props);
|
const { queryParams } = toRefs(props);
|
||||||
const instrOptions = ref<Array<{ yq: string, yqmc: string }>>([])
|
|
||||||
const tableData: any = ref([]);
|
const tableData: any = ref([]);
|
||||||
const tableRef = ref();
|
const tableRef = ref();
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{ label: '项目', prop: 'xmmc', width: 140, align: 'center', visible: true, },
|
{ label: '项目', prop: 'xmmc', width: 140, align: 'center', visible: true, },
|
||||||
{ label: '本次', prop: 'firstCsjg', width: 140, align: 'center', visible: true, },
|
{ label: '本次', prop: 'firstCsjg', width: 100, align: 'center', visible: true, },
|
||||||
{ label: '上一次', prop: 'oneCsjg', width: 150, align: 'center', visible: true, headerSlot: 'oneCsjg' },
|
{ label: '上一次', prop: 'oneCsjg', width: 150, align: 'center', visible: true, headerSlot: 'oneCsjg' },
|
||||||
{ label: '上二次', prop: 'twoCsjg', width: 150, align: 'center', visible: true, headerSlot: 'twoCsjg' },
|
{ label: '上二次', prop: 'twoCsjg', width: 150, align: 'center', visible: true, headerSlot: 'twoCsjg' },
|
||||||
{ label: '上三次', prop: 'threeCsjg', width: 150, align: 'center', visible: true, headerSlot: 'threeCsjg' },
|
{ label: '上三次', prop: 'threeCsjg', width: 150, align: 'center', visible: true, headerSlot: 'threeCsjg' },
|
||||||
@ -108,7 +106,7 @@ const cellStyle = ({ column, row }: any) => {
|
|||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
border: true,
|
border: true,
|
||||||
maxHeight: '350px',
|
height: '44vh',
|
||||||
highlightCurrentRow: true,
|
highlightCurrentRow: true,
|
||||||
cellStyle: cellStyle
|
cellStyle: cellStyle
|
||||||
}
|
}
|
||||||
@ -123,22 +121,16 @@ const formatHeader = (column: any, prefix: string) => {
|
|||||||
const yljgKey = `${prefix}yljg`;
|
const yljgKey = `${prefix}yljg`;
|
||||||
const dateKey = `${prefix}Date`;
|
const dateKey = `${prefix}Date`;
|
||||||
const ybhKey = `${prefix}ybh`;
|
const ybhKey = `${prefix}ybh`;
|
||||||
const yqKey = `${prefix}yq`;
|
const yqKey = `${prefix}yqmc`;
|
||||||
const brxbKey = `${prefix}brxb`;
|
const brxbKey = `${prefix}brxb`;
|
||||||
const nlKey = `${prefix}nl`;
|
const nlKey = `${prefix}nl`;
|
||||||
const item = tableData.value[index];
|
const item = tableData.value[index];
|
||||||
return `${item[yljgKey]} <br /> ${item[dateKey]} <br /> ${formatYq(item[yqKey])}(${item[ybhKey]}) <br /> ${item[brxbKey]},${item[nlKey]}`;
|
return `${item[yljgKey]} <br /> ${item[dateKey]} <br /> ${item[yqKey]}(${item[ybhKey]}) <br /> ${item[brxbKey]},${item[nlKey]}`;
|
||||||
}
|
}
|
||||||
return column.label;
|
return column.label;
|
||||||
};
|
};
|
||||||
|
|
||||||
const formatDict = (v: string, dictType: string) => {
|
|
||||||
return props.dictData[dictType]?.find((item: any) => item.value == v)?.label || v;
|
|
||||||
}
|
|
||||||
|
|
||||||
const formatYq = (yq: string) => {
|
|
||||||
return instrOptions.value?.find((item: any) => item.yq == yq.trim())?.yqmc || yq;
|
|
||||||
}
|
|
||||||
|
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
historyInfo(queryParams.value).then((res: any) => {
|
historyInfo(queryParams.value).then((res: any) => {
|
||||||
@ -153,7 +145,7 @@ const getList = () => {
|
|||||||
map.set(item.xmdh, {
|
map.set(item.xmdh, {
|
||||||
csjg: item.csjg,
|
csjg: item.csjg,
|
||||||
jyrq: dayjs(item.jyrq).format('YY/MM/DD'),
|
jyrq: dayjs(item.jyrq).format('YY/MM/DD'),
|
||||||
yq: item.yq,
|
yqmc: item.yqmc,
|
||||||
ybh: item.ybh,
|
ybh: item.ybh,
|
||||||
yljg: item.yljg,
|
yljg: item.yljg,
|
||||||
result_flag: item.result_flag,
|
result_flag: item.result_flag,
|
||||||
@ -184,7 +176,7 @@ const getList = () => {
|
|||||||
if (item) {
|
if (item) {
|
||||||
row[`${period}Csjg`] = item.csjg;
|
row[`${period}Csjg`] = item.csjg;
|
||||||
row[`${period}Date`] = item.jyrq;
|
row[`${period}Date`] = item.jyrq;
|
||||||
row[`${period}yq`] = item.yq;
|
row[`${period}yqmc`] = item.yqmc;
|
||||||
row[`${period}ybh`] = item.ybh;
|
row[`${period}ybh`] = item.ybh;
|
||||||
row[`${period}yljg`] = item.yljg;
|
row[`${period}yljg`] = item.yljg;
|
||||||
row[`${period}brxb`] = item.brxb;
|
row[`${period}brxb`] = item.brxb;
|
||||||
@ -341,14 +333,6 @@ const getEcharts = (data: any) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getGroupInstrdList().then((res: any) => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
instrOptions.value = res.data.map((item: any) => ({
|
|
||||||
yq: item.yq.trim(),
|
|
||||||
yqmc: item.yqmc
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -509,6 +509,8 @@ const handleNext = () => {
|
|||||||
}
|
}
|
||||||
// 最后一个样本
|
// 最后一个样本
|
||||||
const handleLast = () => {
|
const handleLast = () => {
|
||||||
|
queryParams.value.ybh = labPatList.value[labPatList.value.length - 1].ybh;
|
||||||
|
handleNext();
|
||||||
}
|
}
|
||||||
const batchRef = ref()
|
const batchRef = ref()
|
||||||
// 批量扫码
|
// 批量扫码
|
||||||
|
|||||||
@ -81,7 +81,7 @@ const tableDetailRef = ref();
|
|||||||
|
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{ label: '项目', prop: 'xmmc', width: 140, align: 'center', visible: true, },
|
{ label: '项目', prop: 'xmmc', width: 140, align: 'center', visible: true, },
|
||||||
{ label: '本次', prop: 'firstCsjg', width: 100, align: 'center', visible: true, headerSlot: 'firstCsjg' },
|
{ label: '本次', prop: 'firstCsjg', width: 150, align: 'center', visible: true, headerSlot: 'firstCsjg' },
|
||||||
{ label: '上一次', prop: 'oneCsjg', width: 150, align: 'center', visible: true, headerSlot: 'oneCsjg' },
|
{ label: '上一次', prop: 'oneCsjg', width: 150, align: 'center', visible: true, headerSlot: 'oneCsjg' },
|
||||||
{ label: '上二次', prop: 'twoCsjg', width: 150, align: 'center', visible: true, headerSlot: 'twoCsjg' },
|
{ label: '上二次', prop: 'twoCsjg', width: 150, align: 'center', visible: true, headerSlot: 'twoCsjg' },
|
||||||
{ label: '上三次', prop: 'threeCsjg', width: 150, align: 'center', visible: true, headerSlot: 'threeCsjg' },
|
{ label: '上三次', prop: 'threeCsjg', width: 150, align: 'center', visible: true, headerSlot: 'threeCsjg' },
|
||||||
@ -143,11 +143,11 @@ const formatHeader = (column: any, prefix: string) => {
|
|||||||
const dateKey = `${prefix}Date`;
|
const dateKey = `${prefix}Date`;
|
||||||
const ybhKey = `${prefix}ybh`;
|
const ybhKey = `${prefix}ybh`;
|
||||||
const yqdlKey = `${prefix}yqdl`;
|
const yqdlKey = `${prefix}yqdl`;
|
||||||
const yqKey = `${prefix}yq`;
|
const yqKey = `${prefix}yqmc`;
|
||||||
const brxbKey = `${prefix}brxb`;
|
const brxbKey = `${prefix}brxb`;
|
||||||
const nlKey = `${prefix}nl`;
|
const nlKey = `${prefix}nl`;
|
||||||
const item = tableDataDetail.value[index];
|
const item = tableDataDetail.value[index];
|
||||||
return ` ${item[dateKey]} <br /> (${item[ybhKey]}) <br /> ${formatyq(item[yqKey])} <br />${item[brxbKey]},${item[nlKey]}`;
|
return ` ${item[dateKey]} <br /> ${item[yqKey]} (${item[ybhKey]})<br />${item[brxbKey]},${item[nlKey]}`;
|
||||||
}
|
}
|
||||||
return column.label;
|
return column.label;
|
||||||
};
|
};
|
||||||
@ -194,7 +194,7 @@ const handleRowClick = (row: any) => {
|
|||||||
csjg: item.csjg,
|
csjg: item.csjg,
|
||||||
jyrq: dayjs(item.jyrq).format('YY/MM/DD'),
|
jyrq: dayjs(item.jyrq).format('YY/MM/DD'),
|
||||||
yqdl: item.yqdl,
|
yqdl: item.yqdl,
|
||||||
yq: item.yq,
|
yqmc: item.yqmc,
|
||||||
ybh: item.ybh,
|
ybh: item.ybh,
|
||||||
yljg: item.yljg,
|
yljg: item.yljg,
|
||||||
result_flag: item.result_flag,
|
result_flag: item.result_flag,
|
||||||
@ -226,7 +226,7 @@ const handleRowClick = (row: any) => {
|
|||||||
row[`${period}Csjg`] = item.csjg;
|
row[`${period}Csjg`] = item.csjg;
|
||||||
row[`${period}Date`] = item.jyrq;
|
row[`${period}Date`] = item.jyrq;
|
||||||
row[`${period}yqdl`] = item.yqdl;
|
row[`${period}yqdl`] = item.yqdl;
|
||||||
row[`${period}yq`] = item.yq;
|
row[`${period}yqmc`] = item.yqmc;
|
||||||
row[`${period}ybh`] = item.ybh;
|
row[`${period}ybh`] = item.ybh;
|
||||||
row[`${period}yljg`] = item.yljg;
|
row[`${period}yljg`] = item.yljg;
|
||||||
row[`${period}ResultFlag`] = item.result_flag;
|
row[`${period}ResultFlag`] = item.result_flag;
|
||||||
@ -246,14 +246,6 @@ const handleRowClick = (row: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const formatDict = (v: string, dictType: string) => {
|
|
||||||
return dictData.value[dictType]?.find((item: any) => item.value == v)?.label || v;
|
|
||||||
}
|
|
||||||
|
|
||||||
const formatyq = (v: string) => {
|
|
||||||
return instrOptions.value.find((item: any) => item.yq == v.trim())?.yqmc || v;
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user