浏览代码

修改 bugfix

yuwandanmian 2 年之前
父节点
当前提交
77efc07627
共有 3 个文件被更改,包括 53 次插入50 次删除
  1. 1 0
      package.json
  2. 13 0
      src/utils/index.js
  3. 39 50
      src/views/allcase/caseIndexAnalysis.vue

+ 1 - 0
package.json

@@ -20,6 +20,7 @@
     "el-table-infinite-scroll": "^1.0.11",
     "el-table-infinite-scroll": "^1.0.11",
     "element-ui": "2.15.13",
     "element-ui": "2.15.13",
     "js-cookie": "2.2.0",
     "js-cookie": "2.2.0",
+    "moment": "^2.29.1",
     "normalize.css": "7.0.0",
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
     "path-to-regexp": "2.4.0",

+ 13 - 0
src/utils/index.js

@@ -2,6 +2,19 @@
  * Created by PanJiaChen on 16/11/18.
  * Created by PanJiaChen on 16/11/18.
  */
  */
 
 
+import moment from 'moment'
+
+// 时间格式化处理
+export function dateFormat(date, formatType = 'YYYY-MM-DD HH:mm:ss') {
+  let result
+  if (date) {
+    result = moment(date).locale('zh-cn').format(formatType)
+  } else {
+    result = '--'
+  }
+  return result
+}
+
 /**
 /**
  * Parse the time to string
  * Parse the time to string
  * @param {(Object|string|number)} time
  * @param {(Object|string|number)} time

+ 39 - 50
src/views/allcase/caseIndexAnalysis.vue

@@ -26,20 +26,10 @@
         <div class="box_wrapper">
         <div class="box_wrapper">
           <el-form :inline="true" :model="formInline" class="demo-form-inline">
           <el-form :inline="true" :model="formInline" class="demo-form-inline">
             <el-form-item label="">
             <el-form-item label="">
-              <el-date-picker
-                v-model="formInline.start_time"
-                type="date"
-                :picker-options="pickerOptions1"
-                placeholder="开始日期">
-            </el-date-picker>
+              <el-date-picker v-model="formInline.start_time" type="date" :picker-options="pickerOptions1" placeholder="开始日期"></el-date-picker>
             </el-form-item>
             </el-form-item>
             <el-form-item label="">
             <el-form-item label="">
-              <el-date-picker
-                v-model="formInline.end_time"
-                type="date"
-                :picker-options="pickerOptions2"
-                placeholder="结束日期">
-            </el-date-picker>
+              <el-date-picker v-model="formInline.end_time" type="date" :picker-options="pickerOptions2" placeholder="结束日期"></el-date-picker>
               <!-- <el-date-picker
               <!-- <el-date-picker
                 v-model="formInline.time"
                 v-model="formInline.time"
                 type="daterange"
                 type="daterange"
@@ -56,8 +46,8 @@
           </el-form>
           </el-form>
           <!-- 排名柱状图 -->
           <!-- 排名柱状图 -->
           <div class="rank-box">
           <div class="rank-box">
-            <Title :title="'Top 10'" style="margin-bottom: 0;" />
-            <div v-if="rankData.length" id="myChart1" style="width: 100%; height: 400px;"></div>
+            <Title :title="'Top 10'" style="margin-bottom: 0" />
+            <div v-if="rankData.length" id="myChart1" style="width: 100%; height: 400px"></div>
             <el-empty v-else description="暂无排名数据"></el-empty>
             <el-empty v-else description="暂无排名数据"></el-empty>
           </div>
           </div>
           <div class="table-box">
           <div class="table-box">
@@ -94,9 +84,11 @@
 <script>
 <script>
 import * as echarts from 'echarts';
 import * as echarts from 'echarts';
 import Title from '@/components/Title';
 import Title from '@/components/Title';
+import { dateFormat } from '@/utils'
+
 export default {
 export default {
   components: {
   components: {
-    Title
+    Title,
   },
   },
   data() {
   data() {
     return {
     return {
@@ -234,30 +226,30 @@ export default {
       ruleId: '',
       ruleId: '',
       ruleName: '--',
       ruleName: '--',
       pickerOptions1: {
       pickerOptions1: {
-        disabledDate: (time) => {
+        disabledDate: time => {
           if (this.formInline.end_time) {
           if (this.formInline.end_time) {
             return time.getTime() > new Date(this.formInline.end_time).getTime();
             return time.getTime() > new Date(this.formInline.end_time).getTime();
           } else {
           } else {
-            return time.getTime() > Date.now()
+            return time.getTime() > Date.now();
           }
           }
-        }
+        },
       },
       },
       pickerOptions2: {
       pickerOptions2: {
-        disabledDate: (time) => {
+        disabledDate: time => {
           if (this.formInline.start_time) {
           if (this.formInline.start_time) {
             return time.getTime() < new Date(this.formInline.start_time).getTime();
             return time.getTime() < new Date(this.formInline.start_time).getTime();
           } else {
           } else {
-            return time.getTime() > Date.now()
+            return time.getTime() > Date.now();
           }
           }
-        }
+        },
       },
       },
       formInline: {
       formInline: {
         time: '',
         time: '',
         start_time: '',
         start_time: '',
-        end_time: ''
+        end_time: '',
       },
       },
       tableData: [],
       tableData: [],
-      rankData: []
+      rankData: [],
     };
     };
   },
   },
   methods: {
   methods: {
@@ -272,32 +264,30 @@ export default {
       if (id > 10) {
       if (id > 10) {
         this.ruleId = id;
         this.ruleId = id;
         this.ruleName = name.split('、')[1];
         this.ruleName = name.split('、')[1];
-      }
-      if (id > 10 && this.formInline.time.length) {
-        this.getList()
-        this.getRankList()
+        this.getList();
+        this.getRankList();
       }
       }
     },
     },
     // 搜索
     // 搜索
     onSearch() {
     onSearch() {
-      if (this.ruleId && this.formInline.start_time && this.formInline.end_time) {
-        this.getList()
-        this.getRankList()
+      if (this.ruleId) {
+        this.getList();
+        this.getRankList();
       } else {
       } else {
-        this.$message.error('请完善指标和出院时间!')
+        this.$message.error('请完善指标和出院时间!');
       }
       }
     },
     },
     // 获取科室排名
     // 获取科室排名
     getList() {
     getList() {
-      const { start_time, end_time } = this.formInline
+      const { start_time, end_time } = this.formInline;
       const params = {
       const params = {
         type: this.ruleId,
         type: this.ruleId,
         page: 1,
         page: 1,
         page_size: 1000,
         page_size: 1000,
-        start_time,
-        end_time
-      }
-      
+        start_time: start_time ? dateFormat(start_time, 'YYYYMMDD') : '',
+        end_time: end_time ? dateFormat(end_time, 'YYYYMMDD') : ''
+      };
+
       this.$axios2.post('/dep_statistics', params).then(res => {
       this.$axios2.post('/dep_statistics', params).then(res => {
         if (Array.isArray(res.data.data)) {
         if (Array.isArray(res.data.data)) {
           this.tableData = res.data.data;
           this.tableData = res.data.data;
@@ -308,16 +298,16 @@ export default {
     },
     },
     // 获取排名rank10
     // 获取排名rank10
     getRankList() {
     getRankList() {
-      const { start_time, end_time } = this.formInline
+      const { start_time, end_time } = this.formInline;
       const params = {
       const params = {
         type: this.ruleId,
         type: this.ruleId,
         page: 1,
         page: 1,
         page_size: 10,
         page_size: 10,
         start_time,
         start_time,
-        end_time
-      }
+        end_time,
+      };
       this.$axios2.post('/dep_statistics', params).then(res => {
       this.$axios2.post('/dep_statistics', params).then(res => {
-        console.log(res.data.data)
+        console.log(res.data.data);
         if (Array.isArray(res.data.data)) {
         if (Array.isArray(res.data.data)) {
           this.rankData = res.data.data;
           this.rankData = res.data.data;
         } else {
         } else {
@@ -325,8 +315,8 @@ export default {
         }
         }
         if (this.rankData.length) {
         if (this.rankData.length) {
           this.$nextTick(() => {
           this.$nextTick(() => {
-            this.initCharts1()
-          })
+            this.initCharts1();
+          });
         }
         }
       });
       });
     },
     },
@@ -370,8 +360,8 @@ export default {
             type: 'category',
             type: 'category',
             data: dataName,
             data: dataName,
             axisLabel: {
             axisLabel: {
-              rotate: 15
-            }
+              rotate: 15,
+            },
           },
           },
           grid: {
           grid: {
             left: '3%',
             left: '3%',
@@ -384,8 +374,8 @@ export default {
             axisLabel: {
             axisLabel: {
               show: true,
               show: true,
               interval: 0,
               interval: 0,
-              formatter: '{value} %'
-            }
+              formatter: '{value} %',
+            },
           },
           },
           series: [
           series: [
             {
             {
@@ -420,9 +410,9 @@ export default {
     },
     },
     // 跳转列表页
     // 跳转列表页
     toPage(row, status) {
     toPage(row, status) {
-      const { time } = this.formInline
-      this.$router.push({ path: '/caseIndexAnalysisList', query: { ruleId: this.ruleId, ruleName: this.ruleName, start: time[0], end: time[1], dep_id: row.dep_id, status }})
-    }
+      const { time } = this.formInline;
+      this.$router.push({ path: '/caseIndexAnalysisList', query: { ruleId: this.ruleId, ruleName: this.ruleName, start: time[0], end: time[1], dep_id: row.dep_id, status } });
+    },
   },
   },
 };
 };
 </script>
 </script>
@@ -471,5 +461,4 @@ export default {
 ::v-deep.el-table .el-table__header tr th:nth-child(3) {
 ::v-deep.el-table .el-table__header tr th:nth-child(3) {
   border-radius: 0px 5px 5px 0px;
   border-radius: 0px 5px 5px 0px;
 }
 }
-
 </style>
 </style>