Browse Source

12月2 文书管理

yq1 4 months ago
parent
commit
8fbf357bf3

+ 128 - 31
src/xt_pages/user/Informed/Informedconsent.vue View File

@@ -78,6 +78,10 @@
78 78
                       label="知情同意书模板"
79 79
                       align="center"
80 80
                     >
81
+                    <template slot-scope="scope">
82
+                      <div v-if="org_id == 10731 && scope.row.date =='血液透析知情同意书'">{{ scope.row.date }}</div>
83
+                      <div v-if="org_id !=10731 && scope.row.value !=21">{{ scope.row.date }}</div>
84
+                    </template>
81 85
                     </el-table-column>
82 86
                   </el-table>
83 87
                 </div>
@@ -141,7 +145,12 @@
141 145
                 <div v-if="show20">
142 146
                   <Terminate_informed :patient_id ="this.patientID" ref="childtwoty"></Terminate_informed>
143 147
                 </div>
144
-
148
+                <div v-if="show21">
149
+                  <hemodialysis :patient_id ="this.patientID" ref="childrtwotyone"></hemodialysis>
150
+                </div>
151
+                <div v-if="show22">
152
+                  <Death_informed :patient_id ="this.patientID" ref="childrtwotytwo"></Death_informed>
153
+                </div>
145 154
               </div>
146 155
             </div>
147 156
           </el-tab-pane>
@@ -168,12 +177,13 @@ import dialyzer_informed from './components/dialyzer_informed'//透析器(滤
168 177
 import therapy_informed from './components/therapy_informed'//透析器(滤过)治疗
169 178
 import Medicalhistory from './components/Medicalhistory'
170 179
 import heal_informed from './components/heal_informed'
171
-import criticalpatient_informed from './components/criticalpatient_informed'
180
+import Death_informed from './components/Death_informed'
172 181
 import criticalpatient_informed2 from './components/criticalpatient_informed2'
173 182
 import Disease_diagnosis from './components/Disease_diagnosis'
174 183
 import nonheparin_informed from './components/nonheparin_informed'
175 184
 import CRRT_informed from './components/CRRT_informed'
176 185
 import Terminate_informed from './components/Terminate_informed'
186
+import hemodialysis from './components/hemodialysis'
177 187
 import { getPatientDetailInformedconsent,getFallOutBedPrintList,getFilterInformed,getProfundaInformed,
178 188
   getArterOvernous,getHighRiskInformed,getPatientMeDicalList,getAnticoagulationInformed,getCriticalInformed,
179 189
   getHemoperfusionInformed,getInformedConsent,getCatheterization,getDialyzerInformed, getTherapyInformed,
@@ -195,15 +205,17 @@ export default {
195 205
     therapy_informed,
196 206
     Medicalhistory,
197 207
     heal_informed,
198
-    criticalpatient_informed,
208
+    Death_informed,
199 209
     criticalpatient_informed2,
200 210
     Disease_diagnosis,
201 211
     nonheparin_informed,
202 212
     CRRT_informed,
203
-    Terminate_informed
213
+    Terminate_informed,
214
+    hemodialysis
204 215
   },
205 216
   data() {
206 217
     return {
218
+      org_id:'',
207 219
       // patient_id:0,{date:'透析器(滤器)重复使用知情同意书',value:'11'},{date:'危重病人知情同意书',value:'15'},
208 220
       activeName:'second',
209 221
       templates:[{date:'人脸识别知情同意书',value:'1'},{date:'血液透析(滤过、灌流)治疗知情同意书',value:'2'},{date:'深静脉透析导管拔管术知情同意书',value:'3'},{date:'动静脉内瘘穿刺知情同意书',value:'4'},
@@ -213,6 +225,8 @@ export default {
213 225
                 {date:'治疗处理方案知情同意书',value:'14'},{date:'危重病人知情同意书',value:'16'},
214 226
                 // {date:'疾病诊断证明书',value:'17'},{date:'无肝素血液透析风险知情同意书',value:'18'},
215 227
                 // {date:'连续肾脏替代治疗(CRRT)治疗知情同意书',value:'19'},{date:'患方要求终止治疗及风险、责任承担承诺书',value:'20'},
228
+                // {date:'血液透析知情同意书',value:'21'}
229
+                {date:'死亡病例讨论记录',value:'22'}
216 230
       ],
217 231
 
218 232
       face_show:true,
@@ -234,6 +248,8 @@ export default {
234 248
       show17:false,
235 249
       show19:false,
236 250
       show20:false,
251
+      show21:false,
252
+      show22:false,
237 253
       patientID:0,
238 254
       patient:{},
239 255
       tableData:[],
@@ -253,7 +269,7 @@ export default {
253 269
       therapyinformePrint:{},
254 270
       patientCritaicalInformedPrint:{},
255 271
       patientCritaicalInformedOnePrint:{},
256
-      patientTreamentPlan:{}
272
+      patientTreamentPlan:{},
257 273
     }
258 274
 
259 275
   },
@@ -261,19 +277,20 @@ export default {
261 277
     const id = this.$route.params && this.$route.params.id
262 278
     this.patientID = parseInt(id)
263 279
     console.log("病人id",this.patientID)
280
+    this.org_id = this.$store.getters.xt_user.org.id
264 281
     // this.queryParams.patient_id = this.patientID;
265 282
   },
266 283
   methods: {
267 284
     getlist(){
268 285
 
269
-    getPatientDetailInformedconsent(this.patientID).then(response=>{
270
-      if(response.data.state == 1){
271
-        var patient =  response.data.data.patients
272
-        console.log("patinet",patient)
273
-        this.patient =patient
274
-      }
275
-    })
276
-   },
286
+      getPatientDetailInformedconsent(this.patientID).then(response=>{
287
+        if(response.data.state == 1){
288
+          var patient =  response.data.data.patients
289
+          console.log("patinet",patient)
290
+          this.patient =patient
291
+        }
292
+      })
293
+    },
277 294
 
278 295
    getPatientMeDicalList(){
279 296
       var params = {
@@ -451,7 +468,9 @@ export default {
451 468
           this.show17=false,
452 469
           this.show18=false,
453 470
           this.show19 = false,
454
-          this.show20 = false
471
+          this.show20 = false,
472
+          this.show21 = false,
473
+          this.show22 = false
455 474
           this.getFallOutBedPrintList()
456 475
         }
457 476
         if(row.value==2){
@@ -472,7 +491,9 @@ export default {
472 491
           this.show17=false,
473 492
           this.show18=false,
474 493
           this.show19 = false,
475
-          this.show20 = false
494
+          this.show20 = false,
495
+          this.show21 = false,
496
+          this.show22 = false
476 497
           this.getFilterInformed()
477 498
         }
478 499
         if(row.value==3){
@@ -493,7 +514,9 @@ export default {
493 514
           this.show17=false,
494 515
           this.show18=false,
495 516
           this.show19 = false,
496
-          this.show20 = false
517
+          this.show20 = false,
518
+          this.show21 = false,
519
+          this.show22 = false
497 520
           this.getProfundaInformed()
498 521
         }
499 522
         if(row.value==4){
@@ -514,7 +537,9 @@ export default {
514 537
           this.show17=false,
515 538
           this.show18=false,
516 539
           this.show19 = false,
517
-          this.show20 = false
540
+          this.show20 = false,
541
+          this.show21 = false,
542
+          this.show22 = false
518 543
           this.getArterOvernous()
519 544
         }
520 545
         if(row.value==5){
@@ -535,7 +560,9 @@ export default {
535 560
           this.show17=false,
536 561
           this.show18=false,
537 562
           this.show19 = false,
538
-          this.show20 = false
563
+          this.show20 = false,
564
+          this.show21 = false,
565
+          this.show22 = false
539 566
           this.getHighRiskInformed()
540 567
         }
541 568
         if(row.value==6){
@@ -556,7 +583,9 @@ export default {
556 583
           this.show17=false,
557 584
           this.show18=false,
558 585
           this.show19 = false,
559
-          this.show20 = false
586
+          this.show20 = false,
587
+          this.show21 = false,
588
+          this.show22 = false
560 589
           this.getAnticoagulationInformed()
561 590
         }
562 591
         if(row.value==7){
@@ -577,7 +606,9 @@ export default {
577 606
           this.show17=false,
578 607
           this.show18=false,
579 608
           this.show19 = false,
580
-          this.show20 = false
609
+          this.show20 = false,
610
+          this.show21 = false,
611
+          this.show22 = false
581 612
           this.getCriticalInformed()
582 613
         }
583 614
         if(row.value==8){
@@ -598,7 +629,9 @@ export default {
598 629
           this.show17=false,
599 630
           this.show18=false,
600 631
           this.show19 = false,
601
-          this.show20 = false
632
+          this.show20 = false,
633
+          this.show21 = false,
634
+          this.show22 = false
602 635
           this.getHemoperfusionInformed()
603 636
         }
604 637
         if(row.value==9){
@@ -619,7 +652,9 @@ export default {
619 652
           this.show17=false,
620 653
           this.show18=false,
621 654
           this.show19 = false,
622
-          this.show20 = false
655
+          this.show20 = false,
656
+          this.show21 = false,
657
+          this.show22 = false
623 658
           this.getInformedConsent()
624 659
         }
625 660
         if(row.value==10){
@@ -640,7 +675,9 @@ export default {
640 675
           this.show17=false,
641 676
           this.show18=false,
642 677
           this.show19 = false,
643
-          this.show20 = false
678
+          this.show20 = false,
679
+          this.show21 = false,
680
+          this.show22 = false
644 681
         }
645 682
         // if(row.value==11){
646 683
         //   this.face_show=false
@@ -680,7 +717,9 @@ export default {
680 717
           this.show17=false,
681 718
           this.show18=false,
682 719
           this.show19 = false,
683
-          this.show20 = false
720
+          this.show20 = false,
721
+          this.show21 = false,
722
+          this.show22 = false
684 723
           this.getTherapyInformed()
685 724
         }
686 725
         if(row.value==13){
@@ -701,7 +740,9 @@ export default {
701 740
           this.show17=false,
702 741
           this.show18=false,
703 742
           this.show19 = false,
704
-          this.show20 = false
743
+          this.show20 = false,
744
+          this.show21 = false,
745
+          this.show22 = false
705 746
           this.getPatientMeDicalList()
706 747
         }
707 748
         if(row.value==14){
@@ -722,7 +763,9 @@ export default {
722 763
           this.show17=false,
723 764
           this.show18=false,
724 765
           this.show19 = false,
725
-          this.show20 = false
766
+          this.show20 = false,
767
+          this.show21 = false,
768
+          this.show22 = false
726 769
           this.getTreamentPlan()
727 770
         }
728 771
         // if(row.value==15){
@@ -762,7 +805,9 @@ export default {
762 805
           this.show17=false,
763 806
           this.show18=false,
764 807
           this.show19 = false,
765
-          this.show20 = false
808
+          this.show20 = false,
809
+          this.show21 = false,
810
+          this.show22 = false
766 811
           this.getPatientCriticalOneList()
767 812
         }
768 813
         if(row.value==17){
@@ -783,7 +828,9 @@ export default {
783 828
           this.show17=true,
784 829
           this.show18=false,
785 830
           this.show19 = false,
786
-          this.show20 = false
831
+          this.show20 = false,
832
+          this.show21 = false,
833
+          this.show22 = false
787 834
         }
788 835
         if(row.value==18){
789 836
           this.filter_show=false
@@ -803,7 +850,9 @@ export default {
803 850
           this.show17=false,
804 851
           this.show18=true,
805 852
           this.show19 = false,
806
-          this.show20 = false
853
+          this.show20 = false,
854
+          this.show21 = false,
855
+          this.show22 = false
807 856
         }
808 857
         if(row.value==19){
809 858
           this.filter_show=false
@@ -823,7 +872,9 @@ export default {
823 872
           this.show17=false,
824 873
           this.show18=false,
825 874
           this.show19 = true,
826
-          this.show20 = false
875
+          this.show20 = false,
876
+          this.show21 = false,
877
+          this.show22 = false
827 878
         }
828 879
         if(row.value==20){
829 880
           this.filter_show=false
@@ -843,7 +894,53 @@ export default {
843 894
           this.show17=false,
844 895
           this.show18=false,
845 896
           this.show19 = false,
846
-          this.show20 = true
897
+          this.show20 = true,
898
+          this.show21 = false,
899
+          this.show22 = false
900
+        }
901
+        if(row.value==21){
902
+          this.filter_show=false
903
+          this.face_show=false
904
+          this.profunda_show=false,
905
+          this.arteriovenous_show=false,
906
+          this.Highrisk_show=false,
907
+          this.anticoagulation_show=false,
908
+          this.critical_show=false,
909
+          this.hemoperfusion_show=false,
910
+          this.Bring_show=false,
911
+          this.catheterization_show=false,
912
+          this.therapy_show=false,
913
+          this.history_show=false,
914
+          this.show14=false,
915
+          this.show16=false,
916
+          this.show17=false,
917
+          this.show18=false,
918
+          this.show19 = false,
919
+          this.show20 = false,
920
+          this.show21 = true,
921
+          this.show22 = false
922
+        }
923
+        if(row.value==22){
924
+          this.filter_show=false
925
+          this.face_show=false
926
+          this.profunda_show=false,
927
+          this.arteriovenous_show=false,
928
+          this.Highrisk_show=false,
929
+          this.anticoagulation_show=false,
930
+          this.critical_show=false,
931
+          this.hemoperfusion_show=false,
932
+          this.Bring_show=false,
933
+          this.catheterization_show=false,
934
+          this.therapy_show=false,
935
+          this.history_show=false,
936
+          this.show14=false,
937
+          this.show16=false,
938
+          this.show17=false,
939
+          this.show18=false,
940
+          this.show19 = false,
941
+          this.show20 = false,
942
+          this.show21 = false,
943
+          this.show22 = true
847 944
         }
848 945
     },
849 946
 

+ 266 - 0
src/xt_pages/user/Informed/components/Death_informed.vue View File

@@ -0,0 +1,266 @@
1
+<!-- 抗凝 -->
2
+<template>
3
+  <div style="border:1px solid gainsboro ;padding:10px">
4
+      <div style="position: relative; left: 400px;width: 250px;margin: 20px 0;">
5
+        <!-- <el-button type="primary">主要按钮</el-button> -->
6
+         <el-button type="primary" style=""  @click="bianji">
7
+              编辑
8
+          </el-button>
9
+       <!-- <el-button type="danger" style=""  @click="">
10
+              删除
11
+        </el-button> -->
12
+        <el-button type="success" style=""  @click="printThisPage">
13
+            打印
14
+        </el-button>
15
+      </div>
16
+      <div id="print_content">
17
+        <div class="print_page_main_content">
18
+          <div class="content">
19
+              <h2 style="text-align: center;">{{orgname}}<br/>死亡病例讨论记录</h2>
20
+
21
+              <div style="text-align: right;">
22
+                透析号:{{ patient.dialysis_no }}
23
+              </div>
24
+              <div style="display: flex;margin: 10px 0;">
25
+                <div style="flex:1">姓名:{{ patient.name }}</div>
26
+                <div style="flex:1">性别:
27
+                  <span v-if="patient.gender == 1">男</span>
28
+                   <span v-if="patient.gender == 2">女</span>
29
+                </div>
30
+                <div style="flex:1">年龄:
31
+                  {{ getAge(patient) }}
32
+                </div>
33
+                <div style="flex:1">住院(门诊)号:
34
+                  {{ patient.admission_number }}
35
+                </div>
36
+              </div>
37
+              <div style="border-bottom: 1px solid gainsboro;margin-bottom: 10px;">
38
+                诊断:
39
+                {{ patient.diagnose }}
40
+              </div>
41
+              <div>
42
+
43
+              </div>
44
+              <div v-html="content"></div>
45
+          </div>
46
+        </div>
47
+      </div>
48
+
49
+      <el-dialog
50
+        title="提示"
51
+        :visible.sync="dialogVisible"
52
+        width="60%"
53
+        >
54
+        <div>
55
+          <h2 style="text-align: center;">危重病人知情同意书</h2>
56
+
57
+          <div style="text-align: right;">
58
+            透析号:{{ patient.dialysis_no }}
59
+          </div>
60
+          <div style="display: flex;margin: 10px 0;">
61
+            <div style="flex:1">姓名:{{ patient.name }}</div>
62
+            <div style="flex:1">性别:
63
+              <span v-if="patient.gender == 1">男</span>
64
+                <span v-if="patient.gender == 2">女</span>
65
+            </div>
66
+            <div style="flex:1">年龄:
67
+              {{ getAge(patient) }}
68
+            </div>
69
+            <div style="flex:1">住院(门诊)号:
70
+              {{ patient.admission_number }}
71
+            </div>
72
+          </div>
73
+          <div style="border-bottom: 1px solid gainsboro;">
74
+            诊断:
75
+            {{ patient.diagnose }}
76
+          </div>
77
+          <keep-alive>
78
+            <editor ref="editor"
79
+                    id="editor"
80
+                    style="width: 100%"
81
+                    :content="content">
82
+            </editor>
83
+          </keep-alive>
84
+        </div>
85
+        <span slot="footer" class="dialog-footer">
86
+          <el-button @click="dialogVisible = false">取 消</el-button>
87
+          <el-button type="primary" @click="savePatientCritaicalInformed">确 定</el-button>
88
+        </span>
89
+      </el-dialog>
90
+
91
+  </div>
92
+</template>
93
+
94
+<script>
95
+import print from "print-js";
96
+// import Editor from '@/components/Editor'
97
+import Editor from '@/components/Uedtior'
98
+import { getPatientDetailInformedconsent,savePatientCritaicalInformed  } from '@/api/patient'
99
+import { jsGetAge, uParseTime } from "@/utils/tools";
100
+const content=`<p style="display: flex;margin-bottom: 5px;">
101
+                  <span style="flex:1">讨论目期:</span>
102
+                  <span style="flex:1">讨论目期:</span>
103
+                </p>
104
+                <p style="display: flex;margin-bottom: 5px;">
105
+                  <span style="flex:1">讨论主持人:</span>
106
+                  <span style="flex:1">参加人员:</span>
107
+                </p>
108
+                <p style='margin-bottom: 5px;'>医生汇报病情:&nbsp;&nbsp;&nbsp;&nbsp;岁,于&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;月份因恶心呕吐,双下肢水肿,血肌升高,在丽水市中心医院诊断为“慢性肾功能不全,尿毒症期”,采用颈内静脉长期置管做为血管通路,开始血液透析治疗,每周三次。该患平时而压较高,波动在130-190/60-98mHg之间,脱水在1.5
109
+3.0Kg。辅助检查化验血红蛋白基本正常,CI提示主动脉、冠状动脉、二尖多发钙化,甲状腺钙化结石,超声提示双侧颈动脉内膜不均匀增厚伴斑块形成,右锁骨下动脉斑块形成。于7月7日凌晨3点30分许,患者去卫生局解手,突然发生量厥并摔倒,家人立即去察看,发现患者呼吸心跳已停止立即平卧,胸外心脏按压,并拨打120急救,医生到达后确认患者已死亡。
110
+                </p>
111
+                <p style='margin-bottom: 5px;'>讨论摘要:患者老年女性,长期血透病史达7年多,根据患者病史、症状及体征,结合辅助检查,诊
112
+断:肾病综合征,慢性肾功能衰竭,肾性高血压,肾性贫血,继发性甲状旁腺功能亢进。患者平时经常漏服降压药物,血液控制较差,波动较大,透析间期体重增长较多,常常超过干体重的5,心脏功能较差,经常发生进行左心衰竭,来我中心行急诊透析治疗。多次向患者本人及家属交代病
113
+情,告知高血压及体重增长过多对身体各脏器的损害,患者本人及家属均表示已知晓。本次发病于?月7日凌晨3:30许,患者去卫生局时突发意外死亡,但死亡原因不明确。考虑是否为大动脉斑块脱落致重要器官栓塞,或血压突然升高致颅内出血,导致呼吸心跳停而死亡。
114
+                </p>
115
+                <p style='margin-bottom: 5px;'>
116
+                  总结:患者为长期透析病人,依从性差,容量管理不佳,水负荷较重,心功能差,血压控制不好,本次突发意外致呼吸心跳骒停。
117
+                </p>
118
+                <p style="display: flex;">
119
+                  <span style="flex:1">主持人签名:</span>
120
+                  <span style="flex:1">记录日期:</span>
121
+                </p>`
122
+export default{
123
+  props: {
124
+    patient_id: {
125
+        type: Number,
126
+      },
127
+    patientCritaicalInformedPrint:{
128
+      type:Object,
129
+    }
130
+  },
131
+  components:{
132
+    Editor
133
+  },
134
+
135
+  data(){
136
+  return{
137
+    patient:{},
138
+    dialogVisible:false,
139
+    content:content,
140
+    orgname:'',
141
+  }
142
+  },
143
+  methods:{
144
+    getlist(){
145
+
146
+      getPatientDetailInformedconsent(this.patient_id).then(response=>{
147
+        if(response.data.state == 1){
148
+          var patient =  response.data.data.patients
149
+          console.log("patinet",patient)
150
+          this.patient =patient
151
+        }
152
+      })
153
+    },
154
+    printThisPage(){
155
+        const style = '@media print {.content p{font-size: 16px;font-family: 新宋体;  margin-bottom: 5px;}}'
156
+        printJS({
157
+            printable: 'print_content',
158
+            type: 'html',
159
+            documentTitle: '  ',
160
+            style: style,
161
+            scanStyles: false
162
+        })
163
+    },
164
+    getAge: function(val) {
165
+        if (val.id_card_no == undefined) {
166
+          return false
167
+        }
168
+        var thisLen = val.id_card_no.length
169
+        var birth = ''
170
+        if (thisLen == 15) {
171
+          birth = '19' + val.id_card_no.substr(6, 6)
172
+        } else {
173
+          birth = val.id_card_no.substr(6, 8)
174
+        }
175
+        var birthtwo =
176
+          birth.substr(0, 4) +
177
+          '-' +
178
+          birth.substr(4, 2) +
179
+          '-' +
180
+          birth.substr(6, 2)
181
+
182
+        var age = jsGetAge(birthtwo, '-')
183
+        return age
184
+    },
185
+    show(val){
186
+      if(val!=null){
187
+        if(val.content!=""){
188
+          this.content = ""
189
+          this.content = val.content
190
+        }
191
+      }
192
+    },
193
+    bianji(){
194
+      this.dialogVisible=true
195
+      this.$refs.editor.content = this.content
196
+    },
197
+    savePatientCritaicalInformed(){
198
+      console.log('1111',this.$refs.editor.content);
199
+      // var params = {
200
+      //   content:this.$refs.editor.content
201
+      // }
202
+      // savePatientCritaicalInformed(params).then(response=>{
203
+      //   if(response.data.state ==1){
204
+      //     var patientCritical = response.data.data.patientCritical
205
+      //     this.$message.success("保存成功!")
206
+      //     this.dialogVisible = false
207
+      //     this.$emit("getPatientCriticalList","");
208
+      //   }
209
+      // })
210
+    }
211
+  },
212
+  created(){
213
+    this.orgname = this.$store.getters.xt_user.org.org_name;
214
+    if(this.patientCritaicalInformedPrint!=null && this.patientCritaicalInformedPrint.id >0){
215
+       this.content = ""
216
+       this.content = this.patientCritaicalInformedPrint.content
217
+    }
218
+    this.getlist()
219
+  }
220
+}
221
+</script>
222
+<style lang="scss" scoped>
223
+
224
+*{
225
+  // margin: 0;
226
+  // padding: 0;
227
+  border: 0;
228
+}
229
+  .content{
230
+      p{
231
+        font-size: 16px;
232
+        font-family: '新宋体';
233
+        line-height: 22px;
234
+        // padding-left: 20px;
235
+        margin-bottom: 5px;
236
+        text-align: justify;
237
+      }
238
+      .wsgl-module-wrap * {
239
+          font-family: 新宋体,NSimSun,宋体,SimSun;
240
+          color: #333;
241
+          font-size: 16px;
242
+      }
243
+      .ws-module-part {
244
+        line-height: 25px;
245
+        margin-top: 10px;
246
+        margin-bottom: 4px;
247
+        text-align: justify;
248
+      }
249
+      .abs-title {
250
+          position: relative;
251
+          padding-left: 20px;
252
+      }
253
+    .ws-module-content {
254
+        line-height: 25px;
255
+        padding-left: 20px;
256
+        margin-bottom: 4px;
257
+        text-align: justify;
258
+    }
259
+  }
260
+  .print_page_main_content {
261
+    background-color: white;
262
+    width: 100%;
263
+    padding: 0 0 0 0;
264
+    page-break-after: always;
265
+  }
266
+</style>

+ 342 - 0
src/xt_pages/user/Informed/components/hemodialysis.vue View File

@@ -0,0 +1,342 @@
1
+<!-- 透析器(滤过)治疗 -->
2
+<template>
3
+  <div style="border:1px solid gainsboro ;padding:10px">
4
+      <div style="position: relative; left: 400px;width: 250px;margin: 20px 0;">
5
+        <!-- <el-button type="primary">主要按钮</el-button> -->
6
+        <el-button type="primary" style=""  @click="bianji">
7
+              编辑
8
+          </el-button>
9
+        <!-- <el-button type="danger" style=""  @click="">
10
+              删除
11
+        </el-button> -->
12
+        <el-button type="success" style=""  @click="printThisPage">
13
+            打印
14
+        </el-button>
15
+      </div>
16
+      <div id="print_content">
17
+          <div class="print_page_main_content">
18
+          <div class="content">
19
+              <div style="text-align: center;font-size: 20px;">{{ orgname }}</div>
20
+              <h2 style="text-align: center;">血液透析知情同意书</h2>
21
+              <!-- <div v-if="org_id!=10571"> -->
22
+              <div style="text-align: right;" v-if="org_id!=10571">
23
+                透析号:{{ patient.dialysis_no }}
24
+              </div>
25
+              <div style="display: flex;margin: 10px 0;">
26
+                <div style="flex:1">姓名:
27
+                  {{ patient.name }}
28
+                </div>
29
+                <div style="flex:1">性别:
30
+                  <span v-if="patient.gender == 1">男</span>
31
+                  <span v-if="patient.gender == 2">女</span>
32
+                </div>
33
+                <div style="flex:1">年龄:
34
+                  {{ getAge(patient) }}
35
+                </div>
36
+                <div style="flex:1" v-if="org_id!=10571">住院(门诊)号:
37
+                  {{ patient.admission_number }}
38
+                </div>
39
+                <div style="flex:1" v-if="org_id==10571">门诊号:
40
+                  {{ patient.admission_number }}
41
+                </div>
42
+              </div>
43
+              <div style="display: flex;margin: 10px 0; ">
44
+                <div style="flex:1" v-if="org_id==10571">住院号:
45
+                  {{ patient.admission_number }}
46
+                </div>
47
+
48
+                <div style="flex:1" v-if="org_id==10571">
49
+                  血管通路
50
+                </div>
51
+              </div>
52
+              <div style="border-bottom: 1px solid gainsboro;margin-bottom: 10px;">
53
+                诊断:
54
+                {{ patient.diagnose }}
55
+              </div>
56
+              <div v-html="content" ></div>
57
+          </div>
58
+        </div>
59
+      </div>
60
+      <el-dialog
61
+        title="提示"
62
+        :visible.sync="dialogVisible"
63
+        width="60%"
64
+        >
65
+        <div>
66
+          <h2 style="text-align: center;">血液透析知情同意书</h2>
67
+          <div style="text-align: right;" v-if="org_id!=10571">
68
+            透析号:{{ patient.dialysis_no }}
69
+          </div>
70
+          <div style="display: flex;margin: 10px 0;">
71
+            <div style="flex:1">姓名:
72
+              {{ patient.name }}
73
+            </div>
74
+            <div style="flex:1">性别:
75
+              <span v-if="patient.gender == 1">男</span>
76
+              <span v-if="patient.gender == 2">女</span>
77
+            </div>
78
+            <div style="flex:1">年龄:
79
+              {{ getAge(patient) }}
80
+            </div>
81
+            <div style="flex:1" v-if="org_id!=10571">住院(门诊)号:
82
+              {{ patient.admission_number }}
83
+            </div>
84
+            <div style="flex:1" v-if="org_id==10571">门诊号:
85
+              {{ patient.admission_number }}
86
+            </div>
87
+          </div>
88
+          <div style="display: flex;margin: 10px 0; ">
89
+            <div style="flex:1" v-if="org_id==10571">住院号:
90
+              {{ patient.admission_number }}
91
+            </div>
92
+
93
+            <div style="flex:1" v-if="org_id==10571">
94
+              血管通路
95
+            </div>
96
+          </div>
97
+          <div style="border-bottom: 1px solid gainsboro;">
98
+            诊断:
99
+            {{ patient.diagnose }}
100
+          </div>
101
+          <keep-alive>
102
+            <editor ref="editor"
103
+                    id="editor"
104
+                    style="width: 100%"
105
+                    v-bind:r_content="content">
106
+            </editor>
107
+          </keep-alive>
108
+        </div>
109
+        <span slot="footer" class="dialog-footer">
110
+          <el-button @click="dialogVisible = false">取 消</el-button>
111
+          <el-button type="primary" @click="saveTherapyInformed">保 存</el-button>
112
+        </span>
113
+      </el-dialog>
114
+  </div>
115
+</template>
116
+
117
+<script>
118
+import print from "print-js";
119
+import Editor from '@/components/Editor'
120
+import { getPatientDetailInformedconsent,saveTherapyInformed  } from '@/api/patient'
121
+import { jsGetAge, uParseTime } from "@/utils/tools";
122
+const content=`
123
+<p>
124
+<table border='1' class="table" style="border-collapse: collapse;">
125
+    <tr>
126
+      <td colspan="2">
127
+        <span>尊敬的患者/患者亲属/法定监护人  </span><br/>
128
+        <span>您好!根据您目前的病情,我们特向您详细介绍和说明如下内容,同时对您的疑问和要求进行咨询和答复。以帮助您了解相关知识,做出选择。</span><br/>
129
+        <span style="text-align: right;display: inline-block;width: 100%;">•您是否需要文化援助 口不需要 口需要 (口盲文 口手语 口翻译 等)</span>
130
+      </td>
131
+    </tr>
132
+    <tr>
133
+      <td style="padding: 10px 0;text-align: center" colspan="2" >
134
+        患者姓名: &nbsp;&nbsp;&nbsp;&nbsp;          年龄:&nbsp;&nbsp;&nbsp;&nbsp;
135
+        科室:&nbsp;&nbsp;&nbsp;&nbsp;                  性别:
136
+      </td>
137
+    </tr>
138
+    <tr>
139
+      <td style="width: 10%;text-align: center;align-items: center;">医<br/>嘱<br/>告<br/>知</td>
140
+      <td>
141
+    疾病介绍目前诊断:<br/>
142
+诊疗方案;<br/>
143
+•治疗目的及预期效果:<br/>
144
+•治疗存在但是不限于以下潜在风险:<br/>
145
+1.任何所用药物都可能产生副作用、包括轻度的的恶心、皮疹等症状到严重的过敏性休克、甚至危及生命。
146
+2.呼吸、心脏骤停。<br/>
147
+3.肌肉痉挛或抽搐。<br/>
148
+4.低血压或高血压、心律失常、心力衰竭、心肌梗塞。<br/>
149
+5.首次使用综合症、失衡综合征、电解质酸碱平衡紊乱。<br/>
150
+6.脑出血、局部或全身出血倾向。<br/>
151
+7.过敏反应、发热反应等。<br/>
152
+8.溶血、出血、严重感染或原有感染播散。<br/>
153
+9.透析过程中发生空气栓塞或其他栓塞。<br/>
154
+10.血液传播性疾病(乙肝等各型肝炎、梅毒、艾滋病等)、慢性并发症几其他不良反应。<br/>
155
+11.部分病人因为出血倾向、活动性出血或手术后需要无肝素、减少肝素使用剂量或使用分子肝素抗凝或其他特殊的抗凝方法,可能会造成体外凝血,体内循环的血液不能回输体内,造成部分血液丢失。<br/>
156
+12.部分病人因为出血倾向、活动性出血或手术后需要枸橼盐酸纳注射液抗凝方法,可能会出过敏反应,甚至是过敏性休克;枸橼盐酸纳注射液蓄积可能出现低钙症。引起抽搐和心肌收缩抑制,或者出现严重代谢性碱中毒,甚至导致死亡。<br/>
157
+13.肾性骨病、消化道疾病。<br/>
158
+14.瘘管堵塞、感染。<br/>
159
+15.由于医学的复杂性,可能发生其他不可预见的并发症。<br/>
160
+16.治疗过程中可能因患者无法耐受而必须中断治疗。<br/>
161
+17.各种血管通路均有可能发生感染、血栓形成可能。<br/>
162
+18.其他不可预见的风险和并发症。<br/>
163
+19. 患者自身存在高危风险:肝功能不全、静脉血栓等疾病或者有吸烟史(如患者自身不存在高危风险,则删除此条款),以上这些高危风险因素可能导致治疗风险加大,或者在治疗中或治疗后出现相关的病情加重或心脑血管意外,甚至死亡。<br/>除上述情况外,本医疗措施尚有可能发生的其他的并发症或者需要提前请患者家属特别注意的其他事项。<br/>
164
+•血液净化治疗费用昂贵,须有患者家属或工作单位按时付清。若停止付费,经医院通知后仍不缴纳费用,本中心将暂停透析治疗。<br/>
165
+•患者应积极配合治疗,服从医护人员对透析方式及时间的安排,如有特殊情况需更改时间,请提前一天中心人员取得联系并得到许可,患者因不能按时来做透析而造成后果,由患者自负。<br/>
166
+•为了您的安全,门诊血液净化治疗患者来中心治疗时必须有家属陪护,负责路途中发生意外后果自负。<br/>
167
+•长期血液透析治疗的患者,依据卫生部血液净化规范条例要求,必须半年复查一次血液传播疾病的病毒学检查,包括乙肝、丙肝、艾滋病、梅毒。<br/>
168
+•如不实施该治疗方案,可采取的代替方案:对症治疗,该代替方案评价:稳定病情。我们将以高度的责任心,严格遵守医疗常规及规范,对上述可能发生得情况尽最大力
169
+量给予救治。但由于医疗救助水平的局限性、药物固有的不良反应及个人体制的差异,意外风险不能做到绝对避免,且不能确保救治完全成功,可能会出现残疾、组织器官损
170
+伤导致功能障碍、甚至死亡等不良后果,及其他不可预见且为能告知的特殊情况,敬请谅解。<br/>
171
+我己向患者解释了此知情同意书的全部内容和条款。<br/>
172
+        <p style="padding: 5px;">
173
+          <span>主管医师签字: &nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
174
+          <span>签字时间:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      年 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   月 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   日</span>
175
+        </p>
176
+      </td>
177
+    </tr>
178
+    <tr>
179
+      <td style="width: 10%;text-align: center;align-items: center;">患<br/>者<br/>知<br/>情<br/>选<br/>择</td>
180
+      <td>
181
+        患者/患者亲属/法定监护人/授权人(姓名)<br/>
182
+我的医生已经告知我将要进行的治疗方式、此次治疗及治疗后可能发生的并发和风险、可能存在的其他治疗方法并且解答了我关于此次治疗的相关问题。<br/>
183
+•我同意在治疗中医生可以根据我的病情对预定的治疗方法做出调整。<br/>
184
+•我理解我的治疗方案的实施需要多位医生和护士共同进行。<br/>
185
+•我并未得到治疗百分百成功的许诺。<br/>患者知情选择<br/>
186
+•医师已经向我解释治疗过程中如果出现紧急情况会按相关应急预案进行处理。<br/>
187
+•医师已经向我告知可能发生的费用情况,我已理解并愿承担。<br/>
188
+基于以上陈述,在此本人授权医师:<br/>
189
+•在发生紧急情况下,为保障本人的生命安全,医师有权按照医学常规给予紧急处置,更改并选择最适宜的治疗方案实施必要的抢救。<br/>
190
+•我  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接受该治疗方案,并对产生的不良后果已做好了充分思想准备。<br/>
191
+请患者签署“同意”字样<br/>
192
+•我  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接受该治疗方案,并愿意承担因拒绝治疗而发生的一切后果。<br/>
193
+请患者注明“不同意”字样<br/>
194
+患者签字:      &nbsp;&nbsp;&nbsp;&nbsp;  与患者关系:&nbsp;&nbsp;&nbsp;&nbsp;
195
+签字时间:     &nbsp;&nbsp;&nbsp;&nbsp;年   &nbsp;&nbsp; 月    &nbsp;&nbsp;日    &nbsp;&nbsp;时   &nbsp;&nbsp;分
196
+      </td>
197
+    </tr>
198
+    <tr>
199
+      <td style="width: 10%;text-align: center;align-items: center;">文<br/>化<br/>援<br/>助</td>
200
+      <td>
201
+        我提供了 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(请填写盲文、手语或者患者具体语言)的翻译,我翻译的内容包括此知情同意书的内容及医师与患者或患者委托人关系的一切书面信息。<br/>
202
+翻译签字:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;签字时间:&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;日
203
+&nbsp;&nbsp;&nbsp;&nbsp;时&nbsp;&nbsp;&nbsp;&nbsp;分
204
+      </td>
205
+    </tr>
206
+  </table>
207
+</p>`
208
+export default{
209
+  props: {
210
+    patient_id: {
211
+        type: Number,
212
+      },
213
+      therapyinformePrint:{
214
+        type:Object,
215
+      }
216
+   },
217
+  components:{
218
+    Editor
219
+  },
220
+  data(){
221
+    return{
222
+      patient:{},
223
+      org_id:0,
224
+      dialogVisible:false,
225
+      content:content,
226
+      orgname:'',
227
+    }
228
+  },
229
+  methods:{
230
+     getlist(){
231
+        getPatientDetailInformedconsent(this.patient_id).then(response=>{
232
+          if(response.data.state == 1){
233
+            var patient =  response.data.data.patients
234
+            console.log("patinet",patient)
235
+            this.patient =patient
236
+          }
237
+        })
238
+      },
239
+      printThisPage(){
240
+          const style = '@media print { .table tr{page-break-inside:avoid} .table tr td{border: 1px solid black;text-align: center;align-items: center;}}'
241
+          printJS({
242
+              printable: 'print_content',
243
+              type: 'html',
244
+              documentTitle: '  ',
245
+              style: style,
246
+              scanStyles: false
247
+          })
248
+      },
249
+      getAge: function(val) {
250
+          if (val.id_card_no == undefined) {
251
+            return false
252
+          }
253
+          var thisLen = val.id_card_no.length
254
+          var birth = ''
255
+          if (thisLen == 15) {
256
+            birth = '19' + val.id_card_no.substr(6, 6)
257
+          } else {
258
+            birth = val.id_card_no.substr(6, 8)
259
+          }
260
+          var birthtwo =
261
+            birth.substr(0, 4) +
262
+            '-' +
263
+            birth.substr(4, 2) +
264
+            '-' +
265
+            birth.substr(6, 2)
266
+
267
+          var age = jsGetAge(birthtwo, '-')
268
+          return age
269
+      },
270
+      bianji(){
271
+        this.dialogVisible=true
272
+      },
273
+      show(val){
274
+
275
+       if(val!=null){
276
+        console.log("valw233223",val)
277
+         if(val.content!=""){
278
+           this.content = ""
279
+           this.content = val.content
280
+         }
281
+
282
+       }
283
+     },
284
+      saveTherapyInformed(){
285
+         var params = {
286
+          content:this.$refs.editor.content
287
+         }
288
+        saveTherapyInformed(params).then(response=>{
289
+
290
+          if(response.data.state ==1){
291
+            var list = response.data.data.list
292
+            this.$message.success("保存成功!")
293
+            this.dialogVisible = false
294
+            this.$emit("getTherapyInformed","");
295
+          }
296
+        })
297
+      }
298
+
299
+  },
300
+  created(){
301
+    this.orgname = this.$store.getters.xt_user.org.org_name;
302
+    if(this.therapyinformePrint!=null && this.therapyinformePrint.id >0){
303
+       this.content = ""
304
+       this.content = this.therapyinformePrint.content
305
+    }
306
+    this.getlist()
307
+    this.org_id = this.$store.getters.xt_user.org.id
308
+  }
309
+}
310
+</script>
311
+<style lang="scss" scoped>
312
+
313
+*{
314
+  // margin: 0;
315
+  // padding: 0;
316
+  border: 0;
317
+}
318
+  .content{
319
+      p{
320
+        font-size: 16px;
321
+        font-family: '新宋体';
322
+        line-height: 22px;
323
+        // padding-left: 20px;
324
+        // margin-bottom: 5px;
325
+        text-align: justify;
326
+      }
327
+  }
328
+  .print_page_main_content {
329
+    background-color: white;
330
+    width: 100%;
331
+    padding: 0 0 0 0;
332
+    page-break-after: always;
333
+  }
334
+  .table tr{
335
+    page-break-inside:avoid
336
+  }
337
+  .table tr td{
338
+    border: 1px solid black;
339
+    // text-align: center;
340
+    // align-items: center;
341
+  }
342
+</style>