Browse Source

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

28169 1 year ago
parent
commit
b68020f158
43 changed files with 14959 additions and 6051 deletions
  1. 11 30
      package-lock.json
  2. 2 1
      package.json
  3. 9 0
      src/api/qcd.js
  4. 2 4
      src/router/index.js
  5. 3 0
      src/router/modules/Dialysisanalysis.js
  6. 12 0
      src/router/modules/dialysis.js
  7. 187 29
      src/router/modules/patient.js
  8. 1 1
      src/views/layout/Layout.vue
  9. 319 13
      src/xt_pages/Dialysisanalysis/albumin/albuminall.vue
  10. 2 1
      src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue
  11. 319 13
      src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue
  12. 320 14
      src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue
  13. 320 13
      src/xt_pages/Dialysisanalysis/calcium/calciumall.vue
  14. 179 14
      src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue
  15. 318 14
      src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue
  16. 318 114
      src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue
  17. 0 1
      src/xt_pages/data/printTemplate/prescriptionPrint.vue
  18. 3329 0
      src/xt_pages/dialysis/batch_print/batch_print_order_Eleven.vue
  19. 3486 0
      src/xt_pages/dialysis/batch_print/batch_print_order_sixtyFive.vue
  20. 98 56
      src/xt_pages/dialysis/batch_print/batch_print_order_twentySeven.vue
  21. 15 4
      src/xt_pages/dialysis/bloodPresssWatch.vue
  22. 3 6
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  23. 3747 3749
      src/xt_pages/dialysis/template/DialysisPrintOrderSixtyFive.vue
  24. 0 1
      src/xt_pages/dialysis/template/DialysisPrintOrderSixtyfour.vue
  25. 3 0
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue
  26. 1 1
      src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue
  27. 1 0
      src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue
  28. 53 0
      src/xt_pages/outpatientCharges/summary.vue
  29. 197 1
      src/xt_pages/outpatientTool/labelPrint.vue
  30. 3 1
      src/xt_pages/stock/stockInOrderAdd.vue
  31. 20 12
      src/xt_pages/stock/stockOutOrderAdd.vue
  32. 110 12
      src/xt_pages/user/components/PatientSidebar.vue
  33. 0 6
      src/xt_pages/user/dialysisSolution.vue
  34. 1 1
      src/xt_pages/user/hospitalSummary.vue
  35. 54 207
      src/xt_pages/user/inspection.vue
  36. 1 1
      src/xt_pages/user/patient.vue
  37. 0 1
      src/xt_pages/workforce/appointment.vue
  38. 97 43
      src/xt_pages/workforce/components/editTableData.vue
  39. 195 712
      src/xt_pages/workforce/components/historyWeekTable.vue
  40. 82 37
      src/xt_pages/workforce/components/tableData.vue
  41. 1 1
      src/xt_pages/workforce/printOne.vue
  42. 252 83
      src/xt_pages/workforce/scheduleTablePrint.vue
  43. 888 854
      src/xt_pages/workforce/scheduleTablePrintTwo.vue

+ 11 - 30
package-lock.json View File

@@ -4759,8 +4759,7 @@
4759 4759
         "ansi-regex": {
4760 4760
           "version": "2.1.1",
4761 4761
           "bundled": true,
4762
-          "dev": true,
4763
-          "optional": true
4762
+          "dev": true
4764 4763
         },
4765 4764
         "aproba": {
4766 4765
           "version": "1.2.0",
@@ -4783,15 +4782,13 @@
4783 4782
         "balanced-match": {
4784 4783
           "version": "1.0.0",
4785 4784
           "bundled": true,
4786
-          "dev": true,
4787
-          "optional": true
4785
+          "dev": true
4788 4786
         },
4789 4787
         "brace-expansion": {
4790 4788
           "version": "1.1.11",
4791 4789
           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
4792 4790
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4793 4791
           "dev": true,
4794
-          "optional": true,
4795 4792
           "requires": {
4796 4793
             "balanced-match": "^1.0.0",
4797 4794
             "concat-map": "0.0.1"
@@ -4807,22 +4804,19 @@
4807 4804
         "code-point-at": {
4808 4805
           "version": "1.1.0",
4809 4806
           "bundled": true,
4810
-          "dev": true,
4811
-          "optional": true
4807
+          "dev": true
4812 4808
         },
4813 4809
         "concat-map": {
4814 4810
           "version": "0.0.1",
4815 4811
           "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
4816 4812
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4817
-          "dev": true,
4818
-          "optional": true
4813
+          "dev": true
4819 4814
         },
4820 4815
         "console-control-strings": {
4821 4816
           "version": "1.1.0",
4822 4817
           "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
4823 4818
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4824
-          "dev": true,
4825
-          "optional": true
4819
+          "dev": true
4826 4820
         },
4827 4821
         "core-util-is": {
4828 4822
           "version": "1.0.2",
@@ -4952,8 +4946,7 @@
4952 4946
         "inherits": {
4953 4947
           "version": "2.0.3",
4954 4948
           "bundled": true,
4955
-          "dev": true,
4956
-          "optional": true
4949
+          "dev": true
4957 4950
         },
4958 4951
         "ini": {
4959 4952
           "version": "1.3.5",
@@ -4967,7 +4960,6 @@
4967 4960
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4968 4961
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4969 4962
           "dev": true,
4970
-          "optional": true,
4971 4963
           "requires": {
4972 4964
             "number-is-nan": "^1.0.0"
4973 4965
           }
@@ -4984,7 +4976,6 @@
4984 4976
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
4985 4977
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4986 4978
           "dev": true,
4987
-          "optional": true,
4988 4979
           "requires": {
4989 4980
             "brace-expansion": "^1.1.7"
4990 4981
           }
@@ -4992,15 +4983,13 @@
4992 4983
         "minimist": {
4993 4984
           "version": "0.0.8",
4994 4985
           "bundled": true,
4995
-          "dev": true,
4996
-          "optional": true
4986
+          "dev": true
4997 4987
         },
4998 4988
         "minipass": {
4999 4989
           "version": "2.3.5",
5000 4990
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
5001 4991
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
5002 4992
           "dev": true,
5003
-          "optional": true,
5004 4993
           "requires": {
5005 4994
             "safe-buffer": "^5.1.2",
5006 4995
             "yallist": "^3.0.0"
@@ -5021,7 +5010,6 @@
5021 5010
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
5022 5011
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
5023 5012
           "dev": true,
5024
-          "optional": true,
5025 5013
           "requires": {
5026 5014
             "minimist": "0.0.8"
5027 5015
           }
@@ -5109,8 +5097,7 @@
5109 5097
         "number-is-nan": {
5110 5098
           "version": "1.0.1",
5111 5099
           "bundled": true,
5112
-          "dev": true,
5113
-          "optional": true
5100
+          "dev": true
5114 5101
         },
5115 5102
         "object-assign": {
5116 5103
           "version": "4.1.1",
@@ -5124,7 +5111,6 @@
5124 5111
           "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
5125 5112
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5126 5113
           "dev": true,
5127
-          "optional": true,
5128 5114
           "requires": {
5129 5115
             "wrappy": "1"
5130 5116
           }
@@ -5219,8 +5205,7 @@
5219 5205
         "safe-buffer": {
5220 5206
           "version": "5.1.2",
5221 5207
           "bundled": true,
5222
-          "dev": true,
5223
-          "optional": true
5208
+          "dev": true
5224 5209
         },
5225 5210
         "safer-buffer": {
5226 5211
           "version": "2.1.2",
@@ -5262,7 +5247,6 @@
5262 5247
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5263 5248
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5264 5249
           "dev": true,
5265
-          "optional": true,
5266 5250
           "requires": {
5267 5251
             "code-point-at": "^1.0.0",
5268 5252
             "is-fullwidth-code-point": "^1.0.0",
@@ -5284,7 +5268,6 @@
5284 5268
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5285 5269
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5286 5270
           "dev": true,
5287
-          "optional": true,
5288 5271
           "requires": {
5289 5272
             "ansi-regex": "^2.0.0"
5290 5273
           }
@@ -5332,15 +5315,13 @@
5332 5315
         "wrappy": {
5333 5316
           "version": "1.0.2",
5334 5317
           "bundled": true,
5335
-          "dev": true,
5336
-          "optional": true
5318
+          "dev": true
5337 5319
         },
5338 5320
         "yallist": {
5339 5321
           "version": "3.0.3",
5340 5322
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
5341 5323
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5342
-          "dev": true,
5343
-          "optional": true
5324
+          "dev": true
5344 5325
         }
5345 5326
       }
5346 5327
     },

+ 2 - 1
package.json View File

@@ -5,7 +5,8 @@
5 5
   "author": "Pan <panfree23@gmail.com>",
6 6
   "license": "MIT",
7 7
   "scripts": {
8
-    "dev": "cross-env BABEL_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
8
+
9
+    "dev": "cross-env BABEL_ENV=development webpack-dev-server  --inline --progress --config build/webpack.dev.conf.js ",
9 10
     "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
10 11
     "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js && npm run fixfont && npm run fiximg",
11 12
     "build-cdn": "node build/build-cdn.js",

+ 9 - 0
src/api/qcd.js View File

@@ -125,6 +125,15 @@ export function GetPersonQCStatistisData(params) {
125 125
   })
126 126
 }
127 127
 
128
+export function GetAllQCStatistisData(params) {
129
+  return request({
130
+    url: '/api/qc/patientstatistiscall/get',
131
+    method: 'get',
132
+    params: params
133
+  })
134
+}
135
+
136
+
128 137
 
129 138
 
130 139
 

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

@@ -8,6 +8,7 @@ import device from './modules/device'
8 8
 import dialysis from './modules/dialysis'
9 9
 import patient from './modules/patient'
10 10
 import qcd from './modules/qcd'
11
+// import Dialysisanalysis from './modules/Dialysisanalysis'//
11 12
 import role from './modules/role'
12 13
 import stock from './modules/stock'
13 14
 import weight_sign from './modules/weight_sign'
@@ -61,8 +62,7 @@ import dictionaryManagement from './modules/dictionaryManagement'
61 62
 import templateManagement from './modules/templateManagement'
62 63
 import DepartManage from './modules/DepartManage'
63 64
 import basicConfig from './modules/basicConfig'
64
-import Dialysisanalysis from './modules/Dialysisanalysis'
65
-import dialysisIndex from './modules/dialysisIndex'
65
+
66 66
 Vue.use(Router)
67 67
 
68 68
 /** note: submenu only apppear when children.length>=1
@@ -204,9 +204,7 @@ var _asy_router_map = [
204 204
   integration,
205 205
   basicConfig,
206 206
   supply,
207
-  Dialysisanalysis,// 新菜单6.1
208 207
   // Dialysisanalysis,// 新菜单6.1
209
-  dialysisIndex,
210 208
 ]
211 209
 
212 210
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证

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

@@ -166,3 +166,6 @@ export default {
166 166
 
167 167
   ]
168 168
 }
169
+
170
+
171
+

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

@@ -521,6 +521,18 @@ export default {
521 521
         noCache: true
522 522
       }
523 523
     },
524
+    {
525
+      path: '/dialysis/print/batch/Eleven',
526
+      component: () =>
527
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_Eleven'),
528
+      hidden: true,
529
+      is_menu: false,
530
+      name: 'dialysis_batch_nine',
531
+      meta: {
532
+        title: '批量打印',
533
+        noCache: true
534
+      }
535
+    },
524 536
     {
525 537
       path: '/dialysis/print/batch/twelve',
526 538
       component: () =>

+ 187 - 29
src/router/modules/patient.js View File

@@ -181,35 +181,39 @@ export default {
181 181
       title: 'CourseOfDiseaseManage',
182 182
       noCache: true
183 183
     }
184
-  }, {
184
+  },
185
+  {
185 186
       path: '/patients/sickhistory',
186 187
       component: () => import('@/xt_pages/user/sickHistory'),
187 188
       hidden: true,
188 189
       is_menu: false,
189 190
       name: 'sickHistory',
190 191
       meta: { title: 'sickHistory', noCache: true }
191
-    }, {
192
+  }, 
193
+  {
192 194
       path: '/patients/inspection_check',
193 195
       component: () => import('@/xt_pages/user/inspectionCheck'),
194 196
       hidden: true,
195 197
       is_menu: false,
196 198
       name: 'inspectionCheck',
197 199
       meta: { title: 'inspectionCheck', noCache: true }
198
-    },{
199
-      path: '/patients/ktv',
200
-      component: () => import('@/xt_pages/user/ktv'),
201
-      hidden: true,
202
-      is_menu: false,
203
-      name: 'ktv',
204
-      meta: { title: 'ktv', noCache: true }
205
-    },{
206
-      path: '/patients/physicalexamination',
207
-      component: () => import('@/xt_pages/user/Physicalexamination'),
208
-      hidden: true,
209
-      is_menu: false,
210
-      name: 'physicalexamination',
211
-      meta: { title: 'physicalexamination', noCache: true }
212
-    },
200
+  },
201
+  {
202
+    path: '/patients/ktv',
203
+    component: () => import('@/xt_pages/user/ktv'),
204
+    hidden: true,
205
+    is_menu: false,
206
+    name: 'ktv',
207
+    meta: { title: 'ktv', noCache: true }
208
+  },
209
+  {
210
+    path: '/patients/physicalexamination',
211
+    component: () => import('@/xt_pages/user/Physicalexamination'),
212
+    hidden: true,
213
+    is_menu: false,
214
+    name: 'physicalexamination',
215
+    meta: { title: 'physicalexamination', noCache: true }
216
+  },
213 217
   {
214 218
     path: '/patients/rescue',
215 219
     component: () => import('@/xt_pages/user/rescueRecord'),
@@ -254,17 +258,17 @@ export default {
254 258
       noCache: true
255 259
     }
256 260
   },
257
-    {
258
-      path: '/physique/print',
259
-      component: () => import('@/xt_pages/user/physiqueprintingtwo'),
260
-      hidden: true,
261
-      is_menu: false,
262
-      name: 'physiqueprintingtwo',
263
-      meta: {
264
-        title: 'physiqueprintingtwo',
265
-        noCache: true
266
-      }
267
-    },
261
+  {
262
+    path: '/physique/print',
263
+    component: () => import('@/xt_pages/user/physiqueprintingtwo'),
264
+    hidden: true,
265
+    is_menu: false,
266
+    name: 'physiqueprintingtwo',
267
+    meta: {
268
+      title: 'physiqueprintingtwo',
269
+      noCache: true
270
+    }
271
+  },
268 272
   {
269 273
     path: '/patient/patient/templateSummary/print',
270 274
     component: () => import('@/xt_pages/user/templateSummaryPrint'),
@@ -319,7 +323,161 @@ export default {
319 323
       title: 'firstDiseasePrint',
320 324
       noCache: true
321 325
     }
322
-  }
326
+  },
327
+  {//评估工具/跌倒评估
328
+    path: '/patients/patient/:id/Fallassessment',
329
+    component: () => import('@/xt_pages/user/evaluationtool/Fallassessment'),
330
+    hidden: true,
331
+    is_menu: false,
332
+    name: 'Fallassessment',
333
+    meta: {
334
+      title: 'firstDiseasePrint',
335
+      noCache: true
336
+    }
337
+  },
338
+  {//小儿跌倒风险评估
339
+    path: '/patients/patient/:id/pediatricFallAssessment',
340
+    component: () => import('@/xt_pages/user/evaluationtool/pediatricFallAssessment'),
341
+    hidden: true,
342
+    is_menu: false,
343
+    name: 'pediatricFallAssessment',
344
+    meta: {
345
+      title: 'pediatricFallAssessment',
346
+      noCache: true
347
+    }
348
+  },
349
+  {//压疮风险评估
350
+    path: '/patients/patient/:id/pressuresore',
351
+    component: () => import('@/xt_pages/user/evaluationtool/pressuresore'),
352
+    hidden: true,
353
+    is_menu: false,
354
+    name: 'pressuresore',
355
+    meta: {
356
+      title: 'pressuresore',
357
+      noCache: true
358
+    }
359
+  },
360
+  {//oh压疮评估
361
+    path: '/patients/patient/:id/OHpressuresore',
362
+    component: () => import('@/xt_pages/user/evaluationtool/OHpressuresore'),
363
+    hidden: true,
364
+    is_menu: false,
365
+    name: 'OHpressuresore',
366
+    meta: {
367
+      title: 'OHpressuresore',
368
+      noCache: true
369
+    }
370
+  },
323 371
 
372
+  {//日常生活能力评估
373
+    path: '/patients/patient/:id/dailyLife',
374
+    component: () => import('@/xt_pages/user/evaluationtool/dailyLife'),
375
+    hidden: true,
376
+    is_menu: false,
377
+    name: 'dailyLife',
378
+    meta: {
379
+      title: 'dailyLife',
380
+      noCache: true
381
+    }
382
+  },
383
+  {//导管脱落风险评估
384
+    path: '/patients/patient/:id/Cathetershedding',
385
+    component: () => import('@/xt_pages/user/evaluationtool/Cathetershedding'),
386
+    hidden: true,
387
+    is_menu: false,
388
+    name: 'Cathetershedding',
389
+    meta: {
390
+      title: 'Cathetershedding',
391
+      noCache: true
392
+    }
393
+  },
394
+  {//RASS及疼痛评估
395
+    path: '/patients/patient/:id/RassAssessment',
396
+    component: () => import('@/xt_pages/user/evaluationtool/RassAssessment'),
397
+    hidden: true,
398
+    is_menu: false,
399
+    name: 'RassAssessment',
400
+    meta: {
401
+      title: 'RassAssessment',
402
+      noCache: true
403
+    }
404
+  },
405
+  {//营养状况评估
406
+    path: '/patients/patient/:id/nourishmentAssessment',
407
+    component: () => import('@/xt_pages/user/evaluationtool/nourishmentAssessment'),
408
+    hidden: true,
409
+    is_menu: false,
410
+    name: 'nourishmentAssessment',
411
+    meta: {
412
+      title: 'nourishmentAssessment',
413
+      noCache: true
414
+    }
415
+  },
416
+  {//约束告知单
417
+    path: '/patients/patient/:id/Constraintnotification',
418
+    component: () => import('@/xt_pages/user/evaluationtool/Constraintnotification'),
419
+    hidden: true,
420
+    is_menu: false,
421
+    name: 'Constraintnotification',
422
+    meta: {
423
+      title: 'Constraintnotification',
424
+      noCache: true
425
+    }
426
+  },
427
+  {//心理评估
428
+    path: '/patients/patient/:id/mindAssessment',
429
+    component: () => import('@/xt_pages/user/evaluationtool/mindAssessment'),
430
+    hidden: true,
431
+    is_menu: false,
432
+    name: 'mindAssessment',
433
+    meta: {
434
+      title: 'mindAssessment',
435
+      noCache: true
436
+    }
437
+  },
438
+  {//瘙痒评估
439
+    path: '/patients/patient/:id/pruritusAssessment',
440
+    component: () => import('@/xt_pages/user/evaluationtool/pruritusAssessment'),
441
+    hidden: true,
442
+    is_menu: false,
443
+    name: 'pruritusAssessment',
444
+    meta: {
445
+      title: 'pruritusAssessment',
446
+      noCache: true
447
+    }
448
+  },
449
+  {//血液透析患者评估
450
+    path: '/patients/patient/:id/hemodialysis',
451
+    component: () => import('@/xt_pages/user/evaluationtool/hemodialysis'),
452
+    hidden: true,
453
+    is_menu: false,
454
+    name: 'hemodialysis',
455
+    meta: {
456
+      title: 'hemodialysis',
457
+      noCache: true
458
+    }
459
+  },
460
+  {//Glasgow昏迷评分量表
461
+    path: '/patients/patient/:id/Glasgow',
462
+    component: () => import('@/xt_pages/user/evaluationtool/Glasgow'),
463
+    hidden: true,
464
+    is_menu: false,
465
+    name: 'Glasgow',
466
+    meta: {
467
+      title: 'Glasgow',
468
+      noCache: true
469
+    }
470
+  },
471
+  {//肌力评估表
472
+    path: '/patients/patient/:id/Muscleforce',
473
+    component: () => import('@/xt_pages/user/evaluationtool/Muscleforce'),
474
+    hidden: true,
475
+    is_menu: false,
476
+    name: 'Muscleforce',
477
+    meta: {
478
+      title: 'Muscleforce',
479
+      noCache: true
480
+    }
481
+  },
324 482
   ]
325 483
 }

+ 1 - 1
src/views/layout/Layout.vue View File

@@ -134,7 +134,7 @@ export default {
134 134
   created(){
135 135
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","DepositManagement","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
136 136
     let bingli = ['User','createPatient'];
137
-    let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control','dialysis_index'];
137
+    let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
138 138
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
139 139
     let caigou = ['supplyManage','supplyList'];
140 140
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];

+ 319 - 13
src/xt_pages/Dialysisanalysis/albumin/albuminall.vue View File

@@ -67,23 +67,165 @@
67 67
           label="人数"
68 68
         >
69 69
         </el-table-column>
70
-<!--        <el-table-column-->
71
-<!--          prop="address"-->
72
-<!--          align="center"-->
73
-<!--          label="操作">-->
74
-<!--          <template slot-scope="scope">-->
75
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
76
-<!--                       type="text">查看详情-->
77
-<!--            </el-button>-->
78
-<!--          </template>-->
79
-<!--        </el-table-column>-->
70
+        <el-table-column
71
+          prop="address"
72
+          align="center"
73
+          label="操作">
74
+          <template slot-scope="scope">
75
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
76
+                       type="text">查看详情
77
+            </el-button>
78
+          </template>
79
+        </el-table-column>
80 80
       </el-table>
81 81
     </div>
82
+
83
+    <el-dialog
84
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
85
+      :close-on-click-modal="isClose"
86
+      :close-on-press-escape="isClose"
87
+    >
88
+      <el-row :gutter="25">
89
+        <el-col :span="5">
90
+          <div class="block">
91
+            <span>查询时间:</span>
92
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
93
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
94
+              <el-option
95
+                v-for="item,index in times"
96
+                :key="index"
97
+                :label="item.label"
98
+                :value="item.value">
99
+              </el-option>
100
+            </el-select>
101
+          </div>
102
+        </el-col>
103
+        <el-col :span="10">
104
+          <div>
105
+            <el-date-picker
106
+              style="width: 120px"
107
+              v-model="start_time_one"
108
+              format="yyyy-MM-dd"
109
+              value-format="yyyy-MM-dd"
110
+              type="date"
111
+
112
+              placeholder="选择日期">
113
+            </el-date-picker>
114
+            <span>-</span>
115
+            <el-date-picker
116
+              style="width: 120px"
117
+              v-model="end_time_one"
118
+              format="yyyy-MM-dd"
119
+              value-format="yyyy-MM-dd"
120
+              type="date"
121
+              placeholder="选择日期">
122
+            </el-date-picker>
123
+          </div>
124
+        </el-col>
125
+
126
+        <el-col :span="4">
127
+          <div>
128
+
129
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
130
+                       style="width:100px;margin-left:5px;">
131
+              <el-option
132
+                v-for="item,index in statistics_types"
133
+                :key="index"
134
+                :label="item.label"
135
+                :value="item.value">
136
+              </el-option>
137
+            </el-select>
138
+
139
+          </div>
140
+        </el-col>
141
+
142
+<!--        <el-col :span="4">-->
143
+<!--          <div>-->
144
+<!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
145
+<!--                       style="width:100px;margin-left:5px;">-->
146
+<!--              <el-option-->
147
+<!--                v-for="item,index in sort_types"-->
148
+<!--                :key="index"-->
149
+<!--                :label="item.label"-->
150
+<!--                :value="item.value">-->
151
+<!--              </el-option>-->
152
+<!--            </el-select>-->
153
+<!--          </div>-->
154
+<!--        </el-col>-->
155
+
156
+        <el-col :span="4">
157
+          <div >
158
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
159
+          </div>
160
+        </el-col>
161
+
162
+        <el-col :span="2">
163
+          <div>
164
+            <el-button @click="getDataTwo()">查询</el-button>
165
+          </div>
166
+        </el-col>
167
+
168
+        <el-col :span="2">
169
+          <div>
170
+            <el-button @click="exportAction()">导出</el-button>
171
+          </div>
172
+        </el-col>
173
+
174
+<!--        <el-col :span="2">-->
175
+<!--          <div>-->
176
+<!--            <el-button @click="getDataTwo()">打印</el-button>-->
177
+<!--          </div>-->
178
+<!--        </el-col>-->
179
+
180
+
181
+
182
+
183
+
184
+      </el-row>
185
+
186
+      <el-table
187
+        :data="patientTableData"
188
+        border
189
+        ref="table"
190
+        max-height="500px"
191
+        style="width: 100%">
192
+        <el-table-column
193
+          prop="dialysis_no"
194
+          align="center"
195
+          label="透析号"
196
+        >
197
+        </el-table-column>
198
+        <el-table-column
199
+          prop="name"
200
+          label="患者姓名"
201
+        >
202
+        </el-table-column>
203
+        <el-table-column
204
+          prop="date"
205
+          label="检查日期"
206
+        >
207
+        </el-table-column>
208
+
209
+        <el-table-column
210
+          prop="inspect_value"
211
+          label="结果"
212
+        >
213
+        </el-table-column>
214
+
215
+      </el-table>
216
+
217
+      <div slot="footer" class="dialog-footer">
218
+        <el-button @click="detailVisibility = false">取消</el-button>
219
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
220
+      </div>
221
+    </el-dialog>
222
+
223
+
82 224
   </div>
83 225
 </template>
84 226
 <script>
85 227
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
228
+import { GetQCStatistisData,GetAllQCStatistisData } from '../../../api/qcd'
87 229
 
88 230
 const moment = require('moment')
89 231
 
@@ -102,7 +244,19 @@ export default {
102 244
   },
103 245
   data() {
104 246
     return {
247
+      statistics_types:[
248
+        { value: 1, label: '不达标患者' },
249
+        { value: 2, label: '未检查患者' },
250
+        { value: 3, label: '达标患者' },
251
+      ],
252
+      sort_types:[
253
+        { value: 1, label: '时间' },
254
+        { value: 2, label: '患者' },
255
+      ],
256
+      detailVisibility:false,
257
+      isClose:true,
105 258
       time_type: 1,
259
+      time_type_two:1,
106 260
       times: [
107 261
         { value: 1, label: '本月' },
108 262
         { value: 2, label: '上月' },
@@ -118,6 +272,10 @@ export default {
118 272
       time_month: '',
119 273
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120 274
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
275
+
276
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
277
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
278
+
121 279
       input: '',
122 280
       myChart: {},
123 281
       pieData: [],
@@ -125,12 +283,73 @@ export default {
125 283
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126 284
       tableData: [],
127 285
       reference:{},
286
+      statistics_type:1,
287
+      sort_type:"",
288
+      keyword:"",
289
+      patientTableData:[],
128 290
     }
129 291
   },
130 292
   mounted() {
131 293
     this.getData()
132 294
   },
133 295
   methods: {
296
+    exportAction(){
297
+      let list = []
298
+      for (let i = 0; i < this.patientTableData.length; i++) {
299
+        let order = this.patientTableData[i]
300
+        let name = order.name
301
+        let value = order.inspect_value
302
+        let inspect_date = order.date
303
+
304
+        let obj = {
305
+          '姓名': name,
306
+          '数值': value,
307
+          '日期': inspect_date,
308
+        }
309
+        list.push(obj)
310
+      }
311
+      import('@/vendor/Export2Excel').then(excel => {
312
+        const tHeader = ['姓名', '数值', '日期']
313
+        const filterVal = ['姓名', '数值', '日期']
314
+        const data = this.formatJson(filterVal, list)
315
+        excel.export_json_to_excel1({
316
+          header: tHeader,
317
+          data,
318
+          filename: '明细',
319
+          ref: this.$refs['table'].$el
320
+        })
321
+      })
322
+    },
323
+    formatJson(filterVal, jsonData) {
324
+    return jsonData.map(v => filterVal.map(j => v[j]))
325
+  },
326
+    getDataTwo() {
327
+      if(this.start_time_one.length == 0){
328
+        this.$message.error("请选择开始时间")
329
+      }
330
+      if(this.end_time_one.length == 0){
331
+        this.$message.error("请选择结束时间")
332
+      }
333
+      let params = {
334
+        start_date: this.start_time_one,
335
+        end_date: this.end_time_one,
336
+        project_id: 2,
337
+        item_id: 35,
338
+        item_type:this.statistics_type,
339
+        order_type:this.sort_type,
340
+        keyword: this.keyword,
341
+      }
342
+      this.patientTableData = []
343
+      GetAllQCStatistisData(params).then(response => {
344
+        if (response.data.state == 1) {
345
+          this.detailVisibility = true
346
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
347
+        } else {
348
+          this.$message.error(response.data.msg)
349
+        }
350
+      })
351
+
352
+    },
134 353
     getData() {
135 354
       if(this.start_time.length == 0){
136 355
         this.$message.error("请选择开始时间")
@@ -325,7 +544,85 @@ export default {
325 544
           break
326 545
       }
327 546
     },
547
+    changeItemTwo(val) {
548
+      const currentDate = new Date()
549
+      switch (val) {
550
+        case 1:
551
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
552
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
553
+          this.start_time_one = startOfMonth
554
+          this.end_time_one = endOfMonth
555
+          // this.getDataTwo()
556
+          break
557
+        case 2:
558
+          // 上月的起始日期和结束日期
559
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
560
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
561
+          this.start_time_one = startOfLastMonth
562
+          this.end_time_one = endOfLastMonth
563
+          // this.getDataTwo()
564
+          break
565
+        case 3:
566
+          // 今年的起始日期和结束日期
567
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
568
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
569
+
570
+          this.start_time_one = startOfYear
571
+          this.end_time_one = endOfYear
572
+          // this.getDataTwo()
328 573
 
574
+          break
575
+        case 4:
576
+          // 上一年的起始日期和结束日期
577
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
578
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
579
+
580
+          this.start_time_one = startOfLastYear
581
+          this.end_time_one = endOfLastYear
582
+          // this.getDataTwo()
583
+
584
+          break
585
+        case 5:
586
+          // 第一季度的起始日期和结束日期
587
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
588
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
589
+          this.start_time_one = startOfFirstQuarter
590
+          this.end_time_one = endOfFirstQuarter
591
+          // this.getDataTwo()
592
+          break
593
+        case 6:
594
+          // 第二季度的起始日期和结束日期
595
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
596
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
597
+          this.start_time_one = startOfSecondQuarter
598
+          this.end_time_one = endOfSecondQuarter
599
+          // this.getDataTwo()
600
+          break
601
+        case 7:
602
+          // 第三季度的起始日期和结束日期
603
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
604
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
605
+
606
+          this.start_time_one = startOfThirdQuarter
607
+          this.end_time_one = endOfThirdQuarter
608
+          // this.getDataTwo()
609
+
610
+          break
611
+        case 8:
612
+          // 第四季度的起始日期和结束日期
613
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
614
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
615
+
616
+          this.start_time_one = startOfFourthQuarter
617
+          this.end_time_one = endOfFourthQuarter
618
+          // this.getDataTwo()
619
+          break
620
+        case 9:
621
+          this.start_time_one = ''
622
+          this.end_time_one = ''
623
+          break
624
+      }
625
+    },
329 626
 
330 627
     getSummaries(param) {
331 628
       const { columns, data } = param
@@ -353,8 +650,17 @@ export default {
353 650
 
354 651
       return sums
355 652
     },
356
-    handleClick(id) {
357
-      console.log(id)
653
+    handleClick(row) {
654
+      console.log(row)
655
+      if(row.name == "不达标值患者"){
656
+        this.statistics_type = 1
657
+      }else if(row.name == "达标值患者"){
658
+        this.statistics_type = 3
659
+      }else {
660
+        this.statistics_type = 2
661
+      }
662
+      this.getDataTwo()
663
+      // console.log(id)
358 664
     }
359 665
   }
360 666
 

+ 2 - 1
src/xt_pages/Dialysisanalysis/albumin/albuminalone.vue View File

@@ -354,7 +354,8 @@ export default {
354 354
         path: "/Dialysisanalysis/qualitycontrol/print?patient_id=" + this.query.patient_id+"&project_id="+this.query.project_id+"&item_id="+this.query.item_id+"&start_time="+this.query.start_time+"&end_time="+this.query.end_time
355 355
       });
356 356
 
357
-    },exportAction(){
357
+    },
358
+    exportAction(){
358 359
       let list = []
359 360
       for (let i = 0; i < this.tableData.length; i++) {
360 361
         let order = this.tableData[i]

+ 319 - 13
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue View File

@@ -68,23 +68,163 @@
68 68
           label="人数"
69 69
         >
70 70
         </el-table-column>
71
-<!--        <el-table-column-->
72
-<!--          prop="address"-->
73
-<!--          align="center"-->
74
-<!--          label="操作">-->
75
-<!--          <template slot-scope="scope">-->
76
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
77
-<!--                       type="text">查看详情-->
78
-<!--            </el-button>-->
79
-<!--          </template>-->
80
-<!--        </el-table-column>-->
71
+        <el-table-column
72
+          prop="address"
73
+          align="center"
74
+          label="操作">
75
+          <template slot-scope="scope">
76
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
77
+                       type="text">查看详情
78
+            </el-button>
79
+          </template>
80
+        </el-table-column>
81 81
       </el-table>
82 82
     </div>
83
+    <el-dialog
84
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
85
+      :close-on-click-modal="isClose"
86
+      :close-on-press-escape="isClose"
87
+    >
88
+      <el-row :gutter="25">
89
+        <el-col :span="5">
90
+          <div class="block">
91
+            <span>查询时间:</span>
92
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
93
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
94
+              <el-option
95
+                v-for="item,index in times"
96
+                :key="index"
97
+                :label="item.label"
98
+                :value="item.value">
99
+              </el-option>
100
+            </el-select>
101
+          </div>
102
+        </el-col>
103
+        <el-col :span="10">
104
+          <div>
105
+            <el-date-picker
106
+              style="width: 120px"
107
+              v-model="start_time_one"
108
+              format="yyyy-MM-dd"
109
+              value-format="yyyy-MM-dd"
110
+              type="date"
111
+
112
+              placeholder="选择日期">
113
+            </el-date-picker>
114
+            <span>-</span>
115
+            <el-date-picker
116
+              style="width: 120px"
117
+              v-model="end_time_one"
118
+              format="yyyy-MM-dd"
119
+              value-format="yyyy-MM-dd"
120
+              type="date"
121
+              placeholder="选择日期">
122
+            </el-date-picker>
123
+          </div>
124
+        </el-col>
125
+
126
+        <el-col :span="4">
127
+          <div>
128
+
129
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
130
+                       style="width:100px;margin-left:5px;">
131
+              <el-option
132
+                v-for="item,index in statistics_types"
133
+                :key="index"
134
+                :label="item.label"
135
+                :value="item.value">
136
+              </el-option>
137
+            </el-select>
138
+
139
+          </div>
140
+        </el-col>
141
+
142
+        <!--        <el-col :span="4">-->
143
+        <!--          <div>-->
144
+        <!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
145
+        <!--                       style="width:100px;margin-left:5px;">-->
146
+        <!--              <el-option-->
147
+        <!--                v-for="item,index in sort_types"-->
148
+        <!--                :key="index"-->
149
+        <!--                :label="item.label"-->
150
+        <!--                :value="item.value">-->
151
+        <!--              </el-option>-->
152
+        <!--            </el-select>-->
153
+        <!--          </div>-->
154
+        <!--        </el-col>-->
155
+
156
+        <el-col :span="4">
157
+          <div >
158
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
159
+          </div>
160
+        </el-col>
161
+
162
+        <el-col :span="2">
163
+          <div>
164
+            <el-button @click="getDataTwo()">查询</el-button>
165
+          </div>
166
+        </el-col>
167
+
168
+        <el-col :span="2">
169
+          <div>
170
+            <el-button @click="exportAction()">导出</el-button>
171
+          </div>
172
+        </el-col>
173
+
174
+        <!--        <el-col :span="2">-->
175
+        <!--          <div>-->
176
+        <!--            <el-button @click="getDataTwo()">打印</el-button>-->
177
+        <!--          </div>-->
178
+        <!--        </el-col>-->
179
+
180
+
181
+
182
+
183
+
184
+      </el-row>
185
+
186
+      <el-table
187
+        :data="patientTableData"
188
+        border
189
+        ref="table"
190
+        max-height="500px"
191
+        style="width: 100%">
192
+        <el-table-column
193
+          prop="dialysis_no"
194
+          align="center"
195
+          label="透析号"
196
+        >
197
+        </el-table-column>
198
+        <el-table-column
199
+          prop="name"
200
+          label="患者姓名"
201
+        >
202
+        </el-table-column>
203
+        <el-table-column
204
+          prop="date"
205
+          label="检查日期"
206
+        >
207
+        </el-table-column>
208
+
209
+        <el-table-column
210
+          prop="inspect_value"
211
+          label="结果"
212
+        >
213
+        </el-table-column>
214
+
215
+      </el-table>
216
+
217
+      <div slot="footer" class="dialog-footer">
218
+        <el-button @click="detailVisibility = false">取消</el-button>
219
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
220
+      </div>
221
+    </el-dialog>
222
+
83 223
   </div>
84 224
 </template>
85 225
 <script>
86 226
 import * as echarts from 'echarts'
87
-import { GetQCStatistisData } from '../../../api/qcd'
227
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
88 228
 
89 229
 const moment = require('moment')
90 230
 
@@ -103,6 +243,18 @@ export default {
103 243
   },
104 244
   data() {
105 245
     return {
246
+      statistics_types:[
247
+        { value: 1, label: '不达标患者' },
248
+        { value: 2, label: '未检查患者' },
249
+        { value: 3, label: '达标患者' },
250
+      ],
251
+      sort_types:[
252
+        { value: 1, label: '时间' },
253
+        { value: 2, label: '患者' },
254
+      ],
255
+      detailVisibility:false,
256
+      isClose:true,
257
+      time_type_two:1,
106 258
       time_type: 1,
107 259
       times: [
108 260
         { value: 1, label: '本月' },
@@ -119,6 +271,11 @@ export default {
119 271
       time_month: '',
120 272
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
121 273
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
274
+
275
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
276
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
277
+
278
+
122 279
       input: '',
123 280
       myChart: {},
124 281
       pieData: [],
@@ -126,12 +283,153 @@ export default {
126 283
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
127 284
       tableData: [],
128 285
       reference:{},
286
+      statistics_type:1,
287
+      sort_type:"",
288
+      keyword:"",
289
+      patientTableData:[],
129 290
     }
130 291
   },
131 292
   mounted() {
132 293
     this.getData()
133 294
   },
134 295
   methods: {
296
+    exportAction(){
297
+      let list = []
298
+      for (let i = 0; i < this.patientTableData.length; i++) {
299
+        let order = this.patientTableData[i]
300
+        let name = order.name
301
+        let value = order.inspect_value
302
+        let inspect_date = order.date
303
+
304
+        let obj = {
305
+          '姓名': name,
306
+          '数值': value,
307
+          '日期': inspect_date,
308
+        }
309
+        list.push(obj)
310
+      }
311
+      import('@/vendor/Export2Excel').then(excel => {
312
+        const tHeader = ['姓名', '数值', '日期']
313
+        const filterVal = ['姓名', '数值', '日期']
314
+        const data = this.formatJson(filterVal, list)
315
+        excel.export_json_to_excel1({
316
+          header: tHeader,
317
+          data,
318
+          filename: '明细',
319
+          ref: this.$refs['table'].$el
320
+        })
321
+      })
322
+    },
323
+    formatJson(filterVal, jsonData) {
324
+      return jsonData.map(v => filterVal.map(j => v[j]))
325
+    },
326
+    getDataTwo() {
327
+      if(this.start_time_one.length == 0){
328
+        this.$message.error("请选择开始时间")
329
+      }
330
+      if(this.end_time_one.length == 0){
331
+        this.$message.error("请选择结束时间")
332
+      }
333
+      let params = {
334
+        start_date: this.start_time_one,
335
+        end_date: this.end_time_one,
336
+        project_id: 4,
337
+        item_id: 169,
338
+        item_type:this.statistics_type,
339
+        order_type:this.sort_type,
340
+        keyword: this.keyword,
341
+      }
342
+      this.patientTableData = []
343
+      GetAllQCStatistisData(params).then(response => {
344
+        if (response.data.state == 1) {
345
+          this.detailVisibility = true
346
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
347
+        } else {
348
+          this.$message.error(response.data.msg)
349
+        }
350
+      })
351
+
352
+    },
353
+    changeItemTwo(val) {
354
+      const currentDate = new Date()
355
+      switch (val) {
356
+        case 1:
357
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
358
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
359
+          this.start_time_one = startOfMonth
360
+          this.end_time_one = endOfMonth
361
+          // this.getDataTwo()
362
+          break
363
+        case 2:
364
+          // 上月的起始日期和结束日期
365
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
366
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
367
+          this.start_time_one = startOfLastMonth
368
+          this.end_time_one = endOfLastMonth
369
+          // this.getDataTwo()
370
+          break
371
+        case 3:
372
+          // 今年的起始日期和结束日期
373
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
374
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
375
+
376
+          this.start_time_one = startOfYear
377
+          this.end_time_one = endOfYear
378
+          // this.getDataTwo()
379
+
380
+          break
381
+        case 4:
382
+          // 上一年的起始日期和结束日期
383
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
384
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
385
+
386
+          this.start_time_one = startOfLastYear
387
+          this.end_time_one = endOfLastYear
388
+          // this.getDataTwo()
389
+
390
+          break
391
+        case 5:
392
+          // 第一季度的起始日期和结束日期
393
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
394
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
395
+          this.start_time_one = startOfFirstQuarter
396
+          this.end_time_one = endOfFirstQuarter
397
+          // this.getDataTwo()
398
+          break
399
+        case 6:
400
+          // 第二季度的起始日期和结束日期
401
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
402
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
403
+          this.start_time_one = startOfSecondQuarter
404
+          this.end_time_one = endOfSecondQuarter
405
+          // this.getDataTwo()
406
+          break
407
+        case 7:
408
+          // 第三季度的起始日期和结束日期
409
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
410
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
411
+
412
+          this.start_time_one = startOfThirdQuarter
413
+          this.end_time_one = endOfThirdQuarter
414
+          // this.getDataTwo()
415
+
416
+          break
417
+        case 8:
418
+          // 第四季度的起始日期和结束日期
419
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
420
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
421
+
422
+          this.start_time_one = startOfFourthQuarter
423
+          this.end_time_one = endOfFourthQuarter
424
+          // this.getDataTwo()
425
+          break
426
+        case 9:
427
+          this.start_time_one = ''
428
+          this.end_time_one = ''
429
+          break
430
+      }
431
+    },
432
+
135 433
     getData() {
136 434
       if(this.start_time.length == 0){
137 435
         this.$message.error("请选择开始时间")
@@ -353,8 +651,16 @@ export default {
353 651
 
354 652
       return sums
355 653
     },
356
-    handleClick(id) {
357
-      console.log(id)
654
+    handleClick(row) {
655
+      console.log(row)
656
+      if(row.name == "不达标值患者"){
657
+        this.statistics_type = 1
658
+      }else if(row.name == "达标值患者"){
659
+        this.statistics_type = 3
660
+      }else {
661
+        this.statistics_type = 2
662
+      }
663
+      this.getDataTwo()
358 664
     }
359 665
   }
360 666
 

+ 320 - 14
src/xt_pages/Dialysisanalysis/bloodPotassium/potassiumall.vue View File

@@ -67,23 +67,163 @@
67 67
           label="人数"
68 68
         >
69 69
         </el-table-column>
70
-<!--        <el-table-column-->
71
-<!--          prop="address"-->
72
-<!--          align="center"-->
73
-<!--          label="操作">-->
74
-<!--          <template slot-scope="scope">-->
75
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
76
-<!--                       type="text">查看详情-->
77
-<!--            </el-button>-->
78
-<!--          </template>-->
79
-<!--        </el-table-column>-->
70
+        <el-table-column
71
+          prop="address"
72
+          align="center"
73
+          label="操作">
74
+          <template slot-scope="scope">
75
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
76
+                       type="text">查看详情
77
+            </el-button>
78
+          </template>
79
+        </el-table-column>
80 80
       </el-table>
81 81
     </div>
82
+    <el-dialog
83
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
84
+      :close-on-click-modal="isClose"
85
+      :close-on-press-escape="isClose"
86
+    >
87
+      <el-row :gutter="25">
88
+        <el-col :span="5">
89
+          <div class="block">
90
+            <span>查询时间:</span>
91
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
92
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
93
+              <el-option
94
+                v-for="item,index in times"
95
+                :key="index"
96
+                :label="item.label"
97
+                :value="item.value">
98
+              </el-option>
99
+            </el-select>
100
+          </div>
101
+        </el-col>
102
+        <el-col :span="10">
103
+          <div>
104
+            <el-date-picker
105
+              style="width: 120px"
106
+              v-model="start_time_one"
107
+              format="yyyy-MM-dd"
108
+              value-format="yyyy-MM-dd"
109
+              type="date"
110
+
111
+              placeholder="选择日期">
112
+            </el-date-picker>
113
+            <span>-</span>
114
+            <el-date-picker
115
+              style="width: 120px"
116
+              v-model="end_time_one"
117
+              format="yyyy-MM-dd"
118
+              value-format="yyyy-MM-dd"
119
+              type="date"
120
+              placeholder="选择日期">
121
+            </el-date-picker>
122
+          </div>
123
+        </el-col>
124
+
125
+        <el-col :span="4">
126
+          <div>
127
+
128
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
129
+                       style="width:100px;margin-left:5px;">
130
+              <el-option
131
+                v-for="item,index in statistics_types"
132
+                :key="index"
133
+                :label="item.label"
134
+                :value="item.value">
135
+              </el-option>
136
+            </el-select>
137
+
138
+          </div>
139
+        </el-col>
140
+
141
+        <!--        <el-col :span="4">-->
142
+        <!--          <div>-->
143
+        <!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
144
+        <!--                       style="width:100px;margin-left:5px;">-->
145
+        <!--              <el-option-->
146
+        <!--                v-for="item,index in sort_types"-->
147
+        <!--                :key="index"-->
148
+        <!--                :label="item.label"-->
149
+        <!--                :value="item.value">-->
150
+        <!--              </el-option>-->
151
+        <!--            </el-select>-->
152
+        <!--          </div>-->
153
+        <!--        </el-col>-->
154
+
155
+        <el-col :span="4">
156
+          <div >
157
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
158
+          </div>
159
+        </el-col>
160
+
161
+        <el-col :span="2">
162
+          <div>
163
+            <el-button @click="getDataTwo()">查询</el-button>
164
+          </div>
165
+        </el-col>
166
+
167
+        <el-col :span="2">
168
+          <div>
169
+            <el-button @click="exportAction()">导出</el-button>
170
+          </div>
171
+        </el-col>
172
+
173
+        <!--        <el-col :span="2">-->
174
+        <!--          <div>-->
175
+        <!--            <el-button @click="getDataTwo()">打印</el-button>-->
176
+        <!--          </div>-->
177
+        <!--        </el-col>-->
178
+
179
+
180
+
181
+
182
+
183
+      </el-row>
184
+
185
+      <el-table
186
+        :data="patientTableData"
187
+        border
188
+        ref="table"
189
+        max-height="500px"
190
+        style="width: 100%">
191
+        <el-table-column
192
+          prop="dialysis_no"
193
+          align="center"
194
+          label="透析号"
195
+        >
196
+        </el-table-column>
197
+        <el-table-column
198
+          prop="name"
199
+          label="患者姓名"
200
+        >
201
+        </el-table-column>
202
+        <el-table-column
203
+          prop="date"
204
+          label="检查日期"
205
+        >
206
+        </el-table-column>
207
+
208
+        <el-table-column
209
+          prop="inspect_value"
210
+          label="结果"
211
+        >
212
+        </el-table-column>
213
+
214
+      </el-table>
215
+
216
+      <div slot="footer" class="dialog-footer">
217
+        <el-button @click="detailVisibility = false">取消</el-button>
218
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
219
+      </div>
220
+    </el-dialog>
221
+
82 222
   </div>
83 223
 </template>
84 224
 <script>
85 225
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
87 227
 
88 228
 const moment = require('moment')
89 229
 
@@ -102,7 +242,19 @@ export default {
102 242
   },
103 243
   data() {
104 244
     return {
245
+      statistics_types:[
246
+        { value: 1, label: '不达标患者' },
247
+        { value: 2, label: '未检查患者' },
248
+        { value: 3, label: '达标患者' },
249
+      ],
250
+      sort_types:[
251
+        { value: 1, label: '时间' },
252
+        { value: 2, label: '患者' },
253
+      ],
254
+      detailVisibility:false,
255
+      isClose:true,
105 256
       time_type: 1,
257
+      time_type_two:1,
106 258
       times: [
107 259
         { value: 1, label: '本月' },
108 260
         { value: 2, label: '上月' },
@@ -118,6 +270,11 @@ export default {
118 270
       time_month: '',
119 271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120 272
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
273
+
274
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
275
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
276
+
277
+
121 278
       input: '',
122 279
       myChart: {},
123 280
       pieData: [],
@@ -125,12 +282,74 @@ export default {
125 282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126 283
       tableData: [],
127 284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
128 289
     }
129 290
   },
130 291
   mounted() {
131 292
     this.getData()
132 293
   },
133 294
   methods: {
295
+    exportAction(){
296
+      let list = []
297
+      for (let i = 0; i < this.patientTableData.length; i++) {
298
+        let order = this.patientTableData[i]
299
+        let name = order.name
300
+        let value = order.inspect_value
301
+        let inspect_date = order.date
302
+
303
+        let obj = {
304
+          '姓名': name,
305
+          '数值': value,
306
+          '日期': inspect_date,
307
+        }
308
+        list.push(obj)
309
+      }
310
+      import('@/vendor/Export2Excel').then(excel => {
311
+        const tHeader = ['姓名', '数值', '日期']
312
+        const filterVal = ['姓名', '数值', '日期']
313
+        const data = this.formatJson(filterVal, list)
314
+        excel.export_json_to_excel1({
315
+          header: tHeader,
316
+          data,
317
+          filename: '明细',
318
+          ref: this.$refs['table'].$el
319
+        })
320
+      })
321
+    },
322
+
323
+    formatJson(filterVal, jsonData) {
324
+      return jsonData.map(v => filterVal.map(j => v[j]))
325
+    },
326
+    getDataTwo() {
327
+      if(this.start_time_one.length == 0){
328
+        this.$message.error("请选择开始时间")
329
+      }
330
+      if(this.end_time_one.length == 0){
331
+        this.$message.error("请选择结束时间")
332
+      }
333
+      let params = {
334
+        start_date: this.start_time_one,
335
+        end_date: this.end_time_one,
336
+        project_id: 4,
337
+        item_id: 48,
338
+        item_type:this.statistics_type,
339
+        order_type:this.sort_type,
340
+        keyword: this.keyword,
341
+      }
342
+      this.patientTableData = []
343
+      GetAllQCStatistisData(params).then(response => {
344
+        if (response.data.state == 1) {
345
+          this.detailVisibility = true
346
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
347
+        } else {
348
+          this.$message.error(response.data.msg)
349
+        }
350
+      })
351
+
352
+    },
134 353
     getData() {
135 354
       if(this.start_time.length == 0){
136 355
         this.$message.error("请选择开始时间")
@@ -142,7 +361,7 @@ export default {
142 361
         start_date: this.start_time,
143 362
         end_date: this.end_time,
144 363
         project_id: 4,
145
-        item_id: 48
364
+        item_id: 48,
146 365
       }
147 366
       this.pieData = []
148 367
       this.tableData = []
@@ -324,6 +543,85 @@ export default {
324 543
           break
325 544
       }
326 545
     },
546
+    changeItemTwo(val) {
547
+      const currentDate = new Date()
548
+      switch (val) {
549
+        case 1:
550
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
551
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
552
+          this.start_time_one = startOfMonth
553
+          this.end_time_one = endOfMonth
554
+          // this.getDataTwo()
555
+          break
556
+        case 2:
557
+          // 上月的起始日期和结束日期
558
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
559
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
560
+          this.start_time_one = startOfLastMonth
561
+          this.end_time_one = endOfLastMonth
562
+          // this.getDataTwo()
563
+          break
564
+        case 3:
565
+          // 今年的起始日期和结束日期
566
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
567
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
568
+
569
+          this.start_time_one = startOfYear
570
+          this.end_time_one = endOfYear
571
+          // this.getDataTwo()
572
+
573
+          break
574
+        case 4:
575
+          // 上一年的起始日期和结束日期
576
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
577
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
578
+
579
+          this.start_time_one = startOfLastYear
580
+          this.end_time_one = endOfLastYear
581
+          // this.getDataTwo()
582
+
583
+          break
584
+        case 5:
585
+          // 第一季度的起始日期和结束日期
586
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
587
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
588
+          this.start_time_one = startOfFirstQuarter
589
+          this.end_time_one = endOfFirstQuarter
590
+          // this.getDataTwo()
591
+          break
592
+        case 6:
593
+          // 第二季度的起始日期和结束日期
594
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
595
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
596
+          this.start_time_one = startOfSecondQuarter
597
+          this.end_time_one = endOfSecondQuarter
598
+          // this.getDataTwo()
599
+          break
600
+        case 7:
601
+          // 第三季度的起始日期和结束日期
602
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
603
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
604
+
605
+          this.start_time_one = startOfThirdQuarter
606
+          this.end_time_one = endOfThirdQuarter
607
+          // this.getDataTwo()
608
+
609
+          break
610
+        case 8:
611
+          // 第四季度的起始日期和结束日期
612
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
613
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
614
+
615
+          this.start_time_one = startOfFourthQuarter
616
+          this.end_time_one = endOfFourthQuarter
617
+          // this.getDataTwo()
618
+          break
619
+        case 9:
620
+          this.start_time_one = ''
621
+          this.end_time_one = ''
622
+          break
623
+      }
624
+    },
327 625
 
328 626
 
329 627
     getSummaries(param) {
@@ -352,8 +650,16 @@ export default {
352 650
 
353 651
       return sums
354 652
     },
355
-    handleClick(id) {
356
-      console.log(id)
653
+    handleClick(row) {
654
+      console.log(row)
655
+      if(row.name == "不达标值患者"){
656
+        this.statistics_type = 1
657
+      }else if(row.name == "达标值患者"){
658
+        this.statistics_type = 3
659
+      }else {
660
+        this.statistics_type = 2
661
+      }
662
+      this.getDataTwo()
357 663
     }
358 664
   }
359 665
 

+ 320 - 13
src/xt_pages/Dialysisanalysis/calcium/calciumall.vue View File

@@ -67,23 +67,163 @@
67 67
           label="人数"
68 68
         >
69 69
         </el-table-column>
70
-<!--        <el-table-column-->
71
-<!--          prop="address"-->
72
-<!--          align="center"-->
73
-<!--          label="操作">-->
74
-<!--          <template slot-scope="scope">-->
75
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
76
-<!--                       type="text">查看详情-->
77
-<!--            </el-button>-->
78
-<!--          </template>-->
79
-<!--        </el-table-column>-->
70
+        <el-table-column
71
+          prop="address"
72
+          align="center"
73
+          label="操作">
74
+          <template slot-scope="scope">
75
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
76
+                       type="text">查看详情
77
+            </el-button>
78
+          </template>
79
+        </el-table-column>
80 80
       </el-table>
81 81
     </div>
82
+    <el-dialog
83
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
84
+      :close-on-click-modal="isClose"
85
+      :close-on-press-escape="isClose"
86
+    >
87
+      <el-row :gutter="25">
88
+        <el-col :span="5">
89
+          <div class="block">
90
+            <span>查询时间:</span>
91
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
92
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
93
+              <el-option
94
+                v-for="item,index in times"
95
+                :key="index"
96
+                :label="item.label"
97
+                :value="item.value">
98
+              </el-option>
99
+            </el-select>
100
+          </div>
101
+        </el-col>
102
+        <el-col :span="10">
103
+          <div>
104
+            <el-date-picker
105
+              style="width: 120px"
106
+              v-model="start_time_one"
107
+              format="yyyy-MM-dd"
108
+              value-format="yyyy-MM-dd"
109
+              type="date"
110
+
111
+              placeholder="选择日期">
112
+            </el-date-picker>
113
+            <span>-</span>
114
+            <el-date-picker
115
+              style="width: 120px"
116
+              v-model="end_time_one"
117
+              format="yyyy-MM-dd"
118
+              value-format="yyyy-MM-dd"
119
+              type="date"
120
+              placeholder="选择日期">
121
+            </el-date-picker>
122
+          </div>
123
+        </el-col>
124
+
125
+        <el-col :span="4">
126
+          <div>
127
+
128
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
129
+                       style="width:100px;margin-left:5px;">
130
+              <el-option
131
+                v-for="item,index in statistics_types"
132
+                :key="index"
133
+                :label="item.label"
134
+                :value="item.value">
135
+              </el-option>
136
+            </el-select>
137
+
138
+          </div>
139
+        </el-col>
140
+
141
+        <!--        <el-col :span="4">-->
142
+        <!--          <div>-->
143
+        <!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
144
+        <!--                       style="width:100px;margin-left:5px;">-->
145
+        <!--              <el-option-->
146
+        <!--                v-for="item,index in sort_types"-->
147
+        <!--                :key="index"-->
148
+        <!--                :label="item.label"-->
149
+        <!--                :value="item.value">-->
150
+        <!--              </el-option>-->
151
+        <!--            </el-select>-->
152
+        <!--          </div>-->
153
+        <!--        </el-col>-->
154
+
155
+        <el-col :span="4">
156
+          <div >
157
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
158
+          </div>
159
+        </el-col>
160
+
161
+        <el-col :span="2">
162
+          <div>
163
+            <el-button @click="getDataTwo()">查询</el-button>
164
+          </div>
165
+        </el-col>
166
+
167
+        <el-col :span="2">
168
+          <div>
169
+            <el-button @click="exportAction()">导出</el-button>
170
+          </div>
171
+        </el-col>
172
+
173
+        <!--        <el-col :span="2">-->
174
+        <!--          <div>-->
175
+        <!--            <el-button @click="getDataTwo()">打印</el-button>-->
176
+        <!--          </div>-->
177
+        <!--        </el-col>-->
178
+
179
+
180
+
181
+
182
+
183
+      </el-row>
184
+
185
+      <el-table
186
+        :data="patientTableData"
187
+        border
188
+        ref="table"
189
+        max-height="500px"
190
+        style="width: 100%">
191
+        <el-table-column
192
+          prop="dialysis_no"
193
+          align="center"
194
+          label="透析号"
195
+        >
196
+        </el-table-column>
197
+        <el-table-column
198
+          prop="name"
199
+          label="患者姓名"
200
+        >
201
+        </el-table-column>
202
+        <el-table-column
203
+          prop="date"
204
+          label="检查日期"
205
+        >
206
+        </el-table-column>
207
+
208
+        <el-table-column
209
+          prop="inspect_value"
210
+          label="结果"
211
+        >
212
+        </el-table-column>
213
+
214
+      </el-table>
215
+
216
+      <div slot="footer" class="dialog-footer">
217
+        <el-button @click="detailVisibility = false">取消</el-button>
218
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
219
+      </div>
220
+    </el-dialog>
221
+
82 222
   </div>
83 223
 </template>
84 224
 <script>
85 225
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
87 227
 
88 228
 const moment = require('moment')
89 229
 
@@ -102,7 +242,19 @@ export default {
102 242
   },
103 243
   data() {
104 244
     return {
245
+      statistics_types:[
246
+        { value: 1, label: '不达标患者' },
247
+        { value: 2, label: '未检查患者' },
248
+        { value: 3, label: '达标患者' },
249
+      ],
250
+      sort_types:[
251
+        { value: 1, label: '时间' },
252
+        { value: 2, label: '患者' },
253
+      ],
254
+      detailVisibility:false,
255
+      isClose:true,
105 256
       time_type: 1,
257
+      time_type_two:1,
106 258
       times: [
107 259
         { value: 1, label: '本月' },
108 260
         { value: 2, label: '上月' },
@@ -118,6 +270,11 @@ export default {
118 270
       time_month: '',
119 271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120 272
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
273
+
274
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
275
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
276
+
277
+
121 278
       input: '',
122 279
       myChart: {},
123 280
       pieData: [],
@@ -125,12 +282,74 @@ export default {
125 282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126 283
       tableData: [],
127 284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
128 289
     }
129 290
   },
130 291
   mounted() {
131 292
     this.getData()
132 293
   },
133 294
   methods: {
295
+    exportAction(){
296
+      let list = []
297
+      for (let i = 0; i < this.patientTableData.length; i++) {
298
+        let order = this.patientTableData[i]
299
+        let name = order.name
300
+        let value = order.inspect_value
301
+        let inspect_date = order.date
302
+
303
+        let obj = {
304
+          '姓名': name,
305
+          '数值': value,
306
+          '日期': inspect_date,
307
+        }
308
+        list.push(obj)
309
+      }
310
+      import('@/vendor/Export2Excel').then(excel => {
311
+        const tHeader = ['姓名', '数值', '日期']
312
+        const filterVal = ['姓名', '数值', '日期']
313
+        const data = this.formatJson(filterVal, list)
314
+        excel.export_json_to_excel1({
315
+          header: tHeader,
316
+          data,
317
+          filename: '明细',
318
+          ref: this.$refs['table'].$el
319
+        })
320
+      })
321
+    },
322
+
323
+    formatJson(filterVal, jsonData) {
324
+      return jsonData.map(v => filterVal.map(j => v[j]))
325
+    },
326
+    getDataTwo() {
327
+      if(this.start_time_one.length == 0){
328
+        this.$message.error("请选择开始时间")
329
+      }
330
+      if(this.end_time_one.length == 0){
331
+        this.$message.error("请选择结束时间")
332
+      }
333
+      let params = {
334
+        start_date: this.start_time_one,
335
+        end_date: this.end_time_one,
336
+        project_id: 4,
337
+        item_id: 289,
338
+        item_type:this.statistics_type,
339
+        order_type:this.sort_type,
340
+        keyword: this.keyword,
341
+      }
342
+      this.patientTableData = []
343
+      GetAllQCStatistisData(params).then(response => {
344
+        if (response.data.state == 1) {
345
+          this.detailVisibility = true
346
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
347
+        } else {
348
+          this.$message.error(response.data.msg)
349
+        }
350
+      })
351
+
352
+    },
134 353
     getData() {
135 354
       if(this.start_time.length == 0){
136 355
         this.$message.error("请选择开始时间")
@@ -325,6 +544,86 @@ export default {
325 544
           break
326 545
       }
327 546
     },
547
+    changeItemTwo(val) {
548
+      const currentDate = new Date()
549
+      switch (val) {
550
+        case 1:
551
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
552
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
553
+          this.start_time_one = startOfMonth
554
+          this.end_time_one = endOfMonth
555
+          // this.getDataTwo()
556
+          break
557
+        case 2:
558
+          // 上月的起始日期和结束日期
559
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
560
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
561
+          this.start_time_one = startOfLastMonth
562
+          this.end_time_one = endOfLastMonth
563
+          // this.getDataTwo()
564
+          break
565
+        case 3:
566
+          // 今年的起始日期和结束日期
567
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
568
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
569
+
570
+          this.start_time_one = startOfYear
571
+          this.end_time_one = endOfYear
572
+          // this.getDataTwo()
573
+
574
+          break
575
+        case 4:
576
+          // 上一年的起始日期和结束日期
577
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
578
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
579
+
580
+          this.start_time_one = startOfLastYear
581
+          this.end_time_one = endOfLastYear
582
+          // this.getDataTwo()
583
+
584
+          break
585
+        case 5:
586
+          // 第一季度的起始日期和结束日期
587
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
588
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
589
+          this.start_time_one = startOfFirstQuarter
590
+          this.end_time_one = endOfFirstQuarter
591
+          // this.getDataTwo()
592
+          break
593
+        case 6:
594
+          // 第二季度的起始日期和结束日期
595
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
596
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
597
+          this.start_time_one = startOfSecondQuarter
598
+          this.end_time_one = endOfSecondQuarter
599
+          // this.getDataTwo()
600
+          break
601
+        case 7:
602
+          // 第三季度的起始日期和结束日期
603
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
604
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
605
+
606
+          this.start_time_one = startOfThirdQuarter
607
+          this.end_time_one = endOfThirdQuarter
608
+          // this.getDataTwo()
609
+
610
+          break
611
+        case 8:
612
+          // 第四季度的起始日期和结束日期
613
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
614
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
615
+
616
+          this.start_time_one = startOfFourthQuarter
617
+          this.end_time_one = endOfFourthQuarter
618
+          // this.getDataTwo()
619
+          break
620
+        case 9:
621
+          this.start_time_one = ''
622
+          this.end_time_one = ''
623
+          break
624
+      }
625
+    },
626
+
328 627
 
329 628
 
330 629
     getSummaries(param) {
@@ -353,8 +652,16 @@ export default {
353 652
 
354 653
       return sums
355 654
     },
356
-    handleClick(id) {
357
-      console.log(id)
655
+    handleClick(row) {
656
+      console.log(row)
657
+      if(row.name == "不达标值患者"){
658
+        this.statistics_type = 1
659
+      }else if(row.name == "达标值患者"){
660
+        this.statistics_type = 3
661
+      }else {
662
+        this.statistics_type = 2
663
+      }
664
+      this.getDataTwo()
358 665
     }
359 666
   }
360 667
 

+ 179 - 14
src/xt_pages/Dialysisanalysis/hemoglobin/hemoglobinall.vue View File

@@ -69,23 +69,23 @@
69 69
           label="人数"
70 70
         >
71 71
         </el-table-column>
72
-<!--        <el-table-column-->
73
-<!--          prop="address"-->
74
-<!--          align="center"-->
75
-<!--          label="操作">-->
76
-<!--          <template slot-scope="scope">-->
77
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
78
-<!--                       type="text">查看详情-->
79
-<!--            </el-button>-->
80
-<!--          </template>-->
81
-<!--        </el-table-column>-->
72
+        <el-table-column
73
+          prop="address"
74
+          align="center"
75
+          label="操作">
76
+          <template slot-scope="scope">
77
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
78
+                       type="text">查看详情
79
+            </el-button>
80
+          </template>
81
+        </el-table-column>
82 82
       </el-table>
83 83
     </div>
84 84
   </div>
85 85
 </template>
86 86
 <script>
87 87
 import * as echarts from 'echarts'
88
-import { GetQCStatistisData } from '../../../api/qcd'
88
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
89 89
 
90 90
 const moment = require('moment')
91 91
 
@@ -104,7 +104,19 @@ export default {
104 104
   },
105 105
   data() {
106 106
     return {
107
+      statistics_types:[
108
+        { value: 1, label: '不达标患者' },
109
+        { value: 2, label: '未检查患者' },
110
+        { value: 3, label: '达标患者' },
111
+      ],
112
+      sort_types:[
113
+        { value: 1, label: '时间' },
114
+        { value: 2, label: '患者' },
115
+      ],
116
+      detailVisibility:false,
117
+      isClose:true,
107 118
       time_type: 1,
119
+      time_type_two:1,
108 120
       times: [
109 121
         { value: 1, label: '本月' },
110 122
         { value: 2, label: '上月' },
@@ -121,18 +133,163 @@ export default {
121 133
       time_month: '',
122 134
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
123 135
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
136
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
137
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
138
+
124 139
       input: '',
125 140
       myChart: {},
126 141
       pieData: [],
127 142
       pieName: [],
128 143
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
129
-      tableData: []
144
+      tableData: [],
145
+      statistics_type:1,
146
+      sort_type:"",
147
+      keyword:"",
148
+      patientTableData:[],
130 149
     }
131 150
   },
132 151
   mounted() {
133 152
     this.getData()
134 153
   },
135 154
   methods: {
155
+    exportAction(){
156
+      let list = []
157
+      for (let i = 0; i < this.patientTableData.length; i++) {
158
+        let order = this.patientTableData[i]
159
+        let name = order.name
160
+        let value = order.inspect_value
161
+        let inspect_date = order.date
162
+
163
+        let obj = {
164
+          '姓名': name,
165
+          '数值': value,
166
+          '日期': inspect_date,
167
+        }
168
+        list.push(obj)
169
+      }
170
+      import('@/vendor/Export2Excel').then(excel => {
171
+        const tHeader = ['姓名', '数值', '日期']
172
+        const filterVal = ['姓名', '数值', '日期']
173
+        const data = this.formatJson(filterVal, list)
174
+        excel.export_json_to_excel1({
175
+          header: tHeader,
176
+          data,
177
+          filename: '明细',
178
+          ref: this.$refs['table'].$el
179
+        })
180
+      })
181
+    },
182
+
183
+    formatJson(filterVal, jsonData) {
184
+      return jsonData.map(v => filterVal.map(j => v[j]))
185
+    },
186
+    changeItemTwo(val) {
187
+      const currentDate = new Date()
188
+      switch (val) {
189
+        case 1:
190
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
191
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
192
+          this.start_time_one = startOfMonth
193
+          this.end_time_one = endOfMonth
194
+          // this.getDataTwo()
195
+          break
196
+        case 2:
197
+          // 上月的起始日期和结束日期
198
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
199
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
200
+          this.start_time_one = startOfLastMonth
201
+          this.end_time_one = endOfLastMonth
202
+          // this.getDataTwo()
203
+          break
204
+        case 3:
205
+          // 今年的起始日期和结束日期
206
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
207
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
208
+
209
+          this.start_time_one = startOfYear
210
+          this.end_time_one = endOfYear
211
+          // this.getDataTwo()
212
+
213
+          break
214
+        case 4:
215
+          // 上一年的起始日期和结束日期
216
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
217
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
218
+
219
+          this.start_time_one = startOfLastYear
220
+          this.end_time_one = endOfLastYear
221
+          // this.getDataTwo()
222
+
223
+          break
224
+        case 5:
225
+          // 第一季度的起始日期和结束日期
226
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
227
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
228
+          this.start_time_one = startOfFirstQuarter
229
+          this.end_time_one = endOfFirstQuarter
230
+          // this.getDataTwo()
231
+          break
232
+        case 6:
233
+          // 第二季度的起始日期和结束日期
234
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
235
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
236
+          this.start_time_one = startOfSecondQuarter
237
+          this.end_time_one = endOfSecondQuarter
238
+          // this.getDataTwo()
239
+          break
240
+        case 7:
241
+          // 第三季度的起始日期和结束日期
242
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
243
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
244
+
245
+          this.start_time_one = startOfThirdQuarter
246
+          this.end_time_one = endOfThirdQuarter
247
+          // this.getDataTwo()
248
+
249
+          break
250
+        case 8:
251
+          // 第四季度的起始日期和结束日期
252
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
253
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
254
+
255
+          this.start_time_one = startOfFourthQuarter
256
+          this.end_time_one = endOfFourthQuarter
257
+          // this.getDataTwo()
258
+          break
259
+        case 9:
260
+          this.start_time_one = ''
261
+          this.end_time_one = ''
262
+          break
263
+      }
264
+    },
265
+
266
+    getDataTwo() {
267
+      if(this.start_time_one.length == 0){
268
+        this.$message.error("请选择开始时间")
269
+      }
270
+      if(this.end_time_one.length == 0){
271
+        this.$message.error("请选择结束时间")
272
+      }
273
+      let params = {
274
+        start_date: this.start_time_one,
275
+        end_date: this.end_time_one,
276
+        project_id: 1,
277
+        item_id: 17,
278
+        item_type:this.statistics_type,
279
+        order_type:this.sort_type,
280
+        keyword: this.keyword,
281
+      }
282
+      this.patientTableData = []
283
+      GetAllQCStatistisData(params).then(response => {
284
+        if (response.data.state == 1) {
285
+          this.detailVisibility = true
286
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
287
+        } else {
288
+          this.$message.error(response.data.msg)
289
+        }
290
+      })
291
+
292
+    },
136 293
     getData() {
137 294
       if(this.start_time.length == 0){
138 295
         this.$message.error("请选择开始时间")
@@ -354,8 +511,16 @@ export default {
354 511
 
355 512
       return sums
356 513
     },
357
-    handleClick(id) {
358
-      console.log(id)
514
+    handleClick(row) {
515
+      console.log(row)
516
+      if(row.name == "不达标值患者"){
517
+        this.statistics_type = 1
518
+      }else if(row.name == "达标值患者"){
519
+        this.statistics_type = 3
520
+      }else {
521
+        this.statistics_type = 2
522
+      }
523
+      this.getDataTwo()
359 524
     }
360 525
   }
361 526
 

+ 318 - 14
src/xt_pages/Dialysisanalysis/platelets/plateletsall.vue View File

@@ -68,23 +68,163 @@
68 68
           label="人数"
69 69
         >
70 70
         </el-table-column>
71
-<!--        <el-table-column-->
72
-<!--          prop="address"-->
73
-<!--          align="center"-->
74
-<!--          label="操作">-->
75
-<!--          <template slot-scope="scope">-->
76
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
77
-<!--                       type="text">查看详情-->
78
-<!--            </el-button>-->
79
-<!--          </template>-->
80
-<!--        </el-table-column>-->
71
+        <el-table-column
72
+          prop="address"
73
+          align="center"
74
+          label="操作">
75
+          <template slot-scope="scope">
76
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
77
+                       type="text">查看详情
78
+            </el-button>
79
+          </template>
80
+        </el-table-column>
81 81
       </el-table>
82 82
     </div>
83
+    <el-dialog
84
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
85
+      :close-on-click-modal="isClose"
86
+      :close-on-press-escape="isClose"
87
+    >
88
+      <el-row :gutter="25">
89
+        <el-col :span="5">
90
+          <div class="block">
91
+            <span>查询时间:</span>
92
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
93
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
94
+              <el-option
95
+                v-for="item,index in times"
96
+                :key="index"
97
+                :label="item.label"
98
+                :value="item.value">
99
+              </el-option>
100
+            </el-select>
101
+          </div>
102
+        </el-col>
103
+        <el-col :span="10">
104
+          <div>
105
+            <el-date-picker
106
+              style="width: 120px"
107
+              v-model="start_time_one"
108
+              format="yyyy-MM-dd"
109
+              value-format="yyyy-MM-dd"
110
+              type="date"
111
+
112
+              placeholder="选择日期">
113
+            </el-date-picker>
114
+            <span>-</span>
115
+            <el-date-picker
116
+              style="width: 120px"
117
+              v-model="end_time_one"
118
+              format="yyyy-MM-dd"
119
+              value-format="yyyy-MM-dd"
120
+              type="date"
121
+              placeholder="选择日期">
122
+            </el-date-picker>
123
+          </div>
124
+        </el-col>
125
+
126
+        <el-col :span="4">
127
+          <div>
128
+
129
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
130
+                       style="width:100px;margin-left:5px;">
131
+              <el-option
132
+                v-for="item,index in statistics_types"
133
+                :key="index"
134
+                :label="item.label"
135
+                :value="item.value">
136
+              </el-option>
137
+            </el-select>
138
+
139
+          </div>
140
+        </el-col>
141
+
142
+        <!--        <el-col :span="4">-->
143
+        <!--          <div>-->
144
+        <!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
145
+        <!--                       style="width:100px;margin-left:5px;">-->
146
+        <!--              <el-option-->
147
+        <!--                v-for="item,index in sort_types"-->
148
+        <!--                :key="index"-->
149
+        <!--                :label="item.label"-->
150
+        <!--                :value="item.value">-->
151
+        <!--              </el-option>-->
152
+        <!--            </el-select>-->
153
+        <!--          </div>-->
154
+        <!--        </el-col>-->
155
+
156
+        <el-col :span="4">
157
+          <div >
158
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
159
+          </div>
160
+        </el-col>
161
+
162
+        <el-col :span="2">
163
+          <div>
164
+            <el-button @click="getDataTwo()">查询</el-button>
165
+          </div>
166
+        </el-col>
167
+
168
+        <el-col :span="2">
169
+          <div>
170
+            <el-button @click="exportAction()">导出</el-button>
171
+          </div>
172
+        </el-col>
173
+
174
+        <!--        <el-col :span="2">-->
175
+        <!--          <div>-->
176
+        <!--            <el-button @click="getDataTwo()">打印</el-button>-->
177
+        <!--          </div>-->
178
+        <!--        </el-col>-->
179
+
180
+
181
+
182
+
183
+
184
+      </el-row>
185
+
186
+      <el-table
187
+        :data="patientTableData"
188
+        border
189
+        ref="table"
190
+        max-height="500px"
191
+        style="width: 100%">
192
+        <el-table-column
193
+          prop="dialysis_no"
194
+          align="center"
195
+          label="透析号"
196
+        >
197
+        </el-table-column>
198
+        <el-table-column
199
+          prop="name"
200
+          label="患者姓名"
201
+        >
202
+        </el-table-column>
203
+        <el-table-column
204
+          prop="date"
205
+          label="检查日期"
206
+        >
207
+        </el-table-column>
208
+
209
+        <el-table-column
210
+          prop="inspect_value"
211
+          label="结果"
212
+        >
213
+        </el-table-column>
214
+
215
+      </el-table>
216
+
217
+      <div slot="footer" class="dialog-footer">
218
+        <el-button @click="detailVisibility = false">取消</el-button>
219
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
220
+      </div>
221
+    </el-dialog>
222
+
83 223
   </div>
84 224
 </template>
85 225
 <script>
86 226
 import * as echarts from 'echarts'
87
-import { GetQCStatistisData } from '../../../api/qcd'
227
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
88 228
 
89 229
 const moment = require('moment')
90 230
 
@@ -103,7 +243,19 @@ export default {
103 243
   },
104 244
   data() {
105 245
     return {
246
+      statistics_types:[
247
+        { value: 1, label: '不达标患者' },
248
+        { value: 2, label: '未检查患者' },
249
+        { value: 3, label: '达标患者' },
250
+      ],
251
+      sort_types:[
252
+        { value: 1, label: '时间' },
253
+        { value: 2, label: '患者' },
254
+      ],
255
+      detailVisibility:false,
256
+      isClose:true,
106 257
       time_type: 1,
258
+      time_type_two:1,
107 259
       times: [
108 260
         { value: 1, label: '本月' },
109 261
         { value: 2, label: '上月' },
@@ -119,19 +271,84 @@ export default {
119 271
       time_month: '',
120 272
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
121 273
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
274
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
275
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
276
+
122 277
       input: '',
123 278
       myChart: {},
124 279
       pieData: [],
125 280
       pieName: [],
126 281
       reference:{},
127 282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
128
-      tableData: []
283
+      tableData: [],
284
+      statistics_type:1,
285
+      sort_type:"",
286
+      keyword:"",
287
+      patientTableData:[],
129 288
     }
130 289
   },
131 290
   mounted() {
132 291
     this.getData()
133 292
   },
134 293
   methods: {
294
+    exportAction(){
295
+      let list = []
296
+      for (let i = 0; i < this.patientTableData.length; i++) {
297
+        let order = this.patientTableData[i]
298
+        let name = order.name
299
+        let value = order.inspect_value
300
+        let inspect_date = order.date
301
+
302
+        let obj = {
303
+          '姓名': name,
304
+          '数值': value,
305
+          '日期': inspect_date,
306
+        }
307
+        list.push(obj)
308
+      }
309
+      import('@/vendor/Export2Excel').then(excel => {
310
+        const tHeader = ['姓名', '数值', '日期']
311
+        const filterVal = ['姓名', '数值', '日期']
312
+        const data = this.formatJson(filterVal, list)
313
+        excel.export_json_to_excel1({
314
+          header: tHeader,
315
+          data,
316
+          filename: '明细',
317
+          ref: this.$refs['table'].$el
318
+        })
319
+      })
320
+    },
321
+
322
+    formatJson(filterVal, jsonData) {
323
+      return jsonData.map(v => filterVal.map(j => v[j]))
324
+    },
325
+    getDataTwo() {
326
+      if(this.start_time_one.length == 0){
327
+        this.$message.error("请选择开始时间")
328
+      }
329
+      if(this.end_time_one.length == 0){
330
+        this.$message.error("请选择结束时间")
331
+      }
332
+      let params = {
333
+        start_date: this.start_time_one,
334
+        end_date: this.end_time_one,
335
+        project_id: 1,
336
+        item_id: 166,
337
+        item_type:this.statistics_type,
338
+        order_type:this.sort_type,
339
+        keyword: this.keyword,
340
+      }
341
+      this.patientTableData = []
342
+      GetAllQCStatistisData(params).then(response => {
343
+        if (response.data.state == 1) {
344
+          this.detailVisibility = true
345
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
346
+        } else {
347
+          this.$message.error(response.data.msg)
348
+        }
349
+      })
350
+
351
+    },
135 352
     getData() {
136 353
       if(this.start_time.length == 0){
137 354
         this.$message.error("请选择开始时间")
@@ -325,6 +542,85 @@ export default {
325 542
           break
326 543
       }
327 544
     },
545
+    changeItemTwo(val) {
546
+      const currentDate = new Date()
547
+      switch (val) {
548
+        case 1:
549
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
550
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
551
+          this.start_time_one = startOfMonth
552
+          this.end_time_one = endOfMonth
553
+          // this.getDataTwo()
554
+          break
555
+        case 2:
556
+          // 上月的起始日期和结束日期
557
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
558
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
559
+          this.start_time_one = startOfLastMonth
560
+          this.end_time_one = endOfLastMonth
561
+          // this.getDataTwo()
562
+          break
563
+        case 3:
564
+          // 今年的起始日期和结束日期
565
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
566
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
567
+
568
+          this.start_time_one = startOfYear
569
+          this.end_time_one = endOfYear
570
+          // this.getDataTwo()
571
+
572
+          break
573
+        case 4:
574
+          // 上一年的起始日期和结束日期
575
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
576
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
577
+
578
+          this.start_time_one = startOfLastYear
579
+          this.end_time_one = endOfLastYear
580
+          // this.getDataTwo()
581
+
582
+          break
583
+        case 5:
584
+          // 第一季度的起始日期和结束日期
585
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
586
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
587
+          this.start_time_one = startOfFirstQuarter
588
+          this.end_time_one = endOfFirstQuarter
589
+          // this.getDataTwo()
590
+          break
591
+        case 6:
592
+          // 第二季度的起始日期和结束日期
593
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
594
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
595
+          this.start_time_one = startOfSecondQuarter
596
+          this.end_time_one = endOfSecondQuarter
597
+          // this.getDataTwo()
598
+          break
599
+        case 7:
600
+          // 第三季度的起始日期和结束日期
601
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
602
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
603
+
604
+          this.start_time_one = startOfThirdQuarter
605
+          this.end_time_one = endOfThirdQuarter
606
+          // this.getDataTwo()
607
+
608
+          break
609
+        case 8:
610
+          // 第四季度的起始日期和结束日期
611
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
612
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
613
+
614
+          this.start_time_one = startOfFourthQuarter
615
+          this.end_time_one = endOfFourthQuarter
616
+          // this.getDataTwo()
617
+          break
618
+        case 9:
619
+          this.start_time_one = ''
620
+          this.end_time_one = ''
621
+          break
622
+      }
623
+    },
328 624
 
329 625
 
330 626
     getSummaries(param) {
@@ -353,8 +649,16 @@ export default {
353 649
 
354 650
       return sums
355 651
     },
356
-    handleClick(id) {
357
-      console.log(id)
652
+    handleClick(row) {
653
+      console.log(row)
654
+      if(row.name == "不达标值患者"){
655
+        this.statistics_type = 1
656
+      }else if(row.name == "达标值患者"){
657
+        this.statistics_type = 3
658
+      }else {
659
+        this.statistics_type = 2
660
+      }
661
+      this.getDataTwo()
358 662
     }
359 663
   }
360 664
 

+ 318 - 114
src/xt_pages/Dialysisanalysis/qualitycontrol/totalSstatistics.vue View File

@@ -67,124 +67,163 @@
67 67
           label="人数"
68 68
         >
69 69
         </el-table-column>
70
-<!--        <el-table-column-->
71
-<!--          prop="address"-->
72
-<!--          align="center"-->
73
-<!--          label="操作">-->
74
-<!--          <template slot-scope="scope">-->
75
-<!--            <el-button @click="handleClick(scope.row)" style="font-size:16px;"-->
76
-<!--                       type="text">查看详情-->
77
-<!--            </el-button>-->
78
-<!--          </template>-->
79
-<!--        </el-table-column>-->
70
+        <el-table-column
71
+          prop="address"
72
+          align="center"
73
+          label="操作">
74
+          <template slot-scope="scope">
75
+            <el-button @click="handleClick(scope.row)" style="font-size:16px;"
76
+                       type="text">查看详情
77
+            </el-button>
78
+          </template>
79
+        </el-table-column>
80 80
       </el-table>
81 81
     </div>
82
-<!--    <el-dialog class="centerDialog"-->
83
-<!--               title="打印"-->
84
-<!--              >-->
85
-<!--      <el-row :gutter="25">-->
86
-<!--        <el-col :span="5">-->
87
-<!--          <div class="block">-->
88
-<!--            <span>查询时间:</span>-->
89
-<!--            <el-select size="small" v-model="time_type" placeholder="请选择"-->
90
-<!--                       style="width:150px;margin-left:10px;" @change="changeItem">-->
91
-<!--              <el-option-->
92
-<!--                v-for="item,index in times"-->
93
-<!--                :key="index"-->
94
-<!--                :label="item.label"-->
95
-<!--                :value="item.value">-->
96
-<!--              </el-option>-->
97
-<!--            </el-select>-->
98
-<!--          </div>-->
99
-<!--        </el-col>-->
100
-<!--        <el-col :span="8">-->
101
-<!--          <div>-->
102
-<!--            <el-date-picker-->
103
-<!--              style="width: 200px"-->
104
-
105
-<!--              v-model="start_time"-->
106
-<!--              format="yyyy-MM-dd"-->
107
-<!--              value-format="yyyy-MM-dd"-->
108
-<!--              type="date"-->
109
-
110
-<!--              placeholder="选择日期">-->
111
-<!--            </el-date-picker>-->
112
-<!--            <span>-</span>-->
113
-<!--            <el-date-picker-->
114
-<!--              style="width: 200px"-->
115
-<!--              v-model="end_time"-->
116
-<!--              format="yyyy-MM-dd"-->
117
-<!--              value-format="yyyy-MM-dd"-->
118
-<!--              type="date"-->
119
-<!--              placeholder="选择日期">-->
120
-<!--            </el-date-picker>-->
121
-<!--          </div>-->
122
-<!--        </el-col>-->
123
-<!--        <el-col :span="5">-->
124
-<!--          <el-select-->
125
-<!--            placeholder="请选择类型"-->
126
-<!--            style="width:95%"-->
127
-<!--          >-->
128
-<!--            <el-option label="不达标患者" value="1"></el-option>-->
129
-<!--            <el-option label="未检查患者" value="2"></el-option>-->
130
-<!--            <el-option label="达标患者" value="3"></el-option>-->
131
-<!--            <el-option label="不限" value="0"></el-option>-->
132
-<!--          </el-select>-->
133
-<!--        </el-col>-->
134
-<!--        <el-col :span="5">-->
135
-<!--          <el-select-->
136
-<!--            placeholder="请选择排序"-->
137
-<!--            style="width:95%"-->
138
-<!--          >-->
139
-<!--            <el-option label="按时间" value="1"></el-option>-->
140
-<!--            <el-option label="按患者" value="2"></el-option>-->
141
-<!--            <el-option label="不限" value="0"></el-option>-->
142
-<!--          </el-select>-->
143
-<!--        </el-col>-->
144
-<!--        <el-col :span="3">-->
145
-<!--          <el-button type="primary" @click="getData()">查询</el-button>-->
146
-<!--          <el-button type="primary" @click="getData()">打印</el-button>-->
147
-<!--          <el-button type="primary" @click="getData()">导出</el-button>-->
148
-
149
-<!--        </el-col>-->
150
-<!--      </el-row>-->
151
-<!--      <div style="width: 80%;margin: auto;">-->
152
-<!--        <el-table-->
153
-<!--          :data="tableData"-->
154
-<!--          border-->
155
-<!--          style="width: 100%;">-->
156
-<!--          <el-table-column-->
157
-<!--            prop="name"-->
158
-<!--            align="center"-->
159
-<!--            label="透析号"-->
160
-<!--          >-->
161
-<!--          </el-table-column>-->
162
-<!--          <el-table-column-->
163
-<!--            prop="count"-->
164
-<!--            label="姓名"-->
165
-<!--          >-->
166
-<!--          </el-table-column>-->
167
-<!--          <el-table-column-->
168
-<!--            prop="address"-->
169
-<!--            align="center"-->
170
-<!--            label="检查日期">-->
171
-
172
-<!--          </el-table-column>-->
173
-<!--          <el-table-column-->
174
-<!--            prop="address"-->
175
-<!--            align="center"-->
176
-<!--            label="结果">-->
177
-
178
-<!--          </el-table-column>-->
179
-<!--        </el-table>-->
180
-<!--      </div>-->
181
-
182
-<!--    </el-dialog>-->
82
+    <el-dialog
83
+      width="1000px" class="registerDialog" :visible.sync="detailVisibility"
84
+      :close-on-click-modal="isClose"
85
+      :close-on-press-escape="isClose"
86
+    >
87
+      <el-row :gutter="25">
88
+        <el-col :span="5">
89
+          <div class="block">
90
+            <span>查询时间:</span>
91
+            <el-select size="small" v-model="time_type_two" placeholder="请选择"
92
+                       style="width:100px;margin-left:5px;" @change="changeItemTwo">
93
+              <el-option
94
+                v-for="item,index in times"
95
+                :key="index"
96
+                :label="item.label"
97
+                :value="item.value">
98
+              </el-option>
99
+            </el-select>
100
+          </div>
101
+        </el-col>
102
+        <el-col :span="10">
103
+          <div>
104
+            <el-date-picker
105
+              style="width: 120px"
106
+              v-model="start_time_one"
107
+              format="yyyy-MM-dd"
108
+              value-format="yyyy-MM-dd"
109
+              type="date"
110
+
111
+              placeholder="选择日期">
112
+            </el-date-picker>
113
+            <span>-</span>
114
+            <el-date-picker
115
+              style="width: 120px"
116
+              v-model="end_time_one"
117
+              format="yyyy-MM-dd"
118
+              value-format="yyyy-MM-dd"
119
+              type="date"
120
+              placeholder="选择日期">
121
+            </el-date-picker>
122
+          </div>
123
+        </el-col>
124
+
125
+        <el-col :span="4">
126
+          <div>
127
+
128
+            <el-select size="small" v-model="statistics_type" placeholder="请选择"
129
+                       style="width:100px;margin-left:5px;">
130
+              <el-option
131
+                v-for="item,index in statistics_types"
132
+                :key="index"
133
+                :label="item.label"
134
+                :value="item.value">
135
+              </el-option>
136
+            </el-select>
137
+
138
+          </div>
139
+        </el-col>
140
+
141
+        <!--        <el-col :span="4">-->
142
+        <!--          <div>-->
143
+        <!--            <el-select size="small" v-model="sort_type" placeholder="请选择"-->
144
+        <!--                       style="width:100px;margin-left:5px;">-->
145
+        <!--              <el-option-->
146
+        <!--                v-for="item,index in sort_types"-->
147
+        <!--                :key="index"-->
148
+        <!--                :label="item.label"-->
149
+        <!--                :value="item.value">-->
150
+        <!--              </el-option>-->
151
+        <!--            </el-select>-->
152
+        <!--          </div>-->
153
+        <!--        </el-col>-->
154
+
155
+        <el-col :span="4">
156
+          <div >
157
+            <el-input v-model="keyword" placeholder="请输入患者姓名或透析号"></el-input>
158
+          </div>
159
+        </el-col>
160
+
161
+        <el-col :span="2">
162
+          <div>
163
+            <el-button @click="getDataTwo()">查询</el-button>
164
+          </div>
165
+        </el-col>
166
+
167
+        <el-col :span="2">
168
+          <div>
169
+            <el-button @click="exportAction()">导出</el-button>
170
+          </div>
171
+        </el-col>
172
+
173
+        <!--        <el-col :span="2">-->
174
+        <!--          <div>-->
175
+        <!--            <el-button @click="getDataTwo()">打印</el-button>-->
176
+        <!--          </div>-->
177
+        <!--        </el-col>-->
178
+
179
+
180
+
181
+
182
+
183
+      </el-row>
184
+
185
+      <el-table
186
+        :data="patientTableData"
187
+        border
188
+        ref="table"
189
+        max-height="500px"
190
+        style="width: 100%">
191
+        <el-table-column
192
+          prop="dialysis_no"
193
+          align="center"
194
+          label="透析号"
195
+        >
196
+        </el-table-column>
197
+        <el-table-column
198
+          prop="name"
199
+          label="患者姓名"
200
+        >
201
+        </el-table-column>
202
+        <el-table-column
203
+          prop="date"
204
+          label="检查日期"
205
+        >
206
+        </el-table-column>
207
+
208
+        <el-table-column
209
+          prop="inspect_value"
210
+          label="结果"
211
+        >
212
+        </el-table-column>
213
+
214
+      </el-table>
215
+
216
+      <div slot="footer" class="dialog-footer">
217
+        <el-button @click="detailVisibility = false">取消</el-button>
218
+        <el-button type="primary" @click="detailVisibility = false">确定</el-button>
219
+      </div>
220
+    </el-dialog>
221
+
183 222
   </div>
184 223
 </template>
185 224
 <script>
186 225
 import * as echarts from 'echarts'
187
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
188 227
 
189 228
 const moment = require('moment')
190 229
 
@@ -203,7 +242,19 @@ export default {
203 242
   },
204 243
   data() {
205 244
     return {
245
+      statistics_types:[
246
+        { value: 1, label: '不达标患者' },
247
+        { value: 2, label: '未检查患者' },
248
+        { value: 3, label: '达标患者' },
249
+      ],
250
+      sort_types:[
251
+        { value: 1, label: '时间' },
252
+        { value: 2, label: '患者' },
253
+      ],
254
+      detailVisibility:false,
255
+      isClose:true,
206 256
       time_type: 1,
257
+      time_type_two:1,
207 258
       times: [
208 259
         { value: 1, label: '本月' },
209 260
         { value: 2, label: '上月' },
@@ -219,6 +270,11 @@ export default {
219 270
       time_month: '',
220 271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
221 272
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
273
+
274
+      start_time_one: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
275
+      end_time_one: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
276
+
277
+
222 278
       input: '',
223 279
       myChart: {},
224 280
       pieData: [],
@@ -226,12 +282,74 @@ export default {
226 282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
227 283
       tableData: [],
228 284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
229 289
     }
230 290
   },
231 291
   mounted() {
232 292
     this.getData()
233 293
   },
234 294
   methods: {
295
+    exportAction(){
296
+      let list = []
297
+      for (let i = 0; i < this.patientTableData.length; i++) {
298
+        let order = this.patientTableData[i]
299
+        let name = order.name
300
+        let value = order.inspect_value
301
+        let inspect_date = order.date
302
+
303
+        let obj = {
304
+          '姓名': name,
305
+          '数值': value,
306
+          '日期': inspect_date,
307
+        }
308
+        list.push(obj)
309
+      }
310
+      import('@/vendor/Export2Excel').then(excel => {
311
+        const tHeader = ['姓名', '数值', '日期']
312
+        const filterVal = ['姓名', '数值', '日期']
313
+        const data = this.formatJson(filterVal, list)
314
+        excel.export_json_to_excel1({
315
+          header: tHeader,
316
+          data,
317
+          filename: '明细',
318
+          ref: this.$refs['table'].$el
319
+        })
320
+      })
321
+    },
322
+
323
+    formatJson(filterVal, jsonData) {
324
+      return jsonData.map(v => filterVal.map(j => v[j]))
325
+    },
326
+    getDataTwo() {
327
+      if(this.start_time_one.length == 0){
328
+        this.$message.error("请选择开始时间")
329
+      }
330
+      if(this.end_time_one.length == 0){
331
+        this.$message.error("请选择结束时间")
332
+      }
333
+      let params = {
334
+        start_date: this.start_time_one,
335
+        end_date: this.end_time_one,
336
+        project_id: 20,
337
+        item_id: 171,
338
+        item_type:this.statistics_type,
339
+        order_type:this.sort_type,
340
+        keyword: this.keyword,
341
+      }
342
+      this.patientTableData = []
343
+      GetAllQCStatistisData(params).then(response => {
344
+        if (response.data.state == 1) {
345
+          this.detailVisibility = true
346
+          this.patientTableData  =  this.patientTableData.concat(response.data.data.list)
347
+        } else {
348
+          this.$message.error(response.data.msg)
349
+        }
350
+      })
351
+
352
+    },
235 353
     getData() {
236 354
       if(this.start_time.length == 0){
237 355
         this.$message.error("请选择开始时间")
@@ -425,6 +543,85 @@ export default {
425 543
           break
426 544
       }
427 545
     },
546
+    changeItemTwo(val) {
547
+      const currentDate = new Date()
548
+      switch (val) {
549
+        case 1:
550
+          const startOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1).toLocaleDateString('en-CA')
551
+          const endOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).toLocaleDateString('en-CA')
552
+          this.start_time_one = startOfMonth
553
+          this.end_time_one = endOfMonth
554
+          // this.getDataTwo()
555
+          break
556
+        case 2:
557
+          // 上月的起始日期和结束日期
558
+          const startOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, 1).toLocaleDateString('en-CA')
559
+          const endOfLastMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0).toLocaleDateString('en-CA')
560
+          this.start_time_one = startOfLastMonth
561
+          this.end_time_one = endOfLastMonth
562
+          // this.getDataTwo()
563
+          break
564
+        case 3:
565
+          // 今年的起始日期和结束日期
566
+          const startOfYear = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
567
+          const endOfYear = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
568
+
569
+          this.start_time_one = startOfYear
570
+          this.end_time_one = endOfYear
571
+          // this.getDataTwo()
572
+
573
+          break
574
+        case 4:
575
+          // 上一年的起始日期和结束日期
576
+          const startOfLastYear = new Date(currentDate.getFullYear() - 1, 0, 1).toLocaleDateString('en-CA')
577
+          const endOfLastYear = new Date(currentDate.getFullYear() - 1, 11, 31).toLocaleDateString('en-CA')
578
+
579
+          this.start_time_one = startOfLastYear
580
+          this.end_time_one = endOfLastYear
581
+          // this.getDataTwo()
582
+
583
+          break
584
+        case 5:
585
+          // 第一季度的起始日期和结束日期
586
+          const startOfFirstQuarter = new Date(currentDate.getFullYear(), 0, 1).toLocaleDateString('en-CA')
587
+          const endOfFirstQuarter = new Date(currentDate.getFullYear(), 2, 31).toLocaleDateString('en-CA')
588
+          this.start_time_one = startOfFirstQuarter
589
+          this.end_time_one = endOfFirstQuarter
590
+          // this.getDataTwo()
591
+          break
592
+        case 6:
593
+          // 第二季度的起始日期和结束日期
594
+          const startOfSecondQuarter = new Date(currentDate.getFullYear(), 3, 1).toLocaleDateString('en-CA')
595
+          const endOfSecondQuarter = new Date(currentDate.getFullYear(), 5, 30).toLocaleDateString('en-CA')
596
+          this.start_time_one = startOfSecondQuarter
597
+          this.end_time_one = endOfSecondQuarter
598
+          // this.getDataTwo()
599
+          break
600
+        case 7:
601
+          // 第三季度的起始日期和结束日期
602
+          const startOfThirdQuarter = new Date(currentDate.getFullYear(), 6, 1).toLocaleDateString('en-CA')
603
+          const endOfThirdQuarter = new Date(currentDate.getFullYear(), 8, 30).toLocaleDateString('en-CA')
604
+
605
+          this.start_time_one = startOfThirdQuarter
606
+          this.end_time_one = endOfThirdQuarter
607
+          // this.getDataTwo()
608
+
609
+          break
610
+        case 8:
611
+          // 第四季度的起始日期和结束日期
612
+          const startOfFourthQuarter = new Date(currentDate.getFullYear(), 9, 1).toLocaleDateString('en-CA')
613
+          const endOfFourthQuarter = new Date(currentDate.getFullYear(), 11, 31).toLocaleDateString('en-CA')
614
+
615
+          this.start_time_one = startOfFourthQuarter
616
+          this.end_time_one = endOfFourthQuarter
617
+          // this.getDataTwo()
618
+          break
619
+        case 9:
620
+          this.start_time_one = ''
621
+          this.end_time_one = ''
622
+          break
623
+      }
624
+    },
428 625
 
429 626
 
430 627
     getSummaries(param) {
@@ -453,8 +650,15 @@ export default {
453 650
 
454 651
       return sums
455 652
     },
456
-    handleClick(id) {
457
-      console.log(id)
653
+    handleClick(row) {
654
+      if(row.name == "不达标值患者"){
655
+        this.statistics_type = 1
656
+      }else if(row.name == "达标值患者"){
657
+        this.statistics_type = 3
658
+      }else {
659
+        this.statistics_type = 2
660
+      }
661
+      this.getDataTwo()
458 662
     }
459 663
   }
460 664
 

+ 0 - 1
src/xt_pages/data/printTemplate/prescriptionPrint.vue View File

@@ -55,7 +55,6 @@
55 55
         :url-list="imgs"
56 56
       ></el-image-viewer>
57 57
 
58
-    </div>
59 58
   </div>
60 59
 </template>
61 60
 

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


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


+ 98 - 56
src/xt_pages/dialysis/batch_print/batch_print_order_twentySeven.vue View File

@@ -47,7 +47,7 @@
47 47
                         </div>
48 48
                       </td>
49 49
                       <td>岁</td>
50
-
50
+                      <td width="10"></td>
51 51
                       <td width="50">门诊号:</td>
52 52
                       <td width="150">
53 53
                         <div class="under-line">
@@ -72,44 +72,60 @@
72 72
                         </div>
73 73
                       </td>
74 74
                       <td width="30"></td>
75
-                      <!-- <td width="80">治疗日期:</td>
76
-                    <td width="120">
77
-                      <div class="under-line">
78
-                        &nbsp;<span>{{
79
-                          getTime(record.schedule_date, "{y}-{m}-{d}")
80
-                        }}</span>
75
+                      
76
+                    </tr>
77
+                  </tbody>
78
+                </table>
79
+                <table class="table-box" style="margin-top: 10px;">
80
+                  <tbody>
81
+                    <tr>
82
+                      <td width="90">传染病标志:</td>
83
+                      <td width="80">
84
+                        <div class="under-line">&nbsp;{{InfectiousDiseases?InfectiousDiseases:'阴性'}}</div>
85
+                      </td>
86
+                      <td width="10"></td>
87
+                      <td width="110">上次透析时间:</td>
88
+                      <td width="120">
89
+                        <div class="under-line">&nbsp;
90
+                          <!-- {{last_order?getTime(last_order.dialysis_date, "{y}-{m}-{d}"):''}} -->
91
+                        </div>
92
+                      </td>
93
+                      <td width="10"></td>
94
+                      <td width="120">本次透析时间:
95
+                        
96
+                      </td>
97
+                      <td width="120">
98
+                        <div class="under-line">&nbsp;
99
+                          <span style="width:30px;text-align:left;">
100
+                          {{ record.assessment_after_dislysis.actual_treatment_hour ? 
101
+                          record.assessment_after_dislysis.actual_treatment_hour : '' }}
102
+                        </span>h
103
+                        <span style="width:30px;text-align:left;">
104
+                          {{ record.assessment_after_dislysis.actual_treatment_minute ? 
105
+                          record.assessment_after_dislysis.actual_treatment_minute : '' }}
106
+                        </span>min
81 107
                       </div>
82
-                    </td> -->
108
+                      </td>
109
+                      <td width="10"></td>
110
+                      <td width="80">透析次数:
111
+                      </td>
112
+                      <td width="120">
113
+                        <div class="under-line">&nbsp;
114
+                          {{
115
+                            record.patient.total_dialysis +
116
+                            record.patient.user_sys_before_count
117
+                              ? record.patient.total_dialysis +
118
+                                record.patient.user_sys_before_count
119
+                              : "/"
120
+                          }}
121
+                        </div>
122
+                      </td>
123
+                      <td></td>
83 124
                     </tr>
84 125
                   </tbody>
85 126
                 </table>
86
-                <!-- <table class="table-box" style="margin-top: 10px;">
87
-          <tbody>
88
-            <tr>
89
-              <td width="90">传染病标志:</td>
90
-              <td width="80">
91
-                <div class="under-line">{{InfectiousDiseases?InfectiousDiseases:'阴性'}}</div>
92
-              </td>
93
-              <td width="10"></td>
94
-              <td width="110">上次透析时间:</td>
95
-              <td width="120">
96
-                <div class="under-line">&nbsp;{{last_order?getTime(last_order.dialysis_date, "{y}-{m}-{d}"):''}}</div>
97
-              </td>
98
-              <td width="10"></td>
99
-              <td width="110">本次透析时间:</td>
100
-              <td width="120">
101
-                <div class="under-line">&nbsp;{{ queryParams.xtdate }}</div>
102
-              </td>
103
-              <td width="10"></td>
104
-              <td width="80">透析次数:</td>
105
-              <td width="120">
106
-                <div class="under-line">&nbsp;{{ patientInfo.total_dialysis + patientInfo.user_sys_before_count }}</div>
107
-              </td>
108
-              <td></td>
109
-            </tr>
110
-          </tbody>
111
-        </table> -->
112
-                <table class="table-box" style="margin-top: 10px">
127
+               
128
+                <table class="table-box" style="margin-top: 10px;margin-bottom: 10px;" >
113 129
                   <tbody>
114 130
                     <tr>
115 131
                       <td width="80">床位号:</td>
@@ -566,8 +582,8 @@
566 582
                         <table class="table-box">
567 583
                           <tbody>
568 584
                             <tr>
569
-                              <td width="70">通路类型:</td>
570
-                              <td width="210">
585
+                              <td width="69">通路类型:</td>
586
+                              <td width="212">
571 587
                                 <div>
572 588
                                   <label-box
573 589
                                     :isChecked="
@@ -603,7 +619,7 @@
603 619
                                 </div>
604 620
                               </td>
605 621
 
606
-                              <td width="70">穿刺方法:</td>
622
+                              <td width="68">穿刺方法:</td>
607 623
                               <td width="180">
608 624
                                 <div>
609 625
                                   <label-box
@@ -670,8 +686,8 @@
670 686
                                 </div>
671 687
                               </td>
672 688
 
673
-                              <td width="50">导管:</td>
674
-                              <td width="130">
689
+                              <td width="40">导管:</td>
690
+                              <td width="120">
675 691
                                 <div>
676 692
                                   <label-box
677 693
                                     :isChecked="
@@ -3196,6 +3212,7 @@ import { jsGetAge, uParseTime } from "@/utils/tools";
3196 3212
 import { getDataConfig } from "@/utils/data";
3197 3213
 import LabelBox from "../printItem/LabelBox";
3198 3214
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
3215
+// import { getDialysisRecord } from '@/api/dialysis';
3199 3216
 import print from "print-js";
3200 3217
 export default {
3201 3218
   name: "BatchPrintOrder",
@@ -3254,6 +3271,12 @@ export default {
3254 3271
         "心衰",
3255 3272
         "腹痛",
3256 3273
       ],
3274
+      // queryParams: {
3275
+      //   xtdate: '',
3276
+      //   xtno: '',
3277
+      //   patient_id:0,
3278
+      // },
3279
+      // last_order:{}
3257 3280
     };
3258 3281
   },
3259 3282
   created() {
@@ -3292,16 +3315,18 @@ export default {
3292 3315
         dialysateFormulationOptions[key];
3293 3316
     }
3294 3317
 
3295
-    //   const xtdate = this.$route.query && this.$route.query.xtdate;
3296
-    //   const xtno = this.$route.query && this.$route.query.xtno;
3297
-    //   if (typeof (xtdate) == "string" && xtdate.length > 0 && typeof (xtno) == "string" && xtno.length > 0) {
3298
-    //     this.queryParams.xtdate = xtdate;
3299
-    //     this.queryParams.xtno = xtno;
3300
-    //     this.getDialysisRecord();
3301
-    //   } else {
3302
-    //     this.$message.error("参数不齐");
3303
-    //     return false;
3304
-    //   }
3318
+      // const xtdate = this.$route.query && this.$route.query.xtdate;
3319
+      // const xtno = this.$route.query && this.$route.query.xtno;
3320
+      // console.log('zxcvbvbvb');
3321
+      // // if (typeof (xtdate) == "string" && xtdate.length > 0 && typeof (xtno) == "string" && xtno.length > 0) {
3322
+      //   console.log('asdxvbcvbxc');
3323
+      //   this.queryParams.xtdate = xtdate;
3324
+      //   this.queryParams.xtno = xtno;
3325
+      //   this.getDialysisRecord();
3326
+      // } else {
3327
+      //   this.$message.error("参数不齐");
3328
+      //   return false;
3329
+      // }
3305 3330
   },
3306 3331
   mounted() {
3307 3332
     console.log(this.records);
@@ -3651,10 +3676,12 @@ export default {
3651 3676
       }
3652 3677
     },
3653 3678
     printAction: function () {
3679
+     
3654 3680
       const style =
3655 3681
         '@media print { .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 0 0; page-break-after: always; } .print_page_main_content .order-yy-name { margin: auto; text-align: center; font-size: 20px; letter-spacing: 5px;} .print_page_main_content .order_title { text-align: center; font-size: 23px; line-height: 50px; font-weight: 500; } .row { font-size: 14px; line-height: 20px; padding: 5px 0; } .inline_block { display: inline-block; } .under_line { display: inline-block; border-bottom: 1px solid #999; text-align: center; white-space: nowrap; } .under_line::before { content: "\\00A0"; } .under_line::after { content: "\\00A0"; } .flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; -webkit-align-items: center; box-align: center; -moz-box-align: center; -webkit-box-align: center; text-align: center; -webkit-justify-content: space-between; justify-content: space-between; -moz-box-pack: space-between; -webkit--moz-box-pack: space-between; box-pack: space-between; } .print_page_main_content .proj_table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } .print_page_main_content .proj_table tbody tr td { border: 1px solid; font-size: 16px; padding: 10px 8px; line-height: 30px; } .print_page_main_content .proj_table .inside_table { width: 100%; border: hidden; border-collapse: collapse; } .print_page_main_content .proj_table .inside_table tr td { border: 1px solid; text-align: center; font-size: 14px; padding: 8px 5px; line-height: 25px; } }.es-img{height: 20px; }.advice-name{text-align: left !important;line-height: 16px !important;}.advice-children{display:flex;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 2px;position: absolute;}';
3656 3682
       const style2 =
3657
-        '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:16px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}.row {font-size: 16px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}';
3683
+       // font-weight:600;
3684
+        '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:16px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}.row {font-size: 16px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}';
3658 3685
       printJS({
3659 3686
         printable: "print_content",
3660 3687
         type: "html",
@@ -3778,6 +3805,21 @@ export default {
3778 3805
         return record[key] == target_value;
3779 3806
       }
3780 3807
     },
3808
+    // getDialysisRecord() {
3809
+    //   this.loading = true
3810
+    //   this.queryParams.patient_id = parseInt(this.$route.query.patient_id)
3811
+    //   getDialysisRecord(this.queryParams).then(response => {
3812
+    //     if (response.data.state === 1) {
3813
+          
3814
+    //       this.last_order = response.data.data.last_order
3815
+    //       console.log('sdfas',this.last_order);
3816
+    //     } else {
3817
+    //       this.loading = false
3818
+    //       this.$message.error('请求数据失败')
3819
+    //       return false
3820
+    //     }
3821
+    //   })
3822
+    // },
3781 3823
   },
3782 3824
 };
3783 3825
 </script>
@@ -3802,7 +3844,7 @@ export default {
3802 3844
   text-align: center;
3803 3845
   font-size: 23px;
3804 3846
   line-height: 40px;
3805
-  font-weight: 500;
3847
+  /* font-weight: 500; */
3806 3848
 }
3807 3849
 
3808 3850
 .row {
@@ -3974,7 +4016,7 @@ export default {
3974 4016
 
3975 4017
 .dialysis-print-order .order-title {
3976 4018
   margin: auto;
3977
-  font-weight: 600;
4019
+  /* font-weight: 600; */
3978 4020
   text-align: center;
3979 4021
   font-size: 22px;
3980 4022
   padding: 10px 20px 20px 20px;
@@ -4014,7 +4056,7 @@ export default {
4014 4056
 }
4015 4057
 
4016 4058
 .dialysis-print-order .radio-lebel-box {
4017
-  font-weight: 400;
4059
+  /* font-weight: 400; */
4018 4060
   cursor: pointer;
4019 4061
 }
4020 4062
 
@@ -4125,7 +4167,7 @@ export default {
4125 4167
 
4126 4168
 .dialysis-print-order .order-title {
4127 4169
   margin: auto;
4128
-  font-weight: 600;
4170
+  /* font-weight: 600; */
4129 4171
   text-align: center;
4130 4172
   font-size: 22px;
4131 4173
   padding: 10px 20px 20px 20px;
@@ -4165,7 +4207,7 @@ export default {
4165 4207
 }
4166 4208
 
4167 4209
 .dialysis-print-order .radio-lebel-box {
4168
-  font-weight: 400;
4210
+  /* font-weight: 400; */
4169 4211
   cursor: pointer;
4170 4212
 }
4171 4213
 

+ 15 - 4
src/xt_pages/dialysis/bloodPresssWatch.vue View File

@@ -130,6 +130,15 @@
130 130
           >批量打印</el-button
131 131
         >
132 132
       </template>
133
+      <template v-if="this.template_id == 11">
134
+        <el-button
135
+          size="small"
136
+          icon="el-icon-printer"
137
+          :disabled="selecting_schs.length == 0"
138
+          @click="batchPrintAction"
139
+          type="primary"
140
+          >批量打印</el-button>
141
+      </template>
133 142
       <template v-if="this.template_id == 12">
134 143
         <el-button
135 144
           size="small"
@@ -219,7 +228,7 @@
219 228
           >批量打印</el-button
220 229
         >
221 230
       </template>
222
-      <!-- <template v-if="this.template_id == 27">
231
+      <template v-if="this.template_id == 27">
223 232
         <el-button
224 233
           size="small"
225 234
           icon="el-icon-printer"
@@ -228,7 +237,7 @@
228 237
           type="primary"
229 238
           >批量打印</el-button
230 239
         >
231
-      </template> -->
240
+      </template>
232 241
       <template v-if="this.template_id == 28">
233 242
         <el-button
234 243
           size="small"
@@ -392,7 +401,7 @@
392 401
           type="primary"
393 402
           >批量打印</el-button>
394 403
       </template>
395
-
404
+      
396 405
     </div>
397 406
     <div class="app-container">
398 407
       <!-- <div class="filter-container">
@@ -2073,6 +2082,8 @@ export default {
2073 2082
         this.$router.push({ path: "/dialysis/print/batch/eight" });
2074 2083
       } else if (this.template_id == 9) {
2075 2084
         this.$router.push({ path: "/dialysis/print/batch/nine" });
2085
+      }else if (this.template_id == 11) {
2086
+        this.$router.push({ path: "/dialysis/print/batch/Eleven" });
2076 2087
       } else if (this.template_id == 12) {
2077 2088
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
2078 2089
       } else if (this.template_id == 13) {
@@ -2125,7 +2136,7 @@ export default {
2125 2136
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2126 2137
       }else if (this.template_id == 62) {
2127 2138
         this.$router.push({ path: "/dialysis/print/batch/sixtyTwo" });
2128
-      }else if (this.template_id == 65) {//dialysis/print/batch/sixtyFive
2139
+      }else if (this.template_id == 65) {
2129 2140
         this.$router.push({ path: "/dialysis/print/batch/sixtyFive" });
2130 2141
       }
2131 2142
 

+ 3 - 6
src/xt_pages/dialysis/dialysisPrintOrder.vue View File

@@ -1623,8 +1623,7 @@ export default {
1623 1623
           scanStyles: false,
1624 1624
         });
1625 1625
       } else if (
1626
-        this.org_template_info.template_id == 2
1627
-       
1626
+        this.org_template_info.template_id == 2     
1628 1627
       ) {
1629 1628
         printJS({
1630 1629
           printable: "dialysis-print-box-1",
@@ -1906,16 +1905,14 @@ export default {
1906 1905
           style: style,
1907 1906
           scanStyles: false,
1908 1907
         });
1909
-      } else if (
1910
-        this.org_template_info.template_id == 43
1911
-      ) {
1908
+      } else if (this.org_template_info.template_id == 43) {
1912 1909
         printJS({
1913 1910
           printable: "dialysis-print-box-1",
1914 1911
           type: "html",
1915 1912
           style: style2,
1916 1913
           scanStyles: false,
1917 1914
         });
1918
-      }else if (this.org_template_info.template_id == 44) {
1915
+      } else if (this.org_template_info.template_id == 44) {
1919 1916
         printJS({
1920 1917
           printable: "dialysis-print-box-1",
1921 1918
           type: "html",

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


+ 0 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderSixtyfour.vue View File

@@ -486,7 +486,6 @@
486 486
                           />
487 487
                         </td> -->
488 488
                       </tr>
489
-                    
490 489
                   </table>
491 490
                 </td>
492 491
               </tr>

+ 3 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue View File

@@ -2079,6 +2079,7 @@ export default {
2079 2079
             this.AlPanel = this.anticoagulantsConfit[thisALID]
2080 2080
           }
2081 2081
           this.last_order = response.data.data.last_order
2082
+          console.log('123454576576',response.data.data);
2082 2083
           this.advices = response.data.data.advices
2083 2084
           this.monitors = response.data.data.monitors
2084 2085
           console.log('透析监测', this.monitors)
@@ -2396,7 +2397,9 @@ export default {
2396 2397
 
2397 2398
     const xtdate = this.$route.query && this.$route.query.xtdate
2398 2399
     const xtno = this.$route.query && this.$route.query.xtno
2400
+    
2399 2401
     if (typeof xtdate === 'string' && xtdate.length > 0 && typeof xtno === 'string' && xtno.length > 0) {
2402
+      
2400 2403
       this.queryParams.xtdate = xtdate
2401 2404
       this.queryParams.xtno = xtno
2402 2405
       this.getDialysisRecord()

+ 1 - 1
src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue View File

@@ -16,7 +16,7 @@
16 16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
17 17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
18 18
             </div>
19
-            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:300+ 'px'}">
19
+            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:280+ 'px'}">
20 20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
21 21
                     <span style="display:inline-block;width:200px;">
22 22
                         <span v-if="item.advice.id == 0">

+ 1 - 0
src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue View File

@@ -336,6 +336,7 @@
336 336
                                         <td style="width:10%;">麻醉医师代码</td>
337 337
                                     </tr>
338 338
                                     <tr>
339
+
339 340
                                         <td style="text-align:left;">&nbsp;主要:</td>
340 341
                                         <td>&nbsp;</td>
341 342
                                         <td>&nbsp;</td>

+ 53 - 0
src/xt_pages/outpatientCharges/summary.vue View File

@@ -738,6 +738,59 @@ export default {
738 738
           })
739 739
           .catch(function (error) {
740 740
           });
741
+    },export_detail_zzzz(){
742
+      handleTeamData({}).then((response) => {
743
+        if (response.data.state == 0) {
744
+          this.$message.error(response.data.msg);
745
+          return false;
746
+        } else {
747
+          let list = [];
748
+          for (let i = 0; i < response.data.data.ps.length; i++) {
749
+            let order = response.data.data.ps[i];
750
+            let obj = {
751
+              id:order.team_id,
752
+              name:order.pn,
753
+              sub_id:order.project.id,
754
+              sub_name:order.project.project_name
755
+            }
756
+            list.push(obj)
757
+          }
758
+
759
+          var tarList = [];
760
+          for (let i = 0; i < list.length; i++) {
761
+            let obj = {
762
+              "大项id": list[i].id,
763
+              "大项名称": list[i].name,
764
+              "子项id": list[i].sub_id,
765
+              "子项名称": list[i].sub_name,
766
+            }
767
+            tarList.push(obj)
768
+          }
769
+
770
+          import("@/vendor/Export2Excel").then((excel) => {
771
+            const tHeader = [
772
+              "大项id",
773
+              "大项名称",
774
+              "子项id",
775
+              "子项名称",
776
+            ];
777
+            const filterVal = [
778
+              "大项id",
779
+              "大项名称",
780
+              "子项id",
781
+              "子项名称",
782
+            ];
783
+            const data = this.formatJson(filterVal, tarList);
784
+            excel.export_json_to_excel({
785
+              header: tHeader,
786
+              data,
787
+              filename: "消费明细",
788
+            });
789
+          });
790
+        }
791
+      });
792
+
793
+
741 794
     },
742 795
     queryData(row){
743 796
       var that = this;

+ 197 - 1
src/xt_pages/outpatientTool/labelPrint.vue View File

@@ -47,11 +47,16 @@
47 47
 
48 48
                   <el-checkbox v-model="is_combination_print">是否组合打印</el-checkbox>
49 49
 
50
+<!--                  <el-checkbox v-model="is_combination_print">是否组合打印</el-checkbox>-->
51
+                  <el-button v-if="!is_combination_print" @click="printTwo()">组合打印</el-button>
52
+
50 53
                 </div>
51 54
             </div>
52 55
             <el-table :data="isShow?tableData:tableDataTwo" border :row-style="{ color: '#303133' }" ref="table"
53 56
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
57
+                      @selection-change="handleSelectionChange"
54 58
                       highlight-current-row>
59
+              <el-table-column align="center" type="selection" width="55"></el-table-column>
55 60
 
56 61
                 <el-table-column align="center" prop="name" label="患者名字">
57 62
                     <template slot-scope="scope">{{ scope.row.patient_name }}</template>
@@ -216,7 +221,7 @@
216 221
         current_number: '',
217 222
         current_project_name: '',
218 223
         current_name: '',
219
-
224
+        selecting_schs:[],
220 225
         labelVisible: false,
221 226
         crumbs: [
222 227
           { path: false, name: 'HIS工具' },
@@ -244,6 +249,182 @@
244 249
       }
245 250
     },
246 251
     methods: {
252
+      printTwo(){
253
+        let patient_ids = []
254
+        for(let i = 0; i < this.selecting_schs.length; i++){
255
+          patient_ids.push(this.selecting_schs[i].patient_id)
256
+        }
257
+        patient_ids =  this.uniqueTwo(patient_ids)
258
+        if(patient_ids.length != 0 && patient_ids.length > 1){
259
+          this.$message.error("请选择同一患者打印")
260
+          return
261
+        }else{
262
+          let ids = []
263
+          var name = ""
264
+          var patient_name = ""
265
+          var team_ids = ""
266
+          var project_ids = ""
267
+
268
+
269
+          for(let i = 0; i < this.selecting_schs.length; i++){
270
+            ids.push(this.selecting_schs[i].id)
271
+            patient_name = this.selecting_schs[0].patient_name
272
+            if(name.length == 0){
273
+              name = this.selecting_schs[i].project_name
274
+            }else{
275
+              name = name + "," + this.selecting_schs[i].project_name
276
+
277
+            }
278
+
279
+            if(team_ids.length == 0){
280
+              if(this.selecting_schs[i].team_id > 0) {
281
+                team_ids = this.selecting_schs[i].team_id
282
+              }
283
+            }else{
284
+              if(this.selecting_schs[i].team_id > 0) {
285
+                team_ids = team_ids + "," + this.selecting_schs[i].team_id
286
+              }
287
+            }
288
+
289
+            if(project_ids.length == 0){
290
+              if(this.selecting_schs[i].team_id > 0) {
291
+                project_ids = this.selecting_schs[i].project_ids
292
+              }
293
+            }else{
294
+              if(this.selecting_schs[i].team_id > 0) {
295
+                project_ids = project_ids + "," + this.selecting_schs[i].project_ids
296
+              }
297
+            }
298
+          }
299
+          let params = {
300
+            patient_id: patient_ids[0],
301
+            ids: ids,
302
+            record_date:this.chargeDate,
303
+          }
304
+          getPrintLable(params).then(response => {
305
+            if (response.data.state == 0) {
306
+              this.$message.error(response.data.msg)
307
+              return false
308
+            } else {
309
+              this.labelVisible = true
310
+              if(response.data.data.labels.id > 0){
311
+                this.current_ctime = response.data.data.labels.ctime
312
+                this.current_number = ""
313
+                this.current_project_name =name
314
+                this.current_name = patient_name
315
+                this.$nextTick(() => {
316
+                  JsBarcode('#barcode',response.data.data.labels.id, {
317
+                    format: 'CODE39',
318
+                    lineColor: '#000',
319
+                    background: '#EBEEF5',
320
+                    width: 3,
321
+                    height: 200,
322
+                    displayValue: false,
323
+                    fontOptions:"bold italic",//使文字加粗体或变斜体
324
+                    font:"fantasy",//设置文本的字体
325
+                    textAlign:"left",//设置文本的水平对齐方式
326
+                    textPosition:"top",//设置文本的垂直位置
327
+                    textMargin:5,//设置条形码和文本之间的间距
328
+                    fontSize:15,//设置文本的大小
329
+                    margin:15//设置条形码周围的空白边距
330
+                  })
331
+                });
332
+
333
+              }else{
334
+                let params = {
335
+                  is_combination_print:this.is_combination_print,
336
+                  patient_id: patient_ids[0],
337
+                  ids:ids,
338
+                  team_ids:team_ids,
339
+                  project_ids:project_ids,
340
+                  doctor_id:0,
341
+                  is_team:0,
342
+                  record_date:this.chargeDate,
343
+                }
344
+                this.current_params = params
345
+                console.log(this.current_params)
346
+                if(!this.current_params.is_combination_print){
347
+                  if(this.current_params.project_ids.toString().length > 0 && this.current_params.team_ids.toString().length == 0){
348
+                    this.current_params.is_team = 0
349
+                  }else if(this.current_params.project_ids.toString().length == 0 && this.current_params.team_ids.toString().length > 0){
350
+                    this.current_params.is_team= 1
351
+                  }
352
+                }else{
353
+                  this.current_params.is_team = 0
354
+
355
+                }
356
+
357
+
358
+                if(!this.isShow){
359
+                  createPrintLable(this.current_params).then(response => {
360
+                    if (response.data.state == 0) {
361
+                      this.$message.error(response.data.msg)
362
+                      return false
363
+                    } else {
364
+                      this.current_ctime = row.ctime
365
+                      this.current_number = row.number
366
+                      this.current_project_name = row.project_name
367
+                      this.current_name = row.patient_name
368
+                      this.$nextTick(() => {
369
+                        JsBarcode('#barcode',response.data.data.hlpsi.id, {
370
+                          format: 'CODE39',
371
+                          lineColor: '#000',
372
+                          background: '#EBEEF5',
373
+                          width: 3,
374
+                          height: 200,
375
+                          displayValue: false,
376
+                          fontOptions:"bold italic",//使文字加粗体或变斜体
377
+                          font:"fantasy",//设置文本的字体
378
+                          textAlign:"left",//设置文本的水平对齐方式
379
+                          textPosition:"top",//设置文本的垂直位置
380
+                          textMargin:5,//设置条形码和文本之间的间距
381
+                          fontSize:15,//设置文本的大小
382
+                          margin:15//设置条形码周围的空白边距
383
+                        })
384
+
385
+                      });
386
+                    }
387
+                  })
388
+
389
+                }else{
390
+                  createPrintLable(this.current_params).then(response => {
391
+                    if (response.data.state == 0) {
392
+                      this.$message.error(response.data.msg)
393
+                      return false
394
+                    } else {
395
+                      this.current_ctime = row.ctime
396
+                      this.current_number = row.number
397
+                      this.current_project_name = row.project_name
398
+                      this.current_name = row.patient_name
399
+                      this.$nextTick(() => {
400
+                        JsBarcode('#barcode',response.data.data.hlpsi.id, {
401
+                          format: 'CODE39',
402
+                          lineColor: '#000',
403
+                          background: '#EBEEF5',
404
+                          width: 5,
405
+                          height: 300,
406
+                          displayValue: false,
407
+                          fontOptions:"bold italic",//使文字加粗体或变斜体
408
+                          font:"fantasy",//设置文本的字体
409
+                          textAlign:"left",//设置文本的水平对齐方式
410
+                          textPosition:"top",//设置文本的垂直位置
411
+                          textMargin:5,//设置条形码和文本之间的间距
412
+                          fontSize:15,//设置文本的大小
413
+                          margin:15//设置条形码周围的空白边距
414
+                        })
415
+                      });
416
+                    }
417
+                  })
418
+                }
419
+              }
420
+            }
421
+          })
422
+        }
423
+      },
424
+      handleSelectionChange(val) {
425
+        this.selecting_schs = val
426
+        console.log(this.selecting_schs)
427
+      },
247 428
       getDictionaryDataConfig(module, filed_name) {
248 429
         return getDictionaryDataConfig(module, filed_name)
249 430
 
@@ -504,6 +685,21 @@
504 685
           }
505 686
         }
506 687
         return res
688
+      },uniqueTwo(array) {
689
+        // res用来存储结果
690
+        var res = []
691
+        for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
692
+          for (var j = 0, resLen = res.length; j < resLen; j++) {
693
+            if (array[i] === res[j]) {
694
+              break
695
+            }
696
+          }
697
+          // 如果array[i]是唯一的,那么执行完循环,j等于resLen
698
+          if (j === resLen) {
699
+            res.push(array[i])
700
+          }
701
+        }
702
+        return res
507 703
       },
508 704
       getListTwo() {
509 705
         let params = {

+ 3 - 1
src/xt_pages/stock/stockInOrderAdd.vue View File

@@ -58,6 +58,7 @@
58 58
                     @select="handleSelect"
59 59
                     @input="changeGoodName(scope.$index)"
60 60
                     style="width:160px;"
61
+                    :popper-append-to-body="true"
61 62
                   >
62 63
                     <i class="el-icon-search el-input__icon" slot="suffix"></i>
63 64
                   <template slot-scope="{ item }">
@@ -1013,7 +1014,8 @@
1013 1014
     background: #6fb5fa;
1014 1015
   }
1015 1016
 .el-autocomplete-suggestion{
1016
-    width: 400px !important;
1017
+    /* width: 400px !important; */
1018
+    width: auto !important;
1017 1019
   }
1018 1020
 
1019 1021
 

+ 20 - 12
src/xt_pages/stock/stockOutOrderAdd.vue View File

@@ -97,13 +97,28 @@
97 97
                     placeholder="请输入耗材名称"
98 98
                     @select="handleSelect"
99 99
                     @input="changeGoodName(scope.$index)"
100
-                    style="width:150px;"
100
+                    :popper-append-to-body="true"
101 101
                   >
102 102
                     <i class="el-icon-search el-input__icon" slot="suffix"></i>
103 103
                   <template slot-scope="{ item }">
104 104
                     <div class="name">{{item.good_name +"  " +item.specification_name + "  "+  item.manufacturer}}</div>
105 105
                   </template>
106
-                 </el-autocomplete>
106
+                </el-autocomplete>
107
+
108
+                 <!-- <el-autocomplete
109
+                    v-model="scope.row.good_name"
110
+                    :fetch-suggestions="querySearchAsync"
111
+                    :trigger-on-focus="true"
112
+                    placeholder="请输入耗材名称"
113
+                    @select="handleSelect"
114
+                    :popper-append-to-body="true"
115
+                  >
116
+                  
117
+                  <i class="el-icon-search el-input__icon" slot="suffix"></i>
118
+                  <template slot-scope="{ item }">
119
+                    <div class="name">{{item.good_name +"  " +item.specification_name + "  "+  item.manufacturer}}</div>
120
+                  </template>
121
+                 </el-autocomplete> -->
107 122
               </el-form-item>
108 123
             </template>
109 124
           </el-table-column>
@@ -111,10 +126,7 @@
111 126
             <template slot="header" slot-scope="scope">
112 127
               <span>耗材类型</span>
113 128
             </template>
114
-
115 129
             <template slot-scope="scope">
116
-
117
-
118 130
               <el-form-item style="padding-top: 20px">
119 131
                 <el-input
120 132
                   placeholder="请输入耗材类型"
@@ -125,7 +137,6 @@
125 137
             </template>
126 138
           </el-table-column>
127 139
 
128
-
129 140
           <el-table-column width="140" align="center">
130 141
             <template slot="header" slot-scope="scope">
131 142
               <span>规格&单位<span style="color: red">*</span></span>
@@ -230,8 +241,6 @@
230 241
             </template>
231 242
           </el-table-column>
232 243
 
233
-
234
-
235 244
           <el-table-column label="总价"  width="80" align="center">
236 245
             <template slot-scope="scope">
237 246
               {{ calculate(scope.row.price * scope.row.count) }}
@@ -312,8 +321,6 @@
312 321
             </template>
313 322
           </el-table-column>
314 323
 
315
-
316
-
317 324
           <el-table-column label="备注"  width="150" align="center">
318 325
             <template slot-scope="scope">
319 326
               <el-input v-model="scope.row.remark"></el-input>
@@ -1057,8 +1064,9 @@ export default {
1057 1064
 .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
1058 1065
   background: #6fb5fa;
1059 1066
 }
1060
-s.el-autocomplete-suggestion{
1061
-  width: 400px !important;
1067
+.el-autocomplete-suggestion{
1068
+  // width: 400px !important;
1069
+  width: auto !important;
1062 1070
 }
1063 1071
 ::-webkit-scrollbar{
1064 1072
   height: 20px;

+ 110 - 12
src/xt_pages/user/components/PatientSidebar.vue View File

@@ -203,7 +203,68 @@ export default {
203 203
             },
204 204
           ]
205 205
         },
206
-
206
+        {
207
+          name: '5',
208
+          label: '评估工具',
209
+          children: [
210
+            {
211
+              name: '5-1',
212
+              label: '跌倒评估'
213
+            },
214
+            {
215
+              name: '5-2',
216
+              label: '小儿跌倒风险评估'
217
+            },
218
+            {
219
+              name: '5-3',
220
+              label: '压疮风险评估'
221
+            },
222
+            {
223
+              name: '5-4',
224
+              label: 'OH压疮评估'
225
+            },
226
+            {
227
+              name: '5-5',
228
+              label: '日常生活能力评估'
229
+            },
230
+            {
231
+              name: '5-6',
232
+              label: '导管脱离风险评估'
233
+            },
234
+            {
235
+              name: '5-7',
236
+              label: 'RASS及疼痛评估'
237
+            },
238
+            {
239
+              name: '5-8',
240
+              label: '营养状况评估'
241
+            },
242
+            {
243
+              name: '5-9',
244
+              label: '约束告知单'
245
+            },
246
+            {
247
+              name: '5-10',
248
+              label: '心理评估'
249
+            },
250
+            {
251
+              name: '5-11',
252
+              label: '瘙痒评估'
253
+            },
254
+            {
255
+              name: '5-12',
256
+              label: '血液透析患者评估'
257
+            },
258
+            {
259
+              name: '5-13',
260
+              label: 'Glasgow昏迷评分量表'
261
+            },
262
+            {
263
+              name: '5-14',
264
+              label: '肌力评估表'
265
+            },
266
+          ]
267
+        },
207 268
       ],
208 269
       name:""
209 270
     }
@@ -245,27 +306,64 @@ export default {
245 306
         this.$router.push({
246 307
           path: '/patients/patient/' + this.id + '/proeducation'
247 308
         })
248
-      }else if (name == '1-7'){
309
+      } else if (name == '1-7'){
249 310
         this.$router.push({path:'/patients/patient/'+this.id+'/vascularAccess'})
250
-      }else if (name == '1-8'){
311
+      } else if (name == '1-8'){
251 312
         this.$router.push({path:'/patients/patients/'+this.id+'/inspectionInfectious'})
252
-      }else if (name == '1-9'){
313
+      } else if (name == '1-9'){
253 314
         this.$router.push({path:'/patient/patient/'+this.id+'/templateSummary'})
254
-      }else if(name == '1-10'){
315
+      } else if(name == '1-10'){
255 316
         this.$router.push({path:'/patient/patient/'+this.id+'/hospitalSummary'})
256
-      }else if(name == '1-11'){
317
+      } else if(name == '1-11'){
257 318
         this.$router.push({path:'/patient/patient/'+this.id+'/firstDisease'})
258
-      }else if(name == '3-1'){
319
+      } else if(name == '3-1'){
259 320
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
260 321
 
261 322
       } else if(name == '3-2'){
262 323
         this.$router.push({path:'/patients/physicalexamination?id='+this.id})
263 324
 
264
-      }else if(name == '4-1'){
325
+      } else if(name == '4-1'){
265 326
         this.$router.push({path:'/patients/inspection_check?id='+this.id})
266
-      }else if(name == '4-3'){
327
+      } else if(name == '4-3'){
267 328
         this.$router.push({path:'/patients/ktv?id='+this.id})
268
-      }
329
+      } else if (name == '5-1') {
330
+        this.$router.push({
331
+          path: '/patients/patient/'+ this.id +'/Fallassessment'
332
+        })
333
+      } else if (name == '5-2') {
334
+        this.$router.push({
335
+          path: '/patients/patient/' + this.id + '/pediatricFallAssessment'
336
+        })
337
+      } else if (name == '5-3') {
338
+        this.$router.push({
339
+          path: '/patients/patient/' + this.id + '/pressuresore'
340
+        })
341
+      } else if (name == '5-4') {
342
+        this.$router.push({
343
+          path: '/patients/patient/' + this.id + '/OHpressuresore'
344
+        })
345
+      } else if (name == '5-5'){
346
+        this.$router.push({path:'/patients/patient/'+this.id+'/dailyLife'})
347
+      } else if (name == '5-6'){
348
+        this.$router.push({path:'/patients/patient/'+this.id+'/Cathetershedding'})
349
+      } else if (name == '5-7'){
350
+        this.$router.push({path:'/patients/patient/'+this.id+'/RassAssessment'})
351
+      } else if(name == '5-8'){
352
+        this.$router.push({path:'/patients/patient/'+this.id+'/nourishmentAssessment'})
353
+      } else if(name == '5-9'){
354
+        this.$router.push({path:'/patients/patient/'+this.id+'/Constraintnotification'})
355
+      } else if(name == '5-10'){
356
+        this.$router.push({ path: '/patients/patient/' + this.id+'/mindAssessment'})
357
+      } else if(name == '5-11'){
358
+        this.$router.push({path:'/patients/patient/' + this.id+'/pruritusAssessment'})
359
+
360
+      } else if(name == '5-12'){
361
+        this.$router.push({path:'/patients/patient/' + this.id+'/hemodialysis'})
362
+      } else if(name == '5-13'){
363
+        this.$router.push({path:'/patients/patient/' + this.id+'/Glasgow'})
364
+      } else if(name == '5-14'){
365
+        this.$router.push({path:'/patients/patient/' + this.id+'/Muscleforce'})
366
+      } 
269 367
     },
270 368
     changePatient(value) {
271 369
       console.log(value)
@@ -397,7 +495,7 @@ export default {
397 495
       }
398 496
        else if (patientKey == '1-5') {
399 497
         this.$router.push({ path: '/patients/rescue?id=' + this.id })
400
-      }else if (patientKey == '2-1') {
498
+      } else if (patientKey == '2-1') {
401 499
         this.$router.push({
402 500
           path: '/patients/patient/' + this.id + '/dialysisSolution'
403 501
         })
@@ -413,7 +511,7 @@ export default {
413 511
         this.$router.push({
414 512
           path: '/patients/patient/' + this.id + '/proeducation'
415 513
         })
416
-      }else if (patientKey == '3-1') {
514
+      } else if (patientKey == '3-1') {
417 515
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
418 516
       }
419 517
 

+ 0 - 6
src/xt_pages/user/dialysisSolution.vue View File

@@ -243,9 +243,6 @@
243 243
 
244 244
     </div>
245 245
 
246
-
247
-
248
-
249 246
     <el-dialog
250 247
       :title="isEdit ? '编辑透析处方' : '新增透析处方'"
251 248
       :visible.sync="dialogVisible"
@@ -812,9 +809,6 @@
812 809
       v-on:dialog-cancle="innerDialogCancle">
813 810
     </multi-select-box>
814 811
 
815
-
816
-
817
-
818 812
     <el-dialog
819 813
       :visible.sync="startDialogVisible"
820 814
       width="1010px"

+ 1 - 1
src/xt_pages/user/hospitalSummary.vue View File

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div class="patient-container">
3
-    <patient-sidebar :id="patient_id" defaultActive="1-9"></patient-sidebar>
3
+    <patient-sidebar :id="patient_id" defaultActive="1-10"></patient-sidebar>
4 4
     <div v-loading="loading">
5 5
       <div class="patient-app-container advice-container app-container">
6 6
 

+ 54 - 207
src/xt_pages/user/inspection.vue View File

@@ -40,29 +40,6 @@
40 40
         </el-col>
41 41
         <el-col :span="17" v-loading="itemLoading">
42 42
           <div class="filter-container" style="float:right">
43
-
44
-            <el-button
45
-              size="small"
46
-              class="filter-item"
47
-              type="primary"
48
-              @click="setRemindDialog()"
49
-              v-if="project && project.project_id != 14"
50
-              icon="el-icon-circle-plus-outline"
51
-              :disabled="project ? false : true"
52
-            >设置提醒弹窗
53
-            </el-button>
54
-
55
-            <el-button
56
-              size="small"
57
-              class="filter-item"
58
-              type="primary"
59
-              @click="setRemind()"
60
-              v-if="project && project.project_id != 14"
61
-              icon="el-icon-circle-plus-outline"
62
-              :disabled="project ? false : true"
63
-            >设置提醒周期
64
-            </el-button>
65
-
66 43
             <el-button
67 44
               size="small"
68 45
               class="filter-item"
@@ -190,12 +167,24 @@
190 167
             <el-row>
191 168
               <template v-for="(item, index) in items">
192 169
                 <el-col :span="7" :key="index">
193
-                  <div style="width: 400px">
170
+                  <div style=" margin: 5px;">
194 171
                     <el-row>
195
-                      <img  :src="item.value" alt="">
172
+                      <el-col :span="8" style="width: 100%;height: 100%;" >
173
+                        <div @click="imgClicks(item.value)">
174
+                          <el-tooltip
175
+                            class="item"
176
+                            effect="dark"
177
+                            :hide-after="2000"
178
+                            content="点击查看大图"
179
+                            placement="top-start"
180
+                            >
181
+                              <img :src="item.value" alt="">
182
+                            </el-tooltip>
183
+                        </div>
184
+                      </el-col>
196 185
                     </el-row>
197 186
                     <el-row>
198
-                      <div style="word-break: break-all;word-wrap: break-word">{{item.item_name}}</div>
187
+                      <div style="word-break: break-all;word-wrap: break-word; text-align:center">{{item.item_name}}</div>
199 188
                     </el-row>
200 189
                   </div>
201 190
                 </el-col>
@@ -219,61 +208,6 @@
219 208
       </el-row>
220 209
     </div>
221 210
 
222
-    <el-dialog
223
-      :title="formTitle"
224
-      :visible.sync="dialogRemindFormVisible"
225
-      width="1000px"
226
-      id="user-inspection-form"
227
-    >
228
-      <el-form :model="form" ref="form" label-position="top">
229
-        <el-row>
230
-          <el-col :span="24">
231
-            <el-form-item label="周期提醒: ">
232
-              <el-radio-group v-model="temp_remind_cycle">
233
-                <el-radio :label="1">一月一次</el-radio>
234
-                <el-radio :label="2">两月一次</el-radio>
235
-                <el-radio :label="3">三月一次</el-radio>
236
-                <el-radio :label="4">半年一次</el-radio>
237
-                <el-radio :label="5">一年一次</el-radio>
238
-              </el-radio-group>
239
-            </el-form-item>
240
-          </el-col>
241
-        </el-row>
242
-      </el-form>
243
-      <div slot="footer" class="dialog-footer">
244
-        <el-button @click="dialogRemindFormVisible = false">取 消</el-button>
245
-        <el-button
246
-          type="primary"
247
-          @click="submitNewRemind()"
248
-        >保 存
249
-        </el-button
250
-        >
251
-      </div>
252
-    </el-dialog>
253
-
254
-    <el-dialog
255
-      :visible.sync="dialogRemindDialogFormVisible"
256
-      width="1000px"
257
-      id="user-inspection-form"
258
-    >
259
-      <el-col :span="24">
260
-        <p style="margin-top:20px;">是否弹窗提醒:
261
-          <el-switch v-model="is_open"></el-switch>
262
-        </p>
263
-      </el-col>
264
-      <div slot="footer" class="dialog-footer">
265
-        <el-button @click="dialogRemindDialogFormVisible = false">取 消</el-button>
266
-        <el-button
267
-          type="primary"
268
-          @click="submitRemindDialog()"
269
-        >保 存
270
-        </el-button
271
-        >
272
-      </div>
273
-    </el-dialog>
274
-
275
-
276
-
277 211
     <el-dialog
278 212
       :title="formTitle"
279 213
       :visible.sync="dialogFormVisible"
@@ -452,12 +386,19 @@
452 386
         </el-button>
453 387
       </div>
454 388
     </el-dialog>
389
+
390
+    <el-image-viewer
391
+        v-if="showViewer"
392
+        :on-close="closeViewer"
393
+        :url-list="imgs"
394
+      ></el-image-viewer>
455 395
   </div>
456 396
 
457 397
 </template>
458 398
 
459 399
 <script>
460 400
 import PatientSidebar from './components/PatientSidebar'
401
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
461 402
 import { getToken } from '@/api/qiniu'
462 403
 
463 404
 import {
@@ -467,20 +408,17 @@ import {
467 408
   DeletePatientInspection,
468 409
   EditPatientInspection,
469 410
   fetchInspectionReference,
470
-  fetchPatientInspections,
471
-  setRemind,
472
-  setRemindDialog
411
+  fetchPatientInspections
473 412
 } from '@/api/inspection'
474 413
 import { getFileExtension, uParseTime } from '@/utils/tools'
475 414
 
476 415
 export default {
477 416
   name: 'Inspection',
478
-  components: { PatientSidebar },
417
+  components: { PatientSidebar, ElImageViewer},
479 418
   data() {
480 419
     return {
481
-      temp_remind_cycle:"",
482
-      is_open:false,
483
-      record_id:0,
420
+      showViewer:false,
421
+      imgs:[],
484 422
       total: 0,
485 423
       qiniuDomain: 'https://images.shengws.com/',
486 424
       isPic:false,
@@ -496,8 +434,6 @@ export default {
496 434
       },
497 435
       itemName: '请选择项目',
498 436
       formTitle: '',
499
-      dialogRemindFormVisible:false,
500
-      dialogRemindDialogFormVisible:false,
501 437
       dialogPicFormVisible: false,
502 438
       dialogFormVisible: false,
503 439
       patient_info: null,
@@ -527,6 +463,15 @@ export default {
527 463
     }
528 464
   },
529 465
   methods: {
466
+    imgClicks(val){
467
+      console.log('asdasgg',val);
468
+      this.imgs = []
469
+      this.imgs.push(val)
470
+      this.showViewer = true
471
+    },
472
+    closeViewer(){
473
+      this.showViewer = false
474
+    },
530 475
     beforeAvatarUpload(file) {
531 476
       // const isJPG = file.type === "image/jpeg";
532 477
       var fileType = file.type
@@ -663,55 +608,8 @@ export default {
663 608
         })
664 609
         .catch(() => {
665 610
         })
666
-    },submitRemindDialog(){
667
-      var temp_is_open = 0
668
-      if(this.is_open){
669
-        temp_is_open = 1
670
-      }else{
671
-        temp_is_open = 0
672
-      }
673
-      setRemindDialog(this.record_id,temp_is_open).then(response => {
674
-        if (response.data.state == 0) {
675
-          this.$message.error(response.data.msg)
676
-          return false
677
-        } else {
678
-          this.record_id = response.data.data.config.id
679
-          if(response.data.data.config.is_open == 1){
680
-            this.is_open = true
681
-          }else{
682
-            this.is_open = false
683
-          }
684
-          this.$notify({
685
-            title: '成功',
686
-            message: '设置成功',
687
-            type: 'success',
688
-            duration: 2000
689
-          })
690
-          this.dialogRemindDialogFormVisible = false
691
-        }
692
-      })
693
-    },submitNewRemind(){
694
-      // console.log(this.is_open)
695
-      var params = {
696
-        patient: this.patientID,
697
-        project_id: this.project.project_id,
698
-        remind_cycle: this.temp_remind_cycle
699
-      }
700
-      setRemind(params).then(response => {
701
-        if (response.data.state == 0) {
702
-          this.$message.error(response.data.msg)
703
-          return false
704
-        } else {
705
-          this.$notify({
706
-            title: '成功',
707
-            message: '设置成功',
708
-            type: 'success',
709
-            duration: 2000
710
-          })
711
-          this.dialogRemindFormVisible = false
712
-        }
713
-      })
714
-    }, openEdit() {
611
+    },
612
+    openEdit() {
715 613
 
716 614
       if (this.project == null) {
717 615
         this.$message.error('请先选择项目')
@@ -741,11 +639,7 @@ export default {
741 639
         this.form.project_id = this.project.project_id
742 640
         this.form.inspect_date = this.itemDate
743 641
         this.form.old_inspect_date = this.itemDate
744
-        if(this.form.project_id == 14) {
745
-          this.form.remind_cycle = this.patient_info.remind_cycle
746
-        }else{
747
-          this.form.remind_cycle =""
748
-        }
642
+        this.form.remind_cycle = this.patient_info.remind_cycle
749 643
         console.log(this.form.remind_cycle)
750 644
 
751 645
         this.form.formItem = []
@@ -768,15 +662,8 @@ export default {
768 662
 
769 663
       }
770 664
 
771
-    },setRemindDialog(){
772
-      this.dialogRemindDialogFormVisible = true
773
-
774
-
775
-    },setRemind(){
776
-      this.dialogRemindFormVisible = true
777
-      // this.temp_remind_cycle = this.
778
-
779
-    },openPic() {
665
+    },
666
+    openPic() {
780 667
       if (this.project == null) {
781 668
         this.$message.error('请先选择项目')
782 669
         return false
@@ -787,9 +674,7 @@ export default {
787 674
       this.form.project_id = this.project.project_id
788 675
       this.form.imgs=[]
789 676
       this.form.delete_imgs=[]
790
-      if(this.form.project_id == 14) {
791
-        this.form.remind_cycle = this.patient_info.remind_cycle
792
-      }
677
+      this.form.remind_cycle = this.patient_info.remind_cycle
793 678
       var today = new Date()
794 679
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
795 680
       this.form.formItem = []
@@ -826,10 +711,7 @@ export default {
826 711
       this.form.method = 'add'
827 712
       this.formTitle = '新增' + this.project.project_name
828 713
       this.form.project_id = this.project.project_id
829
-      if(this.form.project_id == 14) {
830
-        this.form.remind_cycle = this.patient_info.remind_cycle
831
-      }
832
-      // this.form.remind_cycle = this.patient_info.remind_cycle
714
+      this.form.remind_cycle = this.patient_info.remind_cycle
833 715
       var today = new Date()
834 716
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
835 717
       this.form.formItem = []
@@ -882,8 +764,6 @@ export default {
882 764
               this.itemDate = this.form.inspect_date
883 765
               this.items = []
884 766
               var inspections = response.data.data.inspections
885
-
886
-
887 767
               this.inspections = response.data.data.inspections
888 768
               if (inspections == null) {
889 769
                 this.inspections = []
@@ -897,7 +777,6 @@ export default {
897 777
                 this.inspectionsMap[inspections[index].item_id] =
898 778
                   inspections[index]
899 779
               }
900
-
901 780
               var items = this.project.inspection_reference
902 781
               console.log('itmes', items)
903 782
               for (var index in items) {
@@ -956,7 +835,8 @@ export default {
956 835
             this.patientID,
957 836
             this.form,
958 837
             this.form.remind_cycle
959
-          ).then(response => {
838
+          )
839
+            .then(response => {
960 840
               if (response.data.state == 1) {
961 841
                 this.$notify({
962 842
                   title: '成功',
@@ -1038,7 +918,8 @@ export default {
1038 918
           return false
1039 919
         }
1040 920
       })
1041
-    }, submitEditPicNew() {
921
+    },
922
+    submitEditPicNew() {
1042 923
       if (this.form.imgs.length == 0) {
1043 924
         this.$message.error('未上传图片')
1044 925
         return false
@@ -1075,7 +956,8 @@ export default {
1075 956
         })
1076 957
       this.formLoading = false
1077 958
 
1078
-    },deletePic(item,index){
959
+    },
960
+    deletePic(item,index){
1079 961
       if(item.id == 0){
1080 962
         this.form.imgs.splice(index,1)
1081 963
       }else{
@@ -1157,16 +1039,15 @@ export default {
1157 1039
 
1158 1040
     },
1159 1041
     fetchInspectionReference() {
1160
-      fetchInspectionReference(this.patientID).then(response => {
1042
+      fetchInspectionReference(this.patientID)
1043
+        .then(response => {
1161 1044
           if (response.data.state == 1) {
1162 1045
             var reference = response.data.data.reference
1163
-
1164 1046
             var patient_info = response.data.data.patient_info
1165 1047
             this.projects = reference
1166 1048
             this.patient_info = patient_info
1167 1049
             this.pageLoading = false
1168
-
1169
-            // this.form.remind_cycle = this.patient_info.remind_cycle
1050
+            this.form.remind_cycle = this.patient_info.remind_cycle
1170 1051
           } else {
1171 1052
             this.$message.error(response.data.msg)
1172 1053
             return false
@@ -1214,35 +1095,8 @@ export default {
1214 1095
         .then(response => {
1215 1096
           if (response.data.state == 1) {
1216 1097
             var inspections = response.data.data.inspections
1217
-            console.log("inspections=========",inspections)
1218
-            console.log("时间",this.project.inspection_reference)
1219
-            var obj = {created_time:0,inspect_date:0,inspect_desc:"",inspect_tips:"",inspect_type:1,inspect_value:"",item_id:11063,item_name:"",org_id:0,patient_id:"",project_id:4,project_name:"",updated_time:"",status:1}
1220
-
1221 1098
             this.total = response.data.data.total
1222 1099
             this.itemDate = response.data.data.date
1223
-            let remind = response.data.data.remind
1224
-
1225
-            let config = response.data.data.config
1226
-            this.record_id = config.id
1227
-            if(config.id > 0){
1228
-
1229
-              if(config.is_open == 1){
1230
-                this.is_open = true
1231
-              }else{
1232
-                this.is_open = false
1233
-
1234
-              }
1235
-            }else{
1236
-              this.is_open = false
1237
-            }
1238
-
1239
-
1240
-            if(remind.id > 0 && remind.remind_cycle > 0){
1241
-              this.temp_remind_cycle = remind.remind_cycle
1242
-            }else{
1243
-              this.temp_remind_cycle = ""
1244
-            }
1245
-
1246 1100
             this.inspections = response.data.data.inspections
1247 1101
             if (inspections == null) {
1248 1102
               this.inspections = []
@@ -1251,22 +1105,17 @@ export default {
1251 1105
             var inspectionsMap = {}
1252 1106
             this.inspectionsMap = {}
1253 1107
             for (var index in inspections) {
1254
-
1255 1108
               inspectionsMap[inspections[index].item_id] = inspections[index]
1256 1109
               this.inspectionsMap[inspections[index].item_id] = inspections[index]
1257 1110
             }
1258 1111
 
1259 1112
             var items = this.project.inspection_reference
1260
-
1261 1113
             for (var index in items) {
1262 1114
               var item = {}
1263 1115
               for (var key in items[index]) {
1264
-
1265 1116
                 item[key] = items[index][key]
1266 1117
               }
1267
-
1268 1118
               if (item.item_id > 0) {
1269
-
1270 1119
                 if (inspectionsMap[items[index].item_id] == undefined) {
1271 1120
                   item.value = inspectionsMap[items[index].id].inspect_value
1272 1121
                   item.item_name = inspectionsMap[items[index].id].item_name
@@ -1277,14 +1126,13 @@ export default {
1277 1126
 
1278 1127
                 }
1279 1128
               } else {
1280
-
1281 1129
                 item.value = inspectionsMap[items[index].id].inspect_value
1282 1130
                 item.item_name = inspectionsMap[items[index].id].item_name
1283 1131
 
1284 1132
               }
1285
-
1133
+              // item["inspect_desc"] = inspectionsMap[items[index].id].inspect_desc
1134
+              // item["inspect_type"] = inspectionsMap[items[index].id].inspect_type
1286 1135
               item.value_direction = ''
1287
-
1288 1136
               if (item.range_type == 1) {
1289 1137
                 var value = parseFloat(item.value)
1290 1138
                 var range_min = parseFloat(item.range_min)
@@ -1295,9 +1143,8 @@ export default {
1295 1143
                   item.value_direction = '↑'
1296 1144
                 }
1297 1145
               }
1298
-
1299 1146
               this.items.push(item)
1300
-              console.log("item233333333333wo",this.items)
1147
+
1301 1148
 
1302 1149
               if(item.value.indexOf("http") >= 0){
1303 1150
                 this.isPic = true

+ 1 - 1
src/xt_pages/user/patient.vue View File

@@ -162,7 +162,7 @@
162 162
       </span>
163 163
     </el-dialog>
164 164
 
165
-    </div>
165
+  </div>
166 166
 
167 167
 </template>
168 168
 

+ 0 - 1
src/xt_pages/workforce/appointment.vue View File

@@ -131,7 +131,6 @@
131 131
                         :schedule-zone-row-prop="scheduleZoneRow" :schedule-zone-prop="scheduleZone"
132 132
                          title="" @event1="changePartition"
133 133
                          @event2="changeSchedule" v-if="is_edit" @event3="changeWeekDay">
134
-
135 134
         <div class="position">
136 135
           <!-- <bread-crumb :crumbs="crumbs"></bread-crumb> -->
137 136
           <div>

+ 97 - 43
src/xt_pages/workforce/components/editTableData.vue View File

@@ -131,14 +131,17 @@
131 131
             :header-cell-style="{
132 132
             backgroundColor: 'rgb(245, 247, 250)',
133 133
             color: '#606266',
134
+            border: '1px solid aqua',
134 135
           }"
135 136
             :fit="true"
136 137
             :data="scheduleZone"
137 138
             @cell-click="clickThis"
139
+            @cell-mouse-enter="hoverMouse"
138 140
             @cell-dblclick="dblclickThis"
139 141
             :span-method="objectSpanMethod"
140 142
             :summary-method="getSummaries"
141 143
             :cell-class-name="cellClass"
144
+            :cell-style ='cellstyle'
142 145
             :row-class-name="tableRowClassName"
143 146
             show-summary
144 147
             sum-text="总数"
@@ -152,6 +155,7 @@
152 155
               min-width="60"
153 156
               align="center"
154 157
               fixed
158
+              style="border-bottom: 1px solid aqua;"
155 159
           ></el-table-column>
156 160
           <el-table-column
157 161
               prop="cut"
@@ -159,8 +163,8 @@
159 163
               min-width="50"
160 164
               align="center"
161 165
               fixed
162
-          >
163
-        </el-table-column>
166
+              style="border-bottom: 1px solid aqua;"
167
+          ></el-table-column>
164 168
           <el-table-column
165 169
               :label="'周一 (' + weekTitle[0] + ')'"
166 170
               v-if="isShowOne"
@@ -1686,7 +1690,7 @@
1686 1690
       </span>
1687 1691
     </el-dialog>
1688 1692
     
1689
-</div>
1693
+  </div>
1690 1694
 </template>
1691 1695
 
1692 1696
 <script>
@@ -1917,7 +1921,7 @@ export default {
1917 1921
       partitions: [],
1918 1922
       partitions_two: [],
1919 1923
       jihaos_two: [],
1920
-
1924
+      subzone:[],
1921 1925
       jihaos: [],
1922 1926
       weekTitle: ["", "", "", "", "", "", ""],
1923 1927
       isShowOne: true,
@@ -3392,7 +3396,7 @@ export default {
3392 3396
           return false;
3393 3397
         }
3394 3398
         var partitions = response.data.data.partitions;
3395
-
3399
+        this.subzone = response.data.data.partitions;
3396 3400
         this.theWeek.thisWeek = response.data.data.theWeek;
3397 3401
 
3398 3402
         this.theWeek.lastWeek = this.theWeek.thisWeek - 1;
@@ -3654,7 +3658,16 @@ export default {
3654 3658
         this.scheduleZone.sort(this.compare("sort"));
3655 3659
       });
3656 3660
     },
3657
-
3661
+    // 高亮
3662
+    hoverMouse(row, column, cell, event) {
3663
+      console.log('sdf12344565');
3664
+      if (row[column.property].schedule_id > 0) {
3665
+        let patient_id = row[column.property].patient_id
3666
+        this.patient_id_hover = patient_id
3667
+      } else {
3668
+        this.patient_id_hover = -1
3669
+      }
3670
+    },
3658 3671
     // 单元格的 className 的回调方法
3659 3672
     cellClass({ row, column, rowIndex, columnIndex }) {
3660 3673
       // 传染病区机器橙色背景
@@ -3662,10 +3675,19 @@ export default {
3662 3675
         //
3663 3676
         return "table-row-new-class schedule-table-row Infectious_disease";
3664 3677
       }
3678
+      if(columnIndex==1 ){  
3679
+        return 'border_bott ' 
3680
+      }
3681
+      if(columnIndex==0){
3682
+        return 'border_left'
3683
+      }
3665 3684
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
3666 3685
         return "";
3667 3686
       } else {
3668 3687
         if (this.weekTime == "lastWeek") {
3688
+          if(column.label == '晚' ){
3689
+            return 'evening_border schedule-table-cell-disable'
3690
+          }
3669 3691
           if (
3670 3692
               row[column.property].patient_id > 0 &&
3671 3693
               row[column.property].patient_id == this.patient_id_hover
@@ -3683,11 +3705,15 @@ export default {
3683 3705
                 row[column.property].patient_id == this.patient_id_hover
3684 3706
             ) {
3685 3707
               return "hover-td schedule-table-cell-disable";
3686
-            } else {
3687
-              return "schedule-table-cell-disable";
3708
+            } 
3709
+            if(column.label == '晚'){
3710
+              return 'evening_border schedule-table-cell-disable'
3688 3711
             }
3689
-            // return "schedule-table-cell-disable";
3712
+            return "schedule-table-cell-disable";
3690 3713
           } else {
3714
+            if(column.label == '晚' ){
3715
+                return 'evening_border'
3716
+            }
3691 3717
             if (
3692 3718
                 row[column.property].patient_id > 0 &&
3693 3719
                 row[column.property].patient_id == this.patient_id_hover
@@ -3698,6 +3724,9 @@ export default {
3698 3724
             }
3699 3725
           }
3700 3726
         }else{
3727
+          if(column.label == '晚' ){
3728
+                return 'evening_border '
3729
+          }
3701 3730
           if (
3702 3731
               row[column.property].patient_id > 0 &&
3703 3732
               row[column.property].patient_id == this.patient_id_hover
@@ -3710,6 +3739,18 @@ export default {
3710 3739
       }
3711 3740
       return "";
3712 3741
     },
3742
+    // 单元格的 style 的回调方法
3743
+    cellstyle({ row, column, rowIndex, columnIndex }){
3744
+      // 分区蓝线
3745
+      for(let i=0;i<this.subzone.length;i++){
3746
+        const subslice=this.subzone[i].jihaos.slice(-1)
3747
+        // console.log('这是row',subslice);
3748
+        if(row.zone_id==subslice[0].zone_id && row.jihao_id == subslice[0].id ){
3749
+          // console.log('33333333333');
3750
+          return 'border-top: 1px solid aqua;'
3751
+        }
3752
+      } 
3753
+    },
3713 3754
     // 单元格的患者名称的回调方法
3714 3755
     patientClass({row,column, rowIndex,columnIndex}){
3715 3756
       if(this.cur_info.patient_id == row.id){
@@ -4847,40 +4888,40 @@ export default {
4847 4888
     },
4848 4889
     // 单击选中患者
4849 4890
     clickThis(row, column, cell, event) {
4850
-        if (row[column.property].schedule_id > 0) {
4851
-            this.cur_info.patient_id=row[column.property].patient_id
4852
-            this.cur_info.mode_id=row[column.property].mode_id
4853
-            this.patient_id_hover = this.cur_info.patient_id;
4854
-            this.cur_info.patient_name = row[column.property].patient
4855
-            this.cur_info.mode_name = row[column.property].mode_name
4856
-            // console.log('row的数据',row[column.property]);
4891
+      if (row[column.property].schedule_id > 0) {
4892
+          this.cur_info.patient_id=row[column.property].patient_id
4893
+          this.cur_info.mode_id=row[column.property].mode_id
4894
+          this.patient_id_hover = this.cur_info.patient_id;
4895
+          this.cur_info.patient_name = row[column.property].patient
4896
+          this.cur_info.mode_name = row[column.property].mode_name
4897
+          // console.log('row的数据',row[column.property]);
4857 4898
 
4858
-        } else {
4859
-          var week = this.weekDay(column.property);
4860
-        if (week[0] == -1 || week[1] == -1) {
4861
-          return false;
4862
-        }
4863
-        if (this.toDay > this.weekDays[week[0] - 1]) {
4864
-          return false;
4865
-        }
4866
-        this.currentData.schedule_date = this.weekDays[week[0] - 1];
4867
-        this.currentData.schedule_type = week[1];
4868
-        this.currentData.bed_id = row.jihao_id;
4869
-        this.currentData.partition_id = row.zone_id;
4870
-        this.currentData.schedule_week = week[0];
4871
-        this.currentData.type_name = this.dayType(week[1]);
4872
-        this.currentData.zone_name = row.area;
4873
-        this.currentData.bed_name = row.cut;
4874
-        this.currentData.partition_type = row.zone_type;
4875
-          this.patient_id_hover = -1;
4876
-          this.currentData.mode_id = 1;
4877
-          this.currentData.id = 0;
4878
-          this.currentData.patient_id = 0;
4879
-          this.currentData.patient = "";
4880
-          this.currentData.contagions = [];
4881
-          this.getSchedulePatients();
4882
-          this.dialogTableVisible = true;
4883
-        }
4899
+      } else {
4900
+        var week = this.weekDay(column.property);
4901
+      if (week[0] == -1 || week[1] == -1) {
4902
+        return false;
4903
+      }
4904
+      if (this.toDay > this.weekDays[week[0] - 1]) {
4905
+        return false;
4906
+      }
4907
+      this.currentData.schedule_date = this.weekDays[week[0] - 1];
4908
+      this.currentData.schedule_type = week[1];
4909
+      this.currentData.bed_id = row.jihao_id;
4910
+      this.currentData.partition_id = row.zone_id;
4911
+      this.currentData.schedule_week = week[0];
4912
+      this.currentData.type_name = this.dayType(week[1]);
4913
+      this.currentData.zone_name = row.area;
4914
+      this.currentData.bed_name = row.cut;
4915
+      this.currentData.partition_type = row.zone_type;
4916
+        this.patient_id_hover = -1;
4917
+        this.currentData.mode_id = 1;
4918
+        this.currentData.id = 0;
4919
+        this.currentData.patient_id = 0;
4920
+        this.currentData.patient = "";
4921
+        this.currentData.contagions = [];
4922
+        this.getSchedulePatients();
4923
+        this.dialogTableVisible = true;
4924
+      }
4884 4925
     },
4885 4926
     // 双击有内容的单元格
4886 4927
     dblclickThis(row, column, cell, event){
@@ -5827,7 +5868,9 @@ textarea{
5827 5868
   white-space: normal !important;
5828 5869
 
5829 5870
 }
5830
-
5871
+// .el-table--medium td, .el-table--medium th {
5872
+//     padding: 5px 0 !important;
5873
+// }
5831 5874
 // 动态样式
5832 5875
 .schedule-table-cell-disable {
5833 5876
   background-color: rgb(245, 245, 245) !important;
@@ -5892,6 +5935,17 @@ textarea{
5892 5935
 .infectious {
5893 5936
   color: red !important;
5894 5937
 }
5938
+.border_bott{
5939
+  border-left: 1px solid aqua !important;
5940
+  border-right: 1px solid aqua !important;
5941
+}
5942
+.border_left{
5943
+  border-left: 1px solid aqua !important;
5944
+}
5945
+ 
5946
+.evening_border{
5947
+  border-right: 1px solid aqua !important;
5948
+}
5895 5949
 .Infectious_disease{
5896 5950
   background-color: red !important;
5897 5951
   color: white;

File diff suppressed because it is too large
+ 195 - 712
src/xt_pages/workforce/components/historyWeekTable.vue


+ 82 - 37
src/xt_pages/workforce/components/tableData.vue View File

@@ -230,7 +230,8 @@
230 230
         :row-style="{ color: '#303133' }"
231 231
         :header-cell-style="{
232 232
           backgroundColor: 'rgb(245, 247, 250)',
233
-          color: '#606266'
233
+          color: '#606266',
234
+          border: '1px solid aqua',
234 235
         }"
235 236
         :fit="true"
236 237
         :data="scheduleZone"
@@ -239,35 +240,39 @@
239 240
         @cell-mouse-enter="hoverMouse"
240 241
         :summary-method="getSummaries"
241 242
         show-summary
242
-        :row-class-name="tableRowClassName"
243 243
         :cell-class-name="cellClass"
244
+        :cell-style ='cellstyle'
244 245
         sum-text="总数"
245 246
         :height="tableContainHeight"
246 247
         ref="table"
247 248
         style="table-layout: fixed;"
248 249
       >
249
-
250
+<!--  -->
250 251
         <el-table-column
251 252
           prop="area"
252 253
           label="分区"
253 254
           width="50"
254 255
           align="center"
255 256
           fixed
256
-        ></el-table-column>
257
+          style="border-bottom: 1px solid aqua;"
258
+        >
259
+        </el-table-column>
257 260
         <el-table-column
258 261
           prop="cut"
259 262
           label="机号"
260 263
           align="center"
261 264
           min-width="40"
262 265
           fixed
266
+          style="border-bottom: 1px solid aqua;"
263 267
         ></el-table-column>
264 268
         <el-table-column
265 269
           :label="' 周一(' + weekTitle[0] + ')'"
266 270
           v-if="isShowOne"
267 271
           align="center"
272
+          
268 273
         >
269 274
         <!-- :width="flexColumnWidth('Mon_M',scheduleZone)" -->
270
-          <el-table-column  prop="Mon_M" label="上" min-width="40" align="center"  v-if="isShowShangWu">
275
+          <el-table-column  prop="Mon_M" label="上" min-width="40" align="center"  v-if="isShowShangWu" >
271 276
             <schedule-item
272 277
               slot-scope="scope"
273 278
               :schedule-detail="scope.row.Mon_M"
@@ -285,7 +290,7 @@
285 290
               :schedulMode="modename_value"
286 291
             ></schedule-item>
287 292
           </el-table-column>
288
-          <el-table-column prop="Mon_N" label="晚" min-width="40" align="center"  v-if="isShowWanShang">
293
+          <el-table-column prop="Mon_N" label="晚" min-width="40" align="center"  v-if="isShowWanShang" >
289 294
             <schedule-item
290 295
               slot-scope="scope"
291 296
               :schedule-detail="scope.row.Mon_N"
@@ -793,6 +798,7 @@ export default {
793 798
      // scheduleZone: this.scheduleZoneProp,
794 799
       scheduleZoneRow: -1,
795 800
       partitions: [],
801
+      subzone:[],
796 802
       jihaos: [],
797 803
       weekTitle: ["", "", "", "", "", "", ""],
798 804
       weekList: ["", "", "", "", "", "", ""],
@@ -808,7 +814,6 @@ export default {
808 814
         mode_id: 0,
809 815
         type_name: "",
810 816
         bed_name: "",
811
-
812 817
         partition_type: 0,
813 818
         contagions: [],
814 819
         patient: ""
@@ -839,15 +844,11 @@ export default {
839 844
         ],
840 845
         bed_id: [{ required: true, message: "请选择透析机", trigger: "blur" }]
841 846
       },
842
-
843 847
       weekday: 0,
844
-
845 848
       creating_schedule: false,
846 849
       changing_mode: false,
847 850
       changing_bed: false,
848
-
849 851
       tableHeight: document.documentElement.clientHeight,
850
-
851 852
       origin_schedules: [],
852 853
       origin_device_numbers: [],
853 854
       zone_device_map: {},
@@ -1074,8 +1075,10 @@ export default {
1074 1075
           if (response.data.state == 0) {
1075 1076
             return false
1076 1077
           }
1077
-          console.log("触发232332323232",response.data.data)
1078
+          // console.log("触发232332323232",response.data.data)
1078 1079
           var partitions = response.data.data.partitions
1080
+          this.subzone = response.data.data.partitions
1081
+          // this.subzone.push(response.data.data.partitions)
1079 1082
           console.log("partitions",partitions)
1080 1083
           this.theWeek.thisWeek = response.data.data.theWeek
1081 1084
           // this.theWeek.historyWeek=this.theWeek.thisWeek - 2
@@ -1326,18 +1329,27 @@ export default {
1326 1329
           console.log("34455555566666",this.scheduleZone)
1327 1330
         })
1328 1331
      },
1329
-
1332
+    //  单元格样式的回调
1330 1333
     cellClass({ row, column, rowIndex, columnIndex }) {
1331
-
1334
+      
1332 1335
       if(columnIndex==1&&row.zone_type!=1){
1333 1336
         return "table-row-new-class schedule-table-row Infectious_disease";
1334 1337
       }
1335
-
1338
+      // 机号蓝线
1339
+      if(columnIndex==1 ){  
1340
+        return 'border_bott ' 
1341
+      }
1342
+      if(columnIndex==0){
1343
+        return 'border_left'
1344
+      }
1336 1345
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
1337 1346
         return "";
1338 1347
       } else {
1339 1348
         if (this.weekTime == "lastWeek") {
1340
-          if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover){
1349
+          if(column.label == '晚' ){
1350
+            return 'evening_border schedule-table-cell-disable'
1351
+          }
1352
+          if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover ){
1341 1353
             return 'hover-td schedule-table-cell-disable'
1342 1354
           }else {
1343 1355
             return 'schedule-table-cell-disable'
@@ -1345,36 +1357,53 @@ export default {
1345 1357
           // return "schedule-table-cell-disable";
1346 1358
         } else if (this.weekTime == "thisWeek") {
1347 1359
           var weekday = Math.floor((columnIndex - 2) / 3 + 1);
1360
+          // 判断日期
1348 1361
           if (weekday < this.weekday) {
1349
-            if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover){
1362
+            // console.log('这是row',row);
1363
+            if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover ){
1350 1364
               return 'hover-td schedule-table-cell-disable'
1351
-            }else {
1352
-              return 'schedule-table-cell-disable'
1353 1365
             }
1354
-            // return "schedule-table-cell-disable";
1355
-          }else {
1366
+            if(column.label == '晚'){
1367
+              return 'evening_border schedule-table-cell-disable'
1368
+            }
1369
+            return "schedule-table-cell-disable";
1370
+          }else{
1371
+            // 分日期
1372
+            if(column.label == '晚' ){
1373
+                return 'evening_border'
1374
+            }
1356 1375
             if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover){
1357 1376
               return 'hover-td '
1358 1377
             }else {
1359 1378
               return ''
1360 1379
             }
1361 1380
           }
1381
+        } else {
1382
+          if(column.label == '晚' ){
1383
+            return 'evening_border'
1384
+          }
1362 1385
         }
1363 1386
       }
1364 1387
       return "";
1365 1388
     },
1366
-    // SubmitSearch() {
1367
-    //   this.patientQuery.keywords = this.searchKey;
1368
-    //   this.getSchedulePatients();
1369
-    // },
1389
+    cellstyle({ row, column, rowIndex, columnIndex }){
1390
+      // 分区蓝线
1391
+      for(let i=0;i<this.subzone.length;i++){
1392
+        const subslice=this.subzone[i].jihaos.slice(-1)
1393
+        console.log('这是row',subslice);
1394
+        if(row.zone_id==subslice[0].zone_id && row.jihao_id == subslice[0].id ){
1395
+          // console.log('33333333333');
1396
+          return 'border-top: 1px solid aqua;'
1397
+        }
1398
+      } 
1399
+    },
1400
+   
1370 1401
     changeSearchContagion(id) {
1371 1402
       this.patientQuery.contagion = id;
1372 1403
       this.getSchedulePatients();
1373 1404
     },
1374
-    // changeSearchSchedule(id) {
1375
-    //   this.patientQuery.schedule = id;
1376
-    //   this.getSchedulePatients();
1377
-    // },
1405
+   
1406
+    // 合计
1378 1407
     getSummaries(param) {
1379 1408
       const { columns, data } = param;
1380 1409
       const sums = [];
@@ -2523,6 +2552,7 @@ export default {
2523 2552
         });
2524 2553
     },
2525 2554
     hoverMouse(row, column, cell, event) {
2555
+      // console.log('sdf12344565');
2526 2556
       if (row[column.property].schedule_id > 0) {
2527 2557
         let patient_id = row[column.property].patient_id
2528 2558
         this.patient_id_hover = patient_id
@@ -3239,13 +3269,7 @@ export default {
3239 3269
       this.searchTableVisible = false;
3240 3270
       this.msDialogVisible = true;
3241 3271
     },
3242
-    tableRowClassName({ row, rowIndex }) {
3243
-      if (row.zone_type == 1) {
3244
-        return 'table-row-new-class schedule-table-row'
3245
-      } else {
3246
-        return 'table-row-new-class schedule-table-row backPurple'
3247
-      }
3248
-    },
3272
+   
3249 3273
     // 分区
3250 3274
     getAllZones() {
3251 3275
       getAllZones().then(response => {
@@ -3300,6 +3324,14 @@ export default {
3300 3324
       })();
3301 3325
     };
3302 3326
   },
3327
+  computed: {
3328
+    // 计算属性,为最后一项数据添加边框样式
3329
+    lastItemStyle() {
3330
+      return {
3331
+        border: '1px solid red', // 边框样式
3332
+      };
3333
+    },
3334
+  },
3303 3335
 
3304 3336
 };
3305 3337
 </script>
@@ -3353,7 +3385,7 @@ textarea{
3353 3385
 }
3354 3386
 
3355 3387
 .schedule-table-cell-disable {
3356
-  background-color: rgb(245, 245, 245) !important;
3388
+  background-color: rgb(248, 241, 241) !important;
3357 3389
 }
3358 3390
 
3359 3391
 #table_data {
@@ -3403,7 +3435,20 @@ textarea{
3403 3435
   .Infectious_disease{
3404 3436
     background-color: red !important;
3405 3437
     color: white;
3438
+    border-left: 1px solid aqua;
3439
+    border-right: 1px solid aqua;
3440
+  }
3441
+  .border_bott{
3442
+    border-left: 1px solid aqua;
3443
+    border-right: 1px solid aqua;
3444
+  }
3445
+  .border_left{
3446
+    border-left: 1px solid aqua;
3447
+  }
3448
+  .evening_border{
3449
+    border-right: 1px solid aqua;
3406 3450
   }
3451
+  
3407 3452
 }
3408 3453
 .backPurple{
3409 3454
   color: #f32424 !important;

+ 1 - 1
src/xt_pages/workforce/printOne.vue View File

@@ -53,7 +53,7 @@
53 53
               <tbody>
54 54
                 <tr v-for="(it, i) in item.zones" :key="i">
55 55
                   <td :width="td_1_width">
56
-                    <span v-if="hiddenFlag == false">总人数: {{getZonePatient(it.partition_id,item.schedule_type)}}<span v-if="getZonePatient(it.partition_id,item.schedule_type)>0">人</span><br></br></span> 
56
+                    <span v-if="hiddenFlag == false">总人数: {{getZonePatient(it.partition_id,item.schedule_type)}}<span v-if="getZonePatient(it.partition_id,item.schedule_type)>0">人</span><br/></span> 
57 57
                     {{ getZoneName(it.partition_id) }}
58 58
                   </td>
59 59
                   <td :width="td_3_width" valign="top">

+ 252 - 83
src/xt_pages/workforce/scheduleTablePrint.vue View File

@@ -1,9 +1,11 @@
1 1
 <template>
2 2
     <div>
3
+      
3 4
       <el-button style="float:right;" type="primary" @click="printAction">打印</el-button>
4 5
 
5 6
 <!--      <el-button type="primary" @click="printAction">打印</el-button>-->
6
-        <table id="scheduleTable" class="scheduleTable" border="1" cellspacing="0">
7
+      <div class="print_main_content">
8
+        <table v-if="$route.query.week_date ==''" id="scheduleTable" class="scheduleTable" border="1" cellspacing="0">
7 9
             <tr>
8 10
                 <td rowspan="2">分区</td>
9 11
                 <td rowspan="2">机号</td>
@@ -14,7 +16,7 @@
14 16
                 <td colspan="3">周五({{ weekTitle[4] }})</td>
15 17
                 <td colspan="3">周六({{ weekTitle[5] }})</td>
16 18
                 <td colspan="3">周日({{ weekTitle[6] }})</td>
17
-                <td>总数</td>
19
+                <td rowspan="2">总数</td>
18 20
             </tr>
19 21
             <tr>
20 22
                 <td>上午</td>
@@ -40,139 +42,304 @@
40 42
                 <td>晚上</td>
41 43
             </tr>
42 44
             <tr v-for="(item,index) in scheduleZone" :key="index">
43
-                <td style="min-width:50px;">{{ item.area }}</td>
44
-                <td style="min-width:50px;">{{ item.cut }}</td>
45
-                <td style="min-width:50px;">
45
+                <td style="min-width:40px;">{{ item.area }}</td>
46
+                <td style="min-width:40px;">{{ item.cut }}</td>
47
+                <td style="min-width:40px;">
46 48
                     <span v-if="item.Mon_M.patient_id">
47
-                        <div>{{ item.Mon_M.patient }} </div>
48
-                        <div v-if="item.Mon_M.mode_name != 'HD'">
49
-                            {{ item.Mon_M.mode_name }}
50
-                     </div>
49
+                        <span>{{ item.Mon_M.patient }}</span>
50
+                        <span>{{ item.Mon_M.mode_name }}</span>
51 51
                     </span>
52 52
                 </td>
53
-                <td style="min-width:50px;">
53
+                <td style="min-width:40px;">
54 54
                     <span v-if="item.Mon_A.patient_id">
55
-                        <div>{{ item.Mon_A.patient }} </div>
56
-                        <div v-if="item.Mon_A.mode_name != 'HD'">{{ item.Mon_A.mode_name }}</div>
55
+                       
56
+                        <span>{{ item.Mon_A.patient }}</span>
57
+                        <span>{{ item.Mon_A.mode_name }}</span>
57 58
                     </span>
58 59
                 </td>
59
-                <td style="min-width:50px;">
60
+                <td style="min-width:40px;">
60 61
                     <span v-if="item.Mon_N.patient_id">
61
-                        <div>{{ item.Mon_N.patient }}</div>
62
-                        <div v-if="item.Mon_N.mode_name != 'HD'">{{ item.Mon_N.mode_name }}</div>
62
+                        
63
+                        <span>{{ item.Mon_N.patient }}</span>
64
+                        <span>{{ item.Mon_N.mode_name }}</span>
63 65
                     </span>
64 66
                 </td>
65
-                <td style="min-width:50px;">
67
+                <td style="min-width:40px;">
66 68
                     <span v-if="item.Tue_M.patient_id">
67
-                        <div>{{ item.Tue_M.patient }}</div>
68
-                        <div v-if="item.Tue_M.mode_name != 'HD'">{{ item.Tue_M.mode_name }}</div>
69
+                        
70
+                        <span>{{ item.Tue_M.patient }}</span>
71
+                        <span>{{ item.Tue_M.mode_name }}</span>
69 72
                     </span>
70 73
                 </td>
71
-                <td style="min-width:50px;">
74
+                <td style="min-width:40px;">
72 75
                     <span v-if="item.Tue_A.patient_id">
73
-                        <div>{{ item.Tue_A.patient }}</div>
74
-                        <div v-if="item.Tue_A.mode_name != 'HD'">{{ item.Tue_A.mode_name }}</div>
76
+                        
77
+                        <span>{{ item.Tue_A.patient }}</span>
78
+                        <span>{{ item.Tue_A.mode_name }}</span>
75 79
                     </span>
76 80
                 </td>
77
-                <td style="min-width:50px;">
81
+                <td style="min-width:40px;">
78 82
                     <span v-if="item.Tue_N.patient_id">
79
-                        <div>{{ item.Tue_N.patient }}</div>
80
-                        <div v-if="item.Tue_N.mode_name != 'HD'">{{ item.Tue_N.mode_name }}</div>
83
+                        
84
+                        <span>{{ item.Tue_N.patient }}</span>
85
+                        <span>{{ item.Tue_N.mode_name }}</span>
81 86
                     </span>
82 87
                 </td>
83
-                <td style="min-width:50px;">
88
+                <td style="min-width:40px;">
84 89
                     <span v-if="item.Wed_M.patient_id">
85
-                        <div>{{ item.Wed_M.patient }}</div>
86
-                        <div v-if="item.Wed_M.mode_name != 'HD'">{{ item.Wed_M.mode_name }}</div>
90
+                        
91
+                        <span>{{ item.Wed_M.patient }}</span>
92
+                        <span>{{ item.Wed_M.mode_name }}</span>
87 93
                     </span>
88 94
                 </td>
89
-                <td style="min-width:50px;">
95
+                <td style="min-width:40px;">
90 96
                     <span v-if="item.Wed_A.patient_id">
91
-                        <div>{{ item.Wed_A.patient }}</div>
92
-                        <div v-if="item.Wed_A.mode_name != 'HD'">{{ item.Wed_A.mode_name }}</div>
97
+                        <span>{{ item.Wed_A.patient }}</span>
98
+                        <span>{{ item.Wed_A.mode_name }}</span>
93 99
                     </span>
94 100
                 </td>
95
-                <td style="min-width:50px;">
101
+                <td style="min-width:40px;">
96 102
                     <span v-if="item.Wed_N.patient_id">
97
-                        <div>{{ item.Wed_N.patient }}</div>
98
-                        <div v-if="item.Wed_N.mode_name != 'HD'">{{ item.Wed_N.mode_name }}</div>
103
+                        <span>{{ item.Wed_N.patient }}</span>
104
+                        <span>{{ item.Wed_N.mode_name }}</span>
99 105
                     </span>
100 106
                 </td>
101
-                <td style="min-width:50px;">
102
-                    <span v-if="item.Thurs_M.patient_id">
103
-                        <div>{{ item.Thurs_M.patient }}</div>
104
-                        <div v-if="item.Thurs_M.mode_name != 'HD'">{{ item.Thurs_M.mode_name }}</div>
107
+                <td style="min-width:40px;">
108
+                    <span v-if="item.Thurs_M.patient_id">     
109
+                        <span>{{ item.Thurs_M.patient }}</span>
110
+                        <span>{{ item.Thurs_M.mode_name }}</span>
105 111
                     </span>
106 112
                 </td>
107
-                <td style="min-width:50px;">
108
-                    <span v-if="item.Thurs_A.patient_id">
109
-                        <div>{{ item.Thurs_A.patient }}</div>
110
-                        <div v-if="item.Thurs_A.mode_name != 'HD'">{{ item.Thurs_A.mode_name }}</div>
113
+                <td style="min-width:40px;">
114
+                    <span v-if="item.Thurs_A.patient_id">                   
115
+                        <span>{{ item.Thurs_A.patient }}</span>
116
+                        <span>{{ item.Thurs_A.mode_name }}</span>
111 117
                     </span>
112 118
                 </td>
113
-                <td style="min-width:50px;">
114
-                    <span v-if="item.Thurs_N.patient_id">
115
-                        <div>{{ item.Thurs_N.patient }}</div>
116
-                        <div v-if="item.Thurs_N.mode_name != 'HD'">{{ item.Thurs_N.mode_name }}</div>
119
+                <td style="min-width:40px;">
120
+                    <span v-if="item.Thurs_N.patient_id">           
121
+                        <span>{{ item.Thurs_N.patient }}</span>
122
+                        <span>{{ item.Thurs_N.mode_name }}</span>
117 123
                     </span>
118 124
                 </td>
119
-                <td style="min-width:50px;">
120
-                    <span v-if="item.Fri_M.patient_id">
121
-                        <div>{{ item.Fri_M.patient }}</div>
122
-                        <div v-if="item.Fri_M.mode_name != 'HD'">{{ item.Fri_M.mode_name }}</div>
125
+                <td style="min-width:40px;">
126
+                    <span v-if="item.Fri_M.patient_id">                  
127
+                        <span>{{ item.Fri_M.patient }}</span>
128
+                        <span>{{ item.Fri_M.mode_name }}</span>
123 129
                     </span>
124 130
                 </td>
125
-                <td style="min-width:50px;">
126
-                    <span v-if="item.Fri_A.patient_id">
127
-                        <div>{{ item.Fri_A.patient }}</div>
128
-                        <div v-if="item.Fri_A.mode_name != 'HD'">{{ item.Fri_A.mode_name }}</div>
131
+                <td style="min-width:40px;">
132
+                    <span v-if="item.Fri_A.patient_id">                     
133
+                        <span>{{ item.Fri_A.patient }}</span>
134
+                        <span>{{ item.Fri_A.mode_name }}</span>
129 135
                     </span>
130 136
                 </td>
131
-                <td style="min-width:50px;">
132
-                    <span v-if="item.Fri_N.patient_id">
133
-                        <div>{{ item.Fri_N.patient }}</div>
134
-                        <div v-if="item.Sat_M.mode_name != 'HD'">{{ item.Sat_M.mode_name }}</div>
137
+                <td style="min-width:40px;">
138
+                    <span v-if="item.Fri_N.patient_id">                      
139
+                        <span>{{ item.Fri_N.patient }}</span>
140
+                        <span>{{ item.Sat_M.mode_name }}</span>
135 141
                     </span>
136 142
                 </td>
137
-                <td style="min-width:50px;">
138
-                    <span v-if="item.Sat_M.patient_id">
139
-                        <div>{{ item.Sat_M.patient }}</div>
140
-                        <div v-if="item.Sat_M.mode_name != 'HD'">{{ item.Sat_M.mode_name }}</div>
143
+                <td style="min-width:40px;">
144
+                    <span v-if="item.Sat_M.patient_id">                      
145
+                        <span>{{ item.Sat_M.patient }}</span>
146
+                        <span>{{ item.Sat_M.mode_name }}</span>
141 147
                     </span>
142 148
                 </td>
143
-                <td style="min-width:50px;">
144
-                    <span v-if="item.Sat_A.patient_id">
145
-                        <div>{{ item.Sat_A.patient }}</div>
146
-                        <div v-if="item.Sat_A.mode_name != 'HD'">{{ item.Sat_A.mode_name }}</div>
149
+                <td style="min-width:40px;">
150
+                    <span v-if="item.Sat_A.patient_id">                       
151
+                        <span>{{ item.Sat_A.patient }}</span>
152
+                        <span>{{ item.Sat_A.mode_name }}</span>
147 153
                     </span>
148 154
                 </td>
149
-                <td style="min-width:50px;">
155
+                <td style="min-width:40px;">
150 156
                     <span v-if="item.Sat_N.patient_id">
151
-                        <div>{{ item.Sat_N.patient }}</div>
152
-                        <div v-if="item.Sat_N.mode_name != 'HD'">{{ item.Sat_N.mode_name }}</div>
157
+                        <span>{{ item.Sat_N.patient }}</span>
158
+                        <span>{{ item.Sat_N.mode_name }}</span>
153 159
                     </span>
154 160
                 </td>
155
-                <td style="min-width:50px;">
161
+                <td style="min-width:40px;">
156 162
                     <span v-if="item.Sun_M.patient_id">
157
-                        <div>{{ item.Sun_M.patient }}</div>
158
-                        <div v-if="item.Sun_M.mode_name != 'HD'">{{ item.Sun_M.mode_name }}</div>
163
+                        <span>{{ item.Sun_M.patient }}</span>
164
+                        <span>{{ item.Sun_M.mode_name }}</span>
159 165
                     </span>
160 166
                 </td>
161
-                <td style="min-width:50px;">
167
+                <td style="min-width:40px;">
162 168
                     <span v-if="item.Sun_A.patient_id">
163
-                        <div>{{ item.Sun_A.patient }}</div>
164
-                        <div v-if="item.Sun_A.mode_name != 'HD'">{{ item.Sun_A.mode_name }}</div>
169
+                        <span>{{ item.Sun_A.patient }}</span>
170
+                        <span>{{ item.Sun_A.mode_name }}</span>
165 171
                     </span>
166 172
                 </td>
167
-                <td style="min-width:50px;">
173
+                <td style="min-width:40px;">
168 174
                     <span v-if="item.Sun_N.patient_id">
169
-                        <div>{{ item.Sun_N.patient }}</div>
170
-                        <div v-if="item.Sun_N.mode_name != 'HD'">{{ item.Sun_N.mode_name }}</div>
175
+                        <span>{{ item.Sun_N.patient }}</span>
176
+                        <span>{{ item.Sun_N.mode_name }}</span>
171 177
                     </span>
172 178
                 </td>
173 179
                 <td>{{item.total}}</td>
174 180
             </tr>
175 181
         </table>
182
+        <!-- 选择天数打印 -->
183
+        <table 
184
+            v-if="$route.query.week_date !=''" 
185
+            id="scheduleTable" class="scheduleTable" 
186
+            border="1" cellspacing="0"
187
+            style="margin: auto;"
188
+        >
189
+            <tr>
190
+                <td rowspan="2">分区</td>
191
+                <td rowspan="2">机号</td>
192
+                <td colspan="3" v-if="$route.query.week_date =='周一'">周一({{ weekTitle[0] }})</td>
193
+                <td colspan="3" v-if="$route.query.week_date =='周二'">周二({{ weekTitle[1] }})</td>
194
+                <td colspan="3" v-if="$route.query.week_date =='周三'">周三({{ weekTitle[2] }})</td>
195
+                <td colspan="3" v-if="$route.query.week_date =='周四'">周四({{ weekTitle[3] }})</td>
196
+                <td colspan="3" v-if="$route.query.week_date =='周五'">周五({{ weekTitle[4] }})</td>
197
+                <td colspan="3" v-if="$route.query.week_date =='周六'">周六({{ weekTitle[5] }})</td>
198
+                <td colspan="3" v-if="$route.query.week_date =='周日'">周日({{ weekTitle[6] }})</td>
199
+                <td rowspan="2">总数</td>
200
+            </tr>
201
+            <tr v-for="index in week_date.length" :key="index">
202
+                <td>上午</td>
203
+                <td>下午</td>
204
+                <td>晚上</td>
205
+            </tr>
206
+            <tr v-for="(item,index) in scheduleZone" :key="index">
207
+                <td style="min-width:180px;">{{ item.area }}</td>
208
+                <td style="min-width:180px;">{{ item.cut }}</td>
209
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
210
+                    <span v-if="item.Mon_M.patient_id ">
211
+                        <span>{{ item.Mon_M.patient }}</span>
212
+                        <span>{{ item.Mon_M.mode_name }}</span>
213
+                    </span>
214
+                </td>
215
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
216
+                    <span v-if="item.Mon_A.patient_id ">
217
+                        <span>{{ item.Mon_A.patient }}</span>
218
+                        <span>{{ item.Mon_A.mode_name }}</span>
219
+                    </span>
220
+                </td>
221
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
222
+                    <span v-if="item.Mon_N.patient_id ">
223
+                        <span>{{ item.Mon_N.patient }}</span>
224
+                        <span>{{ item.Mon_N.mode_name }}</span>
225
+                    </span>
226
+                </td>
227
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
228
+                    <span v-if="item.Tue_M.patient_id">
229
+                        
230
+                        <span>{{ item.Tue_M.patient }}</span>
231
+                        <span>{{ item.Tue_M.mode_name }}</span>
232
+                    </span>
233
+                </td>
234
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
235
+                    <span v-if="item.Tue_A.patient_id ">
236
+                        
237
+                        <span>{{ item.Tue_A.patient }}</span>
238
+                        <span>{{ item.Tue_A.mode_name }}</span>
239
+                    </span>
240
+                </td>
241
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
242
+                    <span v-if="item.Tue_N.patient_id ">
243
+                        
244
+                        <span>{{ item.Tue_N.patient }}</span>
245
+                        <span>{{ item.Tue_N.mode_name }}</span>
246
+                    </span>
247
+                </td>
248
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
249
+                    <span v-if="item.Wed_M.patient_id ">
250
+                        
251
+                        <span>{{ item.Wed_M.patient }}</span>
252
+                        <span>{{ item.Wed_M.mode_name }}</span>
253
+                    </span>
254
+                </td>
255
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
256
+                    <span v-if="item.Wed_A.patient_id ">
257
+                        <span>{{ item.Wed_A.patient }}</span>
258
+                        <span>{{ item.Wed_A.mode_name }}</span>
259
+                    </span>
260
+                </td>
261
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
262
+                    <span v-if="item.Wed_N.patient_id ">
263
+                        <span>{{ item.Wed_N.patient }}</span>
264
+                        <span>{{ item.Wed_N.mode_name }}</span>
265
+                    </span>
266
+                </td>
267
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
268
+                    <span v-if="item.Thurs_M.patient_id ">     
269
+                        <span>{{ item.Thurs_M.patient }}</span>
270
+                        <span>{{ item.Thurs_M.mode_name }}</span>
271
+                    </span>
272
+                </td>
273
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
274
+                    <span v-if="item.Thurs_A.patient_id ">                   
275
+                        <span>{{ item.Thurs_A.patient }}</span>
276
+                        <span>{{ item.Thurs_A.mode_name }}</span>
277
+                    </span>
278
+                </td>
279
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
280
+                    <span v-if="item.Thurs_N.patient_id ">           
281
+                        <span>{{ item.Thurs_N.patient }}</span>
282
+                        <span>{{ item.Thurs_N.mode_name }}</span>
283
+                    </span>
284
+                </td>
285
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
286
+                    <span v-if="item.Fri_M.patient_id">                  
287
+                        <span>{{ item.Fri_M.patient }}</span>
288
+                        <span>{{ item.Fri_M.mode_name }}</span>
289
+                    </span>
290
+                </td>
291
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
292
+                    <span v-if="item.Fri_A.patient_id ">                     
293
+                        <span>{{ item.Fri_A.patient }}</span>
294
+                        <span>{{ item.Fri_A.mode_name }}</span>
295
+                    </span>
296
+                </td>
297
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
298
+                    <span v-if="item.Fri_N.patient_id ">                      
299
+                        <span>{{ item.Fri_N.patient }}</span>
300
+                        <span>{{ item.Sat_M.mode_name }}</span>
301
+                    </span>
302
+                </td>
303
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
304
+                    <span v-if="item.Sat_M.patient_id ">                      
305
+                        <span>{{ item.Sat_M.patient }}</span>
306
+                        <span>{{ item.Sat_M.mode_name }}</span>
307
+                    </span>
308
+                </td>
309
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
310
+                    <span v-if="item.Sat_A.patient_id ">                       
311
+                        <span>{{ item.Sat_A.patient }}</span>
312
+                        <span>{{ item.Sat_A.mode_name }}</span>
313
+                    </span>
314
+                </td>
315
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
316
+                    <span v-if="item.Sat_N.patient_id ">
317
+                        <span>{{ item.Sat_N.patient }}</span>
318
+                        <span>{{ item.Sat_N.mode_name }}</span>
319
+                    </span>
320
+                </td>
321
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
322
+                    <span v-if="item.Sun_M.patient_id ">
323
+                        <span>{{ item.Sun_M.patient }}</span>
324
+                        <span>{{ item.Sun_M.mode_name }}</span>
325
+                    </span>
326
+                </td>
327
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
328
+                    <span v-if="item.Sun_A.patient_id ">
329
+                        <span>{{ item.Sun_A.patient }}</span>
330
+                        <span>{{ item.Sun_A.mode_name }}</span>
331
+                    </span>
332
+                </td>
333
+                <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
334
+                    <span v-if="item.Sun_N.patient_id ">
335
+                        <span>{{ item.Sun_N.patient }}</span>
336
+                        <span>{{ item.Sun_N.mode_name }}</span>
337
+                    </span>
338
+                </td>
339
+                <td style="min-width:60px;">{{item.total}}</td>
340
+            </tr>
341
+        </table>
342
+      </div>
176 343
     </div>
177 344
 </template>
178 345
 
@@ -252,14 +419,13 @@ export default {
252 419
 
253 420
         }else{
254 421
              newList = [1,2,3,4,5,6,7]
255
-
256 422
             this.week_date = newList.join(",")
257 423
 
258 424
         }
259 425
 
260 426
     },
261 427
     methods:{
262
-         getAllZones(){
428
+        getAllZones(){
263 429
            getAllZones().then(response=>{
264 430
              if(response.data.state == 1){
265 431
                 var zones = response.data.data.zones
@@ -682,7 +848,6 @@ export default {
682 848
                     });
683 849
                     var newArr= [{"area":"总数","cut":0,"Fri_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Fri_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Fri_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Mon_A":{mode_id:0,mode_name:"",patient:"",patient_id:"1"},"Mon_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Mon_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"jihao_id":"","total":"","zone_id":"","zone_type":"","sort":""}]
684 850
 
685
-
686 851
                      for(let i=0;i<newArr.length;i++){
687 852
                        for(let j=0;j<this.scheduleCountList.length;j++){
688 853
                             newArr[i].cut = this.total
@@ -856,8 +1021,8 @@ export default {
856 1021
             return [weekArr[week], typeArr[schedule_type]];
857 1022
         },
858 1023
         printAction: function() {
859
-            const style = '@media print {#scheduleTable{font-size:16px;} .scheduleTable tr td{text-align: center;padding: 5px;}}'
860
-
1024
+            const style = '@media print { #scheduleTable{font-size:14px;} .scheduleTable tr td{text-align: center;padding: 5px 0px;min-width:40px;}}'
1025
+            // const style = '@media print { #scheduleTable{font-size:14px;} .scheduleTable tr td{text-align: center;padding: 5px;min-width:40px;}}'
861 1026
             printJS({
862 1027
             printable: 'scheduleTable',
863 1028
             type: 'html',
@@ -922,7 +1087,11 @@ export default {
922 1087
 </script>
923 1088
 
924 1089
 
925
-<style lang="scss">
1090
+<style lang="scss" scoped>
1091
+// .print_main_content{
1092
+//     width: 960px;
1093
+//     margin: 0 auto;
1094
+// }
926 1095
 td{
927 1096
     text-align: center;
928 1097
     padding: 5px;

File diff suppressed because it is too large
+ 888 - 854
src/xt_pages/workforce/scheduleTablePrintTwo.vue