更新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

@@ -0,0 +1,62 @@
# ============================================================
# OpenHIS 前端部署脚本 (Windows PowerShell)
# 用法: .\deploy-frontend.ps1 [-Env prod|test|staging|dev]
# ============================================================
param(
[ValidateSet("prod","test","staging","dev")]
[string]$Env = "prod"
)
$ErrorActionPreference = "Stop"
$ProjectDir = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
$UiDir = "$ProjectDir\openhis-ui-vue3"
$DistDir = "$UiDir\dist"
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host " OpenHIS 前端部署" -ForegroundColor Cyan
Write-Host " 环境: $Env" -ForegroundColor Cyan
Write-Host " 目录: $UiDir" -ForegroundColor Cyan
Write-Host "==========================================" -ForegroundColor Cyan
# ---------- 1. 环境检查 ----------
Write-Host "`n[1/5] 环境检查..." -ForegroundColor Yellow
try { $nodeVer = node -v } catch { Write-Host "错误: 未找到 node" -ForegroundColor Red; exit 1 }
try { $npmVer = npm -v } catch { Write-Host "错误: 未找到 npm" -ForegroundColor Red; exit 1 }
$nodeMajor = [int]($nodeVer -replace 'v','' -split '\.')[0]
if ($nodeMajor -lt 18) {
Write-Host "错误: Node.js >= 18当前 $nodeVer" -ForegroundColor Red
exit 1
}
Write-Host " Node.js: $nodeVer"
Write-Host " npm: $npmVer"
# ---------- 2. 安装依赖 ----------
Write-Host "`n[2/5] 安装依赖..." -ForegroundColor Yellow
Set-Location $UiDir
npm install --legacy-peer-deps
Write-Host " 依赖安装完成 ✓" -ForegroundColor Green
# ---------- 3. 构建 ----------
Write-Host "`n[3/5] 构建 ($Env)..." -ForegroundColor Yellow
npm run "build:$Env"
Write-Host " 构建完成 ✓" -ForegroundColor Green
# ---------- 4. 产物信息 ----------
Write-Host "`n[4/5] 构建产物:" -ForegroundColor Yellow
$totalSize = (Get-ChildItem $DistDir -Recurse -File | Measure-Object -Property Length -Sum).Sum
$fileCount = (Get-ChildItem $DistDir -Recurse -File).Count
Write-Host " 路径: $DistDir"
Write-Host " 大小: $([math]::Round($totalSize/1MB, 2)) MB"
Write-Host " 文件: $fileCount"
# ---------- 5. 部署提示 ----------
Write-Host "`n[5/5] 后续操作:" -ForegroundColor Yellow
Write-Host ""
Write-Host "$DistDir 目录内容上传到服务器 Nginx 根目录"
Write-Host " 然后在服务器执行: nginx -s reload"
Write-Host ""
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host " 构建完成!" -ForegroundColor Green
Write-Host "==========================================" -ForegroundColor Cyan

84
deploy/deploy-frontend.sh Normal file
View File

@@ -0,0 +1,84 @@
#!/bin/bash
# ============================================================
# OpenHIS 前端部署脚本
# 用法: bash deploy-frontend.sh [prod|test|staging|dev]
# 默认: prod
# ============================================================
set -e
MODE=${1:-prod}
PROJECT_DIR=$(cd "$(dirname "$0")/.." && pwd)
UI_DIR="$PROJECT_DIR/openhis-ui-vue3"
DIST_DIR="$UI_DIR/dist"
echo "=========================================="
echo " OpenHIS 前端部署"
echo " 环境: $MODE"
echo " 目录: $UI_DIR"
echo "=========================================="
# ---------- 1. 环境检查 ----------
echo ""
echo "[1/5] 环境检查..."
check_cmd() {
if ! command -v "$1" &> /dev/null; then
echo "错误: 未找到 $1,请先安装"
exit 1
fi
}
check_cmd node
check_cmd npm
NODE_VER=$(node -v | sed 's/v//' | cut -d. -f1)
if [ "$NODE_VER" -lt 18 ]; then
echo "错误: Node.js 版本需要 >= 18当前: $(node -v)"
exit 1
fi
echo " Node.js: $(node -v)"
echo " npm: $(npm -v)"
# ---------- 2. 安装依赖 ----------
echo ""
echo "[2/5] 安装依赖..."
cd "$UI_DIR"
# 清理旧的 node_modules可选取消注释启用
# echo " 清理旧依赖..."
# rm -rf node_modules package-lock.json
npm install --production=false --legacy-peer-deps
echo " 依赖安装完成 ✓"
# ---------- 3. 构建 ----------
echo ""
echo "[3/5] 构建 ($MODE)..."
npm run "build:$MODE"
echo " 构建完成 ✓"
# ---------- 4. 产物信息 ----------
echo ""
echo "[4/5] 构建产物:"
TOTAL_SIZE=$(du -sh "$DIST_DIR" 2>/dev/null | cut -f1)
FILE_COUNT=$(find "$DIST_DIR" -type f | wc -l)
echo " 路径: $DIST_DIR"
echo " 大小: $TOTAL_SIZE"
echo " 文件: $FILE_COUNT"
# ---------- 5. 部署提示 ----------
echo ""
echo "[5/5] 部署方式:"
echo ""
echo " 方式一: 复制到 Nginx"
echo " cp -r $DIST_DIR/* /usr/share/nginx/html/openhis/"
echo " nginx -s reload"
echo ""
echo " 方式二: 软链接(推荐,方便更新)"
echo " ln -sfn $DIST_DIR /usr/share/nginx/html/openhis"
echo " nginx -s reload"
echo ""
echo "=========================================="
echo " 部署完成!"
echo "=========================================="

81
deploy/fix-deps.sh Normal file
View File

@@ -0,0 +1,81 @@
# ============================================================
# OpenHIS 前端依赖问题排查与修复脚本
# 用法: bash fix-deps.sh
# ============================================================
set -e
PROJECT_DIR=$(cd "$(dirname "$0")/.." && pwd)
UI_DIR="$PROJECT_DIR/openhis-ui-vue3"
cd "$UI_DIR"
echo "=========================================="
echo " OpenHIS 前端依赖诊断"
echo "=========================================="
echo ""
# 检查 node_modules 是否存在
if [ ! -d "node_modules" ]; then
echo "[!] node_modules 不存在,执行 npm install..."
npm install --legacy-peer-deps
exit 0
fi
# 检查 package-lock.json 是否存在
if [ ! -f "package-lock.json" ]; then
echo "[!] package-lock.json 缺失,重新生成..."
npm install --legacy-peer-deps
fi
# 检查关键依赖
echo "检查关键依赖:"
DEPS=("vue" "vite" "vxe-table" "element-plus" "pinia" "vue-router" "axios" "dayjs")
for dep in "${DEPS[@]}"; do
if [ -d "node_modules/$dep" ]; then
VER=$(node -p "require('./node_modules/$dep/package.json').version" 2>/dev/null || echo "未知")
echo "$dep@$VER"
else
echo "$dep 缺失!"
fi
done
echo ""
# 检查过时依赖
echo "检查过时依赖 (可选升级):"
npm outdated 2>/dev/null || true
echo ""
# 常见问题修复菜单
echo "=========================================="
echo " 修复选项:"
echo " 1) 重新安装依赖 (rm node_modules + npm install)"
echo " 2) 清理缓存并重装 (npm cache clean + 重装)"
echo " 3) 修复 peer 依赖冲突 (npm install --legacy-peer-deps)"
echo " 4) 退出"
echo "=========================================="
read -p "选择 [1-4]: " choice
case $choice in
1)
echo "清理 node_modules..."
rm -rf node_modules package-lock.json
npm install --legacy-peer-deps
;;
2)
echo "清理缓存..."
npm cache clean --force
rm -rf node_modules package-lock.json
npm install --legacy-peer-deps
;;
3)
npm install --legacy-peer-deps
;;
*)
echo "退出"
;;
esac
echo ""
echo "完成 ✓"

48
deploy/nginx-openhis.conf Normal file
View File

@@ -0,0 +1,48 @@
# ============================================================
# OpenHIS 前端 Nginx 配置
# 放到 /etc/nginx/conf.d/openhis.conf 或 include 到 nginx.conf
# ============================================================
server {
listen 80;
server_name openhis.local; # 改成实际域名或 IP
# 前端静态文件
location / {
root /usr/share/nginx/html/openhis;
index index.html;
try_files $uri $uri/ /index.html; # SPA 路由回退
}
# 后端 API 代理
location /prd-api/ {
proxy_pass http://127.0.0.1:18080/openhis/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_read_timeout 300;
client_max_body_size 50m;
}
# gzip 压缩Vite 构建已生成 .gz 文件Nginx 直接发送)
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
gzip_min_length 1024;
gzip_comp_level 6;
gzip_vary on;
# 静态资源缓存(带 hash 的文件长期缓存)
location ~* /assets/.*\.(js|css|woff2?|ttf|eot|png|jpg|jpeg|gif|svg|ico)$ {
root /usr/share/nginx/html/openhis;
expires 365d;
add_header Cache-Control "public, immutable";
}
# index.html 不缓存(保证更新及时生效)
location = /index.html {
root /usr/share/nginx/html/openhis;
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -29,9 +29,9 @@
"dependencies": {
"@element-plus/icons-vue": "^2.3.2",
"@vue/shared": "^3.5.25",
"@vueup/vue-quill": "1.2.0",
"@vueuse/core": "10.6.1",
"axios": "0.27.2",
"@vueup/vue-quill": "^1.5.1",
"@vueuse/core": "^14.3.0",
"axios": "^1.16.1",
"china-division": "^2.7.0",
"d3": "^7.9.0",
"dayjs": "^1.11.19",
@@ -45,50 +45,44 @@
"js-cookie": "^3.0.5",
"jsencrypt": "^3.3.2",
"json-bigint": "^1.0.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"moment": "^2.30.1",
"next": "^16.1.0",
"nprogress": "^0.2.0",
"pinia": "^2.2.0",
"pinyin": "^4.0.0-alpha.2",
"province-city-china": "^8.5.8",
"qrcode": "^1.5.4",
"qrcodejs2": "^0.0.2",
"react": "18.2.0",
"react-dom": "18.2.0",
"segmentit": "^2.0.3",
"sortablejs": "^1.15.6",
"sortablejs": "^1.15.7",
"v-region": "^3.3.0",
"vue": "^3.5.25",
"vue-area-linkage": "^5.1.0",
"vue-cropper": "^1.1.1",
"vue-plugin-hiprint": "^0.0.19",
"vue-plugin-hiprint": "^0.0.60",
"vue-router": "^4.3.0",
"vxe-table": "^4.19.6",
"xe-utils": "^3.9.1"
"xe-utils": "^4.0.8"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
"@playwright/test": "^1.60.0",
"@types/node": "^25.0.1",
"@vitejs/plugin-vue": "4.5.0",
"@vitejs/plugin-vue": "^5.2.4",
"@vue/test-utils": "^2.4.6",
"eslint": "^9.39.4",
"eslint": "^10.4.1",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-vue": "^10.9.0",
"eslint-plugin-vue": "^10.9.1",
"globals": "^17.5.0",
"happy-dom": "^20.8.3",
"jsdom": "^28.1.0",
"pg": "^8.18.0",
"sass": "^1.100.0",
"typescript": "^5.9.3",
"unplugin-auto-import": "0.17.1",
"vite": "5.0.4",
"unplugin-auto-import": "^0.18.6",
"vite": "^6.4.3",
"vite-plugin-compression": "0.5.1",
"vite-plugin-svg-icons": "2.0.1",
"vite-plugin-vue-mcp": "^0.3.2",
"vitest": "^4.0.18",
"vue-tsc": "^3.1.8"
"vue-tsc": "^3.3.3"
}
}

View File

@@ -1,4 +1,4 @@
import moment from 'moment';
import dayjs from 'dayjs';
export function getG(svg, translateX, translateY) {
return svg.append('g').attr('transform', `translate(${translateX},${translateY})`);
@@ -228,7 +228,7 @@ export function getHeartRate(
function getIndex(beginDate, date, time) {
if (beginDate === undefined || date === undefined) return;
const diffTime =
moment(date.substring(0, 10)).diff(moment(beginDate.substring(0, 10))) / 1000 / 3600 / 24;
dayjs(date.substring(0, 10)).diff(dayjs(beginDate.substring(0, 10))) / 1000 / 3600 / 24;
const diffIndex = parseInt(time.substring(0, 2));
return diffTime * 6 + Math.floor(diffIndex / 4);
}

View File

@@ -1,4 +1,4 @@
@import './variables.module.scss';
@import './variables.module.scss';
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
@@ -7,6 +7,8 @@
@import './openhis.scss';
@import './font.scss';
@import './ui-standard.scss';
@import './vxe-table.scss';
@import './screen-1080p.scss';
/* 强制使用鸿蒙字体 */
* {

View File

@@ -0,0 +1,90 @@
/**
* 1080P 最小分辨率适配
* 目标1920x1080 下表格尽量多显示行页面用滚动条而非溢出
*/
// === 全局容器 ===
html, body, #app {
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
// === 主内容区 ===
.app-container {
padding: 12px 16px !important;
height: calc(100vh - 84px);
overflow-y: auto;
overflow-x: hidden;
box-sizing: border-box;
}
// === 卡片间距压缩 ===
.el-card {
margin-bottom: 12px;
.el-card__body {
padding: 12px 16px;
}
}
// === 表单区域压缩 ===
.el-form--inline {
.el-form-item {
margin-bottom: 8px;
}
}
// === 表格区高度自适应 ===
.table-container {
height: 100%;
min-height: 300px;
}
// === 按钮栏紧凑 ===
.el-button + .el-button {
margin-left: 6px;
}
// === 弹窗适配 ===
.el-dialog {
.el-dialog__body {
padding: 12px 20px;
max-height: calc(100vh - 200px);
overflow-y: auto;
}
}
// === 分页栏紧凑 ===
.pagination-container {
margin-top: 8px;
padding: 4px 0;
}
// === 1080P表格列紧凑允许横向滚动 ===
@media (max-width: 1920px) {
.vxe-table {
// 1080P 下不强制撑满,允许滚动
.vxe-table--body-x-wrapper {
overflow-x: auto;
}
}
}
// === 大于 1080P表格列自动撑满 ===
@media (min-width: 1921px) {
.vxe-table {
// 列宽自动分配,填满容器
table-layout: auto;
width: 100% !important;
.vxe-header--column,
.vxe-body--column {
// 有 min-width 的列自动扩展
&[style*="min-width"] {
flex: 1;
}
}
}
}

View File

@@ -0,0 +1,212 @@
/**
* vxe-table 样式适配 Element Plus 视觉风格统一
*/
// === 变量对齐 Element Plus 默认主题 ===
$vxe-header-bg: #f5f7fa;
$vxe-header-color: #303133;
$vxe-header-font-weight: 600;
$vxe-row-hover-bg: #f5f7fa;
$vxe-stripe-bg: #fafafa;
$vxe-border-color: #ebeef5;
$vxe-font-size: 14px;
$vxe-cell-padding: 0 8px;
$vxe-row-height: 40px;
$vxe-header-height: 40px;
$vxe-radius: 4px;
// === 全局覆盖 ===
.vxe-table {
font-family: 'HarmonyOS Sans', 'Helvetica Neue', Helvetica, 'PingFang SC',
'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif !important;
font-size: $vxe-font-size;
color: #303133;
border-radius: $vxe-radius;
// --- 边框 ---
&.vxe-table--border {
border: 1px solid $vxe-border-color;
.vxe-header--column,
.vxe-body--column {
border-right: 1px solid $vxe-border-color;
border-bottom: 1px solid $vxe-border-color;
}
}
// --- 表头 ---
.vxe-header--column {
background-color: $vxe-header-bg;
color: $vxe-header-color;
font-weight: $vxe-header-font-weight;
padding: $vxe-cell-padding;
min-height: $vxe-header-height;
line-height: 1.4;
font-size: $vxe-font-size;
.vxe-cell {
white-space: normal;
word-break: break-all;
overflow: visible;
}
}
.vxe-header--row {
background-color: $vxe-header-bg;
}
// --- 表体行 ---
.vxe-body--row {
&:hover,
&.row--hover {
background-color: $vxe-row-hover-bg;
}
&.row--stripe {
background-color: $vxe-stripe-bg;
&:hover,
&.row--hover {
background-color: $vxe-row-hover-bg;
}
}
&.row--current {
background-color: #ecf5ff;
}
}
// --- 单元格 ---
.vxe-body--column {
padding: $vxe-cell-padding;
height: $vxe-row-height;
line-height: $vxe-row-height;
font-size: $vxe-font-size;
color: #303133;
&.col--ellipsis {
.vxe-cell {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.vxe-cell {
padding: 0;
}
// --- 让 el-select / el-input 等表单组件在单元格内正常展示 ---
.vxe-body--column {
.el-select,
.el-input,
.el-input-number,
.el-date-picker {
width: 100%;
}
.el-select .el-input__inner,
.el-input__inner {
height: 32px;
line-height: 32px;
}
}
// --- 禁用 show-overflow 对含表单组件的列的影响 ---
.vxe-body--column.col--ellipsis {
// 如果列内有表单组件,取消 ellipsis
.el-select,
.el-input,
.el-input-number,
.el-date-editor {
.vxe-cell {
overflow: visible;
white-space: normal;
}
}
}
// --- 复选框列 ---
.vxe-cell--checkbox {
.vxe-checkbox--icon {
width: 14px;
height: 14px;
border: 1px solid #dcdfe6;
border-radius: 2px;
background-color: #fff;
&.is--checked {
background-color: #409eff;
border-color: #409eff;
}
}
}
// --- 序号列 ---
.vxe-cell--seq {
color: #606266;
font-size: $vxe-font-size;
}
// --- 空数据 ---
.vxe-table--empty-placeholder {
color: #909399;
font-size: $vxe-font-size;
}
// --- 展开行 ---
.vxe-table--expanded {
background-color: #fafafa;
}
// --- 固定列阴影 ---
.vxe-table--fixed-left-wrapper {
box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.12);
}
.vxe-table--fixed-right-wrapper {
box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.12);
}
}
// === 让 vxe-table 在容器中撑满 ===
.table-wrapper,
.table-container {
.vxe-table {
width: 100% !important;
}
}
// === 行级 hover 优先于单元格 hover ===
.vxe-table--body-wrapper {
.vxe-body--row:hover > td {
background-color: transparent;
}
}
// === 紧凑模式 ===
.vxe-table.vxe-table--size.small,
.vxe-table.size--small {
.vxe-header--column,
.vxe-body--column {
padding: 0 10px;
height: 32px;
line-height: 32px;
font-size: 13px;
}
}
// === 下拉弹出层不受表格 overflow 影响 ===
.vxe-table {
overflow: visible !important;
.vxe-table--body-wrapper,
.vxe-table--header-wrapper {
overflow: visible !important;
}
.vxe-table--body-x-wrapper,
.vxe-table--body-y-wrapper {
overflow: auto;
}
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
class="pf_card"
:style="{
@@ -38,7 +38,7 @@
</div>
<div class="pf_card_rescueTime">
<span style="margin-right: 16px">入室时间</span>
{{ moment(data.checkInWardTime).format('YYYY-MM-DD HH:mm') }}
{{ dayjs(data.checkInWardTime).format('YYYY-MM-DD HH:mm') }}
</div>
<div class="pf_card_noCode">
{{ data.hisId }}
@@ -156,19 +156,19 @@ export default {
},
isNewSign() {
const ytime = this.data.checkInWardTime
const hour = this.moment().diff(ytime, 'hours')
const hour = this.dayjs().diff(ytime, 'hours')
return hour < 24
},
is72HourSign() {
const ytime = this.data.checkInWardTime
const hour = this.moment().diff(ytime, 'hours')
const hour = this.dayjs().diff(ytime, 'hours')
return hour > 72
},
rescueTimeText() {
const ytime = this.data.checkInWardTime
const days = this.moment().diff(ytime, 'days')
const hour = this.moment().diff(ytime, 'hours')
const minutes = this.moment().diff(ytime, 'minutes')
const days = this.dayjs().diff(ytime, 'days')
const hour = this.dayjs().diff(ytime, 'hours')
const minutes = this.dayjs().diff(ytime, 'minutes')
if (hour >= 24) {
return days + '天' + hour % 24 + '时' + minutes % 60 + '分'
} else

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="recordBill">
<div
id="div1"
@@ -166,7 +166,7 @@ export default {
height: 200px !important;
width: 740px;
:deep(.el-table .cell) {
:deep(.vxe-cell) {
font-size: 10px !important;
}
.printView_header {

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="recordBill">
<div
:id="'exeSheetTitle' + printData.id"
@@ -230,7 +230,7 @@ export default {
height: 500px !important;
width: 680px;
:deep(.el-table .cell) {
:deep(.vxe-cell) {
font-size: 10px !important;
}
.printView_header {

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div ref="print">
<div class="printInjectCard">
<div :id="printData.id + 'div1'">
@@ -68,7 +68,7 @@
</div>
<div :id="printData.id + 'div3'">
<span>日期</span>
<span>{{ moment().format('YYYY-MM-DD HH:mm') }}</span>
<span>{{ dayjs().format('YYYY-MM-DD HH:mm') }}</span>
</div>
</div>
</div>
@@ -76,7 +76,7 @@
<script>
// 迁移到 hiprint
import { simplePrint, PRINT_TEMPLATE } from '@/utils/printUtils.js'
import moment from 'moment'
import dayjs from 'dayjs'
export default {
name: 'VuePrintNb',
@@ -124,7 +124,7 @@ export default {
priority: this.printData.priority || '',
qrCode: qrCode,
orderDetail: formattedOrderDetail,
printDate: moment().format('YYYY-MM-DD HH:mm')
printDate: dayjs().format('YYYY-MM-DD HH:mm')
}
// 使用 hiprint 打印
await simplePrint(PRINT_TEMPLATE.INJECT_LABEL, printData, printerName)

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="recordBill">
<div
id="div1"
@@ -174,7 +174,7 @@ export default {
height: 200px !important;
width: 680px;
:deep(.el-table .cell) {
:deep(.vxe-cell) {
font-size: 10px !important;
}
.printView_header {

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-form ref="formRef" :model="{ tableData }" :rules="rules" class="editable-table-form">
<div
v-if="showAddButton || showDeleteButton || searchFields.length > 0"
@@ -33,22 +33,25 @@
</el-input>
</div>
</div>
<el-table
<vxe-table
ref="tableRef"
:data="filteredTableData"
:border="border"
:border="border ? 'full' : false"
:stripe="stripe"
:max-height="maxHeight || undefined"
:min-height="minHeight || undefined"
:height="!maxHeight && !minHeight ? '100%' : undefined"
:row-key="getRowKey"
:virtualized="useVirtualized"
:row-config="{ keyField: '_etKey' }"
:scroll-x="{ enabled: true }"
:scroll-y="{ enabled: true }"
:show-overflow="true"
v-bind="$attrs"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
@checkbox-all="handleSelectionChange"
class="editable-table-inner"
>
<el-table-column v-if="showSelection" type="selection" width="55" align="center" />
<el-table-column
<vxe-column v-if="showSelection" type="checkbox" width="55" align="center" />
<vxe-column
v-if="showRowActions"
:width="rowActionsColumnWidth"
align="center"
@@ -65,14 +68,14 @@
</div>
<span v-else></span>
</template>
<template #default="scope">
<template #default="{ row, rowIndex }">
<el-button
v-if="showRowAddButton"
type="primary"
link
icon="CirclePlus"
class="action-btn"
@click="handleAdd(scope.$index)"
@click="handleAdd(rowIndex)"
title="增加"
/>
<el-button
@@ -81,38 +84,37 @@
link
icon="Delete"
class="action-btn"
@click="handleDelete(scope.$index)"
@click="handleDelete(rowIndex)"
title="删除"
/>
</template>
</el-table-column>
</vxe-column>
<el-table-column
<vxe-column
v-for="col in filteredColumns"
:key="col.prop"
:prop="col.prop"
:label="col.label"
:field="col.prop"
:title="col.label"
:width="col.width"
:min-width="col.minWidth"
:fixed="col.fixed"
:align="col.align || 'center'"
:formatter="col.formatter"
>
<template #default="scope">
<template #default="{ row, rowIndex }">
<template v-if="col.type === 'input'">
<el-form-item
:prop="`tableData.${scope.$index}.${col.prop}`"
:prop="`tableData.${rowIndex}.${col.prop}`"
:rules="col.rules"
style="margin-bottom: 0"
>
<el-input
v-model="scope.row[col.prop]"
v-model="row[col.prop]"
:placeholder="col.placeholder || `请输入${col.label}`"
:disabled="col.disabled"
:clearable="col.clearable !== false"
@blur="col.onBlur && col.onBlur(scope.row, scope.$index)"
@input="col.onInput && col.onInput(scope.row, scope.$index)"
@change="col.onChange && col.onChange(scope.row, scope.$index)"
@blur="col.onBlur && col.onBlur(row, rowIndex)"
@input="col.onInput && col.onInput(row, rowIndex)"
@change="col.onChange && col.onChange(row, rowIndex)"
>
<template v-if="col.suffix" #suffix>{{ col.suffix }}</template>
</el-input>
@@ -121,12 +123,12 @@
<template v-else-if="col.type === 'number'">
<el-form-item
:prop="`tableData.${scope.$index}.${col.prop}`"
:prop="`tableData.${rowIndex}.${col.prop}`"
:rules="col.rules"
style="margin-bottom: 0"
>
<el-input-number
v-model="scope.row[col.prop]"
v-model="row[col.prop]"
:placeholder="col.placeholder || `请输入${col.label}`"
:disabled="col.disabled"
:min="col.min"
@@ -134,49 +136,49 @@
:precision="col.precision"
:controls="false"
style="width: 100%"
@change="col.onChange && col.onChange(scope.row, scope.$index)"
@change="col.onChange && col.onChange(row, rowIndex)"
/>
</el-form-item>
</template>
<template v-else-if="col.type === 'select'">
<el-form-item
:prop="`tableData.${scope.$index}.${col.prop}`"
:prop="`tableData.${rowIndex}.${col.prop}`"
:rules="col.rules"
style="margin-bottom: 0"
>
<el-select
v-model="scope.row[col.prop]"
v-model="row[col.prop]"
:placeholder="col.placeholder || `请选择${col.label}`"
:disabled="col.disabled"
:clearable="col.clearable !== false"
:filterable="col.filterable"
:multiple="col.multiple"
style="width: 100%"
:class="scope.row.error ? 'error-border' : ''"
:class="row.error ? 'error-border' : ''"
@change="
async (value) => {
const checkBeforeChange = col.extraprops?.checkBeforeChange;
if (checkBeforeChange && typeof checkBeforeChange === 'function') {
const result = await checkBeforeChange(scope.row, scope.$index, value);
const result = await checkBeforeChange(row, rowIndex, value);
if (result === false) {
return;
}
}
if (col.onChange) {
col.onChange(scope.row, scope.$index, value);
col.onChange(row, rowIndex, value);
}
}
"
>
<el-option
v-for="option in typeof col.options === 'function'
? col.options(scope.row, scope.$index)
? col.options(row, rowIndex)
: col.options || []"
:key="option.value"
:label="option.label"
:value="option.value"
@click="option.onClick && option.onClick(scope.row, option)"
@click="option.onClick && option.onClick(row, option)"
/>
</el-select>
</el-form-item>
@@ -184,43 +186,43 @@
<template v-else-if="col.type === 'date'">
<el-form-item
:prop="`tableData.${scope.$index}.${col.prop}`"
:prop="`tableData.${rowIndex}.${col.prop}`"
:rules="col.rules"
style="margin-bottom: 0"
>
<el-date-picker
v-model="scope.row[col.prop]"
v-model="row[col.prop]"
:type="col.dateType || 'date'"
:placeholder="col.placeholder || `请选择${col.label}`"
:disabled="col.disabled"
:clearable="col.clearable !== false"
:value-format="col.valueFormat || 'YYYY-MM-DD'"
style="width: 100%"
@change="col.onChange && col.onChange(scope.row, scope.$index)"
@change="col.onChange && col.onChange(row, rowIndex)"
/>
</el-form-item>
</template>
<template v-else-if="col.type === 'slot'">
<el-form-item
:prop="`tableData.${scope.$index}.${col.prop}`"
:prop="`tableData.${rowIndex}.${col.prop}`"
:rules="col.rules"
style="margin-bottom: 0"
>
<slot :name="col.slot || col.prop" :row="scope.row" :index="scope.$index" />
<slot :name="col.slot || col.prop" :row="row" :index="rowIndex" />
</el-form-item>
</template>
<template v-else>
<span>{{
col.formatter
? col.formatter(scope.row, scope.column, scope.row[col.prop])
: scope.row[col.prop]
? col.formatter(row, { property: col.prop }, row[col.prop])
: row[col.prop]
}}</span>
</template>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<div v-if="$slots.footer" class="editable-table-footer">
<slot name="footer" :tableData="tableData" />
</div>
@@ -261,8 +263,8 @@ const emit = defineEmits<{
'toolbar-delete': [rows: Record<string, any>[]];
}>();
const formRef = ref<InstanceType<typeof import('element-plus').ElForm> | null>(null);
const tableRef = ref<InstanceType<typeof import('element-plus').ElTable> | null>(null);
const formRef = ref<any>(null);
const tableRef = ref<any>(null);
const selectedRows = ref<Record<string, any>[]>([]);
const searchKeyword = ref('');
@@ -293,13 +295,12 @@ const filteredColumns = computed(() => {
return props.columns.filter((col) => !col.vIf || col.vIf());
});
// 行操作列宽度:同时显示增加+删除则宽一点;只显示一个则缩窄
// 行操作列宽度:同时显示"增加+删除"则宽一点;只显示一个则缩窄
const rowActionsColumnWidth = computed(() => {
const showAdd = !!props.showRowAddButton;
const showDel = !!props.showRowDeleteButton;
if (showAdd && showDel) return 100;
if (showAdd || showDel) return 60;
// 如果两者都不显示,列也不会渲染;这里给个兜底
return 0;
});
@@ -323,7 +324,7 @@ const searchPlaceholder = computed(() => {
return `请输入${fieldLabels[0]}`;
}
return `请输入${fieldLabels.join('')}`;
return `请输入${fieldLabels.join('|')}`;
});
// 根据搜索关键词过滤表格数据
@@ -383,9 +384,9 @@ const handleDelete = (index) => {
}
};
const handleSelectionChange = (selection) => {
selectedRows.value = selection;
emit('selection-change', selection);
const handleSelectionChange = ({ records }: { records: Record<string, any>[] }) => {
selectedRows.value = records;
emit('selection-change', records);
};
// 删除所有选中的行
@@ -418,7 +419,7 @@ const handleDeleteSelected = () => {
// 清空选中状态
if (tableRef.value) {
tableRef.value.clearSelection();
tableRef.value.clearCheckboxRow();
}
selectedRows.value = [];
};
@@ -499,69 +500,20 @@ defineExpose({
display: flex;
gap: 8px;
}
.toolbar-right {
display: flex;
align-items: center;
}
}
:deep(.el-table.editable-table-inner) {
.editable-table-inner {
flex: 1;
display: flex;
flex-direction: column;
.el-table__body-wrapper {
flex: 1;
overflow: auto;
}
.el-table__cell {
position: relative;
overflow: visible;
vertical-align: top;
.cell {
position: relative;
overflow: visible;
}
}
min-height: 0;
}
:deep(.el-table__cell) {
overflow: visible;
vertical-align: top;
.cell {
overflow: visible;
}
}
// 错误信息往下撑开行高不影响上面布局
:deep(.el-form-item) {
margin-bottom: 0;
.el-form-item__error {
position: static;
line-height: 1.5;
padding-top: 4px;
font-size: 12px;
color: var(--el-color-danger);
display: block;
white-space: nowrap;
}
.editable-table-footer {
margin-top: 16px;
padding: 0 4px;
}
.action-btn {
margin: 4px;
:deep(.el-icon) {
font-size: 18px;
}
padding: 2px 4px;
}
}
.editable-table-footer {
flex-shrink: 0;
margin-top: 16px;
}
</style>
</style>

View File

@@ -1,79 +1,82 @@
<template>
<template>
<div class="table-container">
<div ref="tableWrapperRef" class="table-wrapper">
<el-table
<vxe-table
ref="tableRef"
v-loading="loading"
:data="computedTableData"
:border="border"
:border="border ? 'full' : false"
:stripe="stripe"
:size="size"
:size="size === 'large' ? 'medium' : size === 'small' ? 'mini' : 'small'"
:height="computedTableHeight"
:row-key="rowKey"
:row-config="{ keyField: rowKey || 'id', isHover: true }"
:highlight-current-row="highlightCurrentRow"
@row-click="handleRowClick"
@selection-change="handleSelectionChange"
:show-overflow="true"
:show-header-overflow="title"
:auto-resize="true"
:scroll-x="{ enabled: true, gt: 20 }"
:scroll-y="{ enabled: true, gt: 50 }"
@cell-click="handleRowClick"
@checkbox-change="handleSelectionChange"
@checkbox-all="handleSelectionAll"
@sort-change="handleSortChange"
style="width: 100%; height: 100%"
>
<!-- 通过配置数组生成的列 -->
<template v-for="column in tableColumns" :key="column.prop || column.type">
<el-table-column
v-if="column.type && column.type !== 'expand'"
:type="column.type"
:width="column.width"
<!-- 选择列 -->
<vxe-column
v-if="column.type === 'selection'"
type="checkbox"
:width="column.width || 50"
:min-width="column.minWidth"
:align="column.align || 'center'"
:fixed="
column.type === 'selection'
? column.fixed !== undefined
? column.fixed
: 'left'
: column.fixed
"
:selectable="column.selectable"
:fixed="column.fixed !== undefined ? column.fixed : 'left'"
:select-config="column.selectable ? { checkMethod: ({ row }) => column.selectable(row, 0) } : undefined"
/>
<!-- 展开列支持自定义插槽内容 -->
<el-table-column
<!-- 序号列 -->
<vxe-column
v-else-if="column.type === 'index'"
type="seq"
:title="column.label || '序号'"
:width="column.width || 60"
:align="column.align || 'center'"
:fixed="column.fixed"
/>
<!-- 展开列 -->
<vxe-column
v-else-if="column.type === 'expand'"
type="expand"
:width="column.width"
:min-width="column.minWidth"
:fixed="column.fixed"
>
<template #default="scope">
<slot :name="column.slot || 'expand'" :row="scope.row" :scope="scope" />
<template #content="{ row }">
<slot :name="column.slot || 'expand'" :row="row" :scope="{ row }" />
</template>
</el-table-column>
</vxe-column>
<!-- 普通数据列 -->
<el-table-column
<vxe-column
v-else
:prop="column.prop"
:label="column.label"
:field="column.prop"
:title="column.label"
:width="column.width"
:min-width="column.minWidth"
:min-width="column.minWidth || calcMinWidth(column)"
:align="column.align || 'left'"
:fixed="column.fixed"
:show-overflow-tooltip="column.showOverflowTooltip !== false"
:show-overflow="column.showOverflowTooltip !== false"
>
<template v-if="column.slot" #default="scope">
<slot :name="column.slot" :row="scope.row" :scope="scope" />
<template v-if="column.slot" #default="{ row }">
<slot :name="column.slot" :row="row" :scope="{ row }" />
</template>
<template v-else-if="column.formatter" #default="scope">
{{
column.formatter(
scope.row,
scope.column,
column.prop ? scope.row[column.prop] : undefined,
scope.$index
)
}}
<template v-else-if="column.formatter" #default="{ row }">
{{ column.formatter(row, { property: column.prop }, column.prop ? row[column.prop] : undefined, 0) }}
</template>
</el-table-column>
</vxe-column>
</template>
<!-- 通过插槽自定义的列 -->
<slot name="table" />
</el-table>
</vxe-table>
</div>
<div v-if="showPagination" ref="paginationWrapperRef" class="pagination-wrapper">
<div
@@ -126,11 +129,22 @@ const props = withDefaults(defineProps<TableProps>(), {
const emit = defineEmits<{
'row-click': [row: Record<string, any>, column: any, event: Event];
'cell-click': [row: Record<string, any>, column: any, event: Event];
'selection-change': [selection: Record<string, any>[]];
'sort-change': [sortInfo: { column: any; prop: string; order: string }];
pagination: [pagination: { page: number; limit: number }];
}>();
// 根据列标题和内容特征估算最小宽度
const calcMinWidth = (column: any) => {
if (column.width) return undefined; // 有固定宽度就不限
const labelLen = (column.label || '').length;
// 中文字符约 14px英文约 8px加 padding 24px
const estimated = labelLen * 14 + 40;
// 最小 80最大 300
return Math.max(80, Math.min(300, estimated));
};
const internalPageNo = ref(props.pageNo);
const internalPageSize = ref(props.pageSize);
@@ -148,7 +162,7 @@ watch(
() => props.isAllData,
(isAllData) => {
if (isAllData) {
internalPageNo.value = props.pageNo;
internalPageNo.value = 1;
internalPageSize.value = props.pageSize;
}
}
@@ -187,7 +201,7 @@ const handlePagination = (pagination: { page: number; limit: number }) => {
});
};
const tableRef = ref<InstanceType<typeof import('element-plus').ElTable> | null>(null);
const tableRef = ref<any>(null);
const tableWrapperRef = ref<HTMLDivElement | null>(null);
const paginationWrapperRef = ref<HTMLDivElement | null>(null);
const dynamicTableHeight = ref<number | null>(null);
@@ -294,29 +308,27 @@ watch(
}
);
const handleRowClick = (row: Record<string, any>, column: any, event: Event) => {
emit('row-click', row, column, event);
const handleRowClick = ({ row, column, $event }: { row: any; column: any; $event: Event }) => {
emit('row-click', row, column, $event);
emit('cell-click', row, column, $event);
};
const handleSelectionChange = (selection: Record<string, any>[]) => {
emit('selection-change', selection);
const handleSelectionChange = ({ records }: { records: Record<string, any>[] }) => {
emit('selection-change', records);
};
const handleSortChange = ({
column,
prop,
order,
}: {
column: any;
prop: string;
order: string;
}) => {
emit('sort-change', { column, prop, order });
const handleSelectionAll = ({ records }: { records: Record<string, any>[] }) => {
emit('selection-change', records);
};
const handleSortChange = ({ column, field, order }: { column: any; field: string; order: string }) => {
emit('sort-change', { column, prop: field, order: order === 'asc' ? 'ascending' : order === 'desc' ? 'descending' : null });
};
defineExpose({
tableRef,
tableWrapperRef,
clearSelection: () => tableRef.value?.clearCheckboxRow(),
});
</script>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="table-layout-container">
<div class="card-content-wrapper">
<div
@@ -95,7 +95,7 @@
:page-no="props.queryParams.pageNo"
:page-size="props.queryParams.pageSize"
@row-click="handleRowClick"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
@sort-change="handleSortChange"
@pagination="handlePagination"
>

View File

@@ -1,4 +1,4 @@
import {createApp} from 'vue';
import {createApp} from 'vue';
import VxeUIAll from 'vxe-table';
import 'vxe-table/lib/style.css';
@@ -80,6 +80,15 @@ setTimeout(() => {
}
}, 500);
// Suppress Element Plus ElForm NaN width warning during vxe-table expand row teardown
const _origWarn = console.warn;
console.warn = (...args) => {
const msg = args[0]?.toString?.() ?? "";
if (msg.includes("[ElForm]") && msg.includes("unexpected width")) return;
_origWarn.apply(console, args);
};
const app = createApp(App);
// 检查是否在 WebView 环境中(使用可选链避免 ReferenceError

View File

@@ -0,0 +1,37 @@
import fs from 'fs';
import path from 'path';
// Final patch: guards ALL async paths in form-label-wrap to prevent
// errors during vxe-table expand row teardown
export default function patchElFormNan() {
return {
name: 'patch-el-form-nan',
enforce: 'pre',
buildStart() {
const target = path.resolve(
process.cwd(),
'node_modules/element-plus/es/components/form/src/form-label-wrap.mjs'
);
if (!fs.existsSync(target)) return;
const code = fs.readFileSync(target, 'utf-8');
if (code.includes('_isMounted')) return; // already patched
const patched = code
.replace('return Math.ceil(Number.parseFloat(width))', 'return Math.ceil(Number.parseFloat(width)) || 0')
.replace('const updateLabelWidth = (action = \"update\") => {',
'let _isMounted = true;\n\tconst updateLabelWidth = (action = \"update\") => {')
.replace('nextTick(() => {',
'nextTick(() => {\n\t\t\t\tif (!_isMounted) return;\n\t\t\t\ttry {')
.replace('else if (action === \"remove\") formContext?.deregisterLabelWidth(computedWidth.value);',
'else if (action === \"remove\") formContext?.deregisterLabelWidth(computedWidth.value);\n\t\t\t\t} catch (e) { /* teardown race */ }')
.replace('onBeforeUnmount(() => {', 'onBeforeUnmount(() => {\n\t\t\t_isMounted = false;')
.replace('onUpdated(() => updateLabelWidthFn())', 'onUpdated(() => { if (_isMounted) updateLabelWidthFn(); })')
.replace('if (props.updateAll) formContext?.registerLabelWidth(val, oldVal);',
'if (_isMounted && props.updateAll) formContext?.registerLabelWidth(val, oldVal);')
.replace('return () => {', 'return () => {\n\t\t\tif (!_isMounted) return null;');
if (patched !== code) {
fs.writeFileSync(target, patched, 'utf-8');
console.log('[patch-el-form-nan] Patched form-label-wrap.mjs');
}
}
};
}

View File

@@ -0,0 +1,56 @@
import { isArray } from "../../../utils/types.mjs";
import { ensureArray } from "../../../utils/arrays.mjs";
import { computed, ref } from "vue";
// Patched: suppress NaN warnings from Element Plus during vxe-table expand row teardown
const SCOPE = "ElForm";
function useFormLabelWidth() {
const potentialLabelWidthArr = ref([]);
const autoLabelWidth = computed(() => {
if (!potentialLabelWidthArr.value.length) return "0";
const max = Math.max(...potentialLabelWidthArr.value);
return max ? `${max}px` : "";
});
function getLabelWidthIndex(width) {
// Patched: skip NaN values silently (vxe-table expand row teardown)
if (width == null || isNaN(width)) return -1;
const index = potentialLabelWidthArr.value.indexOf(width);
// Patched: removed debugWarn for unexpected width — harmless during teardown
return index;
}
function registerLabelWidth(val, oldVal) {
if (val && oldVal) {
const index = getLabelWidthIndex(oldVal);
if (index > -1) potentialLabelWidthArr.value.splice(index, 1, val);
} else if (val && !isNaN(val)) {
potentialLabelWidthArr.value.push(val);
}
}
function deregisterLabelWidth(val) {
const index = getLabelWidthIndex(val);
if (index > -1) potentialLabelWidthArr.value.splice(index, 1);
}
return {
autoLabelWidth,
registerLabelWidth,
deregisterLabelWidth
};
}
const filterFields = (fields, props) => {
const normalized = ensureArray(props).map((prop) =>
isArray(prop) ? prop.join(".") : prop
);
return normalized.length > 0
? fields.filter(
(field) => field.propString && normalized.includes(field.propString)
)
: fields;
};
export { filterFields, useFormLabelWidth };

View File

@@ -0,0 +1,10 @@
/**
* Patched hasOwnProp - compatible with Vue 3 Proxy objects
* Original: obj.hasOwnProperty(key) fails on Proxy
* Fix: Object.prototype.hasOwnProperty.call(obj, key)
*/
function hasOwnProp(obj, key) {
return obj && Object.prototype.hasOwnProperty.call(obj, key)
}
export default hasOwnProp

View File

@@ -1,18 +1,18 @@
<template>
<template>
<div>
<div class="business">
<!-- <el-table
<!-- <vxe-table
:data="tableDataSource"
border
stripe
fit
:header-cell-style="{ background: '#f2f2f2', color: 'black' }"
>
<el-table-column prop="content.recordTime" label="记录时间" />
<el-table-column prop="content.totalScore" label="评估分数" />
<el-table-column prop="content.patientCareSessionsTableList" label="护理措施" />
<el-table-column prop="content.nurseSignature" label="责任护士" />
<el-table-column label="操作" align="center">
<vxe-column field="content.recordTime" title="记录时间" />
<vxe-column field="content.totalScore" title="评估分数" />
<vxe-column field="content.patientCareSessionsTableList" title="护理措施" />
<vxe-column field="content.nurseSignature" title="责任护士" />
<vxe-column title="操作" align="center">
<template #default="scope">
<el-button
plain
@@ -33,8 +33,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table> -->
</vxe-column>
</vxe-table> -->
<div
name="跌倒/坠床评估护理记录单"
@@ -116,23 +116,23 @@
</el-form-item>
<el-form-item style="padding-top: 10px; margin: 0px !important">
<el-table
<vxe-table
:data="dangerData"
border
:span-method="handleSpan"
style="text-align: center"
>
<el-table-column
<vxe-column
v-for="column in dangerColumns"
:key="column.key"
:prop="column.key"
:field="column.key"
:width="column.width"
:label="column.title"
:title="column.title"
align="center"
/>
<el-table-column
prop="id"
label="选择"
<vxe-column
field="id"
title="选择"
width="80"
align="center"
>
@@ -142,8 +142,8 @@
@change="handleDangerChange(row)"
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-form-item>
<el-form-item
@@ -159,23 +159,23 @@
</el-form-item>
<el-form-item style="padding-top: 10px">
<el-table
<vxe-table
:data="nursingData"
border
:span-method="arraySpanMethod"
style="width: 100%"
>
<el-table-column
<vxe-column
v-for="column in nursingColumns"
:key="column.key"
:prop="column.key"
:field="column.key"
:width="column.width"
:label="column.title"
:title="column.title"
align="center"
/>
<el-table-column
prop="id"
label="选择"
<vxe-column
field="id"
title="选择"
width="80"
align="center"
>
@@ -185,8 +185,8 @@
@change="handleNursingChange(row)"
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-form-item>
<el-form-item

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="hospital-record-form">
<el-tabs
v-model="activeName"
@@ -67,7 +67,7 @@ import formDataJs from '../views/doctorstation/components/store/medicalpage';
import medicalRecordPrint from '../views/hospitalRecord/components/medicalRecordPrint.vue';
import {previewPrint} from '../utils/printUtils';
import {getEncounterDiagnosis, getTcmDiagnosis,} from '../views/inpatientDoctor/home/components/api';
import {cloneDeep} from 'lodash';
import {cloneDeep} from 'lodash-es';
const firstRef = ref();
const commpoentType = 'medicalRecord';

View File

@@ -1,4 +1,4 @@
<!--
<!--
* @Author: sjjh
* @Date: 2025-10-08 23:33:29
* @Description: 护理记录单
@@ -92,13 +92,13 @@
<!-- 基本信息记录表格 -->
<div class="vital-signs-table">
<el-table
<vxe-table
:data="state.formData.vitalSigns"
border
style="width: 100%"
>
<el-table-column
label="日期"
<vxe-column
title="日期"
width="100"
>
<template #default="scope">
@@ -111,9 +111,9 @@
style="width: 100%"
/>
</template>
</el-table-column>
<el-table-column
label="时间"
</vxe-column>
<vxe-column
title="时间"
width="100"
>
<template #default="scope">
@@ -125,10 +125,10 @@
style="width: 100%"
/>
</template>
</el-table-column>
<el-table-column label="基本信息">
<el-table-column
label="意识"
</vxe-column>
<vxe-column title="基本信息">
<vxe-column
title="意识"
width="80"
>
<template #default="scope">
@@ -150,9 +150,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="体温℃"
</vxe-column>
<vxe-column
title="体温℃"
width="80"
>
<template #default="scope">
@@ -161,9 +161,9 @@
placeholder="体温"
/>
</template>
</el-table-column>
<el-table-column
label="心率次/分"
</vxe-column>
<vxe-column
title="心率次/分"
width="100"
>
<template #default="scope">
@@ -172,9 +172,9 @@
placeholder="心率"
/>
</template>
</el-table-column>
<el-table-column
label="脉搏次/分"
</vxe-column>
<vxe-column
title="脉搏次/分"
width="100"
>
<template #default="scope">
@@ -183,9 +183,9 @@
placeholder="心率"
/>
</template>
</el-table-column>
<el-table-column
label="呼吸次/分"
</vxe-column>
<vxe-column
title="呼吸次/分"
width="100"
>
<template #default="scope">
@@ -194,9 +194,9 @@
placeholder="呼吸"
/>
</template>
</el-table-column>
<el-table-column
label="血压mmHg"
</vxe-column>
<vxe-column
title="血压mmHg"
width="120"
>
<template #default="scope">
@@ -205,9 +205,9 @@
placeholder="血压"
/>
</template>
</el-table-column>
<el-table-column
label="血氧饱和度"
</vxe-column>
<vxe-column
title="血氧饱和度"
width="120"
>
<template #default="scope">
@@ -216,13 +216,13 @@
placeholder="血压"
/>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label="氧疗L/min"
</vxe-column>
</vxe-column>
<vxe-column
title="氧疗L/min"
width="200"
>
<el-table-column label="方式">
<vxe-column title="方式">
<template #default="scope">
<el-select
v-model="scope.row.intake"
@@ -242,9 +242,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="流量"
</vxe-column>
<vxe-column
title="流量"
width="80"
>
<template #default="scope">
@@ -253,13 +253,13 @@
placeholder="流量"
/>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label="入量"
</vxe-column>
</vxe-column>
<vxe-column
title="入量"
width="200"
>
<el-table-column label="名称">
<vxe-column title="名称">
<template #default="scope">
<el-select
v-model="scope.row.intake"
@@ -279,9 +279,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="ml"
</vxe-column>
<vxe-column
title="ml"
width="80"
>
<template #default="scope">
@@ -290,9 +290,9 @@
placeholder="流量"
/>
</template>
</el-table-column>
<el-table-column
label="途径"
</vxe-column>
<vxe-column
title="途径"
width="80"
>
<template #default="scope">
@@ -301,13 +301,13 @@
placeholder="流量"
/>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label="出量"
</vxe-column>
</vxe-column>
<vxe-column
title="出量"
width="200"
>
<el-table-column label="名称">
<vxe-column title="名称">
<template #default="scope">
<el-select
v-model="scope.row.intake"
@@ -327,9 +327,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="ml"
</vxe-column>
<vxe-column
title="ml"
width="80"
>
<template #default="scope">
@@ -338,10 +338,10 @@
placeholder="流量"
/>
</template>
</el-table-column>
</el-table-column>
<el-table-column
label="皮肤情况"
</vxe-column>
</vxe-column>
<vxe-column
title="皮肤情况"
width="80"
>
<template #default="scope">
@@ -350,9 +350,9 @@
placeholder="流量"
/>
</template>
</el-table-column>
<el-table-column
label="管路护理"
</vxe-column>
<vxe-column
title="管路护理"
width="80"
>
<template #default="scope">
@@ -361,9 +361,9 @@
placeholder="流量"
/>
</template>
</el-table-column>
<el-table-column
label="病情与措施"
</vxe-column>
<vxe-column
title="病情与措施"
width="80"
>
<template #default="scope">
@@ -372,9 +372,9 @@
placeholder="流量"
/>
</template>
</el-table-column>
<el-table-column
label="护士签名"
</vxe-column>
<vxe-column
title="护士签名"
width="100"
>
<template #default="scope">
@@ -383,9 +383,9 @@
placeholder="签名"
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="120"
fixed="right"
>
@@ -393,13 +393,13 @@
<el-button
type="danger"
size="small"
@click="removeVitalSign(scope.$index)"
@click="removeVitalSign(scope.rowIndex)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<div class="add-row">
<el-button
type="primary"

View File

@@ -0,0 +1 @@
/usr/bin/bash: line 1: type: nul: not found

View File

@@ -0,0 +1,101 @@
/**
* 表格列宽工具 — 1080P 自适应
*
* 用法:
* import { autoColumns } from '@/utils/tableColumnWidth'
* const columns = autoColumns([
* { type: 'seq' },
* { field: 'name', title: '诊断名称' },
* { field: 'time', title: '诊断时间', fixedWidth: true },
* ])
*/
// 已知字段的推荐宽度(可按需扩展)
const FIELD_WIDTH_MAP = {
// 时间类 — 固定宽度
time: 160, date: 120, datetime: 160,
createTime: 160, updateTime: 160, diagnosisTime: 160,
registerTime: 160, recordTime: 160, operTime: 160,
outcomeDate: 120, startDate: 120, endDate: 120,
birthDate: 120, inHosTime: 160, outHosTime: 160,
// 编码类 — 固定窄宽
code: 100, ybNo: 100, icdCode: 110, chargeCode: 100,
dictCode: 100, typeCode: 100, statusCode: 80,
// 名称类 — 弹性宽度
name: 200, title: 200, diagnosisName: 200,
deptName: 120, orgName: 140, userName: 100,
patientName: 100, doctorName: 100,
// 状态/类型 — 固定窄宽
status: 80, type: 80, gender: 60, age: 60, sex: 60,
// 操作列
action: 120, operation: 120,
}
// 中文标题估算宽度(每字约 14px + padding 16px
function estimateWidth(title) {
if (!title) return 100
const len = title.length
return Math.max(80, Math.min(200, len * 14 + 32))
}
/**
* 智能设置列宽
* @param {Array} columns - 列配置数组
* @returns {Array} - 处理后的列配置
*/
export function autoColumns(columns) {
return columns.map(col => {
const c = { ...col }
// 选择列、序号列、展开列 → 固定宽度
if (c.type === 'selection' || c.type === 'checkbox') {
c.width = c.width || 50
return c
}
if (c.type === 'index' || c.type === 'seq') {
c.width = c.width || 60
return c
}
if (c.type === 'expand') return c
// 操作列 → 固定宽度
if (c.field === 'action' || c.field === 'operation' || c.title === '操作') {
c.width = c.width || 120
return c
}
// 已有固定 width 的列不动
if (c.width) return c
// 已知字段 → 推荐宽度
if (c.field && FIELD_WIDTH_MAP[c.field]) {
const recWidth = FIELD_WIDTH_MAP[c.field]
// 时间/编码类用固定 width名称类用 min-width 自适应
if (recWidth <= 120) {
c.width = recWidth
} else {
c.minWidth = recWidth
}
return c
}
// 其他列 → 根据标题估算 min-width
c.minWidth = c.minWidth || estimateWidth(c.title)
return c
})
}
/**
* 简易版:直接给 vxe-table 列设置合理的默认 min-width
* 适合不想改列定义的场景
*/
export function getDefaultColumnWidth(title, field) {
if (field && FIELD_WIDTH_MAP[field]) {
return FIELD_WIDTH_MAP[field]
}
return estimateWidth(title)
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
v-loading="loading"
class="app-container"
@@ -67,66 +67,66 @@
</el-form>
<!-- 表格区 -->
<el-table
<vxe-table
v-loading="loading"
:data="clinicRoomList"
border
style="width: 100%"
class="clinic-room-table"
>
<el-table-column
prop="id"
label="ID"
<vxe-column
field="id"
title="ID"
width="180"
align="center"
/>
<el-table-column
label="卫生机构"
<vxe-column
title="卫生机构"
width="200"
align="center"
show-overflow-tooltip
show-overflow
>
<template #default="scope">
<!-- ==忽略类型匹配string的"3"和number的3就能匹配上 -->
{{ tenantOptions.find(item => item.id == scope.row.orgName)?.tenantName || scope.row.orgName || '未知机构' }}
</template>
</el-table-column>
<el-table-column
prop="roomName"
label="诊室名称"
</vxe-column>
<vxe-column
field="roomName"
title="诊室名称"
width="160"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="department"
label="科室名称"
<vxe-column
field="department"
title="科室名称"
width="160"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="building"
label="诊室楼号"
<vxe-column
field="building"
title="诊室楼号"
width="120"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="floor"
label="诊室楼层"
<vxe-column
field="floor"
title="诊室楼层"
width="90"
align="center"
/>
<el-table-column
prop="roomNo"
label="诊室房间号"
<vxe-column
field="roomNo"
title="诊室房间号"
width="120"
align="center"
/>
<el-table-column
prop="isDisabled"
label="停用"
<vxe-column
field="isDisabled"
title="停用"
width="90"
align="center"
>
@@ -135,17 +135,17 @@
{{ scope.row.isDisabled ? '是' : '否' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="remarks"
label="备注"
</vxe-column>
<vxe-column
field="remarks"
title="备注"
min-width="100"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="void"
label="作废"
<vxe-column
field="void"
title="作废"
width="90"
align="center"
>
@@ -154,19 +154,19 @@
{{ scope.row.void ? '是' : '否' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作人"
</vxe-column>
<vxe-column
title="操作人"
width="120"
align="center"
show-overflow-tooltip
show-overflow
>
<template #default="scope">
{{ scope.row.updateBy || scope.row.createBy || '系统默认' }}
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="250"
align="center"
fixed="right"
@@ -200,8 +200,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页区 -->
<pagination
@@ -801,8 +801,8 @@ onMounted(() => {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
:deep(.el-table) {
.el-table__header-wrapper th {
:deep(.vxe-table) {
.vxe-table--header-wrapper th {
background-color: #fafafa;
font-weight: 500;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="doctorschedule-container">
<div class="doctorschedule-header">
<h2 class="doctorschedule-title">
@@ -70,20 +70,20 @@
<span class="date-text">{{ dateGroup.date }}</span>
<span class="weekday-text">{{ dateGroup.weekday }}</span>
</div>
<el-table
<vxe-table
:data="dateGroup.items"
border
style="width: 100%"
class="schedule-table"
>
<el-table-column
prop="timeSlot"
label="时段"
<vxe-column
field="timeSlot"
title="时段"
width="100"
/>
<el-table-column
prop="doctorName"
:label="filterParams.appointmentType === '专家' ? '专家' : '医生'"
<vxe-column
field="doctorName"
:title="filterParams.appointmentType === '专家' ? '专家' : '医生'"
width="150"
>
<template #default="scope">
@@ -101,10 +101,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="room"
label="诊室"
</vxe-column>
<vxe-column
field="room"
title="诊室"
width="100"
>
<template #default="scope">
@@ -132,10 +132,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="startTime"
label="开始时间"
</vxe-column>
<vxe-column
field="startTime"
title="开始时间"
width="120"
>
<template #default="scope">
@@ -149,10 +149,10 @@
class="time-picker"
/>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="结束时间"
</vxe-column>
<vxe-column
field="endTime"
title="结束时间"
width="120"
>
<template #default="scope">
@@ -166,10 +166,10 @@
class="time-picker"
/>
</template>
</el-table-column>
<el-table-column
prop="maxNumber"
label="限号数量"
</vxe-column>
<vxe-column
field="maxNumber"
title="限号数量"
width="80"
>
<template #default="scope">
@@ -179,10 +179,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="record"
label="号源记录"
</vxe-column>
<vxe-column
field="record"
title="号源记录"
width="80"
>
<template #default="scope">
@@ -194,10 +194,10 @@
<View />
</el-icon>
</template>
</el-table-column>
<el-table-column
prop="appointmentItem"
label="挂号项目"
</vxe-column>
<vxe-column
field="appointmentItem"
title="挂号项目"
width="120"
>
<template #default="scope">
@@ -226,19 +226,19 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="registrationFee"
label="挂号费(元)"
</vxe-column>
<vxe-column
field="registrationFee"
title="挂号费(元)"
width="100"
>
<template #default="scope">
<span>{{ scope.row.registrationFee || '0' }}</span>
</template>
</el-table-column>
<el-table-column
prop="clinicItem"
label="诊查项目"
</vxe-column>
<vxe-column
field="clinicItem"
title="诊查项目"
width="150"
>
<template #default="scope">
@@ -267,19 +267,19 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="treatmentFee"
label="诊疗费(元)"
</vxe-column>
<vxe-column
field="treatmentFee"
title="诊疗费(元)"
width="100"
>
<template #default="scope">
<span>{{ scope.row.treatmentFee || '0' }}</span>
</template>
</el-table-column>
<el-table-column
prop="online"
label="线上"
</vxe-column>
<vxe-column
field="online"
title="线上"
width="60"
>
<template #default="scope">
@@ -288,10 +288,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="stopClinic"
label="停诊"
</vxe-column>
<vxe-column
field="stopClinic"
title="停诊"
width="60"
>
<template #default="scope">
@@ -300,10 +300,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="stopReason"
label="停诊原因"
</vxe-column>
<vxe-column
field="stopReason"
title="停诊原因"
width="150"
>
<template #default="scope">
@@ -314,9 +314,9 @@
:disabled="!isEditMode || !scope.row.stopClinic"
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="150"
fixed="right"
>
@@ -338,8 +338,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
@@ -935,43 +935,43 @@ watch(
width: 100% !important;
min-width: 100% !important;
:deep(.el-table__header-wrapper) {
:deep(.vxe-table--header-wrapper) {
width: 100% !important;
border-top: none;
}
:deep(.el-table__body-wrapper) {
:deep(.vxe-table--body-wrapper) {
width: 100% !important;
}
:deep(.el-table__header-wrapper th.el-table__cell),
:deep(.el-table__body-wrapper td.el-table__cell) {
:deep(.vxe-table--header-wrapper th.vxe-cell),
:deep(.vxe-table--body-wrapper td.vxe-cell) {
text-align: center;
padding: 8px 0;
}
/* 确保表格容器填满 */
:deep(.el-table__inner-wrapper) {
:deep(.vxe-table--inner-wrapper) {
width: 100% !important;
}
/* 确保表格本身填满 */
:deep(.el-table__body) {
:deep(.vxe-table--body) {
width: 100% !important;
}
/* 确保表格列正确分配宽度 */
:deep(.el-table__header) {
:deep(.vxe-table--header) {
width: 100% !important;
}
:deep(.el-table__header tr),
:deep(.el-table__body tr) {
:deep(.vxe-table--header tr),
:deep(.vxe-table--body tr) {
width: 100% !important;
}
/* 确保表格容器的最小宽度与内容匹配 */
:deep(.el-table) {
:deep(.vxe-table) {
width: 100% !important;
min-width: 100% !important;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="appoinmentmanage-wrapper">
<div class="appoinmentmanage-container">
<div class="appoinmentmanage-header">
@@ -70,7 +70,7 @@
<!-- 科室列表 -->
<div class="dept-table-container">
<el-table
<vxe-table
:data="deptList"
border
style="width: 100%"
@@ -85,50 +85,50 @@
</template>
<!-- 适配常见的后端字段名 -->
<el-table-column
prop="id"
label="ID"
<vxe-column
field="id"
title="ID"
width="150"
/>
<el-table-column
prop="orgName"
label="卫生机构"
<vxe-column
field="orgName"
title="卫生机构"
width="350"
>
<template #default="scope">
{{ scope.row.orgName || scope.row.organizationName || scope.row.org || '' }}
</template>
</el-table-column>
<el-table-column
prop="deptName"
label="科室名称"
</vxe-column>
<vxe-column
field="deptName"
title="科室名称"
width="350"
>
<template #default="scope">
{{ scope.row.deptName || scope.row.departmentName || scope.row.name || '' }}
</template>
</el-table-column>
<el-table-column
prop="remark"
label="备注"
</vxe-column>
<vxe-column
field="remark"
title="备注"
width="400"
>
<template #default="scope">
{{ scope.row.remark || scope.row.description || scope.row.note || '' }}
</template>
</el-table-column>
<el-table-column
prop="status"
label="作废标志"
</vxe-column>
<vxe-column
field="status"
title="作废标志"
>
<template #default="scope">
<el-tag :type="(scope.row.status === 1 || scope.row.status === true || scope.row.status === '1') ? 'success' : 'danger'">
{{ (scope.row.status === 1 || scope.row.status === true || scope.row.status === '1') ? '有效' : '无效' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="350"
fixed="right"
>
@@ -148,8 +148,8 @@
<el-icon><View /></el-icon>
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页 -->
<div class="pagination-container">
@@ -296,14 +296,14 @@
<span class="date-text">{{ dateGroup.date }}</span>
<span class="weekday-text">{{ dateGroup.weekday }}</span>
</div>
<el-table
<vxe-table
:data="dateGroup.items"
border
style="width: 100%"
class="schedule-table"
>
<el-table-column
label="时段"
<vxe-column
title="时段"
width="100"
>
<template #default="scope">
@@ -323,10 +323,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="doctorName"
:label="filterParams.appointmentType === '专家' ? '专家' : '医生'"
</vxe-column>
<vxe-column
field="doctorName"
:title="filterParams.appointmentType === '专家' ? '专家' : '医生'"
width="150"
>
<template #default="scope">
@@ -346,10 +346,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="room"
label="诊室"
</vxe-column>
<vxe-column
field="room"
title="诊室"
width="100"
>
<template #default="scope">
@@ -369,10 +369,10 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="startTime"
label="开始时间"
</vxe-column>
<vxe-column
field="startTime"
title="开始时间"
width="120"
>
<template #default="scope">
@@ -387,10 +387,10 @@
@change="(val) => handleStartTimeChange(val, scope.row)"
/>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="结束时间"
</vxe-column>
<vxe-column
field="endTime"
title="结束时间"
width="120"
>
<template #default="scope">
@@ -404,10 +404,10 @@
class="time-picker"
/>
</template>
</el-table-column>
<el-table-column
prop="maxNumber"
label="限号数量"
</vxe-column>
<vxe-column
field="maxNumber"
title="限号数量"
width="80"
>
<template #default="scope">
@@ -417,10 +417,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="record"
label="号源记录"
</vxe-column>
<vxe-column
field="record"
title="号源记录"
width="80"
>
<template #default="scope">
@@ -432,10 +432,10 @@
<View />
</el-icon>
</template>
</el-table-column>
<el-table-column
prop="appointmentItem"
label="挂号项目"
</vxe-column>
<vxe-column
field="appointmentItem"
title="挂号项目"
width="120"
>
<template #default="scope">
@@ -454,19 +454,19 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="registrationFee"
label="挂号费(元)"
</vxe-column>
<vxe-column
field="registrationFee"
title="挂号费(元)"
width="100"
>
<template #default="scope">
<span>{{ scope.row.registrationFee || '0' }}</span>
</template>
</el-table-column>
<el-table-column
prop="clinicItem"
label="诊查项目"
</vxe-column>
<vxe-column
field="clinicItem"
title="诊查项目"
width="150"
>
<template #default="scope">
@@ -485,19 +485,19 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="treatmentFee"
label="诊疗费(元)"
</vxe-column>
<vxe-column
field="treatmentFee"
title="诊疗费(元)"
width="100"
>
<template #default="scope">
<span>{{ scope.row.treatmentFee || '0' }}</span>
</template>
</el-table-column>
<el-table-column
prop="online"
label="线上"
</vxe-column>
<vxe-column
field="online"
title="线上"
width="60"
>
<template #default="scope">
@@ -506,10 +506,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="stopClinic"
label="停诊"
</vxe-column>
<vxe-column
field="stopClinic"
title="停诊"
width="60"
>
<template #default="scope">
@@ -518,10 +518,10 @@
:disabled="!isEditMode"
/>
</template>
</el-table-column>
<el-table-column
prop="stopReason"
label="停诊原因"
</vxe-column>
<vxe-column
field="stopReason"
title="停诊原因"
width="150"
>
<template #default="scope">
@@ -532,9 +532,9 @@
:disabled="!isEditMode || !scope.row.stopClinic"
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="150"
fixed="right"
>
@@ -556,8 +556,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
@@ -2173,8 +2173,8 @@ onMounted(async () => {
/* 表格居中样式 */
.centered-table {
:deep(.el-table__header-wrapper th.el-table__cell),
:deep(.el-table__body-wrapper td.el-table__cell) {
:deep(.vxe-table--header-wrapper th.vxe-cell),
:deep(.vxe-table--body-wrapper td.vxe-cell) {
text-align: center;
}
}
@@ -2251,43 +2251,43 @@ onMounted(async () => {
width: 100% !important;
min-width: 100% !important;
:deep(.el-table__header-wrapper) {
:deep(.vxe-table--header-wrapper) {
width: 100% !important;
border-top: none;
}
:deep(.el-table__body-wrapper) {
:deep(.vxe-table--body-wrapper) {
width: 100% !important;
}
:deep(.el-table__header-wrapper th.el-table__cell),
:deep(.el-table__body-wrapper td.el-table__cell) {
:deep(.vxe-table--header-wrapper th.vxe-cell),
:deep(.vxe-table--body-wrapper td.vxe-cell) {
text-align: center;
padding: 8px 0;
}
/* 确保表格容器填满 */
:deep(.el-table__inner-wrapper) {
:deep(.vxe-table--inner-wrapper) {
width: 100% !important;
}
/* 确保表格本身填满 */
:deep(.el-table__body) {
:deep(.vxe-table--body) {
width: 100% !important;
}
/* 确保表格列正确分配宽度 */
:deep(.el-table__header) {
:deep(.vxe-table--header) {
width: 100% !important;
}
:deep(.el-table__header tr),
:deep(.el-table__body tr) {
:deep(.vxe-table--header tr),
:deep(.vxe-table--body tr) {
width: 100% !important;
}
/* 确保表格容器的最小宽度与内容匹配 */
:deep(.el-table) {
:deep(.vxe-table) {
width: 100% !important;
min-width: 100% !important;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="dept-appthours-container">
<!-- 页头区域 -->
<div class="page-header">
@@ -86,7 +86,7 @@
v-loading="loading"
class="table-section"
>
<el-table
<vxe-table
:data="deptAppthoursList"
border
style="width: 100%"
@@ -96,74 +96,74 @@
stripe
:row-class-name="tableRowClassName"
>
<el-table-column
prop="institution"
label="所属机构"
<vxe-column
field="institution"
title="所属机构"
min-width="150"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="department"
label="科室名称"
<vxe-column
field="department"
title="科室名称"
min-width="150"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="morningStart"
label="上午开始时间"
<vxe-column
field="morningStart"
title="上午开始时间"
min-width="120"
align="center"
>
<template #default="scope">
{{ formatTime(scope.row.morningStart) }}
</template>
</el-table-column>
<el-table-column
prop="morningEnd"
label="上午结束时间"
</vxe-column>
<vxe-column
field="morningEnd"
title="上午结束时间"
min-width="120"
align="center"
>
<template #default="scope">
{{ formatTime(scope.row.morningEnd) }}
</template>
</el-table-column>
<el-table-column
prop="afternoonStart"
label="下午开始时间"
</vxe-column>
<vxe-column
field="afternoonStart"
title="下午开始时间"
min-width="120"
align="center"
>
<template #default="scope">
{{ formatTime(scope.row.afternoonStart) }}
</template>
</el-table-column>
<el-table-column
prop="afternoonEnd"
label="下午结束时间"
</vxe-column>
<vxe-column
field="afternoonEnd"
title="下午结束时间"
min-width="120"
align="center"
>
<template #default="scope">
{{ formatTime(scope.row.afternoonEnd) }}
</template>
</el-table-column>
<el-table-column
prop="quota"
label="限号数量"
</vxe-column>
<vxe-column
field="quota"
title="限号数量"
min-width="100"
align="center"
/>
<el-table-column
prop="operator"
label="操作人"
<vxe-column
field="operator"
title="操作人"
min-width="100"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
<vxe-column
width="120"
align="center"
fixed="right"
@@ -203,8 +203,8 @@
/>
</el-tooltip>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<div class="pagination-section">
@@ -1016,14 +1016,14 @@ $form-element-spacing: 16px;
}
}
:deep(.el-table) {
.el-table__header-wrapper th {
:deep(.vxe-table) {
.vxe-table--header-wrapper th {
background-color: #fafafa;
font-weight: 500;
font-size: 14px;
}
.el-table__body tr {
.vxe-table--body tr {
&:hover > td {
background-color: #f5f7fa;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row
:gutter="10"
@@ -56,39 +56,39 @@
@query-table="getList"
/>
</el-row>
<el-table
<vxe-table
ref="bodyStructureTableRef"
v-loading="loading"
:data="bodyStructure"
row-key="id"
@selection-change="handleSelectionChange"
:row-config="{ keyField: 'id' }"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
/>
<el-table-column
label="部位名称"
<vxe-column
title="部位名称"
align="left"
prop="name"
field="name"
/>
<el-table-column
label="拼音"
<vxe-column
title="拼音"
align="left"
prop="pyStr"
field="pyStr"
/>
<el-table-column
label="五笔拼音"
<vxe-column
title="五笔拼音"
align="left"
prop="wbStr"
field="wbStr"
/>
<el-table-column
label="状态"
<vxe-column
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -123,8 +123,8 @@
添加下级
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 添加或修改参数配置对话框 -->

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container case-templates-statistics-container">
<el-form
v-show="showSearch"
@@ -56,69 +56,69 @@
/>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="statisticsList"
>
<el-table-column
label="属性名称"
<vxe-column
title="属性名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="属性代码"
<vxe-column
title="属性代码"
align="center"
prop="code"
field="code"
/>
<el-table-column
label="属性类型"
<vxe-column
title="属性类型"
align="center"
prop="typeEnum"
field="typeEnum"
>
<template #default="scope">
{{ typeEnums(scope.row.typeEnum) }}
</template>
</el-table-column>
<el-table-column
label="统计值单位"
</vxe-column>
<vxe-column
title="统计值单位"
align="center"
prop="unit"
field="unit"
/>
<el-table-column
label="是否必填"
<vxe-column
title="是否必填"
align="center"
prop="required"
field="required"
>
<template #default="scope">
{{ scope.row.required === 1 ? '必填' : '不必填' }}
</template>
</el-table-column>
<el-table-column
label="是否统计"
</vxe-column>
<vxe-column
title="是否统计"
align="center"
prop="isStatistics"
field="isStatistics"
>
<template #default="scope">
{{ scope.row.isStatistics === 1 ? '统计' : '不统计' }}
</template>
</el-table-column>
<el-table-column
label="字典名称"
</vxe-column>
<vxe-column
title="字典名称"
align="center"
prop="dictName"
field="dictName"
/>
<el-table-column
label="字典类型"
<vxe-column
title="字典类型"
align="center"
prop="dictType"
field="dictType"
/>
<el-table-column
label="备注"
<vxe-column
title="备注"
align="center"
prop="remark"
field="remark"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="180"
align="center"
class-name="small-padding fixed-width"
@@ -141,8 +141,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="case-templates-statistics-container">
<div class="toolbar">
<el-space>
@@ -20,19 +20,19 @@
</el-space>
</div>
<div class="statistics-data-container">
<el-table
<vxe-table
:data="statisticsData"
node-key="id"
>
<el-table-column
prop="name"
label="名称"
<vxe-column
field="name"
title="名称"
/>
<el-table-column
prop="count"
label="数量"
<vxe-column
field="count"
title="数量"
/>
<el-table-column label="操作">
<vxe-column title="操作">
<template #default="scope">
<el-button
type="primary"
@@ -47,8 +47,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<EditStatistics

View File

@@ -1,38 +1,38 @@
<template>
<template>
<div>
<el-table
<vxe-table
ref="medicineRef"
height="400"
:data="activityList"
border
@cell-click="clickRow"
>
<el-table-column
label="项目名称"
<vxe-column
title="项目名称"
align="center"
prop="name"
field="name"
width="300"
/>
<el-table-column
label="类型"
<vxe-column
title="类型"
align="center"
prop="typeEnum_enumText"
field="typeEnum_enumText"
/>
<el-table-column
label="价格"
<vxe-column
title="价格"
align="right"
prop="retailPrice"
field="retailPrice"
>
<template #default="scope">
{{ scope.row.retailPrice.toFixed(2) }}
</template>
</el-table-column>
<el-table-column
label="说明"
</vxe-column>
<vxe-column
title="说明"
align="center"
prop="descriptionText"
field="descriptionText"
/>
</el-table>
</vxe-table>
</div>
</template>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div style="width: 100%">
<div class="mb8">
<el-button
@@ -15,25 +15,25 @@
:model="form"
:rules="rules"
>
<el-table
<vxe-table
ref="prescriptionRef"
v-loading="props.loading"
:data="form.consumablesList"
row-key="patientId"
:row-config="{ keyField: 'patientId' }"
border
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
label="项目类型"
<vxe-column
title="项目类型"
align="center"
prop="type"
field="type"
width="150"
>
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.type_dictText }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.type`"
:prop="`consumablesList.${scope.rowIndex}.type`"
:rules="rules.type"
>
<el-select
@@ -54,17 +54,17 @@
</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">
<span v-if="!scope.row.isEdit">{{ scope.row.name }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.name`"
:prop="`consumablesList.${scope.rowIndex}.name`"
:rules="rules.name"
>
<PopoverList
@@ -76,29 +76,29 @@
<DeviceList
v-if="scope.row.type == '2' || props.tab == 2"
:search-key="searchKey"
@select-row="(row) => selectRow(row, scope.$index)"
@select-row="(row) => selectRow(row, scope.rowIndex)"
/>
<ActivityList
v-else
:search-key="searchKey"
@select-row="(row) => selectRow(row, scope.$index)"
@select-row="(row) => selectRow(row, scope.rowIndex)"
/>
</template>
</PopoverList>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="绑定数量"
</vxe-column>
<vxe-column
title="绑定数量"
align="center"
prop="quantity"
field="quantity"
width="250"
>
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.quantity }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.quantity`"
:prop="`consumablesList.${scope.rowIndex}.quantity`"
:rules="rules.quantity"
>
<el-input
@@ -107,18 +107,18 @@
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="单位"
</vxe-column>
<vxe-column
title="单位"
align="center"
prop="unitCode_dictText"
field="unitCode_dictText"
width="100"
>
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.unitCode_dictText }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.unitCode`"
:prop="`consumablesList.${scope.rowIndex}.unitCode`"
:rules="rules.unitCode"
>
<el-select
@@ -135,25 +135,25 @@
</el-select>
</el-form-item>
</template>
</el-table-column>
<!-- <el-table-column label="使用范围" align="center" prop="rangeCode" width="150">
</vxe-column>
<!-- <vxe-column title="使用范围" align="center" field="rangeCode" width="150">
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.rangeCode_dictText }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.rangeCode`"
:prop="`consumablesList.${scope.rowIndex}.rangeCode`"
:rules="rules.rangeCode"
>
<el-input v-model="scope.row.rangeCode" placeholder="" />
</el-form-item>
</template>
</el-table-column> -->
<!-- <el-table-column label="范围" align="center" prop="rangeCode" width="250">
</vxe-column> -->
<!-- <vxe-column title="范围" align="center" field="rangeCode" width="250">
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.rangeCode_dictText }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.rangeCode`"
:prop="`consumablesList.${scope.rowIndex}.rangeCode`"
:rules="rules.statusEnum"
>
<el-select v-model="scope.row.rangeCode" placeholder="">
@@ -166,18 +166,18 @@
</el-select>
</el-form-item>
</template>
</el-table-column> -->
<el-table-column
label="启用状态"
</vxe-column> -->
<vxe-column
title="启用状态"
align="center"
prop="statusEnum"
field="statusEnum"
width="250"
>
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.statusEnum_dictText }}</span>
<el-form-item
v-else
:prop="`consumablesList.${scope.$index}.statusEnum`"
:prop="`consumablesList.${scope.rowIndex}.statusEnum`"
:rules="rules.statusEnum"
>
<el-select
@@ -194,9 +194,9 @@
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
fixed="right"
width="250"
@@ -206,7 +206,7 @@
v-if="!scope.row.isEdit"
link
type="primary"
@click="handleEdit(scope.$index)"
@click="handleEdit(scope.rowIndex)"
>
编辑
</el-button>
@@ -214,7 +214,7 @@
v-if="scope.row.isEdit"
link
type="primary"
@click="handleSave(scope.row, scope.$index)"
@click="handleSave(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -224,10 +224,10 @@
type="primary"
@click="
() => {
form.consumablesList[scope.$index].isEdit = false;
form.consumablesList[scope.rowIndex].isEdit = false;
isAdd = true;
if (!scope.row.id) {
form.consumablesList.splice(scope.$index, 1);
form.consumablesList.splice(scope.rowIndex, 1);
}
}
"
@@ -237,13 +237,13 @@
<el-button
link
type="primary"
@click.stop="handleDelete(scope.row, scope.$index)"
@click.stop="handleDelete(scope.row, scope.rowIndex)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-form>
</div>
</template>

View File

@@ -1,49 +1,49 @@
<template>
<template>
<div>
<el-table
<vxe-table
ref="medicineRef"
height="400"
:data="deviceList"
border
@cell-click="clickRow"
>
<el-table-column
label="项目名称"
<vxe-column
title="项目名称"
align="center"
prop="name"
field="name"
width="200"
/>
<el-table-column
label="分类"
<vxe-column
title="分类"
align="center"
prop="categoryCode_dictText"
field="categoryCode_dictText"
width="150"
/>
<el-table-column
label="种类"
<vxe-column
title="种类"
align="center"
prop="typeCode_dictText"
field="typeCode_dictText"
/>
<el-table-column
label="规格"
<vxe-column
title="规格"
align="center"
prop="size"
field="size"
/>
<el-table-column
label="价格"
<vxe-column
title="价格"
align="right"
prop="retailPrice"
field="retailPrice"
>
<template #default="scope">
{{ scope.row.retailPrice.toFixed(2) }}
</template>
</el-table-column>
<el-table-column
label="生产厂家"
</vxe-column>
<vxe-column
title="生产厂家"
align="center"
prop="supplyId_dictText"
field="supplyId_dictText"
/>
</el-table>
</vxe-table>
</div>
</template>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<div style="height: 780px; display: flex; justify-content: space-between">
<el-card style="height: 100%; width: 25%">
@@ -7,19 +7,19 @@
label="用法"
:name="1"
>
<el-table
<vxe-table
:data="method_code"
border
highlight-current-row
max-height="650"
@cell-click="clickRow"
>
<el-table-column
label="项目名"
<vxe-column
title="项目名"
align="center"
prop="label"
field="label"
/>
</el-table>
</vxe-table>
</el-tab-pane>
<el-tab-pane
label="诊疗"
@@ -39,19 +39,19 @@
/>
</template>
</el-input>
<el-table
<vxe-table
:data="activityList"
border
highlight-current-row
max-height="650"
@cell-click="clickRow"
>
<el-table-column
label="项目名"
<vxe-column
title="项目名"
align="center"
prop="name"
field="name"
/>
</el-table>
</vxe-table>
</el-tab-pane>
<el-tab-pane
label="号源"
@@ -71,19 +71,19 @@
/>
</template>
</el-input>
<el-table
<vxe-table
:data="RegistrationfeeList"
border
highlight-current-row
max-height="650"
@cell-click="clickRow"
>
<el-table-column
label="项目名"
<vxe-column
title="项目名"
align="center"
prop="name"
field="name"
/>
</el-table>
</vxe-table>
</el-tab-pane>
</el-tabs>
</el-card>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--诊疗目录-->
@@ -10,24 +10,24 @@
频次字典
</div>
<div>
<el-table
<vxe-table
ref="freTableRef"
v-loading="loading"
:data="frequency"
row-key="id"
@row-click="handleRowClick"
:row-config="{ keyField: 'id' }"
@cell-click="handleRowClick"
>
<el-table-column
label="字典频次名称"
<vxe-column
title="字典频次名称"
align="left"
prop="dictLabel"
field="dictLabel"
/>
<el-table-column
label="字典频次代码"
<vxe-column
title="字典频次代码"
align="left"
prop="dictValue"
field="dictValue"
/>
</el-table>
</vxe-table>
<pagination
v-show="frequencyTotal > 0"
v-model:page="queryParams.pageNum"
@@ -58,95 +58,95 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="frequencyDetail"
>
<!-- 定义表格列 -->
<el-table-column
prop="rateCode"
label="频次代码"
<vxe-column
field="rateCode"
title="频次代码"
width="180"
/>
<el-table-column
prop="name"
label="名称"
<vxe-column
field="name"
title="名称"
width="200"
/>
<el-table-column
prop="dayCount"
label="每天执行次数"
<vxe-column
field="dayCount"
title="每天执行次数"
width="120"
/>
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="dayInterval"-->
<!-- label="每次执行间隔(天数)"-->
<!-- width="180">-->
<!-- </el-table-column>-->
<!-- </vxe-column>-->
<el-table-column
prop="dayTimes"
label="执行时间点"
<vxe-column
field="dayTimes"
title="执行时间点"
width="300"
/>
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="weekCycleFlag"-->
<!-- label="是否周期性每周执行"-->
<!-- width="150">-->
<!-- <template #default="scope">-->
<!-- {{ scope.row.weekCycleFlag === 1 ? '是' : '否' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </vxe-column>-->
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="weekInterval"-->
<!-- label="每周执行的间隔"-->
<!-- width="150">-->
<!-- </el-table-column>-->
<!-- </vxe-column>-->
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="weekTimes"-->
<!-- label="每周执行的次数"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- </vxe-column>-->
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="continueFlag"-->
<!-- label="是否为连续执行"-->
<!-- width="150">-->
<!-- <template #default="scope">-->
<!-- {{ scope.row.continueFlag === 1 ? '是' : '否' }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </vxe-column>-->
<el-table-column
prop="totalExecutionCount"
label="执行总次数"
<vxe-column
field="totalExecutionCount"
title="执行总次数"
width="120"
/>
<el-table-column
prop="executionPeriod"
label="执行周期长度"
<vxe-column
field="executionPeriod"
title="执行周期长度"
width="150"
/>
<el-table-column
prop="executionPeriodUnit"
label="执行周期单位"
<vxe-column
field="executionPeriodUnit"
title="执行周期单位"
width="150"
/>
<!-- <el-table-column-->
<!-- <vxe-column-->
<!-- prop="memo"-->
<!-- label="备注信息"-->
<!-- width="200">-->
<!-- </el-table-column>-->
<el-table-column
label="操作"
<!-- </vxe-column>-->
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -158,7 +158,7 @@
link
type="primary"
icon="Edit"
@click="openSave(scope.row, scope.$index)"
@click="openSave(scope.row, scope.rowIndex)"
>
编辑
</el-button>
@@ -172,8 +172,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- <pagination-->
<!-- v-show="frequencyDetailTotal > 0"-->
<!-- :total="frequencyDetailTotal"-->

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--诊疗目录-->
@@ -59,21 +59,21 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="catagoryList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="100"
align="center"
/>
<el-table-column
label="诊疗目录"
<vxe-column
title="诊疗目录"
width="150"
align="center"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<el-select
@@ -91,11 +91,11 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="项目名称"
</vxe-column>
<vxe-column
title="项目名称"
align="center"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<el-select
@@ -117,13 +117,13 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="startTime"
label="开始时间"
title="开始时间"
align="center"
prop="startTime"
:show-overflow-tooltip="true"
field="startTime"
:show-overflow="true"
>
<template #default="scope">
<el-time-picker
@@ -133,14 +133,14 @@
value-format="HH:mm:ss"
/>
</template>
</el-table-column>
</vxe-column>
<el-table-column
<vxe-column
key="endTime"
label="结束时间"
title="结束时间"
align="center"
prop="endTime"
show-overflow-tooltip
field="endTime"
show-overflow
>
<template #default="scope">
<el-time-picker
@@ -150,9 +150,9 @@
value-format="HH:mm:ss"
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -164,7 +164,7 @@
link
type="primary"
icon="Edit"
@click="openSaveImplementDepartment(scope.row, scope.$index)"
@click="openSaveImplementDepartment(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -178,8 +178,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -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">

View File

@@ -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' });

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-tabs
v-model="activeTab"
@@ -40,21 +40,21 @@
新增
</el-button>
</div>
<el-table
<vxe-table
v-loading="loading.personal"
:data="personalList"
border
>
<el-table-column
prop="name"
label="名称"
<vxe-column
field="name"
title="名称"
/>
<el-table-column
prop="practitionerName"
label="参与者"
<vxe-column
field="practitionerName"
title="参与者"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="150"
>
<template #default="scope">
@@ -75,8 +75,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-tab-pane>
<el-tab-pane
@@ -115,21 +115,21 @@
新增
</el-button>
</div>
<el-table
<vxe-table
v-loading="loading.department"
:data="departmentList"
border
>
<el-table-column
prop="name"
label="名称"
<vxe-column
field="name"
title="名称"
/>
<el-table-column
prop="organizationName"
label="科室"
<vxe-column
field="organizationName"
title="科室"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="150"
>
<template #default="scope">
@@ -150,8 +150,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-tab-pane>
<el-tab-pane
@@ -190,17 +190,17 @@
新增
</el-button>
</div>
<el-table
<vxe-table
v-loading="loading.hospital"
:data="hospitalList"
border
>
<el-table-column
prop="name"
label="名称"
<vxe-column
field="name"
title="名称"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="150"
>
<template #default="scope">
@@ -221,8 +221,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-tab-pane>
</el-tabs>
@@ -291,19 +291,18 @@
</el-col>
</el-row>
</el-form>
<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"
>
<el-table-column
label="医嘱"
<vxe-column
title="医嘱"
align="center"
prop="productName"
field="productName"
>
<template #default="scope">
<template v-if="getRowDisabled(scope.row)">
@@ -321,13 +320,13 @@
/>
<template #reference>
<el-input
:ref="'adviceRef' + scope.$index"
:ref="'adviceRef' + scope.rowIndex"
v-model="scope.row.adviceName"
style="width: 50%"
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;
@@ -346,12 +345,12 @@
</template>
<span v-else>{{ scope.row.adviceName }}</span>
</template>
</el-table-column>
<el-table-column
label="单次剂量"
</vxe-column>
<vxe-column
title="单次剂量"
align="center"
width="250"
prop="sortNumber"
field="sortNumber"
>
<template #default="scope">
<template v-if="scope.row.adviceType == 1">
@@ -382,12 +381,12 @@
</template>
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
label="给药途径"
</vxe-column>
<vxe-column
title="给药途径"
align="center"
width="150"
prop="sortNumber"
field="sortNumber"
>
<template #default="scope">
<template v-if="scope.row.adviceType == 1">
@@ -410,12 +409,12 @@
</template>
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
label="用药频次"
</vxe-column>
<vxe-column
title="用药频次"
align="center"
width="150"
prop="sortNumber"
field="sortNumber"
>
<template #default="scope">
<template v-if="scope.row.adviceType == 1">
@@ -438,12 +437,12 @@
</template>
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
label="用药天数"
</vxe-column>
<vxe-column
title="用药天数"
align="center"
width="100"
prop="sortNumber"
field="sortNumber"
>
<template #default="scope">
<template v-if="scope.row.adviceType == 1">
@@ -457,12 +456,12 @@
</template>
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
<el-table-column
label="总量/执行次数"
</vxe-column>
<vxe-column
title="总量/执行次数"
align="center"
width="150"
prop="sortNumber"
field="sortNumber"
>
<template #default="scope">
<template v-if="!scope.row.groupPackageId">
@@ -475,12 +474,12 @@
</template>
<span v-else>{{ scope.row.sortNumber }}</span>
</template>
</el-table-column>
<el-table-column
label="单位"
</vxe-column>
<vxe-column
title="单位"
align="center"
width="120"
prop="unitCode"
field="unitCode"
>
<template #default="scope">
<template v-if="!scope.row.groupPackageId">
@@ -505,9 +504,9 @@
</template>
<span>{{ scope.row.unitCodeName }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="80"
>
@@ -517,11 +516,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">
取 消

View File

@@ -1,74 +1,74 @@
<template>
<template>
<div
ref="tableWrapper"
tabindex="0"
@keyup="handleKeyDown"
>
<el-table
<vxe-table
ref="adviceBaseRef"
height="400"
: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>
</template>
@@ -167,7 +167,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' });

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div style="width: 100%">
<div style="margin-bottom: 5px">
<el-button
@@ -20,24 +20,23 @@
删除
</el-button>
</div>
<el-table
<vxe-table
ref="prescriptionRef"
max-height="650"
:data="combinationList"
row-key="uniqueKey"
:row-config="{ keyField: 'uniqueKey', expandRowKeys: expandOrder }"
border
:expand-row-keys="expandOrder"
@cell-click="clickRow"
@row-dblclick="clickRowDb"
@cell-dblclick="clickRowDb"
>
<el-table-column
<vxe-column
type="expand"
width="1"
style="width: 0"
>
<template #default="scope">
<el-form
:ref="'formRef' + scope.$index"
:ref="'formRef' + scope.rowIndex"
:model="scope.row"
:rules="rowRules"
>
@@ -81,7 +80,7 @@
'/' +
item.unitCode_dictText
"
@click="handleNumberClick(item, scope.$index)"
@click="handleNumberClick(item, scope.rowIndex)"
/>
</el-select>
</el-form-item>
@@ -99,7 +98,7 @@
controls-position="right"
:controls="false"
style="width: 70px; margin-right: 20px"
@keyup.enter.prevent="handleEnter('executeNum', scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('executeNum', scope.row, scope.rowIndex)"
/>
</el-form-item>
<span class="medicine-info"> 皮试{{ scope.row.skinTestFlag_enumText }} </span>
@@ -124,8 +123,8 @@
controls-position="right"
:controls="false"
style="width: 70px; margin-right: 20px"
@input="convertValues(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('dose', scope.row, scope.$index)"
@input="convertValues(scope.row, scope.rowIndex)"
@keyup.enter.prevent="handleEnter('dose', scope.row, scope.rowIndex)"
/>
</el-form-item>
<!-- 剂量单位 -->
@@ -157,7 +156,7 @@
controls-position="right"
:controls="false"
style="width: 70px; margin: 0 20px"
@input="convertDoseValues(scope.row, scope.$index)"
@input="convertDoseValues(scope.row, scope.rowIndex)"
/>
</el-form-item>
<!-- 全部单位 -->
@@ -165,7 +164,7 @@
v-model="scope.row.minUnitCode"
style="width: 70px"
placeholder=" "
@change="convertValues(scope.row, scope.$index)"
@change="convertValues(scope.row, scope.rowIndex)"
>
<el-option
v-for="item in scope.row.unitCodeList"
@@ -197,7 +196,7 @@
@visible-change="
(value) => {
if (!value) {
handleEnter('methodCode', scope.row, scope.$index);
handleEnter('methodCode', scope.row, scope.rowIndex);
}
}
"
@@ -227,11 +226,11 @@
inputRefs.rateCode.blur();
}
"
@change="calculateTotalAmount(scope.row, scope.$index)"
@change="calculateTotalAmount(scope.row, scope.rowIndex)"
@visible-change="
(value) => {
if (!value) {
handleEnter('rateCode', scope.row, scope.$index);
handleEnter('rateCode', scope.row, scope.rowIndex);
}
}
"
@@ -258,9 +257,9 @@
controls-position="right"
:controls="false"
@keyup.enter.prevent="
handleEnter('dispensePerDuration', scope.row, scope.$index)
handleEnter('dispensePerDuration', scope.row, scope.rowIndex)
"
@input="calculateTotalAmount(scope.row, scope.$index)"
@input="calculateTotalAmount(scope.row, scope.rowIndex)"
>
<template #suffix>
@@ -283,7 +282,7 @@
v-model="scope.row.unitCode"
style="width: 70px; margin-right: 20px"
placeholder=" "
@change="calculateTotalAmount(scope.row, scope.$index)"
@change="calculateTotalAmount(scope.row, scope.rowIndex)"
>
<template
v-for="item in scope.row.unitCodeList"
@@ -299,7 +298,7 @@
</div>
<el-button
type="primary"
@click="handleSaveSign(scope.row, scope.$index)"
@click="handleSaveSign(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -342,7 +341,7 @@
'/' +
item.unitCode_dictText
"
@click="handleNumberClick(item, scope.$index)"
@click="handleNumberClick(item, scope.rowIndex)"
/>
</el-select>
<el-form-item
@@ -357,15 +356,15 @@
style="width: 70px"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.rowIndex)"
@input="calculateTotalPrice(scope.row, scope.rowIndex)"
/>
</el-form-item>
<el-select
v-model="scope.row.unitCode"
style="width: 70px; margin-right: 20px"
placeholder=" "
@change="calculateTotalAmount(scope.row, scope.$index)"
@change="calculateTotalAmount(scope.row, scope.rowIndex)"
>
<template
v-for="item in scope.row.unitCodeList"
@@ -384,7 +383,7 @@
</div>
<el-button
type="primary"
@click="handleSaveSign(scope.row, scope.$index)"
@click="handleSaveSign(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -412,8 +411,8 @@
style="width: 100px; margin: 0 20px"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.rowIndex)"
@input="calculateTotalPrice(scope.row, scope.rowIndex)"
/>
</el-form-item>
<el-tree-select
@@ -434,7 +433,7 @@
</div>
<el-button
type="primary"
@click="handleSaveSign(scope.row, scope.$index)"
@click="handleSaveSign(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -443,11 +442,11 @@
</div>
</el-form>
</template>
</el-table-column>
<el-table-column
label=""
</vxe-column>
<vxe-column
title=""
align="center"
prop="groupId"
field="groupId"
width="60"
>
<template #default="scope">
@@ -458,48 +457,48 @@
@change="
(value) => {
if (value) {
groupIndexList.push(scope.$index);
groupIndexList.push(scope.rowIndex);
} else {
groupIndexList.splice(groupIndexList.indexOf(scope.$index), 1);
groupIndexList.splice(groupIndexList.indexOf(scope.rowIndex), 1);
}
}
"
/>
</template>
</el-table-column>
<el-table-column
label="组"
</vxe-column>
<vxe-column
title="组"
align="center"
width="60"
>
<template #default="scope">
<div v-if="groupMarkers[scope.$index] === '┏'">
<div v-if="groupMarkers[scope.rowIndex] === '┏'">
</div>
<div v-if="groupMarkers[scope.$index] === '┗'">
<div v-if="groupMarkers[scope.rowIndex] === '┗'">
</div>
<div v-if="groupMarkers[scope.$index] === '┃'">
<div v-if="groupMarkers[scope.rowIndex] === '┃'">
</div>
</template>
</el-table-column>
<el-table-column
label="医嘱项目"
</vxe-column>
<vxe-column
title="医嘱项目"
align="center"
prop="productName"
field="productName"
width="400"
>
<template #default="scope">
<template v-if="getRowDisabled(scope.row)">
<el-select
:ref="'adviceTypeRef' + scope.$index"
:ref="'adviceTypeRef' + scope.rowIndex"
v-model="scope.row.adviceType"
style="width: 35%; margin-right: 20px"
@change="
(value) => {
expandOrder = [];
combinationList[scope.$index].adviceName = undefined;
combinationList[scope.rowIndex].adviceName = undefined;
adviceQueryParams.adviceType = value;
}
"
@@ -511,8 +510,8 @@
:value="item.value"
@click="
() => {
combinationList[scope.$index].adviceType = item.value;
combinationList[scope.$index].adviceType_dictText = item.label;
combinationList[scope.rowIndex].adviceType = item.value;
combinationList[scope.rowIndex].adviceType_dictText = item.label;
}
"
/>
@@ -532,13 +531,13 @@
/>
<template #reference>
<el-input
:ref="'adviceRef' + scope.$index"
:ref="'adviceRef' + scope.rowIndex"
v-model="scope.row.adviceName"
style="width: 50%"
placeholder="请选择项目"
@input="handleChange"
@click="handleFocus(scope.row, scope.$index)"
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
@click="handleFocus(scope.row, scope.rowIndex)"
@keyup.enter.stop="handleFocus(scope.row, scope.rowIndex)"
@keydown="
(e) => {
if (!scope.row.showPopover) return;
@@ -557,11 +556,11 @@
</template>
<span v-else>{{ scope.row.adviceName }}</span>
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
align="center"
prop=""
field=""
width="90"
>
<template #default="scope">
@@ -578,11 +577,11 @@
待签发
</el-tag>
</template>
</el-table-column>
<el-table-column
label="单次剂量"
</vxe-column>
<vxe-column
title="单次剂量"
align="center"
prop=""
field=""
>
<template #default="scope">
<span v-if="!scope.row.isEdit">
@@ -593,22 +592,22 @@
}}
</span>
</template>
</el-table-column>
<el-table-column
label="总量"
</vxe-column>
<vxe-column
title="总量"
align="center"
prop=""
field=""
>
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.quantity ? scope.row.quantity + ' ' + scope.row.unitCode_dictText : '' }}
</span>
</template>
</el-table-column>
<el-table-column
label="总金额"
</vxe-column>
<vxe-column
title="总金额"
align="right"
prop=""
field=""
header-align="center"
>
<template #default="scope">
@@ -619,11 +618,11 @@
{{ scope.row.totalPrice ? Number(scope.row.totalPrice).toFixed(2) + ' 元' : '-' }}
</span>
</template>
</el-table-column>
<el-table-column
label="药房/科室"
</vxe-column>
<vxe-column
title="药房/科室"
align="center"
prop=""
field=""
width="200"
>
<template #default="scope">
@@ -631,11 +630,11 @@
{{ scope.row.positionName }}
</span>
</template>
</el-table-column>
<el-table-column
label="频次/用法"
</vxe-column>
<vxe-column
title="频次/用法"
align="center"
prop=""
field=""
width="180"
>
<template #default="scope">
@@ -655,11 +654,11 @@
}}
</span>
</template>
</el-table-column>
<el-table-column
label="注射药品"
</vxe-column>
<vxe-column
title="注射药品"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
@@ -667,11 +666,11 @@
{{ scope.row.injectFlag_enumText || '-' }}
</span>
</template>
</el-table-column>
<el-table-column
label="皮试"
</vxe-column>
<vxe-column
title="皮试"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
@@ -679,8 +678,8 @@
{{ scope.row.skinTestFlag_enumText || '-' }}
</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</template>
@@ -1362,7 +1361,7 @@ defineExpose({ getListInfo });
</script>
<style lang="scss" scoped>
:deep(.el-table__expand-icon) {
:deep(.vxe-table--expand-icon) {
display: none !important;
}
.medicine-title {
@@ -1406,7 +1405,7 @@ defineExpose({ getListInfo });
.el-input-number .el-input__inner {
text-align: center;
}
.el-table__cell .el-form-item--default {
.vxe-cell .el-form-item--default {
margin-bottom: 0px;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="main-content">
<!-- 中间组套列表 -->
<div class="section-card-left">
@@ -37,7 +37,7 @@
</el-select>
</div>
</div>
<el-table
<vxe-table
v-loading="templateLoading"
:data="orderGroupList"
highlight-current-row
@@ -45,36 +45,36 @@
border
@current-change="handleTemplateSelect"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="name"
label="组套名称"
<vxe-column
field="name"
title="组套名称"
min-width="180"
header-align="center"
/>
<el-table-column
prop="rangeCode_dictText"
label="使用范围"
<vxe-column
field="rangeCode_dictText"
title="使用范围"
width="100"
align="center"
/>
<el-table-column
prop="createdAt"
label="创建时间"
<vxe-column
field="createdAt"
title="创建时间"
width="160"
align="center"
>
<template #default="{ row }">
<!-- {{ formatDate(row.createdAt) }} -->
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="100"
fixed="right"
align="center"
@@ -94,8 +94,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<!-- 右侧组套详情 -->
<div
@@ -379,19 +379,19 @@ const deleteTemplate = (id) => {
height: 40px;
}
:deep(.el-table) {
:deep(.vxe-table) {
flex: 1;
}
:deep(.el-table__header) {
:deep(.vxe-table--header) {
font-weight: 600;
}
:deep(.el-table__row) {
:deep(.vxe-body--row) {
transition: background-color 0.3s;
}
:deep(.el-table__row:hover) {
:deep(.vxe-body--row:hover) {
background-color: #f5f7fa !important;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<!-- 查询表单 -->
<el-form
@@ -130,29 +130,29 @@
@query-table="getList"
/>
</el-row>
<el-table
<vxe-table
ref="orgTableRef"
v-loading="loading"
:data="organization"
row-key="id"
@selection-change="handleSelectionChange"
:row-config="{ keyField: 'id' }"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
/>
<el-table-column
label="科室名称"
<vxe-column
title="科室名称"
align="left"
prop="name"
field="name"
/>
<el-table-column
label="科室类型"
<vxe-column
title="科室类型"
align="center"
prop="typeEnum_dictText"
field="typeEnum_dictText"
/>
<el-table-column
label="科室分类"
<vxe-column
title="科室分类"
align="center"
>
<template #default="scope">
@@ -168,50 +168,50 @@
</span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
label="医保码"
</vxe-column>
<vxe-column
title="医保码"
align="center"
prop="ybNo"
field="ybNo"
/>
<el-table-column
label="医保名称"
<vxe-column
title="医保名称"
align="center"
prop="ybName"
field="ybName"
/>
<el-table-column
label="挂号科室"
<vxe-column
title="挂号科室"
align="center"
>
<template #default="scope">
{{ scope.row.registerFlag ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column
label="科室位置"
</vxe-column>
<vxe-column
title="科室位置"
align="center"
prop="location"
show-overflow-tooltip
field="location"
show-overflow
/>
<el-table-column
label="科室简介"
<vxe-column
title="科室简介"
align="center"
prop="intro"
show-overflow-tooltip
field="intro"
show-overflow
/>
<el-table-column
label="备注"
<vxe-column
title="备注"
align="center"
prop="remark"
show-overflow-tooltip
field="remark"
show-overflow
/>
<el-table-column
label="状态"
<vxe-column
title="状态"
align="center"
prop="activeFlag_dictText"
field="activeFlag_dictText"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -246,8 +246,8 @@
添加下级
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页 -->
<div class="pagination-container">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="outpatient-no-management-wrapper">
<!-- Windows XP风格窗口布局全屏显示 -->
<div class="outpatient-no-management">
@@ -67,59 +67,59 @@
<!-- 表格内容区自适应剩余高度 -->
<div class="table-content">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
label="序号"
type="index"
<vxe-column
title="序号"
type="seq"
width="60"
align="center"
/>
<el-table-column
label="操作员"
prop="operatorName"
<vxe-column
title="操作员"
field="operatorName"
min-width="120"
/>
<el-table-column
label="员工工号"
prop="staffNo"
<vxe-column
title="员工工号"
field="staffNo"
min-width="120"
/>
<el-table-column
label="领用日期"
prop="receiveDate"
<vxe-column
title="领用日期"
field="receiveDate"
min-width="140"
>
<template #default="{ row }">
{{ formatReceiveDate(row.receiveDate) }}
</template>
</el-table-column>
<el-table-column
label="起始号码"
prop="startNo"
</vxe-column>
<vxe-column
title="起始号码"
field="startNo"
min-width="140"
/>
<el-table-column
label="终止号码"
prop="endNo"
<vxe-column
title="终止号码"
field="endNo"
min-width="140"
/>
<el-table-column
label="使用号码"
prop="usedNo"
<vxe-column
title="使用号码"
field="usedNo"
min-width="140"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="120"
align="center"
fixed="right"
@@ -134,8 +134,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -1092,7 +1092,7 @@ function getList() {
}
/* 表格样式1px实线边框#CCCCCC表头背景#F0F0F0 */
.table-content :deep(.el-table) {
.table-content :deep(.vxe-table) {
border: 1px solid #CCCCCC;
font-size: 13px;
flex: 1;
@@ -1100,7 +1100,7 @@ function getList() {
flex-direction: column;
}
.table-content :deep(.el-table th) {
.table-content :deep(.vxe-header--column) {
background: linear-gradient(to bottom, #FFFFFF 0%, #F0F0F0 100%);
border: 1px solid #CCCCCC;
color: #000000;
@@ -1109,19 +1109,19 @@ function getList() {
padding: 8px 4px;
}
.table-content :deep(.el-table td) {
.table-content :deep(.vxe-cell) {
border: 1px solid #CCCCCC;
padding: 6px 4px;
font-size: 13px;
}
.table-content :deep(.el-table__body tr:hover > td) {
.table-content :deep(.vxe-table--body tr:hover > td) {
background-color: #E5F3FF !important;
}
/* 错误行样式 */
:deep(.error-row) {
--el-table-tr-bg-color: #fff7e6;
--vxe-table-row-background-color: #fff7e6;
}
/* 分页样式 */
@@ -1173,7 +1173,7 @@ function getList() {
}
/* 表格容器样式调整 */
.table-content :deep(.el-table__body-wrapper) {
.table-content :deep(.vxe-table--body-wrapper) {
flex: 1;
overflow: auto;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--诊疗目录-->
@@ -45,19 +45,19 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="diagnosisTreatmentList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column
<!-- <vxe-column type="checkbox" width="50" align="center" /> -->
<vxe-column
key="name"
label="开立科室"
title="开立科室"
align="center"
prop="name"
field="name"
width="300"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<div style="display: flex; align-items: center; justify-content: center">
@@ -78,13 +78,13 @@
</el-select>
</div>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="itemCode"
label="项目类型"
title="项目类型"
align="center"
prop="itemCode"
:show-overflow-tooltip="true"
field="itemCode"
:show-overflow="true"
width="300"
>
<template #default="scope">
@@ -107,13 +107,13 @@
</el-select>
</div>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="pyStr"
label="药品类别"
title="药品类别"
align="center"
prop="pyStr"
:show-overflow-tooltip="true"
field="pyStr"
:show-overflow="true"
width="300"
>
<template #default="scope">
@@ -144,13 +144,13 @@
</el-select>
</div>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="wbStr"
label="开始时间"
title="开始时间"
align="center"
prop="wbStr"
:show-overflow-tooltip="true"
field="wbStr"
:show-overflow="true"
width="300"
>
<template #default="scope">
@@ -161,13 +161,13 @@
value-format="HH:mm:ss"
/>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="categoryCode_dictText"
label="结束时间"
title="结束时间"
align="center"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
field="categoryCode_dictText"
:show-overflow="true"
width="300"
>
<template #default="scope">
@@ -178,15 +178,15 @@
value-format="HH:mm:ss"
/>
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" key="typeEnum_enumText" prop="typeEnum_enumText"
:show-overflow-tooltip="true" width="300">
</vxe-column>
<!-- <vxe-column title="备注" align="center" key="typeEnum_enumText" field="typeEnum_enumText"
:show-overflow="true" width="300">
<template #default="scope">
<el-input v-model="scope.row.detailJson" placeholder="" />
</template>
</el-table-column> -->
<el-table-column
label="操作"
</vxe-column> -->
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -198,7 +198,7 @@
link
type="primary"
icon="Edit"
@click="openSavePharmacyDepartment(scope.row, scope.$index)"
@click="openSavePharmacyDepartment(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -212,8 +212,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-form
v-show="showSearch"
@@ -97,79 +97,79 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="supplierList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="busNo"
label="编号"
title="编号"
align="center"
prop="busNo"
field="busNo"
/>
<el-table-column
<vxe-column
key="name"
label="名称"
title="名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="pyStr"
label="拼音助记码"
title="拼音助记码"
align="center"
prop="pyStr"
:show-overflow-tooltip="true"
field="pyStr"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="typeEnum_enumText"
label="类型 "
title="类型 "
align="center"
prop="typeEnum_enumText"
:show-overflow-tooltip="true"
field="typeEnum_enumText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="address"
label="地址"
title="地址"
align="center"
prop="address"
field="address"
width="120"
/>
<el-table-column
<vxe-column
key="phone"
label="联系人电话"
title="联系人电话"
align="center"
prop="phone"
field="phone"
/>
<el-table-column
<vxe-column
key="email"
label="联系人邮箱"
title="联系人邮箱"
align="center"
prop="email"
field="email"
width="160"
/>
<el-table-column
<vxe-column
key="activeFlag_enumText"
label="活动标识"
title="活动标识"
align="center"
prop="activeFlag_enumText"
field="activeFlag_enumText"
width="160"
/>
<el-table-column
<vxe-column
key="orgId_dictText"
label="机构"
title="机构"
align="center"
prop="orgId_dictText"
field="orgId_dictText"
width="160"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -192,8 +192,8 @@
查看
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,54 +1,54 @@
<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="adviceCode"
:row-config="{ keyField: 'adviceCode' }"
@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="categoryCodeText"
field="categoryCodeText"
/>
<el-table-column
label="医保等级"
<vxe-column
title="医保等级"
align="center"
prop="chrgitmLv_dictText"
field="chrgitmLv_dictText"
/>
<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"
>
<template #default="scope">
{{ handleQuantity(scope.row) }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页组件 -->
<div class="pagination-wrapper">
<el-pagination
@@ -260,7 +260,7 @@ function handleQuantity(row) {
// 设置选中行(带滚动)
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' });

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
style="display: flex; justify-content: space-between; height: 90vh"
class="app-container"
@@ -37,36 +37,36 @@
icon="refresh"
@click="getWardList()"
/>
<el-table
<vxe-table
ref="wardRef"
max-height="630"
:data="wardList"
highlight-current-row
@cell-click="(row) => clickRow(row, 10, 0)"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
:selectable="checkSelectable"
width="55"
/>
<el-table-column
label="病区"
<vxe-column
title="病区"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="病区号"
<vxe-column
title="病区号"
align="center"
prop="startTime"
field="startTime"
>
<template #default="scope">
{{ getLastPartOfString(scope.row.busNo) }}
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
>
<template #default="scope">
<el-tag
@@ -81,9 +81,9 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="150"
>
@@ -137,8 +137,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</el-card>
<div style="width: 69%; height: 100%; padding-bottom: 20px">
@@ -160,7 +160,7 @@
>
批量停用
</el-button>
<el-table
<vxe-table
ref="hourseRef"
v-loading="loading"
height="280"
@@ -168,29 +168,29 @@
highlight-current-row
@cell-click="(row) => clickRow(row, 8, 0, 1)"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
:selectable="checkSelectable"
width="55"
/>
<el-table-column
label="病房"
<vxe-column
title="病房"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="病房号"
<vxe-column
title="病房号"
align="center"
prop="busNo"
field="busNo"
>
<template #default="scope">
{{ getLastPartOfString(scope.row.busNo) }}
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
>
<template #default="scope">
<el-tag
@@ -205,9 +205,9 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -260,8 +260,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
<el-card>
<template #header>
@@ -281,36 +281,36 @@
>
批量停用
</el-button>
<el-table
<vxe-table
ref="bedRef"
v-loading="loading"
height="270"
:data="bedList"
width=""
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
:selectable="checkSelectable"
width="55"
/>
<el-table-column
label="病床"
<vxe-column
title="病床"
align="center"
prop="name"
field="name"
/>
<el-table-column
label="病床号"
<vxe-column
title="病床号"
align="center"
prop="busNo"
field="busNo"
>
<template #default="scope">
{{ getLastPartOfString(scope.row.busNo) }}
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
>
<template #default="scope">
<el-tag
@@ -325,9 +325,9 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -380,8 +380,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
</div>
<el-dialog

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-form
ref="queryRef"
@@ -84,44 +84,44 @@
@queryTable="getList"
></right-toolbar> -->
</el-row>
<el-table
<vxe-table
ref="orgTableRef"
v-loading="loading"
:data="organization"
row-key="id"
@selection-change="handleSelectionChange"
:row-config="{ keyField: 'id' }"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
/>
<el-table-column
label="仓库名称"
<vxe-column
title="仓库名称"
align="left"
prop="name"
field="name"
/>
<el-table-column
label="仓库类型"
<vxe-column
title="仓库类型"
align="center"
prop="formEnum_enumText"
field="formEnum_enumText"
/>
<!-- <el-table-column
label="存放药品类型"
<!-- <vxe-column
title="存放药品类型"
align="center"
prop="classEnum_dictText"
field="classEnum_dictText"
/> -->
<el-table-column
label="是否使用"
<vxe-column
title="是否使用"
align="center"
prop="operationalEnum_enumText"
field="operationalEnum_enumText"
/>
<el-table-column
label="停用状态"
<vxe-column
title="停用状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -153,8 +153,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-form
v-show="showSearch"
@@ -105,100 +105,100 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="registrationfeeList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="name"
label="服务名称"
title="服务名称"
align="center"
prop="name"
field="name"
/>
<el-table-column
<vxe-column
key="activeFlag_enumText"
label="活动标记"
title="活动标记"
align="center"
prop="activeFlag_enumText"
field="activeFlag_enumText"
/>
<el-table-column
<vxe-column
key="offeredOrgId_dictText"
label="提供部门"
title="提供部门"
align="center"
prop="offeredOrgId_dictText"
:show-overflow-tooltip="true"
field="offeredOrgId_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="categoryCode_dictText"
label="服务分类"
title="服务分类"
align="center"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
field="categoryCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="typeCode_dictText"
label="服务类型 "
title="服务类型 "
align="center"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
field="typeCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="specialtyCode_dictText"
label="服务专业"
title="服务专业"
align="center"
prop="specialtyCode_dictText"
field="specialtyCode_dictText"
/>
<el-table-column
<vxe-column
key="locationId_dictText"
label="地点"
title="地点"
align="center"
prop="locationId_dictText"
field="locationId_dictText"
/>
<el-table-column
<vxe-column
key="comment"
label="说明"
title="说明"
align="center"
prop="comment"
field="comment"
/>
<el-table-column
<vxe-column
key="extraDetails"
label="额外细节"
title="额外细节"
align="center"
prop="extraDetails"
field="extraDetails"
/>
<el-table-column
<vxe-column
key="contact"
label="联系方式"
title="联系方式"
align="center"
prop="contact"
field="contact"
width="120"
/>
<el-table-column
<vxe-column
key="appointmentRequiredFlag_enumText"
label="预约要求"
title="预约要求"
align="center"
prop="appointmentRequiredFlag_enumText"
field="appointmentRequiredFlag_enumText"
/>
<el-table-column
<vxe-column
key="chargeName"
label="名称"
title="名称"
align="center"
prop="chargeName"
field="chargeName"
/>
<el-table-column
<vxe-column
key="price"
label="基础价格"
title="基础价格"
align="center"
prop="price"
field="price"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="140"
class-name="small-padding fixed-width"
@@ -221,8 +221,8 @@
查看
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="card-management-container">
<!-- 统计卡片区域 -->
<div class="statistics-section">
@@ -205,95 +205,95 @@
<!-- 报卡列表区 -->
<div class="table-section">
<el-table
<vxe-table
v-loading="loading"
:data="cardList"
:row-class-name="getRowClassName"
border
stripe
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
align="center"
/>
<el-table-column
label="报卡名称"
prop="cardName"
<vxe-column
title="报卡名称"
field="cardName"
min-width="120"
>
<template #default="{ row }">
{{ getCardName(row.cardNameCode) }}
</template>
</el-table-column>
<el-table-column
label="病种名称"
prop="diseaseName"
</vxe-column>
<vxe-column
title="病种名称"
field="diseaseName"
min-width="120"
>
<template #default="{ row }">
{{ row.diseaseName || getDiseaseName(row.diseaseCode) }}
</template>
</el-table-column>
<el-table-column
label="报卡编号"
prop="cardNo"
</vxe-column>
<vxe-column
title="报卡编号"
field="cardNo"
min-width="150"
/>
<el-table-column
label="患者姓名"
prop="patName"
<vxe-column
title="患者姓名"
field="patName"
width="100"
>
<template #default="{ row }">
{{ maskName(row.patName) }}
</template>
</el-table-column>
<el-table-column
label="性别"
prop="sex"
</vxe-column>
<vxe-column
title="性别"
field="sex"
width="60"
align="center"
>
<template #default="{ row }">
{{ row.sex === '1' ? '男' : row.sex === '2' ? '女' : '未知' }}
</template>
</el-table-column>
<el-table-column
label="年龄"
prop="age"
</vxe-column>
<vxe-column
title="年龄"
field="age"
width="70"
align="center"
>
<template #default="{ row }">
{{ row.age ? row.age + getAgeUnit(row.ageUnit) : '-' }}
</template>
</el-table-column>
<el-table-column
label="上报科室"
prop="deptName"
</vxe-column>
<vxe-column
title="上报科室"
field="deptName"
min-width="100"
/>
<el-table-column
label="登记来源"
prop="registrationSource"
<vxe-column
title="登记来源"
field="registrationSource"
width="90"
align="center"
>
<template #default="{ row }">
{{ getSourceName(row.registrationSource) }}
</template>
</el-table-column>
<el-table-column
label="上报时间"
prop="createTime"
</vxe-column>
<vxe-column
title="上报时间"
field="createTime"
width="160"
align="center"
/>
<el-table-column
label="状态"
prop="status"
<vxe-column
title="状态"
field="status"
width="100"
align="center"
>
@@ -305,9 +305,9 @@
{{ getStatusName(row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="150"
align="center"
fixed="right"
@@ -331,8 +331,8 @@
查看
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页 -->
<div class="pagination-section">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-dialog
v-model="visible"
@@ -24,50 +24,50 @@
</template>
</el-input>
</div>
<el-table
<vxe-table
v-loading="listLoading"
border
:data="list"
highlight-current-row
max-height="450"
>
<el-table-column
<vxe-column
align="center"
label="医保目录编码"
prop="medicalCatalogCode"
title="医保目录编码"
field="medicalCatalogCode"
/>
<el-table-column
<vxe-column
align="center"
label="耗材名称"
prop="consumableName"
title="耗材名称"
field="consumableName"
/>
<el-table-column
<vxe-column
align="center"
label="产品型号"
prop="productModel"
title="产品型号"
field="productModel"
>
<template #default="scope">
{{ formatStr(scope.row.drugCategoryName) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="耗材材质"
prop="materialType"
title="耗材材质"
field="materialType"
/>
<el-table-column
<vxe-column
align="center"
label="规格"
prop="specification"
title="规格"
field="specification"
/>
<el-table-column
<vxe-column
align="center"
label="生产厂家"
prop="manufacturerName"
title="生产厂家"
field="manufacturerName"
/>
<el-table-column
<vxe-column
align="center"
label="操作"
title="操作"
width="80"
>
<template #default="scope">
@@ -79,8 +79,8 @@
对照
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--器材目录-->
@@ -154,78 +154,78 @@
</el-col> -->
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="deviceList"
width="90%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="busNo"
label="编码"
title="编码"
align="center"
prop="busNo"
:show-overflow-tooltip="true"
field="busNo"
:show-overflow="true"
width="150"
/>
<el-table-column
<vxe-column
key="name"
label="器材名称"
title="器材名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="size"
label="包装规格"
title="包装规格"
align="center"
prop="size"
field="size"
width="100"
:show-overflow-tooltip="true"
:show-overflow="true"
/>
<!-- <el-table-column
label="拼音"
<!-- <vxe-column
title="拼音"
align="center"
key="pyStr"
prop="pyStr"
:show-overflow-tooltip="true"
field="pyStr"
:show-overflow="true"
/> -->
<el-table-column
<vxe-column
key="categoryCode_dictText"
label="器材分类"
title="器材分类"
align="center"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
field="categoryCode_dictText"
:show-overflow="true"
width="100"
/>
<!-- <el-table-column
label="器材种类"
<!-- <vxe-column
title="器材种类"
align="center"
key="typeCode_dictText"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
field="typeCode_dictText"
:show-overflow="true"
width="50"
/> -->
<el-table-column
<vxe-column
key="unitCode_dictText"
label="包装单位"
title="包装单位"
align="center"
prop="unitCode_dictText"
:show-overflow-tooltip="true"
field="unitCode_dictText"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="partPercent"
label="拆零比"
title="拆零比"
align="center"
prop="partPercent"
:show-overflow-tooltip="true"
field="partPercent"
:show-overflow="true"
>
<template #default="scope">
{{
@@ -234,189 +234,189 @@
: 1
}}
</template>
</el-table-column>
</vxe-column>
<el-table-column
<vxe-column
key="minUnitCode_dictText"
label="最小使用单位"
title="最小使用单位"
align="center"
prop="minUnitCode_dictText"
:show-overflow-tooltip="true"
field="minUnitCode_dictText"
:show-overflow="true"
width="100"
/>
<!-- <el-table-column
label="所属科室"
<!-- <vxe-column
title="所属科室"
align="center"
key="orgId_dictText"
prop="orgId_dictText"
:show-overflow-tooltip="true"
field="orgId_dictText"
:show-overflow="true"
/>
<el-table-column
label="所在位置"
<vxe-column
title="所在位置"
align="center"
key="locationId_dictText"
prop="locationId_dictText"
:show-overflow-tooltip="true"
field="locationId_dictText"
:show-overflow="true"
/> -->
<!-- <el-table-column
label="产品型号"
<!-- <vxe-column
title="产品型号"
align="center"
key="modelNumber"
prop="modelNumber"
:show-overflow-tooltip="true"
field="modelNumber"
:show-overflow="true"
/> -->
<el-table-column
<vxe-column
key="salesUnitCode_dictText"
label="销售单位"
title="销售单位"
align="center"
prop="salesUnitCode_dictText"
:show-overflow-tooltip="true"
field="salesUnitCode_dictText"
:show-overflow="true"
width="100"
/>
<!-- <el-table-column
label="批准文号"
<!-- <vxe-column
title="批准文号"
align="center"
key="approvalNumber"
prop="approvalNumber"
:show-overflow-tooltip="true"
field="approvalNumber"
:show-overflow="true"
/> -->
<!-- <el-table-column
label="医保标记"
<!-- <vxe-column
title="医保标记"
align="center"
key="ybFlag_enumText"
prop="ybFlag_enumText"
:show-overflow-tooltip="true"
field="ybFlag_enumText"
:show-overflow="true"
width="110"
/> -->
<el-table-column
<vxe-column
key="ybNo"
label="医保编码"
title="医保编码"
align="center"
prop="ybNo"
:show-overflow-tooltip="true"
field="ybNo"
:show-overflow="true"
width="110"
/>
<el-table-column
<vxe-column
key="ybOrgNo"
label="医药机构目录编码"
title="医药机构目录编码"
align="center"
prop="ybOrgNo"
:show-overflow-tooltip="true"
field="ybOrgNo"
:show-overflow="true"
width="130"
/>
<!-- <el-table-column
label="医保对码标记"
<!-- <vxe-column
title="医保对码标记"
align="center"
key="ybMatchFlag_enumText"
prop="ybMatchFlag_enumText"
:show-overflow-tooltip="true"
field="ybMatchFlag_enumText"
:show-overflow="true"
width="105"
/> -->
<el-table-column
<vxe-column
key="statusEnum_enumText"
label="状态"
title="状态"
align="center"
prop="statusEnum_enumText"
:show-overflow-tooltip="true"
field="statusEnum_enumText"
:show-overflow="true"
width="90"
/>
<!-- <el-table-column
label="生产厂家"
<!-- <vxe-column
title="生产厂家"
align="center"
key="manufacturerId"
prop="manufacturerId"
:show-overflow-tooltip="true"
field="manufacturerId"
:show-overflow="true"
width="90"
/> -->
<el-table-column
<vxe-column
key="manufacturerText"
label="生产厂家"
title="生产厂家"
align="center"
prop="manufacturerText"
:show-overflow-tooltip="true"
field="manufacturerText"
:show-overflow="true"
width="200"
/>
<!-- <el-table-column
label="供应商"
<!-- <vxe-column
title="供应商"
align="center"
key="supplyId_dictText"
prop="supplyId_dictText"
:show-overflow-tooltip="true"
field="supplyId_dictText"
:show-overflow="true"
width="110"
/>
<el-table-column
label="说明"
<vxe-column
title="说明"
align="center"
key="description"
prop="description"
:show-overflow-tooltip="true"
field="description"
:show-overflow="true"
/>
<el-table-column
label="适用范围"
<vxe-column
title="适用范围"
align="center"
key="jurisdiction"
prop="jurisdiction"
:show-overflow-tooltip="true"
field="jurisdiction"
:show-overflow="true"
width="120"
/>
<el-table-column
label="器材版本"
<vxe-column
title="器材版本"
align="center"
key="version"
prop="version"
:show-overflow-tooltip="true"
field="version"
:show-overflow="true"
width="120"
/>
<el-table-column
label="主要成分"
<vxe-column
title="主要成分"
align="center"
key="substanceText"
prop="substanceText"
:show-overflow-tooltip="true"
field="substanceText"
:show-overflow="true"
/> -->
<!-- <el-table-column
label="过敏标记"
<!-- <vxe-column
title="过敏标记"
align="center"
key="allergenFlag_enumText"
prop="allergenFlag_enumText"
:show-overflow-tooltip="true"
field="allergenFlag_enumText"
:show-overflow="true"
width="90"
/> -->
<el-table-column
<vxe-column
key="retailPrice"
label="售价"
title="售价"
align="center"
prop="retailPrice"
:show-overflow-tooltip="true"
field="retailPrice"
:show-overflow="true"
width="90"
/>
<el-table-column
<vxe-column
key="itemTypeCode_dictText"
label="财务类别"
title="财务类别"
align="center"
prop="itemTypeCode_dictText"
:show-overflow-tooltip="true"
field="itemTypeCode_dictText"
:show-overflow="true"
width="90"
/>
<el-table-column
<vxe-column
key="hvcmFlag_enumText"
label="高值器材标志"
title="高值器材标志"
align="center"
prop="hvcmFlag_enumText"
:show-overflow-tooltip="true"
field="hvcmFlag_enumText"
:show-overflow="true"
width="120"
/>
<!-- <el-table-column
label="医保类别"
<!-- <vxe-column
title="医保类别"
align="center"
key="ybType_dictText"
prop="ybType_dictText"
:show-overflow-tooltip="true"
field="ybType_dictText"
:show-overflow="true"
width="90"
/> -->
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -432,8 +432,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-dialog
v-model="visible"
@@ -24,45 +24,45 @@
</template>
</el-input>
</div>
<el-table
<vxe-table
v-loading="listLoading"
border
:data="list"
highlight-current-row
max-height="450"
>
<el-table-column
<vxe-column
align="center"
label="医保目录编码"
prop="medicalCatalogCode"
title="医保目录编码"
field="medicalCatalogCode"
/>
<el-table-column
<vxe-column
align="center"
label="医疗服务项目名称"
prop="medicalServiceName"
title="医疗服务项目名称"
field="medicalServiceName"
/>
<el-table-column
<vxe-column
align="center"
label="服务项目类别"
prop="serviceCategory"
title="服务项目类别"
field="serviceCategory"
>
<template #default="scope">
{{ formatStr(scope.row.drugCategoryName) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="诊疗项目说明"
prop="medicalItemDesc"
title="诊疗项目说明"
field="medicalItemDesc"
/>
<el-table-column
<vxe-column
align="center"
label="计价单位"
prop="billingUnit"
title="计价单位"
field="billingUnit"
/>
<el-table-column
<vxe-column
align="center"
label="操作"
title="操作"
width="80"
>
<template #default="scope">
@@ -74,8 +74,8 @@
对照
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,28 +1,28 @@
<template>
<template>
<div>
<el-table
<vxe-table
ref="medicineRef"
height="300"
:data="filteredList"
@cell-click="clickRow"
>
<el-table-column
label="项目名称"
<vxe-column
title="项目名称"
align="center"
prop="name"
field="name"
width="300"
/>
<el-table-column
label="零售价"
<vxe-column
title="零售价"
align="center"
prop="retailPrice"
field="retailPrice"
/>
<el-table-column
label="最高零售价"
<vxe-column
title="最高零售价"
align="center"
prop="maximumRetailPrice"
field="maximumRetailPrice"
/>
</el-table>
</vxe-table>
</div>
</template>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--诊疗目录-->
@@ -220,85 +220,85 @@
</el-col> -->
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="diagnosisTreatmentList"
width="90%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="busNo"
label="编码"
title="编码"
align="center"
prop="busNo"
:show-overflow-tooltip="true"
field="busNo"
:show-overflow="true"
width="200"
/>
<el-table-column
<vxe-column
key="name"
label="项目名称"
title="项目名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
width="200"
/>
<el-table-column
<vxe-column
key="categoryCode_dictText"
label="目录类别"
title="目录类别"
align="center"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
field="categoryCode_dictText"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="retailPrice"
label="售价"
title="售价"
align="center"
prop="retailPrice"
:show-overflow-tooltip="true"
field="retailPrice"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="itemTypeCode_dictText"
label="财务类别"
title="财务类别"
align="center"
prop="itemTypeCode_dictText"
:show-overflow-tooltip="true"
field="itemTypeCode_dictText"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="permittedUnitCode_dictText"
label="使用单位"
title="使用单位"
align="center"
prop="permittedUnitCode_dictText"
:show-overflow-tooltip="true"
field="permittedUnitCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="ybNo"
label="医保编码"
title="医保编码"
align="center"
prop="ybNo"
:show-overflow-tooltip="true"
field="ybNo"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="statusEnum_enumText"
label="状态"
title="状态"
align="center"
prop="statusEnum_enumText"
:show-overflow-tooltip="true"
field="statusEnum_enumText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="pricingFlag_enumText"
label="划价标记"
title="划价标记"
align="center"
prop="pricingFlag_enumText"
:show-overflow-tooltip="true"
field="pricingFlag_enumText"
:show-overflow="true"
width="100"
>
<template #default="scope">
@@ -309,9 +309,9 @@
{{ scope.row.pricingFlag_enumText || (scope.row.pricingFlag === 1 ? '允许' : scope.row.pricingFlag === 0 ? '不允许' : '未设置') }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -327,8 +327,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--疾病目录数据-->
@@ -146,92 +146,92 @@
</el-col> -->
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="diseaseList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="conditionCode"
label="编码"
title="编码"
align="center"
prop="conditionCode"
field="conditionCode"
/>
<el-table-column
<vxe-column
key="name"
label="名称"
title="名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="sourceEnum_enumText"
label="疾病分类"
title="疾病分类"
align="center"
prop="sourceEnum_enumText"
:show-overflow-tooltip="true"
field="sourceEnum_enumText"
:show-overflow="true"
/>
<!-- <el-table-column
label="拼音助记码"
<!-- <vxe-column
title="拼音助记码"
align="center"
key="pyStr"
prop="pyStr"
:show-overflow-tooltip="true"
field="pyStr"
:show-overflow="true"
/> -->
<el-table-column
<vxe-column
key="typeCode_dictText"
label="类型"
title="类型"
align="center"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
field="typeCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="reportTypeCode_dictText"
label="报卡类型"
title="报卡类型"
align="center"
prop="reportTypeCode_dictText"
:show-overflow-tooltip="true"
field="reportTypeCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="ybNo"
label="医保编码 "
title="医保编码 "
align="center"
prop="ybNo"
:show-overflow-tooltip="true"
field="ybNo"
:show-overflow="true"
/>
<!-- <el-table-column
label="医保标记"
<!-- <vxe-column
title="医保标记"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag_enumText"
field="ybMatchFlag_enumText"
/>
<el-table-column
label="医保对码标志"
<vxe-column
title="医保对码标志"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag_enumText"
field="ybMatchFlag_enumText"
/> -->
<el-table-column
<vxe-column
key="statusEnum_enumText"
label="状态"
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
width="160"
/>
<el-table-column
<vxe-column
key="description"
label="描述"
title="描述"
align="center"
prop="description"
field="description"
width="160"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -246,8 +246,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -675,7 +675,7 @@ getList();
}
/* 表格样式调整,移除默认的最大宽度限制 */
.table-scroll-container :deep(.el-table) {
.table-scroll-container :deep(.vxe-table) {
min-width: 100%;
width: auto;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-dialog
v-model="visible"
@@ -24,84 +24,84 @@
</template>
</el-input>
</div>
<el-table
<vxe-table
v-loading="listLoading"
border
:data="list"
highlight-current-row
max-height="450"
>
<el-table-column
<vxe-column
align="center"
label="医保目录编码"
prop="medicalCatalogCode"
title="医保目录编码"
field="medicalCatalogCode"
/>
<el-table-column
<vxe-column
align="center"
label="药品名称"
prop="registeredName"
title="药品名称"
field="registeredName"
>
<template #default="scope">
<span v-if="props.currentCategoryEnum == '4'">{{ scope.row.singleDrugName }}</span>
<span v-else>{{ scope.row.registeredName }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="药品类别"
prop="drugCategoryName"
title="药品类别"
field="drugCategoryName"
width="120"
>
<template #default="scope">
{{ formatStr(scope.row.drugCategoryName) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="国药准字"
prop="drugCategoryName"
title="国药准字"
field="drugCategoryName"
>
<template #default="scope">
{{ formatStr(scope.row.approvalNo) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="药品规格"
prop="drugSpecification"
title="药品规格"
field="drugSpecification"
>
<template #default="scope">
<span v-if="props.currentCategoryEnum == '4'">{{ scope.row.conventionalUsage }}</span>
<span v-else>{{ scope.row.drugSpecification }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="处方药"
prop="otcFlagName"
title="处方药"
field="otcFlagName"
width="120"
>
<template #default="scope">
{{ formatStr(scope.row.otcFlagName) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="厂家"
prop="manufacturerName"
title="厂家"
field="manufacturerName"
>
<template #default="scope">
{{ formatStr(scope.row.manufacturerName) }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
label="批准文号"
prop="approvalNo"
title="批准文号"
field="approvalNo"
/>
<el-table-column
<vxe-column
align="center"
label="操作"
title="操作"
width="80"
>
<template #default="scope">
@@ -113,8 +113,8 @@
对照
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!--药品目录-->
@@ -202,52 +202,52 @@
</el-col> -->
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="medicationList"
width="90%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="busNo"
label="药品编号"
title="药品编号"
align="center"
prop="busNo"
:show-overflow-tooltip="true"
field="busNo"
:show-overflow="true"
min-width="90"
width="200px"
/>
<el-table-column
<vxe-column
key="name"
label="药品名称"
title="药品名称"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
min-width="110"
width="200px"
sortable
:sort-by="(row) => getPinyinFirstLetter(row)"
/>
<el-table-column
<vxe-column
key="totalVolume"
label="规格"
title="规格"
align="center"
prop="totalVolume"
:show-overflow-tooltip="true"
field="totalVolume"
:show-overflow="true"
min-width="200px"
width="200px"
/>
<el-table-column
<vxe-column
key="statusEnum_enumText"
label="药品状态"
title="药品状态"
align="center"
prop="statusEnum_enumText"
:show-overflow-tooltip="true"
field="statusEnum_enumText"
:show-overflow="true"
>
<template #default="scope">
<el-tag
@@ -265,78 +265,78 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="categoryCode_dictText"
label="药品分类"
title="药品分类"
align="center"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
field="categoryCode_dictText"
:show-overflow="true"
width="90"
/>
<!-- <el-table-column
label="所属科室"
<!-- <vxe-column
title="所属科室"
align="center"
key="orgId_dictText"
prop="orgId_dictText"
:show-overflow-tooltip="true"
field="orgId_dictText"
:show-overflow="true"
/> -->
<!-- <el-table-column
label="采购入库位置"
<!-- <vxe-column
title="采购入库位置"
align="center"
key="locationId_dictText"
prop="locationId_dictText"
:show-overflow-tooltip="true"
field="locationId_dictText"
:show-overflow="true"
/> -->
<el-table-column
<vxe-column
key="ybNo"
label="医保编码"
title="医保编码"
align="center"
prop="ybNo"
:show-overflow-tooltip="true"
field="ybNo"
:show-overflow="true"
width="90"
/>
<el-table-column
<vxe-column
key="ybMatchFlag_enumText"
label="医保是否对码"
title="医保是否对码"
align="center"
prop="ybMatchFlag_enumText"
:show-overflow-tooltip="true"
field="ybMatchFlag_enumText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="drug69Code"
label="69"
title="69"
align="center"
prop="drug69Code"
:show-overflow-tooltip="true"
field="drug69Code"
:show-overflow="true"
/>
<!-- <el-table-column
label="医保上传"
<!-- <vxe-column
title="医保上传"
align="center"
key="ybNo"
prop="ybNo"
:show-overflow-tooltip="true"
field="ybNo"
:show-overflow="true"
width="90"
/> -->
<el-table-column
<vxe-column
key="purchasePrice"
label="采购价"
title="采购价"
align="center"
prop="purchasePrice"
:show-overflow-tooltip="true"
field="purchasePrice"
:show-overflow="true"
width="90"
/>
<el-table-column
<vxe-column
key="retailPrice"
label="售价"
title="售价"
align="center"
prop="retailPrice"
:show-overflow-tooltip="true"
field="retailPrice"
:show-overflow="true"
width="90"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
@@ -352,8 +352,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<!-- 搜索条件区域 -->
@@ -71,54 +71,54 @@
<!-- 数据表格区域 -->
<el-col :span="24">
<el-table
<vxe-table
v-loading="loading"
:data="dataList"
style="width: 100%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
align="center"
/>
<el-table-column
<vxe-column
key="glNo"
prop="glNo"
label="国临版疾病编码"
:show-overflow-tooltip="true"
field="glNo"
title="国临版疾病编码"
:show-overflow="true"
align="center"
width="180"
/>
<el-table-column
<vxe-column
key="glName"
prop="glName"
label="国临版疾病名称"
:show-overflow-tooltip="true"
field="glName"
title="国临版疾病名称"
:show-overflow="true"
align="center"
min-width="200"
/>
<el-table-column
<vxe-column
key="icd10No"
prop="icd10No"
label="医保版疾病编码"
:show-overflow-tooltip="true"
field="icd10No"
title="医保版疾病编码"
:show-overflow="true"
align="center"
width="180"
/>
<el-table-column
<vxe-column
key="icd10Name"
prop="icd10Name"
label="医保版疾病名称"
:show-overflow-tooltip="true"
field="icd10Name"
title="医保版疾病名称"
:show-overflow="true"
align="center"
min-width="200"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="120"
align="center"
>
@@ -132,8 +132,8 @@
编辑
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页控件 -->
<el-pagination

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-continer">
<div style="margin: 15px 0; padding: 0 20px">
<el-form
@@ -98,107 +98,107 @@
批量开具
</el-button>
</div>
<el-table
<vxe-table
:data="clinicRecord"
border
>
<!-- <el-table-column label="计算类型" align="center" prop="statusEnum_enumText" /> -->
<el-table-column
label="患者姓名"
<!-- <vxe-column title="计算类型" align="center" field="statusEnum_enumText" /> -->
<vxe-column
title="患者姓名"
align="center"
prop="patientName"
:show-overflow-tooltip="true"
field="patientName"
:show-overflow="true"
/>
<el-table-column
label="支付状态"
<vxe-column
title="支付状态"
align="center"
prop="statusEnum_dictText"
:show-overflow-tooltip="true"
field="statusEnum_dictText"
:show-overflow="true"
/>
<el-table-column
label="费用类型"
<vxe-column
title="费用类型"
align="center"
prop="paymentEnum_dictText"
:show-overflow-tooltip="true"
field="paymentEnum_dictText"
:show-overflow="true"
/>
<el-table-column
label="医保结算Id"
<vxe-column
title="医保结算Id"
align="center"
prop="ybSettleIds"
:show-overflow-tooltip="true"
field="ybSettleIds"
:show-overflow="true"
/>
<el-table-column
label="收费流水号"
<vxe-column
title="收费流水号"
align="center"
prop="paymentNo"
field="paymentNo"
width="280"
:show-overflow-tooltip="true"
:show-overflow="true"
/>
<el-table-column
label="发票号"
<vxe-column
title="发票号"
align="center"
prop="invoiceNo"
:show-overflow-tooltip="true"
field="invoiceNo"
:show-overflow="true"
/>
<el-table-column
label="结算金额"
<vxe-column
title="结算金额"
align="right"
prop="tenderedAmount"
field="tenderedAmount"
header-align="center"
width="100"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<span>{{ scope.row.tenderedAmount + ' 元' }}</span>
</template>
</el-table-column>
<el-table-column
label="支付金额"
</vxe-column>
<vxe-column
title="支付金额"
align="right"
prop="displayAmount"
field="displayAmount"
header-align="center"
width="100"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<span>{{ scope.row.displayAmount + ' 元' }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="billDate"
label="结算时间"
title="结算时间"
align="center"
prop="billDate"
field="billDate"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.billDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="收款人"
</vxe-column>
<vxe-column
title="收款人"
align="center"
prop="entererName"
:show-overflow-tooltip="true"
field="entererName"
:show-overflow="true"
/>
<!-- <el-table-column label="医生" align="center" prop="paymentEnum_enumText" /> -->
<el-table-column
label="支付结果"
<!-- <vxe-column title="医生" align="center" field="paymentEnum_enumText" /> -->
<vxe-column
title="支付结果"
align="center"
prop="outcomeEnum_dictText"
:show-overflow-tooltip="true"
field="outcomeEnum_dictText"
:show-overflow="true"
/>
<el-table-column
label="打印次数"
<vxe-column
title="打印次数"
align="center"
prop="printCount"
:show-overflow-tooltip="true"
field="printCount"
:show-overflow="true"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
prop="paymentEnum_enumText"
field="paymentEnum_enumText"
width="340"
>
<template #default="scope">
@@ -236,8 +236,8 @@
调阅发票
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -252,36 +252,36 @@
append-to-body
style="height:90vh"
>
<el-table
<vxe-table
:data="paymentDetailList"
border
style="height: 80vh"
>
<el-table-column
label="支付类型"
<vxe-column
title="支付类型"
align="center"
prop="payEnum_dictText"
:show-overflow-tooltip="true"
field="payEnum_dictText"
:show-overflow="true"
/>
<el-table-column
label="金额"
<vxe-column
title="金额"
align="center"
prop="amount"
:show-overflow-tooltip="true"
field="amount"
:show-overflow="true"
/>
<el-table-column
label="找零"
<vxe-column
title="找零"
align="center"
prop="returnAmount"
:show-overflow-tooltip="true"
field="returnAmount"
:show-overflow="true"
/>
<el-table-column
label="交款"
<vxe-column
title="交款"
align="center"
prop="chargeAmount"
:show-overflow-tooltip="true"
field="chargeAmount"
:show-overflow="true"
/>
</el-table>
</vxe-table>
</el-dialog>
<el-dialog
v-model="reasonDialogVisible"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="props.open"
title="确认收费"
@@ -156,19 +156,19 @@
</el-button>
</div>
<div>
<el-table
<vxe-table
:data="props.details"
max-height="200"
border
>
<el-table-column
prop="payEnumText"
label="支付类型"
<vxe-column
field="payEnumText"
title="支付类型"
align="center"
/>
<el-table-column
prop="amount"
label="金额"
<vxe-column
field="amount"
title="金额"
header-align="center"
align="right"
width="200"
@@ -176,8 +176,8 @@
<template #default="scope">
{{ scope.row.amount ? scope.row.amount + ' 元' : '-' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<!-- 金额汇总 -->
<div class="summary">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
v-loading="readCardLoading"
style="display: flex; justify-content: space-between"
@@ -57,35 +57,35 @@
搜索
</el-button>
</div>
<el-table
<vxe-table
ref="patientListRef"
height="620"
:data="patientList"
row-key="encounterId"
:row-config="{ keyField: 'encounterId', keyField: 'id' }"
highlight-current-row
@cell-click="clickRow"
>
<el-table-column
label="病历号"
<vxe-column
title="病历号"
align="center"
prop="encounterBusNo"
field="encounterBusNo"
/>
<el-table-column
label="姓名"
<vxe-column
title="姓名"
align="center"
prop="patientName"
field="patientName"
/>
<!-- <el-table-column label="时间" align="center" prop="receptionTime" width="160">
<!-- <vxe-column title="时间" align="center" field="receptionTime" width="160">
<template #default="scope">
{{ formatDate(scope.row.receptionTime) }}
</template>
</el-table-column> -->
<el-table-column
label="收费状态"
</vxe-column> -->
<vxe-column
title="收费状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
/>
</el-table>
</vxe-table>
</div>
</el-card>
<div style="width: 69%">
@@ -187,58 +187,57 @@
<div style="text-align: right; padding-right: 20px; margin-bottom: 10px;">
<span style="font-weight: bold; font-size: 14px;">合计金额{{ totalAmounts ? totalAmounts.toFixed(2) : 0 }}</span>
</div>
<el-table
<vxe-table
ref="chargeListRef"
v-loading="chargeLoading"
height="530"
:data="chargeList"
row-key="id"
:span-method="objectSpanMethod"
border
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
:selectable="checkSelectable"
width="55"
/>
<el-table-column
label="单据号"
<vxe-column
title="单据号"
align="center"
prop="busNo"
field="busNo"
width="180"
/>
<el-table-column
label="收费项目"
<vxe-column
title="收费项目"
align="center"
prop="itemName"
field="itemName"
width="200"
/>
<el-table-column
label="数量"
<vxe-column
title="数量"
align="center"
prop="quantityValue"
field="quantityValue"
width="80"
/>
<el-table-column
label="医疗类型"
<vxe-column
title="医疗类型"
align="center"
prop="medTypeCode_dictText"
field="medTypeCode_dictText"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
<el-table-column
label="费用性质"
<vxe-column
title="费用性质"
align="center"
prop="contractName"
field="contractName"
/>
<el-table-column
label="收费状态"
<vxe-column
title="收费状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
width="150"
>
<template #default="scope">
@@ -270,24 +269,24 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="金额"
</vxe-column>
<vxe-column
title="金额"
align="right"
prop="totalPrice"
field="totalPrice"
header-align="center"
>
<template #default="scope">
{{ scope.row.totalPrice.toFixed(2) + ' 元' || '0.00' + ' 元' }}
</template>
</el-table-column>
<el-table-column
label="收款人"
</vxe-column>
<vxe-column
title="收款人"
align="center"
prop="entererId_dictText"
field="entererId_dictText"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
fixed="right"
header-align="center"
@@ -303,8 +302,8 @@
打印
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
</div>
@@ -457,7 +456,7 @@ function clickRow(row) {
chargeList.value = res.data;
setTimeout(() => {
chargeLoading.value = false;
chargeListRef.value.toggleAllSelection();
chargeListRef.value.toggleAllCheckboxRow();
}, 100);
});
}
@@ -829,7 +828,7 @@ function printCharge(row) {
background-color: transparent !important;
}
:deep(.el-table__body) tr:hover td.no-hover-column {
:deep(.vxe-table--body) tr:hover td.no-hover-column {
background-color: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="props.open"
title="确认退费"
@@ -107,19 +107,19 @@
</div>
</div>
<div>
<el-table
<vxe-table
:data="props.details"
max-height="200"
border
>
<el-table-column
prop="payEnum_dictText"
label="支付类型"
<vxe-column
field="payEnum_dictText"
title="支付类型"
align="center"
/>
<el-table-column
prop="amount"
label="金额"
<vxe-column
field="amount"
title="金额"
header-align="center"
align="right"
width="200"
@@ -127,8 +127,8 @@
<template #default="scope">
{{ scope.row.amount ? scope.row.amount + ' 元' : '-' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<!-- 金额汇总 -->
<div class="summary">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
style="display: flex; justify-content: space-between"
class="app-container"
@@ -53,36 +53,36 @@
>
搜索
</el-button>
<el-table
<vxe-table
ref="patientListRef"
height="630"
:data="patientList"
row-key="encounterId"
:row-config="{ keyField: 'encounterId', keyField: 'encounterId' }"
highlight-current-row
width=""
@cell-click="clickRow"
>
<el-table-column
label="病历号"
<vxe-column
title="病历号"
align="center"
prop="encounterBusNo"
field="encounterBusNo"
/>
<el-table-column
label="姓名"
<vxe-column
title="姓名"
align="center"
prop="patientName"
field="patientName"
/>
<!-- <el-table-column label="时间" align="center" prop="startTime">
<!-- <vxe-column title="时间" align="center" field="startTime">
<template #default="scope">
{{ formatDate(scope.row.startTime) }}
</template>
</el-table-column> -->
<el-table-column
label="收费状态"
</vxe-column> -->
<vxe-column
title="收费状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
/>
</el-table>
</vxe-table>
</div>
</el-card>
<div style="width: 69%">
@@ -135,20 +135,19 @@
<!-- <el-button type="primary" @click="handleRefund()" :disabled="buttonDisabled">
确认退费
</el-button> -->
<el-table
<vxe-table
ref="chargeListRef"
v-loading="chargeLoading"
height="510"
:data="chargeList"
row-key="encounterId"
:span-method="spanMethod"
class="no-hover-table"
border
width=""
>
<!-- <el-table-column type="selection" :selectable="checkSelectable" width="55" /> -->
<el-table-column
label="操作"
<!-- <vxe-column type="checkbox" :selectable="checkSelectable" width="55" /> -->
<vxe-column
title="操作"
align="center"
>
<template #default="scope">
@@ -160,57 +159,57 @@
退费
</el-button>
</template>
</el-table-column>
<el-table-column
prop="paymentId"
label="支付单据号"
</vxe-column>
<vxe-column
field="paymentId"
title="支付单据号"
align="center"
/>
<el-table-column
label="项目单据号"
<vxe-column
title="项目单据号"
align="center"
prop="busNo"
field="busNo"
width="150"
/>
<el-table-column
label="项目名称"
<vxe-column
title="项目名称"
align="center"
prop="itemName"
field="itemName"
/>
<el-table-column
label="收费状态"
<vxe-column
title="收费状态"
align="center"
prop="chargeStatus_enumText"
field="chargeStatus_enumText"
width="100"
/>
<el-table-column
label="数量"
<vxe-column
title="数量"
align="center"
width="100"
>
<template #default="scope">
{{ scope.row.quantityValue + ' ' + scope.row.quantityUnit_dictText }}
</template>
</el-table-column>
<el-table-column
label="付款总额"
</vxe-column>
<vxe-column
title="付款总额"
align="right"
prop="totalPrice"
field="totalPrice"
header-align="center"
width="100"
>
<template #default="scope">
{{ scope.row.totalPrice.toFixed(2) + ' 元' }}
</template>
</el-table-column>
<!-- <el-table-column label="处方号" align="center" prop="prescriptionNo" /> -->
<el-table-column
label="收款人"
</vxe-column>
<!-- <vxe-column title="处方号" align="center" field="prescriptionNo" /> -->
<vxe-column
title="收款人"
align="center"
prop="entererName"
field="entererName"
width="120"
/>
</el-table>
</vxe-table>
</el-card>
</div>
<RefundDialog
@@ -397,7 +396,7 @@ function handleClose(value) {
}
</script>
<style lang="scss" scoped>
:deep(.no-hover-table) .el-table__body tr:hover > td {
:deep(.no-hover-table) .vxe-table--body tr:hover > td {
background: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<!-- <div class="app-container"> -->
<el-dialog
v-model="visible"
@@ -6,65 +6,65 @@
width="800px"
append-to-body
>
<el-table
<vxe-table
:data="patientInfoList"
width="90%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
@cell-dblclick="handleCellDblClick"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="name"
label="患者姓名"
title="患者姓名"
align="center"
prop="name"
:show-overflow-tooltip="true"
field="name"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="genderEnum_enumText"
label="性别"
title="性别"
align="center"
prop="genderEnum_enumText"
:show-overflow-tooltip="true"
field="genderEnum_enumText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="idCard"
label="身份证号"
title="身份证号"
align="center"
prop="idCard"
:show-overflow-tooltip="true"
field="idCard"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="phone"
label="电话"
title="电话"
align="center"
prop="phone"
:show-overflow-tooltip="true"
field="phone"
:show-overflow="true"
width="100"
/>
<el-table-column
<vxe-column
key="birthDate"
label="生日"
title="生日"
align="center"
prop="birthDate"
:show-overflow-tooltip="true"
field="birthDate"
:show-overflow="true"
width="50"
/>
<el-table-column
<vxe-column
key="age"
label="年龄"
title="年龄"
align="center"
:show-overflow-tooltip="true"
:show-overflow="true"
>
<template #default="scope">
{{ scope.row.age ? `${scope.row.age}` : '-' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,45 +1,45 @@
<template>
<template>
<div>
<el-table
<vxe-table
height="400"
:data="patientList"
row-key="id"
:row-config="{ keyField: 'id' }"
@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="identifierNo"
field="identifierNo"
/>
<el-table-column
label="性别"
<vxe-column
title="性别"
align="center"
prop="genderEnum_enumText"
field="genderEnum_enumText"
/>
<el-table-column
label="证件号"
<vxe-column
title="证件号"
align="center"
prop="idCard"
field="idCard"
/>
<el-table-column
label="联系电话"
<vxe-column
title="联系电话"
align="center"
prop="phone"
field="phone"
/>
<el-table-column
label="年龄"
<vxe-column
title="年龄"
align="center"
>
<template #default="scope">
{{ scope.row.age ? `${scope.row.age}` : '-' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</template>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="props.open"
:title="eventType == '1' ? '确认退费' : '挂号详情'"
@@ -119,49 +119,49 @@
v-if="preCancelData && preCancelData.length > 0"
class="pre-cancel-table-wrapper"
>
<el-table
<vxe-table
:data="preCancelData"
border
stripe
max-height="300"
style="width: 100%"
>
<el-table-column
prop="payEnum_dictText"
label="支付方式"
<vxe-column
field="payEnum_dictText"
title="支付方式"
min-width="200"
/>
<el-table-column
prop="amount"
label="金额"
<vxe-column
field="amount"
title="金额"
width="120"
align="right"
>
<template #default="{ row }">
{{ row.amount ? Number(row.amount) : '0.00' }}
</template>
</el-table-column>
<el-table-column
prop="returnAmount"
label="退费金额"
</vxe-column>
<vxe-column
field="returnAmount"
title="退费金额"
width="120"
align="right"
>
<template #default="{ row }">
{{ row.returnAmount ? Number(row.returnAmount) : '0.00' }}
</template>
</el-table-column>
<el-table-column
prop="chargeAmount"
label="收费金额"
</vxe-column>
<vxe-column
field="chargeAmount"
title="收费金额"
min-width="120"
align="right"
>
<template #default="{ row }">
{{ row.chargeAmount ? Number(row.chargeAmount) : '0.00' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<template #footer>
@@ -584,10 +584,10 @@ function close() {
border-radius: 4px;
overflow: hidden;
:deep(.el-table) {
:deep(.vxe-table) {
width: 100%;
.el-table__body-wrapper {
.vxe-table--body-wrapper {
max-height: 300px;
overflow-y: auto;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="dialogVisible"
title="补打挂号单凭证"
@@ -185,57 +185,57 @@
append-to-body
:close-on-click-modal="false"
>
<el-table
<vxe-table
:data="recordList"
highlight-current-row
style="width: 100%"
max-height="400"
@current-change="handleRecordSelect"
>
<el-table-column
label="序号"
type="index"
<vxe-column
title="序号"
type="seq"
width="60"
align="center"
/>
<el-table-column
label="挂号时间"
prop="registerTime"
<vxe-column
title="挂号时间"
field="registerTime"
width="180"
align="center"
>
<template #default="scope">
{{ scope.row.registerTime ? parseTime(scope.row.registerTime, '{y}.{m}.{d} {h}时{i}分') : '-' }}
</template>
</el-table-column>
<el-table-column
label="挂号科室"
prop="organizationName"
</vxe-column>
<vxe-column
title="挂号科室"
field="organizationName"
align="center"
>
<template #default="scope">
{{ scope.row.organizationName ? scope.row.organizationName.trim() || '-' : '-' }}
</template>
</el-table-column>
<el-table-column
label="医生姓名"
prop="practitionerName"
</vxe-column>
<vxe-column
title="医生姓名"
field="practitionerName"
align="center"
>
<template #default="scope">
{{ scope.row.practitionerName ? scope.row.practitionerName.trim() || '-' : '-' }}
</template>
</el-table-column>
<el-table-column
label="流水号"
prop="encounterNo"
</vxe-column>
<vxe-column
title="流水号"
field="encounterNo"
align="center"
>
<template #default="scope">
{{ calculateSerialNo(scope.row) }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="selectDialogVisible = false">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
v-loading="readCardLoading"
class="app-container"
@@ -630,92 +630,92 @@
:clearable="false"
@change="handleQuery"
/>
<el-table
<vxe-table
v-loading="loading"
:data="outpatientRegistrationList"
max-height="250"
>
<!-- <el-table-column
label="租户ID"
<!-- <vxe-column
title="租户ID"
align="center"
key="tenantId"
prop="tenantId"
field="tenantId"
/>
<el-table-column
label="就诊ID"
<vxe-column
title="就诊ID"
align="center"
key="encounterId"
prop="encounterId"
field="encounterId"
/>
<el-table-column
label="科室ID"
<vxe-column
title="科室ID"
align="center"
key="organizationId"
prop="organizationId"
:show-overflow-tooltip="true"
field="organizationId"
:show-overflow="true"
/> -->
<el-table-column
label=""
<vxe-column
title=""
align="center"
width="50"
>
<template #default="scope">
{{ scope.$index + 1 }}
{{ scope.rowIndex + 1 }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="patientName"
label="患者姓名"
title="患者姓名"
align="center"
prop="patientName"
field="patientName"
width="120"
/>
<el-table-column
<vxe-column
key="age"
label="年龄"
title="年龄"
align="center"
prop="age"
field="age"
width="120"
>
<template #default="scope">
{{ scope.row.age ? `${scope.row.age}` : '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="genderEnum_enumText"
label="患者性别"
title="患者性别"
align="center"
prop="genderEnum_enumText"
field="genderEnum_enumText"
/>
<el-table-column
<vxe-column
key="phone"
label="联系电话"
title="联系电话"
align="center"
prop="phone"
field="phone"
/>
<el-table-column
<vxe-column
key="identifierNo"
label="就诊卡号"
title="就诊卡号"
align="center"
width="150"
>
<template #default="scope">
{{ scope.row.identifierNo || scope.row.cardNo || scope.row.card || scope.row.patientCardNo || scope.row.patient?.identifierNo || '-' }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="organizationName"
label="科室名称"
title="科室名称"
align="center"
prop="organizationName"
:show-overflow-tooltip="true"
field="organizationName"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="healthcareName"
label="*挂号类型 "
title="*挂号类型 "
align="center"
prop="healthcareName"
:show-overflow-tooltip="true"
field="healthcareName"
:show-overflow="true"
width="200"
>
<template #default="scope">
@@ -723,61 +723,61 @@
{{ (scope.row.healthcareName || '').replace('挂号', '') }}{{ scope.row.isFromAppointment ? '预约' : '挂号' }}
</span>
</template>
</el-table-column>
<!-- <el-table-column
label="专家账号"
</vxe-column>
<!-- <vxe-column
title="专家账号"
align="center"
key="practitionerUserId"
prop="practitionerUserId"
field="practitionerUserId"
/> -->
<el-table-column
<vxe-column
key="practitionerName"
label="专家"
title="专家"
align="center"
prop="practitionerName"
field="practitionerName"
/>
<el-table-column
<vxe-column
key="contractName"
label="费用性质"
title="费用性质"
align="center"
prop="contractName"
field="contractName"
/>
<el-table-column
<vxe-column
key="totalPrice"
label="挂号金额"
title="挂号金额"
align="center"
prop="totalPrice"
field="totalPrice"
>
<template #default="scope">
<span>
{{ scope.row.totalPrice ? scope.row.totalPrice.toFixed(2) + ' 元' : '0.00 元' }}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="entererName"
label="收款人"
title="收款人"
align="center"
prop="entererName"
field="entererName"
/>
<!-- <el-table-column
label="收款方式"
<!-- <vxe-column
title="收款方式"
align="center"
key="contractName"
prop="contractName"
field="contractName"
/> -->
<!-- <el-table-column
label="患者id"
<!-- <vxe-column
title="患者id"
align="center"
key="patientId"
prop="patientId"
field="patientId"
/> -->
<!-- <el-table-column label="证件号" align="center" key="idCard" prop="idCard" width="180" /> -->
<el-table-column
<!-- <vxe-column title="证件号" align="center" key="idCard" field="idCard" width="180" /> -->
<vxe-column
key="statusEnum_enumText"
label="就诊状态"
title="就诊状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
>
<template #default="scope">
<el-tag
@@ -802,23 +802,23 @@
{{ scope.row.statusEnum_enumText || '未知' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="registerTime"
label="挂号日期/时间"
title="挂号日期/时间"
align="center"
prop="registerTime"
field="registerTime"
width="180"
>
<template #default="scope">
<span>{{ parseTime(scope.row.registerTime) }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="registerTime"
label="操作"
title="操作"
align="center"
prop="registerTime"
field="registerTime"
do
>
<template #default="scope">
@@ -852,8 +852,8 @@
</div>
<!-- </el-tooltip> -->
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -941,65 +941,65 @@
</el-button>
</div>
<el-table
<vxe-table
v-loading="checkInLoading"
:data="checkInPatientList"
border
style="width: 100%"
highlight-current-row
@row-click="selectRow"
@cell-click="selectRow"
>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientId"
label="就诊卡号"
<vxe-column
field="patientId"
title="就诊卡号"
width="120"
align="center"
/>
<el-table-column
prop="patientName"
label="姓名"
<vxe-column
field="patientName"
title="姓名"
width="120"
align="center"
>
<template #default="scope">
<span style="color: #ff4d4f">{{ scope.row.patientName }}</span>
</template>
</el-table-column>
<el-table-column
prop="gender"
label="性别"
</vxe-column>
<vxe-column
field="gender"
title="性别"
width="80"
align="center"
/>
<el-table-column
label="证件类型"
<vxe-column
title="证件类型"
width="150"
align="center"
>
<template #default>
居民身份证
</template>
</el-table-column>
<el-table-column
prop="idCard"
label="证件号码"
</vxe-column>
<vxe-column
field="idCard"
title="证件号码"
width="200"
align="center"
/>
<el-table-column
prop="phone"
label="手机号码"
<vxe-column
field="phone"
title="手机号码"
width="150"
align="center"
/>
<el-table-column
label="号源类型"
<vxe-column
title="号源类型"
width="100"
align="center"
>
@@ -1008,24 +1008,24 @@
{{ scope.row.ticketType === 'expert' ? '专家号' : '普通号' }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="fee"
label="预约金额"
</vxe-column>
<vxe-column
field="fee"
title="预约金额"
width="100"
align="center"
>
<template #default="scope">
<span style="font-weight: bold; color: #f5222d">{{ scope.row.fee }}</span>
</template>
</el-table-column>
<el-table-column
prop="dateTime"
label="就诊时间"
</vxe-column>
<vxe-column
field="dateTime"
title="就诊时间"
width="180"
align="center"
/>
</el-table>
</vxe-table>
<div style="margin-top: 20px; display: flex; justify-content: space-between; align-items: center;">
<el-pagination

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="card-renewal-container">
<!-- 标题栏 -->
<div class="title-bar">
@@ -190,76 +190,76 @@
</div>
</template>
<el-table
<vxe-table
:data="patientList"
style="width: 100%"
:row-key="row => row.identifierNo || row.patientId || row.cardNo"
:current-row-key="selectedPatient?.identifierNo || selectedPatient?.patientId || selectedPatient?.cardNo"
highlight-current-row
@row-click="selectPatient"
@cell-click="selectPatient"
>
<el-table-column
label="序号"
<vxe-column
title="序号"
width="60"
type="index"
type="seq"
/>
<el-table-column
label="病人姓名"
<vxe-column
title="病人姓名"
width="120"
>
<template #default="scope">
{{ scope.row.patientName || scope.row.name || '-' }}
</template>
</el-table-column>
<el-table-column
label="门诊号码"
</vxe-column>
<vxe-column
title="门诊号码"
width="120"
>
<template #default="scope">
{{ scope.row.identifierNo || scope.row.cardNo || scope.row.card_number || scope.row.就诊卡号 || scope.row.outpatientNumber || scope.row.outpatientNo || scope.row.门诊号码 || scope.row.卡号 || scope.row.card || scope.row.patientNo || scope.row.patient_id || '-' }}
</template>
</el-table-column>
<el-table-column
label="身份证号码"
</vxe-column>
<vxe-column
title="身份证号码"
width="200"
>
<template #default="scope">
{{ scope.row.idCard || scope.row.id_card || scope.row.idNo || '-' }}
</template>
</el-table-column>
<el-table-column
label="手机号码"
</vxe-column>
<vxe-column
title="手机号码"
width="120"
>
<template #default="scope">
{{ scope.row.phoneNumber || scope.row.phone || scope.row.mobile || scope.row.mobilePhone || '-' }}
</template>
</el-table-column>
<el-table-column
label="性别"
</vxe-column>
<vxe-column
title="性别"
width="80"
>
<template #default="scope">
{{ scope.row.genderEnum_enumText || scope.row.gender || scope.row.sex || scope.row.性别 || scope.row.xb || scope.row.sexCode || scope.row.GENDER || scope.row.SEX || '-' }}
</template>
</el-table-column>
<el-table-column
label="年龄"
</vxe-column>
<vxe-column
title="年龄"
width="80"
>
<template #default="scope">
{{ scope.row.age || '-' }}
</template>
</el-table-column>
<el-table-column
label="出生年月"
</vxe-column>
<vxe-column
title="出生年月"
width="120"
>
<template #default="scope">
{{ formatDate(scope.row.birthDate || scope.row.birthday || scope.row.出生日期) || '-' }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页组件 -->
<div style="margin-top: 15px; display: flex; justify-content: flex-end;">
@@ -667,26 +667,26 @@ const confirmSelectPatient = () => {
overflow: hidden;
}
.el-table {
.vxe-table {
margin: 0;
}
.el-table th {
.vxe-header--column {
background-color: #f5f7fa;
font-weight: 500;
color: #303133;
}
.el-table td {
.vxe-cell {
text-align: left;
}
/* 表格样式优化 */
.el-table {
.vxe-table {
margin: 0;
}
.el-table th {
.vxe-header--column {
background-color: #f5f7fa;
font-weight: 500;
color: #303133;
@@ -694,16 +694,16 @@ const confirmSelectPatient = () => {
border-bottom: 1px solid #ebeef5;
}
.el-table td {
.vxe-cell {
text-align: center;
border-bottom: 1px solid #ebeef5;
}
.el-table tr:hover > td {
.vxe-table tr:hover > td {
background-color: #f5f7fa;
}
.el-table--striped .el-table__body tr:nth-child(2n) {
.vxe-table--striped .vxe-table--body tr:nth-child(2n) {
background-color: #fafafa;
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="patient-search-container">
<!-- 标题栏 -->
<div class="title-bar">
@@ -65,85 +65,85 @@
<!-- 查询结果表格 -->
<div class="result-table">
<el-table
<vxe-table
:data="patientList"
style="width: 100%"
stripe
highlight-current-row
row-key="id"
:row-config="{ keyField: 'id' }"
:current-row-key="selectedPatient?.id"
@row-click="handleRowClick"
@cell-click="handleRowClick"
>
<el-table-column
label="序号"
type="index"
<vxe-column
title="序号"
type="seq"
width="80"
align="center"
/>
<el-table-column
label="病人姓名"
<vxe-column
title="病人姓名"
width="120"
align="center"
>
<template #default="scope">
{{ scope.row.patientName }}
</template>
</el-table-column>
<el-table-column
label="门诊号码"
</vxe-column>
<vxe-column
title="门诊号码"
width="150"
align="center"
>
<template #default="scope">
{{ scope.row.outpatientNo || '-' }}
</template>
</el-table-column>
<el-table-column
label="身份证号码"
</vxe-column>
<vxe-column
title="身份证号码"
width="200"
align="center"
>
<template #default="scope">
{{ scope.row.idCard || '-' }}
</template>
</el-table-column>
<el-table-column
label="手机号码"
</vxe-column>
<vxe-column
title="手机号码"
width="120"
align="center"
>
<template #default="scope">
{{ scope.row.phoneNumber || '-' }}
</template>
</el-table-column>
<el-table-column
label="性别"
</vxe-column>
<vxe-column
title="性别"
width="80"
align="center"
>
<template #default="scope">
{{ scope.row.gender }}
</template>
</el-table-column>
<el-table-column
label="年龄"
</vxe-column>
<vxe-column
title="年龄"
width="80"
align="center"
>
<template #default="scope">
{{ scope.row.age }}
</template>
</el-table-column>
<el-table-column
label="出生年月"
</vxe-column>
<vxe-column
title="出生年月"
width="120"
align="center"
>
<template #default="scope">
{{ scope.row.birthDate }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
</template>
@@ -346,29 +346,29 @@ onUnmounted(() => {
padding: 10px;
}
.el-table {
.vxe-table {
border: 1px solid #dcdfe6;
border-radius: 4px;
}
.el-table th {
.vxe-header--column {
background-color: #f2f6fc;
font-weight: 600;
color: #303133;
border-bottom: 1px solid #e6e8eb;
}
.el-table td {
.vxe-cell {
padding: 10px 0;
font-size: 14px;
border-bottom: 1px solid #ebeef5;
}
.el-table--striped .el-table__body tr:nth-child(2n) {
.vxe-table--striped .vxe-table--body tr:nth-child(2n) {
background-color: #f8f9fa;
}
.el-table__row:hover {
.vxe-body--row:hover {
background-color: #f5f7fa;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
v-loading="loading"
style="display: flex; justify-content: space-between"
@@ -75,58 +75,58 @@
合计金额{{ totalAmounts ? totalAmounts.toFixed(2) : 0 }}
</span>
</div>
<el-table
<vxe-table
ref="chargeListRef"
v-loading="chargeLoading"
height="530"
:data="chargeList"
row-key="id"
:row-config="{ keyField: 'id' }"
:span-method="objectSpanMethod"
border
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
:selectable="checkSelectable"
width="55"
/>
<el-table-column
label="单据号"
<vxe-column
title="单据号"
align="center"
prop="busNo"
field="busNo"
width="180"
/>
<el-table-column
label="收费项目"
<vxe-column
title="收费项目"
align="center"
prop="itemName"
field="itemName"
width="200"
/>
<el-table-column
label="数量"
<vxe-column
title="数量"
align="center"
prop="quantityValue"
field="quantityValue"
width="80"
/>
<el-table-column
label="医疗类型"
<vxe-column
title="医疗类型"
align="center"
prop="medTypeCode_dictText"
field="medTypeCode_dictText"
/>
<el-table-column
label="医保编码"
<vxe-column
title="医保编码"
align="center"
prop="ybNo"
field="ybNo"
/>
<el-table-column
label="费用性质"
<vxe-column
title="费用性质"
align="center"
prop="contractName"
field="contractName"
/>
<el-table-column
label="收费状态"
<vxe-column
title="收费状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
width="150"
>
<template #default="scope">
@@ -158,24 +158,24 @@
{{ scope.row.statusEnum_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="金额"
</vxe-column>
<vxe-column
title="金额"
align="right"
prop="totalPrice"
field="totalPrice"
header-align="center"
>
<template #default="scope">
{{ scope.row.totalPrice.toFixed(2) + ' 元' || '0.00' + ' 元' }}
</template>
</el-table-column>
<el-table-column
label="收款人"
</vxe-column>
<vxe-column
title="收款人"
align="center"
prop="entererId_dictText"
field="entererId_dictText"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
fixed="right"
header-align="center"
@@ -191,8 +191,8 @@
打印
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
</div>
@@ -338,7 +338,7 @@ function fetchChargeList() {
chargeLoading.value = false;
// 默认选中所有未收费的项目
if (chargeListRef.value) {
chargeListRef.value.toggleAllSelection();
chargeListRef.value.toggleAllCheckboxRow();
}
}, 100);
}).catch(() => {
@@ -591,7 +591,7 @@ function printCharge(row) {
background-color: transparent !important;
}
:deep(.el-table__body) tr:hover td.no-hover-column {
:deep(.vxe-table--body) tr:hover td.no-hover-column {
background-color: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-continer">
<el-form
ref="queryRef"
@@ -31,94 +31,94 @@
</el-form-item>
</el-form>
<el-table
<vxe-table
ref="tableRef"
v-loading="loading"
:data="recordList"
border
>
<el-table-column
label="患者姓名"
<vxe-column
title="患者姓名"
align="center"
prop="patientName"
:show-overflow-tooltip="true"
field="patientName"
:show-overflow="true"
/>
<el-table-column
label="支付单号"
<vxe-column
title="支付单号"
align="center"
prop="paymentBusNo"
:show-overflow-tooltip="true"
field="paymentBusNo"
:show-overflow="true"
/>
<el-table-column
label="交易金额(元)"
<vxe-column
title="交易金额(元)"
align="right"
prop="txnAmt"
field="txnAmt"
header-align="center"
width="100"
:show-overflow-tooltip="true"
:show-overflow="true"
/>
<el-table-column
label="交易类型"
<vxe-column
title="交易类型"
align="center"
prop="tranType"
:show-overflow-tooltip="true"
field="tranType"
:show-overflow="true"
/>
<el-table-column
label="支付方式"
<vxe-column
title="支付方式"
align="center"
prop="payType"
:show-overflow-tooltip="true"
field="payType"
:show-overflow="true"
/>
<el-table-column
label="交易时间"
<vxe-column
title="交易时间"
align="center"
prop="txnTime"
:show-overflow-tooltip="true"
field="txnTime"
:show-overflow="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.txnTime) }}</span>
</template>
</el-table-column>
<el-table-column
label="原交易类型"
</vxe-column>
<vxe-column
title="原交易类型"
align="center"
prop="orgTranType"
:show-overflow-tooltip="true"
field="orgTranType"
:show-overflow="true"
/>
<el-table-column
label="原交易类型"
<vxe-column
title="原交易类型"
align="center"
prop="orgTranType"
:show-overflow-tooltip="true"
field="orgTranType"
:show-overflow="true"
/>
<el-table-column
label="第三方优惠说明"
<vxe-column
title="第三方优惠说明"
align="center"
prop="otherMsg"
:show-overflow-tooltip="true"
field="otherMsg"
:show-overflow="true"
/>
<el-table-column
label="错误信息"
<vxe-column
title="错误信息"
align="center"
prop="errMsg"
:show-overflow-tooltip="true"
field="errMsg"
:show-overflow="true"
/>
<el-table-column
label="查询结果"
<vxe-column
title="查询结果"
align="center"
prop="queryResult"
:show-overflow-tooltip="true"
field="queryResult"
:show-overflow="true"
/>
<el-table-column
label="查询结果说明"
<vxe-column
title="查询结果说明"
align="center"
prop="queryResultMsg"
:show-overflow-tooltip="true"
field="queryResultMsg"
:show-overflow="true"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
prop="paymentEnum_enumText"
field="paymentEnum_enumText"
width="340"
>
<template #default="scope">
@@ -155,8 +155,8 @@
退费结果查询
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,75 +1,74 @@
<template>
<template>
<div
ref="tableWrapper"
tabindex="0"
@keyup="handleKeyDown"
>
<el-table
<vxe-table
ref="adviceBaseRef"
height="400"
:data="adviceBaseList"
highlight-current-row
row-key="patientId"
:row-config="{ keyField: 'patientId' }"
@current-change="handleCurrentChange"
@cell-click="clickRow"
@row-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_dictText"
field="activityType_dictText"
/>
<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>
</template>
@@ -252,7 +251,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' });
@@ -282,4 +281,4 @@ defineExpose({
.popover-table-wrapper:focus {
outline: 2px solid #3B82F6; /* 聚焦时的高亮效果 */
}
</style>
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div style="width: 100%">
<div style="margin-bottom: 5px">
<el-button
@@ -33,22 +33,21 @@
删除
</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"
@row-dblclick="clickRowDb"
@cell-dblclick="clickRowDb"
>
<el-table-column
<vxe-column
type="expand"
width="40"
>
<template #default="scope">
<el-form
:ref="'formRef' + scope.$index"
:ref="'formRef' + scope.rowIndex"
:model="scope.row"
:rules="rowRules"
>
@@ -91,7 +90,7 @@
'/' +
item.unitCode_dictText
"
@click="handleNumberClick(item, scope.$index)"
@click="handleNumberClick(item, scope.rowIndex)"
/>
</el-select>
<!-- 库存为空时显示提示 -->
@@ -113,8 +112,8 @@
style="width: 70px"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.rowIndex)"
@input="calculateTotalPrice(scope.row, scope.rowIndex)"
/>
</el-form-item>
<el-select
@@ -122,7 +121,7 @@
v-model="scope.row.unitCode"
style="width: 70px; margin-right: 20px"
placeholder="单位"
@change="calculateTotalAmount(scope.row, scope.$index)"
@change="calculateTotalAmount(scope.row, scope.rowIndex)"
>
<template
v-for="item in scope.row.unitCodeList"
@@ -141,7 +140,7 @@
</div>
<el-button
type="primary"
@click="handleSaveSign(scope.row, scope.$index)"
@click="handleSaveSign(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -169,8 +168,8 @@
style="width: 100px; margin: 0 20px"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.rowIndex)"
@input="calculateTotalPrice(scope.row, scope.rowIndex)"
/>
</el-form-item>
<el-tree-select
@@ -193,7 +192,7 @@
</div>
<el-button
type="primary"
@click="handleSaveSign(scope.row, scope.$index)"
@click="handleSaveSign(scope.row, scope.rowIndex)"
>
保存
</el-button>
@@ -202,11 +201,11 @@
</div>
</el-form>
</template>
</el-table-column>
<el-table-column
label=""
</vxe-column>
<vxe-column
title=""
align="center"
prop="groupId"
field="groupId"
width="60"
>
<template #default="scope">
@@ -215,27 +214,27 @@
:disabled="scope.row.chargeStatus == 5"
placeholder=""
@click.stop=""
@change="changeCheck(scope.row.check,scope.$index,scope.row)"
@change="changeCheck(scope.row.check,scope.rowIndex,scope.row)"
/>
</template>
<!-- (value) => {
if (value) {
groupIndexList.push(scope.$index);
groupIndexList.push(scope.rowIndex);
} else {
groupIndexList.splice(groupIndexList.indexOf(scope.$index), 1);
groupIndexList.splice(groupIndexList.indexOf(scope.rowIndex), 1);
}
} -->
</el-table-column>
<el-table-column
label="项目"
</vxe-column>
<vxe-column
title="项目"
align="center"
prop="productName"
field="productName"
width="400"
>
<template #default="scope">
<template v-if="getRowDisabled(scope.row)">
<el-select
:ref="'adviceTypeRef' + scope.$index"
:ref="'adviceTypeRef' + scope.rowIndex"
v-model="scope.row.adviceTypeValue"
style="width: 35%; margin-right: 20px"
placeholder="选择类型"
@@ -243,7 +242,7 @@
(value) => {
console.log('[类型选择] value:', value);
expandOrder = [];
prescriptionList[scope.$index].adviceName = undefined;
prescriptionList[scope.rowIndex].adviceName = undefined;
// 根据 value 值直接判断
let adviceType, categoryCode, label;
@@ -274,9 +273,9 @@
label = '';
}
prescriptionList[scope.$index].adviceType = adviceType;
prescriptionList[scope.$index].adviceType_dictText = label;
prescriptionList[scope.$index].categoryCode = categoryCode;
prescriptionList[scope.rowIndex].adviceType = adviceType;
prescriptionList[scope.rowIndex].adviceType_dictText = label;
prescriptionList[scope.rowIndex].categoryCode = categoryCode;
adviceQueryParams.adviceType = adviceType;
adviceQueryParams.categoryCode = categoryCode;
console.log('[类型选择] 设置后:', { adviceType, categoryCode });
@@ -284,10 +283,10 @@
"
@clear="
() => {
prescriptionList[scope.$index].adviceName = undefined;
prescriptionList[scope.$index].adviceType = undefined;
prescriptionList[scope.$index].adviceType_dictText = '';
prescriptionList[scope.$index].categoryCode = '';
prescriptionList[scope.rowIndex].adviceName = undefined;
prescriptionList[scope.rowIndex].adviceType = undefined;
prescriptionList[scope.rowIndex].adviceType_dictText = '';
prescriptionList[scope.rowIndex].categoryCode = '';
adviceQueryParams.adviceType = undefined;
adviceQueryParams.categoryCode = '';
}
@@ -315,13 +314,13 @@
/>
<template #reference>
<el-input
:ref="'adviceRef' + scope.$index"
:ref="'adviceRef' + scope.rowIndex"
v-model="scope.row.adviceName"
style="width: 50%"
placeholder="请选择项目"
@input="handleChange"
@click="handleFocus(scope.row, scope.$index)"
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
@click="handleFocus(scope.row, scope.rowIndex)"
@keyup.enter.stop="handleFocus(scope.row, scope.rowIndex)"
@keydown="
(e) => {
if (!scope.row.showPopover) return;
@@ -340,11 +339,11 @@
</template>
<span v-else>{{ scope.row.adviceName }}</span>
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
align="center"
prop=""
field=""
width="90"
>
<template #default="scope">
@@ -367,22 +366,22 @@
待签发
</el-tag>
</template>
</el-table-column>
<el-table-column
label="总量"
</vxe-column>
<vxe-column
title="总量"
align="center"
prop=""
field=""
>
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ formatUnitText(scope.row) }}
</span>
</template>
</el-table-column>
<el-table-column
label="总金额"
</vxe-column>
<vxe-column
title="总金额"
align="right"
prop=""
field=""
header-align="center"
>
<template #default="scope">
@@ -393,11 +392,11 @@
{{ scope.row.totalPrice ? Number(scope.row.totalPrice).toFixed(2) + ' 元' : '-' }}
</span>
</template>
</el-table-column>
<el-table-column
label="药房/科室"
</vxe-column>
<vxe-column
title="药房/科室"
align="center"
prop=""
field=""
width="240"
>
<template #default="scope">
@@ -405,11 +404,11 @@
{{ scope.row.positionName }}
</span>
</template>
</el-table-column>
<el-table-column
label="签发人"
</vxe-column>
<vxe-column
title="签发人"
align="center"
prop=""
field=""
width="240"
>
<template #default="scope">
@@ -417,11 +416,11 @@
{{ scope.row.requesterId_dictText }}
</span>
</template>
</el-table-column>
<el-table-column
label="签发时间"
</vxe-column>
<vxe-column
title="签发时间"
align="center"
prop=""
field=""
width="240"
>
<template #default="scope">
@@ -429,8 +428,8 @@
{{ scope.row.requestTime }}
</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</template>
@@ -1389,7 +1388,7 @@ defineExpose({ getListInfo, closeAllPopovers });
</script>
<style lang="scss" scoped>
:deep(.el-table__expand-icon) {
:deep(.vxe-table--expand-icon) {
display: none !important;
}
.medicine-title {
@@ -1433,7 +1432,7 @@ defineExpose({ getListInfo, closeAllPopovers });
.el-input-number .el-input__inner {
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 @@
<template>
<template>
<div class="app-container">
<el-form
v-show="showSearch"
@@ -205,71 +205,71 @@
/>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="requestList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
align="center"
/>
<el-table-column
label="ID"
<vxe-column
title="ID"
align="center"
prop="id"
field="id"
/>
<el-table-column
label="急"
<vxe-column
title="急"
align="center"
prop="consultationUrgency"
field="consultationUrgency"
:formatter="urgentFormatter"
/>
<el-table-column
label="申请单号"
<vxe-column
title="申请单号"
align="center"
prop="consultationId"
field="consultationId"
/>
<el-table-column
label="会诊时间"
<vxe-column
title="会诊时间"
align="center"
prop="consultationDate"
field="consultationDate"
width="180"
>
<template #default="scope">
<span>{{ parseTime(scope.row.consultationDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column
label="邀请对象"
</vxe-column>
<vxe-column
title="邀请对象"
align="center"
prop="invitedObject"
field="invitedObject"
/>
<el-table-column
label="申请科室"
<vxe-column
title="申请科室"
align="center"
prop="department"
field="department"
/>
<el-table-column
label="申请医师"
<vxe-column
title="申请医师"
align="center"
prop="requestingPhysician"
field="requestingPhysician"
/>
<el-table-column
label="申请时间"
<vxe-column
title="申请时间"
align="center"
prop="consultationRequestDate"
field="consultationRequestDate"
width="180"
>
<template #default="scope">
<span>{{ parseTime(scope.row.consultationRequestDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column
label="提交"
</vxe-column>
<vxe-column
title="提交"
align="center"
prop="consultationStatus"
field="consultationStatus"
>
<template #default="scope">
<el-switch
@@ -281,11 +281,11 @@
@change="handleToggleSubmit(scope.row)"
/>
</template>
</el-table-column>
<el-table-column
label="结束"
</vxe-column>
<vxe-column
title="结束"
align="center"
prop="consultationStatus"
field="consultationStatus"
>
<template #default="scope">
<el-switch
@@ -297,9 +297,9 @@
:disabled="scope.row.consultationStatus !== 30"
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
class-name="small-padding fixed-width"
>
@@ -332,8 +332,8 @@
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total>0"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
title="执行记录"
:model-value="props.open"
@@ -7,34 +7,34 @@
destroy-on-close
@close="close"
>
<el-table
<vxe-table
:data="recordList"
highlight-current-row
max-height="650"
style="width: 100%"
border
>
<el-table-column
prop="recordTime"
label="执行时间"
<vxe-column
field="recordTime"
title="执行时间"
align="center"
/>
<el-table-column
prop="statusEnum_enumText"
label="执行状态"
<vxe-column
field="statusEnum_enumText"
title="执行状态"
align="center"
/>
<el-table-column
prop="orgName"
label="执行科室"
<vxe-column
field="orgName"
title="执行科室"
align="center"
/>
<el-table-column
prop="practitionerName"
label="执行人"
<vxe-column
field="practitionerName"
title="执行人"
align="center"
/>
</el-table>
</vxe-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="close">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row :gutter="20">
<el-col
@@ -57,40 +57,40 @@
:span="24"
:xs="24"
>
<el-table
<vxe-table
:data="patientList"
highlight-current-row
style="width: 100%; height: calc(100vh - 300px)"
border
@row-click="handlePatientSelect"
@cell-click="handlePatientSelect"
>
<el-table-column
prop="encounterNo"
label="就诊号"
<vxe-column
field="encounterNo"
title="就诊号"
align="center"
width="150"
/>
<el-table-column
prop="patientName"
label="姓名"
<vxe-column
field="patientName"
title="姓名"
align="center"
/>
<el-table-column
prop="genderEnum_enumText"
label="性别"
<vxe-column
field="genderEnum_enumText"
title="性别"
align="center"
/>
<el-table-column
prop="age"
label="年龄"
<vxe-column
field="age"
title="年龄"
align="center"
/>
<el-table-column
prop="receptionTime"
label="挂号时间"
<vxe-column
field="receptionTime"
title="挂号时间"
align="center"
/>
</el-table>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -227,7 +227,7 @@
<template #header>
处置项目
</template>
<el-table
<vxe-table
ref="activityListRef"
v-loading="loading"
:data="activityList"
@@ -236,33 +236,33 @@
:span-method="operationSpanMethod"
@select="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
align="center"
width="50"
/>
<el-table-column
label="组"
<vxe-column
title="组"
align="center"
width="40"
prop="groupIcon"
field="groupIcon"
/>
<!-- <el-table-column label="序号" align="center" prop="sortNumber" width="60" /> -->
<el-table-column
<!-- <vxe-column title="序号" align="center" field="sortNumber" width="60" /> -->
<vxe-column
align="center"
prop="busNo"
label="项目编号"
field="busNo"
title="项目编号"
width="150"
/>
<el-table-column
<vxe-column
align="center"
prop="itemName"
label="项目名称"
field="itemName"
title="项目名称"
/>
<el-table-column
<vxe-column
align="center"
prop="serviceStatus_enumText"
label="状态"
field="serviceStatus_enumText"
title="状态"
width="100"
>
<template #default="{ row }">
@@ -277,11 +277,11 @@
}}
</el-tag>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
prop="serviceCategory_dictText"
label="项目类型"
field="serviceCategory_dictText"
title="项目类型"
width="80"
>
<template #default="scope">
@@ -291,11 +291,11 @@
: scope.row.serviceCategory_dictText
}}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
prop="size"
label="数量"
field="size"
title="数量"
width="100"
>
<template #default="scope">
@@ -304,33 +304,33 @@
</span>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
prop="size"
label="规格"
field="size"
title="规格"
width="100"
/>
<el-table-column
<vxe-column
align="center"
prop="executeNum"
label="执行次数"
field="executeNum"
title="执行次数"
width="90"
/>
<el-table-column
<vxe-column
align="center"
label="已执行次数"
title="已执行次数"
width="120"
>
<template #default="scope">
{{ scope.row.performCount - scope.row.cancelCount }}
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="right"
header-align="center"
prop="unitPrice"
label="单价"
field="unitPrice"
title="单价"
width="90"
>
<template #default="scope">
@@ -340,12 +340,12 @@
}}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="right"
header-align="center"
prop="totalPrice"
label="总价"
field="totalPrice"
title="总价"
width="90"
>
<template #default="scope">
@@ -357,10 +357,10 @@
}}
</span>
</template>
</el-table-column>
</vxe-column>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
fixed="right"
@@ -378,40 +378,40 @@
执行记录
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
<el-card class="half-card">
<template #header>
耗材使用
</template>
<el-table
<vxe-table
ref="deviceListRef"
v-loading="loading"
:data="deviceList"
style="width: 100%; height: 100%"
border
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
align="center"
width="50"
/>
<el-table-column
type="index"
label="序号"
<vxe-column
type="seq"
title="序号"
align="center"
width="60"
/>
<el-table-column
prop="itemName"
<vxe-column
field="itemName"
align="center"
label="耗材名称"
title="耗材名称"
/>
<el-table-column
<vxe-column
align="center"
prop="serviceStatus_enumText"
label="状态"
field="serviceStatus_enumText"
title="状态"
>
<template #default="{ row }">
<el-tag
@@ -421,46 +421,46 @@
{{ row.dispenseStatus_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="size"
</vxe-column>
<vxe-column
field="size"
align="center"
label="规格"
title="规格"
/>
<el-table-column
prop="quantity"
<vxe-column
field="quantity"
align="center"
label="使用数量"
title="使用数量"
>
<template #default="scope">
<span>{{ scope.row.quantity + ' ' + scope.row.unitCode_dictText }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
header-align="center"
prop="unitPrice"
label="单价"
field="unitPrice"
title="单价"
>
<template #default="{ row }">
<span>
{{ row.unitPrice ? row.unitPrice.toFixed(2) : '0.00' + ' 元' }}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
align="center"
header-align="center"
prop="totalPrice"
label="总价"
field="totalPrice"
title="总价"
>
<template #default="{ row }">
<span>
{{ row.totalPrice ? row.totalPrice.toFixed(2) : '0.00' + ' 元' }}
</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</el-card>
</div>
</el-col>
@@ -1177,7 +1177,7 @@ function handleSelectionChange(selection, row) {
return item.groupId && item.groupId == row?.groupId;
})
.forEach((item) => {
activityListRef.value.toggleRowSelection(item, isSelected);
activityListRef.value.toggleCheckboxRow(item, isSelected);
});
}
@@ -1362,7 +1362,7 @@ function getRecord(row) {
background-color: transparent !important;
}
:deep(.el-table__body) tr:hover td.no-hover-column {
:deep(.vxe-table--body) tr:hover td.no-hover-column {
background-color: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<!-- 添加或修改用户配置对话框 -->
<el-dialog
@@ -8,178 +8,178 @@
append-to-body
>
<div style="width: 100%">
<el-table
<vxe-table
max-height="650"
:data="ePrescribingDetailList"
border
>
<el-table-column
label="处方号"
<vxe-column
title="处方号"
align="center"
prop="prescriptionNo"
field="prescriptionNo"
sortable
width="100"
/>
<el-table-column
label="门诊号"
<vxe-column
title="门诊号"
align="center"
prop="iptOtpNo"
field="iptOtpNo"
/>
<el-table-column
label="患者姓名"
<vxe-column
title="患者姓名"
align="center"
prop="patnName"
field="patnName"
/>
<el-table-column
label="身份证号"
<vxe-column
title="身份证号"
align="center"
prop="certno"
field="certno"
/>
<el-table-column
label="诊断名"
<vxe-column
title="诊断名"
align="center"
prop="conditionName"
field="conditionName"
/>
<el-table-column
label="慢性诊断名"
<vxe-column
title="慢性诊断名"
align="center"
prop="specialConditionName"
field="specialConditionName"
width="180"
/>
<el-table-column
label="请求数量"
<vxe-column
title="请求数量"
align="center"
prop="quantity"
field="quantity"
/>
<el-table-column
label="请求单位"
<vxe-column
title="请求单位"
align="center"
prop="unitCode"
field="unitCode"
/>
<el-table-column
label="审核状态"
<vxe-column
title="审核状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
/>
<el-table-column
label="药品名"
<vxe-column
title="药品名"
align="center"
prop="medicationName"
field="medicationName"
/>
<el-table-column
label="药品规格"
<vxe-column
title="药品规格"
align="center"
prop="drugSpecification"
field="drugSpecification"
/>
<el-table-column
label="药品剂量"
<vxe-column
title="药品剂量"
align="center"
prop="medDosage"
field="medDosage"
/>
<el-table-column
label="药品剂量单位"
<vxe-column
title="药品剂量单位"
align="center"
prop="medDosageUnitCode"
field="medDosageUnitCode"
/>
<el-table-column
label="使用频次"
<vxe-column
title="使用频次"
align="center"
prop="medFrequency_dictText"
field="medFrequency_dictText"
/>
<el-table-column
label="途径"
<vxe-column
title="途径"
align="center"
prop="medRoute_dictText"
field="medRoute_dictText"
/>
<el-table-column
label="取药状态"
<vxe-column
title="取药状态"
align="center"
prop="medStatus"
field="medStatus"
/>
<el-table-column
label="处方状态"
<vxe-column
title="处方状态"
align="center"
prop="prescriptionStatus"
field="prescriptionStatus"
/>
<el-table-column
label="处方类别"
<vxe-column
title="处方类别"
align="center"
prop="rxTypeCode_enumText"
field="rxTypeCode_enumText"
/>
<el-table-column
label="支持用药信息"
<vxe-column
title="支持用药信息"
align="center"
prop="supportInfo"
field="supportInfo"
/>
<el-table-column
label="服药时间(开始)"
<vxe-column
title="服药时间(开始)"
align="center"
prop="effectiveDoseStart"
field="effectiveDoseStart"
>
<template #default="scope">
{{ formatDate(scope.row.effectiveDoseStart) }}
</template>
</el-table-column>
<el-table-column
label="服药时间(结束)"
</vxe-column>
<vxe-column
title="服药时间(结束)"
align="center"
prop="effectiveDoseEnd"
field="effectiveDoseEnd"
>
<template #default="scope">
{{ formatDate(scope.row.effectiveDoseEnd) }}
</template>
</el-table-column>
<el-table-column
label="给药间隔"
</vxe-column>
<vxe-column
title="给药间隔"
align="center"
prop="dispenseInterval"
field="dispenseInterval"
/>
<el-table-column
label="单次发药数"
<vxe-column
title="单次发药数"
align="center"
prop="dispensePerQuantity"
field="dispensePerQuantity"
/>
<el-table-column
label="每次发药供应天数"
<vxe-column
title="每次发药供应天数"
align="center"
prop="dispensePerDuration"
field="dispensePerDuration"
/>
<el-table-column
label="开方医生名"
<vxe-column
title="开方医生名"
align="center"
prop="practitionerName"
field="practitionerName"
/>
<el-table-column
label="挂号科室"
<vxe-column
title="挂号科室"
align="center"
prop="mdtrtDeptName"
field="mdtrtDeptName"
/>
<el-table-column
label="开单科室"
<vxe-column
title="开单科室"
align="center"
prop="prscDeptName"
field="prscDeptName"
/>
<el-table-column
label="挂号日期"
<vxe-column
title="挂号日期"
align="center"
prop="mdtrtTime"
field="mdtrtTime"
>
<template #default="scope">
{{ formatDate(scope.row.mdtrtTime) }}
</template>
</el-table-column>
<el-table-column
label="处方开立日期"
</vxe-column>
<vxe-column
title="处方开立日期"
align="center"
prop="prscTime"
field="prscTime"
>
<template #default="scope">
{{ formatDate(scope.row.prscTime) }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- <pagination
v-show="total > 0"
:total="total"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<!-- 添加或修改用户配置对话框 -->
<el-dialog
@@ -127,73 +127,73 @@
</el-col>
</el-row>
</el-form>
<el-table
<vxe-table
max-height="650"
:data="medicinePickupQueryList"
border
>
<el-table-column
label="医疗目录编码"
<vxe-column
title="医疗目录编码"
align="center"
prop="medListCodg"
field="medListCodg"
width="200"
sortable
/>
<el-table-column
label="药品通用名"
<vxe-column
title="药品通用名"
align="center"
prop="drugGenname"
field="drugGenname"
width="90"
/>
<el-table-column
label="药品商品名"
<vxe-column
title="药品商品名"
align="center"
prop="drugProdname"
field="drugProdname"
width="60"
/>
<el-table-column
label="药品剂型"
<vxe-column
title="药品剂型"
align="center"
prop="drugDosform"
field="drugDosform"
/>
<el-table-column
label="药品规格"
<vxe-column
title="药品规格"
align="center"
prop="drugSpec"
field="drugSpec"
width="130"
/>
<el-table-column
label="数量"
<vxe-column
title="数量"
align="center"
prop="cnt"
field="cnt"
width="80"
/>
<el-table-column
label="批准文号"
<vxe-column
title="批准文号"
align="center"
prop="aprvno"
field="aprvno"
/>
<el-table-column
label="批次号"
<vxe-column
title="批次号"
align="center"
prop="bchno"
field="bchno"
/>
<el-table-column
label="生产批号"
<vxe-column
title="生产批号"
align="center"
prop="manuLotnum"
field="manuLotnum"
/>
<el-table-column
label="生产厂家"
<vxe-column
title="生产厂家"
align="center"
prop="prdrName"
field="prdrName"
/>
<el-table-column
label="是否取药"
<vxe-column
title="是否取药"
align="center"
prop="takeDrugFlag"
field="takeDrugFlag"
/>
</el-table>
</vxe-table>
<!-- <pagination
v-show="total > 0"
:total="total"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<div style="width: 100%">
<div style="margin-bottom: 5px">
@@ -52,7 +52,7 @@
<el-button type="default" @click="combination()" :disabled="false"> 处方查询 </el-button>
<el-button type="danger" @click="split()" :disabled="false"> 处方撤销 </el-button>
</div> -->
<el-table
<vxe-table
ref="eprescriptionRef"
v-loading="loading"
max-height="650"
@@ -60,70 +60,70 @@
border
:element-loading-text="'处理中...'"
>
<el-table-column
label="处方号"
<vxe-column
title="处方号"
align="center"
prop="prescriptionNo"
field="prescriptionNo"
sortable
width="190"
/>
<el-table-column
label="门诊号"
<vxe-column
title="门诊号"
align="center"
prop="iptOtpNo"
field="iptOtpNo"
width="110"
/>
<el-table-column
label="姓名"
<vxe-column
title="姓名"
align="center"
prop="patientName"
field="patientName"
width="100"
/>
<el-table-column
label="身份证号"
<vxe-column
title="身份证号"
align="center"
prop="certno"
field="certno"
width="180"
/>
<el-table-column
label="取药状态"
<vxe-column
title="取药状态"
align="center"
prop="medStatus"
field="medStatus"
width="130"
/>
<el-table-column
label="状态"
<vxe-column
title="状态"
align="center"
prop="statusEnum_enumText"
field="statusEnum_enumText"
width="80"
/>
<el-table-column
label="科室"
<vxe-column
title="科室"
align="center"
prop="prscDeptName"
field="prscDeptName"
/>
<el-table-column
label="挂号日期"
<vxe-column
title="挂号日期"
align="center"
prop="mdtrtTime"
field="mdtrtTime"
width="190"
>
<template #default="scope">
{{ formatDate(scope.row.mdtrtTime) }}
</template>
</el-table-column>
<el-table-column
label="处方开立日期"
</vxe-column>
<vxe-column
title="处方开立日期"
align="center"
prop="prscTime"
field="prscTime"
width="190"
>
<template #default="scope">
{{ formatDate(scope.row.prscTime) }}
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
align="center"
width="600"
class-name="small-padding fixed-width"
@@ -184,8 +184,8 @@
取药查询
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -500,7 +500,7 @@ function cancel() {
</script>
<style lang="scss" scoped>
:deep(.el-table__expand-icon) {
:deep(.vxe-table--expand-icon) {
display: none !important;
}
.medicine-title {
@@ -544,7 +544,7 @@ function cancel() {
.el-input-number .el-input__inner {
text-align: center;
}
.el-table__cell .el-form-item--default {
.vxe-cell .el-form-item--default {
margin-bottom: 0px;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-row
:gutter="10"
@@ -38,92 +38,92 @@
</el-col> -->
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="purchaseinventoryList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<!-- <el-table-column label="组" align="center" width="60">
<!-- <vxe-column title="组" align="center" width="60">
<template #default="scope">
<div v-if="groupMarkers[scope.$index] === '┏'"></div>
<div v-if="groupMarkers[scope.$index] === '┗'"></div>
<div v-if="groupMarkers[scope.$index] === '┃'"></div>
<div v-if="groupMarkers[scope.rowIndex] === '┏'"></div>
<div v-if="groupMarkers[scope.rowIndex] === '┗'"></div>
<div v-if="groupMarkers[scope.rowIndex] === '┃'"></div>
</template>
</el-table-column> -->
<el-table-column
</vxe-column> -->
<vxe-column
key="prescriptionNo"
label="处方号"
title="处方号"
align="center"
prop="prescriptionNo"
:show-overflow-tooltip="true"
field="prescriptionNo"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="requesterId_dictText"
label="请求人"
title="请求人"
align="center"
prop="requesterId_dictText"
:show-overflow-tooltip="true"
field="requesterId_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="requestTime"
label="请求时间"
title="请求时间"
align="center"
prop="requestTime"
:show-overflow-tooltip="true"
field="requestTime"
:show-overflow="true"
width="160px"
>
<template #default="scope">
<span>{{ parseTime(scope.row.requestTime) }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="adviceName"
label="医嘱名称"
title="医嘱名称"
align="center"
prop="adviceName"
:show-overflow-tooltip="true"
field="adviceName"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="volume"
label="规格"
title="规格"
align="center"
prop="volume"
:show-overflow-tooltip="true"
field="volume"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="lotNumber"
label="产品批号"
title="产品批号"
align="center"
prop="lotNumber"
:show-overflow-tooltip="true"
field="lotNumber"
:show-overflow="true"
/>
<el-table-column
label="请求数量"
<vxe-column
title="请求数量"
align="center"
prop=""
field=""
>
<template #default="scope">
<span>
{{ scope.row.quantity ? scope.row.quantity + ' ' + scope.row.unitCode_dictText : '' }}
</span>
</template>
</el-table-column>
<!-- <el-table-column
label="请求单位"
</vxe-column>
<!-- <vxe-column
title="请求单位"
align="center"
key="unitCode_dictText"
prop="unitCode_dictText"
:show-overflow-tooltip="true"
field="unitCode_dictText"
:show-overflow="true"
/> -->
<el-table-column
label="请求状态"
<vxe-column
title="请求状态"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
@@ -146,36 +146,36 @@
待签发
</el-tag>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="methodCode_dictText"
label="用法"
title="用法"
align="center"
prop="methodCode_dictText"
:show-overflow-tooltip="true"
field="methodCode_dictText"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="rateCode_dictText"
label="使用频次"
title="使用频次"
align="center"
prop="rateCode_dictText"
:show-overflow-tooltip="true"
field="rateCode_dictText"
:show-overflow="true"
/>
<el-table-column
label="单次剂量"
<vxe-column
title="单次剂量"
align="center"
prop=""
field=""
>
<template #default="scope">
<span>
{{ scope.row.dose ? scope.row.dose + ' ' + scope.row.doseUnitCode_dictText : '' }}
</span>
</template>
</el-table-column>
<el-table-column
label="总价"
</vxe-column>
<vxe-column
title="总价"
align="center"
prop=""
field=""
header-align="center"
width="99"
>
@@ -184,18 +184,18 @@
{{ scope.row.totalPrice ? Number(scope.row.totalPrice).toFixed(2) + ' 元' : '-' }}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="chargeStatus_enumText"
label="收费状态"
title="收费状态"
align="center"
prop="chargeStatus_enumText"
:show-overflow-tooltip="true"
field="chargeStatus_enumText"
:show-overflow="true"
/>
<el-table-column
label="收费状态"
<vxe-column
title="收费状态"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
@@ -218,11 +218,11 @@
{{ scope.row.chargeStatus_enumText }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="发药药房/耗材房/执行科室"
</vxe-column>
<vxe-column
title="发药药房/耗材房/执行科室"
align="center"
prop=""
field=""
width="179"
>
<template #default="scope">
@@ -230,22 +230,22 @@
{{ scope.row.positionName }}
</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="dispensePerDuration"
label="用药天数"
title="用药天数"
align="center"
prop="dispensePerDuration"
:show-overflow-tooltip="true"
field="dispensePerDuration"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="conditionDefinitionName"
label="诊断定义名称"
title="诊断定义名称"
align="center"
prop="conditionDefinitionName"
:show-overflow-tooltip="true"
field="conditionDefinitionName"
:show-overflow="true"
/>
</el-table>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div
v-if="typeDetail == '1'"
v-loading="loadingcontainer"
@@ -52,58 +52,58 @@
</el-col>
</el-row>
<el-table
<vxe-table
v-loading="loading"
:data="purchaseinventoryList"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="50"
align="center"
/>
<el-table-column
<vxe-column
key="prescriptionNo"
label="处方号"
title="处方号"
align="center"
prop="prescriptionNo"
:show-overflow-tooltip="true"
field="prescriptionNo"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="patientName"
label="患者"
title="患者"
align="center"
prop="patientName"
:show-overflow-tooltip="true"
field="patientName"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="conditionDefinitionName"
label="疾病诊断"
title="疾病诊断"
align="center"
prop="conditionDefinitionName"
:show-overflow-tooltip="true"
field="conditionDefinitionName"
:show-overflow="true"
/>
<el-table-column
<vxe-column
key="requestTime"
label="修改时间"
title="修改时间"
align="center"
prop="requestTime"
:show-overflow-tooltip="true"
field="requestTime"
:show-overflow="true"
>
<template #default="scope">
<span>{{ parseTime(scope.row.requestTime) }}</span>
</template>
</el-table-column>
<el-table-column
</vxe-column>
<vxe-column
key="practitionerName"
label="开方医生"
title="开方医生"
align="center"
prop="practitionerName"
:show-overflow-tooltip="true"
field="practitionerName"
:show-overflow="true"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
fixed="right"
class-name="small-padding fixed-width"
@@ -118,8 +118,8 @@
查看
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-continer">
<div style="margin: 15px 0; padding: 0 20px">
<el-form
@@ -59,75 +59,75 @@
</div>
</el-form>
</div>
<el-table
<vxe-table
:data="clinicRecord"
show-summary
border
>
<!-- <el-table-column label="计算类型" align="center" prop="statusEnum_enumText" /> -->
<el-table-column
label="序号"
<!-- <vxe-column title="计算类型" align="center" field="statusEnum_enumText" /> -->
<vxe-column
title="序号"
width="80"
type="index"
type="seq"
align="center"
>
<template #default="scope">
<span>{{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
<span>{{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.rowIndex + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="科室"
</vxe-column>
<vxe-column
title="科室"
align="center"
prop="orgName"
:show-overflow-tooltip="true"
field="orgName"
:show-overflow="true"
/>
<el-table-column
label="人次"
<vxe-column
title="人次"
align="center"
prop="personCnt"
:show-overflow-tooltip="true"
field="personCnt"
:show-overflow="true"
/>
<el-table-column
label="应收金额"
<vxe-column
title="应收金额"
align="center"
prop="amount"
:show-overflow-tooltip="true"
field="amount"
:show-overflow="true"
/>
<el-table-column
label="实收金额"
<vxe-column
title="实收金额"
align="center"
prop="receivedAmount"
field="receivedAmount"
width="280"
:show-overflow-tooltip="true"
:show-overflow="true"
/>
<el-table-column
label="挂号费"
<vxe-column
title="挂号费"
align="center"
prop="registrationFee"
:show-overflow-tooltip="true"
field="registrationFee"
:show-overflow="true"
/>
<el-table-column
label="处置费"
<vxe-column
title="处置费"
align="center"
prop="serviceFee"
:show-overflow-tooltip="true"
field="serviceFee"
:show-overflow="true"
/>
<el-table-column
label="药品费"
<vxe-column
title="药品费"
align="center"
prop="medFee"
:show-overflow-tooltip="true"
field="medFee"
:show-overflow="true"
/>
<!-- <el-table-column label="优惠金额" align="center" prop="entererName" :show-overflow-tooltip="true"/> -->
<!-- <el-table-column label="日结" align="center" prop="outcomeEnum_dictText" :show-overflow-tooltip="true"/> -->
<!-- <el-table-column label="月累计" align="center" prop="printCount" :show-overflow-tooltip="true"/> -->
<el-table-column
label="备注"
<!-- <vxe-column title="优惠金额" align="center" field="entererName" :show-overflow="true"/> -->
<!-- <vxe-column title="日结" align="center" field="outcomeEnum_dictText" :show-overflow="true"/> -->
<!-- <vxe-column title="月累计" align="center" field="printCount" :show-overflow="true"/> -->
<vxe-column
title="备注"
align="center"
prop="printCount"
:show-overflow-tooltip="true"
field="printCount"
:show-overflow="true"
/>
</el-table>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
v-model="props.open"
title="医嘱列表"
@@ -24,29 +24,29 @@
</el-input>
</el-col>
</el-row> -->
<el-table
<vxe-table
ref="refundListRef"
v-loading="tableLoading"
:data="props.adviceList"
row-key="paymentId"
:row-config="{ keyField: 'paymentId' }"
row-class-name="parent-row"
border
max-height="600"
>
<el-table-column
type="index"
<vxe-column
type="seq"
align="center"
/>
<el-table-column
label="医嘱"
<vxe-column
title="医嘱"
align="center"
prop="adviceName"
field="adviceName"
width="200"
/>
<el-table-column
label="状态"
<vxe-column
title="状态"
align="center"
prop=""
field=""
width="90"
>
<template #default="scope">
@@ -69,29 +69,29 @@
待签发
</el-tag>
</template>
</el-table-column>
<el-table-column
label="单次剂量"
</vxe-column>
<vxe-column
title="单次剂量"
align="center"
prop=""
field=""
>
<template #default="scope">
{{ scope.row.dose ? scope.row.dose + ' ' + scope.row.doseUnitCode_dictText : '' }}
</template>
</el-table-column>
<el-table-column
label="总量"
</vxe-column>
<vxe-column
title="总量"
align="center"
prop=""
field=""
>
<template #default="scope">
{{ scope.row.quantity ? scope.row.quantity + ' ' + scope.row.unitCode_dictText : '' }}
</template>
</el-table-column>
<el-table-column
label="总金额"
</vxe-column>
<vxe-column
title="总金额"
align="right"
prop=""
field=""
header-align="center"
width="100"
>
@@ -100,21 +100,21 @@
{{ scope.row.totalPrice ? Number(scope.row.totalPrice).toFixed(2) + ' 元' : '-' }}
</span>
</template>
</el-table-column>
<el-table-column
label="药房/科室"
</vxe-column>
<vxe-column
title="药房/科室"
align="center"
prop=""
field=""
width="180"
>
<template #default="scope">
{{ scope.row.positionName }}
</template>
</el-table-column>
<el-table-column
label="频次/用法"
</vxe-column>
<vxe-column
title="频次/用法"
align="center"
prop=""
field=""
width="180"
>
<template #default="scope">
@@ -131,38 +131,38 @@
}}
</span>
</template>
</el-table-column>
<el-table-column
label="注射药品"
</vxe-column>
<vxe-column
title="注射药品"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
{{ scope.row.injectFlag_enumText || '-' }}
</template>
</el-table-column>
<el-table-column
label="皮试"
</vxe-column>
<vxe-column
title="皮试"
align="center"
prop=""
field=""
width="80"
>
<template #default="scope">
{{ scope.row.skinTestFlag_enumText || '-' }}
</template>
</el-table-column>
<el-table-column
label="诊断"
</vxe-column>
<vxe-column
title="诊断"
align="center"
prop="diagnosisName"
field="diagnosisName"
width="150"
>
<template #default="scope">
{{ scope.row.diagnosisName || scope.row.conditionDefinitionName }}
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<template #footer>
<div class="dialog-footer">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<div class="left">
<el-form
@@ -65,35 +65,35 @@
</div>
</el-form>
<el-table
<vxe-table
:data="patientList"
border
style="width: 100%; height: 73%"
highlight-current-row
@row-click="handleCurrentChange"
@cell-click="handleCurrentChange"
>
<el-table-column
prop="encounterBusNo"
label="就诊号"
<vxe-column
field="encounterBusNo"
title="就诊号"
width="120px"
/>
<el-table-column
prop="patientName"
label="姓名"
<vxe-column
field="patientName"
title="姓名"
/>
<el-table-column
prop="genderEnum_enumText"
label="性别"
<vxe-column
field="genderEnum_enumText"
title="性别"
/>
<el-table-column
prop="ageString"
label="年龄"
<vxe-column
field="ageString"
title="年龄"
/>
<el-table-column
prop="serviceStatus_enumText"
label="执行状态"
<vxe-column
field="serviceStatus_enumText"
title="执行状态"
/>
</el-table>
</vxe-table>
<pagination
v-show="total > 0"
v-model:page="queryParams.pageNo"
@@ -144,62 +144,62 @@
<p style="margin: 0px 0px 10px 0px">
院注医嘱
</p>
<el-table
<vxe-table
ref="tableRef"
:data="infusionList"
highlight-current-row
border
style="width: 100%; height: 300px"
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
@checkbox-change="handleSelectionChange"
@cell-click="handleRowClick"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
align="center"
/>
<el-table-column
label="组"
<vxe-column
title="组"
width="50"
>
<template #default="scope">
<span>{{ markers[scope.$index] }}</span>
<span>{{ markers[scope.rowIndex] }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="groupId" label="组" width="60" /> -->
<el-table-column
prop="busNo"
label="编码"
</vxe-column>
<!-- <vxe-column field="groupId" title="组" width="60" /> -->
<vxe-column
field="busNo"
title="编码"
align="center"
/>
<el-table-column
prop="serviceName"
label="项目"
<vxe-column
field="serviceName"
title="项目"
align="center"
/>
<el-table-column
prop="executeNum"
label="总执行次数"
<vxe-column
field="executeNum"
title="总执行次数"
align="center"
/>
<el-table-column
prop="performCount"
label="已执行次数"
<vxe-column
field="performCount"
title="已执行次数"
align="center"
/>
<el-table-column
prop="practitionerName"
label="开单医生"
<vxe-column
field="practitionerName"
title="开单医生"
align="center"
/>
<el-table-column
prop="medicationName"
label="药品信息"
<vxe-column
field="medicationName"
title="药品信息"
align="center"
/>
<el-table-column
prop="dose"
label="药品数量"
<vxe-column
field="dose"
title="药品数量"
align="center"
>
<template #default="scope">
@@ -211,33 +211,33 @@
}}
</span>
</template>
</el-table-column>
<!-- <el-table-column prop="speed" label="输液速度" width="80" /> -->
<el-table-column
prop="dispenseStatus_enumText"
label="药品状态"
</vxe-column>
<!-- <vxe-column field="speed" title="输液速度" width="80" /> -->
<vxe-column
field="dispenseStatus_enumText"
title="药品状态"
align="center"
/>
<el-table-column
prop="skinTestFlag_enumText"
label="皮试标志"
<vxe-column
field="skinTestFlag_enumText"
title="皮试标志"
align="center"
/>
<!-- <el-table-column prop="clinicalStatusEnum_enumText" label="皮试结果" width="70" /> -->
</el-table>
<!-- <vxe-column field="clinicalStatusEnum_enumText" title="皮试结果" width="70" /> -->
</vxe-table>
</div>
<div>
<p style="margin: 13px 0px 10px 0px">
院注执行历史
</p>
<el-table
<vxe-table
:data="historyRecordsList"
border
style="width: 100%; height: 300px"
>
<el-table-column
prop="occurrenceEndTime"
label="执行时间"
<vxe-column
field="occurrenceEndTime"
title="执行时间"
align="center"
width="260"
>
@@ -257,29 +257,29 @@
@change="(value) => handleOccurrenceTimeChange(value, scope.row)"
/>
</template>
</el-table-column>
<el-table-column
prop="performerName"
label="执行人"
</vxe-column>
<vxe-column
field="performerName"
title="执行人"
align="center"
/>
<el-table-column
prop="serviceStatus_enumText"
label="执行状态"
<vxe-column
field="serviceStatus_enumText"
title="执行状态"
align="center"
/>
<el-table-column
prop="serviceName"
label="项目"
<vxe-column
field="serviceName"
title="项目"
align="center"
/>
<el-table-column
prop="orgName"
label="执行科室"
<vxe-column
field="orgName"
title="执行科室"
align="center"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="90"
fixed="right"
@@ -295,8 +295,8 @@
撤销
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</div>
<AdviceListDialog
@@ -595,7 +595,7 @@ function handleSelectionChange(selection) {
// // 动态更新表格行的选中状态
// infusionList.value.forEach((row) => {
// const isSelected = selectedGroupIds.value.has(row.groupId);
// tableRef.value.toggleRowSelection(row, isSelected);
// tableRef.value.toggleCheckboxRow(row, isSelected);
// });
}
function clearSelections() {
@@ -683,7 +683,7 @@ getList();
width: 70%;
}
:deep(.el-table tbody tr:hover > td) {
:deep(.vxe-table tbody tr:hover > td) {
background-color: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="container">
<!-- 左侧患者列表 -->
<el-card class="patient-list">
@@ -52,7 +52,7 @@
搜索
</el-button>
</div>
<el-table
<vxe-table
:data="encounterList"
border
style="width: 100%"
@@ -60,33 +60,33 @@
highlight-current-row
@cell-click="handleGetReturnDrugList"
>
<el-table-column
prop="patientName"
<vxe-column
field="patientName"
align="center"
label="姓名"
title="姓名"
width="130"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="genderEnum_enumText"
<vxe-column
field="genderEnum_enumText"
align="center"
label="性别"
show-overflow-tooltip
title="性别"
show-overflow
/>
<el-table-column
<vxe-column
align="center"
width="140"
label="就诊日期"
show-overflow-tooltip
title="就诊日期"
show-overflow
>
<template #default="scope">
{{
scope.row.receptionTime ? formatDateStr(scope.row.receptionTime, 'YYYY-MM-DD') : '-'
}}
</template>
</el-table-column>
<!-- <el-table-column label="状态" align="center" prop="refundEnum_enumText" /> -->
</el-table>
</vxe-column>
<!-- <vxe-column title="状态" align="center" field="refundEnum_enumText" /> -->
</vxe-table>
</el-card>
<!-- 右侧退药列表 -->
@@ -116,7 +116,7 @@
>
扫码
</el-button>
<el-table
<vxe-table
ref="returnDrugRef"
:data="returDrugList"
style="width: 100%"
@@ -125,22 +125,22 @@
:span-method="handelSpanMethod"
class="no-hover-table"
@select="handleSelection"
@selection-change="handelSelectRows"
@checkbox-change="handelSelectRows"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
align="center"
/>
<el-table-column
prop="itemName"
label="药品名称"
show-overflow-tooltip
<vxe-column
field="itemName"
title="药品名称"
show-overflow
align="center"
/>
<el-table-column
prop="totalPrice"
label="总价"
<vxe-column
field="totalPrice"
title="总价"
width="100"
align="right"
header-align="center"
@@ -148,16 +148,16 @@
<template #default="scope">
{{ scope.row.totalPrice ? scope.row.totalPrice.toFixed(2) + ' 元' : '-' }}
</template>
</el-table-column>
<el-table-column
prop="lotNumber"
label="批号"
</vxe-column>
<vxe-column
field="lotNumber"
title="批号"
width="180"
align="center"
/>
<el-table-column
prop="traceNo"
label="追溯码"
<vxe-column
field="traceNo"
title="追溯码"
width="180"
align="center"
>
@@ -167,20 +167,20 @@
placeholder="请输入追溯码"
/>
</template>
</el-table-column>
<el-table-column
prop="reqStatus_enumText"
label="退药状态"
</vxe-column>
<vxe-column
field="reqStatus_enumText"
title="退药状态"
width="100"
align="center"
>
<template #default="scope">
{{ scope.row.refundEnum_enumText }}
</template>
</el-table-column>
<el-table-column
prop="waitingQuantity"
label="退药数量"
</vxe-column>
<vxe-column
field="waitingQuantity"
title="退药数量"
width="100"
align="center"
>
@@ -191,15 +191,15 @@
: '0' + ' ' + scope.row.unitCode_dictText
}}</span>
</template>
</el-table-column>
<el-table-column
prop="doctorName"
label="开单医生"
</vxe-column>
<vxe-column
field="doctorName"
title="开单医生"
align="center"
width="180"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
width="100"
align="center"
fixed="right"
@@ -223,8 +223,8 @@
</template>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 底部操作栏 -->
<div class="footer">
@@ -396,7 +396,7 @@ function handleSelection(selection, row) {
return item.requestId == row.requestId;
})
.forEach((row) => {
proxy.$refs['returnDrugRef'].toggleRowSelection(row, isSelected);
proxy.$refs['returnDrugRef'].toggleCheckboxRow(row, isSelected);
});
nextTick(() => {
selectedMedicines.value = proxy.$refs['returnDrugRef'].getSelectionRows();
@@ -536,7 +536,7 @@ function handelSpanMethod({ row, column, rowIndex, columnIndex }) {
resize: none !important;
}
:deep(.no-hover-table) .el-table__body tr:hover > td {
:deep(.no-hover-table) .vxe-table--body tr:hover > td {
background: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<!-- 左侧患者信息列表 -->
<div class="left">
@@ -91,18 +91,18 @@
</div>
</div>
<div class="table-container">
<el-table
<vxe-table
v-loading="loading"
:data="skinRecordList"
border
>
<el-table-column
prop="medicationName"
label="药品名称"
<vxe-column
field="medicationName"
title="药品名称"
width="180"
/>
<el-table-column
label="批号"
<vxe-column
title="批号"
width="160"
>
<template #default="scope">
@@ -122,14 +122,14 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="verificationStatusEnum_enumText"
label="皮试状态"
</vxe-column>
<vxe-column
field="verificationStatusEnum_enumText"
title="皮试状态"
width="80"
/>
<el-table-column
label="皮试结果"
<vxe-column
title="皮试结果"
width="120"
>
<template #default="scope">
@@ -155,9 +155,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="执行护士"
</vxe-column>
<vxe-column
title="执行护士"
width="130"
>
<template #default="scope">
@@ -177,9 +177,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="核对护士"
</vxe-column>
<vxe-column
title="核对护士"
width="130"
>
<template #default="scope">
@@ -201,9 +201,9 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column
label="执行时间"
</vxe-column>
<vxe-column
title="执行时间"
width="180"
>
<template #default="scope">
@@ -219,18 +219,18 @@
placeholder="选择执行时间"
/>
</template>
</el-table-column>
<el-table-column
prop="doctorId_dictText"
label="开立医生"
</vxe-column>
<vxe-column
field="doctorId_dictText"
title="开立医生"
width="180"
/>
<el-table-column
prop="note"
label="备注"
<vxe-column
field="note"
title="备注"
/>
<el-table-column
label="操作"
<vxe-column
title="操作"
align="center"
width="150"
fixed="right"
@@ -279,8 +279,8 @@
</el-button>
</template>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<el-empty
v-if="!currentPatient"
@@ -683,7 +683,7 @@ getNurseListData();
color: #EF4444;
}
:deep(.el-table tbody tr:hover > td) {
:deep(.vxe-table tbody tr:hover > td) {
background-color: inherit !important;
}
</style>

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="consultation-application-container">
<!-- 页面标题 -->
<div class="page-header">
@@ -154,7 +154,7 @@
<!-- 数据表格 -->
<div class="table-section">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -163,15 +163,15 @@
height="400"
@current-change="handleRowChange"
>
<el-table-column
prop="consultationId"
label="ID"
<vxe-column
field="consultationId"
title="ID"
min-width="150"
align="center"
show-overflow-tooltip
show-overflow
/>
<el-table-column
label="急"
<vxe-column
title="急"
width="60"
align="center"
>
@@ -181,48 +181,48 @@
disabled
/>
</template>
</el-table-column>
<el-table-column
prop="patientName"
label="病人姓名"
</vxe-column>
<vxe-column
field="patientName"
title="病人姓名"
min-width="100"
/>
<el-table-column
prop="consultationDate"
label="会诊时间"
<vxe-column
field="consultationDate"
title="会诊时间"
min-width="160"
>
<template #default="scope">
{{ formatDate(scope.row.consultationDate) }}
</template>
</el-table-column>
<el-table-column
prop="department"
label="申请科室"
</vxe-column>
<vxe-column
field="department"
title="申请科室"
min-width="120"
/>
<el-table-column
prop="invitedObject"
label="邀请对象"
<vxe-column
field="invitedObject"
title="邀请对象"
min-width="150"
show-overflow-tooltip
show-overflow
/>
<el-table-column
prop="consultationRequestDate"
label="申请时间"
<vxe-column
field="consultationRequestDate"
title="申请时间"
min-width="160"
>
<template #default="scope">
{{ formatDate(scope.row.consultationRequestDate) }}
</template>
</el-table-column>
<el-table-column
prop="requestingPhysician"
label="申请医师"
</vxe-column>
<vxe-column
field="requestingPhysician"
title="申请医师"
min-width="100"
/>
<el-table-column
label="提交"
<vxe-column
title="提交"
width="70"
align="center"
>
@@ -232,9 +232,9 @@
disabled
/>
</template>
</el-table-column>
<el-table-column
label="结束"
</vxe-column>
<vxe-column
title="结束"
width="70"
align="center"
>
@@ -244,9 +244,9 @@
disabled
/>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="250"
fixed="right"
align="center"
@@ -283,8 +283,8 @@
@click="handleDelete(scope.row)"
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页组件 -->
<div class="pagination-container">
@@ -980,8 +980,8 @@ onMounted(() => {
@media print {
.search-section,
.pagination-container,
.el-table__column--selection,
.el-table-column--action {
.vxe-table--checkbox-column,
.vxe-column--action {
display: none !important;
}
}

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container consultation-confirmation">
<div class="page-header">
<span class="tab-title">会诊确认</span>
@@ -31,7 +31,7 @@
</div>
<div class="list-section no-print">
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
border
@@ -39,14 +39,14 @@
highlight-current-row
@current-change="handleRowChange"
>
<el-table-column
type="index"
<vxe-column
type="seq"
width="60"
label="序号"
title="序号"
align="center"
/>
<el-table-column
label="紧急"
<vxe-column
title="紧急"
width="70"
align="center"
>
@@ -56,52 +56,52 @@
disabled
/>
</template>
</el-table-column>
<el-table-column
prop="consultationId"
label="申请单号"
</vxe-column>
<vxe-column
field="consultationId"
title="申请单号"
min-width="160"
/>
<el-table-column
prop="patientName"
label="病人姓名"
<vxe-column
field="patientName"
title="病人姓名"
min-width="100"
/>
<el-table-column
prop="consultationDate"
label="会诊时间"
<vxe-column
field="consultationDate"
title="会诊时间"
min-width="160"
>
<template #default="scope">
{{ formatDateTime(scope.row.consultationDate) }}
</template>
</el-table-column>
<el-table-column
prop="invitedObject"
label="邀请对象"
</vxe-column>
<vxe-column
field="invitedObject"
title="邀请对象"
min-width="120"
/>
<el-table-column
prop="applyDept"
label="申请科室"
<vxe-column
field="applyDept"
title="申请科室"
min-width="120"
/>
<el-table-column
prop="applyDoctor"
label="申请医师"
<vxe-column
field="applyDoctor"
title="申请医师"
min-width="120"
/>
<el-table-column
prop="applyTime"
label="申请时间"
<vxe-column
field="applyTime"
title="申请时间"
min-width="160"
>
<template #default="scope">
{{ formatDateTime(scope.row.applyTime) }}
</template>
</el-table-column>
<el-table-column
label="确认"
</vxe-column>
<vxe-column
title="确认"
width="70"
align="center"
>
@@ -111,9 +111,9 @@
disabled
/>
</template>
</el-table-column>
<el-table-column
label="签名"
</vxe-column>
<vxe-column
title="签名"
width="70"
align="center"
>
@@ -123,8 +123,8 @@
disabled
/>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
<div class="form-section">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="app-container">
<el-form
v-show="showSearch"
@@ -94,9 +94,9 @@
fixed="left"
/>
<vxe-column
label="项目名称"
title="项目名称"
width="200"
prop="chargeName"
field="chargeName"
align="center"
>
<template #default="scope">
@@ -104,9 +104,9 @@
</template>
</vxe-column>
<vxe-column
label="所属科室"
title="所属科室"
width="200"
prop="orgId_dictText"
field="orgId_dictText"
align="center"
>
<template #default="scope">
@@ -114,9 +114,9 @@
</template>
</vxe-column>
<vxe-column
label="财务类别"
title="财务类别"
width="200"
prop=" typeCode_dictText"
field=" typeCode_dictText"
align="center"
>
<template #default="scope">
@@ -128,9 +128,9 @@
</template>
</vxe-column>
<vxe-column
label="医保类别"
title="医保类别"
width="200"
prop="ybType_dictText"
field="ybType_dictText"
align="center"
>
<template #default="scope">
@@ -140,9 +140,9 @@
</template>
</vxe-column>
<vxe-column
label="基础价格"
title="基础价格"
width="200"
prop="price"
field="price"
align="center"
>
<template #default="scope">
@@ -150,9 +150,9 @@
</template>
</vxe-column>
<vxe-column
label="费用明细个数"
title="费用明细个数"
width="200"
prop="detailCount"
field="detailCount"
align="center"
>
<template #default="scope">
@@ -171,9 +171,9 @@
</template>
</vxe-column>
<vxe-column
label="状态"
title="状态"
width="200"
prop="statusEnum_enumText"
field="statusEnum_enumText"
align="center"
>
<template #default="scope">
@@ -186,7 +186,7 @@
</vxe-column>
<vxe-column
min-width="290"
label="操作"
title="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
@@ -292,9 +292,9 @@
fixed="left"
/>
<vxe-column
label="项目名称"
title="项目名称"
width="200"
prop="chargeName"
field="chargeName"
align="center"
>
<template #default="scope">
@@ -302,9 +302,9 @@
</template>
</vxe-column>
<vxe-column
label="所属科室"
title="所属科室"
width="200"
prop="orgId_dictText"
field="orgId_dictText"
align="center"
>
<template #default="scope">
@@ -312,9 +312,9 @@
</template>
</vxe-column>
<vxe-column
label="财务类别"
title="财务类别"
width="200"
prop=" typeCode_dictText"
field=" typeCode_dictText"
align="center"
>
<template #default="scope">
@@ -326,9 +326,9 @@
</template>
</vxe-column>
<vxe-column
label="医保类别"
title="医保类别"
width="200"
prop="ybType_dictText"
field="ybType_dictText"
align="center"
>
<template #default="scope">
@@ -338,9 +338,9 @@
</template>
</vxe-column>
<vxe-column
label="基础价格"
title="基础价格"
width="200"
prop="price"
field="price"
align="center"
>
<template #default="scope">
@@ -348,9 +348,9 @@
</template>
</vxe-column>
<vxe-column
label="费用明细个数"
title="费用明细个数"
width="200"
prop="detailCount"
field="detailCount"
align="center"
>
<template #default="scope">
@@ -369,9 +369,9 @@
</template>
</vxe-column>
<vxe-column
label="状态"
title="状态"
width="200"
prop="statusEnum_enumText"
field="statusEnum_enumText"
align="center"
>
<template #default="scope">
@@ -384,7 +384,7 @@
</vxe-column>
<vxe-column
min-width="290"
label="操作"
title="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
@@ -490,9 +490,9 @@
fixed="left"
/>
<vxe-column
label="项目名称"
title="项目名称"
width="200"
prop="chargeName"
field="chargeName"
align="center"
>
<template #default="scope">
@@ -500,9 +500,9 @@
</template>
</vxe-column>
<vxe-column
label="所属科室"
title="所属科室"
width="200"
prop="orgId_dictText"
field="orgId_dictText"
align="center"
>
<template #default="scope">
@@ -510,9 +510,9 @@
</template>
</vxe-column>
<vxe-column
label="财务类别"
title="财务类别"
width="200"
prop=" typeCode_dictText"
field=" typeCode_dictText"
align="center"
>
<template #default="scope">
@@ -524,9 +524,9 @@
</template>
</vxe-column>
<vxe-column
label="医保类别"
title="医保类别"
width="200"
prop="ybType_dictText"
field="ybType_dictText"
align="center"
>
<template #default="scope">
@@ -536,9 +536,9 @@
</template>
</vxe-column>
<vxe-column
label="基础价格"
title="基础价格"
width="200"
prop="price"
field="price"
align="center"
>
<template #default="scope">
@@ -546,9 +546,9 @@
</template>
</vxe-column>
<vxe-column
label="费用明细个数"
title="费用明细个数"
width="200"
prop="detailCount"
field="detailCount"
align="center"
>
<template #default="scope">
@@ -567,9 +567,9 @@
</template>
</vxe-column>
<vxe-column
label="状态"
title="状态"
width="200"
prop="statusEnum_enumText"
field="statusEnum_enumText"
align="center"
>
<template #default="scope">
@@ -582,7 +582,7 @@
</vxe-column>
<vxe-column
min-width="290"
label="操作"
title="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
@@ -620,8 +620,8 @@
show-overflow
>
<vxe-column
label="条件"
prop="conditionCode_enumText"
title="条件"
field="conditionCode_enumText"
align="center"
>
<template #default="scope">
@@ -633,9 +633,9 @@
</template>
</vxe-column>
<vxe-column
label="价格"
title="价格"
width="200"
prop="amount"
field="amount"
align="center"
>
<template #default="scope">

View File

@@ -1,4 +1,4 @@
<template>
<template>
<div class="report-management-container">
<!-- 1. 顶部导航栏 -->
<div class="top-navbar">
@@ -277,79 +277,79 @@
</div>
<!-- 数据表格 -->
<el-table
<vxe-table
v-loading="loading"
:data="tableData"
row-key="cardNo"
:row-config="{ keyField: 'cardNo' }"
border
stripe
style="width: 100%"
@selection-change="handleSelectionChange"
@checkbox-change="handleSelectionChange"
>
<el-table-column
type="selection"
<vxe-column
type="checkbox"
width="55"
/>
<el-table-column
prop="cardName"
label="报卡名称"
<vxe-column
field="cardName"
title="报卡名称"
min-width="120"
/>
<el-table-column
prop="diseaseName"
label="病种名称"
<vxe-column
field="diseaseName"
title="病种名称"
min-width="120"
/>
<el-table-column
prop="cardNo"
label="报卡编号"
<vxe-column
field="cardNo"
title="报卡编号"
min-width="160"
/>
<el-table-column
prop="patientName"
label="患者姓名"
<vxe-column
field="patientName"
title="患者姓名"
min-width="100"
/>
<el-table-column
prop="sex"
label="性别"
<vxe-column
field="sex"
title="性别"
width="60"
>
<template #default="{ row }">
<span>{{ row.sex === '1' ? '男' : row.sex === '2' ? '女' : '未知' }}</span>
</template>
</el-table-column>
<el-table-column
prop="age"
label="年龄"
</vxe-column>
<vxe-column
field="age"
title="年龄"
width="70"
/>
<el-table-column
prop="deptName"
label="上报科室"
<vxe-column
field="deptName"
title="上报科室"
min-width="100"
/>
<el-table-column
prop="registrationSource"
label="登记来源"
<vxe-column
field="registrationSource"
title="登记来源"
width="80"
>
<template #default="{ row }">
<span>{{ getSourceName(row.registrationSource) }}</span>
</template>
</el-table-column>
<el-table-column
prop="reportDate"
label="上报时间"
</vxe-column>
<vxe-column
field="reportDate"
title="上报时间"
width="160"
>
<template #default="{ row }">
<span>{{ formatDateTime(row.reportDate) }}</span>
</template>
</el-table-column>
<el-table-column
prop="status"
label="状态"
</vxe-column>
<vxe-column
field="status"
title="状态"
width="90"
>
<template #default="{ row }">
@@ -357,9 +357,9 @@
{{ getStatusName(row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="180"
fixed="right"
>
@@ -388,8 +388,8 @@
查看
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 分页 -->
<div class="pagination-container">

View File

@@ -1,40 +1,40 @@
<template>
<template>
<div
ref="tableWrapper"
tabindex="0"
@keyup="handleKeyDown"
>
<el-table
<vxe-table
ref="adviceBaseRef"
v-loading="loading"
height="400"
:data="adviceBaseList"
highlight-current-row
row-key="adviceDefinitionId"
:row-config="{ keyField: 'adviceDefinitionId' }"
@current-change="handleCurrentChange"
@cell-click="clickRow"
>
<el-table-column
label="名称"
<vxe-column
title="名称"
align="center"
prop="adviceName"
field="adviceName"
width="200"
show-overflow-tooltip
show-overflow
/>
<el-table-column
label="包装单位"
<vxe-column
title="包装单位"
align="center"
prop="unitCode_dictText"
field="unitCode_dictText"
width="100"
/>
<el-table-column
label="最小单位"
<vxe-column
title="最小单位"
align="center"
prop="minUnitCode_dictText"
field="minUnitCode_dictText"
width="100"
/>
<el-table-column
label="单次剂量"
<vxe-column
title="单次剂量"
align="center"
width="120"
>
@@ -49,24 +49,24 @@
}}
</span>
</template>
</el-table-column>
<el-table-column
label="规格"
</vxe-column>
<vxe-column
title="规格"
align="center"
prop="volume"
field="volume"
width="120"
show-overflow-tooltip
show-overflow
/>
<el-table-column
label="用法"
<vxe-column
title="用法"
align="center"
prop="methodCode_dictText"
field="methodCode_dictText"
width="120"
show-overflow-tooltip
show-overflow
/>
<!-- 修改价格列从inventoryList中获取价格 -->
<el-table-column
label="价格"
<vxe-column
title="价格"
align="center"
width="100"
>
@@ -75,65 +75,65 @@
{{ getPriceFromInventory(scope.row) }}
</span>
</template>
</el-table-column>
<el-table-column
label="库存数量"
</vxe-column>
<vxe-column
title="库存数量"
align="center"
width="100"
>
<template #default="scope">
{{ handleQuantity(scope.row) }}
</template>
</el-table-column>
<el-table-column
label="频次"
</vxe-column>
<vxe-column
title="频次"
align="center"
prop="rateCode_dictText"
field="rateCode_dictText"
width="100"
show-overflow-tooltip
show-overflow
/>
<el-table-column
label="注射药品"
<vxe-column
title="注射药品"
align="center"
prop="injectFlag_enumText"
field="injectFlag_enumText"
width="100"
/>
<el-table-column
label="皮试"
<vxe-column
title="皮试"
align="center"
prop="skinTestFlag_enumText"
field="skinTestFlag_enumText"
width="100"
/>
<el-table-column
label="医保等级"
<vxe-column
title="医保等级"
min-width="100"
align="center"
>
<template #default="scope">
{{ getMedicalInsuranceLevel(scope.row) }}
</template>
</el-table-column>
<el-table-column
label="医保码"
</vxe-column>
<vxe-column
title="医保码"
align="center"
prop="ybNo"
field="ybNo"
width="100"
show-overflow-tooltip
show-overflow
/>
<!-- <el-table-column label="限制使用标志" align="center" prop="useLimitFlag" /> -->
<el-table-column
label="限制使用范围"
<!-- <vxe-column title="限制使用标志" align="center" field="useLimitFlag" /> -->
<vxe-column
title="限制使用范围"
align="center"
:show-overflow-tooltip="true"
prop="useScope"
:show-overflow="true"
field="useScope"
width="120"
>
<template #default="scope">
<span v-if="scope.row.useLimitFlag === 1">{{ scope.row.useScope }}</span>
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
</div>
</template>
@@ -480,7 +480,7 @@ const handleKeyDown = (event) => {
// 设置选中行(带滚动)- 与V1.3一致
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' });

View File

@@ -1,4 +1,4 @@
<template>
<template>
<el-dialog
:model-value="dialogVisible"
title=""
@@ -127,56 +127,56 @@
</div>
<!-- 候诊患者表格 -->
<el-table
<vxe-table
:data="sortedWaitPatientList"
border
style="width: 100%"
header-cell-class-name="table-header"
:row-class-name="() => 'table-row'"
>
<el-table-column
label="序号"
type="index"
<vxe-column
title="序号"
type="seq"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者"
<vxe-column
field="patientName"
title="患者"
width="180"
>
<template #default="scope">
{{ scope.row.patientName }}
</template>
</el-table-column>
<el-table-column
prop="typeCode_dictText"
label="号别"
</vxe-column>
<vxe-column
field="typeCode_dictText"
title="号别"
width="120"
/>
<el-table-column
prop="organizationName"
label="诊室"
<vxe-column
field="organizationName"
title="诊室"
width="120"
/>
<el-table-column
label="医生"
<vxe-column
title="医生"
width="120"
>
<template #default="scope">
{{ scope.row.jz_practitioner_name || '心内科医生' }}
</template>
</el-table-column>
<el-table-column
label="状态"
</vxe-column>
<vxe-column
title="状态"
width="120"
>
<template #default>
等待中
</template>
</el-table-column>
<el-table-column
label="操作"
</vxe-column>
<vxe-column
title="操作"
width="100"
align="center"
>
@@ -189,8 +189,8 @@
接诊
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-column>
</vxe-table>
<!-- 底部信息栏 -->
<div class="footer-info">
@@ -762,11 +762,11 @@ const callThisPatient = async (row) => {
font-weight: 500;
}
:deep(.el-table__cell) {
:deep(.vxe-cell) {
padding: 16px 0 !important;
}
:deep(.el-table--enable-row-hover .el-table__body tr:hover>td) {
:deep(.vxe-table--enable-row-hover .vxe-table--body tr:hover>td) {
background-color: #f0f9ff !important;
}

Some files were not shown because too many files have changed in this diff Show More