This commit is contained in:
wyuu 2025-10-31 09:50:50 +08:00
parent 2138f98df2
commit b203d9310b
5 changed files with 75 additions and 69 deletions

View File

@ -95,12 +95,12 @@
} }
.el-form--inline .el-form-item { .el-form--inline .el-form-item {
margin-right: 15px; margin-right: .9375rem;
} }
.el-form-item__label { .el-form-item__label {
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: .875rem;
color: #08355E; color: #08355E;
} }
@ -117,7 +117,7 @@
.el-table { .el-table {
padding: 0 !important; padding: 0 !important;
border-radius: 10px !important; border-radius: .625rem !important;
.el-table__header-wrapper, .el-table__header-wrapper,
.el-table__fixed-header-wrapper { .el-table__fixed-header-wrapper {
@ -125,8 +125,8 @@
word-break: break-word; word-break: break-word;
background-color: #1F6DD3 !important; background-color: #1F6DD3 !important;
color: #FFF; color: #FFF;
height: 30px !important; height: 1.875rem !important;
font-size: 13px; font-size: .8125rem;
} }
} }
@ -251,7 +251,7 @@
border: 1px solid #96B8D9 !important; border: 1px solid #96B8D9 !important;
border-top: none !important; border-top: none !important;
/* 蓝色外边框 */ /* 蓝色外边框 */
border-radius: 8px; border-radius: .5rem;
/* 可选:添加边框圆角 */ /* 可选:添加边框圆角 */
overflow: hidden; overflow: hidden;
} }
@ -261,10 +261,10 @@
word-break: break-word; word-break: break-word;
background-color: #1F6DD3 !important; background-color: #1F6DD3 !important;
color: #FFF; color: #FFF;
height: 30px !important; height: 1.875rem !important;
line-height: 30px !important; line-height: 1.875rem !important;
padding: 0 !important; padding: 0 !important;
font-size: 13px; font-size: .8125rem;
border-color: #1F6DD3 !important; border-color: #1F6DD3 !important;
} }
@ -277,12 +277,12 @@
} }
.vxe-table--render-default .vxe-body--column { .vxe-table--render-default .vxe-body--column {
height: 23px !important; height: 1.4375rem !important;
line-height: 23px !important; line-height: 1.4375rem !important;
} }
.el-checkbox { .el-checkbox {
height: 23px !important; height: 1.4375rem !important;
} }
} }
@ -302,8 +302,8 @@
// 滚动条 // 滚动条
.mytable-style ::-webkit-scrollbar { .mytable-style ::-webkit-scrollbar {
width: 8px; width: .5rem;
height: 8px; height: .5rem;
} }
.mytable-style ::-webkit-scrollbar-thumb { .mytable-style ::-webkit-scrollbar-thumb {
@ -343,6 +343,7 @@
box-shadow: none !important; box-shadow: none !important;
} }
} }
.el-select__wrapper { .el-select__wrapper {
box-shadow: none; box-shadow: none;
background: transparent !important; background: transparent !important;
@ -358,10 +359,10 @@
/** 表单布局 **/ /** 表单布局 **/
.form-header { .form-header {
font-size: 15px; font-size: .9375rem;
color: #6379bb; color: #6379bb;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
margin: 8px 10px 25px 10px; margin: .5rem .625rem 1.5625rem .625rem;
padding-bottom: 5px padding-bottom: 5px
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<el-popover :visible="selectVisible" placement="bottom" :width="'16vw'"> <el-popover :visible="selectVisible" placement="bottom" :width="'16vw'" @after-enter="initClickOutside">
<el-form :model="queryParams" class="query-form" label-width="90px"> <el-form :model="queryParams" class="query-form" label-width="90px">
<!-- 病人类型选择 --> <!-- 病人类型选择 -->
<el-form-item label="病人类型:" prop="brly"> <el-form-item label="病人类型:" prop="brly">
@ -181,6 +181,14 @@ const queryParams = ref<QueryParams>({
...props.initialParams ...props.initialParams
}) })
// 由于更多按钮在 app 元素内,给 app 元素注册的点击事件必须在弹出框显示后并且是一次性的
// 防止更多按钮的事件与之冲突
const initClickOutside = () => {
document.getElementById('app')!.addEventListener('click', () => {
selectVisible.value = false
}, { once: true })
}
// 记录上一次选中的值 // 记录上一次选中的值
const lastRadioValue = ref<string | undefined>(undefined); const lastRadioValue = ref<string | undefined>(undefined);
const handleRadioChange = (value: string) => { const handleRadioChange = (value: string) => {

View File

@ -113,22 +113,22 @@ setTimeout(() => {
} }
.scroll-btn { .scroll-btn {
width: 30px; width: 1.875rem;
height: 48px; height: 3rem;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background: #fff; background: #fff;
cursor: pointer; cursor: pointer;
z-index: 10; z-index: 10;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.1); box-shadow: 0 0 .25rem rgba(0, 0, 0, 0.1);
transition: opacity 0.3s; transition: opacity 0.3s;
&.left { &.left {
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
border-radius: 12px 0 0 12px; border-radius: .75rem 0 0 .75rem;
border: 1px solid #fff; border: 1px solid #fff;
} }
@ -136,7 +136,7 @@ setTimeout(() => {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
border-radius: 0 12px 12px 0; border-radius: 0 .75rem .75rem 0;
border: 1px solid #fff; border: 1px solid #fff;
} }
@ -149,7 +149,7 @@ setTimeout(() => {
.tab-wrapper { .tab-wrapper {
flex: 1; flex: 1;
overflow: hidden; overflow: hidden;
padding: 0 30px; // 给箭头留出空间 padding: 0 1.875rem; // 给箭头留出空间
} }
.tab-list { .tab-list {
@ -170,11 +170,11 @@ setTimeout(() => {
.text { .text {
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 1rem;
color: #1F6DD3; color: #1F6DD3;
width: 90px; width: 5.625rem;
height: 48px; height: 3rem;
line-height: 48px; line-height: 3rem;
text-align: center; text-align: center;
flex-shrink: 0; flex-shrink: 0;
cursor: pointer; cursor: pointer;

View File

@ -2,25 +2,25 @@
<div class="app-container "> <div class="app-container ">
<div ref="compactForm"> <div ref="compactForm">
<el-row :gutter="10" class="compact-form" v-show="showSearch"> <el-row :gutter="10" class="compact-form" v-show="showSearch">
<el-form :model="queryParams" ref="queryRef" :inline="true" :rules="queryRules"> <el-form :model="queryParams" ref="queryRef" :inline="true" :size="aotuSize" :rules="queryRules">
<el-form-item label="日期:" prop="failed1"> <el-form-item label="日期:" prop="failed1">
<el-date-picker v-model="queryParams.times" type="datetimerange" range-separator="-" <el-date-picker v-model="queryParams.times" type="datetimerange" range-separator="-"
start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss" start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss" @change="handletime" /> value-format="YYYY-MM-DD HH:mm:ss" @change="handletime" style="width: 25rem;" />
</el-form-item> </el-form-item>
<el-form-item label="医疗机构:" prop="yljg"> <el-form-item label="医疗机构:" prop="yljg">
<el-select v-model="queryParams.yljg" placeholder="请选择" style="width: 150px;"> <el-select v-model="queryParams.yljg" placeholder="请选择" style="width: 9.37rem;">
<el-option v-for="item in dictData.HOS" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dictData.HOS" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="条码状态:" prop="zt"> <el-form-item label="条码状态:" prop="zt">
<el-select v-model="queryParams.zt" placeholder="请选择" style="width: 100px;"> <el-select v-model="queryParams.zt" placeholder="请选择" style="width: 6.25rem;">
<el-option v-for="item in dictData.ST" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in dictData.ST" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="failed4"> <el-form-item label="" prop="failed4">
<el-select v-model="queryParams.failed4" placeholder="请选择" style="width:140px"> <el-select v-model="queryParams.failed4" placeholder="请选择" style="width:8.75">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -30,10 +30,8 @@
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-button icon="search" type="primary" @click="handleQuery"> <el-button icon="search" type="primary" @click="handleQuery" :size="aotuSize"> 搜索 </el-button>
搜索 <el-button icon="Refresh" @click="resetQuery" :size="aotuSize">重置</el-button>
</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
@ -44,31 +42,31 @@
<el-col :span="16" class="right-table"> <el-col :span="16" class="right-table">
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="printHandle">生成条码</el-button> <el-button type="primary" :size="aotuSize" plain icon="Plus" @click="printHandle">生成条码</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="Edit" @click="selectStatusRows">选中所有未打印</el-button> <el-button type="danger" :size="aotuSize" plain icon="Edit" @click="selectStatusRows">选中所有未打印</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain @click="printPdf">打印</el-button> <el-button type="success" :size="aotuSize" plain @click="printPdf">打印</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="info" plain icon="Upload" @click="openBlock('采样登记')">采样登记</el-button> <el-button type="info" :size="aotuSize" plain icon="Upload" @click="openBlock('采样登记')">采样登记</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain @click="openBlock('送检登记')">送检登记</el-button> <el-button type="warning" :size="aotuSize" plain @click="openBlock('送检登记')">送检登记</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain @click="goReport">报告查询</el-button> <el-button type="warning" :size="aotuSize" plain @click="goReport">报告查询</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain @click="cancelHandle">条码作废</el-button> <el-button type="warning" :size="aotuSize" plain @click="cancelHandle">条码作废</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain>打印机设置</el-button> <el-button type="warning" :size="aotuSize" plain>打印机设置</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain>清单打印</el-button> <el-button type="warning" :size="aotuSize" plain>清单打印</el-button>
</el-col> </el-col>
<!-- <right-toolbar v-model:showSearch="showSearch" @updateColumns="updateColumns" @queryTable="handleQuery" <!-- <right-toolbar v-model:showSearch="showSearch" @updateColumns="updateColumns" @queryTable="handleQuery"
:columns="columns"></right-toolbar> --> :columns="columns"></right-toolbar> -->
@ -101,7 +99,7 @@
</el-col> </el-col>
<el-col :span="8" class="right-table"> <el-col :span="8" class="right-table">
<!-- <div class="title"> 项目 </div> --> <!-- <div class="title"> 项目 </div> -->
<el-button type="primary" plain class="mb8">拆分选中项目</el-button> <el-button type="primary" plain class="mb8" :size="aotuSize">拆分选中项目</el-button>
<CustomTable :data="rightTableData" :columns="rightColumns" :config="rightTableConfig"> <CustomTable :data="rightTableData" :columns="rightColumns" :config="rightTableConfig">
<template #jjzt="{ row }"> <template #jjzt="{ row }">
{{ row.jjzt == '1' ? '计价' : '无' }} {{ row.jjzt == '1' ? '计价' : '无' }}
@ -166,8 +164,7 @@ import CustomTable from '@/components/elTable/index.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { usePrintStore } from '@/store/modules/printStore' import { usePrintStore } from '@/store/modules/printStore'
import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain } from '@/api/checkCode/index' import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain } from '@/api/checkCode/index'
import { TableColumnCtx } from 'element-plus'; const aotuSize = classCom.useAutoSize();
import dayjs from 'dayjs';
//@ts-ignore //@ts-ignore
import { comDict } from '@/utils/dict' import { comDict } from '@/utils/dict'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
@ -670,13 +667,13 @@ const printPdf = () => {
.right-table { .right-table {
border: 1px solid #E1E9F7; border: 1px solid #E1E9F7;
padding-top: 5px; padding-top: .3125rem;
} }
.title { .title {
border-bottom: 1px solid #E1E9F7; border-bottom: 1px solid #E1E9F7;
margin-bottom: 10px; margin-bottom: .625rem;
padding: 10px; padding: .625rem;
font-weight: 700; font-weight: 700;
} }
@ -684,9 +681,9 @@ const printPdf = () => {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
align-items: center; align-items: center;
margin-top: 10px; margin-top: .625rem;
background-color: #f0f3f8; background-color: #f0f3f8;
padding: 10px 40px; padding: .625rem 2.5rem;
} }
.time-line-item { .time-line-item {
@ -702,42 +699,42 @@ const printPdf = () => {
align-items: center; align-items: center;
.index { .index {
width: 40px; width: 2.5rem;
height: 40px; height: 2.5rem;
line-height: 40px; line-height: 2.5rem;
background: #E1E9F7; background: #E1E9F7;
border-radius: 50%; border-radius: 50%;
text-align: center; text-align: center;
font-family: SourceHanSansCN, SourceHanSansCN; font-family: SourceHanSansCN, SourceHanSansCN;
font-weight: 500; font-weight: 500;
font-size: 18px; font-size: 1.125rem;
color: #4767A3; color: #4767A3;
} }
.active { .active {
background-color: #4096ff; background-color: #4096ff;
box-shadow: 0 0 0 4px rgba(64, 150, 255, 0.2); box-shadow: 0 0 0 .25rem rgba(64, 150, 255, 0.2);
color: #FFF; color: #FFF;
} }
.timeline-title { .timeline-title {
font-family: SourceHanSansCN, SourceHanSansCN; font-family: SourceHanSansCN, SourceHanSansCN;
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 1rem;
color: #4767A3; color: #4767A3;
} }
.timeline-time { .timeline-time {
font-family: SourceHanSansCN, SourceHanSansCN; font-family: SourceHanSansCN, SourceHanSansCN;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: .875rem;
color: #4767A3; color: #4767A3;
} }
} }
.timg { .timg {
width: 50px; width: 3.125rem;
} }

View File

@ -636,8 +636,8 @@ onMounted(async () => {
.box-shadow { .box-shadow {
box-shadow: 2px 2px 4px 0px rgba(206, 217, 234, 0.7); box-shadow: 2px 2px 4px 0px rgba(206, 217, 234, 0.7);
border-radius: 12px; border-radius: .75rem;
padding: 10px; padding: .625rem;
background-color: #fff; background-color: #fff;
} }
@ -646,20 +646,20 @@ onMounted(async () => {
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
.el-form-item--default { .el-form-item--default {
margin-bottom: 5px !important; margin-bottom: .3125rem !important;
} }
.el-form-item--small { .el-form-item--small {
margin-bottom: 5px !important; margin-bottom: .3125rem !important;
} }
} }
.card-content { .card-content {
max-height: 450px; max-height: 28.125rem;
/* 设置最大高度 */ /* 设置最大高度 */
overflow-y: auto; overflow-y: auto;
/* 超出高度时显示垂直滚动条 */ /* 超出高度时显示垂直滚动条 */
padding: 5px; padding: .3125rem;
/* 保持与卡片默认一致的内边距 */ /* 保持与卡片默认一致的内边距 */
} }
@ -670,7 +670,7 @@ onMounted(async () => {
justify-content: space-around; justify-content: space-around;
font-family: SourceHanSansCN, SourceHanSansCN; font-family: SourceHanSansCN, SourceHanSansCN;
font-weight: 500; font-weight: 500;
font-size: 16px; font-size: 1rem;
color: #28BDBB; color: #28BDBB;
// margin-top: 20px; // margin-top: 20px;