HeadPage.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. <template>
  2. <div style="width: 820px">
  3. <div style="width: 770px; margin-left: 35px; border-left: 1px dashed gray; padding-left: 35px">
  4. <div style="-webkit-transform: translateX(-52px); transform: translateX(-52px); position: absolute; color: black; font-size: 14px">装<br />订<br />线</div>
  5. <div>
  6. <div style="width: 100%; font-size: 17px; text-align: center">住 院 病 案 首 页</div>
  7. <div style="margin-right: 8px; width: 100%; height: 32px; line-height: 32px; font-size: 15px; text-align: center">
  8. 医疗机构:
  9. <span style="font-weight: 700">长沙泰和医院</span>
  10. (组织机构代码:
  11. <span style="font-weight: 700">43010150145</span>
  12. </div>
  13. <div style="margin-right: 8px; height: 25px; line-height: 25px">
  14. <span style="display: inline-block">
  15. 医疗付费方式:
  16. <span style="display: inline-block; width: 180px">{{ filterNameInDic(patient.payMethod, 'getPayMethod') }}</span>
  17. </span>
  18. <span style="display: inline-block; margin-right: 8px; width: 120px; margin-left: 12px">健康卡号: {{ patient.healthCardNo }}</span>
  19. <span style="display: inline-block; margin-right: 8px; width: 100px">第&nbsp;{{ patient.admissTimes }}&nbsp;次住院</span>
  20. <span style="display: inline-block; margin-right: 8px; width: 130px">病案号: {{ patient.bah }}</span>
  21. </div>
  22. </div>
  23. <div style="border: 1px solid black; padding: 5px">
  24. <div style="margin: 10px 8px 10px 0">
  25. 姓名:
  26. <span style="display: inline-block; padding: 0 4px; margin-right: 8px; width: 70px; border-bottom: 1px solid black">{{ patient.name }}</span>
  27. 性别:
  28. <span style="display: inline-block; padding: 0 4px; margin-right: 8px; border-bottom: 1px solid black">{{ filterNameInDic(patient.sex, 'getSexCode') }}</span>
  29. 出生日期:
  30. <span style="display: inline-block; padding: 0 4px; margin-right: 8px; width: 130px; border-bottom: 1px solid black">{{ patient.birthDate }}</span>
  31. 年龄:
  32. <span style="display: inline-block; padding: 0 4px; margin-right: 8px; width: 30px; border-bottom: 1px solid black">{{ patient.age }}</span>
  33. 国籍:
  34. <span style="display: inline-block; padding: 0 4px; margin-right: 8px; border-bottom: 1px solid black">{{ filterNameInDic(patient.country, 'getCountry') }}</span>
  35. </div>
  36. <div style="margin: 10px 8px 10px 0">
  37. (年龄不足 1 周岁的)年龄:
  38. <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.ageDays }}</span>
  39. 天<span style="margin-left: 8px">新生儿出生体重:</span>
  40. <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.newBornWeight }}</span>
  41. 克<span style="margin-left: 8px">新生儿入院体重:</span>
  42. <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.newBornAdmissWeight }}</span>
  43. </div>
  44. <div style="margin: 10px 8px 10px 0">
  45. 出生地:
  46. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 230px">{{ patient.birthPlaceName }}</span>
  47. 籍贯:
  48. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 230px">{{ patient.nativePlaceName }}</span>
  49. 民族:
  50. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.nation, 'getNation') }}</span>
  51. </div>
  52. <div style="margin: 10px 8px 10px 0">
  53. 身份证号:
  54. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 160px">{{ patient.socialNo }}</span>
  55. 职业:
  56. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.occupation, 'getOccupation') }}</span>
  57. 婚姻:
  58. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.marriage, 'getMarriageCode') }}</span>
  59. </div>
  60. <div style="margin: 10px 8px 10px 0">
  61. 现住址:
  62. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.livePlace }}</span>
  63. 电话:
  64. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ patient.phone }}</span>
  65. 邮编:
  66. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.addrZipCode }}</span>
  67. </div>
  68. <div style="margin: 10px 8px 10px 0">
  69. 户口地址:
  70. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.hkPlaceName }}</span>
  71. 邮编:
  72. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.hkZipCode }}</span>
  73. </div>
  74. <div style="margin: 10px 8px 10px 0">
  75. 工作单位及地址:
  76. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; margin-right: 0; width: 330px">
  77. {{ patient.unitName }}/{{ patient.unitPlace }}
  78. </span>
  79. 单位电话:
  80. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 80px">{{ patient.unitPhone }}</span>
  81. 邮编:
  82. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 50px">{{ patient.unitZipCode }}</span>
  83. </div>
  84. <div style="margin: 10px 8px 10px 0">
  85. 联系人姓名:
  86. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 90px">{{ patient.contactName }}</span>
  87. 联系人关系:
  88. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{
  89. filterNameInDic(patient.contactRelation, 'getRelations')
  90. }}</span>
  91. </div>
  92. <div style="margin: 10px 8px 10px 0">
  93. 联系人地址:
  94. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.contactAddrName }}</span>
  95. 联系人电话:
  96. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 90px">{{ patient.contactPhone }}</span>
  97. </div>
  98. <div style="margin: 10px 8px 10px 0">
  99. 入院途径:
  100. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.zyAdmissWay, 'getAdmissWay') }}</span>
  101. 是否手术:
  102. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.hasSurgery, 'getOperations') }}</span>
  103. </div>
  104. <div style="margin: 10px 0 10px 0">
  105. 入院时间:
  106. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 122px">{{ patient.admissDate }}</span>
  107. 入院科别:
  108. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 118px">{{ patient.admissDept }}</span>
  109. 病房:
  110. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 80px">{{ patient.admissWard }}</span>
  111. 转科科别:
  112. <span style="display: inline-block; padding: 0 4px; border-bottom: 1px solid black; width: 118px">{{ patient.transDept }}</span>
  113. </div>
  114. <div style="margin: 10px 8px 10px 0">
  115. 出院时间:
  116. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 122px">{{ patient.dismissDate }}</span>
  117. 出院科别:
  118. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 118px">{{ patient.dismissDept }}</span>
  119. 病房:
  120. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 80px">{{ patient.dismissWard }}</span>
  121. 住院天数:
  122. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 118px">{{ patient.admissDays }}</span>
  123. </div>
  124. <div style="margin: 10px 8px 10px 0">
  125. 门(急)诊诊断:
  126. <span
  127. style="
  128. display: inline-block;
  129. margin-right: 8px;
  130. padding: 0 4px;
  131. border-bottom: 1px solid black;
  132. width: 350px;
  133. text-overflow: ellipsis;
  134. white-space: nowrap;
  135. overflow: hidden;
  136. "
  137. >
  138. {{ patient.clinicDiagStr }}
  139. </span>
  140. 疾病编码:
  141. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 110px">{{ patient.clinicDiagCode }}</span>
  142. </div>
  143. <div style="height: max-content; width: 720px">
  144. <span style="display: inline-block; width: 360px">
  145. <table style="width: 360px; border: 1px solid black; border-collapse: collapse">
  146. <tr>
  147. <th>主要诊断</th>
  148. <th>疾病编码</th>
  149. <th>入院病情</th>
  150. <th>出院病情</th>
  151. </tr>
  152. <tr>
  153. <td style="width: 170px">
  154. {{ patient.disdiagList[0].name }}
  155. </td>
  156. <td style="width: 100px; text-align: center">
  157. {{ patient.disdiagList[0].code }}
  158. </td>
  159. <td style="width: 30px">
  160. {{ patient.disdiagList[0].admissStatus }}
  161. </td>
  162. <td style="width: 30px">
  163. {{ patient.disdiagList[0].dismissStatus }}
  164. </td>
  165. </tr>
  166. <tr>
  167. <th colspan="4">其他诊断</th>
  168. </tr>
  169. <tr v-for="n in 11" :key="n">
  170. <td style="text-align: left; padding-left: 5px">
  171. {{ patient.disdiagList[n].name }}
  172. </td>
  173. <td style="width: 90px">
  174. {{ patient.disdiagList[n].code }}
  175. </td>
  176. <td style="width: 30px">
  177. {{ patient.disdiagList[n].admissStatus }}
  178. </td>
  179. <td style="width: 30px">
  180. {{ patient.disdiagList[n].dismissStatus }}
  181. </td>
  182. </tr>
  183. </table>
  184. </span>
  185. <span style="display: inline-block; width: 360px">
  186. <table style="width: 360px; border: 1px solid black; border-collapse: collapse">
  187. <tr v-for="n in 14" :key="n">
  188. <td style="margin-right: 8px; width: 170px">
  189. {{ patient.disdiagList[n + 11].name }}
  190. </td>
  191. <td style="margin-right: 8px; width: 100px">
  192. {{ patient.disdiagList[n + 11].code }}
  193. </td>
  194. <td style="margin-right: 8px; width: 30px">
  195. {{ patient.disdiagList[n + 11].admissStatus }}
  196. </td>
  197. <td style="margin-right: 8px; width: 30px">
  198. {{ patient.disdiagList[n + 11].dismissStatus }}
  199. </td>
  200. </tr>
  201. </table>
  202. </span>
  203. </div>
  204. <div style="width: 700px; margin: 4px 0 2px 0; padding: 0 4px; border-bottom: 1px solid black; font-size: 12px">
  205. 备注:
  206. <span style="display: inline-block">入院病情:</span>
  207. 1.有,2.临床未确定,3.情况不明,4.无
  208. <span style="display: inline-block; margin-right: 8px; margin-left: 10px">出院病情:</span>
  209. 1.治愈,2.好转,3.未愈,4.死亡,9.其他
  210. </div>
  211. <div style="margin: 10px 8px 10px 0">
  212. 损伤、中毒的外部原因:
  213. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.hurtReasonName }}</span>
  214. 疾病编码:
  215. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 110px">{{ patient.hurtReasonCode }}</span>
  216. </div>
  217. <div style="margin: 10px 8px 10px 0">
  218. 病理诊断:
  219. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 300px">{{ patient.pathologicDiagStr }}</span>
  220. 病理编码:
  221. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 90px">{{ patient.pathologicDiagCode }}</span>
  222. 病理号:
  223. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.blh }}</span>
  224. </div>
  225. <div style="margin: 10px 8px 10px 0">
  226. 药物过敏:
  227. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.allergy, 'getHaveOrNot') }}</span>
  228. ,过敏药物:
  229. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 110px">{{ patient.allergicMedicine }}</span>
  230. 死亡患者尸检:
  231. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.autopsy, 'getAutopsies') }}</span>
  232. </div>
  233. <div style="margin: 10px 8px 10px 0">
  234. 输血前四项: HbsAg
  235. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.hbsAg, 'getHbsag') }}</span>
  236. HCV-Ab
  237. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; margin-left: 8px">{{
  238. filterNameInDic(patient.hcvAb, 'getHbsag')
  239. }}</span>
  240. HIV-Ab
  241. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; margin-left: 8px">{{
  242. filterNameInDic(patient.hivAb, 'getHbsag')
  243. }}</span>
  244. TP-Ab
  245. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; margin-left: 8px">{{
  246. filterNameInDic(patient.tpAb, 'getHbsag')
  247. }}</span>
  248. </div>
  249. <div style="margin: 10px 8px 10px 0">
  250. 血型:
  251. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.bloodType, 'getBloodType') }}</span>
  252. Rh:
  253. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">{{ filterNameInDic(patient.rh, 'getHbsag') }}</span>
  254. </div>
  255. <div style="margin: 10px 8px 10px 0">
  256. 科室主任:
  257. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.deptLeaderName }}</span>
  258. 主任(副主任)医师:
  259. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.leaderDoctorName }}</span>
  260. 主治医师:
  261. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.mainDoctorName }}</span>
  262. 住院医师:
  263. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.admissDoctorName }}</span>
  264. </div>
  265. <div style="margin: 10px 8px 10px 0">
  266. 责任护士:
  267. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.dutyNurseName }}</span>
  268. 进修医师:
  269. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.studyDoctorName }}</span>
  270. 实习医师:
  271. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.internshipDoctorName }}</span>
  272. 编码员:
  273. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.coderName }}</span>
  274. </div>
  275. <div style="margin: 10px 8px 10px 0">
  276. 病案质量:
  277. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black">
  278. {{ filterNameInDic(patient.qualityControlLevel, 'getQualityLevel') }}
  279. </span>
  280. 质控医师:
  281. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.qualityControlDoctorName }}</span>
  282. 质控护士:
  283. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 70px">{{ patient.qualityControlNurseName }}</span>
  284. 质控日期:
  285. <span style="display: inline-block; margin-right: 8px; padding: 0 4px; border-bottom: 1px solid black; width: 170px">{{ patient.qualityControlDate }}</span>
  286. </div>
  287. </div>
  288. </div>
  289. </div>
  290. </template>
  291. <script>
  292. export default {
  293. props: {
  294. patient: {
  295. type: Object,
  296. required: true,
  297. },
  298. dics: {
  299. type: Object,
  300. required: true,
  301. },
  302. },
  303. setup(props) {
  304. const filterNameInDic = (val, dic) => {
  305. if (!val) {
  306. return ''
  307. }
  308. const dicValue = props.dics[dic]
  309. for (let i = 0; i < dicValue.length; i++) {
  310. const dicItem = dicValue[i]
  311. if (dicItem.code == val) {
  312. return dicItem.name
  313. }
  314. }
  315. return '-'
  316. }
  317. return {
  318. filterNameInDic,
  319. }
  320. },
  321. }
  322. </script>
  323. <style scoped>
  324. table,
  325. th,
  326. td {
  327. border: 1px solid black;
  328. border-collapse: collapse;
  329. }
  330. td,
  331. th {
  332. height: 24px;
  333. padding-left: 4px;
  334. }
  335. </style>