Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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, "批量护理记录保存成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -50,4 +50,8 @@ public class NursingRecordDto {
|
||||
/** 是否同步到体温单 */
|
||||
private Boolean vitalSignsSyncFlag;
|
||||
|
||||
/** 前端临时ID映射标识 */
|
||||
private String tempId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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);
|
||||
|
||||
// 导入公告帮助工具
|
||||
|
||||
@@ -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 || '系统默认' }}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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="状态"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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="医保标记"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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}岁` : '-' }}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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="操作"
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)">
|
||||
|
||||
@@ -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') : '-' }}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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="条件"
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
field="invitedObjectText"
|
||||
title="邀请对象"
|
||||
min-width="120"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
/>
|
||||
<vxe-column
|
||||
field="department"
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
align="left"
|
||||
field="name"
|
||||
min-width="200"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
/>
|
||||
<vxe-column
|
||||
title="ICD代码"
|
||||
|
||||
@@ -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="操作"
|
||||
|
||||
@@ -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="单价"
|
||||
|
||||
@@ -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"
|
||||
/>
|
||||
|
||||
<!-- 手术等级 -->
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
/>
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
:data="treatHospitalizedData"
|
||||
style="width: 100%"
|
||||
height="100%"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
>
|
||||
<vxe-column
|
||||
type="seq"
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
:data="treatHospitalizedData"
|
||||
style="width: 100%"
|
||||
height="100%"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
>
|
||||
<vxe-column
|
||||
type="seq"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
style="width: 100%"
|
||||
height="100%"
|
||||
align="center"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
>
|
||||
<vxe-column
|
||||
type="checkbox"
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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 = [];
|
||||
})
|
||||
|
||||
@@ -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-op(false→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 等字段可能为 null,mergedDetail 已做 ?? 兜底
|
||||
@@ -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 {
|
||||
|
||||
@@ -398,7 +398,7 @@
|
||||
<vxe-column
|
||||
title="组套名称"
|
||||
min-width="180"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.name || scope.row.Name || '' }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:data="medicalOrderListData"
|
||||
:row-config="{ keyField: 'id' }"
|
||||
style="width: 100%; height: 100%"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
>
|
||||
<vxe-column
|
||||
title="类型"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
|
||||
@@ -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"
|
||||
>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
// 等待组件挂载完成、模板ref(prescriptionRefs)填充后再触发数据加载
|
||||
// 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>
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
// 等待组件挂载完成、模板ref(prescriptionRefs)填充后再触发数据加载
|
||||
// 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>
|
||||
|
||||
@@ -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
|
||||
})
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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="操作"
|
||||
|
||||
@@ -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="操作"
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
field="packageName"
|
||||
title="套餐名称"
|
||||
min-width="150"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
/>
|
||||
<vxe-column
|
||||
field="packageType"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
title="厂家/产地"
|
||||
align="center"
|
||||
field="manufacturerText"
|
||||
show-overflow
|
||||
show-overflow="title"
|
||||
/>
|
||||
<vxe-column
|
||||
title="产品批号"
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user