|
@@ -1,56 +1,73 @@
|
|
|
<template>
|
|
|
<el-container>
|
|
|
<el-header height="50px">
|
|
|
- <el-tag>患者姓名: {{ patient.name }}</el-tag>
|
|
|
- <el-tag>住院号: {{ patient.inpatientNo }}</el-tag>
|
|
|
- <el-tag>床号: {{ patient.bedNo }}</el-tag>
|
|
|
- <el-tag>住院次数: {{ patient.admissTimes }}</el-tag>
|
|
|
- <el-tag>性别: {{ cptSex(patient.sex) }}</el-tag>
|
|
|
+ <el-tag effect="dark">患者姓名: {{ patient.name }}</el-tag>
|
|
|
+ <el-tag effect="dark">住院号: {{ patient.inpatientNo }}</el-tag>
|
|
|
+ <el-tag effect="dark">床号: {{ patient.bedNo }}</el-tag>
|
|
|
+ <el-tag effect="dark">住院次数: {{ patient.admissTimes }}</el-tag>
|
|
|
+ <el-tag effect="dark">性别: {{ cptSex(patient.sex) }}</el-tag>
|
|
|
住院号: <el-input v-model="inpatientNo" size="mini" style="width: 100px" clearable placeholder="住院号"></el-input>
|
|
|
<el-button size="mini" type="primary" icon="el-icon-search" @click="chaXunHuanZheXinXi">查询患者信息</el-button>
|
|
|
<el-button size="mini" type="warning" style="margin-left: 20px" icon="el-icon-close" @click="guanBiDialog">关闭</el-button>
|
|
|
</el-header>
|
|
|
<el-container>
|
|
|
<el-main>
|
|
|
- <el-tabs v-model="xmlrTabs" style="margin-bottom: 10px">
|
|
|
+ <el-tabs v-model="xmlrTabs" style="margin-top: 11px">
|
|
|
<el-tab-pane label="已录入项目" name="ylrxm">
|
|
|
- 项目名称:<el-select v-model="patient.chargeCode" size="mini" remote filterable clearable :remote-method="remoteMethodChargeCode">
|
|
|
+ 项目名称:<el-select
|
|
|
+ v-model="patient.chargeCode"
|
|
|
+ size="mini"
|
|
|
+ remote
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ @blur="patient.chargeCode = $event.target.value.trim()"
|
|
|
+ :remote-method="remoteMethodChargeCode"
|
|
|
+ >
|
|
|
<el-option v-for="item in chargeCodeNameData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
<span>{{ item.name }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- 录入日期:<el-date-picker type="date" placeholder="选择日期" size="mini" style="width: 120px" v-model="patient.startTime"></el-date-picker> 退费:<el-select
|
|
|
- v-model="patient.tuiFeiFlag"
|
|
|
- style="width: 120px"
|
|
|
+ 录入日期:<el-date-picker
|
|
|
+ type="daterange"
|
|
|
+ v-model="dateRange"
|
|
|
+ placeholder="选择日期"
|
|
|
+ size="mini"
|
|
|
+ style="width: 280px"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :shortcuts="shortcuts"
|
|
|
+ ></el-date-picker>
|
|
|
+ <el-button
|
|
|
size="mini"
|
|
|
- @change="tuiFeiZhuangTaiChaKan"
|
|
|
+ @click="riQiPaiXu === 'DESC' ? (riQiPaiXu = 'ASC') : (riQiPaiXu = 'DESC')"
|
|
|
+ type="success"
|
|
|
+ :icon="riQiPaiXu === 'DESC' ? 'el-icon-caret-bottom' : 'el-icon-caret-top'"
|
|
|
+ >{{ riQiPaiXu === 'DESC' ? '日期降序' : '日期升序' }}</el-button
|
|
|
>
|
|
|
- <el-option :key="0" :value="0" label="全部"></el-option>
|
|
|
- <el-option :key="1" :value="1" label="未退费"></el-option>
|
|
|
- <el-option :key="3" :value="3" label="已退费"></el-option>
|
|
|
+ <el-select style="width: 100px" size="mini" v-model="feiYongLeiXingCode">
|
|
|
+ <el-option v-for="item in feiYongLeiXing" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
- 费用类型:<el-select v-model="patient.orderNo" style="width: 120px" size="mini" @change="queryFeiYong">
|
|
|
- <el-option :key="0" :value="0" label="护士录入"></el-option>
|
|
|
- <el-option :key="1" :value="1" label="医嘱"></el-option>
|
|
|
- <el-option :key="3" :value="3" label="医技"></el-option>
|
|
|
- <el-option :key="4" :value="4" label="全部"></el-option>
|
|
|
+ <el-select v-model="patient.orderNo" style="width: 120px" size="mini" @change="queryFeiYong">
|
|
|
+ <el-option v-for="item in yiZhuTuiFeiLeiXing" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
- <el-button size="mini" type="primary" @click="queryXiangMu" icon="el-icon-search">查询</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="shuaXinFeiYong" icon="el-icon-refresh-left">刷新费用</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="queryFeiYong" icon="el-icon-search">查询</el-button>
|
|
|
<el-button size="mini" type="danger" @click="xiangMuTuiFeiClick" icon="el-icon-delete-solid">退费</el-button>
|
|
|
- <el-table
|
|
|
- :height="tableHeight"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- :data="cptTableDataHuanZheFeiYong.slice((patient.currentPage - 1) * patient.pageSize, patient.currentPage * patient.pageSize)"
|
|
|
- stripe
|
|
|
- highlight-current-row
|
|
|
- >
|
|
|
- <el-table-column type="selection"></el-table-column>
|
|
|
+ <el-table :height="tableHeight" @selection-change="handleSelectionChange" :data="cptTableDataHuanZheFeiYong" stripe highlight-current-row class="eltable">
|
|
|
+ <el-table-column type="selection" style="width: 100px"> </el-table-column>
|
|
|
<el-table-column label="流水号" prop="detailSn" width="70px"></el-table-column>
|
|
|
<el-table-column prop="chargeDate" label="录入日期" width="80px"></el-table-column>
|
|
|
- <el-table-column prop="chargeCode" label="项目编码"></el-table-column>
|
|
|
+ <el-table-column prop="chargeCodeMx" label="项目编码"></el-table-column>
|
|
|
<el-table-column prop="chargeName" label="项目名称"></el-table-column>
|
|
|
<el-table-column prop="drugname" label="药品名称"></el-table-column>
|
|
|
<el-table-column prop="execDept" label="执行科室"></el-table-column>
|
|
@@ -68,9 +85,9 @@
|
|
|
<template #default="scope">
|
|
|
<span v-if="scope.row.tuiFeiFlag === 1" style="color: red"
|
|
|
>已退费 <br />
|
|
|
- <span v-if="scope.row.oriDetailSn !== null" style="color: red"
|
|
|
+ <span v-if="scope.row.oriDetailSn !== null" style="color: teal"
|
|
|
>原流水号 <br />
|
|
|
- {{ scope.row.oriDetailSn }}</span
|
|
|
+ 【{{ scope.row.oriDetailSn }}】</span
|
|
|
>
|
|
|
</span>
|
|
|
</template>
|
|
@@ -91,41 +108,7 @@
|
|
|
<el-tab-pane label="项目录入" name="xmlr" v-if="panDuanSFTongGuoBingShiJinRu">
|
|
|
<el-row>
|
|
|
<el-col :span="3">
|
|
|
- <el-table :height="tableHeight + 20" :data="muBanData.slice((muBanCurrentPage - 1) * muBanPageSize, muBanCurrentPage * muBanPageSize)">
|
|
|
- <el-table-column label="模板名称" prop="name" width="120px">
|
|
|
- <!-- 店家激发弹出框 -->
|
|
|
- <template #default="scope">
|
|
|
- <el-popover placement="right" trigger="click" :width="600">
|
|
|
- <template #reference>
|
|
|
- <el-button type="text" @click="getMuBanXinXiClick(scope.row)">{{ scope.row.name }}</el-button>
|
|
|
- </template>
|
|
|
- <!-- 这里是弹出框中的数据 -->
|
|
|
- <el-table :height="tableHeight" :data="muBanXiangQing" @selection-change="xuanZeXiangMuTable">
|
|
|
- <el-table-column type="selection"></el-table-column>
|
|
|
- <el-table-column label="项目名称" prop="chargeName"></el-table-column>
|
|
|
- <el-table-column label="单价" prop="chargeAmount"></el-table-column>
|
|
|
- <el-table-column label="数量" prop="amount"></el-table-column>
|
|
|
- <el-table-column label="金额">
|
|
|
- <template #default="scope">
|
|
|
- {{ (scope.row.chargeAmount * scope.row.amount).toFixed(2) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="编码" prop="chargeCode"></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination
|
|
|
- @current-change="muBanHandleCurrentChange"
|
|
|
- :current-page="muBanCurrentPage"
|
|
|
- :page-size="muBanPageSize"
|
|
|
- layout=" prev, pager, next,total"
|
|
|
- :total="muBanData.length"
|
|
|
- style="margin-top: 5px"
|
|
|
- :pager-count="5"
|
|
|
- small
|
|
|
- ></el-pagination>
|
|
|
+ <HuoQuMuBan @selectionFeiYong="xuanZeXiangMuTable"></HuoQuMuBan>
|
|
|
</el-col>
|
|
|
<el-col :span="20" :offset="1">
|
|
|
<el-row>
|
|
@@ -133,17 +116,25 @@
|
|
|
<el-button type="warning" size="mini" icon="el-icon-star-off" @click="baoCunMuBanDialog = true">存模板</el-button>
|
|
|
<el-button type="primary" size="mini" @click="shangChuanXiangMu" icon="el-icon-upload">保存</el-button>
|
|
|
<el-button type="success" size="mini" icon="el-icon-plus" @click="xinZhengXiangMuDialog = true">新增</el-button>
|
|
|
+ <el-select style="width: 180px; margin: 0px 10px 0px 10px" v-model="zhiXingKeShi" size="mini" filterable>
|
|
|
+ <el-option v-for="item in deptData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
+ <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <span>{{ item.name }}</span></el-option
|
|
|
+ >
|
|
|
+ </el-select>
|
|
|
+ <el-button type="warning" size="mini" icon="el-icon-edit" @click="xieGaiZhiXingKeShi">修改执行科室</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<!-- 这个下面查看录入的项目 -->
|
|
|
- <el-table :data="muBanNeiRongData" :height="tableHeight - 27" style="margin-top: 10px" stripe highlight-current-row>
|
|
|
+ <el-table :data="muBanNeiRongData" :height="tableHeight - 27" class="eltable" style="margin-top: 10px" stripe highlight-current-row>
|
|
|
<el-table-column label="录入信息">
|
|
|
<el-table-column label="录入时间">
|
|
|
<template #default>
|
|
|
{{ getDatetime(new Date()) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="项目编码" prop="chargeCode"></el-table-column>
|
|
|
+ <el-table-column label="项目编码" prop="chargeCodeMx"></el-table-column>
|
|
|
<el-table-column label="名称" prop="chargeName"></el-table-column>
|
|
|
<el-table-column label="执行科室" prop="deptCode">
|
|
|
<template #default="scope">
|
|
@@ -160,7 +151,7 @@
|
|
|
<el-table-column label="数量" prop="amount">
|
|
|
<template #default="scope">
|
|
|
<!--precision 限制输入的精度 0 就是不带任何一位小数点 -->
|
|
|
- <el-input-number v-model="scope.row.amount" size="mini" :min="1" :precision="1"></el-input-number>
|
|
|
+ <el-input-number v-model="scope.row.amount" size="mini" :min="0" :precision="1"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
@@ -216,8 +207,8 @@
|
|
|
<el-button size="mini" type="success" @click="danGeXiangMuBaoCun">保存</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-table :data="danGeLuRuXiangMu">
|
|
|
- <el-table-column label="项目代码" prop="chargeCode"></el-table-column>
|
|
|
+ <el-table :data="danGeLuRuXiangMu" class="eltable">
|
|
|
+ <el-table-column label="项目代码" prop="chargeCodeMx"></el-table-column>
|
|
|
<el-table-column label="项目名称" prop="chargeName"></el-table-column>
|
|
|
<el-table-column label="规格" prop="spec"></el-table-column>
|
|
|
<el-table-column label="执行科室" prop="deptCode">
|
|
@@ -252,7 +243,6 @@
|
|
|
<el-col :span="24"> 模板名称:<el-input size="mini" v-model="cunMuBanPojo.name" maxlength="15" @blur="zhuanPinYin" show-word-limit></el-input> </el-col>
|
|
|
<el-col :span="12"> 拼音码:<el-input size="mini" v-model="cunMuBanPojo.pyCode" maxlength="8" show-word-limit></el-input> </el-col>
|
|
|
<el-col :span="12"> 五笔码:<el-input size="mini" v-model="cunMuBanPojo.dcode" maxlength="8" show-word-limit></el-input> </el-col>
|
|
|
- <!-- <el-col :span="12"> 排序码:<el-input size="mini" v-model="cunMuBanPojo.paiXu" maxlength="7" show-word-limit></el-input> </el-col> -->
|
|
|
<el-col :span="12"> 创建科室:<el-input size="mini" v-model="cunMuBanPojo.dept" disabled></el-input> </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-button size="mini" style="margin-top: 10px" icon="el-icon-upload" type="primary" @click="baoCunMuBan">保存</el-button>
|
|
@@ -268,18 +258,32 @@
|
|
|
import { computed, onMounted, ref, watch } from 'vue'
|
|
|
import store from '@/store'
|
|
|
import { cptSex } from '@/utils/computed'
|
|
|
-import { getChargeCode, getHuanZheFeiYong, getMuBan, getMuBanXinXi, xiangMuTuiFei, queryDanGeXiangMu, xiangMuFeiYongShangChuan, shangChuanMuBan } from '@/api/yibao/xiang-mu-lu-ru'
|
|
|
+import { shortcuts } from '@/data/shortcuts'
|
|
|
+import {
|
|
|
+ getChargeCode,
|
|
|
+ getHuanZheFeiYong,
|
|
|
+ getMuBan,
|
|
|
+ getMuBanXinXi,
|
|
|
+ xiangMuTuiFei,
|
|
|
+ queryDanGeXiangMu,
|
|
|
+ xiangMuFeiYongShangChuan,
|
|
|
+ shangChuanMuBan,
|
|
|
+ shanChuMuBan,
|
|
|
+ getDept,
|
|
|
+ getPyCode,
|
|
|
+} from '@/api/yibao/xiang-mu-lu-ru'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import { costState } from '@/utils/computed'
|
|
|
import Cookie from 'js-cookie'
|
|
|
-import { formatDate, getDatetime } from '@/utils/date'
|
|
|
-import { getWard } from '@/api/yz-data-mod/yz-temperature-modify'
|
|
|
+import { getDatetime } from '@/utils/date'
|
|
|
import { clone } from '@/utils/clone'
|
|
|
-import { getWb, getPy } from '@/utils/pingyin'
|
|
|
import { getPatientInfo } from '@/api/yibao/patient'
|
|
|
+import { yiZhuTuiFeiLeiXing, feiYongLeiXing } from '@/data/index'
|
|
|
+import HuoQuMuBan from '@/components/med-tec-mod/HuoQuMuBan.vue'
|
|
|
+import { getDateRangeFormatDate } from '@/utils/date'
|
|
|
import { baseinfo } from '@/data/inpatient'
|
|
|
-
|
|
|
export default {
|
|
|
+ components: { HuoQuMuBan },
|
|
|
props: {
|
|
|
init: {
|
|
|
type: Number,
|
|
@@ -291,8 +295,13 @@ export default {
|
|
|
const tableHeight = windowSize.h - 170
|
|
|
// 默认选中已录入项目
|
|
|
const xmlrTabs = ref('ylrxm')
|
|
|
-
|
|
|
const inpatientNo = ref('')
|
|
|
+ const zhiXingKeShi = ref('')
|
|
|
+ const dateRange = ref(shortcuts[2].value)
|
|
|
+ // DESC 降 ASC 升
|
|
|
+ const riQiPaiXu = ref('DESC')
|
|
|
+
|
|
|
+ const feiYongLeiXingCode = ref(0)
|
|
|
|
|
|
/**
|
|
|
* 录入费用 表格
|
|
@@ -314,7 +323,7 @@ export default {
|
|
|
getMuBan(Cookie.get('dept')).then((res) => {
|
|
|
muBanData.value = res
|
|
|
})
|
|
|
- getWard().then((res) => {
|
|
|
+ getDept().then((res) => {
|
|
|
deptData.value = res
|
|
|
})
|
|
|
}
|
|
@@ -358,7 +367,7 @@ export default {
|
|
|
patient.value.currentPage = 1
|
|
|
patient.value.pageSize = 40
|
|
|
patient.value.total = 0
|
|
|
- patient.value.tuiFeiFlag = 0
|
|
|
+ patient.value.orderNo = 0
|
|
|
patient.value.deptCode = Cookie.get('dept')
|
|
|
queryFeiYong()
|
|
|
if (patient.value.ward === Cookie.get('dept')) {
|
|
@@ -377,27 +386,48 @@ export default {
|
|
|
* 查询
|
|
|
*/
|
|
|
const queryFeiYong = () => {
|
|
|
- if (typeof patient.value.startTime !== 'undefined') {
|
|
|
- if (patient.value.startTime !== null) {
|
|
|
- patient.value.startTime = formatDate(patient.value.startTime)
|
|
|
- }
|
|
|
- }
|
|
|
- getHuanZheFeiYong(patient.value).then((res) => {
|
|
|
- tableDataHuanZheFeiYong.value = res
|
|
|
- cptTableDataHuanZheFeiYong.value = res
|
|
|
- patient.value.total = cptTableDataHuanZheFeiYong.value.length
|
|
|
- tuiFeiZhuangTaiChaKan(patient.value.tuiFeiFlag)
|
|
|
- if (patient.value.admissWard === Cookie.get('dept')) {
|
|
|
- panDuanSFTongGuoBingShiJinRu.value = true
|
|
|
- }
|
|
|
- })
|
|
|
+ let dateR = getDateRangeFormatDate(dateRange.value)
|
|
|
+ patient.value.startTime = dateR.stratTime
|
|
|
+ patient.value.endTime = dateR.endTime
|
|
|
+ patient.value.riQiPaiXu = riQiPaiXu.value
|
|
|
+ patient.value.feiYongLeiXingCode = feiYongLeiXingCode.value
|
|
|
+ patient.value.currentPage = 1
|
|
|
+ getHuanZheFeiYong(patient.value)
|
|
|
+ .then((res) => {
|
|
|
+ tableDataHuanZheFeiYong.value = res
|
|
|
+ cptTableDataHuanZheFeiYong.value = res.records
|
|
|
+ patient.value.total = res.total
|
|
|
+ if (patient.value.admissWard === Cookie.get('dept')) {
|
|
|
+ panDuanSFTongGuoBingShiJinRu.value = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ tableDataHuanZheFeiYong.value = []
|
|
|
+ cptTableDataHuanZheFeiYong.value = []
|
|
|
+ patient.value.total = 0
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 点击查询 费用
|
|
|
- */
|
|
|
- const queryXiangMu = () => {
|
|
|
- queryFeiYong()
|
|
|
+ const handleQueryFeiYong = () => {
|
|
|
+ let dateR = getDateRangeFormatDate(dateRange.value)
|
|
|
+ patient.value.startTime = dateR.stratTime
|
|
|
+ patient.value.endTime = dateR.endTime
|
|
|
+ patient.value.riQiPaiXu = riQiPaiXu.value
|
|
|
+ patient.value.feiYongLeiXingCode = feiYongLeiXingCode.value
|
|
|
+ getHuanZheFeiYong(patient.value)
|
|
|
+ .then((res) => {
|
|
|
+ tableDataHuanZheFeiYong.value = res
|
|
|
+ cptTableDataHuanZheFeiYong.value = res.records
|
|
|
+ patient.value.total = res.total
|
|
|
+ if (patient.value.admissWard === Cookie.get('dept')) {
|
|
|
+ panDuanSFTongGuoBingShiJinRu.value = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ tableDataHuanZheFeiYong.value = []
|
|
|
+ cptTableDataHuanZheFeiYong.value = []
|
|
|
+ patient.value.total = 0
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -407,12 +437,12 @@ export default {
|
|
|
let query = {
|
|
|
inpatientNo: patient.value.inpatientNo,
|
|
|
admissTimes: patient.value.admissTimes,
|
|
|
+ orderNo: patient.value.orderNo,
|
|
|
}
|
|
|
getHuanZheFeiYong(query).then((res) => {
|
|
|
tableDataHuanZheFeiYong.value = res
|
|
|
cptTableDataHuanZheFeiYong.value = res
|
|
|
patient.value.total = cptTableDataHuanZheFeiYong.value.length
|
|
|
- tuiFeiZhuangTaiChaKan(patient.value.tuiFeiFlag)
|
|
|
})
|
|
|
}
|
|
|
/**
|
|
@@ -420,10 +450,12 @@ export default {
|
|
|
*/
|
|
|
const handleSizeChange = (val) => {
|
|
|
patient.value.pageSize = val
|
|
|
+ handleQueryFeiYong()
|
|
|
}
|
|
|
|
|
|
const handleCurrentChange = (val) => {
|
|
|
patient.value.currentPage = val
|
|
|
+ handleQueryFeiYong()
|
|
|
}
|
|
|
/**
|
|
|
* 获取项目名称
|
|
@@ -450,37 +482,28 @@ export default {
|
|
|
/** */
|
|
|
const cptTableDataHuanZheFeiYong = ref([])
|
|
|
|
|
|
- /** 查看退费的状态 */
|
|
|
- const tuiFeiZhuangTaiChaKan = (val) => {
|
|
|
- cptTableDataHuanZheFeiYong.value = []
|
|
|
- if (val == 0) {
|
|
|
- cptTableDataHuanZheFeiYong.value = tableDataHuanZheFeiYong.value
|
|
|
- } else if (val === 1) {
|
|
|
- tableDataHuanZheFeiYong.value.filter((item) => {
|
|
|
- if (item.tuiFeiFlag !== 1) {
|
|
|
- cptTableDataHuanZheFeiYong.value.push(item)
|
|
|
- }
|
|
|
- })
|
|
|
- } else if (val === 3) {
|
|
|
- tableDataHuanZheFeiYong.value.filter((item) => {
|
|
|
- if (item.tuiFeiFlag === 1) {
|
|
|
- cptTableDataHuanZheFeiYong.value.push(item)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- patient.value.total = cptTableDataHuanZheFeiYong.value.length
|
|
|
- }
|
|
|
/**
|
|
|
* 项目退费
|
|
|
*/
|
|
|
const xiangMuTuiFeiClick = () => {
|
|
|
if (typeof patient.value.list !== 'undefined') {
|
|
|
+ let chargeFee = 0
|
|
|
+ let chargeAmount = 0
|
|
|
+ for (let i = 0; i < patient.value.list.length; i++) {
|
|
|
+ chargeAmount += patient.value.list[i].chargeAmount
|
|
|
+ chargeFee += patient.value.list[i].chargeFee
|
|
|
+ }
|
|
|
if (patient.value.list.length > 0) {
|
|
|
- ElMessageBox.confirm('共【' + patient.value.list.length + '】条退费数据', '请认真核对', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning',
|
|
|
- })
|
|
|
+ ElMessageBox.confirm(
|
|
|
+ `退费数量为:<span style='color:red'>【${chargeAmount}】</span> ,总价格为:<span style='color:#E6A23C'>【${chargeFee.toFixed(2)}】</span>`,
|
|
|
+ '请认真核对',
|
|
|
+ {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ }
|
|
|
+ )
|
|
|
.then(() => {
|
|
|
xiangMuTuiFei(patient.value).then((res) => {
|
|
|
queryFeiYong()
|
|
@@ -517,9 +540,10 @@ export default {
|
|
|
const muBanNeiRongData = ref([])
|
|
|
// 保存 code 不要重复添加
|
|
|
let muBanCode = []
|
|
|
- const xuanZeXiangMuTable = (val) => {
|
|
|
+ const xuanZeXiangMuTable = (param) => {
|
|
|
+ let val = param.val
|
|
|
for (let i = 0; i < val.length; i++) {
|
|
|
- let code = val[i].chargeCode
|
|
|
+ let code = val[i].chargeCodeMx
|
|
|
if (muBanCode.indexOf(code) === -1) {
|
|
|
muBanCode.push(code)
|
|
|
val[i].deptCode = patient.value.zkWard
|
|
@@ -570,7 +594,7 @@ export default {
|
|
|
*/
|
|
|
const rmChargePyCode = (val) => {
|
|
|
if (val.length >= 2) {
|
|
|
- queryDanGeXiangMu(val).then((res) => {
|
|
|
+ queryDanGeXiangMu(val, 0).then((res) => {
|
|
|
xiangMuData.value = res
|
|
|
})
|
|
|
}
|
|
@@ -603,7 +627,7 @@ export default {
|
|
|
*/
|
|
|
const danGeXiangMuBaoCun = () => {
|
|
|
for (let i = 0; i < muBanNeiRongData.value.length; i++) {
|
|
|
- if (muBanNeiRongData.value[i].chargeCode === danGeLuRuXiangMu.value[0].chargeCode) {
|
|
|
+ if (muBanNeiRongData.value[i].chargeCodeMx === danGeLuRuXiangMu.value[0].chargeCodeMx) {
|
|
|
ElMessage.error({
|
|
|
message: '已存在相同项目请勿重复添加',
|
|
|
showClose: true,
|
|
@@ -611,7 +635,7 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- muBanCode.push(clone(danGeLuRuXiangMu.value[0].chargeCode))
|
|
|
+ muBanCode.push(clone(danGeLuRuXiangMu.value[0].chargeCodeMx))
|
|
|
muBanNeiRongData.value.push(clone(danGeLuRuXiangMu.value[0]))
|
|
|
danGeLuRuXiangMu.value = []
|
|
|
chargePyCode.value = ''
|
|
@@ -643,7 +667,9 @@ export default {
|
|
|
dept: patient.value.admissDept,
|
|
|
zySerialNo: patient.value.zySerialNo,
|
|
|
ward: patient.value.zkWard,
|
|
|
+ referPhysician: patient.value.referPhysician,
|
|
|
list: muBanNeiRongData.value,
|
|
|
+ orderNo: 0,
|
|
|
}
|
|
|
// 在此处上传
|
|
|
ElMessageBox.confirm('共上传【' + muBanNeiRongData.value.length + '】条', '请认真核对', {
|
|
@@ -689,7 +715,6 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
cunMuBanPojo.value.list = clone(muBanNeiRongData.value)
|
|
|
-
|
|
|
// 开始上传
|
|
|
shangChuanMuBan(cunMuBanPojo.value).then(() => {
|
|
|
cunMuBanPojo.value = {}
|
|
@@ -698,8 +723,10 @@ export default {
|
|
|
|
|
|
// 获取到保存模板的拼音码和五笔码
|
|
|
const zhuanPinYin = () => {
|
|
|
- cunMuBanPojo.value.pyCode = getPy(cunMuBanPojo.value.name)
|
|
|
- cunMuBanPojo.value.dcode = getWb(cunMuBanPojo.value.name)
|
|
|
+ getPyCode(cunMuBanPojo.value.name).then((res) => {
|
|
|
+ cunMuBanPojo.value.pyCode = res.pyCode
|
|
|
+ cunMuBanPojo.value.dcode = res.wbCode
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 上面就是保存的模板信息
|
|
@@ -719,9 +746,9 @@ export default {
|
|
|
patient.value.currentPage = 1
|
|
|
patient.value.pageSize = 40
|
|
|
patient.value.total = 0
|
|
|
- patient.value.tuiFeiFlag = 0
|
|
|
patient.value.orderNo = 0
|
|
|
patient.value.deptCode = Cookie.get('dept')
|
|
|
+ zhiXingKeShi.value = patient.value.zkWard
|
|
|
panDuanSFTongGuoBingShiJinRu.value = true
|
|
|
queryFeiYong()
|
|
|
}
|
|
@@ -729,27 +756,62 @@ export default {
|
|
|
)
|
|
|
|
|
|
onMounted(() => {
|
|
|
+ if (Cookie.get('code') === '02453') {
|
|
|
+ ElMessage.success({
|
|
|
+ message: '阳哥,hello (*^▽^*)',
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ }
|
|
|
if (!baseinfo().inpatientNo) {
|
|
|
+ patient.value.currentPage = 1
|
|
|
+ patient.value.pageSize = 40
|
|
|
+ patient.value.total = 0
|
|
|
+ patient.value.orderNo = 0
|
|
|
+ patient.value.deptCode = Cookie.get('dept')
|
|
|
+ zhiXingKeShi.value = patient.value.zkWard
|
|
|
jinRuPanDuanSFXieDaiHuanZheXinXi()
|
|
|
} else {
|
|
|
patient.value = clone(baseinfo())
|
|
|
patient.value.currentPage = 1
|
|
|
patient.value.pageSize = 40
|
|
|
patient.value.total = 0
|
|
|
- patient.value.tuiFeiFlag = 0
|
|
|
patient.value.orderNo = 0
|
|
|
patient.value.deptCode = Cookie.get('dept')
|
|
|
panDuanSFTongGuoBingShiJinRu.value = true
|
|
|
+ zhiXingKeShi.value = patient.value.zkWard
|
|
|
queryFeiYong()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+ const shanChuMuBanClick = (index, data) => {
|
|
|
+ if (data.opIdCode !== Cookie.get('code')) {
|
|
|
+ ElMessageBox.confirm('该模板非本人创建是否强制删除', '提示', {
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ shanChuMuBan(data.name, data.opIdCode).then((res) => {
|
|
|
+ muBanData.value.splice(index, 1)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(() => {})
|
|
|
+ } else {
|
|
|
+ shanChuMuBan(data.name, data.opIdCode).then((res) => {
|
|
|
+ muBanData.value.splice(index, 1)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const xieGaiZhiXingKeShi = () => {
|
|
|
+ for (let i = 0; i < muBanNeiRongData.value.length; i++) {
|
|
|
+ muBanNeiRongData.value[i].deptCode = zhiXingKeShi.value
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
patient,
|
|
|
cptSex,
|
|
|
xmlrTabs,
|
|
|
tableHeight,
|
|
|
- queryXiangMu,
|
|
|
tableDataHuanZheFeiYong,
|
|
|
handleSizeChange,
|
|
|
handleCurrentChange,
|
|
@@ -782,7 +844,6 @@ export default {
|
|
|
muBanCurrentPage,
|
|
|
muBanPageSize,
|
|
|
muBanHandleCurrentChange,
|
|
|
- tuiFeiZhuangTaiChaKan,
|
|
|
cptTableDataHuanZheFeiYong,
|
|
|
guanBiDialog,
|
|
|
danGeXiangMuCurrentPage,
|
|
@@ -792,6 +853,15 @@ export default {
|
|
|
shuaXinFeiYong,
|
|
|
panDuanSFTongGuoBingShiJinRu,
|
|
|
queryFeiYong,
|
|
|
+ shanChuMuBanClick,
|
|
|
+ yiZhuTuiFeiLeiXing,
|
|
|
+ zhiXingKeShi,
|
|
|
+ xieGaiZhiXingKeShi,
|
|
|
+ dateRange,
|
|
|
+ shortcuts,
|
|
|
+ riQiPaiXu,
|
|
|
+ feiYongLeiXingCode,
|
|
|
+ feiYongLeiXing,
|
|
|
}
|
|
|
},
|
|
|
}
|