Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

梁欢 2 minggu lalu
induk
melakukan
5f548881fd

+ 253 - 40
src/components/inpatient/frontsheet-printpage/FullPage.vue

@@ -32,7 +32,7 @@
             margin-left: 12px;
           ">健康卡号: {{ patient.healthCardNo }}</span>
         <span style="display: inline-block; margin-right: 8px; width: 100px">第&nbsp;{{ patient.admissTimes
-          }}&nbsp;次住院</span>
+        }}&nbsp;次住院</span>
         <span style="display: inline-block; margin-right: 8px; width: 130px">病案号: {{ patient.bah }}</span>
       </div>
       <div style="border: 1px solid black; padding: 5px">
@@ -42,7 +42,7 @@
               display: inline-block;
               padding: 0 4px;
               margin-right: 8px;
-              width: 200px;
+              width: 120px;
               border-bottom: 1px solid black;
             ">{{ patient.name }}</span>
           性别:
@@ -51,15 +51,19 @@
               padding: 0 4px;
               margin-right: 8px;
               border-bottom: 1px solid black;
+              width: 50px;
             ">{{ filterNameInDic(patient.sex, "getSexCode") }}</span>
+          <span style="display: inline-block;margin-right:8px ;">1.男 2.女 9.未说明的性别</span>
           出生日期:
           <span style="
               display: inline-block;
               padding: 0 4px;
               margin-right: 8px;
-              width: 90px;
+              width: 120px;
               border-bottom: 1px solid black;
             ">{{ patient.birthDate }}</span>
+        </div>
+        <div style="margin: 8px 8px 8px 0">
           年龄:
           <span style="
               display: inline-block;
@@ -68,30 +72,49 @@
               width: 30px;
               border-bottom: 1px solid black;
             ">{{ patient.age }}</span>
+          岁
           国籍:
           <span style="
+              width: 40px;
               display: inline-block;
               padding: 0 4px;
               margin-right: 8px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.country, "getCountry") }}</span>
+          (年龄不足 1 周岁的)年龄:
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            ">{{ patient.infAge }}</span>
+          月
+          (新生儿年龄≤28天)年龄:
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            ">{{ patient.ageDays}}</span>
+          天
         </div>
         <div style="margin: 8px 8px 8px 0">
-          (年龄不足 1 周岁的)年龄:
+          <span>新生儿出生体重:(一孩</span>
           <span style="
               display: inline-block;
               padding: 0 4px;
               border-bottom: 1px solid black;
               width: 50px;
-            ">{{ patient.ageDays }}</span>
-          天<span style="margin-left: 8px">新生儿出生体重:</span>
+            ">{{ patient.newBornWeight1 }}</span>
+          克&nbsp;&nbsp;&nbsp;&nbsp;二孩
           <span style="
               display: inline-block;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 70px;
-            ">{{ patient.newBornWeight }}</span>
-          克<span style="margin-left: 8px">新生儿入院体重:</span>
+              width: 50px;
+            ">{{ patient.newBornWeight2 }}</span>
+          克)
+          <span style="margin-left: 8px">新生儿入院体重:</span>
           <span style="
               display: inline-block;
               padding: 0 4px;
@@ -100,6 +123,45 @@
             ">{{ patient.newBornAdmissWeight }}</span>
         </div>
+        <div style="margin: 8px 8px 8px 0">
+          身份证件类型:
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 160px;
+            ">{{ patient.socialNo }}</span>
+          身份证件号码:
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 160px;
+            ">{{ patient.socialNo }}</span>
+        </div>
+        <div style="margin: 8px 8px 8px 0">
+          身份证件不详的具体原因:
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 40px;
+            ">{{ patient.socialNo }}</span>
+          <span v-for="item in dics.noCertReasons">
+            {{ item.code }}.{{ item.name }}
+          </span>
+          其他
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width:80px;
+            ">{{ patient.noCertReasonInput }}</span>
+        </div>
         <div style="margin: 8px 8px 8px 0">
           出生地:
           <span style="
@@ -120,23 +182,17 @@
           民族:
           <span style="
               display: inline-block;
+              width: 40px;
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.nation, "getNation") }}</span>
         </div>
         <div style="margin: 8px 8px 8px 0">
-          身份证号:
-          <span style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 160px;
-            ">{{ patient.socialNo }}</span>
           职业:
           <span style="
               display: inline-block;
+              width: 140px;
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
@@ -144,10 +200,14 @@
           婚姻:
           <span style="
               display: inline-block;
+              width: 40px;
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.marriage, "getMarriageCode") }}</span>
+          <span v-for="item in dics.getMarriageCode" style="margin-right: 10px;">
+            {{ item.code }}.{{ item.name }}
+          </span>
         </div>
         <div style="margin: 8px 8px 8px 0">
           现住址:
@@ -161,6 +221,7 @@
           电话:
           <span style="
               display: inline-block;
+              width: 100px;
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
@@ -235,6 +296,7 @@
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
+              width: 100px;
             ">{{
               filterNameInDic(patient.contactRelation, "getRelations")
             }}</span>
@@ -265,13 +327,16 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.zyAdmissWay, "getAdmissWay") }}</span>
-          是否手术:
+          <span v-for="item in dics.getAdmissWay" style="margin-right: 5px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
+          <!-- 是否手术:
           <span style="
               display: inline-block;
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
-            ">{{ filterNameInDic(patient.hasSurgery, "getOperations") }}</span>
+            ">{{ filterNameInDic(patient.hasSurgery, "getOperations") }}</span> -->
         </div>
         <div style="margin: 10px 0 10px 0">
           入院时间:
@@ -366,7 +431,7 @@
             {{ patient.clinicDiagCode }}
           </span>
         </div>
-        <div style="display: flex; align-items: center">
+        <!-- <div style="display: flex; align-items: center">
           入院诊断名称:
           <span style="
               display: inline-block;
@@ -430,7 +495,7 @@
             {{ patient.supplement.diagnosisConfirmDay }}
           </span>
-        </div>
+        </div> -->
 
         <div style="height: max-content; width: 720px">
           <span style="display: inline-block; width: 360px">
@@ -566,6 +631,9 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.allergy, "getHaveOrNot") }}</span>
+          <span v-for="item in dics.getHaveOrNot" style="margin-right: 5px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
           ,过敏药物:
           <span style="
               display: inline-block;
@@ -581,8 +649,11 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.autopsy, "getAutopsies") }}</span>
+          <span v-for="item in dics.getHaveOrNot" style="margin-right: 5px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
         </div>
-        <div style="margin: 8px 8px 8px 0">
+        <!-- <div style="margin: 8px 8px 8px 0">
           输血前四项: HbsAg
           <span style="
               display: inline-block;
@@ -614,7 +685,7 @@
               border-bottom: 1px solid black;
               margin-left: 8px;
             ">{{ filterNameInDic(patient.tpAb, "getHbsag") }}</span>
-        </div>
+        </div> -->
         <div style="margin: 8px 8px 8px 0">
           血型:
           <span style="
@@ -623,6 +694,9 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.bloodType, "getBloodType") }}</span>
+          <span v-for="item in dics.getBloodType" style="margin-right: 5px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
           Rh:
           <span style="
               display: inline-block;
@@ -630,6 +704,9 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.rh, "getHbsag") }}</span>
+          <span v-for="item in dics.getHbsag" style="margin-right: 5px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
         </div>
         <div style="margin: 8px 8px 8px 0">
           科室主任:
@@ -711,6 +788,9 @@
               filterNameInDic(patient.qualityControlLevel, "getQualityLevel")
             }}
           </span>
+          <span v-for="item in dics.getQualityLevel" style="margin-right: 2px;">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
           质控医师:
           <span style="
               display: inline-block;
@@ -733,7 +813,7 @@
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 170px;
+              width: 120px;
             ">{{ patient.qualityControlDate }}</span>
         </div>
       </div>
@@ -746,10 +826,10 @@
             width: 100%;
           ">
           <tr>
-            <th rowspan="2">手术及操作名称</th>
+            <th rowspan="2">手术及操作编码</th>
             <th rowspan="2" style="width: 70px">手术及操作日期</th>
             <th rowspan="2" style="width: 10px">手术级别</th>
-            <th rowspan="2">手术及操作编码</th>
+            <th rowspan="2">手术及操作名称</th>
             <th colspan="3">手术及操作医师</th>
             <th rowspan="2" style="width: 30px">切口愈合等级</th>
             <th rowspan="2">麻醉方式</th>
@@ -761,8 +841,8 @@
             <th>II助</th>
           </tr>
           <tr v-for="n in defaultSurgerySize" :key="n">
-            <td style="padding: 3px">
-              {{ patient.surgeryList[n - 1].name }}
+            <td style="width: 70px">
+              {{ patient.surgeryList[n - 1].code }}
             </td>
             <td style="padding: 3px; width: 70px">
               {{ patient.surgeryList[n - 1].date }}
@@ -775,8 +855,8 @@
                 )
               }}
             </td>
-            <td style="width: 70px">
-              {{ patient.surgeryList[n - 1].code }}
+            <td style="padding: 3px">
+              {{ patient.surgeryList[n - 1].name }}
             </td>
             <td style="width: 40px">
               {{ patient.surgeryList[n - 1].operatorName }}
@@ -817,6 +897,11 @@
             ">{{
               filterNameInDic(patient.zyDismissWay, "getZyDismissWay")
             }}</span>
+          <span v-for="item in dics.getZyDismissWay">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
+        </div>
+        <div style="margin: 8px 8px 8px 0">
           ,拟接收医疗机构名称:
           <span style="
               display: inline-block;
@@ -835,6 +920,9 @@
             ">{{
               filterNameInDic(patient.admissAgainInOneMonth, "getHaveOrNot")
             }}</span>
+          <span v-for="item in dics.getHaveOrNot">
+            {{ item.code }}.{{ item.name }}
+          </span>&nbsp;&nbsp;&nbsp;&nbsp;
           ,目的:
           <span style="
               display: inline-block;
@@ -1151,7 +1239,37 @@
               width: 70px;
             ">{{ patient.otherFees }}</span>
         </div>
-        <div style="margin: 8px 8px 8px 0">
+        <div style="display: flex;align-items: end;margin-top: 4px">
+          <table style="border-collapse: collapse; width: calc(100% - 25px)">
+            <thead>
+              <tr>
+                <th>重症监护室名称</th>
+                <th>进入重症监护室时间( 年 月 日 时 分)</th>
+                <th>转出重症监护室时间( 年 月 日 时 分)</th>
+              </tr>
+            </thead>
+            <tbody>
+              <tr v-for="n in 3">
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                    {{ initIcuInfoListName(n) }}
+                  </div>
+                </td>
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px" class="datetime-container">
+                    {{ patient.icuInfoList[n - 1].startTime }}
+                  </div>
+                </td>
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px" class="datetime-container">
+                    {{ patient.icuInfoList[n - 1].endTime }}
+                  </div>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+        <!-- <div style="margin: 8px 8px 8px 0">
           主要诊断治愈好转情况:
           <span style="
               margin-right: 8px;
@@ -1161,6 +1279,58 @@
             ">
             {{ dismissStatusText(patient.disdiagList[0].dismissStatus) }}
           </span>
+        </div> -->
+        <div style="margin: 8px 8px 8px 0">
+          危重病例
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            ">{{ patient.wzbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
+          疑难病例
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            ">{{ patient.ynbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
+        </div>
+        <div style="margin: 8px 8px 8px 0">
+          MDT病历
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            ">{{ patient.mdtbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
+          单病种病例
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            ">{{ patient.dbzbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
+          日间手术病例
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            ">{{ patient.rjssbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
+          教学查房病历
+          <span style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            ">{{ patient.jxcfbl }}</span>
+          0.否&nbsp;1.是&nbsp;&nbsp;&nbsp;
         </div>
         <div style="margin: 8px 8px 8px 0">
           诊断符合情况: 门诊与出院
@@ -1177,8 +1347,6 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.diagConform2, "getDiagConform") }}</span>
-        </div>
-        <div style="margin: 8px 8px 8px 0">
           术前与术后
           <span style="
               display: inline-block;
@@ -1193,6 +1361,8 @@
               border-bottom: 1px solid black;
               margin-right: 12px;
             ">{{ filterNameInDic(patient.diagConform4, "getDiagConform") }}</span>
+        </div>
+        <div style="margin: 8px 8px 8px 0">
           放射与病理
           <span style="
               display: inline-block;
@@ -1200,6 +1370,8 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             ">{{ filterNameInDic(patient.diagConform5, "getDiagConform") }}</span>
+          (0.未做&nbsp;1.符合&nbsp;2.不符合&nbsp;3.不确定&nbsp;)&nbsp;&nbsp;
+
         </div>
         <div style="margin: 8px 8px 8px 0">
           抢救情况: 抢救
@@ -1219,6 +1391,45 @@
         </div>
         <div style="margin: 8px 8px 8px 0">
+          同城互认:
+          1.无
+
+          <input type="checkbox" :checked="patient.tchrw" disabled />
+          <span style="margin-left: 12px">2.影像检查</span>
+          <input type="checkbox" :checked="patient.tchryxjc" disabled />
+          <span style="margin-left: 12px">3.检验检查</span>
+          <input type="checkbox" :checked="patient.tchrjyjc" disabled />
+          <span style="margin-left: 12px">4.病理检查</span>
+          <input type="checkbox" :checked="patient.tchrbljc" disabled />
+          <span style="margin-left: 12px">9.其他</span>
+          <input type="checkbox" :checked="patient.tchrqt" disabled />
+        </div>
+        <div style="margin: 8px 8px 8px 0">
+          临床路径管理:
+          <span style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            ">
+            {{
+              patient.pathwayMng
+            }}
+          </span>
+          1.完成&nbsp;2.变异&nbsp;3.退出&nbsp;4.未入&nbsp;&nbsp;&nbsp;
+        </div>
+                <div style="width: 700px;box-sizing: border-box;">
+            <span>说明:(一)医疗付费方式&nbsp;&nbsp;1.城镇职工基本医疗保险&nbsp;&nbsp;2.城镇居民基本医疗保险&nbsp;&nbsp;3.新型农村合作医疗&nbsp;&nbsp;4.贫困救助
+              &nbsp;&nbsp;5.商业医疗保险&nbsp;&nbsp;6.全公费&nbsp;&nbsp;7.全自费&nbsp;&nbsp;8.其他社会保险&nbsp;&nbsp;9.其他
+            </span>
+          </div>
+          <div style="width: 700px;box-sizing: border-box;">
+            <span>说明:(二)身份证件类型</span>
+            <span v-for="item in dics.getPsnCertType">
+              {{ item.code }}.{{ item.name }}
+            </span>
+          </div>
+        <!-- <div style="margin: 8px 8px 8px 0">
           单病种管理:
           <span style="
               display: inline-block;
@@ -1279,7 +1490,6 @@
             }}
           </span>
         </div>
-
         <div style="margin: 8px 8px 8px 0">
           病例分型:
           <span style="
@@ -1319,7 +1529,6 @@
           </span>
         </div>
-
         <div>
           住院过程中有无进入重症监护室:
           <span style="
@@ -1341,7 +1550,6 @@
             {{ filterIcuName(patient.supplement.icuName) }}
           </span>
         </div>
-
         <div style="margin: 8px 8px 8px 0">
           进入时间:
           <span style="
@@ -1627,7 +1835,6 @@
             单位
           </span>
         </div>
-
         <div style="margin: 8px 8px 8px 0">
           肿瘤分期: T
           <span style="
@@ -1670,7 +1877,6 @@
             {{ filterNameInDic(patient.tumorLevel, "getTumorLevel") }}
           </span>
         </div>
-
         <div style="margin: 8px 8px 8px 0">
           输液输血情况: 1.输液情况:
           <span style="
@@ -1712,7 +1918,7 @@
             ">
             {{ filterNewHaveOrNot(patient.supplement.transfusionReaction) }}
           </span>
-        </div>
+        </div> -->
       </div>
     </div>
   </div>
@@ -1736,7 +1942,14 @@ const defaultSurgerySize = computed(() => {
   const surgerySize = props.patient.surgeryList.length;
   return surgerySize > 5 ? surgerySize : 5;
 });
-
+const initIcuInfoListName = (n) => {
+  if (n == 1) {
+    if (props.patient.icuInfoList[n - 1].icuName == null) {
+      return "-"
+    }
+  }
+  return props.patient.icuInfoList[n - 1].icuName
+};
 const filterNameInDic = (val, dic) => {
   if (!val) {
     return "";

+ 5 - 1
src/views/hospitalization/case-front-sheet/FillCaseFrontSheet.vue

@@ -2518,6 +2518,10 @@ const fetchSheetInfo = row => {
       if(patient.value.surgeryList[i].name == '-' || patient.value.surgeryList[i].name == null){
         patient.value.surgeryList[i].name = '-'
         break;
+      } else {
+        if(patient.value.surgeryList[i].assistantTwoName == '-' || patient.value.surgeryList[i].assistantTwoName == "" || patient.value.surgeryList[i].assistantTwoName == null){
+        patient.value.surgeryList[i].assistantTwoName = '-'
+      }
       }
     }
     //初始化重症监护室横线
@@ -2528,7 +2532,7 @@ const fetchSheetInfo = row => {
       }
     }
     
-    patient.value.surgeryList[0].name == null?patient.value.surgeryList[0].name = '-':false;
+    // patient.value.surgeryList[0].name == null?patient.value.surgeryList[0].name = '-':false;
 
     
     // 为工作单位相关字段设置默认短横线

+ 122 - 144
src/views/hospitalization/case-front-sheet/FrontSheetQuality.vue

@@ -1,72 +1,36 @@
 <template>
   <CyFlex>
     <template #header>
-      <div
-        style="padding: 6px 4px; background-color: white; border-radius: 4px"
-      >
+      <div style="padding: 6px 4px; background-color: white; border-radius: 4px">
         <CyDateRange />
-        <el-select
-          v-model="auditInquiryRequest.deptList"
-          placeholder="出院科室"
-          multiple
-          collapse-tags
-          collapse-tags-tooltip
-          filterable
-          clearable
-          style="width: 160px"
-          @change="handleStateChanged"
-        >
-          <el-option
-            v-for="item in allSmallDept"
-            :key="item.code"
-            :label="item.name"
-            :value="item.code"
-          />
+        <el-select v-model="auditInquiryRequest.deptList" placeholder="出院科室" multiple collapse-tags
+          collapse-tags-tooltip filterable clearable style="width: 160px" @change="handleStateChanged">
+          <el-option v-for="item in allSmallDept" :key="item.code" :label="item.name" :value="item.code" />
         </el-select>
-        <el-select
-          v-model="auditInquiryRequest.state"
-          @change="handleStateChanged"
-          style="width: 80px"
-        >
+        <el-select v-model="auditInquiryRequest.state" @change="handleStateChanged" style="width: 80px">
           <el-option label="未质控" value="INITIAL"></el-option>
           <el-option label="已通过" value="APPROVED"></el-option>
           <el-option label="已驳回" value="REJECTED"></el-option>
         </el-select>
-        <el-input
-          v-model="auditInquiryRequest.patNo"
-          clearable
-          placeholder="住院号"
-          style="width: 100px"
-          @keyup.enter="querySearch"
-        />
+        <el-input v-model="auditInquiryRequest.patNo" clearable placeholder="住院号" style="width: 100px"
+          @keyup.enter="querySearch" />
         <el-divider direction="vertical"></el-divider>
-        <el-button icon="Search" type="primary" @click="querySearch"
-          >检索
+        <el-button icon="Search" type="primary" @click="querySearch">检索
         </el-button>
-        <el-button icon="" type="primary" @click="showChargeList"
-          >费用清单
+        <el-button icon="" type="primary" @click="showChargeList">费用清单
         </el-button>
         <el-button type="primary" @click="openEmr">电子病历</el-button>
         <el-button type="warning" @click="openSearch">诊断搜索</el-button>
-        <span
-          v-if="auditInquiryRequest.state === 'INITIAL'"
-          style="margin: 0 12px"
-        >
+        <span v-if="auditInquiryRequest.state === 'INITIAL'" style="margin: 0 12px">
           <el-button type="primary" @click="basicControl">基础质控</el-button>
           <el-button type="success" @click="approveAudit">审核通过</el-button>
           <el-button type="danger" @click="rejectAudit">审核不通过</el-button>
         </span>
-        <span
-          v-if="auditInquiryRequest.state !== 'INITIAL'"
-          style="margin: 0 12px"
-        >
-          <el-button icon="Refresh" type="danger" @click="beforeRevokeApprove"
-            >撤销审核</el-button
-          >
+        <span v-if="auditInquiryRequest.state !== 'INITIAL'" style="margin: 0 12px">
+          <el-button icon="Refresh" type="danger" @click="beforeRevokeApprove">撤销审核</el-button>
         </span>
         <el-button type="info" @click="exportExcel(1)">导出审核记录</el-button>
-        <el-button v-if="isGroupLeader" type="info" @click="exportExcel(2)"
-          >导出编码组长审核记录
+        <el-button v-if="isGroupLeader" type="info" @click="exportExcel(2)">导出编码组长审核记录
         </el-button>
       </div>
     </template>
@@ -76,11 +40,7 @@
           <CyVxeTable>
             <VxeColumn title="姓名" width="80">
               <template #default="{ row }">
-                <img
-                  :src="row.patGender === 'MALE' ? maleIcon : femaleIcon"
-                  class="sex-icon"
-                  alt=""
-                />
+                <img :src="row.patGender === 'MALE' ? maleIcon : femaleIcon" class="sex-icon" alt="" />
                 {{ row.patName }}
               </template>
             </VxeColumn>
@@ -88,8 +48,7 @@
               <template #default="{ row }">
                 <span style="font-weight: bold; color: black">{{
                   row.patNo
-                }}</span
-                >-{{ row.times }}
+                }}</span>-{{ row.times }}
               </template>
             </VxeColumn>
             <VxeColumn title="医生" width="80">
@@ -102,21 +61,11 @@
                 </div>
               </template>
             </VxeColumn>
-            <VxeColumn
-              title="申请时间"
-              field="applicationTime"
-              width="135"
-            ></VxeColumn>
+            <VxeColumn title="申请时间" field="applicationTime" width="135"></VxeColumn>
             <VxeColumn width="50">
               <template #default="{ row }">
-                <el-button
-                  icon="Clock"
-                  type="primary"
-                  plain
-                  circle
-                  title="审核记录"
-                  @click.stop="viewAuditHistory(row)"
-                ></el-button>
+                <el-button icon="Clock" type="primary" plain circle title="审核记录"
+                  @click.stop="viewAuditHistory(row)"></el-button>
               </template>
             </VxeColumn>
           </CyVxeTable>
@@ -132,44 +81,26 @@
 
     <el-drawer v-model="showMessageDrawer" title="首页基础质控结果">
       <div class="page-inner">
-        <div
-          v-if="forceVerifies.length === 0 && adviceVerifies.length === 0"
-          class="no-verify-message"
-        >
+        <div v-if="forceVerifies.length === 0 && adviceVerifies.length === 0" class="no-verify-message">
           暂无校验内容
         </div>
-        <div
-          v-show="forceVerifies.length > 0"
-          style="padding: 8px 0 4px 0; font-weight: bold"
-        >
+        <div v-show="forceVerifies.length > 0" style="padding: 8px 0 4px 0; font-weight: bold">
           以下条目为强制要求,请完善。
         </div>
-        <div
-          v-for="(item, index) in forceVerifies"
-          :key="index"
-          :style="messageColor(index)"
-          class="message-item"
-          @click="currentMessageIndex = index"
-        >
+        <div v-for="(item, index) in forceVerifies" :key="index" :style="messageColor(index)" class="message-item"
+          @click="currentMessageIndex = index">
           {{ index + 1 }}、{{ item.name }}
         </div>
-        <div
-          v-show="adviceVerifies.length > 0"
-          style="padding: 8px 0 4px 0; font-weight: bold"
-        >
+        <div v-show="adviceVerifies.length > 0" style="padding: 8px 0 4px 0; font-weight: bold">
           以下条目为建议执行,不做强制要求。
         </div>
-        <div
-          v-for="(item, index) in adviceVerifies"
-          :key="index"
-          style="
+        <div v-for="(item, index) in adviceVerifies" :key="index" style="
             padding: 6px;
             margin-bottom: 6px;
             border-radius: 4px;
             background: #eea7a752;
             color: #ff2b2b;
-          "
-        >
+          ">
           {{ index + 1 }}、{{ item.name }}
         </div>
       </div>
@@ -178,29 +109,14 @@
     <el-dialog v-model="showSearch" title="诊断搜索" width="730px" draggable>
       检索依据:
       <el-select v-model="searchMethod" style="width: 100px">
-        <el-option
-          v-for="item in searchMethods"
-          :key="item.code"
-          :label="item.name"
-          :value="item.code"
-        ></el-option>
+        <el-option v-for="item in searchMethods" :key="item.code" :label="item.name" :value="item.code"></el-option>
       </el-select>
       &nbsp;&nbsp;&nbsp;&nbsp; 搜索内容:
-      <el-input
-        v-model="searchContent"
-        prefix-icon="Search"
-        placeholder="请输入搜索内容"
-        style="width: 160px"
-        clearable
-        @input="executeSearch"
-      ></el-input>
-      <div
-        v-if="showSurgeryCommand"
-        style="padding: 12px 0 4px 4px; color: gray"
-      >
+      <el-input v-model="searchContent" prefix-icon="Search" placeholder="请输入搜索内容" style="width: 160px" clearable
+        @input="executeSearch"></el-input>
+      <div v-if="showSurgeryCommand" style="padding: 12px 0 4px 4px; color: gray">
         根据患者主诊断
-        <el-tag
-          >{{ sheet.disdiagList[0].code }}
+        <el-tag>{{ sheet.disdiagList[0].code }}
           <span style="color: blue">{{ sheet.disdiagList[0].name }}</span>
         </el-tag>
         ,推荐以下手术操作:
@@ -208,31 +124,16 @@
       <el-table :data="searchResults" height="400" stripe highlight-current-row>
         <el-table-column prop="code" label="编码" width="130"></el-table-column>
         <el-table-column prop="name" label="名称"></el-table-column>
-        <el-table-column
-          v-if="showSurgeryCommand"
-          prop="ssfz"
-          label="手术分值"
-          width="60"
-        ></el-table-column>
+        <el-table-column v-if="showSurgeryCommand" prop="ssfz" label="手术分值" width="60"></el-table-column>
       </el-table>
       <div style="margin-top: 15px; width: 100%; text-align: right">
-        <el-button
-          type="primary"
-          icon="ArrowLeft"
-          @click="lastPage"
-          :disabled="showSurgeryCommand || currentSRPage === 1"
-        >
+        <el-button type="primary" icon="ArrowLeft" @click="lastPage"
+          :disabled="showSurgeryCommand || currentSRPage === 1">
           上一页
         </el-button>
-        <el-button
-          type="primary"
-          icon="ArrowRight"
-          @click="nextPage"
-          :disabled="
-            showSurgeryCommand ||
-            (currentSRPage > 1 && searchResults.length < 10)
-          "
-        >
+        <el-button type="primary" icon="ArrowRight" @click="nextPage" :disabled="showSurgeryCommand ||
+          (currentSRPage > 1 && searchResults.length < 10)
+          ">
           下一页
         </el-button>
       </div>
@@ -244,7 +145,10 @@
 </template>
 
 <script setup lang="ts">
-import { autopsies, haveOrNot, searchMethods, yesOrNo } from "./common";
+import {
+  autopsies, haveOrNot, searchMethods, yesOrNo,
+  noCertReasons
+} from "./common";
 import { onMounted, reactive } from "vue";
 import { operations } from "@/data";
 import {
@@ -359,6 +263,7 @@ function initSheet() {
       {},
     ],
     surgeryList: [{}, {}, {}, {}, {}],
+    icuInfoList: [{}, {}, {}],
     supplement: {},
   };
 }
@@ -374,6 +279,78 @@ const fetchSheetInfo = (patNo, times) => {
     inOutFlag: 2,
   }).then(res => {
     sheet.value = res;
+    // console.log('res',sheet.value)
+    // initSheetInfoLine(sheet);
+    if (sheet.value.age == null) {
+      console.log("initSheetInfoLine0", sheet.value.age)
+      // patientTransformData.value.age = '-'
+    } else {
+      sheet.value.infAge == null ? sheet.value.infAge = '-' : false;
+      sheet.value.ageDays == null ? sheet.value.ageDays = '-' : false;
+      sheet.value.newBornWeight1 == null ? sheet.value.newBornWeight1 = '-' : false;
+      sheet.value.newBornWeight2 == null ? sheet.value.newBornWeight2 = '-' : false;
+      sheet.value.newBornAdmissWeight == null ? sheet.value.newBornAdmissWeight = '-' : false;
+    }
+
+    sheet.value.noCertReason == null ? sheet.value.noCertReason = "-" : false;
+    sheet.value.autopsy == null ? sheet.value.autopsy = "-" : false;
+    sheet.value.transDept == null ? sheet.value.transDept = "-" : false;
+    sheet.value.hurtReasonName == null ? sheet.value.hurtReasonName = "-" : false;
+    sheet.value.hurtReasonCode == null ? sheet.value.hurtReasonCode = "-" : false;
+    if (sheet.value.pathologicDiagCode == null || sheet.value.pathologicDiagCode == "-") {
+      sheet.value.pathologicDiagStr = "-"
+      sheet.value.pathologicDiagCode = "-"
+    }
+
+    if (sheet.value.internshipDoctor == null || sheet.value.internshipDoctor == "-") {
+      sheet.value.internshipDoctor = "-"
+      sheet.value.internshipDoctorName = "-"
+    }
+    if (sheet.value.studyDoctorName == null || sheet.value.studyDoctorName == "-") {
+      sheet.value.studyDoctorName = "-"
+      sheet.value.studyDoctorNameName = "-"
+    }
+    sheet.value.blh == null ? sheet.value.blh = "-" : false;
+    sheet.value.transDept == null ? sheet.value.transDept = "-" : false;
+    //初始化其他诊断横线
+    for (let i = 1; i < sheet.value.disdiagList.length; i++) {
+      console.log('1111', sheet.value.disdiagList[i])
+      if (sheet.value.disdiagList[i].name == '-' || sheet.value.disdiagList[i].name == '' || sheet.value.disdiagList[i].name == null) {
+        sheet.value.disdiagList[i].name = '-'
+        break;
+      }
+    }
+    //初始化手术横线
+    for (let i = 0; i < sheet.value.surgeryList.length; i++) {
+      if (sheet.value.surgeryList[i].name == '-' || sheet.value.surgeryList[i].name == null) {
+        sheet.value.surgeryList[i].name = '-'
+        break;
+      }
+    }
+    //初始化重症监护室横线
+    for (let i = 0; i < sheet.value.icuInfoList.length; i++) {
+      if (sheet.value.icuInfoList[i].name == '-' || sheet.value.icuInfoList[i].name == null) {
+        sheet.value.icuInfoList[i].name = '-'
+        break;
+      }
+    }
+
+    sheet.value.surgeryList[0].name == null ? sheet.value.surgeryList[0].name = '-' : false;
+
+
+    // 为工作单位相关字段设置默认短横线
+    if (!sheet.value.unitName || sheet.value.unitName.trim() === '') {
+      sheet.value.unitName = '-';
+    }
+    if (!sheet.value.unitPlace || sheet.value.unitPlace.trim() === '') {
+      sheet.value.unitPlace = '-';
+    }
+    if (!sheet.value.unitPhone || sheet.value.unitPhone.trim() === '') {
+      sheet.value.unitPhone = '-';
+    }
+    if (!sheet.value.unitZipCode || sheet.value.unitZipCode.trim() === '') {
+      sheet.value.unitZipCode = '-';
+    }
   });
 };
 
@@ -490,13 +467,13 @@ const currentMessageIndex = ref(null);
 const messageColor = id => {
   return currentMessageIndex.value === id
     ? {
-        background: "#ff2b2b",
-        color: "white",
-      }
+      background: "#ff2b2b",
+      color: "white",
+    }
     : {
-        background: "#eea7a752",
-        color: "#ff2b2b",
-      };
+      background: "#eea7a752",
+      color: "#ff2b2b",
+    };
 };
 
 function approveAudit() {
@@ -519,7 +496,7 @@ function approveAudit() {
         querySearch();
       });
     })
-    .catch(() => {});
+    .catch(() => { });
 }
 
 function rejectAudit() {
@@ -552,7 +529,7 @@ function beforeRevokeApprove() {
     .then(() => {
       executeRevoke();
     })
-    .catch(() => {});
+    .catch(() => { });
 }
 
 function executeRevoke() {
@@ -638,6 +615,7 @@ onMounted(() => {
     res.getYesOrNo = yesOrNo;
     res.getHaveOrNot = haveOrNot;
     res.getAutopsies = autopsies;
+    res.noCertReasons = noCertReasons.slice(1);
     dics.value = res;
   });
 });