血透系统PC前端

DialysisPrescription.vue 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. <template>
  2. <div class="plate-box">
  3. <h2 class="DetailsTit"><span>{{ title }}</span></h2>
  4. <div class="plate">
  5. <ul>
  6. <li>
  7. <label>透析模式 : </label>
  8. <span class="content">{{ dialysis_mode }}</span>
  9. </li>
  10. <!-- <li>
  11. <label>灌流器 : </label>
  12. <span class="content">{{ perfusion_apparatus }}</span>
  13. </li> -->
  14. <li>
  15. <label>置换量 : </label>
  16. <span class="content" v-if="replacement_total!='0'">{{replacement_total}}</span>
  17. <span class="unit" v-if="replacement_total!='0'">L</span>
  18. </li>
  19. <li>
  20. <label>首剂 : </label>
  21. <span class="content" v-if="anticoagulant_shouji!='0'">{{ anticoagulant_shouji }}</span>
  22. <span class="unit" v-if="anticoagulant_shouji!='0'">mg</span>
  23. </li>
  24. <li>
  25. <label>钾 : </label>
  26. <span class="content" v-if="kalium!='0'">{{ kalium }}</span>
  27. <span class="unit" v-if="kalium!='0'">mmol/L</span>
  28. </li>
  29. <li>
  30. <label>碳酸氢盐 : </label>
  31. <span class="content" v-if="bicarbonate!='0'">{{ bicarbonate }}</span>
  32. <span class="unit" v-if="bicarbonate!='0'">mmol/l</span>
  33. </li>
  34. <li>
  35. <label>透析液流量 : </label>
  36. <span class="content" v-if="dialysate_flow!='0'">{{ dialysate_flow }}</span>
  37. <span class="unit" v-if="dialysate_flow!='0'">ml/min</span>
  38. </li>
  39. </ul>
  40. <ul>
  41. <li>
  42. <label>透析时长 : </label>
  43. <span class="content" v-if="dialysis_duration_hour!='0'">{{ dialysis_duration_hour }}</span>
  44. <span class="unit" v-if="dialysis_duration_hour!='0'">h</span>
  45. <span class="content" v-if="dialysis_duration_minute!='0'">{{ dialysis_duration_minute }}</span>
  46. <span class="unit" v-if="dialysis_duration_minute!='0'">min</span>
  47. </li>
  48. <li>
  49. <label>血流量 : </label>
  50. <span class="content" v-if="blood_flow_volume!='0'">{{ blood_flow_volume }}</span>
  51. <span class="unit" v-if="blood_flow_volume!='0'">ml/min</span>
  52. </li>
  53. <!-- <li>
  54. <label>置换方式 : </label>
  55. <span class="content">{{ replacement_way }}</span>
  56. </li> -->
  57. <li>
  58. <label>维持 : </label>
  59. <span class="content" v-if="anticoagulant_weichi!='0'">{{ anticoagulant_weichi }}</span>
  60. <span class="unit" v-if="anticoagulant_weichi!='0'">mg/h</span>
  61. </li>
  62. <li>
  63. <label>钠 : </label>
  64. <span class="content" v-if="sodium!='0'">{{ sodium }}</span>
  65. <span class="unit" v-if="sodium!='0'">mmol/l</span>
  66. </li>
  67. <li>
  68. <label>葡萄糖 : </label>
  69. <span class="content" v-if="glucose!='0'">{{ glucose }}</span>
  70. <span class="unit" v-if="glucose!='0'">mmol/l</span>
  71. </li>
  72. <li>
  73. <label>透析液温度 : </label>
  74. <span class="content" v-if="dialysate_temperature!='0'">{{ dialysate_temperature }}</span>
  75. <span class="unit" v-if="dialysate_temperature!='0'">℃</span>
  76. </li>
  77. </ul>
  78. <ul>
  79. <!-- <li>
  80. <label>透析器 : </label>
  81. <span class="content">{{ dialyzer }}</span>
  82. </li> -->
  83. <li>
  84. <label>脱水量 : </label>
  85. <span class="content" v-if="prescription_dewatering!='0'">{{ prescription_dewatering }}</span>
  86. <span class="unit" v-if="prescription_dewatering!='0'">L</span>
  87. </li>
  88. <li>
  89. <label>抗疑剂 : </label>
  90. <span class="content">{{ anticoagulant }}</span>
  91. </li>
  92. <li>
  93. <label>总量: </label>
  94. <span class="content" v-if="anticoagulant_zongliang!='0'">{{ anticoagulant_zongliang }}</span>
  95. <span class="unit" v-if="anticoagulant_zongliang!='0'">mg</span>
  96. </li>
  97. <li>
  98. <label>钙: </label>
  99. <span class="content" v-if="calcium!='0'">{{ calcium }}</span>
  100. <span class="unit" v-if="calcium!='0'">mmol/l</span>
  101. </li>
  102. <li>
  103. <label>干体重 : </label>
  104. <span class="content" v-if="dry_weight!='0'">{{ dry_weight }}</span>
  105. <span class="unit" v-if="dry_weight!='0'">kg</span>
  106. </li>
  107. <li>
  108. <label>电导率 : </label>
  109. <span class="content" v-if="conductivity!='0'">{{ conductivity }}</span>
  110. <span class="unit" v-if="conductivity!='0'">mS/cm</span>
  111. </li>
  112. <li>
  113. <label>透析器/灌流器 : </label>
  114. <span class="content">{{ dialyzer_perfusion_apparatus }}</span>
  115. </li>
  116. </ul>
  117. </div>
  118. <div class="note">备注 : <span>{{ note }}</span></div>
  119. <!-- <div class="note">处方医生 : {{doctor}}</div> -->
  120. <div class="middleLine"></div>
  121. </div>
  122. </template>
  123. <script>
  124. import { getDataConfig } from "@/utils/data"
  125. export default {
  126. name: "DialysisPrescription",
  127. data() {
  128. return {
  129. title: "透析处方",
  130. perfusion_apparatus_map: {},
  131. replacement_way_map: {},
  132. };
  133. },
  134. props: {
  135. prescription: {
  136. type: Object,
  137. },
  138. solution: {
  139. type: Object,
  140. },
  141. device_map: {
  142. type: Object,
  143. }
  144. },
  145. computed: {
  146. dialysis_mode: function() {
  147. var mode = this.getValueStr("mode_id", "mode_id")
  148. if (mode.length == 0) {
  149. return ""
  150. }
  151. if (this.$store.getters.treatment_mode[mode] != undefined) {
  152. return this.$store.getters.treatment_mode[mode].name
  153. }
  154. return ""
  155. },
  156. perfusion_apparatus: function() {
  157. var v = this.getValueStr("perfusion_apparatus", "perfusion_apparatus")
  158. if (v.length == 0) {
  159. return ""
  160. }
  161. if (this.perfusion_apparatus_map[v] != undefined) {
  162. return this.perfusion_apparatus_map[v].name
  163. }
  164. return ""
  165. },
  166. replacement_total: function() {
  167. var v = this.getValueStr("replacement_total", "replacement_total")
  168. return v.length == 0 ? "0" : v
  169. },
  170. anticoagulant_shouji: function() {
  171. var v = this.getValueStr("anticoagulant_shouji", "anticoagulant_shouji")
  172. return v.length == 0 ? "0" : v
  173. },
  174. kalium: function() {
  175. var v = this.getValueStr("kalium", "kalium")
  176. return v.length == 0 ? "0" : v
  177. },
  178. bicarbonate: function() {
  179. var v = this.getValueStr("bicarbonate", "bicarbonate")
  180. return v.length == 0 ? "0" : v
  181. },
  182. dialysate_flow: function() {
  183. var v = this.getValueStr("dialysate_flow", "dialysate_flow")
  184. return v.length == 0 ? "0" : v
  185. },
  186. dialysis_duration: function() {
  187. var v = this.getValueStr("dialysis_duration", "dialysis_duration")
  188. return v.length == 0 ? "0" : v
  189. },
  190. dialysis_duration_hour:function(){
  191. var v = this.getValueStr("dialysis_duration_hour", "dialysis_duration_hour")
  192. return v.length == 0 ? "0" : v
  193. },
  194. dialysis_duration_minute:function(){
  195. var v = this.getValueStr("dialysis_duration_minute", "dialysis_duration_minute")
  196. return v.length == 0 ? "0" : v
  197. },
  198. blood_flow_volume: function() {
  199. var v = this.getValueStr("blood_flow_volume", "blood_flow_volume")
  200. return v.length == 0 ? "0" : v
  201. },
  202. replacement_way: function() {
  203. var v = this.getValueStr("replacement_way", "replacement_way")
  204. if (v.length == 0) {
  205. return ""
  206. }
  207. if (this.replacement_way_map[v] != undefined) {
  208. return this.replacement_way_map[v].name
  209. }
  210. return ""
  211. },
  212. anticoagulant_weichi: function() {
  213. var v = this.getValueStr("anticoagulant_weichi", "anticoagulant_weichi")
  214. return v.length == 0 ? "0" : v
  215. },
  216. sodium: function() {
  217. var v = this.getValueStr("sodium", "sodium")
  218. return v.length == 0 ? "0" : v
  219. },
  220. glucose: function() {
  221. var v = this.getValueStr("glucose", "glucose")
  222. return v.length == 0 ? "0" : v
  223. },
  224. dialysate_temperature: function() {
  225. var v = this.getValueStr("dialysate_temperature", "dialysate_temperature")
  226. return v.length == 0 ? "0" : v
  227. },
  228. dialyzer: function() {
  229. var v = this.getValueStr("dialyzer", "hemodialysis_machine")
  230. if (v.length == 0) {
  231. return ""
  232. }
  233. if (this.device_map[v] != undefined) {
  234. return this.device_map[v].name
  235. }
  236. return ""
  237. },
  238. prescription_dewatering: function() {
  239. var v = this.getValueStr("prescription_dewatering", "dewater")
  240. return v.length == 0 ? "0" : v
  241. },
  242. anticoagulant: function() {
  243. var v = this.getValueStr("anticoagulant", "anticoagulant")
  244. if (v.length == 0) {
  245. return ""
  246. }
  247. if (this.$store.getters.anticoagulants_confit[v] != undefined) {
  248. return this.$store.getters.anticoagulants_confit[v].name
  249. }
  250. return ""
  251. },
  252. anticoagulant_zongliang: function() {
  253. var v = this.getValueStr("anticoagulant_zongliang", "anticoagulant_zongliang")
  254. return v.length == 0 ? "0" : v
  255. },
  256. calcium: function() {
  257. var v = this.getValueStr("calcium", "calcium")
  258. return v.length == 0 ? "0" : v
  259. },
  260. dry_weight: function() {
  261. var v = this.getValueStr("dry_weight", "dry_weight")
  262. return v.length == 0 ? "0" : v
  263. },
  264. conductivity: function() {
  265. var v = this.getValueStr("conductivity", "conductivity")
  266. return v.length == 0 ? "0" : v
  267. },
  268. dialyzer_perfusion_apparatus:function(){
  269. return this.getValueStr("dialyzer_perfusion_apparatus", "dialyzer_perfusion_apparatus")
  270. },
  271. note: function() {
  272. return this.getValueStr("remark", "remark")
  273. }
  274. },
  275. created() {
  276. var perfusion_apparatus = getDataConfig("hemodialysis", "perfusion_apparatus")
  277. var map = {}
  278. for (let index = 0; index < perfusion_apparatus.length; index++) {
  279. const p = perfusion_apparatus[index];
  280. map[p.id] = p
  281. }
  282. this.perfusion_apparatus_map = map
  283. var replacement_ways = getDataConfig("hemodialysis", "replacement_ways")
  284. var replacement_way_map = {}
  285. for (let index = 0; index < replacement_ways.length; index++) {
  286. const r = replacement_ways[index];
  287. replacement_way_map[r.id] = r
  288. }
  289. this.replacement_way_map = replacement_way_map
  290. },
  291. methods: {
  292. getValueStr(pkey, skey) {
  293. if (this.prescription.id == 0 && this.solution.id == 0) {
  294. return ""
  295. } else if (this.prescription.id != 0) {
  296. if (this.prescription[pkey] == null || this.prescription[pkey] == undefined) {
  297. return ""
  298. }
  299. return this.prescription[pkey] + ""
  300. } else {
  301. if (this.solution[skey] == null || this.solution[skey] == undefined) {
  302. return ""
  303. }
  304. return this.solution[skey] + ""
  305. }
  306. },
  307. }
  308. };
  309. </script>
  310. <style rel="stylesheet/scss" lang="scss" scoped>
  311. </style>