criticalpatient_informed.vue 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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;">危重病人知情同意书</h2>
  20. <div style="text-align: right;">
  21. 透析号:{{ patient.dialysis_no }}
  22. </div>
  23. <div style="display: flex;margin: 10px 0;">
  24. <div style="flex:1">姓名:{{ patient.name }}</div>
  25. <div style="flex:1">性别:
  26. <span v-if="patient.gender == 1">男</span>
  27. <span v-if="patient.gender == 2">女</span>
  28. </div>
  29. <div style="flex:1">年龄:
  30. {{ getAge(patient) }}
  31. </div>
  32. <div style="flex:1">住院(门诊)号:
  33. {{ patient.admission_number }}
  34. </div>
  35. </div>
  36. <div style="border-bottom: 1px solid gainsboro;">
  37. 诊断:
  38. {{ patient.diagnose }}
  39. </div>
  40. <div v-html="content"></div>
  41. </div>
  42. </div>
  43. </div>
  44. <el-dialog
  45. title="提示"
  46. :visible.sync="dialogVisible"
  47. width="60%"
  48. >
  49. <div>
  50. <h2 style="text-align: center;">危重病人知情同意书</h2>
  51. <div style="text-align: right;">
  52. 透析号:{{ patient.dialysis_no }}
  53. </div>
  54. <div style="display: flex;margin: 10px 0;">
  55. <div style="flex:1">姓名:{{ patient.name }}</div>
  56. <div style="flex:1">性别:
  57. <span v-if="patient.gender == 1">男</span>
  58. <span v-if="patient.gender == 2">女</span>
  59. </div>
  60. <div style="flex:1">年龄:
  61. {{ getAge(patient) }}
  62. </div>
  63. <div style="flex:1">住院(门诊)号:
  64. {{ patient.admission_number }}
  65. </div>
  66. </div>
  67. <div style="border-bottom: 1px solid gainsboro;">
  68. 诊断:
  69. {{ patient.diagnose }}
  70. </div>
  71. <keep-alive>
  72. <editor ref="editor"
  73. id="editor"
  74. style="width: 100%"
  75. v-bind:r_content="content">
  76. </editor>
  77. </keep-alive>
  78. </div>
  79. <span slot="footer" class="dialog-footer">
  80. <el-button @click="dialogVisible = false">取 消</el-button>
  81. <el-button type="primary" @click="savePatientCritaicalInformed">确 定</el-button>
  82. </span>
  83. </el-dialog>
  84. </div>
  85. </template>
  86. <script>
  87. import print from "print-js";
  88. import Editor from '@/components/Editor'
  89. import { getPatientDetailInformedconsent,savePatientCritaicalInformed } from '@/api/patient'
  90. import { jsGetAge, uParseTime } from "@/utils/tools";
  91. const content=`<p style='position: relative;padding-left: 2em;margin-top: 10px;margin-bottom: 4px '>
  92. <span style='position: absolute;top: 0px;left: 0;'>一、</span>该知情同意书将向您介绍危重患者接受血液净化治疗选择相关事宜,你有权知道危重患者接受血液净化治疗存在的风险、预期效果及对人体等影响,请您仔细阅读,提出与治疗有关的任何疑问。决定是否同意对患者实施血液净化治疗。
  93. </p>
  94. <p style='position: relative;padding-left: 2em;margin-top: 10px;margin-bottom: 4px '>
  95. <span style='position: absolute;top: 0px;left: 0;'>二、</span>现因患者体重控制不佳,出现喘息,不能平卧,无恶心呕吐,无腹痛腹泻,T: 36.9C,、P96次/分,R18次/分,BP160/106mmhg,查体:贫血貌,颜面部浮肿,双肺可闻及湿性罗音,双下肢轻度浮肿。经过综合评估,现患者精神状差,端坐呼吸,上机透析可能会诱发加重心衰甚至有危及生命的可能,建议家属至上级医院进一步诊治,患者及家属表示理解、知情,但仍坚持我院透析观察,后果自负。
  96. </p>
  97. <p style='position: relative;padding-left: 2em;margin-top: 10px;margin-bottom: 4px '>
  98. <span style='position: absolute;top: 0px;left: 0;'>三、</span>患者在血液净化治疗过程中,可能包括以下情况:
  99. </p>
  100. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  101. <span class="abs-index">1.</span>出现急性恶性心律失常,恶性高血压,低血压休克,急性心肌梗塞,心包填塞,心跳骤停等心血管意外。
  102. </p>
  103. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  104. <span class="abs-index">2.</span>出现脑出血、脑梗塞、昏迷等脑血管意外。
  105. </p>
  106. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  107. <span class="abs-index">3.</span>出现头痛、恶心、呕吐、抽搐、意识障碍等症状。
  108. </p>
  109. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  110. <span class="abs-index">4.</span>出现或加重原有的肺部疾病,甚至出现呼吸衰竭。
  111. </p>
  112. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  113. <span class="abs-index">5.</span>出现或加重原有的出血性疾病,如消化道大出血等。
  114. </p>
  115. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>
  116. <span class="abs-index">6.</span>心衰或透析期间体重增加过多的患者,透析中比稳定透析病人更容易危及生命。
  117. </p>
  118. <p style='position: relative;padding-left: 2em;margin-top: 10px;margin-bottom: 4px '>
  119. <span style='position: absolute;top: 0px;left: 0;'>四、</span>医护人员将按规范认真操作,尽可能防范可能出现的并发症。由于已知或未知的原因,以及临床医学存在难以预料的多变性,任何治疗均有可能无法达到预期结果,或出现严重并发症、损伤甚至死亡等。因此,医生不能对结果作出任何保证。在没有向您告知并获得您签署的书面同意书前,医生不能对患者施行血液透析治疗。在治疗实施前的任何时间,您都有权接受或拒绝。
  120. </p>
  121. <p style='position: relative;padding-left: 2em;margin-top: 10px;margin-bottom: 4px '>
  122. <span style='position: absolute;top: 0px;left: 0;'>五、</span>以下的签名表示:
  123. </p>
  124. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>1.您已阅读并理解有关血液透析的相关信息。</p>
  125. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>2.医生对以上问题已经向您作了充分的解释。</p>
  126. <p style='padding-left: 2em;margin-top: 10px;margin-bottom: 4px'>3.您授权并同意医生为患者施行血液透析治疗</p>
  127. <p style="padding:10px 20px;display:flex;justify-content: space-between;align-items: center;">
  128. <span>患者签名:______________</span>
  129. </p>
  130. <p style="padding:10px 20px;display:flex;justify-content: space-between;align-items: center;">
  131. <span>患者家属签名:______________</span>
  132. </p>
  133. <p style="padding:10px 20px;display:flex;justify-content: space-between;align-items: center;">
  134. <span>与患者关系:______________</span>
  135. <span>告知医师签名:______________</span>
  136. </p>
  137. <p style="padding:0 20px;display:flex;justify-content: space-between;align-items: center;">
  138. <span>签名日期:_______年____月____日</span>
  139. <span>签名日期:_______年____月____日</span>
  140. </p>`
  141. export default{
  142. props: {
  143. patient_id: {
  144. type: Number,
  145. }
  146. },
  147. components:{
  148. Editor
  149. },
  150. data(){
  151. return{
  152. patient:{},
  153. dialogVisible:false,
  154. content:content
  155. }
  156. },
  157. methods:{
  158. getlist(){
  159. getPatientDetailInformedconsent(this.patient_id).then(response=>{
  160. if(response.data.state == 1){
  161. var patient = response.data.data.patients
  162. console.log("patinet",patient)
  163. this.patient =patient
  164. }
  165. })
  166. },
  167. printThisPage(){
  168. const style = '@media print {.content p{font-size: 16px;font-family: 新宋体; padding-left: 20px; margin-bottom: 5px;}}'
  169. printJS({
  170. printable: 'print_content',
  171. type: 'html',
  172. documentTitle: ' ',
  173. style: style,
  174. scanStyles: false
  175. })
  176. },
  177. getAge: function(val) {
  178. if (val.id_card_no == undefined) {
  179. return false
  180. }
  181. var thisLen = val.id_card_no.length
  182. var birth = ''
  183. if (thisLen == 15) {
  184. birth = '19' + val.id_card_no.substr(6, 6)
  185. } else {
  186. birth = val.id_card_no.substr(6, 8)
  187. }
  188. var birthtwo =
  189. birth.substr(0, 4) +
  190. '-' +
  191. birth.substr(4, 2) +
  192. '-' +
  193. birth.substr(6, 2)
  194. var age = jsGetAge(birthtwo, '-')
  195. return age
  196. },
  197. bianji(){
  198. this.dialogVisible=true
  199. },
  200. savePatientCritaicalInformed(){
  201. var params = {
  202. content:this.$refs.editor.content
  203. }
  204. savePatientCritaicalInformed(params).then(response=>{
  205. if(response.data.state ==1){
  206. var patientCritical = response.data.data.patientCritical
  207. this.$message.success("保存成功!")
  208. }
  209. })
  210. }
  211. },
  212. created(){
  213. this.getlist()
  214. }
  215. }
  216. </script>
  217. <style lang="scss" scoped>
  218. *{
  219. // margin: 0;
  220. // padding: 0;
  221. border: 0;
  222. }
  223. .content{
  224. p{
  225. font-size: 16px;
  226. font-family: '新宋体';
  227. line-height: 22px;
  228. padding-left: 20px;
  229. margin-bottom: 5px;
  230. text-align: justify;
  231. }
  232. .wsgl-module-wrap * {
  233. font-family: 新宋体,NSimSun,宋体,SimSun;
  234. color: #333;
  235. font-size: 16px;
  236. }
  237. .ws-module-part {
  238. line-height: 25px;
  239. margin-top: 10px;
  240. margin-bottom: 4px;
  241. text-align: justify;
  242. }
  243. .abs-title {
  244. position: relative;
  245. padding-left: 20px;
  246. }
  247. .ws-module-content {
  248. line-height: 25px;
  249. padding-left: 20px;
  250. margin-bottom: 4px;
  251. text-align: justify;
  252. }
  253. }
  254. </style>