fix(#591): 请修复 Bug #591:【住院医生站-临床医嘱】长期医嘱点击停嘱未弹出时间录入弹窗

根因:
- Bug #请修复 Bug #591 存在的问题

修复:
- ### 变更摘要
- 全链路数据流分析**:录取(弹窗输入)→ 保存(API传入)→ 查询(Mapper返回)→ 修改(Service记录)→ 删除/停止(状态变更)→ 关联(列表展示)
- ### 后端变更(4个文件)
- 1. `AdviceBatchOpParam.java`** — 停嘱参数添加 `stopTime` 字段
- 新增 `@JsonFormat Date stopTime`,支持前端传入停嘱时间
- 2. `RequestBaseDto.java`** — 查询DTO添加 `stopUserName`、`stopTime` 字段
- 新增 `String stopUserName`(停嘱医生姓名)
- 新增 `Date stopTime`(停嘱时间)
- 3. `AdviceManageAppServiceImpl.java`** — 停嘱Service增强
- 优先使用前端传入的 `stopTime`,兜底用当前时间
- 通过 `SecurityUtils.getNickName()` 获取当前操作用户昵称,记录到 `updateBy`
- 药品和诊疗两个更新入口均已同步修改
- 4. `AdviceManageAppMapper.xml`** — 三个UNION ALL子查询添加字段
- 药品子查询:`T1.effective_dose_end AS stop_time` + `T1.update_by AS stop_user_name`
- 耗材子查询:`NULL AS stop_time` + `'' AS stop_user_name`
- 诊疗子查询:`T1.occurrence_end_time AS stop_time` + `T1.update_by AS stop_user_name`
- ### 前端变更(1个文件)
- `order/index.vue`**:
- 1. **停嘱时间弹窗** — 点击「停嘱」后弹出 `el-dialog`,内含 `el-date-picker`(datetime类型,默认当前时间),确定后才调用API
- 2. **表格列** — 在「皮试」列后面、「诊断」列前面新增两列:
- 「停嘱医生」`prop="stopUserName"`,宽度120px
- 「停嘱时间」`prop="stopTime"`,宽度170px
- 3. **`handleStopAdvice`** — 保留原有校验(未保存/未签发/已停止检查),校验通过后弹出时间选择弹窗而非直接调API
- 4. **`confirmStopAdvice`** — 新增确认函数,将 `stopTime` 拼入请求参数后调用 `stopAdvice` API
- ### 验证结果
-  前端 Lint 检查通过(仅1个预存的 `vue/no-dupe-keys` 警告)
-  后端 Maven 编译通过(BUILD SUCCESS)
This commit is contained in:
2026-05-29 00:39:26 +08:00
parent c9507bb3c1
commit 11618e3d6c
564 changed files with 69532 additions and 23152 deletions

View File

@@ -25,15 +25,50 @@
height="100%"
style="width: 100%"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="patientName" label="患者姓名" width="120" />
<el-table-column prop="name" label="申请单名称" width="140" />
<el-table-column prop="createTime" label="创建时间" width="160" />
<el-table-column prop="prescriptionNo" label="处方号" width="140" />
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
<el-table-column label="操作" align="center" fixed="right">
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
width="120"
/>
<el-table-column
prop="name"
label="申请单名称"
width="140"
/>
<el-table-column
prop="createTime"
label="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="处方号"
width="140"
/>
<el-table-column
prop="requesterId_dictText"
label="申请者"
width="120"
/>
<el-table-column
label="操作"
align="center"
fixed="right"
>
<template #default="scope">
<el-button link type="primary" @click="handleViewDetail(scope.row)">详情</el-button>
<el-button
link
type="primary"
@click="handleViewDetail(scope.row)"
>
详情
</el-button>
</template>
</el-table-column>
</el-table>
@@ -48,37 +83,69 @@
top="5vh"
:close-on-click-modal="false"
>
<div v-if="currentDetail" class="applicationShow-container">
<div
v-if="currentDetail"
class="applicationShow-container"
>
<div class="applicationShow-container-content">
<el-descriptions title="基本信息" :column="2">
<el-descriptions-item label="患者姓名">{{
currentDetail.patientName || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单名称">{{
currentDetail.name || '-'
}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{
currentDetail.createTime || '-'
}}</el-descriptions-item>
<el-descriptions-item label="处方号">{{
currentDetail.prescriptionNo || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请者">{{
currentDetail.requesterId_dictText || '-'
}}</el-descriptions-item>
<el-descriptions-item label="就诊ID">{{
currentDetail.encounterId || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单ID">{{
currentDetail.requestFormId || '-'
}}</el-descriptions-item>
<el-descriptions
title="基本信息"
:column="2"
>
<el-descriptions-item label="患者姓名">
{{
currentDetail.patientName || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单名称">
{{
currentDetail.name || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="创建时间">
{{
currentDetail.createTime || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="处方号">
{{
currentDetail.prescriptionNo || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请者">
{{
currentDetail.requesterId_dictText || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="就诊ID">
{{
currentDetail.encounterId || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单ID">
{{
currentDetail.requestFormId || '-'
}}
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="descJsonData && hasMatchedFields" class="applicationShow-container-content">
<el-descriptions title="申请单描述" :column="2">
<template v-for="(value, key) in descJsonData" :key="key">
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
<div
v-if="descJsonData && hasMatchedFields"
class="applicationShow-container-content"
>
<el-descriptions
title="申请单描述"
:column="2"
>
<template
v-for="(value, key) in descJsonData"
:key="key"
>
<el-descriptions-item
v-if="isFieldMatched(key)"
:label="getFieldLabel(key)"
>
{{ value || '-' }}
</el-descriptions-item>
</template>
@@ -89,17 +156,44 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table :data="currentDetail.requestFormDetailList" border>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="医嘱名称" />
<el-table-column prop="quantity" label="数量" width="80" align="center" />
<el-table-column prop="unitCode_dictText" label="单位" width="100" />
<el-table-column prop="totalPrice" label="总价" width="100" align="right" />
<el-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
width="100"
align="right"
/>
</el-table>
</div>
</div>
<template #footer>
<el-button @click="detailDialogVisible = false">关闭</el-button>
<el-button @click="detailDialogVisible = false">
关闭
</el-button>
</template>
</el-dialog>
</div>

View File

@@ -18,7 +18,11 @@
</div>
<!-- 筛选表单 -->
<div class="filter-form">
<el-form :inline="true" :model="filterForm" class="filter-form-content">
<el-form
:inline="true"
:model="filterForm"
class="filter-form-content"
>
<el-form-item label="申请日期">
<el-date-picker
v-model="filterForm.dateRange"
@@ -38,15 +42,42 @@
clearable
style="width: 150px"
>
<el-option label="全部" value="" />
<el-option label="待签发" value="0" />
<el-option label="已签发" value="1" />
<el-option label="已校对" value="2" />
<el-option label="待接收" value="3" />
<el-option label="已接收" value="4" />
<el-option label="已检查" value="5" />
<el-option label="已出报告" value="6" />
<el-option label="已作废" value="7" />
<el-option
label="全部"
value=""
/>
<el-option
label="待签发"
value="0"
/>
<el-option
label="已签发"
value="1"
/>
<el-option
label="已校对"
value="2"
/>
<el-option
label="待接收"
value="3"
/>
<el-option
label="已接收"
value="4"
/>
<el-option
label="已检查"
value="5"
/>
<el-option
label="已出报告"
value="6"
/>
<el-option
label="已作废"
value="7"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字">
@@ -59,7 +90,11 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSearch" :loading="loading">
<el-button
type="primary"
:loading="loading"
@click="handleSearch"
>
<el-icon><Search /></el-icon>
查询
</el-button>
@@ -81,58 +116,144 @@
>
<template #empty>
<div class="empty-data">
<el-empty description="暂无匹配记录" :image-size="80" />
<el-empty
description="暂无匹配记录"
:image-size="80"
/>
</div>
</template>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="patientName" label="患者姓名" width="120" />
<el-table-column label="申请单名称" min-width="140">
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
width="120"
/>
<el-table-column
label="申请单名称"
min-width="140"
>
<template #default="scope">
<span>{{ buildApplicationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160" />
<el-table-column prop="prescriptionNo" label="申请单号" width="140" />
<el-table-column label="申请单状态" width="120" align="center">
<el-table-column
prop="createTime"
label="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="申请单号"
width="140"
/>
<el-table-column
label="申请单状态"
width="120"
align="center"
>
<template #default="scope">
<el-tag :type="getStatusTagType(scope.row.status)" effect="plain" round>
<el-tag
:type="getStatusTagType(scope.row.status)"
effect="plain"
round
>
{{ parseStatus(scope.row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
<el-table-column label="操作" width="280" align="center" fixed="right">
<el-table-column
prop="requesterId_dictText"
label="申请者"
width="120"
/>
<el-table-column
label="操作"
width="280"
align="center"
fixed="right"
>
<template #default="scope">
<!-- 详情 - 所有状态都显示 -->
<el-button link type="primary" @click="handleViewDetail(scope.row)">详情</el-button>
<el-button
link
type="primary"
@click="handleViewDetail(scope.row)"
>
详情
</el-button>
<!-- 待签发修改删除 -->
<template v-if="scope.row.status === '0' || scope.row.status === 0">
<el-button link type="primary" @click="handleEdit(scope.row)">修改</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
<el-button
link
type="primary"
@click="handleEdit(scope.row)"
>
修改
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row)"
>
删除
</el-button>
</template>
<!-- 已签发撤回 -->
<template v-else-if="scope.row.status === '1' || scope.row.status === 1">
<el-button link type="warning" @click="handleRecall(scope.row)">撤回</el-button>
<el-button
link
type="warning"
@click="handleRecall(scope.row)"
>
撤回
</el-button>
</template>
<!-- 已校对/待接收打印 -->
<template v-else-if="scope.row.status === '2' || scope.row.status === 2 || scope.row.status === '3' || scope.row.status === 3">
<el-button link type="primary" @click="handlePrint(scope.row)">打印</el-button>
<el-button
link
type="primary"
@click="handlePrint(scope.row)"
>
打印
</el-button>
</template>
<!-- 已接收/已检查看报告 -->
<template v-else-if="scope.row.status === '4' || scope.row.status === 4 || scope.row.status === '5' || scope.row.status === 5">
<el-button link type="success" @click="handleViewReport(scope.row)">看报告</el-button>
<el-button
link
type="success"
@click="handleViewReport(scope.row)"
>
看报告
</el-button>
</template>
<!-- 已出报告打印看报告 -->
<template v-else-if="scope.row.status === '6' || scope.row.status === 6">
<el-button link type="primary" @click="handlePrint(scope.row)">打印</el-button>
<el-button link type="success" @click="handleViewReport(scope.row)">看报告</el-button>
<el-button
link
type="primary"
@click="handlePrint(scope.row)"
>
打印
</el-button>
<el-button
link
type="success"
@click="handleViewReport(scope.row)"
>
看报告
</el-button>
</template>
<!-- 已作废无额外按钮 -->
<template v-else-if="scope.row.status === '7' || scope.row.status === 7">
</template>
<template v-else-if="scope.row.status === '7' || scope.row.status === 7" />
<!-- 其他/未知状态仅详情 -->
<template v-else>
</template>
<template v-else />
</template>
</el-table-column>
</el-table>
@@ -147,40 +268,74 @@
top="5vh"
:close-on-click-modal="false"
>
<div v-if="currentDetail" class="applicationShow-container">
<div
v-if="currentDetail"
class="applicationShow-container"
>
<div class="applicationShow-container-content">
<el-descriptions title="基本信息" :column="2">
<el-descriptions-item label="患者姓名">{{
currentDetail.patientName || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单名称">{{
currentDetail.name || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单状态">{{
parseStatus(currentDetail.status)
}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{
currentDetail.createTime || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单号">{{
currentDetail.prescriptionNo || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请者">{{
currentDetail.requesterId_dictText || '-'
}}</el-descriptions-item>
<el-descriptions-item label="就诊ID">{{
currentDetail.encounterId || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单ID">{{
currentDetail.requestFormId || '-'
}}</el-descriptions-item>
<el-descriptions
title="基本信息"
:column="2"
>
<el-descriptions-item label="患者姓名">
{{
currentDetail.patientName || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单名称">
{{
currentDetail.name || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单状态">
{{
parseStatus(currentDetail.status)
}}
</el-descriptions-item>
<el-descriptions-item label="创建时间">
{{
currentDetail.createTime || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单号">
{{
currentDetail.prescriptionNo || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请者">
{{
currentDetail.requesterId_dictText || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="就诊ID">
{{
currentDetail.encounterId || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单ID">
{{
currentDetail.requestFormId || '-'
}}
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="descJsonData && hasMatchedFields" class="applicationShow-container-content">
<el-descriptions title="申请单描述" :column="2">
<template v-for="(value, key) in descJsonData" :key="key">
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
<div
v-if="descJsonData && hasMatchedFields"
class="applicationShow-container-content"
>
<el-descriptions
title="申请单描述"
:column="2"
>
<template
v-for="(value, key) in descJsonData"
:key="key"
>
<el-descriptions-item
v-if="isFieldMatched(key)"
:label="getFieldLabel(key)"
>
{{ transformField(key, value) || '-' }}
</el-descriptions-item>
</template>
@@ -191,17 +346,44 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table :data="currentDetail.requestFormDetailList" border>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="医嘱名称" />
<el-table-column prop="quantity" label="数量" width="80" align="center" />
<el-table-column prop="unitCode_dictText" label="单位" width="100" />
<el-table-column prop="totalPrice" label="总价" width="100" align="right" />
<el-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
width="100"
align="right"
/>
</el-table>
</div>
</div>
<template #footer>
<el-button @click="detailDialogVisible = false">关闭</el-button>
<el-button @click="detailDialogVisible = false">
关闭
</el-button>
</template>
</el-dialog>
@@ -223,8 +405,15 @@
@submit-ok="handleEditSuccess"
/>
<template #footer>
<el-button @click="editDialogVisible = false">取消</el-button>
<el-button type="primary" @click="handleEditSubmit">确认</el-button>
<el-button @click="editDialogVisible = false">
取消
</el-button>
<el-button
type="primary"
@click="handleEditSubmit"
>
确认
</el-button>
</template>
</el-dialog>
@@ -237,25 +426,59 @@
top="5vh"
:close-on-click-modal="false"
>
<div v-loading="reportLoading" class="report-viewer">
<div
v-loading="reportLoading"
class="report-viewer"
>
<!-- 报告基本信息 -->
<div v-if="reportData" class="report-viewer-container">
<el-descriptions title="报告信息" :column="2" border size="small">
<el-descriptions-item label="患者姓名">{{ reportData.patientName || reportRow?.patientName || '-' }}</el-descriptions-item>
<el-descriptions-item label="申请单号">{{ reportData.prescriptionNo || reportRow?.prescriptionNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="申请单名称">{{ reportData.name || reportRow?.name || '-' }}</el-descriptions-item>
<el-descriptions-item label="报告时间">{{ reportData.reportTime || '-' }}</el-descriptions-item>
<el-descriptions-item label="诊断意见" :span="2">{{ reportData.diagnosis || reportData.conclusion || '-' }}</el-descriptions-item>
<div
v-if="reportData"
class="report-viewer-container"
>
<el-descriptions
title="报告信息"
:column="2"
border
size="small"
>
<el-descriptions-item label="患者姓名">
{{ reportData.patientName || reportRow?.patientName || '-' }}
</el-descriptions-item>
<el-descriptions-item label="申请单号">
{{ reportData.prescriptionNo || reportRow?.prescriptionNo || '-' }}
</el-descriptions-item>
<el-descriptions-item label="申请单名称">
{{ reportData.name || reportRow?.name || '-' }}
</el-descriptions-item>
<el-descriptions-item label="报告时间">
{{ reportData.reportTime || '-' }}
</el-descriptions-item>
<el-descriptions-item
label="诊断意见"
:span="2"
>
{{ reportData.diagnosis || reportData.conclusion || '-' }}
</el-descriptions-item>
</el-descriptions>
<!-- 报告详细内容 -->
<div v-if="reportData.content" class="report-content-section">
<div class="section-title">报告内容</div>
<div class="report-content-text">{{ reportData.content }}</div>
<div
v-if="reportData.content"
class="report-content-section"
>
<div class="section-title">
报告内容
</div>
<div class="report-content-text">
{{ reportData.content }}
</div>
</div>
<!-- 影像预览 - PACS链接 -->
<div v-if="reportData.imageUrl || reportData.pacsUrl" class="report-image-section">
<div
v-if="reportData.imageUrl || reportData.pacsUrl"
class="report-image-section"
>
<div class="section-title">
影像预览
<el-button
@@ -276,18 +499,32 @@
class="report-iframe"
frameborder="0"
/>
<el-empty v-else-if="!reportData.imageUrl && reportData.pacsUrl" description="点击上方按钮打开PACS影像" :image-size="60" />
<el-empty
v-else-if="!reportData.imageUrl && reportData.pacsUrl"
description="点击上方按钮打开PACS影像"
:image-size="60"
/>
</div>
<!-- 完全无数据时的提示 -->
<el-empty v-if="!reportData.content && !reportData.imageUrl && !reportData.pacsUrl" description="暂无详细报告数据" :image-size="60" />
<el-empty
v-if="!reportData.content && !reportData.imageUrl && !reportData.pacsUrl"
description="暂无详细报告数据"
:image-size="60"
/>
</div>
<!-- 未获取到报告 -->
<el-empty v-else description="暂未生成报告" :image-size="80" />
<el-empty
v-else
description="暂未生成报告"
:image-size="80"
/>
</div>
<template #footer>
<el-button @click="reportDialogVisible = false">关闭</el-button>
<el-button @click="reportDialogVisible = false">
关闭
</el-button>
</template>
</el-dialog>
</div>

View File

@@ -4,10 +4,16 @@
<h3>护理状态</h3>
</div>
<div v-if="loading" class="loading-container">
<div
v-if="loading"
class="loading-container"
>
<el-row justify="center">
<el-col :span="6">
<el-empty description="正在加载数据..." image-size="100" />
<el-empty
description="正在加载数据..."
image-size="100"
/>
</el-col>
</el-row>
</div>
@@ -21,8 +27,18 @@
class="nursing-table"
:header-cell-style="{ backgroundColor: '#f5f7fa' }"
>
<el-table-column prop="item" label="项目" width="180" align="center" />
<el-table-column prop="currentStatus" label="当前状态" width="260" align="center">
<el-table-column
prop="item"
label="项目"
width="180"
align="center"
/>
<el-table-column
prop="currentStatus"
label="当前状态"
width="260"
align="center"
>
<template #default="scope">
<el-tag
v-if="scope.row.currentStatus"
@@ -34,11 +50,18 @@
</el-tag>
</template>
</el-table-column>
<el-table-column prop="operation" label="操作" align="center">
<el-table-column
prop="operation"
label="操作"
align="center"
>
<template #default="scope">
<div class="operation-content">
<!-- 护理级别选项 - 水平排列 -->
<div v-if="scope.row.item === '护理级别'" class="options-horizontal">
<div
v-if="scope.row.item === '护理级别'"
class="options-horizontal"
>
<div
v-for="option in nursingLevelList"
:key="option.definitionId"
@@ -53,7 +76,10 @@
</div>
<!-- 病情选项 - 水平排列 -->
<div v-else-if="scope.row.item === '病情'" class="options-horizontal">
<div
v-else-if="scope.row.item === '病情'"
class="options-horizontal"
>
<div
v-for="option in conditionList"
:key="option.definitionId"
@@ -68,7 +94,10 @@
</div>
<!-- 护理常规选项 - 水平排列 -->
<div v-else-if="scope.row.item === '护理常规'" class="options-horizontal">
<div
v-else-if="scope.row.item === '护理常规'"
class="options-horizontal"
>
<div
v-for="option in nursingRoutineList"
:key="option.definitionId"
@@ -83,7 +112,10 @@
</div>
<!-- 饮食选项 - 水平排列 -->
<div v-else-if="scope.row.item === '饮食'" class="options-horizontal">
<div
v-else-if="scope.row.item === '饮食'"
class="options-horizontal"
>
<div
v-for="option in dietList"
:key="option.definitionId"
@@ -95,7 +127,10 @@
</div>
<!-- 体位选项 - 水平排列 -->
<div v-else-if="scope.row.item === '体位'" class="options-horizontal">
<div
v-else-if="scope.row.item === '体位'"
class="options-horizontal"
>
<div
v-for="option in positionList"
:key="option.definitionId"
@@ -110,7 +145,10 @@
</div>
<!-- 陪护选项 - 水平排列 -->
<div v-else-if="scope.row.item === '陪护'" class="options-horizontal">
<div
v-else-if="scope.row.item === '陪护'"
class="options-horizontal"
>
<div
v-for="option in companionCareList"
:key="option.definitionId"
@@ -125,7 +163,10 @@
</div>
<!-- 隔离等级选项 - 水平排列 -->
<div v-else-if="scope.row.item === '隔离等级'" class="options-horizontal">
<div
v-else-if="scope.row.item === '隔离等级'"
class="options-horizontal"
>
<div
v-for="option in isolationLevelList"
:key="option.definitionId"
@@ -144,8 +185,19 @@
</el-table>
<!-- 操作按钮区域 -->
<div class="nursing-status-actions">
<el-button @click="handleCancel" size="medium">取消</el-button>
<el-button type="primary" @click="handleConfirm" size="medium">确定</el-button>
<el-button
size="medium"
@click="handleCancel"
>
取消
</el-button>
<el-button
type="primary"
size="medium"
@click="handleConfirm"
>
确定
</el-button>
</div>
</template>
</div>

View File

@@ -20,10 +20,26 @@
height="100%"
style="width: 100%"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="报告名称" width="140" />
<el-table-column prop="reportNo" label="报告号" width="140" />
<el-table-column label="链接" min-width="140">
<el-table-column
type="index"
label="号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="报告名称"
width="140"
/>
<el-table-column
prop="reportNo"
label="报告号"
width="140"
/>
<el-table-column
label="链接"
min-width="140"
>
<template #default="scope">
<a
v-if="scope.row.requestUrl"
@@ -34,7 +50,10 @@
>
查看报告
</a>
<span v-else class="report-link-disabled">暂无链接</span>
<span
v-else
class="report-link-disabled"
>暂无链接</span>
</template>
</el-table-column>
</el-table>
@@ -60,10 +79,26 @@
height="100%"
style="width: 100%"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="报告名称" width="140" />
<el-table-column prop="reportNo" label="报告号" width="140" />
<el-table-column label="链接" min-width="140">
<el-table-column
type="index"
label="号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="报告名称"
width="140"
/>
<el-table-column
prop="reportNo"
label="报告号"
width="140"
/>
<el-table-column
label="链接"
min-width="140"
>
<template #default="scope">
<a
v-if="scope.row.requestUrl"
@@ -74,7 +109,10 @@
>
查看报告
</a>
<span v-else class="report-link-disabled">暂无链接</span>
<span
v-else
class="report-link-disabled"
>暂无链接</span>
</template>
</el-table-column>
</el-table>

View File

@@ -18,7 +18,11 @@
</div>
<!-- 筛选表单 -->
<div class="filter-form">
<el-form :inline="true" :model="filterForm" class="filter-form-content">
<el-form
:inline="true"
:model="filterForm"
class="filter-form-content"
>
<el-form-item label="创建时间">
<el-date-picker
v-model="filterForm.dateRange"
@@ -38,14 +42,38 @@
clearable
style="width: 150px"
>
<el-option label="全部" value="" />
<el-option label="待签发" value="0" />
<el-option label="已签发" value="1" />
<el-option label="已校对" value="2" />
<el-option label="已执行" value="3" />
<el-option label="已安排" value="4" />
<el-option label="已完成" value="5" />
<el-option label="已作废" value="7" />
<el-option
label="全部"
value=""
/>
<el-option
label="待签发"
value="0"
/>
<el-option
label="已签发"
value="1"
/>
<el-option
label="已校对"
value="2"
/>
<el-option
label="已执行"
value="3"
/>
<el-option
label="已安排"
value="4"
/>
<el-option
label="已完成"
value="5"
/>
<el-option
label="已作废"
value="7"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字">
@@ -58,7 +86,11 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSearch" :loading="loading">
<el-button
type="primary"
:loading="loading"
@click="handleSearch"
>
<el-icon><Search /></el-icon>
查询
</el-button>
@@ -78,21 +110,60 @@
height="100%"
style="width: 100%"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column label="手术单号" width="160" align="center">
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
label="手术单号"
width="160"
align="center"
>
<template #default="scope">
<el-link type="primary" @click="handleViewDetail(scope.row)">
<el-link
type="primary"
@click="handleViewDetail(scope.row)"
>
{{ scope.row.prescriptionNo || '-' }}
</el-link>
</template>
</el-table-column>
<el-table-column prop="patientName" label="患者姓名" width="120" />
<el-table-column prop="name" label="申请单名称" width="140" />
<el-table-column prop="createTime" label="创建时间" width="160" />
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
<el-table-column label="操作" align="center" fixed="right">
<el-table-column
prop="patientName"
label="患者姓名"
width="120"
/>
<el-table-column
prop="name"
label="申请单名称"
width="140"
/>
<el-table-column
prop="createTime"
label="创建时间"
width="160"
/>
<el-table-column
prop="requesterId_dictText"
label="申请者"
width="120"
/>
<el-table-column
label="操作"
align="center"
fixed="right"
>
<template #default="scope">
<el-button link type="primary" icon="View" @click="handleViewDetail(scope.row)">详情</el-button>
<el-button
link
type="primary"
icon="View"
@click="handleViewDetail(scope.row)"
>
详情
</el-button>
</template>
</el-table-column>
</el-table>
@@ -107,37 +178,69 @@
top="5vh"
:close-on-click-modal="false"
>
<div v-if="currentDetail" class="applicationShow-container">
<div
v-if="currentDetail"
class="applicationShow-container"
>
<div class="applicationShow-container-content">
<el-descriptions title="基本信息" :column="2">
<el-descriptions-item label="患者姓名">{{
currentDetail.patientName || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单名称">{{
currentDetail.name || '-'
}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{
currentDetail.createTime || '-'
}}</el-descriptions-item>
<el-descriptions-item label="处方号">{{
currentDetail.prescriptionNo || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请者">{{
currentDetail.requesterId_dictText || '-'
}}</el-descriptions-item>
<el-descriptions-item label="就诊ID">{{
currentDetail.encounterId || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单ID">{{
currentDetail.requestFormId || '-'
}}</el-descriptions-item>
<el-descriptions
title="基本信息"
:column="2"
>
<el-descriptions-item label="患者姓名">
{{
currentDetail.patientName || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单名称">
{{
currentDetail.name || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="创建时间">
{{
currentDetail.createTime || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="处方号">
{{
currentDetail.prescriptionNo || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请者">
{{
currentDetail.requesterId_dictText || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="就诊ID">
{{
currentDetail.encounterId || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单ID">
{{
currentDetail.requestFormId || '-'
}}
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="descJsonData && hasMatchedFields" class="applicationShow-container-content">
<el-descriptions title="申请单描述" :column="2">
<template v-for="(value, key) in descJsonData" :key="key">
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
<div
v-if="descJsonData && hasMatchedFields"
class="applicationShow-container-content"
>
<el-descriptions
title="申请单描述"
:column="2"
>
<template
v-for="(value, key) in descJsonData"
:key="key"
>
<el-descriptions-item
v-if="isFieldMatched(key)"
:label="getFieldLabel(key)"
>
{{ value || '-' }}
</el-descriptions-item>
</template>
@@ -148,17 +251,47 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table :data="currentDetail.requestFormDetailList" border>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="医嘱名称" />
<el-table-column prop="quantity" label="数量" width="80" align="center" />
<el-table-column prop="unitCode_dictText" label="单位" width="100" />
<el-table-column prop="totalPrice" label="总价" width="100" align="right" />
<el-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
width="100"
align="right"
/>
</el-table>
</div>
</div>
<template #footer>
<el-button icon="Close" @click="detailDialogVisible = false">关闭</el-button>
<el-button
icon="Close"
@click="detailDialogVisible = false"
>
关闭
</el-button>
</template>
</el-dialog>
</div>

View File

@@ -18,7 +18,11 @@
</div>
<!-- 筛选表单 -->
<div class="filter-form">
<el-form :inline="true" :model="filterForm" class="filter-form-content">
<el-form
:inline="true"
:model="filterForm"
class="filter-form-content"
>
<el-form-item label="申请日期">
<el-date-picker
v-model="filterForm.dateRange"
@@ -38,13 +42,34 @@
clearable
style="width: 150px"
>
<el-option label="全部" value="" />
<el-option label="待签发" value="0" />
<el-option label="已签发" value="1" />
<el-option label="已采证" value="4" />
<el-option label="已送检" value="5" />
<el-option label="报告已出" value="6" />
<el-option label="已作废" value="7" />
<el-option
label="全部"
value=""
/>
<el-option
label="待签发"
value="0"
/>
<el-option
label="已签发"
value="1"
/>
<el-option
label="已采证"
value="4"
/>
<el-option
label="已送检"
value="5"
/>
<el-option
label="报告已出"
value="6"
/>
<el-option
label="已作废"
value="7"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字">
@@ -57,7 +82,11 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSearch" :loading="loading">
<el-button
type="primary"
:loading="loading"
@click="handleSearch"
>
<el-icon><Search /></el-icon>
查询
</el-button>
@@ -79,19 +108,46 @@
>
<template #empty>
<div class="empty-data">
<el-empty description="暂无匹配记录" :image-size="80" />
<el-empty
description="暂无匹配记录"
:image-size="80"
/>
</div>
</template>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="patientName" label="患者姓名" width="120" />
<el-table-column label="申请单名称" width="140">
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="patientName"
label="患者姓名"
width="120"
/>
<el-table-column
label="申请单名称"
width="140"
>
<template #default="scope">
<span>{{ buildApplicationName(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160" />
<el-table-column prop="prescriptionNo" label="申请单号" width="140" />
<el-table-column label="单据状态" width="100" align="center">
<el-table-column
prop="createTime"
label="创建时间"
width="160"
/>
<el-table-column
prop="prescriptionNo"
label="申请单号"
width="140"
/>
<el-table-column
label="单据状态"
width="100"
align="center"
>
<template #default="scope">
<el-tag
:type="getBillStatusTagType(scope.row)"
@@ -104,29 +160,76 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="申请类型" width="100" align="center">
<el-table-column
label="申请类型"
width="100"
align="center"
>
<template #default="scope">
<span>{{ parsePriorityCode(scope.row.descJson) }}</span>
</template>
</el-table-column>
<el-table-column label="标本类型" width="120" align="center">
<el-table-column
label="标本类型"
width="120"
align="center"
>
<template #default="scope">
<span>{{ parseSpecimenType(scope.row.descJson) }}</span>
</template>
</el-table-column>
<el-table-column prop="requesterId_dictText" label="申请者" width="120" />
<el-table-column label="操作" align="center" fixed="right" width="280">
<el-table-column
prop="requesterId_dictText"
label="申请者"
width="120"
/>
<el-table-column
label="操作"
align="center"
fixed="right"
width="280"
>
<template #default="scope">
<el-button link type="primary" @click="handleViewDetail(scope.row)">详情</el-button>
<el-button
link
type="primary"
@click="handleViewDetail(scope.row)"
>
详情
</el-button>
<template v-if="canManageRow(scope.row) && isPendingStatus(scope.row)">
<el-button link type="primary" @click="handleEdit(scope.row)">修改</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
<el-button
link
type="primary"
@click="handleEdit(scope.row)"
>
修改
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row)"
>
删除
</el-button>
</template>
<template v-if="canManageRow(scope.row) && isWithdrawableStatus(scope.row)">
<el-button link type="warning" @click="handleWithdraw(scope.row)">撤回</el-button>
<el-button
link
type="warning"
@click="handleWithdraw(scope.row)"
>
撤回
</el-button>
</template>
<template v-if="isReportStatus(scope.row)">
<el-button link type="success" @click="handleViewReport(scope.row)">查看报告</el-button>
<el-button
link
type="success"
@click="handleViewReport(scope.row)"
>
查看报告
</el-button>
</template>
</template>
</el-table-column>
@@ -142,37 +245,69 @@
top="5vh"
:close-on-click-modal="false"
>
<div v-if="currentDetail" class="applicationShow-container">
<div
v-if="currentDetail"
class="applicationShow-container"
>
<div class="applicationShow-container-content">
<el-descriptions title="基本信息" :column="2">
<el-descriptions-item label="患者姓名">{{
currentDetail.patientName || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单名称">{{
currentDetail.name || '-'
}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{
currentDetail.createTime || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单号">{{
currentDetail.prescriptionNo || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请者">{{
currentDetail.requesterId_dictText || '-'
}}</el-descriptions-item>
<el-descriptions-item label="就诊ID">{{
currentDetail.encounterId || '-'
}}</el-descriptions-item>
<el-descriptions-item label="申请单ID">{{
currentDetail.requestFormId || '-'
}}</el-descriptions-item>
<el-descriptions
title="基本信息"
:column="2"
>
<el-descriptions-item label="患者姓名">
{{
currentDetail.patientName || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单名称">
{{
currentDetail.name || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="创建时间">
{{
currentDetail.createTime || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单">
{{
currentDetail.prescriptionNo || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请者">
{{
currentDetail.requesterId_dictText || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="就诊ID">
{{
currentDetail.encounterId || '-'
}}
</el-descriptions-item>
<el-descriptions-item label="申请单ID">
{{
currentDetail.requestFormId || '-'
}}
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="descJsonData && hasMatchedFields" class="applicationShow-container-content">
<el-descriptions title="申请单描述" :column="2">
<template v-for="(value, key) in descJsonData" :key="key">
<el-descriptions-item v-if="isFieldMatched(key)" :label="getFieldLabel(key)">
<div
v-if="descJsonData && hasMatchedFields"
class="applicationShow-container-content"
>
<el-descriptions
title="申请单描述"
:column="2"
>
<template
v-for="(value, key) in descJsonData"
:key="key"
>
<el-descriptions-item
v-if="isFieldMatched(key)"
:label="getFieldLabel(key)"
>
{{ value || '-' }}
</el-descriptions-item>
</template>
@@ -183,17 +318,44 @@
v-if="currentDetail.requestFormDetailList && currentDetail.requestFormDetailList.length"
class="applicationShow-container-table"
>
<el-table :data="currentDetail.requestFormDetailList" border>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="adviceName" label="医嘱名称" />
<el-table-column prop="quantity" label="数量" width="80" align="center" />
<el-table-column prop="unitCode_dictText" label="单位" width="100" />
<el-table-column prop="totalPrice" label="总价" width="100" align="right" />
<el-table
:data="currentDetail.requestFormDetailList"
border
>
<el-table-column
type="index"
label="序号"
width="60"
align="center"
/>
<el-table-column
prop="adviceName"
label="医嘱名称"
/>
<el-table-column
prop="quantity"
label="数量"
width="80"
align="center"
/>
<el-table-column
prop="unitCode_dictText"
label="单位"
width="100"
/>
<el-table-column
prop="totalPrice"
label="总价"
width="100"
align="right"
/>
</el-table>
</div>
</div>
<template #footer>
<el-button @click="detailDialogVisible = false">关闭</el-button>
<el-button @click="detailDialogVisible = false">
关闭
</el-button>
</template>
</el-dialog>
@@ -208,12 +370,19 @@
>
<LaboratoryTests
ref="editFormRef"
@submitOk="handleEditSubmitOk"
:editData="editRowData"
:edit-data="editRowData"
@submit-ok="handleEditSubmitOk"
/>
<template #footer>
<el-button @click="editDialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitEditForm">确认</el-button>
<el-button @click="editDialogVisible = false">
取消
</el-button>
<el-button
type="primary"
@click="submitEditForm"
>
确认
</el-button>
</template>
</el-dialog>
</div>

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog
title="添加中医诊断"
v-model="props.openAddDiagnosisDialog"
title="添加中医诊断"
width="1500px"
append-to-body
destroy-on-close
@@ -11,9 +11,15 @@
<div class="main-content">
<!-- 左侧疾病选择区 -->
<div class="disease-section">
<div class="section-title">诊断</div>
<div class="section-title">
诊断
</div>
<div class="search-box">
<el-input v-model="searchDisease" placeholder="搜索疾病名称或编码" clearable>
<el-input
v-model="searchDisease"
placeholder="搜索疾病名称或编码"
clearable
>
<template #prefix>
<el-icon><search /></el-icon>
</template>
@@ -22,18 +28,32 @@
<el-table
:data="conditionDatas"
max-height="460"
@row-click="handleClickRow"
highlight-current-row
@row-click="handleClickRow"
>
<el-table-column label="疾病名称" align="center" prop="name"></el-table-column>
<el-table-column label="医保编码" align="center" prop="ybNo"></el-table-column>
<el-table-column
label="疾病名称"
align="center"
prop="name"
/>
<el-table-column
label="医保编码"
align="center"
prop="ybNo"
/>
</el-table>
</div>
<!-- 中间疾病-证型关系区 -->
<div class="syndrome-section">
<div class="section-title">证候</div>
<div class="section-title">
证候
</div>
<div class="search-box">
<el-input v-model="searchMiddleDisease" placeholder="搜索疾病名称或编码" clearable>
<el-input
v-model="searchMiddleDisease"
placeholder="搜索疾病名称或编码"
clearable
>
<template #prefix>
<el-icon><search /></el-icon>
</template>
@@ -43,24 +63,41 @@
<el-table
:data="syndromeListDatas"
max-height="460"
@row-click="clickSyndromeRow"
highlight-current-row
@row-click="clickSyndromeRow"
>
<el-table-column label="证候名称" align="center" prop="name"></el-table-column>
<el-table-column label="医保编码" align="center" prop="ybNo"></el-table-column>
<el-table-column
label="证候名称"
align="center"
prop="name"
/>
<el-table-column
label="医保编码"
align="center"
prop="ybNo"
/>
</el-table>
</div>
<div class="empty-state" v-else>
<div
v-else
class="empty-state"
>
<el-empty description="请从左侧选择疾病" />
</div>
</div>
<!-- 右侧诊断详情区 -->
<div class="diagnosis-section">
<div class="section-title">诊断详情</div>
<div class="section-title">
诊断详情
</div>
<div class="diagnosis-list">
<div v-for="(item, index) in tcmDiagonsisList" :key="index" class="history-item">
<div
v-for="(item, index) in tcmDiagonsisList"
:key="index"
class="history-item"
>
<div class="history-diagnosis">
<div>
<strong>{{ item.conditionName }}</strong> - {{ item.syndromeName }}
@@ -79,8 +116,15 @@
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit"> </el-button>
<el-button @click="close"> </el-button>
<el-button
type="primary"
@click="submit"
>
</el-button>
<el-button @click="close">
</el-button>
</div>
</template>
</el-dialog>

View File

@@ -4,14 +4,26 @@
top="6vh"
:width="width"
title="中医诊断"
:z-index="20"
@open="openAct"
@closed="closedAct"
:z-index="20"
>
中医诊断
<template #footer>
<el-button size="fixed" class="margin-left-auto" @click="cancelAct">取消 </el-button>
<el-button size="fixed" type="primary" @click="handleSubmit(signFormRef)">保存</el-button>
<el-button
size="fixed"
class="margin-left-auto"
@click="cancelAct"
>
取消
</el-button>
<el-button
size="fixed"
type="primary"
@click="handleSubmit(signFormRef)"
>
保存
</el-button>
</template>
</el-dialog>
</template>

View File

@@ -1,7 +1,10 @@
<template>
<div>
<el-row :gutter="24">
<el-col :span="4" :xs="24">
<el-col
:span="4"
:xs="24"
>
<el-input
v-model="diagnosis"
placeholder="诊断名称"
@@ -10,7 +13,10 @@
@keyup.enter="queryDiagnosisUse"
>
<template #append>
<el-button icon="Search" @click="queryDiagnosisUse" />
<el-button
icon="Search"
@click="queryDiagnosisUse"
/>
</template>
</el-input>
<el-tree
@@ -39,16 +45,21 @@
</el-icon>
</el-button>
</template>
<el-popconfirm width="200" :hide-after="10" title="确认删除此常用诊断吗" placement="top-start"
@confirm="deleteChild(data)">
<el-popconfirm
width="200"
:hide-after="10"
title="确认删除此常用诊断吗"
placement="top-start"
@confirm="deleteChild(data)"
>
<template #reference>
<el-button
style="color: #000000"
v-if="
node.level === 2 &&
node.parent.data.name != '常用' &&
node.parent.data.name != '历史'
node.parent.data.name != '常用' &&
node.parent.data.name != '历史'
"
style="color: #000000"
type="text"
size="small"
@click.stop=""
@@ -64,87 +75,196 @@
</template>
</el-tree>
</el-col>
<el-col :span="20" :xs="24">
<el-col
:span="20"
:xs="24"
>
<div style="margin-bottom: 10px">
<el-button type="primary" plain @click="handleAddDiagnosis()"> 新增诊断 </el-button>
<el-button type="primary" plain @click="handleSaveDiagnosis()"> 保存诊断 </el-button>
<el-button
type="primary"
plain
@click="handleAddDiagnosis()"
>
新增诊断
</el-button>
<el-button
type="primary"
plain
@click="handleSaveDiagnosis()"
>
保存诊断
</el-button>
<!-- <el-button type="primary" plain @click="handleAddTcmDiagonsis()"> 中医诊断 </el-button> -->
<el-button type="primary" plain @click="handleImport()"> 导入慢性病诊断 </el-button>
<el-button
type="primary"
plain
@click="handleImport()"
>
导入慢性病诊断
</el-button>
</div>
<el-form :model="form" :rules="rules" ref="formRef">
<el-table ref="diagnosisTableRef" :data="form.diagnosisList" height="650">
<el-table-column label="序号" width="50" >
<template #default="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column label="诊断排序" align="center" prop="diagSrtNo" width="120">
<el-form
ref="formRef"
:model="form"
:rules="rules"
>
<el-table
ref="diagnosisTableRef"
:data="form.diagnosisList"
height="650"
>
<el-table-column
label="序号"
width="50"
>
<template #default="scope">
<el-form-item :prop="`diagnosisList.${scope.$index}.diagSrtNo`" :rules="rules.diagSrtNo">
<el-input-number v-model="scope.row.diagSrtNo" controls-position="right" :controls="false"
style="width: 80px" />
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column
label="诊断排序"
align="center"
prop="diagSrtNo"
width="120"
>
<template #default="scope">
<el-form-item
:prop="`diagnosisList.${scope.$index}.diagSrtNo`"
:rules="rules.diagSrtNo"
>
<el-input-number
v-model="scope.row.diagSrtNo"
controls-position="right"
:controls="false"
style="width: 80px"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="诊断类别" align="center" prop="diagSrtNo" width="180">
<el-table-column
label="诊断类别"
align="center"
prop="diagSrtNo"
width="180"
>
<template #default="scope">
<el-form-item :prop="`diagnosisList.${scope.$index}.medTypeCode`" :rules="rules.medTypeCode">
<el-select v-model="scope.row.medTypeCode" placeholder=" " style="width: 150px">
<el-option v-for="item in med_type" :key="item.value" :label="item.label" :value="item.value" />
<el-form-item
:prop="`diagnosisList.${scope.$index}.medTypeCode`"
:rules="rules.medTypeCode"
>
<el-select
v-model="scope.row.medTypeCode"
placeholder=" "
style="width: 150px"
>
<el-option
v-for="item in med_type"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="诊断名称" align="center" prop="name">
<el-table-column
label="诊断名称"
align="center"
prop="name"
>
<template #default="scope">
<el-form-item :prop="`diagnosisList.${scope.$index}.name`" :rules="rules.name">
<el-popover :popper-style="{ padding: '0' }" placement="bottom-start" :visible="scope.row.showPopover"
trigger="manual" :width="800">
<diagnosislist :diagnosisSearchkey="diagnosisSearchkey" @selectDiagnosis="handleSelsectDiagnosis" />
<el-form-item
:prop="`diagnosisList.${scope.$index}.name`"
:rules="rules.name"
>
<el-popover
:popper-style="{ padding: '0' }"
placement="bottom-start"
:visible="scope.row.showPopover"
trigger="manual"
:width="800"
>
<diagnosislist
:diagnosis-searchkey="diagnosisSearchkey"
@select-diagnosis="handleSelsectDiagnosis"
/>
<template #reference>
<el-input v-model="scope.row.name" placeholder="请选择诊断" @input="handleChange"
@focus="handleFocus(scope.row, scope.$index)" @blur="handleBlur(scope.row)" />
<el-input
v-model="scope.row.name"
placeholder="请选择诊断"
@input="handleChange"
@focus="handleFocus(scope.row, scope.$index)"
@blur="handleBlur(scope.row)"
/>
</template>
</el-popover>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="诊断医生" align="center" prop="diagnosisDoctor" width="120" />
<el-table-column label="诊断时间" align="center" prop="diagnosisTime" width="150" />
<el-table-column label="诊断代码" align="center" prop="ybNo" width="180" />
<el-table-column label="诊断类型" align="center" prop="maindiseFlag" width="120">
<el-table-column
label="诊断医生"
align="center"
prop="diagnosisDoctor"
width="120"
/>
<el-table-column
label="诊断时间"
align="center"
prop="diagnosisTime"
width="150"
/>
<el-table-column
label="诊断代码"
align="center"
prop="ybNo"
width="180"
/>
<el-table-column
label="诊断类型"
align="center"
prop="maindiseFlag"
width="120"
>
<template #default="scope">
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
<el-checkbox
label="主诊断"
:trueLabel="1"
:falseLabel="0"
v-model="scope.row.maindiseFlag"
border
size="small"
@change="(value) => handleMaindise(value, scope.$index)"
/>
<el-select
v-model="scope.row.verificationStatusEnum"
placeholder=" "
style="width: 100%; padding-bottom: 5px; padding-left: 10px"
size="small"
>
<el-option
v-for="item in diagnosisOptions"
:key="item.value"
:label="item.label"
:value="item.value"
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
<el-checkbox
v-model="scope.row.maindiseFlag"
label="主诊断"
:true-label="1"
:false-label="0"
border
size="small"
@change="(value) => handleMaindise(value, scope.$index)"
/>
</el-select>
</div>
<el-select
v-model="scope.row.verificationStatusEnum"
placeholder=" "
style="width: 100%; padding-bottom: 5px; padding-left: 10px"
size="small"
>
<el-option
v-for="item in diagnosisOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="130">
<el-table-column
label="操作"
align="center"
width="130"
>
<template #default="scope">
<el-button link type="primary" @click="handleDeleteDiagnosis(scope.row, scope.$index)">
<el-button
link
type="primary"
@click="handleDeleteDiagnosis(scope.row, scope.$index)"
>
删除
</el-button>
</template>
@@ -154,13 +274,13 @@
</el-col>
</el-row>
<diagnosisdialog
:openDiagnosis="openDiagnosis"
@close="closeDiagnosisDialog"
:open-diagnosis="openDiagnosis"
:radio="orgOrUser"
@close="closeDiagnosisDialog"
/>
<AddDiagnosisDialog
:openAddDiagnosisDialog="openAddDiagnosisDialog"
:patientInfo="props.patientInfo"
:open-add-diagnosis-dialog="openAddDiagnosisDialog"
:patient-info="props.patientInfo"
@close="closeDiagnosisDialog"
/>
</div>

View File

@@ -1,14 +1,17 @@
<template>
<el-dialog
:title="title"
v-model="props.openDiagnosis"
:title="title"
width="1000px"
append-to-body
destroy-on-close
@close="close"
>
<div>
<el-row :gutter="24" class="mb8">
<el-row
:gutter="24"
class="mb8"
>
<el-col :span="12">
<el-input
v-model="queryParams.searchKey"
@@ -18,7 +21,10 @@
@keyup.enter="queryDiagnosisUse"
>
<template #append>
<el-button icon="Search" @click="queryDiagnosisUse" />
<el-button
icon="Search"
@click="queryDiagnosisUse"
/>
</template>
</el-input>
</el-col>
@@ -35,25 +41,40 @@
ref="diagnosisDefinitionRef"
:data="diagnosisDefinitionList"
row-key="patientId"
@cell-click="clickRow"
highlight-current-row
@cell-click="clickRow"
@selection-change="handleSelectionChange"
>
<el-table-column label="诊断名称" align="center" prop="name" />
<el-table-column label="医保编码" align="center" prop="ybNo" />
<el-table-column
label="诊断名称"
align="center"
prop="name"
/>
<el-table-column
label="医保编码"
align="center"
prop="ybNo"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
:total="total"
@pagination="getList"
/>
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit"> </el-button>
<el-button @click="close"> </el-button>
<el-button
type="primary"
@click="submit"
>
</el-button>
<el-button @click="close">
</el-button>
</div>
</template>
</el-dialog>

View File

@@ -4,12 +4,25 @@
ref="diagnosisDefinitionRef"
:data="diagnosisDefinitionList"
row-key="patientId"
@cell-click="clickRow"
max-height="400"
@cell-click="clickRow"
>
<el-table-column label="诊断名称" align="center" prop="name" />
<el-table-column label="医保编码" align="center" prop="ybNo" />
<el-table-column label="诊断类型" align="center" prop="typeName" width="180"/>
<el-table-column
label="诊断名称"
align="center"
prop="name"
/>
<el-table-column
label="医保编码"
align="center"
prop="ybNo"
/>
<el-table-column
label="诊断类型"
align="center"
prop="typeName"
width="180"
/>
</el-table>
</div>
</template>

View File

@@ -1,14 +1,29 @@
<template>
<div class="diagnose-container">
<!-- 常用诊断个人诊断科室诊断历史诊断 -->
<diagnose-folder :folder="mockData" :level="0" />
<diagnose-folder
:folder="mockData"
:level="0"
/>
<div class="diagnose-main">
<div class="operate-btns">
<el-space>
<el-button type="primary" @click="addNewWestern">开立诊断</el-button>
<el-button type="primary">既往诊断</el-button>
<el-button
type="primary"
@click="addNewWestern"
>
开立诊断
</el-button>
<el-button type="primary">
既往诊断
</el-button>
<!-- 患者诊断 -->
<el-button type="danger" @click="addNewChinese">中医诊断</el-button>
<el-button
type="danger"
@click="addNewChinese"
>
中医诊断
</el-button>
</el-space>
</div>
<div class="diagnoseData-container">
@@ -19,44 +34,118 @@
style="width: 100%; height: 100%"
highlight-current-row
>
<el-table-column type="selection" fixed="left" width="40" />
<el-table-column prop="date" label="诊断类型" width="180" sortable />
<el-table-column prop="name" label="诊断名称" width="180" />
<el-table-column prop="address" label="主诊" />
<el-table-column prop="address" label="复诊" />
<el-table-column prop="address" label="疑似" />
<el-table-column prop="address" label="传染" />
<el-table-column prop="address" label="入院病情" width="180" />
<el-table-column prop="address" label="转归" width="180" />
<el-table-column prop="address" label="转归日期" width="180" />
<el-table-column prop="address" label="诊断科室" width="180" />
<el-table-column prop="address" label="诊断医师" width="180" />
<el-table-column prop="address" label="诊断日期" width="180" />
<el-table-column fixed="right" label="操作" width="120">
<el-table-column
type="selection"
fixed="left"
width="40"
/>
<el-table-column
prop="date"
label="诊断类型"
width="180"
sortable
/>
<el-table-column
prop="name"
label="诊断名称"
width="180"
/>
<el-table-column
prop="address"
label="主诊"
/>
<el-table-column
prop="address"
label="复诊"
/>
<el-table-column
prop="address"
label="疑似"
/>
<el-table-column
prop="address"
label="传染"
/>
<el-table-column
prop="address"
label="入院病情"
width="180"
/>
<el-table-column
prop="address"
label="转归"
width="180"
/>
<el-table-column
prop="address"
label="转归日期"
width="180"
/>
<el-table-column
prop="address"
label="诊断科室"
width="180"
/>
<el-table-column
prop="address"
label="诊断医师"
width="180"
/>
<el-table-column
prop="address"
label="诊断日期"
width="180"
/>
<el-table-column
fixed="right"
label="操作"
width="120"
>
<template #default="props">
<el-space>
<el-tooltip content="删除" placement="bottom">
<el-icon @click="deleteDiagnose(row)"><Delete /></el-icon>
<el-tooltip
content="删除"
placement="bottom"
>
<el-icon @click="deleteDiagnose(row)">
<Delete />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="props.$index !== diagnoseData.length - 1"
content="下移"
placement="bottom"
v-if="props.$index !== diagnoseData.length - 1"
>
<el-icon @click="download(props.row)"><Download /></el-icon>
</el-tooltip>
<el-tooltip content="上移" placement="bottom" v-if="props.$index !== 0">
<el-icon @click="upload(props.row)"><Upload /></el-icon>
</el-tooltip>
<el-tooltip content="置顶" placement="bottom" v-if="props.$index !== 0">
<el-icon @click="top(props.row)"><Top /></el-icon>
<el-icon @click="download(props.row)">
<Download />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="props.$index !== 0"
content="上移"
placement="bottom"
>
<el-icon @click="upload(props.row)">
<Upload />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="props.$index !== 0"
content="置顶"
placement="bottom"
>
<el-icon @click="top(props.row)">
<Top />
</el-icon>
</el-tooltip>
<el-tooltip
v-if="props.$index !== diagnoseData.length - 1"
content="置底"
placement="bottom"
v-if="props.$index !== diagnoseData.length - 1"
>
<el-icon @click="bottom(props.row)"><Bottom /></el-icon>
<el-icon @click="bottom(props.row)">
<Bottom />
</el-icon>
</el-tooltip>
</el-space>
</template>

View File

@@ -3,53 +3,113 @@
v-model="visible"
:width="width"
title="西医诊断"
:z-index="20"
@open="openAct"
@closed="closedAct"
:z-index="20"
>
<el-form :inline="true" :model="diagnoseform" class="demo-form-inline" label-width="auto">
<el-form
:inline="true"
:model="diagnoseform"
class="demo-form-inline"
label-width="auto"
>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="诊断名称" style="width: 100%">
<el-input v-model="diagnoseform.user" placeholder="诊断名称" clearable />
<el-form-item
label="诊断名称"
style="width: 100%"
>
<el-input
v-model="diagnoseform.user"
placeholder="诊断名称"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="诊断类型" style="width: 100%">
<el-form-item
label="诊断类型"
style="width: 100%"
>
<el-select
v-model="diagnoseform.user"
placeholder="诊断类型"
clearable
style="width: 100%"
>
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-option
label="Zone one"
value="shanghai"
/>
<el-option
label="Zone two"
value="beijing"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="前缀" style="width: 100%">
<el-select v-model="diagnoseform.user" placeholder="前缀" clearable style="width: 100%">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-form-item
label="前缀"
style="width: 100%"
>
<el-select
v-model="diagnoseform.user"
placeholder="前缀"
clearable
style="width: 100%"
>
<el-option
label="Zone one"
value="shanghai"
/>
<el-option
label="Zone two"
value="beijing"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="后缀" style="width: 100%">
<el-select v-model="diagnoseform.user" placeholder="后缀" clearable style="width: 100%">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-form-item
label="后缀"
style="width: 100%"
>
<el-select
v-model="diagnoseform.user"
placeholder="后缀"
clearable
style="width: 100%"
>
<el-option
label="Zone one"
value="shanghai"
/>
<el-option
label="Zone two"
value="beijing"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="ICD" style="width: 100%">
<el-input v-model="diagnoseform.user" placeholder="ICD" clearable style="width: 100%" />
<el-form-item
label="ICD"
style="width: 100%"
>
<el-input
v-model="diagnoseform.user"
placeholder="ICD"
clearable
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" style="width: 100%">
<el-form-item
label="备注"
style="width: 100%"
>
<el-input
v-model="diagnoseform.user"
placeholder="备注"
@@ -59,28 +119,54 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入院病情" style="width: 100%">
<el-form-item
label="入院病情"
style="width: 100%"
>
<el-select
v-model="diagnoseform.user"
placeholder="入院病情"
clearable
style="width: 100%"
>
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-option
label="Zone one"
value="shanghai"
/>
<el-option
label="Zone two"
value="beijing"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="转归" style="width: 100%">
<el-select v-model="diagnoseform.user" placeholder="转归" clearable style="width: 100%">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-form-item
label="转归"
style="width: 100%"
>
<el-select
v-model="diagnoseform.user"
placeholder="转归"
clearable
style="width: 100%"
>
<el-option
label="Zone one"
value="shanghai"
/>
<el-option
label="Zone two"
value="beijing"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="转归日期" style="width: 100%">
<el-form-item
label="转归日期"
style="width: 100%"
>
<el-date-picker
v-model="diagnoseform.user"
type="date"
@@ -90,32 +176,63 @@
/>
</el-form-item>
</el-col>
<el-col :span="12"> </el-col>
<el-col :span="12" />
<el-col :span="6">
<el-form-item label="主诊断" style="width: 100%">
<el-checkbox v-model="diagnoseform.checked1" label="" size="large" />
<el-form-item
label="主诊断"
style="width: 100%"
>
<el-checkbox
v-model="diagnoseform.checked1"
label=""
size="large"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="疑似诊断">
<el-checkbox v-model="diagnoseform.checked1" label="" size="large" />
<el-checkbox
v-model="diagnoseform.checked1"
label=""
size="large"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="复诊">
<el-checkbox v-model="diagnoseform.checked1" label="" size="large" />
<el-checkbox
v-model="diagnoseform.checked1"
label=""
size="large"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="子诊断">
<el-checkbox v-model="diagnoseform.checked1" label="" size="large" />
<el-checkbox
v-model="diagnoseform.checked1"
label=""
size="large"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button size="fixed" class="margin-left-auto" @click="cancelAct">取消 </el-button>
<el-button size="fixed" type="primary" @click="handleSubmit(signFormRef)">保存</el-button>
<el-button
size="fixed"
class="margin-left-auto"
@click="cancelAct"
>
取消
</el-button>
<el-button
size="fixed"
type="primary"
@click="handleSubmit(signFormRef)"
>
保存
</el-button>
</template>
</el-dialog>
</template>

View File

@@ -3,58 +3,69 @@
* @Date: 2025-09-05 22:32:17
* @Description: 申请单 检验检查输血手术
-->
<template>
<div>
<div class="applicationForm-bottom-btn">
<el-button-group>
<el-button
type="primary"
@click="showApplicationFormDialog('LaboratoryTests')"
:disabled="!props.patientInfo?.inHospitalOrgId"
>检验</el-button
>
<el-button
type="primary"
@click="showApplicationFormDialog('MedicalExaminations')"
:disabled="!props.patientInfo?.inHospitalOrgId"
>检查</el-button
>
<el-button
type="primary"
@click="showApplicationFormDialog('BloodTransfusion')"
:disabled="!props.patientInfo?.inHospitalOrgId"
>输血</el-button
>
<el-button
type="primary"
@click="showApplicationFormDialog('Surgery')"
:disabled="!props.patientInfo?.inHospitalOrgId"
>手术</el-button
>
</el-button-group>
</div>
<el-dialog
v-model="applicationFormDialogVisible"
destroy-on-close
width="1200px"
:close-on-click-modal="false"
:title="applicationFormTitle"
@close="closeDialog"
>
<component
:is="applicationFormName"
@submitOk="submitOk"
ref="applicationFormNameRef"
></component>
<template #footer>
<div class="dialog-footer">
<el-button @click="applicationFormDialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitApplicationForm"> 确认 </el-button>
</div>
</template>
</el-dialog>
<template>
<div>
<div class="applicationForm-bottom-btn">
<el-button-group>
<el-button
type="primary"
:disabled="!props.patientInfo?.inHospitalOrgId"
@click="showApplicationFormDialog('LaboratoryTests')"
>
检验
</el-button>
<el-button
type="primary"
:disabled="!props.patientInfo?.inHospitalOrgId"
@click="showApplicationFormDialog('MedicalExaminations')"
>
检查
</el-button>
<el-button
type="primary"
:disabled="!props.patientInfo?.inHospitalOrgId"
@click="showApplicationFormDialog('BloodTransfusion')"
>
输血
</el-button>
<el-button
type="primary"
:disabled="!props.patientInfo?.inHospitalOrgId"
@click="showApplicationFormDialog('Surgery')"
>
手术
</el-button>
</el-button-group>
</div>
</template>
<el-dialog
v-model="applicationFormDialogVisible"
destroy-on-close
width="1200px"
:close-on-click-modal="false"
:title="applicationFormTitle"
@close="closeDialog"
>
<component
:is="applicationFormName"
ref="applicationFormNameRef"
@submit-ok="submitOk"
/>
<template #footer>
<div class="dialog-footer">
<el-button @click="applicationFormDialogVisible = false">
取消
</el-button>
<el-button
type="primary"
@click="submitApplicationForm"
>
确认
</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
import {computed, getCurrentInstance, nextTick, onBeforeMount, onMounted, reactive, ref,} from 'vue';
import BloodTransfusion from './bloodTransfusion.vue';

View File

@@ -5,7 +5,10 @@
-->
<template>
<div class="bloodTransfusion-container">
<div v-loading="loading" class="transfer-wrapper">
<div
v-loading="loading"
class="transfer-wrapper"
>
<el-transfer
v-model="transferValue"
:data="applicationList"
@@ -15,7 +18,13 @@
/>
</div>
<div class="bloodTransfusion-form">
<el-form :model="form" :rules="rules" ref="formRef" label-width="120px" class="demo-ruleForm">
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="120px"
class="demo-ruleForm"
>
<el-row :gutter="20">
<!-- <el-col :span="12">
<el-form-item label="项目类别" prop="categoryType" style="width: 100%">
@@ -23,7 +32,11 @@
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="发往科室" prop="targetDepartment" style="width: 100%">
<el-form-item
label="发往科室"
prop="targetDepartment"
style="width: 100%"
>
<el-select
v-model="form.targetDepartment"
filterable
@@ -41,33 +54,81 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="症状" prop="symptom" style="width: 100%">
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
<el-form-item
label="症状"
prop="symptom"
style="width: 100%"
>
<el-input
v-model="form.symptom"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="体征" prop="sign" style="width: 100%">
<el-input v-model="form.sign" autocomplete="off" type="textarea" />
<el-form-item
label="体征"
prop="sign"
style="width: 100%"
>
<el-input
v-model="form.sign"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="临床诊断" prop="clinicalDiagnosis" style="width: 100%">
<el-input disabled v-model="form.clinicalDiagnosis" autocomplete="off" />
<el-form-item
label="临床诊断"
prop="clinicalDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.clinicalDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="其他诊断" prop="otherDiagnosis" style="width: 100%">
<el-input disabled v-model="form.otherDiagnosis" autocomplete="off" />
<el-form-item
label="其他诊断"
prop="otherDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.otherDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="相关结果" prop="relatedResult" style="width: 100%">
<el-input v-model="form.relatedResult" autocomplete="off" type="textarea" />
<el-form-item
label="相关结果"
prop="relatedResult"
style="width: 100%"
>
<el-input
v-model="form.relatedResult"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注意事项" prop="attention" style="width: 100%">
<el-input v-model="form.attention" autocomplete="off" type="textarea" />
<el-form-item
label="注意事项"
prop="attention"
style="width: 100%"
>
<el-input
v-model="form.attention"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>

View File

@@ -5,19 +5,27 @@
-->
<template>
<div class="LaboratoryTests-container">
<div v-loading="loading" class="transfer-wrapper">
<div
v-loading="loading"
class="transfer-wrapper"
>
<!-- 远程搜索框 -->
<div class="search-bar">
<el-input
v-model="searchKey"
placeholder="输入项目代码/名称搜索"
clearable
style="width: 300px; margin-bottom: 10px"
@keyup.enter="handleSearch"
@clear="handleSearch"
style="width: 300px; margin-bottom: 10px"
>
<template #append>
<el-button @click="handleSearch" :loading="loading">搜索</el-button>
<el-button
:loading="loading"
@click="handleSearch"
>
搜索
</el-button>
</template>
</el-input>
<span class="total-count"> {{ totalCount }} </span>
@@ -29,7 +37,13 @@
/>
</div>
<div class="bloodTransfusion-form">
<el-form :model="form" :rules="rules" ref="formRef" label-width="120px" class="demo-ruleForm">
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="120px"
class="demo-ruleForm"
>
<el-row :gutter="20">
<!-- <el-col :span="12">
<el-form-item label="项目类别" prop="categoryType" style="width: 100%">
@@ -37,12 +51,16 @@
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="发往科室" prop="targetDepartment" style="width: 100%">
<el-form-item
label="发往科室"
prop="targetDepartment"
style="width: 100%"
>
<!-- <el-input v-model="form.targetDepartment" autocomplete="off" /> -->
<el-tree-select
v-model="form.targetDepartment"
clearable
style="width: 100%"
v-model="form.targetDepartment"
filterable
:data="orgOptions"
:props="{
@@ -57,64 +75,162 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="症状" prop="symptom" style="width: 100%">
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
<el-form-item
label="症状"
prop="symptom"
style="width: 100%"
>
<el-input
v-model="form.symptom"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="体征" prop="sign" style="width: 100%">
<el-input v-model="form.sign" autocomplete="off" type="textarea" />
<el-form-item
label="体征"
prop="sign"
style="width: 100%"
>
<el-input
v-model="form.sign"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="临床诊断" prop="clinicalDiagnosis" style="width: 100%">
<el-input disabled v-model="form.clinicalDiagnosis" autocomplete="off" />
<el-form-item
label="临床诊断"
prop="clinicalDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.clinicalDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="其他诊断" prop="otherDiagnosis" style="width: 100%">
<el-input disabled v-model="form.otherDiagnosis" autocomplete="off" />
<el-form-item
label="其他诊断"
prop="otherDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.otherDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="相关结果" prop="relatedResult" style="width: 100%">
<el-input v-model="form.relatedResult" autocomplete="off" type="textarea" />
<el-form-item
label="相关结果"
prop="relatedResult"
style="width: 100%"
>
<el-input
v-model="form.relatedResult"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注意事项" prop="attention" style="width: 100%">
<el-input v-model="form.attention" autocomplete="off" type="textarea" />
<el-form-item
label="注意事项"
prop="attention"
style="width: 100%"
>
<el-input
v-model="form.attention"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<!-- 申请类型 -->
<el-col :span="12">
<el-form-item label="申请类型" prop="applicationType" style="width: 100%">
<el-form-item
label="申请类型"
prop="applicationType"
style="width: 100%"
>
<el-radio-group v-model="form.applicationType">
<el-radio :value="0">普通</el-radio>
<el-radio :value="1">急诊</el-radio>
<el-radio :value="0">
普通
</el-radio>
<el-radio :value="1">
急诊
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<!-- 标本类型 -->
<el-col :span="12">
<el-form-item label="标本类型" prop="specimenName" style="width: 100%">
<el-select v-model="form.specimenName" placeholder="请选择标本类型" style="width: 100%">
<el-option label="血液" value="血液" />
<el-option label="尿液" value="尿液" />
<el-option label="粪便" value="粪便" />
<el-option label="痰液" value="痰液" />
<el-option label="咽拭子" value="咽拭子" />
<el-option label="脑脊液" value="脑脊液" />
<el-option label="胸腹水" value="胸腹水" />
<el-option label="关节液" value="关节液" />
<el-option label="分泌物" value="分泌物" />
<el-option label="其他" value="其他" />
<el-form-item
label="标本类型"
prop="specimenName"
style="width: 100%"
>
<el-select
v-model="form.specimenName"
placeholder="请选择标本类型"
style="width: 100%"
>
<el-option
label="血液"
value="血液"
/>
<el-option
label="尿液"
value="尿液"
/>
<el-option
label="粪便"
value="粪便"
/>
<el-option
label="痰液"
value="痰液"
/>
<el-option
label="咽拭子"
value="咽拭子"
/>
<el-option
label="脑脊液"
value="脑脊液"
/>
<el-option
label="胸腹水"
value="胸腹水"
/>
<el-option
label="关节液"
value="关节液"
/>
<el-option
label="分泌物"
value="分泌物"
/>
<el-option
label="其他"
value="其他"
/>
</el-select>
</el-form-item>
</el-col>
<!-- 执行时间 -->
<el-col :span="12">
<el-form-item label="执行时间" prop="executeTime" style="width: 100%">
<el-form-item
label="执行时间"
prop="executeTime"
style="width: 100%"
>
<el-date-picker
v-model="form.executeTime"
type="datetime"

View File

@@ -8,8 +8,15 @@
@close="closeDialog"
>
<div style="padding: 0 80px">
<el-form :model="form" :rules="rules" ref="formRef">
<el-form-item label="出院方式" prop="outpatientType">
<el-form
ref="formRef"
:model="form"
:rules="rules"
>
<el-form-item
label="出院方式"
prop="outpatientType"
>
<el-select v-model="form.outpatientType">
<el-option
v-for="(item, index) in dscg_way"
@@ -19,21 +26,42 @@
/>
</el-select>
</el-form-item>
<el-form-item label="出院时间" prop="outpatientTime">
<el-form-item
label="出院时间"
prop="outpatientTime"
>
<el-radio-group v-model="form.outpatientTime">
<el-radio value="1">今日</el-radio>
<el-radio value="2">明日</el-radio>
<el-radio value="1">
今日
</el-radio>
<el-radio value="2">
明日
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="出院描述" prop="outpatientDescription"
><el-input v-model="form.outpatientDescription" type="textarea" rows="5" />
<el-form-item
label="出院描述"
prop="outpatientDescription"
>
<el-input
v-model="form.outpatientDescription"
type="textarea"
rows="5"
/>
</el-form-item>
</el-form>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitApplicationForm"> 确认 </el-button>
<el-button @click="dialogVisible = false">
取消
</el-button>
<el-button
type="primary"
@click="submitApplicationForm"
>
确认
</el-button>
</div>
</template>
</el-dialog>

View File

@@ -20,15 +20,24 @@
</div>
</div>
<el-form :model="form" :rules="rules" ref="formRef" label-position="top" class="info-form">
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-position="top"
class="info-form"
>
<!-- 第一行发往科室 + 紧急程度 + 期望检查时间 -->
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="发往科室" prop="targetDepartment">
<el-form-item
label="发往科室"
prop="targetDepartment"
>
<el-tree-select
v-model="form.targetDepartment"
clearable
style="width: 100%"
v-model="form.targetDepartment"
filterable
:data="orgOptions"
:props="{ value: 'id', label: 'name', children: 'children' }"
@@ -40,12 +49,23 @@
</el-col>
<el-col :span="4">
<el-form-item label="紧急程度">
<el-radio-group v-model="form.urgencyLevel" @change="handleUrgencyChange" size="small">
<el-radio-button label="routine">普通</el-radio-button>
<el-radio-button label="emergency">急诊</el-radio-button>
<el-radio-group
v-model="form.urgencyLevel"
size="small"
@change="handleUrgencyChange"
>
<el-radio-button label="routine">
普通
</el-radio-button>
<el-radio-button label="emergency">
急诊
</el-radio-button>
</el-radio-group>
<transition name="el-fade-in-linear">
<span v-if="form.urgencyLevel === 'emergency'" class="emergency-tip-inline">
<span
v-if="form.urgencyLevel === 'emergency'"
class="emergency-tip-inline"
>
<el-icon><WarningFilled /></el-icon>
绿色通道
</span>
@@ -72,12 +92,24 @@
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="症状">
<el-input v-model="form.symptom" autocomplete="off" type="textarea" :rows="2" placeholder="请输入患者症状" />
<el-input
v-model="form.symptom"
autocomplete="off"
type="textarea"
:rows="2"
placeholder="请输入患者症状"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="体征">
<el-input v-model="form.sign" autocomplete="off" type="textarea" :rows="2" placeholder="请输入患者体征" />
<el-input
v-model="form.sign"
autocomplete="off"
type="textarea"
:rows="2"
placeholder="请输入患者体征"
/>
</el-form-item>
</el-col>
</el-row>
@@ -86,12 +118,20 @@
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="临床诊断">
<el-input disabled v-model="form.clinicalDiagnosis" placeholder="自动带入主诊断" />
<el-input
v-model="form.clinicalDiagnosis"
disabled
placeholder="自动带入主诊断"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="其他诊断">
<el-input disabled v-model="form.otherDiagnosis" placeholder="自动带入其他诊断" />
<el-input
v-model="form.otherDiagnosis"
disabled
placeholder="自动带入其他诊断"
/>
</el-form-item>
</el-col>
</el-row>
@@ -100,12 +140,24 @@
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="相关结果">
<el-input v-model="form.relatedResult" autocomplete="off" type="textarea" :rows="2" placeholder="请输入相关检验结果" />
<el-input
v-model="form.relatedResult"
autocomplete="off"
type="textarea"
:rows="2"
placeholder="请输入相关检验结果"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注意事项">
<el-input v-model="form.attention" autocomplete="off" type="textarea" :rows="2" placeholder="请输入检查注意事项" />
<el-input
v-model="form.attention"
autocomplete="off"
type="textarea"
:rows="2"
placeholder="请输入检查注意事项"
/>
</el-form-item>
</el-col>
</el-row>
@@ -113,7 +165,10 @@
<!-- 第五行检查目的 + 病史摘要 -->
<el-row :gutter="16">
<el-col :span="12">
<el-form-item label="检查目的" prop="examinationPurpose">
<el-form-item
label="检查目的"
prop="examinationPurpose"
>
<el-input
v-model="form.examinationPurpose"
autocomplete="off"
@@ -126,7 +181,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="病史摘要" prop="medicalHistorySummary">
<el-form-item
label="病史摘要"
prop="medicalHistorySummary"
>
<div class="history-field-wrapper">
<el-input
v-model="form.medicalHistorySummary"
@@ -140,8 +198,8 @@
plain
size="small"
class="history-sync-btn"
@click="handleSyncHistory"
:loading="syncingHistory"
@click="handleSyncHistory"
>
<el-icon><Refresh /></el-icon>
同步
@@ -165,11 +223,17 @@
placeholder="如:造影剂过敏史等(系统将自动从患者档案带入)"
/>
<div class="allergy-actions">
<span v-if="isSevereAllergy" class="allergy-severe-tag-inline">
<span
v-if="isSevereAllergy"
class="allergy-severe-tag-inline"
>
<el-icon><WarningFilled /></el-icon>
严重过敏
</span>
<el-checkbox v-model="form.allergyConfirmed" size="small">
<el-checkbox
v-model="form.allergyConfirmed"
size="small"
>
已通过口头询问确认无过敏史
</el-checkbox>
</div>
@@ -188,13 +252,26 @@
:close-on-click-modal="false"
>
<div class="emergency-dialog-content">
<el-icon class="emergency-dialog-icon"><WarningFilled /></el-icon>
<p class="emergency-dialog-text">请确认患者符合急诊指征</p>
<p class="emergency-dialog-sub">急诊申请单将进入绿色通道优先处理</p>
<el-icon class="emergency-dialog-icon">
<WarningFilled />
</el-icon>
<p class="emergency-dialog-text">
请确认患者符合急诊指征
</p>
<p class="emergency-dialog-sub">
急诊申请单将进入绿色通道优先处理
</p>
</div>
<template #footer>
<el-button @click="cancelEmergency">取消</el-button>
<el-button type="danger" @click="confirmEmergency">确认急诊</el-button>
<el-button @click="cancelEmergency">
取消
</el-button>
<el-button
type="danger"
@click="confirmEmergency"
>
确认急诊
</el-button>
</template>
</el-dialog>
</div>

View File

@@ -5,20 +5,28 @@
-->
<template>
<div class="surgery-container">
<div class="transfer-wrapper" style="min-height: 300px;">
<div
class="transfer-wrapper"
style="min-height: 300px;"
>
<!-- 搜索框3字触发后端搜索 -->
<div style="padding: 6px 0;">
<el-input
v-model="searchKey"
placeholder="请输入3个字及以上搜索"
clearable
@input="onSearchInput"
style="width: 320px;"
@input="onSearchInput"
/>
</div>
<!-- 加载提示不阻塞穿梭框操作 -->
<div v-if="loading" style="padding:8px 0; color:#909399; font-size:13px;">
<el-icon class="is-loading"><Loading /></el-icon> 手术项目加载中...
<div
v-if="loading"
style="padding:8px 0; color:#909399; font-size:13px;"
>
<el-icon class="is-loading">
<Loading />
</el-icon> 手术项目加载中...
</div>
<el-transfer
ref="transferRef"
@@ -29,7 +37,13 @@
/>
</div>
<div class="bloodTransfusion-form">
<el-form :model="form" :rules="rules" ref="formRef" label-width="120px" class="demo-ruleForm">
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="120px"
class="demo-ruleForm"
>
<el-row :gutter="20">
<!-- <el-col :span="12">
<el-form-item label="项目类别" prop="categoryType" style="width: 100%">
@@ -37,12 +51,16 @@
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="发往科室" prop="targetDepartment" style="width: 100%">
<el-form-item
label="发往科室"
prop="targetDepartment"
style="width: 100%"
>
<!-- <el-input v-model="form.targetDepartment" autocomplete="off" /> -->
<el-tree-select
v-model="form.targetDepartment"
clearable
style="width: 100%"
v-model="form.targetDepartment"
filterable
:data="orgOptions"
:props="{
@@ -57,33 +75,81 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="症状" prop="symptom" style="width: 100%">
<el-input v-model="form.symptom" autocomplete="off" type="textarea" />
<el-form-item
label="症状"
prop="symptom"
style="width: 100%"
>
<el-input
v-model="form.symptom"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="体征" prop="sign" style="width: 100%">
<el-input v-model="form.sign" autocomplete="off" type="textarea" />
<el-form-item
label="体征"
prop="sign"
style="width: 100%"
>
<el-input
v-model="form.sign"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="临床诊断" prop="clinicalDiagnosis" style="width: 100%">
<el-input disabled v-model="form.clinicalDiagnosis" autocomplete="off" />
<el-form-item
label="临床诊断"
prop="clinicalDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.clinicalDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="其他诊断" prop="otherDiagnosis" style="width: 100%">
<el-input disabled v-model="form.otherDiagnosis" autocomplete="off" />
<el-form-item
label="其他诊断"
prop="otherDiagnosis"
style="width: 100%"
>
<el-input
v-model="form.otherDiagnosis"
disabled
autocomplete="off"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="相关结果" prop="relatedResult" style="width: 100%">
<el-input v-model="form.relatedResult" autocomplete="off" type="textarea" />
<el-form-item
label="相关结果"
prop="relatedResult"
style="width: 100%"
>
<el-input
v-model="form.relatedResult"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注意事项" prop="attention" style="width: 100%">
<el-input v-model="form.attention" autocomplete="off" type="textarea" />
<el-form-item
label="注意事项"
prop="attention"
style="width: 100%"
>
<el-input
v-model="form.attention"
autocomplete="off"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>

View File

@@ -8,12 +8,19 @@
@close="closeDialog"
>
<div style="padding: 0 80px">
<el-form :model="form" :rules="rules" ref="formRef">
<el-form-item label="转入科室" prop="targetOrganizationId">
<el-form
ref="formRef"
:model="form"
:rules="rules"
>
<el-form-item
label="转入科室"
prop="targetOrganizationId"
>
<el-select
v-model="form.targetOrganizationId"
@change="fetchWardList"
placeholder="请选择转入科室"
@change="fetchWardList"
>
<el-option
v-for="item in deptList"
@@ -24,8 +31,15 @@
</el-select>
</el-form-item>
<el-form-item label="转入病区" prop="targetLocationId">
<el-select v-model="form.targetLocationId" no-data-text="请先选择科室" placeholder="请选择转入病区">
<el-form-item
label="转入病区"
prop="targetLocationId"
>
<el-select
v-model="form.targetLocationId"
no-data-text="请先选择科室"
placeholder="请选择转入病区"
>
<el-option
v-for="item in wardList"
:key="item.id"
@@ -35,14 +49,24 @@
</el-select>
</el-form-item>
<el-form-item label="转科时间" prop="startTime">
<el-form-item
label="转科时间"
prop="startTime"
>
<el-radio-group v-model="form.startTime">
<el-radio :value="today">今日</el-radio>
<el-radio :value="tomorrow">明日</el-radio>
<el-radio :value="today">
今日
</el-radio>
<el-radio :value="tomorrow">
明日
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="转科原因" prop="reasonText">
<el-form-item
label="转科原因"
prop="reasonText"
>
<el-input
v-model="form.reasonText"
type="textarea"
@@ -54,8 +78,15 @@
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitApplicationForm"> 确认 </el-button>
<el-button @click="dialogVisible = false">
取消
</el-button>
<el-button
type="primary"
@click="submitApplicationForm"
>
确认
</el-button>
</div>
</template>
</el-dialog>

View File

@@ -312,6 +312,20 @@
</span>
</template>
</el-table-column>
<el-table-column label="停嘱医生" align="center" prop="stopUserName" width="120">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.stopUserName || "-" }}
</span>
</template>
</el-table-column>
<el-table-column label="停嘱时间" align="center" prop="stopTime" width="170">
<template #default="scope">
<span v-if="!scope.row.isEdit">
{{ scope.row.stopTime || "-" }}
</span>
</template>
</el-table-column>
<el-table-column label="诊断" align="center" prop="diagnosisName" width="150">
<template #default="scope">
<span v-if="!scope.row.isEdit">
@@ -355,6 +369,24 @@
<el-dialog v-model="openDrawer" width="85%" style="height: 800px">
<NursingStatus></NursingStatus>
</el-dialog>
<el-dialog v-model="stopDialogVisible" title="停嘱确认" width="400px" :close-on-click-modal="false">
<el-form :model="stopForm" label-width="100px">
<el-form-item label="停嘱时间" required>
<el-date-picker
v-model="stopForm.stopTime"
type="datetime"
placeholder="请选择停嘱时间"
value-format="YYYY-MM-DD HH:mm:ss"
:default-value="new Date()"
style="width: 100%"
/>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="stopDialogVisible = false">取消</el-button>
<el-button type="primary" @click="confirmStopAdvice">确定</el-button>
</template>
</el-dialog>
</template>
<script setup>
@@ -413,6 +445,13 @@ const encounterDiagnosisId = ref('');
const diagnosisName = ref('');
const diagnosisInfo = ref({});
const loading = ref(false);
// 停嘱弹窗
const stopDialogVisible = ref(false);
const stopForm = reactive({
stopTime: "",
});
const pendingStopRows = ref([]);
const userStore = useUserStore();
const rowRules = ref({
conditionDefinitionId: [{ required: true, message: '请选择诊断', trigger: 'change' }],
@@ -1928,7 +1967,7 @@ function handleSingOut() {
prescriptionRef.value.clearSelection();
}
// 停嘱
// 停嘱 - 弹出时间选择弹窗
function handleStopAdvice() {
let selectRows = prescriptionRef.value.getSelectionRows();
console.log('selectRows======>', JSON.stringify(selectRows));
@@ -1993,27 +2032,49 @@ function handleStopAdvice() {
return;
}
let requestIdList = selectRows.map((item) => {
// 保存选中的停嘱行,打开时间选择弹窗
pendingStopRows.value = selectRows.map((item) => {
return {
requestId: item.requestId,
adviceType: item.adviceType,
};
});
// if (requestIdList.length == 0) {
// proxy.$modal.msgWarning('仅长期医嘱可停止');
// return;
// }
// 默认当前时间
const now = new Date();
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, '0');
const day = String(now.getDate()).padStart(2, '0');
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const seconds = String(now.getSeconds()).padStart(2, '0');
stopForm.stopTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
stopDialogVisible.value = true;
}
// 确认停嘱
function confirmStopAdvice() {
if (!stopForm.stopTime) {
ElMessage({
type: 'error',
message: '请选择停嘱时间',
});
return;
}
const requestIdList = pendingStopRows.value.map((item) => ({
...item,
stopTime: stopForm.stopTime,
}));
stopAdvice(requestIdList).then((res) => {
if (res.code == 200) {
proxy.$modal.msgSuccess('操作成功');
stopDialogVisible.value = false;
getListInfo(false);
}
}
});
}
function handleGroupId(paramList) {
updateGroupId(paramList);
}
}
// 组合
function combination() {

View File

@@ -7,11 +7,24 @@
<div class="advice-container">
<div class="operate-btns">
<el-space>
<el-button type="primary" @click="addNew">新增</el-button>
<el-button type="primary">签发</el-button>
<el-button type="danger">撤回</el-button>
<el-button type="danger">作废</el-button>
<el-button type="danger">停止</el-button>
<el-button
type="primary"
@click="addNew"
>
新增
</el-button>
<el-button type="primary">
签发
</el-button>
<el-button type="danger">
撤回
</el-button>
<el-button type="danger">
作废
</el-button>
<el-button type="danger">
停止
</el-button>
<el-button>复制</el-button>
<el-button>粘贴</el-button>
</el-space>
@@ -19,11 +32,24 @@
<div class="operate-btns">
<el-space>
<el-radio-group v-model="searchForm.orderType">
<el-radio-button label="全部" value="New York" />
<el-radio-button label="长期" value="Washington" />
<el-radio-button label="临时" value="Los Angeles" />
<el-radio-button
label="全部"
value="New York"
/>
<el-radio-button
label="长期"
value="Washington"
/>
<el-radio-button
label="临时"
value="Los Angeles"
/>
</el-radio-group>
<el-select v-model="searchForm.orderClassCode" placeholder="医嘱类型" style="width: 240px">
<el-select
v-model="searchForm.orderClassCode"
placeholder="医嘱类型"
style="width: 240px"
>
<el-option
v-for="item in typeOptions"
:key="item.value"
@@ -31,7 +57,11 @@
:value="item.value"
/>
</el-select>
<el-select v-model="searchForm.orderStatus" placeholder="医嘱状态" style="width: 240px">
<el-select
v-model="searchForm.orderStatus"
placeholder="医嘱状态"
style="width: 240px"
>
<el-option
v-for="item in statusOptions"
:key="item.value"
@@ -50,30 +80,87 @@
highlight-current-row
:expand-row-keys="expandOrder"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="date" label="状态" width="180" sortable />
<el-table-column prop="orderTypeName" label="类型" width="180" />
<el-table-column prop="address" label="医嘱内容" />
<el-table-column prop="address" label="时间" />
<el-table-column prop="address" label="执行科室" />
<el-table-column prop="address" label="停止、作废人/时间" width="180" />
<el-table-column fixed="right" label="操作" width="120">
<el-table-column
type="selection"
width="55"
/>
<el-table-column
prop="date"
label="状态"
width="180"
sortable
/>
<el-table-column
prop="orderTypeName"
label="类型"
width="180"
/>
<el-table-column
prop="address"
label="医嘱内容"
/>
<el-table-column
prop="address"
label="时间"
/>
<el-table-column
prop="address"
label="执行科室"
/>
<el-table-column
prop="address"
label="停止、作废人/时间"
width="180"
/>
<el-table-column
fixed="right"
label="操作"
width="120"
>
<template #default="props">
<el-button link type="primary" size="small" @click="editRow(props.row)">
<el-button
link
type="primary"
size="small"
@click="editRow(props.row)"
>
查看
</el-button>
<el-button link type="primary" size="small">编辑</el-button>
<el-button
link
type="primary"
size="small"
>
编辑
</el-button>
</template>
</el-table-column>
<el-table-column type="expand" width="1" style="width: 0">
<el-table-column
type="expand"
width="1"
style="width: 0"
>
<template #default="props">
<div m="4">
<p m="t-0 b-2">State: {{ props.row.state }}</p>
<p m="t-0 b-2">City: {{ props.row.city }}</p>
<p m="t-0 b-2">Address: {{ props.row.address }}</p>
<p m="t-0 b-2">Zip: {{ props.row.zip }}</p>
<p m="t-0 b-2">
State: {{ props.row.state }}
</p>
<p m="t-0 b-2">
City: {{ props.row.city }}
</p>
<p m="t-0 b-2">
Address: {{ props.row.address }}
</p>
<p m="t-0 b-2">
Zip: {{ props.row.zip }}
</p>
<h3>Family</h3>
<el-button type="primary" @click="save">保存</el-button>
<el-button
type="primary"
@click="save"
>
保存
</el-button>
</div>
</template>
</el-table-column>