Эх сурвалжийг харах

终末病历质控首页整体优化

liyanyan 1 сар өмнө
parent
commit
4954de2c85
1 өөрчлөгдсөн 104 нэмэгдсэн , 180 устгасан
  1. 104 180
      src/views/allcase/index.vue

+ 104 - 180
src/views/allcase/index.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="pages">
     <div class="bg-card" style="margin-bottom: 16px;">
-      <el-form :model="formData" label-width="80px">
+      <el-form :model="formData" label-width="80px" ref="filterFormRef">
         <el-row>
 
-          <el-col :span="6">
-            <el-form-item label="所属院区">
+          <el-col :span="7">
+            <el-form-item label="所属院区" prop="YQ_CODE">
               <el-select style="width: 94%;" placeholder="请选择所属院区" v-model="formData.YQ_CODE" multiple collapse-tags
                 clearable filterable @change="yqChange">
                 <el-option v-for="(item, index) in searchOptions.yqArray" :key="index" :label="item.dep_name"
@@ -15,7 +15,7 @@
           </el-col>
 
           <el-col :span="6">
-            <el-form-item label="出院科室">
+            <el-form-item label="出院科室" prop="KS_CODE">
               <el-cascader style="width: 94%;" placeholder="请选择科室" v-model="formData.KS_CODE"
                 :options="searchOptions.ksArray" filterable :props="searchOptions.cascaderProps" clearable collapse-tags
                 @change="ksChange">
@@ -24,7 +24,7 @@
           </el-col>
 
           <el-col :span="6">
-            <el-form-item label="出院病区">
+            <el-form-item label="出院病区" prop="BQ_CODE">
               <el-cascader style="width: 94%;" placeholder="请选择病区" v-model="formData.BQ_CODE"
                 :options="searchOptions.bqArray" filterable :props="searchOptions.cascaderProps" clearable
                 collapse-tags>
@@ -32,30 +32,34 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="6">
-            <el-form-item label="病案号">
+          <el-col :span="5">
+            <el-form-item label="病案号" prop="AAA28">
               <el-input style="width: 94%" placeholder="请输入病案编号" v-model="formData.AAA28" clearable></el-input>
             </el-form-item>
           </el-col>
 
         </el-row>
         <el-row>
-          <el-col :span="6">
+          <el-col :span="7">
             <el-form-item label="出院日期">
               <div style="width: 94%;display:flex;gap:5px">
+                <el-form-item prop="startTime">
                 <el-date-picker style="width: 100%" v-model="formData.startTime" type="date" placeholder="出院开始日期"
-                :picker-options="pickerOptions1" value-format="yyyyMMdd" format="yyyy年MM月dd日">
+                :picker-options="pickerOptions" value-format="yyyyMMdd" format="yyyy年MM月dd日">
               </el-date-picker>
+            </el-form-item>
+            <el-form-item prop="endTime">
               <!-- <el-col :span="11">
                 <div style="width: 100%;"/>
               </el-col> -->
                 <el-date-picker style="width: 100%" v-model="formData.endTime" type="date" placeholder="出院结束日期"
                 :picker-options="[]" value-format="yyyyMMdd" format="yyyy年MM月dd日" @onClick="onClickEndTime">
               </el-date-picker>
+            </el-form-item>
               </div>
             </el-form-item>
           </el-col>
-          <el-col :span="6" :offset="12">
+          <el-col :span="5" :offset="12">
             <el-form-item>
               <div style="width:94%;display:flex;justify-content:flex-end">
                 <el-button class="btn1" type="primary" @click="funQuery">查询</el-button>
@@ -150,7 +154,7 @@
               <el-card class="summary-card" shadow="hover">
                 <div slot="header" class="clearfix">
                   <span class="summary-card-title">问题数量</span>
-                  <el-button style="float: right;padding: 0; " type="text">
+                  <el-button style="float: right;padding: 0; " type="text" @click="urlGoto('/defectNumber?','from=ZMBLZK_WTSL')">
                     <i class="el-icon-s-marketing summary-icon"></i>
                   </el-button>
                 </div>
@@ -332,7 +336,7 @@ export default {
     const that = this
     return {
       //region 顶部搜索
-      search: { year: 0, quarter: 0 },
+      // search: { year: 0, quarter: 0 },
       searchOptions: {
         yqArray: [],//院区options
         ksArray: [],//科室options
@@ -385,25 +389,21 @@ export default {
       //endregion
       doctor_rank: [],
       formData: {
-        rangeDate: [],
-        chooseDate: '',
-        startTime: '',
-        endTime: '',
-        quarter: {
-          name: '',
-        },
-        problem: 'all',
-        defectFelg: 'all',
-        type: '1',
-      },
-      homeData: {},
-      quarterList: [],
-      monthList: [],
-      yearList: [],
-      countsData: {
-        case_total: 0,
-        defect_case_total: 0,
+        YQ_CODE: [],
+        KS_CODE: [],
+        BQ_CODE: [],
+        AAA28: '',
+        startTime: moment().startOf('year').format('YYYYMMDD'),
+        endTime: moment().format('YYYYMMDD')
       },
+      // homeData: {},
+      // quarterList: [],
+      // monthList: [],
+      // yearList: [],
+      // countsData: {
+      //   case_total: 0,
+      //   defect_case_total: 0,
+      // },
       summaryData: {
         case_total: 0,  //  病案数量
         case_quality_total: 0,  //  缺陷病历数量
@@ -411,13 +411,13 @@ export default {
         question_total: 1,  //  问题数量
         case_calibre: {}  //  病案质量
       },
-      caseSearchData: {
-        department: ''
-      },
-      caseList: [],
-      departmentList: [],
-      doctorList: [], // 医生列表
-      doctor_name: '',
+      // caseSearchData: {
+      //   department: ''
+      // }, 
+      caseList: [], // 缺陷问题
+      // departmentList: [],
+      // doctorList: [], // 医生列表
+      // doctor_name: '',
       quxian_show: true,
       // 医师排名
       doctor_show: true,
@@ -428,7 +428,7 @@ export default {
         size: 10,
         total: 0
       },
-      pickerOptions1: {
+      pickerOptions: {
         disabledDate: (time) => {
           if (this.formData.endTime != "") {
             return time.getTime() > Date.now();
@@ -496,63 +496,6 @@ export default {
           }
         }]
       },
-      pickerOptions2: {
-        disabledDate: (time) => {
-          let dateString = this.formData.startTime;
-          const year = parseInt(dateString.substr(0, 4));  // 2024
-          const month = parseInt(dateString.substr(4, 2)) - 1; // 月份从0开始计算(2月→1)
-          const day = parseInt(dateString.substr(6, 2));    // 01
-          return time.getTime() < new Date(year, month, day).getTime();
-        },
-        shortcuts: [{
-          text: '今天',
-          onClick(picker) {
-            picker.$emit('pick', new Date());
-          }
-        }, {
-          text: '昨天',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24);
-            picker.$emit('pick', date);
-          }
-        }, {
-          text: '一周前',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', date);
-          }
-        }, {
-          text: '一月前',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 30);
-            picker.$emit('pick', date);
-          }
-        }, {
-          text: '三月前',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 90);
-            picker.$emit('pick', date);
-          }
-        }, {
-          text: '半年前',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 180);
-            picker.$emit('pick', date);
-          }
-        }, {
-          text: '一年前',
-          onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 365);
-            picker.$emit('pick', date);
-          }
-        }]
-      }
     };
   },
   computed: {
@@ -587,7 +530,6 @@ export default {
 
   },
   mounted() {
-    this.getAAC01Date();
     this.getSearchOptions();
     this.doctor_rank = JSON.parse(JSON.stringify(this.doctor_tableData)).slice(0, 10)
 
@@ -600,9 +542,9 @@ export default {
       this.storageRemove('homeFrom');
     }
      */
-    this.getDepartmentList()
+    // this.getDepartmentList()
     this.funQuery();
-    this.selectInfo();
+    // this.selectInfo();
     // this.getDepartmentTableList();
   },
   beforeRouteEnter(to, from, next) {
@@ -630,19 +572,7 @@ export default {
     },
     //重置头部搜索条件
     reset() {
-      this.formData = {
-        rangeDate: [],
-        chooseDate: '',
-        startTime: '',
-        endTime: '',
-        quarter: {
-          name: '',
-        },
-        problem: 'all',
-        defectFelg: 'all',
-        type: '1',
-      };
-      // this.getAAC01Date();
+      this.$refs.filterFormRef.resetFields();
     },
     //院区change事件
     yqChange() {
@@ -688,14 +618,6 @@ export default {
       })
     },
 
-
-
-    //头部默认出院日期
-    getAAC01Date() {
-      this.formData.startTime = moment().format('YYYY0101');
-      this.formData.endTime = moment().format('YYYYMMDD');
-    },
-
     onClickEndTime(e) {
       console.log(e)
     },
@@ -818,17 +740,17 @@ export default {
       this.quxian_show = !this.quxian_show
     },
     // 获取医生列表
-    getDoctorList() {
-      this.$axios2.post('/case-quality/doctor_list').then(res => {
-        this.doctorList = res.data;
-      });
-    },
+    // getDoctorList() {
+    //   this.$axios2.post('/case-quality/doctor_list').then(res => {
+    //     this.doctorList = res.data;
+    //   });
+    // },
     // 缺陷病例统计
-    getAnalysis() {
-      this.$axios2.post('/case-quality/analysis').then(res => {
+    // getAnalysis() {
+    //   this.$axios2.post('/case-quality/analysis').then(res => {
 
-      });
-    },
+    //   });
+    // },
 
     // 甲乙病级病例
     getMedicalRecordLevel() {
@@ -837,17 +759,18 @@ export default {
       });
     },
     // 获取部门集合
-    getDepartmentList() {
-      this.$axios.post('/get_omr_department_list').then(res => {
-        this.departmentList = res.data;
-      });
-    },
+    // getDepartmentList() {
+    //   this.$axios.post('/get_omr_department_list').then(res => {
+    //     this.departmentList = res.data;
+    //   });
+    // },
     // 获取缺陷问题
     getCaseList() {
       let pramse = {
-        start_time: this.formData.startTime,
-        end_time: this.formData.endTime,
-        department: this.caseSearchData.department
+        // start_time: this.formData.startTime,
+        // end_time: this.formData.endTime,
+        // department: this.caseSearchData.department,
+        ...this.formData
       };
       this.$axios.post('/case-quality/defect_issues', pramse).then(res => {
         this.caseList = res.data.list
@@ -871,40 +794,41 @@ export default {
       const params = {
         page,
         page_size: size,
-        start_time: this.formData.startTime,
-        end_time: this.formData.endTime,
-        is_export: 0
+        // start_time: this.formData.startTime,
+        // end_time: this.formData.endTime,
+        // is_export: 0,
+        ...this.formData
       };
       this.$axios2.post('/case-quality/medical_record_doctor', params).then(res => {
-        const { count } = res.data
-        if (count < 10) {
-          for (let i = 0; i < 10 - count - 1; i++) {
-            res.data.list.push({
-              "key": "",
-              "doc_count": '',
-              "defect_doc_count": '',
-              "score": '',
-              "svg_score": '',
-              "proportion": "",
-              "dep_name": '',
-              "code": '',
-            })
-          }
-        }
+        // const { count } = res.data
+        // if (count < 10) {
+        //   for (let i = 0; i < 10 - count - 1; i++) {
+        //     res.data.list.push({
+        //       "key": "",
+        //       "doc_count": '',
+        //       "defect_doc_count": '',
+        //       "score": '',
+        //       "svg_score": '',
+        //       "proportion": "",
+        //       "dep_name": '',
+        //       "code": '',
+        //     })
+        //   }
+        // }
         this.doctor_tableData = res.data.list
         this.paginationDataDoctor.total = res.data.count
         this.doctor_rank = JSON.parse(JSON.stringify(res.data.list)).slice(0, 10)
       })
     },
-    getCounts() {
-      let pramse = {
-        start_time: this.formData.startTime,
-        end_time: this.formData.endTime,
-      };
-      this.$axios.post('/case-quality/analysis', pramse).then(res => {
-        this.countsData = res.data;
-      });
-    },
+    // getCounts() {
+    //   let pramse = {
+    //     start_time: this.formData.startTime,
+    //     end_time: this.formData.endTime,
+    //   };
+    //   this.$axios.post('/case-quality/analysis', pramse).then(res => {
+    //     this.countsData = res.data;
+    //   });
+    // },
 
     getSummaryData() {
       let params = Object.assign({}, this.formData);
@@ -967,21 +891,21 @@ export default {
 
 
 
-    selectInfo() {
-      // let pramse = {};
-      this.$axios.post('/selectInfo').then(res => {
-        //问题属性 level
-        this.quarterList = res.data.quarter;
-        // 季度
-        this.monthList = res.data.month;
-        //月
-        this.yearList = res.data.year;
-      });
-    },
+    // selectInfo() {
+    //   // let pramse = {};
+    //   this.$axios.post('/selectInfo').then(res => {
+    //     //问题属性 level
+    //     this.quarterList = res.data.quarter;
+    //     // 季度
+    //     this.monthList = res.data.month;
+    //     //月
+    //     this.yearList = res.data.year;
+    //   });
+    // },
     // 选择时间段
-    chooseTime(time) {
-      this.formData.rangeDate = this.timesCalculation(time).slice(0, 2);
-    },
+    // chooseTime(time) {
+    //   this.formData.rangeDate = this.timesCalculation(time).slice(0, 2);
+    // },
 
     // 医师排名导出
     handleExport() {
@@ -1029,7 +953,7 @@ export default {
       this.storageSet('end_time', this.formData.endTime);
       this.storageSet('homeFrom', this.formData);
       // this.initCharts1(pramse);
-      this.getCounts();
+      // this.getCounts();
       //  获取汇总的数据  同时渲染树状图
       this.getSummaryData();
 
@@ -1037,9 +961,9 @@ export default {
       // 获取医师排名
       this.getDoctorRank();
       // 缺陷病例统计
-      this.getAnalysis();
+      // this.getAnalysis();
       // 甲乙病级病例
-      this.getMedicalRecordLevel();
+      // this.getMedicalRecordLevel();
       //科室维度排名
       this.getDepartmentTableList();
     },