Browse Source

Merge branch 'master' into test-ca

xiaochan 10 months ago
parent
commit
82a41b0381

+ 660 - 109
src/components/inpatient/frontsheet-printpage/TailPage.vue

@@ -1,8 +1,22 @@
 <template>
   <div style="width: 820px">
-    <div style="width: 770px; margin-right: 35px; border-right: 1px dashed gray; padding-right: 35px">
+    <div
+      style="
+        width: 770px;
+        margin-right: 35px;
+        border-right: 1px dashed gray;
+        padding-right: 35px;
+      "
+    >
       <div style="border: 1px solid black; padding: 5px">
-        <table id="surgeryTable" style="border: 1px solid black; border-collapse: collapse; width: 100%">
+        <table
+          id="surgeryTable"
+          style="
+            border: 1px solid black;
+            border-collapse: collapse;
+            width: 100%;
+          "
+        >
           <tr>
             <th rowspan="2">手术及操作名称</th>
             <th rowspan="2" style="width: 70px">手术及操作日期</th>
@@ -26,7 +40,12 @@
               {{ patient.surgeryList[n - 1].date }}
             </td>
             <td style="text-align-last: center; width: 30px">
-              {{ filterNameInDic(patient.surgeryList[n - 1].level, 'getOperateScale') }}
+              {{
+                filterNameInDic(
+                  patient.surgeryList[n - 1].level,
+                  "getOperateScale"
+                )
+              }}
             </td>
             <td style="width: 70px">
               {{ patient.surgeryList[n - 1].code }}
@@ -41,10 +60,20 @@
               {{ patient.surgeryList[n - 1].assistantTwoName }}
             </td>
             <td style="text-align-last: center">
-              {{ filterNameInDic(patient.surgeryList[n - 1].cutHeal, 'getCutHealGrade') }}
+              {{
+                filterNameInDic(
+                  patient.surgeryList[n - 1].cutHeal,
+                  "getCutHealGrade"
+                )
+              }}
             </td>
             <td>
-              {{ filterNameInDic(patient.surgeryList[n - 1].anaesthesia, 'getAnaesthesia') }}
+              {{
+                filterNameInDic(
+                  patient.surgeryList[n - 1].anaesthesia,
+                  "getAnaesthesia"
+                )
+              }}
             </td>
             <td style="width: 40px">
               {{ patient.surgeryList[n - 1].anaesthesiaorName }}
@@ -53,221 +82,737 @@
         </table>
         <div style="margin: 10px 8px 10px 0">
           离院方式:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.zyDismissWay, 'getZyDismissWay') }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{
+              filterNameInDic(patient.zyDismissWay, "getZyDismissWay")
+            }}</span
+          >
           ,拟接收医疗机构名称:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 210px">{{ patient.dismissDestination }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 210px;
+            "
+            >{{ patient.dismissDestination }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           是否有出院31天内再住院计划:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.admissAgainInOneMonth, 'getHaveOrNot') }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{
+              filterNameInDic(patient.admissAgainInOneMonth, "getHaveOrNot")
+            }}</span
+          >
           ,目的:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.admissAgainPurpose }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 300px;
+            "
+            >{{ patient.admissAgainPurpose }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           颅脑损伤患者昏迷时间: 入院前
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaDaysBeforeAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaDaysBeforeAdmiss }}</span
+          >
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaHoursBeforeAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaHoursBeforeAdmiss }}</span
+          >
           小时
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaMinutesBeforeAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaMinutesBeforeAdmiss }}</span
+          >
           分钟 <span style="margin-left: 8px">入院后</span>
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaDaysAfterAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaDaysAfterAdmiss }}</span
+          >
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaHoursAfterAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaHoursAfterAdmiss }}</span
+          >
           小时
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.comaMinutesAfterAdmiss }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.comaMinutesAfterAdmiss }}</span
+          >
           分钟
         </div>
         <div style="margin: 10px 8px 10px 0">
           住院费用(元): 总费用
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 110px">{{ patient.totalCost }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 110px;
+            "
+            >{{ patient.totalCost }}</span
+          >
           (自付金额:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 110px">{{ patient.selfPay }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 110px;
+            "
+            >{{ patient.selfPay }}</span
+          >
           )
         </div>
         <div style="margin: 10px 8px 10px 0">
           1.综合医疗服务类: (1)一般医疗服务费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.generalMedicalServiceFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.generalMedicalServiceFee }}</span
+          >
           (2)一般治疗操作费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.generalTreatmentOperatingFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.generalTreatmentOperatingFee }}</span
+          >
           (3)护理费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.careFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            "
+            >{{ patient.careFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           (4)其他费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.elseFee }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.elseFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           2.诊断类: (5)病理诊断费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.pathologicDiagFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.pathologicDiagFee }}</span
+          >
           (6)实验室诊断费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.experimentDiagFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.experimentDiagFee }}</span
+          >
           (7)影像学诊断费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.ctDiagFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.ctDiagFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           (8)临床诊断项目费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.clinicalDiagFee }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.clinicalDiagFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           3.治疗类: (9)非手术治疗项目费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.notSurgicalFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.notSurgicalFee }}</span
+          >
           (临床物理治疗费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.clinicalPhysicalFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.clinicalPhysicalFee }}</span
+          >
           )
         </div>
         <div style="margin: 10px 8px 10px 0">
           (10)手术治疗费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.surgicalFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.surgicalFee }}</span
+          >
           (麻醉费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.anesthetizeFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.anesthetizeFee }}</span
+          >
           &nbsp;&nbsp;手术费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.surgeryFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.surgeryFee }}</span
+          >
           )
         </div>
         <div style="margin: 10px 8px 10px 0">
           4.康复类: (11)康复费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.recoverFee }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.recoverFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           5.中医类: (12)中医治疗费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.tcmTreatmentFee }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.tcmTreatmentFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           6.西药类: (13)西药费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.westMedicineFee }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.westMedicineFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           7.中药类: (14)中成药费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.chinesePatentMedicineFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.chinesePatentMedicineFee }}</span
+          >
           (15)中草药费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.chineseHerbalMedicineFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.chineseHerbalMedicineFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           8.血液和血液制品类: (16)血费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.bloodFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            "
+            >{{ patient.bloodFee }}</span
+          >
           (17)白蛋白类制品费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.albuminProductsFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            "
+            >{{ patient.albuminProductsFee }}</span
+          >
           (18)球蛋白类制品费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.globulinProductsFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            "
+            >{{ patient.globulinProductsFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           (19)凝血因子类制品费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.coagulationFactorProductsFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.coagulationFactorProductsFee }}</span
+          >
           (20)细胞因子类制品费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.cytokineProductsFee }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.cytokineProductsFee }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           9.耗材类: (21)检查用一次性医用材料费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+          >
             {{ patient.costOfDisposableMedicalMaterialsForExamination }}
           </span>
           (22)治疗用一次性医用材料费:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+          >
             {{ patient.costOfDisposableMedicalMaterialsForTreatment }}
           </span>
         </div>
         <div style="margin: 10px 8px 10px 0">
           (23)手术用一次性医用材料费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.costOfDisposableMedicalMaterialsForOperation }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.costOfDisposableMedicalMaterialsForOperation }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           10.其他类: (24)其他费:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.otherFees }}</span>
+          <span
+            style="
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 70px;
+            "
+            >{{ patient.otherFees }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           主要诊断治愈好转情况:
-          <span style="margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; padding: 0 5px">
+          <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: 10px 8px 10px 0">
           诊断符合情况: 门诊与出院
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">{{
-            filterNameInDic(patient.diagConform1, 'getDiagConform')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+            >{{ filterNameInDic(patient.diagConform1, "getDiagConform") }}</span
+          >
           入院与出院
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{
-            filterNameInDic(patient.diagConform2, 'getDiagConform')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{ filterNameInDic(patient.diagConform2, "getDiagConform") }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           术前与术后
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">{{
-            filterNameInDic(patient.diagConform3, 'getDiagConform')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+            >{{ filterNameInDic(patient.diagConform3, "getDiagConform") }}</span
+          >
           临床与病理
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">{{
-            filterNameInDic(patient.diagConform4, 'getDiagConform')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+            >{{ filterNameInDic(patient.diagConform4, "getDiagConform") }}</span
+          >
           放射与病理
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{
-            filterNameInDic(patient.diagConform5, 'getDiagConform')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{ filterNameInDic(patient.diagConform5, "getDiagConform") }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           抢救情况: 抢救
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 90px">{{ patient.rescueTimes }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 90px;
+            "
+            >{{ patient.rescueTimes }}</span
+          >
           次, 成功
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 90px">{{ patient.rescueSuccessTimes }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 90px;
+            "
+            >{{ patient.rescueSuccessTimes }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 0">
           病例分型:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">
-            {{ filterNameInDic(patient.caseClassification, 'getCaseClassification') }}
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+          >
+            {{
+              filterNameInDic(
+                patient.caseClassification,
+                "getCaseClassification"
+              )
+            }}
           </span>
           实施重症监护:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.hasIcu, 'getHaveOrNot') }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{ filterNameInDic(patient.hasIcu, "getHaveOrNot") }}</span
+          >
           ,监护总时间:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.icuDays }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.icuDays }}</span
+          >
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 30px">{{ patient.icuHours }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 30px;
+            "
+            >{{ patient.icuHours }}</span
+          >
           小时
         </div>
         <div style="margin: 10px 8px 10px 0">
           单病种管理:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">{{
-            filterNameInDic(patient.monopathyManagement, 'getYesOrNo')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+            >{{
+              filterNameInDic(patient.monopathyManagement, "getYesOrNo")
+            }}</span
+          >
           实施临床路径管理:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; margin-right: 12px">
-            {{ filterNameInDic(patient.clinicalPathwayManagement, 'getClinicalPathwayManagement') }}
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+          >
+            {{
+              filterNameInDic(
+                patient.clinicalPathwayManagement,
+                "getClinicalPathwayManagement"
+              )
+            }}
           </span>
           实施DRGs管理:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{
-            filterNameInDic(patient.drgsManagement, 'getDrgsManagement')
-          }}</span>
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+            >{{
+              filterNameInDic(patient.drgsManagement, "getDrgsManagement")
+            }}</span
+          >
         </div>
         <div style="margin: 10px 8px 10px 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.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;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 12px;
+            "
+            >{{ filterNameInDic(patient.bacilliculture, "getYesOrNo") }}</span
+          >
           法定传染病:
-          <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">
-            {{ filterNameInDic(patient.statutoryEpidemic, 'getStatutoryEpidemic') }}
+          <span
+            style="
+              display: inline-block;
+              margin-right: 8px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+            "
+          >
+            {{
+              filterNameInDic(patient.statutoryEpidemic, "getStatutoryEpidemic")
+            }}
           </span>
         </div>
         <div style="margin: 10px 8px 10px 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
+            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
+            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
+            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">
-            {{ filterNameInDic(patient.tumorLevel, 'getTumorLevel') }}
+          <span
+            style="
+              display: inline-block;
+              width: 30px;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              margin-right: 18px;
+            "
+          >
+            {{ filterNameInDic(patient.tumorLevel, "getTumorLevel") }}
           </span>
           新生儿Apgar评分:
-          <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.xxeApgar }}</span>
+          <span
+            style="
+              display: inline-block;
+              padding: 0 4px;
+              border-bottom: 1px solid black;
+              width: 50px;
+            "
+            >{{ patient.xxeApgar }}</span
+          >
         </div>
       </div>
@@ -276,6 +821,8 @@
 </template>
 
 <script>
+import XEUtils from "xe-utils";
+
 export default {
   props: {
     patient: {
@@ -288,47 +835,50 @@ export default {
     },
   },
   setup(props) {
-    const dismissStatusText = (val) => {
+    const dismissStatusText = val => {
       switch (val) {
         case 1:
-        case '1':
-          return '治愈'
+        case "1":
+          return "治愈";
         case 2:
-        case '2':
-          return '好转'
+        case "2":
+          return "好转";
         case 3:
-        case '3':
-          return '未愈'
+        case "3":
+          return "未愈";
         case 4:
-        case '4':
-          return '死亡'
+        case "4":
+          return "死亡";
         case 9:
-        case '9':
-          return '其他'
+        case "9":
+          return "其他";
         default:
-          return ''
+          return "";
       }
-    }
+    };
 
     const filterNameInDic = (val, dic) => {
       if (!val) {
-        return ''
+        return "";
+      }
+      const dicValue = props.dics[dic];
+      if (!XEUtils.isArray(dicValue)) {
+        return "";
       }
-      const dicValue = props.dics[dic]
       for (let i = 0; i < dicValue.length; i++) {
-        const dicItem = dicValue[i]
+        const dicItem = dicValue[i];
         if (dicItem.code == val) {
-          return dicItem.name
+          return dicItem.name;
         }
       }
-      return '-'
-    }
+      return "-";
+    };
     return {
       dismissStatusText,
       filterNameInDic,
-    }
+    };
   },
-}
+};
 </script>
 
 <style scoped>
@@ -338,6 +888,7 @@ td {
   border: 1px solid black;
   border-collapse: collapse;
 }
+
 td,
 th {
   height: 24px;

+ 2 - 3
src/components/medical-insurance/patient-overview/Index.vue

@@ -13,7 +13,7 @@
           v-model="currentMedType"
           clearable style="width: 90px"
           @change="handleMedTypeChange">
-        <el-option v-for="item in trueMedTypes" :key="item.code" :label="item.name" :value="item.code"></el-option>
+        <el-option v-for="item in customMedTypes" :key="item.code" :label="item.name" :value="item.code"></el-option>
       </el-select>
       <el-select v-if="showStatus" v-model="currentStatus" clearable style="width: 90px">
         <el-option :value="0" label="未登记"></el-option>
@@ -76,9 +76,8 @@ import femaleIcon from '@/assets/female-icon.png'
 import dismissIcon from '@/assets/dismiss-icon.png'
 import {getOverView, getPatientInfo} from '@/api/inpatient/patient'
 import {setBaseinfo} from '@/data/inpatient'
-import {trueMedTypes} from '@/data'
+import {customMedTypes} from '@/data'
 import {allWardsVisible} from '@/utils/permission'
-import {visibleWindowSize} from '@/utils/window-size'
 import {useMedinsStore} from "@/pinia/medins-store";
 import {getWardsApi} from "@/api/login";
 

+ 12 - 0
src/data/index.js

@@ -46,6 +46,18 @@ export const trueMedTypes = [
     {code: '42', name: '工伤住院'},
 ]
 
+export const customMedTypes = [
+    {code: '01', name: '自费'},
+    {code: '2101', name: '普通住院'},
+    {code: '2102', name: '单病种住院'},
+    {code: '2106', name: '生育平产(居民)'},
+    {code: '2107', name: '生育剖宫产(居民)'},
+    {code: '22', name: '外伤住院'},
+    {code: '52', name: '生育住院(职工)'},
+    {code: '42', name: '工伤住院'},
+    {code: '4X', name: '工伤待定'},
+]
+
 export const needVerifyMedTypes = [
     {code: '2102', name: '单病种住院'},
     {code: '2106', name: '生育平产(居民)'},

+ 38 - 36
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/index.vue

@@ -4,63 +4,65 @@ import CyTabPane from "@/components/cy/tabs/src/CyTabPane.vue";
 import {
   AuditType,
   emrAuditRootContextKey,
-  useEmrAuditV2
+  useEmrAuditV2,
 } from "./useEmrAudit";
-import AuditRecord
-  from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditRecord.vue";
+import AuditRecord from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditRecord.vue";
 import {
   emrMitt,
-  IframeTabs
+  IframeTabs,
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
-import SendAudit
-  from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/SendAudit.vue";
-import {getLinkQuality} from "@/api/emr/emr-suggestion";
-import AuditHistory
-  from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditHistory.vue";
-import {listIsBlank} from "@/utils/blank-utils";
+import SendAudit from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/SendAudit.vue";
+import { getLinkQuality } from "@/api/emr/emr-suggestion";
+import AuditHistory from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditHistory.vue";
+import { listIsBlank } from "@/utils/blank-utils";
+import { BizException, ExceptionEnum } from "@/utils/BizException";
 
-const store = useEmrAuditV2()
+const store = useEmrAuditV2();
 
-emrMitt.on('auditV2', (data) => {
-  if (typeof data === 'undefined') {
+emrMitt.on("auditV2", data => {
+  if (typeof data === "undefined") {
     store.state.currentEmrInfo = {
-      emrId: null
-    }
-    store.state.auditTemplate = []
-    emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
+      emrId: null,
+    };
+    store.state.auditTemplate = [];
+    emrMitt.emit("setShowIframe", IframeTabs.正在编辑);
   } else {
     store.state.currentEmrInfo = data;
-    store.queryCurrentAudit()
 
-    getLinkQuality(data.emrCategoryCode).then(res => {
-      store.state.auditTemplate = res
-      if (listIsBlank(res)) {
-        emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
-      }
-    }).catch(() => {
-      emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
-    })
-  }
-})
+    if (store.state.currentEmrInfo.emrId == null) {
+      BizException(ExceptionEnum.MESSAGE_ERROR, "请刷新页面或重新打开病历。");
+    }
 
+    store.queryCurrentAudit();
+
+    getLinkQuality(data.emrCategoryCode)
+      .then(res => {
+        store.state.auditTemplate = res;
+        if (listIsBlank(res)) {
+          emrMitt.emit("setShowIframe", IframeTabs.正在编辑);
+        }
+      })
+      .catch(() => {
+        emrMitt.emit("setShowIframe", IframeTabs.正在编辑);
+      });
+  }
+});
 
 provide(emrAuditRootContextKey, {
-  store: store
-})
+  store: store,
+});
 </script>
 
 <template>
-  <CyTabs height="100%"
-          type="idea"
-          v-model="store.tabsName.value">
+  <CyTabs height="100%" type="idea" v-model="store.tabsName.value">
     <CyTabPane label="记录" :name="AuditType.记录">
-      <AuditRecord/>
+      <AuditRecord />
     </CyTabPane>
     <CyTabPane label="审核" :name="AuditType.审核">
-      <SendAudit/>
+      <SendAudit />
     </CyTabPane>
     <CyTabPane label="历史" :name="AuditType.历史">
-      <AuditHistory/>
+      <AuditHistory />
     </CyTabPane>
   </CyTabs>
 </template>

+ 55 - 2
src/views/technology-archives/TechnologyArchivesMain.vue

@@ -262,7 +262,24 @@
                 </el-table-column>
                 <el-table-column prop="image" label="图片链接">
                   <template v-slot="scope">
-                    <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.image"></el-input>
+                    <!-- <el-input  size="small" v-model="scope.row.image"></el-input>-->
+                    <div v-if="scope.row.isEdit">
+                      <el-upload
+                          class="upload-demo"
+                          ref="upload"
+                          :action="apiUrl + '/technologyArchives/putCertificateImage'"
+                          :headers="header"
+                          :file-list="fileList"
+                          :data="{ socialNo: scope.row.socialNo }"
+                          :on-success="uploadSuccess"
+                          :auto-upload="false"
+                      >
+                        <template #trigger>
+                          <el-button type="primary" icon="Picture">选取文件</el-button>
+                        </template>
+                        <el-button style="margin-left: 10px" type="success" icon="Upload" @click="submitUpload">上传到服务器</el-button>
+                      </el-upload>
+                    </div>
                     <span v-else>{{ scope.row.image }}</span>
                   </template>
                 </el-table-column>
@@ -329,7 +346,24 @@
                 </el-table-column>
                 <el-table-column prop="image" label="图片链接">
                   <template v-slot="scope">
-                    <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.image"></el-input>
+                    <!-- <el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.image"></el-input> -->
+                    <div v-if="scope.row.isEdit">
+                      <el-upload
+                          class="upload-demo"
+                          ref="upload"
+                          :action="apiUrl + '/technologyArchives/putProImage'"
+                          :headers="header"
+                          :file-list="fileList"
+                          :data="{ socialNo: scope.row.socialNo }"
+                          :on-success="uploadSuccess"
+                          :auto-upload="false"
+                      >
+                        <template #trigger>
+                          <el-button type="primary" icon="Picture">选取文件</el-button>
+                        </template>
+                        <el-button style="margin-left: 10px" type="success" icon="Upload" @click="submitUpload">上传到服务器</el-button>
+                      </el-upload>
+                    </div>
                     <span v-else>{{ scope.row.image }}</span>
                   </template>
                 </el-table-column>
@@ -1609,6 +1643,25 @@ const cancelFirstInfo = (row, index) => {
   }
   firstKey.value = Math.random()
 }
+
+const apiUrl = import.meta.env.VITE_BASE_URL
+const fileList = ref([])
+const upload = ref(null)
+const header = {
+  token: localStorage.token,
+}
+const submitUpload = () => {
+  upload.value.submit()
+}
+const uploadSuccess = (response) =>{
+  if(response.code === 200){
+    firstData.value.image = response.data.image;
+    ElMessage.success('上传成功!')
+  }else{
+    return upload.status = 'fail';
+  }
+}
+
 // 保存
 const updateFirstInfo = (row) => {
   if (!row.socialNo || !row.getTime) {