区域检测
This commit is contained in:
parent
87d694ff0c
commit
cd76e8cea9
11
src/api/regional/index.ts
Normal file
11
src/api/regional/index.ts
Normal file
@ -0,0 +1,11 @@
|
||||
// @ts-ignore
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 获取流转数据
|
||||
export function querySample(query?: Object) {
|
||||
return request({
|
||||
url: '/transit/querySample',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -189,7 +189,7 @@ aside {
|
||||
.el-form-item__label {
|
||||
padding-bottom: 0px;
|
||||
color: #08355E;
|
||||
font-size: 12px;
|
||||
font-size: .75rem;
|
||||
}
|
||||
|
||||
// pointer-events: none;
|
||||
@ -213,4 +213,77 @@ aside {
|
||||
.flex-between {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.time-line-box {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
margin-top: .35rem;
|
||||
background-color: #f0f3f8;
|
||||
padding: .3rem 2.5rem;
|
||||
|
||||
|
||||
.time-line-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
width: 16.6%;
|
||||
|
||||
.timeline-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.index {
|
||||
width: 1.875rem;
|
||||
height: 1.875rem;
|
||||
line-height: 1.875rem;
|
||||
background: #E1E9F7;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
font-family: SourceHanSansCN, SourceHanSansCN;
|
||||
font-weight: 500;
|
||||
font-size: 1.125rem;
|
||||
color: #4767A3;
|
||||
}
|
||||
|
||||
.active {
|
||||
background-color: #4096ff;
|
||||
box-shadow: 0 0 0 .25rem rgba(64, 150, 255, 0.2);
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.timeline-title {
|
||||
font-family: SourceHanSansCN, SourceHanSansCN;
|
||||
font-weight: 500;
|
||||
font-size: 1rem;
|
||||
color: #4767A3;
|
||||
}
|
||||
|
||||
.timeline-time {
|
||||
font-family: SourceHanSansCN, SourceHanSansCN;
|
||||
font-weight: 400;
|
||||
font-size: .875rem;
|
||||
color: #4767A3;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.no_active {
|
||||
|
||||
.index,
|
||||
.timeline-title {
|
||||
color: #9b9999 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.timg {
|
||||
width: 3.125rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -162,6 +162,11 @@
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
|
||||
background-color: #a4beef !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.cell.el-tooltip {
|
||||
padding: 0 !important;
|
||||
height: 30px;
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
<!-- 分页组件 -->
|
||||
<div v-if="pagination.show" class="pagination-wrapper">
|
||||
<el-pagination v-model:current-page="currentPage" v-model:page-size="currentPageSize" :total="pagination.total"
|
||||
:page-sizes="pagination.pageSizes || [10, 20, 50, 100]"
|
||||
:size="aotuSize" :page-sizes="pagination.pageSizes || [10, 20, 50, 100]"
|
||||
:layout="pagination.layout || 'total, sizes, prev, pager, next, jumper'"
|
||||
:background="pagination.background !== false" :small="pagination.small || false"
|
||||
:disabled="pagination.disabled || false" @size-change="handleSizeChange"
|
||||
@ -72,6 +72,8 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, ref, watch, PropType, onMounted } from "vue";
|
||||
import { TableColumnCtx } from 'element-plus';
|
||||
import { classCom } from "@/utils/classCom";
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
// @ts-ignore
|
||||
import Sortable from 'sortablejs'; // 引入sortablejs
|
||||
interface TableColumn {
|
||||
@ -395,8 +397,7 @@ defineExpose({
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding: 12px 0;
|
||||
margin-top: 16px;
|
||||
padding: .3125rem 0;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
|
||||
@ -1,17 +1,10 @@
|
||||
<template>
|
||||
<div id="tags-view-container" class="tags-view-container">
|
||||
<scroll-pane ref="scrollPaneRef" class="tags-view-wrapper" @scroll="handleScroll">
|
||||
<router-link
|
||||
v-for="tag in visitedViews"
|
||||
:key="tag.path"
|
||||
:data-path="tag.path"
|
||||
:class="isActive(tag) ? 'active' : ''"
|
||||
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
|
||||
class="tags-view-item"
|
||||
:style="activeStyle(tag)"
|
||||
@click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''"
|
||||
@contextmenu.prevent="openMenu(tag, $event)"
|
||||
>
|
||||
<router-link v-for="tag in visitedViews" :key="tag.path" :data-path="tag.path"
|
||||
:class="isActive(tag) ? 'active' : ''" :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
|
||||
class="tags-view-item" :style="activeStyle(tag)" @click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''"
|
||||
@contextmenu.prevent="openMenu(tag, $event)">
|
||||
{{ tag.title }}
|
||||
<span v-if="!isAffix(tag)" @click.prevent.stop="closeSelectedTag(tag)">
|
||||
<close class="el-icon-close" style="width: 1em; height: 1em;vertical-align: middle;" />
|
||||
@ -133,7 +126,7 @@ function initTags() {
|
||||
for (const tag of res) {
|
||||
// Must have tag name
|
||||
if (tag.name) {
|
||||
useTagsViewStore().addVisitedView(tag)
|
||||
useTagsViewStore().addVisitedView(tag)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -243,73 +236,91 @@ function handleScroll() {
|
||||
|
||||
<style lang='scss' scoped>
|
||||
.tags-view-container {
|
||||
height: 34px; /* 稍微增加高度,让立体效果更明显 */
|
||||
height: 2.125rem;
|
||||
/* 稍微增加高度,让立体效果更明显 */
|
||||
width: 100%;
|
||||
background: #f5f7fa; /* 标签栏整体背景(浅灰,与标签区分) */
|
||||
background: #f5f7fa;
|
||||
/* 标签栏整体背景(浅灰,与标签区分) */
|
||||
/* 1. 去掉底部边框(关键:消除物理边框导致的缝隙) */
|
||||
border-bottom: none;
|
||||
/* 2. 弱化或去掉标签栏的底部阴影(避免阴影造成视觉缝隙) */
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02); /* 仅保留极浅的顶部阴影 */
|
||||
box-shadow: 0 .0625rem .125rem rgba(0, 0, 0, 0.02);
|
||||
/* 仅保留极浅的顶部阴影 */
|
||||
/* 标签栏底部加一条浅线,区分标签栏和下方页面 */
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
border-bottom: .0625rem solid #e0e0e0;
|
||||
|
||||
.tags-view-wrapper {
|
||||
.tags-view-item {
|
||||
/* 未激活标签:灰色渐变+立体阴影 */
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
padding: 0 12px;
|
||||
font-size: 12px;
|
||||
margin-left: 4px;
|
||||
margin-top: 4px;
|
||||
border-radius: 4px 4px 0 0; /* 底部圆角去掉,与下方无缝感 */
|
||||
border: 1px solid #d0d0d0; /* 浅灰边框 */
|
||||
border-bottom-color: transparent; /* 底部边框透明,避免与标签栏线重叠 */
|
||||
/* 未激活标签:灰色渐变+立体阴影 */
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
height: 1.75rem;
|
||||
line-height: 1.75rem;
|
||||
padding: 0 .75rem;
|
||||
font-size: .75rem;
|
||||
margin-left: .25rem;
|
||||
margin-top: .25rem;
|
||||
border-radius: .25rem .25rem 0 0;
|
||||
/* 底部圆角去掉,与下方无缝感 */
|
||||
border: 1px solid #d0d0d0;
|
||||
/* 浅灰边框 */
|
||||
border-bottom-color: transparent;
|
||||
/* 底部边框透明,避免与标签栏线重叠 */
|
||||
|
||||
/* 灰色渐变:从上到下浅灰→深灰(模拟轻微凸起) */
|
||||
/* 灰色渐变:从上到下浅灰→深灰(模拟轻微凸起) */
|
||||
background: linear-gradient(180deg, #f0f0f0 0%, #e0e0e0 100%);
|
||||
|
||||
/* 立体阴影:底部轻微阴影+顶部内高光 */
|
||||
box-shadow:
|
||||
0 2px 4px rgba(0, 0, 0, 0.1),
|
||||
/* 底部阴影加深,突出悬浮感 */
|
||||
inset 0 1px 1px rgba(255, 255, 255, 0.8);
|
||||
/* 顶部内高光,增强凸起感 */
|
||||
|
||||
|
||||
color: #777;
|
||||
/* 文字灰色,不抢眼 */
|
||||
transition: all 0.2s ease;
|
||||
/* 过渡动画 */
|
||||
|
||||
/* 鼠标悬停时增强效果(未激活状态) */
|
||||
&:hover:not(.active) {
|
||||
background: linear-gradient(180deg, #f5f5f5 0%, #e8e8e8 100%);
|
||||
box-shadow:
|
||||
0 2px 4px rgba(0, 0, 0, 0.1), /* 底部阴影加深,突出悬浮感 */
|
||||
inset 0 1px 1px rgba(255, 255, 255, 0.8); /* 顶部内高光,增强凸起感 */
|
||||
|
||||
|
||||
color: #777; /* 文字灰色,不抢眼 */
|
||||
transition: all 0.2s ease; /* 过渡动画 */
|
||||
|
||||
/* 鼠标悬停时增强效果(未激活状态) */
|
||||
&:hover:not(.active) {
|
||||
background: linear-gradient(180deg, #f5f5f5 0%, #e8e8e8 100%);
|
||||
box-shadow:
|
||||
0 3px 4px rgba(0, 0, 0, 0.08),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
||||
border-color: #d0d0d0;
|
||||
color: #333; /* hover时文字略深 */
|
||||
}
|
||||
0 3px 4px rgba(0, 0, 0, 0.08),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
||||
border-color: #d0d0d0;
|
||||
color: #333;
|
||||
/* hover时文字略深 */
|
||||
}
|
||||
|
||||
/* 激活标签样式:深色渐变+强阴影,突出当前页 */
|
||||
&.active {
|
||||
/* 激活标签:从左到右的主题色渐变(示例用蓝紫色) */
|
||||
background: linear-gradient(90deg, #409eff 0%, #6b7aff 100%);
|
||||
color: #ffffff; /* 文字白色,与渐变背景对比 */
|
||||
border-color: #409eff; /* 边框与渐变颜色匹配 */
|
||||
box-shadow: 0 3px 6px rgba(64, 158, 255, 0.25), /* 外阴影(带颜色倾向,增强立体感) */
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.2); /* 内阴影(顶部亮边,模拟高光) */
|
||||
transform: translateY(-1px); /* 轻微上浮,与其他标签区分 */
|
||||
color: #ffffff;
|
||||
/* 文字白色,与渐变背景对比 */
|
||||
border-color: #409eff;
|
||||
/* 边框与渐变颜色匹配 */
|
||||
box-shadow: 0 3px 6px rgba(64, 158, 255, 0.25),
|
||||
/* 外阴影(带颜色倾向,增强立体感) */
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
||||
/* 内阴影(顶部亮边,模拟高光) */
|
||||
transform: translateY(-1px);
|
||||
/* 轻微上浮,与其他标签区分 */
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
background: #fff;
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
width: .5rem;
|
||||
height: .5rem;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
margin-right: 5px;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); /* 小圆圈阴影,增强立体 */
|
||||
margin-right: .3125rem;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
/* 小圆圈阴影,增强立体 */
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -327,16 +338,20 @@ function handleScroll() {
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #333;
|
||||
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15), /* 外阴影 */
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8); /* 内阴影 */
|
||||
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15),
|
||||
/* 外阴影 */
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
/* 内阴影 */
|
||||
border: 1px solid #e5e7eb;
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 7px 16px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: #f0f5ff; /* hover 时浅蓝色背景,与整体风格呼应 */
|
||||
background: #f0f5ff;
|
||||
/* hover 时浅蓝色背景,与整体风格呼应 */
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -348,23 +363,25 @@ function handleScroll() {
|
||||
.tags-view-wrapper {
|
||||
.tags-view-item {
|
||||
.el-icon-close {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
vertical-align: 2px;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
vertical-align: .125rem;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||
transform-origin: 100% 50%;
|
||||
|
||||
&:before {
|
||||
transform: scale(0.6);
|
||||
display: inline-block;
|
||||
vertical-align: -3px;
|
||||
vertical-align: -0.1875rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: #b4bccc;
|
||||
color: #fff;
|
||||
width: 12px !important;
|
||||
height: 12px !important;
|
||||
width: .75rem !important;
|
||||
height: .75rem !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,10 +113,10 @@
|
||||
<!-- 样本流程 -->
|
||||
<div class="time-line-box">
|
||||
<div v-for="(item, i) in timelineItems" :key="i" class="time-line-item">
|
||||
<div v-if="i != 0 && item.time" class="timeline-connector">
|
||||
<div v-if="i != 0" class="timeline-connector">
|
||||
<img class="timg" src="@/assets/images/yjt.png" alt="">
|
||||
</div>
|
||||
<div class="timeline-content">
|
||||
<div :class="['timeline-content', i > lastTimeIndex ? 'no_active' : '']">
|
||||
<div :class="['index', lastTimeIndex == i ? 'active' : '']">{{ i + 1 }}</div>
|
||||
<div class="timeline-title">{{ item.title }}</div>
|
||||
<div class="timeline-time">{{ item.time }}</div>
|
||||
|
||||
@ -133,10 +133,10 @@
|
||||
<!-- 样本流程 -->
|
||||
<div class="time-line-box">
|
||||
<div v-for="(item, i) in timelineItems" :key="i" class="time-line-item">
|
||||
<div v-if="i != 0 && item.time" class="timeline-connector">
|
||||
<div v-if="i != 0" class="timeline-connector">
|
||||
<img class="timg" src="@/assets/images/yjt.png" alt="">
|
||||
</div>
|
||||
<div class="timeline-content">
|
||||
<div :class="['timeline-content', i > lastTimeIndex ? 'no_active' : '']">
|
||||
<div :class="['index', lastTimeIndex == i ? 'active' : '']">{{ i + 1 }}</div>
|
||||
<div class="timeline-title">{{ item.title }}</div>
|
||||
<div class="timeline-time">{{ item.time }}</div>
|
||||
|
||||
11
src/views/liswork/micro/index.vue
Normal file
11
src/views/liswork/micro/index.vue
Normal file
@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 微生物检验录入界面 -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
@ -14,8 +14,9 @@
|
||||
<el-table-column prop="sflbdh" label="分单类别代号" width="110">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sflbdh')">
|
||||
<el-input v-model="scope.row.sflbdh" size="small" @blur="handleSave(scope.row, 'sflbdh')"
|
||||
@keyup.enter="handleSave(scope.row, 'sflbdh')" auto-focus :ref="getInputRef(scope.row.id, 'sflbdh')" />
|
||||
<el-input v-model="scope.row.sflbdh" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sflbdh')" @keyup.enter="handleSave(scope.row, 'sflbdh')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sflbdh')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'sflbdh' })">
|
||||
@ -29,8 +30,9 @@
|
||||
<el-table-column prop="sflbmc" label="类别名称" width="150">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sflbmc')">
|
||||
<el-input v-model="scope.row.sflbmc" size="small" @blur="handleSave(scope.row, 'sflbmc')"
|
||||
@keyup.enter="handleSave(scope.row, 'sflbmc')" auto-focus :ref="getInputRef(scope.row.id, 'sflbmc')" />
|
||||
<el-input v-model="scope.row.sflbmc" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sflbmc')" @keyup.enter="handleSave(scope.row, 'sflbmc')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sflbmc')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'sflbmc' })">
|
||||
@ -44,8 +46,9 @@
|
||||
<el-table-column prop="sflbjc" label="类别简称" width="120">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sflbjc')">
|
||||
<el-input v-model="scope.row.sflbjc" size="small" @blur="handleSave(scope.row, 'sflbjc')"
|
||||
@keyup.enter="handleSave(scope.row, 'sflbjc')" auto-focus :ref="getInputRef(scope.row.id, 'sflbjc')" />
|
||||
<el-input v-model="scope.row.sflbjc" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sflbjc')" @keyup.enter="handleSave(scope.row, 'sflbjc')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sflbjc')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'sflbjc' })">
|
||||
@ -59,8 +62,9 @@
|
||||
<el-table-column prop="txmlb" label="条码类别" width="110">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'txmlb')">
|
||||
<el-input v-model="scope.row.txmlb" size="small" @blur="handleSave(scope.row, 'txmlb')"
|
||||
@keyup.enter="handleSave(scope.row, 'txmlb')" auto-focus :ref="getInputRef(scope.row.id, 'txmlb')" />
|
||||
<el-input v-model="scope.row.txmlb" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'txmlb')" @keyup.enter="handleSave(scope.row, 'txmlb')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'txmlb')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'txmlb' })">
|
||||
@ -74,8 +78,8 @@
|
||||
<el-table-column prop="yblx" label="标本类型" width="140">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'yblx')">
|
||||
<el-select v-model="scope.row.yblx" size="small" @change="handleSave(scope.row, 'yblx')"
|
||||
@blur="handleSave(scope.row, 'yblx')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.yblx" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'yblx')" @blur="handleSave(scope.row, 'yblx')" auto-focus filterable>
|
||||
<el-option v-for="item in dictData.BT" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -91,9 +95,9 @@
|
||||
<el-table-column prop="sampletips" label="标本采集说明" width="220">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sampletips')">
|
||||
<el-input v-model="scope.row.sampletips" size="small" @blur="handleSave(scope.row, 'sampletips')"
|
||||
@keyup.enter.ctrl="handleSave(scope.row, 'sampletips')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sampletips')" />
|
||||
<el-input v-model="scope.row.sampletips" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sampletips')" @keyup.enter.ctrl="handleSave(scope.row, 'sampletips')"
|
||||
auto-focus :ref="getInputRef(scope.row.id, 'sampletips')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="multi-line-text" @click.stop="handleCellClick(scope.row, { property: 'sampletips' })">
|
||||
@ -107,8 +111,8 @@
|
||||
<el-table-column prop="bglqdh" label="报告领取规则" width="160">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'bglqdh')">
|
||||
<el-select v-model="scope.row.bglqdh" size="small" @change="handleSave(scope.row, 'bglqdh')" filterable
|
||||
@blur="handleSave(scope.row, 'bglqdh')" auto-focus>
|
||||
<el-select v-model="scope.row.bglqdh" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'bglqdh')" filterable @blur="handleSave(scope.row, 'bglqdh')" auto-focus>
|
||||
<el-option v-for="item in reportRuleOptions" :key="item.bglqdh" :label="item.bglqmc"
|
||||
:value="item.bglqdh" />
|
||||
</el-select>
|
||||
@ -125,7 +129,7 @@
|
||||
<el-table-column prop="printcnt" label="打印份数" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'printcnt')">
|
||||
<el-input-number v-model="scope.row.printcnt" :min="1" :max="9" size="small"
|
||||
<el-input-number v-model="scope.row.printcnt" class="full-width-input" :min="1" :max="9" size="small"
|
||||
@blur="handleSave(scope.row, 'printcnt')" @keyup.enter="handleSave(scope.row, 'printcnt')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'printcnt')" />
|
||||
</template>
|
||||
@ -141,8 +145,9 @@
|
||||
<el-table-column prop="lisgroup1" label="专业组(样本数)" width="140" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'lisgroup1')">
|
||||
<el-select v-model="scope.row.lisgroup1" size="small" @change="handleSave(scope.row, 'lisgroup1')"
|
||||
@blur="handleSave(scope.row, 'lisgroup1')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.lisgroup1" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'lisgroup1')" @blur="handleSave(scope.row, 'lisgroup1')" auto-focus
|
||||
filterable>
|
||||
<el-option v-for="item in dictData.LISGROUP1" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -158,8 +163,9 @@
|
||||
<el-table-column prop="lisgroup2" label="专业组(周转时间)" width="160" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'lisgroup2')">
|
||||
<el-select v-model="scope.row.lisgroup2" size="small" @change="handleSave(scope.row, 'lisgroup2')"
|
||||
@blur="handleSave(scope.row, 'lisgroup2')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.lisgroup2" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'lisgroup2')" @blur="handleSave(scope.row, 'lisgroup2')" auto-focus
|
||||
filterable>
|
||||
<el-option v-for="item in dictData.LISGROUP2" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -203,9 +209,9 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 操作列 -->
|
||||
<el-table-column label="操作" align="center" fixed="right">
|
||||
<el-table-column label="操作" align="center" fixed="right" width="100">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
<el-button text type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@ -1,28 +1,30 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="cate_container">
|
||||
<!-- 左侧表格 -->
|
||||
<div style="flex:1">
|
||||
<el-input v-model="leftSearchValue" placeholder="请输入类别名称或代号" />
|
||||
<el-table :data="filteredLeftTableData" @row-click="handleLeftRowClick" highlight-current-row
|
||||
:cell-style="cellStyle" height="80vh">
|
||||
<div class="left_box">
|
||||
<el-input v-model="leftSearchValue" placeholder="请输入类别名称或代号" class="mb10" />
|
||||
<el-table :data="filteredLeftTableData" @row-click="handleLeftRowClick" highlight-current-row border
|
||||
:row-style="cellStyle" height="80vh" style="width: 100%;">
|
||||
<el-table-column prop="sflbdh" label="分单类别代号" width="110" />
|
||||
<el-table-column prop="sflbmc" label="类别名称" />
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 中间表格 -->
|
||||
<div style="flex:2">
|
||||
<el-input v-model="middleSearchValue" placeholder="请输入项目名称或代号" />
|
||||
<el-table :data="filteredMiddleTableData" @row-dblclick="handleMiddleRowDblClick" height="80vh">
|
||||
<div class="m_box">
|
||||
<el-input v-model="middleSearchValue" placeholder="请输入项目名称或代号" class="mb10" />
|
||||
<el-table :data="filteredMiddleTableData" @row-dblclick="handleMiddleRowDblClick" highlight-current-row
|
||||
style="width: 100%;" height="80vh" border>
|
||||
<el-table-column prop="sfxmdh" label="项目代号" />
|
||||
<el-table-column prop="sfxmmc" label="当前类别包含门诊项目" />
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<!-- 右侧表格 -->
|
||||
<div style="flex:3">
|
||||
<el-input v-model="rightSearchValue" placeholder="请输入项目名称、代号或助记符" />
|
||||
<el-table :data="filteredRightTableData" @row-dblclick="handleRightRowDblClick" height="80vh">
|
||||
<div class="right_box">
|
||||
<el-input v-model="rightSearchValue" placeholder="请输入项目名称、代号或助记符" class="mb10" />
|
||||
<el-table :data="filteredRightTableData" @row-dblclick="handleRightRowDblClick" highlight-current-row
|
||||
height="80vh" border style="width: 100%;">
|
||||
<el-table-column prop="sfxmdh" label="门诊项目代号" />
|
||||
<el-table-column prop="sfxmmc" label="门诊项目名称" />
|
||||
<el-table-column prop="zjf" label="助记符" />
|
||||
@ -153,16 +155,34 @@ const cellStyle = ({ row, column, rowIndex, columnIndex }: {
|
||||
const textColor = classCom.getContrastTextColor(bgColor);
|
||||
return {
|
||||
backgroundColor: `${bgColor} !important`,
|
||||
color: textColor,
|
||||
color: '#000',
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.app-container {
|
||||
.cate_container {
|
||||
display: flex;
|
||||
padding: 20px;
|
||||
gap: 35px;
|
||||
justify-content: space-between;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
.left_box {
|
||||
width: 20%;
|
||||
padding: 10px;
|
||||
background-color: rgb(214, 240, 252);
|
||||
}
|
||||
|
||||
.m_box {
|
||||
width: 30%;
|
||||
padding: 10px;
|
||||
background-color: rgb(214, 240, 252);
|
||||
}
|
||||
|
||||
.right_box {
|
||||
width: 49%;
|
||||
padding: 10px;
|
||||
background-color: rgb(214, 240, 252);
|
||||
}
|
||||
</style>
|
||||
@ -16,8 +16,9 @@
|
||||
<el-table-column prop="sfxmdh" label="收费项目代号" width="110">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sfxmdh')">
|
||||
<el-input v-model="scope.row.sfxmdh" size="small" @blur="handleSave(scope.row, 'sfxmdh')"
|
||||
@keyup.enter="handleSave(scope.row, 'sfxmdh')" auto-focus :ref="getInputRef(scope.row.id, 'sfxmdh')" />
|
||||
<el-input v-model="scope.row.sfxmdh" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sfxmdh')" @keyup.enter="handleSave(scope.row, 'sfxmdh')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sfxmdh')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'sfxmdh' })">
|
||||
@ -31,8 +32,9 @@
|
||||
<el-table-column prop="sfxmmc" label="收费项目名称" width="150">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'sfxmmc')">
|
||||
<el-input v-model="scope.row.sfxmmc" size="small" @blur="handleSave(scope.row, 'sfxmmc')"
|
||||
@keyup.enter="handleSave(scope.row, 'sfxmmc')" auto-focus :ref="getInputRef(scope.row.id, 'sfxmmc')" />
|
||||
<el-input v-model="scope.row.sfxmmc" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'sfxmmc')" @keyup.enter="handleSave(scope.row, 'sfxmmc')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'sfxmmc')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'sfxmmc' })">
|
||||
@ -46,7 +48,7 @@
|
||||
<el-table-column prop="bz" label="简称" width="120">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'bz')">
|
||||
<el-input v-model="scope.row.bz" size="small" @blur="handleSave(scope.row, 'bz')"
|
||||
<el-input v-model="scope.row.bz" size="small" class="full-width-input" @blur="handleSave(scope.row, 'bz')"
|
||||
@keyup.enter="handleSave(scope.row, 'bz')" auto-focus :ref="getInputRef(scope.row.id, 'bz')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
@ -61,8 +63,9 @@
|
||||
<el-table-column prop="dj" label="价格" width="150" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'dj')">
|
||||
<el-input-number v-model="scope.row.dj" :min="1" :max="100" size="small" @blur="handleSave(scope.row, 'dj')"
|
||||
@keyup.enter="handleSave(scope.row, 'dj')" auto-focus :ref="getInputRef(scope.row.id, 'dj')" />
|
||||
<el-input-number v-model="scope.row.dj" :min="1" :max="100" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'dj')" @keyup.enter="handleSave(scope.row, 'dj')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'dj')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'dj' })">
|
||||
@ -75,8 +78,9 @@
|
||||
<el-table-column prop="spec" label="规格" width="120">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'spec')">
|
||||
<el-input v-model="scope.row.spec" size="small" @blur="handleSave(scope.row, 'spec')"
|
||||
@keyup.enter="handleSave(scope.row, 'spec')" auto-focus :ref="getInputRef(scope.row.id, 'spec')" />
|
||||
<el-input v-model="scope.row.spec" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'spec')" @keyup.enter="handleSave(scope.row, 'spec')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'spec')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'spec' })">
|
||||
@ -89,8 +93,9 @@
|
||||
<el-table-column prop="dept" label="科室" width="150">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'dept')">
|
||||
<el-select v-model="scope.row.dept" size="small" @change="handleSave(scope.row, 'dept')"
|
||||
@blur="handleSave(scope.row, 'dept')" auto-focus filterable style="width: 100%;">
|
||||
<el-select v-model="scope.row.dept" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'dept')" @blur="handleSave(scope.row, 'dept')" auto-focus filterable
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in dictData.DP" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -106,8 +111,8 @@
|
||||
<el-table-column prop="yblx" label="采集样本" width="140">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'yblx')">
|
||||
<el-select v-model="scope.row.yblx" size="small" @change="handleSave(scope.row, 'yblx')"
|
||||
@blur="handleSave(scope.row, 'yblx')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.yblx" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'yblx')" @blur="handleSave(scope.row, 'yblx')" auto-focus filterable>
|
||||
<el-option v-for="item in dictData.BT" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -122,8 +127,9 @@
|
||||
<el-table-column prop="bgts" label="报告天数" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'bgts')">
|
||||
<el-input-number v-model="scope.row.bgts" size="small" @blur="handleSave(scope.row, 'bgts')"
|
||||
@keyup.enter="handleSave(scope.row, 'bgts')" auto-focus :ref="getInputRef(scope.row.id, 'bgts')" />
|
||||
<el-input-number v-model="scope.row.bgts" size="small" class="full-width-input"
|
||||
@blur="handleSave(scope.row, 'bgts')" @keyup.enter="handleSave(scope.row, 'bgts')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'bgts')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<span @click.stop="handleCellClick(scope.row, { property: 'bgts' })">
|
||||
@ -137,7 +143,7 @@
|
||||
<el-table-column prop="zjf" label="助记符" width="150" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'zjf')">
|
||||
<el-input v-model="scope.row.zjf" size="small" @blur="handleSave(scope.row, 'zjf')"
|
||||
<el-input v-model="scope.row.zjf" size="small" class="full-width-input" @blur="handleSave(scope.row, 'zjf')"
|
||||
@keyup.enter.ctrl="handleSave(scope.row, 'zjf')" auto-focus :ref="getInputRef(scope.row.id, 'zjf')" />
|
||||
</template>
|
||||
<template v-else>
|
||||
@ -152,8 +158,8 @@
|
||||
<el-table-column prop="bglqdh" label="报告领取规则" width="160">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'bglqdh')">
|
||||
<el-select v-model="scope.row.bglqdh" size="small" @change="handleSave(scope.row, 'bglqdh')" filterable
|
||||
@blur="handleSave(scope.row, 'bglqdh')" auto-focus>
|
||||
<el-select v-model="scope.row.bglqdh" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'bglqdh')" filterable @blur="handleSave(scope.row, 'bglqdh')" auto-focus>
|
||||
<el-option v-for="item in reportRuleOptions" :key="item.bglqdh" :label="item.bglqmc"
|
||||
:value="item.bglqdh" />
|
||||
</el-select>
|
||||
@ -182,8 +188,9 @@
|
||||
<el-table-column prop="lisgroup1" label="专业组(样本数)" width="140" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'lisgroup1')">
|
||||
<el-select v-model="scope.row.lisgroup1" size="small" @change="handleSave(scope.row, 'lisgroup1')"
|
||||
@blur="handleSave(scope.row, 'lisgroup1')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.lisgroup1" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'lisgroup1')" @blur="handleSave(scope.row, 'lisgroup1')" auto-focus
|
||||
filterable>
|
||||
<el-option v-for="item in dictData.LISGROUP1" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -199,8 +206,9 @@
|
||||
<el-table-column prop="lisgroup2" label="专业组(周转时间)" width="160" align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'lisgroup2')">
|
||||
<el-select v-model="scope.row.lisgroup2" size="small" @change="handleSave(scope.row, 'lisgroup2')"
|
||||
@blur="handleSave(scope.row, 'lisgroup2')" auto-focus filterable>
|
||||
<el-select v-model="scope.row.lisgroup2" size="small" class="full-width-input"
|
||||
@change="handleSave(scope.row, 'lisgroup2')" @blur="handleSave(scope.row, 'lisgroup2')" auto-focus
|
||||
filterable>
|
||||
<el-option v-for="item in dictData.LISGROUP2" :key="item.label" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</template>
|
||||
@ -216,7 +224,7 @@
|
||||
<el-table-column prop="indication" label="适应症" width="220">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'indication')">
|
||||
<el-input v-model="scope.row.indication" size="small" type="textarea" :rows="2"
|
||||
<el-input v-model="scope.row.indication" size="small" class="full-width-input" type="textarea" :rows="2"
|
||||
@blur="handleSave(scope.row, 'indication')" @keyup.enter.ctrl="handleSave(scope.row, 'indication')"
|
||||
auto-focus :ref="getInputRef(scope.row.id, 'indication')" />
|
||||
</template>
|
||||
@ -232,7 +240,7 @@
|
||||
<el-table-column prop="affect" label="作用" width="220">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'affect')">
|
||||
<el-input v-model="scope.row.affect" size="small" type="textarea" :rows="2"
|
||||
<el-input v-model="scope.row.affect" size="small" class="full-width-input" type="textarea" :rows="2"
|
||||
@blur="handleSave(scope.row, 'affect')" @keyup.enter.ctrl="handleSave(scope.row, 'affect')" auto-focus
|
||||
:ref="getInputRef(scope.row.id, 'affect')" />
|
||||
</template>
|
||||
@ -248,7 +256,7 @@
|
||||
<el-table-column prop="attention" label="采集要求" width="220">
|
||||
<template #default="scope">
|
||||
<template v-if="isEditing(scope.row, 'attention')">
|
||||
<el-input v-model="scope.row.attention" size="small" type="textarea" :rows="2"
|
||||
<el-input v-model="scope.row.attention" size="small" class="full-width-input" type="textarea" :rows="2"
|
||||
@blur="handleSave(scope.row, 'attention')" @keyup.enter.ctrl="handleSave(scope.row, 'attention')"
|
||||
auto-focus :ref="getInputRef(scope.row.id, 'attention')" />
|
||||
</template>
|
||||
@ -261,9 +269,9 @@
|
||||
</el-table-column>
|
||||
|
||||
<!-- 操作列 -->
|
||||
<el-table-column label="操作" align="center" fixed="right">
|
||||
<el-table-column label="操作" align="center" fixed="right" width="100">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
<el-button text type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@ -1,47 +1,47 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="5" class="compact-form" :span="24">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-position="left">
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-form-item label="" label-width="0px" prop="brdh">
|
||||
<!-- <el-row :gutter="5" class="compact-form"> -->
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-position="left">
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-form-item label="" label-width="0px" prop="brdh">
|
||||
|
||||
<el-col :span="6">
|
||||
<div> 就诊卡号/病历号/磁卡号: </div>
|
||||
<el-input v-model="queryParams.brdh" placeholder="就诊卡号/病历号/磁卡号" clearable @keyup.enter="handleQuery" />
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-radio-group v-model="queryParams.zt" size="default">
|
||||
<el-radio v-for="(item, index) in showconfirmOptions" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<div> 申请获取期限: </div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-col :span="6">
|
||||
<div> 就诊卡号/病历号/磁卡号: </div>
|
||||
<el-input v-model="queryParams.brdh" placeholder="就诊卡号/病历号/磁卡号" clearable @keyup.enter="handleQuery" />
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-radio-group v-model="queryParams.zt" size="default">
|
||||
<el-radio v-for="(item, index) in showconfirmOptions" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<div> 申请获取期限: </div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
||||
<el-radio-group v-model="queryParams.subday" size="default">
|
||||
<el-radio v-for="(item, index) in subdayOptions" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-select v-model="queryParams.cardtype" placeholder="卡类型" clearable :style="{ width: '100%' }">
|
||||
<el-option v-for="(item, index) in cardtypeOptions" :key="index" :label="item.label" :value="item.value"
|
||||
:disabled="item.disabled"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" icon="Search" @click="readCard">读卡</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<PatSearchDialog @select="handlePatientSelect" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-radio-group v-model="queryParams.subday" size="default">
|
||||
<el-radio v-for="(item, index) in subdayOptions" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-select v-model="queryParams.cardtype" placeholder="卡类型" clearable :style="{ width: '100%' }">
|
||||
<el-option v-for="(item, index) in cardtypeOptions" :key="index" :label="item.label" :value="item.value"
|
||||
:disabled="item.disabled"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" icon="Search" @click="readCard">读卡</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<PatSearchDialog @select="handlePatientSelect" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-form>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<!-- </el-row> -->
|
||||
<el-row :gutter="5" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Search" @click="handleQuery"
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<el-table-column prop="bz" label="备注" />
|
||||
<el-table-column label="操作" align="center" fixed="right" width="100">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
<el-button text type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -46,10 +46,11 @@
|
||||
<span>规则明细</span>
|
||||
</div>
|
||||
|
||||
<el-table :data="detailList" border style="width: 100%;" class="detail-table" :cell-class-name="cellClassName">
|
||||
<el-table :data="detailList" border style="width: 100%;" class="detail-table" :cell-class-name="cellClassName"
|
||||
height="48vh">
|
||||
<el-table-column prop="weekday" label="起始日期" width="100">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.weekday" placeholder="选择星期" size="small" class="week-select"
|
||||
<el-select v-model="scope.row.weekday" class="full-width-input" placeholder="选择星期" size="small"
|
||||
@change="handleDetailChange(scope.row)">
|
||||
<el-option v-for="day in weekDays" :key="day.value" :label="day.label" :value="day.value" />
|
||||
</el-select>
|
||||
@ -57,7 +58,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="weekday1" label="截止日期" width="100">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.weekday1" placeholder="选择星期" size="small" class="week-select"
|
||||
<el-select v-model="scope.row.weekday1" placeholder="选择星期" size="small" class="full-width-input"
|
||||
@change="handleDetailChange(scope.row)">
|
||||
<el-option v-for="day in weekDays" :key="day.value" :label="day.label" :value="day.value" />
|
||||
</el-select>
|
||||
@ -66,32 +67,32 @@
|
||||
<el-table-column prop="kssj" label="起始时间" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.kssj" placeholder="HH:mm" size="small"
|
||||
@input="handleTimeInput(scope.row, 'kssj')" maxlength="5" class="time-input" @focus="handleInputFocus"
|
||||
@blur="handleInputBlur(scope.row, 'kssj')" />
|
||||
@input="handleTimeInput(scope.row, 'kssj')" maxlength="5" class="full-width-input"
|
||||
@focus="handleInputFocus" @blur="handleInputBlur(scope.row, 'kssj')" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="jssj" label="截止时间" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.jssj" placeholder="HH:mm" size="small"
|
||||
@input="handleTimeInput(scope.row, 'jssj')" maxlength="5" class="time-input" @focus="handleInputFocus"
|
||||
@blur="handleInputBlur(scope.row, 'jssj')" />
|
||||
@input="handleTimeInput(scope.row, 'jssj')" maxlength="5" class="full-width-input"
|
||||
@focus="handleInputFocus" @blur="handleInputBlur(scope.row, 'jssj')" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bglqsm" label="报告领取声明">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.bglqsm" size="small" class="statement-input" @focus="handleInputFocus" />
|
||||
<el-input v-model="scope.row.bglqsm" size="small" class="full-width-input" @focus="handleInputFocus" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bgxss" label="所需小时数" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.bgxss" placeholder="0" size="small"
|
||||
@input="handleNumberInput(scope.row, 'bgxss')" class="number-input" @focus="handleInputFocus" />
|
||||
@input="handleNumberInput(scope.row, 'bgxss')" class="full-width-input" @focus="handleInputFocus" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="danger" @click="delDetail(scope.row)">删除</el-button>
|
||||
<el-button type="danger" text @click="delDetail(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -479,7 +480,7 @@ const flag = computed(() => {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
height: calc(100% - 100px);
|
||||
height: calc(100% - 3.75rem);
|
||||
}
|
||||
|
||||
.left-table-area {
|
||||
@ -497,7 +498,7 @@ const flag = computed(() => {
|
||||
background-color: #e6f7ff;
|
||||
border: 1px solid #91d5ff;
|
||||
border-radius: 4px;
|
||||
padding: 15px;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
@ -515,7 +516,7 @@ const flag = computed(() => {
|
||||
font-weight: 500;
|
||||
color: #1890ff;
|
||||
border-bottom: 1px solid #91d5ff;
|
||||
margin-bottom: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::v-deep .custom-table th {
|
||||
@ -549,13 +550,4 @@ const flag = computed(() => {
|
||||
::v-deep .no-edit-cell .el-select {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
::v-deep .time-input,
|
||||
::v-deep .number-input {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
::v-deep .statement-input {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,180 +1,112 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row :gutter="5" class="compact-form" :span="24" >
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-position="left"
|
||||
>
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-form-item label="执行时间:" label-width="75px" prop="stime">
|
||||
<el-date-picker
|
||||
style="width: 130px;"
|
||||
v-model="queryParams.st"
|
||||
type="date"
|
||||
placeholder="起始"
|
||||
value-format="YYYY-MM-DD"
|
||||
:clearable="false"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="--" label-width="30px" prop="etime">
|
||||
<el-date-picker
|
||||
style="width: 130px;"
|
||||
v-model="queryParams.et"
|
||||
type="date"
|
||||
placeholder="结束"
|
||||
value-format="YYYY-MM-DD"
|
||||
:clearable="false"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="病人代号:" label-width="75px" prop="brdh">
|
||||
<el-input
|
||||
style="width: 150px;"
|
||||
v-model="queryParams.brdh"
|
||||
placeholder="病人代号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="病人姓名:" label-width="75px" prop="brxm">
|
||||
<el-input
|
||||
style="width: 150px;"
|
||||
v-model="queryParams.brxm"
|
||||
placeholder="病人姓名"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:" label-width="50px" prop="zt">
|
||||
<el-select
|
||||
v-model="queryParams.zt"
|
||||
placeholder="状态"
|
||||
clearable
|
||||
style="width: 100px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in ztOptions"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="病人类型:" label-width="75px" prop="brly">
|
||||
<el-select
|
||||
v-model="queryParams.brly"
|
||||
placeholder="病人类型"
|
||||
clearable
|
||||
style="width: 100px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in pattypeOptions"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- <el-row :gutter="5" class="compact-form" :span="24"> -->
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-position="left">
|
||||
<el-col :span="24" :xs="24">
|
||||
<el-form-item label="执行时间:" label-width="75px" prop="stime">
|
||||
<el-date-picker style="width: 130px;" v-model="queryParams.st" type="date" placeholder="起始"
|
||||
value-format="YYYY-MM-DD" :clearable="false"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="--" label-width="30px" prop="etime">
|
||||
<el-date-picker style="width: 130px;" v-model="queryParams.et" type="date" placeholder="结束"
|
||||
value-format="YYYY-MM-DD" :clearable="false"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="病人代号:" label-width="75px" prop="brdh">
|
||||
<el-input style="width: 150px;" v-model="queryParams.brdh" placeholder="病人代号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="病人姓名:" label-width="75px" prop="brxm">
|
||||
<el-input style="width: 150px;" v-model="queryParams.brxm" placeholder="病人姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:" label-width="50px" prop="zt">
|
||||
<el-select v-model="queryParams.zt" placeholder="状态" clearable style="width: 100px;">
|
||||
<el-option v-for="(item, index) in ztOptions" :key="index" :label="item.label" :value="item.value"
|
||||
:disabled="item.disabled"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="病人类型:" label-width="75px" prop="brly">
|
||||
<el-select v-model="queryParams.brly" placeholder="病人类型" clearable style="width: 100px;">
|
||||
<el-option v-for="(item, index) in pattypeOptions" :key="index" :label="item.label" :value="item.value"
|
||||
:disabled="item.disabled"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="5" class="mb8">
|
||||
<!-- </el-row> -->
|
||||
<el-row :gutter="5" class="mb8 mt10">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Search"
|
||||
@click="handleQuery"
|
||||
v-hasPermi="['system:reqmain:Search']"
|
||||
>查询</el-button>
|
||||
<el-button type="primary" plain icon="Search" @click="handleQuery"
|
||||
v-hasPermi="['system:reqmain:Search']">查询</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="Printer"
|
||||
:disabled="single"
|
||||
@click="printAll"
|
||||
v-hasPermi="['system:reqmain:add']"
|
||||
>打印</el-button>
|
||||
<el-button type="success" plain icon="Printer" :disabled="single" @click="printAll"
|
||||
v-hasPermi="['system:reqmain:add']">打印</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="Printer"
|
||||
:disabled="freesingle"
|
||||
@click="printSigne"
|
||||
v-hasPermi="['system:reqmain:edit']"
|
||||
>单打条码</el-button>
|
||||
<el-button type="success" plain icon="Printer" :disabled="freesingle" @click="printSigne"
|
||||
v-hasPermi="['system:reqmain:edit']">单打条码</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="Printer"
|
||||
:disabled="freesingle"
|
||||
@click="printBackpaper"
|
||||
v-hasPermi="['system:reqmain:edit']"
|
||||
>单打回单</el-button>
|
||||
<el-button type="danger" plain icon="Printer" :disabled="freesingle" @click="printBackpaper"
|
||||
v-hasPermi="['system:reqmain:edit']">单打回单</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="5" class="table-container">
|
||||
<el-table ref="tableRef" class="compact-form my-table" :data="reqmainList" @selection-change="handleSelectionChange" @select="handleSelect" height="100%" :cell-style="tableCellStyle">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="项目名称" align="center" prop="sqxmmc" width="200" show-overflow-tooltip/>
|
||||
<el-table-column label="项目代码" align="center" prop="sqxmdh" width="100" show-overflow-tooltip/>
|
||||
<el-table-column label="项目类别" align="center" prop="cp_xmlb" />
|
||||
<el-table-column label="样本类型" align="center" prop="yblx" />
|
||||
<el-table-column label="条码号" align="center" prop="sqh" width="150" show-overflow-tooltip/>
|
||||
<el-table-column label="申请时间" align="center" prop="sqsj" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.sqsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病人姓名" align="center" prop="brxm" show-overflow-tooltip/>
|
||||
<el-table-column label="申请医生" align="center" prop="sqys" :formatter="formatDict('SRD')" show-overflow-tooltip/>
|
||||
<el-table-column label="序号" align="center" prop="xh" show-overflow-tooltip/>
|
||||
<el-table-column label="数量" align="center" prop="sl" show-overflow-tooltip/>
|
||||
<el-table-column label="单价" align="center" prop="dj" show-overflow-tooltip/>
|
||||
<el-table-column label="状态" align="center" prop="zt" show-overflow-tooltip/>
|
||||
<el-table-column label="计价" align="center" prop="jjzt" >
|
||||
<template #default="scope">
|
||||
<el-checkbox :model-value="scope.row.jjzt === '1'" disabled>
|
||||
</el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病人代号" align="center" prop="brdh" show-overflow-tooltip/>
|
||||
<el-table-column label="执行时间" align="center" prop="zxsj" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.sqsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="执行医生" align="center" prop="zxys" :formatter="formatDict('SRD')" show-overflow-tooltip/>
|
||||
<el-table-column label="备注1" align="center" prop="detailBZ1" show-overflow-tooltip/>
|
||||
<el-table-column label="备注2" align="center" prop="detailBZ2" show-overflow-tooltip/>
|
||||
<el-table-column label="颜色" align="center" prop="cp_color" v-if="false" show-overflow-tooltip/>
|
||||
<el-table-column label="确认标识" align="center" prop="cp_cflag" v-if="false" show-overflow-tooltip/>
|
||||
<el-table-column label="科室" align="center" prop="ksdh" :formatter="formatDict('DP')" show-overflow-tooltip/>
|
||||
<el-table-column label="病人类型" align="center" prop="brly" :formatter="formatDict('PT')" show-overflow-tooltip/>
|
||||
<el-table-column label="性别" align="center" prop="brxb" :formatter="formatDict('SX')" show-overflow-tooltip/>
|
||||
<el-table-column label="生日" align="center" prop="brsr" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.brsr, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="床号" align="center" prop="ch" width="50" show-overflow-tooltip/>
|
||||
<el-table-column label="诊断" align="center" prop="zd" width="150" show-overflow-tooltip/>
|
||||
<el-table-column label="条码类别" align="center" prop="bgddh" v-if="false" show-overflow-tooltip/>
|
||||
<el-table-column label="年龄" align="center" prop="nl" show-overflow-tooltip/>
|
||||
<el-table-column label="年龄单位" align="center" prop="nldw" :formatter="formatDict('AU')" show-overflow-tooltip/>
|
||||
<el-table-column label="采样时间" align="center" prop="cysj" width="180"show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.cysj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table ref="tableRef" class="compact-form my-table" :data="reqmainList"
|
||||
@selection-change="handleSelectionChange" @select="handleSelect" height="100%" :cell-style="tableCellStyle">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="项目名称" align="center" prop="sqxmmc" width="200" show-overflow-tooltip />
|
||||
<el-table-column label="项目代码" align="center" prop="sqxmdh" width="100" show-overflow-tooltip />
|
||||
<el-table-column label="项目类别" align="center" prop="cp_xmlb" />
|
||||
<el-table-column label="样本类型" align="center" prop="yblx" />
|
||||
<el-table-column label="条码号" align="center" prop="sqh" width="150" show-overflow-tooltip />
|
||||
<el-table-column label="申请时间" align="center" prop="sqsj" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.sqsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病人姓名" align="center" prop="brxm" show-overflow-tooltip />
|
||||
<el-table-column label="申请医生" align="center" prop="sqys" :formatter="formatDict('SRD')" show-overflow-tooltip />
|
||||
<el-table-column label="序号" align="center" prop="xh" show-overflow-tooltip />
|
||||
<el-table-column label="数量" align="center" prop="sl" show-overflow-tooltip />
|
||||
<el-table-column label="单价" align="center" prop="dj" show-overflow-tooltip />
|
||||
<el-table-column label="状态" align="center" prop="zt" show-overflow-tooltip />
|
||||
<el-table-column label="计价" align="center" prop="jjzt">
|
||||
<template #default="scope">
|
||||
<el-checkbox :model-value="scope.row.jjzt === '1'" disabled>
|
||||
</el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病人代号" align="center" prop="brdh" show-overflow-tooltip />
|
||||
<el-table-column label="执行时间" align="center" prop="zxsj" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.sqsj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="执行医生" align="center" prop="zxys" :formatter="formatDict('SRD')" show-overflow-tooltip />
|
||||
<el-table-column label="备注1" align="center" prop="detailBZ1" show-overflow-tooltip />
|
||||
<el-table-column label="备注2" align="center" prop="detailBZ2" show-overflow-tooltip />
|
||||
<el-table-column label="颜色" align="center" prop="cp_color" v-if="false" show-overflow-tooltip />
|
||||
<el-table-column label="确认标识" align="center" prop="cp_cflag" v-if="false" show-overflow-tooltip />
|
||||
<el-table-column label="科室" align="center" prop="ksdh" :formatter="formatDict('DP')" show-overflow-tooltip />
|
||||
<el-table-column label="病人类型" align="center" prop="brly" :formatter="formatDict('PT')" show-overflow-tooltip />
|
||||
<el-table-column label="性别" align="center" prop="brxb" :formatter="formatDict('SX')" show-overflow-tooltip />
|
||||
<el-table-column label="生日" align="center" prop="brsr" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.brsr, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="床号" align="center" prop="ch" width="50" show-overflow-tooltip />
|
||||
<el-table-column label="诊断" align="center" prop="zd" width="150" show-overflow-tooltip />
|
||||
<el-table-column label="条码类别" align="center" prop="bgddh" v-if="false" show-overflow-tooltip />
|
||||
<el-table-column label="年龄" align="center" prop="nl" show-overflow-tooltip />
|
||||
<el-table-column label="年龄单位" align="center" prop="nldw" :formatter="formatDict('AU')" show-overflow-tooltip />
|
||||
<el-table-column label="采样时间" align="center" prop="cysj" width="180" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.cysj, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
@ -204,7 +136,7 @@ const idsnew = computed(() => {
|
||||
});
|
||||
const single = ref(true);
|
||||
const freesingle = ref(true);
|
||||
const ztOptions = ref([{"label": "全部", "value": 0},{"label": "未打印", "value": 1},{"label": "已打印", "value": 11},{"label": "签收", "value": 2},{"label": "完成", "value": 4},{"label": "剔回", "value": 8},{"label": "作废", "value": 9}])
|
||||
const ztOptions = ref([{ "label": "全部", "value": 0 }, { "label": "未打印", "value": 1 }, { "label": "已打印", "value": 11 }, { "label": "签收", "value": 2 }, { "label": "完成", "value": 4 }, { "label": "剔回", "value": 8 }, { "label": "作废", "value": 9 }])
|
||||
let pattypeOptions = ref([]);
|
||||
|
||||
const data = reactive({
|
||||
@ -217,7 +149,7 @@ const data = reactive({
|
||||
etime: null,
|
||||
brly: null,
|
||||
zt: 0,
|
||||
brxm:null
|
||||
brxm: null
|
||||
}
|
||||
});
|
||||
|
||||
@ -240,7 +172,7 @@ const handleSelect = (selection, row, selected) => {
|
||||
|
||||
// 先收集需要自动勾选的行(避免在循环中修改数据)
|
||||
const rowsToSelect = reqmainList.value.filter(
|
||||
item => item.sqh === targetSqh && item.xh !== targetxh
|
||||
item => item.sqh === targetSqh && item.xh !== targetxh
|
||||
);
|
||||
|
||||
// 如果有需要自动勾选的行,才开启标志位
|
||||
@ -254,10 +186,10 @@ const handleSelect = (selection, row, selected) => {
|
||||
}
|
||||
};
|
||||
// 字典格式化方法
|
||||
const formatDict =(dictType) => {
|
||||
const formatDict = (dictType) => {
|
||||
return (row, column, value) => {
|
||||
// 从全局字典中获取映射值
|
||||
return dictData.value[dictType].find(item => String(item.value) === String(value).trim())?.label||value ;
|
||||
return dictData.value[dictType].find(item => String(item.value) === String(value).trim())?.label || value;
|
||||
};
|
||||
};
|
||||
// 定义“空数据”的判断函数
|
||||
@ -285,40 +217,40 @@ function getDateOffset(days) {
|
||||
const year = targetDate.getFullYear();
|
||||
const month = String(targetDate.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(targetDate.getDate()).padStart(2, '0');
|
||||
// const hours = String(targetDate.getHours()).padStart(2, '0');
|
||||
// const minutes = String(targetDate.getMinutes()).padStart(2, '0');
|
||||
// const hours = String(targetDate.getHours()).padStart(2, '0');
|
||||
// const minutes = String(targetDate.getMinutes()).padStart(2, '0');
|
||||
//const seconds = String(targetDate.getSeconds()).padStart(2, '0');
|
||||
// return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
// return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
function getSubday() {
|
||||
queryParams.value.stime=`${queryParams.value.st} 00:00:00`
|
||||
queryParams.value.etime=`${queryParams.value.et} 23:59:59`
|
||||
queryParams.value.stime = `${queryParams.value.st} 00:00:00`
|
||||
queryParams.value.etime = `${queryParams.value.et} 23:59:59`
|
||||
}
|
||||
/** 查询采样登记列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
getSubday();
|
||||
querySQD(queryParams.value).then(response => {
|
||||
if (isEmptyData(response.data)) proxy.$modal.alert("没有检索的数据!");
|
||||
reqmainList.value = response.data;
|
||||
// console.log('response:', response.data);
|
||||
loading.value = false;
|
||||
single.value=false;
|
||||
// 新增:数据加载完成后触发全选
|
||||
// 延迟执行(确保DOM已更新)
|
||||
setTimeout(() => {
|
||||
if (tableRef.value) {
|
||||
tableRef.value.toggleAllSelection(); // 调用全选方法
|
||||
}
|
||||
}, 0);
|
||||
});
|
||||
loading.value = true;
|
||||
getSubday();
|
||||
querySQD(queryParams.value).then(response => {
|
||||
if (isEmptyData(response.data)) proxy.$modal.alert("没有检索的数据!");
|
||||
reqmainList.value = response.data;
|
||||
// console.log('response:', response.data);
|
||||
loading.value = false;
|
||||
single.value = false;
|
||||
// 新增:数据加载完成后触发全选
|
||||
// 延迟执行(确保DOM已更新)
|
||||
setTimeout(() => {
|
||||
if (tableRef.value) {
|
||||
tableRef.value.toggleAllSelection(); // 调用全选方法
|
||||
}
|
||||
}, 0);
|
||||
});
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
function cancel() {
|
||||
// open.value = false;
|
||||
// reset();
|
||||
// open.value = false;
|
||||
// reset();
|
||||
}
|
||||
|
||||
// 表单重置
|
||||
@ -363,8 +295,8 @@ function reset() {
|
||||
zd: null,
|
||||
cysj: null
|
||||
};
|
||||
freesingle.value=false;
|
||||
single.value=false;
|
||||
freesingle.value = false;
|
||||
single.value = false;
|
||||
proxy.resetForm("reqmainRef");
|
||||
}
|
||||
|
||||
@ -379,8 +311,8 @@ function readCard() {
|
||||
|
||||
// 处理病人选择事件
|
||||
const handlePatientSelect = (patient) => {
|
||||
// console.log('选中的病人:', patient);
|
||||
queryParams.value.brdh=patient
|
||||
// console.log('选中的病人:', patient);
|
||||
queryParams.value.brdh = patient
|
||||
// 处理选中的病人数据
|
||||
handleQuery();
|
||||
};
|
||||
@ -397,13 +329,13 @@ function handleSelectionChange(selection) {
|
||||
/** 打印选择 */
|
||||
function printAll(row) {
|
||||
console.log('idsnew:', idsnew.value);
|
||||
if (idsnew.value.length=== 0) {
|
||||
if (idsnew.value.length === 0) {
|
||||
return;
|
||||
}
|
||||
printBarcodeall(idsnew.value).then(response => {
|
||||
proxy.$modal.msgSuccess("打印成功");
|
||||
open.value = false;
|
||||
freesingle.value=false;
|
||||
freesingle.value = false;
|
||||
}).catch(() => {
|
||||
});
|
||||
}
|
||||
@ -415,7 +347,7 @@ function printSigne(row) {
|
||||
apiprintAll(idsnew.value).then(response => {
|
||||
proxy.$modal.msgSuccess("打印成功");
|
||||
open.value = false;
|
||||
freesingle.value=false;
|
||||
freesingle.value = false;
|
||||
}).catch(() => {
|
||||
});
|
||||
}
|
||||
@ -423,15 +355,15 @@ function printSigne(row) {
|
||||
|
||||
/** 打印回单 */
|
||||
function printBackpaper(row) {
|
||||
if (idsnew.value.length === 0) {
|
||||
return;
|
||||
}
|
||||
apiprintAll(idsnew.value).then(response => {
|
||||
proxy.$modal.msgSuccess("打印成功");
|
||||
open.value = false;
|
||||
}).catch(() => {
|
||||
});
|
||||
if (idsnew.value.length === 0) {
|
||||
return;
|
||||
}
|
||||
apiprintAll(idsnew.value).then(response => {
|
||||
proxy.$modal.msgSuccess("打印成功");
|
||||
open.value = false;
|
||||
}).catch(() => {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const totalRows = computed(() => {
|
||||
@ -449,8 +381,8 @@ const totalPrice = computed(() => {
|
||||
// 组件挂载时加载字典
|
||||
onMounted(async () => {
|
||||
// 加载病人来源字典
|
||||
const dictRefs = await comDict('PT', 'DP', 'SRD','BT','SX','AU');
|
||||
// 从 ref 中获取实际数据
|
||||
const dictRefs = await comDict('PT', 'DP', 'SRD', 'BT', 'SX', 'AU');
|
||||
// 从 ref 中获取实际数据
|
||||
dictData.value = {
|
||||
PT: toRaw(dictRefs.PT.value) || [],
|
||||
DP: toRaw(dictRefs.DP.value) || [],
|
||||
@ -459,10 +391,10 @@ onMounted(async () => {
|
||||
SX: toRaw(dictRefs.SX.value) || [],
|
||||
AU: toRaw(dictRefs.AU.value) || []
|
||||
};
|
||||
pattypeOptions=dictData.value.PT;
|
||||
queryParams.value.brly="1";
|
||||
queryParams.value.st=getDateOffset(0);
|
||||
queryParams.value.et=getDateOffset(0);
|
||||
pattypeOptions = dictData.value.PT;
|
||||
queryParams.value.brly = "1";
|
||||
queryParams.value.st = getDateOffset(0);
|
||||
queryParams.value.et = getDateOffset(0);
|
||||
});
|
||||
|
||||
|
||||
@ -526,18 +458,26 @@ const getContrastTextColor = (bgColor) => {
|
||||
.app-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 90vh; /* 容器高度等于窗口高度 */
|
||||
height: 90vh;
|
||||
/* 容器高度等于窗口高度 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.compact-form {
|
||||
height: 40px; /* 固定高度 */
|
||||
height: 40px;
|
||||
/* 固定高度 */
|
||||
}
|
||||
|
||||
.mb8 {
|
||||
height: 30px; /* 固定高度 */
|
||||
height: 30px;
|
||||
/* 固定高度 */
|
||||
}
|
||||
|
||||
.table-container {
|
||||
flex: 1; /* 占满剩余高度 */
|
||||
overflow: hidden; /* 避免表格超出容器 */
|
||||
flex: 1;
|
||||
/* 占满剩余高度 */
|
||||
overflow: hidden;
|
||||
/* 避免表格超出容器 */
|
||||
}
|
||||
|
||||
.compact-form .el-form-item {
|
||||
@ -548,22 +488,32 @@ const getContrastTextColor = (bgColor) => {
|
||||
.compact-form .el-form-item__label {
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
|
||||
:deep(.my-table .el-table__row td) {
|
||||
padding: 1px 0; /* 减小行高 */
|
||||
padding: 1px 0;
|
||||
/* 减小行高 */
|
||||
}
|
||||
|
||||
:deep(.my-table .el-table__header-wrapper th) {
|
||||
padding: 6px 0; /* 表头内边距 */
|
||||
background-color: #b3d8ff !important; /* 表头背景色(保留之前的设置) */
|
||||
color: #333; /* 文字颜色加深,提升可读性 */
|
||||
font-weight: 500; /* 文字加粗 */
|
||||
padding: 6px 0;
|
||||
/* 表头内边距 */
|
||||
background-color: #b3d8ff !important;
|
||||
/* 表头背景色(保留之前的设置) */
|
||||
color: #333;
|
||||
/* 文字颜色加深,提升可读性 */
|
||||
font-weight: 500;
|
||||
/* 文字加粗 */
|
||||
}
|
||||
|
||||
:deep(.my-table .el-table__cell) {
|
||||
padding: 0 2px; /* 减小列间距 */
|
||||
padding: 0 2px;
|
||||
/* 减小列间距 */
|
||||
}
|
||||
|
||||
/* 可选:调整表格整体样式 */
|
||||
:deep(.my-table) {
|
||||
font-size: 13px; /* 适当减小字体 */
|
||||
font-size: 13px;
|
||||
/* 适当减小字体 */
|
||||
}
|
||||
|
||||
:deep(.my-table .el-table__cell),
|
||||
@ -571,19 +521,26 @@ const getContrastTextColor = (bgColor) => {
|
||||
border-width: 1px;
|
||||
border-color: #ebeef5;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
max-height: 450px; /* 设置最大高度 */
|
||||
overflow-y: auto; /* 超出高度时显示垂直滚动条 */
|
||||
padding: 5px; /* 保持与卡片默认一致的内边距 */
|
||||
max-height: 450px;
|
||||
/* 设置最大高度 */
|
||||
overflow-y: auto;
|
||||
/* 超出高度时显示垂直滚动条 */
|
||||
padding: 5px;
|
||||
/* 保持与卡片默认一致的内边距 */
|
||||
}
|
||||
|
||||
.clickable:hover {
|
||||
cursor: pointer; /* 鼠标悬停时显示手型 */
|
||||
transition: all 0.3s; /* 平滑过渡效果 */
|
||||
cursor: pointer;
|
||||
/* 鼠标悬停时显示手型 */
|
||||
transition: all 0.3s;
|
||||
/* 平滑过渡效果 */
|
||||
color: blue;
|
||||
|
||||
}
|
||||
|
||||
/* 消除inline表单中表单项的右侧间距(主要间距来源) */
|
||||
/* 消除inline表单中表单项的右侧间距(主要间距来源) */
|
||||
/* 消除表单项之间的间距 */
|
||||
:deep(.el-form--inline .el-form-item) {
|
||||
margin-right: 0 !important;
|
||||
@ -599,6 +556,7 @@ const getContrastTextColor = (bgColor) => {
|
||||
:deep(.el-form-item) {
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
|
||||
/* 汇总行样式 */
|
||||
.table-summary {
|
||||
display: flex;
|
||||
@ -610,7 +568,9 @@ const getContrastTextColor = (bgColor) => {
|
||||
border: 1px solid #ebeef5;
|
||||
border-radius: 4px;
|
||||
font-weight: 500;
|
||||
line-height: 24px; /* 汇总行文字行高 */
|
||||
line-height: 24px;
|
||||
|
||||
/* 汇总行文字行高 */
|
||||
.summary-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -624,12 +584,16 @@ const getContrastTextColor = (bgColor) => {
|
||||
.summary-value {
|
||||
color: #303133;
|
||||
min-width: 40px;
|
||||
text-align: left;/* 核心:数值左对齐 */
|
||||
text-align: left;
|
||||
/* 核心:数值左对齐 */
|
||||
}
|
||||
|
||||
/* 单独设置"单价合计"的值为红色 */
|
||||
&:nth-child(3) .summary-value {
|
||||
color: #f56c6c; /* Element UI 红色主题色 */
|
||||
font-weight: 600; /* 可选:加粗字体 */
|
||||
color: #f56c6c;
|
||||
/* Element UI 红色主题色 */
|
||||
font-weight: 600;
|
||||
/* 可选:加粗字体 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
225
src/views/regional/circulation/bbcx/index.vue
Normal file
225
src/views/regional/circulation/bbcx/index.vue
Normal file
@ -0,0 +1,225 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="compact-form">
|
||||
<el-form :model="queryParams" ref="queryRef" label-width="5rem" style="width: 100%;" :size="aotuSize">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="委托机构:" prop="srcHospName">
|
||||
<SelectTable v-model:data="queryParams.srcHospName" :fields="ksdhFields" :tableData="hosList"
|
||||
label="label" :size="aotuSize" value="label" objKey="label" :border="true" placeholder="请选择委托机构"
|
||||
@getDataValue="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-form-item label="条码号:" prop="barcode">
|
||||
<el-input v-model="queryParams.barcode" placeholder="请输入条码号" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="姓名:" prop="patName">
|
||||
<el-input v-model="queryParams.patName" placeholder="请输入姓名" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="申请项目:" prop="SrcOrderItemName">
|
||||
<el-input v-model="queryParams.SrcOrderItemName" placeholder="请输入申请项目" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="标本状态:" prop="Status">
|
||||
<el-select v-model="queryParams.Status" placeholder="请选择" clearable @change="handleQuery">
|
||||
<!-- <el-option label="已打印" value="1" />
|
||||
<el-option label="未打印" value="0" /> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="采样人:" prop="affirmUserName">
|
||||
<el-input v-model="queryParams.affirmUserName" placeholder="请输入采样人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="签收人:" prop="signInUserName">
|
||||
<el-input v-model="queryParams.signInUserName" placeholder="请输入签收人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="时间类型:" prop="DateType">
|
||||
<el-select v-model="queryParams.DateType" placeholder="请选择" clearable @change="handleQuery">
|
||||
<el-option label="登记时间" value="登记时间" />
|
||||
<el-option label="采样时间" value="采样时间" />
|
||||
<el-option label="送出时间" value="送出时间" />
|
||||
<el-option label="签收时间" value="签收时间" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="日期:" prop="times">
|
||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||
<el-button @click="resetHandle">重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :pagination="pagination"
|
||||
@size-change="sizeChange" @page-change="currentChange">
|
||||
<template #patAge="{ row }">
|
||||
{{ row.patAge }}{{ row.ageUnit }}
|
||||
</template>
|
||||
</CustomTable>
|
||||
|
||||
<!-- 样本流程 -->
|
||||
<div class="time-line-box">
|
||||
<div v-for="(item, i) in timelineItems" :key="i" class="time-line-item">
|
||||
<div v-if="i != 0" class="timeline-connector">
|
||||
<img class="timg" src="@/assets/images/yjt.png" alt="">
|
||||
</div>
|
||||
<div :class="['timeline-content', i > lastTimeIndex ? 'no_active' : '']">
|
||||
<div :class="['index', lastTimeIndex == i ? 'active' : '']">{{ i + 1 }}
|
||||
</div>
|
||||
<div class="timeline-title">{{ item.title }}</div>
|
||||
<div class="timeline-time">{{ item.time }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { querySample } from '@/api/regional/index'
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
// @ts-ignore
|
||||
import { listhospital } from "@/api/regional/dict/hospital.js";
|
||||
|
||||
const queryParams: any = ref({
|
||||
pageSize: 50,
|
||||
pageNum: 1,
|
||||
})
|
||||
const tableData: any = ref([])
|
||||
const columns: any = ref([
|
||||
{ prop: 'barcode', label: '条码', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, },
|
||||
{ prop: 'patName', label: '姓名', align: 'center', visible: true, },
|
||||
{ prop: 'patSex', label: '性别', align: 'center', visible: true, },
|
||||
{ prop: 'patAge', label: '年龄', align: 'center', visible: true, slot: "patAge" },
|
||||
// { prop: 'ageUnit', label: '龄', align: 'center', visible: true, },
|
||||
{ prop: 'checkPUR', label: '项目名称', align: 'center', visible: true, },
|
||||
{ prop: 'sampleTypeName', label: '标本类型名称', align: 'center', visible: true, },
|
||||
{ prop: 'Status', label: '状态', align: 'center', visible: true, },
|
||||
{ prop: 'affirmUserName', label: '采样人', align: 'center', visible: true, },
|
||||
{ prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, },
|
||||
{ prop: 'signInUserName', label: '签收人', align: 'center', visible: true, },
|
||||
{ prop: 'signInTime', label: '签收时间', align: 'center', visible: true, },
|
||||
{ prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, },
|
||||
])
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '65vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// fit: true, // 列宽自适应
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
show: true,
|
||||
total: 0,
|
||||
pageSize: 50,
|
||||
currentPage: 1,
|
||||
})
|
||||
|
||||
const ksdhFields = ref([
|
||||
{ prop: 'label', label: '名称', width: 150, enablePinyinSearch: true },
|
||||
{ prop: 'value', label: '代号', width: 120, enablePinyinSearch: true },
|
||||
])
|
||||
|
||||
// 时间线数据
|
||||
const timelineItems = ref(
|
||||
[
|
||||
{ title: '检验申请', time: '' },
|
||||
{ title: '标本采集', time: '' },
|
||||
{ title: '标本送检', time: '' },
|
||||
{ title: '标本外送', time: '' },
|
||||
{ title: '标本签收', time: '' },
|
||||
{ title: '上机检测', time: '' },
|
||||
{ title: '结果审核', time: '' },
|
||||
{ title: '报告发布', time: '' },
|
||||
]
|
||||
);
|
||||
|
||||
// 计算最后一个有时间的节点索引
|
||||
const lastTimeIndex = computed(() => {
|
||||
|
||||
const lastIndex = timelineItems.value.findLastIndex(item => item.time);
|
||||
if (lastIndex === -1) {
|
||||
return -1
|
||||
} else {
|
||||
return lastIndex;
|
||||
}
|
||||
});
|
||||
|
||||
const handleQuery = () => {
|
||||
if (queryParams.value.times && queryParams.value.times.length > 0) {
|
||||
queryParams.value.DateStart = queryParams.value.times[0]
|
||||
queryParams.value.DateEnd = queryParams.value.times[1]
|
||||
} else {
|
||||
queryParams.value.DateStart = ''
|
||||
queryParams.value.DateEnd = ''
|
||||
}
|
||||
|
||||
getList()
|
||||
}
|
||||
|
||||
|
||||
const resetHandle = () => {
|
||||
queryParams.value = {
|
||||
pageSize: 50,
|
||||
pageNum: 1,
|
||||
}
|
||||
handleQuery()
|
||||
}
|
||||
const currentChange = (page: { currentPage: number, pageSize: number }) => {
|
||||
console.log('page==>', page);
|
||||
queryParams.value.pageNum = page.currentPage
|
||||
handleQuery()
|
||||
}
|
||||
const sizeChange = (page: { currentPage: number, pageSize: number }) => {
|
||||
queryParams.value.pageSize = page.pageSize
|
||||
handleQuery()
|
||||
}
|
||||
const getList = () => {
|
||||
querySample(queryParams.value).then((res: any) => {
|
||||
tableData.value = res.rows
|
||||
pagination.value.total = res.total
|
||||
})
|
||||
}
|
||||
const hosList = ref([])
|
||||
onMounted(() => {
|
||||
getList()
|
||||
listhospital().then((res: any) => {
|
||||
hosList.value = res.rows.map((item: any) => {
|
||||
return {
|
||||
label: item.hospitalName,
|
||||
value: item.hospitalCode
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.compact-form {
|
||||
.el-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
154
src/views/regional/circulation/bbqs/index.vue
Normal file
154
src/views/regional/circulation/bbqs/index.vue
Normal file
@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="compact-form">
|
||||
<el-form :model="queryParams" ref="queryRef" label-width="5rem" style="width: 100%;" :size="aotuSize">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="委托机构:" prop="srcHospName">
|
||||
<SelectTable v-model:data="queryParams.srcHospName" :fields="ksdhFields" :tableData="[]" label="label"
|
||||
:size="aotuSize" value="value" objKey="value" :border="true" placeholder="请选择委托机构"
|
||||
@getDataValue="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="条码号:" prop="barcode">
|
||||
<el-input v-model="queryParams.barcode" placeholder="请输入条码号" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="姓名:" prop="patName">
|
||||
<el-input v-model="queryParams.patName" placeholder="请输入姓名" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="申请项目:" prop="OrderItemName">
|
||||
<el-input v-model="queryParams.OrderItemName" placeholder="请输入申请项目" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="标本状态:" prop="dybz">
|
||||
<el-select v-model="queryParams.dybz" placeholder="请选择" clearable @change="handleQuery">
|
||||
<!-- <el-option label="已打印" value="1" />
|
||||
<el-option label="未打印" value="0" /> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="采样人:" prop="affirmUserName">
|
||||
<el-input v-model="queryParams.affirmUserName" placeholder="请输入采样人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="日期:" prop="times">
|
||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary">查询</el-button>
|
||||
<el-button>重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="mb10">
|
||||
<el-button type="primary">标本签收</el-button>
|
||||
<el-button type="primary">标本拒签</el-button>
|
||||
<el-popover placement="bottom">
|
||||
<template #reference>
|
||||
<el-button type="primary" plain>其他操作 <el-icon>
|
||||
<ArrowDown />
|
||||
</el-icon></el-button>
|
||||
</template>
|
||||
<div class="btns">
|
||||
<el-button type="primary" plain>标本退回</el-button>
|
||||
<el-button type="primary" plain>更换条码</el-button>
|
||||
<el-button type="primary" plain>取消签收</el-button>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
|
||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :pagination="pagination">
|
||||
</CustomTable>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { querySample } from '@/api/regional/index'
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
|
||||
const queryParams: any = ref({})
|
||||
const tableData: any = ref([])
|
||||
const columns: any = ref([
|
||||
{ type: 'selection', align: 'center', visible: true, },
|
||||
{ prop: 'barcode', label: '条码号', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, },
|
||||
{ prop: 'patName', label: '姓名', align: 'center', visible: true, },
|
||||
{ prop: 'patSex', label: '性别', align: 'center', visible: true, },
|
||||
{ prop: 'patAge', label: '年龄', align: 'center', visible: true, },
|
||||
// { prop: 'ageUnit', label: '龄', align: 'center', visible: true, },
|
||||
{ prop: 'orderItemName', label: '项目名称', align: 'center', visible: true, },
|
||||
{ prop: 'sampleTypeName', label: '标本类型名称', align: 'center', visible: true, },
|
||||
{ prop: 'Status', label: '状态', align: 'center', visible: true, },
|
||||
{ prop: 'affirmUserName', label: '采样人', align: 'center', visible: true, },
|
||||
{ prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, },
|
||||
{ prop: 'signInUserName', label: '签收人', align: 'center', visible: true, },
|
||||
{ prop: 'signInTime', label: '签收时间', align: 'center', visible: true, },
|
||||
{ prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, },
|
||||
])
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '65vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// fit: true, // 列宽自适应
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
show: true,
|
||||
total: 0,
|
||||
pageSize: 50,
|
||||
currentPage: 1,
|
||||
})
|
||||
|
||||
const ksdhFields = ref([
|
||||
{ prop: 'label', label: '名称', enablePinyinSearch: true },
|
||||
{ prop: 'value', label: '代号', width: 80, enablePinyinSearch: true },
|
||||
])
|
||||
|
||||
|
||||
|
||||
const handleQuery = () => {
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
// getList()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.compact-form {
|
||||
.el-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
|
||||
&>button {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
153
src/views/regional/circulation/bbth/index.vue
Normal file
153
src/views/regional/circulation/bbth/index.vue
Normal file
@ -0,0 +1,153 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="compact-form">
|
||||
<el-form :model="queryParams" ref="queryRef" label-width="5rem" style="width: 100%;" :size="aotuSize">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="委托机构:" prop="srcHospName">
|
||||
<SelectTable v-model:data="queryParams.srcHospName" :fields="ksdhFields" :tableData="[]" label="label"
|
||||
:size="aotuSize" value="value" objKey="value" :border="true" placeholder="请选择委托机构"
|
||||
@getDataValue="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="条码号:" prop="barcode">
|
||||
<el-input v-model="queryParams.barcode" placeholder="请输入条码号" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="姓名:" prop="patName">
|
||||
<el-input v-model="queryParams.patName" placeholder="请输入姓名" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="申请项目:" prop="OrderItemName">
|
||||
<el-input v-model="queryParams.OrderItemName" placeholder="请输入申请项目" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="标本状态:" prop="dybz">
|
||||
<el-select v-model="queryParams.dybz" placeholder="请选择" clearable @change="handleQuery">
|
||||
<!-- <el-option label="已打印" value="1" />
|
||||
<el-option label="未打印" value="0" /> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="采样人:" prop="affirmUserName">
|
||||
<el-input v-model="queryParams.affirmUserName" placeholder="请输入采样人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="日期:" prop="times">
|
||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary">查询</el-button>
|
||||
<el-button>重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="mb10">
|
||||
<el-button type="primary">已核查</el-button>
|
||||
<el-button type="primary">重新采集</el-button>
|
||||
<el-button type="primary">撤销退回</el-button>
|
||||
<el-popover placement="bottom">
|
||||
<template #reference>
|
||||
<el-button type="primary" plain>其他操作 <el-icon>
|
||||
<ArrowDown />
|
||||
</el-icon></el-button>
|
||||
</template>
|
||||
<div class="btns">
|
||||
<el-button type="primary" plain>申请退费</el-button>
|
||||
<el-button type="primary" plain>取消核查</el-button>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :pagination="pagination">
|
||||
</CustomTable>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { querySample } from '@/api/regional/index'
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
|
||||
const queryParams: any = ref({})
|
||||
const tableData: any = ref([])
|
||||
const columns: any = ref([
|
||||
{ type: 'selection', align: 'center', visible: true, },
|
||||
{ prop: 'barcode', label: '处理状态', align: 'center', visible: true, },
|
||||
{ prop: 'barcode', label: '条码号', align: 'center', visible: true, },
|
||||
{ prop: 'patName', label: '姓名', align: 'center', visible: true, },
|
||||
{ prop: 'patSex', label: '性别', align: 'center', visible: true, },
|
||||
{ prop: 'patAge', label: '年龄', align: 'center', visible: true, },
|
||||
// { prop: 'ageUnit', label: '龄', align: 'center', visible: true, },
|
||||
{ prop: 'orderItemName', label: '项目名称', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '检测机构', align: 'center', visible: true, },
|
||||
{ prop: 'Status', label: '标本状态', align: 'center', visible: true, },
|
||||
{ prop: 'affirmUserName', label: '退回理由', align: 'center', visible: true, },
|
||||
{ prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, },
|
||||
{ prop: 'signInUserName', label: '操作人', align: 'center', visible: true, },
|
||||
{ prop: 'signInTime', label: '操作时间', align: 'center', visible: true, },
|
||||
{ prop: 'bz', label: '备注', align: 'center', visible: true, },
|
||||
])
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '65vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// fit: true, // 列宽自适应
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
show: true,
|
||||
total: 0,
|
||||
pageSize: 50,
|
||||
currentPage: 1,
|
||||
})
|
||||
|
||||
const ksdhFields = ref([
|
||||
{ prop: 'label', label: '名称', enablePinyinSearch: true },
|
||||
{ prop: 'value', label: '代号', width: 80, enablePinyinSearch: true },
|
||||
])
|
||||
|
||||
|
||||
|
||||
const handleQuery = () => {
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
// getList()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.compact-form {
|
||||
.el-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
|
||||
&>button {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
139
src/views/regional/circulation/cydj/index.vue
Normal file
139
src/views/regional/circulation/cydj/index.vue
Normal file
@ -0,0 +1,139 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="compact-form">
|
||||
<el-form :model="queryParams" ref="queryRef" label-width="5rem" style="width: 100%;" :size="aotuSize">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="委托机构:" prop="srcHospName">
|
||||
<SelectTable v-model:data="queryParams.srcHospName" :fields="ksdhFields" :tableData="hosList"
|
||||
label="label" :size="aotuSize" value="label" objKey="label" :border="true" placeholder="请选择委托机构"
|
||||
@getDataValue="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="条码号:" prop="barcode">
|
||||
<el-input v-model="queryParams.barcode" placeholder="请输入条码号" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="姓名:" prop="patName">
|
||||
<el-input v-model="queryParams.patName" placeholder="请输入姓名" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="申请项目:" prop="OrderItemName">
|
||||
<el-input v-model="queryParams.OrderItemName" placeholder="请输入申请项目" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="标本状态:" prop="dybz">
|
||||
<el-select v-model="queryParams.dybz" placeholder="请选择" clearable @change="handleQuery">
|
||||
<!-- <el-option label="已打印" value="1" />
|
||||
<el-option label="未打印" value="0" /> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="采样人:" prop="affirmUserName">
|
||||
<el-input v-model="queryParams.affirmUserName" placeholder="请输入采样人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="日期:" prop="times">
|
||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary">查询</el-button>
|
||||
<el-button>重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div></div>
|
||||
|
||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :pagination="pagination">
|
||||
</CustomTable>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { querySample } from '@/api/regional/index'
|
||||
// @ts-ignore
|
||||
import { listhospital } from "@/api/regional/dict/hospital.js";
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
|
||||
const queryParams: any = ref({})
|
||||
const tableData: any = ref([])
|
||||
const columns: any = ref([
|
||||
{ prop: 'barcode', label: '条码号', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, },
|
||||
{ prop: 'patName', label: '姓名', align: 'center', visible: true, },
|
||||
{ prop: 'patSex', label: '性别', align: 'center', visible: true, },
|
||||
{ prop: 'patAge', label: '年龄', align: 'center', visible: true, },
|
||||
// { prop: 'ageUnit', label: '龄', align: 'center', visible: true, },
|
||||
{ prop: 'orderItemName', label: '项目名称', align: 'center', visible: true, },
|
||||
{ prop: 'sampleTypeName', label: '标本类型名称', align: 'center', visible: true, },
|
||||
{ prop: 'Status', label: '状态', align: 'center', visible: true, },
|
||||
{ prop: 'affirmUserName', label: '采样人', align: 'center', visible: true, },
|
||||
{ prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, },
|
||||
{ prop: 'signInUserName', label: '签收人', align: 'center', visible: true, },
|
||||
{ prop: 'signInTime', label: '签收时间', align: 'center', visible: true, },
|
||||
{ prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, },
|
||||
])
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '70vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// fit: true, // 列宽自适应
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
show: true,
|
||||
total: 0,
|
||||
pageSize: 50,
|
||||
currentPage: 1,
|
||||
})
|
||||
|
||||
const ksdhFields = ref([
|
||||
{ prop: 'label', label: '名称', enablePinyinSearch: true },
|
||||
{ prop: 'value', label: '代号', width: 80, enablePinyinSearch: true },
|
||||
])
|
||||
|
||||
|
||||
|
||||
const handleQuery = () => {
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
const hosList = ref([])
|
||||
onMounted(() => {
|
||||
getList()
|
||||
listhospital().then((res: any) => {
|
||||
hosList.value = res.rows.map((item: any) => {
|
||||
return {
|
||||
label: item.hospitalName,
|
||||
value: item.hospitalCode
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
// getList()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.compact-form {
|
||||
.el-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
152
src/views/regional/circulation/sjdj/index.vue
Normal file
152
src/views/regional/circulation/sjdj/index.vue
Normal file
@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="compact-form">
|
||||
<el-form :model="queryParams" ref="queryRef" label-width="5rem" style="width: 100%;" :size="aotuSize">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="委托机构:" prop="srcHospName">
|
||||
<SelectTable v-model:data="queryParams.srcHospName" :fields="ksdhFields" :tableData="[]" label="label"
|
||||
:size="aotuSize" value="value" objKey="value" :border="true" placeholder="请选择委托机构"
|
||||
@getDataValue="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="条码号:" prop="barcode">
|
||||
<el-input v-model="queryParams.barcode" placeholder="请输入条码号" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="姓名:" prop="patName">
|
||||
<el-input v-model="queryParams.patName" placeholder="请输入姓名" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="申请项目:" prop="OrderItemName">
|
||||
<el-input v-model="queryParams.OrderItemName" placeholder="请输入申请项目" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="标本状态:" prop="dybz">
|
||||
<el-select v-model="queryParams.dybz" placeholder="请选择" clearable @change="handleQuery">
|
||||
<!-- <el-option label="已打印" value="1" />
|
||||
<el-option label="未打印" value="0" /> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="采样人:" prop="affirmUserName">
|
||||
<el-input v-model="queryParams.affirmUserName" placeholder="请输入采样人" clearable @change="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
<el-form-item label="日期:" prop="times">
|
||||
<el-date-picker v-model="queryParams.times" type="daterange" range-separator="-" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button type="primary">查询</el-button>
|
||||
<el-button>重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="mb10">
|
||||
<el-button type="primary">标本签收</el-button>
|
||||
<el-button type="primary">标本拒签</el-button>
|
||||
<el-popover placement="bottom">
|
||||
<template #reference>
|
||||
<el-button type="primary" plain>其他操作 <el-icon>
|
||||
<ArrowDown />
|
||||
</el-icon></el-button>
|
||||
</template>
|
||||
<div class="btns">
|
||||
<el-button type="primary" plain>标本退回</el-button>
|
||||
<el-button type="primary" plain>更换条码</el-button>
|
||||
<el-button type="primary" plain>取消签收</el-button>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
|
||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :pagination="pagination">
|
||||
</CustomTable>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CustomTable from '@/components/elTable/index.vue'
|
||||
import { querySample } from '@/api/regional/index'
|
||||
import SelectTable from '@/components/SelectTable/index.vue';
|
||||
import { classCom } from '@/utils/classCom';
|
||||
const aotuSize = classCom.useAutoSize();
|
||||
|
||||
const queryParams: any = ref({})
|
||||
const tableData: any = ref([])
|
||||
const columns: any = ref([
|
||||
{ type: 'selection', align: 'center', visible: true, },
|
||||
{ prop: 'barcode', label: '条码号', align: 'center', visible: true, },
|
||||
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, },
|
||||
{ prop: 'patName', label: '姓名', align: 'center', visible: true, },
|
||||
{ prop: 'patSex', label: '性别', align: 'center', visible: true, },
|
||||
{ prop: 'patAge', label: '年龄', align: 'center', visible: true, },
|
||||
// { prop: 'ageUnit', label: '龄', align: 'center', visible: true, },
|
||||
{ prop: 'orderItemName', label: '项目名称', align: 'center', visible: true, },
|
||||
{ prop: 'sampleTypeName', label: '标本类型名称', align: 'center', visible: true, },
|
||||
{ prop: 'Status', label: '状态', align: 'center', visible: true, },
|
||||
{ prop: 'affirmUserName', label: '送检人', align: 'center', visible: true, },
|
||||
{ prop: 'affirmTime', label: '送检时间', align: 'center', visible: true, },
|
||||
{ prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, },
|
||||
])
|
||||
const tableConfig = ref({
|
||||
border: true, // 边框
|
||||
height: '65vh', // 高度
|
||||
highlightCurrentRow: true, // 高亮当前行
|
||||
// fit: true, // 列宽自适应
|
||||
})
|
||||
|
||||
const pagination = ref({
|
||||
show: true,
|
||||
total: 0,
|
||||
pageSize: 50,
|
||||
currentPage: 1,
|
||||
})
|
||||
|
||||
const ksdhFields = ref([
|
||||
{ prop: 'label', label: '名称', enablePinyinSearch: true },
|
||||
{ prop: 'value', label: '代号', width: 80, enablePinyinSearch: true },
|
||||
])
|
||||
|
||||
|
||||
|
||||
const handleQuery = () => {
|
||||
}
|
||||
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
// getList()
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.compact-form {
|
||||
.el-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
|
||||
&>button {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user