Ver código fonte

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

csx 4 anos atrás
pai
commit
7904e68102
46 arquivos alterados com 6864 adições e 4825 exclusões
  1. 2 1
      config/dev.env.js
  2. 2 2
      config/index.js
  3. 33 7
      src/api/common/common.js
  4. 1 1
      src/router/index_路由未分离前.js
  5. 103 91
      src/router/modules/dialysis.js
  6. 1182 1167
      src/store/modules/globalConfig.js
  7. 1497 0
      src/xt_pages/dialysis/batch_print/batch_print_order_fifteen.vue
  8. 12 0
      src/xt_pages/dialysis/bloodPresssWatch.vue
  9. 1 1
      src/xt_pages/dialysis/details/acceptsAssessment.vue
  10. 1913 1913
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  11. 1279 1256
      src/xt_pages/dialysis/template/DialysisPrintOrderFifteen.vue
  12. 43 60
      src/xt_pages/qcd/basicInformationAnalysis.vue
  13. 1 1
      src/xt_pages/qcd/checkStatistical.vue
  14. 1 1
      src/xt_pages/qcd/dialysisTotal.vue
  15. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/analysis.vue
  16. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/analysisDetails.vue
  17. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/bloodPressureDetails.vue
  18. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/monitor.vue
  19. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/weight.vue
  20. 1 1
      src/xt_pages/qcd/indicatorControlAnalysis/weightDetails.vue
  21. 45 75
      src/xt_pages/qcd/officesControlAnalysis/project.vue
  22. 211 86
      src/xt_pages/qcd/officesControlAnalysis/time.vue
  23. 1 1
      src/xt_pages/qcd/outcomeIndicators/control.vue
  24. 1 1
      src/xt_pages/qcd/patientAnalysis/bloodPressure.vue
  25. 1 1
      src/xt_pages/qcd/patientAnalysis/complication.vue
  26. 1 1
      src/xt_pages/qcd/patientAnalysis/dialysisAge.vue
  27. 1 1
      src/xt_pages/qcd/patientAnalysis/infectiousDiseases.vue
  28. 1 1
      src/xt_pages/qcd/patientAnalysis/lapseto.vue
  29. 1 1
      src/xt_pages/qcd/patientAnalysis/person/bloodPressure.vue
  30. 1 1
      src/xt_pages/qcd/patientAnalysis/person/lapseto.vue
  31. 1 1
      src/xt_pages/qcd/patientAnalysis/person/oralMedicine.vue
  32. 1 1
      src/xt_pages/qcd/patientAnalysis/person/weight.vue
  33. 1 1
      src/xt_pages/qcd/patientAnalysis/weight.vue
  34. 183 66
      src/xt_pages/qcd/patientComplianceDetails.vue
  35. 286 25
      src/xt_pages/qcd/patientControlAnalysis.vue
  36. 1 1
      src/xt_pages/qcd/processIndicators.vue
  37. 7 7
      src/xt_pages/qcd/statisticalConfiguration.vue
  38. 1 1
      src/xt_pages/qcd/treatmentControlAnalysis.vue
  39. 1 1
      src/xt_pages/qcd/treatmentControlAnalysis/check.vue
  40. 15 16
      src/xt_pages/qcd/treatmentControlAnalysis/components/CheckAll.vue
  41. 10 12
      src/xt_pages/qcd/treatmentControlAnalysis/components/CheckPersonal.vue
  42. 1 1
      src/xt_pages/qcd/treatmentControlAnalysis/time.vue
  43. 1 1
      src/xt_pages/qcd/workAnalysis/doctor.vue
  44. 1 1
      src/xt_pages/qcd/workAnalysis/nurse.vue
  45. 1 1
      src/xt_pages/statistics/index.vue
  46. 13 13
      src/xt_permission.js

+ 2 - 1
config/dev.env.js Ver arquivo

@@ -7,7 +7,8 @@ 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:'"http://localhost:9531"',
10
+  //BASE_API:'"http://localhost:9531"',
11
+  BASE_API:'"http://api.xt.test.sgjyun.com"',
11 12
   SSO_HOST: '"http://testsso.sgjyun.com"',
12 13
   SRCM_HOST: '"http://test1.sgjyun.com"',
13 14
   XT_HOST: '"http://xt.test.sgjyun.com"',

+ 2 - 2
config/index.js Ver arquivo

@@ -19,8 +19,8 @@ module.exports = {
19 19
 
20 20
     // host: 'xt.test.sgjyun.com',
21 21
     // host: 'xt.kuyicloud.com',
22
-    // host: 'xt.test.sgjyun.com',
23
-    host:'localhost',
22
+     host: 'xt.test.sgjyun.com',
23
+   // host:'localhost',
24 24
     port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
25 25
     autoOpenBrowser: true,
26 26
     errorOverlay: true,

+ 33 - 7
src/api/common/common.js Ver arquivo

@@ -149,6 +149,7 @@ export function getTotalLapseCount(startime, endtime) {
149 149
     startime: startime,
150 150
     endtime: endtime
151 151
   }
152
+
152 153
   return request({
153 154
     url: '/com/api/gettotallapsecount',
154 155
     method: 'get',
@@ -376,12 +377,7 @@ export function getNormData(params) {
376 377
   })
377 378
 }
378 379
 
379
-export function getFirstQuarter(lapseto, startime, endtime) {
380
-  const params = {
381
-    lapseto: lapseto,
382
-    startime: startime,
383
-    endtime: endtime
384
-  }
380
+export function getFirstQuarter(params) {
385 381
   console.log('params', params)
386 382
   return request({
387 383
     url: '/com/api/getfirstquarter',
@@ -391,7 +387,6 @@ export function getFirstQuarter(lapseto, startime, endtime) {
391 387
 }
392 388
 
393 389
 export function getProjectList(params) {
394
-  console.log('params', params)
395 390
   return request({
396 391
     url: '/com/api/getprojectlist',
397 392
     method: 'get',
@@ -423,3 +418,34 @@ export function getPatientsControl(lapstor, startime, endtime, page, limit) {
423 418
   })
424 419
 }
425 420
 
421
+export function getCartogramlist(lapsetor, startime, endtime, limit, page) {
422
+  const params = {
423
+    lapsetor: lapsetor,
424
+    startime: startime,
425
+    endtime: endtime,
426
+    limit: limit,
427
+    page: page
428
+  }
429
+
430
+  return request({
431
+    url: '/com/api/getcartogramlist',
432
+    method: 'Get',
433
+    params: params
434
+  })
435
+}
436
+
437
+export function getPatientContorlAnalysis(params) {
438
+  return request({
439
+    url: '/com/api/getpatientcontor',
440
+    method: 'get',
441
+    params: params
442
+  })
443
+}
444
+
445
+export function GetQualityControl(params) {
446
+  return request({
447
+    url: '/com/api/getqualitycontrol',
448
+    method: 'Get',
449
+    params: params
450
+  })
451
+}

+ 1 - 1
src/router/index_路由未分离前.js Ver arquivo

@@ -895,7 +895,7 @@ export const xt_asyncRouterMap = [
895 895
     redirect: '/qcd/dialysistotal',
896 896
     name: 'qcd',
897 897
     alwaysShow: true,
898
-    meta: { title: '科室质控', icon: 'table' },
898
+    meta: { title: '质控管理', icon: 'table' },
899 899
     children: [
900 900
       { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
901 901
       { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},

+ 103 - 91
src/router/modules/dialysis.js Ver arquivo

@@ -1,62 +1,62 @@
1
-import Layout from "@/views/layout/Layout";
1
+import Layout from '@/views/layout/Layout'
2 2
 
3 3
 export default {
4
-  path: "/dialysis/",
4
+  path: '/dialysis/',
5 5
   component: Layout,
6
-  redirect: "noredirect",
7
-  name: "dialysis",
6
+  redirect: 'noredirect',
7
+  name: 'dialysis',
8 8
   alwaysShow: true,
9 9
   meta: {
10
-    title: "dialysis",
11
-    icon: "touxi"
10
+    title: 'dialysis',
11
+    icon: 'touxi'
12 12
   },
13 13
   children: [
14 14
     {
15
-      path: "/dialysis/dialysisrecord",
16
-      component: () => import("@/xt_pages/dialysis/schedualPatient"),
17
-      name: "透析记录",
15
+      path: '/dialysis/dialysisrecord',
16
+      component: () => import('@/xt_pages/dialysis/schedualPatient'),
17
+      name: '透析记录',
18 18
       meta: {
19
-        title: "透析记录",
19
+        title: '透析记录',
20 20
         noCache: true
21 21
       }
22 22
     },
23 23
     {
24
-      path: "/dialysis/watch",
25
-      component: () => import("@/xt_pages/dialysis/bloodPresssWatch"),
26
-      name: "watch",
24
+      path: '/dialysis/watch',
25
+      component: () => import('@/xt_pages/dialysis/bloodPresssWatch'),
26
+      name: 'watch',
27 27
       meta: {
28
-        title: "watch",
28
+        title: 'watch',
29 29
         noCache: true
30 30
       }
31 31
     },
32 32
     {
33
-      path: "/dialysis/board",
34
-      component: () => import("@/xt_pages/dialysis/bulletinBoard"),
35
-      name: "数据看板",
33
+      path: '/dialysis/board',
34
+      component: () => import('@/xt_pages/dialysis/bulletinBoard'),
35
+      name: '数据看板',
36 36
       meta: {
37
-        title: "数据看板",
37
+        title: '数据看板',
38 38
         noCache: true
39 39
       }
40 40
     },
41 41
     {
42
-      path: "/dialysis/record/:id",
43
-      component: () => import("@/xt_pages/dialysis/dialysisPage"),
42
+      path: '/dialysis/record/:id',
43
+      component: () => import('@/xt_pages/dialysis/dialysisPage'),
44 44
       hidden: true,
45 45
       is_menu: false,
46
-      name: "paper",
46
+      name: 'paper',
47 47
       meta: {
48
-        title: "paper",
48
+        title: 'paper',
49 49
         noCache: true
50 50
       }
51 51
     },
52 52
     {
53
-      path: "/dialysis/print",
54
-      component: () => import("@/xt_pages/dialysis/dialysisPrintOrder"),
53
+      path: '/dialysis/print',
54
+      component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
55 55
       hidden: true,
56 56
       is_menu: false,
57
-      name: "dialysisPrintOrder",
57
+      name: 'dialysisPrintOrder',
58 58
       meta: {
59
-        title: "dialysisPrintOrder",
59
+        title: 'dialysisPrintOrder',
60 60
         noCache: true
61 61
       }
62 62
     },
@@ -65,195 +65,207 @@ export default {
65 65
     // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
66 66
 
67 67
     {
68
-      path: "/dialysis/details",
69
-      component: () => import("@/xt_pages/dialysis/details"),
70
-      name: "details",
68
+      path: '/dialysis/details',
69
+      component: () => import('@/xt_pages/dialysis/details'),
70
+      name: 'details',
71 71
       meta: {
72
-        title: "details"
72
+        title: 'details'
73 73
       },
74 74
       hidden: true,
75 75
       is_menu: false,
76 76
       noCache: true
77 77
     },
78 78
     {
79
-      path: "/dialysis/print/batch",
79
+      path: '/dialysis/print/batch',
80 80
       component: () =>
81
-        import("@/xt_pages/dialysis/batch_print/batch_print_order"),
81
+        import('@/xt_pages/dialysis/batch_print/batch_print_order'),
82 82
       hidden: true,
83 83
       is_menu: false,
84
-      name: "dialysis_batch_print",
84
+      name: 'dialysis_batch_print',
85 85
       meta: {
86
-        title: "批量打印",
86
+        title: '批量打印',
87 87
         noCache: true
88 88
       }
89 89
     },
90 90
     {
91
-      path: "/dialysis/print/batch/other",
91
+      path: '/dialysis/print/batch/other',
92 92
       component: () =>
93
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_other"),
93
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_other'),
94 94
       hidden: true,
95 95
       is_menu: false,
96
-      name: "dialysis_batch_print_two",
96
+      name: 'dialysis_batch_print_two',
97 97
       meta: {
98
-        title: "批量打印",
98
+        title: '批量打印',
99 99
         noCache: true
100 100
       }
101 101
     },
102 102
     {
103
-      path: "/dialysis/print/batch/three",
103
+      path: '/dialysis/print/batch/three',
104 104
       component: () =>
105
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_three"),
105
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_three'),
106 106
       hidden: true,
107 107
       is_menu: false,
108
-      name: "dialysis_batch_print_two_one",
108
+      name: 'dialysis_batch_print_two_one',
109 109
       meta: {
110
-        title: "批量打印",
110
+        title: '批量打印',
111 111
         noCache: true
112 112
       }
113 113
     },
114 114
     {
115
-      path: "/dialysis/print/batch/four",
115
+      path: '/dialysis/print/batch/four',
116 116
       component: () =>
117
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_four"),
117
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_four'),
118 118
       hidden: true,
119 119
       is_menu: false,
120
-      name: "dialysis_batch_print_two_one",
120
+      name: 'dialysis_batch_print_two_one',
121 121
       meta: {
122
-        title: "批量打印",
122
+        title: '批量打印',
123 123
         noCache: true
124 124
       }
125 125
     },
126 126
     {
127
-      path: "/dialysis/print/batch/five",
127
+      path: '/dialysis/print/batch/five',
128 128
       component: () =>
129
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_five"),
129
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_five'),
130 130
       hidden: true,
131 131
       is_menu: false,
132
-      name: "dialysis_batch_print_two_one",
132
+      name: 'dialysis_batch_print_two_one',
133 133
       meta: {
134
-        title: "批量打印",
134
+        title: '批量打印',
135 135
         noCache: true
136 136
       }
137 137
     },
138 138
     {
139
-      path: "/dialysis/print/batch/six",
139
+      path: '/dialysis/print/batch/six',
140 140
       component: () =>
141
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_six"),
141
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_six'),
142 142
       hidden: true,
143 143
       is_menu: false,
144
-      name: "dialysis_batch_six",
144
+      name: 'dialysis_batch_six',
145 145
       meta: {
146
-        title: "批量打印",
146
+        title: '批量打印',
147 147
         noCache: true
148 148
       }
149 149
     },
150 150
     {
151
-      path: "/dialysis/print/batch/seven",
151
+      path: '/dialysis/print/batch/seven',
152 152
       component: () =>
153
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_seven"),
153
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_seven'),
154 154
       hidden: true,
155 155
       is_menu: false,
156
-      name: "dialysis_batch_seven",
156
+      name: 'dialysis_batch_seven',
157 157
       meta: {
158
-        title: "批量打印",
158
+        title: '批量打印',
159 159
         noCache: true
160 160
       }
161 161
     },
162 162
     {
163
-      path: "/dialysis/print/batch/eight",
163
+      path: '/dialysis/print/batch/eight',
164 164
       component: () =>
165
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_eight"),
165
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_eight'),
166 166
       hidden: true,
167 167
       is_menu: false,
168
-      name: "dialysis_batch_eight",
168
+      name: 'dialysis_batch_eight',
169 169
       meta: {
170
-        title: "批量打印",
170
+        title: '批量打印',
171 171
         noCache: true
172 172
       }
173 173
     },
174 174
     {
175
-      path: "/dialysis/print/batch/nine",
175
+      path: '/dialysis/print/batch/nine',
176 176
       component: () =>
177
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_nine"),
177
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_nine'),
178 178
       hidden: true,
179 179
       is_menu: false,
180
-      name: "dialysis_batch_nine",
180
+      name: 'dialysis_batch_nine',
181 181
       meta: {
182
-        title: "批量打印",
182
+        title: '批量打印',
183 183
         noCache: true
184 184
       }
185 185
     },
186 186
     {
187
-      path: "/dialysis/print/batch/twelve",
187
+      path: '/dialysis/print/batch/twelve',
188 188
       component: () =>
189
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_twelve"),
189
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_twelve'),
190 190
       hidden: true,
191 191
       is_menu: false,
192
-      name: "dialysis_batch_twelve",
192
+      name: 'dialysis_batch_twelve',
193 193
       meta: {
194
-        title: "批量打印",
194
+        title: '批量打印',
195 195
         noCache: true
196 196
       }
197 197
     },
198 198
     {
199
-      path: "/dialysis/print/batch/thirteen",
199
+      path: '/dialysis/print/batch/thirteen',
200 200
       component: () =>
201
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_thirteen"),
201
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_thirteen'),
202 202
       hidden: true,
203 203
       is_menu: false,
204
-      name: "dialysis_batch_thirteen",
204
+      name: 'dialysis_batch_thirteen',
205 205
       meta: {
206
-        title: "批量打印",
206
+        title: '批量打印',
207 207
         noCache: true
208 208
       }
209 209
     },
210 210
     {
211
-      path: "/dialysis/print/batch/otherone",
211
+      path: '/dialysis/print/batch/fifteen',
212 212
       component: () =>
213
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_other_one"),
213
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_fifteen'),
214 214
       hidden: true,
215 215
       is_menu: false,
216
-      name: "dialysis_batch_print_two_one",
216
+      name: 'dialysis_batch_fifteen',
217 217
       meta: {
218
-        title: "批量打印",
218
+        title: '批量打印',
219 219
         noCache: true
220 220
       }
221 221
     },
222 222
     {
223
-      path: "/dialysis/print/batch/othertwo",
223
+      path: '/dialysis/print/batch/otherone',
224 224
       component: () =>
225
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_other_two"),
225
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_other_one'),
226 226
       hidden: true,
227 227
       is_menu: false,
228
-      name: "dialysis_batch_print_two_two",
228
+      name: 'dialysis_batch_print_two_one',
229 229
       meta: {
230
-        title: "批量打印",
230
+        title: '批量打印',
231 231
         noCache: true
232 232
       }
233 233
     },
234 234
     {
235
-      path: "/dialysis/print/batch/fiveone",
235
+      path: '/dialysis/print/batch/othertwo',
236 236
       component: () =>
237
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_five_one"),
237
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_other_two'),
238 238
       hidden: true,
239 239
       is_menu: false,
240
-      name: "dialysis_batch_print_two_two",
240
+      name: 'dialysis_batch_print_two_two',
241 241
       meta: {
242
-        title: "批量打印",
242
+        title: '批量打印',
243 243
         noCache: true
244 244
       }
245 245
     },
246 246
     {
247
-      path: "/dialysis/print/batch/fivetwo",
247
+      path: '/dialysis/print/batch/fiveone',
248 248
       component: () =>
249
-        import("@/xt_pages/dialysis/batch_print/batch_print_order_five_two"),
249
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_five_one'),
250 250
       hidden: true,
251 251
       is_menu: false,
252
-      name: "dialysis_batch_print_two_two",
252
+      name: 'dialysis_batch_print_two_two',
253 253
       meta: {
254
-        title: "批量打印",
254
+        title: '批量打印',
255
+        noCache: true
256
+      }
257
+    },
258
+    {
259
+      path: '/dialysis/print/batch/fivetwo',
260
+      component: () =>
261
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_five_two'),
262
+      hidden: true,
263
+      is_menu: false,
264
+      name: 'dialysis_batch_print_two_two',
265
+      meta: {
266
+        title: '批量打印',
255 267
         noCache: true
256 268
       }
257 269
     }
258 270
   ]
259
-};
271
+}

Diferenças do arquivo suprimidas por serem muito extensas
+ 1182 - 1167
src/store/modules/globalConfig.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1497 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_fifteen.vue


+ 12 - 0
src/xt_pages/dialysis/bloodPresssWatch.vue Ver arquivo

@@ -150,6 +150,16 @@
150 150
           >批量打印</el-button
151 151
         >
152 152
       </template>
153
+      <template v-if="this.template_id == 15">
154
+        <el-button
155
+          size="small"
156
+          icon="el-icon-printer"
157
+          :disabled="selecting_schs.length == 0"
158
+          @click="batchPrintAction"
159
+          type="primary"
160
+          >批量打印</el-button
161
+        >
162
+      </template>
153 163
     </div>
154 164
     <div class="app-container">
155 165
       <!-- <div class="filter-container">
@@ -655,6 +665,8 @@ export default {
655 665
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
656 666
       } else if (this.template_id == 13) {
657 667
         this.$router.push({ path: "/dialysis/print/batch/thirteen" });
668
+      }else if (this.template_id == 15) {
669
+        this.$router.push({ path: "/dialysis/print/batch/fifteen" });
658 670
       }
659 671
     },
660 672
     batchPrintActionOne: function() {

+ 1 - 1
src/xt_pages/dialysis/details/acceptsAssessment.vue Ver arquivo

@@ -321,7 +321,7 @@
321 321
       this.postures = getDataConfig('hemodialysis', 'posture')
322 322
       this.sick_condition = getDataConfig('hemodialysis', 'sick_condition')
323 323
       this.precautions = getDataConfig('hemodialysis', 'precaution')
324
-      console.log("跌倒预防措施",this.precautions)
324
+      //console.log("跌倒预防措施",this.precautions)
325 325
       this.intake = getDataConfig('hemodialysis', 'intake')
326 326
       this.nutrition = getDataConfig('hemodialysis', 'nutrition')
327 327
       console.log(this.ways)

Diferenças do arquivo suprimidas por serem muito extensas
+ 1913 - 1913
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue


Diferenças do arquivo suprimidas por serem muito extensas
+ 1279 - 1256
src/xt_pages/dialysis/template/DialysisPrintOrderFifteen.vue


+ 43 - 60
src/xt_pages/qcd/basicInformationAnalysis.vue Ver arquivo

@@ -18,9 +18,6 @@
18 18
             >{{ item.label }}</li>
19 19
           </ul>
20 20
         </div>
21
-        <label class="title">
22
-          <span class="name">日期查询</span> :
23
-        </label>
24 21
         <el-date-picker
25 22
           v-model="listQuery.start_time"
26 23
           prefix-icon="el-icon-date"
@@ -32,6 +29,7 @@
32 29
           align="right"
33 30
           format="yyyy-MM-dd"
34 31
           value-format="yyyy-MM-dd"
32
+          :picker-options="pickerOptions"
35 33
         ></el-date-picker>
36 34
         <span class>-</span>
37 35
         <el-date-picker
@@ -45,6 +43,7 @@
45 43
           align="right"
46 44
           format="yyyy-MM-dd"
47 45
           value-format="yyyy-MM-dd"
46
+          :picker-options="pickerOptions"
48 47
         ></el-date-picker>
49 48
       </div>
50 49
       <div class="cell clearfix" style="align-items:normal">
@@ -114,6 +113,22 @@
114 113
                       <p>腹水回输:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
115 114
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
116 115
                   </span>
116
+                   <span v-if="item.mode_id == 15">
117
+                      <p>HD前置换:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
118
+                      <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
119
+                   </span>
120
+                    <span v-if="item.mode_id == 16">
121
+                      <p>HD后置换:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
122
+                      <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
123
+                   </span>
124
+                    <span v-if="item.mode_id == 17">
125
+                      <p>HDF前置换:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
126
+                      <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
127
+                   </span>
128
+                    <span v-if="item.mode_id == 18">
129
+                      <p>HDF后置换:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
130
+                      <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
131
+                   </span>
117 132
                    <span v-if="item.mode_id == 19">
118 133
                       <p>IUF+HD:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
119 134
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
@@ -165,10 +180,10 @@
165 180
                 <p class="infoTitle">转归统计(总人数{{patientCount}}人)</p>
166 181
               </div>
167 182
               <div class="borderBox1">
168
-                <p>留治:{{RetentionCount}}人({{(RetentionCount/patientCount*100).toFixed(1)}}%)</p>
169
-                <el-progress :percentage="(RetentionCount/patientCount*100).toFixed(1)"></el-progress>
170
-                <p>转出:{{rollOut}}人({{(rollOut/patientCount*100).toFixed(1)}}%)</p>
171
-                <el-progress :percentage="(rollOut/patientCount*100).toFixed(1)"></el-progress>
183
+                <p>留治:{{rollOutTotal}}人({{(rollOutTotal/patientCount*100).toFixed(1)}}%)</p>
184
+                <el-progress :percentage="(rollOutTotal/patientCount*100).toFixed(1)"></el-progress>
185
+                <p>转出:{{outTotal}}人({{(outTotal/patientCount*100).toFixed(1)}}%)</p>
186
+                <el-progress :percentage="(outTotal/patientCount*100).toFixed(1)"></el-progress>
172 187
               </div>
173 188
             </div>
174 189
             <div class="infoOne">
@@ -253,8 +268,14 @@ export default {
253 268
   },
254 269
   data() {
255 270
     return {
271
+       pickerOptions: {
272
+        disabledDate(time) {
273
+          let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
274
+          return time.getTime() > Date.now() || time.getTime() < threeMonths;;
275
+        }
276
+      }, 
256 277
       crumbs: [
257
-        { path: false, name: "科室质控" },
278
+        { path: false, name: "质控管理" },
258 279
         { path: false, name: "基本信息统计" }
259 280
       ],
260 281
       listQuery: {
@@ -268,7 +289,8 @@ export default {
268 289
         { value: 0, label: "本月", state: 0 },
269 290
         { value: 1, label: "近三个月", state: 1 },
270 291
         { value: 2, label: "近半年", state: 2 },
271
-        { value: 3, label: "近一年", state: 3 }
292
+        { value: 3, label: "近一年", state: 3 },
293
+        { value:4,label:"自定义",state:4}
272 294
       ],
273 295
       modetype:[],
274 296
       total:0,
@@ -286,6 +308,8 @@ export default {
286 308
       totalone:0,
287 309
       totaltwo:0,
288 310
       totalthree:0,
311
+      rollOutTotal:0,
312
+      outTotal:0,
289 313
     };
290 314
   },
291 315
   methods: {
@@ -294,6 +318,7 @@ export default {
294 318
       return new Date(time).getTime() / 1000;
295 319
     },
296 320
     changeTime(val) {
321
+       this.stateType = 4
297 322
        var timeStar=Date.parse(val)/1000
298 323
        var timeEnd =Date.parse(this.listQuery.end_time)/1000
299 324
       var time = this.getTimestamp(val) - this.getTimestamp(this.end_time);
@@ -316,6 +341,7 @@ export default {
316 341
       }
317 342
     },
318 343
     changeEndTime(val) {
344
+       this.stateType = 4
319 345
        var timeEnd=Date.parse(val)/1000
320 346
        var timeStar =Date.parse(this.listQuery.start_time)/1000
321 347
       var time =
@@ -443,6 +469,8 @@ export default {
443 469
         //统计透析年龄
444 470
         this.getTotalDialysisCount(startunitx,endunitx)
445 471
      }
472
+   
473
+ 
446 474
 
447 475
     },
448 476
     getDialysisModeType(startDate,endDate){
@@ -453,53 +481,6 @@ export default {
453 481
             var total =  response.data.data.total
454 482
             console.log("total",total)
455 483
             this.total = total
456
-           // for(let i=0;i<modetype.length;i++){
457
-           //   if(modetype[i].mode_id == 1){
458
-           //     modetype[i].mode_id = "HD"
459
-           //   }
460
-           //   if(modetype[i].mode_id == 2){
461
-           //     modetype[i].mode_id = "HDF"
462
-           //   }
463
-           //   if(modetype[i].mode_id == 3){
464
-           //     modetype[i].mode_id = "HD+HP"
465
-           //   }
466
-           //    if(modetype[i].mode_id == 4){
467
-           //     modetype[i].mode_id = "HP"
468
-           //   }
469
-           //    if(modetype[i].mode_id == 5){
470
-           //     modetype[i].mode_id = "HF"
471
-           //   }
472
-           //   if(modetype[i].mode_id == 6){
473
-           //     modetype[i].mode_id = "SCUF"
474
-           //   }
475
-           //   if(modetype[i].mode_id == 7){
476
-           //     modetype[i].mode_id = "IUF"
477
-           //   }
478
-           //    if(modetype[i].mode_id == 8){
479
-           //     modetype[i].mode_id = "HFHD"
480
-           //   }
481
-           //   if(modetype[i].mode_id == 9){
482
-           //     modetype[i].mode_id = "HFHD+HP"
483
-           //   }
484
-           //   if(modetype[i].mode_id == 10){
485
-           //     modetype[i].mode_id = "PHF"
486
-           //   }
487
-           //   if(modetype[i].mode_id == 11){
488
-           //     modetype[i].mode_id = "HFR"
489
-           //   }
490
-           //  if(modetype[i].mode_id == 12){
491
-           //     modetype[i].mode_id = "HDF+HP"
492
-           //   }
493
-           //    if(modetype[i].mode_id == 13){
494
-           //     modetype[i].mode_id = "HFHD+HP"
495
-           //   }
496
-           //    if(modetype[i].mode_id == 14){
497
-           //     modetype[i].mode_id = "腹水回输"
498
-           //   }
499
-           //  if(modetype[i].mode_id == 19){
500
-           //     modetype[i].mode_id = "IUF+HD"
501
-           //   }
502
-           //}
503 484
            this.modetype = modetype
504 485
            console.log("modetype",modetype)
505 486
 
@@ -511,11 +492,13 @@ export default {
511 492
       getTotalLapseCount(startDate,endDate).then(response=>{
512 493
          if(response.data.state == 1){
513 494
           var patients =  response.data.data.patients
514
-          var total = response.data.data.total
515
-          this.rollOut = total
495
+          this.rollOutTotal = patients.length
496
+          console.log("留治病人长度",patients.length)
497
+          var patienttwo = response.data.data.patienttwo
498
+          this.outTotal = patienttwo.length
499
+            console.log("转出长度", this.outTotal)
516 500
           var count = response.data.data.count
517 501
           this.patientCount = count
518
-          this.RetentionCount = count-total
519 502
          }
520 503
       })
521 504
     },
@@ -620,7 +603,7 @@ export default {
620 603
     }
621 604
   },
622 605
   created() {
623
-     //获取本月当前机构的透析模式
606
+        //获取本月当前机构的透析模式
624 607
       const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
625 608
       console.log("开始时间",startDate)
626 609
       const endDate = moment(new Date()).format('YYYY-MM-DD')

+ 1 - 1
src/xt_pages/qcd/checkStatistical.vue Ver arquivo

@@ -114,7 +114,7 @@ export default {
114 114
   data() {
115 115
     return {
116 116
       crumbs: [
117
-        { path: false, name: "科室质控" },
117
+        { path: false, name: "质控管理" },
118 118
         { path: false, name: "统计配置" },
119 119
         { path: false, name: "检验检查统计配置" }
120 120
       ],

+ 1 - 1
src/xt_pages/qcd/dialysisTotal.vue Ver arquivo

@@ -167,7 +167,7 @@ export default {
167 167
   data() {
168 168
     return {
169 169
       crumbs: [
170
-        { path: false, name: "科室质控" },
170
+        { path: false, name: "质控管理" },
171 171
         { path: false, name: "透析总量" }
172 172
       ],
173 173
       total: 0,

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/analysis.vue Ver arquivo

@@ -50,7 +50,7 @@ export default {
50 50
   data() {
51 51
     return {
52 52
       crumbs: [
53
-        { path: false, name: "科室质控" },
53
+        { path: false, name: "质控管理" },
54 54
         { path: false, name: "指标评估统计" },
55 55
         { path: false, name: "化验指标统计" }
56 56
       ],

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/analysisDetails.vue Ver arquivo

@@ -88,7 +88,7 @@ export default {
88 88
   data() {
89 89
     return {
90 90
       crumbs: [
91
-        { path: false, name: "科室质控" },
91
+        { path: false, name: "质控管理" },
92 92
         { path: false, name: "指标评估统计" },
93 93
         { path: false, name: "化验指标统计详情" }
94 94
       ],

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/bloodPressureDetails.vue Ver arquivo

@@ -212,7 +212,7 @@ export default {
212 212
       ],
213 213
 
214 214
       crumbs: [
215
-        { path: false, name: "科室质控" },
215
+        { path: false, name: "质控管理" },
216 216
         { path: false, name: "患者血压详情" }
217 217
       ],
218 218
 

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/monitor.vue Ver arquivo

@@ -257,7 +257,7 @@
257 257
           { value: 12, name: '超滤量' },
258 258
         ],
259 259
         crumbs: [
260
-          { path: false, name: '科室质控' },
260
+          { path: false, name: '质控管理' },
261 261
           { path: false, name: '指标评估统计' },
262 262
           { path: false, name: '透析过程指标统计' }
263 263
         ],

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/weight.vue Ver arquivo

@@ -228,7 +228,7 @@
228 228
           { value: 4, name: '透后体重' },
229 229
         ],
230 230
         crumbs: [
231
-          { path: false, name: '科室质控' },
231
+          { path: false, name: '质控管理' },
232 232
           { path: false, name: '指标评估统计' },
233 233
           { path: false, name: '透析过程指标统计' }
234 234
         ],

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/weightDetails.vue Ver arquivo

@@ -217,7 +217,7 @@ export default {
217 217
       ],
218 218
 
219 219
       crumbs: [
220
-        { path: false, name: "科室质控" },
220
+        { path: false, name: "质控管理" },
221 221
         { path: false, name: "患者血压详情" }
222 222
       ],
223 223
 

+ 45 - 75
src/xt_pages/qcd/officesControlAnalysis/project.vue Ver arquivo

@@ -202,7 +202,6 @@ export default {
202 202
     },
203 203
     chooseType(val) {
204 204
       this.type = val;
205
-      console.log("val",val)
206 205
       //按季度
207 206
       if(val == 1){
208 207
         this.getlist()
@@ -214,28 +213,34 @@ export default {
214 213
      
215 214
     },
216 215
     changeOptions(val){
216
+      
217
+     
218
+     if(this.type == 1){
219
+        this.lapseto = val
220
+        this.getlist()
221
+        return false
222
+     }
223
+
217 224
      if(this.type == 2){
225
+        this.lapseto = val
218 226
         this.getMonthList()
219 227
         return false
220 228
       }
221
-      this.lapseto = val
222
-      this.getlist()
229
+      
230
+ 
223 231
        
224 232
     },
225 233
     getNormData(){
226 234
         getNormData().then(response=>{
227 235
             var normdata = response.data.data.normdata
228
-            console.log("normdata",normdata)
229 236
             for(let i=0;i<normdata.length;i++){
230 237
              this.mode_type = normdata[0].inspection_minor
231 238
             }
232 239
             this.normdata = normdata
233 240
             this.getlist()
234
-           // this.getMonthList()
235 241
         })
236 242
     },
237 243
     handleModeType(val){
238
-       console.log("触发了额",this.type)
239 244
        if(this.type == 2){
240 245
         this.getMonthList()
241 246
         return false
@@ -250,30 +255,25 @@ export default {
250 255
          this.modesData.series = []
251 256
          this.modesData.xAxis = []
252 257
         const firstQuarterStart =  moment().startOf('year').format('YYYY-MM-DD')
253
-       // console.log("本月开始时间",firstQuarterStart)
254 258
         const firstQuarterEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
255
-       // console.log("本月结束时间",firstQuarterEnd)
259
+  
256 260
 
257 261
         //第一季度
258 262
         const first_quarter_start =  moment().startOf('year').format('YYYY-MM-DD')
259
-       // console.log("第一季度",first_quarter_start)
260 263
         const first_qurter_end = moment().month(2).endOf('month').format("YYYY-MM-DD")
261
-      // console.log("第一季度",first_qurter_end)
264
+    
262 265
         //第二季度
263 266
         const second_qurter_start = moment().month(3).startOf('month').format("YYYY-MM-DD")
264
-      //  console.log("第二季度",second_qurter_start)
265 267
         const second_qurter_end = moment().month(5).endOf('month').format("YYYY-MM-DD")
266
-      //  console.log("第二季度",second_qurter_end)
268
+   
267 269
         //第三季度
268 270
         const three_qurter_start = moment().month(6).startOf('month').format("YYYY-MM-DD")
269
-      //  console.log("第三季度",three_qurter_start)
270 271
         const three_qurter_end = moment().month(8).endOf('month').format("YYYY-MM-DD")
271
-      //  console.log("第三季度",three_qurter_end)
272
+  
272 273
         //第四季度
273 274
          const four_qurter_start = moment().month(9).startOf('month').format("YYYY-MM-DD")
274
-      //  console.log("第四季度",four_qurter_start)
275
-        const four_qurter_end = moment().month(11).endOf('month').format("YYYY-MM-DD")
276
-      //  console.log("第四季度",four_qurter_end)
275
+         const four_qurter_end = moment().month(11).endOf('month').format("YYYY-MM-DD")
276
+ 
277 277
      
278 278
          const params = {
279 279
            lapseto:this.lapseto,
@@ -290,13 +290,12 @@ export default {
290 290
            four_qurter_start:four_qurter_start,
291 291
            four_qurter_end:four_qurter_end,
292 292
          }
293
-         console.log("params",params)
294 293
       getProjectList(params).then(response=>{
295 294
         if(response.data.state === 1){
296 295
           var list = response.data.data.list
297
-         // console.log("数据源",list)
296
+      
298 297
           var standList =  response.data.data.standList
299
-         // console.log("standList",standList)
298
+         
300 299
           var newArr = [
301 300
             {Total:"第一季度",Count:1,NoCount: 0},
302 301
             {Total:"第二季度",Count:1,NoCount: 0},
@@ -310,7 +309,7 @@ export default {
310 309
         arrTwo.map(item => {
311 310
               list.push(item)
312 311
            })
313
-        //  console.log("list",list)
312
+     
314 313
          
315 314
          for(let i=0;i<list.length;i++){
316 315
             if(list[i].Total == "第一季度"){
@@ -355,10 +354,6 @@ export default {
355 354
           standArr.map(item=>{
356 355
             standList.push(item)
357 356
           })
358
-         //  console.log("standList",standList)
359
-
360
-        
361
-       //  console.log("list-----",list)
362 357
          var arrFive = []
363 358
           for(let i=0;i<list.length;i++){
364 359
              for(let j=0;j<standList.length;j++){
@@ -369,7 +364,7 @@ export default {
369 364
              }
370 365
           }
371 366
         
372
-       // console.log("arrFive",arrFive)
367
+      
373 368
         
374 369
         for(const key in arrFive){
375 370
             this.modesData.xAxis.push(arrFive[key].Total);
@@ -379,13 +374,11 @@ export default {
379 374
 
380 375
           this.chart.series[0].data = this.modesData.series
381 376
           this.chart.xAxis.data = this.modesData.xAxis
382
-        //  console.log("222000",this.modesData)
377
+       
383 378
         }
384 379
       })
385 380
     },
386 381
      arrayDate(array1,array2){
387
-      //  console.log("array1",array1)
388
-      //  console.log("array2",array2)
389 382
         var array1 = array1;
390 383
         var array2 = array2;
391 384
         var result = [];
@@ -405,12 +398,9 @@ export default {
405 398
                 result.push(obj);
406 399
             }
407 400
         }
408
-      //  console.log("result",result)
409 401
         return result;
410 402
     },
411 403
     arrayDateTwo(array1,array2){
412
-      //   console.log("array1",array1)
413
-      //   console.log("array2",array2)
414 404
         var array1 = array1;
415 405
         var array2 = array2;
416 406
         var result = [];
@@ -430,12 +420,9 @@ export default {
430 420
                 result.push(obj);
431 421
             }
432 422
         }
433
-      //  console.log("resultTwo",result)
434 423
         return result;
435 424
     },
436 425
      arrayDateThree(array1,array2){
437
-        // console.log("array1",array1)
438
-        // console.log("array2",array2)
439 426
         var array1 = array1;
440 427
         var array2 = array2;
441 428
         var result = [];
@@ -455,12 +442,9 @@ export default {
455 442
                 result.push(obj);
456 443
             }
457 444
         }
458
-       console.log("resultThree",result)
459 445
         return result;
460 446
     },
461 447
     arrayDateFour(array1,array2){
462
-      //   console.log("array1",array1)
463
-      //   console.log("array2",array2)
464 448
         var array1 = array1;
465 449
         var array2 = array2;
466 450
         var result = [];
@@ -480,7 +464,6 @@ export default {
480 464
                 result.push(obj);
481 465
             }
482 466
         }
483
-      //  console.log("resultTwo",result)
484 467
         return result;
485 468
     },
486 469
      compare(property){
@@ -495,65 +478,53 @@ export default {
495 478
     getMonthList(){
496 479
          this.modesData.series = []
497 480
          this.modesData.xAxis = []
498
-        const januaryStart = moment().month(0).startOf('month').format("YYYY-MM-DD")
499
-        console.log("一月始",januaryStart)
500
-        const januaryEnd = moment().month(0).endOf('month').format("YYYY-MM-DD")
501
-        console.log("一月末",januaryEnd)
481
+         const januaryStart = moment().month(0).startOf('month').format("YYYY-MM-DD")
482
+         const januaryEnd = moment().month(0).endOf('month').format("YYYY-MM-DD")
483
+       
502 484
 
503 485
         const  febStart = moment().month(1).startOf('month').format("YYYY-MM-DD")
504
-        console.log("二月始",febStart)
505 486
         const febEnd = moment().month(1).endOf('month').format("YYYY-MM-DD")
506
-        console.log("二月末",febEnd)
487
+       
507 488
 
508 489
         const  marchStart = moment().month(2).startOf('month').format("YYYY-MM-DD")
509
-        console.log("三月始",marchStart)
510 490
         const marchEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
511
-        console.log("三月末",marchEnd)
491
+  
512 492
 
513 493
         const  aprStart = moment().month(3).startOf('month').format("YYYY-MM-DD")
514
-        console.log("四月始",aprStart)
515 494
         const aprEnd = moment().month(3).endOf('month').format("YYYY-MM-DD")
516
-        console.log("四月末",aprEnd)
495
+   
517 496
 
518 497
         const  mayStart = moment().month(4).startOf('month').format("YYYY-MM-DD")
519
-        console.log("五月始",mayStart)
520 498
         const mayEnd = moment().month(4).endOf('month').format("YYYY-MM-DD")
521
-        console.log("五月末",mayEnd)
499
+        
522 500
 
523 501
         const  junStart = moment().month(5).startOf('month').format("YYYY-MM-DD")
524
-        console.log("六月始",junStart)
525 502
         const junEnd = moment().month(5).endOf('month').format("YYYY-MM-DD")
526
-        console.log("六月末",junEnd)
503
+     
527 504
 
528 505
         const  julStart = moment().month(6).startOf('month').format("YYYY-MM-DD")
529
-        console.log("7月始",julStart)
530 506
         const julEnd = moment().month(6).endOf('month').format("YYYY-MM-DD")
531
-        console.log("7月末",julEnd)
507
+     
532 508
 
533 509
         const  augStart = moment().month(7).startOf('month').format("YYYY-MM-DD")
534
-        console.log("8月始",augStart)
535 510
         const augEnd = moment().month(7).endOf('month').format("YYYY-MM-DD")
536
-        console.log("8月末",augEnd)
511
+
537 512
 
538 513
         const  sepStart = moment().month(8).startOf('month').format("YYYY-MM-DD")
539
-        console.log("9月始",sepStart)
540 514
         const sepEnd = moment().month(8).endOf('month').format("YYYY-MM-DD")
541
-        console.log("9月末",sepEnd)
515
+     
542 516
 
543 517
         const  octStart = moment().month(9).startOf('month').format("YYYY-MM-DD")
544
-        console.log("10月始",octStart)
545 518
         const octEnd = moment().month(9).endOf('month').format("YYYY-MM-DD")
546
-        console.log("10月末",octEnd)
519
+
547 520
 
548 521
         const  novStart = moment().month(10).startOf('month').format("YYYY-MM-DD")
549
-        console.log("11月始",novStart)
550 522
         const novEnd = moment().month(10).endOf('month').format("YYYY-MM-DD")
551
-        console.log("11月末",novEnd)
523
+   
552 524
         
553 525
         const  decStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
554
-        console.log("12月始",decStart)
555 526
         const decEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
556
-        console.log("12月末",decEnd)
527
+  
557 528
         
558 529
         const params = {
559 530
           lapseto:this.lapseto,
@@ -584,11 +555,11 @@ export default {
584 555
           decStart:decStart,
585 556
           decEnd:decEnd,    
586 557
         }
587
-       console.log("params222222",params)
558
+    
588 559
        getMonthProjectList(params).then(response=>{
589 560
         if(response.data.state === 1){
590 561
             var monthlist = response.data.data.monthlist
591
-            console.log("monthlist++++++",monthlist)
562
+     
592 563
             var newArr = [
593 564
               {Total:"一月",Count:1,NoCount: 0},
594 565
               {Total:"二月",Count:1,NoCount: 0},
@@ -621,7 +592,7 @@ export default {
621 592
            
622 593
              //获取2个数组不同的部分
623 594
             var standArr = this.arrayDateThree(monthlist,newArr)  
624
-            console.log("standArr",standArr)
595
+          
625 596
             standArr.map(item=>{
626 597
                 monthlist.push(item)
627 598
               }) 
@@ -707,13 +678,12 @@ export default {
707 678
                   monthlist[i].Total = "十二月"
708 679
                 }
709 680
              }
710
-              console.log("monthlist-------------------------",monthlist)
711
-             var monthNolist = response.data.data.monthNolist
712
-             console.log("monthNolist",monthNolist)
713 681
              
714
-            var standArrTwo = this.arrayDateThree(monthNolist,newArrTwo)  
715
-             console.log("standArrTwo",standArrTwo)
716
-
682
+             var monthNolist = response.data.data.monthNolist
683
+            
684
+           
685
+             var standArrTwo = this.arrayDateThree(monthNolist,newArrTwo)  
686
+           
717 687
              standArrTwo.map(item=>{
718 688
                 monthNolist.push(item)
719 689
               }) 
@@ -729,7 +699,7 @@ export default {
729 699
                  }
730 700
                }
731 701
              }
732
-             console.log("arrOne",arrOne)
702
+          
733 703
               
734 704
             for(const key in arrOne){
735 705
               this.modesData.xAxis.push(arrOne[key].Total);

+ 211 - 86
src/xt_pages/qcd/officesControlAnalysis/time.vue Ver arquivo

@@ -110,13 +110,16 @@ export default {
110 110
   },
111 111
   data() {
112 112
     return {
113
+      modetype:0,
114
+      startime:"",
115
+      endtime:"",
113 116
       activeName: "first",
114 117
       modesData: {
115 118
         xAxis: [],
116 119
         series: []
117 120
        },
118 121
       crumbs: [
119
-        { path: false, name: "科室质控" },
122
+        { path: false, name: "质控管理" },
120 123
         { path: false, name: "科室质控达标统计" },
121 124
         { path: false, name: "按时间分组" }
122 125
       ],
@@ -274,13 +277,29 @@ export default {
274 277
         this.$router.push({ path: "/qcd/officesControlAnalysis/project" });
275 278
       }
276 279
     },
277
-    changeTime() {},
280
+    changeTime(val) {
281
+      var time = this.getTimestamp(val) - this.getTimestamp(this.listQuery.end_time);
282
+      if (time > 0) {
283
+        this.$message.error("结束时间不能小于开始时间");
284
+        this.listQuery.start_time = "";
285
+      } else {
286
+        this.getlist()
287
+      }
288
+
289
+    },
278 290
     changeLapseto(val){
279
-      console.log("val",val)
280
-      this.lapseto = val
281
-      const firstQuarterStart =  moment().startOf('year').format('YYYY-MM-DD')
282
-      const firstQuarterEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
283
-      this.getFirstQuarter(val,firstQuarterStart,firstQuarterEnd)
291
+      if(val == 0){
292
+        this.lapseto = 0
293
+        this.getlist()
294
+      }
295
+      if(val == 1){
296
+       this.lapseto =1
297
+       this.getlist()
298
+      }
299
+      if(val == 2){
300
+        this.lapseto = 2
301
+        this.getlist()
302
+      }
284 303
     },
285 304
      
286 305
     changeEndTime(val) {
@@ -290,156 +309,268 @@ export default {
290 309
         this.$message.error("结束时间不能小于开始时间");
291 310
         this.listQuery.end_time = "";
292 311
       } else {
312
+        this.getlist()
293 313
       }
314
+    },
315
+     getTimestamp(time) {
316
+      // 把时间日期转成时间戳
317
+      return new Date(time).getTime() / 1000;
294 318
     },
295 319
     selectLapseTo(state) {
296 320
       this.stateType = state;
297 321
       this.listQuery.state = state;
298 322
     },
299 323
     chooseType(val) {
300
-      console.log(val);
301 324
       this.type = val;
325
+      if(val == "按月份对比统计"){
326
+         this.modetype = 0
327
+        
328
+      }
329
+       if(val == "按季度对比统计"){
330
+         this.modetype = 1
331
+         
332
+      }
333
+      if(val == "自定义"){
334
+        this.modetype = 2
335
+      }
336
+     
302 337
     },
303 338
     chooseQuarter(quarter) {
304 339
       this.quarterType = quarter;
305 340
       //第一季度
306 341
       if(quarter === 0){
307
-        //本月的开始时间
308
-        const firstQuarterStart =  moment().startOf('year').format('YYYY-MM-DD')
309
-        const firstQuarterEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
310
-        this.getFirstQuarter(this.lapseto,firstQuarterStart,firstQuarterEnd)
342
+         this.modetype = 0
343
+        this.getlist()
344
+        return false
311 345
       }
312 346
 
313 347
       //第二季度
314 348
       if(quarter === 1){
315
-        const febQuarterStart = moment().month(3).startOf('month').format("YYYY-MM-DD")
316
-        const fedQuarterEnd = moment().month(5).endOf('month').format("YYYY-MM-DD")
317
-        this.getFirstQuarter(this.lapseto,febQuarterStart,fedQuarterEnd)
349
+         this.modetype = 0
350
+         this.getlist()
351
+         return false
318 352
       }
319 353
 
320 354
       //第三季度
321 355
       if(quarter === 2){
322
-        const threeQuarterStart = moment().month(6).startOf('month').format("YYYY-MM-DD")
323
-        const threeQuarterEnd = moment().month(8).endOf('month').format("YYYY-MM-DD")
324
-        this.getFirstQuarter(this.lapseto,threeQuarterStart,threeQuarterEnd)
356
+        this.modetype = 0
357
+        this.getlist()
358
+        return false
325 359
       }
326 360
 
327 361
       //第四季度
328 362
       if(quarter === 3){
329
-        const fourQuarterStart = moment().month(8).startOf('month').format("YYYY-MM-DD")
330
-        const fourQuarterEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
331
-        this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
363
+       this.modetype = 0
364
+        this.getlist()
365
+        return false
332 366
       }
333 367
 
334 368
       
335 369
     },
336
-    chooseMonth(month) {
337
-      this.monthType = month;
338
-    
370
+    chooseMonth(month) {  
339 371
       //1月
340 372
       if(month == 0){
341
-          const fourQuarterStart = moment().month(0).startOf('month').format("YYYY-MM-DD")
342
-          console.log("fourQuarterStart",fourQuarterStart)
343
-          const fourQuarterEnd = moment().month(0).endOf('month').format("YYYY-MM-DD")
344
-           this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
345
-
373
+        this.modetype = 1
374
+         this.monthType = month;
375
+        this.getlist()
376
+         return false
346 377
       }
347 378
       //2月
348 379
       if(month == 1){
349
-         const fourQuarterStart = moment().month(1).startOf('month').format("YYYY-MM-DD")
350
-         console.log("fourQuarterStart",fourQuarterStart)
351
-         const fourQuarterEnd = moment().month(1).endOf('month').format("YYYY-MM-DD")
352
-        this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
380
+         this.modetype = 1
381
+          this.monthType = month;
382
+        this.getlist()
383
+        return false
353 384
       }
354 385
       //
355 386
      //3月
356 387
       if(month == 2){
357
-         const fourQuarterStart = moment().month(2).startOf('month').format("YYYY-MM-DD")
358
-         console.log("fourQuarterStart",fourQuarterStart)
359
-         const fourQuarterEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
360
-         this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
388
+       this.modetype = 1
389
+        this.monthType = month;
390
+       this.getlist()
391
+       return false
361 392
       }
362 393
       //4月
363 394
        if(month == 3){
364
-         const fourQuarterStart = moment().month(3).startOf('month').format("YYYY-MM-DD")
365
-         console.log("fourQuarterStart",fourQuarterStart)
366
-         const fourQuarterEnd = moment().month(3).endOf('month').format("YYYY-MM-DD")
367
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
395
+         this.modetype = 1
396
+          this.monthType = month;
397
+         this.getlist()
398
+         return false
368 399
       }
369 400
       //5月
370 401
        if(month == 4){
371
-         const fourQuarterStart = moment().month(4).startOf('month').format("YYYY-MM-DD")
372
-         console.log("fourQuarterStart",fourQuarterStart)
373
-         const fourQuarterEnd = moment().month(4).endOf('month').format("YYYY-MM-DD")
374
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
402
+        this.modetype = 1
403
+         this.monthType = month;
404
+         this.getlist()
405
+         return false
375 406
       }
376 407
       //6月
377 408
        if(month == 5){
378
-         const fourQuarterStart = moment().month(5).startOf('month').format("YYYY-MM-DD")
379
-         console.log("fourQuarterStart",fourQuarterStart)
380
-         const fourQuarterEnd = moment().month(5).endOf('month').format("YYYY-MM-DD")
381
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
409
+         this.modetype = 1
410
+          this.monthType = month;
411
+        this.getlist()
412
+        return false
382 413
       }
383 414
       //7月
384 415
        if(month == 6){
385
-         const fourQuarterStart = moment().month(6).startOf('month').format("YYYY-MM-DD")
386
-         console.log("fourQuarterStart",fourQuarterStart)
387
-         const fourQuarterEnd = moment().month(6).endOf('month').format("YYYY-MM-DD")
388
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
416
+        this.monthType = month;
417
+       this.modetype = 1
418
+        this.getlist()
419
+        return false
389 420
       }
390 421
       //8月
391 422
        if(month == 7){
392
-         const fourQuarterStart = moment().month(7).startOf('month').format("YYYY-MM-DD")
393
-         console.log("fourQuarterStart",fourQuarterStart)
394
-         const fourQuarterEnd = moment().month(7).endOf('month').format("YYYY-MM-DD")
395
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
423
+        this.monthType = month;
424
+        this.modetype = 1
425
+        this.getlist()
426
+        return false
396 427
       }
397 428
       //9月
398 429
        if(month == 8){
399
-         const fourQuarterStart = moment().month(8).startOf('month').format("YYYY-MM-DD")
400
-         console.log("fourQuarterStart",fourQuarterStart)
401
-         const fourQuarterEnd = moment().month(8).endOf('month').format("YYYY-MM-DD")
402
-         this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
430
+        this.monthType = month;
431
+        this.modetype = 1
432
+        this.getlist()
433
+        return false
403 434
       }
404 435
       //10月
405 436
        if(month == 9){
406
-         const fourQuarterStart = moment().month(9).startOf('month').format("YYYY-MM-DD")
407
-         console.log("fourQuarterStart",fourQuarterStart)
408
-         const fourQuarterEnd = moment().month(9).endOf('month').format("YYYY-MM-DD")
409
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
437
+        this.monthType = month;
438
+        this.modetype = 1
439
+        this.getlist()
440
+        return false
410 441
       }
411 442
       //11月
412 443
        if(month == 10){
413
-         const fourQuarterStart = moment().month(10).startOf('month').format("YYYY-MM-DD")
414
-         console.log("fourQuarterStart",fourQuarterStart)
415
-         const fourQuarterEnd = moment().month(10).endOf('month').format("YYYY-MM-DD")
416
-         this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
444
+        this.monthType = month;
445
+        this.modetype = 1
446
+        this.getlist()
447
+        return false
417 448
       }
418 449
        //12月
419 450
        if(month == 11){
420
-         const fourQuarterStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
421
-         console.log("fourQuarterStart",fourQuarterStart)
422
-         const fourQuarterEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
423
-          this.getFirstQuarter(this.lapseto,fourQuarterStart,fourQuarterEnd)
451
+        this.monthType = month;
452
+        this.modetype = 1
453
+         this.getlist()
454
+         return false
424 455
       }
425 456
     },
426 457
     getNormData(){
427 458
       getNormData().then(response=>{
428 459
          if(response.data.state === 1){
429 460
            var normdata = response.data.data.normdata
430
-           console.log("normdata",normdata)
431 461
            this.normData = normdata
462
+           this.getlist()
432 463
          }
433 464
       })
434 465
     },
435 466
     //第一季度
436
-    getFirstQuarter(val,startime,endtime){
467
+    getlist(){
437 468
        this.modesData.series = []
438 469
        this.modesData.xAxis = []
439
-      getFirstQuarter(val,startime,endtime).then(response=>{
470
+         //本月的开始时间
471
+         //第一季度
472
+         if(this.modetype == 0 && this.quarterType == 0){
473
+            
474
+             this.startime =  moment().startOf('year').format('YYYY-MM-DD')
475
+             this.endtime = moment().month(2).endOf('month').format("YYYY-MM-DD")
476
+             
477
+         }
478
+         //第二季度
479
+         if(this.modetype ==0 && this.quarterType == 1){
480
+             this.startime = moment().month(3).startOf('month').format("YYYY-MM-DD")   
481
+             this.endtime = moment().month(5).endOf('month').format("YYYY-MM-DD")
482
+         }
483
+         //第三季度
484
+         if( this.modetype ==0 && this.quarterType == 2){
485
+           this.startime = moment().month(6).startOf('month').format("YYYY-MM-DD")
486
+           this.endtime = moment().month(8).endOf('month').format("YYYY-MM-DD")
487
+         }
488
+         //第四季度
489
+         if( this.modetype ==0 && this.quarterType == 3){
490
+             this.startime = moment().month(8).startOf('month').format("YYYY-MM-DD")
491
+             this.endtime = moment().month(11).endOf('month').format("YYYY-MM-DD")
492
+         }
493
+         
494
+         //1月
495
+         if(this.modetype == 1 && this.monthType == 0){
496
+          this.startime = moment().month(0).startOf('month').format("YYYY-MM-DD")
497
+          this.endtime = moment().month(0).endOf('month').format("YYYY-MM-DD")
498
+         
499
+         }
500
+         //2 月
501
+         if( this.modetype == 1 && this.monthType == 1){
502
+            this.startime = moment().month(1).startOf('month').format("YYYY-MM-DD")
503
+            this.endtime = moment().month(1).endOf('month').format("YYYY-MM-DD")
504
+         }
505
+          //3 月
506
+         if(this.modetype == 1 && this.monthType == 2){
507
+           this.startime = moment().month(2).startOf('month').format("YYYY-MM-DD") 
508
+           this.endtime = moment().month(2).endOf('month').format("YYYY-MM-DD")
509
+          
510
+         }
511
+          //4月
512
+         if(this.modetype == 1 && this.monthType == 3){
513
+           this.startime = moment().month(3).startOf('month').format("YYYY-MM-DD")
514
+           this.endtime = moment().month(3).endOf('month').format("YYYY-MM-DD")
515
+         }
516
+           //5月
517
+         if(this.modetype == 1 && this.monthType == 4){
518
+          this.startime = moment().month(4).startOf('month').format("YYYY-MM-DD")
519
+          this.endtime= moment().month(4).endOf('month').format("YYYY-MM-DD")
520
+          }
521
+            //6月
522
+         if(this.modetype == 1 && this.monthType == 5){
523
+           this.startime = moment().month(5).startOf('month').format("YYYY-MM-DD")
524
+          this.endtime = moment().month(5).endOf('month').format("YYYY-MM-DD")
525
+           
526
+         }
527
+            //7月
528
+         if(this.modetype == 1 && this.monthType == 6){
529
+          this.startime = moment().month(6).startOf('month').format("YYYY-MM-DD")
530
+          this.endtime = moment().month(6).endOf('month').format("YYYY-MM-DD")
531
+         }
532
+            //8月
533
+         if(this.modetype==1 && this.monthType == 7){
534
+            this.startime = moment().month(7).startOf('month').format("YYYY-MM-DD")
535
+            this.endtime = moment().month(7).endOf('month').format("YYYY-MM-DD")
536
+         }
537
+         //9月
538
+          if(this.modetype == 1 && this.monthType == 8){
539
+             this.startime = moment().month(8).startOf('month').format("YYYY-MM-DD")
540
+            this.endtime = moment().month(8).endOf('month').format("YYYY-MM-DD")
541
+            
542
+         }
543
+          //10月
544
+          if(this.modetype == 1 && this.monthType == 9){
545
+           this.startime = moment().month(9).startOf('month').format("YYYY-MM-DD")
546
+           this.endtime = moment().month(9).endOf('month').format("YYYY-MM-DD")
547
+            
548
+         }
549
+         //11月
550
+         if(this.modetype == 1 && this.monthType == 10){
551
+            this.startime = moment().month(10).startOf('month').format("YYYY-MM-DD")       
552
+            this.endtime = moment().month(10).endOf('month').format("YYYY-MM-DD")
553
+         }
554
+          //12月
555
+         if(this.modetype == 1 && this.monthType == 11){
556
+          
557
+           this.startime = moment().month(11).startOf('month').format("YYYY-MM-DD")
558
+           this.endtime = moment().month(11).endOf('month').format("YYYY-MM-DD")
559
+         }
560
+
561
+         if(this.modetype == 2){
562
+            this.startime = this.listQuery.start_time
563
+            this.endtime = this.listQuery.end_time
564
+         }
565
+        const params = {
566
+          lapseto:this.lapseto,
567
+          startime:this.startime,
568
+          endtime:this.endtime
569
+        }
570
+      getFirstQuarter(params).then(response=>{
440 571
          if(response.data.state === 1){
441 572
             var count =  response.data.data.count
442
-            console.log("count",count)
573
+
443 574
             var arr=[]
444 575
             for(let i=0;i<count.length;i++){  
445 576
                for(let j=0;j<this.normData.length;j++){
@@ -448,7 +579,7 @@ export default {
448 579
                 }
449 580
               }
450 581
             }
451
-            console.log("arr",arr)
582
+        
452 583
             var arrtwo =  this.arrayDate(count,this.normData)
453 584
             for(let i=0;i<arrtwo.length;i++){
454 585
                 this.$set(arrtwo[i], 'Count', 0)
@@ -470,7 +601,7 @@ export default {
470 601
             }
471 602
             this.chart.series[0].data = this.modesData.series
472 603
             this.chart.xAxis.data = this.modesData.xAxis
473
-            console.log(2222,this.modesData)
604
+    
474 605
 
475 606
           
476 607
          }
@@ -503,19 +634,13 @@ export default {
503 634
                 result.push(obj);
504 635
             }
505 636
         }
506
-        console.log("result",result)
507 637
         return result;
508 638
     },
509 639
   },
510 640
   created(){
511
-       //本月的开始时间
512
-      const firstQuarterStart =  moment().startOf('year').format('YYYY-MM-DD')
513
-    
514
-      const firstQuarterEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
515
-     
516 641
      //获取指标正常范围值
517 642
      this.getNormData()
518
-     this.getFirstQuarter(this.lapseto,firstQuarterStart,firstQuarterEnd)
643
+    // this.getFirstQuarter(this.lapseto,firstQuarterStart,firstQuarterEnd)
519 644
   }
520 645
 };
521 646
 </script>

+ 1 - 1
src/xt_pages/qcd/outcomeIndicators/control.vue Ver arquivo

@@ -204,7 +204,7 @@ export default {
204 204
   data() {
205 205
     return {
206 206
       crumbs: [
207
-        { path: false, name: "科室质控" },
207
+        { path: false, name: "质控管理" },
208 208
         { path: false, name: "结果指标" },
209 209
         { path: false, name: "指标控制" }
210 210
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/bloodPressure.vue Ver arquivo

@@ -159,7 +159,7 @@ export default {
159 159
   data() {
160 160
     return {
161 161
       crumbs:[
162
-        {path:false, name:'科室质控'},
162
+        {path:false, name:'质控管理'},
163 163
         {path:false, name:'患者分析'},
164 164
         {path:false, name:'总量分析'},
165 165
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/complication.vue Ver arquivo

@@ -142,7 +142,7 @@ export default {
142 142
   data() {
143 143
     return {
144 144
       crumbs:[
145
-        {path:false, name:'科室质控'},
145
+        {path:false, name:'质控管理'},
146 146
         {path:false, name:'患者分析'},
147 147
         {path:false, name:'并发症分析'},
148 148
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/dialysisAge.vue Ver arquivo

@@ -162,7 +162,7 @@ export default {
162 162
   data() {
163 163
     return {
164 164
       crumbs:[
165
-        {path:false, name:'科室质控'},
165
+        {path:false, name:'质控管理'},
166 166
         {path:false, name:'患者分析'},
167 167
         {path:false, name:'透析龄分析'},
168 168
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/infectiousDiseases.vue Ver arquivo

@@ -171,7 +171,7 @@ export default {
171 171
   data() {
172 172
     return {
173 173
       crumbs:[
174
-        {path:false, name:'科室质控'},
174
+        {path:false, name:'质控管理'},
175 175
         {path:false, name:'患者分析'},
176 176
         {path:false, name:'并发症分析'},
177 177
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/lapseto.vue Ver arquivo

@@ -156,7 +156,7 @@ export default {
156 156
   data() {
157 157
     return {
158 158
       crumbs:[
159
-        {path:false, name:'科室质控'},
159
+        {path:false, name:'质控管理'},
160 160
         {path:false, name:'患者分析'},
161 161
         {path:false, name:'转归分析'},
162 162
       ],

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/bloodPressure.vue Ver arquivo

@@ -125,7 +125,7 @@ export default {
125 125
   data() {
126 126
     return {
127 127
       crumbs:[
128
-        {path:false, name:'科室质控'},
128
+        {path:false, name:'质控管理'},
129 129
         {path:false, name:'患者分析'},
130 130
         {path:false, name:'统计'},
131 131
         {path:false, name:'血压'},

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/lapseto.vue Ver arquivo

@@ -57,7 +57,7 @@ export default {
57 57
   data() {
58 58
     return {
59 59
       crumbs:[
60
-        {path:false, name:'科室质控'},
60
+        {path:false, name:'质控管理'},
61 61
         {path:false, name:'患者分析'},
62 62
         {path:false, name:'统计'},
63 63
         {path:false, name:'转归'},

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/oralMedicine.vue Ver arquivo

@@ -162,7 +162,7 @@ export default {
162 162
   data() {
163 163
     return {
164 164
       crumbs:[
165
-        {path:false, name:'科室质控'},
165
+        {path:false, name:'质控管理'},
166 166
         {path:false, name:'患者分析'},
167 167
         {path:false, name:'统计'},
168 168
         {path:false, name:'口服药'},

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/weight.vue Ver arquivo

@@ -125,7 +125,7 @@ export default {
125 125
   data() {
126 126
     return {
127 127
       crumbs:[
128
-        {path:false, name:'科室质控'},
128
+        {path:false, name:'质控管理'},
129 129
         {path:false, name:'患者分析'},
130 130
         {path:false, name:'统计'},
131 131
         {path:false, name:'体重'},

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/weight.vue Ver arquivo

@@ -169,7 +169,7 @@ export default {
169 169
   data() {
170 170
     return {
171 171
       crumbs:[
172
-        {path:false, name:'科室质控'},
172
+        {path:false, name:'质控管理'},
173 173
         {path:false, name:'患者分析'},
174 174
         {path:false, name:'体重分析'},
175 175
       ],

+ 183 - 66
src/xt_pages/qcd/patientComplianceDetails.vue Ver arquivo

@@ -7,16 +7,16 @@
7 7
       <div class="page_patientComplianceDetails">
8 8
         <div class="cell clearfix" style="margin:0">
9 9
           <el-form :inline="true" :model="listQuery">
10
-            <el-form-item label>
11
-              <el-input v-model.trim="listQuery.search" placeholder="姓名/透析号" style="width:150px"></el-input>
12
-              <el-button type="primary" @click="onSearch" icon="el-icon-search">搜索</el-button>
13
-            </el-form-item>
10
+<!--            <el-form-item label>-->
11
+<!--              <el-input v-model.trim="listQuery.search" placeholder="姓名/透析号" style="width:150px"></el-input>-->
12
+<!--              <el-button type="primary" @click="onSearch" icon="el-icon-search">搜索</el-button>-->
13
+<!--            </el-form-item>-->
14 14
           </el-form>
15 15
         </div>
16 16
         <el-container>
17 17
           <div style="width:150px">
18 18
             <div class="tableTitle">患者列表</div>
19
-            <el-table :data="patientsData" border style="width: 100%;" height="500">
19
+            <el-table :data="patientsData" border style="width: 100%;" height="500"  highlight-current-row @current-change="handleChange">
20 20
               <el-table-column prop="name" label="透析号" width="80">
21 21
                  <template slot-scope="scope">
22 22
                     {{scope.row.dialysis_no}}
@@ -58,6 +58,7 @@
58 58
                 align="right"
59 59
                 format="yyyy-MM-dd"
60 60
                 value-format="yyyy-MM-dd"
61
+                :picker-options="pickerOptions"
61 62
               ></el-date-picker>
62 63
               <span class>-</span>
63 64
               <el-date-picker
@@ -71,6 +72,7 @@
71 72
                 align="right"
72 73
                 format="yyyy-MM-dd"
73 74
                 value-format="yyyy-MM-dd"
75
+                :picker-options="pickerOptions"
74 76
               ></el-date-picker>
75 77
             </div>
76 78
             <div class="tableTitle">指标监控</div>
@@ -78,14 +80,15 @@
78 80
               <div class="qualityBox">
79 81
                 <div
80 82
                   class="qualityOne"
81
-                  v-for="(item,index) in arr"
83
+                  v-for="(item,index) in normData"
82 84
                   :key="index"
83 85
                   :class="quality == index ? 'active' : ''"
84
-                  @click="clickQuality(index)"
86
+                  @click="clickQuality(index,item.inspection_minor)"
85 87
                 >
86
-                  <p>{{ item }}</p>
87
-                  <i class="iconfont icon-gantanhao gth" v-if="index % 2 == 0"></i>
88
-                  <i class="iconfont icon-gou gou" v-else></i>
88
+                  <p>{{ item.item_name }}</p>
89
+                  <i class="iconfont icon-gou gou"></i>
90
+<!--                  <i class="iconfont icon-gantanhao gth" v-if="index % 2 == 0"></i>-->
91
+<!--                  <i class="iconfont icon-gou gou" v-else></i>-->
89 92
                 </div>
90 93
               </div>
91 94
             </div>
@@ -101,12 +104,13 @@
101 104
 </template>
102 105
 
103 106
 <script>
107
+const moment = require('moment')
104 108
 import echarts from "echarts";
105 109
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
106 110
 import LineChart from "../qcd/components/LineChart";
107 111
 import { uParseTime } from "@/utils/tools";
108
-import { getCurrentOrgPatients } from "@/api/common/common"
109
-export default { 
112
+import { getCurrentOrgPatients,GetQualityControl,getNormData } from "@/api/common/common"
113
+export default {
110 114
   components: {
111 115
     LineChart,
112 116
     BreadCrumb
@@ -114,72 +118,37 @@ export default {
114 118
   data() {
115 119
     return {
116 120
       crumbs: [
117
-        { path: false, name: "科室质控" },
121
+        { path: false, name: "质控管理" },
118 122
         { path: false, name: "患者达标详情" }
119 123
       ],
120 124
       patientsData:[],
121
-      tableData: [
122
-        {
123
-          date: "2016",
124
-          name: "王小虎"
125
-        },
126
-        {
127
-          date: "2016",
128
-          name: "王小虎"
129
-        },
130
-        {
131
-          date: "2016",
132
-          name: "王小虎"
133
-        },
134
-        {
135
-          date: "2016",
136
-          name: "王小虎"
137
-        },
138
-        {
139
-          date: "2016",
140
-          name: "王小虎"
141
-        },
142
-        {
143
-          date: "2016",
144
-          name: "王小虎"
145
-        },
146
-        {
147
-          date: "2016",
148
-          name: "王小虎"
149
-        },
150
-        {
151
-          date: "2016",
152
-          name: "王小虎"
153
-        },
154
-        {
155
-          date: "2016",
156
-          name: "王小虎"
157
-        },
158
-        {
159
-          date: "2016",
160
-          name: "王小虎"
161
-        },
162
-        {
163
-          date: "2016",
164
-          name: "王小虎"
165
-        },
166
-        {
167
-          date: "2016",
168
-          name: "王小虎"
169
-        }
170
-      ],
125
+      normData:[],
126
+      startime:0,
127
+      endtime:0,
171 128
       listQuery: {
172 129
         start_time: "",
173 130
         end_time: "",
174 131
         page: 1,
175 132
         limit: 10
176 133
       },
134
+      item_id:0,
177 135
       month: [
178 136
         { value: 0, label: "本月", state: 0 },
179 137
         { value: 1, label: "近三个月", state: 1 },
180 138
         { value: 2, label: "近半年", state: 2 },
181 139
         { value: 3, label: "近一年", state: 3 }
182 140
       ],
141
+     modesData: {
142
+        xAxis: [],
143
+        series: []
144
+      },
145
+      pickerOptions: {
146
+        disabledDate(time) {
147
+          let threeMonths = new Date(new Date().setFullYear(new Date().getFullYear()-1)).getTime() - 24 * 3600 * 1000;
148
+          return time.getTime() > Date.now() || time.getTime() < threeMonths;;
149
+        }
150
+      },
151
+      patientid:0,
183 152
       monthType: 0,
184 153
       arr: ["钙", "磷", "钙萨达撒所多", "磷", "钙", "磷", "钙", "磷"],
185 154
       quality: 0,
@@ -221,7 +190,7 @@ export default {
221 190
               normal: {
222 191
                 show: true,
223 192
                 position: "top",
224
-                formatter: "{c}"
193
+                formatter: "{c}g/L"
225 194
               }
226 195
             },
227 196
             //配置样式
@@ -273,10 +242,65 @@ export default {
273 242
   },
274 243
   methods: {
275 244
     chooseMonth(month) {
245
+      //一月
246
+      if(month == 0){
247
+        const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
248
+        console.log("开始时间",startDate)
249
+        const endDate = moment(new Date()).format('YYYY-MM-DD')
250
+        console.log("结束时间",endDate)
251
+        var now = new Date()
252
+        var nowMonth = now.getMonth(); //当前月
253
+        var nowYear = now.getFullYear(); //当前年
254
+        //本月的开始时间
255
+        var monthStartDate = new Date(nowYear, nowMonth, 1);
256
+        this.startime=Date.parse(monthStartDate)/1000;//s
257
+
258
+        //本月的结束时间
259
+        var monthEndDate = new Date(nowYear, nowMonth+1, 0);
260
+        this.endtime =Date.parse(monthEndDate)/1000-1;//s
261
+        this.getlist()
262
+      }
263
+
264
+      //近三月
265
+      if(month == 1){
266
+        const startDate = moment().subtract('month', 3).format('YYYY-MM-DD')
267
+        console.log("三月前",startDate)
268
+        this.startime = Date.parse(startDate)/1000
269
+        console.log("开始时间搓",this.startime)
270
+        const endDate = moment(new Date()).format('YYYY-MM-DD')
271
+        console.log("结束时间",endDate)
272
+        this.endtime = Date.parse(endDate)/1000
273
+        console.log("日期时间搓",this.endtime)
274
+        this.getlist()
275
+      }
276
+      console.log("month",month)
277
+
278
+       //近半年
279
+      if(month == 2){
280
+        const startDate = moment().subtract('month', 6).format('YYYY-MM-DD')
281
+        console.log("6月前",startDate)
282
+        this.startime = Date.parse(startDate)/1000
283
+        const endDate = moment(new Date()).format('YYYY-MM-DD')
284
+        this.endtime = Date.parse(endDate)/1000
285
+        this.getlist()
286
+      }
287
+
288
+      //近一年
289
+      if(month == 3){
290
+        const startDate = moment().subtract('month', 12).format('YYYY-MM-DD')
291
+        this.startime = Date.parse(startDate)/1000
292
+        const endDate = moment(new Date()).format('YYYY-MM-DD')
293
+        this.endtime = Date.parse(endDate)/1000
294
+         this.getlist()
295
+      }
296
+
297
+
276 298
       this.monthType = month;
277 299
     },
278
-    clickQuality(index) {
300
+    clickQuality(index,itemid) {
279 301
       this.quality = index;
302
+      this.item_id = itemid
303
+      this.getlist()
280 304
     },
281 305
     handleSizeChange(limit) {
282 306
       //this.limit = limit;
@@ -289,6 +313,39 @@ export default {
289 313
     getTime(time) {
290 314
       return uParseTime(time, "{y}-{m}-{d}");
291 315
     },
316
+    onSearch(){
317
+    },
318
+    changeTime(val){
319
+       var time = this.getTimestamp(val) - this.getTimestamp(this.listQuery.end_time);
320
+      if (time > 0) {
321
+        this.$message.error("结束时间不能小于开始时间");
322
+        this.listQuery.start_time = "";
323
+      } else {
324
+         this.startime = Date.parse(val)/1000;//s
325
+        this.getlist()
326
+      }
327
+
328
+    },
329
+    changeEndTime(val){
330
+      var time =
331
+          this.getTimestamp(val) - this.getTimestamp(this.listQuery.start_time);
332
+        if (time < 0) {
333
+          this.$message.error("结束时间不能小于开始时间");
334
+          this.listQuery.end_time = "";
335
+        } else {
336
+          this.endtime = Date.parse(val)/1000;//s
337
+          this.getlist()
338
+        }
339
+
340
+    },
341
+     getTimestamp(time) {
342
+      // 把时间日期转成时间戳
343
+      return new Date(time).getTime() / 1000;
344
+    },
345
+    handleChange(val){
346
+     this.patientid = val.id
347
+      this.getlist()
348
+    },
292 349
    getCurrentOrgPatients(){
293 350
       getCurrentOrgPatients().then(response=>{
294 351
           if(response.data.state == 1){
@@ -298,11 +355,71 @@ export default {
298 355
           }
299 356
       })
300 357
     },
358
+    getNormData(){
359
+      getNormData().then(response=>{
360
+         var normdata = response.data.data.normdata
361
+          console.log("normdata",normdata)
362
+          for(let i=0;i<normdata.length;i++){
363
+            this.item_id = normdata[0].inspection_minor
364
+            console.log("item_id",this.item_id)
365
+          }
366
+          this.normData = normdata
367
+          this.getlist()
368
+      })
369
+    },
370
+    getlist(){
371
+        this.modesData.series = []
372
+        this.modesData.xAxis = []
373
+
374
+        const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
375
+        console.log("开始时间",startDate)
376
+        const endDate = moment(new Date()).format('YYYY-MM-DD')
377
+        console.log("结束时间",endDate)
378
+        var now = new Date()
379
+        var nowMonth = now.getMonth(); //当前月
380
+        var nowYear = now.getFullYear(); //当前年
381
+        //本月的开始时间
382
+        var monthStartDate = new Date(nowYear, nowMonth, 1);
383
+        this.startime=Date.parse(monthStartDate)/1000;//s
384
+
385
+        //本月的结束时间
386
+        var monthEndDate = new Date(nowYear, nowMonth+1, 0);
387
+        this.endtime =Date.parse(monthEndDate)/1000-1;//s
388
+
389
+
390
+
391
+          const params = {
392
+            patientid:this.patientid,
393
+            startime:this.startime,
394
+            endtime:this.endtime,
395
+            itemid:this.item_id,
396
+          }
397
+        console.log("params",params)
398
+       GetQualityControl(params).then(response=>{
399
+          if(response.data.state == 1){
400
+            var list = response.data.data.list
401
+            console.log("list",list)
402
+            for(let i=0;i<list.length;i++){
403
+              this.modesData.xAxis.push(this.getTime(list[i].inspect_date));
404
+               this.modesData.series.push(list[i].inspect_value)
405
+            }
406
+            this.chart.series[0].data = this.modesData.series
407
+            this.chart.xAxis.data = this.modesData.xAxis
408
+            console.log(2222,this.modesData)
409
+          }
410
+
411
+       })
412
+    }
301 413
   },
302 414
 
303 415
    created(){
416
+     this.patientid =  this.$route.query.patientid
417
+     //获取指标项
418
+      this.getNormData()
304 419
      //获取该机构下的所有患者
305
-     this.getCurrentOrgPatients()
420
+      this.getCurrentOrgPatients()
421
+
422
+
306 423
   }
307 424
 };
308 425
 </script>

+ 286 - 25
src/xt_pages/qcd/patientControlAnalysis.vue Ver arquivo

@@ -77,12 +77,15 @@
77 77
               :key="index"
78 78
             >
79 79
             <template slot-scope="scope">
80
-              {{ scope.row.data[index].inspect_value}}
80
+                 <span v-if="scope.row.data[index].inspect_value == ''">0</span>
81
+                 <span v-if="scope.row.data[index].inspect_value !=''&& (parseInt(scope.row.data[index].inspect_value) < parseInt(scope.row.data[index].range_min))">{{scope.row.data[index].inspect_value}}↓</span>
82
+                <span v-if="scope.row.data[index].inspect_value !=''&& (parseInt(scope.row.data[index].inspect_value) > parseInt(scope.row.data[index].range_max))">{{scope.row.data[index].inspect_value}}↑</span>
83
+                <span v-if="scope.row.data[index].inspect_value !=''&& (parseInt(scope.row.data[index].inspect_value) >= parseInt(scope.row.data[index].range_min))&& (parseInt(scope.row.data[index].inspect_value) <= parseInt(scope.row.data[index].range_max)) ">{{scope.row.data[index].inspect_value}}</span>
81 84
             </template>
82 85
         </el-table-column>
83 86
             <el-table-column fixed="right" label="操作" width="100">
84 87
               <template slot-scope="scope">
85
-                <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
88
+                <el-button @click="handleClick(scope.row.name)" type="text" size="small">查看</el-button>
86 89
               </template>
87 90
             </el-table-column>
88 91
           </el-table>
@@ -109,7 +112,7 @@
109 112
 import echarts from "echarts";
110 113
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
111 114
 import LineChart from "../qcd/components/LineChart";
112
-import { getNormData,getPatientsControl } from "@/api/common/common"
115
+import { getNormData,getPatientsControl,getCartogramlist,getPatientContorlAnalysis,getCurrentOrgPatients } from "@/api/common/common"
113 116
 export default {
114 117
   components: {
115 118
     LineChart,
@@ -124,7 +127,7 @@ export default {
124 127
         }
125 128
       },
126 129
       crumbs: [
127
-        { path: false, name: "科室质控" },
130
+        { path: false, name: "质控管理" },
128 131
         { path: false, name: "患者质控达标统计" }
129 132
       ],
130 133
       listQuery: {
@@ -150,6 +153,10 @@ export default {
150 153
         },
151 154
       ],
152 155
       value: "",
156
+      modesData: {
157
+        xAxis: [],
158
+        series: []
159
+      },
153 160
       chart: {
154 161
         title: {
155 162
           text: "ECharts 入门示例"
@@ -178,7 +185,7 @@ export default {
178 185
               normal: {
179 186
                 show: true,
180 187
                 position: "top",
181
-                formatter: "{c}"
188
+                formatter: "{c}%"
182 189
               }
183 190
             },
184 191
             //配置样式
@@ -219,6 +226,7 @@ export default {
219 226
           }
220 227
         ]
221 228
       },
229
+      patientsArr:[],
222 230
       tableData: [],
223 231
       normData:[],
224 232
       paitents:[],
@@ -227,6 +235,14 @@ export default {
227 235
       ObjectData:{},
228 236
       tablePatients:[],
229 237
       tableSort:[],
238
+      dataName:[
239
+        {id:0,name:"达标"},
240
+        {id:1,name:"未达标"},
241
+      ],
242
+      dataCount:[
243
+         {id:0,count:0},
244
+         {id:1,count:0}
245
+      ]
230 246
     };
231 247
   },
232 248
   methods: {
@@ -245,7 +261,7 @@ export default {
245 261
         this.$message.error("结束时间不能小于开始时间");
246 262
         this.listQuery.start_time = "";
247 263
       } else {
248
-
264
+        
249 265
       }
250 266
 
251 267
     },
@@ -256,14 +272,23 @@ export default {
256 272
         this.$message.error("结束时间不能小于开始时间");
257 273
         this.listQuery.end_time = "";
258 274
       } else {
275
+       
259 276
       }
260 277
     },
261
-  getTimestamp(time) {
278
+    getTimestamp(time) {
262 279
       // 把时间日期转成时间戳
263 280
       return new Date(time).getTime() / 1000;
264 281
     },
265
-    handleClick(row) {
266
-      this.$router.push({ path: "/qcd/patientComplianceDetails" });
282
+    handleClick(name) {
283
+      var id = 0
284
+      var dialysis_no = 0
285
+      for(let i=0;i<this.tablePatients.length;i++){
286
+         if(name == this.tablePatients[i].name){
287
+            id = this.tablePatients[i].patient_id
288
+            dialysis_no = this.tablePatients[i].dialysis_no
289
+         }
290
+      }
291
+      this.$router.push({ path: "/qcd/patientComplianceDetails?patientid="+id});
267 292
     },
268 293
     getDialysisNo(name){
269 294
         for(let i=0;i<this.tablePatients.length;i++){
@@ -294,21 +319,127 @@ export default {
294 319
       })
295 320
     },
296 321
     onSearch(){
322
+         const params = {
323
+            lapstor:this.lapstor,
324
+            keyword:this.listQuery.search,
325
+            startime:this.listQuery.start_time,
326
+            endtime:this.listQuery.end_time,
327
+
328
+         }
329
+         console.log("params",params)
330
+       getPatientContorlAnalysis(params).then(response=>{
331
+           if(response.data.state == 1){
332
+              var control = response.data.data.patientcontorDetail
333
+              console.log('control', control)
334
+              let dataInfo = {}
335
+              control.forEach((item, index) => {
336
+                let { patient_id } = item
337
+                if (!dataInfo[patient_id]) {
338
+                  dataInfo[patient_id] = {
339
+                    patient_id,
340
+                    name: item.name,
341
+                    child: [],
342
+                    inspect_date: item.inspect_date
343
+
344
+                  }
345
+                }
346
+              })
347
+              let list = Object.values(dataInfo)
348
+              // console.log('list', list)
349
+              list.map(item => {
350
+                for (let i = 0; i < control.length; i++) {
351
+                  if (item.inspect_date == control[i].inspect_date && item.patient_id == control[i].patient_id) {
352
+                    item.child.push(control[i])
353
+                  }
354
+                }
355
+              })
356
+                var newarrtwo = []
357
+                list.map(item => {
358
+                  item.child.map(it => {
359
+                    newarrtwo.push(it)
360
+                  })
361
+                })
362
+
363
+                // 配置的才显示
364
+
365
+                var arrthree = []
366
+                for (let i = 0; i < newarrtwo.length; i++) {
367
+                  for (let j = 0; j < this.normData.length; j++) {
368
+                    if (newarrtwo[i].item_id == this.normData[j].inspection_minor) {
369
+                      arrthree.push(newarrtwo[i])
370
+                    }
371
+                  }
372
+                }
373
+
374
+                var arrfour = this.arrayDate(arrthree, newarrtwo)
375
+                arrfour.map(item => {
376
+                  item.item_name = ''
377
+                  arrthree.push(item)
378
+                })
379
+
380
+                var dd = {}
381
+                for (const index in arrthree) {
382
+                  if (!(arrthree[index].name in dd)) {
383
+                    dd[arrthree[index].name] = {}
384
+                  }
385
+                  if (!(arrthree[index].item_name in dd[arrthree[index].name]) && arrthree[index].item_name != 0) {
386
+                    dd[arrthree[index].name][arrthree[index].item_name] = arrthree[index]
387
+                  }
388
+                }
389
+                this.tableData = []
390
+
391
+                for (const key in dd) {
392
+                  for (const mkey in this.ObjectData) {
393
+                    if (!(this.ObjectData[mkey].item_name in dd[key])) {
394
+                      dd[key][this.ObjectData[mkey].item_name] = {
395
+                        item_name: this.ObjectData[mkey].item_name,
396
+                        name: mkey,
397
+                        inspect_value: 0
398
+                      }
399
+                    }
400
+                  }
401
+                  this.tableData.push({ name: key, data: dd[key]})
402
+                }
403
+                  console.log("表格",this.tableData)
404
+                  let projectArr = []
405
+                  this.newArr.map(item => {
406
+                    projectArr.push(item.item_name)
407
+                  })
408
+
409
+                  this.tableData.map(item => {
410
+                    let newarr = Object.values(item.data)
411
+                    newarr.sort((a, b) => {
412
+                      return projectArr.indexOf(a.item_name) - projectArr.indexOf(b.item_name)
413
+                    })
414
+                    item.data = newarr
415
+                  })
416
+      
417
+                  for (let i = 0; i < this.patientsArr.length; i++) {
418
+                    for (let j = 0; j < this.tableData.length; j++) {
419
+                      if (this.patientsArr[i].name == this.tableData[j].name) {
420
+                        this.tableData[j].dialysis_no = this.patientsArr[i].dialysis_no
421
+                        this.tableData[j].patient_id = this.patientsArr[i].id
422
+                      }
423
+                    }
424
+                  }
425
+                }
426
+          })
297 427
     },
298 428
     getlist(){
299 429
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
300 430
          if(response.data.state == 1){
301 431
            var patients = response.data.data.patients
302
-          // console.log("paitents",patients)
303
-          this.tablePatients = patients
304
-           var total =  response.data.data.total
305
-          // console.log("total",total)
306
-           this.total = total
307
-           var control = response.data.data.control
308
-         // console.log("control",control)
309
-          var newArr = []
310
-           //分页
311
-           for(let i=0;i<control.length;i++){
432
+             this.tablePatients = patients
433
+             var total =  response.data.data.total
434
+             // console.log("total",total)
435
+             this.total = total
436
+             var control = response.data.data.control
437
+
438
+
439
+             // console.log("control",control)
440
+             var newArr = []
441
+             //分页
442
+             for(let i=0;i<control.length;i++){
312 443
              for(let j=0;j<patients.length;j++){
313 444
                 if(control[i].patient_id == patients[j].patient_id){
314 445
                    newArr.push(control[i])
@@ -376,8 +507,6 @@ export default {
376 507
                dd[arrthree[index].name][arrthree[index].item_name] = arrthree[index];
377 508
             }
378 509
           }
379
-        console.log("ddd",dd)
380
-         console.log("obj",this.ObjectData)
381 510
           this.tableData= []
382 511
 
383 512
           for(const key in dd){
@@ -398,7 +527,7 @@ export default {
398 527
             this.newArr.map(item => {
399 528
               projectArr.push(item.item_name)
400 529
             })
401
-            console.log("projectArr",projectArr)
530
+           // console.log("projectArr",projectArr)
402 531
 
403 532
             this.tableData.map(item => {
404 533
             // console.log("item---",item.data)
@@ -410,9 +539,9 @@ export default {
410 539
                 return projectArr.indexOf(a.item_name)-projectArr.indexOf(b.item_name);
411 540
               });
412 541
               item.data = newarr
413
-              console.log(1111111111,item.data)
542
+             // console.log(1111111111,item.data)
414 543
             })
415
-              console.log("表",this.tableData)
544
+             console.log("表",this.tableData)
416 545
          }
417 546
       })
418 547
     },
@@ -440,9 +569,134 @@ export default {
440 569
                 result.push(obj);
441 570
             }
442 571
         }
443
-        console.log("result",result)
444 572
         return result;
445 573
     },
574
+
575
+    getCartogramlist(){
576
+       getCartogramlist(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.limit,this.page).then(response=>{
577
+           if(response.data.state == 1){
578
+              var cartogramlist =  response.data.data.cartogramlist
579
+              console.log("cartogramlist",cartogramlist)
580
+              var totaltwo =  response.data.data.total
581
+               var cart = []
582
+               for(let i=0;i<cartogramlist.length;i++){
583
+                  if(cartogramlist[i].inspect_value != ''){
584
+                    cart.push(cartogramlist[i])
585
+                  }
586
+               }
587
+               console.log("cart",cart)
588
+               let dataInfo = {}
589
+                cart.forEach((item, index) => {
590
+                  let { patient_id } = item
591
+                  if (!dataInfo[patient_id]) {
592
+                    dataInfo[patient_id] = {
593
+                      patient_id,
594
+                      name:item.name,
595
+                      child: [],
596
+                      inspect_date:item.inspect_date,
597
+                      total:0,
598
+                    }
599
+                  }
600
+                })
601
+              let list = Object.values(dataInfo)
602
+              console.log("list",list)
603
+
604
+              var arr = []
605
+              list.map(item=>{
606
+                 for(let i=0;i<cart.length;i++){
607
+                    if(item.inspect_date == cart[i].inspect_date && item.patient_id == cart[i].patient_id){
608
+                        item.child.push(cart[i])
609
+                         item.total++
610
+                    }
611
+                 }
612
+              })
613
+
614
+
615
+
616
+             list.map(item=>{
617
+                item.child.map(it=>{
618
+                   arr.push(it)
619
+                })
620
+             })
621
+              console.log("arr",arr)
622
+
623
+             var arrtwo = []
624
+             for(let i=0;i<arr.length;i++){
625
+               if(parseInt(arr[i].range_min)<= parseInt(arr[i].inspect_value) && parseInt(arr[i].inspect_value)<=parseInt(arr[i].range_max )){
626
+                  arrtwo.push(arr[i])
627
+               }
628
+             }
629
+             console.log("arrtwo",arrtwo)
630
+
631
+             let objinfo = {}
632
+                arrtwo.forEach((item, index) => {
633
+                  let { patient_id } = item
634
+                  if (!objinfo[patient_id]) {
635
+                    objinfo[patient_id] = {
636
+                      patient_id,
637
+                      name:item.name,
638
+                      child: [],
639
+                      inspect_date:item.inspect_date,
640
+                      count:0,
641
+                    }
642
+                  }
643
+                })
644
+              let newlist = Object.values(objinfo)
645
+              newlist.map(item=>{
646
+                 for(let i=0;i<arrtwo.length;i++){
647
+                    if(arrtwo[i].patient_id == item.patient_id && arrtwo[i].inspect_date == item.inspect_date){
648
+                       item.child.push(arrtwo[i])
649
+                    }
650
+                 }
651
+              })
652
+              console.log("newlist",newlist)
653
+              newlist.map(item=>{
654
+                  item.child.map(it=>{
655
+                    if(parseInt(it.range_min)<= parseInt(it.inspect_value) && parseInt(it.inspect_value)<=parseInt(it.range_max )){
656
+                       item.count ++
657
+                    }
658
+                  })
659
+              })
660
+              console.log("newlist",newlist)
661
+
662
+
663
+              var newtotal = 0
664
+
665
+              list.map(item=>{
666
+                 for(let i=0;i<newlist.length;i++){
667
+                    if(item.patient_id == newlist[i].patient_id && item.total == newlist[i].count){
668
+                       newtotal ++
669
+                    }
670
+                 }
671
+              })
672
+             console.log("newtotal",newtotal)
673
+             var totalCount = totaltwo - newtotal
674
+              console.log("totalCount",totaltwo)
675
+             for(let i=0;i<this.dataName.length;i++){
676
+                this.modesData.xAxis.push(this.dataName[i].name);
677
+             }
678
+
679
+             for(let i=0;i<this.dataCount.length;i++){
680
+                this.dataCount[0].count = newtotal
681
+                this.dataCount[1].count =  totalCount
682
+             }
683
+
684
+             for(let i=0;i<this.dataCount.length;i++){
685
+                this.modesData.series.push(((this.dataCount[i].count/totaltwo)*100).toFixed(1));
686
+             }
687
+              this.chart.series[0].data = this.modesData.series
688
+              this.chart.xAxis.data = this.modesData.xAxis
689
+           }
690
+       })
691
+    },
692
+     getCurrentOrgPatients(){
693
+       getCurrentOrgPatients().then(response=>{
694
+          if(response.data.state == 1){
695
+            this.patientsArr =  response.data.data.patients
696
+          }
697
+       })
698
+     }
699
+
446 700
   },
447 701
   created(){
448 702
     var nowDate = new Date();
@@ -466,10 +720,17 @@ export default {
466 720
       "-" +
467 721
       (nowDay < 10 ? "0" + nowDay : nowDay);
468 722
 
723
+
724
+
725
+
469 726
     //获取系统指标
470 727
     this.getNormData()
471 728
     //获取列表数据
472 729
     this.getlist()
730
+    //获取统计图数据
731
+    this.getCartogramlist()
732
+
733
+    this.getCurrentOrgPatients()
473 734
   }
474 735
 };
475 736
 </script>

+ 1 - 1
src/xt_pages/qcd/processIndicators.vue Ver arquivo

@@ -179,7 +179,7 @@ export default {
179 179
   data() {
180 180
     return {
181 181
       crumbs: [
182
-        { path: false, name: "科室质控" },
182
+        { path: false, name: "质控管理" },
183 183
         { path: "/qcd/processindicators", name: "过程指标" }
184 184
       ],
185 185
       total: 0,

+ 7 - 7
src/xt_pages/qcd/statisticalConfiguration.vue Ver arquivo

@@ -74,7 +74,7 @@
74 74
                 </el-option>
75 75
             </el-select>
76 76
           </el-form-item>
77
-          <el-form-item label="控范围" :label-width="formLabelWidth" required prop="large_range">
77
+          <el-form-item label="控范围" :label-width="formLabelWidth" required prop="large_range">
78 78
             <el-input style="width:200px" v-model="form.min_range"></el-input>&nbsp;
79 79
             -
80 80
             <el-input style="width:200px" v-model="form.large_range"></el-input>
@@ -115,7 +115,7 @@
115 115
                 </el-option>
116 116
             </el-select>
117 117
           </el-form-item>
118
-          <el-form-item label="控范围" :label-width="formLabelWidth" required prop="large_range">
118
+          <el-form-item label="控范围" :label-width="formLabelWidth" required prop="large_range">
119 119
             <el-input style="width:200px" v-model="editform.min_range"></el-input>&nbsp;
120 120
             -
121 121
             <el-input style="width:200px" v-model="editform.large_range"></el-input>
@@ -146,7 +146,7 @@ export default {
146 146
   data() {
147 147
     return {
148 148
       crumbs: [
149
-        { path: false, name: "科室质控" },
149
+        { path: false, name: "质控管理" },
150 150
         { path: false, name: "统计配置" },
151 151
         { path: false, name: "质控达标统计配置" }
152 152
       ],
@@ -176,7 +176,7 @@ export default {
176 176
       rules: {
177 177
         inspectionMajor: [{ required: true, message: "检查大项不能为空" }],
178 178
         inspectionMinor: [{ required: true, message: "检查小项不能为空" }],
179
-        large_range:[{required:true,message:"控范围不能为空"}]
179
+        large_range:[{required:true,message:"控范围不能为空"}]
180 180
       },
181 181
       page:1,
182 182
       limit:10,
@@ -227,7 +227,7 @@ export default {
227 227
       getInspectionMinor(id).then(response=>{
228 228
         if(response.data.state == 1){
229 229
          var inspection =  response.data.data.inspection
230
-        // console.log("小项",inspection)
230
+         console.log("小项",inspection)
231 231
          this.InspectionMinor = inspection
232 232
         }
233 233
       })
@@ -242,12 +242,12 @@ export default {
242 242
         }
243 243
       })
244 244
     },
245
-    // 获取控范围
245
+    // 获取控范围
246 246
     changeInspectionMonior(id){
247 247
        getInspectionRange(id).then(response=>{
248 248
          if(response.data.state == 1){
249 249
            var inspectionRange =  response.data.data.inspectionRange
250
-          // console.log("inspectionRange",inspectionRange)
250
+          console.log("inspectionRange",inspectionRange)
251 251
            this.form.min_range = inspectionRange.range_min
252 252
            this.form.large_range = inspectionRange.range_max
253 253
          }

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis.vue Ver arquivo

@@ -18,7 +18,7 @@ export default {
18 18
   data() {
19 19
     return {
20 20
       crumbs: [
21
-        { path: false, name: "科室质控" },
21
+        { path: false, name: "质控管理" },
22 22
         { path: false, name: "患者质控达标统计" }
23 23
       ]
24 24
     };

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis/check.vue Ver arquivo

@@ -50,7 +50,7 @@ export default {
50 50
   data() {
51 51
     return {
52 52
       crumbs: [
53
-        { path: false, name: "科室质控" },
53
+        { path: false, name: "质控管理" },
54 54
         { path: false, name: "治疗信息统计" },
55 55
         { path: false, name: "患者透析次数统计" }
56 56
       ],

+ 15 - 16
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckAll.vue Ver arquivo

@@ -148,7 +148,7 @@ export default {
148 148
             // obj.name = val.name
149 149
             // obj.data = arr
150 150
             // this.tableData.push(obj)
151
-            console.log("arr",arr)
151
+        
152 152
           }
153 153
       })
154 154
     },
@@ -184,16 +184,16 @@ export default {
184 184
       getAllMajorInspection().then(response=>{
185 185
         if(response.data.state === 1){
186 186
            var inspection = response.data.data.inspection
187
-           console.log("inspection",inspection)
187
+        
188 188
            var a=[];
189 189
            for(let i=0;i<inspection.length;i++){
190 190
              a.push(inspection[i])
191 191
            }
192
-           console.log("a",a)
192
+
193 193
            this.newArr = a
194 194
            var arr = this.arrayToObj(a)
195 195
            
196
-           console.log("arr",arr)
196
+      
197 197
            this.ObjectData = arr
198 198
            this.tableName = inspection
199 199
         }
@@ -203,13 +203,13 @@ export default {
203 203
       getPatientList(this.listQuery.start_time,this.listQuery.end_time,this.listQuery.limit,this.listQuery.page).then(response=>{
204 204
          if(response.data.state === 1){
205 205
            var patientInfo = response.data.data.patientInfo
206
-           console.log("列表数据2",patientInfo)
206
+          
207 207
 
208 208
            var total = response.data.data.total
209
-           console.log("total",total)
209
+        
210 210
            this.total = total
211 211
           var list = response.data.data.list
212
-          console.log("list",list)
212
+       
213 213
           var dtd = []
214 214
           for(let i=0;i<list.length;i++){
215 215
               for(let j=0;j<this.tableName.length;j++){
@@ -218,7 +218,7 @@ export default {
218 218
                   }
219 219
               }
220 220
           }
221
-          console.log("dtd",dtd)
221
+   
222 222
           var dd = {};
223 223
            for (const index in dtd) {
224 224
             if (!(dtd[index].name in dd)) {
@@ -228,8 +228,7 @@ export default {
228 228
               dd[dtd[index].name][dtd[index].ProjectName] = dtd[index];
229 229
             }
230 230
           }
231
-          console.log("ddd",dd)
232
-           console.log("this.ObjectData",this.ObjectData)
231
+       
233 232
            
234 233
             for(const key in dd){
235 234
               for(const mkey in this.ObjectData){
@@ -243,16 +242,16 @@ export default {
243 242
               }
244 243
               this.tableData.push({ name: key, data: dd[key]});
245 244
             }
246
-            console.log("表",this.tableData)
245
+       
247 246
             let projectArr = []
248 247
           
249 248
             this.newArr.map(item => {
250 249
               projectArr.push(item.project_name)
251 250
             })
252
-            console.log("projectArr",projectArr)
251
+      
253 252
             this.tableData.map(item => {
254 253
               let arr = Object.values(item.data);
255
-             console.log("arr",arr)
254
+       
256 255
               arr.sort((a,b)=>{
257 256
                 return projectArr.indexOf(a.ProjectName)-projectArr.indexOf(b.ProjectName);
258 257
               });
@@ -265,7 +264,7 @@ export default {
265 264
       getPatientDetailCheck(val.id,this.listQuery.start_time,this.listQuery.end_time).then(response=>{
266 265
           if(response.data.state === 1){
267 266
             var checkDetail =  response.data.data.checkDetail
268
-            console.log("checkDetail",checkDetail)
267
+        
269 268
             var arr = []
270 269
             for(let i=0;i<checkDetail.length;i++){
271 270
               for(let j=0;j<this.tableName.length;j++){
@@ -274,11 +273,11 @@ export default {
274 273
                  }
275 274
               }
276 275
             }
276
+
277 277
             let projectArr = []
278 278
             this.newArr.map(item => {
279 279
               projectArr.push(item.project_name)
280 280
             })
281
-            console.log("projectArr",projectArr)
282 281
             projectArr.forEach((item,index) => {
283 282
               if(!(arr[index] && item == arr[index].ProjectName)){
284 283
                 arr.splice(index,0,{Count:0, ProjectName: item,name: val.name})
@@ -290,7 +289,7 @@ export default {
290 289
             obj.data = arr
291 290
             this.tableData.push(obj)
292 291
             this.total = 1
293
-            console.log("arr",this.tableData)
292
+           
294 293
           }
295 294
       })
296 295
     },

+ 10 - 12
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckPersonal.vue Ver arquivo

@@ -216,11 +216,11 @@ export default {
216 216
       getInspectionTotalCount(this.listQuery.start_time,this.listQuery.end_time).then(response=>{
217 217
           if(response.data.state === 1){
218 218
             var Inspection = response.data.data.Inspection
219
-            console.log("Inspection",Inspection)
219
+     
220 220
             this.tableData = Inspection
221 221
           
222 222
             var counts = response.data.data.counts
223
-            console.log("counts",counts)
223
+         
224 224
             var arr = []
225 225
             for(let i=0;i<Inspection.length;i++){
226 226
                for(let j=0;j<counts.length;j++){
@@ -229,9 +229,9 @@ export default {
229 229
                  }
230 230
                }
231 231
             }
232
-             console.log("arr",arr)
232
+          
233 233
              var arrtwo =  this.arrayDate(counts,this.normData)
234
-             console.log("arrtwo",arrtwo)
234
+            
235 235
             var hash = {};
236 236
             var i = 0;
237 237
             var res = [];
@@ -248,7 +248,7 @@ export default {
248 248
             res.map(item => {
249 249
              item.Count = eval(item.Count.join('+'))
250 250
             })
251
-            console.log(11111,res)
251
+           
252 252
             let arr1 = []
253 253
             this.tableData.map(it => {
254 254
               arr1.push(it.project_name)
@@ -279,7 +279,6 @@ export default {
279 279
             
280 280
             this.chart.series[0].data = this.modesData.series
281 281
             this.chart.xAxis.data = this.modesData.xAxis
282
-            console.log(2222,this.modesData)
283 282
           }
284 283
       })
285 284
     },
@@ -291,7 +290,7 @@ export default {
291 290
        getInspectionDetailById(val.id,this.listQuery.start_time,this.listQuery.end_time).then(response=>{
292 291
           if(response.data.state === 1){
293 292
             var patientdetail = response.data.data.patientdetail
294
-            console.log("patientdetail",patientdetail)
293
+
295 294
             var arr=[]
296 295
             for(let i=0;i<this.tableData.length;i++){
297 296
               for(let j=0;j<patientdetail.length;j++){
@@ -300,10 +299,10 @@ export default {
300 299
                  }
301 300
               }
302 301
             }
303
-            console.log("arr",arr)
302
+            
304 303
            let time = new Date(this.listQuery.end_time) - new Date(this.listQuery.start_time)
305 304
            let day = parseInt(time / (1000 * 60 * 60 * 24))
306
-           console.log("time",parseInt(time / (1000 * 60 * 60 * 24)))
305
+       
307 306
             for (const key in this.tableData) {
308 307
               this.modesData.xAxis.push(this.tableData[key].project_name);
309 308
               if (key in arr) {
@@ -326,7 +325,7 @@ export default {
326 325
       getSearchPatientInfo(this.listQuery.search,this.listQuery.start_time,this.listQuery.end_time).then(response=>{
327 326
          if(response.data.state  === 1){
328 327
            var PatientsInfo = response.data.data.PatientsInfo
329
-           console.log("PatientsInfo",PatientsInfo)
328
+          
330 329
            var arr = []
331 330
            for(let i=0;i<this.tableData.length;i++){
332 331
              for(let j=0;j<PatientsInfo.length;j++){
@@ -335,7 +334,7 @@ export default {
335 334
                  }
336 335
              }
337 336
            }
338
-           console.log("arr",arr)
337
+       
339 338
          }
340 339
       })
341 340
     },
@@ -359,7 +358,6 @@ export default {
359 358
                 result.push(obj);
360 359
             }
361 360
         }
362
-        console.log("result",result)
363 361
         return result;
364 362
     },
365 363
   },

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis/time.vue Ver arquivo

@@ -50,7 +50,7 @@ export default {
50 50
   data() {
51 51
     return {
52 52
       crumbs: [
53
-        { path: false, name: "科室质控" },
53
+        { path: false, name: "质控管理" },
54 54
         { path: false, name: "治疗信息统计" },
55 55
         { path: false, name: "患者透析次数统计" }
56 56
       ],

+ 1 - 1
src/xt_pages/qcd/workAnalysis/doctor.vue Ver arquivo

@@ -159,7 +159,7 @@ export default {
159 159
         {value:3, name:"抢救记录"}
160 160
       ],
161 161
       crumbs: [
162
-        { path: false, name: "科室质控" },
162
+        { path: false, name: "质控管理" },
163 163
         { path: false, name: "工作量分析统计" },
164 164
         { path: false, name: "医生" }
165 165
       ],

+ 1 - 1
src/xt_pages/qcd/workAnalysis/nurse.vue Ver arquivo

@@ -203,7 +203,7 @@
203 203
           {value:4, name:"宣教/小结"},
204 204
         ],
205 205
         crumbs: [
206
-          { path: false, name: "科室质控" },
206
+          { path: false, name: "质控管理" },
207 207
           { path: false, name: "工作量分析统计" },
208 208
           { path: false, name: "医生" }
209 209
         ],

+ 1 - 1
src/xt_pages/statistics/index.vue Ver arquivo

@@ -125,7 +125,7 @@ export default {
125 125
   data() {
126 126
     return {
127 127
       crumbs: [
128
-        { path: false, name: "科室质控" },
128
+        { path: false, name: "质控管理" },
129 129
         { path: false, name: "统计分析" }
130 130
       ],
131 131
       pageLoad: true,

+ 13 - 13
src/xt_permission.js Ver arquivo

@@ -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
 
30 30
   NProgress.start();