更新vxetable框架并升级前端组件框架
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="dialogTitle"
|
||||
@@ -105,32 +105,31 @@
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
<vxe-table
|
||||
ref="prescriptionRef"
|
||||
max-height="650"
|
||||
:data="prescriptionList"
|
||||
row-key="uniqueKey"
|
||||
:row-config="{ keyField: 'uniqueKey', expandRowKeys: expandOrder }"
|
||||
border
|
||||
:expand-row-keys="expandOrder"
|
||||
@cell-click="clickRow"
|
||||
@selection-change="handleSelectionChange"
|
||||
@checkbox-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
<vxe-column
|
||||
type="checkbox"
|
||||
width="55"
|
||||
:selectable="isRowSelectable"
|
||||
/>
|
||||
<el-table-column
|
||||
label="组"
|
||||
<vxe-column
|
||||
title="组"
|
||||
align="center"
|
||||
width="60"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.groupId">{{ getGroupIcon(scope.row) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="类型"
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
title="类型"
|
||||
align="center"
|
||||
width="120"
|
||||
>
|
||||
@@ -154,11 +153,11 @@
|
||||
}}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="医嘱"
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
title="医嘱"
|
||||
align="center"
|
||||
prop="productName"
|
||||
field="productName"
|
||||
width="300"
|
||||
>
|
||||
<template #default="scope">
|
||||
@@ -177,13 +176,13 @@
|
||||
/>
|
||||
<template #reference>
|
||||
<el-input
|
||||
:ref="'adviceRef' + scope.$index"
|
||||
:ref="'adviceRef' + scope.rowIndex"
|
||||
v-model="scope.row.adviceName"
|
||||
style="width: 100%"
|
||||
placeholder="请选择项目"
|
||||
@input="(value) => handleInput(value, scope.row, scope.$index)"
|
||||
@click="handleFocus(scope.row, scope.$index)"
|
||||
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
|
||||
@input="(value) => handleInput(value, scope.row, scope.rowIndex)"
|
||||
@click="handleFocus(scope.row, scope.rowIndex)"
|
||||
@keyup.enter.stop="handleFocus(scope.row, scope.rowIndex)"
|
||||
@keydown="
|
||||
(e) => {
|
||||
if (!scope.row.showPopover) return;
|
||||
@@ -200,13 +199,13 @@
|
||||
</template>
|
||||
<span v-else>{{ scope.row.adviceName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="单次剂量"
|
||||
<vxe-column
|
||||
title="单次剂量"
|
||||
align="center"
|
||||
width="250"
|
||||
prop="sortNumber"
|
||||
field="sortNumber"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -255,13 +254,13 @@
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="给药途径"
|
||||
<vxe-column
|
||||
title="给药途径"
|
||||
align="center"
|
||||
width="150"
|
||||
prop="sortNumber"
|
||||
field="sortNumber"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -287,13 +286,13 @@
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="用药频次"
|
||||
<vxe-column
|
||||
title="用药频次"
|
||||
align="center"
|
||||
width="150"
|
||||
prop="sortNumber"
|
||||
field="sortNumber"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -319,13 +318,13 @@
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="用药天数"
|
||||
<vxe-column
|
||||
title="用药天数"
|
||||
align="center"
|
||||
width="100"
|
||||
prop="sortNumber"
|
||||
field="sortNumber"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -342,13 +341,13 @@
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="总量/执行次数"
|
||||
<vxe-column
|
||||
title="总量/执行次数"
|
||||
align="center"
|
||||
width="150"
|
||||
prop="sortNumber"
|
||||
field="sortNumber"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -361,13 +360,13 @@
|
||||
</template>
|
||||
<span v-else>{{ scope.row.sortNumber }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="单位"
|
||||
<vxe-column
|
||||
title="单位"
|
||||
align="center"
|
||||
width="120"
|
||||
prop="unitCode"
|
||||
field="unitCode"
|
||||
>
|
||||
<template #default="scope">
|
||||
<template v-if="!scope.row.groupPackageId">
|
||||
@@ -392,10 +391,10 @@
|
||||
</template>
|
||||
<span>{{ scope.row.unitCodeName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</vxe-column>
|
||||
|
||||
<el-table-column
|
||||
label="操作"
|
||||
<vxe-column
|
||||
title="操作"
|
||||
align="center"
|
||||
width="80"
|
||||
>
|
||||
@@ -405,11 +404,11 @@
|
||||
icon="Delete"
|
||||
circle
|
||||
size="small"
|
||||
@click="handleDeleteRow(scope.$index, scope.row)"
|
||||
@click="handleDeleteRow(scope.rowIndex, scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
|
||||
<template #footer>
|
||||
<el-button @click="dialogVisible = false">
|
||||
|
||||
@@ -1,76 +1,76 @@
|
||||
<template>
|
||||
<template>
|
||||
<div
|
||||
ref="tableWrapper"
|
||||
tabindex="0"
|
||||
class="table-container"
|
||||
@keyup="handleKeyDown"
|
||||
>
|
||||
<el-table
|
||||
<vxe-table
|
||||
ref="adviceBaseRef"
|
||||
v-loading="loading"
|
||||
height="350"
|
||||
:data="adviceBaseList"
|
||||
highlight-current-row
|
||||
row-key="patientId"
|
||||
:row-config="{ keyField: 'patientId' }"
|
||||
@current-change="handleCurrentChange"
|
||||
@cell-click="clickRow"
|
||||
>
|
||||
<el-table-column
|
||||
label="名称"
|
||||
<vxe-column
|
||||
title="名称"
|
||||
align="center"
|
||||
prop="adviceName"
|
||||
field="adviceName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="类型"
|
||||
<vxe-column
|
||||
title="类型"
|
||||
align="center"
|
||||
prop="activityType_enumText"
|
||||
field="activityType_enumText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="包装单位"
|
||||
<vxe-column
|
||||
title="包装单位"
|
||||
align="center"
|
||||
prop="unitCode_dictText"
|
||||
field="unitCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="最小单位"
|
||||
<vxe-column
|
||||
title="最小单位"
|
||||
align="center"
|
||||
prop="minUnitCode_dictText"
|
||||
field="minUnitCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="规格"
|
||||
<vxe-column
|
||||
title="规格"
|
||||
align="center"
|
||||
prop="volume"
|
||||
field="volume"
|
||||
/>
|
||||
<el-table-column
|
||||
label="用法"
|
||||
<vxe-column
|
||||
title="用法"
|
||||
align="center"
|
||||
prop="methodCode_dictText"
|
||||
field="methodCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="频次"
|
||||
<vxe-column
|
||||
title="频次"
|
||||
align="center"
|
||||
prop="rateCode_dictText"
|
||||
field="rateCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="单次剂量"
|
||||
<vxe-column
|
||||
title="单次剂量"
|
||||
align="center"
|
||||
prop="dose"
|
||||
field="dose"
|
||||
/>
|
||||
<el-table-column
|
||||
label="剂量单位"
|
||||
<vxe-column
|
||||
title="剂量单位"
|
||||
align="center"
|
||||
prop="doseUnitCode_dictText"
|
||||
field="doseUnitCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="注射药品"
|
||||
<vxe-column
|
||||
title="注射药品"
|
||||
align="center"
|
||||
prop="injectFlag_enumText"
|
||||
field="injectFlag_enumText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="皮试"
|
||||
<vxe-column
|
||||
title="皮试"
|
||||
align="center"
|
||||
prop="skinTestFlag_enumText"
|
||||
field="skinTestFlag_enumText"
|
||||
/>
|
||||
</el-table>
|
||||
</vxe-table>
|
||||
<!-- 分页组件 -->
|
||||
<div class="pagination-wrapper">
|
||||
<el-pagination
|
||||
@@ -295,7 +295,7 @@ const handleKeyDown = (event) => {
|
||||
const setCurrentRow = (row) => {
|
||||
adviceBaseRef.value.setCurrentRow(row);
|
||||
// 滚动到选中行
|
||||
const tableBody = adviceBaseRef.value.$el.querySelector('.el-table__body-wrapper');
|
||||
const tableBody = adviceBaseRef.value.$el.querySelector('.vxe-table--body-wrapper');
|
||||
const currentRowEl = adviceBaseRef.value.$el.querySelector('.current-row');
|
||||
if (tableBody && currentRowEl) {
|
||||
currentRowEl.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||
|
||||
Reference in New Issue
Block a user