Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2026-06-17 11:43:18 +08:00
199 changed files with 2737 additions and 1950 deletions

View File

@@ -1,10 +1,12 @@
package com.healthlink.his.web.inpatientmanage.appservice;
import com.core.common.core.domain.R;
import com.healthlink.his.web.inpatientmanage.dto.BatchNursingRecordDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingEmrTemplateDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingRecordDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingSearchParam;
import jakarta.servlet.http.HttpServletRequest;
import java.util.List;
@@ -100,4 +102,13 @@ public interface INursingRecordAppService {
*/
R<?> updateEmrTemplate(NursingEmrTemplateDto emrTemplateDto);
/**
* 批量保存护理记录单
*
* @param batchDto 批量入参
* @return 结果
*/
R<?> batchSaveRecord(BatchNursingRecordDto batchDto);
}

View File

@@ -399,4 +399,77 @@ public class NursingRecordAppServiceImpl implements INursingRecordAppService {
return emrTemplateService.updateById(emrTemplate) ? R.ok() : R.fail();
}
/**
* 批量保存/更新/删除护理记录
*
* @param batchDto 批量提交数据包
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R<?> batchSaveRecord(BatchNursingRecordDto batchDto) {
Long recorderId = SecurityUtils.getLoginUser().getPractitionerId();
java.util.Map<String, Long> tempIdToRealIdMap = new java.util.HashMap<>();
// 1. 处理待删除记录 (物理删除记录及体征表对应数据)
if (batchDto.getDeleted() != null && !batchDto.getDeleted().isEmpty()) {
this.delRecord(batchDto.getDeleted());
}
// 2. 处理待插入新建记录
if (batchDto.getInserted() != null && !batchDto.getInserted().isEmpty()) {
for (NursingRecordDto dto : batchDto.getInserted()) {
Emr emr = new Emr();
emr.setEncounterId(dto.getEncounterId())
.setPatientId(dto.getPatientId())
.setRecordId(recorderId)
.setRecordTime(dto.getRecordingTime())
.setClassEnum(1)
.setContextJson(dto.getContextJson());
emrService.save(emr);
// 保存生成的真实主键,用于返回给前端重置
if (dto.getTempId() != null && !dto.getTempId().isEmpty()) {
tempIdToRealIdMap.put(dto.getTempId(), emr.getId());
}
// 判断是否联动更新体征表
if (Boolean.TRUE.equals(dto.getVitalSignsSyncFlag())) {
this.vitalSigns(dto, recorderId);
}
}
}
// 3. 处理待更新已有记录
if (batchDto.getUpdated() != null && !batchDto.getUpdated().isEmpty()) {
for (NursingRecordDto dto : batchDto.getUpdated()) {
Emr emr = new Emr();
emr.setId(dto.getRecordId())
.setEncounterId(dto.getEncounterId())
.setPatientId(dto.getPatientId())
.setRecordId(recorderId)
.setRecordTime(dto.getRecordingTime())
.setClassEnum(1)
.setContextJson(dto.getContextJson());
emrService.updateById(emr);
// 联动体征处理
if (Boolean.TRUE.equals(dto.getVitalSignsSyncFlag())) {
this.vitalSigns(dto, recorderId);
} else {
this.deleteVitalSigns(dto);
}
}
}
// 组装返回映射表
java.util.Map<String, Object> resultMap = new java.util.HashMap<>();
resultMap.put("tempIdToRealIdMap", tempIdToRealIdMap);
return R.ok(resultMap, "批量护理记录保存成功!");
}
}

View File

@@ -2,9 +2,11 @@ package com.healthlink.his.web.inpatientmanage.controller;
import com.core.common.core.domain.R;
import com.healthlink.his.web.inpatientmanage.appservice.INursingRecordAppService;
import com.healthlink.his.web.inpatientmanage.dto.BatchNursingRecordDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingEmrTemplateDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingRecordDto;
import com.healthlink.his.web.inpatientmanage.dto.NursingSearchParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -144,4 +146,16 @@ public class NursingRecordController {
return nursingRecordAppService.updateEmrTemplate(emrTemplateDto);
}
/**
* 批量保存/更新/删除护理记录
*
* @param batchDto 批量提交数据包
* @return 结果
*/
@PostMapping("/batch-save")
public R<?> batchSaveRecord(@Validated @RequestBody BatchNursingRecordDto batchDto) {
return nursingRecordAppService.batchSaveRecord(batchDto);
}
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.healthlink.his.web.inpatientmanage.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 护理记录批量提交包装 DTO
*
* @author Antigravity AI
* @date 2026-06-16
*/
@Data
@Accessors(chain = true)
public class BatchNursingRecordDto {
/** 待保存/新建的护理记录列表 */
private List<NursingRecordDto> inserted;
/** 待更新的护理记录列表 */
private List<NursingRecordDto> updated;
/** 待删除的护理记录列表 */
private List<NursingRecordDto> deleted;
}

View File

@@ -50,4 +50,8 @@ public class NursingRecordDto {
/** 是否同步到体温单 */
private Boolean vitalSignsSyncFlag;
/** 前端临时ID映射标识 */
private String tempId;
}

View File

@@ -4,6 +4,7 @@ import { fileURLToPath } from "node:url";
import globals from "globals";
import pluginVue from "eslint-plugin-vue";
import parserVue from "vue-eslint-parser";
import parserTs from "@typescript-eslint/parser";
import importPlugin, { createNodeResolver } from "eslint-plugin-import-x";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -20,7 +21,7 @@ export default [
},
...pluginVue.configs["flat/recommended"],
{
languageOptions: {
globals: {
@@ -30,6 +31,9 @@ export default [
parser: parserVue,
ecmaVersion: "latest",
sourceType: "module",
parserOptions: {
parser: parserTs,
},
},
plugins: {

View File

@@ -32,6 +32,7 @@
"@vue/shared": "^3.5.25",
"@vueup/vue-quill": "^1.5.1",
"@vueuse/core": "^14.3.0",
"@vxe-ui/plugin-render-element": "^4.4.0",
"axios": "^1.16.1",
"china-division": "^2.7.0",
"cornerstone-core": "^2.6.1",
@@ -72,6 +73,7 @@
"devDependencies": {
"@playwright/test": "^1.60.0",
"@types/node": "^25.0.1",
"@typescript-eslint/parser": "^8.61.1",
"@vitejs/plugin-vue": "^5.2.4",
"@vue/test-utils": "^2.4.6",
"eslint": "^10.4.1",

View File

@@ -44,7 +44,7 @@
:row-config="{ keyField: '_etKey' }"
:scroll-x="{ enabled: true }"
:scroll-y="{ enabled: true }"
:show-overflow="true"
show-overflow="title"
v-bind="$attrs"
@checkbox-change="handleSelectionChange"
@checkbox-all="handleSelectionChange"

View File

@@ -2,6 +2,7 @@ import {createApp, nextTick} from 'vue';
import VxeUIAll from 'vxe-table';
import 'vxe-table/lib/style.css';
import { VxeTooltip } from 'vxe-pc-ui';
import Cookies from 'js-cookie';
// 导入 hiprint 并挂载到全局 window 对象
@@ -121,6 +122,11 @@ app.use(ElementPlus, {
// 支持 large̢̮̣ââ¬Å¡Ã¬Ã‚Ádefault̢̮̣ââ¬Å¡Ã¬Ã‚Ásmall
size: Cookies.get('size') || 'default',
});
// Register vxe-tooltip component required by vxe-table v4 for show-overflow="title"
VxeUIAll.VxeUI.component(VxeTooltip);
// Register element-plus render plugin for declarative editRender (ElSelect, ElInput etc.)
import VXETablePluginRenderElement from '@vxe-ui/plugin-render-element';
VxeUIAll.VxeUI.use(VXETablePluginRenderElement);
app.use(VxeUIAll);
// 导入公告帮助工具

View File

@@ -84,7 +84,7 @@
title="卫生机构"
width="200"
align="center"
show-overflow
show-overflow="title"
>
<template #default="scope">
<!-- ==忽略类型匹配string的"3"和number的3就能匹配上 -->
@@ -96,21 +96,21 @@
title="诊室名称"
width="160"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="department"
title="科室名称"
width="160"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="building"
title="诊室楼号"
width="120"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="floor"
@@ -141,7 +141,7 @@
title="备注"
min-width="100"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="void"
@@ -159,7 +159,7 @@
title="操作人"
width="120"
align="center"
show-overflow
show-overflow="title"
>
<template #default="scope">
{{ scope.row.updateBy || scope.row.createBy || '系统默认' }}

View File

@@ -101,14 +101,14 @@
title="所属机构"
min-width="150"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="department"
title="科室名称"
min-width="150"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
field="morningStart"
@@ -161,7 +161,7 @@
title="操作人"
min-width="100"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
width="120"

View File

@@ -19,7 +19,7 @@
<vxe-table :data="tableData" border height="calc(100vh - 320px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="conditionCode" title="编码" width="120" />
<vxe-column field="name" title="诊断名称" min-width="200" show-overflow />
<vxe-column field="name" title="诊断名称" min-width="200" show-overflow="title" />
<vxe-column field="typeCode" title="类型" width="100" />
<vxe-column field="status" title="状态" width="80" align="center">
<template #default="{ row }">

View File

@@ -19,7 +19,7 @@
<vxe-table :data="tableData" border height="calc(100vh - 320px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="conditionCode" title="编码" width="120" />
<vxe-column field="name" title="项目名称" min-width="200" show-overflow />
<vxe-column field="name" title="项目名称" min-width="200" show-overflow="title" />
<vxe-column field="typeCode" title="类型" width="100" />
<vxe-column field="status" title="状态" width="80" align="center">
<template #default="{ row }">

View File

@@ -73,7 +73,7 @@
title="诊疗目录"
width="150"
align="center"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-select
@@ -95,7 +95,7 @@
<vxe-column
title="项目名称"
align="center"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-select
@@ -123,7 +123,7 @@
title="开始时间"
align="center"
field="startTime"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-time-picker
@@ -140,7 +140,7 @@
title="结束时间"
align="center"
field="endTime"
show-overflow
show-overflow="title"
>
<template #default="scope">
<el-time-picker

View File

@@ -191,19 +191,19 @@
title="科室位置"
align="center"
field="location"
show-overflow
show-overflow="title"
/>
<vxe-column
title="科室简介"
align="center"
field="intro"
show-overflow
show-overflow="title"
/>
<vxe-column
title="备注"
align="center"
field="remark"
show-overflow
show-overflow="title"
/>
<vxe-column
title="状态"

View File

@@ -57,7 +57,7 @@
align="center"
field="name"
width="300"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<div style="display: flex; align-items: center; justify-content: center">
@@ -84,7 +84,7 @@
title="项目类型"
align="center"
field="itemCode"
:show-overflow="true"
show-overflow="title"
width="300"
>
<template #default="scope">
@@ -113,7 +113,7 @@
title="药品类别"
align="center"
field="pyStr"
:show-overflow="true"
show-overflow="title"
width="300"
>
<template #default="scope">
@@ -150,7 +150,7 @@
title="开始时间"
align="center"
field="wbStr"
:show-overflow="true"
show-overflow="title"
width="300"
>
<template #default="scope">
@@ -167,7 +167,7 @@
title="结束时间"
align="center"
field="categoryCode_dictText"
:show-overflow="true"
show-overflow="title"
width="300"
>
<template #default="scope">
@@ -180,7 +180,7 @@
</template>
</vxe-column>
<!-- <vxe-column title="备注" align="center" key="typeEnum_enumText" field="typeEnum_enumText"
:show-overflow="true" width="300">
show-overflow="title" width="300">
<template #default="scope">
<el-input v-model="scope.row.detailJson" placeholder="" />
</template>

View File

@@ -118,21 +118,21 @@
title="名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="pyStr"
title="拼音助记码"
align="center"
field="pyStr"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="typeEnum_enumText"
title="类型 "
align="center"
field="typeEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="address"

View File

@@ -19,7 +19,7 @@
<vxe-table :data="tableData" border height="calc(100vh - 320px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="conditionCode" title="编码" width="120" />
<vxe-column field="name" title="处方名称" min-width="200" show-overflow />
<vxe-column field="name" title="处方名称" min-width="200" show-overflow="title" />
<vxe-column field="typeCode" title="类型" width="100" />
<vxe-column field="status" title="状态" width="80" align="center">
<template #default="{ row }">

View File

@@ -132,21 +132,21 @@
title="提供部门"
align="center"
field="offeredOrgId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="categoryCode_dictText"
title="服务分类"
align="center"
field="categoryCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="typeCode_dictText"
title="服务类型 "
align="center"
field="typeCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="specialtyCode_dictText"

View File

@@ -170,7 +170,7 @@
title="编码"
align="center"
field="busNo"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
@@ -178,7 +178,7 @@
title="器材名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -187,21 +187,21 @@
align="center"
field="size"
width="100"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column
title="拼音"
align="center"
key="pyStr"
field="pyStr"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
key="categoryCode_dictText"
title="器材分类"
align="center"
field="categoryCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<!-- <vxe-column
@@ -209,7 +209,7 @@
align="center"
key="typeCode_dictText"
field="typeCode_dictText"
:show-overflow="true"
show-overflow="title"
width="50"
/> -->
<vxe-column
@@ -217,7 +217,7 @@
title="包装单位"
align="center"
field="unitCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -225,7 +225,7 @@
title="拆零比"
align="center"
field="partPercent"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
{{
@@ -241,7 +241,7 @@
title="最小使用单位"
align="center"
field="minUnitCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<!-- <vxe-column
@@ -249,21 +249,21 @@
align="center"
key="orgId_dictText"
field="orgId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="所在位置"
align="center"
key="locationId_dictText"
field="locationId_dictText"
:show-overflow="true"
show-overflow="title"
/> -->
<!-- <vxe-column
title="产品型号"
align="center"
key="modelNumber"
field="modelNumber"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
@@ -271,7 +271,7 @@
title="销售单位"
align="center"
field="salesUnitCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<!-- <vxe-column
@@ -279,14 +279,14 @@
align="center"
key="approvalNumber"
field="approvalNumber"
:show-overflow="true"
show-overflow="title"
/> -->
<!-- <vxe-column
title="医保标记"
align="center"
key="ybFlag_enumText"
field="ybFlag_enumText"
:show-overflow="true"
show-overflow="title"
width="110"
/> -->
<vxe-column
@@ -294,7 +294,7 @@
title="医保编码"
align="center"
field="ybNo"
:show-overflow="true"
show-overflow="title"
width="110"
/>
<vxe-column
@@ -302,7 +302,7 @@
title="医药机构目录编码"
align="center"
field="ybOrgNo"
:show-overflow="true"
show-overflow="title"
width="130"
/>
<!-- <vxe-column
@@ -310,7 +310,7 @@
align="center"
key="ybMatchFlag_enumText"
field="ybMatchFlag_enumText"
:show-overflow="true"
show-overflow="title"
width="105"
/> -->
<vxe-column
@@ -318,7 +318,7 @@
title="状态"
align="center"
field="statusEnum_enumText"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<!-- <vxe-column
@@ -326,7 +326,7 @@
align="center"
key="manufacturerId"
field="manufacturerId"
:show-overflow="true"
show-overflow="title"
width="90"
/> -->
<vxe-column
@@ -334,7 +334,7 @@
title="生产厂家"
align="center"
field="manufacturerText"
:show-overflow="true"
show-overflow="title"
width="200"
/>
<!-- <vxe-column
@@ -342,7 +342,7 @@
align="center"
key="supplyId_dictText"
field="supplyId_dictText"
:show-overflow="true"
show-overflow="title"
width="110"
/>
<vxe-column
@@ -350,14 +350,14 @@
align="center"
key="description"
field="description"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="适用范围"
align="center"
key="jurisdiction"
field="jurisdiction"
:show-overflow="true"
show-overflow="title"
width="120"
/>
<vxe-column
@@ -365,7 +365,7 @@
align="center"
key="version"
field="version"
:show-overflow="true"
show-overflow="title"
width="120"
/>
<vxe-column
@@ -373,14 +373,14 @@
align="center"
key="substanceText"
field="substanceText"
:show-overflow="true"
show-overflow="title"
/> -->
<!-- <vxe-column
title="过敏标记"
align="center"
key="allergenFlag_enumText"
field="allergenFlag_enumText"
:show-overflow="true"
show-overflow="title"
width="90"
/> -->
<vxe-column
@@ -388,7 +388,7 @@
title="售价"
align="center"
field="retailPrice"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<vxe-column
@@ -396,7 +396,7 @@
title="财务类别"
align="center"
field="itemTypeCode_dictText"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<vxe-column
@@ -404,7 +404,7 @@
title="高值器材标志"
align="center"
field="hvcmFlag_enumText"
:show-overflow="true"
show-overflow="title"
width="120"
/>
<!-- <vxe-column
@@ -412,7 +412,7 @@
align="center"
key="ybType_dictText"
field="ybType_dictText"
:show-overflow="true"
show-overflow="title"
width="90"
/> -->
<vxe-column

View File

@@ -236,7 +236,7 @@
title="编码"
align="center"
field="busNo"
:show-overflow="true"
show-overflow="title"
width="200"
/>
<vxe-column
@@ -244,7 +244,7 @@
title="项目名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
width="200"
/>
@@ -253,7 +253,7 @@
title="目录类别"
align="center"
field="categoryCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -261,7 +261,7 @@
title="售价"
align="center"
field="retailPrice"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -269,7 +269,7 @@
title="财务类别"
align="center"
field="itemTypeCode_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -277,28 +277,28 @@
title="使用单位"
align="center"
field="permittedUnitCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="ybNo"
title="医保编码"
align="center"
field="ybNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="statusEnum_enumText"
title="状态"
align="center"
field="statusEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="pricingFlag_enumText"
title="划价标记"
align="center"
field="pricingFlag_enumText"
:show-overflow="true"
show-overflow="title"
width="100"
>
<template #default="scope">

View File

@@ -167,42 +167,42 @@
title="名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="sourceEnum_enumText"
title="疾病分类"
align="center"
field="sourceEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column
title="拼音助记码"
align="center"
key="pyStr"
field="pyStr"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
key="typeCode_dictText"
title="类型"
align="center"
field="typeCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="reportTypeCode_dictText"
title="报卡类型"
align="center"
field="reportTypeCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="ybNo"
title="医保编码 "
align="center"
field="ybNo"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column
title="医保标记"

View File

@@ -218,7 +218,7 @@
title="药品编号"
align="center"
field="busNo"
:show-overflow="true"
show-overflow="title"
min-width="90"
width="200px"
/>
@@ -227,7 +227,7 @@
title="药品名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
min-width="110"
width="200px"
sortable
@@ -238,7 +238,7 @@
title="规格"
align="center"
field="totalVolume"
:show-overflow="true"
show-overflow="title"
min-width="200px"
width="200px"
/>
@@ -247,7 +247,7 @@
title="药品状态"
align="center"
field="statusEnum_enumText"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-tag
@@ -271,7 +271,7 @@
title="药品分类"
align="center"
field="categoryCode_dictText"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<!-- <vxe-column
@@ -279,14 +279,14 @@
align="center"
key="orgId_dictText"
field="orgId_dictText"
:show-overflow="true"
show-overflow="title"
/> -->
<!-- <vxe-column
title="采购入库位置"
align="center"
key="locationId_dictText"
field="locationId_dictText"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
@@ -294,7 +294,7 @@
title="医保编码"
align="center"
field="ybNo"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<vxe-column
@@ -302,21 +302,21 @@
title="医保是否对码"
align="center"
field="ybMatchFlag_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="drug69Code"
title="69"
align="center"
field="drug69Code"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column
title="医保上传"
align="center"
key="ybNo"
field="ybNo"
:show-overflow="true"
show-overflow="title"
width="90"
/> -->
<vxe-column
@@ -324,7 +324,7 @@
title="采购价"
align="center"
field="purchasePrice"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<vxe-column
@@ -332,7 +332,7 @@
title="售价"
align="center"
field="retailPrice"
:show-overflow="true"
show-overflow="title"
width="90"
/>
<vxe-column

View File

@@ -86,7 +86,7 @@
key="glNo"
field="glNo"
title="国临版疾病编码"
:show-overflow="true"
show-overflow="title"
align="center"
width="180"
/>
@@ -95,7 +95,7 @@
key="glName"
field="glName"
title="国临版疾病名称"
:show-overflow="true"
show-overflow="title"
align="center"
min-width="200"
/>
@@ -104,7 +104,7 @@
key="icd10No"
field="icd10No"
title="医保版疾病编码"
:show-overflow="true"
show-overflow="title"
align="center"
width="180"
/>
@@ -113,7 +113,7 @@
key="icd10Name"
field="icd10Name"
title="医保版疾病名称"
:show-overflow="true"
show-overflow="title"
align="center"
min-width="200"
/>

View File

@@ -107,38 +107,38 @@
title="患者姓名"
align="center"
field="patientName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="支付状态"
align="center"
field="statusEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="费用类型"
align="center"
field="paymentEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="医保结算Id"
align="center"
field="ybSettleIds"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="收费流水号"
align="center"
field="paymentNo"
width="280"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="发票号"
align="center"
field="invoiceNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="结算金额"
@@ -146,7 +146,7 @@
field="tenderedAmount"
header-align="center"
width="100"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ scope.row.tenderedAmount + ' 元' }}</span>
@@ -158,7 +158,7 @@
field="displayAmount"
header-align="center"
width="100"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ scope.row.displayAmount + ' 元' }}</span>
@@ -170,7 +170,7 @@
align="center"
field="billDate"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.billDate) }}</span>
@@ -180,20 +180,20 @@
title="收款人"
align="center"
field="entererName"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column title="医生" align="center" field="paymentEnum_enumText" /> -->
<vxe-column
title="支付结果"
align="center"
field="outcomeEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="打印次数"
align="center"
field="printCount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"
@@ -261,25 +261,25 @@
title="支付类型"
align="center"
field="payEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="金额"
align="center"
field="amount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="找零"
align="center"
field="returnAmount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="交款"
align="center"
field="chargeAmount"
:show-overflow="true"
show-overflow="title"
/>
</vxe-table>
</el-dialog>

View File

@@ -22,28 +22,28 @@
title="患者姓名"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="genderEnum_enumText"
title="性别"
align="center"
field="genderEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="idCard"
title="身份证号"
align="center"
field="idCard"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="phone"
title="电话"
align="center"
field="phone"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
@@ -51,14 +51,14 @@
title="生日"
align="center"
field="birthDate"
:show-overflow="true"
show-overflow="title"
width="50"
/>
<vxe-column
key="age"
title="年龄"
align="center"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
{{ scope.row.age ? `${scope.row.age}` : '-' }}

View File

@@ -654,7 +654,7 @@
align="center"
key="organizationId"
field="organizationId"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
title=""
@@ -713,7 +713,7 @@
title="科室名称"
align="center"
field="organizationName"
:show-overflow="true"
show-overflow="title"
:min-width="120"
/>
<vxe-column
@@ -721,7 +721,7 @@
title="*挂号类型 "
align="center"
field="healthcareName"
:show-overflow="true"
show-overflow="title"
:min-width="140"
>
<template #default="scope">

View File

@@ -41,13 +41,13 @@
title="患者姓名"
align="center"
field="patientName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="支付单号"
align="center"
field="paymentBusNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="交易金额(元)"
@@ -55,25 +55,25 @@
field="txnAmt"
header-align="center"
width="100"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="交易类型"
align="center"
field="tranType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="支付方式"
align="center"
field="payType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="交易时间"
align="center"
field="txnTime"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.txnTime) }}</span>
@@ -83,37 +83,37 @@
title="原交易类型"
align="center"
field="orgTranType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="原交易类型"
align="center"
field="orgTranType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="第三方优惠说明"
align="center"
field="otherMsg"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="错误信息"
align="center"
field="errMsg"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="查询结果"
align="center"
field="queryResult"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="查询结果说明"
align="center"
field="queryResultMsg"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"

View File

@@ -98,11 +98,11 @@
max-height="calc(100vh - 420px)"
@cell-click="handleDetail"
>
<vxe-column field="billNo" title="账单号" align="center" width="180" show-overflow />
<vxe-column field="billNo" title="账单号" align="center" width="180" show-overflow="title" />
<vxe-column field="patientName" title="患者姓名" align="center" width="110" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column field="billType_dictText" title="收费类型" align="center" width="100" />
<vxe-column field="totalAmount" title="收费金额" align="right" width="110">
<template #default="scope">
@@ -183,9 +183,9 @@
<div class="item-title">费用明细</div>
<vxe-table :data="billDetail.items" border size="small">
<vxe-column type="index" title="序号" align="center" width="60" />
<vxe-column field="itemName" title="项目名称" align="left" min-width="180" show-overflow />
<vxe-column field="itemName" title="项目名称" align="left" min-width="180" show-overflow="title" />
<vxe-column field="itemType_dictText" title="类型" align="center" width="100" />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow="title" />
<vxe-column field="quantity" title="数量" align="center" width="80" />
<vxe-column field="unitPrice" title="单价" align="right" width="100">
<template #default="scope">

View File

@@ -47,10 +47,10 @@
height="calc(100vh - 360px)"
@cell-click="handlePatientClick"
>
<vxe-column field="patientName" title="姓名" align="center" width="110" show-overflow />
<vxe-column field="patientName" title="姓名" align="center" width="110" show-overflow="title" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="60" />
<vxe-column field="age" title="年龄" align="center" width="50" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column title="就诊日期" align="center" width="110">
<template #default="scope">
{{ scope.row.receptionTime ? formatDateStr(scope.row.receptionTime, 'YYYY-MM-DD') : '-' }}
@@ -109,9 +109,9 @@
@select="handleSelectionChange"
>
<vxe-column type="checkbox" width="55" align="center" />
<vxe-column field="itemName" title="项目名称" align="center" show-overflow min-width="180" />
<vxe-column field="itemName" title="项目名称" align="center" show-overflow="title" min-width="180" />
<vxe-column field="itemType_dictText" title="类型" align="center" width="100" />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow="title" />
<vxe-column field="quantity" title="数量" align="center" width="80" />
<vxe-column field="unitPrice" title="单价" align="right" width="100">
<template #default="scope">
@@ -129,7 +129,7 @@
</template>
</vxe-column>
<vxe-column field="doctorName" title="开单医生" align="center" width="110" />
<vxe-column field="deptName" title="科室" align="center" width="130" show-overflow />
<vxe-column field="deptName" title="科室" align="center" width="130" show-overflow="title" />
<vxe-column title="退费状态" align="center" width="90">
<template #default="scope">
<el-tag v-if="scope.row.refundStatus === '0'" type="success" size="small">正常</el-tag>

View File

@@ -60,21 +60,21 @@
title="处方号"
align="center"
field="prescriptionNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="requesterId_dictText"
title="请求人"
align="center"
field="requesterId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="requestTime"
title="请求时间"
align="center"
field="requestTime"
:show-overflow="true"
show-overflow="title"
width="160px"
>
<template #default="scope">
@@ -86,21 +86,21 @@
title="医嘱名称"
align="center"
field="adviceName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="volume"
title="规格"
align="center"
field="volume"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="lotNumber"
title="产品批号"
align="center"
field="lotNumber"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="请求数量"
@@ -118,7 +118,7 @@
align="center"
key="unitCode_dictText"
field="unitCode_dictText"
:show-overflow="true"
show-overflow="title"
/> -->
<vxe-column
title="请求状态"
@@ -152,14 +152,14 @@
title="用法"
align="center"
field="methodCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="rateCode_dictText"
title="使用频次"
align="center"
field="rateCode_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="单次剂量"
@@ -190,7 +190,7 @@
title="收费状态"
align="center"
field="chargeStatus_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="收费状态"
@@ -236,14 +236,14 @@
title="用药天数"
align="center"
field="dispensePerDuration"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="conditionDefinitionName"
title="诊断定义名称"
align="center"
field="conditionDefinitionName"
:show-overflow="true"
show-overflow="title"
/>
</vxe-table>
<pagination

View File

@@ -67,28 +67,28 @@
title="处方号"
align="center"
field="prescriptionNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="patientName"
title="患者"
align="center"
field="patientName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="conditionDefinitionName"
title="疾病诊断"
align="center"
field="conditionDefinitionName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="requestTime"
title="修改时间"
align="center"
field="requestTime"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.requestTime) }}</span>
@@ -99,7 +99,7 @@
title="开方医生"
align="center"
field="practitionerName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column

View File

@@ -79,53 +79,53 @@
title="科室"
align="center"
field="orgName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="人次"
align="center"
field="personCnt"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="应收金额"
align="center"
field="amount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="实收金额"
align="center"
field="receivedAmount"
width="280"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="挂号费"
align="center"
field="registrationFee"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="处置费"
align="center"
field="serviceFee"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="药品费"
align="center"
field="medFee"
:show-overflow="true"
show-overflow="title"
/>
<!-- <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" field="entererName" show-overflow="title"/> -->
<!-- <vxe-column title="日结" align="center" field="outcomeEnum_dictText" show-overflow="title"/> -->
<!-- <vxe-column title="月累计" align="center" field="printCount" show-overflow="title"/> -->
<vxe-column
title="备注"
align="center"
field="printCount"
:show-overflow="true"
show-overflow="title"
/>
</vxe-table>
<pagination

View File

@@ -44,12 +44,12 @@
max-height="calc(100vh - 320px)"
@cell-click="handleLabDetail"
>
<vxe-column field="reportNo" title="报告号" align="center" width="160" show-overflow />
<vxe-column field="reportNo" title="报告号" align="center" width="160" show-overflow="title" />
<vxe-column field="patientName" title="患者姓名" align="center" width="110" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="itemName" title="检验项目" align="left" min-width="200" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column field="itemName" title="检验项目" align="left" min-width="200" show-overflow="title" />
<vxe-column field="sampleType" title="标本类型" align="center" width="100" />
<vxe-column field="reportStatus_dictText" title="报告状态" align="center" width="100" />
<vxe-column field="abnormalFlag" title="异常标记" align="center" width="90">
@@ -90,13 +90,13 @@
max-height="calc(100vh - 320px)"
@cell-click="handleExamDetail"
>
<vxe-column field="reportNo" title="报告号" align="center" width="160" show-overflow />
<vxe-column field="reportNo" title="报告号" align="center" width="160" show-overflow="title" />
<vxe-column field="patientName" title="患者姓名" align="center" width="110" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="examItemName" title="检查项目" align="left" min-width="200" show-overflow />
<vxe-column field="examPart" title="检查部位" align="center" width="120" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column field="examItemName" title="检查项目" align="left" min-width="200" show-overflow="title" />
<vxe-column field="examPart" title="检查部位" align="center" width="120" show-overflow="title" />
<vxe-column field="reportStatus_dictText" title="报告状态" align="center" width="100" />
<vxe-column field="reportDoctor" title="报告医生" align="center" width="110" />
<vxe-column title="报告时间" align="center" width="160">
@@ -146,7 +146,7 @@
<div class="section-title">检验结果</div>
<vxe-table :data="labDetail.resultItems" border size="small" max-height="400">
<vxe-column type="index" title="序号" align="center" width="60" />
<vxe-column field="itemName" title="项目名称" align="left" min-width="160" show-overflow />
<vxe-column field="itemName" title="项目名称" align="left" min-width="160" show-overflow="title" />
<vxe-column field="resultValue" title="结果" align="center" width="120">
<template #default="scope">
<span :class="scope.row.abnormalFlag === '1' ? 'abnormal' : ''">{{ scope.row.resultValue }}</span>
@@ -162,7 +162,7 @@
<span v-else>-</span>
</template>
</vxe-column>
<vxe-column field="method" title="检测方法" align="center" width="120" show-overflow />
<vxe-column field="method" title="检测方法" align="center" width="120" show-overflow="title" />
</vxe-table>
</div>
<div v-if="labDetail.conclusion" class="conclusion">

View File

@@ -67,15 +67,15 @@
max-height="calc(100vh - 280px)"
@cell-click="handleDetail"
>
<vxe-column field="orderNo" title="医嘱号" align="center" width="160" show-overflow />
<vxe-column field="orderNo" title="医嘱号" align="center" width="160" show-overflow="title" />
<vxe-column field="patientName" title="患者姓名" align="center" width="110" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column field="orderType_dictText" title="医嘱类型" align="center" width="100" />
<vxe-column field="orderContent" title="医嘱内容" align="left" min-width="220" show-overflow />
<vxe-column field="orderContent" title="医嘱内容" align="left" min-width="220" show-overflow="title" />
<vxe-column field="doctorName" title="开嘱医生" align="center" width="110" />
<vxe-column field="deptName" title="科室" align="center" width="130" show-overflow />
<vxe-column field="deptName" title="科室" align="center" width="130" show-overflow="title" />
<vxe-column field="orderStatus_dictText" title="状态" align="center" width="90">
<template #default="scope">
<el-tag v-if="scope.row.orderStatus === 'NEW'" type="primary" size="small">新开</el-tag>
@@ -145,13 +145,13 @@
<div class="section-title">医嘱明细项目</div>
<vxe-table :data="orderDetail.items" border size="small">
<vxe-column type="index" title="序号" align="center" width="60" />
<vxe-column field="itemName" title="项目名称" align="left" min-width="180" show-overflow />
<vxe-column field="itemName" title="项目名称" align="left" min-width="180" show-overflow="title" />
<vxe-column field="itemType_dictText" title="类型" align="center" width="100" />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow="title" />
<vxe-column field="dosage" title="剂量" align="center" width="80" />
<vxe-column field="unit" title="单位" align="center" width="70" />
<vxe-column field="quantity" title="数量" align="center" width="80" />
<vxe-column field="usageMethod" title="用法" align="center" width="100" show-overflow />
<vxe-column field="usageMethod" title="用法" align="center" width="100" show-overflow="title" />
</vxe-table>
</div>
</div>

View File

@@ -68,15 +68,15 @@
border
height="100%"
>
<vxe-column field="formNo" title="申请单号" align="center" width="180" show-overflow />
<vxe-column field="formNo" title="申请单号" align="center" width="180" show-overflow="title" />
<vxe-column field="patientName" title="患者姓名" align="center" width="110" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="140" show-overflow="title" />
<vxe-column field="formType_dictText" title="申请类型" align="center" width="110" />
<vxe-column field="itemNames" title="申请项目" align="left" min-width="200" show-overflow />
<vxe-column field="itemNames" title="申请项目" align="left" min-width="200" show-overflow="title" />
<vxe-column field="applyDoctorName" title="申请医生" align="center" width="110" />
<vxe-column field="deptName" title="申请科室" align="center" width="140" show-overflow />
<vxe-column field="deptName" title="申请科室" align="center" width="140" show-overflow="title" />
<vxe-column field="status_dictText" title="状态" align="center" width="90" />
<vxe-column title="申请时间" align="center" width="160">
<template #default="scope">
@@ -145,11 +145,11 @@
<div class="item-title">申请项目明细</div>
<vxe-table :data="detailData.items" border size="small">
<vxe-column type="index" title="序号" align="center" width="60" />
<vxe-column field="itemName" title="项目名称" align="left" show-overflow />
<vxe-column field="itemName" title="项目名称" align="left" show-overflow="title" />
<vxe-column field="itemCode" title="项目编码" align="center" width="140" />
<vxe-column field="specification" title="规格" align="center" width="120" />
<vxe-column field="quantity" title="数量" align="center" width="80" />
<vxe-column field="purpose" title="目的/说明" align="left" show-overflow />
<vxe-column field="purpose" title="目的/说明" align="left" show-overflow="title" />
</vxe-table>
</div>
</div>

View File

@@ -66,19 +66,19 @@
align="center"
title="姓名"
width="130"
show-overflow
show-overflow="title"
/>
<vxe-column
field="genderEnum_enumText"
align="center"
title="性别"
show-overflow
show-overflow="title"
/>
<vxe-column
align="center"
width="140"
title="就诊日期"
show-overflow
show-overflow="title"
>
<template #default="scope">
{{
@@ -138,7 +138,7 @@
<vxe-column
field="itemName"
title="药品名称"
show-overflow
show-overflow="title"
align="center"
/>
<vxe-column

View File

@@ -41,7 +41,7 @@
<!-- 数据表格 -->
<vxe-table v-loading="loading" :data="orderList" @checkbox-change="handleSelectionChange" border stripe>
<vxe-column type="checkbox" width="55" align="center" />
<vxe-column title="申请单号" field="applyNo" width="180" :show-overflow="true" />
<vxe-column title="申请单号" field="applyNo" width="180" show-overflow="title" />
<vxe-column title="申请类型" field="applyTypeName" width="80" align="center">
<template #default="{ row }">
<el-tag :type="row.applyType === 'exam' ? 'primary' : 'success'" size="small">
@@ -49,13 +49,13 @@
</el-tag>
</template>
</vxe-column>
<vxe-column title="患者ID" field="patientId" width="120" :show-overflow="true" />
<vxe-column title="患者姓名" field="patientName" width="100" :show-overflow="true" />
<vxe-column title="就诊号" field="visitNo" width="140" :show-overflow="true" />
<vxe-column title="开单科室" field="applyDeptCode" width="120" :show-overflow="true" />
<vxe-column title="申请医生" field="applyDocName" width="100" :show-overflow="true" />
<vxe-column title="患者ID" field="patientId" width="120" show-overflow="title" />
<vxe-column title="患者姓名" field="patientName" width="100" show-overflow="title" />
<vxe-column title="就诊号" field="visitNo" width="140" show-overflow="title" />
<vxe-column title="开单科室" field="applyDeptCode" width="120" show-overflow="title" />
<vxe-column title="申请医生" field="applyDocName" width="100" show-overflow="title" />
<vxe-column title="申请时间" field="applyTime" width="170" align="center" />
<vxe-column title="诊断/描述" field="clinicDesc" min-width="180" :show-overflow="true" />
<vxe-column title="诊断/描述" field="clinicDesc" min-width="180" show-overflow="title" />
<vxe-column title="加急" width="70" align="center">
<template #default="{ row }">
<el-tag v-if="row.isUrgent === 1" type="danger" size="small">加急</el-tag>

View File

@@ -46,7 +46,7 @@
<!-- 数据表格 -->
<vxe-table v-loading="loading" :data="orderList" @checkbox-change="handleSelectionChange" border stripe>
<vxe-column type="checkbox" width="55" align="center" />
<vxe-column title="申请单号" field="applyNo" width="180" :show-overflow="true" />
<vxe-column title="申请单号" field="applyNo" width="180" show-overflow="title" />
<vxe-column title="申请类型" field="applyTypeName" width="80" align="center">
<template #default="{ row }">
<el-tag :type="row.applyType === 'exam' ? 'primary' : 'success'" size="small">
@@ -54,19 +54,19 @@
</el-tag>
</template>
</vxe-column>
<vxe-column title="患者ID" field="patientId" width="120" :show-overflow="true" />
<vxe-column title="患者姓名" field="patientName" width="100" :show-overflow="true" />
<vxe-column title="就诊号" field="visitNo" width="140" :show-overflow="true" />
<vxe-column title="开单科室" field="applyDeptCode" width="120" :show-overflow="true" />
<vxe-column title="申请医生" field="applyDocName" width="100" :show-overflow="true" />
<vxe-column title="患者ID" field="patientId" width="120" show-overflow="title" />
<vxe-column title="患者姓名" field="patientName" width="100" show-overflow="title" />
<vxe-column title="就诊号" field="visitNo" width="140" show-overflow="title" />
<vxe-column title="开单科室" field="applyDeptCode" width="120" show-overflow="title" />
<vxe-column title="申请医生" field="applyDocName" width="100" show-overflow="title" />
<vxe-column title="申请时间" field="applyTime" width="170" align="center" />
<vxe-column title="诊断/描述" field="clinicDesc" min-width="180" :show-overflow="true" />
<vxe-column title="诊断/描述" field="clinicDesc" min-width="180" show-overflow="title" />
<vxe-column title="申请状态" width="100" align="center">
<template #default="{ row }">
<el-tag type="warning" size="small">待审批</el-tag>
</template>
</vxe-column>
<vxe-column title="备注" field="applyRemark" width="150" :show-overflow="true" />
<vxe-column title="备注" field="applyRemark" width="150" show-overflow="title" />
<vxe-column title="操作" width="160" align="center" fixed="right">
<template #default="{ row }">
<el-button type="success" link size="small" @click="handleApproveSingle(row)">

View File

@@ -35,10 +35,10 @@
height="calc(100vh - 320px)"
@cell-click="handlePatientClick"
>
<vxe-column field="patientName" title="姓名" align="center" width="120" show-overflow />
<vxe-column field="patientName" title="姓名" align="center" width="120" show-overflow="title" />
<vxe-column field="genderEnum_enumText" title="性别" align="center" width="70" />
<vxe-column field="age" title="年龄" align="center" width="60" />
<vxe-column field="encounterNo" title="门诊号" align="center" width="150" show-overflow />
<vxe-column field="encounterNo" title="门诊号" align="center" width="150" show-overflow="title" />
<vxe-column title="就诊日期" align="center" width="120">
<template #default="scope">
{{ scope.row.receptionTime ? formatDateStr(scope.row.receptionTime, 'YYYY-MM-DD') : '-' }}
@@ -82,9 +82,9 @@
@select="handleSelectionChange"
>
<vxe-column type="checkbox" width="55" align="center" />
<vxe-column field="itemName" title="项目名称" align="center" show-overflow />
<vxe-column field="itemName" title="项目名称" align="center" show-overflow="title" />
<vxe-column field="itemType" title="类型" align="center" width="100" />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow />
<vxe-column field="specification" title="规格" align="center" width="120" show-overflow="title" />
<vxe-column field="quantity" title="数量" align="center" width="80" />
<vxe-column field="unitPrice" title="单价" align="right" width="100">
<template #default="scope">
@@ -97,7 +97,7 @@
</template>
</vxe-column>
<vxe-column field="doctorName" title="开单医生" align="center" width="120" />
<vxe-column field="deptName" title="科室" align="center" width="140" show-overflow />
<vxe-column field="deptName" title="科室" align="center" width="140" show-overflow="title" />
<vxe-column title="开单时间" align="center" width="150">
<template #default="scope">
{{ scope.row.createTime ? formatDateStr(scope.row.createTime, 'YYYY-MM-DD HH:mm') : '-' }}

View File

@@ -167,7 +167,7 @@
title="ID"
min-width="150"
align="center"
show-overflow
show-overflow="title"
/>
<vxe-column
title="急"
@@ -204,7 +204,7 @@
field="invitedObject"
title="邀请对象"
min-width="150"
show-overflow
show-overflow="title"
/>
<vxe-column
field="consultationRequestDate"

View File

@@ -85,7 +85,7 @@
<vxe-table
v-loading="loading"
:data="definitionList"
show-overflow
show-overflow="title"
>
<vxe-column
type="checkbox"
@@ -283,7 +283,7 @@
<vxe-table
v-loading="loading"
:data="definitionList"
show-overflow
show-overflow="title"
>
<vxe-column
type="checkbox"
@@ -481,7 +481,7 @@
<vxe-table
v-loading="loading"
:data="definitionList"
show-overflow
show-overflow="title"
>
<vxe-column
type="checkbox"
@@ -617,7 +617,7 @@
<vxe-table
v-loading="detailLoading"
:data="definitionDetailList"
show-overflow
show-overflow="title"
>
<vxe-column
title="条件"

View File

@@ -18,7 +18,7 @@
align="center"
field="adviceName"
width="200"
show-overflow
show-overflow="title"
/>
<vxe-column
title="包装单位"
@@ -54,14 +54,14 @@
align="center"
field="volume"
width="120"
show-overflow
show-overflow="title"
/>
<vxe-column
title="用法"
align="center"
field="methodCode_dictText"
width="120"
show-overflow
show-overflow="title"
/>
<!-- 修改价格列从inventoryList中获取价格 -->
<vxe-column
@@ -89,7 +89,7 @@
align="center"
field="rateCode_dictText"
width="100"
show-overflow
show-overflow="title"
/>
<vxe-column
title="注射药品"
@@ -117,13 +117,13 @@
align="center"
field="ybNo"
width="100"
show-overflow
show-overflow="title"
/>
<!-- <vxe-column title="限制使用标志" align="center" field="useLimitFlag" /> -->
<vxe-column
title="限制使用范围"
align="center"
:show-overflow="true"
show-overflow="title"
field="useScope"
width="120"
>

View File

@@ -76,7 +76,7 @@
field="invitedObjectText"
title="邀请对象"
min-width="120"
show-overflow
show-overflow="title"
/>
<vxe-column
field="department"

View File

@@ -29,7 +29,7 @@
align="left"
field="name"
min-width="200"
show-overflow
show-overflow="title"
/>
<vxe-column
title="ICD代码"

View File

@@ -21,14 +21,14 @@
title="主诉"
align="left"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="时间"
align="center"
field="createTime"
width="180"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"

View File

@@ -64,7 +64,7 @@
align="left"
field="name"
min-width="180"
show-overflow
show-overflow="title"
>
<template #default="scope">
<el-tooltip
@@ -261,7 +261,7 @@
title="医嘱名称"
field="orderDefinitionName"
min-width="150"
show-overflow
show-overflow="title"
/>
<vxe-column
title="数量"
@@ -385,7 +385,7 @@
title="医嘱名称"
field="orderDefinitionName"
min-width="180"
show-overflow
show-overflow="title"
/>
<vxe-column
title="数量"
@@ -465,7 +465,7 @@
title="医嘱名称"
field="adviceName"
min-width="150"
show-overflow
show-overflow="title"
/>
<vxe-column
title="类型"
@@ -477,7 +477,7 @@
title="规格"
field="volume"
width="100"
show-overflow
show-overflow="title"
/>
<vxe-column
title="单价"

View File

@@ -96,7 +96,7 @@
align="center"
field="applyDeptName"
width="120"
show-overflow
show-overflow="title"
/>
<!-- 手术名称 -->
@@ -105,7 +105,7 @@
align="center"
field="surgeryName"
min-width="150"
show-overflow
show-overflow="title"
/>
<!-- 手术等级 -->

View File

@@ -66,19 +66,19 @@
align="center"
title="姓名"
width="130"
show-overflow
show-overflow="title"
/>
<vxe-column
field="genderEnum_enumText"
align="center"
title="性别"
show-overflow
show-overflow="title"
/>
<vxe-column
align="center"
width="140"
title="就诊日期"
show-overflow
show-overflow="title"
>
<template #default="scope">
{{
@@ -138,7 +138,7 @@
<vxe-column
field="itemName"
title="药品名称"
show-overflow
show-overflow="title"
align="center"
/>
<vxe-column

View File

@@ -33,7 +33,7 @@
</el-form>
<vxe-table :data="tableData" border height="calc(100vh - 400px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="messageId" title="消息ID" width="160" show-overflow />
<vxe-column field="messageId" title="消息ID" width="160" show-overflow="title" />
<vxe-column field="messageType" title="类型" width="100" />
<vxe-column field="sourceSystem" title="来源" width="100" />
<vxe-column field="targetSystem" title="目标" width="100" />

View File

@@ -23,9 +23,9 @@
</el-form>
<vxe-table :data="tableData" border height="calc(100vh - 320px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="serviceName" title="服务名称" width="160" show-overflow />
<vxe-column field="serviceName" title="服务名称" width="160" show-overflow="title" />
<vxe-column field="serviceVersion" title="版本" width="80" />
<vxe-column field="serviceEndpoint" title="端点" min-width="250" show-overflow />
<vxe-column field="serviceEndpoint" title="端点" min-width="250" show-overflow="title" />
<vxe-column field="protocol" title="协议" width="80" />
<vxe-column field="serviceStatus" title="状态" width="80" align="center">
<template #default="{ row }">

View File

@@ -113,17 +113,17 @@
<vxe-column
title="申请编号"
field="applicationNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="项目名称"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="项目编号"
field="busNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column title="医保编码">
<template #default="scope">
@@ -136,7 +136,7 @@
<vxe-column
title="项目分类"
field="itemTypeName"
:show-overflow="true"
show-overflow="title"
align="center"
width="100"
/>
@@ -173,14 +173,14 @@
<vxe-column
title="开始时间"
field="startDate"
:show-overflow="true"
show-overflow="title"
align="center"
width="150"
/>
<vxe-column
title="结束时间"
field="endDate"
:show-overflow="true"
show-overflow="title"
align="center"
width="150"
/>
@@ -547,32 +547,32 @@
<vxe-column
title="项目编号"
field="busNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="项目名称"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="医保编码"
field="ybNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="医保等级"
field="chrgitmLvName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="生产厂家"
field="manufacturerText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="规格"
field="totalVolume"
:show-overflow="true"
show-overflow="title"
/>
</vxe-table>
<pagination

View File

@@ -34,19 +34,19 @@
<vxe-column
title="医保分项编码"
field="ybClass"
:show-overflow="true"
show-overflow="title"
align="center"
/>
<vxe-column
title="医保分项名称"
field="ybClassName"
:show-overflow="true"
show-overflow="title"
align="center"
/>
<vxe-column
title="医保等级"
field="ybLvName"
:show-overflow="true"
show-overflow="title"
align="center"
/>
<!-- 自付比例列 -->
@@ -134,12 +134,12 @@
<vxe-column
title="项目编号"
field="busNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="项目名称"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="医保编码"
@@ -155,14 +155,14 @@
<vxe-column
title="项目分类"
field="itemTypeName"
:show-overflow="true"
show-overflow="title"
width="110"
align="center"
/>
<vxe-column
title="医保等级"
field="chrgitmLvName"
:show-overflow="true"
show-overflow="title"
width="110"
align="center"
/>
@@ -199,13 +199,13 @@
<vxe-column
title="开始时间"
field="startDate"
:show-overflow="true"
show-overflow="title"
align="center"
/>
<vxe-column
title="结束时间"
field="endDate"
:show-overflow="true"
show-overflow="title"
align="center"
/>
</vxe-table>

View File

@@ -109,98 +109,98 @@
<vxe-column
title="学号"
field="studentId"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
title="姓名"
field="name"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
title="性别"
field="gender_dictText"
:show-overflow="true"
show-overflow="title"
width="70"
align="center"
/>
<vxe-column
title="年龄"
field="age"
:show-overflow="true"
show-overflow="title"
width="70"
align="center"
/>
<vxe-column
title="身份证号"
field="idNumber"
:show-overflow="true"
show-overflow="title"
width="200"
/>
<vxe-column
title="电话"
field="phone"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
title="学院"
field="college"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
title="专业"
field="major"
:show-overflow="true"
show-overflow="title"
width="150"
/>
<vxe-column
title="年级"
field="grade"
:show-overflow="true"
show-overflow="title"
width="100"
/>
<vxe-column
title="学历层次"
field="educationLevel_dictText"
:show-overflow="true"
show-overflow="title"
width="120"
align="center"
/>
<vxe-column
title="入校时间"
field="enrollmentDate"
:show-overflow="true"
show-overflow="title"
width="120"
align="center"
/>
<vxe-column
title="离校时间"
field="graduationDate"
:show-overflow="true"
show-overflow="title"
width="120"
align="center"
/>
<vxe-column
title="学习形式"
field="studyMode_dictText"
:show-overflow="true"
show-overflow="title"
width="120"
align="center"
/>
<vxe-column
title="在校状态"
field="studentStatus_dictText"
:show-overflow="true"
show-overflow="title"
width="100"
align="center"
/>
<vxe-column
title="体检结果"
field="physicalExamResult_dictText"
:show-overflow="true"
show-overflow="title"
width="120"
align="center"
/>

View File

@@ -2,7 +2,7 @@
<div class="patient-list">
<vxe-table
:row-config="{ isCurrent: true }" :data="data"
show-overflow
show-overflow="title"
height="100%"
@current-change="handleCurrentChange"
>

View File

@@ -54,8 +54,7 @@
<vxe-table
ref="tableRef"
:data="treatHospitalizedData"
style="width: 100%"
height="100%"
min-width="1600px"
show-overflow="title"
@radio-change="handleRadioChange"
>
@@ -68,6 +67,7 @@
/>
<vxe-column
field="patientName"
min-width="120"
align="center"
title="申请患者"
/>
@@ -85,6 +85,7 @@
/>
<vxe-column
field="busNo"
min-width="140"
align="center"
title="患者住院号"
>
@@ -94,6 +95,7 @@
</vxe-column>
<vxe-column
field="contractNo"
min-width="140"
align="center"
title="费用性质"
>
@@ -105,7 +107,7 @@
field="idCard"
align="center"
title="身份证号码"
width="180"
width="200"
>
<template #default="scope">
{{ scope.row.idCard || '-' }}
@@ -113,9 +115,9 @@
</vxe-column>
<vxe-column
field="organizationName"
min-width="140"
align="center"
title="入院科室"
width="120"
>
<template #default="scope">
{{ scope.row.organizationName || '-' }}
@@ -125,10 +127,11 @@
field="requestTime"
align="center"
title="登记时间"
width="160"
width="170"
/>
<vxe-column
field="admitSourceCode"
min-width="100"
align="center"
title="入院类型"
>
@@ -149,6 +152,7 @@
</vxe-column>
<vxe-column
field="sourceName"
min-width="120"
align="center"
title="申请来源"
>
@@ -159,11 +163,13 @@
<vxe-column
field="wardName"
min-width="120"
align="center"
title="入院病区"
/>
<vxe-column
field="registrar"
min-width="100"
align="center"
title="登记员"
/>
@@ -269,6 +275,10 @@ const queryParams = ref({
pageSize: 10,
registeredFlag: '1',
searchKey: '',
idCard: '',
organizationId: '',
startTime: '',
endTime: '',
});
const treatHospitalizedData = ref([]);
@@ -326,8 +336,8 @@ const doVoid = (row) => {
.catch(() => {});
};
const handleRadioChange = ({ newValue }) => {
selectedRow.value = newValue;
const handleRadioChange = ({ row }) => {
selectedRow.value = row;
};
const handlePrintCertificate = async () => {
@@ -508,6 +518,7 @@ const getList = () => {
}
.table-container {
padding: 8px 16px;
overflow-x: auto;
}
}
</style>

View File

@@ -34,7 +34,7 @@
:data="treatHospitalizedData"
style="width: 100%"
height="100%"
show-overflow
show-overflow="title"
>
<vxe-column
type="seq"

View File

@@ -44,7 +44,7 @@
:data="treatHospitalizedData"
style="width: 100%"
height="100%"
show-overflow
show-overflow="title"
>
<vxe-column
type="seq"

View File

@@ -82,38 +82,38 @@
title="患者姓名"
align="center"
field="patientName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="支付状态"
align="center"
field="statusEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="费用类型"
align="center"
field="paymentEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="医保结算Id"
align="center"
field="ybSettleIds"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="收费流水号"
align="center"
field="paymentNo"
width="280"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="发票号"
align="center"
field="invoiceNo"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="结算金额"
@@ -121,7 +121,7 @@
field="tenderedAmount"
header-align="center"
width="100"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ scope.row.tenderedAmount + ' 元' }}</span>
@@ -133,7 +133,7 @@
field="displayAmount"
header-align="center"
width="100"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ scope.row.displayAmount + ' 元' }}</span>
@@ -145,7 +145,7 @@
align="center"
field="billDate"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.billDate) }}</span>
@@ -155,20 +155,20 @@
title="收款人"
align="center"
field="entererName"
:show-overflow="true"
show-overflow="title"
/>
<!-- <vxe-column title="医生" align="center" field="paymentEnum_enumText" /> -->
<vxe-column
title="支付结果"
align="center"
field="outcomeEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="打印次数"
align="center"
field="printCount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"
@@ -244,25 +244,25 @@
title="支付类型"
align="center"
field="payEnum_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="金额"
align="center"
field="amount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="找零"
align="center"
field="returnAmount"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="交款"
align="center"
field="chargeAmount"
:show-overflow="true"
show-overflow="title"
/>
</vxe-table>
</el-dialog>

View File

@@ -55,7 +55,7 @@
<vxe-table
:data="queryPpatientList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column
@@ -115,7 +115,7 @@
<vxe-table
:data="econDetailsInfo.bpubTypeList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column
@@ -143,7 +143,7 @@
<vxe-table
:data="econDetailsInfo.econIpdSettlePayAsToList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column

View File

@@ -55,7 +55,7 @@
<vxe-table
:data="queryPpatientList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column
@@ -134,7 +134,7 @@
<vxe-table
:data="econDetailsInfo.bpubTypeList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column
@@ -162,7 +162,7 @@
<vxe-table
:data="econDetailsInfo.econIpdSettlePayAsToList"
height="186px"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column

View File

@@ -40,17 +40,17 @@
<vxe-table
:data="patientListData"
height="100%"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column field="deptNurseName" title="病区" width="127" show-overflow />
<vxe-column field="deptNurseName" title="病区" width="127" show-overflow="title" />
<vxe-column field="bedName" title="床号" width="77" />
<vxe-column field="name" title="姓名" width="78" show-overflow />
<vxe-column field="name" title="姓名" width="78" show-overflow="title" />
<vxe-column
field="status"
title="状态"
min-width="108"
show-overflow
show-overflow="title"
:formatter="statusFormatter"
>
</vxe-column>

View File

@@ -5,7 +5,7 @@
-->
<template>
<el-dialog v-model="visible" top="6vh" width="930px" title="患者列表" :z-index="20">
<vxe-table :data="patientList" style="width: 100%;" height="300px" show-overflow>
<vxe-table :data="patientList" style="width: 100%;" height="300px" show-overflow="title">
<vxe-column field="deptNurseName" title="病区" width="100">
</vxe-column>
<vxe-column field="name" title="姓名" width="80" />

View File

@@ -33,7 +33,7 @@
</el-space>
</div>
<div class="payData-container">
<vxe-table :data="payData" height="100%" show-overflow
<vxe-table :data="payData" height="100%" show-overflow="title"
:style="{ 'border-right': '1px solid #eeeeee', height: '100%' }">
<vxe-column field="paywayName" title="缴费方式" width="99" />
<vxe-column field="amount" title="金额" width="117" align="right" header-align="left" />

View File

@@ -31,7 +31,7 @@
</el-space>
</div>
<div class="table-container">
<vxe-table :data="refundData" height="100%" show-overflow :style="{ height: '100%' }"
<vxe-table :data="refundData" height="100%" show-overflow="title" :style="{ height: '100%' }"
v-loading="prePayDataloading" @checkbox-change="selectionChange">
<vxe-column field="checkStatus" type="checkbox" width="38" header-row-class-name="removeAllSelect"
:selectable="selectablejisuna">

View File

@@ -116,7 +116,7 @@
<vxe-table
:data="itemSettlementData"
height="100%"
show-overflow
show-overflow="title"
:style="{ 'border-right': '1px solid #eeeeee', height: '100%' }"
>
<vxe-column
@@ -166,7 +166,7 @@
:data="reimbursementMethodData"
style="width: 100%"
height="100%"
show-overflow
show-overflow="title"
>
<vxe-column
field="nameLeft"
@@ -287,7 +287,7 @@
:data="prePayData"
style="width: 100%"
height="100%"
show-overflow
show-overflow="title"
>
<vxe-column
field="paywayName"

View File

@@ -64,14 +64,14 @@
<vxe-table
:data="patientListData"
height="100%"
show-overflow
show-overflow="title"
:style="{ height: '100%' }"
>
<vxe-column
field="deptNurseName"
title="病区"
width="127"
show-overflow
show-overflow="title"
/>
<vxe-column
field="bedName"
@@ -82,13 +82,13 @@
field="name"
title="姓名"
width="78"
show-overflow
show-overflow="title"
/>
<vxe-column
field="status"
title="状态"
min-width="108"
show-overflow
show-overflow="title"
:formatter="statusFormatter"
/>
<vxe-column

View File

@@ -40,7 +40,7 @@
style="width: 100%"
height="100%"
align="center"
show-overflow
show-overflow="title"
>
<vxe-column
type="checkbox"

View File

@@ -85,7 +85,7 @@
<el-row :gutter="16" class="settle-table-container">
<el-col :span="12" style="height: 100%">
<vxe-table :data="itemSettlementData" height="100%" show-overflow
<vxe-table :data="itemSettlementData" height="100%" show-overflow="title"
:style="{ 'border-right': '1px solid #eeeeee', height: '100%' }">
<vxe-column field="nameLeft" title="项目" min-width="100" />
<vxe-column field="costLeft" title="金额" width="121" align="right" header-align="left" />
@@ -94,7 +94,7 @@
</vxe-table>
</el-col>
<el-col :span="12" style="height: 100%">
<vxe-table :data="reimbursementMethodData" style="width: 100%" height="100%" show-overflow>
<vxe-table :data="reimbursementMethodData" style="width: 100%" height="100%" show-overflow="title">
<vxe-column field="nameLeft" title="报销方式" min-width="100" />
<vxe-column field="costLeft" title="金额" width="123" align="right" header-align="left" />
<vxe-column class-name="nameRight" field="nameRight" title="报销方式" min-width="100" />
@@ -154,7 +154,7 @@
</el-space>
</div>
<div class="advancedData-container">
<vxe-table :data="prePayData.prepayList" style="width: 100%" height="100%" show-overflow>
<vxe-table :data="prePayData.prepayList" style="width: 100%" height="100%" show-overflow="title">
<vxe-column field="paywayName" title="支付方式" width="147" />
<vxe-column field="amount" title="金额" align="right" header-align="left" width="93" />
<vxe-column field="remainingAmount" title="可用金额" width="94" align="right" header-align="left" />

View File

@@ -19,8 +19,8 @@
<vxe-table :data="tableData" border height="calc(100vh - 300px)" v-loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="name" title="诊断名称" min-width="180" show-overflow />
<vxe-column field="diagnosisDesc" title="诊断描述" min-width="200" show-overflow />
<vxe-column field="name" title="诊断名称" min-width="180" show-overflow="title" />
<vxe-column field="diagnosisDesc" title="诊断描述" min-width="200" show-overflow="title" />
<vxe-column field="classification" title="分类" width="100" />
<vxe-column field="maindiseFlag" title="主诊断" width="80" align="center">
<template #default="{ row }">

View File

@@ -10,8 +10,8 @@
</el-input>
<vxe-table :data="patientList" border height="calc(100vh - 260px)" :row-config="{ isCurrent: true }" @cell-click="handlePatientClick">
<vxe-column field="patientName" title="姓名" width="80" />
<vxe-column field="encounterNo" title="住院号" width="130" show-overflow />
<vxe-column field="deptName" title="科室" width="100" show-overflow />
<vxe-column field="encounterNo" title="住院号" width="130" show-overflow="title" />
<vxe-column field="deptName" title="科室" width="100" show-overflow="title" />
<vxe-column field="bedNo" title="床号" width="50" />
</vxe-table>
<pagination v-show="patientTotal > 0" v-model:page="pageNo" v-model:limit="pageSize" :total="patientTotal" @pagination="loadPatients" />
@@ -29,9 +29,9 @@
<vxe-table :data="feeItems" border height="calc(100vh - 320px)" v-loading="feeLoading" show-footer :footer-data="footerData">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="itemName" title="项目名称" min-width="180" show-overflow />
<vxe-column field="itemName" title="项目名称" min-width="180" show-overflow="title" />
<vxe-column field="itemType_dictText" title="类型" width="90" />
<vxe-column field="specification" title="规格" width="100" show-overflow />
<vxe-column field="specification" title="规格" width="100" show-overflow="title" />
<vxe-column field="quantity" title="数量" width="70" align="center" />
<vxe-column field="unitPrice" title="单价" width="90" align="right">
<template #default="{ row }">{{ row.unitPrice ? row.unitPrice.toFixed(2) : '-' }}</template>

View File

@@ -25,8 +25,8 @@
<vxe-column field="patientName" title="患者姓名" width="100" />
<vxe-column field="genderEnum_enumText" title="性别" width="60" />
<vxe-column field="age" title="年龄" width="50" />
<vxe-column field="encounterNo" title="住院号" width="140" show-overflow />
<vxe-column field="deptName" title="科室" width="120" show-overflow />
<vxe-column field="encounterNo" title="住院号" width="140" show-overflow="title" />
<vxe-column field="deptName" title="科室" width="120" show-overflow="title" />
<vxe-column field="bedNo" title="床号" width="60" />
<vxe-column field="admissionDate" title="入院日期" width="120" />
<vxe-column field="dischargeDate" title="出院日期" width="120" />
@@ -61,9 +61,9 @@
<div class="section-title">费用概览</div>
<vxe-table :data="prescriptionItems" border size="small" max-height="300">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="itemName" title="项目名称" min-width="160" show-overflow />
<vxe-column field="itemName" title="项目名称" min-width="160" show-overflow="title" />
<vxe-column field="itemType_dictText" title="类型" width="90" />
<vxe-column field="specification" title="规格" width="100" show-overflow />
<vxe-column field="specification" title="规格" width="100" show-overflow="title" />
<vxe-column field="quantity" title="数量" width="70" />
<vxe-column field="unitPrice" title="单价" width="90" align="right">
<template #default="{ row }">{{ row.unitPrice ? row.unitPrice.toFixed(2) : '-' }}</template>

View File

@@ -12,8 +12,8 @@
<vxe-column field="patientName" title="姓名" width="80" />
<vxe-column field="genderEnum_enumText" title="性别" width="50" />
<vxe-column field="age" title="年龄" width="50" />
<vxe-column field="encounterNo" title="住院号" width="130" show-overflow />
<vxe-column field="deptName" title="科室" width="100" show-overflow />
<vxe-column field="encounterNo" title="住院号" width="130" show-overflow="title" />
<vxe-column field="deptName" title="科室" width="100" show-overflow="title" />
<vxe-column field="bedNo" title="床号" width="60" />
</vxe-table>
</el-card>
@@ -34,7 +34,7 @@
<vxe-table :data="adviceList" border height="calc(100vh - 360px)" v-loading="adviceLoading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="adviceContent" title="医嘱内容" min-width="200" show-overflow />
<vxe-column field="adviceContent" title="医嘱内容" min-width="200" show-overflow="title" />
<vxe-column field="adviceType_dictText" title="类型" width="90" />
<vxe-column field="frequency" title="频次" width="80" />
<vxe-column field="dosage" title="剂量" width="80" />

View File

@@ -33,7 +33,7 @@
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="patientName" title="患者姓名" width="100" />
<vxe-column field="encounterNo" title="住院号" width="140" />
<vxe-column field="surgeryName" title="手术名称" min-width="180" show-overflow />
<vxe-column field="surgeryName" title="手术名称" min-width="180" show-overflow="title" />
<vxe-column field="surgeonName" title="手术医生" width="100" />
<vxe-column field="anesthesiologistName" title="麻醉医生" width="100" />
<vxe-column field="plannedTime" title="计划时间" width="160" />

View File

@@ -8,7 +8,7 @@
:table-height="400"
:max-height="400"
:loading="loading"
:row-config="{ keyField: 'patientId' }"
:row-config="{ keyField: 'adviceDefinitionId' }"
@cell-click="handleRowClick"
>
<template #quantity="{ row }">
@@ -26,15 +26,16 @@
import {computed, nextTick, ref} from 'vue';
import {throttle} from 'lodash-es';
import Table from '@/components/TableLayout/Table.vue';
// @ts-ignore: api.js 无类型声明
import {getAdviceBaseInfo} from './api';
import type {TableColumn} from '@/components/types/TableLayout';
import {TableColumn} from '@/components/types/TableLayout';
interface Props {
type Props = {
patientInfo: {
inHospitalOrgId?: string;
[key: string]: any;
};
}
};
const props = defineProps<Props>();
@@ -42,13 +43,23 @@ const emit = defineEmits<{
selectAdviceBase: [row: any];
}>();
interface QueryParams {
pageSize: number;
pageNo: number;
adviceTypes: number[];
searchKey?: string;
organizationId?: string;
categoryCode?: string;
dischargeFlag?: number;
}
const total = ref<number>(0);
const loading = ref<boolean>(false);
const adviceBaseRef = ref<InstanceType<typeof Table> | null>(null);
const tableWrapper = ref<HTMLDivElement | null>(null);
const currentIndex = ref<number>(0);
const currentSelectRow = ref<any>({});
const queryParams = ref({
const queryParams = ref<QueryParams>({
pageSize: 30,
pageNo: 1,
adviceTypes: [1, 2, 3, 6],
@@ -86,6 +97,9 @@ const tableColumns = computed<TableColumn[]>(() => [
* @param searchKey 搜索关键词
*/
function refresh(adviceType: any, categoryCode: string, searchKey: string) {
// 每次刷新时重置选中状态,防止上次选中的药品在新列表中残留
currentIndex.value = 0;
currentSelectRow.value = {};
// 有搜索词时跨类型搜索,避免用户输入"级护理"但因当前adviceType为药品而搜不到诊疗类护理项目
if (searchKey) {
queryParams.value.adviceTypes = [1, 2, 3, 6];
@@ -118,7 +132,7 @@ function getList() {
}
getAdviceBaseInfo(queryParams.value)
.then((res) => {
.then((res: any) => {
const records = res.data?.records || [];
// 药品/耗材需要有库存才显示,诊疗/手术直接显示
@@ -144,7 +158,7 @@ function getList() {
}
});
})
.catch((err) => {
.catch((err: any) => {
console.warn('医嘱基础信息加载失败:', err);
adviceBaseList.value = [];
})

View File

@@ -6,7 +6,7 @@
新增
</el-button>
<el-button type="primary" @click="handleSaveBatch()" :disabled="false"> 保存 </el-button>
<el-button type="primary" @click="handleSave()" :disabled="isSaveDisabled"> 签发 </el-button>
<el-button type="primary" :loading="loading || isSaving" :disabled="isSaveDisabled || loading || isSaving" @click="handleSave()"> 签发 </el-button>
<el-button type="warning" plain @click="handleSingOut()" :disabled="false">
撤回
</el-button>
@@ -174,6 +174,11 @@
:disabled="!isCategoryLoaded"
@change="
(value) => {
// 切换类型时强制收起编辑区,防止残留字段(如药品→诊疗时 dose/rateCode 未清理)
// 注意:模板内联表达式中 ref 自动解包expandOrder 即数组,不要加 .value
if (expandOrder.length > 0) {
collapseAllExpanded();
}
filterPrescriptionList[scope.rowIndex].adviceName = undefined;
// 根据选中的医嘱类型,设置对应的 categoryCode
const selectedItem = adviceTypeList.find(item => item.value === value);
@@ -196,7 +201,7 @@
searchKey: adviceQueryParams.value?.searchKey || '',
};
// 直接调用子组件 refresh 方法,立即刷新列表(用 scope.rowIndex 找到当前行的子组件)
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.rowIndex] : adviceTableRef.value;
const tableRef = getAdviceTableRef();
if (tableRef && tableRef.refresh) {
tableRef.refresh(newAdviceType, newCategoryCode, '');
}
@@ -221,7 +226,7 @@
popper-class="order-advice-popper"
:offset="0"
:visible="scope.row.showPopover"
:width="1200"
:width="advicePopperWidth"
:teleported="true"
:popper-options="advicePopperOptions"
>
@@ -246,7 +251,7 @@
if (['ArrowUp', 'ArrowDown', 'Enter'].includes(e.key)) {
e.preventDefault();
// 传递事件到弹窗容器
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[scope.rowIndex] : adviceTableRef.value;
const tableRef = getAdviceTableRef();
if (tableRef && tableRef.handleKeyDown) tableRef.handleKeyDown(e);
}
}
@@ -461,7 +466,7 @@ import {
} from '../api';
import adviceBaseList from '../adviceBaseList';
import {calculateQuantityByDays} from '@/utils/his';
import {localPatientInfo as patientInfo} from '../../store/localPatient.js';
import {localPatientInfo as localPatient} from '../../store/localPatient.js';
import OrderGroupDrawer from '@/views/doctorstation/components/prescription/orderGroupDrawer.vue';
import PrescriptionHistory from '@/views/doctorstation/components/prescription/prescriptionHistory.vue';
import Decimal from 'decimal.js';
@@ -492,7 +497,7 @@ const groupIndexList = ref([]);
const diagnosisList = ref([]);
const nextId = ref(1);
const unitCodeList = ref([]);
const adviceTableRef = ref([]);
const adviceTableRef = ref(null);
const organization = ref([]);
const conditionDefinitionId = ref('');
const encounterDiagnosisId = ref('');
@@ -505,6 +510,11 @@ const popoverJustClosedByKey = ref(null);
// 医嘱检索下拉浮框对齐:跟踪表格水平滚动偏移与主体区域边界限制
const tableScrollLeft = ref(0);
const mainBoundary = ref(null);
const advicePopperWidth = computed(() => {
// 取主体区域宽度与 900px 中较小值,避免小屏幕溢出;下限 500px
const mainWidth = mainBoundary.value?.clientWidth || window.innerWidth - 300;
return Math.max(500, Math.min(mainWidth - 24, 900));
});
const advicePopperStyle = computed(() => ({
padding: '0',
marginLeft: `-${tableScrollLeft.value}px`,
@@ -549,10 +559,10 @@ const unitMap = ref({
unit: 'unit',
});
const buttonDisabled = computed(() => {
return !patientInfo.value;
return !localPatient.value;
});
const isSaveDisabled = computed(() => {
return !patientInfo.value || prescriptionList.value.length === 0;
return !localPatient.value || prescriptionList.value.length === 0;
});
const props = defineProps({
patientInfo: {
@@ -763,7 +773,7 @@ function getListInfo(addNewRow) {
const orgTreePromise = getOrgTree().then((res) => {
organization.value = res?.data?.records ?? res?.data ?? [];
});
getPrescriptionList(patientInfo.value.encounterId).then((res) => {
getPrescriptionList(localPatient.value.encounterId).then((res) => {
// 等待科室树加载完成后再处理处方数据,确保 resolveOrgId 能正确匹配
orgTreePromise.then(() => {
loading.value = false;
@@ -830,10 +840,10 @@ function getListInfo(addNewRow) {
}
});
}).catch(() => { loading.value = false; });
getContract({ encounterId: patientInfo.value.encounterId }).then((res) => {
getContract({ encounterId: localPatient.value.encounterId }).then((res) => {
contractList.value = res.data;
});
accountId.value = patientInfo.value.accountId;
accountId.value = localPatient.value.accountId;
// 加载已配置的药品类别
loadConfiguredCategories();
@@ -843,7 +853,7 @@ function getListInfo(addNewRow) {
* 加载已配置的药品类别
*/
function loadConfiguredCategories() {
const orgId = patientInfo.value?.inHospitalOrgId;
const orgId = localPatient.value?.inHospitalOrgId;
if (!orgId) {
isCategoryLoaded.value = true; // 标记已加载即使没有科室ID
return;
@@ -917,7 +927,7 @@ const filterPrescriptionList = computed(() => {
});
function getDiagnosisInfo() {
getEncounterDiagnosis(patientInfo.value.encounterId).then((res) => {
getEncounterDiagnosis(localPatient.value.encounterId).then((res) => {
diagnosisList.value = res.data;
let diagnosisInfo = diagnosisList.value.filter((item) => {
return item.maindiseFlag == 1;
@@ -937,6 +947,7 @@ function getRowDisabled(row) {
/**
* 将行的 adviceType + categoryCode 映射为 el-select 的选中值
* 药品子分类使用复合值如 '1-2'adviceType-categoryCode诊疗/手术/全部使用原始值
* 注意el-select 使用严格匹配,返回值类型需与 adviceTypeList option value 一致
*/
function getRowSelectValue(row) {
if (row.adviceType == 1 && row.categoryCode) {
@@ -945,13 +956,17 @@ function getRowSelectValue(row) {
if (row.adviceType == 7) {
return 7;
}
// adviceType == 1 但没有 categoryCode 时无匹配项,返回 undefined 让 select 显示空
if (row.adviceType == 1) {
return undefined;
}
return row.adviceType;
}
// 新增医嘱
function handleAddPrescription() {
// 校验是否选中患者
if (!patientInfo.value || !patientInfo.value.encounterId) {
if (!localPatient.value || !localPatient.value.encounterId) {
proxy.$modal.msgWarning('请先选择患者');
return;
}
@@ -1002,9 +1017,9 @@ function checkUnit(item, row) {
* @returns {boolean} true=通过, false=不通过
*/
function validateStartTime(startTime) {
if (!startTime || !patientInfo.value?.inHospitalTime) return true;
if (!startTime || !localPatient.value?.inHospitalTime) return true;
const startDate = new Date(startTime);
const inHospitalDate = new Date(patientInfo.value.inHospitalTime);
const inHospitalDate = new Date(localPatient.value.inHospitalTime);
if (startDate < inHospitalDate) {
const pad = (n) => String(n).padStart(2, '0');
const d = inHospitalDate;
@@ -1168,25 +1183,40 @@ function handleFocus(row, index) {
return;
}
row.showPopover = true;
// Bug #555: handleFocus 初始化查询参数并加载初始数据searchKey 为空,无竞态风险
let categoryCode = '';
if (row.adviceType !== undefined) {
const selectValue = (adviceType == 1 && row.categoryCode) ? '1-' + row.categoryCode : adviceType;
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
categoryCode = selectedItem ? selectedItem.categoryCode : (row.categoryCode || '');
}
adviceQueryParams.value = { adviceType, categoryCode, searchKey: '' };
// 弹窗首次打开时加载初始数据
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[index] : adviceTableRef.value;
// 初始化查询参数searchKey 使用当前输入框已有文本,避免 @input 二次触发导致竞态
const searchKey = row.adviceName || '';
adviceQueryParams.value = { adviceType, categoryCode: resolveCategoryCode(row, adviceType), searchKey };
const tableRef = getAdviceTableRef();
if (tableRef && tableRef.refresh) {
tableRef.refresh(adviceType, categoryCode, '');
tableRef.refresh(adviceType, adviceQueryParams.value.categoryCode, searchKey);
}
}
/** 从行数据和 adviceType 解析 categoryCode */
function resolveCategoryCode(row, adviceType) {
if (row.adviceType !== undefined) {
const selectValue = (adviceType == 1 && row.categoryCode) ? '1-' + row.categoryCode : adviceType;
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
return selectedItem ? selectedItem.categoryCode : (row.categoryCode || '');
}
return '';
}
/** 获取 adviceTableRef单实例不在 v-for 中) */
function getAdviceTableRef() {
return adviceTableRef.value;
}
function handleBlur(row) {
row.showPopover = false;
// Bug #587: 标记弹窗刚关闭,防止点击空白处时触发行展开
popoverJustClosedByKey.value = row.uniqueKey;
// 延迟关闭弹窗,等待 click 事件在弹出层内容上正常触发
// 原因:浏览器 blur 事件先于 click 触发;同步关闭会移除 DOM导致 click 丢失
// 如果用户在弹出层内点击药品行selectAdviceBase 会在 150ms 内设 showPopover=false
// 此处的赋值变为 no-opfalse→false弹窗正常关闭且数据正确填充
setTimeout(() => {
row.showPopover = false;
// Bug #587: 标记弹窗刚关闭,防止点击空白处时触发行展开
popoverJustClosedByKey.value = row.uniqueKey;
}, 150);
}
function handleChange(value, row, index) {
@@ -1197,21 +1227,13 @@ function handleChange(value, row, index) {
return;
}
adviceQueryParams.value.searchKey = value;
// @focus 已先于 @input 执行rowIndex 必定有效
// popover 被 blur 关闭后,用户继续输入时自行打开
if (!row.showPopover) {
row.showPopover = true;
}
const tableRef = Array.isArray(adviceTableRef.value) ? adviceTableRef.value[index] : adviceTableRef.value;
const tableRef = getAdviceTableRef();
if (tableRef && tableRef.refresh) {
const adviceType = row?.adviceType !== undefined ? row.adviceType : adviceQueryParams.value.adviceType;
let categoryCode = '';
if (row?.adviceType !== undefined) {
const selectValue = (adviceType == 1 && row?.categoryCode) ? '1-' + row.categoryCode : adviceType;
const selectedItem = adviceTypeList.value.find(item => item.value === selectValue) || adviceTypeList.value.find(item => item.adviceType === adviceType);
categoryCode = selectedItem ? selectedItem.categoryCode : (adviceQueryParams.value.categoryCode || '');
}
tableRef.refresh(adviceType, categoryCode, value);
tableRef.refresh(adviceType, resolveCategoryCode(row, adviceType), value);
}
}
@@ -1279,9 +1301,10 @@ function selectAdviceBase(key, row) {
prescriptionList.value[rowIndex.value].skinTestFlag = 1;
prescriptionList.value[rowIndex.value].skinTestFlag_enumText = '是';
expandOrder.value = [currentUniqueKey];
const expandRow = filterPrescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
if (expandRow && prescriptionRef.value?.setRowExpand) {
prescriptionRef.value.setRowExpand([expandRow], true);
// 使用 prescriptionList 而非 filterPrescriptionList避免过滤后找不到行导致展开失败
const rowObj = prescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
if (rowObj && prescriptionRef.value?.setRowExpand) {
prescriptionRef.value.setRowExpand([rowObj], true);
}
expandOrderAndFocus(currentUniqueKey, row);
})
@@ -1290,17 +1313,18 @@ function selectAdviceBase(key, row) {
prescriptionList.value[rowIndex.value].skinTestFlag = 0;
prescriptionList.value[rowIndex.value].skinTestFlag_enumText = '否';
expandOrder.value = [currentUniqueKey];
const expandRow = filterPrescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
if (expandRow && prescriptionRef.value?.setRowExpand) {
prescriptionRef.value.setRowExpand([expandRow], true);
// 使用 prescriptionList 而非 filterPrescriptionList避免过滤后找不到行导致展开失败
const rowObj = prescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
if (rowObj && prescriptionRef.value?.setRowExpand) {
prescriptionRef.value.setRowExpand([rowObj], true);
}
expandOrderAndFocus(currentUniqueKey, row);
});
} else {
// 选完药品后展开编辑区域,供医生编辑剂量等字段
expandOrder.value = [currentUniqueKey];
// 直接调 vxe-table 实例方法展开expandRowKeys 仅在初始化时生效)
const rowObj = filterPrescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
// 使用 prescriptionList 而非 filterPrescriptionList避免过滤后找不到行导致展开失败
const rowObj = prescriptionList.value.find(item => item.uniqueKey === currentUniqueKey);
if (rowObj && prescriptionRef.value?.setRowExpand) {
prescriptionRef.value.setRowExpand([rowObj], true);
}
@@ -1539,9 +1563,9 @@ function handleSave() {
// 签发处理逻辑
function executeSaveLogic() {
saveList.forEach((item) => {
item.patientId = patientInfo.value.patientId;
item.encounterId = patientInfo.value.encounterId;
item.accountId = patientInfo.value.accountId;
item.patientId = localPatient.value.patientId;
item.encounterId = localPatient.value.encounterId;
item.accountId = localPatient.value.accountId;
item.dbOpType = '1';
// Bug #589: 出院带药保存时转为药品类型
if (item.adviceType == 7) {
@@ -1570,17 +1594,19 @@ function handleSave() {
// 保存签发按钮
isSaving.value = true;
console.log('签发处方参数:', {
organizationId: patientInfo.value.inHospitalOrgId,
organizationId: localPatient.value.inHospitalOrgId,
adviceSaveList: list,
});
savePrescriptionSign({
organizationId: patientInfo.value.inHospitalOrgId,
organizationId: localPatient.value.inHospitalOrgId,
regAdviceSaveList: list,
})
.then((res) => {
if (res.code === 200) {
proxy.$modal.msgSuccess('签发成功');
isSaving.value = false;
// 清除勾选状态
prescriptionRef.value?.clearCheckboxRow();
getListInfo(false);
bindMethod.value = {};
nextId.value == 1;
@@ -1636,8 +1662,8 @@ function handleOrderBindInfo(bindIdInfo) {
const newRow = {
...prescriptionList.value[rowIndex.value],
uniqueKey: nextId.value++,
patientId: patientInfo.value.patientId,
encounterId: patientInfo.value.encounterId,
patientId: localPatient.value.patientId,
encounterId: localPatient.value.encounterId,
accountId: accountId.value,
quantity: item.quantity,
methodCode: item.methodCode,
@@ -1742,8 +1768,8 @@ function handleSaveSign(row, index) {
// 执行保存
row.contentJson = undefined;
row.patientId = patientInfo.value.patientId;
row.encounterId = patientInfo.value.encounterId;
row.patientId = localPatient.value.patientId;
row.encounterId = localPatient.value.encounterId;
row.accountId = accountId.value;
// 🔧 文字医嘱(type=8)跳过计费逻辑总金额为0
@@ -1867,6 +1893,11 @@ function handleSaveBatch() {
const therapyEnum = item.therapyEnum || '1';
const result = {
...item,
// 确保 patientId/encounterId/accountId 始终存在,防止新增行未保存时这些字段为 null
// (新增行由 handleAddPrescription 创建时不携带患者信息,与其他保存路径保持一致)
patientId: item.patientId || localPatient.value?.patientId,
encounterId: item.encounterId || localPatient.value?.encounterId,
accountId: item.accountId || accountId.value,
therapyEnum: therapyEnum,
dbOpType: item.requestId ? '2' : '1',
// 确保 skinTestFlag 是数字类型1 或 0
@@ -1992,15 +2023,17 @@ function setValue(row) {
// 2. 诊疗类型优先使用项目维护的所属科室(row.orgId)其次positionId
// 3. 如果都为空,回退到患者当前所在科室(patientInfo.orgId)
// 4. 使用 resolveOrgId 从组织树中匹配正确的 String id解决大 Long 精度丢失问题
orgId: row.adviceType != 3 ? undefined : (resolveOrgId(row.orgId || row.positionId || patientInfo.value?.inHospitalOrgId) || ''),
orgId: row.adviceType != 3 ? undefined : (resolveOrgId(row.orgId || row.positionId || localPatient.value?.inHospitalOrgId) || ''),
// 🔧 修复:同时保存 orgName当 orgId 在科室树中匹配不到时作为兜底显示
orgName: row.adviceType != 3 ? undefined : (findOrgName(row.orgId || row.positionId || patientInfo.value?.inHospitalOrgId) || row.orgName || patientInfo.value?.inHospitalOrgName || ''),
orgName: row.adviceType != 3 ? undefined : (findOrgName(row.orgId || row.positionId || localPatient.value?.inHospitalOrgId) || row.orgName || localPatient.value?.inHospitalOrgName || ''),
// dose: undefined, Removed to preserve dose value from group package
unitCodeList: unitCodeList.value,
doseUnitCode: row.doseUnitCode,
minUnitCode: String(row.minUnitCode),
unitCode: row.partAttributeEnum == 1 ? String(row.minUnitCode) : String(row.unitCode),
categoryEnum: row.categoryCode,
// 显式保留 categoryCode防止 API 未返回时类型下拉框显示空白
categoryCode: row.categoryCode || baseRow.categoryCode || prevRow.categoryCode || '',
categoryEnum: row.categoryCode || baseRow.categoryCode || prevRow.categoryEnum || '',
// 确保 skinTestFlag 是数字类型1 或 0如果未定义则默认为 0
skinTestFlag: row.skinTestFlag !== undefined && row.skinTestFlag !== null
? (typeof row.skinTestFlag === 'number' ? row.skinTestFlag : (row.skinTestFlag ? 1 : 0))
@@ -2100,8 +2133,8 @@ function handleSaveGroup(orderGroupList) {
...prescriptionList.value[tempIndex],
requesterId_dictText: userStore.nickName,
requesterId: userStore.id,
patientId: patientInfo.value.patientId,
encounterId: patientInfo.value.encounterId,
patientId: localPatient.value.patientId,
encounterId: localPatient.value.encounterId,
accountId: accountId.value,
// 🔧 修复 Bug #403从 mergedDetail 读取明细字段,而非直接从 item 取
// item.dose 等字段可能为 nullmergedDetail 已做 ?? 兜底
@@ -2115,9 +2148,9 @@ function handleSaveGroup(orderGroupList) {
unitCode: mergedDetail.unitCode ?? item.unitCode,
unitCode_dictText: item.unitCodeName || mergedDetail.unitCodeName || '',
statusEnum: 1,
orgId: resolveOrgId(mergedDetail.orgId || patientInfo.value?.inHospitalOrgId) || '',
orgId: resolveOrgId(mergedDetail.orgId || localPatient.value?.inHospitalOrgId) || '',
// 🔧 修复:同时存储 orgName确保树匹配不到时仍有中文名称可显示
orgName: findOrgName(mergedDetail.orgId || patientInfo.value?.inHospitalOrgId) || mergedDetail.orgName || patientInfo.value?.inHospitalOrgName || '',
orgName: findOrgName(mergedDetail.orgId || localPatient.value?.inHospitalOrgId) || mergedDetail.orgName || localPatient.value?.inHospitalOrgName || '',
startTime: mergedDetail.startTime || defaultStartTimeFn(),
dbOpType: prescriptionList.value[tempIndex].requestId ? '2' : '1',
conditionId: conditionId.value,
@@ -2161,8 +2194,8 @@ function handleSaveHistory(value) {
...value,
requesterId_dictText: userStore.nickName,
requesterId: userStore.id,
patientId: patientInfo.value.patientId,
encounterId: patientInfo.value.encounterId,
patientId: localPatient.value.patientId,
encounterId: localPatient.value.encounterId,
accountId: accountId.value,
uniqueKey: undefined,
startTime: defaultStartTimeFn(),
@@ -2386,9 +2419,9 @@ function confirmStopAdvice() {
return;
}
// 校验:停嘱时间不能早于患者入院时间
if (patientInfo.value?.inHospitalTime) {
if (localPatient.value?.inHospitalTime) {
const stopDate = new Date(stopForm.stopTime);
const inHospitalDate = new Date(patientInfo.value.inHospitalTime);
const inHospitalDate = new Date(localPatient.value.inHospitalTime);
if (stopDate < inHospitalDate) {
const pad = (n) => String(n).padStart(2, '0');
const d = inHospitalDate;
@@ -2903,7 +2936,7 @@ function sortPrescriptionList() {
}
function handleLeaveHospital() {
if (!patientInfo.value) {
if (!localPatient.value) {
proxy.$modal.msgWarning('请先选择患者');
return;
}
@@ -3053,7 +3086,7 @@ defineExpose({ getListInfo, getDiagnosisInfo });
.inpatientDoctor-order-table {
flex: auto;
width: 100%;
min-height: 0;
min-height: 300px;
overflow: auto;
}
.applicationForm-bottom-btn {

View File

@@ -398,7 +398,7 @@
<vxe-column
title="组套名称"
min-width="180"
show-overflow
show-overflow="title"
>
<template #default="scope">
{{ scope.row.name || scope.row.Name || '' }}

View File

@@ -9,7 +9,7 @@
:row-config="{ keyField: 'id' }"
style="width: 100%; height: 100%"
:show-header="false"
show-overflow
show-overflow="title"
@checkbox-change="handleSelectionChange"
>
<vxe-column

View File

@@ -8,7 +8,7 @@
:data="medicalOrderListData"
:row-config="{ keyField: 'id' }"
style="width: 100%; height: 100%"
show-overflow
show-overflow="title"
>
<vxe-column
title="类型"

View File

@@ -9,7 +9,7 @@
:row-config="{ keyField: 'id' }"
style="width: 100%; height: 100%"
:show-header="false"
show-overflow
show-overflow="title"
@checkbox-change="handleSelectionChange"
>
<vxe-column

View File

@@ -115,7 +115,7 @@
style="width: 100%; height: 100%"
border
:span-method="arraySpanMethod"
show-overflow
show-overflow="title"
>
<vxe-column type="checkbox" />
<vxe-column
@@ -229,7 +229,7 @@
style="width: 100%; height: 100%"
border
:span-method="arraySpanMethod"
show-overflow
show-overflow="title"
>
<vxe-column type="checkbox" />
<vxe-column

View File

@@ -45,7 +45,7 @@
:data="bedList"
:row-config="{ keyField: 'locationId' }"
style="width: 100%; height: 100%"
show-overflow
show-overflow="title"
max-height="400px"
@cell-click="selectBed"
>

View File

@@ -101,7 +101,7 @@
:data="patientData"
:row-config="{ keyField: 'id' }"
style="width: 100%; height: 100%"
show-overflow
show-overflow="title"
max-height="800px"
@cell-dblclick="openPatientDetailDialog"
>

View File

@@ -451,6 +451,17 @@ function handleGetPrescription(skipAutoSelectAll = false) {
.map((x) => x.trim())
.filter((x) => x !== '')
.map((x) => normalizeDayTimeHm(x));
// 如果频次表(adm_frequency)中 day_times 为空,降级使用 executeNum 生成默认时间点
// 避免长期医嘱因缺失 dayTimes 被静默过滤(不显示在待执行列表)
if (!rate || rate.length === 0) {
const execCount = prescription.executeNum || 1;
// 生成默认时间点:从 08:00 开始,按 executeNum 均分到 20:00
rate = Array.from({ length: execCount }, (_, i) => {
const h = 8 + Math.floor((12 / execCount) * i);
const m = Math.round(((12 / execCount) * i) % 1 * 60);
return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;
});
}
// 用截止时间和医嘱签发时间算出全部执行日期
times = getDateRange(prescription.requestTime, deadline.value);
} else {

View File

@@ -63,9 +63,10 @@
</template>
<script setup>
import {getCurrentInstance, ref, nextTick, provide} from 'vue';
import {getCurrentInstance, ref, nextTick, provide, watch, onActivated} from 'vue';
import PatientList from '../components/patientList.vue';
import PrescriptionList from './components/prescriptionList.vue';
import { patientInfoList } from '../components/store/patient.js';
import { RequestStatus } from '@/utils/medicalConstants';
const activeName = ref('preparation');
@@ -129,6 +130,31 @@ function handleClick(tabName) {
provide('handleGetPrescription', (value) => {
prescriptionRefs.value[activeName.value].handleGetPrescription();
});
// 监听患者列表变化自动触发当前tab数据加载
// 解决从校对页面切换过来时lazy tab 未挂载导致数据不刷新的问题)
const autoFetchDone = ref(false);
watch(patientInfoList, async (newVal) => {
if (!autoFetchDone.value && newVal.length > 0) {
autoFetchDone.value = true;
// 等待组件挂载完成、模板refprescriptionRefs填充后再触发数据加载
// immediate 回调在 setup 阶段同步执行此时模板尚未渲染prescriptionRefs 为空
await nextTick();
nextTick(() => {
handleClick(activeName.value);
});
}
}, { immediate: true });
// keep-alive 缓存后重新激活时,强制刷新当前 tab 数据
// 校对通过长期医嘱后切换到执行页面autoFetchDone 已为 true 不会再触发)
onActivated(() => {
if (patientInfoList.value.length > 0) {
nextTick(() => {
handleClick(activeName.value);
});
}
});
</script>
<style scoped>

View File

@@ -30,7 +30,7 @@
<!-- 待入科列表 -->
<div class="patientList-table">
<vxe-table :data="patientListData" :row-config="{ keyField: 'id' }" style="width: 100%; height: 100%"
@checkbox-change="handleSelectionChange" :show-header="false" show-overflow>
@checkbox-change="handleSelectionChange" :show-header="false" show-overflow="title">
<!-- <vxe-column type="checkbox" :width="isCollapsed ? 14 : 20" /> -->
<vxe-column title="姓名" field="name" min-width="100">
<template #default="{ row }">

View File

@@ -30,7 +30,7 @@
<!-- 待入科列表 -->
<div class="patientList-table">
<vxe-table :data="patientListData" :row-config="{ keyField: 'id' }" style="width: 100%; height: 100%"
@checkbox-change="handleSelectionChange" :show-header="false" show-overflow>
@checkbox-change="handleSelectionChange" :show-header="false" show-overflow="title">
<!-- <vxe-column type="checkbox" :width="isCollapsed ? 14 : 20" /> -->
<vxe-column title="姓名" field="name" min-width="100">
<template #default="{ row }">

View File

@@ -207,7 +207,7 @@
>
<template #default="scope">
<el-tag
:type="getStatusType(scope.row.requestStatus)"
:type="getStatusType(scope.row)"
size="small"
>
{{ getStatusDisplayText(scope.row) }}
@@ -430,6 +430,11 @@ const getStatusDisplayText = (row) => {
if (DISPENSE_STATUS_DISPLAY[dispenseCode]) {
return DISPENSE_STATUS_DISPLAY[dispenseCode];
}
// 2.5 兼容后端未更新 dispenseStatus 的情况:通过执行记录列表判断是否已执行
const exeRecords = row?.exePerformRecordList;
if (exeRecords && Array.isArray(exeRecords) && exeRecords.length > 0) {
return '已执行';
}
// 3. 最后回退到其他请求状态
if (REQUEST_STATUS_DISPLAY[requestCode]) {
return REQUEST_STATUS_DISPLAY[requestCode];
@@ -439,7 +444,13 @@ const getStatusDisplayText = (row) => {
};
const getStatusType = (status) => {
const getStatusType = (row) => {
// '已执行'状态优先用 success 色,与 getStatusDisplayText 保持一致
const displayText = getStatusDisplayText(row);
if (displayText === '已执行') {
return 'success';
}
const status = row?.requestStatus;
const map = {
[RequestStatus.DRAFT]: 'info',
[RequestStatus.ACTIVE]: 'primary',
@@ -452,9 +463,10 @@ const getStatusType = (status) => {
};
return map[status] || 'info';
};
/** 选中医嘱中是否包含已执行或已发药记录 — 用于禁用退回按钮 */
const hasDispensedSelected = computed(() => {
selectionTrigger.value;
return getSelectRows().some(item => item.dispenseStatus === 4);
return getSelectRows().some(item => item.dispenseStatus === 11 || item.dispenseStatus === 4);
});
const props = defineProps({
requestStatus: {
@@ -591,6 +603,12 @@ function handleCheck() {
function handleCancel() {
let list = getSelectRows();
if (list.length > 0) {
// 校验已执行的医嘱不允许直接退回
let executedItems = list.filter(item => item.dispenseStatus === 11);
if (executedItems.length > 0) {
proxy.$message.error('选中医嘱已执行,请先在"医嘱执行"界面取消执行后再执行退回操作');
return;
}
// 校验已发药的医嘱不允许退回
let dispensedItems = list.filter(item => item.dispenseStatus === 4);
if (dispensedItems.length > 0) {

View File

@@ -66,6 +66,7 @@
import PatientList from '../components/patientList.vue';
import PrescriptionList from './components/prescriptionList.vue';
import { RequestStatus } from '@/utils/medicalConstants';
import { patientInfoList } from '../components/store/patient.js';
const activeName = ref('unverified');
const active = ref('first');
@@ -123,6 +124,30 @@ function handleTabClick(tabName) {
provide('handleGetPrescription', (value) => {
prescriptionRefs.value[activeName.value].handleGetPrescription();
});
// 监听患者列表变化自动触发当前tab数据加载
// (解决切换医嘱校对/医嘱执行tab后组件重建时数据不刷新的问题
const autoFetchDone = ref(false);
watch(patientInfoList, async (newVal) => {
if (!autoFetchDone.value && newVal.length > 0) {
autoFetchDone.value = true;
// 等待组件挂载完成、模板refprescriptionRefs填充后再触发数据加载
// immediate 回调在 setup 阶段同步执行此时模板尚未渲染prescriptionRefs 为空
await nextTick();
nextTick(() => {
handleTabClick(activeName.value);
});
}
}, { immediate: true });
// keep-alive 缓存后重新激活时,强制刷新当前 tab 数据
onActivated(() => {
if (patientInfoList.value.length > 0) {
nextTick(() => {
handleTabClick(activeName.value);
});
}
});
</script>
<style scoped>

View File

@@ -110,4 +110,15 @@ export function deleteRecordTemplate(data) {
method: 'post',
data: data
})
}
/**
* 批量保存护理记录单
*/
export function batchSaveRecord(data) {
return request({
url: '/nursing-record/batch-save',
method: 'post',
data: data
})
}

View File

@@ -145,91 +145,91 @@
title="仪器编码"
align="center"
field="instrumentCode"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="instrumentName"
title="仪器名称"
align="center"
field="instrumentName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="instrumentMainCode"
title="主编码"
align="center"
field="instrumentMainCode"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="instrumentTypeEnumText"
title="类型"
align="center"
field="instrumentTypeEnumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="instrumentModel"
title="型号"
align="center"
field="instrumentModel"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="manufacturer"
title="生产厂家"
align="center"
field="manufacturer"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="serialNumber"
title="序列号"
align="center"
field="serialNumber"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="purchasingCompany"
title="采购单位"
align="center"
field="purchasingCompany"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="contactPerson"
title="联系人"
align="center"
field="contactPerson"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="purchaseDate"
title="采购日期"
align="center"
field="purchaseDate"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="originalPrice"
title="原价"
align="center"
field="originalPrice"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="transactionPrice"
title="成交价"
align="center"
field="transactionPrice"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="installationDate"
title="安装日期"
align="center"
field="installationDate"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.installationDate ) }}</span>
@@ -240,84 +240,84 @@
title="安装人"
align="center"
field="installationPerson"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="maintenancePerson"
title="维护人"
align="center"
field="maintenancePerson"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="orgId_dictText"
title="使用科室"
align="center"
field="orgId_dictText"
:show-overflow="true"
show-overflow="title"
/>>
<vxe-column
key="identificationPerson"
title="鉴定人"
align="center"
field="identificationPerson"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="recordedTemperature"
title="记录温度"
align="center"
field="recordedTemperature"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="accessories"
title="附件"
align="center"
field="accessories"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="instrumentStatusEnum"
title="仪器状态"
align="center"
field="instrumentStatusEnum"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="damageReportDate"
title="报损日期"
align="center"
field="damageReportDate"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="recheckableInstrumentEnum"
title="可复检"
align="center"
field="recheckableInstrumentEnum"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="usageStatusEnum"
title="使用情况"
align="center"
field="usageStatusEnum"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="decommissionReason"
title="报废原因"
align="center"
field="decommissionReason"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="remarks"
title="备注"
align="center"
field="remarks"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column

View File

@@ -146,7 +146,7 @@
title="观测名称"
align="center"
field="name"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
@@ -154,7 +154,7 @@
title="观测代码"
align="center"
field="code"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
@@ -162,7 +162,7 @@
title="观测类型"
align="center"
field="observationTypeEnumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
@@ -170,7 +170,7 @@
title="参考范围"
align="center"
field="referenceRange"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
@@ -178,7 +178,7 @@
title="仪器"
align="center"
field="instrumentId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
@@ -186,7 +186,7 @@
title="状态"
align="center"
field="statusEnumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"

View File

@@ -145,91 +145,91 @@
title="样本类型"
align="center"
field="specimenTypeEnumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="specimenName"
title="样本名称"
align="center"
field="specimenName"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="customCode"
title="自定义码"
align="center"
field="customCode"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="typeOrder"
title="类型顺序"
align="center"
field="typeOrder"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="externalCode"
title="外部代码"
align="center"
field="externalCode"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="serialNumber"
title="序号"
align="center"
field="serialNumber"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="globalType"
title="全网型"
align="center"
field="globalType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="pyStr"
title="拼音"
align="center"
field="pyStr"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="wbStr"
title="五笔"
align="center"
field="wbStr"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="specimenClass"
title="样本类"
align="center"
field="specimenClass"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="extendedType"
title="扩展类型"
align="center"
field="extendedType"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="whonetCode"
title="WHONET代码"
align="center"
field="whonetCode"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="statusEnumText"
title="状态"
align="center"
field="statusEnumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
title="操作"

View File

@@ -159,7 +159,7 @@
field="packageName"
title="套餐名称"
min-width="150"
show-overflow
show-overflow="title"
/>
<vxe-column
field="packageType"

View File

@@ -113,7 +113,7 @@
align="center"
field="supplierId_dictText"
width="180"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ scope.row.supplierId_dictText || '-' }}</span>

View File

@@ -254,7 +254,7 @@
field="itemBusNo"
width="160"
fixed
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -276,7 +276,7 @@
field="itemName"
width="160"
fixed
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -310,7 +310,7 @@
align="center"
field="totalVolume"
width="200"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -331,7 +331,7 @@
align="center"
field="lotNumber"
width="120"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item :prop="`purchaseinventoryList.${scope.rowIndex}.lotNumber`">
@@ -350,7 +350,7 @@
align="center"
key="unitCode_dictText"
field="unitCode_dictText"
:show-overflow="true"
show-overflow="title"
width="110"
>
<template #default="scope">
@@ -396,7 +396,7 @@
align="center"
field="partPercent"
width="110"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -447,7 +447,7 @@
title="盘点单位"
align="center"
field="unitCode"
:show-overflow="true"
show-overflow="title"
width="90"
>
<template #default="scope">
@@ -491,7 +491,7 @@
key="price"
field="price"
width="110"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -517,7 +517,7 @@
align="center"
field="totalPurposeQuantity"
width="110"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -538,7 +538,7 @@
align="center"
field="totalQuantity"
width="110"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -560,7 +560,7 @@
align="center"
field="totalPrice"
width="130"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -588,7 +588,7 @@
align="center"
field="itemQuantity"
width="110"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -609,7 +609,7 @@
align="center"
field="profitAmount"
width="140"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -630,7 +630,7 @@
title="盈亏类型"
align="center"
field="reasonCode"
:show-overflow="true"
show-overflow="title"
width="110"
>
<template #default="scope">
@@ -663,7 +663,7 @@
title="盈亏原因"
align="center"
field="reason"
:show-overflow="true"
show-overflow="title"
width="110"
>
<template #default="scope">
@@ -686,7 +686,7 @@
align="center"
field="ybNo"
width="240"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -706,7 +706,7 @@
title="厂家/产地"
align="center"
field="manufacturerText"
:show-overflow="true"
show-overflow="title"
width="260"
>
<template #default="scope">

View File

@@ -264,7 +264,7 @@
align="center"
field="volume"
width="140"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<el-form-item
@@ -284,7 +284,7 @@
title="厂家/产地"
align="center"
field="manufacturerText"
:show-overflow="true"
show-overflow="title"
width="220"
>
<template #default="scope">
@@ -350,7 +350,7 @@
title="盘点单位"
align="center"
field="unitCode"
:show-overflow="true"
show-overflow="title"
width="90"
>
<template #default="scope">
@@ -491,7 +491,7 @@
title="盈亏类型"
align="center"
field="reasonCode"
:show-overflow="true"
show-overflow="title"
width="120"
>
<template #default="scope">
@@ -523,7 +523,7 @@
title="盈亏原因"
align="center"
field="reason"
:show-overflow="true"
show-overflow="title"
width="150"
>
<template #default="scope">

View File

@@ -155,7 +155,7 @@
title="厂家/产地"
align="center"
field="manufacturerText"
show-overflow
show-overflow="title"
/>
<vxe-column
title="产品批号"

View File

@@ -138,49 +138,49 @@
align="center"
field="supplyBusNo"
width="200"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="typeEnum_enumText"
title="单据类型"
align="center"
field="typeEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="statusEnum_enumText"
title="审批状态"
align="center"
field="statusEnum_enumText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="purposeLocationId_dictText"
title="盘点仓库"
align="center"
field="purposeLocationId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="breakevenPrice"
title="盈亏金额"
align="center"
field="breakevenPrice"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="applicantId_dictText"
title="制单人"
align="center"
field="applicantId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="approverId_dictText"
title="审核人"
align="center"
field="approverId_dictText"
:show-overflow="true"
show-overflow="title"
/>
<vxe-column
key="createTime"
@@ -188,7 +188,7 @@
align="center"
field="createTime"
width="180"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@@ -200,7 +200,7 @@
align="center"
field="approvalTime"
width="180"
:show-overflow="true"
show-overflow="title"
>
<template #default="scope">
<span>{{ parseTime(scope.row.approvalTime) }}</span>

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