Bladeren bron

添加违规费用分析中患者的医保身份

DESKTOP-MINPJAU\Administrator 3 jaren geleden
bovenliggende
commit
3ce772be61

+ 26 - 25
src/components/reports/huanZheZhuYuanTianShu.vue

@@ -2,13 +2,13 @@
   <el-button @click="dialog = true">患者住院天数</el-button>
   <el-dialog v-model="dialog" title="患者住院天数">
     <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: 260px"
     ></el-date-picker>
     <el-input-number v-model="tianShu" :precision="0" @keyup.enter="dianJiChaXun"></el-input-number>
     <el-divider direction="vertical"></el-divider>
@@ -16,8 +16,8 @@
     <el-divider direction="vertical"></el-divider>
     <el-button type="primary" icon="el-icon-upload" @click="exportExcelHuanZhe">导出Excel</el-button>
     <el-table
-      :data="huanZheShuJu.data.slice((huanZheShuJu.currentPage - 1) * huanZheShuJu.pageSize, huanZheShuJu.pageSize * huanZheShuJu.currentPage)"
-      :height="windowSize.h / 2.1"
+        :data="huanZheShuJu.data.slice((huanZheShuJu.currentPage - 1) * huanZheShuJu.pageSize, huanZheShuJu.pageSize * huanZheShuJu.currentPage)"
+        :height="windowSize.h / 2.1"
     >
       <el-table-column prop="inpatientNo" label="住院号"></el-table-column>
       <el-table-column prop="name" label="姓名"></el-table-column>
@@ -25,27 +25,28 @@
       <el-table-column prop="admissDate" label="住院时间" width="70"></el-table-column>
       <el-table-column prop="disDate" label="出院时间" width="70"></el-table-column>
       <el-table-column prop="differDate" label="住院天数"></el-table-column>
+      <el-table-column prop="responceTypeName" label="医保类型"></el-table-column>
     </el-table>
     <el-pagination
-      :page-size="huanZheShuJu.pageSize"
-      layout="total,  prev, pager, next"
-      :total="huanZheShuJu.data.length"
-      @current-change="handleCurrentChange"
-      :current-page="huanZheShuJu.currentPage"
+        :page-size="huanZheShuJu.pageSize"
+        layout="total,  prev, pager, next"
+        :total="huanZheShuJu.data.length"
+        @current-change="handleCurrentChange"
+        :current-page="huanZheShuJu.currentPage"
     >
     </el-pagination>
   </el-dialog>
 </template>
 
 <script>
-import { computed, ref, watch } from 'vue'
-import { shortcuts } from '@/data/shortcuts'
-import { chaXunHuanZheZhuYuanJianGe } from '../../api/reports/illegal-charges-analysis'
-import { getDateRangeFormatDate } from '../../utils/date'
-import { stringIsBlank } from '../../utils/blank-utils'
-import { ElMessage } from 'element-plus'
+import {computed, ref, watch} from 'vue'
+import {shortcuts} from '@/data/shortcuts'
+import {chaXunHuanZheZhuYuanJianGe} from '../../api/reports/illegal-charges-analysis'
+import {getDateRangeFormatDate} from '../../utils/date'
+import {stringIsBlank} from '../../utils/blank-utils'
+import {ElMessage} from 'element-plus'
 import store from '../../store'
-import { ExcelName } from '../../utils/ExportExcel'
+import {ExcelName} from '../../utils/ExportExcel'
 
 export default {
   props: {
@@ -96,10 +97,10 @@ export default {
     }
 
     watch(
-      () => props.dateRange,
-      () => {
-        dateRange.value = props.dateRange
-      }
+        () => props.dateRange,
+        () => {
+          dateRange.value = props.dateRange
+        }
     )
 
     return {

+ 2 - 3
src/utils/xckeydown.js

@@ -1,15 +1,14 @@
 let registerShortcuts = null
-let shortcutFunction = null
 
 export const xcHotKey = (keyList) => {
     registerShortcuts = keyList
-    shortcutFunction = document.onkeydown = function (event) {
+    document.onkeydown = function (event) {
         shortcutTrigger(event)
     }
 }
 
 export const logoutShortcut = () => {
-    shortcutFunction = null
+    document.onkeydown = null
 }
 
 /**

+ 34 - 6
src/views/medical-insurance/allpatient/SetlStatistics.vue

@@ -118,10 +118,24 @@
         <el-table-column label="结算日期" prop="setlTime"></el-table-column>
         <el-table-column label="现金支付" prop="psnCashPay"></el-table-column>
         <el-table-column label="统筹支付" prop="fundPaySumamt"></el-table-column>
-        <el-table-column label="医疗费总额" prop="medfeeSumamt"></el-table-column>
-        <el-table-column label="上传返回流水" prop="setlListId"></el-table-column>
+        <el-table-column label="公务员补助" prop="cvlservPay"></el-table-column>
         <el-table-column label="大病支出" prop="hifmiPay"></el-table-column>
-        <el-table-column label="医疗救助" prop="mafPay"></el-table-column>
+        <el-table-column label="医疗总费用" prop="totalMedicalExpenses"></el-table-column>
+        <el-table-column label="全自费金额" prop="fulamtOwnpayAmt"></el-table-column>
+        <el-table-column label="超限价自费费用" prop="overlmtSelfpay"></el-table-column>
+        <el-table-column label="先行自付金额" prop="preselfpayAmt"></el-table-column>
+        <el-table-column label="符合政策范围金额" prop="inscpScpAmt"></el-table-column>
+        <el-table-column label="实际支付起付线" prop="actPayDedc"></el-table-column>
+        <el-table-column label="基本医疗保险统筹基金支出" prop="hifpPay"></el-table-column>
+        <el-table-column label="企业补充医疗保险基金支出" prop="hifesPay"></el-table-column>
+        <el-table-column label="职工大额医疗费用补助基金支出" prop="hifobPay"></el-table-column>
+        <el-table-column label="医疗救助基金支出" prop="mafPay"></el-table-column>
+        <el-table-column label="医院负担金额" prop="hospPartAmt"></el-table-column>
+        <el-table-column label="其他支出" prop="othPay"></el-table-column>
+        <el-table-column label="个人负担总金额" prop="psnPartAmt"></el-table-column>
+        <el-table-column label="个人账户支出" prop="acctPay"></el-table-column>
+        <el-table-column label="个人账户共济支付金额" prop="acctMulaidPay"></el-table-column>
+        <el-table-column label="上传返回流水" prop="setlListId"></el-table-column>
       </el-table>
       <el-pagination
           :current-page="jieSuanDanCurrentPage"
@@ -397,10 +411,24 @@ export default {
         setlTime: '结算日期',
         psnCashPay: '现金支付',
         fundPaySumamt: '统筹支付',
-        medfeeSumamt: '医疗费总额',
-        setlListId: '上传返回流水',
+        cvlservPay: '公务员补助',
         hifmiPay: '大病支出',
-        mafPay: '医疗救助',
+        totalMedicalExpenses: '医疗总费用',
+        fulamtOwnpayAmt: '全自费金额',
+        overlmtSelfpay: '超限价自费费用',
+        preselfpayAmt: '先行自付金额',
+        inscpScpAmt: '符合政策范围金额',
+        actPayDedc: '实际支付起付线',
+        hifpPay: '基本医疗保险统筹基金支出',
+        hifesPay: '企业补充医疗保险基金支出',
+        hifobPay: '职工大额医疗费用补助基金支出',
+        mafPay: '医疗救助基金支出',
+        hospPartAmt: '医院负担金额',
+        othPay: '其他支出',
+        psnPartAmt: '个人负担总金额',
+        acctPay: '个人账户支出',
+        acctMulaidPay: '个人账户共济支付金额',
+        setlListId: '上传返回流水',
       }
       ExcelName(cptShangChuanJieSuanDanData.value, title)
     }

+ 63 - 57
src/views/reports/IllegalChargesAnalysis.vue

@@ -23,15 +23,16 @@
     </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: 220px"
+          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: 150px" 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>
@@ -47,14 +48,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>
@@ -62,7 +63,8 @@
         </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>
@@ -95,14 +97,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>
@@ -133,7 +135,8 @@
           </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>
@@ -152,7 +155,8 @@
               </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>
@@ -165,7 +169,8 @@
                 <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>
@@ -190,9 +195,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>
@@ -206,14 +211,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%">
@@ -233,10 +238,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,
@@ -247,14 +252,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 {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([])
@@ -317,7 +322,7 @@ export default {
         confirmButtonText: '添加',
         cancelButtonText: '取消',
         type: 'warning',
-      }).then(({ value }) => {
+      }).then(({value}) => {
         const parentId = rightClickData.value.id
         const childrenLength = rightClickData.value.children.length
         const template = {
@@ -392,7 +397,7 @@ export default {
         })
         return
       }
-      currentTemplate.value = { ...rightClickData.value }
+      currentTemplate.value = {...rightClickData.value}
       showEditRule.value = true
     }
 
@@ -448,7 +453,7 @@ export default {
       }
 
       saveTemplateChanges(currentTemplate.value).then(() => {
-        rightClickNode.value.data = { ...currentTemplate.value }
+        rightClickNode.value.data = {...currentTemplate.value}
         ElMessage({
           message: '保存成功。',
           type: 'success',
@@ -692,13 +697,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>
@@ -767,6 +772,7 @@ function initMedtypes() {
 :deep(.edit-line-title .el-radio__label) {
   padding-left: 6px;
 }
+
 :deep(.edit-line-title .el-radio) {
   margin-right: 16px;
 }