Prechádzať zdrojové kódy

Merge branch 'master' into 'master'

修改科室医生下拉搜索

See merge request lighter/vue-intergration-platform!9
huangshuhua 3 rokov pred
rodič
commit
7aba7e053e

+ 19 - 0
src/api/medical-insurance/si-yb-util.js

@@ -0,0 +1,19 @@
+import request from '../../utils/request'
+
+// 查询下拉小科室
+export function selectSmallDept(data) {
+    return request({
+        url: '/ybUtil/selectSmallDept',
+        method: 'post',
+        data,
+    })
+}
+
+// 查询下拉医生
+export function selectDoctor(data) {
+    return request({
+        url: '/ybUtil/selectDoctor',
+        method: 'post',
+        data,
+    })
+}

+ 72 - 16
src/views/medical-insurance/allpatient/InsurIncomeAnalysis.vue

@@ -105,15 +105,34 @@
             <BarChart :ybkf="barChangeData" />
           </el-dialog>
           <el-dialog v-model="treeChart" :close-on-click-modal="false" title="人数树状图" width="70%" top="40px" draggable>
-            <!-- <TreeChart /> -->
             <div style="height: 35px">
-              <el-input v-model="deptNo" clearable style="width: 220px" class="w-50 m-2">
+              <el-autocomplete
+                v-model="deptNo"
+                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-input>
-              <el-input v-model="doctorId" clearable style="width: 220px" class="w-50 m-2">
+              </el-autocomplete>
+              <el-autocomplete
+                v-model="doctorId"
+                value-key="name"
+                :fetch-suggestions="querySearchDoctor"
+                :trigger-on-focus="false"
+                clearable
+                class="inline-input w-50 m-2"
+                style="width: 240px"
+                placeholder="请输入关键字"
+                @select="handleSelect"
+              >
                 <template #prepend>管床医生</template>
-              </el-input>
-              <el-input v-model="insurCode" clearable style="width: 220px" class="w-50 m-2">
+              </el-autocomplete>
+              <el-input v-model="insurCode" clearable style="width: 240px" class="w-50 m-2">
                 <template #prepend>医保类别</template>
               </el-input>
               <el-divider direction="vertical"></el-divider>
@@ -171,7 +190,6 @@
       </el-tabs>
     </el-main>
     <el-drawer :title="titleChart" v-model="qxtDrawer" size="80%">
-      <!-- <div style="width: 100%; height: 90%" id="ybChart"></div> -->
       <el-main>
         <el-row :gutter="10">
           <el-col :span="6">
@@ -188,13 +206,6 @@
           </el-col>
         </el-row>
         <el-row :gutter="10">
-          <!-- <el-form-item label="汇总项">
-            <el-select v-model="pieChartData.selectPie" class="m-2" placeholder="请选择">
-              <el-option label="住院人次" value="1"></el-option>
-              <el-option label="住院天数" value="2"></el-option>
-              <el-option label="总费用" value="3"></el-option>
-            </el-select>
-          </el-form-item> -->
           <el-col :span="8">
             <div style="width: 100%; height: 400px" id="rcpie"></div>
           </el-col>
@@ -223,7 +234,7 @@ import { downloadExcel } from '@/utils/excel'
 import { pieUtilsOne, barUtilsTwo, barUtilsThree, treeChartRoot } from '@/utils/echarts-utils'
 import Setlinfo from '../../../components/medical-insurance/setlinfo/Index.vue'
 import BarChart from '../../../components/medical-insurance/ybkf/BarChart.vue'
-// import TreeChart from '../../../components/medical-insurance/ybkf/TreeChart.vue'
+import { selectSmallDept, selectDoctor } from '@/api/medical-insurance/si-yb-util'
 
 export default {
   components: {
@@ -300,11 +311,52 @@ export default {
         })
     }
 
+    const querySearchDept = async (str, cb) => {
+      let results = await selectSmallDept({ str })
+      if (results) {
+        // 调用 callback 返回建议列表的数据
+        cb(results)
+      }
+    }
+
+    const querySearchDoctor = async (str, cb) => {
+      let results = await selectDoctor({ str })
+      if (results) {
+        // 调用 callback 返回建议列表的数据
+        cb(results)
+      }
+    }
+
+    const handleSelect = (item) => {
+    }
+
     const treeChart = ref(false)
     const treeData = ref([])
     const showTreeChart = (val) => {
-      treeChart.value = true
+      if (setlCondition.setlType === '11') {
+        ElMessage({
+          message: '门诊不参与统计!',
+          type: 'warning',
+          duration: 2500,
+          showClose: true,
+        })
+        treeChart.value = false
+        return
+      }
+
       let selectData = clone(setlCondition)
+      if (!selectData.startTime) {
+        ElMessage({
+          message: '请选择时间范围!',
+          type: 'warning',
+          duration: 2500,
+          showClose: true,
+        })
+        treeChart.value = false
+        return
+      }
+      treeChart.value = true
+
       selectTreeData(selectData).then((res) => {
         treeData.value = res
         deptNo.value = ''
@@ -1045,6 +1097,7 @@ export default {
     onMounted(() => {
       // 初始化数据
       setlCondition.selectType = 'first'
+      deptNo.value = ''
     })
 
     return {
@@ -1077,6 +1130,9 @@ export default {
       showTreeChart,
       selectTreeChart,
       selectChart,
+      handleSelect,
+      querySearchDept,
+      querySearchDoctor,
       handleClose,
       cancelForm,
       getSummaries1,