瀏覽代碼

病案首页1

‘chenzhilei’ 2 天之前
父節點
當前提交
980da335d7

+ 146 - 309
src/components/inpatient/frontsheet-printpage/HeadPage.vue

@@ -36,7 +36,7 @@
           医疗机构:
           <span style="font-weight: 700">{{ env.VITE_HOSPITAL_NAME }}</span>
           (组织机构代码:
-          <span style="font-weight: 700">{{ env.VITE_HOSPITAL_CODE }}</span>
+          <span style="font-weight: 700">{{ env.VITE_UNIFIED_SOCIAL_CREDIT_CODE_CODE }}</span>
         </div>
         <div style="margin-right: 8px; height: 25px; line-height: 25px">
@@ -64,195 +64,151 @@
         </div>
       </div>
       <div style="border: 1px solid black; padding: 5px">
-        <div style="margin: 4px 8px 10px 0">
-          姓名:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              margin-right: 8px;
-              width: 200px;
-              border-bottom: 1px solid black;
-            "
-            >{{ patient.name }}</span
-          >
-          性别:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              margin-right: 8px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.sex, "getSexCode") }}</span
-          >
-          出生日期:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              margin-right: 8px;
-              width: 90px;
-              border-bottom: 1px solid black;
-            "
-            >{{ patient.birthDate }}</span
-          >
-          年龄:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              margin-right: 8px;
-              width: 30px;
-              border-bottom: 1px solid black;
-            "
-            >{{ patient.age }}</span
-          >
-          国籍:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              margin-right: 8px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.country, "getCountry") }}</span
-          >
+        <div style="display: flex;align-items: end">
+          姓名
+          <span style="width: 130px;padding-left: 5px;border-bottom: 1px solid black">
+            {{patient.name}}
+          </span>
+          <span style="margin-left: 12px">性别</span>
+          <span style="width: 50px;padding-left: 5px; border-bottom: 1px solid black">
+            {{patient.sex}}
+          </span>
+          1.男&nbsp;2.女&nbsp;9.未说明的性别&nbsp;&nbsp;&nbsp;
+          <span style="margin-left: 12px">出生日期</span>
+          <div id="birthDate" style="display: flex;align-items: end">
+            <span
+                style="width: 35px;padding-left: 5px; border-bottom: 1px solid black"
+            >
+              {{patient.birthYear}}
+            </span>
+            年
+            <span
+                style="width: 20px;padding-left: 5px; border-bottom: 1px solid black"
+            >
+              {{patient.birthMonth}}
+            </span>
+            月
+            <span
+                style="width: 20px;padding-left: 5px; border-bottom: 1px solid black"
+            >
+              {{patient.birthDay}}
+            </span>
+            日
+          </div>
         </div>
-        <div style="margin: 6px 8px 6px 0">
-          年龄不足 1 周岁的)年龄:
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          年龄
           <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 50px;
-            "
-            >{{ patient.ageDays }}</span
+              style="width: 25px;padding-left: 5px; border-bottom: 1px solid black"
           >
-          天<span style="margin-left: 8px">新生儿出生体重:</span>
+            {{patient.age}}
+          </span>
+          岁
+          <span style="margin-left: 12px; ">国籍</span>
+          <span style="width: 160px;padding-left: 5px; border-bottom: 1px solid black">
+            {{filterNameInDic(patient.country,'getCountry')}}
+          </span>
+          <span style="margin-left: 12px; ">(年龄不足1周岁的)年龄</span>
           <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 70px;
-            "
-            >{{ patient.newBornWeight }}</span
+              style="width: 20px;padding-left: 5px; border-bottom: 1px solid black"
           >
-          克<span style="margin-left: 8px">新生儿入院体重:</span>
+            {{patient.infAge}}
+          </span>月
+          <span style="margin-left: 12px; ">(新生儿年龄≤28天)年龄</span>
           <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 70px;
-            "
-            >{{ patient.newBornAdmissWeight }}</span
+              style="width: 20px;padding-left: 5px; border-bottom: 1px solid black"
           >
-          克
+            {{patient.ageDays}}
+          </span>天
         </div>
-        <div style="margin: 6px 8px 6px 0">
-          出生地:
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          新生儿出生体重 (一孩
           <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 230px;
-            "
-            >{{ patient.birthPlaceName }}</span
+              style="width: 40px;padding-left: 5px; border-bottom: 1px solid black"
           >
-          籍贯:
+            {{patient.newBornWeight1}}
+          </span>克
+          <span style="margin-left: 12px; ">二孩</span>
           <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 230px;
-            "
-            >{{ patient.nativePlaceName }}</span
+              style="width: 40px;padding-left: 5px; border-bottom: 1px solid black"
           >
-          民族:
+            {{patient.newBornWeight2}}
+          </span>克)
+          <span style="margin-left: 12px; ">
+              新生儿入院体重
+            </span>
           <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.nation, "getNation") }}</span
-          >
+              style="width: 50px;padding-left: 5px; border-bottom: 1px solid black"
+          >{{patient.newBornAdmissWeight}}</span>克
         </div>
-        <div style="margin: 6px 8px 6px 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;
-            "
-            >{{ filterNameInDic(patient.occupation, "getOccupation") }}</span
-          >
-          婚姻:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.marriage, "getMarriageCode") }}</span
-          >
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          身份证件类型
+          <span style="width: 160px;padding-left: 5px;border-bottom: 1px solid black">
+            {{patient.certType}}
+          </span>
+          <span style="margin-left: 12px; ">身份证件号码</span>
+          <span style="width: 160px;padding-left: 5px; border-bottom: 1px solid black">
+            {{patient.socialNo}}
+          </span>
         </div>
-        <div style="margin: 6px 8px 6px 0">
-          现住址:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 300px;
-            "
-            >{{ patient.livePlaceCombo }}</span
-          >
-          电话:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-            "
-            >{{ patient.phone }}</span
-          >
-          邮编:
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          身份证件不详的具体原因
+          <span style="width: 140px;padding-left: 5px; border-bottom: 1px solid black">
+            {{patient.noCertReason}}
+          </span>
+          其他
           <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 70px;
-            "
-            >{{ patient.addrZipCode }}</span
+              
+              style="width: 220px;padding-left: 5px;margin-left: 12px; border-bottom: 1px solid black"
           >
+            {{patient.noCertReasonInput}}
+          </span>
         </div>
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          <div style="display: flex;align-items: end">
+            <div style="width: 50px">出生地</div>
+            <span style="width: 230px;padding-left: 5px; border-bottom: 1px solid black"
+            >{{patient.birthPlaceName}}</span>
+            </div>
+          
+          <div style="display: flex;align-items: end;margin-left: 12px; ">
+            <div style="width: 50px">
+              籍贯
+            </div>
+            <span
+                style="width: 170px;padding-left: 5px; border-bottom: 1px solid black"
+            >{{patient.nativePlaceName}}</span>
+        </div>
+        </div>
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          民族
+          <span style="width: 80px;padding-left: 5px;border-bottom: 1px solid black">
+            {{filterNameInDic(patient.nation, 'getNation')}}
+          </span>
+          <div style="margin-left: 12px; width: 30px">职业</div>
+          <span style="padding-left: 5px;width: 300px; border-bottom: 1px solid black">
+            {{filterNameInDic(patient.occupation,'getOccupation')}}
+          </span>
+          <span style="margin-left: 12px; ">婚姻</span>
+          <span style="width: 80px;padding-left: 5px; border-bottom: 1px solid black">
+            {{filterNameInDic(patient.marriage,'getMarriageCode')}}
+          </span>
+        </div>
+        <div style="display: flex;align-items: end;margin-top: 4px; ">
+          <div style="display: flex;align-items: end">
+            现住址
+            <div
+                style="width: 350px;padding-left: 5px; border-bottom: 1px solid black"
+            >{{patient.livePlace}}</div>
+          </div>
+          <span style="margin-left: 12px; ">电话</span>
+          <span style="width: 90px;padding-left: 5px; border-bottom: 1px solid black">{{patient.phone}}</span>
+          <span style="margin-left: 12px; ">邮编</span>
+          <span
+              style="width: 70px;padding-left: 5px; border-bottom: 1px solid black"
+          >{{patient.lpZipCode}}</span>
+        </div>
+
         <div style="margin: 6px 8px 6px 0">
           户口地址:
           <span
@@ -374,16 +330,9 @@
             "
             >{{ filterNameInDic(patient.zyAdmissWay, "getAdmissWay") }}</span
           >
-          是否手术:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.hasSurgery, "getOperations") }}</span
-          >
+          <span v-for="item in dics.getAdmissWay">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
         </div>
         <div style="margin: 10px 0">
           入院时间:
@@ -508,86 +457,7 @@
             {{ patient.clinicDiagCode }}
           </span>
         </div>
-        <div>
-          入院诊断名称:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 350px;
-              text-overflow: ellipsis;
-              white-space: nowrap;
-              overflow: hidden;
-            "
-          >
-            {{ patient.supplement.admDiagName }}
-          </span>
-          入院诊断编码:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 110px;
-            "
-          >
-            {{ patient.supplement.admDiagCode }}
-          </span>
-        </div>
-        <div style="margin: 6px 8px 6px 0">
-          入院时情况:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 38px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 60px;
-            "
-          >
-            {{ filterAdmStatus(patient.supplement.admStatus) }}
-          </span>
-          入院后确诊日期:
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            "
-          >
-            {{ patient.supplement.diagnosisConfirmYear }}
-          </span>
-          年
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 20px;
-            "
-          >
-            {{ patient.supplement.diagnosisConfirmMonth }}
-          </span>
-          月
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 20px;
-            "
-          >
-            {{ patient.supplement.diagnosisConfirmDay }}
-          </span>
-          日
-        </div>
+        
         <div style="height: max-content; width: 720px">
           <span style="display: inline-block; width: 360px">
             <table
@@ -601,7 +471,7 @@
                 <th>主要诊断</th>
                 <th>疾病编码</th>
                 <th>入院病情</th>
-                <th>出院病情</th>
+                <th>出院转归</th>
               </tr>
               <tr>
                 <td style="width: 170px">
@@ -687,7 +557,7 @@
               margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 380px;
+              width: 340px;
             "
             >{{ patient.hurtReasonName }}</span
           >
@@ -749,6 +619,9 @@
             "
             >{{ filterNameInDic(patient.allergy, "getHaveOrNot") }}</span
           >
+          <span v-for="item in dics.getHaveOrNot">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
           ,过敏药物:
           <span
             style="
@@ -771,51 +644,6 @@
             >{{ filterNameInDic(patient.autopsy, "getAutopsies") }}</span
           >
         </div>
-        <div style="margin: 6px 8px 6px 0">
-          输血前四项: HbsAg
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-            "
-            >{{ filterNameInDic(patient.hbsAg, "getHbsag") }}</span
-          >
-          HCV-Ab
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-left: 8px;
-            "
-            >{{ filterNameInDic(patient.hcvAb, "getHbsag") }}</span
-          >
-          HIV-Ab
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-left: 8px;
-            "
-            >{{ filterNameInDic(patient.hivAb, "getHbsag") }}</span
-          >
-          TP-Ab
-          <span
-            style="
-              display: inline-block;
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-left: 8px;
-            "
-            >{{ filterNameInDic(patient.tpAb, "getHbsag") }}</span
-          >
-        </div>
         <div style="margin: 6px 8px 6px 0">
           血型:
           <span
@@ -827,6 +655,9 @@
             "
             >{{ filterNameInDic(patient.bloodType, "getBloodType") }}</span
           >
+          <span v-for="item in dics.getBloodType">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
           Rh:
           <span
             style="
@@ -837,6 +668,9 @@
             "
             >{{ filterNameInDic(patient.rh, "getHbsag") }}</span
           >
+          <span v-for="item in dics.getHbsag">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
         </div>
         <div style="margin: 6px 8px 6px 0">
           科室主任:
@@ -944,6 +778,9 @@
               filterNameInDic(patient.qualityControlLevel, "getQualityLevel")
             }}
           </span>
+          <span v-for="item in dics.getQualityLevel">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
           质控医师:
           <span
             style="

+ 96 - 543
src/components/inpatient/frontsheet-printpage/TailPage.vue

@@ -92,6 +92,9 @@
               filterNameInDic(patient.zyDismissWay, "getZyDismissWay")
             }}</span
           >
+          <span v-for="item in dics.getZyDismissWay">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
           ,拟接收医疗机构名称:
           <span
             style="
@@ -116,6 +119,9 @@
               filterNameInDic(patient.admissAgainInOneMonth, "getHaveOrNot")
             }}</span
           >
+          <span v-for="item in dics.getHaveOrNot">
+              {{ item.code }}.{{ item.name }}
+            </span>&nbsp;&nbsp;&nbsp;&nbsp;
           ,目的:
           <span
             style="
@@ -538,21 +544,38 @@
             >{{ patient.otherFees }}</span
           >
         </div>
+        <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">
+                    {{ patient.icuInfoList[n - 1].icuName }}
+                  </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: 6px 8px 6px 0">
-          主要诊断治愈好转情况:
-          <span
-            style="
-              margin-right: 8px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              padding: 0 5px;
-            "
-          >
-            {{ dismissStatusText(patient.disdiagList[0].dismissStatus) }}
-          </span>
-        </div>
-        <div style="margin: 6px 8px 6px 0">
-          诊断符合情况: 门诊与出院
+          危重病例
           <span
             style="
               display: inline-block;
@@ -560,9 +583,9 @@
               border-bottom: 1px solid black;
               margin-right: 12px;
             "
-            >{{ filterNameInDic(patient.diagConform1, "getDiagConform") }}</span
+            >{{ filterNameInDic(patient.wzbl, "getDiagConform") }}</span
           >
-          入院与出院
+          疑难病例
           <span
             style="
               display: inline-block;
@@ -570,11 +593,11 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             "
-            >{{ filterNameInDic(patient.diagConform2, "getDiagConform") }}</span
+            >{{ filterNameInDic(patient.ynbl, "getDiagConform") }}</span
           >
         </div>
         <div style="margin: 6px 8px 6px 0">
-          术前与术后
+          MDT病历
           <span
             style="
               display: inline-block;
@@ -582,9 +605,9 @@
               border-bottom: 1px solid black;
               margin-right: 12px;
             "
-            >{{ filterNameInDic(patient.diagConform3, "getDiagConform") }}</span
+            >{{ filterNameInDic(patient.mdtbl, "getDiagConform") }}</span
           >
-          临床与病理
+          单病种病例
           <span
             style="
               display: inline-block;
@@ -594,7 +617,7 @@
             "
             >{{ filterNameInDic(patient.diagConform4, "getDiagConform") }}</span
           >
-          放射与病理
+          日间手术病例
           <span
             style="
               display: inline-block;
@@ -604,32 +627,19 @@
             "
             >{{ filterNameInDic(patient.diagConform5, "getDiagConform") }}</span
           >
-        </div>
-        <div style="margin: 6px 8px 6px 0">
-          抢救情况: 抢救
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 90px;
-            "
-            >{{ patient.rescueTimes }}</span
-          >
-          次, 成功
+          教学查房病历
           <span
             style="
               display: inline-block;
+              margin-right: 8px;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 90px;
             "
-            >{{ patient.rescueSuccessTimes }}</span
+            >{{ filterNameInDic(patient.diagConform5, "getDiagConform") }}</span
           >
-          次
         </div>
         <div style="margin: 6px 8px 6px 0">
-          单病种管理:
+          诊断符合情况: 门诊与出院
           <span
             style="
               display: inline-block;
@@ -637,11 +647,9 @@
               border-bottom: 1px solid black;
               margin-right: 12px;
             "
-            >{{
-              filterNameInDic(patient.monopathyManagement, "getYesOrNo")
-            }}</span
+            >{{ filterNameInDic(patient.mzycy, "getDiagConform") }}</span
           >
-          实施临床路径管理:
+          入院与出院
           <span
             style="
               display: inline-block;
@@ -649,15 +657,9 @@
               border-bottom: 1px solid black;
               margin-right: 12px;
             "
+            >{{ filterNameInDic(patient.ryycy, "getDiagConform") }}</span
           >
-            {{
-              filterNameInDic(
-                patient.clinicalPathwayManagement,
-                "getClinicalPathwayManagement"
-              )
-            }}
-          </span>
-          实施DRGs管理:
+          术前与术后
           <span
             style="
               display: inline-block;
@@ -665,33 +667,9 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             "
-            >{{
-              filterNameInDic(patient.drgsManagement, "getDrgsManagement")
-            }}</span
+            >{{ filterNameInDic(patient.sqysh, "getDiagConform") }}</span
           >
-        </div>
-        <div style="margin: 6px 8px 6px 0">
-          抗生素使用:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-            >{{ filterNameInDic(patient.useAntibiotic, "getYesOrNo") }}</span
-          >
-          细菌培养标本送检:
-          <span
-            style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-            >{{ filterNameInDic(patient.bacilliculture, "getYesOrNo") }}</span
-          >
-          法定传染病:
+          临床与病理
           <span
             style="
               display: inline-block;
@@ -699,512 +677,87 @@
               padding: 0 4px;
               border-bottom: 1px solid black;
             "
+            >{{ filterNameInDic(patient.lcybl, "getDiagConform") }}</span
           >
-            {{
-              filterNameInDic(patient.statutoryEpidemic, "getStatutoryEpidemic")
-            }}
-          </span>
         </div>
         <div style="margin: 6px 8px 6px 0">
-          病例分型:
-          <span
-              style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-          >
-            {{
-              filterNameInDic(
-                  patient.caseClassification,
-                  "getCaseClassification"
-              )
-            }}
-          </span>
-          有创呼吸机使用时间:
+          放射与病理
           <span
-              style="
+            style="
               display: inline-block;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 40px;
               margin-right: 12px;
             "
+            >{{ filterNameInDic(patient.fsybl, "getDiagConform") }}</span
           >
-            {{patient.supplement.ventilatorUseTime}}
-          </span>
-          小时
-          <span style="display:inline-block; margin-left: 30px">
-              新生儿 5分钟 Apgar评分:
-              <span
-                  style="
-                  display: inline-block;
-                  padding: 0 4px;
-                  border-bottom: 1px solid black;
-                  width: 40px;
-                "
-              >
-                {{ patient.xxeApgar }}
-              </span>
-            分
-            </span>
         </div>
-
-        <div>
-          住院过程中有无进入重症监护室:
-          <span
-              style="
-                  display: inline-block;
-                  padding: 0 4px;
-                  border-bottom: 1px solid black;
-                  width: 40px;
-              ">
-            {{filterNewHaveOrNot(patient.supplement.hadIcu)}}
-          </span>
-
-          重症监护室名称:
-          <span
-              style="
-                  display: inline-block;
-                  padding: 0 4px;
-                  border-bottom: 1px solid black;
-                  width: 300px;
-              "
-          >
-            {{filterIcuName(patient.supplement.icuName)}}
-          </span>
-        </div>
-
         <div style="margin: 6px 8px 6px 0">
-          进入时间:
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 40px"
-          >
-            {{patient.supplement.startIcuYear}}
-          </span>
-          年
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startIcuMonth}}
-          </span>
-          月
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startIcuDay}}
-          </span>
-          日
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startIcuHour}}
-          </span>
-          时
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startIcuMinute}}
-          </span>
-          分
-          <span
-           style="
-            display: inline-block;
-            margin-left: 12px;
-           "
-          >
-            转出时间:
-          </span>
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 40px"
-          >
-            {{patient.supplement.endIcuYear}}
-          </span>
-          年
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endIcuMonth}}
-          </span>
-          月
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endIcuDay}}
-          </span>
-          日
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endIcuHour}}
-          </span>
-          时
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endIcuMinute}}
-          </span>
-          分
-        </div>
-        <div style="margin: 6px 8px 6px 0">
-          住院过程中是否使用ECMO:
-          <span
-              style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-              margin-right: 12px;
-            "
-          >
-            {{filterYesOrNo(patient.supplement.hadEcmo)}}
-          </span>
-          模式:
+          抢救情况: 抢救
           <span
-              style="
+            style="
               display: inline-block;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 100px;
-              margin-right: 12px;
+              width: 90px;
             "
+            >{{ patient.rescueTimes }}</span
           >
-            {{patient.supplement.ecmoMode}}
-          </span>
-          膜肺更换次数:
+          次, 成功
           <span
-              style="
+            style="
               display: inline-block;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              width: 40px;
+              width: 90px;
             "
+            >{{ patient.rescueSuccessTimes }}</span
           >
-            {{patient.supplement.memlungChangeTimes}}
-          </span>
         </div>
-        <div>
-          上机时间:
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 40px"
-          >
-            {{patient.supplement.startEcmoYear}}
-          </span>
-          年
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startEcmoMonth}}
-          </span>
-          月
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startEcmoDay}}
-          </span>
-          日
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startEcmoHour}}
-          </span>
-          时
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.startEcmoMinute}}
-          </span>
-          分
-
-          <span
-              style="
-            display: inline-block;
-            margin-left: 12px;
-           "
-          >
-            撤机时间:
-          </span>
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 40px"
-          >
-            {{patient.supplement.endEcmoYear}}
-          </span>
-          年
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endEcmoMonth}}
-          </span>
-          月
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endEcmoDay}}
-          </span>
-          日
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endEcmoHour}}
-          </span>
-          时
-          <span
-              style="
-              display: inline-block;
-              padding-left: 4px;
-              border-bottom: 1px solid black;
-              width: 20px"
-          >
-            {{patient.supplement.endEcmoMinute}}
-          </span>
-          分
-        </div>
         <div style="margin: 6px 8px 6px 0">
-          输血品种:红细胞
-          <span
-              style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            "
-          >
-            {{patient.supplement.erythrocyte}}
-          </span>
-          单位
-          <span style="display: inline-block; margin-left:10px">
-            血小板
-            <span style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            "
-            >
-              {{patient.supplement.platelet}}
-            </span>
-            单位
-          </span>
-          <span style="display: inline-block; margin-left:10px">
-            血浆
-            <span style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            "
-            >
-              {{patient.supplement.plasma}}
-            </span>
-            ml
-          </span>
-          <span style="display: inline-block; margin-left:10px">
-            全血
-            <span style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            "
-            >
-              {{patient.supplement.wholeBlood}}
-            </span>
-            单位
-          </span>
-          <span style="display: inline-block; margin-left:10px">
-            自体血回输
-            <span style="
-              display: inline-block;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              width: 40px;
-            ">
-              {{patient.supplement.autotransfusion}}
-            </span>
-            单位
-          </span>
+          同城互认:
+            1.无
+            <el-checkbox v-model="patient.tchrw"></el-checkbox>
+            <span style="margin-left: 12px">2.影像检查</span>
+            <el-checkbox v-model="patient.tchryxjc"></el-checkbox>
+            <span style="margin-left: 12px">3.检验检查</span>
+            <el-checkbox v-model="patient.tchrjyjc"></el-checkbox>
+            <span style="margin-left: 12px">4.病理检查</span>
+            <el-checkbox v-model="patient.tchrbljc"></el-checkbox>
+            <span style="margin-left: 12px">9.其他</span>
+            <el-checkbox v-model="patient.tchrqt"></el-checkbox>
         </div>
-
         <div style="margin: 6px 8px 6px 0">
-          肿瘤分期: T
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-          >
-            {{ filterNameInDic(patient.tumorLevelT, "getTumorLevelT") }}
-          </span>
-          N
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-          >
-            {{ filterNameInDic(patient.tumorLevelN, "getTumorLevelN") }}
-          </span>
-          M
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 12px;
-            "
-          >
-            {{ filterNameInDic(patient.tumorLevelM, "getTumorLevelM") }}
-          </span>
-          分期
+          临床路径管理:
           <span
             style="
               display: inline-block;
-              width: 30px;
               padding: 0 4px;
               border-bottom: 1px solid black;
-              margin-right: 18px;
+              margin-right: 12px;
             "
           >
-            {{ filterNameInDic(patient.tumorLevel, "getTumorLevel") }}
+            {{
+              filterNameInDic(
+                patient.clinicalPathwayManagement,
+                "getClinicalPathwayManagement"
+              )
+            }}
           </span>
         </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: 6px 8px 6px 0">
-          输液输血情况:
-          1.输液情况:
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 18px;
-            "
-          >
-            {{filterNewHaveOrNot(patient.supplement.infusion)}}
-          </span>
-          2.输液反应:
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 18px;
-            "
-          >
-            {{filterNewHaveOrNot(patient.supplement.infusionReaction)}}
-          </span>
-          3.输血情况:
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 18px;
-            "
-          >
-            {{filterNewHaveOrNot(patient.supplement.transfusion)}}
-          </span>
-          4.输血反应:
-          <span
-              style="
-              display: inline-block;
-              width: 30px;
-              padding: 0 4px;
-              border-bottom: 1px solid black;
-              margin-right: 18px;
-            "
-          >
-            {{filterNewHaveOrNot(patient.supplement.transfusionReaction)}}
-          </span>
-        </div>
       </div>
     </div>
   </div>

+ 210 - 204
src/views/hospitalization/case-front-sheet/FillCaseFrontSheet.vue

@@ -138,6 +138,7 @@
       </aside>
       <div
         style="
+        opacity: 1;
           min-width: 800px;
           padding: 0 20px 0 35px;
           overflow-y: scroll;
@@ -228,17 +229,17 @@
             <span style="margin-left: 12px">出生日期</span>
             <div id="birthDate" style="display: flex;align-items: end">
               <input
-                  v-model="patient.birthYear"
+                  v-model="patientTransformData.birthYear"
                   style="width: 35px;padding-left: 5px"
               />
               <input
-                  v-model="patient.birthMonth"
+                  v-model="patientTransformData.birthMonth"
                   style="width: 20px;padding-left: 5px"
               />
               <input
-                  v-model="patient.birthDay"
+                  v-model="patientTransformData.birthDay"
                   style="width: 20px;padding-left: 5px"
               />
@@ -275,19 +276,75 @@
               style="width: 50px"
             />天
           </div>
-          <div>
-            新生儿出生体重:
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            新生儿出生体重 (一孩
             <input
-              id="newBornWeight"
-              v-model="patientTransformData.newBornWeight"
-              style="width: 70px"
-            />克 新生儿入院体重:
+                id="newBornWeight1"
+                type="number"
+                v-model="patientTransformData.newBornWeight1"
+                style="width: 40px;padding-left: 5px"
+            />克
+            <span style="margin-left: 12px">二孩</span>
             <input
-              id="newBornAdmissWeight"
-              v-model="patientTransformData.newBornAdmissWeight"
-              style="width: 70px"
+                id="newBornWeight2"
+                type="number"
+                v-model="patientTransformData.newBornWeight2"
+                style="width: 40px;padding-left: 5px"
+            />克)
+            <span style="margin-left: 12px">
+              新生儿入院体重
+            </span>
+            <input
+                id="newBornAdmissWeight"
+                type="number"
+                v-model="patientTransformData.newBornAdmissWeight"
+                style="width: 50px;padding-left: 5px"
             />克
           </div>
+          
+          <div>
+            身份证件类型:
+            <select id="occupation" v-model="patient.psnCertificateType">
+              <option
+                v-for="(item, index) in dics.getPsnCertType"
+                :key="index"
+                :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;
+              </option>
+            </select>
+            证件号:
+            <input
+              id="socialNo"
+              v-model="patient.socialNo"
+              style="width: 160px"
+              maxlength="18"
+            />
+            
+            
+          </div>
+          <div>
+            身份证件不详的具体原因:
+            <select id="occupation" v-model="patient.noCertReason">
+              <option
+                v-for="(item, index) in noCertReasons"
+                :key="index"
+                :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;
+              </option>
+            </select>
+            <span v-for="item in noCertReasons">
+              {{ item.code }}.{{ item.name }}
+            </span>
+            其他:
+            <input
+              id="socialNo"
+              v-model="patient.noCertReasonInput"
+              style="width: 160px"
+              maxlength="18"
+            />
+          </div>
           <div>
             出生地:
             <input
@@ -317,17 +374,16 @@
             </select>
           </div>
           <div>
-            身份证件类型:
-            <select id="occupation" v-model="patient.psnCertificateType">
+            职业:
+            <select id="occupation" v-model="patient.occupation">
               <option
-                v-for="(item, index) in dics.getPsnCertType"
+                v-for="(item, index) in dics.getOccupation"
                 :key="index"
                 :value="item.code"
               >
-                &nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
               </option>
             </select>
-            
             婚姻:
             <select id="marriage" v-model="patient.marriage">
               <option
@@ -342,49 +398,13 @@
               {{ item.code }}.{{ item.name }}
             </span>
           </div>
-          <div>
-            证件号:
-            <input
-              id="socialNo"
-              v-model="patient.socialNo"
-              style="width: 160px"
-              maxlength="18"
-            />
-            职业:
-            <select id="occupation" v-model="patient.occupation">
-              <option
-                v-for="(item, index) in dics.getOccupation"
-                :key="index"
-                :value="item.code"
-              >
-                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
-              </option>
-            </select>
-          </div>
           <div style="display: flex;align-items: end;margin-top: 4px">
             <div id="livePlace">
               现住址
               <input
-                  id="lpProvince"
-                  v-model="patient.lpProvince"
-                  style="width: 80px;padding-left: 5px"
-              />省(区、市)
-              <input
-                  id="lpCity"
-                  v-model="patient.lpCity"
-                  style="width: 60px;padding-left: 5px"
-              />市
-              <input
-                  id="lpCounty"
-                  v-model="patient.lpCounty"
-                  style="width: 60px;padding-left: 5px"
-              />
-              县
-              <input
-                  id="lpSup"
-                  v-model="patient.lpSup"
-                  style="width: 100px;padding-left: 5px"
-                  placeholder="街道/小区/乡镇"
+                  id="livePlace"
+                  v-model="patient.livePlace"
+                  style="width: 350px;padding-left: 5px"
               />
             </div>
             <span style="margin-left: 12px">电话</span>
@@ -401,32 +421,15 @@
             <div id="hkPlace">
               户口地址
               <input
-                  id="hpProvince"
-                  v-model="patient.hpProvince"
-                  style="width: 80px;padding-left: 5px"
-              />省(区、市)
-              <input
-                  id="hpCity"
-                  v-model="patient.hpCity"
-                  style="width: 60px;padding-left: 5px"
-              />市
-              <input
-                  id="hpCounty"
-                  v-model="patient.hpCounty"
-                  style="width: 60px;padding-left: 5px"
-              />
-              县
-              <input
-                  id="hpSup"
-                  v-model="patient.hpSup"
-                  style="width: 100px;padding-left: 5px"
-                  placeholder="街道/小区/乡镇"
+                  id="hkPlaceName"
+                  v-model="patient.hkPlaceName"
+                  style="width: 480px;padding-left: 5px"
               />
             </div>
             <span style="margin-left: 12px">邮编</span>
             <input
-                id="hpZipCode"
-                v-model="patient.hpZipCode"
+                id="hkZipCode"
+                v-model="patient.hkZipCode"
                 style="width: 70px;padding-left: 5px"
                 maxlength="6"
             />
@@ -515,20 +518,6 @@
             <span v-for="item in dics.getAdmissWay">
               {{ item.code }}.{{ item.name }}
             </span>&nbsp;&nbsp;&nbsp;&nbsp;
-            <!-- 是否手术:
-            <select
-              id="hasSurgery"
-              v-model="patient.hasSurgery"
-              @change="hasSurgeryChanged(patient.hasSurgery)"
-            >
-              <option
-                v-for="itm in operations"
-                :key="itm.code"
-                :value="itm.code"
-              >
-                {{ itm.name }}
-              </option>
-            </select> -->
           </div>
           <div>
             入院时间:<input
@@ -591,60 +580,9 @@
               style="width: 110px"
               @click="showSearchData('clinicdiag')"
             />
-            <!-- <div
-              v-if="patient.validClinicDiag === 0"
-              style="font-size: 10px; margin: 8px 0 0 8px; color: red"
-            >
-              门诊诊断编码有误
-            </div> -->
-          </div>
-          <!-- <div id="admDiag" style="display: flex; align-items: center">
-            入院诊断名称:
-            <input
-              v-model="patient.supplement.admDiagName"
-              readonly
-              style="width: 280px"
-              @click="showSearchData('admdiag')"
-            />
-            入院诊断编码:
-            <input
-              v-model="patient.supplement.admDiagCode"
-              readonly
-              style="width: 110px"
-              @click="showSearchData('admdiag')"
-            />
+            
           </div>
-          <div style="display: flex; align-items: center">
-            入院时情况:
-            <select
-              id="admDiagStatus"
-              style="width: 80px; margin-right: 30px"
-              v-model="patient.supplement.admStatus"
-            >
-              <option :value="1">危</option>
-              <option :value="2">急</option>
-              <option :value="3">一般</option>
-            </select>
-            入院后确诊日期:
-            <input
-              v-model="patient.supplement.diagnosisConfirmYear"
-              type="number"
-              style="width: 40px; text-align: center"
-            />
-            年
-            <input
-              v-model="patient.supplement.diagnosisConfirmMonth"
-              type="number"
-              style="width: 20px; text-align: center"
-            />
-            月
-            <input
-              v-model="patient.supplement.diagnosisConfirmDay"
-              type="number"
-              style="width: 20px; text-align: center"
-            />
-            日
-          </div> -->
+          
           <div
             id="diagTable"
             style="
@@ -959,48 +897,6 @@
               {{ item.code }}.{{ item.name }}&nbsp;&nbsp;
             </span>
           </div>
-          <!-- <div>
-            输血前四项: HbsAg
-            <select id="hbsAg" v-model="patient.hbsAg">
-              <option
-                v-for="(item, index) in dics.getHbsag"
-                :key="index"
-                :value="item.code"
-              >
-                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
-              </option>
-            </select>
-            HCV-Ab
-            <select id="hcvAb" v-model="patient.hcvAb" style="margin-left: 8px">
-              <option
-                v-for="(item, index) in dics.getHbsag"
-                :key="index"
-                :value="item.code"
-              >
-                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
-              </option>
-            </select>
-            HIV-Ab
-            <select id="hivAb" v-model="patient.hivAb" style="margin-left: 8px">
-              <option
-                v-for="(item, index) in dics.getHbsag"
-                :key="index"
-                :value="item.code"
-              >
-                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
-              </option>
-            </select>
-            TP-Ab
-            <select id="tpAb" v-model="patient.tpAb" style="margin-left: 8px">
-              <option
-                v-for="(item, index) in dics.getHbsag"
-                :key="index"
-                :value="item.code"
-              >
-                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
-              </option>
-            </select>
-          </div> -->
           <div>
             血型:
             <select
@@ -1387,8 +1283,8 @@
                 &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
               </option>
             </select>
-            <span v-for="item in dics.haveOrNot">
-              {{ item.code }}.{{ item.name }}
+            <span v-for="t in dics.haveOrNot">
+              {{ t.code }}.{{ t.name }}
             </span>&nbsp;&nbsp;&nbsp;&nbsp;
             ,目的:
             <input
@@ -1621,21 +1517,48 @@
               <tbody>
               <tr v-for="n in 3">
                 <td>
-                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px" @click="clickIcuInfo('icuName',n)">
                     {{ patient.icuInfoList[n - 1].icuName }}
                   </div>
                 </td>
                 <td>
-                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px"  class="datetime-container" @click="clickDate(n,1)">
                     {{ patient.icuInfoList[n - 1].startTime }}
+                    <el-date-picker
+                    :id="`pickerDateE${n}`"
+                        v-model="patient.icuInfoList[n - 1].startTime"
+                        type="datetime"
+                        format="YYYY-MM-DD HH:mm:ss"
+                        value-format="YYYY-MM-DD HH:mm:ss"
+                        style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer;z-index: 10;"
+                      ></el-date-picker>
                   </div>
                 </td>
                 <td>
-                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px"  class="datetime-container" @click="clickDate(n,1)">
                     {{ patient.icuInfoList[n - 1].endTime }}
+                    <el-date-picker
+                    :id="`pickerDateS${n}`"
+                        v-model="patient.icuInfoList[n - 1].endTime"
+                        type="datetime"
+                        format="YYYY-MM-DD HH:mm:ss"
+                        value-format="YYYY-MM-DD HH:mm:ss"
+                        style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer;z-index: 10;"
+                      ></el-date-picker>
                   </div>
+
+                  
+                  
                 </td>
+                <el-button
+                    v-if="patient.icuInfoList[n - 1].endTime"
+                    type="danger"
+                    circle
+                    icon="Delete"
+                    @click="clearLine('icuInfo')"
+                  ></el-button>
               </tr>
+              
               </tbody>
             </table>
           </div>
@@ -1874,6 +1797,26 @@
       </el-button>
     </div>
   </el-dialog>
+  <el-dialog
+    v-model="showDateTimePicker"
+    title="时间日期选择"
+    width="320px"
+    draggable
+  >
+    <div style="height: 20px"></div>
+    请选择日期时间:
+    <div style="height: 10px"></div>
+    <el-date-picker
+      v-model="showDateTimePickerData"
+      type="datetime"
+      style="width: 260px"
+    ></el-date-picker>
+    <div style="margin: 20px 0 10px 0; width: 100%; text-align: right">
+      <el-button type="primary" icon="Check" @click="confirmDateTimePickerData"
+        >确定
+      </el-button>
+    </div>
+  </el-dialog>
 
   <el-dialog
     v-model="showYbDiag"
@@ -2147,6 +2090,7 @@ import {
   initShowDel,
   searchMethods,
   yesOrNo,
+  noCertReasons
 } from "./common";
 import { operations } from "@/data";
 import { getLodop, initLodop } from "@/utils/c-lodop";
@@ -2312,6 +2256,8 @@ const showGoSearchBtn1 = ref(false);
 const showGoSearchBtn2 = ref(false);
 const showDel = initShowDel();
 const asideTable = ref(null);
+const showDateTimePicker = ref(false);
+const showDateTimePickerData = ref(null);
 
 
 function addSurgeSize() {
@@ -2333,7 +2279,10 @@ const filterDisDiagList = computed(() => {
     return item.code && item.name;
   });
 });
-
+const clickShowDateTimePickerVisible = (key1,key2,key3) =>{
+  console.log("params",)
+  patient.value[key1][key2] = showDateTimePickerData
+}
 const searchPatient = () => {
   if (!inpatientNo.value || inpatientNo.value.trim().length < 1) {
     ElMessage({
@@ -2362,6 +2311,18 @@ const searchPatient = () => {
   }
 };
 
+const changeDate = () => {
+  console.log("changeDate",v  )
+};
+const clickDate = (v,t) => {
+
+  
+  if (t == 1) {
+    document.getElementById(`pickerDateS${v}`).focus();
+  } else {
+    document.getElementById(`pickerDateE${v}`).focus();
+  }
+};
 const handleWardChange = () => {
   if (inOutStatus.value === 1) {
     fetchOverview();
@@ -2405,6 +2366,17 @@ const confirmDateRange = () => {
   });
 };
 
+const confirmDateTimePickerData = () => {
+  showDateTimePicker.value=false
+  showDateTimePickerData.value=null
+}; 
+
+const clickIcuInfo = (name,n) => {
+  if (name == "icuName") {
+    patient.value.icuInfoList[n - 1].icuName = "ICU"
+  }
+};
+
 const fetchOverview = () => {
   getPatientOverview(currentWard.value).then(res => {
     overview.value = res;
@@ -2439,9 +2411,15 @@ const fetchSheetInfo = row => {
       // patientTransformData.value.age = '-'
     } else {
       patient.value.ageDays == null?patientTransformData.value.ageDays = '-':false;
-      patient.value.newBornWeight == null?patientTransformData.value.newBornWeight = '-':false;
+      patient.value.newBornWeight1 == null?patientTransformData.value.newBornWeight1 = '-':false;
+      patient.value.newBornWeight2 == null?patientTransformData.value.newBornWeight2 = '-':false;
       patient.value.newBornAdmissWeight == null?patientTransformData.value.newBornAdmissWeight = '-':false;
     }
+    if(patient.value.birthDate != null){
+      patientTransformData.value.birthYear = patient.value.birthDate.slice(0,4);
+      patientTransformData.value.birthMonth = patient.value.birthDate.slice(5,7);
+      patientTransformData.value.birthDay = patient.value.birthDate.slice(8,10);
+    } 
     console.log("patient",patient.value.ageDays,patientTransformData.value.ageDays)
     patient.value.transDept == null?patientTransformData.value.transDept = "-":false;
     patient.value.hurtReasonName == null?patientTransformData.value.hurtReasonName = "-":false;
@@ -2659,6 +2637,7 @@ const showSearchData = flag => {
     searchTargetName.value = "admDiagStr";
   }
   showSearch.value = true;
+  console.log("handleSelectSearch")
 };
 
 const showSurgeryDatetime = ref(false);
@@ -2884,6 +2863,13 @@ const clearLine = option => {
       patientTransformData.value.pathologicDiagCode = null;
       patientTransformData.value.blh = null;
       break;
+    case "icuInfo":
+      patient.value.icuInfoList.forEach(item => {
+        item.icuName = null
+        item.startTime = null
+        item.endTime = null
+      });
+      break;
   }
 };
 
@@ -3126,12 +3112,14 @@ const setlUplaodClick = () => {
 };
 
 const saveVerifyFillBlank = (data) => {
+  patient.value.birthDate = patientTransformData.value.birthYear+'-'+patientTransformData.value.birthMonth+'-'+patientTransformData.value.birthDay
   if(patientTransformData.value.age == null || patientTransformData.value.age == "-"){
     // data.age = null
     
   } else {
     patientTransformData.value.ageDays == null || patientTransformData.value.ageDays == "-"?data.ageDays = null:data.ageDays = patientTransformData.value.ageDays;
-    patientTransformData.value.newBornWeight == null || patientTransformData.value.newBornWeight == "-"?data.newBornWeight = null:data.newBornWeight = patientTransformData.value.newBornWeight;
+    patientTransformData.value.newBornWeight1 == null || patientTransformData.value.newBornWeight1 == "-"?data.newBornWeight1 = null:data.newBornWeight1 = patientTransformData.value.newBornWeight1;
+    patientTransformData.value.newBornWeight2 == null || patientTransformData.value.newBornWeight2 == "-"?data.newBornWeight2 = null:data.newBornWeight2 = patientTransformData.value.newBornWeight2;
     patientTransformData.value.newBornAdmissWeight == null || patientTransformData.value.newBornAdmissWeight == "-"?data.newBornAdmissWeight = null:data.newBornAdmissWeight = patientTransformData.value.newBornAdmissWeight;
   }
 
@@ -3344,6 +3332,7 @@ const mergePrintHeadpage = () => {
       }
     }
   }
+  console.log("headPagePatient.value",headPagePatient.value)
 };
 const mergePrintTailpage = () => {
   tailpagePatient.value = {
@@ -3373,15 +3362,16 @@ const beforePrint = page => {
     patNo: patient.value.bah,
     times: patient.value.admissTimes,
   }).then(res => {
-    if (res.approved > 0) {
-      execPrint(page);
-    } else {
-      ElMessageBox.confirm('病案首页质控审核未通过,是否继续打印?', '提示', {
-        type: "warning",
-      }).then(() => {
-        execPrint(page)
-      }).catch(() => {})
-    }
+    execPrint(page)
+    // if (res.approved > 0) {
+    //   execPrint(page);
+    // } else {
+    //   ElMessageBox.confirm('病案首页质控审核未通过,是否继续打印?', '提示', {
+    //     type: "warning",
+    //   }).then(() => {
+    //     execPrint(page)
+    //   }).catch(() => {})
+    // }
   });
 };
 
@@ -3655,4 +3645,20 @@ table td {
 .order-arrow:hover {
   color: #0a84fd;
 }
+.hidden-input {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  opacity: 0; 
+  cursor: pointer;
+  z-index: 10; /* 确保在按钮上方 */
+}
+.datetime-container {
+  width: 100%;
+  height: 100%;
+  position: relative;
+  display: inline-block;
+}
 </style>

+ 6 - 0
src/views/hospitalization/case-front-sheet/common.js

@@ -20,6 +20,12 @@ export const autopsies = [
   { code: '1', name: '是' },
   { code: '2', name: '否' },
 ]
+export const noCertReasons = [
+  { code: '1', name: '三无人员' },
+  { code: '2', name: '新生儿未办理' },
+  { code: '3', name: '无完全民事行为能力' },
+  { code: '4', name: '意识障碍' },
+]
 export function initShowDel() {
   return ref([
     false,