Browse Source

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

csx 4 years ago
parent
commit
7904e68102
46 changed files with 6864 additions and 4825 deletions
  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 View File

7
   NODE_ENV: '"development"',
7
   NODE_ENV: '"development"',
8
   ENV_CONFIG: '"dev"',
8
   ENV_CONFIG: '"dev"',
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"',
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
   SSO_HOST: '"http://testsso.sgjyun.com"',
12
   SSO_HOST: '"http://testsso.sgjyun.com"',
12
   SRCM_HOST: '"http://test1.sgjyun.com"',
13
   SRCM_HOST: '"http://test1.sgjyun.com"',
13
   XT_HOST: '"http://xt.test.sgjyun.com"',
14
   XT_HOST: '"http://xt.test.sgjyun.com"',

+ 2 - 2
config/index.js View File

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

+ 33 - 7
src/api/common/common.js View File

149
     startime: startime,
149
     startime: startime,
150
     endtime: endtime
150
     endtime: endtime
151
   }
151
   }
152
+
152
   return request({
153
   return request({
153
     url: '/com/api/gettotallapsecount',
154
     url: '/com/api/gettotallapsecount',
154
     method: 'get',
155
     method: 'get',
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
   console.log('params', params)
381
   console.log('params', params)
386
   return request({
382
   return request({
387
     url: '/com/api/getfirstquarter',
383
     url: '/com/api/getfirstquarter',
391
 }
387
 }
392
 
388
 
393
 export function getProjectList(params) {
389
 export function getProjectList(params) {
394
-  console.log('params', params)
395
   return request({
390
   return request({
396
     url: '/com/api/getprojectlist',
391
     url: '/com/api/getprojectlist',
397
     method: 'get',
392
     method: 'get',
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 View File

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

+ 103 - 91
src/router/modules/dialysis.js View File

1
-import Layout from "@/views/layout/Layout";
1
+import Layout from '@/views/layout/Layout'
2
 
2
 
3
 export default {
3
 export default {
4
-  path: "/dialysis/",
4
+  path: '/dialysis/',
5
   component: Layout,
5
   component: Layout,
6
-  redirect: "noredirect",
7
-  name: "dialysis",
6
+  redirect: 'noredirect',
7
+  name: 'dialysis',
8
   alwaysShow: true,
8
   alwaysShow: true,
9
   meta: {
9
   meta: {
10
-    title: "dialysis",
11
-    icon: "touxi"
10
+    title: 'dialysis',
11
+    icon: 'touxi'
12
   },
12
   },
13
   children: [
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
       meta: {
18
       meta: {
19
-        title: "透析记录",
19
+        title: '透析记录',
20
         noCache: true
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
       meta: {
27
       meta: {
28
-        title: "watch",
28
+        title: 'watch',
29
         noCache: true
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
       meta: {
36
       meta: {
37
-        title: "数据看板",
37
+        title: '数据看板',
38
         noCache: true
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
       hidden: true,
44
       hidden: true,
45
       is_menu: false,
45
       is_menu: false,
46
-      name: "paper",
46
+      name: 'paper',
47
       meta: {
47
       meta: {
48
-        title: "paper",
48
+        title: 'paper',
49
         noCache: true
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
       hidden: true,
55
       hidden: true,
56
       is_menu: false,
56
       is_menu: false,
57
-      name: "dialysisPrintOrder",
57
+      name: 'dialysisPrintOrder',
58
       meta: {
58
       meta: {
59
-        title: "dialysisPrintOrder",
59
+        title: 'dialysisPrintOrder',
60
         noCache: true
60
         noCache: true
61
       }
61
       }
62
     },
62
     },
65
     // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
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
       meta: {
71
       meta: {
72
-        title: "details"
72
+        title: 'details'
73
       },
73
       },
74
       hidden: true,
74
       hidden: true,
75
       is_menu: false,
75
       is_menu: false,
76
       noCache: true
76
       noCache: true
77
     },
77
     },
78
     {
78
     {
79
-      path: "/dialysis/print/batch",
79
+      path: '/dialysis/print/batch',
80
       component: () =>
80
       component: () =>
81
-        import("@/xt_pages/dialysis/batch_print/batch_print_order"),
81
+        import('@/xt_pages/dialysis/batch_print/batch_print_order'),
82
       hidden: true,
82
       hidden: true,
83
       is_menu: false,
83
       is_menu: false,
84
-      name: "dialysis_batch_print",
84
+      name: 'dialysis_batch_print',
85
       meta: {
85
       meta: {
86
-        title: "批量打印",
86
+        title: '批量打印',
87
         noCache: true
87
         noCache: true
88
       }
88
       }
89
     },
89
     },
90
     {
90
     {
91
-      path: "/dialysis/print/batch/other",
91
+      path: '/dialysis/print/batch/other',
92
       component: () =>
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
       hidden: true,
94
       hidden: true,
95
       is_menu: false,
95
       is_menu: false,
96
-      name: "dialysis_batch_print_two",
96
+      name: 'dialysis_batch_print_two',
97
       meta: {
97
       meta: {
98
-        title: "批量打印",
98
+        title: '批量打印',
99
         noCache: true
99
         noCache: true
100
       }
100
       }
101
     },
101
     },
102
     {
102
     {
103
-      path: "/dialysis/print/batch/three",
103
+      path: '/dialysis/print/batch/three',
104
       component: () =>
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
       hidden: true,
106
       hidden: true,
107
       is_menu: false,
107
       is_menu: false,
108
-      name: "dialysis_batch_print_two_one",
108
+      name: 'dialysis_batch_print_two_one',
109
       meta: {
109
       meta: {
110
-        title: "批量打印",
110
+        title: '批量打印',
111
         noCache: true
111
         noCache: true
112
       }
112
       }
113
     },
113
     },
114
     {
114
     {
115
-      path: "/dialysis/print/batch/four",
115
+      path: '/dialysis/print/batch/four',
116
       component: () =>
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
       hidden: true,
118
       hidden: true,
119
       is_menu: false,
119
       is_menu: false,
120
-      name: "dialysis_batch_print_two_one",
120
+      name: 'dialysis_batch_print_two_one',
121
       meta: {
121
       meta: {
122
-        title: "批量打印",
122
+        title: '批量打印',
123
         noCache: true
123
         noCache: true
124
       }
124
       }
125
     },
125
     },
126
     {
126
     {
127
-      path: "/dialysis/print/batch/five",
127
+      path: '/dialysis/print/batch/five',
128
       component: () =>
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
       hidden: true,
130
       hidden: true,
131
       is_menu: false,
131
       is_menu: false,
132
-      name: "dialysis_batch_print_two_one",
132
+      name: 'dialysis_batch_print_two_one',
133
       meta: {
133
       meta: {
134
-        title: "批量打印",
134
+        title: '批量打印',
135
         noCache: true
135
         noCache: true
136
       }
136
       }
137
     },
137
     },
138
     {
138
     {
139
-      path: "/dialysis/print/batch/six",
139
+      path: '/dialysis/print/batch/six',
140
       component: () =>
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
       hidden: true,
142
       hidden: true,
143
       is_menu: false,
143
       is_menu: false,
144
-      name: "dialysis_batch_six",
144
+      name: 'dialysis_batch_six',
145
       meta: {
145
       meta: {
146
-        title: "批量打印",
146
+        title: '批量打印',
147
         noCache: true
147
         noCache: true
148
       }
148
       }
149
     },
149
     },
150
     {
150
     {
151
-      path: "/dialysis/print/batch/seven",
151
+      path: '/dialysis/print/batch/seven',
152
       component: () =>
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
       hidden: true,
154
       hidden: true,
155
       is_menu: false,
155
       is_menu: false,
156
-      name: "dialysis_batch_seven",
156
+      name: 'dialysis_batch_seven',
157
       meta: {
157
       meta: {
158
-        title: "批量打印",
158
+        title: '批量打印',
159
         noCache: true
159
         noCache: true
160
       }
160
       }
161
     },
161
     },
162
     {
162
     {
163
-      path: "/dialysis/print/batch/eight",
163
+      path: '/dialysis/print/batch/eight',
164
       component: () =>
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
       hidden: true,
166
       hidden: true,
167
       is_menu: false,
167
       is_menu: false,
168
-      name: "dialysis_batch_eight",
168
+      name: 'dialysis_batch_eight',
169
       meta: {
169
       meta: {
170
-        title: "批量打印",
170
+        title: '批量打印',
171
         noCache: true
171
         noCache: true
172
       }
172
       }
173
     },
173
     },
174
     {
174
     {
175
-      path: "/dialysis/print/batch/nine",
175
+      path: '/dialysis/print/batch/nine',
176
       component: () =>
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
       hidden: true,
178
       hidden: true,
179
       is_menu: false,
179
       is_menu: false,
180
-      name: "dialysis_batch_nine",
180
+      name: 'dialysis_batch_nine',
181
       meta: {
181
       meta: {
182
-        title: "批量打印",
182
+        title: '批量打印',
183
         noCache: true
183
         noCache: true
184
       }
184
       }
185
     },
185
     },
186
     {
186
     {
187
-      path: "/dialysis/print/batch/twelve",
187
+      path: '/dialysis/print/batch/twelve',
188
       component: () =>
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
       hidden: true,
190
       hidden: true,
191
       is_menu: false,
191
       is_menu: false,
192
-      name: "dialysis_batch_twelve",
192
+      name: 'dialysis_batch_twelve',
193
       meta: {
193
       meta: {
194
-        title: "批量打印",
194
+        title: '批量打印',
195
         noCache: true
195
         noCache: true
196
       }
196
       }
197
     },
197
     },
198
     {
198
     {
199
-      path: "/dialysis/print/batch/thirteen",
199
+      path: '/dialysis/print/batch/thirteen',
200
       component: () =>
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
       hidden: true,
202
       hidden: true,
203
       is_menu: false,
203
       is_menu: false,
204
-      name: "dialysis_batch_thirteen",
204
+      name: 'dialysis_batch_thirteen',
205
       meta: {
205
       meta: {
206
-        title: "批量打印",
206
+        title: '批量打印',
207
         noCache: true
207
         noCache: true
208
       }
208
       }
209
     },
209
     },
210
     {
210
     {
211
-      path: "/dialysis/print/batch/otherone",
211
+      path: '/dialysis/print/batch/fifteen',
212
       component: () =>
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
       hidden: true,
214
       hidden: true,
215
       is_menu: false,
215
       is_menu: false,
216
-      name: "dialysis_batch_print_two_one",
216
+      name: 'dialysis_batch_fifteen',
217
       meta: {
217
       meta: {
218
-        title: "批量打印",
218
+        title: '批量打印',
219
         noCache: true
219
         noCache: true
220
       }
220
       }
221
     },
221
     },
222
     {
222
     {
223
-      path: "/dialysis/print/batch/othertwo",
223
+      path: '/dialysis/print/batch/otherone',
224
       component: () =>
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
       hidden: true,
226
       hidden: true,
227
       is_menu: false,
227
       is_menu: false,
228
-      name: "dialysis_batch_print_two_two",
228
+      name: 'dialysis_batch_print_two_one',
229
       meta: {
229
       meta: {
230
-        title: "批量打印",
230
+        title: '批量打印',
231
         noCache: true
231
         noCache: true
232
       }
232
       }
233
     },
233
     },
234
     {
234
     {
235
-      path: "/dialysis/print/batch/fiveone",
235
+      path: '/dialysis/print/batch/othertwo',
236
       component: () =>
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
       hidden: true,
238
       hidden: true,
239
       is_menu: false,
239
       is_menu: false,
240
-      name: "dialysis_batch_print_two_two",
240
+      name: 'dialysis_batch_print_two_two',
241
       meta: {
241
       meta: {
242
-        title: "批量打印",
242
+        title: '批量打印',
243
         noCache: true
243
         noCache: true
244
       }
244
       }
245
     },
245
     },
246
     {
246
     {
247
-      path: "/dialysis/print/batch/fivetwo",
247
+      path: '/dialysis/print/batch/fiveone',
248
       component: () =>
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
       hidden: true,
250
       hidden: true,
251
       is_menu: false,
251
       is_menu: false,
252
-      name: "dialysis_batch_print_two_two",
252
+      name: 'dialysis_batch_print_two_two',
253
       meta: {
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
         noCache: true
267
         noCache: true
256
       }
268
       }
257
     }
269
     }
258
   ]
270
   ]
259
-};
271
+}

File diff suppressed because it is too large
+ 1182 - 1167
src/store/modules/globalConfig.js


File diff suppressed because it is too large
+ 1497 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_fifteen.vue


+ 12 - 0
src/xt_pages/dialysis/bloodPresssWatch.vue View File

150
           >批量打印</el-button
150
           >批量打印</el-button
151
         >
151
         >
152
       </template>
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
     </div>
163
     </div>
154
     <div class="app-container">
164
     <div class="app-container">
155
       <!-- <div class="filter-container">
165
       <!-- <div class="filter-container">
655
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
665
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
656
       } else if (this.template_id == 13) {
666
       } else if (this.template_id == 13) {
657
         this.$router.push({ path: "/dialysis/print/batch/thirteen" });
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
     batchPrintActionOne: function() {
672
     batchPrintActionOne: function() {

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

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

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


File diff suppressed because it is too large
+ 1279 - 1256
src/xt_pages/dialysis/template/DialysisPrintOrderFifteen.vue


+ 43 - 60
src/xt_pages/qcd/basicInformationAnalysis.vue View File

18
             >{{ item.label }}</li>
18
             >{{ item.label }}</li>
19
           </ul>
19
           </ul>
20
         </div>
20
         </div>
21
-        <label class="title">
22
-          <span class="name">日期查询</span> :
23
-        </label>
24
         <el-date-picker
21
         <el-date-picker
25
           v-model="listQuery.start_time"
22
           v-model="listQuery.start_time"
26
           prefix-icon="el-icon-date"
23
           prefix-icon="el-icon-date"
32
           align="right"
29
           align="right"
33
           format="yyyy-MM-dd"
30
           format="yyyy-MM-dd"
34
           value-format="yyyy-MM-dd"
31
           value-format="yyyy-MM-dd"
32
+          :picker-options="pickerOptions"
35
         ></el-date-picker>
33
         ></el-date-picker>
36
         <span class>-</span>
34
         <span class>-</span>
37
         <el-date-picker
35
         <el-date-picker
45
           align="right"
43
           align="right"
46
           format="yyyy-MM-dd"
44
           format="yyyy-MM-dd"
47
           value-format="yyyy-MM-dd"
45
           value-format="yyyy-MM-dd"
46
+          :picker-options="pickerOptions"
48
         ></el-date-picker>
47
         ></el-date-picker>
49
       </div>
48
       </div>
50
       <div class="cell clearfix" style="align-items:normal">
49
       <div class="cell clearfix" style="align-items:normal">
114
                       <p>腹水回输:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
113
                       <p>腹水回输:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
115
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
114
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
116
                   </span>
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
                    <span v-if="item.mode_id == 19">
132
                    <span v-if="item.mode_id == 19">
118
                       <p>IUF+HD:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
133
                       <p>IUF+HD:{{item.count}}次({{(item.count/total*100).toFixed(1)}}%)</p>
119
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
134
                       <el-progress :percentage="(item.count/total*100).toFixed(1)"></el-progress>
165
                 <p class="infoTitle">转归统计(总人数{{patientCount}}人)</p>
180
                 <p class="infoTitle">转归统计(总人数{{patientCount}}人)</p>
166
               </div>
181
               </div>
167
               <div class="borderBox1">
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
               </div>
187
               </div>
173
             </div>
188
             </div>
174
             <div class="infoOne">
189
             <div class="infoOne">
253
   },
268
   },
254
   data() {
269
   data() {
255
     return {
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
       crumbs: [
277
       crumbs: [
257
-        { path: false, name: "科室质控" },
278
+        { path: false, name: "质控管理" },
258
         { path: false, name: "基本信息统计" }
279
         { path: false, name: "基本信息统计" }
259
       ],
280
       ],
260
       listQuery: {
281
       listQuery: {
268
         { value: 0, label: "本月", state: 0 },
289
         { value: 0, label: "本月", state: 0 },
269
         { value: 1, label: "近三个月", state: 1 },
290
         { value: 1, label: "近三个月", state: 1 },
270
         { value: 2, label: "近半年", state: 2 },
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
       modetype:[],
295
       modetype:[],
274
       total:0,
296
       total:0,
286
       totalone:0,
308
       totalone:0,
287
       totaltwo:0,
309
       totaltwo:0,
288
       totalthree:0,
310
       totalthree:0,
311
+      rollOutTotal:0,
312
+      outTotal:0,
289
     };
313
     };
290
   },
314
   },
291
   methods: {
315
   methods: {
294
       return new Date(time).getTime() / 1000;
318
       return new Date(time).getTime() / 1000;
295
     },
319
     },
296
     changeTime(val) {
320
     changeTime(val) {
321
+       this.stateType = 4
297
        var timeStar=Date.parse(val)/1000
322
        var timeStar=Date.parse(val)/1000
298
        var timeEnd =Date.parse(this.listQuery.end_time)/1000
323
        var timeEnd =Date.parse(this.listQuery.end_time)/1000
299
       var time = this.getTimestamp(val) - this.getTimestamp(this.end_time);
324
       var time = this.getTimestamp(val) - this.getTimestamp(this.end_time);
316
       }
341
       }
317
     },
342
     },
318
     changeEndTime(val) {
343
     changeEndTime(val) {
344
+       this.stateType = 4
319
        var timeEnd=Date.parse(val)/1000
345
        var timeEnd=Date.parse(val)/1000
320
        var timeStar =Date.parse(this.listQuery.start_time)/1000
346
        var timeStar =Date.parse(this.listQuery.start_time)/1000
321
       var time =
347
       var time =
443
         //统计透析年龄
469
         //统计透析年龄
444
         this.getTotalDialysisCount(startunitx,endunitx)
470
         this.getTotalDialysisCount(startunitx,endunitx)
445
      }
471
      }
472
+   
473
+ 
446
 
474
 
447
     },
475
     },
448
     getDialysisModeType(startDate,endDate){
476
     getDialysisModeType(startDate,endDate){
453
             var total =  response.data.data.total
481
             var total =  response.data.data.total
454
             console.log("total",total)
482
             console.log("total",total)
455
             this.total = total
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
            this.modetype = modetype
484
            this.modetype = modetype
504
            console.log("modetype",modetype)
485
            console.log("modetype",modetype)
505
 
486
 
511
       getTotalLapseCount(startDate,endDate).then(response=>{
492
       getTotalLapseCount(startDate,endDate).then(response=>{
512
          if(response.data.state == 1){
493
          if(response.data.state == 1){
513
           var patients =  response.data.data.patients
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
           var count = response.data.data.count
500
           var count = response.data.data.count
517
           this.patientCount = count
501
           this.patientCount = count
518
-          this.RetentionCount = count-total
519
          }
502
          }
520
       })
503
       })
521
     },
504
     },
620
     }
603
     }
621
   },
604
   },
622
   created() {
605
   created() {
623
-     //获取本月当前机构的透析模式
606
+        //获取本月当前机构的透析模式
624
       const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
607
       const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
625
       console.log("开始时间",startDate)
608
       console.log("开始时间",startDate)
626
       const endDate = moment(new Date()).format('YYYY-MM-DD')
609
       const endDate = moment(new Date()).format('YYYY-MM-DD')

+ 1 - 1
src/xt_pages/qcd/checkStatistical.vue View File

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

+ 1 - 1
src/xt_pages/qcd/dialysisTotal.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/analysis.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/analysisDetails.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/bloodPressureDetails.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/monitor.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/weight.vue View File

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

+ 1 - 1
src/xt_pages/qcd/indicatorControlAnalysis/weightDetails.vue View File

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

+ 45 - 75
src/xt_pages/qcd/officesControlAnalysis/project.vue View File

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

+ 211 - 86
src/xt_pages/qcd/officesControlAnalysis/time.vue View File

110
   },
110
   },
111
   data() {
111
   data() {
112
     return {
112
     return {
113
+      modetype:0,
114
+      startime:"",
115
+      endtime:"",
113
       activeName: "first",
116
       activeName: "first",
114
       modesData: {
117
       modesData: {
115
         xAxis: [],
118
         xAxis: [],
116
         series: []
119
         series: []
117
        },
120
        },
118
       crumbs: [
121
       crumbs: [
119
-        { path: false, name: "科室质控" },
122
+        { path: false, name: "质控管理" },
120
         { path: false, name: "科室质控达标统计" },
123
         { path: false, name: "科室质控达标统计" },
121
         { path: false, name: "按时间分组" }
124
         { path: false, name: "按时间分组" }
122
       ],
125
       ],
274
         this.$router.push({ path: "/qcd/officesControlAnalysis/project" });
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
     changeLapseto(val){
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
     changeEndTime(val) {
305
     changeEndTime(val) {
290
         this.$message.error("结束时间不能小于开始时间");
309
         this.$message.error("结束时间不能小于开始时间");
291
         this.listQuery.end_time = "";
310
         this.listQuery.end_time = "";
292
       } else {
311
       } else {
312
+        this.getlist()
293
       }
313
       }
314
+    },
315
+     getTimestamp(time) {
316
+      // 把时间日期转成时间戳
317
+      return new Date(time).getTime() / 1000;
294
     },
318
     },
295
     selectLapseTo(state) {
319
     selectLapseTo(state) {
296
       this.stateType = state;
320
       this.stateType = state;
297
       this.listQuery.state = state;
321
       this.listQuery.state = state;
298
     },
322
     },
299
     chooseType(val) {
323
     chooseType(val) {
300
-      console.log(val);
301
       this.type = val;
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
     chooseQuarter(quarter) {
338
     chooseQuarter(quarter) {
304
       this.quarterType = quarter;
339
       this.quarterType = quarter;
305
       //第一季度
340
       //第一季度
306
       if(quarter === 0){
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
       if(quarter === 1){
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
       if(quarter === 2){
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
       if(quarter === 3){
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
       //1月
371
       //1月
340
       if(month == 0){
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
       //2月
378
       //2月
348
       if(month == 1){
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
      //3月
386
      //3月
356
       if(month == 2){
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
       //4月
393
       //4月
363
        if(month == 3){
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
       //5月
400
       //5月
370
        if(month == 4){
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
       //6月
407
       //6月
377
        if(month == 5){
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
       //7月
414
       //7月
384
        if(month == 6){
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
       //8月
421
       //8月
391
        if(month == 7){
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
       //9月
428
       //9月
398
        if(month == 8){
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
       //10月
435
       //10月
405
        if(month == 9){
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
       //11月
442
       //11月
412
        if(month == 10){
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
        //12月
449
        //12月
419
        if(month == 11){
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
     getNormData(){
457
     getNormData(){
427
       getNormData().then(response=>{
458
       getNormData().then(response=>{
428
          if(response.data.state === 1){
459
          if(response.data.state === 1){
429
            var normdata = response.data.data.normdata
460
            var normdata = response.data.data.normdata
430
-           console.log("normdata",normdata)
431
            this.normData = normdata
461
            this.normData = normdata
462
+           this.getlist()
432
          }
463
          }
433
       })
464
       })
434
     },
465
     },
435
     //第一季度
466
     //第一季度
436
-    getFirstQuarter(val,startime,endtime){
467
+    getlist(){
437
        this.modesData.series = []
468
        this.modesData.series = []
438
        this.modesData.xAxis = []
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
          if(response.data.state === 1){
571
          if(response.data.state === 1){
441
             var count =  response.data.data.count
572
             var count =  response.data.data.count
442
-            console.log("count",count)
573
+
443
             var arr=[]
574
             var arr=[]
444
             for(let i=0;i<count.length;i++){  
575
             for(let i=0;i<count.length;i++){  
445
                for(let j=0;j<this.normData.length;j++){
576
                for(let j=0;j<this.normData.length;j++){
448
                 }
579
                 }
449
               }
580
               }
450
             }
581
             }
451
-            console.log("arr",arr)
582
+        
452
             var arrtwo =  this.arrayDate(count,this.normData)
583
             var arrtwo =  this.arrayDate(count,this.normData)
453
             for(let i=0;i<arrtwo.length;i++){
584
             for(let i=0;i<arrtwo.length;i++){
454
                 this.$set(arrtwo[i], 'Count', 0)
585
                 this.$set(arrtwo[i], 'Count', 0)
470
             }
601
             }
471
             this.chart.series[0].data = this.modesData.series
602
             this.chart.series[0].data = this.modesData.series
472
             this.chart.xAxis.data = this.modesData.xAxis
603
             this.chart.xAxis.data = this.modesData.xAxis
473
-            console.log(2222,this.modesData)
604
+    
474
 
605
 
475
           
606
           
476
          }
607
          }
503
                 result.push(obj);
634
                 result.push(obj);
504
             }
635
             }
505
         }
636
         }
506
-        console.log("result",result)
507
         return result;
637
         return result;
508
     },
638
     },
509
   },
639
   },
510
   created(){
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
      this.getNormData()
642
      this.getNormData()
518
-     this.getFirstQuarter(this.lapseto,firstQuarterStart,firstQuarterEnd)
643
+    // this.getFirstQuarter(this.lapseto,firstQuarterStart,firstQuarterEnd)
519
   }
644
   }
520
 };
645
 };
521
 </script>
646
 </script>

+ 1 - 1
src/xt_pages/qcd/outcomeIndicators/control.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/bloodPressure.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/complication.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/dialysisAge.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/infectiousDiseases.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/lapseto.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/bloodPressure.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/lapseto.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/oralMedicine.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/person/weight.vue View File

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

+ 1 - 1
src/xt_pages/qcd/patientAnalysis/weight.vue View File

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

+ 183 - 66
src/xt_pages/qcd/patientComplianceDetails.vue View File

7
       <div class="page_patientComplianceDetails">
7
       <div class="page_patientComplianceDetails">
8
         <div class="cell clearfix" style="margin:0">
8
         <div class="cell clearfix" style="margin:0">
9
           <el-form :inline="true" :model="listQuery">
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
           </el-form>
14
           </el-form>
15
         </div>
15
         </div>
16
         <el-container>
16
         <el-container>
17
           <div style="width:150px">
17
           <div style="width:150px">
18
             <div class="tableTitle">患者列表</div>
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
               <el-table-column prop="name" label="透析号" width="80">
20
               <el-table-column prop="name" label="透析号" width="80">
21
                  <template slot-scope="scope">
21
                  <template slot-scope="scope">
22
                     {{scope.row.dialysis_no}}
22
                     {{scope.row.dialysis_no}}
58
                 align="right"
58
                 align="right"
59
                 format="yyyy-MM-dd"
59
                 format="yyyy-MM-dd"
60
                 value-format="yyyy-MM-dd"
60
                 value-format="yyyy-MM-dd"
61
+                :picker-options="pickerOptions"
61
               ></el-date-picker>
62
               ></el-date-picker>
62
               <span class>-</span>
63
               <span class>-</span>
63
               <el-date-picker
64
               <el-date-picker
71
                 align="right"
72
                 align="right"
72
                 format="yyyy-MM-dd"
73
                 format="yyyy-MM-dd"
73
                 value-format="yyyy-MM-dd"
74
                 value-format="yyyy-MM-dd"
75
+                :picker-options="pickerOptions"
74
               ></el-date-picker>
76
               ></el-date-picker>
75
             </div>
77
             </div>
76
             <div class="tableTitle">指标监控</div>
78
             <div class="tableTitle">指标监控</div>
78
               <div class="qualityBox">
80
               <div class="qualityBox">
79
                 <div
81
                 <div
80
                   class="qualityOne"
82
                   class="qualityOne"
81
-                  v-for="(item,index) in arr"
83
+                  v-for="(item,index) in normData"
82
                   :key="index"
84
                   :key="index"
83
                   :class="quality == index ? 'active' : ''"
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
                 </div>
92
                 </div>
90
               </div>
93
               </div>
91
             </div>
94
             </div>
101
 </template>
104
 </template>
102
 
105
 
103
 <script>
106
 <script>
107
+const moment = require('moment')
104
 import echarts from "echarts";
108
 import echarts from "echarts";
105
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
109
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
106
 import LineChart from "../qcd/components/LineChart";
110
 import LineChart from "../qcd/components/LineChart";
107
 import { uParseTime } from "@/utils/tools";
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
   components: {
114
   components: {
111
     LineChart,
115
     LineChart,
112
     BreadCrumb
116
     BreadCrumb
114
   data() {
118
   data() {
115
     return {
119
     return {
116
       crumbs: [
120
       crumbs: [
117
-        { path: false, name: "科室质控" },
121
+        { path: false, name: "质控管理" },
118
         { path: false, name: "患者达标详情" }
122
         { path: false, name: "患者达标详情" }
119
       ],
123
       ],
120
       patientsData:[],
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
       listQuery: {
128
       listQuery: {
172
         start_time: "",
129
         start_time: "",
173
         end_time: "",
130
         end_time: "",
174
         page: 1,
131
         page: 1,
175
         limit: 10
132
         limit: 10
176
       },
133
       },
134
+      item_id:0,
177
       month: [
135
       month: [
178
         { value: 0, label: "本月", state: 0 },
136
         { value: 0, label: "本月", state: 0 },
179
         { value: 1, label: "近三个月", state: 1 },
137
         { value: 1, label: "近三个月", state: 1 },
180
         { value: 2, label: "近半年", state: 2 },
138
         { value: 2, label: "近半年", state: 2 },
181
         { value: 3, label: "近一年", state: 3 }
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
       monthType: 0,
152
       monthType: 0,
184
       arr: ["钙", "磷", "钙萨达撒所多", "磷", "钙", "磷", "钙", "磷"],
153
       arr: ["钙", "磷", "钙萨达撒所多", "磷", "钙", "磷", "钙", "磷"],
185
       quality: 0,
154
       quality: 0,
221
               normal: {
190
               normal: {
222
                 show: true,
191
                 show: true,
223
                 position: "top",
192
                 position: "top",
224
-                formatter: "{c}"
193
+                formatter: "{c}g/L"
225
               }
194
               }
226
             },
195
             },
227
             //配置样式
196
             //配置样式
273
   },
242
   },
274
   methods: {
243
   methods: {
275
     chooseMonth(month) {
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
       this.monthType = month;
298
       this.monthType = month;
277
     },
299
     },
278
-    clickQuality(index) {
300
+    clickQuality(index,itemid) {
279
       this.quality = index;
301
       this.quality = index;
302
+      this.item_id = itemid
303
+      this.getlist()
280
     },
304
     },
281
     handleSizeChange(limit) {
305
     handleSizeChange(limit) {
282
       //this.limit = limit;
306
       //this.limit = limit;
289
     getTime(time) {
313
     getTime(time) {
290
       return uParseTime(time, "{y}-{m}-{d}");
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
    getCurrentOrgPatients(){
349
    getCurrentOrgPatients(){
293
       getCurrentOrgPatients().then(response=>{
350
       getCurrentOrgPatients().then(response=>{
294
           if(response.data.state == 1){
351
           if(response.data.state == 1){
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
    created(){
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
 </script>
425
 </script>

+ 286 - 25
src/xt_pages/qcd/patientControlAnalysis.vue View File

77
               :key="index"
77
               :key="index"
78
             >
78
             >
79
             <template slot-scope="scope">
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
             </template>
84
             </template>
82
         </el-table-column>
85
         </el-table-column>
83
             <el-table-column fixed="right" label="操作" width="100">
86
             <el-table-column fixed="right" label="操作" width="100">
84
               <template slot-scope="scope">
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
               </template>
89
               </template>
87
             </el-table-column>
90
             </el-table-column>
88
           </el-table>
91
           </el-table>
109
 import echarts from "echarts";
112
 import echarts from "echarts";
110
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
113
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
111
 import LineChart from "../qcd/components/LineChart";
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
 export default {
116
 export default {
114
   components: {
117
   components: {
115
     LineChart,
118
     LineChart,
124
         }
127
         }
125
       },
128
       },
126
       crumbs: [
129
       crumbs: [
127
-        { path: false, name: "科室质控" },
130
+        { path: false, name: "质控管理" },
128
         { path: false, name: "患者质控达标统计" }
131
         { path: false, name: "患者质控达标统计" }
129
       ],
132
       ],
130
       listQuery: {
133
       listQuery: {
150
         },
153
         },
151
       ],
154
       ],
152
       value: "",
155
       value: "",
156
+      modesData: {
157
+        xAxis: [],
158
+        series: []
159
+      },
153
       chart: {
160
       chart: {
154
         title: {
161
         title: {
155
           text: "ECharts 入门示例"
162
           text: "ECharts 入门示例"
178
               normal: {
185
               normal: {
179
                 show: true,
186
                 show: true,
180
                 position: "top",
187
                 position: "top",
181
-                formatter: "{c}"
188
+                formatter: "{c}%"
182
               }
189
               }
183
             },
190
             },
184
             //配置样式
191
             //配置样式
219
           }
226
           }
220
         ]
227
         ]
221
       },
228
       },
229
+      patientsArr:[],
222
       tableData: [],
230
       tableData: [],
223
       normData:[],
231
       normData:[],
224
       paitents:[],
232
       paitents:[],
227
       ObjectData:{},
235
       ObjectData:{},
228
       tablePatients:[],
236
       tablePatients:[],
229
       tableSort:[],
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
   methods: {
248
   methods: {
245
         this.$message.error("结束时间不能小于开始时间");
261
         this.$message.error("结束时间不能小于开始时间");
246
         this.listQuery.start_time = "";
262
         this.listQuery.start_time = "";
247
       } else {
263
       } else {
248
-
264
+        
249
       }
265
       }
250
 
266
 
251
     },
267
     },
256
         this.$message.error("结束时间不能小于开始时间");
272
         this.$message.error("结束时间不能小于开始时间");
257
         this.listQuery.end_time = "";
273
         this.listQuery.end_time = "";
258
       } else {
274
       } else {
275
+       
259
       }
276
       }
260
     },
277
     },
261
-  getTimestamp(time) {
278
+    getTimestamp(time) {
262
       // 把时间日期转成时间戳
279
       // 把时间日期转成时间戳
263
       return new Date(time).getTime() / 1000;
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
     getDialysisNo(name){
293
     getDialysisNo(name){
269
         for(let i=0;i<this.tablePatients.length;i++){
294
         for(let i=0;i<this.tablePatients.length;i++){
294
       })
319
       })
295
     },
320
     },
296
     onSearch(){
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
     getlist(){
428
     getlist(){
299
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
429
       getPatientsControl(this.lapstor,this.listQuery.start_time,this.listQuery.end_time,this.listQuery.page,this.listQuery.limit).then(response=>{
300
          if(response.data.state == 1){
430
          if(response.data.state == 1){
301
            var patients = response.data.data.patients
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
              for(let j=0;j<patients.length;j++){
443
              for(let j=0;j<patients.length;j++){
313
                 if(control[i].patient_id == patients[j].patient_id){
444
                 if(control[i].patient_id == patients[j].patient_id){
314
                    newArr.push(control[i])
445
                    newArr.push(control[i])
376
                dd[arrthree[index].name][arrthree[index].item_name] = arrthree[index];
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
           this.tableData= []
510
           this.tableData= []
382
 
511
 
383
           for(const key in dd){
512
           for(const key in dd){
398
             this.newArr.map(item => {
527
             this.newArr.map(item => {
399
               projectArr.push(item.item_name)
528
               projectArr.push(item.item_name)
400
             })
529
             })
401
-            console.log("projectArr",projectArr)
530
+           // console.log("projectArr",projectArr)
402
 
531
 
403
             this.tableData.map(item => {
532
             this.tableData.map(item => {
404
             // console.log("item---",item.data)
533
             // console.log("item---",item.data)
410
                 return projectArr.indexOf(a.item_name)-projectArr.indexOf(b.item_name);
539
                 return projectArr.indexOf(a.item_name)-projectArr.indexOf(b.item_name);
411
               });
540
               });
412
               item.data = newarr
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
                 result.push(obj);
569
                 result.push(obj);
441
             }
570
             }
442
         }
571
         }
443
-        console.log("result",result)
444
         return result;
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
   created(){
701
   created(){
448
     var nowDate = new Date();
702
     var nowDate = new Date();
466
       "-" +
720
       "-" +
467
       (nowDay < 10 ? "0" + nowDay : nowDay);
721
       (nowDay < 10 ? "0" + nowDay : nowDay);
468
 
722
 
723
+
724
+
725
+
469
     //获取系统指标
726
     //获取系统指标
470
     this.getNormData()
727
     this.getNormData()
471
     //获取列表数据
728
     //获取列表数据
472
     this.getlist()
729
     this.getlist()
730
+    //获取统计图数据
731
+    this.getCartogramlist()
732
+
733
+    this.getCurrentOrgPatients()
473
   }
734
   }
474
 };
735
 };
475
 </script>
736
 </script>

+ 1 - 1
src/xt_pages/qcd/processIndicators.vue View File

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

+ 7 - 7
src/xt_pages/qcd/statisticalConfiguration.vue View File

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

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis.vue View File

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

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis/check.vue View File

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

+ 15 - 16
src/xt_pages/qcd/treatmentControlAnalysis/components/CheckAll.vue View File

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

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

+ 1 - 1
src/xt_pages/qcd/treatmentControlAnalysis/time.vue View File

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

+ 1 - 1
src/xt_pages/qcd/workAnalysis/doctor.vue View File

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

+ 1 - 1
src/xt_pages/qcd/workAnalysis/nurse.vue View File

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

+ 1 - 1
src/xt_pages/statistics/index.vue View File

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

+ 13 - 13
src/xt_permission.js View File

12
 
12
 
13
 router.beforeEach((to, from, next) => {
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
   NProgress.start();
30
   NProgress.start();