|
@@ -1,7 +1,8 @@
|
|
|
<template>
|
|
|
<el-container>
|
|
|
<el-header style="margin-top: 8px">
|
|
|
- <el-input style="width: 160px" placeholder="请输入住院号" clearable v-model.trim="queryTerm.inpatientNo" @keyup.enter="getHuanZheXinXiClick"></el-input>
|
|
|
+ <el-input style="width: 160px" placeholder="请输入住院号" clearable v-model.trim="queryTerm.inpatientNo"
|
|
|
+ @keyup.enter="getHuanZheXinXiClick"></el-input>
|
|
|
<el-select v-model="queryTerm.wardCode" filterable clearable placeholder="请选择病区">
|
|
|
<el-option v-for="item in wardData" :key="item.code" :label="item.name" :value="item.code">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
@@ -13,11 +14,14 @@
|
|
|
<el-button type="primary" icon="el-icon-search" @click="getHuanZheXinXiClick">查询</el-button>
|
|
|
<el-button type="primary" icon="el-icon-refresh-left" @click="getXuQueFeiYiZhuClick">刷新</el-button>
|
|
|
排序:
|
|
|
- <el-select v-model="queryTerm.fenLei" style="width: 100px; margin: auto 10px auto 10px" @change="getHuanZheXinXiClick">
|
|
|
+ <el-select v-model="queryTerm.fenLei" style="width: 100px; margin: auto 10px auto 10px"
|
|
|
+ @change="getHuanZheXinXiClick">
|
|
|
<el-option :value="0" label="病区"></el-option>
|
|
|
<el-option :value="1" label="执行人"></el-option>
|
|
|
</el-select>
|
|
|
- <el-button type="success" @click="baoCunYiZhuQueFeiClick" icon="el-icon-upload" :disabled="queryTerm.liShi === 1">保存</el-button>
|
|
|
+ <el-button type="success" @click="baoCunYiZhuQueFeiClick" icon="el-icon-upload" :disabled="queryTerm.liShi === 1">
|
|
|
+ 保存
|
|
|
+ </el-button>
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
<el-radio-group v-model="queryTerm.liShi" @change="getHuanZheXinXiClick">
|
|
|
<el-radio-button :label="0">未确认</el-radio-button>
|
|
@@ -26,23 +30,25 @@
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
|
<el-button type="warning" @click="chaoZuoZhiNan = true">操作指南</el-button>
|
|
|
<el-date-picker
|
|
|
- type="daterange"
|
|
|
- v-model="dateRange"
|
|
|
- v-if="queryTerm.liShi === 1"
|
|
|
- placeholder="选择日期"
|
|
|
- style="width: 280px"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- :shortcuts="shortcuts"
|
|
|
+ type="daterange"
|
|
|
+ v-model="dateRange"
|
|
|
+ v-if="queryTerm.liShi === 1"
|
|
|
+ placeholder="选择日期"
|
|
|
+ style="width: 280px"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :shortcuts="shortcuts"
|
|
|
></el-date-picker>
|
|
|
</el-header>
|
|
|
<el-main>
|
|
|
- <el-table :data="huanZheYiZhuFeiYongData" :height="winHeight / 1.15" stripe highlight-current-row @cell-click="lingShiQueFeiShuJuClick">
|
|
|
+ <el-table :data="huanZheYiZhuFeiYongData" :height="winHeight / 1.15" stripe highlight-current-row
|
|
|
+ @cell-click="lingShiQueFeiShuJuClick" ref="tableRef">
|
|
|
<el-table-column prop="name" label="姓名" width="90">
|
|
|
<template #default="scope">
|
|
|
- <el-button size="small" :type="scope.row.shiFouYouChuYuanYiZhu === 0 ? 'success' : 'danger'" style="width: 100px"
|
|
|
- ><span style="font-size: 20px">{{ scope.row.name }}</span></el-button
|
|
|
+ <el-button size="small" :type="scope.row.shiFouYouChuYuanYiZhu === 0 ? 'success' : 'danger'"
|
|
|
+ style="width: 100px"
|
|
|
+ ><span style="font-size: 20px">{{ scope.row.name }}</span></el-button
|
|
|
>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -65,21 +71,23 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- background
|
|
|
- @current-change="changeYiZhuQueFei"
|
|
|
- :current-page="queryTerm.currentPage"
|
|
|
- :page-size="queryTerm.pageSize"
|
|
|
- layout=" prev, pager, next,total"
|
|
|
- :total="queryTerm.total"
|
|
|
- style="margin-top: 5px"
|
|
|
- :pager-count="5"
|
|
|
+ background
|
|
|
+ @current-change="changeYiZhuQueFei"
|
|
|
+ :current-page="queryTerm.currentPage"
|
|
|
+ :page-size="queryTerm.pageSize"
|
|
|
+ layout=" prev, pager, next,total"
|
|
|
+ :total="queryTerm.total"
|
|
|
+ style="margin-top: 5px"
|
|
|
+ :pager-count="5"
|
|
|
></el-pagination>
|
|
|
</el-main>
|
|
|
<el-drawer v-model="xiangXiYiZhuXinXiDrawer" direction="ltr" size="700" title="患者医嘱的详细信息">
|
|
|
<div style="margin: auto 20px auto 20px">
|
|
|
<el-descriptions title="患者信息" border>
|
|
|
<template #extra>
|
|
|
- <el-button type="success" @click="baoCunYiZhuQueFeiClick" icon="el-icon-upload" :disabled="queryTerm.liShi === 1">保存</el-button>
|
|
|
+ <el-button type="success" @click="baoCunYiZhuQueFeiClick" icon="el-icon-upload"
|
|
|
+ :disabled="queryTerm.liShi === 1">保存
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
<el-descriptions-item label="住院号">{{ lingShiQueFeiShuJu.inpatientNo }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="姓名">{{ lingShiQueFeiShuJu.name }}</el-descriptions-item>
|
|
@@ -89,13 +97,13 @@
|
|
|
<el-descriptions-item label="病区">{{ lingShiQueFeiShuJu.wardName }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
<el-table
|
|
|
- :data="lingShiQueFeiShuJu.list.slice((lingShiQueFeiShuJu.currentPage - 1) * lingShiQueFeiShuJu.pageSize, lingShiQueFeiShuJu.currentPage * lingShiQueFeiShuJu.pageSize)"
|
|
|
- highlight-current-row
|
|
|
- stripe
|
|
|
- :height="winHeight / 1.3"
|
|
|
+ :data="lingShiQueFeiShuJu.list.slice((lingShiQueFeiShuJu.currentPage - 1) * lingShiQueFeiShuJu.pageSize, lingShiQueFeiShuJu.currentPage * lingShiQueFeiShuJu.pageSize)"
|
|
|
+ highlight-current-row
|
|
|
+ stripe
|
|
|
+ :height="winHeight / 1.3"
|
|
|
>
|
|
|
<el-table-column label="医嘱信息">
|
|
|
- <el-table-column prop="actOrderNo" label="医嘱号"> </el-table-column>
|
|
|
+ <el-table-column prop="actOrderNo" label="医嘱号"></el-table-column>
|
|
|
<el-table-column prop="occTime" label="医嘱日期" width="80"></el-table-column>
|
|
|
<el-table-column prop="chargeCode" label="项目编码"></el-table-column>
|
|
|
<el-table-column prop="chargeName" label="项目名称"></el-table-column>
|
|
@@ -112,9 +120,9 @@
|
|
|
<el-table-column label="操作" :width="queryTerm.liShi === 0 ? 230 : 50">
|
|
|
<template #default="scope">
|
|
|
<el-radio-group
|
|
|
- v-if="queryTerm.liShi === 0"
|
|
|
- v-model="scope.row.chargeStatus"
|
|
|
- :fill="scope.row.chargeStatus === '1' ? '#67C23A' : scope.row.chargeStatus === '2' ? '#F56C6C' : '#909399'"
|
|
|
+ v-if="queryTerm.liShi === 0"
|
|
|
+ v-model="scope.row.chargeStatus"
|
|
|
+ :fill="scope.row.chargeStatus === '1' ? '#67C23A' : scope.row.chargeStatus === '2' ? '#F56C6C' : '#909399'"
|
|
|
>
|
|
|
<el-radio-button label="1">确认</el-radio-button>
|
|
|
<el-radio-button label="2">取消</el-radio-button>
|
|
@@ -126,59 +134,60 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- background
|
|
|
- @current-change="lingShiFanYe"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- :current-page="lingShiQueFeiShuJu.currentPage"
|
|
|
- :page-size="lingShiQueFeiShuJu.pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :page-sizes="[8, 20, 30, 100]"
|
|
|
- :total="lingShiQueFeiShuJu.total"
|
|
|
- style="margin-top: 5px"
|
|
|
- :pager-count="5"
|
|
|
+ background
|
|
|
+ @current-change="lingShiFanYe"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ :current-page="lingShiQueFeiShuJu.currentPage"
|
|
|
+ :page-size="lingShiQueFeiShuJu.pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :page-sizes="[8, 20, 30, 100]"
|
|
|
+ :total="lingShiQueFeiShuJu.total"
|
|
|
+ style="margin-top: 5px"
|
|
|
+ :pager-count="5"
|
|
|
></el-pagination>
|
|
|
</div>
|
|
|
</el-drawer>
|
|
|
<el-dialog v-model="chaoZuoZhiNan" title="操作指南(*^▽^*)" width="1000px">
|
|
|
<div id="jinRiShuJuTuXin" style="width: 100%; height: 300px"></div>
|
|
|
1、输入住院号,点击查询即可查询出该住院患者的信息,同理病区也是一样选择的病区就只会查询该病区的患者,住院号和病区二选一。
|
|
|
- <br />
|
|
|
- <br />
|
|
|
+ <br/>
|
|
|
+ <br/>
|
|
|
2、排序:默认根据病区来排,选择了执行人后会根据算法来把当前登陆的人员,执行过最多的患者来排到靠前的位置。
|
|
|
- <br /><br />
|
|
|
+ <br/><br/>
|
|
|
3、未确认和历史:默认会查询患者未确认的项目,点击历史后一定要选择时间,该时间是医嘱的执行时间,默认会查询当天的时间,(提示选择时间的跨度建议不要过长,可能会导致数据加载慢。)同时查询历史时
|
|
|
也可以使用住院号和病区来查询。
|
|
|
- <br />
|
|
|
- <br />
|
|
|
+ <br/>
|
|
|
+ <br/>
|
|
|
4、患者姓名:有出院医嘱会显示为红色,无则显示绿色。
|
|
|
- <br />
|
|
|
- <br />
|
|
|
+ <br/>
|
|
|
+ <br/>
|
|
|
<span style="color: red">
|
|
|
5、现在无需点击患者姓名,直接点击该栏会弹出抽屉,患者基本信息会显示在上方,请按照需求来选择对应的操作,默认每页显示八条,表格中的分页按钮,跳转至上一页或下一页。
|
|
|
点击抽屉外的任意位置即可消失,或点击保存旁边的关闭按钮。
|
|
|
</span>
|
|
|
- <br /><br />
|
|
|
+ <br/><br/>
|
|
|
6、分页:该分页指页面下方的分页,点击下一页后,且没有点击保存,那么您此前的操作将会丢失,请在分页之前(如果有操作)点击保存(小表格中点击分页不会出现该情况)。
|
|
|
- <br /><br />
|
|
|
+ <br/><br/>
|
|
|
7、保存:在确定数据正确后,点击保存(数据一旦,保存成功就没有回头路了,请认真仔细的确认),<span style="color: red">点击弹出来的抽屉中的保存也是一样的效果。(新增)</span>
|
|
|
- <br /><br />
|
|
|
+ <br/><br/>
|
|
|
8、错误:在点击保存后,系统会自动接受患者的费用,如出错会在右上角,出现提示,可以请对应病区的护士在出院结算页面中点击费用接受重算按钮即可,或在老系统中护士打印费用清单时,会自动接收。
|
|
|
- <br /><br />
|
|
|
+ <br/><br/>
|
|
|
9、如有新的需求或出现未知的意外可联系管理员,如是操作失误后果自负(我觉得我已经写的很详细了,各种提示都有,都是简单的操作,还出现操作失误那就没得办法了) (>ω・* )ノ
|
|
|
</el-dialog>
|
|
|
</el-container>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { onMounted, ref, watch } from 'vue'
|
|
|
-import { getXuQueFeiYiZhu, baoCunYiZhuQueFeiShuJu } from '@/api/zhu-yuan-yi-ji/que-ren-yi-zhu-shou-fei'
|
|
|
-import { getWard } from '@/api/yibao/xiang-mu-lu-ru'
|
|
|
-import { cptSex } from '@/utils/computed'
|
|
|
+import {onMounted, ref, watch} from 'vue'
|
|
|
+import {getXuQueFeiYiZhu, baoCunYiZhuQueFeiShuJu} from '@/api/zhu-yuan-yi-ji/que-ren-yi-zhu-shou-fei'
|
|
|
+import {getWard} from '@/api/yibao/xiang-mu-lu-ru'
|
|
|
+import {cptSex} from '@/utils/computed'
|
|
|
import store from '@/store'
|
|
|
-import { getDate, getDateRangeFormatDate } from '@/utils/date'
|
|
|
-import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
-import { shortcuts } from '@/data/shortcuts'
|
|
|
-import { barUtils } from '@/utils/echarts-utils'
|
|
|
+import {getDate, getDateRangeFormatDate} from '@/utils/date'
|
|
|
+import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
+import {shortcuts} from '@/data/shortcuts'
|
|
|
+import {barUtils} from '@/utils/echarts-utils'
|
|
|
+
|
|
|
export default {
|
|
|
setup() {
|
|
|
const windowSize = store.state.app.windowSize
|
|
@@ -198,7 +207,7 @@ export default {
|
|
|
endTimeString: '',
|
|
|
liShi: 0,
|
|
|
})
|
|
|
-
|
|
|
+ const tableRef = ref(null)
|
|
|
const chaoZuoZhiNan = ref(true)
|
|
|
|
|
|
const xiangXiYiZhuXinXiDrawer = ref(false)
|
|
@@ -211,9 +220,9 @@ export default {
|
|
|
const huanZheYiZhuFeiYongData = ref([])
|
|
|
// 操作
|
|
|
const chargeStatusData = ref([
|
|
|
- { code: '1', name: '确认' },
|
|
|
- { code: '2', name: '取消' },
|
|
|
- { code: '3', name: '不操作' },
|
|
|
+ {code: '1', name: '确认'},
|
|
|
+ {code: '2', name: '取消'},
|
|
|
+ {code: '3', name: '不操作'},
|
|
|
])
|
|
|
|
|
|
const dateRange = ref([new Date(), new Date()])
|
|
@@ -231,16 +240,16 @@ export default {
|
|
|
queryTerm.value.currentPage = 1
|
|
|
queryTerm.value.pageSize = 20
|
|
|
getXuQueFeiYiZhu(queryTerm.value)
|
|
|
- .then((res) => {
|
|
|
- huanZheYiZhuFeiYongData.value = res.records
|
|
|
- queryTerm.value.total = res.total
|
|
|
- lingShiQueFeiShuJu.value = {}
|
|
|
- lingShiQueFeiShuJu.value.list = []
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- huanZheYiZhuFeiYongData.value = []
|
|
|
- queryTerm.value.total = 0
|
|
|
- })
|
|
|
+ .then((res) => {
|
|
|
+ huanZheYiZhuFeiYongData.value = res.records
|
|
|
+ queryTerm.value.total = res.total
|
|
|
+ lingShiQueFeiShuJu.value = {}
|
|
|
+ lingShiQueFeiShuJu.value.list = []
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ huanZheYiZhuFeiYongData.value = []
|
|
|
+ queryTerm.value.total = 0
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -287,6 +296,7 @@ export default {
|
|
|
const changeYiZhuQueFei = (val) => {
|
|
|
queryTerm.value.currentPage = val
|
|
|
getXuQueFeiYiZhu(queryTerm.value).then((res) => {
|
|
|
+ tableRef.value.$refs.bodyWrapper.scrollTop = 0
|
|
|
queryTerm.value.total = res.total
|
|
|
huanZheYiZhuFeiYongData.value = res.records
|
|
|
})
|
|
@@ -315,17 +325,18 @@ export default {
|
|
|
type: 'warning',
|
|
|
dangerouslyUseHTMLString: true,
|
|
|
})
|
|
|
- .then(() => {
|
|
|
- let shaungChuanData = {
|
|
|
- list: huanZheYiZhuFeiYongData.value,
|
|
|
- execUnit: store.state.user.info.deptCode,
|
|
|
- }
|
|
|
- baoCunYiZhuQueFeiShuJu(shaungChuanData).then((res) => {
|
|
|
- xiangXiYiZhuXinXiDrawer.value = false
|
|
|
- getXuQueFeiYiZhuClick()
|
|
|
+ .then(() => {
|
|
|
+ let shaungChuanData = {
|
|
|
+ list: huanZheYiZhuFeiYongData.value,
|
|
|
+ execUnit: store.state.user.info.deptCode,
|
|
|
+ }
|
|
|
+ baoCunYiZhuQueFeiShuJu(shaungChuanData).then((res) => {
|
|
|
+ xiangXiYiZhuXinXiDrawer.value = false
|
|
|
+ getXuQueFeiYiZhuClick()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
})
|
|
|
- })
|
|
|
- .catch(() => {})
|
|
|
}
|
|
|
|
|
|
const lingShiQueFeiShuJu = ref({
|
|
@@ -353,6 +364,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
const lingShiFanYe = (val) => {
|
|
|
+
|
|
|
lingShiQueFeiShuJu.value.currentPage = val
|
|
|
}
|
|
|
|
|
@@ -360,6 +372,7 @@ export default {
|
|
|
lingShiQueFeiShuJu.value.pageSize = val
|
|
|
}
|
|
|
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
getWard().then((res) => {
|
|
|
wardData.value = res
|
|
@@ -394,9 +407,11 @@ export default {
|
|
|
chaoZuoZhiNan,
|
|
|
xiangXiYiZhuXinXiDrawer,
|
|
|
handleSizeChange,
|
|
|
+ tableRef,
|
|
|
}
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
function chaoZuo(val) {
|
|
|
let quXiao = 0
|
|
|
let queRen = 0
|