Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

PatientBox.vue 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965
  1. <template>
  2. <div>
  3. <!-- <router-link to="/dialysis/details"> -->
  4. <div
  5. class="patient"
  6. v-for="schedule in schedules"
  7. v-if="schedule.patient"
  8. :class="borderColor(schedule)"
  9. @click.stop="detailAction(schedule)"
  10. :key="schedule.id"
  11. >
  12. <div class="kehu">
  13. <div class="tx">
  14. <img
  15. :src="
  16. schedule.patient.avatar.length > 0
  17. ? schedule.patient.avatar
  18. : '../../assets/home/analyze.png'
  19. "
  20. alt=""
  21. />
  22. <div>
  23. <div class="right">
  24. <h3 class="name">
  25. {{ schedule.patient.name
  26. }}<span class="yc" v-show="isAbnormal(schedule)">异常</span>
  27. </h3>
  28. <span class="num"
  29. >{{ genderText(schedule) }} | {{ getAge(schedule) }} 岁</span
  30. >
  31. <div
  32. style="
  33. margin-left: 10px;
  34. font-size: 12px;
  35. color: #34495e;
  36. margin-right: 5px;
  37. "
  38. v-if="
  39. schedule.assessment_before_dislysis && patientStateVal == 1
  40. "
  41. >
  42. 签到时间:{{
  43. getTime(schedule.assessment_before_dislysis.created_time)
  44. }}
  45. </div>
  46. </div>
  47. <div
  48. style="
  49. margin-top: 5px;
  50. text-align: left;
  51. height: 24px;
  52. min-width: 205px;
  53. "
  54. >
  55. <span
  56. class="tip1"
  57. v-if="
  58. schedule.prescription == null ||
  59. schedule.prescription.creater == 0
  60. "
  61. @click.stop="open(schedule)"
  62. >
  63. 开处方
  64. </span>
  65. <span
  66. class="tip2"
  67. v-if="
  68. schedule.treatment_summary == null ||
  69. schedule.treatment_summary.dialysis_summary == ''
  70. "
  71. @click.stop="open1(schedule)"
  72. >
  73. 开小结
  74. </span>
  75. <span class="online" v-show="computeState(schedule) != 4">
  76. <span :class="stateColor(schedule)">{{
  77. stateText(schedule)
  78. }}</span>
  79. </span>
  80. </div>
  81. </div>
  82. <!-- v-if="schedule.patient.troble_shoot == 1" -->
  83. <div class="difficult" v-if="schedule.patient.troble_shoot == 1">
  84. 疑难内瘘
  85. </div>
  86. <!-- <div style="height:24px;margin-right: 10px;">
  87. <div class="online" v-show="computeState(schedule) != 4">
  88. <p :class="stateColor(schedule)">{{ stateText(schedule) }}</p>
  89. </div>
  90. </div> -->
  91. <!-- <div style="margin-top:13px;font-size:12px;color:#34495e;margin-right: 5px;" v-if="schedule.assessment_before_dislysis && patientStateVal == 1">签到时间:{{ getTime(schedule.assessment_before_dislysis.created_time) }}</div> -->
  92. </div>
  93. </div>
  94. <div class="dislysisInfo">
  95. <p>
  96. <span v-if="$store.getters.xt_user.org.id!=9671 && $store.getters.xt_user.org.id!=9675 && $store.getters.xt_user.org.id!=10340 ">
  97. 体重(前/后kg):
  98. {{schedule.assessment_before_dislysis? schedule.assessment_before_dislysis.weight_before: ""}}
  99. <span v-if="schedule.assessment_after_dislysis &&schedule.assessment_after_dislysis.weight_after > 0">/{{schedule.assessment_after_dislysis? schedule.assessment_after_dislysis.weight_after: ""}}</span>
  100. </span>
  101. <span v-if="$store.getters.xt_user.org.id==9671 || $store.getters.xt_user.org.id==9675 || $store.getters.xt_user.org.id==10340">
  102. 核酸检测日期:<span v-if="schedule.dialysis_order!=null">{{getTimeOne(schedule.dialysis_order.nuclein_date)}}</span>
  103. </span>
  104. </p>
  105. <p>
  106. <span>
  107. 目标超滤量:
  108. <span v-if=" schedule.prescription && schedule.prescription.target_ultrafiltration > 0">
  109. <span v-if="$store.getters.xt_user.org.id==10340"> {{schedule.prescription? schedule.prescription.target_ultrafiltration: ""}}ml</span>
  110. <span v-if="$store.getters.xt_user.org.id!=10340"> {{schedule.prescription? schedule.prescription.target_ultrafiltration: ""}}</span>
  111. </span>
  112. </span>
  113. <span v-if="$store.getters.xt_user.org.id==9671 || $store.getters.xt_user.org.id==9675 || $store.getters.xt_user.org.id==10340">
  114. 抗凝剂:
  115. <span v-if="schedule.prescription!=null">
  116. <span v-if="schedule.prescription.anticoagulant == 1">无肝素</span>
  117. <span v-if="schedule.prescription.anticoagulant == 2">普通肝素</span>
  118. <span v-if="schedule.prescription.anticoagulant == 3">低分子肝素</span>
  119. <span v-if="schedule.prescription.anticoagulant == 4">阿加曲班</span>
  120. <span v-if="schedule.prescription.anticoagulant == 5">枸橼酸钠</span>
  121. <span v-if="schedule.prescription.anticoagulant == 6">低分子肝素钙</span>
  122. <span v-if="schedule.prescription.anticoagulant == 7">低分子肝素钠</span>
  123. <span v-if="schedule.prescription.anticoagulant == 8">依诺肝素</span>
  124. <span v-if="schedule.prescription.anticoagulant == 9">达肝素</span>
  125. <span v-if="schedule.prescription.anticoagulant == 10">体外抗凝</span>
  126. <span v-if="schedule.prescription.anticoagulant == 11">那屈肝素</span>
  127. <span v-if="schedule.prescription.anticoagulant == 12">无抗凝剂</span>
  128. <span v-if="schedule.prescription.anticoagulant == 13">那屈肝素钙</span>
  129. </span>
  130. </span>
  131. </p>
  132. <p v-if="$store.getters.xt_user.org.id==9671 || $store.getters.xt_user.org.id==9675 || $store.getters.xt_user.org.id==10340">
  133. 总量:
  134. <span v-if="schedule.prescription!=null">
  135. <span v-if="schedule.prescription.anticoagulant == 1">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  136. <span v-if="schedule.prescription.anticoagulant == 2">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  137. <span v-if="schedule.prescription.anticoagulant == 3">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  138. <span v-if="schedule.prescription.anticoagulant == 4">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  139. <span v-if="schedule.prescription.anticoagulant == 5">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  140. <span v-if="schedule.prescription.anticoagulant == 6">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  141. <span v-if="schedule.prescription.anticoagulant == 7">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  142. <span v-if="schedule.prescription.anticoagulant == 8">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  143. <span v-if="schedule.prescription.anticoagulant == 9">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  144. <span v-if="schedule.prescription.anticoagulant == 10">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  145. <span v-if="schedule.prescription.anticoagulant == 11">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  146. <span v-if="schedule.prescription.anticoagulant == 12">{{schedule.prescription.anticoagulant_zongliang}}iu</span>
  147. <span v-if="schedule.prescription.anticoagulant == 13">{{schedule.prescription.anticoagulant_zongliang}}mg</span>
  148. </span>
  149. </p>
  150. <p v-if="$store.getters.xt_user.org.id!=9671 && $store.getters.xt_user.org.id!=9675 && $store.getters.xt_user.org.id!=10340">
  151. 透析器/灌流器:{{schedule.prescription? schedule.prescription.dialyzer_perfusion_apparatus: ""}}
  152. <span v-if="schedule.prescription != null">{{schedule.prescription? schedule.prescription.dialysis_dialyszers: ""}}</span>
  153. <span v-if="schedule.prescription != null &&schedule.prescription.dialysis_irrigation != ''">/</span>
  154. <span v-if="schedule.prescription != null">{{schedule.prescription? schedule.prescription.dialysis_irrigation: ""}}</span>
  155. </p>
  156. <p v-if="$store.getters.xt_user.org.id==9671 || $store.getters.xt_user.org.id==9675 || $store.getters.xt_user.org.id==10340">
  157. 透析器/灌流器:
  158. <span v-if="schedule.dialysis_order!=null">{{schedule.dialysis_order.dialysis_dialyszers}}</span>
  159. <span v-if="schedule.dialysis_order!=null">{{schedule.dialysis_order.dialysis_irrigation}}</span>
  160. </p>
  161. <p v-if="$store.getters.xt_user.org.id==9671 || $store.getters.xt_user.org.id==9675 || $store.getters.xt_user.org.id==10340">
  162. 备注:{{schedule.patient.sch_remark}}
  163. </p>
  164. </div>
  165. <div
  166. class="function"
  167. :class="functionColor(schedule)"
  168. :id="modeColor(schedule.mode_id)"
  169. >
  170. <ul>
  171. <li>
  172. <span class="iconfont" :id="modeColor(schedule.mode_id)"
  173. >&#xe6f5;</span
  174. >班次 :
  175. {{ timeTypeText(schedule) }}
  176. </li>
  177. <li>
  178. <span class="iconfont" :id="modeColor(schedule.mode_id)"
  179. >&#xe6de;</span
  180. >床位号 :
  181. {{ schedule.device_number.number }}
  182. </li>
  183. <li>
  184. <span class="iconfont" :id="modeColor(schedule.mode_id)"
  185. >&#xe6f6;</span
  186. >透析模式 :
  187. {{
  188. schedule.mode_id &&
  189. $store.getters.treatment_mode[schedule.mode_id]
  190. ? $store.getters.treatment_mode[schedule.mode_id].name
  191. : ""
  192. }}
  193. </li>
  194. </ul>
  195. </div>
  196. </div>
  197. <!-- </router-link> -->
  198. <dialysis-prescription-dialog
  199. title="透析处方"
  200. ref="prescription"
  201. :patient="patient"
  202. :prescription="prescription"
  203. :solution="solution"
  204. @advice="adviceFunc"
  205. :niprocart_info="niprocart_info"
  206. :jms_info="jms_info"
  207. :fistula_needle_set_info="fistula_needle_set_info"
  208. :fistula_needle_set_16_info="fistula_needle_set_16_info"
  209. :hemoperfusion_info="hemoperfusion_info"
  210. :dialyser_sterilised_info="dialyser_sterilised_info"
  211. :filtryzer_info="filtryzer_info"
  212. :dialyzers_info="dialyzers_info"
  213. :injector_info="injector_info"
  214. :bloodlines_info="bloodlines_info"
  215. :tubingHemodialysis_info="tubingHemodialysis_info"
  216. :safe_package_info="safe_package_info"
  217. :aliquid_info="aliquid_info"
  218. :config="config"
  219. :admin_users="admin_users"
  220. :targetAdvices="longAdvices"
  221. :waitUploadAdvices="waitUploadAdvices"
  222. :is_open="is_open"
  223. :predialysis="predialysis_evaluation"
  224. :last_predialysis="lastPredialysisEvaluation"
  225. :record="assessment_after_dislysis"
  226. :last_record="lastAssessmentAfterDislysis"
  227. :last_prescription="lastDialysisPrescribe"
  228. :dry_weight="lastDryWeightDislysis"
  229. :schedual="temp_schedual"
  230. :date="date"
  231. :stockType="stockType"
  232. ></dialysis-prescription-dialog>
  233. <treatment-summary-dialog
  234. title="治疗小结"
  235. ref="treatmentSummary"
  236. :patient="patient"
  237. :treatment_summary="treatment_summary"
  238. ></treatment-summary-dialog>
  239. </div>
  240. </template>
  241. <script>
  242. import { uParseTime } from '@/utils/tools'
  243. import { parseTime } from "@/utils";
  244. import { jsGetAge } from "@/utils/tools";
  245. import dialysisPrescriptionDialog from "../dialysis/details/dialog/dialysisPrescriptionDialog";
  246. import treatmentSummaryDialog from "../dialysis/details/dialog/treatmentSummaryDialog";
  247. import {
  248. getDialysisScheduleDetail,
  249. getLongAdviceOne,
  250. } from "@/api/dialysis_record";
  251. export default {
  252. name: "PatientBox",
  253. components: {
  254. dialysisPrescriptionDialog,
  255. treatmentSummaryDialog,
  256. },
  257. data() {
  258. return {
  259. patients: [
  260. {
  261. state: 2,
  262. yc: false,
  263. name: "张三",
  264. sex: "女",
  265. age: 90,
  266. },
  267. {
  268. state: 3,
  269. yc: true,
  270. name: "张三",
  271. sex: "女",
  272. age: 90,
  273. },
  274. {
  275. state: 4,
  276. yc: true,
  277. name: "张三",
  278. sex: "女",
  279. age: 90,
  280. },
  281. {
  282. state: 1,
  283. yc: true,
  284. name: "张三",
  285. sex: "女",
  286. age: 90,
  287. },
  288. ],
  289. //
  290. longAdvices: [],
  291. waitUploadAdvices: [],
  292. is_open: 0,
  293. targetAdvices: [],
  294. patient: { id: 0 }, // 患者信息
  295. schedual: { id: 0 }, // 患者排班信息
  296. prescription: { id: 0 }, // 透析处方
  297. solution: { id: 0 }, // 透析方案
  298. system_prescribe: { id: 0 },
  299. receiver_treatment_access: { id: 0 }, // 接诊评估
  300. predialysis_evaluation: { id: 0 }, // 透前评估
  301. doctor_advices: [], // 临时医嘱
  302. double_check: { id: 0 }, // 双人核对
  303. assessment_after_dislysis: { id: 0 }, // 透后评估
  304. treatment_summary: { id: 0 }, // 治疗小结
  305. monitor_records: [], // 透析监测
  306. dialysis_order: { id: 0 }, // 透析记录
  307. admin_users: [], // 系统用户列表
  308. devices: [], // 设备
  309. device_numbers: [], // 床位号
  310. admin_user_map: {}, // {user_id: admin_user object}
  311. device_map: {}, // {device_id: device}
  312. device_number_map: {}, // {device_number_id: device_number}
  313. niprocart_info: [],
  314. jms_info: [],
  315. fistula_needle_set_info: [],
  316. fistula_needle_set_16_info: [],
  317. hemoperfusion_info: [],
  318. dialyser_sterilised_info: [],
  319. filtryzer_info: [],
  320. dialyzers_info: [],
  321. injector_info: [],
  322. bloodlines_info: [],
  323. tubingHemodialysis_info: [],
  324. safe_package_info: [],
  325. aliquid_info: [],
  326. config: {},
  327. lastPredialysisEvaluation: { id: 0 },
  328. lastMonitorRecord: { id: 0 },
  329. lastAssessmentAfterDislysis: { id: 0 },
  330. lastDryWeightDislysis: { id: 0 },
  331. headNurses: [],
  332. lastDialysisPrescribe: { id: 0 },
  333. temp_schedual: null,
  334. date: "",
  335. modedata: 0,
  336. stockType: [],
  337. };
  338. },
  339. props: {
  340. schedules: {
  341. type: Array,
  342. },
  343. patientStateVal: Number,
  344. selected_date:String,
  345. },
  346. methods: {
  347. getTimeOne(val) {
  348. if(val == ""){
  349. return ""
  350. }else {
  351. return uParseTime(val, '{y}-{m}-{d}')
  352. }
  353. },
  354. stateColor: function (schedual) {
  355. var state = this.computeState(schedual);
  356. if (state == 1) {
  357. return "blue";
  358. } else if (state == 2) {
  359. return "gray";
  360. } else if (state == 3) {
  361. return "red";
  362. } else {
  363. return "blue";
  364. }
  365. },
  366. functionColor: function (schedual) {
  367. var state = this.computeState(schedual);
  368. if (state == 1 || state == 3) {
  369. return "blue";
  370. } else if (state == 2) {
  371. return "gray";
  372. } else {
  373. return "blue";
  374. }
  375. },
  376. borderColor: function (schedual) {
  377. var yc = this.isAbnormal(schedual);
  378. if (yc == true) {
  379. return "red";
  380. } else {
  381. return "gray";
  382. }
  383. },
  384. stateText: function (schedual) {
  385. var state = this.computeState(schedual);
  386. if (state == 1) {
  387. return "已上机";
  388. } else if (state == 2) {
  389. return "已下机";
  390. } else if (state == 3) {
  391. return "监测中";
  392. } else {
  393. // return schedual.patient.gender == 1 ? "男" : "女"
  394. return "未上机";
  395. }
  396. },
  397. computeState: function (schedual) {
  398. if (schedual.dialysis_order == null) {
  399. // 未上机
  400. return 4;
  401. } else if (schedual.dialysis_order.stage == 2) {
  402. // 已下机
  403. return 2;
  404. } else if (
  405. schedual.dialysis_order.stage == 1 &&
  406. schedual.monitoring_records != null &&
  407. schedual.monitoring_records.length > 1
  408. ) {
  409. // 监测中
  410. return 3;
  411. } else {
  412. return 1;
  413. }
  414. },
  415. orderState: function (schedual) {
  416. if (schedual.dialysis_order == null) {
  417. // 未上机
  418. return 4;
  419. } else if (schedual.dialysis_order.stage == 2) {
  420. // 已下机
  421. return 2;
  422. } else if (
  423. schedual.dialysis_order.stage == 1 &&
  424. schedual.monitoring_records != null &&
  425. schedual.monitoring_records.length > 1
  426. ) {
  427. // 监测中
  428. return 3;
  429. } else {
  430. return 1;
  431. }
  432. },
  433. isAbnormal: function (schedual) {
  434. return false; // schedual.yc;
  435. },
  436. timeTypeText: function (schedual) {
  437. if (schedual.schedule_type == 1) {
  438. return "上午";
  439. } else if (schedual.schedule_type == 2) {
  440. return "下午";
  441. } else {
  442. return "晚上";
  443. }
  444. },
  445. genderText: function (schedual) {
  446. if (schedual.patient.gender == 0) {
  447. return "未知";
  448. } else if (schedual.patient.gender == 1) {
  449. return "男";
  450. } else {
  451. return "女";
  452. }
  453. },
  454. age: function (schedual) {
  455. if (schedual.patient.birthday == 0) {
  456. return "";
  457. } else {
  458. return jsGetAge(
  459. parseTime(schedual.patient.birthday, "{y}-{m}-{d}"),
  460. "-"
  461. );
  462. }
  463. // var now = new Date()
  464. // var nowYear = parseTime(now, "{y}")
  465. // var birthdayYear = parseTime(schedual.patient.birthday, "{y}")
  466. // // console.log(nowYear)
  467. // // console.log(birthdayYear)
  468. // return nowYear - birthdayYear
  469. },
  470. getAge: function (val) {
  471. var thisLen = val.patient.id_card_no.length;
  472. var birth = "";
  473. if (thisLen == 15) {
  474. birth = "19" + val.patient.id_card_no.substr(6, 6);
  475. } else {
  476. birth = val.patient.id_card_no.substr(6, 8);
  477. }
  478. var birthtwo =
  479. birth.substr(0, 4) +
  480. "-" +
  481. birth.substr(4, 2) +
  482. "-" +
  483. birth.substr(6, 2);
  484. var age = jsGetAge(birthtwo, "-");
  485. return age;
  486. },
  487. detailAction: function (schedual) {
  488. var patient_id = schedual.patient_id;
  489. var date = schedual.schedule_date;
  490. this.$router.push({
  491. path: "/dialysis/details",
  492. query: {
  493. patient_id: patient_id,
  494. date: date,
  495. patient_name: schedual.patient.name,
  496. mode_id: schedual.mode_id,
  497. },
  498. });
  499. },
  500. //
  501. getScheduleDetail: function () {
  502. var dateStr = parseTime(this.date, "{y}-{m}-{d}");
  503. this.doctor_advices = [];
  504. getDialysisScheduleDetail(this.patient_id, dateStr).then((rs) => {
  505. var resp = rs.data;
  506. if (resp.state == 1) {
  507. var patient = resp.data.patient; // 患者信息
  508. var schedual = resp.data.schedual; // 患者排班信息
  509. var prescription = resp.data.prescription; // 透析处方
  510. if (prescription != null) {
  511. if (prescription.body_fluid == -2) {
  512. prescription.body_fluid = 0;
  513. }
  514. }
  515. console.log("透析处方323332323223323223", prescription);
  516. var solution = resp.data.solution; // 透析方案
  517. var receiver_treatment_access = resp.data.receiver_treatment_access; // 接诊评估
  518. console.log("receiver_treatment_access", receiver_treatment_access);
  519. var predialysis_evaluation = resp.data.predialysis_evaluation; // 透前评估
  520. console.log("透前评估", predialysis_evaluation);
  521. if (predialysis_evaluation != null) {
  522. if (predialysis_evaluation.blood_access_part_id == -2) {
  523. predialysis_evaluation.blood_access_part_id = 0;
  524. }
  525. }
  526. var doctor_advices = resp.data.doctor_advices; // 临时医嘱
  527. var double_check = resp.data.double_check; // 双人核对
  528. var assessment_after_dislysis = resp.data.assessment_after_dislysis; // 透后评估
  529. var treatment_summary = resp.data.treatment_summary; // 治疗小结
  530. var monitor_records = resp.data.monitor_records; // 透析监测
  531. var dialysis_order = resp.data.dialysis_order; // 透析记录
  532. var niprocart_info = resp.data.niprocart_info;
  533. var jms_info = resp.data.jms_info;
  534. var fistula_needle_set_info = resp.data.fistula_needle_set_info;
  535. var fistula_needle_set_16_info = resp.data.fistula_needle_set_16_info;
  536. var hemoperfusion_info = resp.data.hemoperfusion_info;
  537. var dialyser_sterilised_info = resp.data.dialyser_sterilised_info;
  538. var filtryzer_info = resp.data.filtryzer_info;
  539. var dialyzers_info = resp.data.dialyzers_info;
  540. var injector_info = resp.data.injector_info;
  541. var bloodlines_info = resp.data.bloodlines_info;
  542. var tubingHemodialysis_info = resp.data.tubingHemodialysis_info;
  543. var safe_package_info = resp.data.safe_package_info;
  544. var aliquid_info = resp.data.aliquid_info;
  545. var lastPredialysisEvaluation = resp.data.lastPredialysisEvaluation;
  546. console.log("上次透前评估", lastPredialysisEvaluation);
  547. if (lastPredialysisEvaluation != null) {
  548. if (lastPredialysisEvaluation.blood_access_part_id == -2) {
  549. lastPredialysisEvaluation.blood_access_part_id = 0;
  550. }
  551. }
  552. var lastMonitorRecord = resp.data.lastMonitorRecord;
  553. var lastAssessmentAfterDislysis =
  554. resp.data.lastAssessmentAfterDislysis;
  555. var lastDialysisPrescribe = resp.data.lastDialysisPrescribe;
  556. var lastDryWeightDislysis = resp.data.lastDryWeightDislysis;
  557. var system_prescribe = resp.data.system_prescribe;
  558. var stockType = resp.data.stockType;
  559. this.stockType = stockType;
  560. console.log("元单快乐222222", this.stockType);
  561. this.$refs.prescription.setLastRecord(
  562. schedual,
  563. lastAssessmentAfterDislysis,
  564. lastPredialysisEvaluation,
  565. lastDialysisPrescribe,
  566. lastDryWeightDislysis,
  567. system_prescribe,
  568. resp.data.doctors
  569. );
  570. var headNurses = resp.data.headNurse;
  571. var config = resp.data.config;
  572. this.lastPredialysisEvaluation = lastPredialysisEvaluation;
  573. this.lastMonitorRecord = lastMonitorRecord;
  574. this.lastAssessmentAfterDislysis = lastAssessmentAfterDislysis;
  575. this.lastDialysisPrescribe = lastDialysisPrescribe;
  576. this.lastDryWeightDislysis = lastDryWeightDislysis;
  577. this.headNurses = headNurses;
  578. this.system_prescribe = system_prescribe;
  579. this.niprocart_info = niprocart_info;
  580. this.jms_info = jms_info;
  581. this.fistula_needle_set_info = fistula_needle_set_info;
  582. this.fistula_needle_set_16_info = fistula_needle_set_16_info;
  583. this.hemoperfusion_info = hemoperfusion_info;
  584. this.dialyser_sterilised_info = dialyser_sterilised_info;
  585. this.filtryzer_info = filtryzer_info;
  586. this.dialyzers_info = dialyzers_info;
  587. this.injector_info = injector_info;
  588. this.bloodlines_info = bloodlines_info;
  589. this.tubingHemodialysis_info = tubingHemodialysis_info;
  590. this.safe_package_info = safe_package_info;
  591. this.aliquid_info = aliquid_info;
  592. this.config = config;
  593. this.patient = patient;
  594. this.schedual = schedual == null ? { id: 0 } : schedual;
  595. this.prescription = prescription == null ? { id: 0 } : prescription;
  596. console.log("this.prescription", this.prescription);
  597. this.solution = solution == null ? { id: 0 } : solution;
  598. console.log("this.solution", this.solution);
  599. this.receiver_treatment_access =
  600. receiver_treatment_access == null
  601. ? { id: 0 }
  602. : receiver_treatment_access;
  603. this.predialysis_evaluation =
  604. predialysis_evaluation == null ? { id: 0 } : predialysis_evaluation;
  605. this.doctor_advices = doctor_advices == null ? [] : doctor_advices;
  606. this.double_check = double_check == null ? { id: 0 } : double_check;
  607. this.assessment_after_dislysis =
  608. assessment_after_dislysis == null
  609. ? { id: 0 }
  610. : assessment_after_dislysis;
  611. this.treatment_summary =
  612. treatment_summary == null ? { id: 0 } : treatment_summary;
  613. this.monitor_records = monitor_records == null ? [] : monitor_records;
  614. this.dialysis_order =
  615. dialysis_order == null ? { id: 0 } : dialysis_order;
  616. // this.$refs.stat_order.setAdvices(this.doctor_advices)
  617. // this.$refs.monitoring.setRecords(this.monitor_records)
  618. this.admin_users = resp.data.doctors;
  619. this.$refs.prescription.showOne(this.prescription,this.admin_users)
  620. this.devices = resp.data.devices;
  621. this.device_numbers = resp.data.device_numbers;
  622. var device_map = {};
  623. for (let index = 0; index < this.devices.length; index++) {
  624. const device = this.devices[index];
  625. device_map[device.id] = device;
  626. }
  627. this.device_map = device_map;
  628. var admin_map = {};
  629. for (let index = 0; index < this.admin_users.length; index++) {
  630. const admin = this.admin_users[index];
  631. admin_map[admin.id] = admin;
  632. }
  633. this.admin_user_map = admin_map;
  634. var device_number_map = {};
  635. for (let index = 0; index < this.device_numbers.length; index++) {
  636. const device_number = this.device_numbers[index];
  637. device_number_map[device_number.id] = device_number;
  638. }
  639. this.device_number_map = device_number_map;
  640. this.getLongAdvice();
  641. } else {
  642. this.$message.error(resp.msg);
  643. }
  644. if (this.lastDialysisPrescribe != null) {
  645. delete this.lastDialysisPrescribe.target_ultrafiltration;
  646. }
  647. if (this.solution != null) {
  648. delete this.solution.target_ultrafiltration;
  649. }
  650. });
  651. },
  652. getLongAdvice() {
  653. let params = {
  654. patient_id: this.patient_id,
  655. schedule_date:parseTime(this.selected_date, '{y}-{m}-{d}'),
  656. };
  657. getLongAdviceOne(params).then((rs) => {
  658. var resp = rs.data;
  659. if (resp.state == 1) {
  660. var status = parseInt(resp.data.status);
  661. switch (status) {
  662. case 2:
  663. var totalAdvice = resp.data.advices;
  664. var longAdvicesTwo = resp.data.advices_two;
  665. var waitUploadAdvices = [];
  666. for (let i = 0; i < totalAdvice.length; i++) {
  667. totalAdvice[i]["isCheck"] = 1;
  668. }
  669. for (let i = 0; i < totalAdvice.length; i++) {
  670. for (let a = 0; a < longAdvicesTwo.length; a++) {
  671. if (
  672. totalAdvice[i].template_id ==
  673. longAdvicesTwo[a].template_id &&
  674. totalAdvice[i].frequency_type ==
  675. longAdvicesTwo[a].frequency_type
  676. ) {
  677. totalAdvice[i]["isCheck"] = 0;
  678. }
  679. }
  680. }
  681. for (let i = 0; i < totalAdvice.length; i++) {
  682. if (totalAdvice[i].isCheck == 1) {
  683. waitUploadAdvices.push(totalAdvice[i]);
  684. }
  685. }
  686. this.is_open = resp.data.is_open_remind;
  687. this.longAdvices = totalAdvice;
  688. console.log("长期医嘱22332323232232323",this.longAdvices)
  689. this.waitUploadAdvices = waitUploadAdvices;
  690. break;
  691. }
  692. } else {
  693. this.$message.error(resp.msg);
  694. }
  695. });
  696. },
  697. adviceFunc: function () {
  698. this.$emit("advice");
  699. },
  700. open(schedual) {
  701. this.date = schedual.schedule_date;
  702. this.patient_id = schedual.patient_id;
  703. this.modedata = 1;
  704. this.getScheduleDetail();
  705. // this.getLongAdvice()
  706. this.$refs.prescription.show(this.prescription, schedual,"","","",this.admin_users);
  707. },
  708. open1(schedual) {
  709. this.date = schedual.schedule_date;
  710. this.patient_id = schedual.patient_id;
  711. this.getScheduleDetail();
  712. this.getLongAdvice();
  713. this.$refs.treatmentSummary.show(this.treatment_summary, this.date);
  714. },
  715. getTime(date) {
  716. date = new Date(date * 1000);
  717. var Y = date.getFullYear() + "-";
  718. var M =
  719. date.getMonth() + 1 < 10
  720. ? "0" + (date.getMonth() + 1)
  721. : date.getMonth() + 1;
  722. var D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
  723. var h = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
  724. var m =
  725. date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  726. var s =
  727. date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  728. let strDate = h + ":" + m;
  729. return strDate;
  730. },
  731. modeColor(id) {
  732. if (id == 1) {
  733. } else if (id == 2) {
  734. return "modeRed";
  735. } else if (id == 3) {
  736. return "modePurple";
  737. }
  738. },
  739. },
  740. };
  741. </script>
  742. <style style="stylesheet/scss" lang="scss" scoped>
  743. .patient {
  744. border: 1px #e5e5ee solid;
  745. padding: 9px 0;
  746. margin: 0 15px 15px 0;
  747. float: left;
  748. width: 360px;
  749. cursor: pointer;
  750. .function {
  751. padding: 15px 5px 0 5px;
  752. color: #7b8a97;
  753. ul {
  754. @include display-flex;
  755. @include align-items-center;
  756. @include text-align;
  757. @include justify-content-between;
  758. li {
  759. font-size: 13px;
  760. @include display-flex;
  761. @include align-items-center;
  762. .iconfont {
  763. margin: 0 5px 0 0;
  764. font-size: 18px;
  765. }
  766. }
  767. }
  768. }
  769. .blue {
  770. color: $main-color;
  771. .iconfont {
  772. color: $main-color;
  773. }
  774. }
  775. .kehu {
  776. @include display-flex;
  777. // @include align-items-center;
  778. @include text-align;
  779. @include justify-content-between;
  780. // border-bottom: 1px #e5e5e5 solid;
  781. padding: 0 0 10px 20px;
  782. .tx {
  783. @include display-flex;
  784. // @include align-items-center;
  785. width: 100%;
  786. img {
  787. width: 45px;
  788. height: 45px;
  789. border-radius: 50%;
  790. float: left;
  791. margin: 0 15px 0 0;
  792. }
  793. .right {
  794. // float: left;
  795. // text-align: left;
  796. display: flex;
  797. align-items: center;
  798. margin-top: 6px;
  799. .name {
  800. font-size: 15px;
  801. color: #34495e;
  802. font-weight: bold;
  803. height: 20px;
  804. line-height: 20px;
  805. margin-right: 10px;
  806. .yc {
  807. background: #ff7979;
  808. color: #fff;
  809. height: 19px;
  810. line-height: 19px;
  811. font-size: 12px;
  812. width: 37px;
  813. border-radius: 4px;
  814. display: inline-block;
  815. text-align: center;
  816. margin-left: 6px;
  817. }
  818. }
  819. .num {
  820. font-size: 13px;
  821. color: #7b8a97;
  822. }
  823. }
  824. .tip1 {
  825. background: #4fc7cb;
  826. border-radius: 5px;
  827. text-align: center;
  828. font-size: 12px;
  829. display: inline-block;
  830. width: 60px;
  831. color: #fff;
  832. width: 65px;
  833. height: 24px;
  834. line-height: 24px;
  835. }
  836. .tip2 {
  837. background: #7bce91;
  838. border-radius: 5px;
  839. text-align: center;
  840. font-size: 12px;
  841. display: inline-block;
  842. width: 60px;
  843. color: #fff;
  844. width: 65px;
  845. height: 24px;
  846. line-height: 24px;
  847. }
  848. }
  849. .online {
  850. text-align: center;
  851. width: 30%;
  852. // border-left: 1px #e5e5e5 solid;
  853. span {
  854. background: #c6cdd2;
  855. color: #fff;
  856. width: 65px;
  857. height: 24px;
  858. line-height: 24px;
  859. border-radius: 4px;
  860. margin: 0 auto;
  861. font-size: 12px;
  862. margin-top: 4px;
  863. display: inline-block;
  864. }
  865. .blue {
  866. background: $main-color;
  867. }
  868. .red {
  869. background: #f18f68;
  870. }
  871. .green {
  872. background: #5bd18b;
  873. }
  874. .gray {
  875. background: #a8b3ba;
  876. }
  877. .lightGray {
  878. background: #c6cdd2;
  879. }
  880. .time {
  881. font-size: 26px;
  882. color: #34495e;
  883. }
  884. }
  885. }
  886. .dislysisInfo {
  887. color: rgb(123, 138, 151);
  888. border-bottom: 1px solid rgb(229, 229, 229);
  889. padding-left: 80px;
  890. > p {
  891. margin-bottom: 5px;
  892. overflow: hidden;
  893. text-overflow: ellipsis;
  894. white-space: nowrap;
  895. }
  896. }
  897. }
  898. .red {
  899. border: 1px #ff7979 solid;
  900. }
  901. #modeRed {
  902. color: #ed5555;
  903. }
  904. #modePurple {
  905. color: #53b86e;
  906. }
  907. .difficult {
  908. width: 71px;
  909. height: 25px;
  910. font-size: 12px;
  911. border-radius: 0 0 0 30px;
  912. background: #78d660;
  913. text-align: center;
  914. line-height: 25px;
  915. position: relative;
  916. bottom: 10px;
  917. left: 3px;
  918. color: white;
  919. }
  920. </style>