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:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user