Browse Source

Merge branch '20230223_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20230223_pc_vue_new_branch

陈少旭 1 year ago
parent
commit
93175cf638
97 changed files with 17630 additions and 907 deletions
  1. 1419 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/AssessmentAfterDislysis.vue
  2. 2640 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/shelved.patch
  3. 113 0
      .idea/shelf/Uncommitted_changes_before_Update_at_2023_5_30_16_44_[Changes]/shelved.patch
  4. 1 1
      config/dev.env.js
  5. 1 1
      config/index.js
  6. 49 3
      src/api/dialysis.js
  7. 1 0
      src/lang/en.js
  8. 3 0
      src/lang/zh.js
  9. 7 2
      src/router/index.js
  10. 1 0
      src/router/index_路由未分离前.js
  11. 107 0
      src/router/modules/Dialysisanalysis.js
  12. 16 1
      src/router/modules/device.js
  13. 9 0
      src/router/modules/dialysis.js
  14. 91 0
      src/router/modules/qcd.js
  15. 1 0
      src/store/getters.js
  16. 249 0
      src/xt_pages/Dialysisanalysis/albumin/albuminall.vue
  17. 218 0
      src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue
  18. 102 0
      src/xt_pages/Dialysisanalysis/albumin/index.vue
  19. 102 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/index.vue
  20. 249 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue
  21. 217 0
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusalone.vue
  22. 102 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/index.vue
  23. 249 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue
  24. 217 0
      src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumalone.vue
  25. 249 0
      src/xt_pages/Dialysisanalysis/calcium/calciumall.vue
  26. 217 0
      src/xt_pages/Dialysisanalysis/calcium/calciumalone.vue
  27. 102 0
      src/xt_pages/Dialysisanalysis/calcium/index.vue
  28. 167 0
      src/xt_pages/Dialysisanalysis/dialysis_index.vue
  29. 248 0
      src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue
  30. 217 0
      src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinalone.vue
  31. 102 0
      src/xt_pages/Dialysisanalysis/hemoglobin/index.vue
  32. 209 0
      src/xt_pages/Dialysisanalysis/nonnumerical.vue
  33. 102 0
      src/xt_pages/Dialysisanalysis/otherIndicators/index.vue
  34. 249 0
      src/xt_pages/Dialysisanalysis/otherIndicators/otherall.vue
  35. 217 0
      src/xt_pages/Dialysisanalysis/otherIndicators/otheralone.vue
  36. 102 0
      src/xt_pages/Dialysisanalysis/platelets/index.vue
  37. 249 0
      src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue
  38. 217 0
      src/xt_pages/Dialysisanalysis/platelets/plateletsalone.vue
  39. 243 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/individual.vue
  40. 103 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland.vue
  41. 255 0
      src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue
  42. 3 0
      src/xt_pages/data/components/dialysisAfter.vue
  43. 2 0
      src/xt_pages/data/components/dialysisBefore.vue
  44. 2 0
      src/xt_pages/data/components/dialysisComputer.vue
  45. 2 0
      src/xt_pages/data/components/dialysisMonitor.vue
  46. 2 0
      src/xt_pages/data/components/dialysisOff.vue
  47. 2 0
      src/xt_pages/data/components/dialysisPrescription.vue
  48. 2 0
      src/xt_pages/data/components/dialysisSummary.vue
  49. 2 0
      src/xt_pages/data/components/doubleCheck.vue
  50. 2 0
      src/xt_pages/data/components/receiveTreatmentAsses.vue
  51. 1 1
      src/xt_pages/device/airDisinfectTwo.vue
  52. 13 3
      src/xt_pages/device/objectTableDisinfectTwo.vue
  53. 1 1
      src/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree.vue
  54. 27 6
      src/xt_pages/dialysis/batch_print/batch_print_order_six.vue
  55. 4 0
      src/xt_pages/dialysis/components/consumablesDialog.vue
  56. 4 0
      src/xt_pages/dialysis/components/dialysisDrugsDialog.vue
  57. 4 0
      src/xt_pages/dialysis/components/dialysisParametersDialog.vue
  58. 1 1
      src/xt_pages/dialysis/details/consumable/dialysisGoodPrint.vue
  59. 180 68
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  60. 122 78
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  61. 110 65
      src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue
  62. 69 52
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  63. 64 2
      src/xt_pages/dialysis/details/dialog/computer_dialog.vue
  64. 644 462
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  65. 65 1
      src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue
  66. 69 2
      src/xt_pages/dialysis/details/dialog/finish_dialog.vue
  67. 154 36
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  68. 69 1
      src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue
  69. 2 2
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  70. 998 0
      src/xt_pages/dialysis/dialysisFlow.vue
  71. 45 9
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  72. 17 1
      src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue
  73. 31 4
      src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue
  74. 4051 0
      src/xt_pages/dialysis/template/DialysisPrintOrderSixtyFive.vue
  75. 136 22
      src/xt_pages/dialysis/template/DialysisPrintOrderSixtyfour.vue
  76. 2 1
      src/xt_pages/home/index.vue
  77. 434 0
      src/xt_pages/infor/index.vue
  78. 18 6
      src/xt_pages/management/components/UserForm.vue
  79. 4 1
      src/xt_pages/management/home.vue
  80. 12 11
      src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue
  81. 11 11
      src/xt_pages/outpatientDoctorStation/checkTemplate/printOne.vue
  82. 1 0
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  83. 167 0
      src/xt_pages/qcd/dialysis_index.vue
  84. 243 0
      src/xt_pages/qcd/qualitycontrol/individual.vue
  85. 103 0
      src/xt_pages/qcd/qualitycontrol/thyroidGland.vue
  86. 255 0
      src/xt_pages/qcd/qualitycontrol/totalSstatistics.vue
  87. 6 6
      src/xt_pages/stock/detail/print.vue
  88. 3 3
      src/xt_pages/stock/detail/stockOutDetail.vue
  89. 1 1
      src/xt_pages/stock/inventoryTransfer/Addtrans.vue
  90. 1 1
      src/xt_pages/stock/inventoryTransfer/transEdit.vue
  91. 5 4
      src/xt_pages/stock/stockInOrderDetailPrint.vue
  92. 1 1
      src/xt_pages/stock/stockOutOrder.vue
  93. 23 17
      src/xt_pages/user/components/PatientDetail.vue
  94. 4 3
      src/xt_pages/workforce/appointment.vue
  95. 1 1
      src/xt_pages/workforce/components/historyWeekTable.vue
  96. 10 2
      src/xt_pages/workforce/scheduleTablePrint.vue
  97. 13 13
      src/xt_permission.js

File diff suppressed because it is too large
+ 1419 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/AssessmentAfterDislysis.vue


File diff suppressed because it is too large
+ 2640 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_4_26_15_16_[Changes]/shelved.patch


File diff suppressed because it is too large
+ 113 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2023_5_30_16_44_[Changes]/shelved.patch


+ 1 - 1
config/dev.env.js View File

@@ -7,7 +7,7 @@ module.exports = {
7 7
   NODE_ENV: '"development"',
8 8
   ENV_CONFIG: '"dev"',
9 9
   // BASE_API: '"http://new_mobile.xt.api.sgjyun.com"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527,////'"http://localhost:9529"',
10
-  //  BASE_API: '"https://api.xt.test.sgjyun.com"',
10
+  // BASE_API: '"https://api.xt.test.sgjyun.com"',
11 11
   BASE_API: '"http://localhost:9531"',
12 12
   SSO_HOST: '"http://testsso.sgjyun.com"',
13 13
   SRCM_HOST: '"http://test1.sgjyun.com"',

+ 1 - 1
config/index.js View File

@@ -29,7 +29,7 @@ module.exports = {
29 29
 
30 30
     // host: 'xt.test.sgjyun.com',
31 31
     //  host: 'xt.kuyicloud.com',
32
-    // host: 'xt.test.sgjyun.com',
32
+    //  host: 'xt.test.sgjyun.com',
33 33
     host: 'localhost',
34 34
     port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
35 35
     autoOpenBrowser: true,

+ 49 - 3
src/api/dialysis.js View File

@@ -182,7 +182,7 @@ export function postDoubleCheck(params) {
182 182
 }
183 183
 
184 184
 export function postAccepts(params) {
185
-  console.log('params', params)
185
+
186 186
   return request({
187 187
     url: '/api/dialysis/accepts',
188 188
     method: 'Post',
@@ -195,7 +195,7 @@ export function postAccepts(params) {
195 195
 }
196 196
 
197 197
 export function postAssessmentBeforeDislysis(params) {
198
-  console.log('params', params)
198
+
199 199
   return request({
200 200
     url: '/api/dialysis/assessmentbeforedislysis',
201 201
     method: 'Post',
@@ -208,7 +208,7 @@ export function postAssessmentBeforeDislysis(params) {
208 208
 }
209 209
 
210 210
 export function postTreatmentsummary(params) {
211
-  console.log('param223322323', params)
211
+
212 212
   return request({
213 213
     url: '/api/dialysis/treatmentsummary',
214 214
     method: 'Post',
@@ -403,3 +403,49 @@ export function getDialysisAdviceToday(params) {
403 403
     params: params
404 404
   })
405 405
 }
406
+
407
+
408
+export function SaveDialysisInformationSetting(params) {
409
+  return request({
410
+    url: '/api/patient/savedialysisInformationsetting',
411
+    method: 'get',
412
+    params: params
413
+  })
414
+}
415
+
416
+export function getDialysisInformationSetting(params){
417
+
418
+  return request({
419
+    url:"/api/patient/getdialyisinformationsetting",
420
+    method:"get",
421
+    params:params
422
+  })
423
+}
424
+
425
+export function checkDialysisInformation(params){
426
+
427
+  return request({
428
+    url:"/api/patient/checkdialysisinformation",
429
+    method:"Get",
430
+    params:params
431
+  })
432
+}
433
+
434
+
435
+
436
+export function getSchedualPatientFlow(params) {
437
+  return request({
438
+    url: '/api/dialysis/patientsflow',
439
+    method: 'get',
440
+    params: params
441
+  })
442
+}
443
+
444
+export function saveInformation(params){
445
+
446
+  return request({
447
+    url:"/api/patient/saveinformation",
448
+    method:"get",
449
+    params:params
450
+  })
451
+}

+ 1 - 0
src/lang/en.js View File

@@ -78,6 +78,7 @@ export default {
78 78
     dialysisSolution: 'dialysisSolution',
79 79
     inspection: 'Inspection',
80 80
     home: 'home',
81
+    infor:'infor',
81 82
     weight: 'weight',
82 83
     dialysisRecord: 'dialysisRecord',
83 84
     scheduling: 'scheduling',

+ 3 - 0
src/lang/zh.js View File

@@ -81,6 +81,7 @@ export default {
81 81
     template: '数据模版',
82 82
     druguse: '医嘱模版',
83 83
     watch: '透析监测',
84
+    flow:'透析流程',
84 85
     addAdmin: '新增用户',
85 86
     editAdmin: '编辑用户信息',
86 87
     setupPerview: '设置权限',
@@ -92,6 +93,7 @@ export default {
92 93
     dialysisSolution: '透析处方',
93 94
     inspection: '检验检查',
94 95
     home: '透析首页',
96
+    infor:'信息归档',
95 97
     weight: '干体重',
96 98
     dialysisRecord: '透析记录',
97 99
     scheduling: '排班信息',
@@ -102,6 +104,7 @@ export default {
102 104
     deviceManage: '院感管理',
103 105
     modemanagement: '型号配置',
104 106
     dialysisMachineManage: '设备管理',
107
+    
105 108
     workforce: '患者排班',
106 109
     appointment: '排班管理',
107 110
     sign: '治疗签到',

+ 7 - 2
src/router/index.js View File

@@ -12,6 +12,7 @@ import role from './modules/role'
12 12
 import stock from './modules/stock'
13 13
 import weight_sign from './modules/weight_sign'
14 14
 import workforce from './modules/workforce'
15
+
15 16
 import service from './modules/service'
16 17
 import org from './modules/org'
17 18
 import systems from './modules/systems'
@@ -59,7 +60,7 @@ import bedManagement from './modules/bedManagement'
59 60
 import dictionaryManagement from './modules/dictionaryManagement'
60 61
 import templateManagement from './modules/templateManagement'
61 62
 import DepartManage from './modules/DepartManage'
62
-import basicConfig from './modules/basicConfig'
63
+import basicConfig from './modules/basicConfig' 
63 64
 
64 65
 Vue.use(Router)
65 66
 
@@ -119,6 +120,7 @@ var _constant_router_map = [{
119 120
     }
120 121
   }]
121 122
 },
123
+
122 124
 {
123 125
   path: '/kuyiShopping',
124 126
   component: Layout,
@@ -170,6 +172,8 @@ var _asy_router_map = [
170 172
 
171 173
   otherManagement,
172 174
   qcd,
175
+  // qualitycontrol,//透析分析5/29
176
+ 
173 177
   device,
174 178
   org,
175 179
   data_upload,
@@ -199,7 +203,8 @@ var _asy_router_map = [
199 203
   hisTool,
200 204
   integration,
201 205
   basicConfig,
202
-  supply
206
+  supply,
207
+  Dialysisanalysis,// 新菜单6.1
203 208
 ]
204 209
 
205 210
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证

+ 1 - 0
src/router/index_路由未分离前.js View File

@@ -40,6 +40,7 @@ export const xt_constantRouterMap = [
40 40
       meta: { title: 'home', icon: 'dashboard', noCache: true }
41 41
     }]
42 42
   },
43
+ 
43 44
   {
44 45
     path: '/service',
45 46
     component: Layout,

+ 107 - 0
src/router/modules/Dialysisanalysis.js View File

@@ -0,0 +1,107 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/Dialysisanalysis',
5
+  component: Layout,
6
+  redirect: '/Dialysisanalysis/qualitycontrol/thyroidGland',
7
+  name: 'Dialysisanalysis',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: '透析分析',
11
+    icon: 'statistics'
12
+  },
13
+  children: [
14
+    {
15
+      path: '/Dialysisanalysis/qualitycontrol/thyroidGland',
16
+      component: () => import('@/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland'),
17
+      name: 'thyroidGland',
18
+      meta: {
19
+        title: '甲状旁腺激素分析',
20
+        noCache: true
21
+      }
22
+    },
23
+    // {
24
+    //   path: '/Dialysisanalysis/hemoglobin',
25
+    //   component: () => import('@/xt_pages/Dialysisanalysis/hemoglobin/index'),
26
+    //   name: 'index',
27
+    //   meta: {
28
+    //     title: '血红蛋白',
29
+    //     noCache: true
30
+    //   }
31
+    // },
32
+    // {
33
+    //   path: '/Dialysisanalysis/bloodPotassium',
34
+    //   component: () => import('@/xt_pages/Dialysisanalysis/bloodPotassium/index'),
35
+    //   name: 'index',
36
+    //   meta: {
37
+    //     title: '血钾',
38
+    //     noCache: true
39
+    //   }
40
+    // },
41
+    // {
42
+    //   path: '/Dialysisanalysis/albumin',
43
+    //   component: () => import('@/xt_pages/Dialysisanalysis/albumin/index'),
44
+    //   name: 'index',
45
+    //   meta: {
46
+    //     title: '白蛋白',
47
+    //     noCache: true
48
+    //   }
49
+    // },
50
+    // {
51
+    //   path: '/Dialysisanalysis/bloodPhosphorus',
52
+    //   component: () => import('@/xt_pages/Dialysisanalysis/bloodPhosphorus/index'),
53
+    //   name: 'index',
54
+    //   meta: {
55
+    //     title: '血磷',
56
+    //     noCache: true
57
+    //   }
58
+    // },
59
+    // {
60
+    //   path: '/Dialysisanalysis/calcium',
61
+    //   component: () => import('@/xt_pages/Dialysisanalysis/calcium/index'),
62
+    //   name: 'index',
63
+    //   meta: {
64
+    //     title: '钙',
65
+    //     noCache: true
66
+    //   }
67
+    // },
68
+    // {
69
+    //   path: '/Dialysisanalysis/platelets',
70
+    //   component: () => import('@/xt_pages/Dialysisanalysis/platelets/index'),
71
+    //   name: 'index',
72
+    //   meta: {
73
+    //     title: '血小板',
74
+    //     noCache: true
75
+    //   }
76
+    // },
77
+    // {
78
+    //   path: '/Dialysisanalysis/otherIndicators',
79
+    //   component: () => import('@/xt_pages/Dialysisanalysis/otherIndicators/index'),
80
+    //   name: 'index',
81
+    //   meta: {
82
+    //     title: '其他指标',
83
+    //     noCache: true
84
+    //   }
85
+    // },
86
+    // {
87
+    //   path: '/Dialysisanalysis/nonnumerical',
88
+    //   component: () => import('@/xt_pages/Dialysisanalysis/nonnumerical'),
89
+    //   name: 'nonnumerical',
90
+    //   meta: {
91
+    //     title: '非数值类的列表展示',
92
+    //     noCache: true
93
+    //   }
94
+    // },
95
+    // {
96
+    //   path: '/Dialysisanalysis/dialysis_index',
97
+    //   component: () => import('@/xt_pages/Dialysisanalysis/dialysis_index'),
98
+    //   name: 'dialysis_index',
99
+    //   meta: {
100
+    //     title: '透析指标详情',
101
+    //     noCache: true
102
+    //   }
103
+    // },
104
+   
105
+  
106
+  ]
107
+}

+ 16 - 1
src/router/modules/device.js View File

@@ -88,6 +88,19 @@ export default {
88 88
 
89 89
       }
90 90
     },
91
+
92
+
93
+    {
94
+      path: '/infor/index',
95
+      component: () => import('@/xt_pages/infor/index'),
96
+      name: 'infor',
97
+     
98
+      meta: {
99
+        title: 'infor',
100
+        noCache: true,
101
+      }
102
+    },
103
+
91 104
     {
92 105
       path: '/device/waterformprint',
93 106
       component: () => import('@/xt_pages/management/components/waterFormPrint'),
@@ -99,7 +112,9 @@ export default {
99 112
         noCache: true,
100 113
         
101 114
       }
102
-    }
115
+    },
116
+
117
+  
103 118
 
104 119
   ]
105 120
 }

+ 9 - 0
src/router/modules/dialysis.js View File

@@ -815,5 +815,14 @@ export default {
815 815
         noCache: true
816 816
       }
817 817
     },
818
+    {
819
+      path: '/dialysis/flow',
820
+      component: () => import('@/xt_pages/dialysis/dialysisFlow'),
821
+      name: 'flow',
822
+      meta: {
823
+        title: 'flow',
824
+        noCache: true
825
+      }
826
+    },
818 827
   ]
819 828
 }

+ 91 - 0
src/router/modules/qcd.js View File

@@ -68,6 +68,97 @@ export default {
68 68
     //   }
69 69
     // },
70 70
     
71
+    
72
+    // {
73
+    //   path: '/qcd/thyroidGland',
74
+    //   component: () => import('@/xt_pages/qcd/qualitycontrol/thyroidGland'),
75
+    //   name: 'thyroidGland',
76
+    //   meta: {
77
+    //     title: '甲状旁腺激素分析',
78
+    //     noCache: true
79
+    //   }
80
+    // },
81
+    // {
82
+    //   path: '/qcd/hemoglobin',
83
+    //   component: () => import('@/xt_pages/qcd/hemoglobin/index'),
84
+    //   name: 'index',
85
+    //   meta: {
86
+    //     title: '血红蛋白',
87
+    //     noCache: true
88
+    //   }
89
+    // },
90
+    // {
91
+    //   path: '/qcd/bloodPotassium',
92
+    //   component: () => import('@/xt_pages/qcd/bloodPotassium/index'),
93
+    //   name: 'index',
94
+    //   meta: {
95
+    //     title: '血钾',
96
+    //     noCache: true
97
+    //   }
98
+    // },
99
+    // {
100
+    //   path: '/qcd/albumin',
101
+    //   component: () => import('@/xt_pages/qcd/albumin/index'),
102
+    //   name: 'index',
103
+    //   meta: {
104
+    //     title: '白蛋白',
105
+    //     noCache: true
106
+    //   }
107
+    // },
108
+    // {
109
+    //   path: '/qcd/bloodPhosphorus',
110
+    //   component: () => import('@/xt_pages/qcd/bloodPhosphorus/index'),
111
+    //   name: 'index',
112
+    //   meta: {
113
+    //     title: '血磷',
114
+    //     noCache: true
115
+    //   }
116
+    // },
117
+    // {
118
+    //   path: '/qcd/calcium',
119
+    //   component: () => import('@/xt_pages/qcd/calcium/index'),
120
+    //   name: 'index',
121
+    //   meta: {
122
+    //     title: '钙',
123
+    //     noCache: true
124
+    //   }
125
+    // },
126
+    // {
127
+    //   path: '/qcd/platelets',
128
+    //   component: () => import('@/xt_pages/qcd/platelets/index'),
129
+    //   name: 'index',
130
+    //   meta: {
131
+    //     title: '血小板',
132
+    //     noCache: true
133
+    //   }
134
+    // },
135
+    // {
136
+    //   path: '/qcd/otherIndicators',
137
+    //   component: () => import('@/xt_pages/qcd/otherIndicators/index'),
138
+    //   name: 'index',
139
+    //   meta: {
140
+    //     title: '其他指标',
141
+    //     noCache: true
142
+    //   }
143
+    // },
144
+    // {
145
+    //   path: '/qcd/nonnumerical',
146
+    //   component: () => import('@/xt_pages/qcd/nonnumerical'),
147
+    //   name: 'nonnumerical',
148
+    //   meta: {
149
+    //     title: '非数值类的列表展示',
150
+    //     noCache: true
151
+    //   }
152
+    // },
153
+    // {
154
+    //   path: '/qcd/dialysis_index',
155
+    //   component: () => import('@/xt_pages/qcd/dialysis_index'),
156
+    //   name: 'dialysis_index',
157
+    //   meta: {
158
+    //     title: '透析指标详情',
159
+    //     noCache: true
160
+    //   }
161
+    // },
71 162
     {
72 163
       path: '/qcd/basicInformationAnalysis',
73 164
       component: () => import('@/xt_pages/qcd/basicInformationAnalysis'),

+ 1 - 0
src/store/getters.js View File

@@ -2,6 +2,7 @@ const getters = {
2 2
   sidebar: state => state.app.sidebar,
3 3
   language: state => state.app.language,
4 4
   device: state => state.app.device,
5
+  information:state => state.app.information,
5 6
   visitedViews: state => state.tagsView.visitedViews,
6 7
   cachedViews: state => state.tagsView.cachedViews,
7 8
   token: state => state.user.token,

+ 249 - 0
src/xt_pages/Dialysisanalysis/albumin/albuminall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="白蛋白"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 218 - 0
src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue View File

@@ -0,0 +1,218 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       
52
+       <div >
53
+        <el-row :gutter="20">
54
+            <el-col :span="4">
55
+              <div class="grid-content bg-purple">
56
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
57
+                
58
+                <el-table
59
+                :data="tableData"
60
+                border
61
+                style="width: 100%">
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="date"
65
+                        label="透析号"
66
+                       >
67
+                    </el-table-column>
68
+                    <el-table-column
69
+                        align="center"
70
+                        prop="name"
71
+                        label="姓名"
72
+                        >
73
+                    </el-table-column>
74
+                </el-table>
75
+              </div>
76
+            </el-col>
77
+            <el-col :span="19">
78
+               <div class="grid-content bg-purple">
79
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
80
+                <el-table
81
+                    :data="tableData"
82
+                    style="width: 100%"
83
+                    border
84
+                    align="center"
85
+                    max-height="250">
86
+                    <el-table-column
87
+                    fixed
88
+                    prop="date"
89
+                    label="姓名"
90
+                   >
91
+                    </el-table-column>
92
+                    <el-table-column
93
+                    prop="name"
94
+                    label="检查日期"
95
+                    >
96
+                    </el-table-column>
97
+                    <el-table-column
98
+                    prop="province"
99
+                    label="白蛋白(g/L)"
100
+                    >
101
+                    </el-table-column>
102
+                    
103
+                </el-table>
104
+               </div>
105
+           </el-col>
106
+        </el-row>
107
+       </div>
108
+
109
+    </div>
110
+</template>
111
+<script>
112
+  import * as echarts from 'echarts'
113
+export default{
114
+    // props: {
115
+    //     width: {
116
+    //         type: String,
117
+    //         default: "100%"
118
+    //     },
119
+    //     height: {
120
+    //         type: String,
121
+    //         default: "400px"
122
+    //     },
123
+    
124
+    // },
125
+    data() {
126
+        return {
127
+            inputValue:'',
128
+            stat_time:'',
129
+            end_time:'',
130
+            value:'',
131
+            myChart: {},
132
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
133
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
134
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
135
+            tableData:[],
136
+        }
137
+    },
138
+    created(){
139
+        
140
+    },
141
+    mounted() {
142
+        // this.$nextTick(function() {
143
+            this.initEcharts();
144
+		// })  
145
+        // this.myChart = echarts.init(document.getElementById("germychart"));
146
+        //     this.myChart.setOption(option);
147
+            //随着屏幕大小调节图表
148
+            window.addEventListener("resize", () => {
149
+                this.myChart.resize();
150
+            });
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+        initEcharts() {
157
+            const option = {
158
+                xAxis: {
159
+                    type: 'category',
160
+                        boundaryGap:true,
161
+                        axisTick:{
162
+                            alignWithLabel:true //保证刻度线和标签对齐
163
+                        },
164
+                    data: this.xData,
165
+                    splitNumber:this.xData.length, //纵坐标数
166
+                    interval:this.xData //强制设置坐标轴分割间隔
167
+                },
168
+                yAxis: {
169
+                    type: 'value',
170
+                    boundaryGap: true,
171
+                    splitNumber:4, //纵坐标数
172
+                    interval:10 //强制设置坐标轴分割间隔
173
+                },
174
+                legend: {
175
+                    show: true,
176
+                    align:'left',//文字在前图标在后
177
+                    left:'15%',
178
+                    top:'5%',
179
+                    data: [{name:'白蛋白g/L'}]
180
+                },
181
+                series: [
182
+                {
183
+                    data: this.opinionData,
184
+                    name:'白蛋白g/L',
185
+                    type: "line",// 类型设置为折线图
186
+                    symbol: 'circle',
187
+                    itemStyle: {
188
+                        normal: {
189
+                            color: '#409eff', //改变折线点的颜色#a80000
190
+                            lineStyle: {
191
+                                color: '#409eff' //改变折线颜色
192
+                            }
193
+                        }
194
+                    },
195
+
196
+                },
197
+                
198
+                ],
199
+                
200
+            };
201
+            this.myChart = echarts.init(document.getElementById("germychart"));
202
+            this.myChart.setOption(option);
203
+            //随着屏幕大小调节图表
204
+            window.addEventListener("resize", () => {
205
+                this.myChart.resize();
206
+            });
207
+        },
208
+    },
209
+    
210
+}
211
+</script>
212
+<style lang="scss" scoped>
213
+.content_top{
214
+    display: flex;
215
+    justify-content: space-around;
216
+    margin-bottom: 20px;
217
+}
218
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/albumin/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 白蛋白 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <albuminall v-if="activeName == 'first'"></albuminall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <albuminalone v-if="activeName == 'second'"></albuminalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import albuminall from './albuminall.vue'
32
+import albuminalone from './albuminalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        albuminall,
38
+        albuminalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血磷 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <phosphorusall v-if="activeName == 'first'"></phosphorusall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <phosphorusalone v-if="activeName == 'second'"></phosphorusalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import phosphorusall from './phosphorusall.vue'
32
+import phosphorusalone from './phosphorusalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        phosphorusall,
38
+        phosphorusalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 249 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        <el-row :gutter="20">
31
+        <el-col :span="5"> 
32
+          <div class="block">
33
+            <span>查询时间:</span>
34
+            <el-date-picker
35
+            v-model="time_month"
36
+            type="month"
37
+            placeholder="选择月">
38
+            </el-date-picker>
39
+          </div>
40
+        </el-col>
41
+        <el-col :span="8">
42
+          <div>
43
+            <el-date-picker
44
+            v-model="stat_time"
45
+            type="date"
46
+            placeholder="选择日期">
47
+            </el-date-picker>
48
+            <span>-</span>
49
+            <el-date-picker
50
+            v-model="end_time"
51
+            type="date"
52
+            placeholder="选择日期">
53
+            </el-date-picker>
54
+          </div>
55
+        </el-col>
56
+        <el-col :span="3">
57
+          <div style="width: 200px;">
58
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
59
+          </div>
60
+        </el-col>
61
+        <el-col :span="2">
62
+            <el-button type="primary">查询</el-button>
63
+        </el-col>
64
+        </el-row>
65
+        
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血磷"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血磷(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血磷mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血磷mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血钾 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <potassiumall v-if="activeName == 'first'"></potassiumall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive> 
18
+                    <potassiumalone v-if="activeName == 'second'"></potassiumalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import potassiumall from './potassiumall'
32
+import potassiumalone from './potassiumalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        potassiumall,
38
+        potassiumalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 249 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血钾"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血钾(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血钾mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血钾mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 249 - 0
src/xt_pages/Dialysisanalysis/calcium/calciumall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="钙"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/calcium/calciumalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="钙(mmol/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'钙mmol/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'钙mmol/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/calcium/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 钙-->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <calciumall v-if="activeName == 'first'"></calciumall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <calciumalone v-if="activeName == 'second'"></calciumalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import calciumall from './calciumall'
32
+import calciumalone from './calciumalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        calciumall,
38
+        calciumalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 167 - 0
src/xt_pages/Dialysisanalysis/dialysis_index.vue View File

@@ -0,0 +1,167 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <div>
11
+                <span>查询时间:</span>
12
+                <el-date-picker
13
+                v-model="stat_time"
14
+                type="date"
15
+                placeholder="选择日期">
16
+                </el-date-picker>
17
+                <span>-</span>
18
+                <el-date-picker
19
+                v-model="end_time"
20
+                type="date"
21
+                placeholder="选择日期">
22
+                </el-date-picker>
23
+                <el-select v-model="value" placeholder="请选择">
24
+                    <el-option
25
+                    v-for="item in options"
26
+                    :key="item.value"
27
+                    :label="item.label"
28
+                    :value="item.value">
29
+                    </el-option>
30
+                </el-select>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-button type="primary">查询</el-button>
40
+            </div>
41
+            <div>
42
+                <el-button type="primary">设置</el-button>
43
+                <el-button type="primary">打印</el-button>
44
+                <el-button type="primary">导出</el-button>
45
+            </div>
46
+          </div>
47
+       <div >
48
+        <el-row :gutter="20">
49
+            <!-- <el-col :span="4">
50
+              <div class="grid-content bg-purple">
51
+                
52
+                <el-table
53
+                :data="tableData"
54
+                border
55
+                style="width: 100%">
56
+                    <el-table-column
57
+                        align="center"
58
+                        prop="date"
59
+                        label="透析号"
60
+                       >
61
+                    </el-table-column>
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="name"
65
+                        label="姓名"
66
+                        >
67
+                    </el-table-column>
68
+                </el-table>
69
+              </div>
70
+            </el-col> -->
71
+            <el-col :span="24">
72
+               <div class="grid-content bg-purple">
73
+                <el-table
74
+                    :data="tableData"
75
+                    style="width: 100%"
76
+                    border
77
+                    align="center"
78
+                    max-height="450">
79
+                    <el-table-column
80
+                    fixed
81
+                    prop="date"
82
+                    label="序号"
83
+                   >
84
+                    </el-table-column>
85
+                    <el-table-column
86
+                    prop="name"
87
+                    label="透析号"
88
+                    >
89
+                    </el-table-column>
90
+                    <el-table-column
91
+                    prop="province"
92
+                    label="姓名"
93
+                    >
94
+                    </el-table-column>
95
+                    <el-table-column
96
+                    prop="province"
97
+                    label="白蛋白(g/L)"
98
+                    >
99
+                    </el-table-column>
100
+                    <el-table-column
101
+                    fixed
102
+                    prop="date"
103
+                    label="血红蛋白(g/L)"
104
+                   >
105
+                    </el-table-column>
106
+                    <el-table-column
107
+                    prop="name"
108
+                    label="血钾(mmol/L)"
109
+                    >
110
+                    </el-table-column>
111
+                    <el-table-column
112
+                    prop="province"
113
+                    label="钙(mmol/L)"
114
+                    >
115
+                    </el-table-column>
116
+                    <el-table-column
117
+                    prop="province"
118
+                    label="无机磷(mmol/L)"
119
+                    >
120
+                    </el-table-column>
121
+                    <el-table-column
122
+                    prop="province"
123
+                    label="甲状旁腺激素(pmol/L)"
124
+                    >
125
+                    </el-table-column>
126
+                </el-table>
127
+               </div>
128
+           </el-col>
129
+        </el-row>
130
+       </div>
131
+        </div>
132
+      </div>
133
+    </div>
134
+</template>
135
+<script>
136
+export default{
137
+    data() {
138
+        return {
139
+            inputValue:'',
140
+            stat_time:'',
141
+            end_time:'',
142
+            value:'',
143
+            tableData:[],
144
+        }
145
+    },
146
+    created(){
147
+        
148
+    },
149
+    mounted() {
150
+        
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+       
157
+    },
158
+    
159
+}
160
+</script>
161
+<style lang="scss" scoped>
162
+.content_top{
163
+    display: flex;
164
+    justify-content: space-around;
165
+    margin: 20px;
166
+}
167
+</style>

+ 248 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue View File

@@ -0,0 +1,248 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        <el-row :gutter="20">
31
+        <el-col :span="5"> 
32
+          <div class="block">
33
+            <span>查询时间:</span>
34
+            <el-date-picker
35
+            v-model="time_month"
36
+            type="month"
37
+            placeholder="选择月">
38
+            </el-date-picker>
39
+          </div>
40
+        </el-col>
41
+        <el-col :span="8">
42
+          <div>
43
+            <el-date-picker
44
+            v-model="stat_time"
45
+            type="date"
46
+            placeholder="选择日期">
47
+            </el-date-picker>
48
+            <span>-</span>
49
+            <el-date-picker
50
+            v-model="end_time"
51
+            type="date"
52
+            placeholder="选择日期">
53
+            </el-date-picker>
54
+          </div>
55
+        </el-col>
56
+        <el-col :span="3">
57
+          <div style="width: 200px;">
58
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
59
+          </div>
60
+        </el-col>
61
+        <el-col :span="2">
62
+            <el-button type="primary">查询</el-button>
63
+        </el-col>
64
+        </el-row>
65
+        
66
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
67
+          <p class="chartTitle">统计图</p>
68
+        </div>
69
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
70
+        <div style="width: 80%;margin: auto;">
71
+            <el-table
72
+            :data="tableData"
73
+            :show-summary = true
74
+            border
75
+            style="width: 100%;">
76
+                <el-table-column
77
+                    prop="date"
78
+                    align="center"
79
+                    label="血红蛋白"
80
+                    >
81
+                </el-table-column>
82
+                <el-table-column
83
+                    prop="name"
84
+                    
85
+                    label="人数"
86
+                    >
87
+                </el-table-column>
88
+                <el-table-column
89
+                    prop="address"
90
+                    align="center"
91
+                    label="操作">
92
+                    <template slot-scope="scope">
93
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
94
+                                type="text" >查看详情
95
+                        </el-button>
96
+                    </template>
97
+                </el-table-column>
98
+            </el-table>
99
+        </div>
100
+    </div>
101
+</template>
102
+<script>
103
+import * as echarts from "echarts";
104
+export default{
105
+    props: {
106
+   
107
+    width: {
108
+      type: String,
109
+      default: "100%"
110
+    },
111
+    height: {
112
+      type: String,
113
+      default: "400px"
114
+    },
115
+    
116
+  },
117
+    data() {
118
+        return {
119
+            time_month:'',
120
+            stat_time:'',
121
+            end_time:'',
122
+            input:'',
123
+            myChart: {},
124
+            pieData : [
125
+            {
126
+          value: 463,
127
+          name: "不达标值患者"
128
+        },
129
+        {
130
+          value: 395,
131
+          name: "未检查患者"
132
+        },
133
+        {
134
+          value: 157,
135
+          name: "达标值患者"
136
+        },
137
+        // {
138
+        //   value: 149,
139
+        //   name: "广东"
140
+        // },
141
+        // {
142
+        //   value: 147,
143
+        //   name: "湖南"
144
+        // }
145
+            
146
+            ],
147
+            pieName: [],
148
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
149
+            tableData:[],
150
+        }
151
+    },
152
+    mounted() {
153
+    this.initDate(); //数据初始化
154
+    this.initEcharts();
155
+  },
156
+  methods: {
157
+    initDate() {
158
+      for (let i = 0; i < this.pieData.length; i++) {
159
+        this.pieName[i] = this.pieData[i].name;
160
+      }
161
+    },
162
+    initEcharts() {
163
+      // 饼图
164
+      const option = {
165
+        legend: {
166
+          // 图例
167
+          data: this.pieName,
168
+          left: "10%",
169
+          top: "30%",
170
+          orient: "vertical"
171
+        },
172
+        color:['#ff7f9f','#fff67f','#1e5feb'],
173
+        title: {
174
+          // 设置饼图标题,位置设为顶部居中
175
+        //   text: "国内院士前五省份图示",
176
+          top: "0%",
177
+          left: "center"
178
+        },
179
+        series: [
180
+          {
181
+            type: "pie",
182
+            label: {
183
+              show: true,
184
+              formatter:"{b} : {d}% ({c})"
185
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
186
+            },
187
+            radius: "65%", //饼图半径
188
+            data: this.pieData
189
+          }
190
+        ]
191
+      };
192
+    //   console.log(this.seriesData);
193
+      const optionFree = {
194
+        series: [
195
+          {
196
+            data: this.seriesData,
197
+            type: "line",
198
+            smooth: true
199
+          }
200
+        ]
201
+      };
202
+      this.myChart = echarts.init(document.getElementById("mychart"));
203
+      this.myChart.setOption(option);
204
+      //随着屏幕大小调节图表
205
+      window.addEventListener("resize", () => {
206
+        this.myChart.resize();
207
+      });
208
+    },
209
+    getSummaries(param) {
210
+        const { columns, data } = param;
211
+        const sums = [];
212
+        columns.forEach((column, index) => {
213
+          if (index === 0) {
214
+            sums[index] = '总价';
215
+            return;
216
+          }
217
+          const values = data.map(item => Number(item[column.property]));
218
+          if (!values.every(value => isNaN(value))) {
219
+            sums[index] = values.reduce((prev, curr) => {
220
+              const value = Number(curr);
221
+              if (!isNaN(value)) {
222
+                return prev + curr;
223
+              } else {
224
+                return prev;
225
+              }
226
+            }, 0);
227
+            sums[index] += ' 元';
228
+          } else {
229
+            sums[index] = 'N/A';
230
+          }
231
+        });
232
+
233
+        return sums;
234
+    },
235
+    handleClick(id){
236
+        console.log(id);
237
+    }
238
+  }
239
+
240
+}
241
+</script>
242
+<style lang="scss" scoped>
243
+.content_top{
244
+    display: flex;
245
+    justify-content: space-around;
246
+    color: #1e5feb;
247
+}
248
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血红蛋白(g/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血红蛋白g/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血红蛋白g/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/hemoglobin/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血红蛋白 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <hemoglobinall v-if="activeName == 'first'"></hemoglobinall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <hemoglobinalone v-if="activeName == 'second'"></hemoglobinalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import hemoglobinall from './hemoglobinall'
32
+import hemoglobinalone from './hemoglobinalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        hemoglobinall,
38
+        hemoglobinalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 209 - 0
src/xt_pages/Dialysisanalysis/nonnumerical.vue View File

@@ -0,0 +1,209 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <el-autocomplete
11
+            class="inline-input"
12
+            v-model="inputValue"
13
+            :fetch-suggestions="querySearch"
14
+            :trigger-on-focus="false"
15
+            placeholder="请输入患者名字或透析号"
16
+            @select="handleSubmit"
17
+            ></el-autocomplete>
18
+            <div>
19
+                <span>查询时间:</span>
20
+                <el-date-picker
21
+                v-model="stat_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <span>-</span>
26
+                <el-date-picker
27
+                v-model="end_time"
28
+                type="date"
29
+                placeholder="选择日期">
30
+                </el-date-picker>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-select v-model="value" placeholder="请选择">
40
+                    <el-option
41
+                    v-for="item in options"
42
+                    :key="item.value"
43
+                    :label="item.label"
44
+                    :value="item.value">
45
+                    </el-option>
46
+                </el-select>
47
+                <el-button type="primary">查询</el-button>
48
+            </div>
49
+            <div>
50
+                <el-button type="primary">打印</el-button>
51
+                <el-button type="primary">导出</el-button>
52
+            </div>
53
+          </div>
54
+       <div style="margin-bottom:20px;"> <h2>患者列表</h2></div>
55
+       <div >
56
+        <el-row :gutter="20">
57
+            <el-col :span="4">
58
+              <div class="grid-content bg-purple">
59
+                
60
+                <el-table
61
+                :data="tableData"
62
+                border
63
+                style="width: 100%">
64
+                    <el-table-column
65
+                        align="center"
66
+                        prop="date"
67
+                        label="透析号"
68
+                       >
69
+                    </el-table-column>
70
+                    <el-table-column
71
+                        align="center"
72
+                        prop="name"
73
+                        label="姓名"
74
+                        >
75
+                    </el-table-column>
76
+                </el-table>
77
+              </div>
78
+            </el-col>
79
+            <el-col :span="19">
80
+               <div class="grid-content bg-purple">
81
+                <el-table
82
+                    :data="tableData"
83
+                    style="width: 100%"
84
+                    border
85
+                    align="center"
86
+                    max-height="250">
87
+                    <el-table-column
88
+                    fixed
89
+                    prop="date"
90
+                    label="名字"
91
+                   >
92
+                    </el-table-column>
93
+                    <el-table-column
94
+                    prop="name"
95
+                    label="检查日期"
96
+                    >
97
+                    </el-table-column>
98
+                    <el-table-column
99
+                    prop="province"
100
+                    label="乙型肝炎病毒表面抗体(AntiHBs)"
101
+                    >
102
+                    </el-table-column>
103
+                    <el-table-column
104
+                    prop="province"
105
+                    label="参考值"
106
+                    >
107
+                    </el-table-column>
108
+                </el-table>
109
+               </div>
110
+           </el-col>
111
+        </el-row>
112
+       </div>
113
+        </div>
114
+      </div>
115
+    </div>
116
+</template>
117
+<script>
118
+export default{
119
+    data() {
120
+        return {
121
+            inputValue:'',
122
+            stat_time:'',
123
+            end_time:'',
124
+            value:'',
125
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
126
+            tableData:[],
127
+        }
128
+    },
129
+    created(){
130
+        
131
+    },
132
+    mounted() {
133
+        // this.$nextTick(function() {
134
+            // this.initEcharts();
135
+		// })  
136
+        // this.myChart = echarts.init(document.getElementById("germychart"));
137
+        //     this.myChart.setOption(option);
138
+            //随着屏幕大小调节图表
139
+            // window.addEventListener("resize", () => {
140
+            //     this.myChart.resize();
141
+            // });
142
+    },
143
+    methods:{
144
+        handleSubmit(){
145
+            console.log('asdfa');
146
+        },
147
+        // initEcharts() {
148
+        //     const option = {
149
+        //         xAxis: {
150
+        //             type: 'category',
151
+        //                 boundaryGap:true,
152
+        //                 axisTick:{
153
+        //                     alignWithLabel:true //保证刻度线和标签对齐
154
+        //                 },
155
+        //             data: this.xData,
156
+        //             splitNumber:this.xData.length, //纵坐标数
157
+        //             interval:this.xData //强制设置坐标轴分割间隔
158
+        //         },
159
+        //         yAxis: {
160
+        //             type: 'value',
161
+        //             boundaryGap: true,
162
+        //             splitNumber:4, //纵坐标数
163
+        //             interval:10 //强制设置坐标轴分割间隔
164
+        //         },
165
+        //         legend: {
166
+        //             show: true,
167
+        //             align:'left',//文字在前图标在后
168
+        //             left:'15%',
169
+        //             top:'5%',
170
+        //             data: [{name:'血红蛋白g/L'}]
171
+        //         },
172
+        //         series: [
173
+        //         {
174
+        //             data: this.opinionData,
175
+        //             name:'血红蛋白g/L',
176
+        //             type: "line",// 类型设置为折线图
177
+        //             symbol: 'circle',
178
+        //             itemStyle: {
179
+        //                 normal: {
180
+        //                     color: '#409eff', //改变折线点的颜色#a80000
181
+        //                     lineStyle: {
182
+        //                         color: '#409eff' //改变折线颜色
183
+        //                     }
184
+        //                 }
185
+        //             },
186
+
187
+        //         },
188
+                
189
+        //         ],
190
+                
191
+        //     };
192
+        //     this.myChart = echarts.init(document.getElementById("germychart"));
193
+        //     this.myChart.setOption(option);
194
+        //     //随着屏幕大小调节图表
195
+        //     window.addEventListener("resize", () => {
196
+        //         this.myChart.resize();
197
+        //     });
198
+        // },
199
+    },
200
+    
201
+}
202
+</script>
203
+<style lang="scss" scoped>
204
+.content_top{
205
+    display: flex;
206
+    justify-content: space-around;
207
+    margin: 20px;
208
+}
209
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 其他指标 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <otherall v-if="activeName == 'first'"></otherall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <otheralone v-if="activeName == 'second'"></otheralone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import otherall from './otherall.vue'
32
+import otheralone from './otheralone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        otherall,
38
+        otheralone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 249 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/otherall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="白蛋白"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/otherIndicators/otheralone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="白蛋白(g/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'白蛋白g/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'白蛋白g/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 102 - 0
src/xt_pages/Dialysisanalysis/platelets/index.vue View File

@@ -0,0 +1,102 @@
1
+<!-- 血小板-->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <plateletsall v-if="activeName == 'first'"></plateletsall>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <plateletsalone v-if="activeName == 'second'"></plateletsalone>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import plateletsall from './plateletsall'
32
+import plateletsalone from './plateletsalone.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        plateletsall,
38
+        plateletsalone
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first'
43
+        }
44
+    },
45
+    methods:{
46
+      handleClick(tab, event) {
47
+        console.log(tab, event);
48
+      }
49
+    }
50
+}
51
+</script>
52
+
53
+<style lang="scss" scoped>
54
+// .page_patientControlAnalysis {
55
+
56
+// .pointTitle {
57
+//   font-size: 13px;
58
+// }
59
+
60
+// .chartTitle {
61
+//   font-size: 16px;
62
+//   font-weight: bold;
63
+//   color: #000000;
64
+// }
65
+
66
+// .point {
67
+//   width: 13px;
68
+//   height: 13px;
69
+//   background: linear-gradient(
70
+//       0deg,
71
+//       rgba(169, 224, 243, 1),
72
+//       rgba(159, 189, 252, 1)
73
+//   );
74
+//   border-radius: 7px;
75
+//   margin-right: 8px;
76
+// }
77
+
78
+// .pointTitle {
79
+//   font-size: 13px;
80
+// }
81
+
82
+// }
83
+
84
+</style>
85
+
86
+<style lang="scss">
87
+// .page_patientControlAnalysis {
88
+
89
+// .el-form-item {
90
+//   margin-bottom: 0;
91
+// }
92
+
93
+// .cell {
94
+//   text-align: center;
95
+// }
96
+
97
+// ::-webkit-scrollbar {
98
+//   height: 15px !important;
99
+// }
100
+
101
+// }
102
+</style>

+ 249 - 0
src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue View File

@@ -0,0 +1,249 @@
1
+<template>
2
+    <div>
3
+        <!-- <div class="content_top">
4
+            <div class="block">
5
+                <span>查询时间:</span>
6
+                <el-date-picker
7
+                v-model="time_month"
8
+                type="month"
9
+                placeholder="选择月">
10
+                </el-date-picker>
11
+            </div>
12
+            <div>
13
+                <el-date-picker
14
+                v-model="stat_time"
15
+                type="date"
16
+                placeholder="选择日期">
17
+                </el-date-picker>
18
+                <span>-</span>
19
+                <el-date-picker
20
+                v-model="end_time"
21
+                type="date"
22
+                placeholder="选择日期">
23
+                </el-date-picker>
24
+            </div>
25
+            <div style="width: 200px;">
26
+                <el-input v-model="input" placeholder="请输入内容"></el-input>
27
+            </div>
28
+            <el-button type="primary">查询</el-button>
29
+        </div> -->
30
+        
31
+        <el-row :gutter="20">
32
+        <el-col :span="5"> 
33
+          <div class="block">
34
+            <span>查询时间:</span>
35
+            <el-date-picker
36
+            v-model="time_month"
37
+            type="month"
38
+            placeholder="选择月">
39
+            </el-date-picker>
40
+          </div>
41
+        </el-col>
42
+        <el-col :span="8">
43
+          <div>
44
+            <el-date-picker
45
+            v-model="stat_time"
46
+            type="date"
47
+            placeholder="选择日期">
48
+            </el-date-picker>
49
+            <span>-</span>
50
+            <el-date-picker
51
+            v-model="end_time"
52
+            type="date"
53
+            placeholder="选择日期">
54
+            </el-date-picker>
55
+          </div>
56
+        </el-col>
57
+        <el-col :span="3">
58
+          <div style="width: 200px;">
59
+            <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+          </div>
61
+        </el-col>
62
+        <el-col :span="2">
63
+            <el-button type="primary">查询</el-button>
64
+        </el-col>
65
+        </el-row>
66
+        
67
+        <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+          <p class="chartTitle">统计图</p>
69
+        </div>
70
+        <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+        <div style="width: 80%;margin: auto;">
72
+            <el-table
73
+            :data="tableData"
74
+            :show-summary = true
75
+            border
76
+            style="width: 100%;">
77
+                <el-table-column
78
+                    prop="date"
79
+                    align="center"
80
+                    label="血小板"
81
+                    >
82
+                </el-table-column>
83
+                <el-table-column
84
+                    prop="name"
85
+                    
86
+                    label="人数"
87
+                    >
88
+                </el-table-column>
89
+                <el-table-column
90
+                    prop="address"
91
+                    align="center"
92
+                    label="操作">
93
+                    <template slot-scope="scope">
94
+                        <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                                type="text" >查看详情
96
+                        </el-button>
97
+                    </template>
98
+                </el-table-column>
99
+            </el-table>
100
+        </div>
101
+    </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+    props: {
107
+   
108
+    width: {
109
+      type: String,
110
+      default: "100%"
111
+    },
112
+    height: {
113
+      type: String,
114
+      default: "400px"
115
+    },
116
+    
117
+  },
118
+    data() {
119
+        return {
120
+            time_month:'',
121
+            stat_time:'',
122
+            end_time:'',
123
+            input:'',
124
+            myChart: {},
125
+            pieData : [
126
+            {
127
+          value: 463,
128
+          name: "不达标值患者"
129
+        },
130
+        {
131
+          value: 395,
132
+          name: "未检查患者"
133
+        },
134
+        {
135
+          value: 157,
136
+          name: "达标值患者"
137
+        },
138
+        // {
139
+        //   value: 149,
140
+        //   name: "广东"
141
+        // },
142
+        // {
143
+        //   value: 147,
144
+        //   name: "湖南"
145
+        // }
146
+            
147
+            ],
148
+            pieName: [],
149
+            // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+            tableData:[],
151
+        }
152
+    },
153
+    mounted() {
154
+    this.initDate(); //数据初始化
155
+    this.initEcharts();
156
+  },
157
+  methods: {
158
+    initDate() {
159
+      for (let i = 0; i < this.pieData.length; i++) {
160
+        this.pieName[i] = this.pieData[i].name;
161
+      }
162
+    },
163
+    initEcharts() {
164
+      // 饼图
165
+      const option = {
166
+        legend: {
167
+          // 图例
168
+          data: this.pieName,
169
+          left: "10%",
170
+          top: "30%",
171
+          orient: "vertical"
172
+        },
173
+        color:['#ff7f9f','#fff67f','#1e5feb'],
174
+        title: {
175
+          // 设置饼图标题,位置设为顶部居中
176
+        //   text: "国内院士前五省份图示",
177
+          top: "0%",
178
+          left: "center"
179
+        },
180
+        series: [
181
+          {
182
+            type: "pie",
183
+            label: {
184
+              show: true,
185
+              formatter:"{b} : {d}% ({c})"
186
+              // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
187
+            },
188
+            radius: "65%", //饼图半径
189
+            data: this.pieData
190
+          }
191
+        ]
192
+      };
193
+    //   console.log(this.seriesData);
194
+      const optionFree = {
195
+        series: [
196
+          {
197
+            data: this.seriesData,
198
+            type: "line",
199
+            smooth: true
200
+          }
201
+        ]
202
+      };
203
+      this.myChart = echarts.init(document.getElementById("mychart"));
204
+      this.myChart.setOption(option);
205
+      //随着屏幕大小调节图表
206
+      window.addEventListener("resize", () => {
207
+        this.myChart.resize();
208
+      });
209
+    },
210
+    getSummaries(param) {
211
+        const { columns, data } = param;
212
+        const sums = [];
213
+        columns.forEach((column, index) => {
214
+          if (index === 0) {
215
+            sums[index] = '总价';
216
+            return;
217
+          }
218
+          const values = data.map(item => Number(item[column.property]));
219
+          if (!values.every(value => isNaN(value))) {
220
+            sums[index] = values.reduce((prev, curr) => {
221
+              const value = Number(curr);
222
+              if (!isNaN(value)) {
223
+                return prev + curr;
224
+              } else {
225
+                return prev;
226
+              }
227
+            }, 0);
228
+            sums[index] += ' 元';
229
+          } else {
230
+            sums[index] = 'N/A';
231
+          }
232
+        });
233
+
234
+        return sums;
235
+    },
236
+    handleClick(id){
237
+        console.log(id);
238
+    }
239
+  }
240
+
241
+}
242
+</script>
243
+<style lang="scss" scoped>
244
+.content_top{
245
+    display: flex;
246
+    justify-content: space-around;
247
+    color: #1e5feb;
248
+}
249
+</style>

+ 217 - 0
src/xt_pages/Dialysisanalysis/platelets/plateletsalone.vue View File

@@ -0,0 +1,217 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="血小板(/L)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            myChart: {},
131
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
132
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
133
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
134
+            tableData:[],
135
+        }
136
+    },
137
+    created(){
138
+        
139
+    },
140
+    mounted() {
141
+        // this.$nextTick(function() {
142
+            this.initEcharts();
143
+		// })  
144
+        // this.myChart = echarts.init(document.getElementById("germychart"));
145
+        //     this.myChart.setOption(option);
146
+            //随着屏幕大小调节图表
147
+            window.addEventListener("resize", () => {
148
+                this.myChart.resize();
149
+            });
150
+    },
151
+    methods:{
152
+        handleSubmit(){
153
+            console.log('asdfa');
154
+        },
155
+        initEcharts() {
156
+            const option = {
157
+                xAxis: {
158
+                    type: 'category',
159
+                        boundaryGap:true,
160
+                        axisTick:{
161
+                            alignWithLabel:true //保证刻度线和标签对齐
162
+                        },
163
+                    data: this.xData,
164
+                    splitNumber:this.xData.length, //纵坐标数
165
+                    interval:this.xData //强制设置坐标轴分割间隔
166
+                },
167
+                yAxis: {
168
+                    type: 'value',
169
+                    boundaryGap: true,
170
+                    splitNumber:4, //纵坐标数
171
+                    interval:10 //强制设置坐标轴分割间隔
172
+                },
173
+                legend: {
174
+                    show: true,
175
+                    align:'left',//文字在前图标在后
176
+                    left:'15%',
177
+                    top:'5%',
178
+                    data: [{name:'血小板/L'}]
179
+                },
180
+                series: [
181
+                {
182
+                    data: this.opinionData,
183
+                    name:'血小板/L',
184
+                    type: "line",// 类型设置为折线图
185
+                    symbol: 'circle',
186
+                    itemStyle: {
187
+                        normal: {
188
+                            color: '#409eff', //改变折线点的颜色#a80000
189
+                            lineStyle: {
190
+                                color: '#409eff' //改变折线颜色
191
+                            }
192
+                        }
193
+                    },
194
+
195
+                },
196
+                
197
+                ],
198
+                
199
+            };
200
+            this.myChart = echarts.init(document.getElementById("germychart"));
201
+            this.myChart.setOption(option);
202
+            //随着屏幕大小调节图表
203
+            window.addEventListener("resize", () => {
204
+                this.myChart.resize();
205
+            });
206
+        },
207
+    },
208
+    
209
+}
210
+</script>
211
+<style lang="scss" scoped>
212
+.content_top{
213
+    display: flex;
214
+    justify-content: space-around;
215
+    margin-bottom: 20px;
216
+}
217
+</style>

+ 243 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/individual.vue View File

@@ -0,0 +1,243 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="甲状旁腺激素(pg/ml)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            querySearch:'',
131
+            tableData:[],
132
+            options:[],
133
+            myChartTwo: {},
134
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
135
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
136
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
137
+            
138
+        }
139
+    },
140
+    created(){
141
+        
142
+       
143
+    },
144
+    mounted() {
145
+        // this.$nextTick(function() {
146
+            this.initEcharts();
147
+            // this.myChartTwo = echarts.init(document.getElementById("germychart"));
148
+            // this.myChartTwo.setOption(option);
149
+            // // //随着屏幕大小调节图表
150
+            // window.addEventListener("resize", () => {
151
+            //     console.log('asdfgfdhdgfdghdffgasda');
152
+            //     this.myChartTwo.resize();
153
+            // });
154
+            
155
+            // window.onresize = this.myChartTwo.resize;
156
+		// })  
157
+    },
158
+    // beforeDestroy(){
159
+    //     window.addEventListener("resize", () => {
160
+    //         this.myChartTwo.resize();
161
+    //     });
162
+    //     const quality = document.getElementById("germychart");
163
+    //     quality.addEventListener("transitionend", this.__resizeHanlder);
164
+    // },
165
+    methods:{
166
+        handleSubmit(){
167
+            console.log('asdfa');
168
+            this.querySearch
169
+        },
170
+        initEcharts() {
171
+            this.myChartTwo = echarts.init(document.getElementById("germychart"));
172
+            console.log('zxczvbbnm,m');
173
+            const option = {
174
+                xAxis: {
175
+                    type: 'category',
176
+                        boundaryGap:true,
177
+                        axisTick:{
178
+                            alignWithLabel:true //保证刻度线和标签对齐
179
+                        },
180
+                    data: this.xData,
181
+                    splitNumber:this.xData.length, //纵坐标数
182
+                    interval:this.xData //强制设置坐标轴分割间隔
183
+                },
184
+                yAxis: {
185
+                    type: 'value',
186
+                    boundaryGap: true,
187
+                    splitNumber:4, //纵坐标数
188
+                    interval:10 //强制设置坐标轴分割间隔
189
+                },
190
+                legend: {
191
+                    // show: true,
192
+                    align:'left',//文字在前图标在后
193
+                    left:'15%',
194
+                    top:'5%',
195
+                    data: [{name:'甲状旁腺激素 pg/ml'}]
196
+                },
197
+                grid:{
198
+                    show:true,
199
+                    left: "5%",
200
+                    right: "5%",
201
+                    bottom: "5%"
202
+                },
203
+                series: [
204
+                {
205
+                    data: this.opinionData,
206
+                    name:'甲状旁腺激素 pg/ml',
207
+                    type: "line",// 类型设置为折线图
208
+                    symbol: 'circle',
209
+                    itemStyle: {
210
+                        normal: {
211
+                            color: '#409eff', //改变折线点的颜色#a80000
212
+                            lineStyle: {
213
+                                color: '#409eff' //改变折线颜色
214
+                            }
215
+                        }
216
+                    },
217
+
218
+                },
219
+                
220
+                ],
221
+                
222
+            };
223
+            
224
+            this.myChartTwo.setOption(option);
225
+            // //随着屏幕大小调节图表
226
+            window.addEventListener("resize", () => {
227
+                console.log('123456788');
228
+                this.myChartTwo.resize();
229
+            });
230
+            
231
+            // window.onresize = this.myChartTwo.resize;
232
+        },
233
+    },
234
+    
235
+}
236
+</script>
237
+<style lang="scss" scoped>
238
+.content_top{
239
+    display: flex;
240
+    justify-content: space-around;
241
+    margin-bottom: 20px;
242
+}
243
+</style>

+ 103 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/thyroidGland.vue View File

@@ -0,0 +1,103 @@
1
+<!-- 甲状旁腺激素分析 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <totalSstatistics v-if="activeName == 'first'"></totalSstatistics>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <individual v-if="activeName == 'second'"></individual>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import totalSstatistics from './totalSstatistics.vue'
32
+import individual from './individual.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        totalSstatistics,
38
+        individual
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first',
43
+          
44
+        }
45
+    },
46
+    methods:{
47
+      handleClick(tab, event) {
48
+        console.log(tab, event);
49
+      }
50
+    }
51
+}
52
+</script>
53
+
54
+<style lang="scss" scoped>
55
+// .page_patientControlAnalysis {
56
+
57
+// .pointTitle {
58
+//   font-size: 13px;
59
+// }
60
+
61
+// .chartTitle {
62
+//   font-size: 16px;
63
+//   font-weight: bold;
64
+//   color: #000000;
65
+// }
66
+
67
+// .point {
68
+//   width: 13px;
69
+//   height: 13px;
70
+//   background: linear-gradient(
71
+//       0deg,
72
+//       rgba(169, 224, 243, 1),
73
+//       rgba(159, 189, 252, 1)
74
+//   );
75
+//   border-radius: 7px;
76
+//   margin-right: 8px;
77
+// }
78
+
79
+// .pointTitle {
80
+//   font-size: 13px;
81
+// }
82
+
83
+// }
84
+
85
+</style>
86
+
87
+<style lang="scss">
88
+// .page_patientControlAnalysis {
89
+
90
+// .el-form-item {
91
+//   margin-bottom: 0;
92
+// }
93
+
94
+// .cell {
95
+//   text-align: center;
96
+// }
97
+
98
+// ::-webkit-scrollbar {
99
+//   height: 15px !important;
100
+// }
101
+
102
+// }
103
+</style>

+ 255 - 0
src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue View File

@@ -0,0 +1,255 @@
1
+
2
+<template>
3
+  <div>
4
+      <!-- <div class="content_top">
5
+          <div class="block">
6
+              <span>查询时间:</span>
7
+              <el-date-picker
8
+              v-model="time_month"
9
+              type="month"
10
+              placeholder="选择月">
11
+              </el-date-picker>
12
+          </div>
13
+          <div>
14
+              <el-date-picker
15
+              v-model="stat_time"
16
+              type="date"
17
+              placeholder="选择日期">
18
+              </el-date-picker>
19
+              <span>-</span>
20
+              <el-date-picker
21
+              v-model="end_time"
22
+              type="date"
23
+              placeholder="选择日期">
24
+              </el-date-picker>
25
+          </div>
26
+          <div style="width: 200px;">
27
+              <el-input v-model="input" placeholder="请输入内容"></el-input>
28
+          </div>
29
+          <el-button type="primary">查询</el-button>
30
+      </div> -->
31
+      <el-row :gutter="20">
32
+      <el-col :span="5"> 
33
+        <div class="block">
34
+          <span>查询时间:</span>
35
+          <el-date-picker
36
+          v-model="time_month"
37
+          type="month"
38
+          placeholder="选择月">
39
+          </el-date-picker>
40
+        </div>
41
+      </el-col>
42
+      <el-col :span="8">
43
+        <div>
44
+          <el-date-picker
45
+          v-model="stat_time"
46
+          type="date"
47
+          placeholder="选择日期">
48
+          </el-date-picker>
49
+          <span>-</span>
50
+          <el-date-picker
51
+          v-model="end_time"
52
+          type="date"
53
+          placeholder="选择日期">
54
+          </el-date-picker>
55
+        </div>
56
+      </el-col>
57
+      <el-col :span="3">
58
+        <div style="width: 200px;">
59
+          <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+        </div>
61
+      </el-col>
62
+      <el-col :span="2">
63
+          <el-button type="primary">查询</el-button>
64
+      </el-col>
65
+      </el-row>
66
+      
67
+      <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+        <p class="chartTitle">统计图</p>
69
+      </div>
70
+      <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+      <div style="width: 80%;margin: auto;">
72
+          <el-table
73
+          :data="tableData"
74
+          :show-summary = true
75
+          border
76
+          style="width: 100%;">
77
+              <el-table-column
78
+                  prop="date"
79
+                  align="center"
80
+                  label="甲状旁腺激素"
81
+                  >
82
+              </el-table-column>
83
+              <el-table-column
84
+                  prop="name"
85
+                  
86
+                  label="人数"
87
+                  >
88
+              </el-table-column>
89
+              <el-table-column
90
+                  prop="address"
91
+                  align="center"
92
+                  label="操作">
93
+                  <template slot-scope="scope">
94
+                      <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                              type="text" >查看详情
96
+                      </el-button>
97
+                  </template>
98
+              </el-table-column>
99
+          </el-table>
100
+      </div>
101
+  </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+  props: {
107
+ 
108
+  width: {
109
+    type: String,
110
+    default: "100%"
111
+  },
112
+  height: {
113
+    type: String,
114
+    default: "400px"
115
+  },
116
+  
117
+},
118
+  data() {
119
+      return {
120
+          time_month:'',
121
+          stat_time:'',
122
+          end_time:'',
123
+          input:'',
124
+          myChart: {},
125
+          pieData : [
126
+          {
127
+        value: 463,
128
+        name: "不达标值患者"
129
+      },
130
+      {
131
+        value: 395,
132
+        name: "未检查患者"
133
+      },
134
+      {
135
+        value: 157,
136
+        name: "达标值患者"
137
+      },
138
+      // {
139
+      //   value: 149,
140
+      //   name: "广东"
141
+      // },
142
+      // {
143
+      //   value: 147,
144
+      //   name: "湖南"
145
+      // }
146
+          
147
+          ],
148
+          pieName: [],
149
+          // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+          tableData:[],
151
+      }
152
+  },
153
+  mounted() {
154
+  this.initDate(); //数据初始化
155
+  this.initEcharts();
156
+},
157
+methods: {
158
+  initDate() {
159
+    for (let i = 0; i < this.pieData.length; i++) {
160
+      this.pieName[i] = this.pieData[i].name;
161
+    }
162
+  },
163
+  initEcharts() {
164
+    // 饼图
165
+    this.myChart = echarts.init(document.getElementById("mychart"));
166
+    window.addEventListener("resize", () => {
167
+      console.log('098765adsfghg');
168
+      this.myChart.resize();
169
+    });
170
+    console.log('09876543454676');
171
+    const option = {
172
+      legend: {
173
+        // 图例
174
+        data: this.pieName,
175
+        left: "10%",
176
+        top: "30%",
177
+        orient: "vertical"
178
+      },
179
+      color:['#ff7f9f','#fff67f','#1e5feb'],
180
+      title: {
181
+        // 设置饼图标题,位置设为顶部居中
182
+      //   text: "国内院士前五省份图示",
183
+        top: "0%",
184
+        left: "center"
185
+      },
186
+      series: [
187
+        {
188
+          type: "pie",
189
+          label: {
190
+            show: true,
191
+            formatter:"{b} : {d}% ({c})"
192
+            // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+          },
194
+          radius: "65%", //饼图半径
195
+          data: this.pieData
196
+        }
197
+      ]
198
+    };
199
+  //   console.log(this.seriesData);
200
+    const optionFree = {
201
+      series: [
202
+        {
203
+          data: this.seriesData,
204
+          type: "line",
205
+          smooth: true
206
+        }
207
+      ]
208
+    };
209
+    this.myChart = echarts.init(document.getElementById("mychart"));
210
+    this.myChart.setOption(option);
211
+    //随着屏幕大小调节图表
212
+  //   window.addEventListener("resize", () => {
213
+  //     this.myChart.resize();
214
+  //   });
215
+  },
216
+  getSummaries(param) {
217
+      const { columns, data } = param;
218
+      const sums = [];
219
+      columns.forEach((column, index) => {
220
+        if (index === 0) {
221
+          sums[index] = '总价';
222
+          return;
223
+        }
224
+        const values = data.map(item => Number(item[column.property]));
225
+        if (!values.every(value => isNaN(value))) {
226
+          sums[index] = values.reduce((prev, curr) => {
227
+            const value = Number(curr);
228
+            if (!isNaN(value)) {
229
+              return prev + curr;
230
+            } else {
231
+              return prev;
232
+            }
233
+          }, 0);
234
+          sums[index] += ' 元';
235
+        } else {
236
+          sums[index] = 'N/A';
237
+        }
238
+      });
239
+
240
+      return sums;
241
+  },
242
+  handleClick(id){
243
+      console.log(id);
244
+  }
245
+}
246
+
247
+}
248
+</script>
249
+<style lang="scss" scoped>
250
+.content_top{
251
+  display: flex;
252
+  justify-content: space-around;
253
+  color: #1e5feb;
254
+}
255
+</style>

+ 3 - 0
src/xt_pages/data/components/dialysisAfter.vue View File

@@ -55,6 +55,7 @@
55 55
               type="primary"
56 56
               icon="el-icon-view"
57 57
               @click="handleShow(scope.$index, scope.row)"
58
+
58 59
             >
59 60
             </el-button>
60 61
             
@@ -64,12 +65,14 @@
64 65
               type="danger"
65 66
               icon="el-icon-remove-outline"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
68
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 69
             >
68 70
             </el-button>
69 71
 
70 72
            
71 73
             <el-button
72 74
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
75
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
73 76
               size="small"
74 77
               type="primary"
75 78
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisBefore.vue View File

@@ -63,11 +63,13 @@
63 63
               size="small"
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
67 68
             >
68 69
             </el-button>
69 70
 
70 71
             <el-button
72
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
71 73
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
72 74
               size="small"
73 75
               type="primary"

+ 2 - 0
src/xt_pages/data/components/dialysisComputer.vue View File

@@ -64,12 +64,14 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
70 71
             
71 72
             <el-button
72 73
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
74
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
73 75
               size="small"
74 76
               type="primary"
75 77
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisMonitor.vue View File

@@ -64,6 +64,7 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
@@ -74,6 +75,7 @@
74 75
               type="primary"
75 76
               icon="el-icon-view"
76 77
               @click="handleShowOne(scope.$index, scope.row)"
78
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
77 79
             >
78 80
             </el-button>
79 81
         </template>

+ 2 - 0
src/xt_pages/data/components/dialysisOff.vue View File

@@ -59,6 +59,7 @@
59 59
 
60 60
             <el-button
61 61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
62
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
62 63
               size="small"
63 64
               type="danger"
64 65
               icon="el-icon-remove-outline"
@@ -69,6 +70,7 @@
69 70
            
70 71
             <el-button
71 72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
73
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
72 74
               size="small"
73 75
               type="primary"
74 76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/dialysisPrescription.vue View File

@@ -64,6 +64,7 @@
64 64
               size="small"
65 65
               type="danger"
66 66
               icon="el-icon-remove-outline"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
               @click="handleHideOne(scope.$index, scope.row)"
68 69
             >
69 70
             </el-button>
@@ -73,6 +74,7 @@
73 74
               size="small"
74 75
               type="primary"
75 76
               icon="el-icon-view"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
               @click="handleShowOne(scope.$index, scope.row)"
77 79
             >
78 80
             </el-button>

+ 2 - 0
src/xt_pages/data/components/dialysisSummary.vue View File

@@ -59,6 +59,7 @@
59 59
             </el-button>
60 60
             <el-button
61 61
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 1"
62
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
62 63
               size="small"
63 64
               type="danger"
64 65
               icon="el-icon-remove-outline"
@@ -69,6 +70,7 @@
69 70
             
70 71
             <el-button
71 72
               v-if="scope.row.is_write!=undefined&&scope.row.is_write == 0"
73
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
72 74
               size="small"
73 75
               type="primary"
74 76
               icon="el-icon-view"

+ 2 - 0
src/xt_pages/data/components/doubleCheck.vue View File

@@ -64,6 +64,7 @@
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66 66
               @click="handleHideOne(scope.$index, scope.row)"
67
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
67 68
             >
68 69
             </el-button>
69 70
 
@@ -73,6 +74,7 @@
73 74
               type="primary"
74 75
               icon="el-icon-view"
75 76
               @click="handleShowOne(scope.$index, scope.row)"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
             >
77 79
             </el-button>
78 80
         </template>

+ 2 - 0
src/xt_pages/data/components/receiveTreatmentAsses.vue View File

@@ -63,6 +63,7 @@
63 63
               size="small"
64 64
               type="danger"
65 65
               icon="el-icon-remove-outline"
66
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
66 67
               @click="handleHideOne(scope.$index, scope.row)"
67 68
             >
68 69
             </el-button>
@@ -73,6 +74,7 @@
73 74
               size="small"
74 75
               type="primary"
75 76
               icon="el-icon-view"
77
+              :disabled="scope.row.is_second_menu!=undefined&&scope.row.is_second_menu ==0?false:true"
76 78
               @click="handleShowOne(scope.$index, scope.row)"
77 79
             >
78 80
             </el-button>

+ 1 - 1
src/xt_pages/device/airDisinfectTwo.vue View File

@@ -910,7 +910,7 @@
910 910
           start_time:[{required:true,message:"请选择开始时间",trigger:"blur"}],
911 911
           end_time:[{required:true,message:"请选择结束时间",trigger:"blur"}]
912 912
          },
913
-         limit:20,
913
+         limit:10,
914 914
          page:1,
915 915
          total:0,
916 916
          tableData: [],

+ 13 - 3
src/xt_pages/device/objectTableDisinfectTwo.vue View File

@@ -129,9 +129,10 @@
129 129
               style="margin-top:20px;float: right"
130 130
               layout="total, sizes, prev, pager, next, jumper"
131 131
               :total="total"
132
+              @size-change="handleSizeChange"
133
+              @current-change="handleCurrentChange"
132 134
           >
133
-          <!-- @size-change="handleSizeChange"
134
-              @current-change="handleCurrentChange" -->
135
+            
135 136
           </el-pagination>
136 137
          </div>
137 138
 
@@ -1149,7 +1150,7 @@
1149 1150
           start_time:[{required:true,message:"请选择开始时间",trigger:"blur"}],
1150 1151
           end_time:[{required:true,message:"请选择结束时间",trigger:"blur"}]
1151 1152
          },
1152
-         limit:20,
1153
+         limit:10,
1153 1154
          page:1,
1154 1155
          total:0,
1155 1156
          tableData: [],
@@ -1590,6 +1591,15 @@
1590 1591
            // return ''
1591 1592
            // }
1592 1593
        },
1594
+
1595
+       handleSizeChange(val) {
1596
+        this.limit = val;
1597
+        this.getObjectTableDisInfectList()
1598
+      },
1599
+      handleCurrentChange(val) {
1600
+        this.page = val;
1601
+        this.getObjectTableDisInfectList()
1602
+      },
1593 1603
         
1594 1604
       }
1595 1605
     }

+ 1 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree.vue View File

@@ -1147,7 +1147,7 @@ export default {
1147 1147
       "hemodialysis",
1148 1148
       "vascular_access_desc"
1149 1149
     );
1150
-    console.log("z=============",this.bloodAccessParOperaList)
1150
+   
1151 1151
     this.way_arr = getDataConfig("hemodialysis", "way");
1152 1152
     this.consciousness_arr = getDataConfig("hemodialysis", "consciousness");
1153 1153
     this.appetite_arr = getDataConfig("hemodialysis", "appetite");

+ 27 - 6
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue View File

@@ -894,7 +894,7 @@
894 894
                       style="padding: 2px 0; line-height: 23px; display: flex"
895 895
                     >
896 896
                       <div class="inline_block" style="flex: 1"
897
-                        v-if="org_id!=10440 && org_id!=0 && org_id!=10469">
897
+                        v-if="org_id!=10440 && org_id!=0 && org_id!=10469 && org_id!=10490 && org_id!=10478 && org_id!=10495">
898 898
                         上次透后体重:
899 899
                         <div
900 900
                           class="under_line"
@@ -920,7 +920,7 @@
920 920
                       </div>
921 921
 
922 922
                       <div class="inline_block" style="flex: 1"
923
-                        v-if="org_id!=10440 && org_id ==0 || org_id!=10469">
923
+                        v-if="org_id==10440 && org_id ==0 || org_id==10469 || org_id==10490 || org_id==10478  || org_id==10495">
924 924
                         上次透后体重:
925 925
                         <div
926 926
                           class="under_line"
@@ -1326,11 +1326,19 @@
1326 1326
                           <td
1327 1327
                             width="50"
1328 1328
                             v-if="
1329
-                              org_id == 10121 || org_id == 9675 || org_id == 0
1329
+                              org_id == 10121 || org_id == 9675 
1330 1330
                             "
1331 1331
                           >
1332 1332
                             SpO₂<br />(%)
1333 1333
                           </td>
1334
+                          <td
1335
+                            width="50"
1336
+                            v-if="
1337
+                              org_id == 0 || org_id ==  10469
1338
+                            "
1339
+                          >
1340
+                            钠浓度<br />(mmol/L)
1341
+                          </td>
1334 1342
                           <td width="50" v-if="org_id != 0 && org_id != 3877 && org_id != 10449">超滤量<br />(ml)</td>
1335 1343
                           <td width="50" v-if="org_id ==0 || org_id ==3877 || org_id ==10449">累计超滤量<br />(ml)</td>
1336 1344
                           <td
@@ -1445,8 +1453,9 @@
1445 1453
                             v-if="
1446 1454
                               org_id != 9538 &&
1447 1455
                               org_id != 10121 &&
1448
-                              org_id != 9675 &&
1449
-                              org_id != 0
1456
+                              org_id != 9675 && 
1457
+                              org_id!=0
1458
+                             
1450 1459
                             "
1451 1460
                           >
1452 1461
                             {{
@@ -1458,7 +1467,7 @@
1458 1467
 
1459 1468
                           <td
1460 1469
                             v-if="
1461
-                              org_id == 10121 || org_id == 9675 || org_id == 0
1470
+                              org_id == 10121 || org_id == 9675 
1462 1471
                             "
1463 1472
                           >
1464 1473
                             {{
@@ -1468,6 +1477,18 @@
1468 1477
                             }}
1469 1478
                           </td>
1470 1479
 
1480
+                          <td
1481
+                            v-if="
1482
+                              org_id == 0 || org_id == 10469 
1483
+                            "
1484
+                          >
1485
+                            {{
1486
+                              monitor_record.sodium_concentration
1487
+                                ? monitor_record.sodium_concentration
1488
+                                : ""
1489
+                            }}
1490
+                          </td>
1491
+
1471 1492
                           <td v-if="org_id == 9538">
1472 1493
                             {{
1473 1494
                               monitor_record.sodium_concentration

+ 4 - 0
src/xt_pages/dialysis/components/consumablesDialog.vue View File

@@ -10,6 +10,8 @@
10 10
         style="width:150px;margin-right:10px"
11 11
         v-model="startTime"
12 12
         type="date"
13
+        format="yyyy-MM-dd"
14
+        value-format="yyyy-MM-dd"
13 15
         placeholder="选择日期"
14 16
         @change="selectStartime">
15 17
       </el-date-picker>
@@ -17,6 +19,8 @@
17 19
         style="width:150px;margin-right:10px"
18 20
         v-model="endTime"
19 21
         type="date"
22
+        format="yyyy-MM-dd"
23
+        value-format="yyyy-MM-dd"
20 24
         placeholder="选择日期"
21 25
         @change="selectEndtime">
22 26
       </el-date-picker>

+ 4 - 0
src/xt_pages/dialysis/components/dialysisDrugsDialog.vue View File

@@ -10,6 +10,8 @@
10 10
         style="width:140px;margin-right:10px"
11 11
         v-model="startTime"
12 12
         type="date"
13
+        format="yyyy-MM-dd"
14
+        value-format="yyyy-MM-dd"
13 15
         placeholder="选择日期"
14 16
         @change="changeStartTime">
15 17
         </el-date-picker>
@@ -17,6 +19,8 @@
17 19
         style="width:140px;margin-right:10px"
18 20
         v-model="endTime"
19 21
         type="date"
22
+        format="yyyy-MM-dd"
23
+        value-format="yyyy-MM-dd"
20 24
         placeholder="选择日期"
21 25
         @change="changeEndTime">
22 26
         </el-date-picker>

+ 4 - 0
src/xt_pages/dialysis/components/dialysisParametersDialog.vue View File

@@ -11,12 +11,16 @@
11 11
         v-model="startTime"
12 12
         type="date"
13 13
         placeholder="选择日期"
14
+        format="yyyy-MM-dd"
15
+        value-format="yyyy-MM-dd"
14 16
         @change="selectStartime">
15 17
         </el-date-picker>
16 18
         <el-date-picker
17 19
         style="width:150px;margin-right:10px"
18 20
         v-model="endTime"
19 21
         type="date"
22
+        format="yyyy-MM-dd"
23
+        value-format="yyyy-MM-dd"
20 24
         placeholder="选择日期">
21 25
         </el-date-picker>
22 26
         <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>

+ 1 - 1
src/xt_pages/dialysis/details/consumable/dialysisGoodPrint.vue View File

@@ -28,7 +28,7 @@
28 28
                 <td width="50">序号</td>
29 29
                 <td width="100">透析机号</td>
30 30
                 <td width="100">姓名</td>
31
-                <td width="100">透析号</td>
31
+                <td width="100">透析号</td>
32 32
                 <td width="200" v-for="(item,index) in rowList" :key="index">
33 33
                   {{item.filed_name_cn}} 
34 34
                 </td>

+ 180 - 68
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue View File

@@ -12,7 +12,8 @@
12 12
         <el-row :gutter="20">
13 13
           <el-col :span="8" v-if="isShow('实际治疗时长')">
14 14
             <el-form-item label="实际治疗时长(时):" prop="actualTreatmentHourShow" :rules="isCheckmust('实际治疗时长')">
15
-              <!-- <el-input v-model="form.actual_treatment_hour"></el-input> :prop="isName('实际治疗时长')"-->
15
+
16
+              <!-- <el-input v-model="form.actualTreatmentHourShow" @change="hours"></el-input>  :prop="isName('实际治疗时长')" -->
16 17
               <el-time-picker
17 18
                 v-model="form.actualTreatmentHourShow"
18 19
                 placeholder="透析时长"
@@ -28,7 +29,7 @@
28 29
           <el-col :span="8" v-if="isShow('实际超滤量')">
29 30
             <el-form-item
30 31
               label="实际超滤量(ml): " :prop="isName('实际超滤量')" :rules="isCheckmust('实际超滤量')"
31
-              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.template_id == 43 || this.template_id == 44 || this.template_id == 47 || this.template_id == 56 || this.template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10307 || this.$store.getters.xt_user.template_info.org_id == 10340 || this.$store.getters.xt_user.template_info.org_id == 9555 || this.$store.getters.xt_user.template_info.org_id == 10387 || this.$store.getters.xt_user.template_info.org_id == 10430 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10441 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410"  >
32
+              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.template_id == 43 || this.template_id == 44 || this.template_id == 47 || this.template_id == 56 || this.template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10307 || this.$store.getters.xt_user.template_info.org_id == 10340 || this.$store.getters.xt_user.template_info.org_id == 9555 || this.$store.getters.xt_user.template_info.org_id == 10387 || this.$store.getters.xt_user.template_info.org_id == 10430 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10441 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 ||  this.$store.getters.xt_user.template_info.org_id == 10485"  >
32 33
               <el-input v-model="form.actual_ultrafiltration"></el-input>
33 34
             </el-form-item>
34 35
             <el-form-item label="实际超滤量(L): " v-else :prop="isName('实际超滤量')" :rules="isCheckmust('实际超滤量')">
@@ -98,7 +99,7 @@
98 99
           </el-col>
99 100
 
100 101
           <el-col :span="8" v-if="isShow('透析过程')">
101
-            <el-form-item label="透析过程: " :prop="isName('透析过程')" :rules="isCheckmust('透析过程')">
102
+            <el-form-item label="透析过程: " :prop="isName('透析过程')" :rules="isCheckmust('透析过程')" placeholder='请选择'>
102 103
               <el-select v-model="form.dialysis_process">
103 104
                 <el-option :key="0" label="请选择" :value="0"></el-option>
104 105
 
@@ -146,7 +147,7 @@
146 147
           </el-col>
147 148
 
148 149
           <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血操作')">
149
-            <el-form-item label="内瘘管拔针后压迫止血操作: " :prop="isName('内瘘管拔针后压迫止血操作')" :rules="isCheckmust('内瘘管拔针后压迫止血操作')">
150
+            <el-form-item label="内瘘管拔针后压迫止血操作: " :prop="isName('内瘘管拔针后压迫止血操作')" :rules="isCheckmust('内瘘管拔针后压迫止血操作')" placeholder='请选择'>
150 151
               <el-select v-model="form.hemostasis_opera">
151 152
                 <el-option :key="0" label="请选择" :value="0"></el-option>
152 153
 
@@ -161,7 +162,7 @@
161 162
           </el-col>
162 163
 
163 164
           <el-col :span="8" v-if="isShow('动脉管道')">
164
-            <el-form-item label="动脉管道: " :prop="isName('动脉管道')" :rules="isCheckmust('动脉管道')">
165
+            <el-form-item label="动脉管道: " :prop="isName('动脉管道')" :rules="isCheckmust('动脉管道')" placeholder='请选择'>
165 166
               <el-select v-model="form.arterial_tube">
166 167
                 <el-option :key="0" label="请选择" :value="0"></el-option>
167 168
 
@@ -177,7 +178,7 @@
177 178
         </el-row>
178 179
         <el-row :gutter="20">
179 180
           <el-col :span="8" v-if="isShow('静脉管道')">
180
-            <el-form-item label="静脉管道: " :prop="isName('静脉管道')" :rules="isCheckmust('静脉管道')">
181
+            <el-form-item label="静脉管道: " :prop="isName('静脉管道')" :rules="isCheckmust('静脉管道')" placeholder='请选择'>
181 182
               <el-select v-model="form.intravenous_tube">
182 183
                 <el-option :key="0" label="请选择" :value="0"></el-option>
183 184
 
@@ -212,8 +213,8 @@
212 213
           </el-col>
213 214
 
214 215
           <el-col :span="8" v-if="isShow('患者去向')">
215
-            <el-form-item label="患者去向: " :prop="isName('患者去向')" :rules="isCheckmust('患者去向')">
216
-              <el-select v-model="form.patient_gose">
216
+            <el-form-item label="患者去向: " :prop="isName('患者去向')" :rules="isCheckmust('患者去向')" >
217
+              <el-select v-model="form.patient_gose" placeholder='请选择'>
217 218
                 <el-option :key="0" label="请选择" :value="0"></el-option>
218 219
                 <el-option
219 220
                   v-for="item in patientGoseOptions"
@@ -255,7 +256,7 @@
255 256
           "
256 257
         >
257 258
           <el-col :span="24">
258
-            <el-form-item label="交待病房护士/患者/陪人观察内容: " :prop="isName('交待病房护士/患者/陪人观察内容')" :rules="isCheckmust('交待病房护士/患者/陪人观察内容')">
259
+            <el-form-item label="交待病房护士/患者/陪人观察内容: " :prop="isName('交待病房护士/患者/陪人观察内容')" :rules="isCheckmust('交待病房护士/患者/陪人观察内容')" >
259 260
               <el-input
260 261
                 placeholder="交待病房护士/患者/陪人观察内容"
261 262
                 v-model="form.observation_content"
@@ -271,11 +272,13 @@
271 272
           :gutter="20"
272 273
           v-show="form.patient_gose == 3 && isShow('其他观察内容')"
273 274
         >
275
+        <!--   :prop="isName('其他观察内容')"-->
274 276
           <el-col :span="24">
275
-            <el-form-item label="其他观察内容: " :prop="isName('其他观察内容')" :rules="isCheckmust('其他观察内容')">
277
+            <el-form-item label="其他观察内容: "  prop="observation_content_other" :rules="isOther('其他观察内容')">
276 278
               <el-input
277 279
                 v-model="form.observation_content_other"
278 280
                 :rows="5"
281
+                @change="others"
279 282
               ></el-input>
280 283
             </el-form-item>
281 284
           </el-col>
@@ -353,8 +356,8 @@
353 356
         </el-col>
354 357
 
355 358
         <el-col :span="8" v-if="isShow('透析中入量单位')">
356
-          <el-form-item label="透析中入量单位: " :prop="isName('透析中入量单位')" :rules="isCheckmust('透析中入量单位')">
357
-            <el-select v-model="form.dialysis_intakes_unit">
359
+          <el-form-item label="透析中入量单位: " :prop="isName('透析中入量单位')" :rules="isCheckmust('透析中入量单位')" >
360
+            <el-select v-model="form.dialysis_intakes_unit" placeholder='请选择'>
358 361
               <el-option :key="0" label="请选择" :value="0"></el-option>
359 362
               <el-option
360 363
                 v-for="item in unit"
@@ -394,8 +397,8 @@
394 397
         </el-col>
395 398
 
396 399
         <el-col :span="8" v-if="isShow('血流量')">
397
-          <el-form-item label="血流量: " :prop="isName('血流量')" :rules="isCheckmust('血流量')">
398
-            <el-select v-model="form.blood_flow">
400
+          <el-form-item label="血流量: " :prop="isName('血流量')" :rules="isCheckmust('血流量')" >
401
+            <el-select v-model="form.blood_flow" placeholder='请选择'>
399 402
               <el-option :key="0" label="请选择" :value="0"></el-option>
400 403
               <el-option v-for="item in this.bloodFlowOptions" :label="item.name" :value="item.id" :key="item.id"></el-option>
401 404
             </el-select>
@@ -437,8 +440,8 @@
437 440
 
438 441
 
439 442
         <el-col :span="8" v-if="isShow('失衡综合症')">
440
-          <el-form-item label="失衡综合症: " :prop="isName('失衡综合症')" :rules="isCheckmust('失衡综合症')">
441
-            <el-select v-model="form.disequilibrium_syndrome">
443
+          <el-form-item label="失衡综合症: " :prop="isName('失衡综合症')" :rules="isCheckmust('失衡综合症')" >
444
+            <el-select v-model="form.disequilibrium_syndrome" placeholder='请选择'>
442 445
               <el-option :key="0" label="请选择" :value="0"></el-option>
443 446
 
444 447
               <el-option
@@ -473,8 +476,8 @@
473 476
         </el-col>
474 477
 
475 478
         <el-col :span="8" v-if="isShow('管路')">
476
-          <el-form-item label="管路: " :prop="isName('管路')" :rules="isCheckmust('管路')">
477
-            <el-select v-model="form.channel">
479
+          <el-form-item label="管路: " :prop="isName('管路')" :rules="isCheckmust('管路')" >
480
+            <el-select v-model="form.channel" placeholder='请选择'>
478 481
               <el-option :key="0" label="请选择" :value="0"></el-option>
479 482
               <el-option
480 483
                 v-for="item in channels"
@@ -505,23 +508,24 @@
505 508
             </el-form-item>
506 509
         </el-col>
507 510
         <el-col :span="8" v-if="isShow('透析相关高血压')">
508
-            <el-form-item label="透析相关高血压:" :prop="isName('透析相关高血压')" :rules="isCheckmust('透析相关高血压')">
511
+            <el-form-item label="透析相关高血压:" :prop="isName('透析相关高血压')" :rules="isCheckmust('透析相关高血压')" >
509 512
 
510
-             <el-select v-model="form.hypertenison">
513
+             <el-select v-model="form.hypertenison" placeholder='请选择' >
511 514
               <el-option :key="0" label="请选择" :value="0"></el-option>
512 515
               <el-option
513 516
                 v-for="item in option"
514 517
                 :label="item.name"
515 518
                 :value="item.id"
516 519
                 :key="item.id"
517
-              ></el-option>
520
+              >{{ item.name }}</el-option>
518 521
             </el-select>
519 522
             </el-form-item>
520 523
         </el-col>
521 524
 
522 525
          <el-col :span="8" v-if="isShow('透析相关低血压')">
523
-            <el-form-item label="透析相关低血压" :prop="isName('透析相关低血压')" :rules="isCheckmust('透析相关低血压')">
524
-             <el-select v-model="form.hypopiesia">
526
+            <el-form-item label="透析相关低血压" :prop="isName('透析相关低血压')" :rules="isCheckmust('透析相关低血压')" >
527
+             <el-select v-model="form.hypopiesia" placeholder='请选择'>
528
+              <el-option :key="0" label="请选择" :value="0"></el-option>
525 529
               <el-option
526 530
                 v-for="item in optionOne"
527 531
                 :label="item.name"
@@ -532,8 +536,9 @@
532 536
             </el-form-item>
533 537
         </el-col>
534 538
         <el-col :span="8" v-if="isShow('离科方式')">
535
-            <el-form-item label="离科方式" :prop="isName('离科方式')" :rules="isCheckmust('离科方式')">
536
-               <el-select v-model="form.leave_office_method">
539
+            <el-form-item label="离科方式" :prop="isName('离科方式')" :rules="isCheckmust('离科方式')" >
540
+               <el-select v-model="form.leave_office_method" placeholder='请选择'>
541
+                <el-option :key="0" label="请选择" :value="0"></el-option>
537 542
                 <el-option
538 543
                   v-for="item in leaveOfficeMethod"
539 544
                   :label="item.name"
@@ -544,8 +549,9 @@
544 549
             </el-form-item>
545 550
         </el-col>
546 551
          <el-col :span="8" v-if="isShow('转归')">
547
-            <el-form-item label="转归" :prop="isName('转归')" :rules="isCheckmust('转归')">
548
-             <el-select v-model="form.lapse">
552
+            <el-form-item label="转归" :prop="isName('转归')" :rules="isCheckmust('转归')" >
553
+             <el-select v-model="form.lapse" placeholder='请选择'>
554
+              <el-option :key="0" label="请选择" :value="0"></el-option>
549 555
               <el-option
550 556
                 v-for="item in lapseList"
551 557
                 :label="item.name"
@@ -557,19 +563,23 @@
557 563
         </el-col>
558 564
         <el-col :span="8" v-if="isShow('意识')">
559 565
             <el-form-item label="意识" :prop="isName('意识')" :rules="isCheckmust('意识')">
560
-             <el-select v-model="form.consciousness">
566
+             <el-select v-model="form.consciousness "    > 
567
+             <!-- v-if="form.consciousness ==' ' ? placeholder='请选择': form.consciousness " -->
568
+             <el-option label="请选择" :value="0"></el-option>
561 569
               <el-option
562 570
                 v-for="item in consciousnessList"
563 571
                 :label="item.name"
564
-                :value="item.id"
572
+                :value="item.id "
565 573
                 :key="item.id"
566 574
               ></el-option>
567 575
              </el-select>
576
+             
568 577
             </el-form-item>
569 578
         </el-col>
570 579
         <el-col :span="8" v-if="isShow('跌倒风险')">
571
-            <el-form-item label="跌倒风险" :prop="isName('跌倒风险')" :rules="isCheckmust('跌倒风险')">
572
-             <el-select v-model="form.fallrisk">
580
+            <el-form-item label="跌倒风险" :prop="isName('跌倒风险')" :rules="isCheckmust('跌倒风险')" >
581
+             <el-select v-model="form.fallrisk" placeholder='请选择'>
582
+              <el-option label="请选择" :value="0"></el-option>
573 583
               <el-option
574 584
                 v-for="item in fallriskList"
575 585
                 :label="item.name"
@@ -581,8 +591,8 @@
581 591
         </el-col>
582 592
 
583 593
       <el-col :span="8" v-if="isShow('机器运行')">
584
-            <el-form-item label="机器运行: " :prop="isName('机器运行')" :rules="isCheckmust('机器运行')">
585
-              <el-select v-model="form.machine_run">
594
+            <el-form-item label="机器运行: " :prop="isName('机器运行')" :rules="isCheckmust('机器运行')" >
595
+              <el-select v-model="form.machine_run" placeholder='请选择'>
586 596
                 <el-option :key="0" label="请选择" :value="0"></el-option>
587 597
 
588 598
                 <el-option
@@ -592,6 +602,7 @@
592 602
                   :key="item.value"
593 603
                 ></el-option>
594 604
               </el-select>
605
+              
595 606
             </el-form-item>
596 607
        </el-col>
597 608
 
@@ -631,13 +642,47 @@
631 642
       v-on:dialog-comfirm="DialogComfirm"
632 643
       v-on:dialog-cancle="DialogCancle"
633 644
     ></multi-select-box>
645
+
646
+    <el-dialog
647
+          title="提示"
648
+          :visible.sync="infoDialogVisible"
649
+          width="30%">
650
+          <span>
651
+           <el-form>
652
+             <el-row>
653
+               <span>申请日期:</span>
654
+                <span>
655
+                    <el-date-picker
656
+                      type="datetime"
657
+                      format="yyyy-MM-dd HH:mm"
658
+                      value-format="yyyy-MM-dd HH:mm"
659
+                      placeholder="选择时间"
660
+                      v-model="selected_date"
661
+                  ></el-date-picker>
662
+                </span>
663
+             </el-row>
664
+             <el-row>
665
+               <span>备注:</span>
666
+                <span>
667
+                   <el-input v-model="remark" style="width:200px"></el-input>
668
+                </span>
669
+             </el-row>
670
+           </el-form>
671
+         
672
+          </span>
673
+          <span slot="footer" class="dialog-footer">
674
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
675
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
676
+          </span>
677
+        </el-dialog>
678
+
634 679
   </div>
635 680
 </template>
636 681
 
637 682
 <script>
638 683
 import { getDataConfig } from '@/utils/data'
639 684
 import MultiSelectBox from './MultiSelectBox'
640
-import { postAssessmentAfterDislysis } from '@/api/dialysis'
685
+import { postAssessmentAfterDislysis,saveInformation } from '@/api/dialysis'
641 686
 import { uParseTime } from '@/utils/tools'
642 687
 import store from '@/store'
643 688
 import { parseTime } from '@/utils'
@@ -750,7 +795,7 @@ export default {
750 795
         catheter: '',
751 796
         complication: '',
752 797
         puncture_point_oozing_blood: 2,
753
-        puncture_point_haematoma: 2,
798
+        puncture_point_haematoma: '',
754 799
         internal_fistula_tremor_ac: '',
755 800
         patient_gose: '',
756 801
         inpatient_department: '',
@@ -766,7 +811,7 @@ export default {
766 811
         hemostasis_minute: '',
767 812
         hemostasis_opera: '',
768 813
         tremor_noise: '',
769
-        disequilibrium_syndrome: '',
814
+        disequilibrium_syndrome: 0,
770 815
         disequilibrium_syndrome_option: '',
771 816
         arterial_tube: '',
772 817
         intravenous_tube: '',
@@ -775,12 +820,12 @@ export default {
775 820
         dialysis_intakes_unit: 0,
776 821
         cvc_a: 0,
777 822
         cvc_v: 0,
778
-        channel: '',
823
+        channel: 0,
779 824
         return_blood: '',
780 825
         rehydration_volume: '',
781 826
         dialysis_during: '',
782 827
         stroke_volume: '',
783
-        blood_flow: '',
828
+        blood_flow: 0,
784 829
         sealing_fluid_dispose: '',
785 830
         sealing_fluid_special: '',
786 831
         dosage_of_anticoagulants:'',
@@ -792,13 +837,13 @@ export default {
792 837
         other_complication:'',
793 838
         ktv:"",
794 839
         urr:"",
795
-        hypertenison:"",
796
-        hypopiesia:"",
797
-        leave_office_method:"",
798
-        lapse:"",
799
-        consciousness:"",
800
-        fallrisk:"",
801
-        machine_run:"",
840
+        hypertenison:0,
841
+        hypopiesia:0,
842
+        leave_office_method:0,
843
+        lapse:0,
844
+        consciousness:0,
845
+        fallrisk:0,
846
+        machine_run:0,
802 847
         after_urea:"",
803 848
         accumulated_blood_volume:"",
804 849
       },
@@ -807,6 +852,9 @@ export default {
807 852
       consciousnessList:[],
808 853
       fallriskList:[],
809 854
       machineList:[],
855
+      infoDialogVisible:false,
856
+      selected_date:"",
857
+      remark:""
810 858
     }
811 859
   },
812 860
   watch: {
@@ -894,6 +942,9 @@ export default {
894 942
         if (this.assessment_after_dislysis['sealing_fluid_dispose'] == 0) {
895 943
           this.form['sealing_fluid_dispose'] = ''
896 944
         }
945
+        // if (this.assessment_after_dislysis['actualTreatmentHourShow'] == 0) {
946
+        //   this.form['actualTreatmentHourShow'] = ''
947
+        // }
897 948
         this.form.actualTreatmentHourShow = new Date(
898 949
           2018,
899 950
           1,
@@ -936,27 +987,67 @@ export default {
936 987
         if (
937 988
           filedList[i].module == 5 &&
938 989
           filedList[i].filed_name_cn == name &&
939
-          filedList[i].is_write == 1&&
990
+          filedList[i].is_write == 1 &&
940 991
           filedList[i].is_show == 1
941 992
         ) {
942
-          console.log(filedList[i],'false')
943
-          // if(name == "实际治疗时长"){
944
-          //   return [
945
-          //     { required: true, message: `请选择${name}`,trigger: ['blur','change'] },
946
-          //     {
947
-          //       required: true,
948
-          //       pattern: /^[1-9]\d*$/,
949
-          //       message: `请选择${name}`,
950
-          //       trigger: ['change']
951
-          //     },
952
-          //   ];
953
-          // }
954
-        
993
+          
994
+          if(name == "穿刺处血肿" || name == '拔针后穿刺点渗血' || name == '透析期间进食' ){
995
+            return [
996
+              { required: true, message: `请选择${name}`,trigger: ['blur','change'] },
997
+              {
998
+                required: true,
999
+                pattern: /^[1-9]\d*$/,
1000
+                message: `请选择${name}`,
1001
+                trigger: ['change']
1002
+              },
1003
+            ];
1004
+          }
1005
+            
955 1006
           return [{ required: true ,message:`请输入${name}`, trigger: ['blur','change'] }];
956 1007
           
957 1008
         }
958 1009
       }
959 1010
     },
1011
+    others(){
1012
+      // console.log('asdfasfd',this.form.observation_content_other.length);
1013
+      if(this.form.observation_content_other.length>0){
1014
+        this.$refs.form.clearValidate('observation_content_other');
1015
+      }
1016
+    },
1017
+    // hours(){
1018
+    //   if(this.form.actualTreatmentHourShow.length>0){
1019
+    //     this.$refs.form.clearValidate('actualTreatmentHourShow');
1020
+    //   }
1021
+    // },
1022
+    isOther(name){
1023
+      if(this.form.patient_gose == 3){
1024
+        let filedList = store.getters.xt_user.fileds;
1025
+
1026
+        for (let i = 0; i < filedList.length; i++) {
1027
+          if (
1028
+            filedList[i].module == 5 &&
1029
+            filedList[i].filed_name_cn == name &&
1030
+            filedList[i].is_write == 1 &&
1031
+            filedList[i].is_show == 1
1032
+          ) {
1033
+            
1034
+            // if(name == "其他观察内容"){
1035
+            //   return [
1036
+            //     { required: true, message: `请输入${name}`,trigger: ['blur','change'] },
1037
+            //     {
1038
+            //       required: true,
1039
+            //       pattern: /^[1-9]\d*$/,
1040
+            //       message: `请输入${name}`,
1041
+            //       trigger: ['change']
1042
+            //     },
1043
+            //   ];
1044
+            // }
1045
+            return [{ required: true ,message:`请输入${name}`, trigger: ['blur','change'] }];
1046
+            
1047
+          }
1048
+        }
1049
+      }
1050
+    },
960 1051
     isShow(name) {
961 1052
       var filedList = store.getters.xt_user.fileds
962 1053
 
@@ -971,6 +1062,7 @@ export default {
971 1062
       }
972 1063
       return false
973 1064
     },
1065
+   
974 1066
     submitForm(formName) {
975 1067
       this.$refs[formName].validate((valid)=>{
976 1068
         if(valid){
@@ -1026,7 +1118,7 @@ export default {
1026 1118
           data['puncture_point_oozing_blood'] = this.form.puncture_point_oozing_blood ? parseFloat(this.form.puncture_point_oozing_blood) : 0
1027 1119
           data['puncture_point_haematoma'] = this.form.puncture_point_haematoma ? parseFloat(this.form.puncture_point_haematoma) : 0
1028 1120
           data['internal_fistula_tremor_ac'] = this.form.internal_fistula_tremor_ac ? parseFloat(this.form.internal_fistula_tremor_ac) : 0
1029
-          data['patient_gose'] = this.form.patient_gose ? parseFloat(this.form.patient_gose) : 0
1121
+          data['patient_gose'] = this.form.patient_gose ? parseFloat(this.form.patient_gose) : ' '
1030 1122
           data['inpatient_department'] = this.form.inpatient_department
1031 1123
           data['observation_content'] = this.form.observation_content
1032 1124
           data['observation_content_other'] = this.form.observation_content_other
@@ -1082,6 +1174,9 @@ export default {
1082 1174
               this.loading = false
1083 1175
               if (response.data.state == 0) {
1084 1176
                 this.$message.error(response.data.msg)
1177
+                if(response.data.code == 600000008){
1178
+                  this.infoDialogVisible = false
1179
+                }
1085 1180
                 return false
1086 1181
               } else {
1087 1182
                 this.$notify({
@@ -1238,11 +1333,13 @@ export default {
1238 1333
     // 数据开始
1239 1334
     show(predialysis,last_after) {
1240 1335
       console.log("透后体重2332233223wo",predialysis)
1336
+      // console.log('asdfadsfdasf',this.form.consciousness);
1241 1337
       this.isVisibility = true
1242 1338
       this.predialysis = predialysis
1243 1339
       this.form.observation_content = predialysis.observation_content
1244 1340
       this.form.inpatient_department = predialysis.inpatient_department
1245 1341
       this.form.observation_content_other = predialysis.observation_content_other
1342
+      // 5.15
1246 1343
       if(predialysis.id > 0){
1247 1344
         this.form.hypertenison = predialysis.hypertenison.toString()
1248 1345
       }
@@ -1255,7 +1352,7 @@ export default {
1255 1352
       if(predialysis.id > 0){
1256 1353
         this.form.hypopiesia = predialysis.hypopiesia.toString()
1257 1354
       }
1258
-
1355
+        // 5.15
1259 1356
       //针对长沙南雅 ,透后体重 - 目标超滤量
1260 1357
       // if(predialysis.id > 0){
1261 1358
       //  if(this.$store.getters.xt_user.template_info.org_id == 9671 || this.$store.getters.xt_user.template_info.org_id == 9675 || this.$store.getters.xt_user.template_info.org_id == 10340){
@@ -1286,12 +1383,14 @@ export default {
1286 1383
             }
1287 1384
           }
1288 1385
         }
1386
+        // 5.15
1289 1387
         if(last_after.id > 0){
1290 1388
          this.form.hypertenison = last_after.hypertenison.toString()
1291 1389
         }
1292 1390
         if(last_after.id > 0){
1293 1391
           this.form.hypopiesia = last_after.hypopiesia.toString()
1294 1392
         }
1393
+          // 5.15
1295 1394
         //针对长沙南雅 ,透后体重 - 目标超滤量
1296 1395
         // if(this.$store.getters.xt_user.template_info.org_id == 9671 || this.$store.getters.xt_user.template_info.org_id == 9675 || this.$store.getters.xt_user.template_info.org_id == 10340){
1297 1396
         //    if(this.prescription!=null && this.predialysis_evaluation!=null){
@@ -1301,9 +1400,6 @@ export default {
1301 1400
         // }
1302 1401
       }
1303 1402
 
1304
-
1305
-
1306
-
1307 1403
       this.getPermission()
1308 1404
 
1309 1405
 
@@ -1336,7 +1432,7 @@ export default {
1336 1432
           }
1337 1433
         })
1338 1434
         .then(res => {
1339
-          console.log(res)
1435
+          // console.log(res)
1340 1436
           // console.log("透后", this.predialysis);
1341 1437
           if (res.data.state == 0) {
1342 1438
             this.hasPermission = false
@@ -1369,10 +1465,26 @@ export default {
1369 1465
             }
1370 1466
           }
1371 1467
         })
1372
-    }
1468
+    },
1469
+    saveInformation(){
1470
+        var params = {
1471
+          selected_date:this.selected_date,
1472
+          patient_id:this.$route.query.patient_id,
1473
+          record_date:this.$route.query.date,
1474
+          module:2,
1475
+          remark:this.remark,
1476
+        }
1477
+        saveInformation(params).then(response=>{
1478
+           if(response.data.state == 1){
1479
+             var information = response.data.data.information
1480
+             this.$message.success("审核成功!")
1481
+             this.infoDialogVisible = false
1482
+           }
1483
+        })
1484
+      }
1373 1485
   },
1374 1486
   created() {
1375
-    // console.log("this.form", this.form);
1487
+    // console.log("this.form", this.form.consciousness);
1376 1488
     this.cruorOptions = getDataConfig('hemodialysis', 'cruor')
1377 1489
     this.pip_coagulationOptions = getDataConfig('hemodialysis','pip_coagulation')
1378 1490
     this.symptomsOptions = getDataConfig('hemodialysis', 'symptoms')
@@ -1388,7 +1500,7 @@ export default {
1388 1500
     this.consciousnessList = getDataConfig("hemodialysis","consciousness")
1389 1501
     this.fallriskList = getDataConfig("hemodialysis","fallrisk")
1390 1502
      this.machineList = getDataConfig("hemodialysis","machine_run")
1391
-     console.log("机器运行",this.machineList)
1503
+     
1392 1504
     this.internalFistulaTremorAcOptions = this.$store.getters.internal_fistula_tremor_ac
1393 1505
     this.patientGoseOptions = this.$store.getters.patient_gose
1394 1506
     this.observationContentOptions = this.$store.getters.observation_content

+ 122 - 78
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue View File

@@ -223,7 +223,7 @@
223 223
         :cell-class-name="adviceNameShow"
224 224
         :modal-append-to-body="false"
225 225
         highlight-current-row
226
-        
226
+
227 227
       >
228 228
       <!-- @selection-change="handleSelectionChange" -->
229 229
         <!-- <el-table-column type="selection"  width="55"></el-table-column> -->
@@ -257,7 +257,6 @@
257 257
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
258 258
               <span class="el-dropdown-link">
259 259
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
260
-               
261 260
                 <i class="el-icon-arrow-down el-icon--right"></i>
262 261
               </span>
263 262
               <el-dropdown-menu slot="dropdown">
@@ -291,7 +290,7 @@
291 290
           </template>
292 291
         </el-table-column>
293 292
         <el-table-column
294
-          v-if="template_id != 6 && org_id!=10223 && org_id!=10445 && org_id!=0"
293
+          v-if="template_id != 6 && org_id!=10223 && org_id!=10445"
295 294
           prop="checker"
296 295
           min-width="30px"
297 296
           align="center"
@@ -305,7 +304,7 @@
305 304
         </el-table-column>
306 305
       </el-table>
307 306
 
308
-     
307
+
309 308
 
310 309
       <el-table
311 310
         v-if="his_is_open  == 1 || is_advice_open == 1"
@@ -360,7 +359,6 @@
360 359
             <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
361 360
               <span class="el-dropdown-link">
362 361
                 &emsp;{{ getAdviceContent(scope.row, 2)}}
363
-                 
364 362
                 <i class="el-icon-arrow-down el-icon--right"></i>
365 363
               </span>
366 364
               <el-dropdown-menu slot="dropdown">
@@ -608,6 +606,40 @@
608 606
       v-on:add-new-order="addNewOrder"
609 607
       :admin_users="admin_users"
610 608
     ></edit-group-advice>
609
+
610
+
611
+      <el-dialog
612
+          title="提示"
613
+          :visible.sync="infoDialogVisible"
614
+          width="30%">
615
+          <span>
616
+           <el-form>
617
+             <el-row>
618
+               <span>申请日期:</span>
619
+                <span>
620
+                    <el-date-picker
621
+                      type="datetime"
622
+                      format="yyyy-MM-dd HH:mm"
623
+                      value-format="yyyy-MM-dd HH:mm"
624
+                      placeholder="选择时间"
625
+                      v-model="selected_date"
626
+                  ></el-date-picker>
627
+                </span>
628
+             </el-row>
629
+             <el-row>
630
+               <span>备注:</span>
631
+                <span>
632
+                   <el-input v-model="remark" style="width:200px"></el-input>
633
+                </span>
634
+             </el-row>
635
+           </el-form>
636
+
637
+          </span>
638
+          <span slot="footer" class="dialog-footer">
639
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
640
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
641
+          </span>
642
+        </el-dialog>
611 643
   </div>
612 644
 </template>
613 645
 
@@ -783,7 +815,9 @@
783 815
         src_type:"",
784 816
         org_id:0,
785 817
         schedulePatient:{},
786
-        tempArrOne:[],
818
+        infoDialogVisible:false,
819
+        selected_date:"",
820
+        remark:""
787 821
       }
788 822
     },
789 823
     watch: {
@@ -798,40 +832,12 @@
798 832
         this.form['dialysis_order_id'] = this.dialysis_order.id
799 833
       },
800 834
 
801
-      'doctor_advices': function() {
802
-      
803
-        this.handleSpanTempArrOne();
804
-      },
805
-     
806 835
     },
807 836
     methods: {
808
-      handleSpanTempArrOne() {
809
-          this.tempArrOne = [];
810
-         
811
-          for (let i = 0; i < this.doctor_advices.length; i++) {
812
-            if (i === 0) {
813
-              this.tempArrOne.push(1);
814
-              this.pos = 0;
815
-            } else {
816
-              // 判断当前元素与上一个元素是否相同
817
-              if (
818
-                this.doctor_advices[i].groupno ===
819
-                this.doctor_advices[i - 1].groupno
820
-              ) {
821
-                this.tempArrOne[this.pos] += 1;
822
-                this.tempArrOne.push(0);
823
-              } else {
824
-                this.tempArrOne.push(1);
825
-                this.pos = i;
826
-              }
827
-            }
828
-          }
829
-      },
830 837
       handleSelectionChange(){
831 838
 
832 839
       },
833
-     
834
-    
840
+
835 841
       //调试
836 842
       lili(index,row){
837 843
         // console.log("==index==",index)
@@ -915,6 +921,9 @@
915 921
               response => {
916 922
                 if (response.data.state == 0) {
917 923
                   this.$message.error(response.data.msg);
924
+                  if(response.data.code == 600000008){
925
+                     this.infoDialogVisible = true
926
+                   }
918 927
                   return false;
919 928
                 } else {
920 929
                   this.$notify({
@@ -949,7 +958,6 @@
949 958
           return ''
950 959
         }
951 960
       },
952
-     
953 961
       submitEditAdvice() {
954 962
         // console.log()
955 963
         console.log("保存22222222222222")
@@ -975,6 +983,9 @@
975 983
           response => {
976 984
             if (response.data.state == 0) {
977 985
               this.$message.error(response.data.msg)
986
+              if(response.data.code == 600000008){
987
+               this.infoDialogVisible = true
988
+              }
978 989
               return false
979 990
             } else {
980 991
               this.$notify({
@@ -1283,6 +1294,9 @@
1283 1294
         ExecDoctorAdvice(this.patient.id, this.currentRow.id, this.execTime, mode,this.currentRow.origin).then(response => {
1284 1295
             if (response.data.state == 0) {
1285 1296
               this.$message.error(response.data.msg)
1297
+             if(response.data.code == 600000008){
1298
+               this.infoDialogVisible = true
1299
+             }
1286 1300
               this.exceLoading = false
1287 1301
               return false
1288 1302
             } else {
@@ -1377,6 +1391,9 @@
1377 1391
             this.loading = false
1378 1392
             if (response.data.state == 0) {
1379 1393
               this.$message.error(response.data.msg)
1394
+              if(response.data.code == 600000008){
1395
+               this.infoDialogVisible = true
1396
+              }
1380 1397
               return false
1381 1398
             } else {
1382 1399
               this.$notify({
@@ -1650,7 +1667,9 @@
1650 1667
               response => {
1651 1668
                 if (response.data.state == 0) {
1652 1669
                   this.$message.error(response.data.msg)
1653
-
1670
+                  if(response.data.code == 600000008){
1671
+                    this.infoDialogVisible = true
1672
+                  }
1654 1673
                   this.deleLoading = false
1655 1674
                   return false
1656 1675
                 } else {
@@ -1822,6 +1841,9 @@
1822 1841
             DeleteGroupAdvice(groupno, mode).then(response => {
1823 1842
               if (response.data.state == 0) {
1824 1843
                 this.$message.error(response.data.msg)
1844
+                if(response.data.code == 600000008){
1845
+                 this.infoDialogVisible = true
1846
+                }
1825 1847
                 return false
1826 1848
               } else {
1827 1849
                 this.$notify({
@@ -1870,6 +1892,9 @@
1870 1892
               this.deleLoading = false
1871 1893
               if (response.data.state == 0) {
1872 1894
                 this.$message.error(response.data.msg)
1895
+                if(response.data.code == 600000008){
1896
+                   this.infoDialogVisible = true
1897
+                }
1873 1898
                 return false
1874 1899
               } else {
1875 1900
                 this.$notify({
@@ -1911,6 +1936,9 @@
1911 1936
             DeleteDoctorAdvice(this.currentRow.id, mode).then(response => {
1912 1937
               this.deleLoading = false
1913 1938
               if (response.data.state == 0) {
1939
+                 if(response.data.code == 600000008){
1940
+                  this.infoDialogVisible = true
1941
+                 }
1914 1942
                 this.$message.error(response.data.msg)
1915 1943
                 return false
1916 1944
               } else {
@@ -2126,8 +2154,17 @@
2126 2154
         return true
2127 2155
       }
2128 2156
       ,
2129
-    
2130
-      
2157
+      mergeSpan({ row, column, rowIndex, columnIndex }) {
2158
+        if (columnIndex != 2) {
2159
+          const _row = this.tempArr[rowIndex]
2160
+          const _col = _row > 0 ? 1 : 0
2161
+          return {
2162
+            rowspan: _row,
2163
+            colspan: _col
2164
+          }
2165
+        }
2166
+      }
2167
+      ,
2131 2168
       handleSpanTempArr() {
2132 2169
         this.tempArr = []
2133 2170
 
@@ -2290,45 +2327,34 @@
2290 2327
         // });
2291 2328
       },
2292 2329
       objectSpanMethod({ row, column, rowIndex, columnIndex }) {
2293
-        console.log("hhhhhhhhhh",this.tempArrOne)
2294
-        //合并单元格
2295
-        if (columnIndex === 0 || columnIndex === 1 ) {
2296
-          const _row = this.tempArrOne[rowIndex];
2297
-          const _col = _row > 0 ? 1 : 0;
2298
-          console.log("_row====",_row)
2299
-          console.log("_row----------",_col)
2300
-          return {
2301
-            rowspan: _row,
2302
-            colspan: _col
2303
-          };
2304
-        }
2305
-        // if (columnIndex === 0) {
2306
-        //   if (rowIndex % 2 === 0) {
2307
-        //     return {
2308
-        //       rowspan: 2,
2309
-        //       colspan: 1
2310
-        //     }
2311
-        //   } else {
2312
-        //     return {
2313
-        //       rowspan: 0,
2314
-        //       colspan: 0
2315
-        //     }
2316
-        //   }
2317
-        // }
2318 2330
 
2319
-        // if (columnIndex === 1) {
2320
-        //   if (rowIndex % 2 === 0) {
2321
-        //     return {
2322
-        //       rowspan: 2,
2323
-        //       colspan: 1
2324
-        //     }
2325
-        //   } else {
2326
-        //     return {
2327
-        //       rowspan: 0,
2328
-        //       colspan: 0
2329
-        //     }
2330
-        //   }
2331
-        // }
2331
+        if (columnIndex === 0) {
2332
+          if (rowIndex % 2 === 0) {
2333
+            return {
2334
+              rowspan: 2,
2335
+              colspan: 1
2336
+            }
2337
+          } else {
2338
+            return {
2339
+              rowspan: 0,
2340
+              colspan: 0
2341
+            }
2342
+          }
2343
+        }
2344
+
2345
+        if (columnIndex === 1) {
2346
+          if (rowIndex % 2 === 0) {
2347
+            return {
2348
+              rowspan: 2,
2349
+              colspan: 1
2350
+            }
2351
+          } else {
2352
+            return {
2353
+              rowspan: 0,
2354
+              colspan: 0
2355
+            }
2356
+          }
2357
+        }
2332 2358
       }
2333 2359
       ,
2334 2360
       GetLastOrNextDoctorAdvice(params) {
@@ -2631,10 +2657,28 @@
2631 2657
          }
2632 2658
          console.log("nam e23233232322323wo",name)
2633 2659
          return name
2660
+      },
2661
+
2662
+     saveInformation(){
2663
+        var params = {
2664
+          selected_date:this.selected_date,
2665
+          patient_id:this.$route.query.patient_id,
2666
+          record_date:this.$route.query.date,
2667
+          module:2,
2668
+          remark:this.remark,
2669
+        }
2670
+        saveInformation(params).then(response=>{
2671
+           if(response.data.state == 1){
2672
+             var information = response.data.data.information
2673
+             this.$message.success("审核成功!")
2674
+             this.infoDialogVisible = false
2675
+           }
2676
+        })
2634 2677
       }
2678
+
2635 2679
     },
2636 2680
     created() {
2637
-     
2681
+
2638 2682
       var date = this.$route.query && this.$route.query.date
2639 2683
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
2640 2684
       this.form.advice_date = this.record_date

+ 110 - 65
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue View File

@@ -1,4 +1,5 @@
1 1
 <template>
2
+ <div>
2 3
   <el-dialog
3 4
     title="接诊评估"
4 5
     class="newDialog"
@@ -140,7 +141,7 @@
140 141
           >{{ item.name }}
141 142
         </el-radio>
142 143
       </el-radio-group>
143
-     
144
+
144 145
       </el-form-item>
145 146
 
146 147
       <el-form-item
@@ -208,7 +209,7 @@
208 209
           >高风险</el-radio
209 210
         >
210 211
       </el-radio-group>
211
- 
212
+
212 213
       </el-form-item>
213 214
 
214 215
       <el-form-item
@@ -335,16 +336,54 @@
335 336
     </el-form>
336 337
     <div slot="footer" class="dialog-footer">
337 338
       <el-button @click="handleCancle">取 消</el-button>
338
-      <!-- v-if="hasPermission"-->
339
-      <el-button type="primary"   @click="handleComfirm('receiveTreatmentAsses')"
339
+      <!--v-if="hasPermission" -->
340
+      <el-button type="primary"  @click="handleComfirm('receiveTreatmentAsses')"
340 341
         >保 存</el-button
341 342
       >
342 343
     </div>
343 344
   </el-dialog>
345
+
346
+
347
+ <el-dialog
348
+          title="提示"
349
+          :visible.sync="infoDialogVisible"
350
+          width="30%">
351
+          <span>
352
+           <el-form>
353
+             <el-row>
354
+               <span>申请日期:</span>
355
+                <span>
356
+                    <el-date-picker
357
+                      type="datetime"
358
+                      format="yyyy-MM-dd HH:mm"
359
+                      value-format="yyyy-MM-dd HH:mm"
360
+                      placeholder="选择时间"
361
+                      v-model="selected_date"
362
+                  ></el-date-picker>
363
+                </span>
364
+             </el-row>
365
+             <el-row>
366
+               <span>备注:</span>
367
+                <span>
368
+                   <el-input v-model="remark" style="width:200px"></el-input>
369
+                </span>
370
+             </el-row>
371
+           </el-form>
372
+
373
+          </span>
374
+          <span slot="footer" class="dialog-footer">
375
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
376
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
377
+          </span>
378
+        </el-dialog>
379
+
380
+  </div>
381
+
382
+
344 383
 </template>
345 384
 
346 385
 <script>
347
-import { postAccepts } from "@/api/dialysis";
386
+import { postAccepts,saveInformation } from "@/api/dialysis";
348 387
 import { uParseTime } from "@/utils/tools";
349 388
 import store from "@/store";
350 389
 import { getDataConfig } from "@/utils/data";
@@ -355,6 +394,7 @@ export default {
355 394
   name: "acceptsTreatmentDialog",
356 395
   data() {
357 396
     return {
397
+      isrequired:false,
358 398
       showTxt: "",
359 399
       hasPermission: true,
360 400
       isVisibility: false,
@@ -389,10 +429,12 @@ export default {
389 429
         tumble: "",
390 430
         his_department: "",
391 431
         his_bed: "",
392
-        falldown:[],
393 432
       },
394 433
       precautionTwo: [],
395
-      arr:[]
434
+      infoDialogVisible:false,
435
+      selected_date:"",
436
+      remark:"",
437
+      arr:[],
396 438
     };
397 439
   },
398 440
   methods: {
@@ -416,21 +458,22 @@ export default {
416 458
       }
417 459
       this.accepts = accepts;
418 460
       // console.log("accepts", accepts);
419
-      // var arr = [];
420
-      // if (this.accepts.precaution) {
421
-      //   var precaution = this.accepts.precaution.split(",");
422
-      //   // console.log("precaution", precaution);
423
-      //   // console.log("hhh", this.precaution_arr);
424
-      //   for (let i = 0; i < precaution.length; i++) {
425
-      //     for (let j = 0; j < this.precaution_arr.length; j++) {
426
-      //       if (parseInt(precaution[i]) == this.precaution_arr[j].id) {
427
-      //         // console.log("aaaa");
428
-      //         this.arr.push(this.precaution_arr[j].name);
429
-      //       }
430
-      //     }
431
-      //   }
432
-      //   this.precautionTwo = this.arr;
433
-      // }
461
+      var arr = [];
462
+      if (this.accepts.precaution) {
463
+        var precaution = this.accepts.precaution.split(",");
464
+        // console.log("precaution", precaution);
465
+        // console.log("hhh", this.precaution_arr);
466
+        for (let i = 0; i < precaution.length; i++) {
467
+          for (let j = 0; j < this.precaution_arr.length; j++) {
468
+            if (parseInt(precaution[i]) == this.precaution_arr[j].id) {
469
+              // console.log("aaaa");
470
+              arr.push(this.precaution_arr[j].name);
471
+            }
472
+          }
473
+        }
474
+        this.precautionTwo = arr;
475
+        // console.log("arr", arr);
476
+      }
434 477
 
435 478
       this.getPermission();
436 479
       for (var index in this.receiveTreatmentAsses) {
@@ -456,41 +499,29 @@ export default {
456 499
     },
457 500
     // 复选框跌倒风险措施
458 501
     precautionchange(){
459
-      // for (let i = 0; i < this.precaution_arr.length; i++) {
460
-      //   for (let j = 0; j < this.precautionTwo.length; j++) {
461
-      //     if (this.precaution_arr[i].name == this.precautionTwo[j]) {
462
-      //       this.arr.push(this.precaution_arr[i].id);
463
-      //     }
464
-      //   }
465
-      // } 
466
-      // var obj = this.arr.join(",");
467
-      // this.receiveTreatmentAsses.precaution = obj;
468
-
469
-      // this.receiveTreatmentAsses.falldown=this.precautionTwo
502
+
470 503
       if(this.precautionTwo.length>0){
471 504
         this.$refs.receiveTreatmentAsses.clearValidate('precautionTwo');
472 505
       }
473
-      console.log('this.precaution_arr',this.precautionTwo);
474
-      // console.log('arr的数据',this.receiveTreatmentAsses.falldown);
475
-      // console.log('sadffdasfdg',this.receiveTreatmentAsses.falldown.length);
476
-      // this.$refs[fromName].resetFields();
477
-      
478 506
     },
479 507
 
480 508
     handleComfirm: function (formName) {
481 509
       // var arr = [];
482
-      for (let i = 0; i < this.precaution_arr.length; i++) {
483
-        for (let j = 0; j < this.precautionTwo.length; j++) {
484
-          if (this.precaution_arr[i].name == this.precautionTwo[j]) {
485
-            this.arr.push(this.precaution_arr[i].id);
510
+        if(this.precaution_arr!=null && this.precaution_arr.length >0){
511
+        for (let i = 0; i < this.precaution_arr.length; i++) {
512
+          for (let j = 0; j < this.precautionTwo.length; j++) {
513
+            if (this.precaution_arr[i].name == this.precautionTwo[j]) {
514
+              this.arr.push(this.precaution_arr[i].id);
515
+            }
486 516
           }
487 517
         }
488
-      } 
489
-      // this.precautionchange()
490
-      var obj = this.arr.join(",");
518
+        var obj = this.arr.join(",");
519
+      }
520
+      
491 521
       this.receiveTreatmentAsses.precaution = obj;
522
+
492 523
       let ParamsQuery = this.receiveTreatmentAsses;
493
-      
524
+
494 525
       console.log("ParamsQuery", ParamsQuery);
495 526
       ParamsQuery["patient"] = this.patient.id;
496 527
       ParamsQuery["record_date"] = this.record_date;
@@ -554,7 +585,7 @@ export default {
554 585
     isCheckmust(name) {
555 586
       let filedList = store.getters.xt_user.fileds;
556 587
       for (let i = 0; i < filedList.length; i++) {
557
-        
588
+
558 589
         if (
559 590
           filedList[i].module == 2 &&
560 591
           filedList[i].filed_name_cn == name &&
@@ -571,19 +602,21 @@ export default {
571 602
                 trigger: ['blur','change']
572 603
               },
573 604
             ];
574
-          } 
575
-          // if(name == "跌倒风险预防措施" && this.precautionTwo.length<=0){
576
-          //   return [
577
-          //     { required: true, message: `请选择${name}`,trigger: ['blur','change'] },
578
-          //     {
579
-          //       required: true,
580
-          //       pattern: /^[1-9]\d*$/,
581
-          //       message: `请选择${name}`,
582
-          //       trigger: ['blur','change']
583
-          //     },
584
-          //   ];
585
-          // }
605
+          }
606
+          else if(name == "跌倒风险预防措施"){
607
+            if(this.precautionTwo.length<=0){
608
+              this.isrequired=false
609
+              return [{ required: true, message: `请输入${name}`,trigger: ['blur','change'] }];
610
+
611
+            }
612
+            this.precautionchange()
613
+            this.isrequired=true
614
+            // return [{ required: true, message: '',trigger: ['blur','change'] }];
615
+          }else{
586 616
             return [{ required: true, message: `请输入${name}`,trigger: ['blur','change'] }];
617
+
618
+          }
619
+
587 620
         }
588 621
       }
589 622
     },
@@ -605,7 +638,7 @@ export default {
605 638
     //             trigger: ['blur','change']
606 639
     //           },
607 640
     //         ];
608
-    //       } 
641
+    //       }
609 642
     //     }
610 643
     //   }
611 644
     // },
@@ -649,6 +682,23 @@ export default {
649 682
           }
650 683
         });
651 684
     },
685
+
686
+   saveInformation(){
687
+        var params = {
688
+          selected_date:this.selected_date,
689
+          patient_id:this.$route.query.patient_id,
690
+          record_date:this.$route.query.date,
691
+          module:2,
692
+          remark:this.remark,
693
+        }
694
+        saveInformation(params).then(response=>{
695
+           if(response.data.state == 1){
696
+             var information = response.data.data.information
697
+             this.$message.success("审核成功!")
698
+             this.infoDialogVisible = false
699
+           }
700
+        })
701
+      }
652 702
   },
653 703
   props: {
654 704
     receiver_treatment_access: {
@@ -678,7 +728,6 @@ export default {
678 728
     },
679 729
   },
680 730
   created() {
681
-    
682 731
     // console.log("接诊评估", this.receiver_treatment_access);
683 732
     var date = this.$route.query && this.$route.query.date;
684 733
     this.record_date = date
@@ -695,11 +744,7 @@ export default {
695 744
     // console.log("风险", this.precaution_arr);
696 745
     this.intake_arr = getDataConfig("hemodialysis", "intake");
697 746
     this.nutrition_arr = getDataConfig("hemodialysis", "nutrition");
698
-    
699 747
   },
700
-  // mounted(){
701
-  //   this.isFalldown()
702
-  // }
703 748
 };
704 749
 </script>
705 750
 

+ 69 - 52
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue View File

@@ -39,9 +39,10 @@
39 39
 
40 40
           <el-col :span="8">
41 41
             <el-form-item label="干体重(kg):"
42
-             :prop="isName('干体重')"
42
+              :prop="isName('干体重')"
43 43
               :rules="isCheckmust('干体重')"
44 44
                           v-if="isShow('干体重')">
45
+                          <!--  -->
45 46
               <el-input type="number" v-model="assessmentBeforeDislysis.dry_weight" readonly
46 47
                         @focus="showDryWeightDialog"></el-input>
47 48
             </el-form-item>
@@ -99,7 +100,6 @@
99 100
             </el-form-item>
100 101
           </el-col>
101 102
 
102
-
103 103
           <el-col :span="8">
104 104
             <el-form-item label="体温(℃):" :prop="isName('体温')"
105 105
               :rules="isCheckmust('体温')" v-if="isShow('体温')">
@@ -184,7 +184,6 @@
184 184
             </el-form-item>
185 185
           </el-col>
186 186
 
187
-
188 187
           <el-col :span="8">
189 188
             <el-form-item label="内瘘: " :prop="isName('内瘘')"
190 189
               :rules="isCheckmust('内瘘')" v-if="isShow('内瘘')">
@@ -193,14 +192,10 @@
193 192
             </el-form-item>
194 193
           </el-col>
195 194
 
196
-
197
-
198
-
199
-
200
-
201 195
           <el-col :span="8" v-if="assessmentBeforeDislysis.is_hemorrhage == 1&&isShow('其他出血情况')">
202
-            <el-form-item label="其他出血情况: " :prop="isName('其他出血情况')"
196
+            <el-form-item label="其他出血情况: " prop="hemorrhage_other"
203 197
               :rules="isCheckmust('其他出血情况')">
198
+              <!-- :prop="isName('其他出血情况')" -->
204 199
               <el-input v-model="assessmentBeforeDislysis.hemorrhage_other"></el-input>
205 200
             </el-form-item>
206 201
           </el-col>
@@ -225,11 +220,6 @@
225 220
             </el-form-item>
226 221
           </el-col>
227 222
 
228
-          <!-- </el-row>
229
-
230
-          <el-row :gutter="20"> -->
231
-
232
-
233 223
           <el-col :span="8">
234 224
             <el-form-item label="血管通路皮肤情况: " :prop="isName('血管通路皮肤情况')"
235 225
               :rules="isCheckmust('血管通路皮肤情况')" v-if="isShow('血管通路皮肤情况')">
@@ -269,8 +259,6 @@
269 259
             </el-form-item>
270 260
           </el-col>
271 261
 
272
-
273
-
274 262
           <!--<el-col :span="8">-->
275 263
           <!--<el-form-item label="附加物重(kg): ">-->
276 264
           <!--<el-input type="number" v-model="assessmentBeforeDislysis.additional_weight"></el-input>-->
@@ -279,7 +267,6 @@
279 267
 
280 268
           <!-- </el-row>
281 269
 
282
-
283 270
           <el-row :gutter="20"> -->
284 271
           <el-col :span="8">
285 272
             <el-form-item label="导管打折: " :prop="isName('导管打折')"
@@ -302,11 +289,7 @@
302 289
             </el-form-item>
303 290
           </el-col>
304 291
 
305
-
306
-
307 292
           <!-- </el-row>
308
-
309
-
310 293
           <el-row :gutter="20"> -->
311 294
 
312 295
           <el-col :span="8">
@@ -349,7 +332,6 @@
349 332
           </el-col>
350 333
 
351 334
 
352
-
353 335
           <el-col :span="8">
354 336
             <el-form-item label="出血: " :prop="isName('出血')"
355 337
               :rules="isCheckmust('出血')" v-if="isShow('出血')">
@@ -361,7 +343,6 @@
361 343
             </el-form-item>
362 344
           </el-col>
363 345
 
364
-
365 346
           <el-col :span="8" v-if="assessmentBeforeDislysis.is_hemorrhage == 1&&isShow('出血选项')">
366 347
             <el-form-item label="出血选项: " :prop="isName('出血选项')"
367 348
               :rules="isCheckmust('出血选项')">
@@ -371,8 +352,6 @@
371 352
             </el-form-item>
372 353
           </el-col>
373 354
 
374
-
375
-
376 355
            <el-col :span="8">
377 356
             <el-form-item label="血栓:" :prop="isName('血栓')"
378 357
               :rules="isCheckmust('血栓')" v-if="isShow('血栓')">
@@ -386,7 +365,7 @@
386 365
           
387 366
           <el-col :span="8">
388 367
             <el-form-item label="导管AV端约为(cm):" :prop="isName('导管AV端各约')"
389
-              :rules="isCheckmust('导管AV端各约')" v-show="thrombuShow" label-width="200px">
368
+              :rules="isCheckmust('导管AV端各约')" v-show="thrombuShow" label-width="150px">
390 369
               <el-input v-model="assessmentBeforeDislysis.thrombus_av" style="width:150px"></el-input>
391 370
             </el-form-item>
392 371
           </el-col>
@@ -421,7 +400,6 @@
421 400
             </el-form-item>
422 401
           </el-col>
423 402
 
424
-
425 403
           <el-col :span="8">
426 404
             <el-form-item label="并发症: " :prop="isName('并发症')"
427 405
               :rules="isCheckmust('并发症')" v-if="isShow('并发症')">
@@ -438,7 +416,6 @@
438 416
             </el-form-item>
439 417
           </el-col>
440 418
 
441
-
442 419
           <el-col :span="8">
443 420
             <el-form-item label="前次透析后症状:" :prop="isName('前次透析后症状')"
444 421
               :rules="isCheckmust('前次透析后症状')" v-if="isShow('前次透析后症状')">
@@ -446,7 +423,6 @@
446 423
             </el-form-item>
447 424
           </el-col>
448 425
 
449
-
450 426
           <el-col :span="8" v-if="isShow('急诊')">
451 427
             <el-form-item label="急诊: " :prop="isName('急诊')"
452 428
               :rules="isCheckmust('急诊')">
@@ -473,9 +449,6 @@
473 449
             </el-form-item>
474 450
           </el-col>
475 451
           
476
-
477
-          
478
-
479 452
           <el-col :span="8">
480 453
             <el-form-item label="透析期间: " :prop="isName('透析期间')"
481 454
               :rules="isCheckmust('透析期间')" v-if="isShow('透析期间')">
@@ -518,8 +491,6 @@
518 491
             </el-form-item>
519 492
           </el-col>
520 493
 
521
-
522
-
523 494
           <el-col :span="8" v-if="isShow('其他感染情况')">
524 495
             <el-form-item label="其他感染情况:" :prop="isName('其他感染情况')"
525 496
               :rules="isCheckmust('其他感染情况')">
@@ -527,9 +498,6 @@
527 498
             </el-form-item>
528 499
           </el-col>
529 500
 
530
-
531
-
532
-
533 501
           <el-col :span="8" v-if="isShow('外露')">
534 502
             <el-form-item label="外露(cm):" :prop="isName('外露')"
535 503
               :rules="isCheckmust('外露')">
@@ -537,10 +505,6 @@
537 505
             </el-form-item>
538 506
           </el-col>
539 507
 
540
-
541
-
542
-
543
-
544 508
           <el-col :span="8" v-if="isShow('其他皮肤情况')">
545 509
             <el-form-item label="其他皮肤情况:" :prop="isName('其他皮肤情况')"
546 510
               :rules="isCheckmust('其他皮肤情况')">
@@ -548,12 +512,6 @@
548 512
             </el-form-item>
549 513
           </el-col>
550 514
 
551
-
552
-
553
-
554
-
555
-
556
-
557 515
           <el-col :span="8">
558 516
             <el-form-item label="导管缝线:" :prop="isName('导管缝线')"
559 517
               :rules="isCheckmust('导管缝线')" v-if="isShow('导管缝线')">
@@ -684,8 +642,8 @@
684 642
       </el-form>
685 643
       <span slot="footer" class="dialog-footer">
686 644
                 <el-button @click="handleCancle">取 消</el-button>
687
-                 <!--  -->
688
-                <el-button type="primary" v-if="hasPermission" @click="handleComfirm('assessmentBeforeDislysis')">保 存</el-button>
645
+                 <!--v-if="hasPermission"  -->
646
+                <el-button type="primary"  @click="handleComfirm('assessmentBeforeDislysis')">保 存</el-button>
689 647
             </span>
690 648
     </el-dialog>
691 649
 
@@ -741,6 +699,40 @@
741 699
         <el-button type="primary" @click="submitDryWeight()">保 存</el-button>
742 700
       </div>
743 701
     </el-dialog>
702
+
703
+
704
+    <el-dialog
705
+          title="提示"
706
+          :visible.sync="infoDialogVisible"
707
+          width="30%">
708
+          <span>
709
+           <el-form>
710
+             <el-row>
711
+               <span>申请日期:</span>
712
+                <span>
713
+                    <el-date-picker
714
+                      type="datetime"
715
+                      format="yyyy-MM-dd HH:mm"
716
+                      value-format="yyyy-MM-dd HH:mm"
717
+                      placeholder="选择时间"
718
+                      v-model="selected_date"
719
+                  ></el-date-picker>
720
+                </span>
721
+             </el-row>
722
+             <el-row>
723
+               <span>备注:</span>
724
+                <span>
725
+                   <el-input v-model="remark" style="width:200px"></el-input>
726
+                </span>
727
+             </el-row>
728
+           </el-form>
729
+         
730
+          </span>
731
+          <span slot="footer" class="dialog-footer">
732
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
733
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
734
+          </span>
735
+        </el-dialog>
744 736
   </div>
745 737
 
746 738
 
@@ -750,7 +742,7 @@
750 742
   import axios from 'axios'
751 743
   import multiSelectBox from './MultiSelectBox'
752 744
   import { getDataConfig } from '@/utils/data'
753
-  import { postAssessmentBeforeDislysis, CreateDryWeight } from '@/api/dialysis'
745
+  import { postAssessmentBeforeDislysis, CreateDryWeight,saveInformation } from '@/api/dialysis'
754 746
   import store from '@/store'
755 747
   import { uParseTime } from '@/utils/tools'
756 748
   import { parseTime } from '@/utils'
@@ -893,7 +885,10 @@
893 885
         thrombuShow:false,
894 886
         body_weight_before:"",
895 887
         point_punctures:[],
896
-       
888
+        infoDialogVisible:false,
889
+        selected_date:"",
890
+        remark:""
891
+
897 892
       }
898 893
     },
899 894
     props: {
@@ -965,7 +960,9 @@
965 960
             filedList[i].is_show == 1
966 961
           ) {
967 962
             // console.log(filedList[i],'false')
968
-            if (name == "血管通路"||name == "导管打折"||name == '出血'||name == '血栓'||name == '围手术期'||name=='血管杂音'||name=='急诊'||name=='中心静脉导置管') {
963
+            if (name == "血管通路"||name == "导管打折"||name == '出血'||name == '血栓'||
964
+            name == '围手术期'||name=='血管杂音'||name=='急诊'||name=='中心静脉导置管' 
965
+            ) {
969 966
             return [
970 967
               { required: true, message: `请输入${name}` },
971 968
               {
@@ -1428,6 +1425,9 @@
1428 1425
           
1429 1426
           if (response.data.state == 0) {
1430 1427
             this.$message.error(response.data.msg)
1428
+            if(response.data.code == 600000008){
1429
+              this.infoDialogVisible = true
1430
+            }
1431 1431
             return false
1432 1432
           } else {
1433 1433
             this.$notify({
@@ -1562,6 +1562,23 @@
1562 1562
           }
1563 1563
         }
1564 1564
         return user_name
1565
+      },
1566
+    
1567
+      saveInformation(){
1568
+        var params = {
1569
+          selected_date:this.selected_date,
1570
+          patient_id:this.$route.query.patient_id,
1571
+          record_date:this.$route.query.date,
1572
+          module:2,
1573
+          remark:this.remark,
1574
+        }
1575
+        saveInformation(params).then(response=>{
1576
+           if(response.data.state == 1){
1577
+             var information = response.data.data.information
1578
+             this.$message.success("审核成功!")
1579
+             this.infoDialogVisible = false
1580
+           }
1581
+        })
1565 1582
       }
1566 1583
       
1567 1584
     },

+ 64 - 2
src/xt_pages/dialysis/details/dialog/computer_dialog.vue View File

@@ -343,6 +343,41 @@
343 343
         </el-form-item>
344 344
       </el-form>
345 345
     </el-dialog>
346
+  
347
+
348
+     <el-dialog
349
+          title="提示"
350
+          :visible.sync="infoDialogVisible"
351
+          width="30%">
352
+          <span>
353
+           <el-form>
354
+             <el-row>
355
+               <span>申请日期:</span>
356
+                <span>
357
+                    <el-date-picker
358
+                      type="datetime"
359
+                      format="yyyy-MM-dd HH:mm"
360
+                      value-format="yyyy-MM-dd HH:mm"
361
+                      placeholder="选择时间"
362
+                      v-model="selected_date"
363
+                  ></el-date-picker>
364
+                </span>
365
+             </el-row>
366
+             <el-row>
367
+               <span>备注:</span>
368
+                <span>
369
+                   <el-input v-model="remark" style="width:200px"></el-input>
370
+                </span>
371
+             </el-row>
372
+           </el-form>
373
+         
374
+          </span>
375
+          <span slot="footer" class="dialog-footer">
376
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
377
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
378
+          </span>
379
+        </el-dialog>
380
+
346 381
   </div>
347 382
 </template>
348 383
 
@@ -353,6 +388,7 @@ import {
353 388
   PostModifyStartDialysis,
354 389
   startDialysis,
355 390
 } from "@/api/dialysis_record";
391
+  import { saveInformation } from '@/api/dialysis'
356 392
 import { uParseTime } from "@/utils/tools";
357 393
 import { getDataConfig } from "@/utils/data";
358 394
 import { parseTime } from "@/utils";
@@ -420,7 +456,10 @@ export default {
420 456
       irrigations: [],
421 457
       summary:[],
422 458
       blood_access_option_name:"",
423
-      value2:""
459
+      value2:"",
460
+      infoDialogVisible:false,
461
+      selected_date:"",
462
+      remark:""
424 463
     };
425 464
   },
426 465
   props: {
@@ -891,7 +930,11 @@ export default {
891 930
               this.$emit("monitor", resp.data.monitor);
892 931
               this.$message.success("上机成功");
893 932
             } else {
933
+
894 934
               this.$message.error(resp.msg);
935
+              if(resp.code == 600000008){
936
+                this.infoDialogVisible = true
937
+              }
895 938
             }
896 939
           });
897 940
         } else {
@@ -941,6 +984,9 @@ export default {
941 984
           }
942 985
         } else {
943 986
           this.$message.error(resp.msg);
987
+          if(response.data.code == 600000008){
988
+            this.infoDialogVisible = true
989
+          }
944 990
         }
945 991
       });
946 992
         }else{
@@ -1094,7 +1140,23 @@ export default {
1094 1140
       }
1095 1141
 
1096 1142
       return name
1097
-    }
1143
+    },
1144
+    saveInformation(){
1145
+        var params = {
1146
+          selected_date:this.selected_date,
1147
+          patient_id:this.$route.query.patient_id,
1148
+          record_date:this.$route.query.date,
1149
+          module:2,
1150
+          remark:this.remark,
1151
+        }
1152
+        saveInformation(params).then(response=>{
1153
+           if(response.data.state == 1){
1154
+             var information = response.data.data.information
1155
+             this.$message.success("审核成功!")
1156
+             this.infoDialogVisible = false
1157
+           }
1158
+        })
1159
+      }
1098 1160
   },
1099 1161
 };
1100 1162
 </script>

File diff suppressed because it is too large
+ 644 - 462
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue


+ 65 - 1
src/xt_pages/dialysis/details/dialog/doubleCheckDialog.vue View File

@@ -1,4 +1,5 @@
1 1
 <template>
2
+   <div>
2 3
   <el-dialog
3 4
     title="双人核对"
4 5
     :visible.sync="isVisibility"
@@ -291,10 +292,50 @@
291 292
       >
292 293
     </div>
293 294
   </el-dialog>
295
+
296
+
297
+
298
+    <el-dialog
299
+          title="提示"
300
+          :visible.sync="infoDialogVisible"
301
+          width="30%">
302
+          <span>
303
+           <el-form>
304
+             <el-row>
305
+               <span>申请日期:</span>
306
+                <span>
307
+                    <el-date-picker
308
+                      type="datetime"
309
+                      format="yyyy-MM-dd HH:mm"
310
+                      value-format="yyyy-MM-dd HH:mm"
311
+                      placeholder="选择时间"
312
+                      v-model="selected_date"
313
+                  ></el-date-picker>
314
+                </span>
315
+             </el-row>
316
+             <el-row>
317
+               <span>备注:</span>
318
+                <span>
319
+                   <el-input v-model="remark" style="width:200px"></el-input>
320
+                </span>
321
+             </el-row>
322
+           </el-form>
323
+         
324
+          </span>
325
+          <span slot="footer" class="dialog-footer">
326
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
327
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
328
+          </span>
329
+        </el-dialog>
330
+ </div>
331
+
332
+ 
333
+
334
+  
294 335
 </template>
295 336
 
296 337
 <script>
297
-import { postDoubleCheck, changeRole } from "@/api/dialysis";
338
+import { postDoubleCheck, changeRole,saveInformation } from "@/api/dialysis";
298 339
 import { uParseTime } from "@/utils/tools";
299 340
 import { parseTime } from "@/utils";
300 341
 import { getDataConfig } from "@/utils/data";
@@ -357,6 +398,9 @@ export default {
357 398
       displace_liqui_value: "置换液总量:",
358 399
       job_number: "",
359 400
       org_id: 0,
401
+      infoDialogVisible:false,
402
+      selected_date:"",
403
+      remark:""
360 404
     };
361 405
   },
362 406
   methods: {
@@ -510,6 +554,9 @@ export default {
510 554
           console.log(ParamsQuery, "提交参数");
511 555
           postDoubleCheck(ParamsQuery).then((response) => {
512 556
             if (response.data.state == 0) {
557
+               if(response.data.code == 600000008){
558
+                this.infoDialogVisible = true
559
+              }
513 560
               this.$message.error(response.data.msg);
514 561
               return false;
515 562
             } else {
@@ -1841,6 +1888,23 @@ export default {
1841 1888
           (nowMinutes < 10 ? "0" + nowMinutes : nowMinutes);
1842 1889
       }
1843 1890
     },
1891
+
1892
+   saveInformation(){
1893
+        var params = {
1894
+          selected_date:this.selected_date,
1895
+          patient_id:this.$route.query.patient_id,
1896
+          record_date:this.$route.query.date,
1897
+          module:5,
1898
+          remark:this.remark,
1899
+        }
1900
+        saveInformation(params).then(response=>{
1901
+           if(response.data.state == 1){
1902
+             var information = response.data.data.information
1903
+             this.$message.success("审核成功!")
1904
+             this.infoDialogVisible = false
1905
+           }
1906
+        })
1907
+      }
1844 1908
   },
1845 1909
   created() {
1846 1910
     var date = this.$route.query && this.$route.query.date;

+ 69 - 2
src/xt_pages/dialysis/details/dialog/finish_dialog.vue View File

@@ -98,13 +98,48 @@
98 98
       v-on:dialog-comfirm="innerDialogComfirm"
99 99
       v-on:dialog-cancle="innerDialogCancle"
100 100
     ></multi-select-box>
101
+    
101 102
 
103
+       <el-dialog
104
+          title="提示"
105
+          :visible.sync="infoDialogVisible"
106
+          width="30%">
107
+          <span>
108
+           <el-form>
109
+             <el-row>
110
+               <span>申请日期:</span>
111
+                <span>
112
+                    <el-date-picker
113
+                      type="datetime"
114
+                      format="yyyy-MM-dd HH:mm"
115
+                      value-format="yyyy-MM-dd HH:mm"
116
+                      placeholder="选择时间"
117
+                      v-model="selected_date"
118
+                  ></el-date-picker>
119
+                </span>
120
+             </el-row>
121
+             <el-row>
122
+               <span>备注:</span>
123
+                <span>
124
+                   <el-input v-model="remark" style="width:200px"></el-input>
125
+                </span>
126
+             </el-row>
127
+           </el-form>
128
+         
129
+          </span>
130
+          <span slot="footer" class="dialog-footer">
131
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
132
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
133
+          </span>
134
+        </el-dialog>
135
+  
102 136
   </div>
103 137
 </template>
104 138
 
105 139
 <script>
106 140
   import axios from 'axios'
107 141
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
142
+   import { saveInformation } from '@/api/dialysis'
108 143
   import { parseTime } from '@/utils'
109 144
   import multiSelectBox from './MultiSelectBox'
110 145
   import request from '@/utils/request'
@@ -149,7 +184,16 @@
149 184
         cruorOptions: [],
150 185
         required:false,
151 186
         education:[],
152
-       
187
+        infoDialogVisible:false,
188
+        selected_date:"",
189
+        pickerOptions: {
190
+          disabledDate(time) {
191
+            return time.getTime() > Date.now()
192
+          }
193
+        },
194
+        remark:"",
195
+        infoDialogVisible:false,
196
+        selected_date:"",
153 197
       }
154 198
     },
155 199
     props: {
@@ -378,7 +422,9 @@
378 422
             PostModifyFinishDialysis(ParamsQuery).then(response => {
379 423
               if (response.data.state == 0) {
380 424
                 this.$message.error(response.data.msg)
381
-
425
+                 if(response.data.code == 600000008){
426
+                  this.infoDialogVisible = true
427
+                 }
382 428
                 return false;
383 429
               } else {
384 430
                 this.$message.success("修改成功")
@@ -432,6 +478,9 @@
432 478
 
433 479
               } else {
434 480
                 this.$message.error(resp.msg)
481
+               if(response.data.code == 600000008){
482
+                  this.infoDialogVisible = true
483
+                }
435 484
               }
436 485
             })
437 486
           }else{
@@ -522,6 +571,24 @@
522 571
       innerDialogCancle: function() {
523 572
         this.InnerDialogProps.visibility = false
524 573
       },
574
+
575
+      saveInformation(){
576
+        var params = {
577
+          selected_date:this.selected_date,
578
+          patient_id:this.$route.query.patient_id,
579
+          record_date:this.$route.query.date,
580
+          module:1,
581
+          remark:this.remark,
582
+        }
583
+        console.log("params32222222222----",params)
584
+        saveInformation(params).then(response=>{
585
+           if(response.data.state == 1){
586
+             var information = response.data.data.information
587
+             this.$message.success("审核成功!")
588
+             this.infoDialogVisible = false
589
+           }
590
+        })
591
+      }
525 592
     }
526 593
   }
527 594
 </script>

+ 154 - 36
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue View File

@@ -236,10 +236,12 @@
236 236
                 template_id == 56 ||
237 237
                 template_id == 60 ||
238 238
                 org_id == 10210 ||
239
-                org_id == 9555 
239
+                org_id == 9555
240 240
                 || org_id == 10432
241 241
                 || org_id == 10445
242
-                || org_id == 10410) &&
242
+                || org_id == 10410 ||
243
+                org_id == 10495 ||
244
+                org_id == 10485) &&
243 245
                 org_id!=10387
244 246
             "
245 247
           >
@@ -250,14 +252,14 @@
250 252
                   ? scope.row.ultrafiltration_volume
251 253
                   : "0"
252 254
               }}
253
-              </span> 
255
+              </span>
254 256
                <span v-if="org_id != 10440 && org_id!=9671">
255 257
               {{
256 258
                 scope.row.ultrafiltration_volume
257 259
                   ? scope.row.ultrafiltration_volume
258 260
                   : ""
259 261
               }}
260
-              </span> 
262
+              </span>
261 263
             </template>
262 264
           </el-table-column>
263 265
           <el-table-column
@@ -305,9 +307,10 @@
305 307
               template_id != 56 &&
306 308
               template_id != 60 &&
307 309
               org_id!= 10210 &&
308
-              org_id != 9555 
310
+              org_id != 9555
309 311
               && org_id!=10432 && org_id!=10445
310
-              && org_id!=10410)
312
+              && org_id!=10410 && org_id!=10495 &&
313
+               org_id!=10485 )
311 314
               || org_id == 10387
312 315
             "
313 316
           >
@@ -359,7 +362,8 @@
359 362
                 template_id == 60 ||
360 363
                 org_id == 10432 ||
361 364
                 org_id == 10445 ||
362
-                org_id == 10410)
365
+                org_id == 10410 ||
366
+                org_id == 10495)
363 367
                 && org_id!=10387
364 368
             "
365 369
           >
@@ -410,7 +414,7 @@
410 414
               template_id != 60 &&
411 415
               org_id!=10432 &&
412 416
               org_id!=10445 &&
413
-              org_id!=10410) || 
417
+              org_id!=10410 && org_id!=10495) ||
414 418
               org_id == 10387
415 419
             "
416 420
           >
@@ -469,10 +473,10 @@
469 473
                 template_id == 53 ||
470 474
                 template_id == 54 ||
471 475
                 template_id == 56 ||
472
-                org_id ==10432 || 
473
-                org_id ==10445 || 
476
+                org_id ==10432 ||
477
+                org_id ==10445 ||
474 478
                 org_id ==10410
475
-              
479
+
476 480
                )
477 481
             "
478 482
           >
@@ -498,7 +502,7 @@
498 502
               template_id != 53 &&
499 503
               template_id != 54 &&
500 504
               template_id != 56 &&
501
-              org_id !=10432 && 
505
+              org_id !=10432 &&
502 506
               org_id !=10445 &&
503 507
               org_id !=10410
504 508
             "
@@ -851,6 +855,30 @@
851 855
             </template>
852 856
           </el-table-column>
853 857
 
858
+          <el-table-column
859
+            prop="heparin"
860
+            align="center"
861
+            label="置换液速度(ml/h)"
862
+            width="140"
863
+            v-if="isShow('置换液速度')"
864
+          >
865
+            <template slot-scope="scope">
866
+              {{ scope.row.replacement_speed }}
867
+            </template>
868
+          </el-table-column>
869
+
870
+          <el-table-column
871
+            prop="heparin"
872
+            align="center"
873
+            label="碳酸氢钠用量(ml)"
874
+            width="140"
875
+            v-if="isShow('碳酸氢钠用量')"
876
+          >
877
+            <template slot-scope="scope">
878
+              {{ scope.row.dicarbonate }}
879
+            </template>
880
+          </el-table-column>
881
+
854 882
           <el-table-column
855 883
             prop="heparin"
856 884
             align="center"
@@ -879,7 +907,7 @@
879 907
           </el-table-column>
880 908
 
881 909
           <el-table-column
882
-           
910
+
883 911
             align="center"
884 912
             label="病情变化"
885 913
             width="130"
@@ -887,8 +915,8 @@
887 915
           >
888 916
            <template slot-scope="scope">
889 917
              {{scope.row.symptom}}
890
-            
891
-            
918
+
919
+
892 920
              <span v-if="(scope.$index == monitors.length - 1) && (org_id == 0 || org_id == 9671 || org_id == 10340)">累计血容量:{{scope.row.accumulated_blood_volume }}L</span>
893 921
             </template>
894 922
           </el-table-column>
@@ -1102,7 +1130,7 @@
1102 1130
                 template_id == 56 ||
1103 1131
                 template_id == 47 ||
1104 1132
                 template_id == 60 ||
1105
-                org_id== 10432 || 
1133
+                org_id== 10432 ||
1106 1134
                 org_id== 10445 ||
1107 1135
                 org_id== 10410) &&
1108 1136
                 org_id!=10387
@@ -1147,7 +1175,7 @@
1147 1175
               template_id != 56 &&
1148 1176
               template_id != 47 &&
1149 1177
               template_id != 60 &&
1150
-              org_id!=10432 && 
1178
+              org_id!=10432 &&
1151 1179
               org_id!=10445 &&
1152 1180
               org_id!=10410)
1153 1181
               || org_id == 10387
@@ -1203,7 +1231,9 @@
1203 1231
                 org_id == 10340 ||
1204 1232
                 org_id == 10432 ||
1205 1233
                 org_id == 10445 ||
1206
-                org_id == 10410) 
1234
+                org_id == 10410 ||
1235
+                org_id == 10495 ||
1236
+                org_id == 10485)
1207 1237
                 && org_id!=10387
1208 1238
             "
1209 1239
           >
@@ -1255,9 +1285,12 @@
1255 1285
               org_id !=  10210 &&
1256 1286
               org_id !=  10340 &&
1257 1287
               org_id != 9555 &&
1258
-              org_id!=10432 && 
1259
-              org_id!=10445 && 
1260
-              org_id!=10410)
1288
+              org_id!=10432 &&
1289
+              org_id!=10445 &&
1290
+              org_id!=10410 &&
1291
+              org_id!=10495 &&
1292
+              org_id!=10485
1293
+              )
1261 1294
               || org_id == 10387
1262 1295
             "
1263 1296
           >
@@ -1354,8 +1387,8 @@
1354 1387
               template_id != 54 &&
1355 1388
               template_id != 56 &&
1356 1389
               template_id != 48 &&
1357
-              org_id!=10340 && 
1358
-              org_id!=10432 && 
1390
+              org_id!=10340 &&
1391
+              org_id!=10432 &&
1359 1392
               org_id!=10445
1360 1393
             "
1361 1394
           >
@@ -1568,6 +1601,20 @@
1568 1601
             </el-form-item>
1569 1602
           </el-col>
1570 1603
 
1604
+          <el-col :span="8" v-if="isShow('置换液速度')">
1605
+            <el-form-item label="置换液速度(ml/h):" :prop="isName('置换液速度')"
1606
+              :rules="isCheckmust('置换液速度')">
1607
+              <el-input v-model="form.replacement_speed"></el-input>
1608
+            </el-form-item>
1609
+          </el-col>
1610
+
1611
+          <el-col :span="8" v-if="isShow('碳酸氢钠用量')">
1612
+            <el-form-item label="碳酸氢钠用量(ml):" :prop="isName('碳酸氢钠用量')"
1613
+              :rules="isCheckmust('碳酸氢钠用量')">
1614
+              <el-input v-model="form.dicarbonate"></el-input>
1615
+            </el-form-item>
1616
+          </el-col>
1617
+
1571 1618
           <el-col :span="8" v-if="isShow('滤前压')">
1572 1619
             <el-form-item label="滤前压(mmHg):">
1573 1620
               <el-input v-model="form.filter_pressure"></el-input>
@@ -1707,6 +1754,40 @@
1707 1754
       </div>
1708 1755
       <!--</div>-->
1709 1756
     </el-dialog>
1757
+
1758
+
1759
+    <el-dialog
1760
+      title="提示"
1761
+      :visible.sync="infoDialogVisible"
1762
+      width="30%">
1763
+      <span>
1764
+        <el-form>
1765
+          <el-row>
1766
+            <span>申请日期:</span>
1767
+            <span>
1768
+                <el-date-picker
1769
+                  type="datetime"
1770
+                  format="yyyy-MM-dd HH:mm"
1771
+                  value-format="yyyy-MM-dd HH:mm"
1772
+                  placeholder="选择时间"
1773
+                  v-model="selected_date"
1774
+              ></el-date-picker>
1775
+            </span>
1776
+          </el-row>
1777
+          <el-row>
1778
+            <span>备注:</span>
1779
+            <span>
1780
+                <el-input v-model="remark" style="width:200px"></el-input>
1781
+            </span>
1782
+          </el-row>
1783
+        </el-form>
1784
+      
1785
+      </span>
1786
+      <span slot="footer" class="dialog-footer">
1787
+        <el-button @click="infoDialogVisible = false">取 消</el-button>
1788
+        <el-button type="primary" @click="saveInformation">确 定</el-button>
1789
+      </span>
1790
+    </el-dialog>
1710 1791
   </div>
1711 1792
 </template>
1712 1793
 
@@ -1719,7 +1800,7 @@ import {
1719 1800
   getTodayMonitor,
1720 1801
 } from "@/api/dialysis_record";
1721 1802
 import store from "@/store";
1722
-
1803
+import { saveInformation } from '@/api/dialysis'
1723 1804
 import request from "@/utils/request";
1724 1805
 
1725 1806
 export default {
@@ -1789,6 +1870,8 @@ export default {
1789 1870
         heparin_amount: "", //肝素量
1790 1871
         dehydration: "",
1791 1872
         filter_pressure:"",
1873
+        replacement_speed:"",
1874
+        dicarbonate:"",
1792 1875
       },
1793 1876
 
1794 1877
       table_current_row: null,
@@ -1805,6 +1888,9 @@ export default {
1805 1888
       anticoagulantsConfit: {},
1806 1889
       bloodPressureMmonitoringSite: [],
1807 1890
       complicationList: [],
1891
+      infoDialogVisible:false,
1892
+      selected_date:"",
1893
+      remark:""
1808 1894
     };
1809 1895
   },
1810 1896
   props: {
@@ -1846,7 +1932,7 @@ export default {
1846 1932
     );
1847 1933
     this.complicationList = getDataConfig("hemodialysis", "complication");
1848 1934
 
1849
-   
1935
+
1850 1936
   },
1851 1937
   methods: {
1852 1938
       isName(name) {
@@ -1863,13 +1949,13 @@ export default {
1863 1949
       for (let i = 0; i < filedList.length; i++) {
1864 1950
         if (
1865 1951
           filedList[i].module == 4
1866
-          &&filedList[i].filed_name_cn == name 
1952
+          &&filedList[i].filed_name_cn == name
1867 1953
           &&filedList[i].is_write == 1
1868 1954
         ) {
1869 1955
           // console.log(filedList[i].is_write,'false')
1870 1956
           // console.log(name,filedList[i].filed_name_cn,'难道不一样吗')
1871 1957
           return [{ required: true ,message:`请输入${name}` }];
1872
-        } 
1958
+        }
1873 1959
         // else {
1874 1960
         //   console.log(name,filedList[i].filed_name_cn,'难道不一样吗')
1875 1961
         //   // console.log(filedList[i].is_write,'true')
@@ -2011,7 +2097,7 @@ export default {
2011 2097
           ? (resp.monitor.operate_time + 3600) * 1000
2012 2098
           : Date.parse(new Date());
2013 2099
 
2014
-      
2100
+
2015 2101
         this.form.temperature = ""
2016 2102
 
2017 2103
         // this.last_monitor_record.pulse_frequency;
@@ -2076,7 +2162,7 @@ export default {
2076 2162
         this.form.dialysate_temperature = resp.monitor.dialysate_temperature
2077 2163
           ? resp.monitor.dialysate_temperature
2078 2164
           : "";
2079
-        
2165
+
2080 2166
          if(this.org_id == 9675 || this.org_id == 9671 || this.org_id == 10340 || this.org_id == 10469 || this.org_id == 10471){
2081 2167
             this.form.temperature = "36.5"
2082 2168
 
@@ -2119,7 +2205,7 @@ export default {
2119 2205
         }else{
2120 2206
            this.form.conductivity = resp.monitor.conductivity? resp.monitor.conductivity: "";
2121 2207
         }
2122
-      
2208
+
2123 2209
         this.form.monitor_anticoagulant = resp.monitor.monitor_anticoagulant
2124 2210
           ? resp.monitor.monitor_anticoagulant
2125 2211
           : "";
@@ -2151,7 +2237,7 @@ export default {
2151 2237
           : "";
2152 2238
          if(this.org_id == 9671 || this.org_id == 9675 || this.org_id == 10340){
2153 2239
             this.form.dialysate_temperature = 36.5
2154
-            
2240
+
2155 2241
          }
2156 2242
       });
2157 2243
     },
@@ -2202,7 +2288,7 @@ export default {
2202 2288
         if(this.org_id != 9671 && this.org_id != 10440){
2203 2289
           this.form.ultrafiltration_volume = "";
2204 2290
         }
2205
-       
2291
+
2206 2292
         this.form.ultrafiltration_rate = "";
2207 2293
         this.form.arterial_pressure = "";
2208 2294
         this.form.arterial_pressure_type = 1;
@@ -2277,7 +2363,7 @@ export default {
2277 2363
             ? monitor.ultrafiltration_volume
2278 2364
             : "";
2279 2365
         }
2280
-        
2366
+
2281 2367
         this.form.ultrafiltration_rate = monitor.ultrafiltration_rate
2282 2368
           ? monitor.ultrafiltration_rate
2283 2369
           : "";
@@ -2290,7 +2376,7 @@ export default {
2290 2376
           ? monitor.arterial_pressure
2291 2377
           : "";
2292 2378
         }
2293
-       
2379
+
2294 2380
         this.form.arterial_pressure_type = monitor.arterial_pressure_type
2295 2381
           ? monitor.arterial_pressure_type
2296 2382
           : "";
@@ -2353,7 +2439,7 @@ export default {
2353 2439
           : "";
2354 2440
         this.form.filter_pressure = monitor.filter_pressure
2355 2441
         ? monitor.filter_pressure
2356
-        : "";  
2442
+        : "";
2357 2443
         // 设置三个下拉框的值,直接调用事件偷懒
2358 2444
         this.symptomTextareaBlur();
2359 2445
         this.disposeTextareaBlur();
@@ -2498,6 +2584,16 @@ export default {
2498 2584
           ? 0
2499 2585
           : parseFloat(this.form.dehydration);
2500 2586
       this.form.filter_pressure = this.form.filter_pressure?this.form.filter_pressure:""
2587
+
2588
+      this.form.replacement_speed =
2589
+        parseFloat(this.form.replacement_speed) == NaN
2590
+          ? 0
2591
+          : parseFloat(this.form.replacement_speed);
2592
+
2593
+          this.form.dicarbonate =
2594
+        parseFloat(this.form.dicarbonate) == NaN
2595
+          ? 0
2596
+          : parseFloat(this.form.dicarbonate);
2501 2597
       let mode = "1";
2502 2598
       if (this.form.id > 0) {
2503 2599
         mode = "2";
@@ -2657,6 +2753,9 @@ export default {
2657 2753
                 ? 0
2658 2754
                 : parseFloat(this.form.heparin_amount);
2659 2755
             this.$message.error(resp.msg);
2756
+            if(resp.code == 600000008){
2757
+              this.infoDialogVisible = false
2758
+            }
2660 2759
           }
2661 2760
         }
2662 2761
       );
@@ -2667,7 +2766,7 @@ export default {
2667 2766
           }
2668 2767
         });
2669 2768
 
2670
-      
2769
+
2671 2770
     },
2672 2771
 
2673 2772
     symptomTextareaBlur: function () {
@@ -2754,6 +2853,9 @@ export default {
2754 2853
                 }
2755 2854
               }
2756 2855
               this.$message.success("删除成功");
2856
+              if(response.data.code =600000008){
2857
+                this.infoDialogVisible = true
2858
+              }
2757 2859
             }
2758 2860
           });
2759 2861
         })
@@ -2805,6 +2907,22 @@ export default {
2805 2907
       }
2806 2908
       return name;
2807 2909
     },
2910
+   saveInformation(){
2911
+        var params = {
2912
+          selected_date:this.selected_date,
2913
+          patient_id:this.$route.query.patient_id,
2914
+          record_date:this.$route.query.date,
2915
+          module:7,
2916
+          remark:this.remark,
2917
+        }
2918
+        saveInformation(params).then(response=>{
2919
+           if(response.data.state == 1){
2920
+             var information = response.data.data.information
2921
+             this.$message.success("审核成功!")
2922
+             this.infoDialogVisible = false
2923
+           }
2924
+        })
2925
+      }
2808 2926
   },
2809 2927
   watch: {
2810 2928
     patient: {

+ 69 - 1
src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue View File

@@ -1,4 +1,5 @@
1 1
 <template>
2
+ <div>
2 3
   <el-dialog
3 4
     class="newDialog"
4 5
     title="治疗小结"
@@ -152,11 +153,49 @@
152 153
         >保 存</el-button> <!--  -->
153 154
     </div>
154 155
   </el-dialog>
156
+
157
+       <el-dialog
158
+          title="提示"
159
+          :visible.sync="infoDialogVisible"
160
+          width="30%">
161
+          <span>
162
+           <el-form>
163
+             <el-row>
164
+               <span>申请日期:</span>
165
+                <span>
166
+                    <el-date-picker
167
+                      type="datetime"
168
+                      format="yyyy-MM-dd HH:mm"
169
+                      value-format="yyyy-MM-dd HH:mm"
170
+                      placeholder="选择时间"
171
+                      v-model="selected_date"
172
+                  ></el-date-picker>
173
+                </span>
174
+             </el-row>
175
+             <el-row>
176
+               <span>备注:</span>
177
+                <span>
178
+                   <el-input v-model="remark" style="width:200px"></el-input>
179
+                </span>
180
+             </el-row>
181
+           </el-form>
182
+         
183
+          </span>
184
+          <span slot="footer" class="dialog-footer">
185
+            <el-button @click="infoDialogVisible = false">取 消</el-button>
186
+            <el-button type="primary" @click="saveInformation">确 定</el-button>
187
+          </span>
188
+        </el-dialog>
189
+</div>
190
+
191
+
192
+
193
+
155 194
 </template>
156 195
 
157 196
 <script>
158 197
 import { getDataConfig } from "@/utils/data";
159
-import { postTreatmentsummary } from "@/api/dialysis";
198
+import { postTreatmentsummary,saveInformation } from "@/api/dialysis";
160 199
 import { uParseTime } from "@/utils/tools";
161 200
 import store from "@/store";
162 201
 import request from "@/utils/request";
@@ -208,6 +247,14 @@ export default {
208 247
       },
209 248
       //
210 249
       date: "",
250
+     infoDialogVisible:false,
251
+      selected_date:"",
252
+      pickerOptions: {
253
+        disabledDate(time) {
254
+          return time.getTime() > Date.now()
255
+        }
256
+      },
257
+      remark:""
211 258
     };
212 259
   },
213 260
   methods: {
@@ -352,6 +399,9 @@ export default {
352 399
           postTreatmentsummary(ParamsQuery).then((response) => {
353 400
             if (response.data.state == 0) {
354 401
               this.$message.error(response.data.msg);
402
+               if(response.data.code == 600000008){
403
+              this.infoDialogVisible = true
404
+             }
355 405
               return false;
356 406
             } else {
357 407
               this.$notify({
@@ -430,6 +480,24 @@ export default {
430 480
       }
431 481
       return false;
432 482
     },
483
+
484
+   saveInformation(){
485
+        var params = {
486
+          selected_date:this.selected_date,
487
+          patient_id:this.$route.query.patient_id,
488
+          record_date:this.$route.query.date,
489
+          module:1,
490
+          remark:this.remark,
491
+        }
492
+       
493
+      saveInformation(params).then(response=>{
494
+           if(response.data.state == 1){
495
+             var information = response.data.data.information
496
+             this.$message.success("审核成功!")
497
+             this.infoDialogVisible = false
498
+           }
499
+        })
500
+     }
433 501
   },
434 502
   watch: {
435 503
     isVisibility(val) {},

+ 2 - 2
src/xt_pages/dialysis/details/dialysisMonitoring.vue View File

@@ -14,8 +14,8 @@
14 14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15 15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16 16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
17
-          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555 || template_id == 53 || template_id == 54 || template_id == 56 || template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10340  || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410) &&this.$store.getters.xt_user.template_info.org_id!=10387 " width="76px" > 超滤量(ml)</th>
18
-          <th v-if=" isShow('超滤量') && (template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47 && template_id != 48 && template_id != 53  && template_id != 54  && template_id != 56  && template_id != 60 && this.$store.getters.xt_user.template_info.org_id != 9555 &&  this.$store.getters.xt_user.template_info.org_id != 10340 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410) || this.$store.getters.xt_user.template_info.org_id == 10387"  width="76px"> 超滤量(L) </th>
17
+          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555 || template_id == 53 || template_id == 54 || template_id == 56 || template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10340  || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410 || this.$store.getters.xt_user.template_info.org_id == 10485) &&this.$store.getters.xt_user.template_info.org_id!=10387 " width="76px" > 超滤量(ml)</th>
18
+          <th v-if=" isShow('超滤量') && (template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47 && template_id != 48 && template_id != 53  && template_id != 54  && template_id != 56  && template_id != 60 && this.$store.getters.xt_user.template_info.org_id != 9555 &&  this.$store.getters.xt_user.template_info.org_id != 10340 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410 && this.$store.getters.xt_user.template_info.org_id!=10485) || this.$store.getters.xt_user.template_info.org_id == 10387"  width="76px"> 超滤量(L) </th>
19 19
           <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38 || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47  || template_id == 48  || template_id == 53 || template_id == 54 || template_id == 56  || template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410) && this.$store.getters.xt_user.template_info.org_id!=10387" width="50px"> 超滤率 <br />(ml/h) </th>
20 20
           <th v-if="isShow('超滤率') && (template_id !=6 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38  && template_id !=41 && template_id !=43 && template_id !=44 && template_id !=46 && template_id !=47 &&  template_id !=48 &&  template_id !=53 &&  template_id !=54 &&  template_id !=56 &&  template_id !=60 && this.$store.getters.xt_user.template_info.org_id!=10432  && this.$store.getters.xt_user.template_info.org_id!=10445 && this.$store.getters.xt_user.template_info.org_id!=10410) || this.$store.getters.xt_user.template_info.org_id==10387" width="50px"> 超滤率 <br />(L/h) </th>
21 21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>

File diff suppressed because it is too large
+ 998 - 0
src/xt_pages/dialysis/dialysisFlow.vue


+ 45 - 9
src/xt_pages/dialysis/dialysisPrintOrder.vue View File

@@ -105,14 +105,14 @@
105 105
       </template>
106 106
       <template
107 107
         v-if="
108
-          org_template_info.template_id == 6 ||
108
+          (org_template_info.template_id == 6 ||
109 109
           org_template_info.template_id == 10 ||
110 110
           org_template_info.template_id == 11 ||
111 111
           org_template_info.template_id == 50 ||
112 112
           org_template_info.template_id == 52 ||
113 113
           org_template_info.template_id == 53  ||
114
-          org_template_info.template_id == 64  ||
115
-          $store.getters.xt_user.org.id == 0 
114
+          org_template_info.template_id == 64)
115
+          && $store.getters.xt_user.org.id != 0
116 116
         "
117 117
       >
118 118
       <div>
@@ -798,6 +798,19 @@
798 798
         </div>
799 799
       </template>
800 800
 
801
+      <template v-if="org_template_info.template_id == 65  || $store.getters.xt_user.org.id == 0 ">
802
+        <div>
803
+          <el-button
804
+            :loading="loading"
805
+            size="small"
806
+            icon="el-icon-printer"
807
+            @click="printThisPage"
808
+            type="primary"
809
+            >打印</el-button
810
+          >
811
+        </div>
812
+      </template>
813
+
801 814
     </div>
802 815
     <div class="app-container" style="min-height: 0">
803 816
       <!--<div class="order-print-btn"-->
@@ -934,8 +947,7 @@
934 947
           <DialysisPrintOrderTwo
935 948
             v-bind:childResponse="childResponse"
936 949
             v-if="
937
-              org_template_info.template_id == 2 ||
938
-              org_template_info.template_id == 0
950
+              org_template_info.template_id == 2
939 951
             "
940 952
           ></DialysisPrintOrderTwo>
941 953
 
@@ -959,7 +971,7 @@
959 971
                                   
960 972
           <DialysisPrintOrderSix
961 973
             v-bind:childResponse="childResponse"
962
-            v-if="org_template_info.template_id == 6"
974
+            v-if="org_template_info.template_id == 6 && $store.getters.xt_user.org.id!=0"
963 975
           >
964 976
           </DialysisPrintOrderSix>
965 977
 
@@ -1245,6 +1257,12 @@
1245 1257
             v-if="org_template_info.template_id == 64">
1246 1258
 
1247 1259
           </DialysisPrintOrderSixtyfour>
1260
+
1261
+          <DialysisPrintOrderSixtyFive
1262
+              v-bind:childResponse="childResponse"
1263
+            v-if="org_template_info.template_id == 65 || $store.getters.xt_user.org.id ==0">
1264
+
1265
+          </DialysisPrintOrderSixtyFive>
1248 1266
         </div>
1249 1267
       </el-container>
1250 1268
     </div>
@@ -1327,6 +1345,7 @@ import DialysisPrintOrderSixtyOne from "./template/DialysisPrintOrderSixtyOne"
1327 1345
 import DialysisPrintOrderSixtyTwo from "./template/DialysisPrintOrderSixtyTwo"
1328 1346
 // import DialysisPrintOrderSixtyThree from "./template/DialysisPrintOrderSixtyThree"
1329 1347
 import DialysisPrintOrderSixtyfour from './template/DialysisPrintOrderSixtyfour'
1348
+import DialysisPrintOrderSixtyFive from "./template/DialysisPrintOrderSixtyFive.vue"
1330 1349
 export default {
1331 1350
   name: "dialysisPrintOrder",
1332 1351
   components: {
@@ -1394,9 +1413,11 @@ export default {
1394 1413
     DialysisPrintOrderEight,
1395 1414
     DialysisPrintOrderNine,
1396 1415
     DialysisPrintOrderSixtyfour,
1416
+    DialysisPrintOrderSixtyFive,
1397 1417
     LabelBox,
1398 1418
     BreadCrumb,
1399
-  },
1419
+    DialysisPrintOrderSixtyFive
1420
+},
1400 1421
   data() {
1401 1422
     return {
1402 1423
       crumbs: [
@@ -1546,6 +1567,11 @@ export default {
1546 1567
       return "";
1547 1568
     },
1548 1569
     printThisPage() {
1570
+      // console.log("this.org_template_info.template_id",this.org_template_info.template_id)
1571
+      // if(this.$store.getters.xt_user.org.id == 0){
1572
+      //   this.org_template_info.template_id = 65
1573
+      // }
1574
+       
1549 1575
       var ptime = Math.round(new Date().getTime() / 1000);
1550 1576
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
1551 1577
 
@@ -1638,8 +1664,9 @@ export default {
1638 1664
         // this.org_template_info.template_id == 51 ||
1639 1665
         this.org_template_info.template_id == 58 ||
1640 1666
         this.org_template_info.template_id == 60 ||
1641
-        this.org_template_info.template_id == 61  ||
1642
-        this.org_template_info.template_id ==0
1667
+        this.org_template_info.template_id == 61
1668
+      
1669
+       
1643 1670
       ) {
1644 1671
         printJS({
1645 1672
           printable: "dialysis-print-box-1",
@@ -1954,6 +1981,15 @@ export default {
1954 1981
           scanStyles: false,
1955 1982
         });
1956 1983
         
1984
+      }else if (this.org_template_info.template_id == 65 || this.org_template_info.template_id == 6) {
1985
+        console.log("进来")
1986
+        printJS({
1987
+          printable: "dialysis-print-box-65",
1988
+          type: "html",
1989
+          style: style12,
1990
+          scanStyles: false,
1991
+        });
1992
+        
1957 1993
       }else if (
1958 1994
         this.org_template_info.template_id == 53
1959 1995
       ) {

+ 17 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderOne.vue View File

@@ -227,7 +227,23 @@
227 227
                   </tbody>
228 228
                 </table>
229 229
 
230
-                <table class="table-box">
230
+                <table class="table-box" v-if="org_id==10394 || org_id == 0">
231
+                  <tbody>
232
+                    <tr>
233
+                      <td width="40">内瘘:</td>
234
+                      <td width="800">
235
+                        <div class="under-line">
236
+                          &nbsp;
237
+                          <span v-if="predialysis&&predialysis.internal_fistula!=undefined">{{ predialysis.internal_fistula }}</span>
238
+                        </div>
239
+                      </td>
240
+                     
241
+                     
242
+                     
243
+                    </tr>
244
+                  </tbody>
245
+                </table>
246
+                <table class="table-box" v-if="org_id!=10394 && org_id!=0">
231 247
                   <tbody>
232 248
                     <tr>
233 249
                       <td width="40">内瘘:</td>

+ 31 - 4
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue View File

@@ -684,6 +684,28 @@
684 684
                       >
685 685
                         血浆胆红素吸附
686 686
                       </div>
687
+                      <div
688
+                        class="under_line"
689
+                        style="
690
+                          bwidth: 150px;
691
+                          text-align: center;
692
+                          font-weight: 600;
693
+                        "
694
+                        v-if="prescription.mode_id == 24"
695
+                      >
696
+                       I-HDF
697
+                      </div>
698
+                      <div
699
+                        class="under_line"
700
+                        style="
701
+                          bwidth: 150px;
702
+                          text-align: center;
703
+                          font-weight: 600;
704
+                        "
705
+                        v-if="prescription.mode_id == 25"
706
+                      >
707
+                       HD高通
708
+                      </div>
687 709
                       <div
688 710
                         class="under_line"
689 711
                         style="
@@ -921,10 +943,10 @@
921 943
                         class="under_line"
922 944
                         style="width: 100px; text-align: center"
923 945
                       >
924
-                        <span v-if="org_id == 10290 || org_id == 10318 || org_id== 10217 || org_id== 10188 || org_id== 9956 || org_id == 10440 || org_id == 0 || org_id == 10469 || org_id == 10478 || org_id == 10490">{{
946
+                        <span v-if="org_id == 10290 || org_id == 10318 || org_id== 10217 || org_id== 10188 || org_id== 9956 || org_id == 10440 || org_id == 0 || org_id == 10469 || org_id == 10478 || org_id == 10490 || org_id ==10495">{{
925 947
                           lastafterdialysis.weight_after
926 948
                         }}</span>
927
-                        <span v-if="org_id != 10290 && org_id != 10318  && org_id!= 10217 && org_id!=10188 && org_id!=9956 && org_id != 10440 && org_id!=0 && org_id!=10469 && org_id!=10478 && org_id!=10490">{{
949
+                        <span v-if="org_id != 10290 && org_id != 10318  && org_id!= 10217 && org_id!=10188 && org_id!=9956 && org_id != 10440 && org_id!=0 && org_id!=10469 && org_id!=10478 && org_id!=10490 && org_id!=10495">{{
928 950
                           predialysis.weight_after_last_transparency
929 951
                             ? predialysis.weight_after_last_transparency
930 952
                             : "未称重"
@@ -1424,7 +1446,10 @@
1424 1446
                         <td width="60" v-if="org_id == 9919">血温(°C)</td>
1425 1447
                         <td width="60" v-if="org_id == 9671">血温(°C)</td>
1426 1448
                         <td width="60" v-if="org_id!=9836&&org_id!=9919&&org_id!=9671">透析液温度(°C)</td>
1427
-                        <td width="50" v-if="org_id != 10121">电导度<br />(ms/cm)</td>
1449
+                        <td width="50" v-if="org_id != 10121">
1450
+                          <span v-if="org_id != 0 && org_id !=10469"> 电导度<br />(ms/cm)</span> 
1451
+                          <span v-if="org_id == 0 || org_id ==10469"> 钠浓度<br />(mmol/L)</span> 
1452
+                        </td>
1428 1453
                         <td width="50" v-if="org_id == 10121">SpO₂<br />(%)</td>
1429 1454
                         <td width="50" v-if="org_id != 3877 && org_id != 10449 && org_id != 0">超滤量<br />(ml)</td>
1430 1455
                         <td width="50" v-if="org_id ==3877 || org_id == 10449 || org_id ==0">累计超滤量<br />(ml)</td>
@@ -1517,7 +1542,9 @@
1517 1542
 
1518 1543
 
1519 1544
                         <td v-if="org_id != 9538 &&org_id != 10121">
1520
-                          {{ monitor.conductivity ? monitor.conductivity : "" }}
1545
+                          <span v-if="org_id!=0&&org_id!=10469"> {{ monitor.conductivity ? monitor.conductivity : "" }}</span>
1546
+                          <span v-if="org_id==0||org_id==10469"> {{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</span>
1547
+                          
1521 1548
                         </td>
1522 1549
 
1523 1550
                       

File diff suppressed because it is too large
+ 4051 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderSixtyFive.vue


+ 136 - 22
src/xt_pages/dialysis/template/DialysisPrintOrderSixtyfour.vue View File

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div>
2
+  <div >
3 3
     <!-- <el-button type="primary" @click="checkData">一键核对</el-button> -->
4 4
     <div id="dialysis-print-box-64">
5 5
       <div
@@ -130,6 +130,66 @@
130 130
                   <span v-else-if="prescription.anticoagulant == 11">那屈肝素</span>
131 131
                   <span v-else-if="prescription.anticoagulant == 12">无抗凝剂</span>
132 132
                   <span v-else-if="prescription.anticoagulant == 13">那屈肝素钙</span>
133
+                  <span v-else-if="prescription.anticoagulant == 14">肝素钙注射液</span>
134
+                  <span v-else-if="prescription.anticoagulant == 15">甲磺酸萘莫司他</span>
135
+                  &nbsp; 
136
+                  <span style="width:135px;display: inline-block;" 
137
+                  v-if=" prescription.anticoagulant != 1 && prescription.anticoagulant != 12 && prescription.anticoagulant != 5">
138
+                    首剂: {{ prescription.anticoagulant_shouji }} 
139
+                    <span v-if="prescription.anticoagulant == 4">mg</span>
140
+                    <span v-if="prescription.anticoagulant == 3">iu</span>
141
+                    <span v-if="prescription.anticoagulant == 2">iu</span>
142
+                    <span v-if="prescription.anticoagulant == 6">iu</span>
143
+                    <span v-if="prescription.anticoagulant == 7">iu</span>
144
+                    <span v-if="prescription.anticoagulant == 10">mg</span>
145
+                    <span v-if="prescription.anticoagulant == 8">iu</span>
146
+                    <span v-if="prescription.anticoagulant == 9">iu</span>
147
+                    <span v-if="prescription.anticoagulant == 11">mg</span>
148
+                    <span v-if="prescription.anticoagulant == 13">mg</span>
149
+                    <span v-if="prescription.anticoagulant == 14 || 
150
+                          prescription.anticoagulant == 15">mg
151
+                    </span>
152
+                    
153
+                  </span>
154
+                  &nbsp; 
155
+                  <span style="width:135px;display: inline-block;" 
156
+                  v-if="prescription.anticoagulant != 12 && prescription.anticoagulant != 1 ">
157
+                    追加: {{ prescription.anticoagulant_weichi  }} 
158
+                    <span v-if="prescription.anticoagulant == 5">ml/h</span>
159
+                    <span v-if="prescription.anticoagulant == 4">mg/h</span>
160
+                    <span v-if="prescription.anticoagulant == 3">iu/h</span>
161
+                    <span v-if="prescription.anticoagulant == 2">iu/h</span>
162
+                    <span v-if="prescription.anticoagulant == 6">iu/h</span>
163
+                    <span v-if="prescription.anticoagulant == 7">iu/h</span>
164
+                    <span v-if="prescription.anticoagulant == 10">mg/h</span>
165
+                    <span v-if="prescription.anticoagulant == 8">iu/h</span>
166
+                    <span v-if="prescription.anticoagulant == 9">iu/h</span>  
167
+                    <span v-if="prescription.anticoagulant == 11">mg/h</span>
168
+                    <span v-if="prescription.anticoagulant == 13">mg/h</span>
169
+                    <span v-if="prescription.anticoagulant == 14 || 
170
+                          prescription.anticoagulant == 15">mg/h
171
+                    </span>
172
+                  </span>
173
+                  
174
+                  &nbsp; 
175
+                  <span style="width:150px;display: inline-block;" 
176
+                  v-if="prescription.anticoagulant != 12 && prescription.anticoagulant != 1 && prescription.anticoagulant != 5 ">
177
+                    总量: {{ prescription.anticoagulant_zongliang  }} 
178
+                    <span v-if="prescription.anticoagulant == 4">mg</span>
179
+                    <span v-if="prescription.anticoagulant == 3">iu</span>
180
+                    <span v-if="prescription.anticoagulant == 2">iu</span>
181
+                    <span v-if="prescription.anticoagulant == 6">iu</span>
182
+                    <span v-if="prescription.anticoagulant == 7">iu</span>
183
+                    <span v-if="prescription.anticoagulant == 10">mg</span>
184
+                    <span v-if="prescription.anticoagulant == 8">iu</span>
185
+                    <span v-if="prescription.anticoagulant == 9">iu</span>  
186
+                    <span v-if="prescription.anticoagulant == 11">mg</span>
187
+                    <span v-if="prescription.anticoagulant == 13">mg</span>
188
+                    <span v-if="prescription.anticoagulant == 14 || 
189
+                          prescription.anticoagulant == 15">mg
190
+                    </span>
191
+                  </span>
192
+                 
133 193
                 </td>
134 194
               </tr>
135 195
               <tr>
@@ -150,9 +210,11 @@
150 210
                         : "/"
151 211
                     }}&nbsp;ml/min
152 212
                   </div>
153
-                  <div style="margin-left:70px ;display: inline-block;">
154
-                    实际预冲量:  &nbsp;ml
155
-                  </div>
213
+                  <!-- <div style="margin-left:70px ;display: inline-block;">
214
+                    实际预冲量:
215
+                    {{ prescription.pre_impulse ? prescription.pre_impulse : "/" }} 
216
+                     &nbsp;L
217
+                  </div> -->
156 218
                   <div style="margin-left:70px ; display: inline-block;">
157 219
                     医师签名:
158 220
 
@@ -182,11 +244,7 @@
182 244
                 <td>
183 245
                   <span>
184 246
                     透析(滤)器:
185
-                    {{
186
-                      prescription.dialyzer_perfusion_apparatus
187
-                        ? prescription.dialyzer_perfusion_apparatus
188
-                        : "/"
189
-                    }}
247
+                    {{ prescription.dialysis_dialyszers ? prescription.dialysis_dialyszers : "/" }}
190 248
                   </span>
191 249
                 </td>
192 250
                 <td>
@@ -291,22 +349,22 @@
291 349
                     <!-- border-bottom: 1px solid gray; border-right: 1px solid gray;-->
292 350
                       <tr style="">
293 351
                         <td rowspan="2" style=" ">时间</td>
294
-                        <td colspan="5" style=" ">透析参数</td>
295
-                        <td colspan="3" style=" ">生命体征</td>
296
-                        <td colspan="3" style=" ">治疗中病情变化</td>
352
+                        <td colspan="4" style=" ">透析参数</td>
353
+                        <td colspan="4" style=" ">生命体征</td>
354
+                        <td colspan="2" style=" ">治疗中病情变化</td>
297 355
                       </tr>
298 356
                       <tr style="">
299 357
                         <td style=" ">TMP<br />mmHg</td>
300 358
                         <td style=" ">静脉压<br />mmHg</td>
301 359
                         <td style=" ">血流量<br />ml/min</td>
302
-                        <td style="">脱水量<br />L</td>
360
+                        <td style="">脱水量<br />ml</td>
303 361
                         <td style=" ">T<br />ºC</td>
304 362
                         <td style=" ">HR<br />bpm</td>
305 363
                         <td style=" ">R<br />bpm</td>
306 364
                         <td style=" ">BP<br />mmHg</td>
307
-                        <td style=" ">时间</td>
365
+                        <!-- <td style=" ">时间</td> -->
308 366
                         <td style=" ">记录</td>
309
-                        <td >护士签名</td>
367
+                        <!-- <td >护士签名</td> -->
310 368
                       </tr>
311 369
                     
312 370
                       <tr style="" v-for="(monitor, monindex) in monitors" :key="monindex" >
@@ -384,14 +442,14 @@
384 442
                             </span>
385 443
                         </td>
386 444
 
387
-                        <td style=" "> {{ getTime(monitor.operate_time, "{h}:{i}") }}</td>
445
+                        <!-- <td style=" "> {{ getTime(monitor.operate_time, "{h}:{i}") }}</td> -->
388 446
                         <td style=" ">
389 447
                           <span style="word-break: break-all;word-wrap: break-word;">
390 448
 
391 449
                               {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{monitor.result}}
392 450
                           </span>
393 451
                         </td>
394
-                        <td>
452
+                        <!-- <td>
395 453
                           <span v-if="
396 454
                             setAdminUserES(
397 455
                               dialysisOrder == null
@@ -421,7 +479,7 @@
421 479
                             srcset=""
422 480
                             v-else
423 481
                           />
424
-                        </td>
482
+                        </td> -->
425 483
                       </tr>
426 484
                     
427 485
                   </table>
@@ -490,12 +548,13 @@
490 548
                         </span>
491 549
                         <span>{{ advice.remark }}</span>
492 550
                       </td>
493
-
551
+                      <!-- 执行时间 -->
494 552
                       <td width="130" style="">
495
-                        {{ getTime(advice.execution_time, "{y}-{m}-{d} {h}:{i}") }}
553
+                        {{ getTime(advice.execution_time, "{h}:{i}") }}
496 554
                       </td>
555
+                      <!-- 执行 -->
497 556
                       <td width="110" style="">
498
-                        <span
557
+                        <!-- <span
499 558
                           v-if="setAdminUserES(advice.advice_doctor) == ''"
500 559
                         >
501 560
                           {{ getAdminUser(advice.advice_doctor) }}
@@ -505,7 +564,12 @@
505 564
                           :src="setAdminUserES(advice.advice_doctor)"
506 565
                           alt=""
507 566
                           srcset=""
508
-                        />
567
+                        /> -->
568
+                        <span
569
+                          v-if="setAdminUserES(advice.execution_staff) == ''">{{getAdminUser(advice.execution_staff)}}
570
+                        </span>
571
+                        <img class="es-img" style="height: 30px" :src="setAdminUserES(advice.execution_staff)"
572
+                            alt="" srcset="" v-else>
509 573
                       </td>
510 574
                       <td v-if="advice_index === 0" width="150" style="">透前体重</td>
511 575
                       <td v-if="advice_index === 0" width="110" >
@@ -559,9 +623,11 @@
559 623
                       <td v-if="advice_index > 5" width="150" style=""></td>
560 624
                       <td v-if="advice_index > 5" width="110"></td>
561 625
                     </tr>
626
+                  
562 627
                   </table>
563 628
                 </td>
564 629
               </tr>
630
+     
565 631
               <tr>
566 632
                 <td colspan="3">
567 633
                   <!-- <div style="display: inline-block;">
@@ -637,6 +703,8 @@
637 703
                   </div>
638 704
                 </td>
639 705
               </tr>
706
+
707
+           
640 708
             </table>
641 709
           </div>
642 710
         </div>
@@ -697,6 +765,7 @@ export default {
697 765
       adminUser: [],
698 766
       bloodAccessParOpera: {},
699 767
       lastafterdialysis: {},
768
+      projects:[]
700 769
     };
701 770
   },
702 771
   computed: {},
@@ -910,8 +979,50 @@ export default {
910 979
           advices.push(item);
911 980
         }
912 981
 
982
+        let projects = [];
983
+        response.data.data.projects.map((item) => {
984
+          if (item.type == 2) {
985
+            projects.push(item);
986
+          }
987
+        });
988
+        this.projects = projects;
989
+        if (this.doctor_advices.length + this.projects.length <= 6) {
990
+          var nl = 6 - (this.doctor_advices.length + this.projects.length);
991
+          this.print_length = 6;
992
+
993
+          for (let index = 0; index < nl; index++) {
994
+            if (
995
+              this.projects[index] == undefined ||
996
+              this.projects[index].length <= 0
997
+            ) {
998
+              this.projects.push([]);
999
+            } else {
1000
+              continue;
1001
+            }
1002
+          }
1003
+        }
1004
+        console.log("advices",this.advices)
1005
+        console.log("this.projects", this.projects);
1006
+
1007
+        var objProject = {advice_name:"",start_time:"",single_dose:"",single_dose_unit:"",}
1008
+        if(this.projects!=null && this.projects.length >0){
1009
+           for(let i=0;i<this.projects.length;i++){
1010
+              if(this.projects[i].project_id ==  7620){
1011
+                 objProject.advice_name = this.projects[i].project.project_name
1012
+                 objProject.start_time = this.projects[i].start_time
1013
+                 objProject.single_dose = this.projects[i].single_dose
1014
+                 objProject.single_dose_unit = this.projects[i].unit
1015
+                 objProject.execution_time = this.projects[i].execution_time
1016
+                 objProject.execution_staff= this.projects[i].execution_staff
1017
+              }
1018
+           }
1019
+        }
1020
+        this.advices.push(objProject)
1021
+
913 1022
         var tableAdvice = this.advices;
914 1023
 
1024
+
1025
+
915 1026
         if (tableAdvice.length === 0) {
916 1027
           var obj = { advice_name: "", start_time: "" };
917 1028
           var obj1 = { advice_name: "", start_time: "" };
@@ -987,6 +1098,9 @@ export default {
987 1098
           this.advices = tableAdvice;
988 1099
         }
989 1100
 
1101
+ 
1102
+         
1103
+
990 1104
         // this.loading = false;
991 1105
         // console.log(this.advice_groups);
992 1106
         } else {

+ 2 - 1
src/xt_pages/home/index.vue View File

@@ -171,7 +171,8 @@ export default {
171 171
           imgUrl: require("../../assets/home/analyze.png"),
172 172
           name: "透析监控",
173 173
           link: "/dialysis/watch"
174
-        }
174
+        },
175
+      
175 176
       ],
176 177
       subscibe: {},
177 178
       subscibeBan: {

+ 434 - 0
src/xt_pages/infor/index.vue View File

@@ -0,0 +1,434 @@
1
+<template>
2
+    <div class="main-contain">
3
+     <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+        <el-tabs v-model="activeName" @tab-click="handleClick">
8
+            <el-tab-pane label="未审核" name="first">
9
+              <el-table
10
+                :data="list"
11
+                border
12
+                style="width: 100%">
13
+                <el-table-column  prop="date" label="序号"  width="50" align="center">
14
+                   <template slot-scope="scope" >
15
+                       {{scope.$index + 1 }}
16
+                   </template>
17
+                </el-table-column>
18
+                <el-table-column prop="name"  label="信息模块"  width="100" align="center">
19
+                  <template slot-scope="scope" >
20
+                      <span v-if="scope.row.module == 1">透析处方</span> 
21
+                      <span v-if="scope.row.module == 2">接诊评估</span> 
22
+                      <span v-if="scope.row.module == 3">透前评估</span> 
23
+                      <span v-if="scope.row.module == 4">临时医嘱</span> 
24
+                      <span v-if="scope.row.module == 5">双人核对</span> 
25
+                      <span v-if="scope.row.module == 6">透析上机</span> 
26
+                      <span v-if="scope.row.module == 7">透析监测</span> 
27
+                      <span v-if="scope.row.module == 8">透析下机</span> 
28
+                      <span v-if="scope.row.module == 9">透后评估</span> 
29
+                      <span v-if="scope.row.module == 10">治疗小结</span> 
30
+                   </template>
31
+                </el-table-column>
32
+                <el-table-column  prop="address" label="患者姓名" width="100" align="center">
33
+                  <template slot-scope="scope">
34
+                     {{getPatientName(scope.row.patient_id) }}
35
+                   </template>
36
+                </el-table-column>
37
+                <el-table-column prop="date" label="治疗日期" width="100" align="center">
38
+                   <template  slot-scope="scope" >
39
+                      {{getTimeOne(scope.row.record_date)  }}
40
+                   </template>
41
+                </el-table-column>
42
+                <el-table-column prop="name"  label="申请人"  width="100" align="center">
43
+                  <template  slot-scope="scope">
44
+                      {{getUserName(scope.row.creater)  }}
45
+                   </template>
46
+                </el-table-column>
47
+                <el-table-column  prop="address" label="申请时间" width="180" align="center">
48
+                  <template  slot-scope="scope" >
49
+                      {{getTimeTwo(scope.row.record_date)  }}
50
+                   </template>
51
+
52
+                </el-table-column>
53
+
54
+                <el-table-column  prop="date" label="状态" width="100" align="center">
55
+                  <template  slot-scope="scope" >
56
+                     <span v-if="scope.row.application_status == 1">已审核</span>
57
+                     <span v-if="scope.row.application_status == 2">未审核</span>
58
+                     <span v-if="scope.row.application_status == 3">拒绝</span>
59
+                  </template>
60
+                </el-table-column>
61
+                <el-table-column prop="name" label="审批人" width="100" align="center">
62
+                  <template  slot-scope="scope" >
63
+                      {{getUserName(scope.row.checker)  }}
64
+                   </template>
65
+                </el-table-column>
66
+                <el-table-column prop="address" label="审批时间" width="180" align="center">
67
+                  <template  slot-scope="scope">
68
+                      {{getTimeOne(scope.row.check_time)  }}
69
+                   </template>
70
+                </el-table-column>
71
+                <el-table-column  prop="address" label="备注" width="180" align="center">
72
+                  <template  slot-scope="scope">
73
+                      {{scope.row.remark }}
74
+                   </template>
75
+                </el-table-column>
76
+                <el-table-column prop="address" label="操作" width="180" align="center">
77
+                  <template slot-scope="scope">
78
+                    <el-tooltip
79
+                      class="item"
80
+                      effect="dark"
81
+                      content="审核"
82
+                      placement="top"
83
+                    >
84
+                      <el-button
85
+                        size="small"
86
+                        type="primary"
87
+                        icon="el-icon-edit-outline"
88
+                        @click="handleEdit(scope.$index, scope.row)"
89
+                      >
90
+                      </el-button>
91
+                    </el-tooltip>
92
+
93
+                    <el-tooltip
94
+                      class="item"
95
+                      effect="dark"
96
+                      content="拒绝"
97
+                      placement="top"
98
+                    >
99
+                      <el-button
100
+                        size="small"
101
+                        type="danger"
102
+                        icon="el-icon-delete"
103
+                        @click="handleDelete(scope.$index, scope.row)"
104
+                      >
105
+                      </el-button>
106
+                    </el-tooltip>
107
+                   </template>
108
+                </el-table-column>
109
+                
110
+              </el-table>
111
+              <el-pagination
112
+                @size-change="handleSizeChange"
113
+                @current-change="handleCurrentChange"
114
+                :page-size="5"
115
+                background
116
+                style="margin-top:20px;float: right"
117
+                :total="total"
118
+            ></el-pagination>
119
+            </el-tab-pane>
120
+
121
+            <el-tab-pane label="全部" name="second">
122
+              <el-table
123
+                :data="inforList"
124
+                border
125
+                style="width: 100%">
126
+                <el-table-column  prop="date" label="序号"  width="50" align="center">
127
+                   <template slot-scope="scope" >
128
+                       {{scope.$index + 1 }}
129
+                   </template>
130
+                </el-table-column>
131
+                <el-table-column prop="name"  label="信息模块"  width="100" align="center">
132
+                  <template slot-scope="scope" >
133
+                      <span v-if="scope.row.module == 1">透析处方</span> 
134
+                      <span v-if="scope.row.module == 2">接诊评估</span> 
135
+                      <span v-if="scope.row.module == 3">透前评估</span> 
136
+                      <span v-if="scope.row.module == 4">临时医嘱</span> 
137
+                      <span v-if="scope.row.module == 5">双人核对</span> 
138
+                      <span v-if="scope.row.module == 6">透析上机</span> 
139
+                      <span v-if="scope.row.module == 7">透析监测</span> 
140
+                      <span v-if="scope.row.module == 8">透析下机</span> 
141
+                      <span v-if="scope.row.module == 9">透后评估</span> 
142
+                      <span v-if="scope.row.module == 10">治疗小结</span> 
143
+                   </template>
144
+                </el-table-column>
145
+                <el-table-column  prop="address" label="患者姓名" width="100" align="center">
146
+                  <template slot-scope="scope">
147
+                     {{getPatientName(scope.row.patient_id) }}
148
+                   </template>
149
+                </el-table-column>
150
+                <el-table-column prop="date" label="治疗日期" width="100" align="center">
151
+                   <template  slot-scope="scope" >
152
+                      {{getTimeOne(scope.row.record_date)  }}
153
+                   </template>
154
+                </el-table-column>
155
+                <el-table-column prop="name"  label="申请人"  width="100" align="center">
156
+                  <template  slot-scope="scope">
157
+                      {{getUserName(scope.row.creater)  }}
158
+                   </template>
159
+                </el-table-column>
160
+                <el-table-column  prop="address" label="申请时间" width="180" align="center">
161
+                  <template  slot-scope="scope" >
162
+                      {{getTimeTwo(scope.row.record_date)  }}
163
+                   </template>
164
+
165
+                </el-table-column>
166
+
167
+                <el-table-column  prop="date" label="状态" width="100" align="center">
168
+                  <template  slot-scope="scope" >
169
+                     <span v-if="scope.row.application_status == 1">已审核</span>
170
+                     <span v-if="scope.row.application_status == 2">未审核</span>
171
+                     <span v-if="scope.row.application_status == 3">拒绝</span>
172
+                  </template>
173
+                </el-table-column>
174
+                <el-table-column prop="name" label="审批人" width="100" align="center">
175
+                  <template  slot-scope="scope" >
176
+                      {{getUserName(scope.row.checker)  }}
177
+                   </template>
178
+                </el-table-column>
179
+                <el-table-column prop="address" label="审批时间" width="180" align="center">
180
+                  <template  slot-scope="scope">
181
+                      {{getTimeOne(scope.row.check_time)  }}
182
+                   </template>
183
+                </el-table-column>
184
+                <el-table-column  prop="address" label="备注" width="260" align="center">
185
+                  <template  slot-scope="scope">
186
+                      {{scope.row.remark }}
187
+                   </template>
188
+                </el-table-column>
189
+              
190
+                
191
+              </el-table>
192
+              <el-pagination
193
+                @size-change="handleSizeChange"
194
+                @current-change="handleCurrentChange"
195
+                :page-size="5"
196
+                background
197
+                style="margin-top:20px;float: right"
198
+                :total="total"
199
+            ></el-pagination>
200
+
201
+            </el-tab-pane>
202
+
203
+            <el-tab-pane label="信息归档设置" name="third">
204
+               <el-button type="primary" size="small" style="margin-bottom:20px" @click="toSeeting">设置</el-button>
205
+              <el-table
206
+                  :data="tableData"
207
+                  style="width: 350px"
208
+                  border
209
+                  lazy>
210
+                  <el-table-column prop="date" label="序号" width="180" align="center">
211
+                     <template slot-scope="scope" >
212
+                        {{scope.$index + 1 }}
213
+                     </template>
214
+                  </el-table-column>
215
+                  <el-table-column
216
+                    prop="name"
217
+                    label="归档天数"
218
+                    width="180"
219
+                    align="center">
220
+                    <template slot-scope="scope" >
221
+                        {{scope.row.week_day }}
222
+                     </template>
223
+                  </el-table-column>
224
+                
225
+                </el-table>
226
+            </el-tab-pane>
227
+          
228
+        </el-tabs>
229
+     </div>
230
+
231
+     <el-dialog
232
+        title="信息归档设置"
233
+        :visible.sync="dialogVisible"
234
+        width="30%"
235
+        :before-close="handleClose">
236
+        <span>
237
+          <span>归档天数:</span> <el-input v-model="week_day" style="width:200px"></el-input>   
238
+        </span>
239
+        <span slot="footer" class="dialog-footer">
240
+            <el-button @click="dialogVisible = false">取 消</el-button>
241
+            <el-button type="primary" @click="SaveDialysisInformationSetting">保 存</el-button>
242
+       </span>
243
+     </el-dialog>
244
+    </div>
245
+</template>
246
+<script>
247
+ import { SaveDialysisInformationSetting,getDialysisInformationSetting,checkDialysisInformation } from "@/api/dialysis"
248
+ import { uParseTime } from '@/utils/tools'
249
+  export default {
250
+    data() {
251
+      return {
252
+        activeName: 'first',
253
+        dialogVisible:false,
254
+        id:0,
255
+        week_day:"",
256
+        crumbs: [
257
+        { path: false, name: "信息归档" },      
258
+        ],
259
+        tableData:[],
260
+        limit:10,
261
+        page:1,
262
+        list:[],
263
+        total:0,
264
+        totalOne:0,
265
+        inforList:0,
266
+        patients:[],
267
+        adminList:[],
268
+        id:0,
269
+      };
270
+    },
271
+    methods: {
272
+        handleClick(val){
273
+          console.log("val----------------",val)
274
+        },
275
+        toSeeting(){
276
+          var params = {
277
+             limit:this.limit,
278
+             page:this.page
279
+           }
280
+          getDialysisInformationSetting(params).then(response=>{
281
+            if(response.data.state == 1){
282
+              this.dialogVisible = true
283
+              var informaitonSetting =  response.data.data.informaitonSetting
284
+              if (informaitonSetting!=null && informaitonSetting.length > 0) {
285
+                 this.week_day = informaitonSetting[0].week_day
286
+              }
287
+            }
288
+          })
289
+         
290
+        },
291
+        SaveDialysisInformationSetting(){
292
+            var params = {
293
+              week_day:parseInt(this.week_day),
294
+              id:parseInt(this.id),
295
+            }
296
+            SaveDialysisInformationSetting(params).then(response=>{
297
+             if(response.data.state == 1){
298
+               var informaitonSetting = response.data.data.informaitonSetting
299
+               this.dialogVisible = false
300
+             }
301
+          })
302
+        },
303
+        getlist(){
304
+           var params = {
305
+             limit:this.limit,
306
+             page:this.page
307
+           }
308
+          getDialysisInformationSetting(params).then(response=>{
309
+            if(response.data.state == 1){
310
+              var informaitonSetting =  response.data.data.informaitonSetting
311
+              this.tableData = informaitonSetting
312
+              //未审核
313
+              this.list = response.data.data.infor
314
+              this.total = response.data.data.total
315
+              //已审核
316
+              this.totalOne = response.data.data.totalOne
317
+              this.inforList = response.data.data.inforList
318
+              this.patients = response.data.data.patients
319
+
320
+              this.adminList= response.data.data.adminList
321
+            }
322
+          }) 
323
+      },
324
+      handleSizeChange(val){
325
+        this.limit = val;
326
+        this.getList();
327
+      },
328
+      handleCurrentChange(val){
329
+        this.page =val
330
+        this.getlist()
331
+      },
332
+      handleSizeChangeOne(val){
333
+        this.limit=val
334
+        this.getlist()
335
+      },
336
+      handleCurrentChangeOne(val){
337
+        this.page =val
338
+        this.getlist()
339
+      },
340
+      getPatientName(patient_id){
341
+        console.log("patinet_id---",patient_id)
342
+        console.log("patients",this.patients)
343
+        var name = ""
344
+        for(let i=0;i<this.patients.length;i++){
345
+           if(patient_id == this.patients[i].id){
346
+              name = this.patients[i].name
347
+           }
348
+        }
349
+        return name
350
+      },
351
+      getTimeOne(val) {
352
+        if(val == ""){
353
+        return ""
354
+        }else {
355
+        return uParseTime(val, '{y}-{m}-{d}')
356
+        }
357
+     },
358
+     getTimeTwo(val) {
359
+        if(val == ""){
360
+        return ""
361
+        }else {
362
+        return uParseTime(val, '{y}-{m}-{d} {h}:{i}:{s}')
363
+        }
364
+     },
365
+     getUserName(admin_user_id){
366
+       var user_name = ""
367
+       for(let i=0;i<this.adminList.length;i++){
368
+         if(admin_user_id == this.adminList[i].admin_user_id){
369
+            user_name = this.adminList[i].user_name
370
+         }
371
+       }
372
+       return user_name
373
+     },
374
+     handleEdit(index,row) {
375
+      this.$confirm("确认审核吗?", "审核", {
376
+        confirmButtonText: "确 定",
377
+        cancelButtonText: "取 消",
378
+        type: "warning"
379
+      }).then(() => {
380
+          var params = {
381
+            id:row.id,
382
+            application_status:1,
383
+          }
384
+          checkDialysisInformation(params).then(response => {
385
+            if (response.data.state == 0) {
386
+              this.$message.error(response.data.msg);
387
+              return false;
388
+            } else {
389
+              this.$notify({
390
+                title: "成功",
391
+                message: "审核成功",
392
+                type: "success",
393
+                duration: 2000
394
+              });
395
+              this.getlist()
396
+            }
397
+          });
398
+        })
399
+        .catch(() => {});
400
+    },
401
+    handleDelete(index,row){
402
+      this.$confirm("确认审核吗?", "审核", {
403
+        confirmButtonText: "确 定",
404
+        cancelButtonText: "取 消",
405
+        type: "warning"
406
+      }).then(() => {
407
+          var params = {
408
+            id:row.id,
409
+            application_status:3,
410
+          }
411
+          checkDialysisInformation(params).then(response => {
412
+            if (response.data.state == 0) {
413
+              this.$message.error(response.data.msg);
414
+              return false;
415
+            } else {
416
+              this.$notify({
417
+                title: "成功",
418
+                message: "拒绝成功",
419
+                type: "success",
420
+                duration: 2000
421
+              });
422
+              this.getlist()
423
+            }
424
+          });
425
+        }).catch(() => {});
426
+    }
427
+    
428
+    },
429
+   
430
+    created(){
431
+      this.getlist()
432
+    }
433
+  };
434
+</script>

+ 18 - 6
src/xt_pages/management/components/UserForm.vue View File

@@ -788,7 +788,7 @@
788 788
             <div class="order_title">设备使用记录清单</div>
789 789
           </div>
790 790
           <div>
791
-            <div class="printClass">打印日期:{{ nowTime }}</div>
791
+            <div class="printClass" v-if="org_id!=10340">打印日期:{{ nowTime }}</div>
792 792
             <table
793 793
               border="1"
794 794
               style="width:100%"
@@ -854,18 +854,22 @@
854 854
                 <td
855 855
                   :rowspan="2"
856 856
                   style="text-align:center;min-width:40px;font-size:15px"
857
+                  v-if="org_id!=0&&org_id!=10060&& org_id!=10340"
857 858
                 >
858 859
                  透析机消毒液(更换)
860
+                 
859 861
                 </td>
860 862
                 <td
861 863
                   :rowspan="2"
862 864
                   style="text-align:center;width:80px;font-size:15px"
865
+                  v-if="org_id!=0&&org_id!=10060&& org_id!=10340"
863 866
                 >
864 867
                  细菌过滤器(更换)
865 868
                 </td>
866 869
                 <td
867 870
                   :rowspan="2"
868 871
                   style="text-align:center;width:80px;font-size:15px"
872
+                  v-if="org_id!=0&&org_id!=10060&& org_id!=10340"
869 873
                 >
870 874
                  空气滤网
871 875
                 </td>
@@ -961,13 +965,16 @@
961 965
                 <td style="text-align:center;font-size:15px;height:30px">
962 966
                   {{ item.disinfection_residue }}
963 967
                 </td>
964
-                <td style="text-align:center;font-size:15px;height:30px">
968
+                <td style="text-align:center;font-size:15px;height:30px"
969
+                v-if="org_id!=0&&org_id!=10060 && org_id!=10340">
965 970
                    {{item.dialysis_checked }}
966 971
                 </td>
967
-                <td style="text-align:center;font-size:15px;height:30px">
972
+                <td style="text-align:center;font-size:15px;height:30px"
973
+                v-if="org_id!=0&&org_id!=10060&& org_id!=10340">
968 974
                   {{item.germ_checked }}
969 975
                 </td>
970
-                <td style="text-align:center;font-size:15px;height:30px">
976
+                <td style="text-align:center;font-size:15px;height:30px"
977
+                v-if="org_id!=0&&org_id!=10060&& org_id!=10340">
971 978
                   {{item.clean}}
972 979
                 </td>
973 980
 
@@ -1134,7 +1141,10 @@ export default {
1134 1141
         { id: 1, name: "费森细菌过滤器" },
1135 1142
         { id: 2, name: "日机装细菌过滤器" },
1136 1143
         { id: 3, name: "贝朗机细菌过滤器" },
1137
-        { id: 4, name: "东丽机细菌过滤器" }
1144
+        { id: 4, name: "东丽机细菌过滤器" },
1145
+        {id:5,name:"山外山细菌过滤器"},
1146
+        {id:6,name:"尼普洛细菌过滤器"},
1147
+        {id:7,name:"威高细菌过滤器"}
1138 1148
       ],
1139 1149
       autograph: [],
1140 1150
       selectCulture: [],
@@ -1190,7 +1200,8 @@ export default {
1190 1200
       bed: "",
1191 1201
       bedNumberTwo: [],
1192 1202
       four: true,
1193
-      showone: false
1203
+      showone: false,
1204
+      org_id:0,
1194 1205
     };
1195 1206
   },
1196 1207
   methods: {
@@ -2590,6 +2601,7 @@ export default {
2590 2601
     this.getAllSubregion();
2591 2602
     // this.getInformationData();
2592 2603
     this.getAllOrganization();
2604
+    this.org_id = this.$store.getters.xt_user.template_info.org_id;
2593 2605
   },
2594 2606
   watch: {
2595 2607
     userdata(newvalue, oldvalue) {

+ 4 - 1
src/xt_pages/management/home.vue View File

@@ -2820,7 +2820,10 @@ export default {
2820 2820
           { id: 1, name: '费森细菌过滤器' },
2821 2821
           { id: 2, name: '日机装细菌过滤器' },
2822 2822
           { id: 3, name: '贝朗机细菌过滤器' },
2823
-          { id: 4, name: '东丽机细菌过滤器' }
2823
+          { id: 4, name: '东丽机细菌过滤器' },
2824
+          {id:5,name:"山外山细菌过滤器"},
2825
+          {id:6,name:"尼普洛细菌过滤器"},
2826
+          {id:7,name:"威高细菌过滤器"}
2824 2827
         ],
2825 2828
         DisinfectionMode: [
2826 2829
           { id: 0, name: '请选择' },

+ 12 - 11
src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue View File

@@ -3,24 +3,23 @@
3 3
     <div
4 4
         v-for="(i, index) in printData"
5 5
         :key="index"
6
-        style="
7
-        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
8
-          0 0 40px rgba(0, 0, 0, 0.06) inset;
9
-      "
6
+        style="box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),
7
+         0 0 40 px rgba(0, 0, 0, 0.06) inset  "
10 8
     >
11
-      <!--            <img style="width:100%;height:80px" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">-->
12
-      <!--/*             <img style="width:100%;height:80px" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">*/-->
9
+       
13 10
       <div
14 11
           id="prescription-print"
15 12
           class="prescription-print"
16
-          style="page-break-after: always"
13
+          style="page-break-after: always "
17 14
           v-for="(item, index) in i.new_prescriptions"
18 15
           v-if="item.project.length > 0 && getTeam(i.new_prescriptions).length > 0"
19 16
           :key="index"
20 17
       >
18
+        <img style="width:100%;height:80px" v-if="org_id == 10138 " src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
19
+        <img style="width:100%;height:80px" v-if="org_id == 10278 || org_id==0" src="https://kuyi.shengws.com/beierlog.png" alt="">
21 20
         <div class="printTitle">检验申请单</div>
22 21
 
23
-        <div style="border: 1px solid #000">
22
+        <div style="border: 1px solid #000;margin-bottom: 10px;">
24 23
           <div
25 24
               style="
26 25
               display: flex;
@@ -114,9 +113,11 @@
114 113
             <div>医生签字:{{ i.info.doctor ? i.info.doctor : '' }}</div>
115 114
           </div>
116 115
         </div>
117
-        <!--            <img style="width:100%;" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">-->
118
-        <!--            <img style="width:100%;" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">-->
116
+        
117
+        <img style="width:100%;" v-if="org_id == 10138 || org_id == 0" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">
118
+        <img style="width:100%;" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">
119 119
       </div>
120
+       
120 121
     </div>
121 122
   </div>
122 123
 </template>
@@ -501,7 +502,7 @@ export default {
501 502
 /*/ / 0 0 60 px rgba(0, 0, 0, 0.06) inset;*/
502 503
 /*/ / -moz-box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),*/
503 504
 /*/ / 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
504
-/*/ / box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27), 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
505
+//  box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27), 0 0 40 px rgba(0, 0, 0, 0.06) inset;
505 506
   margin-bottom: 20px;
506 507
   padding: 20px 10px;
507 508
 }

+ 11 - 11
src/xt_pages/outpatientDoctorStation/checkTemplate/printOne.vue View File

@@ -9,13 +9,13 @@
9 9
       />
10 10
       <img
11 11
         style="width: 100%; height: 80px"
12
-        v-if="org_id == 10278"
12
+        v-if="org_id == 10278 || org_id == 0"
13 13
         src="https://kuyi.shengws.com/beierlog.png"
14 14
         alt=""
15 15
       />
16 16
       <div class="printTitle">检验申请单</div>
17 17
 
18
-      <div style="border: 1px solid #000">
18
+      <div style="border: 1px solid #000;margin-bottom: 10px;">
19 19
         <div
20 20
           style="
21 21
             display: flex;
@@ -132,19 +132,19 @@
132 132
           </div>
133 133
         </div>
134 134
       </div>
135
-    </div>
136
-    <img
135
+      <img
137 136
       style="width: 100%"
138
-      v-if="org_id == 10138"
137
+      v-if="org_id == 10138 "
139 138
       src="https://kuyi.shengws.com/bailin/blend.jpg"
140 139
       alt=""
141 140
     />
142
-    <img
143
-      style="width: 100%"
144
-      v-if="org_id == 10278"
145
-      src="https://kuyi.shengws.com/bailinbeier.png"
146
-      alt=""
147
-    />
141
+      <img
142
+        style="width: 100%"
143
+        v-if="org_id == 10278 || org_id == 0"
144
+        src="https://kuyi.shengws.com/bailinbeier.png"
145
+        alt=""
146
+      />
147
+    </div>
148 148
   </div>
149 149
 </template>
150 150
 <script>

+ 1 - 0
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -136,6 +136,7 @@
136 136
 
137 137
             <!-- <el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button> -->
138 138
           </div>
139
+          
139 140
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
140 141
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
141 142
             <el-button size="small" @click="opentwo(2)" type="primary">打印</el-button>

+ 167 - 0
src/xt_pages/qcd/dialysis_index.vue View File

@@ -0,0 +1,167 @@
1
+<template>
2
+
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+          <div class="content_top">
10
+            <div>
11
+                <span>查询时间:</span>
12
+                <el-date-picker
13
+                v-model="stat_time"
14
+                type="date"
15
+                placeholder="选择日期">
16
+                </el-date-picker>
17
+                <span>-</span>
18
+                <el-date-picker
19
+                v-model="end_time"
20
+                type="date"
21
+                placeholder="选择日期">
22
+                </el-date-picker>
23
+                <el-select v-model="value" placeholder="请选择">
24
+                    <el-option
25
+                    v-for="item in options"
26
+                    :key="item.value"
27
+                    :label="item.label"
28
+                    :value="item.value">
29
+                    </el-option>
30
+                </el-select>
31
+                <el-select v-model="value" placeholder="请选择">
32
+                    <el-option
33
+                    v-for="item in options"
34
+                    :key="item.value"
35
+                    :label="item.label"
36
+                    :value="item.value">
37
+                    </el-option>
38
+                </el-select>
39
+                <el-button type="primary">查询</el-button>
40
+            </div>
41
+            <div>
42
+                <el-button type="primary">设置</el-button>
43
+                <el-button type="primary">打印</el-button>
44
+                <el-button type="primary">导出</el-button>
45
+            </div>
46
+          </div>
47
+       <div >
48
+        <el-row :gutter="20">
49
+            <!-- <el-col :span="4">
50
+              <div class="grid-content bg-purple">
51
+                
52
+                <el-table
53
+                :data="tableData"
54
+                border
55
+                style="width: 100%">
56
+                    <el-table-column
57
+                        align="center"
58
+                        prop="date"
59
+                        label="透析号"
60
+                       >
61
+                    </el-table-column>
62
+                    <el-table-column
63
+                        align="center"
64
+                        prop="name"
65
+                        label="姓名"
66
+                        >
67
+                    </el-table-column>
68
+                </el-table>
69
+              </div>
70
+            </el-col> -->
71
+            <el-col :span="24">
72
+               <div class="grid-content bg-purple">
73
+                <el-table
74
+                    :data="tableData"
75
+                    style="width: 100%"
76
+                    border
77
+                    align="center"
78
+                    max-height="450">
79
+                    <el-table-column
80
+                    fixed
81
+                    prop="date"
82
+                    label="序号"
83
+                   >
84
+                    </el-table-column>
85
+                    <el-table-column
86
+                    prop="name"
87
+                    label="透析号"
88
+                    >
89
+                    </el-table-column>
90
+                    <el-table-column
91
+                    prop="province"
92
+                    label="姓名"
93
+                    >
94
+                    </el-table-column>
95
+                    <el-table-column
96
+                    prop="province"
97
+                    label="白蛋白(g/L)"
98
+                    >
99
+                    </el-table-column>
100
+                    <el-table-column
101
+                    fixed
102
+                    prop="date"
103
+                    label="血红蛋白(g/L)"
104
+                   >
105
+                    </el-table-column>
106
+                    <el-table-column
107
+                    prop="name"
108
+                    label="血钾(mmol/L)"
109
+                    >
110
+                    </el-table-column>
111
+                    <el-table-column
112
+                    prop="province"
113
+                    label="钙(mmol/L)"
114
+                    >
115
+                    </el-table-column>
116
+                    <el-table-column
117
+                    prop="province"
118
+                    label="无机磷(mmol/L)"
119
+                    >
120
+                    </el-table-column>
121
+                    <el-table-column
122
+                    prop="province"
123
+                    label="甲状旁腺激素(pmol/L)"
124
+                    >
125
+                    </el-table-column>
126
+                </el-table>
127
+               </div>
128
+           </el-col>
129
+        </el-row>
130
+       </div>
131
+        </div>
132
+      </div>
133
+    </div>
134
+</template>
135
+<script>
136
+export default{
137
+    data() {
138
+        return {
139
+            inputValue:'',
140
+            stat_time:'',
141
+            end_time:'',
142
+            value:'',
143
+            tableData:[],
144
+        }
145
+    },
146
+    created(){
147
+        
148
+    },
149
+    mounted() {
150
+        
151
+    },
152
+    methods:{
153
+        handleSubmit(){
154
+            console.log('asdfa');
155
+        },
156
+       
157
+    },
158
+    
159
+}
160
+</script>
161
+<style lang="scss" scoped>
162
+.content_top{
163
+    display: flex;
164
+    justify-content: space-around;
165
+    margin: 20px;
166
+}
167
+</style>

+ 243 - 0
src/xt_pages/qcd/qualitycontrol/individual.vue View File

@@ -0,0 +1,243 @@
1
+<template>
2
+    <div>
3
+       <div class="content_top">
4
+            <el-autocomplete
5
+            class="inline-input"
6
+            v-model="inputValue"
7
+            :fetch-suggestions="querySearch"
8
+            :trigger-on-focus="false"
9
+            placeholder="请输入患者名字或透析号"
10
+            @select="handleSubmit"
11
+            ></el-autocomplete>
12
+            <div>
13
+                <span>查询时间:</span>
14
+                <el-date-picker
15
+                v-model="stat_time"
16
+                type="date"
17
+                placeholder="选择日期">
18
+                </el-date-picker>
19
+                <span>-</span>
20
+                <el-date-picker
21
+                v-model="end_time"
22
+                type="date"
23
+                placeholder="选择日期">
24
+                </el-date-picker>
25
+                <el-select v-model="value" placeholder="请选择">
26
+                    <el-option
27
+                    v-for="item in options"
28
+                    :key="item.value"
29
+                    :label="item.label"
30
+                    :value="item.value">
31
+                    </el-option>
32
+                </el-select>
33
+                <el-select v-model="value" placeholder="请选择">
34
+                    <el-option
35
+                    v-for="item in options"
36
+                    :key="item.value"
37
+                    :label="item.label"
38
+                    :value="item.value">
39
+                    </el-option>
40
+                </el-select>
41
+                <el-button type="primary">查询</el-button>
42
+            </div>
43
+            <div>
44
+                <el-button type="primary">打印</el-button>
45
+                <el-button type="primary">导出</el-button>
46
+            </div>
47
+       </div>
48
+       <div style="margin: 20px 0px;">
49
+        <h2 >患者列表</h2>
50
+       </div>
51
+       <div >
52
+        <el-row :gutter="20">
53
+            <el-col :span="4">
54
+              <div class="grid-content bg-purple">
55
+                <!-- <span style="font-size: 18px;font-weight: bold;display: block;">患者列表</span> -->
56
+                <!-- <h2>患者列表</h2> -->
57
+                <el-table
58
+                :data="tableData"
59
+                border
60
+                style="width: 100%">
61
+                    <el-table-column
62
+                        align="center"
63
+                        prop="date"
64
+                        label="透析号"
65
+                       >
66
+                    </el-table-column>
67
+                    <el-table-column
68
+                        align="center"
69
+                        prop="name"
70
+                        label="姓名"
71
+                        >
72
+                    </el-table-column>
73
+                </el-table>
74
+              </div>
75
+            </el-col>
76
+            <el-col :span="19">
77
+               <div class="grid-content bg-purple">
78
+                <div class="echart" id="germychart" style="width:100%;height:400px"></div>
79
+                <el-table
80
+                    :data="tableData"
81
+                    style="width: 100%"
82
+                    border
83
+                    align="center"
84
+                    max-height="250">
85
+                    <el-table-column
86
+                    fixed
87
+                    prop="date"
88
+                    label="姓名"
89
+                   >
90
+                    </el-table-column>
91
+                    <el-table-column
92
+                    prop="name"
93
+                    label="检查日期"
94
+                    >
95
+                    </el-table-column>
96
+                    <el-table-column
97
+                    prop="province"
98
+                    label="甲状旁腺激素(pg/ml)"
99
+                    >
100
+                    </el-table-column>
101
+                    
102
+                </el-table>
103
+               </div>
104
+           </el-col>
105
+        </el-row>
106
+       </div>
107
+
108
+    </div>
109
+</template>
110
+<script>
111
+  import * as echarts from 'echarts'
112
+export default{
113
+    // props: {
114
+    //     width: {
115
+    //         type: String,
116
+    //         default: "100%"
117
+    //     },
118
+    //     height: {
119
+    //         type: String,
120
+    //         default: "400px"
121
+    //     },
122
+    
123
+    // },
124
+    data() {
125
+        return {
126
+            inputValue:'',
127
+            stat_time:'',
128
+            end_time:'',
129
+            value:'',
130
+            querySearch:'',
131
+            tableData:[],
132
+            options:[],
133
+            myChartTwo: {},
134
+            xData: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标
135
+            opinionData: [23, 24, 18, 25, 27, 28, 25], //人数数据
136
+            // myChartStyle: { float: "left", width: "100%", height: "400px" },//图表样式
137
+            
138
+        }
139
+    },
140
+    created(){
141
+        
142
+       
143
+    },
144
+    mounted() {
145
+        // this.$nextTick(function() {
146
+            this.initEcharts();
147
+            // this.myChartTwo = echarts.init(document.getElementById("germychart"));
148
+            // this.myChartTwo.setOption(option);
149
+            // // //随着屏幕大小调节图表
150
+            // window.addEventListener("resize", () => {
151
+            //     console.log('asdfgfdhdgfdghdffgasda');
152
+            //     this.myChartTwo.resize();
153
+            // });
154
+            
155
+            // window.onresize = this.myChartTwo.resize;
156
+		// })  
157
+    },
158
+    // beforeDestroy(){
159
+    //     window.addEventListener("resize", () => {
160
+    //         this.myChartTwo.resize();
161
+    //     });
162
+    //     const quality = document.getElementById("germychart");
163
+    //     quality.addEventListener("transitionend", this.__resizeHanlder);
164
+    // },
165
+    methods:{
166
+        handleSubmit(){
167
+            console.log('asdfa');
168
+            this.querySearch
169
+        },
170
+        initEcharts() {
171
+            this.myChartTwo = echarts.init(document.getElementById("germychart"));
172
+            console.log('zxczvbbnm,m');
173
+            const option = {
174
+                xAxis: {
175
+                    type: 'category',
176
+                        boundaryGap:true,
177
+                        axisTick:{
178
+                            alignWithLabel:true //保证刻度线和标签对齐
179
+                        },
180
+                    data: this.xData,
181
+                    splitNumber:this.xData.length, //纵坐标数
182
+                    interval:this.xData //强制设置坐标轴分割间隔
183
+                },
184
+                yAxis: {
185
+                    type: 'value',
186
+                    boundaryGap: true,
187
+                    splitNumber:4, //纵坐标数
188
+                    interval:10 //强制设置坐标轴分割间隔
189
+                },
190
+                legend: {
191
+                    // show: true,
192
+                    align:'left',//文字在前图标在后
193
+                    left:'15%',
194
+                    top:'5%',
195
+                    data: [{name:'甲状旁腺激素 pg/ml'}]
196
+                },
197
+                grid:{
198
+                    show:true,
199
+                    left: "5%",
200
+                    right: "5%",
201
+                    bottom: "5%"
202
+                },
203
+                series: [
204
+                {
205
+                    data: this.opinionData,
206
+                    name:'甲状旁腺激素 pg/ml',
207
+                    type: "line",// 类型设置为折线图
208
+                    symbol: 'circle',
209
+                    itemStyle: {
210
+                        normal: {
211
+                            color: '#409eff', //改变折线点的颜色#a80000
212
+                            lineStyle: {
213
+                                color: '#409eff' //改变折线颜色
214
+                            }
215
+                        }
216
+                    },
217
+
218
+                },
219
+                
220
+                ],
221
+                
222
+            };
223
+            
224
+            this.myChartTwo.setOption(option);
225
+            // //随着屏幕大小调节图表
226
+            window.addEventListener("resize", () => {
227
+                console.log('123456788');
228
+                this.myChartTwo.resize();
229
+            });
230
+            
231
+            // window.onresize = this.myChartTwo.resize;
232
+        },
233
+    },
234
+    
235
+}
236
+</script>
237
+<style lang="scss" scoped>
238
+.content_top{
239
+    display: flex;
240
+    justify-content: space-around;
241
+    margin-bottom: 20px;
242
+}
243
+</style>

+ 103 - 0
src/xt_pages/qcd/qualitycontrol/thyroidGland.vue View File

@@ -0,0 +1,103 @@
1
+<!-- 甲状旁腺激素分析 -->
2
+<template>
3
+    <div class="main-contain">
4
+      <div class="position">
5
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
6
+      </div>
7
+      <div class="app-container">
8
+        <div class="page_patientControlAnalysis">
9
+            <el-tabs v-model="activeName" @tab-click="handleClick" >
10
+                <el-tab-pane label="统计全部" name="first">
11
+                  <keep-alive>
12
+                    <totalSstatistics v-if="activeName == 'first'"></totalSstatistics>
13
+                  </keep-alive>
14
+                </el-tab-pane>
15
+                
16
+                <el-tab-pane label="统计个人" name="second">
17
+                  <keep-alive>
18
+                    <individual v-if="activeName == 'second'"></individual>
19
+                  </keep-alive>
20
+                </el-tab-pane>
21
+            
22
+            </el-tabs>
23
+        </div>
24
+      </div>
25
+    </div>
26
+  </template>
27
+  
28
+<script>
29
+// import echarts from 'echarts'
30
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
+import totalSstatistics from './totalSstatistics.vue'
32
+import individual from './individual.vue'
33
+export default {
34
+    name:'thyroidGland',
35
+    components: {
36
+        BreadCrumb,
37
+        totalSstatistics,
38
+        individual
39
+    },
40
+    data() {
41
+        return {
42
+            activeName: 'first',
43
+          
44
+        }
45
+    },
46
+    methods:{
47
+      handleClick(tab, event) {
48
+        console.log(tab, event);
49
+      }
50
+    }
51
+}
52
+</script>
53
+
54
+<style lang="scss" scoped>
55
+// .page_patientControlAnalysis {
56
+
57
+// .pointTitle {
58
+//   font-size: 13px;
59
+// }
60
+
61
+// .chartTitle {
62
+//   font-size: 16px;
63
+//   font-weight: bold;
64
+//   color: #000000;
65
+// }
66
+
67
+// .point {
68
+//   width: 13px;
69
+//   height: 13px;
70
+//   background: linear-gradient(
71
+//       0deg,
72
+//       rgba(169, 224, 243, 1),
73
+//       rgba(159, 189, 252, 1)
74
+//   );
75
+//   border-radius: 7px;
76
+//   margin-right: 8px;
77
+// }
78
+
79
+// .pointTitle {
80
+//   font-size: 13px;
81
+// }
82
+
83
+// }
84
+
85
+</style>
86
+
87
+<style lang="scss">
88
+// .page_patientControlAnalysis {
89
+
90
+// .el-form-item {
91
+//   margin-bottom: 0;
92
+// }
93
+
94
+// .cell {
95
+//   text-align: center;
96
+// }
97
+
98
+// ::-webkit-scrollbar {
99
+//   height: 15px !important;
100
+// }
101
+
102
+// }
103
+</style>

+ 255 - 0
src/xt_pages/qcd/qualitycontrol/totalSstatistics.vue View File

@@ -0,0 +1,255 @@
1
+
2
+<template>
3
+  <div>
4
+      <!-- <div class="content_top">
5
+          <div class="block">
6
+              <span>查询时间:</span>
7
+              <el-date-picker
8
+              v-model="time_month"
9
+              type="month"
10
+              placeholder="选择月">
11
+              </el-date-picker>
12
+          </div>
13
+          <div>
14
+              <el-date-picker
15
+              v-model="stat_time"
16
+              type="date"
17
+              placeholder="选择日期">
18
+              </el-date-picker>
19
+              <span>-</span>
20
+              <el-date-picker
21
+              v-model="end_time"
22
+              type="date"
23
+              placeholder="选择日期">
24
+              </el-date-picker>
25
+          </div>
26
+          <div style="width: 200px;">
27
+              <el-input v-model="input" placeholder="请输入内容"></el-input>
28
+          </div>
29
+          <el-button type="primary">查询</el-button>
30
+      </div> -->
31
+      <el-row :gutter="20">
32
+      <el-col :span="5"> 
33
+        <div class="block">
34
+          <span>查询时间:</span>
35
+          <el-date-picker
36
+          v-model="time_month"
37
+          type="month"
38
+          placeholder="选择月">
39
+          </el-date-picker>
40
+        </div>
41
+      </el-col>
42
+      <el-col :span="8">
43
+        <div>
44
+          <el-date-picker
45
+          v-model="stat_time"
46
+          type="date"
47
+          placeholder="选择日期">
48
+          </el-date-picker>
49
+          <span>-</span>
50
+          <el-date-picker
51
+          v-model="end_time"
52
+          type="date"
53
+          placeholder="选择日期">
54
+          </el-date-picker>
55
+        </div>
56
+      </el-col>
57
+      <el-col :span="3">
58
+        <div style="width: 200px;">
59
+          <el-input v-model="input" placeholder="请输入内容"></el-input>
60
+        </div>
61
+      </el-col>
62
+      <el-col :span="2">
63
+          <el-button type="primary">查询</el-button>
64
+      </el-col>
65
+      </el-row>
66
+      
67
+      <div class="cell clearfix" style="margin: 20px; font-weight: bold;">
68
+        <p class="chartTitle">统计图</p>
69
+      </div>
70
+      <div class="echart" id="mychart" :style={width:width,height:height}></div>
71
+      <div style="width: 80%;margin: auto;">
72
+          <el-table
73
+          :data="tableData"
74
+          :show-summary = true
75
+          border
76
+          style="width: 100%;">
77
+              <el-table-column
78
+                  prop="date"
79
+                  align="center"
80
+                  label="甲状旁腺激素"
81
+                  >
82
+              </el-table-column>
83
+              <el-table-column
84
+                  prop="name"
85
+                  
86
+                  label="人数"
87
+                  >
88
+              </el-table-column>
89
+              <el-table-column
90
+                  prop="address"
91
+                  align="center"
92
+                  label="操作">
93
+                  <template slot-scope="scope">
94
+                      <el-button @click="handleClick(scope.row)" style="font-size:16px;"
95
+                              type="text" >查看详情
96
+                      </el-button>
97
+                  </template>
98
+              </el-table-column>
99
+          </el-table>
100
+      </div>
101
+  </div>
102
+</template>
103
+<script>
104
+import * as echarts from "echarts";
105
+export default{
106
+  props: {
107
+ 
108
+  width: {
109
+    type: String,
110
+    default: "100%"
111
+  },
112
+  height: {
113
+    type: String,
114
+    default: "400px"
115
+  },
116
+  
117
+},
118
+  data() {
119
+      return {
120
+          time_month:'',
121
+          stat_time:'',
122
+          end_time:'',
123
+          input:'',
124
+          myChart: {},
125
+          pieData : [
126
+          {
127
+        value: 463,
128
+        name: "不达标值患者"
129
+      },
130
+      {
131
+        value: 395,
132
+        name: "未检查患者"
133
+      },
134
+      {
135
+        value: 157,
136
+        name: "达标值患者"
137
+      },
138
+      // {
139
+      //   value: 149,
140
+      //   name: "广东"
141
+      // },
142
+      // {
143
+      //   value: 147,
144
+      //   name: "湖南"
145
+      // }
146
+          
147
+          ],
148
+          pieName: [],
149
+          // myChartStyle:{float: "right", width: "100%", height: "400px"},
150
+          tableData:[],
151
+      }
152
+  },
153
+  mounted() {
154
+  this.initDate(); //数据初始化
155
+  this.initEcharts();
156
+},
157
+methods: {
158
+  initDate() {
159
+    for (let i = 0; i < this.pieData.length; i++) {
160
+      this.pieName[i] = this.pieData[i].name;
161
+    }
162
+  },
163
+  initEcharts() {
164
+    // 饼图
165
+    this.myChart = echarts.init(document.getElementById("mychart"));
166
+    window.addEventListener("resize", () => {
167
+      console.log('098765adsfghg');
168
+      this.myChart.resize();
169
+    });
170
+    console.log('09876543454676');
171
+    const option = {
172
+      legend: {
173
+        // 图例
174
+        data: this.pieName,
175
+        left: "10%",
176
+        top: "30%",
177
+        orient: "vertical"
178
+      },
179
+      color:['#ff7f9f','#fff67f','#1e5feb'],
180
+      title: {
181
+        // 设置饼图标题,位置设为顶部居中
182
+      //   text: "国内院士前五省份图示",
183
+        top: "0%",
184
+        left: "center"
185
+      },
186
+      series: [
187
+        {
188
+          type: "pie",
189
+          label: {
190
+            show: true,
191
+            formatter:"{b} : {d}% ({c})"
192
+            // b代表名称,c代表对应值,d代表百分比"{b} : {d}% ({c})" 
193
+          },
194
+          radius: "65%", //饼图半径
195
+          data: this.pieData
196
+        }
197
+      ]
198
+    };
199
+  //   console.log(this.seriesData);
200
+    const optionFree = {
201
+      series: [
202
+        {
203
+          data: this.seriesData,
204
+          type: "line",
205
+          smooth: true
206
+        }
207
+      ]
208
+    };
209
+    this.myChart = echarts.init(document.getElementById("mychart"));
210
+    this.myChart.setOption(option);
211
+    //随着屏幕大小调节图表
212
+  //   window.addEventListener("resize", () => {
213
+  //     this.myChart.resize();
214
+  //   });
215
+  },
216
+  getSummaries(param) {
217
+      const { columns, data } = param;
218
+      const sums = [];
219
+      columns.forEach((column, index) => {
220
+        if (index === 0) {
221
+          sums[index] = '总价';
222
+          return;
223
+        }
224
+        const values = data.map(item => Number(item[column.property]));
225
+        if (!values.every(value => isNaN(value))) {
226
+          sums[index] = values.reduce((prev, curr) => {
227
+            const value = Number(curr);
228
+            if (!isNaN(value)) {
229
+              return prev + curr;
230
+            } else {
231
+              return prev;
232
+            }
233
+          }, 0);
234
+          sums[index] += ' 元';
235
+        } else {
236
+          sums[index] = 'N/A';
237
+        }
238
+      });
239
+
240
+      return sums;
241
+  },
242
+  handleClick(id){
243
+      console.log(id);
244
+  }
245
+}
246
+
247
+}
248
+</script>
249
+<style lang="scss" scoped>
250
+.content_top{
251
+  display: flex;
252
+  justify-content: space-around;
253
+  color: #1e5feb;
254
+}
255
+</style>

+ 6 - 6
src/xt_pages/stock/detail/print.vue View File

@@ -51,13 +51,13 @@
51 51
               <td style="line-height: 50px">
52 52
                 <span v-if="type == 1"> {{ item.warehousing_count }}</span>
53 53
                 <span v-if="type == 2">
54
-                  <span  v-if="org_id == 3907 || org_id == 9919 || org_id == 9583 || org_id == 0">
54
+                  <span  v-if="org_id == 3907 || org_id == 9919 || org_id == 9583 || org_id == 0 || org_id == 10402">
55 55
                     <!-- {{getStockCount(item.good_id) }} -->
56 56
                     {{getMySelfCount(item.good_id) }}
57 57
                   </span>
58 58
                    <span  v-if="org_id == 10265 || org_id == 10215">{{getMySelfCount(item.good_id) }}</span>
59 59
                    <span v-if="org_id == 10210 || org_id == 9671 || org_id == 9675 || org_id == 9679 || org_id == 10188 || org_id == 10217 || org_id == 9956 || org_id == 10191">{{getWarehouseOut(item.good_id)}}</span>
60
-                  <span v-if="org_id!=3907&&org_id!=10265 &&org_id!=9919&&org_id!=10285&&org_id!=9583&&org_id!=10215&&org_id!=10210&&org_id!=9671 &&org_id!=9679 &&org_id!=9675 && org_id!=10188&& org_id!=10217&& org_id!=9956&& org_id!=10191 && org_id!=0">{{getStockCount(item.good_id) }}</span>
60
+                  <span v-if="org_id!=3907&&org_id!=10265 &&org_id!=9919&&org_id!=10285&&org_id!=9583&&org_id!=10215&&org_id!=10210&&org_id!=9671 &&org_id!=9679 &&org_id!=9675 && org_id!=10188&& org_id!=10217&& org_id!=9956&& org_id!=10191 && org_id!=0 && org_id!=10402">{{getStockCount(item.good_id) }}</span>
61 61
                 </span>
62 62
 
63 63
                 <span v-if="type == 4"> {{ item.count }}</span>
@@ -78,14 +78,14 @@
78 78
               <td style="line-height:50px">
79 79
                 <span v-if="type == 1">{{(item.warehousing_count * item.price).toFixed(2)}}</span>
80 80
                 <span v-if="type == 2">
81
-                  <span v-if="org_id == 3907 || org_id ==9919 || org_id == 0">
81
+                  <span v-if="org_id == 3907 || org_id ==9919 || org_id == 0 || org_id ==10402">
82 82
                     <!-- {{(getStockCount(item.good_id) * item.buy_price).toFixed(2)}} -->
83 83
                      {{(getMySelfCount(item.good_id) * item.buy_price).toFixed(2)}}
84 84
                      
85 85
                   </span>
86 86
                   <span v-if="org_id == 10265 || org_id == 10215  ">{{(getMySelfCount(item.good_id)*item.packing_price).toFixed(2)}}</span>
87 87
                    <span v-if="org_id == 10210 || org_id == 9671 || org_id == 9675 || org_id == 9679 || org_id == 10188 || org_id == 10217 || org_id == 9956 || org_id == 10191">{{(getWarehouseOut(item.good_id)*item.packing_price).toFixed(2)}}</span>
88
-                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=9919&&org_id!=10215&&org_id!=9671 && org_id!=9675 && org_id!=9679 && org_id!=10188 && org_id!=10217 && org_id!= 9956 && org_id!=10191">{{(getStockCount(item.good_id) * item.packing_price).toFixed(2)}}</span>
88
+                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=9919&&org_id!=10215&&org_id!=9671 && org_id!=9675 && org_id!=9679 && org_id!=10188 && org_id!=10217 && org_id!= 9956 && org_id!=10191 && org_id!=10402&& org_id!=0">{{(getStockCount(item.good_id) * item.packing_price).toFixed(2)}}</span>
89 89
                 </span>
90 90
                 <span v-if="type == 4">{{(item.count * item.price).toFixed(2)}}</span>
91 91
               </td>
@@ -106,9 +106,9 @@
106 106
               <td style="line-height: 50px"  width="80">
107 107
                 <span v-if="type == 1">{{getWareInfoTotal().toFixed(2)}}</span>
108 108
                 <span v-if="type == 2">
109
-                  <span v-if="org_id == 3907 || org_id == 9919">{{getWareOutTotalOne().toFixed(2)}}</span>
109
+                  <span v-if="org_id == 3907 || org_id == 9919 || org_id == 10402">{{getWareOutTotalOne().toFixed(2)}}</span>
110 110
                   <span v-if="org_id == 10265 || org_id == 10215">{{getWareOutTotalSix().toFixed(2)}}</span>
111
-                  <span v-if="org_id!=3907 && org_id!=9919 && org_id!=10265 && org_id!=10215"> {{getWareOutTotal().toFixed(2)}}</span>
111
+                  <span v-if="org_id!=3907 && org_id!=9919 && org_id!=10265 && org_id!=10215 && org_id!=10402"> {{getWareOutTotal().toFixed(2)}}</span>
112 112
                  </span>
113 113
                 <span v-if="type == 4">{{getWareOutTotal().toFixed(2)}}</span>
114 114
               </td>

+ 3 - 3
src/xt_pages/stock/detail/stockOutDetail.vue View File

@@ -809,7 +809,7 @@ export default {
809 809
         this.tableOut[i].specification_name = this.tableOut[i].specification_name
810 810
         this.tableOut[i].packing_unit = this.tableOut[i].packing_unit
811 811
         this.tableOut[i].ctime = this.getTime(this.tableOut[i].ctime)
812
-        if(this.orgId == 9919){
812
+        if(this.orgId == 9919 || this.orgId == 10402 || this.orgId == 0){
813 813
           this.tableOut[i].total_price = (this.tableOut[i].count * this.tableOut[i].buy_price).toFixed(2)
814 814
           this.tableOut[i].packing_price = this.tableOut[i].buy_price
815 815
         }else if(this.orgId == 10265){
@@ -834,7 +834,7 @@ export default {
834 834
           this.tableOut[i].total_price = (this.getStockCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
835 835
         }
836 836
 
837
-        if(this.orgId  == 10265 || this.orgId ==10215 || this.orgId == 9919 || this.orgId == 9671 || this.orgId == 0){
837
+        if(this.orgId  == 10265 || this.orgId ==10215 || this.orgId == 9919 || this.orgId == 9671 || this.orgId == 0 || this.orgId == 10402){
838 838
 
839 839
          this.tableOut[i].out_count = this.getMySelfCount(this.tableOut[i].good_id)
840 840
         }
@@ -842,7 +842,7 @@ export default {
842 842
           this.tableOut[i].out_count = this.getWarehouseOut(this.tableOut[i].good_id)
843 843
           console.log("out_count232233232332",this.tableOut[i].out_count)
844 844
         }
845
-        if(this.orgId!=10265 && this.orgId !=10215  && this.orgId != 9671 &&this.orgId!=10210&&this.orgId!=9675 && this.orgId!=9956&& this.orgId!=10217 && this.orgId!=10188 && this.orgId!=10191 && this.orgId!=9919 && this.orgId!=0){
845
+        if(this.orgId!=10265 && this.orgId !=10215  && this.orgId != 9671 &&this.orgId!=10210&&this.orgId!=9675 && this.orgId!=9956&& this.orgId!=10217 && this.orgId!=10188 && this.orgId!=10191 && this.orgId!=9919 && this.orgId!=0&& this.orgId!=10402){
846 846
           this.tableOut[i].out_count = this.getStockCount(this.tableOut[i].good_id)
847 847
         }
848 848
        }

+ 1 - 1
src/xt_pages/stock/inventoryTransfer/Addtrans.vue View File

@@ -461,7 +461,7 @@ export default {
461 461
       this.$refs["tableForm"].validate((valid) => {
462 462
         if (valid) {
463 463
           const array = this.recordInfo.recordData;
464
-          if(len(array)==0){
464
+          if(array!=null && array.length ==0 ){
465 465
              this.$message.error("请新增药品或者耗材")
466 466
              return false
467 467
           }

+ 1 - 1
src/xt_pages/stock/inventoryTransfer/transEdit.vue View File

@@ -749,7 +749,7 @@ export default {
749 749
           });
750 750
           this.loading = true;
751 751
           const array = this.recordInfo.recordData;
752
-          if(len(array)==0){
752
+          if(array!=null && array.length ==0){
753 753
              this.$message.error("请新增药品或者耗材")
754 754
              return false
755 755
           }

+ 5 - 4
src/xt_pages/stock/stockInOrderDetailPrint.vue View File

@@ -10,10 +10,11 @@
10 10
         </div>
11 11
         <div class="app-container" style="background-color: white;">
12 12
             <div id="print_content">
13
-                <div class="print_main_content" v-for="(it,index) in warehousingInfo" :key="index">
14
-                    <div class="order_title_panl">
13
+                <div class="print_main_content" v-for="(it,index) in warehousingInfo" :key="index" >
14
+                  <div style="margin-bottom: 20px; page-break-after: always;">
15
+                    <div class="order_title_panl" style="text-align:center;">
15 16
                         <div style="font-size:22px;font-weight:bold;">{{ orgName }}</div>
16
-                        <span style="font-weight:500;font-size:18px;">耗材入库登记单</span>
17
+                        <span style="font-weight:500;font-size:18px; text-align: center;">耗材入库登记单</span>
17 18
                     </div>
18 19
                     <div style="display:flex;justify-content: space-between;">
19 20
                       <div style="text-align:left;margin-bottom:1px;font-size: 18px;">
@@ -80,6 +81,7 @@
80 81
                             <div style="width:70px;">制单人:</div><div style="width:100px;">{{ getXuserName(it.creater) }}</div>
81 82
                        </div>
82 83
                     </div>
84
+                  </div>
83 85
                 </div>
84 86
             </div>
85 87
         </div>
@@ -389,7 +391,6 @@ export default {
389 391
 
390 392
   .order_title_panl {
391 393
     text-align: center;
392
-
393 394
     .main_title {
394 395
       font-size: 18px;
395 396
       line-height: 40px;

+ 1 - 1
src/xt_pages/stock/stockOutOrder.vue View File

@@ -338,7 +338,7 @@
338 338
                <tr style="background: none" v-for="(item,index) in scope.row.childOne" :key="index">
339 339
                   <td style="border-right: none; border-inline-end: none;text-align: center">
340 340
                       <!-- {{(getAllStockCount(scope.row.child,item.warehousing_id) * getAllStockCountPrice(scope.row.child,item.warehousing_id)).toFixed(2)}} -->
341
-                       {{(getAllStockCount(scope.row.child,item.warehousing_id) - getCancelInfo(item.warehousing_id,item.good_id)) *  getAllStockCountPrice(scope.row.child,item.warehousing_id)}}
341
+                       {{((getAllStockCount(scope.row.child,item.warehousing_id) - getCancelInfo(item.warehousing_id,item.good_id)) *  getAllStockCountPrice(scope.row.child,item.warehousing_id)).toFixed(2)}}
342 342
                   </td>
343 343
                </tr>
344 344
             </template>

+ 23 - 17
src/xt_pages/user/components/PatientDetail.vue View File

@@ -841,10 +841,10 @@
841 841
           <div class="order_title">{{ orgname }} 血液透析门诊病历</div>
842 842
           <div >
843 843
             <table >
844
-              <thead>
845
-                <!-- 用 thead 规定好宽度 -->
844
+              <!-- 用 thead 规定好宽度 -->
845
+              <!-- <thead>
846 846
                 <tr v-show="false">
847
-                  <td width="5%"></td>
847
+                  <td width="7%"></td>
848 848
                   <td width="10%"></td>
849 849
                   <td width="5%"></td>
850 850
                   <td width="10%"></td>
@@ -853,10 +853,10 @@
853 853
                   <td width="5%"></td>
854 854
                   <td width="30%"></td>
855 855
                 </tr>
856
-              </thead>
856
+              </thead> -->
857 857
               <tbody>
858 858
                 <tr>
859
-                  <td valign="top"><div class="td_proj_title">姓名</div></td>
859
+                  <td valign="top" style="width:8%"><div class="td_proj_title">姓名</div></td>
860 860
                   <td valign="top">
861 861
                     <div class="td_proj_content">{{ patientPrint.name }}</div>
862 862
                   </td>
@@ -932,12 +932,16 @@
932 932
                   </td>
933 933
                 </tr>
934 934
                 <tr>
935
-                  <td><div class="td_proj_title">主诉</div></td>
936
-                  <td colspan="7">
937
-                    <div
938
-                      class="td_proj_content td_align_left"
935
+                  <td style="padding: 0px 0px;">
936
+                    主诉
937
+                    <!-- <div class="td_proj_title">主诉</div> -->
938
+                  </td>
939
+                  <!-- class="td_proj_content td_align_left" -->
940
+                  <td colspan="7" style="text-align: left; padding: 2px 0px;"> 
941
+                    {{ patientPrint.patient_complains }}
942
+                    <!-- <div style="padding: 0px 0px;"
939 943
                       v-html="patientPrint.patient_complains"
940
-                    ></div>
944
+                    ></div> -->
941 945
                   </td>
942 946
                 </tr>
943 947
                 <tr >
@@ -1086,6 +1090,7 @@
1086 1090
 <script>
1087 1091
 import { getDataConfig } from "@/utils/data";
1088 1092
 import { getToken } from "@/api/qiniu";
1093
+// import print from "print-js";
1089 1094
 import {
1090 1095
   getFileExtension,
1091 1096
   isCardNo,
@@ -1558,7 +1563,7 @@ export default {
1558 1563
 
1559 1564
             var contagionsArr = response.data.data.contagions;
1560 1565
             var diseasesArr = response.data.data.diseases;
1561
-
1566
+              console.log('123456',response.data.data);
1562 1567
             this.patientPrint = patietInfo;
1563 1568
 
1564 1569
             var sourceLen = this.sourceOptions.length;
@@ -1609,9 +1614,10 @@ export default {
1609 1614
               "{y}-{m}-{d}"
1610 1615
             );
1611 1616
             this.patientPrint.age = jsGetAge(this.patientPrint.birthday, "-");
1612
-
1617
+            console.log('qwerewqrt',patietInfo.patient_complains);
1613 1618
             this.patientPrint.patient_complains =
1614 1619
               patietInfo.patient_complains.replace(/\n/g, "<br/>");
1620
+              
1615 1621
             this.patientPrint.present_history =
1616 1622
               patietInfo.present_history.replace(/\n/g, "<br/>");
1617 1623
             this.patientPrint.past_history = patietInfo.past_history.replace(
@@ -2140,8 +2146,8 @@ export default {
2140 2146
   background-color: white;
2141 2147
   width: 960px;
2142 2148
   margin: 0 auto;
2143
-  padding: 0 0 20px 0;
2144
-  /* page-break-after: always; */
2149
+  padding: 0 0 0 0;
2150
+  page-break-after: always;
2145 2151
 }
2146 2152
 .print_main_content .order_title {
2147 2153
   text-align: center;
@@ -2159,16 +2165,16 @@ export default {
2159 2165
   border: 1px solid;
2160 2166
   text-align: center;
2161 2167
   /* font-size: 17px; */
2162
-  padding: 10px 8px;
2168
+  /* padding: 10px 8px; */
2163 2169
 }
2164 2170
 .td_proj_title {
2165 2171
   font-size: 18px;
2166
-  line-height: 25px;
2172
+  line-height: 20px;
2167 2173
   font-weight: 500;
2168 2174
 }
2169 2175
 .td_proj_content {
2170 2176
   font-size: 18px;
2171
-  line-height: 25px;
2177
+  line-height: 20px;
2172 2178
 }
2173 2179
 .td_align_left {
2174 2180
   text-align: left;

+ 4 - 3
src/xt_pages/workforce/appointment.vue View File

@@ -173,7 +173,7 @@
173 173
       </div>
174 174
         </edit-table-data>
175 175
 
176
-        <HistoryWeekTable v-show="showtable" ref="tableDataZero"  :week-time="activeName" partitions-prop="partitions"
176
+        <HistoryWeekTable v-show="showtable" ref="tableDataZero"  :week-time="activeName" :partitions-prop="partitions"
177 177
                   :schedule-zone-row-prop="scheduleZoneRow"
178 178
                   :schedule-zone-prop="scheduleZone" title="" >
179 179
           </HistoryWeekTable>
@@ -333,7 +333,6 @@ export default {
333 333
         this.showtable=true
334 334
         this.showtableOne=false
335 335
         this.$nextTick(() => {
336
-
337 336
           this.$refs.tableDataZero.start()
338 337
         })
339 338
         // console.log('12343545',this.$refs.tableDataZero);
@@ -891,7 +890,9 @@ export default {
891 890
 
892 891
     printScheduleAction: function () {
893 892
       var date = new Date().getTime()
894
-      if (this.activeName == 'lastWeek') {
893
+      if(this.activeName == 'historyWeek'){
894
+        date = date - 14 * 24 * 60 * 60 * 1000
895
+      }else if (this.activeName == 'lastWeek') {
895 896
         date = date - 7 * 24 * 60 * 60 * 1000
896 897
       } else if (this.activeName == 'nextWeek') {
897 898
         date = date + 7 * 24 * 60 * 60 * 1000

+ 1 - 1
src/xt_pages/workforce/components/historyWeekTable.vue View File

@@ -791,7 +791,7 @@ export default {
791 791
     this.now_time = date.getTime()/1000
792 792
     this.getAllZones()
793 793
 
794
-    this.changeScheduleType(1)
794
+    // this.changeScheduleType(1)
795 795
     rowNumber = 0;
796 796
     this.modeOptions = this.$store.getters.treatment_mode;
797 797
 

+ 10 - 2
src/xt_pages/workforce/scheduleTablePrint.vue View File

@@ -198,6 +198,7 @@ export default {
198 198
             scheduleZoneRow: [],
199 199
             partitions: {},
200 200
             theWeek: {
201
+              historyWeek: 0,
201 202
               lastWeek: 0,
202 203
               thisWeek: 0,
203 204
               nextWeek: 0,
@@ -217,7 +218,7 @@ export default {
217 218
         this.partition_id = this.$route.query.partition_id
218 219
         var newList = []
219 220
         var arr =  this.$route.query.week_date
220
-
221
+        console.log('1234325431',this.$route.query);
221 222
         if(arr!=""){
222 223
           var newArr = arr.split(",")
223 224
 
@@ -294,6 +295,7 @@ export default {
294 295
                 }
295 296
                 var partitions = response.data.data.partitions
296 297
                 console.log("分区",partitions)
298
+                this.theWeek.historyWeek = this.theWeek.thisWeek - 2 
297 299
                 this.theWeek.thisWeek = response.data.data.theWeek
298 300
                 this.theWeek.lastWeek = this.theWeek.thisWeek - 1
299 301
                 this.theWeek.nextWeek = this.theWeek.thisWeek + 1
@@ -473,6 +475,9 @@ export default {
473 475
         },
474 476
         getSchedules() {
475 477
             var theType = 2;
478
+            if(this.$route.query.weekTime == "historyWeek"){
479
+                theType =0
480
+            }
476 481
             if(this.$route.query.weekTime == "lastWeek"){
477 482
                theType = 1
478 483
             }
@@ -863,6 +868,9 @@ export default {
863 868
         },
864 869
         getPatientSheduleCount(){
865 870
             var theType = 2;
871
+            if(this.$route.query.weekTime == "historyWeek"){
872
+                theType =0
873
+            }
866 874
             if(this.$route.query.weekTime == "lastWeek"){
867 875
                theType = 1
868 876
             }
@@ -894,7 +902,7 @@ export default {
894 902
                if(response.data.state == 1){
895 903
                   var list = response.data.data.list
896 904
                   console.log("list22222",list)
897
-
905
+                    console.log('asdfgfffffff',response.data.data);
898 906
                   this.scheduleCountList = list
899 907
                   var total = response.data.data.total
900 908
                   console.log("totalw222",total)

+ 13 - 13
src/xt_permission.js View File

@@ -12,19 +12,19 @@ const permissionWhiteList = loginWhiteList.concat(['/']) // 权限验证白名
12 12
 
13 13
 router.beforeEach((to, from, next) => {
14 14
   // 线上注释
15
-  // if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
-  //   store.dispatch('VerifyConfigList', []).then(() => {
17
-  //     next()
18
-  //   })
19
-  // }
20
-  // if (store.getters.permission_routers === undefined) {
21
-  //   store.dispatch('xt_GenerateRoutes', []).then(() => {
22
-  //     next()
23
-  //   })
24
-  // } else {
25
-  //   next()
26
-  // }
27
-  // return
15
+  if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
+    store.dispatch('VerifyConfigList', []).then(() => {
17
+      next()
18
+    })
19
+  }
20
+  if (store.getters.permission_routers === undefined) {
21
+    store.dispatch('xt_GenerateRoutes', []).then(() => {
22
+      next()
23
+    })
24
+  } else {
25
+    next()
26
+  }
27
+  return
28 28
   // 线上注释
29 29
   NProgress.start()
30 30
   // console.log(store.getters.current_role_urls.indexOf(to.path))