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

dialysishistory.vue 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. <template>
  2. <div>
  3. <div style="margin-top:90px ;">
  4. <el-table
  5. id="oictable"
  6. :header-cell-style="{
  7. backgroundColor: 'rgb(245, 247, 250)',
  8. color: '#606266'
  9. }"
  10. :row-style="{ color: '#303133' }"
  11. :data="recordData"
  12. border
  13. style="width: 100%"
  14. @row-click="rowclick"
  15. @current-change="clickCurrent"
  16. >
  17. <el-table-column
  18. prop="dialysis_date"
  19. label="透析日期"
  20. align="center"
  21. width="110"
  22. fixed
  23. >
  24. <template slot-scope="scope"
  25. ><span style="color: #579ef8">{{
  26. scope.row.dialysis_date | parseTime("{y}-{m}-{d}")
  27. }}</span></template
  28. >
  29. </el-table-column>
  30. <el-table-column
  31. prop="schedule_type"
  32. label="班次"
  33. align="center"
  34. width="80"
  35. >
  36. <template slot-scope="scope"
  37. ><span>{{
  38. scheduleType(scope.row.schedule_type)
  39. }}</span></template
  40. >
  41. </el-table-column>
  42. <el-table-column
  43. prop="partition"
  44. width="100"
  45. align="center"
  46. label="分区 - 机号"
  47. >
  48. <template slot-scope="scope"
  49. ><span
  50. >{{ scope.row.partition_name }}-{{
  51. scope.row.device.number
  52. }}</span
  53. ></template
  54. >
  55. </el-table-column>
  56. <el-table-column
  57. prop="mode"
  58. width="90"
  59. align="center"
  60. label="透析模式"
  61. >
  62. <template slot-scope="scope">{{
  63. modeName(scope.row.prescription.mode_id)
  64. }}</template>
  65. </el-table-column>
  66. <el-table-column
  67. prop="prescription.dialysis_duration"
  68. width="100"
  69. align="center"
  70. label="透析时长(h)"
  71. >
  72. <template slot-scope="scope">
  73. <span>{{getTime(scope.row.assessment_after_dislysis)}}</span>
  74. </template>
  75. </el-table-column>
  76. <el-table-column width="96" align="center" label="透析器/灌流器">
  77. <template slot-scope="scope">
  78. {{ scope.row.prescription.dialyzer_perfusion_apparatus }}
  79. {{ scope.row.prescription.dialysis_dialyszers }}
  80. <span v-if="scope.row.prescription.dialysis_irrigation!=''">/{{ scope.row.prescription.dialysis_irrigation }}</span>
  81. </template>
  82. </el-table-column>
  83. <el-table-column
  84. prop="predialysis_evaluation.dry_weight"
  85. width="96"
  86. align="center"
  87. label="干体重(kg)"
  88. >
  89. </el-table-column>
  90. <el-table-column
  91. prop="predialysis_evaluation.weight_before"
  92. width="110"
  93. align="center"
  94. label="透前称重(kg)"
  95. >
  96. </el-table-column>
  97. <el-table-column
  98. prop="assessment_after_dislysis.weight_after"
  99. width="110"
  100. align="center"
  101. label="透后称重(kg)"
  102. >
  103. </el-table-column>
  104. <el-table-column
  105. prop="predialysis_evaluation"
  106. width="140"
  107. align="center"
  108. label="透前血压(mmHg)"
  109. >
  110. <template slot-scope="scope"
  111. ><span
  112. >{{
  113. scope.row.predialysis_evaluation.systolic_blood_pressure
  114. }}/{{
  115. scope.row.predialysis_evaluation.diastolic_blood_pressure
  116. }}</span
  117. ></template
  118. >
  119. </el-table-column>
  120. <el-table-column
  121. prop="assessment_after_dislysis"
  122. width="140"
  123. align="center"
  124. label="透后血压(mmHg)"
  125. >
  126. <template slot-scope="scope"
  127. ><span
  128. >{{
  129. scope.row.assessment_after_dislysis.systolic_blood_pressure
  130. }}/{{
  131. scope.row.assessment_after_dislysis.diastolic_blood_pressure
  132. }}</span
  133. ></template
  134. >
  135. </el-table-column>
  136. <el-table-column
  137. prop="assessment_after_dislysis"
  138. width="140"
  139. align="center"
  140. label="目标超滤量"
  141. >
  142. <template slot-scope="scope"
  143. ><span
  144. >{{
  145. scope.row.prescription.target_ultrafiltration
  146. }}</span
  147. ></template
  148. >
  149. </el-table-column>
  150. <el-table-column
  151. prop="assessment_after_dislysis"
  152. width="140"
  153. align="center"
  154. label="实际超滤量"
  155. >
  156. <template slot-scope="scope"
  157. ><span
  158. >{{
  159. scope.row.assessment_after_dislysis.actual_ultrafiltration
  160. }}</span
  161. ></template
  162. >
  163. </el-table-column>
  164. <el-table-column
  165. prop="type"
  166. width="200"
  167. align="center"
  168. label="抗凝剂种类 首剂/维持/总量"
  169. >
  170. <template slot-scope="scope">
  171. <span>{{ setAnticoagulantsConfit(scope.row.prescription) }}</span>
  172. </template>
  173. </el-table-column>
  174. <el-table-column
  175. prop="nurse"
  176. width="90"
  177. align="center"
  178. label="治疗护士"
  179. >
  180. <template slot-scope="scope"
  181. ><span>{{
  182. scope.row.role.user_name
  183. }}</span></template
  184. >
  185. </el-table-column>
  186. <el-table-column
  187. prop="doctor"
  188. width="90"
  189. align="center"
  190. label="治疗医生"
  191. >
  192. <template slot-scope="scope"
  193. ><span>{{
  194. scope.row.prescription.role.user_name
  195. }}</span></template
  196. >
  197. </el-table-column>
  198. </el-table>
  199. <el-pagination
  200. align="right"
  201. @size-change="handleSizeChange"
  202. @current-change="handleCurrentChange"
  203. :current-page="queryParams.page"
  204. :page-sizes="[10, 20, 50, 100]"
  205. :page-size="10"
  206. background
  207. style="margin-top:20px;"
  208. layout="total, sizes, prev, pager, next, jumper"
  209. :total="total"
  210. >
  211. </el-pagination>
  212. </div>
  213. <!-- 透析记录弹窗 -->
  214. <div>
  215. <el-drawer
  216. title="我是标题"
  217. :visible.sync="drawer"
  218. :with-header="false"
  219. :modal-append-to-body="false"
  220. size="70%"
  221. >
  222. <div>
  223. <!-- <div style="margin-left:60px;color:#34495e">
  224. <span>{{ patient.name }}({{ patient.dialysis_no }})</span>
  225. <span v-if="newTime != ''">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
  226. <span v-if="newTime != ''">签到时间:{{ newTime }}</span>
  227. </div> -->
  228. <dialysisIndextwo :record_date="dialysis_date" :patientid='patient_id' :dialysisShow="dialysisShow" :dialysis_date="dialysis_date"></dialysisIndextwo>
  229. </div>
  230. </el-drawer>
  231. </div>
  232. </div>
  233. </template>
  234. <script>
  235. import { getPatientDialysisRecords } from "@/api/patient";
  236. import dialysisIndextwo from './dialysisIndextwo'
  237. import { parseTime } from '@/utils'
  238. export default{
  239. props:{
  240. // history_id:Number
  241. patientid:Number
  242. },
  243. components:{
  244. dialysisIndextwo
  245. },
  246. data(){
  247. return{
  248. orgname: "",
  249. currentPatient: {},
  250. patientID: 0,
  251. total: 0,
  252. queryParams: {
  253. // date: "",
  254. mode_id: "",
  255. start_time: "",
  256. end_time: "",
  257. page: 1,
  258. patient_id: 0,
  259. limit: 10
  260. },
  261. recordData: [],
  262. dateOptions: [
  263. { value: "0", label: "本月" },
  264. { value: "1", label: "本年" }
  265. ],
  266. modeOptions: [],
  267. anticoagulantsConfit: [],
  268. blood_filters: [],
  269. perfusion_apparatus: [],
  270. hemodialysis_machines: [],
  271. doctorOptions: [],
  272. nurseOptions: [],
  273. vascularAccess: [],
  274. vascularAccessDesc: [],
  275. drawer:false,
  276. patient_id:'',
  277. dialysis_date:0,
  278. dialysisShow:false,
  279. newTime:'',
  280. }
  281. },
  282. methods:{
  283. changeSearch(){
  284. },
  285. exportList(){
  286. },
  287. printThisInfo(){
  288. },
  289. rowclick(event){
  290. this.patient_id = event.patient_id
  291. this.dialysis_date = parseTime(event.dialysis_date, '{y}-{m}-{d}')
  292. this.drawer =true
  293. this.dialysisShow =true
  294. },
  295. clickCurrent(){
  296. },
  297. getPatientDialysisRecords() {
  298. console.log("prams",this.queryParams)
  299. getPatientDialysisRecords(this.queryParams).then(response => {
  300. if (response.data.state == 1) {
  301. this.total = response.data.data.total;
  302. this.recordData = response.data.data.records;
  303. console.log("郭23232323232232323",this.recordData)
  304. }
  305. });
  306. },
  307. handleSizeChange(val) {
  308. this.queryParams.limit = val;
  309. this.getPatientDialysisRecords();
  310. },
  311. handleCurrentChange(val) {
  312. this.queryParams.page = val;
  313. this.getPatientDialysisRecords();
  314. },
  315. scheduleType(schedule_type) {
  316. var typeName = "未知";
  317. switch (schedule_type) {
  318. case 1:
  319. typeName = "上午";
  320. break;
  321. case 2:
  322. typeName = "下午";
  323. break;
  324. case 3:
  325. typeName = "晚上";
  326. break;
  327. default:
  328. break;
  329. }
  330. return typeName;
  331. },
  332. modeName(mode_id) {
  333. return typeof this.modeOptions[mode_id] !== "undefined" &&
  334. typeof this.modeOptions[mode_id].name !== "undefined"
  335. ? this.modeOptions[mode_id].name
  336. : "";
  337. },
  338. getTime(record){
  339. if(record != null&&record.id > 0) {
  340. let actual_treatment_hour = 0
  341. let actual_treatment_minute = 0
  342. actual_treatment_hour = parseFloat(record.actual_treatment_hour)
  343. actual_treatment_minute = parseFloat(record.actual_treatment_minute) / 60
  344. return (actual_treatment_hour + actual_treatment_minute).toFixed(2)
  345. }
  346. },
  347. setAnticoagulantsConfit(prescription) {
  348. if (
  349. typeof this.anticoagulantsConfit[prescription.anticoagulant] ===
  350. "undefined"
  351. ) {
  352. return "";
  353. } else {
  354. if (this.anticoagulantsConfit[prescription.anticoagulant].shouji != 1) {
  355. return this.anticoagulantsConfit[prescription.anticoagulant].name;
  356. } else {
  357. return (
  358. this.anticoagulantsConfit[prescription.anticoagulant].name +
  359. "/" +
  360. prescription.anticoagulant_shouji +
  361. "/" +
  362. prescription.anticoagulant_weichi +
  363. "/" +
  364. prescription.anticoagulant_zongliang
  365. );
  366. }
  367. }
  368. },
  369. },
  370. created(){
  371. this.modeOptions = this.$store.getters.treatment_mode;
  372. this.queryParams.patient_id = this.patientid
  373. this.getPatientDialysisRecords()
  374. },
  375. }
  376. </script>