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

病案详情-修改分数、字段、提示、质控依据等布局重新修改

liyanyan 6 өдөр өмнө
parent
commit
55854df10c

+ 251 - 85
src/views/allcase/components/CaseQualityBox2.vue

@@ -115,23 +115,70 @@
           <!-- is_appeal: 是否申述 -->
           <div class="list-box box-card" :key="index">
             <div class="list-score-tips-box">
-              <div class="list-left-score" :class="item.level == -1 ? 'hover-0' : item.level == 1 ? 'hover-1' : 'hover-2' ">
+              <el-row class="list-item-title" type="flex" align="middle" justify="space-between">
+                质控项目:
+                <el-image class="list-item-image" v-if="item.is_artificial == 0" :src="require('../../../assets/images/zsicon.png')" fit="contain">
+                </el-image>
+                <el-image v-if="item.is_artificial == 1" class="list-item-image" :src="require('../../../assets/images/ysicon.png')" fit="contain">
+                </el-image>
+              </el-row>
+              <el-row type="flex" align="middle" style="margin-bottom: 15px;">
+                <div class="list-item-field" :title="item.error_field">
+                  {{ item.error_field }}
+                </div>
+                <div class="list-item-score" :class="item.level == -1 ? 'hover-0' : item.level == 1 ? 'hover-1' : 'hover-2' ">
+                  {{ item.score }}分
+                </div>
+              </el-row>
+              <div class="list-item-title">错误描述:</div>
+              <div class="list-item-value" style="margin-bottom: 15px">{{ item.notice }}</div>
+              <div class="list-item-title" @click="item.basis && clickListItem(index)">
+                质控依据 <i :class="`el-icon-arrow-${item.show ? 'up' : 'down'}`" style="cursor: pointer;font-weight: bold"></i> 
+              </div>
+              <div class="list-item-basis-box">
+                <div class="list-basis-text">
+                  <div class="list-basis-text-t" :class="item.show?'show':''">
+                    <div v-for="(yItem, yIndex) of item.basis" :key="yIndex" style="margin-bottom: 10px;">
+                        <div v-if="typeof yItem == 'string'">
+                          <span class="span-index">{{ yIndex+1 }}</span>
+                            <span class="list-item-value">{{yItem}}</span><br/>
+                        </div>
+                        <span type="flex" align="middle" v-else>
+                          <span class="span-index">{{ yIndex+1 }}</span>
+                          <span v-for="(cItem, cIndex) in yItem" :key="cIndex">
+                            <span class="list-item-value" v-if="!isNaN(parseFloat(cIndex))">{{cItem}}</span>
+                            <div style="height: 15px"></div>
+                          </span>
+                        </span>
+                    </div>
+                  </div>
+                  <div class="list-basis-bottom-box" v-if="$route.path == '/whitelist-caseControl'">
+                    <div class="list-basis-bottom-tips">
+                      <div class="appeal_no" @click="clickAppeal('appeal_no', item, 2 )" v-if="item.appeal_type == 2 && item.appeal_status == 2">驳回</div>
+                      <div class="appeal_progress" v-if="item.appeal_type == 2 && item.appeal_status == 0">申诉中</div>
+                      <div class="appeal_in_edit" @click="clickAppealEdit(item, 2)" v-if="item.is_artificial == 1">已整改</div>
+                    </div>
+                    <div class="list-basis-bottom-btn" v-if="item.appeal_type == 0">
+                      <div class="appeal" @click="clickAppeal('appeal', item, 2 )">申诉</div>
+                      <div class="appeal_in_ignore" @click="clickAppeal('appeal_in_ignore', item, 2 )">忽略</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <!-- <div class="list-left-score" :class="item.level == -1 ? 'hover-0' : item.level == 1 ? 'hover-1' : 'hover-2' ">
                 <div> {{ item.level == -1 ? '预警' : item.level == 1? '必改':'建议' }} </div>
                 <div v-if="item.level != -1">-{{ item.score }}</div>
               </div>
               <div class="list-right-tips">
                 <div><span class="title-color">字段:</span><span>{{ item.error_field }}</span></div>
                 <div class="notice-box"><span class="title-color">提示:</span><span>{{ item.notice }}</span></div>
-              </div>
+              </div> -->
             </div>
-            <div class="list-basis-box">
+            <!-- <div class="list-basis-box">
               <div class="list-basis-title" @click="item.basis && clickListItem(index)">
                 <span>质控依据</span>
                 <span> >> </span>
-                <el-image class="typeImg" v-if="item.is_artificial == 0" :src="require('../../../assets/images/zsicon.png')" fit="contain">
-                </el-image>
-                <el-image v-if="item.is_artificial == 1" class="typeImg" :src="require('../../../assets/images/ysicon.png')" fit="contain">
-                </el-image>
+                
               </div>
               <div class="list-basis-text">
                 <div class="list-basis-text-t" :class="item.show?'show':''">
@@ -160,7 +207,7 @@
                   </div>
                 </div>
               </div>
-            </div>
+            </div> -->
           </div>
         </template>
       </el-scrollbar>
@@ -729,103 +776,222 @@ import { examineAppeal, getAppealData, getBrry } from '@/api/qc';
   }
   .list-score-tips-box{
     width: 100%;
-    display: flex;
-    .list-left-score{
-      width: 70px;
-      height: 66px;
+    padding: 0 10px;
+    box-sizing: border-box;
+    position: relative;
+    .list-item-image {
+      // position: absolute;
+      // top: 0;
+      // right: 0;
+      width: 25px;
+      height: 25px;
+    }
+    .list-item-title {
+      font-family: PingFang-SC, PingFang-SC;
+      font-weight: bold;
+      font-size: 18px;
+      color: #333333;
+      line-height: 25px;
+      text-align: left;
+      font-style: normal;
+      margin-bottom: 10px;
+    }
+    .list-item-value {
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 400;
+      font-size: 14px;
+      color: #333333;
+      line-height: 20px;
+      text-align: left;
+      font-style: normal;
+    }
+    .list-item-field {
+      padding: 10px;
+      background: #D3E3FF;
+      border-radius: 8px;
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 600;
+      font-size: 16px;
+      color: #333333;
+      line-height: 16px;
       text-align: center;
-      font-size: 20px;
-      font-weight: 700;
-      position: relative;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      padding: 10px 0;
+      font-style: normal;
+      max-width: 200px;
+      text-overflow: ellipsis;
+      white-space: inherit;
+      overflow: hidden;
+    }
+    .list-item-score {
+      padding: 10px;
+      border-radius: 6px;
+      font-family: DINAlternate, DINAlternate;
+      font-weight: bold;
+      font-size: 16px;
+      // color: #DA1515;
+      line-height: 16px;
+      text-align: center;
+      font-style: normal;
+      margin-left: 16px;
       &.hover-1{
-        background: rgb(254, 240, 240);
-        color: rgb(238, 14, 14);
-        border-right: 3px solid rgb(238, 14, 14);
+        background: #FFDFDF;
+        color: #DA1515;
       }
       &.hover-2{
         background: rgb(236, 245, 255);
         color: rgb(52, 140, 235);
-        border-right: 3px solid rgb(52, 140, 235);
       }
       &.hover-0{
         background: rgb(253, 246, 236);
         color: rgb(230, 162, 60);
-        border-right: 3px solid rgb(230, 162, 60);
-      }
-      &>div{
-        font-size: 20px;
-      }
-    }
-    .list-right-tips{
-      flex: 1;
-      font-size: 12px;
-      padding-left: 10px;
-      .notice-box{
-        margin-top: 8px;
       }
     }
-  }
-  .list-basis-box{
-    .list-basis-title{
-      padding: 10px 0 10px 10px;
-      position: relative;
-      &>span{
-        font-size: 12px;
-        color: rgba(27,100,176,1);
-        font-weight: bold;
-      }
-      .typeImg {
-        width: 34px;
-        height: 34px;
-        position: absolute;
-        top: 0;
-        right: 12px;
-        z-index: 999;
-      }
-
-    }
-    .list-basis-text {
-      height: auto;
-      .list-basis-text-t{
-        height: 0;
-        overflow: hidden;
+    .list-item-basis-box{
+      .list-basis-title{
+        padding: 10px 0 10px 10px;
         position: relative;
-        &.show{
-          height: auto;
-          padding: 10px 0 10px 10px;
+        &>span{
+          font-size: 12px;
+          color: rgba(27,100,176,1);
+          font-weight: bold;
+        }
+        .typeImg {
+          width: 34px;
+          height: 34px;
+          position: absolute;
+          top: 0;
+          right: 12px;
+          z-index: 999;
         }
-      }
-    }
 
-    .list-basis-bottom-box{
-      margin-top: 14px;
-      width: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      padding: 0 10px;
-      .list-basis-bottom-tips{
-        flex: 1;
-        display: flex;
-        gap: 10px;
       }
-      .list-basis-bottom-btn{
-        flex: 1;
+      .list-basis-text {
+        height: auto;
+        .list-basis-text-t{
+          height: 0;
+          overflow: hidden;
+          position: relative;
+          &.show{
+            height: auto;
+            // padding: 10px 0 10px 10px;
+          }
+        }
+      }
+
+      .list-basis-bottom-box{
+        margin-top: 14px;
+        width: 100%;
         display: flex;
-        justify-content: flex-end;
-        gap: 10px;
-        // width: auto;
+        align-items: center;
+        justify-content: space-between;
+        padding: 0 10px;
+        .list-basis-bottom-tips{
+          flex: 1;
+          display: flex;
+          gap: 10px;
+        }
+        .list-basis-bottom-btn{
+          flex: 1;
+          display: flex;
+          justify-content: flex-end;
+          gap: 10px;
+          // width: auto;
+        }
       }
     }
-
-
-
+    
+    // .list-left-score{
+    //   width: 70px;
+    //   height: 66px;
+    //   text-align: center;
+    //   font-size: 20px;
+    //   font-weight: 700;
+    //   position: relative;
+    //   display: flex;
+    //   flex-direction: column;
+    //   align-items: center;
+    //   justify-content: center;
+    //   padding: 10px 0;
+    //   &.hover-1{
+    //     background: rgb(254, 240, 240);
+    //     color: rgb(238, 14, 14);
+    //     border-right: 3px solid rgb(238, 14, 14);
+    //   }
+    //   &.hover-2{
+    //     background: rgb(236, 245, 255);
+    //     color: rgb(52, 140, 235);
+    //     border-right: 3px solid rgb(52, 140, 235);
+    //   }
+    //   &.hover-0{
+    //     background: rgb(253, 246, 236);
+    //     color: rgb(230, 162, 60);
+    //     border-right: 3px solid rgb(230, 162, 60);
+    //   }
+    //   &>div{
+    //     font-size: 20px;
+    //   }
+    // }
+    // .list-right-tips{
+    //   flex: 1;
+    //   font-size: 12px;
+    //   padding-left: 10px;
+    //   .notice-box{
+    //     margin-top: 8px;
+    //   }
+    // }
   }
+  // .list-basis-box{
+  //   .list-basis-title{
+  //     padding: 10px 0 10px 10px;
+  //     position: relative;
+  //     &>span{
+  //       font-size: 12px;
+  //       color: rgba(27,100,176,1);
+  //       font-weight: bold;
+  //     }
+  //     .typeImg {
+  //       width: 34px;
+  //       height: 34px;
+  //       position: absolute;
+  //       top: 0;
+  //       right: 12px;
+  //       z-index: 999;
+  //     }
+
+  //   }
+  //   .list-basis-text {
+  //     height: auto;
+  //     .list-basis-text-t{
+  //       height: 0;
+  //       overflow: hidden;
+  //       position: relative;
+  //       &.show{
+  //         height: auto;
+  //         padding: 10px 0 10px 10px;
+  //       }
+  //     }
+  //   }
+
+  //   .list-basis-bottom-box{
+  //     margin-top: 14px;
+  //     width: 100%;
+  //     display: flex;
+  //     align-items: center;
+  //     justify-content: space-between;
+  //     padding: 0 10px;
+  //     .list-basis-bottom-tips{
+  //       flex: 1;
+  //       display: flex;
+  //       gap: 10px;
+  //     }
+  //     .list-basis-bottom-btn{
+  //       flex: 1;
+  //       display: flex;
+  //       justify-content: flex-end;
+  //       gap: 10px;
+  //       // width: auto;
+  //     }
+  //   }
+  // }
 }
 
 </style>