|
@@ -22,19 +22,16 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-header height="36px" style="margin-top: 8px">
|
|
|
- 日期范围:
|
|
|
<el-date-picker
|
|
|
- v-model="dateRange"
|
|
|
- type="daterange"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- :shortcuts="shortcuts"
|
|
|
- style="width: 260px"
|
|
|
+ v-model="dateRange"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :shortcuts="shortcuts"
|
|
|
+ style="width: 220px"
|
|
|
></el-date-picker>
|
|
|
- 医疗类别:
|
|
|
- <el-select v-model="selectedMedtypes" style="width: 180px" multiple clearable collapse-tags
|
|
|
- placeholder="不选默认为全部类别">
|
|
|
+ <el-select v-model="selectedMedtypes" style="width: 150px" multiple clearable collapse-tags placeholder="不选则为全部类别">
|
|
|
<el-option v-for="item in medtypes" :key="item.code" :label="item.name" :value="item.code"></el-option>
|
|
|
</el-select>
|
|
|
<el-divider direction="vertical"></el-divider>
|
|
@@ -50,14 +47,14 @@
|
|
|
</el-input>
|
|
|
<div style="height: 4px"></div>
|
|
|
<el-tree
|
|
|
- ref="tree"
|
|
|
- :data="templates"
|
|
|
- :props="defaultProps"
|
|
|
- @node-click="handleNodeClick"
|
|
|
- @node-contextmenu="handleNodeRightClick"
|
|
|
- :style="{ height: treeHeight + 'px', overflowY: 'scroll' }"
|
|
|
- :filter-node-method="filterNode"
|
|
|
- highlight-current
|
|
|
+ ref="tree"
|
|
|
+ :data="templates"
|
|
|
+ :props="defaultProps"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
+ @node-contextmenu="handleNodeRightClick"
|
|
|
+ :style="{ height: treeHeight + 'px', overflowY: 'scroll' }"
|
|
|
+ :filter-node-method="filterNode"
|
|
|
+ highlight-current
|
|
|
>
|
|
|
<template #default="{ node }">
|
|
|
<span class="custom-tree-node">{{ node.label }}</span>
|
|
@@ -65,8 +62,7 @@
|
|
|
</el-tree>
|
|
|
</el-aside>
|
|
|
<el-main>
|
|
|
- <el-table :data="targetData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe
|
|
|
- :height="treeHeight">
|
|
|
+ <el-table :data="targetData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe :height="treeHeight">
|
|
|
<el-table-column prop="name" label="姓名" width="50"></el-table-column>
|
|
|
<el-table-column prop="inpatientNo" label="住院号"></el-table-column>
|
|
|
<el-table-column prop="admissTimes" label="次数" width="50"></el-table-column>
|
|
@@ -99,14 +95,14 @@
|
|
|
<el-table-column prop="conflictChargeAmount" label="冲突收费数量" v-if="nowAttribute === 1"></el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="currentPage"
|
|
|
- :page-sizes="[15, 30, 45, 70, 100]"
|
|
|
- :page-size="pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="targetData.length"
|
|
|
- style="margin-top: 5px"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ :page-sizes="[15, 30, 45, 70, 100]"
|
|
|
+ :page-size="pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="targetData.length"
|
|
|
+ style="margin-top: 5px"
|
|
|
></el-pagination>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
@@ -131,12 +127,13 @@
|
|
|
<el-radio v-model="searchMethod" label="alpha">首拼</el-radio>
|
|
|
<el-radio v-model="searchMethod" label="code">编码</el-radio>
|
|
|
<el-radio v-model="searchMethod" label="name">名称</el-radio>
|
|
|
+ <el-divider direction="vertical"></el-divider>
|
|
|
+ <el-checkbox v-model="includeDeactivate" style="margin-left: 16px">包含停用内容</el-checkbox>
|
|
|
)
|
|
|
</div>
|
|
|
<el-row :gutter="5">
|
|
|
<el-col :span="12">
|
|
|
- <el-autocomplete v-model="mainCharge" :fetch-suggestions="fetchChargeItem" placeholder="请输入内容" clearable
|
|
|
- @select="handleSelectMainCharge">
|
|
|
+ <el-autocomplete v-model="mainCharge" :fetch-suggestions="fetchChargeItem" placeholder="请输入内容" clearable @select="handleSelectMainCharge">
|
|
|
<template #prepend>收费主体</template>
|
|
|
<template #default="{ item }">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
@@ -155,8 +152,7 @@
|
|
|
</el-table>
|
|
|
</el-col>
|
|
|
<el-col :span="12" v-show="currentTemplate.attribute === 1">
|
|
|
- <el-autocomplete v-model="conflictCharge" :fetch-suggestions="fetchChargeItem" placeholder="请输入内容"
|
|
|
- clearable @select="handleSelectConflictCharge">
|
|
|
+ <el-autocomplete v-model="conflictCharge" :fetch-suggestions="fetchChargeItem" placeholder="请输入内容" clearable @select="handleSelectConflictCharge">
|
|
|
<template #prepend>冲突收费</template>
|
|
|
<template #default="{ item }">
|
|
|
<span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
|
|
@@ -169,8 +165,7 @@
|
|
|
<el-table-column prop="name" label="收费名称"></el-table-column>
|
|
|
<el-table-column label="操作">
|
|
|
<template #default="scope">
|
|
|
- <el-button type="text" icon="el-icon-delete" @click="removeConflictCharge(scope.$index)">删除
|
|
|
- </el-button>
|
|
|
+ <el-button type="text" icon="el-icon-delete" @click="removeConflictCharge(scope.$index)">删除 </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -195,9 +190,9 @@
|
|
|
<el-dialog v-model="ruYuanJianGeDialog" title="查询入院间隔" width="1200px">
|
|
|
<el-button type="primary" icon="el-icon-upload" @click="exportExcelHuanZhe">导出Excel</el-button>
|
|
|
<el-table
|
|
|
- :data="huoQuHuanZheShuJu.slice((queryHuanZhe.currentPage - 1) * queryHuanZhe.pageSize, queryHuanZhe.currentPage * queryHuanZhe.pageSize)"
|
|
|
- stripe
|
|
|
- :height="treeHeight - 200"
|
|
|
+ :data="huoQuHuanZheShuJu.slice((queryHuanZhe.currentPage - 1) * queryHuanZhe.pageSize, queryHuanZhe.currentPage * queryHuanZhe.pageSize)"
|
|
|
+ stripe
|
|
|
+ :height="treeHeight - 200"
|
|
|
>
|
|
|
<el-table-column label="姓名" prop="name"></el-table-column>
|
|
|
<el-table-column label="住院号" prop="inpatientNo"></el-table-column>
|
|
@@ -211,14 +206,14 @@
|
|
|
<el-table-column label="医保类型" prop="responceTypeName"></el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
- @size-change="handleSizeChangeHuanZhe"
|
|
|
- @current-change="handleCurrentChangeHuanZhe"
|
|
|
- :current-page="queryHuanZhe.currentPage"
|
|
|
- :page-sizes="[20, 30, 40, 50, 100]"
|
|
|
- :page-size="queryHuanZhe.pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="huoQuHuanZheShuJu.length"
|
|
|
- style="margin-top: 5px"
|
|
|
+ @size-change="handleSizeChangeHuanZhe"
|
|
|
+ @current-change="handleCurrentChangeHuanZhe"
|
|
|
+ :current-page="queryHuanZhe.currentPage"
|
|
|
+ :page-sizes="[20, 30, 40, 50, 100]"
|
|
|
+ :page-size="queryHuanZhe.pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="huoQuHuanZheShuJu.length"
|
|
|
+ style="margin-top: 5px"
|
|
|
></el-pagination>
|
|
|
</el-dialog>
|
|
|
<el-dialog v-model="showOrders" title="医嘱详情" width="60%">
|
|
@@ -238,10 +233,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {ref} from 'vue'
|
|
|
+import { ref } from 'vue'
|
|
|
import store from '@/store'
|
|
|
-import {onMounted, watchEffect} from 'vue'
|
|
|
-import {ElMessage, ElMessageBox} from 'element-plus'
|
|
|
+import { onMounted, watchEffect } from 'vue'
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import {
|
|
|
analyzeTargetData,
|
|
|
deleteChosenTemplate,
|
|
@@ -252,14 +247,14 @@ import {
|
|
|
searchChargeItem,
|
|
|
selectOrderPair,
|
|
|
} from '@/api/reports/illegal-charges-analysis'
|
|
|
-import {shortcuts} from '@/data/shortcuts'
|
|
|
-import {getGreatestRole} from '@/utils/permission'
|
|
|
-import {formatDate, getDateRangeFormatDate} from '@/utils/date'
|
|
|
-import {createWorkSheet, writeExcelFile} from '@/utils/excel'
|
|
|
-import HuanZheZhuYuanTianShu from "../../components/reports/huanZheZhuYuanTianShu.vue";
|
|
|
+import { shortcuts } from '@/data/shortcuts'
|
|
|
+import { getGreatestRole } from '@/utils/permission'
|
|
|
+import { formatDate, getDateRangeFormatDate } from '@/utils/date'
|
|
|
+import { createWorkSheet, writeExcelFile } from '@/utils/excel'
|
|
|
+import HuanZheZhuYuanTianShu from '../../components/reports/huanZheZhuYuanTianShu.vue'
|
|
|
|
|
|
export default {
|
|
|
- components: {HuanZheZhuYuanTianShu},
|
|
|
+ components: { HuanZheZhuYuanTianShu },
|
|
|
setup() {
|
|
|
const medtypes = initMedtypes()
|
|
|
const selectedMedtypes = ref([])
|
|
@@ -270,6 +265,7 @@ export default {
|
|
|
const templateSearch = ref('')
|
|
|
const showOrders = ref(false)
|
|
|
const orders = ref([])
|
|
|
+ const includeDeactivate = ref(false)
|
|
|
watchEffect(() => {
|
|
|
if (templateSearch.value !== null) {
|
|
|
if (tree.value) {
|
|
@@ -321,7 +317,7 @@ export default {
|
|
|
confirmButtonText: '添加',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|
|
|
- }).then(({value}) => {
|
|
|
+ }).then(({ value }) => {
|
|
|
const parentId = rightClickData.value.id
|
|
|
const childrenLength = rightClickData.value.children.length
|
|
|
const template = {
|
|
@@ -384,7 +380,7 @@ export default {
|
|
|
mainCharges: [],
|
|
|
conflictCharges: [],
|
|
|
maxChargeNum: null,
|
|
|
- maxChargeUnit: 'day'
|
|
|
+ maxChargeUnit: 'day',
|
|
|
})
|
|
|
const editTemplateRule = () => {
|
|
|
if (!rightClickData.value.parent) {
|
|
@@ -396,7 +392,7 @@ export default {
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
- currentTemplate.value = {...rightClickData.value}
|
|
|
+ currentTemplate.value = { ...rightClickData.value }
|
|
|
showEditRule.value = true
|
|
|
}
|
|
|
|
|
@@ -411,6 +407,7 @@ export default {
|
|
|
const param = {
|
|
|
method: searchMethod.value,
|
|
|
content: queryString,
|
|
|
+ includeDeactivate: includeDeactivate.value,
|
|
|
}
|
|
|
searchChargeItem(param).then((res) => {
|
|
|
cb(res)
|
|
@@ -451,7 +448,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
saveTemplateChanges(currentTemplate.value).then(() => {
|
|
|
- rightClickNode.value.data = {...currentTemplate.value}
|
|
|
+ rightClickNode.value.data = { ...currentTemplate.value }
|
|
|
ElMessage({
|
|
|
message: '保存成功。',
|
|
|
type: 'success',
|
|
@@ -638,6 +635,7 @@ export default {
|
|
|
return {
|
|
|
medtypes,
|
|
|
selectedMedtypes,
|
|
|
+ includeDeactivate,
|
|
|
treeHeight,
|
|
|
tree,
|
|
|
templateSearch,
|
|
@@ -694,13 +692,13 @@ function initMedtypes() {
|
|
|
// { code: '04', name: '新农合' },
|
|
|
// { code: '09', name: '市城职医保' },
|
|
|
// { code: '10', name: '省医保-异地' },
|
|
|
- {code: '2101', name: '普通住院'},
|
|
|
- {code: '2102', name: '单病种住院'},
|
|
|
- {code: '2106', name: '生育平产(居民)'},
|
|
|
- {code: '2107', name: '生育剖宫产(居民)'},
|
|
|
- {code: '22', name: '外伤住院'},
|
|
|
- {code: '52', name: '生育住院(职工)'},
|
|
|
- {code: '42', name: '工伤住院'},
|
|
|
+ { code: '2101', name: '普通住院' },
|
|
|
+ { code: '2102', name: '单病种住院' },
|
|
|
+ { code: '2106', name: '生育平产(居民)' },
|
|
|
+ { code: '2107', name: '生育剖宫产(居民)' },
|
|
|
+ { code: '22', name: '外伤住院' },
|
|
|
+ { code: '52', name: '生育住院(职工)' },
|
|
|
+ { code: '42', name: '工伤住院' },
|
|
|
]
|
|
|
}
|
|
|
</script>
|
|
@@ -765,4 +763,11 @@ function initMedtypes() {
|
|
|
font-weight: bold;
|
|
|
padding: 8px 0;
|
|
|
}
|
|
|
+
|
|
|
+:deep(.edit-line-title .el-radio__label) {
|
|
|
+ padding-left: 6px;
|
|
|
+}
|
|
|
+:deep(.edit-line-title .el-radio) {
|
|
|
+ margin-right: 16px;
|
|
|
+}
|
|
|
</style>
|