更新vxetable框架并升级前端组件框架

This commit is contained in:
2026-06-03 11:19:52 +08:00
parent 5b6b23331d
commit 5a2050a736
385 changed files with 19691 additions and 21188 deletions

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div @keyup="handleKeyDown" tabindex="0" ref="tableWrapper" class="advice-base-list-wrapper">
<Table
ref="adviceBaseRef"
@@ -8,8 +8,8 @@
:table-height="400"
:max-height="400"
:loading="loading"
row-key="patientId"
@row-click="handleRowClick"
:row-config="{ keyField: 'patientId' }"
@cell-click="handleRowClick"
>
<template #quantity="{ row }">
{{ handleQuantity(row) }}

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-09-05 21:16:06
* @Description: 输血申请详情
@@ -17,7 +17,7 @@
</el-icon>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -25,39 +25,39 @@
height="100%"
style="width: 100%"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
<vxe-column
field="patientName"
title="患者姓名"
width="120"
/>
<el-table-column
prop="name"
label="申请单名称"
<vxe-column
field="name"
title="申请单名称"
width="140"
/>
<el-table-column
prop="createTime"
label="创建时间"
<vxe-column
field="createTime"
title="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="处方号"
<vxe-column
field="prescriptionNo"
title="处方号"
width="140"
/>
<el-table-column
prop="requesterId_dictText"
label="申请者"
<vxe-column
field="requesterId_dictText"
title="申请者"
width="120"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
fixed="right"
>
@@ -70,8 +70,8 @@
详情
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<!-- 详情弹窗 -->
@@ -156,38 +156,38 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table
<vxe-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
<vxe-column
field="adviceName"
title="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
<vxe-column
field="quantity"
title="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
<vxe-column
field="unitCode_dictText"
title="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
<vxe-column
field="totalPrice"
title="总价"
width="100"
align="right"
/>
</el-table>
</vxe-table>
</div>
</div>
<template #footer>

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-09-05 21:16:06
* @Description: 检查申请
@@ -106,7 +106,7 @@
</el-form>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -122,37 +122,37 @@
/>
</div>
</template>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
<vxe-column
field="patientName"
title="患者姓名"
width="120"
/>
<el-table-column
label="申请单名称"
<vxe-column
title="申请单名称"
min-width="140"
>
<template #default="scope">
<span>{{ buildApplicationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
</vxe-column>
<vxe-column
field="createTime"
title="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="申请单号"
<vxe-column
field="prescriptionNo"
title="申请单号"
width="140"
/>
<el-table-column
label="申请单状态"
<vxe-column
title="申请单状态"
width="120"
align="center"
>
@@ -165,14 +165,14 @@
{{ parseStatus(scope.row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="requesterId_dictText"
label="申请者"
</vxe-column>
<vxe-column
field="requesterId_dictText"
title="申请者"
width="120"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="280"
align="center"
fixed="right"
@@ -255,8 +255,8 @@
<!-- 其他/未知状态仅详情 -->
<template v-else />
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<!-- 详情弹窗 -->
@@ -346,38 +346,38 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table
<vxe-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
<vxe-column
field="adviceName"
title="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
<vxe-column
field="quantity"
title="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
<vxe-column
field="unitCode_dictText"
title="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
<vxe-column
field="totalPrice"
title="总价"
width="100"
align="right"
/>
</el-table>
</vxe-table>
</div>
</div>
<template #footer>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="nursing-status-container">
<div class="nursing-status-header">
<h3>护理状态</h3>
@@ -20,22 +20,22 @@
<template v-else>
<!-- 护理状态表格 -->
<el-table
<vxe-table
:data="nursingItems"
border
style="width: 100%"
class="nursing-table"
:header-cell-style="{ backgroundColor: '#f5f7fa' }"
>
<el-table-column
prop="item"
label="项目"
<vxe-column
field="item"
title="项目"
width="180"
align="center"
/>
<el-table-column
prop="currentStatus"
label="当前状态"
<vxe-column
field="currentStatus"
title="当前状态"
width="260"
align="center"
>
@@ -49,10 +49,10 @@
{{ scope.row.currentStatus }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="operation"
label="操作"
</vxe-column>
<vxe-column
field="operation"
title="操作"
align="center"
>
<template #default="scope">
@@ -181,8 +181,8 @@
</div>
</div>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 操作按钮区域 -->
<div class="nursing-status-actions">
<el-button
@@ -997,11 +997,11 @@ const handleConfirm = async () => {
font-size: 14px;
color: #303133;
:deep(.el-table__header) {
:deep(.vxe-table--header) {
font-weight: 600;
}
:deep(.el-table__cell) {
:deep(.vxe-cell) {
padding: 12px 10px; /* 增加左右内边距 */
text-align: left; /* 调整为左对齐 */
border-right: 1px solid #ebeef5;
@@ -1010,16 +1010,16 @@ const handleConfirm = async () => {
min-height: 40px; /* 设置最小高度 */
}
:deep(.el-table__row:hover) {
:deep(.vxe-body--row:hover) {
background-color: #f5f7fa;
}
:deep(.el-table__row:nth-child(odd)) {
:deep(.vxe-body--row:nth-child(odd)) {
background-color: #fafafa;
}
/* 为操作列设置更宽的最小宽度 */
:deep(.el-table__column--operation) {
:deep(.vxe-table--column-operation) {
min-width: 400px !important;
}
}
@@ -1083,11 +1083,11 @@ const handleConfirm = async () => {
/* 响应式调整 */
@media (max-width: 1200px) {
.nursing-table {
:deep(.el-table__cell) {
:deep(.vxe-cell) {
padding: 8px 8px;
}
:deep(.el-table__column--operation) {
:deep(.vxe-table--column-operation) {
min-width: 350px !important;
}
}
@@ -1107,11 +1107,11 @@ const handleConfirm = async () => {
.nursing-table {
font-size: 12px;
:deep(.el-table__cell) {
:deep(.vxe-cell) {
padding: 6px 6px;
}
:deep(.el-table__column--operation) {
:deep(.vxe-table--column-operation) {
min-width: 300px !important;
}
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="report-container">
<div class="report-section">
<div class="report-title">
@@ -12,7 +12,7 @@
</el-icon>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loadingCheck"
:data="checkReportList"
border
@@ -20,24 +20,24 @@
height="100%"
style="width: 100%"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="报告名称"
<vxe-column
field="adviceName"
title="报告名称"
width="140"
/>
<el-table-column
prop="reportNo"
label="报告号"
<vxe-column
field="reportNo"
title="报告号"
width="140"
/>
<el-table-column
label="链接"
<vxe-column
title="链接"
min-width="140"
>
<template #default="scope">
@@ -55,8 +55,8 @@
class="report-link-disabled"
>暂无链接</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<div class="report-section">
@@ -71,7 +71,7 @@
</el-icon>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loadingInspection"
:data="inspectionReportList"
border
@@ -79,24 +79,24 @@
height="100%"
style="width: 100%"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="报告名称"
<vxe-column
field="adviceName"
title="报告名称"
width="140"
/>
<el-table-column
prop="reportNo"
label="报告号"
<vxe-column
field="reportNo"
title="报告号"
width="140"
/>
<el-table-column
label="链接"
<vxe-column
title="链接"
min-width="140"
>
<template #default="scope">
@@ -114,8 +114,8 @@
class="report-link-disabled"
>暂无链接</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
</div>

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-09-05 21:16:06
* @Description: 手术申请详情
@@ -102,7 +102,7 @@
</el-form>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -110,14 +110,14 @@
height="100%"
style="width: 100%"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
label="手术单号"
<vxe-column
title="手术单号"
min-width="160"
align="center"
>
@@ -129,29 +129,29 @@
{{ scope.row.prescriptionNo || '-' }}
</el-link>
</template>
</el-table-column>
<el-table-column
prop="patientName"
label="患者姓名"
</vxe-column>
<vxe-column
field="patientName"
title="患者姓名"
min-width="100"
/>
<el-table-column
prop="name"
label="申请单名称"
<vxe-column
field="name"
title="申请单名称"
min-width="140"
/>
<el-table-column
prop="createTime"
label="创建时间"
<vxe-column
field="createTime"
title="创建时间"
min-width="160"
/>
<el-table-column
prop="requesterId_dictText"
label="申请者"
<vxe-column
field="requesterId_dictText"
title="申请者"
min-width="100"
/>
<el-table-column
label="状态"
<vxe-column
title="状态"
min-width="100"
align="center"
>
@@ -163,9 +163,9 @@
{{ getStatusText(scope.row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
min-width="100"
align="center"
fixed="right"
@@ -180,8 +180,8 @@
详情
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<!-- 详情弹窗 -->
@@ -266,38 +266,38 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table
<vxe-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
<vxe-column
field="adviceName"
title="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
<vxe-column
field="quantity"
title="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
<vxe-column
field="unitCode_dictText"
title="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
<vxe-column
field="totalPrice"
title="总价"
width="100"
align="right"
/>
</el-table>
</vxe-table>
</div>
</div>
<template #footer>

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-09-05 21:16:06
* @Description: 检验申请
@@ -98,7 +98,7 @@
</el-form>
</div>
<div class="report-table-wrapper">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -114,19 +114,19 @@
/>
</div>
</template>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
<vxe-column
field="patientName"
title="患者姓名"
width="120"
/>
<el-table-column
label="申请单名称"
<vxe-column
title="申请单名称"
width="140"
>
<template #default="scope">
@@ -138,19 +138,19 @@
<span>{{ buildApplicationName(scope.row) }}</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
</vxe-column>
<vxe-column
field="createTime"
title="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="申请单号"
<vxe-column
field="prescriptionNo"
title="申请单号"
width="140"
/>
<el-table-column
label="单据状态"
<vxe-column
title="单据状态"
width="100"
align="center"
>
@@ -165,32 +165,32 @@
{{ parseBillStatus(getBillStatus(scope.row)) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="申请类型"
</vxe-column>
<vxe-column
title="申请类型"
width="100"
align="center"
>
<template #default="scope">
<span>{{ parsePriorityCode(scope.row.descJson) }}</span>
</template>
</el-table-column>
<el-table-column
label="标本类型"
</vxe-column>
<vxe-column
title="标本类型"
width="120"
align="center"
>
<template #default="scope">
<span>{{ parseSpecimenType(scope.row.descJson) }}</span>
</template>
</el-table-column>
<el-table-column
prop="requesterId_dictText"
label="申请者"
</vxe-column>
<vxe-column
field="requesterId_dictText"
title="申请者"
width="120"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
fixed="right"
width="280"
@@ -238,8 +238,8 @@
</el-button>
</template>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<!-- 详情弹窗 -->
@@ -324,38 +324,38 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table
<vxe-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
<vxe-column
field="adviceName"
title="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
<vxe-column
field="quantity"
title="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
<vxe-column
field="unitCode_dictText"
title="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
<vxe-column
field="totalPrice"
title="总价"
width="100"
align="right"
/>
</el-table>
</vxe-table>
</div>
</div>
<template #footer>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="dialogVisible"
:title="isUpdateMode ? '修改中医诊断' : '添加中医诊断'"
@@ -25,23 +25,23 @@
</template>
</el-input>
</div>
<el-table
<vxe-table
:data="conditionDatas"
max-height="460"
highlight-current-row
@row-click="handleClickRow"
@cell-click="handleClickRow"
>
<el-table-column
label="疾病名称"
<vxe-column
title="疾病名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
</el-table>
</vxe-table>
</div>
<!-- 中间疾病-证型关系区 -->
<div class="syndrome-section">
@@ -60,23 +60,23 @@
</el-input>
</div>
<div v-if="selectedDisease">
<el-table
<vxe-table
:data="syndromeListDatas"
max-height="460"
highlight-current-row
@row-click="clickSyndromeRow"
@cell-click="clickSyndromeRow"
>
<el-table-column
label="证候名称"
<vxe-column
title="证候名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
</el-table>
</vxe-table>
</div>
<div

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div>
<el-row :gutter="24">
<el-col
@@ -109,28 +109,28 @@
:model="form"
:rules="rules"
>
<el-table
<vxe-table
ref="diagnosisTableRef"
:data="form.diagnosisList"
height="650"
>
<el-table-column
label="序号"
<vxe-column
title="序号"
width="50"
>
<template #default="scope">
{{ scope.$index + 1 }}
{{ scope.rowIndex + 1 }}
</template>
</el-table-column>
<el-table-column
label="诊断排序"
</vxe-column>
<vxe-column
title="诊断排序"
align="center"
prop="diagSrtNo"
field="diagSrtNo"
width="120"
>
<template #default="scope">
<el-form-item
:prop="`diagnosisList.${scope.$index}.diagSrtNo`"
:prop="`diagnosisList.${scope.rowIndex}.diagSrtNo`"
:rules="rules.diagSrtNo"
>
<el-input-number
@@ -141,16 +141,16 @@
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断体系"
</vxe-column>
<vxe-column
title="诊断体系"
align="center"
prop="diagnosisSystem"
field="diagnosisSystem"
width="120"
>
<template #default="scope">
<el-form-item
:prop="`diagnosisList.${scope.$index}.diagnosisSystem`"
:prop="`diagnosisList.${scope.rowIndex}.diagnosisSystem`"
>
<el-select
v-model="scope.row.diagnosisSystem"
@@ -169,16 +169,16 @@
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断类别"
</vxe-column>
<vxe-column
title="诊断类别"
align="center"
prop="diagSrtNo"
field="diagSrtNo"
width="180"
>
<template #default="scope">
<el-form-item
:prop="`diagnosisList.${scope.$index}.medTypeCode`"
:prop="`diagnosisList.${scope.rowIndex}.medTypeCode`"
:rules="rules.medTypeCode"
>
<el-select
@@ -195,15 +195,15 @@
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断名称"
</vxe-column>
<vxe-column
title="诊断名称"
align="center"
prop="name"
field="name"
>
<template #default="scope">
<el-form-item
:prop="`diagnosisList.${scope.$index}.name`"
:prop="`diagnosisList.${scope.rowIndex}.name`"
:rules="rules.name"
>
<el-popover
@@ -223,19 +223,19 @@
v-model="scope.row.name"
placeholder="请选择诊断"
@input="handleChange"
@focus="handleFocus(scope.row, scope.$index)"
@focus="handleFocus(scope.row, scope.rowIndex)"
@blur="handleBlur(scope.row)"
/>
</template>
</el-popover>
</el-form-item>
</template>
</el-table-column>
</vxe-column>
<el-table-column
label="诊断医生"
<vxe-column
title="诊断医生"
align="center"
prop="diagnosisDoctor"
field="diagnosisDoctor"
width="120"
>
<template #default="scope">
@@ -243,10 +243,10 @@
<span style="display: block; text-align: center; width: 100%;">{{ scope.row.diagnosisDoctor || '—' }}</span>
</el-form-item>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
prop="tcmSyndromeName"
field="tcmSyndromeName"
width="180"
>
<template #header>
@@ -255,7 +255,7 @@
<template #default="scope">
<template v-if="scope.row.diagnosisSystem === '中医'">
<el-form-item
:prop="`diagnosisList.${scope.$index}.tcmSyndromeCode`"
:prop="`diagnosisList.${scope.rowIndex}.tcmSyndromeCode`"
:rules="scope.row.diagnosisSystem === '中医' ? [{ required: true, message: '请选择中医证候', trigger: 'change' }] : []"
>
<el-select
@@ -280,11 +280,11 @@
<span>—</span>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断时间"
</vxe-column>
<vxe-column
title="诊断时间"
align="center"
prop="diagnosisTime"
field="diagnosisTime"
width="150"
>
<template #default="scope">
@@ -292,11 +292,11 @@
<span style="display: block; text-align: center; width: 100%;">{{ scope.row.diagnosisTime || '—' }}</span>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断代码"
</vxe-column>
<vxe-column
title="诊断代码"
align="center"
prop="ybNo"
field="ybNo"
width="180"
>
<template #default="scope">
@@ -304,11 +304,11 @@
<span style="display: block; text-align: center; width: 100%;">{{ scope.row.ybNo || '—' }}</span>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="诊断类型"
</vxe-column>
<vxe-column
title="诊断类型"
align="center"
prop="maindiseFlag"
field="maindiseFlag"
width="120"
>
<template #default="scope">
@@ -321,7 +321,7 @@
:false-label="0"
border
size="small"
@change="(value) => handleMaindise(value, scope.$index)"
@change="(value) => handleMaindise(value, scope.rowIndex)"
/>
<el-select
v-model="scope.row.verificationStatusEnum"
@@ -339,9 +339,9 @@
</div>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="130"
>
@@ -350,14 +350,14 @@
<el-button
link
type="primary"
@click="handleDeleteDiagnosis(scope.row, scope.$index)"
@click="handleDeleteDiagnosis(scope.row, scope.rowIndex)"
>
删除
</el-button>
</el-form-item>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-form>
</el-col>
</el-row>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="props.openDiagnosis"
:title="title"
@@ -31,31 +31,31 @@
<!-- <el-col :span="12">
<span>使用范围</span>
<el-radio-group v-model="radio">
<el-radio :label="1" size="default">个人</el-radio>
<el-radio :label="2" size="default">科室</el-radio>
<el-radio :value="1" size="default">个人</el-radio>
<el-radio :value="2" size="default">科室</el-radio>
</el-radio-group>
</el-col> -->
</el-row>
<el-table
<vxe-table
ref="diagnosisDefinitionRef"
:data="diagnosisDefinitionList"
row-key="patientId"
:row-config="{ keyField: 'patientId' }"
highlight-current-row
@cell-click="clickRow"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
label="诊断名称"
<vxe-column
title="诊断名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
</el-table>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,29 +1,29 @@
<template>
<template>
<div>
<el-table
<vxe-table
ref="diagnosisDefinitionRef"
:data="diagnosisDefinitionList"
row-key="patientId"
:row-config="{ keyField: 'patientId' }"
max-height="400"
@cell-click="clickRow"
>
<el-table-column
label="诊断名称"
<vxe-column
title="诊断名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
<el-table-column
label="诊断类型"
<vxe-column
title="诊断类型"
align="center"
prop="typeName"
field="typeName"
width="180"
/>
</el-table>
</vxe-table>
</div>
</template>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="diagnose-container">
<!-- 常用诊断个人诊断科室诊断历史诊断 -->
<diagnose-folder
@@ -40,29 +40,30 @@
</el-space>
</div>
<div class="diagnoseData-container">
<el-table
<vxe-table
auto-resize
ref="diagnoseTableRef"
:data="diagnoseData"
border
row-key="id"
:row-config="{ keyField: 'id' }"
style="width: 100%; height: 100%"
highlight-current-row
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
fixed="left"
width="40"
/>
<el-table-column
label="序号"
type="index"
<vxe-column
title="序号"
type="seq"
width="50"
fixed="left"
/>
<el-table-column
label="诊断体系"
prop="diagnosisSystem"
<vxe-column
title="诊断体系"
field="diagnosisSystem"
width="120"
>
<template #default="scope">
@@ -82,10 +83,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="诊断类别"
prop="classification"
</vxe-column>
<vxe-column
title="诊断类别"
field="classification"
width="120"
>
<template #default="scope">
@@ -102,16 +103,16 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="诊断名称"
prop="name"
</vxe-column>
<vxe-column
title="诊断名称"
field="name"
width="180"
>
<template #default="scope">
<div
class="diagnosis-text"
@click="handleDiagnosisNameClick(scope.row, scope.$index)"
@click="handleDiagnosisNameClick(scope.row, scope.rowIndex)"
>
<span class="diagnosis-text-content">{{ scope.row.name || '点击选择诊断' }}</span>
<el-icon class="diagnosis-text-icon">
@@ -141,23 +142,23 @@
<div class="diagnosis-popover-body">
<diagnosislist
:diagnosis-searchkey="diagnosisSearchkey"
@select-diagnosis="(row) => handleSelectDiagnosis(row, scope.row, scope.$index)"
@select-diagnosis="(row) => handleSelectDiagnosis(row, scope.row, scope.rowIndex)"
/>
</div>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="中医证候"
prop="tcmSyndromeName"
</vxe-column>
<vxe-column
title="中医证候"
field="tcmSyndromeName"
width="180"
>
<template #default="scope">
<template v-if="scope.row.diagnosisSystem === '中医'">
<div
class="diagnosis-text"
@click="handleTcmSyndromeClick(scope.row, scope.$index)"
@click="handleTcmSyndromeClick(scope.row, scope.rowIndex)"
>
<span class="diagnosis-text-content">{{ scope.row.tcmSyndromeName || '请选择中医证候' }}</span>
<el-icon class="diagnosis-text-icon">
@@ -192,63 +193,63 @@
style="margin-bottom: 8px"
@input="handleSyndromeSearch"
/>
<el-table
<vxe-table
:data="filteredSyndromeList"
highlight-current-row
max-height="300"
@row-click="(row) => handleSelectSyndrome(row, scope.row)"
@cell-click="({ row }) => handleSelectSyndrome(row, scope.row)"
>
<el-table-column
label="证候名称"
prop="name"
<vxe-column
title="证候名称"
field="name"
align="center"
/>
<el-table-column
label="医保编码"
prop="ybNo"
<vxe-column
title="医保编码"
field="ybNo"
align="center"
/>
</el-table>
</vxe-table>
</div>
</div>
</el-popover>
</template>
<span v-else>—</span>
</template>
</el-table-column>
<el-table-column
label="入院病情"
prop="admissionCondition"
</vxe-column>
<vxe-column
title="入院病情"
field="admissionCondition"
width="120"
/>
<el-table-column
label="转归"
prop="outcome"
<vxe-column
title="转归"
field="outcome"
width="120"
/>
<el-table-column
label="转归日期"
prop="outcomeDate"
<vxe-column
title="转归日期"
field="outcomeDate"
width="140"
/>
<el-table-column
label="诊断科室"
prop="deptName"
<vxe-column
title="诊断科室"
field="deptName"
width="140"
/>
<el-table-column
label="诊断医师"
prop="diagnosisDoctor"
<vxe-column
title="诊断医师"
field="diagnosisDoctor"
width="140"
/>
<el-table-column
label="诊断日期"
prop="diagnosisTime"
<vxe-column
title="诊断日期"
field="diagnosisTime"
width="140"
/>
<el-table-column
<vxe-column
fixed="right"
label="操作"
title="操作"
width="120"
>
<template #default="scope">
@@ -257,32 +258,32 @@
content="删除"
placement="bottom"
>
<el-icon @click="deleteRow(scope.row, scope.$index)">
<el-icon @click="deleteRow(scope.row, scope.rowIndex)">
<Delete />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="scope.$index !== diagnoseData.length - 1"
v-if="scope.rowIndex !== diagnoseData.length - 1"
content="下移"
placement="bottom"
>
<el-icon @click="moveDown(scope.row, scope.$index)">
<el-icon @click="moveDown(scope.row, scope.rowIndex)">
<Download />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="scope.$index !== 0"
v-if="scope.rowIndex !== 0"
content="上移"
placement="bottom"
>
<el-icon @click="moveUp(scope.row, scope.$index)">
<el-icon @click="moveUp(scope.row, scope.rowIndex)">
<Upload />
</el-icon>
</el-tooltip>
</el-space>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<WesternMedicineDialog v-model:visible="westernMedicineDialogVisible" />
@@ -443,8 +444,8 @@ function closeSyndromePopover(row) {
row.showSyndromePopover = false
}
function handleSelectionChange(rows) {
selectedRows.value = rows
function handleSelectionChange({ selection }) {
selectedRows.value = selection
}
function deleteRow(row, index) {

View File

@@ -1,5 +1,5 @@
<template>
<el-form :model="row" :rules="rules" :ref="(el) => (formRef = el)" :label-width="100">
<template>
<el-form :model="row" :rules="rules" :ref="(el) => (formRef = el)" label-width="100">
<div class="expend_div" style="padding: 16px; background: #f8f9fa; border-radius: 8px">
<template v-if="row.adviceType == 1">
<div style="display: flex; align-items: center; margin-bottom: 16px; gap: 16px">
@@ -103,7 +103,7 @@
style="width: 70px; margin-right: 32px"
placeholder=" "
>
<template v-for="item in row.unitCodeList" :key="item.value">
<template v-for="(item, idx) in row.unitCodeList" :key="idx">
<el-option
v-if="item.type == config.unitMap['minUnit']"
:value="item.value"
@@ -132,10 +132,10 @@
@change="() => { convertValues(); calculateTotalAmount(); }"
>
<el-option
v-for="item in row.unitCodeList"
:value="item.value"
:label="item.label"
:key="item.value"
v-for="(item, idx) in row.unitCodeList"
:value="item.value"
:label="item.label"
:key="idx"
/>
</el-select>
</div>
@@ -251,7 +251,7 @@
placeholder=" "
@change="calculateTotalAmount"
>
<template v-for="item in row.unitCodeList" :key="item.value">
<template v-for="(item, idx) in row.unitCodeList" :key="idx">
<el-option
v-if="checkUnit(item)"
:value="item.value"
@@ -289,10 +289,10 @@
</el-form-item>
<el-select v-model="row.doseUnitCode" style="width: 70px" placeholder=" ">
<el-option
v-for="item in row.unitCodeList"
v-for="(item, idx) in row.unitCodeList"
:value="item.value"
:label="item.label"
:key="item.value"
:key="idx"
/>
</el-select>
</template>
@@ -369,7 +369,7 @@
/>
</el-form-item>
<el-select v-model="row.minUnitCode" style="width: 70px; margin-right: 32px" placeholder=" ">
<template v-for="item in row.unitCodeList" :key="item.value">
<template v-for="(item, idx) in row.unitCodeList" :key="idx">
<el-option v-if="item.type == config.unitMap['minUnit']" :value="item.value" :label="item.label" />
</template>
</el-select>
@@ -398,7 +398,7 @@
<el-input-number v-model="row.quantity" style="width: 70px" controls-position="right" :controls="false" :ref="(el) => setInputRef('quantity', el)" @keyup.enter.prevent="handleEnter('quantity')" @input="calculateTotalAmount" />
</el-form-item>
<el-select v-model="row.unitCode" style="width: 70px" placeholder=" " @change="calculateTotalAmount">
<template v-for="item in row.unitCodeList" :key="item.value">
<template v-for="(item, idx) in row.unitCodeList" :key="idx">
<el-option v-if="checkUnit(item)" :value="item.value" :label="item.label" @click="() => {
if (item.type == config.unitMap['minUnit']) {
row.unitPrice = row.minUnitPrice;
@@ -487,7 +487,7 @@
placeholder=" "
@change="calculateTotalAmount"
>
<template v-for="item in row.unitCodeList" :key="item.value">
<template v-for="(item, idx) in row.unitCodeList" :key="idx">
<el-option
v-if="item.type != config.unitMap['dose']"
:value="item.value"
@@ -580,7 +580,7 @@
</template>
<script setup lang="ts">
import {computed, getCurrentInstance, nextTick, onMounted, ref, watch} from 'vue';
import {computed, getCurrentInstance, nextTick, onMounted, ref, watch, onErrorCaptured} from 'vue';
import Decimal from 'decimal.js';
interface Config {
@@ -645,6 +645,13 @@ watch(
{ immediate: true }
);
});
}
return false;
if (err?.message?.includes('label') || err?.message?.includes('width') || err?.message?.includes('NaN')) {
onErrorCaptured((err) => {
// Suppress el-form-label-wrap teardown errors during vxe-table expand collapse
onMounted(() => {
nextTick(() => {
registerFormRef();

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="inpatientDoctor-order-container" style="width: 100%">
<div style="margin-bottom: 5px" class="order-operate-btn">
<div style="height: 44px; display: flex; align-items: center; flex: none">
@@ -64,9 +64,9 @@
<div class="operate-btns">
<el-space>
<el-radio-group v-model="therapyEnum">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button label="1">长期</el-radio-button>
<el-radio-button label="2">临时</el-radio-button>
<el-radio-button value="">全部</el-radio-button>
<el-radio-button value="1">长期</el-radio-button>
<el-radio-button value="2">临时</el-radio-button>
</el-radio-group>
<el-select v-model="orderClassCode" placeholder="医嘱类型" style="width: 240px" clearable>
<el-option
@@ -94,24 +94,24 @@
</div>
</div>
<div class="inpatientDoctor-order-table">
<el-table
<vxe-table
auto-resize
height="100%"
ref="prescriptionRef"
:data="filterPrescriptionList"
row-key="uniqueKey"
:row-config="{ keyField: 'uniqueKey', expandRowKeys: expandOrder }"
border
@cell-click="clickRow"
@row-dblclick="clickRowDb"
@cell-dblclick="clickRowDb"
v-loading="loading"
:expand-row-keys="expandOrder"
@select="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column type="expand" width="1" style="width: 0">
<vxe-column type="expand" width="1" style="width: 0">
<template #default="scope">
<OrderForm
:row="scope.row"
:index="scope.$index"
:form-ref-name="'formRef' + scope.$index"
:index="scope.rowIndex"
:form-ref-name="'formRef' + scope.rowIndex"
:rules="rowRules"
:config="getFormConfig()"
:handlers="getFormHandlers()"
@@ -119,11 +119,11 @@
@cancel="handleCancelEdit"
/>
</template>
</el-table-column>
<el-table-column type="selection" align="center" width="60" />
<el-table-column label="组" align="center" width="60" prop="groupIcon" />
</vxe-column>
<vxe-column type="checkbox" align="center" width="60" />
<vxe-column title="组" align="center" width="60" field="groupIcon" />
<el-table-column label="类型" align="center" prop="" width="120">
<vxe-column title="类型" align="center" field="" width="120">
<template #default="scope">
<el-radio-group
v-model="scope.row.therapyEnum"
@@ -131,8 +131,8 @@
v-if="getRowDisabled(scope.row) && !scope.row.dischargeFlag"
@change="(val) => handleTherapyChange(val, scope.row)"
>
<el-radio-button label="1">长期</el-radio-button>
<el-radio-button label="2">临时</el-radio-button>
<el-radio-button value="1">长期</el-radio-button>
<el-radio-button value="2">临时</el-radio-button>
</el-radio-group>
<span
v-else
@@ -141,44 +141,44 @@
{{ scope.row.dischargeFlag ? '临时(出院带药)' : (scope.row.therapyEnum === '1' ? '长期' : '临时') }}
</span>
</template>
</el-table-column>
<el-table-column label="开嘱医生" align="center" prop="createdStaffName" width="120">
</vxe-column>
<vxe-column title="开嘱医生" align="center" field="createdStaffName" width="120">
<template #default="scope">
{{ scope.row.createdStaffName || '-' }}
</template>
</el-table-column>
<el-table-column label="开始时间" align="center" prop="startTime" width="170">
</vxe-column>
<vxe-column title="开始时间" align="center" field="startTime" width="170">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.startTime || '-' }}
</span>
</template>
</el-table-column>
<el-table-column label="医嘱" align="center" prop="productName" width="300">
</vxe-column>
<vxe-column title="医嘱" align="center" field="productName" width="300">
<template #default="scope">
<template v-if="getRowDisabled(scope.row)">
<el-select
style="width: 35%; margin-right: 8px"
:model-value="getRowSelectValue(scope.row)"
:ref="'adviceTypeRef' + scope.$index"
:ref="'adviceTypeRef' + scope.rowIndex"
:disabled="!isCategoryLoaded"
@change="
(value) => {
expandOrder = [];
filterPrescriptionList[scope.$index].adviceName = undefined;
filterPrescriptionList[scope.rowIndex].adviceName = undefined;
// 根据选中的医嘱类型,设置对应的 categoryCode
const selectedItem = adviceTypeList.find(item => item.value === value);
const newCategoryCode = selectedItem ? selectedItem.categoryCode : '';
const newAdviceType = selectedItem ? selectedItem.adviceType : value;
// 更新行的 adviceType数字和 categoryCode
filterPrescriptionList[scope.$index].adviceType = newAdviceType;
filterPrescriptionList[scope.$index].categoryCode = newCategoryCode;
filterPrescriptionList[scope.rowIndex].adviceType = newAdviceType;
filterPrescriptionList[scope.rowIndex].categoryCode = newCategoryCode;
// Bug #589: 出院带药强制为临时医嘱
if (newAdviceType == 7) {
filterPrescriptionList[scope.$index].therapyEnum = '2';
filterPrescriptionList[scope.$index].dischargeFlag = true;
filterPrescriptionList[scope.rowIndex].therapyEnum = '2';
filterPrescriptionList[scope.rowIndex].dischargeFlag = true;
} else {
filterPrescriptionList[scope.$index].dischargeFlag = false;
filterPrescriptionList[scope.rowIndex].dischargeFlag = false;
}
// 更新 adviceQueryParams备用
adviceQueryParams.value = {
@@ -186,8 +186,8 @@
categoryCode: newCategoryCode,
searchKey: adviceQueryParams.value.searchKey || '',
};
// 直接调用子组件 refresh 方法,立即刷新列表(用 scope.$index 找到当前行的子组件)
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.$index] : adviceTableRef.value;
// 直接调用子组件 refresh 方法,立即刷新列表(用 scope.rowIndex 找到当前行的子组件)
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.rowIndex] : adviceTableRef.value;
if (tableRef && tableRef.refresh) {
tableRef.refresh(newAdviceType, newCategoryCode, '');
}
@@ -215,13 +215,13 @@
/>
<template #reference>
<el-input
:ref="'adviceRef' + scope.$index"
:ref="'adviceRef' + scope.rowIndex"
style="width: 62%"
v-model="scope.row.adviceName"
placeholder="请选择项目"
@input="handleChange"
@focus="handleFocus(scope.row, scope.$index)"
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
@focus="handleFocus(scope.row, scope.rowIndex)"
@keyup.enter.stop="handleFocus(scope.row, scope.rowIndex)"
@keydown="
(e) => {
if (!scope.row.showPopover) return;
@@ -229,7 +229,7 @@
if (['ArrowUp', 'ArrowDown', 'Enter'].includes(e.key)) {
e.preventDefault();
// 传递事件到弹窗容器
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.$index] : adviceTableRef.value;
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.rowIndex] : adviceTableRef.value;
if (tableRef && tableRef.handleKeyDown) tableRef.handleKeyDown(e);
}
}
@@ -241,8 +241,8 @@
</template>
<span v-else>{{ scope.row.adviceName }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="" width="90">
</vxe-column>
<vxe-column title="状态" align="center" field="" width="90">
<template #default="scope">
<el-tag v-if="scope.row.chargeStatus == 5" type="info">
{{ scope.row.chargeStatus_enumText }}
@@ -258,15 +258,15 @@
<el-tag v-else-if="scope.row.statusEnum == 6" type="danger">停止</el-tag>
<el-tag v-else type="info">{{ scope.row.chargeStatus_enumText }}</el-tag>
</template>
</el-table-column>
<el-table-column label="单次剂量" align="center" prop="">
</vxe-column>
<vxe-column title="单次剂量" align="center" field="" width="120">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.dose ? scope.row.dose + ' ' + scope.row.doseUnitCode_dictText : '' }}
</span>
</template>
</el-table-column>
<el-table-column label="总量" align="center" prop="">
</vxe-column>
<vxe-column title="总量" align="center" field="" width="100">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{
@@ -276,22 +276,22 @@
}}
</span>
</template>
</el-table-column>
<el-table-column label="总金额" align="right" prop="" header-align="center" width="100">
</vxe-column>
<vxe-column title="总金额" align="right" field="" header-align="center" width="100">
<template #default="scope">
<span v-if="!scope.row.isEdit" style="text-align: right">
{{ scope.row.totalPrice ? Number(scope.row.totalPrice).toFixed(2) + ' ' : '-' }}
</span>
</template>
</el-table-column>
<el-table-column label="药房/科室" align="center" prop="" width="240">
</vxe-column>
<vxe-column title="药房/科室" align="center" field="" width="240">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.positionName || scope.row.orgName }}
</span>
</template>
</el-table-column>
<el-table-column label="频次/用法" align="center" prop="" width="180">
</vxe-column>
<vxe-column title="频次/用法" align="center" field="" width="180">
<template #default="scope">
<span v-if="!scope.row.isEdit && scope.row.adviceType == 1" style="text-align: right">
{{
@@ -305,15 +305,15 @@
}}
</span>
</template>
</el-table-column>
<el-table-column label="注射药品" align="center" prop="" width="80">
</vxe-column>
<vxe-column title="注射药品" align="center" field="" width="80">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.injectFlag_enumText || '-' }}
</span>
</template>
</el-table-column>
<el-table-column label="皮试" align="center" prop="" width="80">
</vxe-column>
<vxe-column title="皮试" align="center" field="" width="80">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.skinTestFlag_enumText || '-' }}
@@ -327,36 +327,36 @@
</el-checkbox>
</template>
</el-table-column>
<el-table-column label="停嘱医生" align="center" prop="stopUserName" width="120">
</vxe-column>
<vxe-column title="停嘱医生" align="center" field="stopUserName" width="120">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.stopUserName || "-" }}
</span>
</template>
</el-table-column>
<el-table-column label="停嘱时间" align="center" prop="stopTime" width="170">
</vxe-column>
<vxe-column title="停嘱时间" align="center" field="stopTime" width="170">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.stopTime || "-" }}
</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" width="150" show-overflow-tooltip>
</vxe-column>
<vxe-column title="备注" align="center" field="remark" width="150" show-overflow>
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.remark || '-' }}
</span>
</template>
</el-table-column>
<el-table-column label="诊断" align="center" prop="diagnosisName" width="150">
</vxe-column>
<vxe-column title="诊断" align="center" field="diagnosisName" width="150">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.diagnosisName || scope.row.conditionDefinitionName }}
</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<!-- // 底部按钮 -->
<application-form-bottom-btn :patientInfo="patientInfo" @refResh="refresh" />
@@ -899,7 +899,7 @@ function handleAddPrescription() {
/**
* 点击行赋值
*/
function clickRow(row) {
function clickRow({ row }) {
emit('selectDiagnosis', row);
}
@@ -942,7 +942,7 @@ function defaultStartTimeFn() {
}
// 行双击打开编辑块:待保存、待签发医嘱均可编辑;已签发/已完成/停止不允许编辑
function clickRowDb(row, column, event) {
function clickRowDb({ row, column, event }) {
// 检查点击的是否是复选框
if (event && event.target.closest('.el-checkbox')) {
return; // 如果是复选框点击,不执行行点击逻辑
@@ -2049,7 +2049,7 @@ function handleSingOut() {
getListInfo(false);
}
});
prescriptionRef.value.clearSelection();
prescriptionRef.value.clearCheckboxRow();
}
// 停嘱 - 弹出时间选择弹窗
@@ -2215,7 +2215,7 @@ function handleResumeAdvice() {
getListInfo(false);
}
});
prescriptionRef.value.clearSelection();
prescriptionRef.value.clearCheckboxRow();
}).catch(() => {});
}
function handleGroupId(paramList) {
@@ -2316,7 +2316,7 @@ function combination() {
// 更新组号
handleGroupId({ groupList: updateList });
}
prescriptionRef.value.clearSelection();
prescriptionRef.value.clearCheckboxRow();
getGroupMarkers(); // 更新标记
}
@@ -2407,7 +2407,7 @@ function split() {
// 更新组号
handleGroupId({ groupList: updateList });
}
prescriptionRef.value.clearSelection();
prescriptionRef.value.clearCheckboxRow();
// 更新分组标记
getGroupMarkers();
proxy.$modal.msgSuccess('拆组成功');
@@ -2563,14 +2563,15 @@ function calculateTotalAmount(row, index) {
}
// 选择框改变时的处理
function handleSelectionChange(selection, row) {
function handleSelectionChange({ selection, row }) {
if (!row) return;
const isSelected = selection.some((item) => item.uniqueKey === row.uniqueKey);
prescriptionList.value
.filter((item) => {
return item.groupId && item.groupId == row?.groupId;
})
.forEach((row) => {
prescriptionRef.value.toggleRowSelection(row, isSelected);
prescriptionRef.value.toggleCheckboxRow(row, isSelected);
});
}
@@ -2706,7 +2707,7 @@ defineExpose({ getListInfo, getDiagnosisInfo });
</script>
<style lang="scss" scoped>
:deep(.el-table__expand-icon) {
:deep(.vxe-table--expand-icon) {
display: none !important;
}
@@ -2752,7 +2753,7 @@ defineExpose({ getListInfo, getDiagnosisInfo });
text-align: center;
}
.el-table__cell .el-form-item--default {
.vxe-cell .el-form-item--default {
margin-bottom: 0px;
}

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-04-07 23:47:54
* @Description:
@@ -72,49 +72,48 @@
</el-space>
</div>
<div class="orderTableData-container">
<el-table
<vxe-table
:data="orderTableData"
border
row-key="id"
:row-config="{ keyField: 'id', expandRowKeys: expandOrder }"
style="width: 100%; height: 100%"
highlight-current-row
:expand-row-keys="expandOrder"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
/>
<el-table-column
prop="date"
label="状态"
<vxe-column
field="date"
title="状态"
width="180"
sortable
/>
<el-table-column
prop="orderTypeName"
label="类型"
<vxe-column
field="orderTypeName"
title="类型"
width="180"
/>
<el-table-column
prop="address"
label="医嘱内容"
<vxe-column
field="address"
title="医嘱内容"
/>
<el-table-column
prop="address"
label="时间"
<vxe-column
field="address"
title="时间"
/>
<el-table-column
prop="address"
label="执行科室"
<vxe-column
field="address"
title="执行科室"
/>
<el-table-column
prop="address"
label="停止、作废人/时间"
<vxe-column
field="address"
title="停止、作废人/时间"
width="180"
/>
<el-table-column
<vxe-column
fixed="right"
label="操作"
title="操作"
width="120"
>
<template #default="props">
@@ -134,8 +133,8 @@
编辑
</el-button>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
type="expand"
width="1"
style="width: 0"
@@ -163,8 +162,8 @@
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
</template>