血透系统pad前端

details.vue 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. <template>
  2. <div>
  3. <go-back :title="title"></go-back>
  4. <div class="tabMenu" title="标题导航栏">
  5. <ul>
  6. <li v-for="(item,i) in ['病历','今日']" :key="i" :class="index == i? 'active':'' " @click="ClickTab(i)" >{{item}}</li>
  7. </ul>
  8. <!-- <div class="SelectDate">
  9. <span>选择日期</span>
  10. <span class="iconfont">&#xe60c;</span>
  11. </div> -->
  12. </div>
  13. <div>
  14. <div v-show="index==0" title="病历">
  15. <patient-info ref="patient_detail" title="病历组件"></patient-info>
  16. </div>
  17. <!--<div v-show="index==0" title="病历">
  18. <case-history title="病历组件"></case-history>
  19. </div>
  20. <div v-show="index==1" title="透析"></div> -->
  21. <div v-show="index==1" title="今日">
  22. <details-menu
  23. ref="detail_menu"
  24. class="clearfix"
  25. :patient="patient"
  26. :schedual="schedual"
  27. :prescription="prescription"
  28. :solution="solution"
  29. :receiver_treatment_access="receiver_treatment_access"
  30. :predialysis_evaluation="predialysis_evaluation"
  31. :doctor_advices="doctor_advices"
  32. :double_check="double_check"
  33. :assessment_after_dislysis="assessment_after_dislysis"
  34. :treatment_summary="treatment_summary"
  35. :monitor_records="monitor_records"
  36. :dialysis_order="dialysis_order"
  37. :admin_users="admin_users"
  38. :devices="devices"
  39. v-on:did_add_monitor="didAddMonitor" @create_medical_order="createMedicalOrder" @delete_medical_order="delMedicalOrder" @execution_medical_order="executionMedicalOrder" @edit_pre_dialysis="editPreDialysis"></details-menu>
  40. <details-info ref="patient_info" class="clearfix"></details-info>
  41. <dialysis-prescription ref="prescription" title="透析处方 " :prescription="prescription" :solution="solution"></dialysis-prescription>
  42. <!-- <past-data title="往期数据"></past-data> -->
  43. <accepts-assessment ref="accepts_assessment" title="接诊评估 " :record="receiver_treatment_access"></accepts-assessment>
  44. <stat-order ref="stat_order" class="clearfix" title="临时医嘱"></stat-order>
  45. <assessment-before ref="assessment_before" title="透前评估 "></assessment-before>
  46. <dialysis-computer ref="dialysis_computer" title="透析上机 " :record="dialysis_order"></dialysis-computer>
  47. <double-check ref="double_check" title="双人查对 " :record="double_check"></double-check>
  48. <dialysis-monitoring ref="monitoring" title="透析监测"></dialysis-monitoring>
  49. <dialysis-off ref="dialysis_off" title="透析下机 " :record="dialysis_order"></dialysis-off>
  50. <assessment-after ref="assessment_after" title="透后评估 " :record="assessment_after_dislysis"></assessment-after>
  51. <treatment-of ref="treatment_of" title="治疗小结" :record="treatment_summary"></treatment-of>
  52. <!-- <operation-staff title="操作人员 "></operation-staff> -->
  53. </div>
  54. <!-- <div v-show="index==3" title="前次"></div> -->
  55. </div>
  56. </div>
  57. </template>
  58. <script>
  59. // import DetailsHead from "./detailsHead";
  60. import DetailsMenu from "./detailsMenu";
  61. import DetailsInfo from "./detailsInfo";
  62. import DialysisPrescription from "./dialysisPrescription";
  63. import AcceptsAssessment from "./acceptsAssessment";
  64. import AssessmentBefore from "./assessmentBefore";
  65. import DialysisComputer from "./dialysisComputer";
  66. import DoubleCheck from "./doubleCheck";
  67. import DialysisOff from "./dialysisOff";
  68. import AssessmentAfter from "./assessmentAfter";
  69. import TreatmentOf from "./treatmentOf";
  70. import OperationStaff from "./operationStaff";
  71. import PastData from "./pastData";
  72. import StatOrder from "./statOrder";
  73. import DialysisMonitoring from "./dialysisMonitoring";
  74. // import CaseHistory from "./caseHistory";
  75. import PatientInfo from "./patientInfo";
  76. import GoBack from "./goBack";
  77. import {getDialysisRecord,dialysisGlobalConfig} from "@/api/dialysis"
  78. import {parseTime} from "@/utils"
  79. import { version } from 'vant';
  80. export default {
  81. name: "Details",
  82. data() {
  83. return {
  84. index: 1,
  85. patient_id: 0,
  86. date: 0,
  87. title: "透析记录",
  88. patient : {}, // 患者信息
  89. schedual : {}, // 患者排班信息
  90. prescription : {}, // 透析处方
  91. solution : {}, // 透析方案
  92. receiver_treatment_access : {}, // 接诊评估
  93. predialysis_evaluation : {}, // 透前评估
  94. doctor_advices : [], // 临时医嘱
  95. double_check : {}, // 双人核对
  96. assessment_after_dislysis : {}, // 透后评估
  97. treatment_summary : {}, // 治疗小结
  98. monitor_records : [], // 透析监测
  99. dialysis_order : {}, // 透析记录
  100. admin_users: [], //系统用户列表
  101. devices: [],//设备
  102. special_premission:[],
  103. };
  104. },
  105. components: {
  106. // DetailsHead,
  107. DetailsMenu,
  108. DetailsInfo,
  109. DialysisPrescription,
  110. AcceptsAssessment,
  111. AssessmentBefore,
  112. DialysisComputer,
  113. DoubleCheck,
  114. DialysisOff,
  115. AssessmentAfter,
  116. TreatmentOf,
  117. OperationStaff,
  118. PastData,
  119. StatOrder,
  120. DialysisMonitoring,
  121. // CaseHistory,
  122. PatientInfo,
  123. GoBack
  124. },
  125. created() {
  126. var patient_id = this.$route.query.patient_id
  127. var date = this.$route.query.date
  128. this.patient_id = patient_id
  129. this.date = date
  130. this.requestDialysisRecord()
  131. },
  132. methods: {
  133. ClickTab: function(tabIndex) {
  134. this.index = tabIndex;
  135. },
  136. requestDialysisRecord() {
  137. var dateStr = parseTime(this.date, "{y}-{m}-{d}")
  138. var params = {
  139. patient_id: this.patient_id,
  140. date: dateStr,
  141. }
  142. getDialysisRecord(params).then(rs => {
  143. var resp = rs.data
  144. if (resp.state == 1) {
  145. console.log(resp.data)
  146. var patient = resp.data.patient // 患者信息
  147. var schedual = resp.data.schedual // 患者排班信息
  148. var prescription = resp.data.prescription // 透析处方
  149. var solution = resp.data.solution // 透析方案
  150. var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
  151. var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估
  152. var doctor_advices = resp.data.doctor_advices // 临时医嘱
  153. var double_check = resp.data.double_check // 双人核对
  154. var assessment_after_dislysis = resp.data.assessment_after_dislysis // 透后评估
  155. var treatment_summary = resp.data.treatment_summary // 治疗小结
  156. var monitor_records = resp.data.monitor_records // 透析监测
  157. var dialysis_order = resp.data.dialysis_order // 透析记录
  158. var special_premission = resp.data.special_premission // 特殊权限
  159. this.patient = patient
  160. this.schedual = schedual == null ? {} : schedual
  161. this.prescription = prescription == null ? {id: ""} : prescription
  162. this.solution = solution == null ? {id: ""} : solution
  163. this.receiver_treatment_access = receiver_treatment_access == null ? {id: ""} : receiver_treatment_access
  164. this.predialysis_evaluation = predialysis_evaluation == null ? {} : predialysis_evaluation
  165. this.doctor_advices = doctor_advices == null ? {} : doctor_advices
  166. this.double_check = double_check == null ? {id: ""} : double_check
  167. this.assessment_after_dislysis = assessment_after_dislysis == null ? {id: ""} : assessment_after_dislysis
  168. this.treatment_summary = treatment_summary == null ? {id: ""} : treatment_summary
  169. this.monitor_records = monitor_records == null ? {} : monitor_records
  170. this.dialysis_order = dialysis_order == null ? {id: ""} : dialysis_order
  171. this.special_premission = special_premission
  172. this.config = config
  173. this.$refs.patient_info.setPatientInfo(this.patient, this.schedual.device_number.number)
  174. this.$refs.patient_detail.setPatientInfo(this.patient, this.schedual.device_number.number)
  175. // this.$refs.prescription.setPrescription(prescription, solution)
  176. // this.$refs.accepts_assessment.setRecord(this.receiver_treatment_access)
  177. this.$refs.stat_order.setAdvices(this.doctor_advices)
  178. this.$refs.assessment_before.setRecord(this.predialysis_evaluation)
  179. // this.$refs.dialysis_computer.setOrder(this.dialysis_order)
  180. // this.$refs.double_check.setRecord(this.double_check)
  181. this.$refs.monitoring.setRecords(this.monitor_records)
  182. // this.$refs.dialysis_off.setOrder(this.dialysis_order)
  183. // this.$refs.assessment_after.setRecord(this.assessment_after_dislysis)
  184. // this.$refs.treatment_of.setRecord(this.treatment_summary)
  185. // this.$refs.detail_menu.setData(resp.data)
  186. this.title = patient.name
  187. } else {
  188. this.$toast({
  189. message: resp.msg
  190. })
  191. }
  192. })
  193. dialysisGlobalConfig().then(rs=>{
  194. var res = rs.data;
  195. if (res.state==1) {
  196. console.log(res)
  197. // this.$refs.detail_menu.setGlobalConfig(res.data)
  198. this.admin_users = res.data.admin_users
  199. this.devices = res.data.devices
  200. }
  201. })
  202. },
  203. didAddMonitor: function(monitor) {
  204. this.$refs.monitoring.addRecords([monitor])
  205. },
  206. createMedicalOrder(row) {
  207. this.$refs.stat_order.createMedicalOrder(row)
  208. },
  209. delMedicalOrder(row){
  210. this.$refs.stat_order.delMedicalOrder(row)
  211. },
  212. executionMedicalOrder(row) {
  213. this.$refs.stat_order.executionMedicalOrder(row);
  214. },
  215. editPreDialysis(row) {
  216. this.$refs.assessment_before.setRecord(row)
  217. }
  218. }
  219. };
  220. </script>
  221. <style rel="stylesheet/scss" lang="scss" scoped>
  222. .tabMenu {
  223. background: $main-color;
  224. padding: 0.2rem 0 0.2rem 0;
  225. position: relative;
  226. .SelectDate {
  227. position: absolute;
  228. right: 0.28rem;
  229. top: 0.2rem;
  230. font-size: 0.28rem;
  231. color: #fff;
  232. }
  233. ul {
  234. width: 50%;
  235. margin: 0 auto;
  236. @include box-sizing;
  237. @include display-flex;
  238. @include text-align;
  239. li {
  240. font-size: 0.3rem;
  241. color: $text-color;
  242. @include flex;
  243. float: left;
  244. padding: 0 0 0.13rem 0;
  245. &.active {
  246. font-weight: 700;
  247. position: relative;
  248. &:after {
  249. width: 0.5rem;
  250. height: 0.06rem;
  251. background: $white-bg;
  252. content: "";
  253. display: block;
  254. text-align: center;
  255. position: absolute;
  256. left: 50%;
  257. bottom: 0;
  258. border-radius: 10px;
  259. transform: translate(-50%, 50%);
  260. }
  261. }
  262. }
  263. }
  264. }
  265. </style>