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:
@@ -1,8 +1,16 @@
|
||||
<template>
|
||||
<div class="app-continer">
|
||||
<div style="margin: 15px 0; padding: 0 20px">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="90px">
|
||||
<el-form-item label="患者姓名:" prop="searchKey">
|
||||
<el-form
|
||||
ref="queryRef"
|
||||
:model="queryParams"
|
||||
:inline="true"
|
||||
label-width="90px"
|
||||
>
|
||||
<el-form-item
|
||||
label="患者姓名:"
|
||||
prop="searchKey"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
placeholder="患者姓名"
|
||||
@@ -11,7 +19,11 @@
|
||||
@keyup.enter="getClinicRecord"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="发票号:" prop="invoiceNo" label-width="120px">
|
||||
<el-form-item
|
||||
label="发票号:"
|
||||
prop="invoiceNo"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.invoiceNo"
|
||||
placeholder="发票号"
|
||||
@@ -20,20 +32,30 @@
|
||||
@keyup.enter="getClinicRecord"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="发票状态:" prop="invoiceStatus">
|
||||
<el-form-item
|
||||
label="发票状态:"
|
||||
prop="invoiceStatus"
|
||||
>
|
||||
<el-select
|
||||
v-model="queryParams.invoiceStatus"select
|
||||
v-model="queryParams.invoiceStatus"
|
||||
select
|
||||
placeholder="发票状态"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter="getClinicRecord"
|
||||
>
|
||||
<el-option v-for="item in invoiceStatusList" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
<el-option
|
||||
v-for="item in invoiceStatusList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算时间:" prop="activeFlag">
|
||||
<el-form-item
|
||||
label="结算时间:"
|
||||
prop="activeFlag"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="occurrenceTime"
|
||||
type="daterange"
|
||||
@@ -46,8 +68,20 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<div style="float: right">
|
||||
<el-button type="primary" plain @click="getClinicRecord">查询</el-button>
|
||||
<el-button type="warning" plain @click="handleReset">重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="getClinicRecord"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
@click="handleReset"
|
||||
>
|
||||
重置
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -55,16 +89,57 @@
|
||||
<span style="margin-right: 20px">
|
||||
{{ '总数:' + count + '/' + '成功:' + successCount }}
|
||||
</span>
|
||||
<el-button type="primary" :loading="loading" plain @click="handleBatchProcess">批量开具</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="loading"
|
||||
plain
|
||||
@click="handleBatchProcess"
|
||||
>
|
||||
批量开具
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table :data="clinicRecord" border>
|
||||
<el-table
|
||||
:data="clinicRecord"
|
||||
border
|
||||
>
|
||||
<!-- <el-table-column label="计算类型" align="center" prop="statusEnum_enumText" /> -->
|
||||
<el-table-column label="患者姓名" align="center" prop="patientName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="支付状态" align="center" prop="statusEnum_dictText" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="费用类型" align="center" prop="paymentEnum_dictText" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="医保结算Id" align="center" prop="ybSettleIds" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="收费流水号" align="center" prop="paymentNo" width="280" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="发票号" align="center" prop="invoiceNo" :show-overflow-tooltip="true"/>
|
||||
<el-table-column
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
prop="patientName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="支付状态"
|
||||
align="center"
|
||||
prop="statusEnum_dictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="费用类型"
|
||||
align="center"
|
||||
prop="paymentEnum_dictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医保结算Id"
|
||||
align="center"
|
||||
prop="ybSettleIds"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费流水号"
|
||||
align="center"
|
||||
prop="paymentNo"
|
||||
width="280"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="发票号"
|
||||
align="center"
|
||||
prop="invoiceNo"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="结算金额"
|
||||
align="right"
|
||||
@@ -90,9 +165,9 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
key="billDate"
|
||||
label="结算时间"
|
||||
align="center"
|
||||
key="billDate"
|
||||
prop="billDate"
|
||||
|
||||
:show-overflow-tooltip="true"
|
||||
@@ -101,46 +176,138 @@
|
||||
<span>{{ parseTime(scope.row.billDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收款人" align="center" prop="entererName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column
|
||||
label="收款人"
|
||||
align="center"
|
||||
prop="entererName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- <el-table-column label="医生" align="center" prop="paymentEnum_enumText" /> -->
|
||||
<el-table-column label="支付结果" align="center" prop="outcomeEnum_dictText" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="打印次数" align="center" prop="printCount" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="操作" align="center" prop="paymentEnum_enumText" width="340">
|
||||
<el-table-column
|
||||
label="支付结果"
|
||||
align="center"
|
||||
prop="outcomeEnum_dictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="打印次数"
|
||||
align="center"
|
||||
prop="printCount"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
prop="paymentEnum_enumText"
|
||||
width="340"
|
||||
>
|
||||
<template #default="scope">
|
||||
<!-- <el-button type="primary" link @click="handlePrint(scope.row)">单据</el-button> -->
|
||||
<!-- <el-button type="primary" link @click="handleEdit(scope.row)">冲红</el-button> -->
|
||||
<el-button type="primary" link @click="handleOpen(scope.row,4)">收费详情</el-button>
|
||||
<el-button type="primary" link @click="handleOpen(scope.row,1)" :disabled="scope.row.invoiceNo || scope.row.statusEnum == 3">开具电子发票</el-button>
|
||||
<el-button :disabled="!scope.row.relationId" type="primary" link @click="handleOpenReasonDialog(scope.row)">冲销发票</el-button>
|
||||
<el-button type="primary" link @click="handleOpen(scope.row,3)" :disabled="!scope.row.invoiceNo">调阅发票</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
@click="handleOpen(scope.row,4)"
|
||||
>
|
||||
收费详情
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
:disabled="scope.row.invoiceNo || scope.row.statusEnum == 3"
|
||||
@click="handleOpen(scope.row,1)"
|
||||
>
|
||||
开具电子发票
|
||||
</el-button>
|
||||
<el-button
|
||||
:disabled="!scope.row.relationId"
|
||||
type="primary"
|
||||
link
|
||||
@click="handleOpenReasonDialog(scope.row)"
|
||||
>
|
||||
冲销发票
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
:disabled="!scope.row.invoiceNo"
|
||||
@click="handleOpen(scope.row,3)"
|
||||
>
|
||||
调阅发票
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
:total="total"
|
||||
@pagination="getLists"
|
||||
/>
|
||||
<el-dialog title="收费详情" v-model="paymentDetailShow" width="1000" append-to-body style="height:90vh">
|
||||
<el-table :data="paymentDetailList" border style="height: 80vh">
|
||||
<el-table-column label="支付类型" align="center" prop="payEnum_dictText" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="金额" align="center" prop="amount" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="找零" align="center" prop="returnAmount" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="交款" align="center" prop="chargeAmount" :show-overflow-tooltip="true"/>
|
||||
</el-table>
|
||||
<el-dialog
|
||||
v-model="paymentDetailShow"
|
||||
title="收费详情"
|
||||
width="1000"
|
||||
append-to-body
|
||||
style="height:90vh"
|
||||
>
|
||||
<el-table
|
||||
:data="paymentDetailList"
|
||||
border
|
||||
style="height: 80vh"
|
||||
>
|
||||
<el-table-column
|
||||
label="支付类型"
|
||||
align="center"
|
||||
prop="payEnum_dictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="金额"
|
||||
align="center"
|
||||
prop="amount"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="找零"
|
||||
align="center"
|
||||
prop="returnAmount"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="交款"
|
||||
align="center"
|
||||
prop="chargeAmount"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<el-dialog title="请输入原因" v-model="reasonDialogVisible" width="30%">
|
||||
<el-form :model="reasonForm" label-width="80px">
|
||||
<el-dialog
|
||||
v-model="reasonDialogVisible"
|
||||
title="请输入原因"
|
||||
width="30%"
|
||||
>
|
||||
<el-form
|
||||
:model="reasonForm"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item label="冲销原因">
|
||||
<el-input v-model="reasonForm.reason" placeholder="请输入原因" type="textarea" :rows="3" />
|
||||
<el-input
|
||||
v-model="reasonForm.reason"
|
||||
placeholder="请输入原因"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="reasonDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="submitReason">确 定</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="submitReason"
|
||||
>确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="确认收费"
|
||||
v-model="props.open"
|
||||
title="确认收费"
|
||||
width="700px"
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
@@ -9,33 +9,56 @@
|
||||
@close="close"
|
||||
>
|
||||
<div v-loading="dialogLoading">
|
||||
<el-text size="large" style="display: block; margin-bottom: 15px">
|
||||
<el-text
|
||||
size="large"
|
||||
style="display: block; margin-bottom: 15px"
|
||||
>
|
||||
收费日期:{{ currentDate }}
|
||||
</el-text>
|
||||
<el-text size="large">费用性质:{{ '自费' }}</el-text>
|
||||
<el-text size="large">
|
||||
费用性质:{{ '自费' }}
|
||||
</el-text>
|
||||
<div class="amount-row">
|
||||
<el-text size="large">应收金额:</el-text>
|
||||
<el-text size="large" type="primary" class="amount">
|
||||
<el-text size="large">
|
||||
应收金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="primary"
|
||||
class="amount"
|
||||
>
|
||||
{{ props.totalAmount.toFixed(2) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
<div class="amount-row">
|
||||
<el-text size="large">折扣金额:</el-text>
|
||||
<el-text size="large" type="warning" class="amount">
|
||||
<el-text size="large">
|
||||
折扣金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="warning"
|
||||
class="amount"
|
||||
>
|
||||
{{ discountAmount.toFixed(2) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
|
||||
<!-- 自费支付 -->
|
||||
<div class="payment-container">
|
||||
<template v-for="(item, index) in formData.selfPay" :key="index">
|
||||
<div v-show="item.payEnum != 220500" class="payment-item">
|
||||
<template
|
||||
v-for="(item, index) in formData.selfPay"
|
||||
:key="index"
|
||||
>
|
||||
<div
|
||||
v-show="item.payEnum != 220500"
|
||||
class="payment-item"
|
||||
>
|
||||
<span>支付方式:</span>
|
||||
<img
|
||||
v-if="item.payEnum == 220100 || item.payEnum == 220200"
|
||||
:src="imgs[item.payEnum == 220100 ? 0 : 1]"
|
||||
style="width: 20px; height: 20px"
|
||||
/>
|
||||
>
|
||||
<el-select
|
||||
v-model="item.payEnum"
|
||||
placeholder="选择支付方式"
|
||||
@@ -65,11 +88,11 @@
|
||||
<span class="suffix-text">元</span>
|
||||
</div>
|
||||
<el-button
|
||||
v-if="index > 0"
|
||||
type="danger"
|
||||
circle
|
||||
:icon="Delete"
|
||||
@click="removePayment(index)"
|
||||
v-if="index > 0"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -77,18 +100,28 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="addPayment"
|
||||
:disabled="formData.selfPay.length >= 4 || remainingAmount <= 0"
|
||||
@click="addPayment"
|
||||
>
|
||||
添加支付方式
|
||||
</el-button>
|
||||
<el-text v-if="remainingAmount <= 0" type="danger" class="tip">
|
||||
<el-text
|
||||
v-if="remainingAmount <= 0"
|
||||
type="danger"
|
||||
class="tip"
|
||||
>
|
||||
金额已满足应收,不可继续添加
|
||||
</el-text>
|
||||
</div>
|
||||
<div style="margin-top: 10px" v-if="userStore.hospitalName == '同一医院'">
|
||||
<div
|
||||
v-if="userStore.hospitalName == '同一医院'"
|
||||
style="margin-top: 10px"
|
||||
>
|
||||
<span>折扣:</span>
|
||||
<el-radio-group v-model="discountRadio" @change="handleDiscountChange">
|
||||
<el-radio-group
|
||||
v-model="discountRadio"
|
||||
@change="handleDiscountChange"
|
||||
>
|
||||
<el-radio-button
|
||||
v-for="item in charge_discount"
|
||||
:key="item.value"
|
||||
@@ -107,12 +140,32 @@
|
||||
style="width: 300px"
|
||||
:placeholder="payTypePlaceholder"
|
||||
/>
|
||||
<el-button link type="primary" @click="handleWxPay()">扫码支付</el-button>
|
||||
<el-button link type="primary" @click="getWxPayResult()">查看结果</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="handleWxPay()"
|
||||
>
|
||||
扫码支付
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="getWxPayResult()"
|
||||
>
|
||||
查看结果
|
||||
</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-table :data="props.details" max-height="200" border>
|
||||
<el-table-column prop="payEnumText" label="支付类型" align="center" />
|
||||
<el-table
|
||||
:data="props.details"
|
||||
max-height="200"
|
||||
border
|
||||
>
|
||||
<el-table-column
|
||||
prop="payEnumText"
|
||||
label="支付类型"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="amount"
|
||||
label="金额"
|
||||
@@ -130,23 +183,40 @@
|
||||
<div class="summary">
|
||||
<el-space :size="30">
|
||||
<div class="summary-item">
|
||||
<el-text type="info">实收合计:</el-text>
|
||||
<el-text type="success">{{ displayAmount + ' 元' }}</el-text>
|
||||
<el-text type="info">
|
||||
实收合计:
|
||||
</el-text>
|
||||
<el-text type="success">
|
||||
{{ displayAmount + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<el-text type="info">应找零:</el-text>
|
||||
<el-text type="warning">{{ returnedAmount + ' 元' }}</el-text>
|
||||
<el-text type="info">
|
||||
应找零:
|
||||
</el-text>
|
||||
<el-text type="warning">
|
||||
{{ returnedAmount + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
</el-space>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="throttledGetList" :disabled="dialogLoading">
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="dialogLoading"
|
||||
@click="throttledGetList"
|
||||
>
|
||||
确 定
|
||||
</el-button>
|
||||
<!-- <el-button type="primary" @click="print()" :disabled="dialogLoading">打 印</el-button> -->
|
||||
<el-button @click="close" :disabled="dialogLoading">取 消</el-button>
|
||||
<el-button
|
||||
:disabled="dialogLoading"
|
||||
@click="close"
|
||||
>
|
||||
取 消
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -1,39 +1,90 @@
|
||||
<template>
|
||||
<div style="display: flex; justify-content: space-between" class="app-container" v-loading="readCardLoading"
|
||||
:element-loading-text="loadingText">
|
||||
<div
|
||||
v-loading="readCardLoading"
|
||||
style="display: flex; justify-content: space-between"
|
||||
class="app-container"
|
||||
:element-loading-text="loadingText"
|
||||
>
|
||||
<el-card style="width: 30%">
|
||||
<template #header>
|
||||
<span style="vertical-align: middle">患者列表</span>
|
||||
</template>
|
||||
<div style="width: 100%">
|
||||
<el-input v-model="queryParams.searchKey" placeholder="请输入患者名/病历号" clearable
|
||||
style="width: 48%; margin-bottom: 10px; margin-right: 10px" @keyup.enter="getPatientList">
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
placeholder="请输入患者名/病历号"
|
||||
clearable
|
||||
style="width: 48%; margin-bottom: 10px; margin-right: 10px"
|
||||
@keyup.enter="getPatientList"
|
||||
>
|
||||
<template #append>
|
||||
<el-button icon="Search" @click="getPatientList" />
|
||||
<el-button
|
||||
icon="Search"
|
||||
@click="getPatientList"
|
||||
/>
|
||||
</template>
|
||||
</el-input>
|
||||
<el-select v-model="queryParams.statusEnum" style="width: 48%; margin-bottom: 10px; margin-right: 10px"
|
||||
placeholder="收费状态" @change="getPatientList">
|
||||
<el-option v-for="item in chargeStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-select
|
||||
v-model="queryParams.statusEnum"
|
||||
style="width: 48%; margin-bottom: 10px; margin-right: 10px"
|
||||
placeholder="收费状态"
|
||||
@change="getPatientList"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in chargeStatusOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<div style="width: 100%">
|
||||
<el-date-picker v-model="receptionTime" type="daterange" range-separator="~" start-placeholder="开始时间"
|
||||
end-placeholder="结束时间" placement="bottom" value-format="YYYY-MM-DD"
|
||||
style="width: 84%; margin-bottom: 10px; margin-right: 10px" @change="getPatientList" />
|
||||
<el-button type="primary" style="margin-bottom: 10px" @click="getPatientList">
|
||||
<el-date-picker
|
||||
v-model="receptionTime"
|
||||
type="daterange"
|
||||
range-separator="~"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placement="bottom"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 84%; margin-bottom: 10px; margin-right: 10px"
|
||||
@change="getPatientList"
|
||||
/>
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-bottom: 10px"
|
||||
@click="getPatientList"
|
||||
>
|
||||
搜索
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table ref="patientListRef" height="620" :data="patientList" row-key="encounterId" @cell-click="clickRow"
|
||||
highlight-current-row>
|
||||
<el-table-column label="病历号" align="center" prop="encounterBusNo" />
|
||||
<el-table-column label="姓名" align="center" prop="patientName" />
|
||||
<el-table
|
||||
ref="patientListRef"
|
||||
height="620"
|
||||
:data="patientList"
|
||||
row-key="encounterId"
|
||||
highlight-current-row
|
||||
@cell-click="clickRow"
|
||||
>
|
||||
<el-table-column
|
||||
label="病历号"
|
||||
align="center"
|
||||
prop="encounterBusNo"
|
||||
/>
|
||||
<el-table-column
|
||||
label="姓名"
|
||||
align="center"
|
||||
prop="patientName"
|
||||
/>
|
||||
<!-- <el-table-column label="时间" align="center" prop="receptionTime" width="160">
|
||||
<template #default="scope">
|
||||
{{ formatDate(scope.row.receptionTime) }}
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="收费状态" align="center" prop="statusEnum_enumText" />
|
||||
<el-table-column
|
||||
label="收费状态"
|
||||
align="center"
|
||||
prop="statusEnum_enumText"
|
||||
/>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -43,11 +94,15 @@
|
||||
<span style="vertical-align: middle">基本信息</span>
|
||||
</template>
|
||||
<el-descriptions :column="5">
|
||||
<el-descriptions-item label="姓名:">{{ patientInfo.patientName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名:">
|
||||
{{ patientInfo.patientName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="性别:">
|
||||
{{ patientInfo.genderEnum_enumText }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="年龄:">{{ patientInfo.age }}</el-descriptions-item>
|
||||
<el-descriptions-item label="年龄:">
|
||||
{{ patientInfo.age }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="科室:">
|
||||
{{ patientInfo.organizationName }}
|
||||
</el-descriptions-item>
|
||||
@@ -64,86 +119,173 @@
|
||||
<span style="vertical-align: middle">收费项目</span>
|
||||
</template>
|
||||
<div style="margin-bottom: 10px">
|
||||
<el-button type="primary" @click="confirmCharge()" :disabled="buttonDisabled">
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="buttonDisabled"
|
||||
@click="confirmCharge()"
|
||||
>
|
||||
确认收费
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleReadCard('01')" style="width: 65px">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 65px"
|
||||
@click="handleReadCard('01')"
|
||||
>
|
||||
电子凭证
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleReadCard('02')" style="width: 65px" :disabled="true">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 65px"
|
||||
:disabled="true"
|
||||
@click="handleReadCard('02')"
|
||||
>
|
||||
身份证
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleReadCard('03')" style="width: 65px">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 65px"
|
||||
@click="handleReadCard('03')"
|
||||
>
|
||||
医保卡
|
||||
</el-button>
|
||||
<el-button type="primary" @click="payToSelt()" style="margin-left: 20px" :disabled="buttonDisabled">
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-left: 20px"
|
||||
:disabled="buttonDisabled"
|
||||
@click="payToSelt()"
|
||||
>
|
||||
医保转自费
|
||||
</el-button>
|
||||
<el-button type="primary" @click="patToMedicalInsurance()" style="margin-left: 20px"
|
||||
:disabled="buttonDisabled">
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-left: 20px"
|
||||
:disabled="buttonDisabled"
|
||||
@click="patToMedicalInsurance()"
|
||||
>
|
||||
自费转医保
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="studentPayTosStudentSelf()"
|
||||
style="margin-left: 20px"
|
||||
:disabled="buttonDisabled"
|
||||
@click="studentPayTosStudentSelf()"
|
||||
>
|
||||
学生医保转学生自费
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="studentSelfToStudentPay()"
|
||||
style="margin-left: 20px"
|
||||
:disabled="buttonDisabled"
|
||||
@click="studentSelfToStudentPay()"
|
||||
>
|
||||
学生自费转学生医保
|
||||
</el-button>
|
||||
</div>
|
||||
<div style="text-align: right; padding-right: 20px; margin-bottom: 10px;">
|
||||
<span style="font-weight: bold; font-size: 14px;"
|
||||
>合计金额:{{ totalAmounts ? totalAmounts.toFixed(2) : 0 }}元</span
|
||||
>
|
||||
<span style="font-weight: bold; font-size: 14px;">合计金额:{{ totalAmounts ? totalAmounts.toFixed(2) : 0 }}元</span>
|
||||
</div>
|
||||
<el-table
|
||||
ref="chargeListRef"
|
||||
v-loading="chargeLoading"
|
||||
height="530"
|
||||
:data="chargeList"
|
||||
row-key="id"
|
||||
@selection-change="handleSelectionChange"
|
||||
v-loading="chargeLoading"
|
||||
:span-method="objectSpanMethod"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" :selectable="checkSelectable" width="55" />
|
||||
<el-table-column label="单据号" align="center" prop="busNo" width="180" />
|
||||
<el-table-column label="收费项目" align="center" prop="itemName" width="200" />
|
||||
<el-table-column label="数量" align="center" prop="quantityValue" width="80" />
|
||||
<el-table-column label="医疗类型" align="center" prop="medTypeCode_dictText" />
|
||||
<el-table-column label="医保编码" align="center" prop="ybNo" />
|
||||
<el-table-column label="费用性质" align="center" prop="contractName" />
|
||||
<el-table-column label="收费状态" align="center" prop="statusEnum_enumText" width="150">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
:selectable="checkSelectable"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
label="单据号"
|
||||
align="center"
|
||||
prop="busNo"
|
||||
width="180"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费项目"
|
||||
align="center"
|
||||
prop="itemName"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
label="数量"
|
||||
align="center"
|
||||
prop="quantityValue"
|
||||
width="80"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医疗类型"
|
||||
align="center"
|
||||
prop="medTypeCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医保编码"
|
||||
align="center"
|
||||
prop="ybNo"
|
||||
/>
|
||||
<el-table-column
|
||||
label="费用性质"
|
||||
align="center"
|
||||
prop="contractName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费状态"
|
||||
align="center"
|
||||
prop="statusEnum_enumText"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.statusEnum === 1" disable-transitions>
|
||||
<el-tag
|
||||
v-if="scope.row.statusEnum === 1"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.statusEnum === 5" type="success" disable-transitions>
|
||||
<el-tag
|
||||
v-else-if="scope.row.statusEnum === 5"
|
||||
type="success"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.statusEnum === 8" type="danger" disable-transitions>
|
||||
<el-tag
|
||||
v-else-if="scope.row.statusEnum === 8"
|
||||
type="danger"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="warning" disable-transitions>
|
||||
<el-tag
|
||||
v-else
|
||||
type="warning"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金额" align="right" prop="totalPrice" header-align="center">
|
||||
<el-table-column
|
||||
label="金额"
|
||||
align="right"
|
||||
prop="totalPrice"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.totalPrice.toFixed(2) + ' 元' || '0.00' + ' 元' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收款人" align="center" prop="entererId_dictText" />
|
||||
<el-table-column
|
||||
label="收款人"
|
||||
align="center"
|
||||
prop="entererId_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
@@ -169,18 +311,18 @@
|
||||
<ChargeDialog
|
||||
ref="chargeDialogRef"
|
||||
:open="openDialog"
|
||||
@close="handleClose"
|
||||
:category="patientInfo.categoryEnum"
|
||||
:totalAmount="totalAmount"
|
||||
:patientInfo="patientInfo"
|
||||
:chargeItemIds="chargeItemIdList"
|
||||
:consumablesIdList="consumablesIdList"
|
||||
:chrgBchnoList="chrgBchnoList"
|
||||
:userCardInfo="userCardInfo"
|
||||
:paymentId="paymentId"
|
||||
:total-amount="totalAmount"
|
||||
:patient-info="patientInfo"
|
||||
:charge-item-ids="chargeItemIdList"
|
||||
:consumables-id-list="consumablesIdList"
|
||||
:chrg-bchno-list="chrgBchnoList"
|
||||
:user-card-info="userCardInfo"
|
||||
:payment-id="paymentId"
|
||||
:details="details"
|
||||
:chargedItems="chargedItems"
|
||||
:feeType="patientInfo.medfeePaymtdCode"
|
||||
:charged-items="chargedItems"
|
||||
@close="handleClose"
|
||||
:fee-type="patientInfo.medfeePaymtdCode"
|
||||
:medfee_paymtd_code="medfee_paymtd_code"
|
||||
@refresh="getPatientList"
|
||||
/>
|
||||
|
||||
@@ -1,27 +1,42 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="确认退费"
|
||||
v-model="props.open"
|
||||
title="确认退费"
|
||||
width="700px"
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
>
|
||||
<div>
|
||||
<el-text size="large" style="display: block; margin-bottom: 15px">
|
||||
<el-text
|
||||
size="large"
|
||||
style="display: block; margin-bottom: 15px"
|
||||
>
|
||||
退费日期:{{ currentDate }}
|
||||
</el-text>
|
||||
<el-text size="large">费用性质:{{ getFeeTypeText }}</el-text>
|
||||
<el-text size="large">
|
||||
费用性质:{{ getFeeTypeText }}
|
||||
</el-text>
|
||||
<div class="amount-row">
|
||||
<el-text size="large">应退金额:</el-text>
|
||||
<el-text size="large" type="primary" class="amount">
|
||||
<el-text size="large">
|
||||
应退金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="primary"
|
||||
class="amount"
|
||||
>
|
||||
{{ props.totalAmount.toFixed(2) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
|
||||
<!-- 自费支付 -->
|
||||
<div class="payment-container">
|
||||
<div v-for="(item, index) in formData.selfPay" :key="index" class="payment-item">
|
||||
<div
|
||||
v-for="(item, index) in formData.selfPay"
|
||||
:key="index"
|
||||
class="payment-item"
|
||||
>
|
||||
<span>退费方式:</span>
|
||||
<el-select
|
||||
v-model="item.payEnum"
|
||||
@@ -52,19 +67,22 @@
|
||||
<span class="suffix-text">元</span>
|
||||
</div>
|
||||
<el-button
|
||||
v-if="index > 0"
|
||||
type="danger"
|
||||
circle
|
||||
:icon="Delete"
|
||||
@click="removePayment(index)"
|
||||
v-if="index > 0"
|
||||
/>
|
||||
</div>
|
||||
<div class="payment-container" style="position: relative">
|
||||
<div
|
||||
class="payment-container"
|
||||
style="position: relative"
|
||||
>
|
||||
<span style="position: absolute; top: 5px">退费原因:</span>
|
||||
<el-input
|
||||
v-model="reason"
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
v-model="reason"
|
||||
placeholder="退费原因"
|
||||
class="reason-textarea"
|
||||
@change="handleAmountChange"
|
||||
@@ -74,19 +92,31 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="addPayment"
|
||||
:disabled="formData.selfPay.length >= 4 || remainingAmount <= 0"
|
||||
@click="addPayment"
|
||||
>
|
||||
添加退费方式
|
||||
</el-button>
|
||||
<el-text v-if="remainingAmount <= 0" type="danger" class="tip">
|
||||
<el-text
|
||||
v-if="remainingAmount <= 0"
|
||||
type="danger"
|
||||
class="tip"
|
||||
>
|
||||
金额已满足应退,不可继续添加
|
||||
</el-text>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-table :data="props.details" max-height="200" border>
|
||||
<el-table-column prop="payEnum_dictText" label="支付类型" align="center" />
|
||||
<el-table
|
||||
:data="props.details"
|
||||
max-height="200"
|
||||
border
|
||||
>
|
||||
<el-table-column
|
||||
prop="payEnum_dictText"
|
||||
label="支付类型"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="amount"
|
||||
label="金额"
|
||||
@@ -104,8 +134,12 @@
|
||||
<div class="summary">
|
||||
<el-space :size="30">
|
||||
<div class="summary-item">
|
||||
<el-text type="info">实退合计:</el-text>
|
||||
<el-text type="success">{{ displayAmount + ' 元' }}</el-text>
|
||||
<el-text type="info">
|
||||
实退合计:
|
||||
</el-text>
|
||||
<el-text type="success">
|
||||
{{ displayAmount + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
<!-- <div class="summary-item">
|
||||
<el-text type="info">应找零:</el-text>
|
||||
@@ -116,8 +150,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>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<template>
|
||||
<div style="display: flex; justify-content: space-between" class="app-container">
|
||||
<div
|
||||
style="display: flex; justify-content: space-between"
|
||||
class="app-container"
|
||||
>
|
||||
<el-card style="width: 30%">
|
||||
<template #header>
|
||||
<span style="vertical-align: middle">患者列表</span>
|
||||
@@ -13,7 +16,10 @@
|
||||
@keyup.enter="getPatientList"
|
||||
>
|
||||
<template #append>
|
||||
<el-button icon="Search" @click="getPatientList" />
|
||||
<el-button
|
||||
icon="Search"
|
||||
@click="getPatientList"
|
||||
/>
|
||||
</template>
|
||||
</el-input>
|
||||
<el-select
|
||||
@@ -40,7 +46,11 @@
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 84%; margin-bottom: 10px; margin-right: 10px"
|
||||
/>
|
||||
<el-button type="primary" style="margin-bottom: 10px" @click="getPatientList">
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-bottom: 10px"
|
||||
@click="getPatientList"
|
||||
>
|
||||
搜索
|
||||
</el-button>
|
||||
<el-table
|
||||
@@ -48,18 +58,30 @@
|
||||
height="630"
|
||||
:data="patientList"
|
||||
row-key="encounterId"
|
||||
@cell-click="clickRow"
|
||||
highlight-current-row
|
||||
width=""
|
||||
@cell-click="clickRow"
|
||||
>
|
||||
<el-table-column label="病历号" align="center" prop="encounterBusNo" />
|
||||
<el-table-column label="姓名" align="center" prop="patientName" />
|
||||
<el-table-column
|
||||
label="病历号"
|
||||
align="center"
|
||||
prop="encounterBusNo"
|
||||
/>
|
||||
<el-table-column
|
||||
label="姓名"
|
||||
align="center"
|
||||
prop="patientName"
|
||||
/>
|
||||
<!-- <el-table-column label="时间" align="center" prop="startTime">
|
||||
<template #default="scope">
|
||||
{{ formatDate(scope.row.startTime) }}
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="收费状态" align="center" prop="statusEnum_enumText" />
|
||||
<el-table-column
|
||||
label="收费状态"
|
||||
align="center"
|
||||
prop="statusEnum_enumText"
|
||||
/>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -115,31 +137,57 @@
|
||||
</el-button> -->
|
||||
<el-table
|
||||
ref="chargeListRef"
|
||||
v-loading="chargeLoading"
|
||||
height="510"
|
||||
:data="chargeList"
|
||||
row-key="encounterId"
|
||||
v-loading="chargeLoading"
|
||||
:span-method="spanMethod"
|
||||
class="no-hover-table"
|
||||
border
|
||||
width=""
|
||||
>
|
||||
<!-- <el-table-column type="selection" :selectable="checkSelectable" width="55" /> -->
|
||||
<el-table-column label="操作" align="center">
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleRefund(scope.row)">退费</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="handleRefund(scope.row)"
|
||||
>
|
||||
退费
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="paymentId" label="支付单据号" align="center" />
|
||||
<el-table-column label="项目单据号" align="center" prop="busNo" width="150" />
|
||||
<el-table-column label="项目名称" align="center" prop="itemName" />
|
||||
<el-table-column
|
||||
prop="paymentId"
|
||||
label="支付单据号"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="项目单据号"
|
||||
align="center"
|
||||
prop="busNo"
|
||||
width="150"
|
||||
/>
|
||||
<el-table-column
|
||||
label="项目名称"
|
||||
align="center"
|
||||
prop="itemName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费状态"
|
||||
align="center"
|
||||
prop="chargeStatus_enumText"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column label="数量" align="center" width="100">
|
||||
<el-table-column
|
||||
label="数量"
|
||||
align="center"
|
||||
width="100"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.quantityValue + ' ' + scope.row.quantityUnit_dictText }}
|
||||
</template>
|
||||
@@ -156,20 +204,25 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="处方号" align="center" prop="prescriptionNo" /> -->
|
||||
<el-table-column label="收款人" align="center" prop="entererName" width="120" />
|
||||
<el-table-column
|
||||
label="收款人"
|
||||
align="center"
|
||||
prop="entererName"
|
||||
width="120"
|
||||
/>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</div>
|
||||
<RefundDialog
|
||||
:open="openDialog"
|
||||
@close="handleClose"
|
||||
:totalAmount="totalAmount"
|
||||
:patientInfo="patientInfo"
|
||||
:paymentId="paymentId"
|
||||
:chargeItemIds="chargeItemIdList"
|
||||
:total-amount="totalAmount"
|
||||
:patient-info="patientInfo"
|
||||
:payment-id="paymentId"
|
||||
:charge-item-ids="chargeItemIdList"
|
||||
:details="details"
|
||||
:medfee_paymtd_code="medfee_paymtd_code"
|
||||
:feeType="patientInfo.medfeePaymtdCode"
|
||||
:fee-type="patientInfo.medfeePaymtdCode"
|
||||
@close="handleClose"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,27 +1,42 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="确认收费"
|
||||
v-model="props.open"
|
||||
@close="close"
|
||||
title="确认收费"
|
||||
width="700px"
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
>
|
||||
<div v-loading="dialogLoading">
|
||||
<el-text size="large" style="display: block; margin-bottom: 15px">
|
||||
<el-text
|
||||
size="large"
|
||||
style="display: block; margin-bottom: 15px"
|
||||
>
|
||||
收费日期:{{ currentDate }}
|
||||
</el-text>
|
||||
<el-text size="large">费用性质:{{ getFeeTypeText }}</el-text>
|
||||
<el-text size="large">
|
||||
费用性质:{{ getFeeTypeText }}
|
||||
</el-text>
|
||||
<div class="amount-row">
|
||||
<el-text size="large">应收金额:</el-text>
|
||||
<el-text size="large" type="primary" class="amount">
|
||||
<el-text size="large">
|
||||
应收金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="primary"
|
||||
class="amount"
|
||||
>
|
||||
{{ props.totalAmount.toFixed(2) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
|
||||
<!-- 自费支付 -->
|
||||
<div class="payment-container">
|
||||
<div v-for="(item, index) in formData.selfPay" :key="index" class="payment-item">
|
||||
<div
|
||||
v-for="(item, index) in formData.selfPay"
|
||||
:key="index"
|
||||
class="payment-item"
|
||||
>
|
||||
<span>支付方式:</span>
|
||||
<el-select
|
||||
v-model="item.payEnum"
|
||||
@@ -52,23 +67,27 @@
|
||||
<span class="suffix-text">元</span>
|
||||
</div>
|
||||
<el-button
|
||||
v-if="index > 0"
|
||||
type="danger"
|
||||
circle
|
||||
:icon="Delete"
|
||||
@click="removePayment(index)"
|
||||
v-if="index > 0"
|
||||
/>
|
||||
</div>
|
||||
<div class="add-payment">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="addPayment"
|
||||
:disabled="formData.selfPay.length >= 4 || remainingAmount <= 0"
|
||||
@click="addPayment"
|
||||
>
|
||||
添加支付方式
|
||||
</el-button>
|
||||
<el-text v-if="remainingAmount <= 0" type="danger" class="tip">
|
||||
<el-text
|
||||
v-if="remainingAmount <= 0"
|
||||
type="danger"
|
||||
class="tip"
|
||||
>
|
||||
金额已满足应收,不可继续添加
|
||||
</el-text>
|
||||
</div>
|
||||
@@ -81,29 +100,58 @@
|
||||
style="width: 300px"
|
||||
:placeholder="payTypePlaceholder"
|
||||
/>
|
||||
<el-button link type="primary" @click="handleWxPay()">扫码支付</el-button>
|
||||
<el-button link type="primary" @click="getWxPayResult()">查看结果</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="handleWxPay()"
|
||||
>
|
||||
扫码支付
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="getWxPayResult()"
|
||||
>
|
||||
查看结果
|
||||
</el-button>
|
||||
</div>
|
||||
<!-- 金额汇总 -->
|
||||
<div class="summary">
|
||||
<el-space :size="30">
|
||||
<div class="summary-item">
|
||||
<el-text type="info">实收合计:</el-text>
|
||||
<el-text type="success">{{ displayAmount + ' 元' }}</el-text>
|
||||
<el-text type="info">
|
||||
实收合计:
|
||||
</el-text>
|
||||
<el-text type="success">
|
||||
{{ displayAmount + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<el-text type="info">应找零:</el-text>
|
||||
<el-text type="warning">{{ returnedAmount + ' 元' }}</el-text>
|
||||
<el-text type="info">
|
||||
应找零:
|
||||
</el-text>
|
||||
<el-text type="warning">
|
||||
{{ returnedAmount + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
</el-space>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="throttledGetList" :disabled="dialogLoading"
|
||||
>确 定</el-button
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="dialogLoading"
|
||||
@click="throttledGetList"
|
||||
>
|
||||
<el-button @click="close" :disabled="dialogLoading">取 消</el-button>
|
||||
确 定
|
||||
</el-button>
|
||||
<el-button
|
||||
:disabled="dialogLoading"
|
||||
@click="close"
|
||||
>
|
||||
取 消
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -1,18 +1,46 @@
|
||||
<template>
|
||||
<!-- <div class="app-container"> -->
|
||||
<!-- 添加或修改对话框 -->
|
||||
<el-dialog :title="title" v-model="visible" width="1200px" append-to-body>
|
||||
<el-form ref="patientRef" :model="form" :rules="rules" label-width="120px" label-position="left">
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
:title="title"
|
||||
width="1200px"
|
||||
append-to-body
|
||||
>
|
||||
<el-form
|
||||
ref="patientRef"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="120px"
|
||||
label-position="left"
|
||||
>
|
||||
<!-- 第一行:姓名、民族、文化程度、性别 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="姓名" prop="name" label-width="80px">
|
||||
<el-input v-model="form.name" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="姓名"
|
||||
prop="name"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="民族" prop="nationalityCode" label-width="80px">
|
||||
<el-select v-model="form.nationalityCode" clearable filterable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="民族"
|
||||
prop="nationalityCode"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.nationalityCode"
|
||||
clearable
|
||||
filterable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in nationality_code"
|
||||
:key="item.value"
|
||||
@@ -23,8 +51,17 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="文化程度" prop="educationLevel" label-width="80px">
|
||||
<el-select v-model="form.educationLevel" placeholder="请选择文化程度" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="文化程度"
|
||||
prop="educationLevel"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.educationLevel"
|
||||
placeholder="请选择文化程度"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in educationLevelList"
|
||||
:key="item.value"
|
||||
@@ -35,8 +72,17 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="性别" prop="genderEnum" label-width="80px">
|
||||
<el-select v-model="form.genderEnum" placeholder="请选择性别" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="性别"
|
||||
prop="genderEnum"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.genderEnum"
|
||||
placeholder="请选择性别"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in administrativegenderList"
|
||||
:key="item.value"
|
||||
@@ -51,7 +97,11 @@
|
||||
<!-- 第二行:证件类别、证件号码、*年龄 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="证件类别" prop="typeCode" label-width="80px">
|
||||
<el-form-item
|
||||
label="证件类别"
|
||||
prop="typeCode"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.typeCode"
|
||||
placeholder="就诊卡"
|
||||
@@ -68,19 +118,34 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="证件号码" prop="idCard" label-width="80px">
|
||||
<el-input v-model="form.idCard" clearable :disabled="isViewMode" @blur="onBlur" />
|
||||
<el-form-item
|
||||
label="证件号码"
|
||||
prop="idCard"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.idCard"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
@blur="onBlur"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="年龄" prop="age" label-width="80px">
|
||||
<el-form-item
|
||||
label="年龄"
|
||||
prop="age"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.age"
|
||||
:disabled="isViewMode"
|
||||
@input="handleAgeInput"
|
||||
placeholder="请输入年龄"
|
||||
@input="handleAgeInput"
|
||||
>
|
||||
<template #suffix>岁</template>
|
||||
<template #suffix>
|
||||
岁
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -89,8 +154,18 @@
|
||||
<!-- 第三行:国籍、*联系方式、出生日期 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="国籍" prop="countryCode" label-width="80px">
|
||||
<el-select v-model="form.countryCode" placeholder="请选择国籍" clearable filterable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="国籍"
|
||||
prop="countryCode"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.countryCode"
|
||||
placeholder="请选择国籍"
|
||||
clearable
|
||||
filterable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in countryCodeList"
|
||||
:key="item.value"
|
||||
@@ -101,12 +176,23 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系方式" prop="phone" label-width="80px">
|
||||
<el-input v-model="form.phone" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="联系方式"
|
||||
prop="phone"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.phone"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="出生日期" prop="birthDate">
|
||||
<el-form-item
|
||||
label="出生日期"
|
||||
prop="birthDate"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="form.birthDate"
|
||||
type="date"
|
||||
@@ -123,13 +209,28 @@
|
||||
<!-- 第四行:就诊卡号、职业、邮政编码 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="就诊卡号" prop="identifierNo">
|
||||
<el-input v-model="form.identifierNo" clearable :disabled="isEditMode || isViewMode" />
|
||||
<el-form-item
|
||||
label="就诊卡号"
|
||||
prop="identifierNo"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.identifierNo"
|
||||
clearable
|
||||
:disabled="isEditMode || isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="职业" prop="prfsEnum">
|
||||
<el-select v-model="form.prfsEnum" placeholder="职业" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="职业"
|
||||
prop="prfsEnum"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.prfsEnum"
|
||||
placeholder="职业"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in occupationtypeList"
|
||||
:key="item.value"
|
||||
@@ -140,8 +241,16 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮政编码" prop="postalCode">
|
||||
<el-input v-model="form.postalCode" clearable :disabled="isViewMode" placeholder="请输入邮政编码" />
|
||||
<el-form-item
|
||||
label="邮政编码"
|
||||
prop="postalCode"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.postalCode"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
placeholder="请输入邮政编码"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -149,26 +258,43 @@
|
||||
<!-- 第五行:工作单位 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工作单位" prop="workCompany">
|
||||
<el-input v-model="form.workCompany" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="工作单位"
|
||||
prop="workCompany"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.workCompany"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="单位地址" prop="companyAddress">
|
||||
<el-input v-model="form.companyAddress" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="单位地址"
|
||||
prop="companyAddress"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.companyAddress"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 现住址选择、详细地址 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="现住址" prop="addressSelect">
|
||||
<el-form-item
|
||||
label="现住址"
|
||||
prop="addressSelect"
|
||||
>
|
||||
<el-cascader
|
||||
v-model="selectedOptions"
|
||||
:options="options"
|
||||
:props="{ checkStrictly: true, value: 'code', label: 'name' }"
|
||||
v-model="selectedOptions"
|
||||
@change="handleChange"
|
||||
:disabled="isViewMode"
|
||||
@change="handleChange"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<span>{{ data.name }}</span>
|
||||
@@ -178,8 +304,15 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="详细地址" prop="address">
|
||||
<el-input v-model="form.address" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="详细地址"
|
||||
prop="address"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.address"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -187,13 +320,16 @@
|
||||
<!-- 户籍地址选择、详细地址 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="户籍地址" prop="hukouAddressSelect">
|
||||
<el-form-item
|
||||
label="户籍地址"
|
||||
prop="hukouAddressSelect"
|
||||
>
|
||||
<el-cascader
|
||||
v-model="selectedHukouOptions"
|
||||
:options="options"
|
||||
:props="{ checkStrictly: true, value: 'code', label: 'name' }"
|
||||
v-model="selectedHukouOptions"
|
||||
@change="handleHukouChange"
|
||||
:disabled="isViewMode"
|
||||
@change="handleHukouChange"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<span>{{ data.name }}</span>
|
||||
@@ -203,8 +339,15 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="详细地址" prop="hukouAddress">
|
||||
<el-input v-model="form.hukouAddress" clearable :disabled="isViewMode" />
|
||||
<el-form-item
|
||||
label="详细地址"
|
||||
prop="hukouAddress"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.hukouAddress"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -212,7 +355,10 @@
|
||||
<!-- 第六行:血型ABO、血型RH -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="血型ABO" prop="bloodAbo">
|
||||
<el-form-item
|
||||
label="血型ABO"
|
||||
prop="bloodAbo"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.bloodAbo"
|
||||
placeholder="血型ABO"
|
||||
@@ -229,8 +375,16 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="血型RH" prop="bloodRh">
|
||||
<el-select v-model="form.bloodRh" placeholder="血型RH" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="血型RH"
|
||||
prop="bloodRh"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.bloodRh"
|
||||
placeholder="血型RH"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in bloodtypearhList"
|
||||
:key="item.value"
|
||||
@@ -241,8 +395,16 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="患者来源" prop="patientDerived">
|
||||
<el-select v-model="form.patientDerived" placeholder="患者来源" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="患者来源"
|
||||
prop="patientDerived"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.patientDerived"
|
||||
placeholder="患者来源"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in patientDerivedList"
|
||||
:key="item.value"
|
||||
@@ -257,7 +419,10 @@
|
||||
<!-- 第七行:婚姻状态、死亡时间 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="婚姻状态" prop="maritalStatusEnum">
|
||||
<el-form-item
|
||||
label="婚姻状态"
|
||||
prop="maritalStatusEnum"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.maritalStatusEnum"
|
||||
placeholder="婚姻状态"
|
||||
@@ -274,7 +439,10 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="死亡时间" prop="deceasedDate">
|
||||
<el-form-item
|
||||
label="死亡时间"
|
||||
prop="deceasedDate"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="form.deceasedDate"
|
||||
type="datetime"
|
||||
@@ -290,13 +458,29 @@
|
||||
<!-- 第八行:监护人、监护人关系、监护人电话 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监护人" prop="guardianName">
|
||||
<el-input v-model="form.guardianName" clearable :disabled="isViewMode" placeholder="请输入监护人" />
|
||||
<el-form-item
|
||||
label="监护人"
|
||||
prop="guardianName"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.guardianName"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
placeholder="请输入监护人"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监护人关系" prop="guardianRelation">
|
||||
<el-select v-model="form.guardianRelation" placeholder="监护人关系" clearable :disabled="isViewMode">
|
||||
<el-form-item
|
||||
label="监护人关系"
|
||||
prop="guardianRelation"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.guardianRelation"
|
||||
placeholder="监护人关系"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in familyrelationshiptypeList"
|
||||
:key="item.value"
|
||||
@@ -307,8 +491,16 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监护人电话" prop="guardianPhone">
|
||||
<el-input v-model="form.guardianPhone" clearable :disabled="isViewMode" placeholder="请输入监护人电话" />
|
||||
<el-form-item
|
||||
label="监护人电话"
|
||||
prop="guardianPhone"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.guardianPhone"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
placeholder="请输入监护人电话"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -316,17 +508,42 @@
|
||||
<!-- 第九行:监护人证件类型、监护人证件号码 -->
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="监护人证件类型" prop="guardianIdType">
|
||||
<el-select v-model="form.guardianIdType" placeholder="请选择" clearable :disabled="isViewMode">
|
||||
<el-option label="身份证" value="id_card" />
|
||||
<el-option label="护照" value="passport" />
|
||||
<el-option label="其他" value="other" />
|
||||
<el-form-item
|
||||
label="监护人证件类型"
|
||||
prop="guardianIdType"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.guardianIdType"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
label="身份证"
|
||||
value="id_card"
|
||||
/>
|
||||
<el-option
|
||||
label="护照"
|
||||
value="passport"
|
||||
/>
|
||||
<el-option
|
||||
label="其他"
|
||||
value="other"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="监护人证件号码" prop="guardianIdNo">
|
||||
<el-input v-model="form.guardianIdNo" clearable :disabled="isViewMode" placeholder="请输入监护人证件号码" />
|
||||
<el-form-item
|
||||
label="监护人证件号码"
|
||||
prop="guardianIdNo"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.guardianIdNo"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
placeholder="请输入监护人证件号码"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -334,16 +551,31 @@
|
||||
<!-- 第十行:监护人地址 -->
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="监护人地址" prop="guardianAddress">
|
||||
<el-input v-model="form.guardianAddress" clearable :disabled="isViewMode" placeholder="请输入监护人详细地址" />
|
||||
<el-form-item
|
||||
label="监护人地址"
|
||||
prop="guardianAddress"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.guardianAddress"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
placeholder="请输入监护人详细地址"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="submitForm"
|
||||
>
|
||||
确 定
|
||||
</el-button>
|
||||
<el-button @click="cancel">
|
||||
取 消
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -1,75 +1,91 @@
|
||||
<template>
|
||||
<!-- <div class="app-container"> -->
|
||||
<el-dialog :title="title" v-model="visible" width="800px" append-to-body>
|
||||
<el-table
|
||||
:data="patientInfoList"
|
||||
@selection-change="handleSelectionChange"
|
||||
width="90%"
|
||||
@cell-dblclick="handleCellDblClick"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
key="name"
|
||||
prop="name"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="性别"
|
||||
align="center"
|
||||
key="genderEnum_enumText"
|
||||
prop="genderEnum_enumText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="身份证号"
|
||||
align="center"
|
||||
key="idCard"
|
||||
prop="idCard"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="电话"
|
||||
align="center"
|
||||
key="phone"
|
||||
prop="phone"
|
||||
:show-overflow-tooltip="true"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="生日"
|
||||
align="center"
|
||||
key="birthDate"
|
||||
prop="birthDate"
|
||||
:show-overflow-tooltip="true"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column
|
||||
label="年龄"
|
||||
align="center"
|
||||
key="age"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.age ? `${scope.row.age}岁` : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
:title="title"
|
||||
width="800px"
|
||||
append-to-body
|
||||
>
|
||||
<el-table
|
||||
:data="patientInfoList"
|
||||
width="90%"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="handleCellDblClick"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="50"
|
||||
align="center"
|
||||
/>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-table-column
|
||||
key="name"
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
prop="name"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
key="genderEnum_enumText"
|
||||
label="性别"
|
||||
align="center"
|
||||
prop="genderEnum_enumText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
key="idCard"
|
||||
label="身份证号"
|
||||
align="center"
|
||||
prop="idCard"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
key="phone"
|
||||
label="电话"
|
||||
align="center"
|
||||
prop="phone"
|
||||
:show-overflow-tooltip="true"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
key="birthDate"
|
||||
label="生日"
|
||||
align="center"
|
||||
prop="birthDate"
|
||||
:show-overflow-tooltip="true"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column
|
||||
key="age"
|
||||
label="年龄"
|
||||
align="center"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.age ? `${scope.row.age}岁` : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
:total="total"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="submitForm"
|
||||
>
|
||||
确 定
|
||||
</el-button>
|
||||
<el-button @click="cancel">
|
||||
取 消
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<!-- </div> -->
|
||||
</template>
|
||||
|
||||
|
||||
@@ -6,16 +6,39 @@
|
||||
row-key="id"
|
||||
@cell-click="clickRow"
|
||||
>
|
||||
<el-table-column label="姓名" align="center" prop="name" />
|
||||
<el-table-column label="就诊卡号" align="center" prop="identifierNo" />
|
||||
<el-table-column label="性别" align="center" prop="genderEnum_enumText" />
|
||||
<el-table-column label="证件号" align="center" prop="idCard" />
|
||||
<el-table-column label="联系电话" align="center" prop="phone" />
|
||||
<el-table-column label="年龄" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.age ? `${scope.row.age}` : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="姓名"
|
||||
align="center"
|
||||
prop="name"
|
||||
/>
|
||||
<el-table-column
|
||||
label="就诊卡号"
|
||||
align="center"
|
||||
prop="identifierNo"
|
||||
/>
|
||||
<el-table-column
|
||||
label="性别"
|
||||
align="center"
|
||||
prop="genderEnum_enumText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="证件号"
|
||||
align="center"
|
||||
prop="idCard"
|
||||
/>
|
||||
<el-table-column
|
||||
label="联系电话"
|
||||
align="center"
|
||||
prop="phone"
|
||||
/>
|
||||
<el-table-column
|
||||
label="年龄"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.age ? `${scope.row.age}` : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,35 +1,63 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="eventType == '1' ? '确认退费' : '挂号详情'"
|
||||
v-model="props.open"
|
||||
:title="eventType == '1' ? '确认退费' : '挂号详情'"
|
||||
width="700px"
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
@close="close"
|
||||
>
|
||||
<div v-loading="loading">
|
||||
<el-text size="large" style="display: block; margin-bottom: 15px">
|
||||
<el-text
|
||||
size="large"
|
||||
style="display: block; margin-bottom: 15px"
|
||||
>
|
||||
退费日期:{{ currentDate }}
|
||||
</el-text>
|
||||
<el-text size="large">费用性质:{{ props.category || '自费' }}</el-text>
|
||||
<el-text size="large">
|
||||
费用性质:{{ props.category || '自费' }}
|
||||
</el-text>
|
||||
<div class="amount-row">
|
||||
<el-text size="large">应退金额:</el-text>
|
||||
<el-text size="large" type="primary" class="amount">
|
||||
<el-text size="large">
|
||||
应退金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="primary"
|
||||
class="amount"
|
||||
>
|
||||
{{ (calculatedTotalAmount || 0) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
<div class="amount-row" v-if="calculatedReturnAmount > 0">
|
||||
<el-text size="large">退费金额:</el-text>
|
||||
<el-text size="large" type="primary" class="amount">
|
||||
<div
|
||||
v-if="calculatedReturnAmount > 0"
|
||||
class="amount-row"
|
||||
>
|
||||
<el-text size="large">
|
||||
退费金额:
|
||||
</el-text>
|
||||
<el-text
|
||||
size="large"
|
||||
type="primary"
|
||||
class="amount"
|
||||
>
|
||||
{{ (calculatedReturnAmount || 0) + ' 元' }}
|
||||
</el-text>
|
||||
</div>
|
||||
|
||||
<!-- 退费方式列表(从接口数据中筛选) -->
|
||||
<div class="payment-container">
|
||||
<div v-for="(item, index) in refundMethodsFromApi" :key="index" class="payment-item">
|
||||
<div
|
||||
v-for="(item, index) in refundMethodsFromApi"
|
||||
:key="index"
|
||||
class="payment-item"
|
||||
>
|
||||
<span>退费方式:</span>
|
||||
<el-input :value="getPayMethodLabel(item.payEnum)" readonly style="width: 160px" />
|
||||
<el-input
|
||||
:value="getPayMethodLabel(item.payEnum)"
|
||||
readonly
|
||||
style="width: 160px"
|
||||
/>
|
||||
<span>退费金额:</span>
|
||||
<div class="suffix-wrapper">
|
||||
<el-input-number
|
||||
@@ -42,12 +70,15 @@
|
||||
<span class="suffix-text">元</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="payment-container" style="position: relative">
|
||||
<div
|
||||
class="payment-container"
|
||||
style="position: relative"
|
||||
>
|
||||
<span style="position: absolute; top: 5px">退费原因:</span>
|
||||
<el-input
|
||||
v-model="reason"
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
v-model="reason"
|
||||
placeholder="退费原因"
|
||||
class="reason-textarea"
|
||||
:disabled="eventType == '1' ? false : true"
|
||||
@@ -67,10 +98,14 @@
|
||||
<div class="summary">
|
||||
<el-space :size="30">
|
||||
<div class="summary-item">
|
||||
<el-text type="info">实退合计:</el-text>
|
||||
<el-text type="success">{{
|
||||
displayAmount > 0 ? displayAmount + ' 元' : props.totalAmount + ' 元'
|
||||
}}</el-text>
|
||||
<el-text type="info">
|
||||
实退合计:
|
||||
</el-text>
|
||||
<el-text type="success">
|
||||
{{
|
||||
displayAmount > 0 ? displayAmount + ' 元' : props.totalAmount + ' 元'
|
||||
}}
|
||||
</el-text>
|
||||
</div>
|
||||
<!-- <div class="summary-item">
|
||||
<el-text type="info">应找零:</el-text>
|
||||
@@ -80,20 +115,48 @@
|
||||
</div>
|
||||
|
||||
<!-- 退费明细表格 -->
|
||||
<div v-if="preCancelData && preCancelData.length > 0" class="pre-cancel-table-wrapper">
|
||||
<el-table :data="preCancelData" border stripe max-height="300" style="width: 100%">
|
||||
<el-table-column prop="payEnum_dictText" label="支付方式" min-width="200" />
|
||||
<el-table-column prop="amount" label="金额" width="120" align="right">
|
||||
<div
|
||||
v-if="preCancelData && preCancelData.length > 0"
|
||||
class="pre-cancel-table-wrapper"
|
||||
>
|
||||
<el-table
|
||||
:data="preCancelData"
|
||||
border
|
||||
stripe
|
||||
max-height="300"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
prop="payEnum_dictText"
|
||||
label="支付方式"
|
||||
min-width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="amount"
|
||||
label="金额"
|
||||
width="120"
|
||||
align="right"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ row.amount ? Number(row.amount) : '0.00' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="returnAmount" label="退费金额" width="120" align="right">
|
||||
<el-table-column
|
||||
prop="returnAmount"
|
||||
label="退费金额"
|
||||
width="120"
|
||||
align="right"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ row.returnAmount ? Number(row.returnAmount) : '0.00' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="chargeAmount" label="收费金额" min-width="120" align="right">
|
||||
<el-table-column
|
||||
prop="chargeAmount"
|
||||
label="收费金额"
|
||||
min-width="120"
|
||||
align="right"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ row.chargeAmount ? Number(row.chargeAmount) : '0.00' }}
|
||||
</template>
|
||||
@@ -103,8 +166,16 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button v-if="eventType == 1" type="primary" @click="submit">确 定</el-button>
|
||||
<el-button @click="close">取 消</el-button>
|
||||
<el-button
|
||||
v-if="eventType == 1"
|
||||
type="primary"
|
||||
@click="submit"
|
||||
>
|
||||
确 定
|
||||
</el-button>
|
||||
<el-button @click="close">
|
||||
取 消
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -1,54 +1,129 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="补打挂号单凭证"
|
||||
v-model="dialogVisible"
|
||||
title="补打挂号单凭证"
|
||||
width="900px"
|
||||
append-to-body
|
||||
destroy-on-close
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div v-loading="loading" style="background-color: #ffffff; padding: 20px; min-height: 400px;">
|
||||
<div
|
||||
v-loading="loading"
|
||||
style="background-color: #ffffff; padding: 20px; min-height: 400px;"
|
||||
>
|
||||
<!-- 标题区域 -->
|
||||
<div style="text-align: center; margin-bottom: 20px;">
|
||||
<h2 style="color: #ff0000; font-size: 24px; font-weight: bold; margin: 0 0 10px 0;">挂号单重打</h2>
|
||||
<p style="color: #ff0000; font-size: 14px; margin: 0;">补打挂号单将作废原有的挂号单据并生成新的挂号单据</p>
|
||||
<h2 style="color: #ff0000; font-size: 24px; font-weight: bold; margin: 0 0 10px 0;">
|
||||
挂号单重打
|
||||
</h2>
|
||||
<p style="color: #ff0000; font-size: 14px; margin: 0;">
|
||||
补打挂号单将作废原有的挂号单据并生成新的挂号单据
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- 表单区域 -->
|
||||
<el-form :model="form" ref="reprintFormRef" label-width="120px" style="background-color: #ffffff; padding: 20px; border-radius: 4px;">
|
||||
<el-form
|
||||
ref="reprintFormRef"
|
||||
:model="form"
|
||||
label-width="120px"
|
||||
style="background-color: #ffffff; padding: 20px; border-radius: 4px;"
|
||||
>
|
||||
<el-row :gutter="30">
|
||||
<!-- 左列 -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="病人姓名:" prop="name">
|
||||
<el-input v-model="form.name" placeholder="病人姓名" :disabled="true" />
|
||||
<el-form-item
|
||||
label="病人姓名:"
|
||||
prop="name"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="病人姓名"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="医生姓名:" prop="practitionerName">
|
||||
<el-input v-model="form.practitionerName" placeholder="医生姓名" :disabled="true" />
|
||||
<el-form-item
|
||||
label="医生姓名:"
|
||||
prop="practitionerName"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.practitionerName"
|
||||
placeholder="医生姓名"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="诊疗费:" prop="activityPrice">
|
||||
<el-input v-model="form.activityPrice" placeholder="诊疗费" :disabled="true" />
|
||||
<el-form-item
|
||||
label="诊疗费:"
|
||||
prop="activityPrice"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.activityPrice"
|
||||
placeholder="诊疗费"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="流水号:" prop="serialNo">
|
||||
<el-input v-model="form.serialNo" placeholder="流水号" :disabled="true" />
|
||||
<el-form-item
|
||||
label="流水号:"
|
||||
prop="serialNo"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.serialNo"
|
||||
placeholder="流水号"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="合计:" prop="totalPrice">
|
||||
<el-input v-model="form.totalPrice" placeholder="合计" :disabled="true" />
|
||||
<el-form-item
|
||||
label="合计:"
|
||||
prop="totalPrice"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.totalPrice"
|
||||
placeholder="合计"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- 右列 -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="挂号科室:" prop="organizationName">
|
||||
<el-input v-model="form.organizationName" placeholder="挂号科室" :disabled="true" />
|
||||
<el-form-item
|
||||
label="挂号科室:"
|
||||
prop="organizationName"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.organizationName"
|
||||
placeholder="挂号科室"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="挂号费:" prop="price">
|
||||
<el-input v-model="form.price" placeholder="挂号费" :disabled="true" />
|
||||
<el-form-item
|
||||
label="挂号费:"
|
||||
prop="price"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.price"
|
||||
placeholder="挂号费"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="病历费:" prop="medicalRecordFee">
|
||||
<el-input v-model="form.medicalRecordFee" placeholder="病历费" :disabled="true" />
|
||||
<el-form-item
|
||||
label="病历费:"
|
||||
prop="medicalRecordFee"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.medicalRecordFee"
|
||||
placeholder="病历费"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="打印时间:" prop="printTime">
|
||||
<el-input v-model="form.printTime" placeholder="打印时间" :disabled="true" />
|
||||
<el-form-item
|
||||
label="打印时间:"
|
||||
prop="printTime"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.printTime"
|
||||
placeholder="打印时间"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -56,8 +131,15 @@
|
||||
<!-- 跨两列的字段 -->
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="预约/挂号时间:" prop="visitTime">
|
||||
<el-input v-model="form.visitTime" placeholder="预约/挂号时间" :disabled="true" />
|
||||
<el-form-item
|
||||
label="预约/挂号时间:"
|
||||
prop="visitTime"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.visitTime"
|
||||
placeholder="预约/挂号时间"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -65,8 +147,14 @@
|
||||
|
||||
<!-- 底部搜索和操作区域 -->
|
||||
<div style="margin-top: 20px; padding: 15px; background-color: #ffffff; border-radius: 4px;">
|
||||
<el-form :inline="true" style="margin: 0;">
|
||||
<el-form-item label="就诊卡号:" style="margin-bottom: 0;">
|
||||
<el-form
|
||||
:inline="true"
|
||||
style="margin: 0;"
|
||||
>
|
||||
<el-form-item
|
||||
label="就诊卡号:"
|
||||
style="margin-bottom: 0;"
|
||||
>
|
||||
<el-input
|
||||
v-model="searchForm.cardNo"
|
||||
placeholder="请输入就诊卡号检索条"
|
||||
@@ -74,8 +162,16 @@
|
||||
clearable
|
||||
@keyup.enter="handleSearch"
|
||||
/>
|
||||
<el-button type="primary" @click="handleSearch" :loading="loading">确认(O)</el-button>
|
||||
<el-button @click="handleCancel">取消(C)</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="loading"
|
||||
@click="handleSearch"
|
||||
>
|
||||
确认(O)
|
||||
</el-button>
|
||||
<el-button @click="handleCancel">
|
||||
取消(C)
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -83,8 +179,8 @@
|
||||
|
||||
<!-- 挂号记录选择对话框 -->
|
||||
<el-dialog
|
||||
title="挂号记录选择"
|
||||
v-model="selectDialogVisible"
|
||||
title="挂号记录选择"
|
||||
width="800px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
@@ -92,27 +188,49 @@
|
||||
<el-table
|
||||
:data="recordList"
|
||||
highlight-current-row
|
||||
@current-change="handleRecordSelect"
|
||||
style="width: 100%"
|
||||
max-height="400"
|
||||
@current-change="handleRecordSelect"
|
||||
>
|
||||
<el-table-column label="序号" type="index" width="60" align="center" />
|
||||
<el-table-column label="挂号时间" prop="registerTime" width="180" align="center">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
width="60"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="挂号时间"
|
||||
prop="registerTime"
|
||||
width="180"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.registerTime ? parseTime(scope.row.registerTime, '{y}.{m}.{d} {h}时{i}分') : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="挂号科室" prop="organizationName" align="center">
|
||||
<el-table-column
|
||||
label="挂号科室"
|
||||
prop="organizationName"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.organizationName ? scope.row.organizationName.trim() || '-' : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医生姓名" prop="practitionerName" align="center">
|
||||
<el-table-column
|
||||
label="医生姓名"
|
||||
prop="practitionerName"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.practitionerName ? scope.row.practitionerName.trim() || '-' : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="流水号" prop="encounterNo" align="center">
|
||||
<el-table-column
|
||||
label="流水号"
|
||||
prop="encounterNo"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ calculateSerialNo(scope.row) }}
|
||||
</template>
|
||||
@@ -120,8 +238,16 @@
|
||||
</el-table>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="selectDialogVisible = false">取消 (C)</el-button>
|
||||
<el-button type="primary" @click="handleConfirmSelect" :disabled="!selectedRecord">确认 (O)</el-button>
|
||||
<el-button @click="selectDialogVisible = false">
|
||||
取消 (C)
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="!selectedRecord"
|
||||
@click="handleConfirmSelect"
|
||||
>
|
||||
确认 (O)
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,10 +10,10 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
size="large"
|
||||
@click="handlePatientSearch"
|
||||
:loading="loading"
|
||||
icon="el-icon-search"
|
||||
icon="el-icon-search"
|
||||
style="min-width: 140px;"
|
||||
@click="handlePatientSearch"
|
||||
>
|
||||
病人查询(Q)
|
||||
</el-button>
|
||||
@@ -21,10 +21,10 @@
|
||||
<el-button
|
||||
type="success"
|
||||
size="large"
|
||||
@click="handleConfirm"
|
||||
:loading="loading"
|
||||
:disabled="!patientInfo"
|
||||
:disabled="!patientInfo"
|
||||
style="min-width: 140px;"
|
||||
@click="handleConfirm"
|
||||
>
|
||||
确定 (O)
|
||||
</el-button>
|
||||
@@ -32,9 +32,9 @@
|
||||
<el-button
|
||||
type="danger"
|
||||
size="large"
|
||||
@click="handleClose"
|
||||
:disabled="loading"
|
||||
:disabled="loading"
|
||||
style="min-width: 140px;"
|
||||
@click="handleClose"
|
||||
>
|
||||
关闭 (C)
|
||||
</el-button>
|
||||
@@ -49,8 +49,8 @@
|
||||
<el-input
|
||||
v-model="searchForm.patientName"
|
||||
placeholder="请输入"
|
||||
@keyup.enter="handlePatientSearch"
|
||||
clearable
|
||||
@keyup.enter="handlePatientSearch"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -60,8 +60,8 @@
|
||||
<el-input
|
||||
v-model="searchForm.idCard"
|
||||
placeholder="请输入"
|
||||
@keyup.enter="handlePatientSearch"
|
||||
clearable
|
||||
@keyup.enter="handlePatientSearch"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -71,8 +71,8 @@
|
||||
<el-input
|
||||
v-model="searchForm.phoneNumber"
|
||||
placeholder="请输入"
|
||||
@keyup.enter="handlePatientSearch"
|
||||
clearable
|
||||
@keyup.enter="handlePatientSearch"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -85,40 +85,55 @@
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>门诊号码</label>
|
||||
<div class="info-value">{{ patientInfo?.outpatientNo || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.outpatientNo || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>病人姓名</label>
|
||||
<div class="info-value">{{ patientInfo?.patientName || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.patientName || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>身份证号码</label>
|
||||
<div class="info-value">{{ patientInfo?.idCard || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.idCard || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" style="margin-top: 15px;">
|
||||
<el-row
|
||||
:gutter="20"
|
||||
style="margin-top: 15px;"
|
||||
>
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>手机号码</label>
|
||||
<div class="info-value">{{ patientInfo?.phoneNumber || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.phoneNumber || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>性别</label>
|
||||
<div class="info-value">{{ patientInfo?.gender || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.gender || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="info-item">
|
||||
<label>年龄</label>
|
||||
<div class="info-value">{{ patientInfo?.age || '' }}</div>
|
||||
<div class="info-value">
|
||||
{{ patientInfo?.age || '' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -131,8 +146,8 @@
|
||||
<el-input
|
||||
v-model="renewalForm.newOutpatientNo"
|
||||
placeholder="请输入新门诊号码"
|
||||
@keyup.enter="handleConfirm"
|
||||
style="width: 250px;"
|
||||
@keyup.enter="handleConfirm"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -152,12 +167,25 @@
|
||||
<div style="width: 100%; background-color: #e6f4ff;">
|
||||
<!-- 标题行 -->
|
||||
<div style="display: flex; justify-content: flex-start; align-items: center; padding: 10px 20px;">
|
||||
<h3 style="margin: 0; font-size: 16px; font-weight: 500; color: #303133;">病人档案查询</h3>
|
||||
<h3 style="margin: 0; font-size: 16px; font-weight: 500; color: #303133;">
|
||||
病人档案查询
|
||||
</h3>
|
||||
</div>
|
||||
<!-- 按钮行 -->
|
||||
<div style="display: flex; justify-content: flex-start; gap: 10px; padding: 10px 20px; background-color: #e6f4ff;">
|
||||
<el-button type="primary" @click="confirmSelectPatient" style="background-color: #409eff; border-color: #409eff; padding: 8px 16px; font-size: 14px;">确认(Q)</el-button>
|
||||
<el-button @click="showPatientList = false; selectedPatient = null" style="background-color: #f56c6c; border-color: #f56c6c; color: white; padding: 8px 16px; font-size: 14px;">关闭(C)</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
style="background-color: #409eff; border-color: #409eff; padding: 8px 16px; font-size: 14px;"
|
||||
@click="confirmSelectPatient"
|
||||
>
|
||||
确认(Q)
|
||||
</el-button>
|
||||
<el-button
|
||||
style="background-color: #f56c6c; border-color: #f56c6c; color: white; padding: 8px 16px; font-size: 14px;"
|
||||
@click="showPatientList = false; selectedPatient = null"
|
||||
>
|
||||
关闭(C)
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -165,44 +193,68 @@
|
||||
<el-table
|
||||
:data="patientList"
|
||||
style="width: 100%"
|
||||
@row-click="selectPatient"
|
||||
:row-key="row => row.identifierNo || row.patientId || row.cardNo"
|
||||
:current-row-key="selectedPatient?.identifierNo || selectedPatient?.patientId || selectedPatient?.cardNo"
|
||||
highlight-current-row
|
||||
@row-click="selectPatient"
|
||||
>
|
||||
<el-table-column label="序号" width="60" type="index">
|
||||
</el-table-column>
|
||||
<el-table-column label="病人姓名" width="120">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
width="60"
|
||||
type="index"
|
||||
/>
|
||||
<el-table-column
|
||||
label="病人姓名"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.patientName || scope.row.name || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="门诊号码" width="120">
|
||||
<el-table-column
|
||||
label="门诊号码"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.identifierNo || scope.row.cardNo || scope.row.card_number || scope.row.就诊卡号 || scope.row.outpatientNumber || scope.row.outpatientNo || scope.row.门诊号码 || scope.row.卡号 || scope.row.card || scope.row.patientNo || scope.row.patient_id || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="身份证号码" width="200">
|
||||
<el-table-column
|
||||
label="身份证号码"
|
||||
width="200"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.idCard || scope.row.id_card || scope.row.idNo || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号码" width="120">
|
||||
<el-table-column
|
||||
label="手机号码"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.phoneNumber || scope.row.phone || scope.row.mobile || scope.row.mobilePhone || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="性别" width="80">
|
||||
<el-table-column
|
||||
label="性别"
|
||||
width="80"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.genderEnum_enumText || scope.row.gender || scope.row.sex || scope.row.性别 || scope.row.xb || scope.row.sexCode || scope.row.GENDER || scope.row.SEX || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="年龄" width="80">
|
||||
<el-table-column
|
||||
label="年龄"
|
||||
width="80"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.age || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出生年月" width="120">
|
||||
<el-table-column
|
||||
label="出生年月"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ formatDate(scope.row.birthDate || scope.row.birthday || scope.row.出生日期) || '-' }}
|
||||
</template>
|
||||
@@ -224,7 +276,7 @@
|
||||
|
||||
<!-- 移除底部按钮 -->
|
||||
<template #footer>
|
||||
<span></span>
|
||||
<span />
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -236,9 +288,15 @@
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div style="text-align: center; padding: 20px;">
|
||||
<div class="success-icon">✓</div>
|
||||
<p style="margin-top: 15px; font-size: 16px;">患者换卡操作已成功完成!</p>
|
||||
<p style="margin-top: 10px;">新门诊号码:{{ renewalForm.newOutpatientNo }}</p>
|
||||
<div class="success-icon">
|
||||
✓
|
||||
</div>
|
||||
<p style="margin-top: 15px; font-size: 16px;">
|
||||
患者换卡操作已成功完成!
|
||||
</p>
|
||||
<p style="margin-top: 10px;">
|
||||
新门诊号码:{{ renewalForm.newOutpatientNo }}
|
||||
</p>
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
<div class="button-bar">
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="handleQuery"
|
||||
:loading="loading"
|
||||
:loading="loading"
|
||||
size="large"
|
||||
icon="el-icon-check"
|
||||
@click="handleQuery"
|
||||
>
|
||||
确认(Q)
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
@click="handleClose"
|
||||
size="large"
|
||||
icon="el-icon-close"
|
||||
@click="handleClose"
|
||||
>
|
||||
关闭(C)
|
||||
</el-button>
|
||||
@@ -69,44 +69,76 @@
|
||||
:data="patientList"
|
||||
style="width: 100%"
|
||||
stripe
|
||||
@row-click="handleRowClick"
|
||||
highlight-current-row
|
||||
row-key="id"
|
||||
:current-row-key="selectedPatient?.id"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column label="序号" type="index" width="80" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column label="病人姓名" width="120" align="center">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
width="80"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="病人姓名"
|
||||
width="120"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.patientName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="门诊号码" width="150" align="center">
|
||||
<el-table-column
|
||||
label="门诊号码"
|
||||
width="150"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.outpatientNo || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="身份证号码" width="200" align="center">
|
||||
<el-table-column
|
||||
label="身份证号码"
|
||||
width="200"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.idCard || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号码" width="120" align="center">
|
||||
<el-table-column
|
||||
label="手机号码"
|
||||
width="120"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.phoneNumber || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="性别" width="80" align="center">
|
||||
<el-table-column
|
||||
label="性别"
|
||||
width="80"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.gender }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="年龄" width="80" align="center">
|
||||
<el-table-column
|
||||
label="年龄"
|
||||
width="80"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.age }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出生年月" width="120" align="center">
|
||||
<el-table-column
|
||||
label="出生年月"
|
||||
width="120"
|
||||
align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.birthDate }}
|
||||
</template>
|
||||
|
||||
@@ -1,22 +1,43 @@
|
||||
<template>
|
||||
<div style="display: flex; justify-content: space-between" class="app-container" v-loading="loading"
|
||||
:element-loading-text="loadingText">
|
||||
<div
|
||||
v-loading="loading"
|
||||
style="display: flex; justify-content: space-between"
|
||||
class="app-container"
|
||||
:element-loading-text="loadingText"
|
||||
>
|
||||
<!-- 左侧:患者基本信息区 -->
|
||||
<el-card style="width: 30%">
|
||||
<template #header>
|
||||
<span style="vertical-align: middle">患者基本信息</span>
|
||||
</template>
|
||||
<el-descriptions :column="1" border>
|
||||
<el-descriptions-item label="病历号">{{ patientInfo.encounterBusNo }}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">{{ patientInfo.patientName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="性别">{{ patientInfo.genderEnum_enumText }}</el-descriptions-item>
|
||||
<el-descriptions-item label="年龄">{{ patientInfo.age }}</el-descriptions-item>
|
||||
<el-descriptions-item label="科室">{{ patientInfo.organizationName }}</el-descriptions-item>
|
||||
<el-descriptions
|
||||
:column="1"
|
||||
border
|
||||
>
|
||||
<el-descriptions-item label="病历号">
|
||||
{{ patientInfo.encounterBusNo }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">
|
||||
{{ patientInfo.patientName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="性别">
|
||||
{{ patientInfo.genderEnum_enumText }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="年龄">
|
||||
{{ patientInfo.age }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="科室">
|
||||
{{ patientInfo.organizationName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="就诊时间">
|
||||
{{ formatDateStr(patientInfo.receptionTime, 'YYYY-MM-DD HH:mm:ss') }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="手术单号">{{ surgeryInfo.surgeryNo }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手术名称">{{ surgeryInfo.surgeryName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手术单号">
|
||||
{{ surgeryInfo.surgeryNo }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="手术名称">
|
||||
{{ surgeryInfo.surgeryName }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
@@ -27,13 +48,27 @@
|
||||
<span style="vertical-align: middle">收费项目</span>
|
||||
</template>
|
||||
<div style="margin-bottom: 10px">
|
||||
<el-button type="primary" @click="confirmCharge()" :disabled="buttonDisabled">
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="buttonDisabled"
|
||||
@click="confirmCharge()"
|
||||
>
|
||||
确认收费
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleReadCard('01')" style="width: 65px">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 65px"
|
||||
@click="handleReadCard('01')"
|
||||
>
|
||||
电子凭证
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleReadCard('03')" style="width: 65px">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
style="width: 65px"
|
||||
@click="handleReadCard('03')"
|
||||
>
|
||||
医保卡
|
||||
</el-button>
|
||||
<span style="float: right">
|
||||
@@ -42,43 +77,103 @@
|
||||
</div>
|
||||
<el-table
|
||||
ref="chargeListRef"
|
||||
v-loading="chargeLoading"
|
||||
height="530"
|
||||
:data="chargeList"
|
||||
row-key="id"
|
||||
@selection-change="handleSelectionChange"
|
||||
v-loading="chargeLoading"
|
||||
:span-method="objectSpanMethod"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" :selectable="checkSelectable" width="55" />
|
||||
<el-table-column label="单据号" align="center" prop="busNo" width="180" />
|
||||
<el-table-column label="收费项目" align="center" prop="itemName" width="200" />
|
||||
<el-table-column label="数量" align="center" prop="quantityValue" width="80" />
|
||||
<el-table-column label="医疗类型" align="center" prop="medTypeCode_dictText" />
|
||||
<el-table-column label="医保编码" align="center" prop="ybNo" />
|
||||
<el-table-column label="费用性质" align="center" prop="contractName" />
|
||||
<el-table-column label="收费状态" align="center" prop="statusEnum_enumText" width="150">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
:selectable="checkSelectable"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
label="单据号"
|
||||
align="center"
|
||||
prop="busNo"
|
||||
width="180"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费项目"
|
||||
align="center"
|
||||
prop="itemName"
|
||||
width="200"
|
||||
/>
|
||||
<el-table-column
|
||||
label="数量"
|
||||
align="center"
|
||||
prop="quantityValue"
|
||||
width="80"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医疗类型"
|
||||
align="center"
|
||||
prop="medTypeCode_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医保编码"
|
||||
align="center"
|
||||
prop="ybNo"
|
||||
/>
|
||||
<el-table-column
|
||||
label="费用性质"
|
||||
align="center"
|
||||
prop="contractName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="收费状态"
|
||||
align="center"
|
||||
prop="statusEnum_enumText"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.statusEnum === 1" disable-transitions>
|
||||
<el-tag
|
||||
v-if="scope.row.statusEnum === 1"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.statusEnum === 5" type="success" disable-transitions>
|
||||
<el-tag
|
||||
v-else-if="scope.row.statusEnum === 5"
|
||||
type="success"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else-if="scope.row.statusEnum === 8" type="danger" disable-transitions>
|
||||
<el-tag
|
||||
v-else-if="scope.row.statusEnum === 8"
|
||||
type="danger"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
<el-tag v-else type="warning" disable-transitions>
|
||||
<el-tag
|
||||
v-else
|
||||
type="warning"
|
||||
disable-transitions
|
||||
>
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金额" align="right" prop="totalPrice" header-align="center">
|
||||
<el-table-column
|
||||
label="金额"
|
||||
align="right"
|
||||
prop="totalPrice"
|
||||
header-align="center"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.totalPrice.toFixed(2) + ' 元' || '0.00' + ' 元' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收款人" align="center" prop="entererId_dictText" />
|
||||
<el-table-column
|
||||
label="收款人"
|
||||
align="center"
|
||||
prop="entererId_dictText"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
@@ -105,18 +200,18 @@
|
||||
<ChargeDialog
|
||||
ref="chargeDialogRef"
|
||||
:open="openDialog"
|
||||
@close="handleClose"
|
||||
:category="patientInfo.categoryEnum"
|
||||
:totalAmount="totalAmount"
|
||||
:patientInfo="patientInfo"
|
||||
:chargeItemIds="chargeItemIdList"
|
||||
:consumablesIdList="consumablesIdList"
|
||||
:chrgBchnoList="chrgBchnoList"
|
||||
:userCardInfo="userCardInfo"
|
||||
:paymentId="paymentId"
|
||||
:total-amount="totalAmount"
|
||||
:patient-info="patientInfo"
|
||||
:charge-item-ids="chargeItemIdList"
|
||||
:consumables-id-list="consumablesIdList"
|
||||
:chrg-bchno-list="chrgBchnoList"
|
||||
:user-card-info="userCardInfo"
|
||||
:payment-id="paymentId"
|
||||
:details="details"
|
||||
:chargedItems="chargedItems"
|
||||
:feeType="patientInfo.medfeePaymtdCode"
|
||||
:charged-items="chargedItems"
|
||||
@close="handleClose"
|
||||
:fee-type="patientInfo.medfeePaymtdCode"
|
||||
:medfee_paymtd_code="medfee_paymtd_code"
|
||||
@refresh="getChargeList"
|
||||
/>
|
||||
|
||||
@@ -1,48 +1,169 @@
|
||||
<template>
|
||||
<div class="app-continer">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true">
|
||||
<el-form-item label="患者姓名" prop="patientName">
|
||||
<el-input v-model="queryParams.searchKey" placeholder="请输入患者姓名" />
|
||||
<el-form
|
||||
ref="queryRef"
|
||||
:model="queryParams"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item
|
||||
label="患者姓名"
|
||||
prop="patientName"
|
||||
>
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
placeholder="请输入患者姓名"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="Search"
|
||||
@click="handleQuery"
|
||||
>
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button
|
||||
icon="Refresh"
|
||||
@click="resetQuery"
|
||||
>
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table :data="recordList" v-loading="loading" border ref="tableRef">
|
||||
<el-table-column label="患者姓名" align="center" prop="patientName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="支付单号" align="center" prop="paymentBusNo" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="交易金额(元)" align="right" prop="txnAmt" header-align="center" width="100"
|
||||
:show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column label="交易类型" align="center" prop="tranType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="支付方式" align="center" prop="payType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="交易时间" align="center" prop="txnTime" :show-overflow-tooltip="true">
|
||||
<el-table
|
||||
ref="tableRef"
|
||||
v-loading="loading"
|
||||
:data="recordList"
|
||||
border
|
||||
>
|
||||
<el-table-column
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
prop="patientName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="支付单号"
|
||||
align="center"
|
||||
prop="paymentBusNo"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="交易金额(元)"
|
||||
align="right"
|
||||
prop="txnAmt"
|
||||
header-align="center"
|
||||
width="100"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="交易类型"
|
||||
align="center"
|
||||
prop="tranType"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="支付方式"
|
||||
align="center"
|
||||
prop="payType"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="交易时间"
|
||||
align="center"
|
||||
prop="txnTime"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.txnTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="原交易类型" align="center" prop="orgTranType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="原交易类型" align="center" prop="orgTranType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="第三方优惠说明" align="center" prop="otherMsg" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="错误信息" align="center" prop="errMsg" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="查询结果" align="center" prop="queryResult" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="查询结果说明" align="center" prop="queryResultMsg" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" prop="paymentEnum_enumText" width="340">
|
||||
<el-table-column
|
||||
label="原交易类型"
|
||||
align="center"
|
||||
prop="orgTranType"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="原交易类型"
|
||||
align="center"
|
||||
prop="orgTranType"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="第三方优惠说明"
|
||||
align="center"
|
||||
prop="otherMsg"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="错误信息"
|
||||
align="center"
|
||||
prop="errMsg"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="查询结果"
|
||||
align="center"
|
||||
prop="queryResult"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="查询结果说明"
|
||||
align="center"
|
||||
prop="queryResultMsg"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
prop="paymentEnum_enumText"
|
||||
width="340"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button type="primary" link :disabled="!scope.row.paymentId"
|
||||
@click="getPayInfo(scope.row.paymentId)">支付结果查询</el-button>
|
||||
<el-button type="warning" link :disabled="!scope.row.paymentId"
|
||||
@click="returnFee(scope.row.paymentId)">退费</el-button>
|
||||
<el-button type="danger" link auto-insert-space :disabled="!scope.row.paymentId"
|
||||
@click="returnFeeNext(scope.row.paymentId)">隔天退费</el-button>
|
||||
<el-button type="success" link @click="returnFeeResultQuery(scope.row.id)">退费结果查询</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
:disabled="!scope.row.paymentId"
|
||||
@click="getPayInfo(scope.row.paymentId)"
|
||||
>
|
||||
支付结果查询
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
link
|
||||
:disabled="!scope.row.paymentId"
|
||||
@click="returnFee(scope.row.paymentId)"
|
||||
>
|
||||
退费
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
auto-insert-space
|
||||
:disabled="!scope.row.paymentId"
|
||||
@click="returnFeeNext(scope.row.paymentId)"
|
||||
>
|
||||
隔天退费
|
||||
</el-button>
|
||||
<el-button
|
||||
type="success"
|
||||
link
|
||||
@click="returnFeeResultQuery(scope.row.id)"
|
||||
>
|
||||
退费结果查询
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getLists" />
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
:total="total"
|
||||
@pagination="getLists"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user