Просмотр исходного кода

Merge branch 'master' into 'master'

新增市医保出院测算

See merge request lighter/vue-intergration-platform!15
huangshuhua 3 лет назад
Родитель
Сommit
0359e94afd
2 измененных файлов с 78 добавлено и 20 удалено
  1. 9 0
      src/api/ybkf/yb-cssybtj.js
  2. 69 20
      src/views/medical-insurance/statistical/CssybCsTj.vue

+ 9 - 0
src/api/ybkf/yb-cssybtj.js

@@ -9,6 +9,15 @@ export function selectCssYbJsTj(data) {
     })
 }
 
+// 查询长沙市医保测算信息
+export function selectCssYbCsTj(data) {
+    return request({
+        url: '/cssYbTj/selectCssYbCsTj',
+        method: 'post',
+        data,
+    })
+}
+
 // 查询长沙市医保结算信息-医生
 export function selectYsJsTj(data) {
     return request({

+ 69 - 20
src/views/medical-insurance/statistical/CssybCsTj.vue

@@ -2,12 +2,25 @@
   <el-container>
     <el-header height="35px" style="margin-top: 10px">
       <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :shortcuts="shortcuts"> </el-date-picker>
+      <el-autocomplete
+        v-model="dept"
+        value-key="name"
+        :fetch-suggestions="querySearchDept"
+        :trigger-on-focus="false"
+        clearable
+        class="inline-input w-50 m-2"
+        style="width: 240px"
+        placeholder="请输入关键字"
+        @select="handleSelect"
+      >
+        <template #prepend>科室</template>
+      </el-autocomplete>
+      <el-input v-model="zyh" style="width: 240px" clearable placeholder="请输入住院号"><template #prepend>住院号</template></el-input>
       <el-select v-model="insurId" style="width: 200px" clearable>
         <el-option label="长沙市城职普通住院" value="1"></el-option>
         <el-option label="长沙市城居普通住院" value="2"></el-option>
       </el-select>
       <el-button type="primary" icon="Search" @click="query" style="margin-left: 5px">查询</el-button>
-      <!-- <el-button type="primary" v-if="returnData.length > 0" icon="Download" @click="exportExcel">导出excel </el-button> -->
     </el-header>
     <el-main>
       <el-table
@@ -18,11 +31,11 @@
         show-summary
         :summary-method="getSummaries"
       >
-        <el-table-column fixed prop="deptName" label="科室" width="100"></el-table-column>
-        <el-table-column fixed prop="doctor" label="医生" width="80" align="center"></el-table-column>
-        <el-table-column prop="zyh" label="住院号" width="80" align="center"></el-table-column>
+        <el-table-column fixed prop="cyks" label="科室" width="130"></el-table-column>
+        <el-table-column fixed prop="zyh" label="住院号" width="80" align="center"></el-table-column>
+        <el-table-column prop="doctor" label="医生" width="80" align="center"></el-table-column>
         <el-table-column prop="xm" label="姓名" width="80" align="center"></el-table-column>
-        <el-table-column prop="yblx" label="险种" width="100" align="center"></el-table-column>
+        <el-table-column prop="yblx" label="险种" width="120" align="center"></el-table-column>
         <el-table-column prop="zfy" label="总费用" width="100" align="right" sortable></el-table-column>
         <el-table-column prop="yjzf" label="预计支付" width="100" align="right" sortable></el-table-column>
         <el-table-column prop="tczf" label="统筹支付" width="100" align="right" sortable></el-table-column>
@@ -33,8 +46,8 @@
           </template>
         </el-table-column>
         <el-table-column prop="bxbl" label="报销比例(%)" width="100" align="right" sortable></el-table-column>
-        <el-table-column prop="zfz" label="总分值" width="100" align="right" sortable></el-table-column>
-        <el-table-column prop="zlfs" label="治疗方式" width="100" align="left"></el-table-column>
+        <el-table-column prop="score" label="分值" width="100" align="right" sortable></el-table-column>
+        <el-table-column prop="zlfs" label="治疗方式" width="130" align="left"></el-table-column>
         <el-table-column prop="sblx" label="申报类型" width="100" align="left"></el-table-column>
         <el-table-column prop="zdmc" label="主要诊断" width="200" align="left" show-overflow-tooltip>
           <template #default="scope"> {{ scope.row.zdmc }}<span>(</span>{{ scope.row.zdbm }}<span>)</span> </template>
@@ -44,6 +57,8 @@
             <span v-if="scope.row.ssmc">{{ scope.row.ssmc }}<span>(</span>{{ scope.row.ssbm }}<span>)</span></span>
           </template>
         </el-table-column>
+        <el-table-column prop="ryks" label="入院科室" width="130"></el-table-column>
+        <el-table-column prop="cyks" label="出院科室" width="130"></el-table-column>
         <el-table-column prop="jssj" label="结算时间" width="140" align="center"></el-table-column>
       </el-table>
     </el-main>
@@ -63,28 +78,42 @@
 </template>
 <script>
 import { reactive, ref } from '@vue/reactivity'
-import { shortcuts, seltYearAndNowLast } from '@/data/shortcuts'
+import { shortcuts, clockinShortcuts } from '@/data/shortcuts'
 import { onMounted } from 'vue'
 import { formatDate, getDateRangeFormatDate } from '@/utils/date'
+import { selectSmallDept } from '@/api/medical-insurance/si-yb-util'
+import { selectCssYbCsTj } from '@/api/ybkf/yb-cssybtj'
 import { ElMessage } from 'element-plus'
 import store from '@/store'
 
 export default {
   setup() {
     const windowSize = store.state.app.windowSize
-    const tableHeight = windowSize.h / 1.2
+    const tableHeight = windowSize.h / 1.15
+
+    let start = formatDate(clockinShortcuts[0].value[0])
+    let end = formatDate(clockinShortcuts[0].value[1])
 
-    const start = formatDate(seltYearAndNowLast[1].value[0])
-    const end = formatDate(seltYearAndNowLast[1].value[1])
+    const handleSelect = (item) => {}
+
+    const querySearchDept = async (str, cb) => {
+      let results = await selectSmallDept({ str })
+      if (results) {
+        // 调用 callback 返回建议列表的数据
+        cb(results)
+      }
+    }
 
     const insurId = ref('')
+    const dept = ref('')
+    const zyh = ref('')
 
     const queryTerm = reactive({
       startTime: '',
       endTime: '',
       insurName: '',
-      deptId: '',
-      doctorId: '',
+      dept: '',
+      zyh: '',
     })
     onMounted(() => {
       queryTerm.startTime = start
@@ -120,13 +149,29 @@ export default {
           showClose: true,
         })
       }
-      // selectCssYbCsTj(queryTerm)
-      //   .then((res) => {
-      //     returnData.value = res
-      //   })
-      //   .catch(() => {
-      //     returnData.value = []
-      //   })
+
+      queryTerm.insurName = filterInsurName()
+      queryTerm.dept = dept.value
+      queryTerm.zyh = zyh.value
+
+      selectCssYbCsTj(queryTerm)
+        .then((res) => {
+          returnData.value = res
+        })
+        .catch(() => {
+          returnData.value = []
+        })
+      returnData.value = []
+    }
+
+    const filterInsurName = () => {
+      if (insurId.value == '1') {
+        return '长沙市城职普通住院'
+      } else if (insurId.value == '2') {
+        return '长沙市城居普通住院'
+      } else {
+        return ''
+      }
     }
 
     let sum = {}
@@ -187,6 +232,8 @@ export default {
       dateRange,
       shortcuts,
       insurId,
+      dept,
+      zyh,
       tableHeight,
       queryTerm,
       returnData,
@@ -194,6 +241,8 @@ export default {
       currentPage,
       getSummaries,
       query,
+      handleSelect,
+      querySearchDept,
       handleSizeChange,
       handleCurrentChange,
     }