Prechádzať zdrojové kódy

编码员-医师排名

yuwandanmian 1 rok pred
rodič
commit
dc56a87a18

BIN
src/assets/images/cha.png


BIN
src/assets/images/liang.png


BIN
src/assets/images/you.png


BIN
src/assets/images/zhong.png


+ 31 - 16
src/views/encoder/index.vue

@@ -233,10 +233,13 @@
           fit="contain"
           @click="onToggleDoctorShow">
         </el-image>
+        <slot>
+          <el-button type="primary" class="export-btn" icon="el-icon-download" size="small" style="float: right;" @click="onBmyDoctorExport">下载</el-button>
+        </slot>
       </CardTitle>
       <el-collapse-transition>
         <div v-show="doctor_show">
-          <el-row :gutter="20">
+          <el-row :gutter="40">
             <el-col :span="12">
               <el-table
                 :data="doctor_tableData"
@@ -262,7 +265,7 @@
                   label="病历总数"
                   align="center">
                   <template slot-scope="scope">
-                    <span class="link" style="color: #004983;">{{ scope.row.bl_sum }}</span>
+                    <span class="link2">{{ scope.row.bl_sum }}</span>
                   </template>
                 </el-table-column>
                 <el-table-column
@@ -270,9 +273,14 @@
                   label="总扣分"
                   align="center">
                   <template slot-scope="scope">
-                    <span class="link" style="color: #004983;">{{ -scope.row.kf_score }}</span>
+                    <span class="link2">{{ -scope.row.kf_score }}</span>
                   </template>
                 </el-table-column>
+                <el-table-column
+                  prop="avg_score"
+                  label="平均得分"
+                  align="center">
+                </el-table-column>
               </el-table>
               <el-pagination
                 background
@@ -285,9 +293,6 @@
               </el-pagination>
             </el-col>
             <el-col :span="12">
-              <div style="text-align: right;">
-                <el-button type="primary" class="export-btn" icon="el-icon-download" @click="onBmyDoctorExport">下载</el-button>
-              </div>
               <DoctorRankVue v-if="doctor_rank.length" :data="doctor_rank" />
             </el-col>
           </el-row>
@@ -363,7 +368,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -372,7 +378,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -381,7 +388,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -390,7 +398,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -399,7 +408,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -408,7 +418,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -417,7 +428,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -426,7 +438,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -435,7 +448,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   },
         //   {
         //     "docker_name": "杜晓峰",
@@ -444,7 +458,8 @@ import { bmyDoctorRanking } from '@/api/excel'
         //     "sum_score": 2800,
         //     "df_score": 2158,
         //     "kf_score": 642,
-        //     "proportion": "77.07"
+        //     "proportion": "77.07",
+        //     "avg_score": 88
         //   }
         // ],
         doctor_rank: []

+ 158 - 139
src/views/medicalRecord/components/index/ControlDrawer.vue

@@ -3,12 +3,13 @@
     <div style="text-align: right; margin-bottom: 10px;">
       <i class="el-icon-close" style="font-size: 16px;" @click="onClose"></i>
     </div>
-    <div class="score-box" :class="scoreLevel == '甲'? 'scoreLevel_1' : ( scoreLevel == '乙'?'scoreLevel_2': (scoreLevel == '丙'?'scoreLevel_3':''))">
+    <div class="score-box" :class="{scoreLevel_1: scoreLevel == '优', scoreLevel_2: scoreLevel == '良', scoreLevel_3: scoreLevel == '中', scoreLevel_4: scoreLevel == '差'}">
       <span>病案评分</span>
       <span class="score">{{ controls.score.score }}</span>
-      <el-image v-if="scoreLevel == '甲'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/icon-jia.png')" fit="contain"></el-image>
-      <el-image v-if="scoreLevel == '乙'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/icon-yi.png')" fit="contain"></el-image>
-      <el-image v-if="scoreLevel == '丙'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/icon-bing.png')" fit="contain"></el-image>
+      <el-image v-if="scoreLevel == '优'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/you.png')" fit="contain"></el-image>
+      <el-image v-if="scoreLevel == '良'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/liang.png')" fit="contain"></el-image>
+      <el-image v-if="scoreLevel == '中'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/zhong.png')" fit="contain"></el-image>
+      <el-image v-if="scoreLevel == '差'" class="level" style="width: 47px; height: 41px" :src="require('../../../../assets/images/cha.png')" fit="contain"></el-image>
     </div>
     <div class="legend-box">
       <span class="qz">强制</span>
@@ -46,158 +47,173 @@
     },
     data() {
       return {
-        // controls: {
-        //   ZYH: '',
-        //   score: {
-        //     score: 100
-        //   },
-        //   list: []
-        // },
         controls: {
-          ZYH: '809257',
+          ZYH: '',
           score: {
-            score: 69,
-            level: 0,
+            score: 100
           },
-          list: [
-            {
-              error_rule: 21,
-              level: 0,
-              field_name: '单位邮编',
-              category: 3,
-              down: 0.5,
-              desc: '单位邮编填写不规范',
-            },
-            {
-              error_rule: 6,
-              level: 0,
-              field_name: '健康卡号',
-              category: 3,
-              down: 0.5,
-              desc: '健康卡号填写不规范',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-            {
-              error_rule: 1441,
-              level: 1,
-              field_name: '有创呼吸机使用时间',
-              category: 0,
-              down: 0,
-              desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
-            },
-            {
-              error_rule: 1457,
-              level: 1,
-              field_name: '主要诊断编码',
-              category: 0,
-              down: 0,
-              desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
-            },
-          ],
+          list: []
         },
+        // controls: {
+        //   ZYH: '809257',
+        //   score: {
+        //     score: 69,
+        //     level: 0,
+        //   },
+        //   list: [
+        //     {
+        //       error_rule: 21,
+        //       level: 0,
+        //       field_name: '单位邮编',
+        //       category: 3,
+        //       down: 0.5,
+        //       desc: '单位邮编填写不规范',
+        //     },
+        //     {
+        //       error_rule: 6,
+        //       level: 0,
+        //       field_name: '健康卡号',
+        //       category: 3,
+        //       down: 0.5,
+        //       desc: '健康卡号填写不规范',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //     {
+        //       error_rule: 1441,
+        //       level: 1,
+        //       field_name: '有创呼吸机使用时间',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '收费明细含【呼吸机辅助呼吸】,有创呼吸机使用时间【不能为0,不能为空】',
+        //     },
+        //     {
+        //       error_rule: 1457,
+        //       level: 1,
+        //       field_name: '主要诊断编码',
+        //       category: 0,
+        //       down: 0,
+        //       desc: '诊断编码出现S00-S09,颅内损伤昏迷时间6个空必填一个数字',
+        //     },
+        //   ],
+        // },
       };
     },
     computed: {
       scoreLevel() {
         /**
-         * 甲>90分
-         * 乙75-90分
-         * 丙<75分
+         * 优>=97分
+         * 良90-96分
+         * 中75~89分
+         * 差<75分
          * */ 
         let str
         const { score } = this.controls.score
-        if (score > 90) {
-          str = '甲'
-        } else if (score < 75) {
-          str = '丙'
+        if (score >= 97) {
+          str = '优'
+        } else if (score < 97 && score >=90) {
+          str = '良'
+        } else if (score < 90 && score >=75) {
+          str = '中'
         } else {
-          str = '乙'
+          str = ''
         }
         return str
       }
     },
+    created() {
+      this.getData()
+    },
     methods: {
       onClose() {
         this.$emit('close')
+      },
+      // 获取详情
+      getData() {
+        const params = {
+          ZYH: this.data.zyh
+        }
+        this.$axios.post('/bmy/qualityResult', params).then(res => {
+          this.controls = res.data
+        });
       }
     }
   }
@@ -256,13 +272,16 @@
     float: right;
   }
   &.scoreLevel_1{
-    background: rgb(11, 133, 63);
+    background: #328240;
   }
   &.scoreLevel_2{
-    background: rgb(152, 112, 20);
+    background: #8AC410;
   }
   &.scoreLevel_3{
-    background: rgb(199, 54, 13);
+    background: #EF8A0D;
+  }
+  &.scoreLevel_4{
+    background: #F0203A;
   }
 }
 .legend-box {