yuwandanmian пре 2 година
родитељ
комит
4c32f551c4

+ 4 - 0
src/views/allcase/caseIndex.vue

@@ -791,6 +791,9 @@ export default {
       }
     };
   },
+  created() {
+    this.formInline.year = new Date().getFullYear().toString()
+  },
   computed: {
     // 判断是取分子还是分母
     judgeNum() {
@@ -921,6 +924,7 @@ export default {
     // 查询
     onSearch() {
       const { year } = this.formInline;
+      console.log(year)
       if (!year) {
         this.$message.error('请选择查询时间');
         return;

+ 14 - 3
src/views/allcase/caseIndexAnalysis.vue

@@ -329,8 +329,14 @@ export default {
       },
       tableData: [],
       rankData: [],
+      myChart: ''
     };
   },
+  created() {
+    const currentYear = new Date().getFullYear().toString()
+    this.formInline.start_time = new Date(`${currentYear}-01-01 00:00:00`)
+    this.formInline.end_time = new Date()
+  },
   computed: {
     boxWrapperHeight() {
       return this.$route.path === '/embedIndex-home' ? '815px' : '885px'
@@ -339,6 +345,11 @@ export default {
       return this.$route.path === '/embedIndex-home' ? this.menus2 : this.menus
     }
   },
+  activated() {
+    if (this.myChart) {
+      this.myChart.resize();
+    }
+  },
   methods: {
     // 菜单筛选
     filterNode(value, data) {
@@ -394,7 +405,6 @@ export default {
         end_time: end_time ? dateFormat(end_time, 'YYYYMMDD') : ''
       };
       this.$axios2.post('/dep_statistics', params).then(res => {
-        console.log(res.data.data);
         if (Array.isArray(res.data.data)) {
           this.rankData = res.data.data;
         } else {
@@ -419,6 +429,7 @@ export default {
       echarts.init(document.getElementById('myChart1')).dispose();
       // 构建新实例
       let myChart = echarts.init(document.getElementById('myChart1'));
+      this.myChart = myChart
       window.addEventListener('resize', function () {
         myChart.resize();
       });
@@ -497,7 +508,7 @@ export default {
     },
     // 跳转列表页
     toPage(row, status) {
-      const { time } = this.formInline;
+      const { start_time, end_time } = this.formInline;
       let path
       if (this.$route.path === '/embedIndex-home') {
         path = 'embedIndex-caseIndexAnalysisList'
@@ -505,7 +516,7 @@ export default {
         path = '/caseIndexAnalysisList'
       }
       
-      this.$router.push({ path, query: { ruleId: this.ruleId, ruleName: this.ruleName, start: time[0], end: time[1], dep_name: row.dep_name, status } });
+      this.$router.push({ path, query: { ruleId: this.ruleId, ruleName: this.ruleName, start: start_time ? dateFormat(start_time, 'YYYYMMDD') : '', end: end_time ? dateFormat(end_time, 'YYYYMMDD') : '', dep_name: row.dep_name, status } });
     },
   },
 };

+ 7 - 8
src/views/allcase/caseIndexAnalysisList.vue

@@ -26,6 +26,7 @@
   import CaseIndexAnalysisListSearch from './components/CaseIndexAnalysisListSearch.vue'
   import CaseIndexAnalysisListTable from './components/CaseIndexAnalysisListTable.vue'
   import { depBlExport } from '@/api/excel'
+  import { dateFormat } from '@/utils'
 
   export default {
     components : {
@@ -35,9 +36,10 @@
     data() {
       return {
         searchData: {
-          time: [],
           dep_name: '',
           status: '',
+          start_time: '',
+          end_time: ''
         },
         tableData: [],
         paginationData: {
@@ -63,19 +65,16 @@
       },
       getList() {
         const { ruleId } = this.$route.query
-        const { time, dep_name, status } = this.searchData
+        const { dep_name, status, start_time, end_time } = this.searchData
         const { currentPage, pageSize } = this.paginationData
         const params = {
           type: ruleId,
           page: currentPage,
           page_size: pageSize,
           dep_name,
-          status: parseInt(status)
-        }
-        
-        if (time && time.length) {
-          params.start_time = time[0]
-          params.end_time = time[1]
+          status: parseInt(status),
+          start_time: start_time ? dateFormat(start_time, 'YYYYMMDD') : '',
+          end_time: end_time ? dateFormat(end_time, 'YYYYMMDD') : ''
         }
         this.$axios2.post('/dep_bl_list', params).then(res => {
           if (Array.isArray(res.data.data)) {

+ 33 - 23
src/views/allcase/components/CaseIndexAnalysisListSearch.vue

@@ -1,27 +1,22 @@
 <template>
   <div>
     <el-form :inline="true" :model="data" class="demo-form-inline">
-      <el-form-item label="科室">
-        <el-select v-model="data.dep_name" filterable placeholder="请选择">
+      <el-form-item label="">
+        <el-select v-model="data.dep_name" filterable placeholder="请选择科室">
           <el-option v-for="(item, index) of departments" :key="index" :label="item.name" :value="item.name" />
         </el-select>
       </el-form-item>
-      <el-form-item label="状态" style="margin-bottom: 0">
-        <el-select v-model="data.status" clearable placeholder="请选择">
+      <el-form-item label="" style="margin-bottom: 0">
+        <el-select v-model="data.status" clearable placeholder="请选择状态">
           <el-option label="正确" :value="1"></el-option>
           <el-option label="错误" :value="0"></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="出院时间">
-        <el-date-picker
-          v-model="data.time"
-          type="daterange"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-          value-format="yyyyMMdd"
-        />
+      <el-form-item label="">
+        <el-date-picker v-model="data.start_time" type="date" :picker-options="pickerOptions1" placeholder="开始日期"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="">
+        <el-date-picker v-model="data.end_time" type="date" :picker-options="pickerOptions2" placeholder="结束日期"></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" @click="onSubmit">查询</el-button>
@@ -44,18 +39,32 @@
         default() {
           return {
             dep_name: '',
-            time: [],
-            status: ''
+            status: '',
+            start_time: '',
+            end_time: ''
           }
         }
       }
     },
     data() {
       return {
-        pickerOptions: {
-          disabledDate(time) {
-            return time.getTime() > Date.now()
-          }
+        pickerOptions1: {
+          disabledDate: time => {
+            if (this.data.end_time) {
+              return time.getTime() > new Date(this.data.end_time).getTime();
+            } else {
+              return time.getTime() > Date.now();
+            }
+          },
+        },
+        pickerOptions2: {
+          disabledDate: time => {
+            if (this.data.start_time) {
+              return time.getTime() < new Date(this.data.start_time).getTime();
+            } else {
+              return time.getTime() > Date.now();
+            }
+          },
         },
         departments: []
       }
@@ -64,18 +73,19 @@
       await this.getDeportmentList()
       const { dep_name, start, end, status } = this.$route.query
       this.data.dep_name = dep_name
-      this.data.time = [start, end]
+      this.data.start_time = start
+      this.data.end_time = end
       this.data.status = status ? parseInt(status) : ''
       this.onSubmit()
     },
     methods: {
       onReset() {
         this.data.status = ''
-        this.data.time = []
+        this.data.start_time = ''
+        this.data.end_time = ''
         this.$emit('search')
       },
       onSubmit() {
-        console.log(this.data.status)
         this.$emit('search')
       },
       getDeportmentList() {