Selaa lähdekoodia

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

28169 1 vuosi sitten
vanhempi
commit
b68020f158
43 muutettua tiedostoa jossa 14959 lisäystä ja 6051 poistoa
  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 Näytä tiedosto

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

5
   "author": "Pan <panfree23@gmail.com>",
5
   "author": "Pan <panfree23@gmail.com>",
6
   "license": "MIT",
6
   "license": "MIT",
7
   "scripts": {
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
     "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
10
     "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
10
     "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js && npm run fixfont && npm run fiximg",
11
     "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js && npm run fixfont && npm run fiximg",
11
     "build-cdn": "node build/build-cdn.js",
12
     "build-cdn": "node build/build-cdn.js",

+ 9 - 0
src/api/qcd.js Näytä tiedosto

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 Näytä tiedosto

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

+ 3 - 0
src/router/modules/Dialysisanalysis.js Näytä tiedosto

166
 
166
 
167
   ]
167
   ]
168
 }
168
 }
169
+
170
+
171
+

+ 12 - 0
src/router/modules/dialysis.js Näytä tiedosto

521
         noCache: true
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
       path: '/dialysis/print/batch/twelve',
537
       path: '/dialysis/print/batch/twelve',
526
       component: () =>
538
       component: () =>

+ 187 - 29
src/router/modules/patient.js Näytä tiedosto

181
       title: 'CourseOfDiseaseManage',
181
       title: 'CourseOfDiseaseManage',
182
       noCache: true
182
       noCache: true
183
     }
183
     }
184
-  }, {
184
+  },
185
+  {
185
       path: '/patients/sickhistory',
186
       path: '/patients/sickhistory',
186
       component: () => import('@/xt_pages/user/sickHistory'),
187
       component: () => import('@/xt_pages/user/sickHistory'),
187
       hidden: true,
188
       hidden: true,
188
       is_menu: false,
189
       is_menu: false,
189
       name: 'sickHistory',
190
       name: 'sickHistory',
190
       meta: { title: 'sickHistory', noCache: true }
191
       meta: { title: 'sickHistory', noCache: true }
191
-    }, {
192
+  }, 
193
+  {
192
       path: '/patients/inspection_check',
194
       path: '/patients/inspection_check',
193
       component: () => import('@/xt_pages/user/inspectionCheck'),
195
       component: () => import('@/xt_pages/user/inspectionCheck'),
194
       hidden: true,
196
       hidden: true,
195
       is_menu: false,
197
       is_menu: false,
196
       name: 'inspectionCheck',
198
       name: 'inspectionCheck',
197
       meta: { title: 'inspectionCheck', noCache: true }
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
     path: '/patients/rescue',
218
     path: '/patients/rescue',
215
     component: () => import('@/xt_pages/user/rescueRecord'),
219
     component: () => import('@/xt_pages/user/rescueRecord'),
254
       noCache: true
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
     path: '/patient/patient/templateSummary/print',
273
     path: '/patient/patient/templateSummary/print',
270
     component: () => import('@/xt_pages/user/templateSummaryPrint'),
274
     component: () => import('@/xt_pages/user/templateSummaryPrint'),
319
       title: 'firstDiseasePrint',
323
       title: 'firstDiseasePrint',
320
       noCache: true
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 Näytä tiedosto

134
   created(){
134
   created(){
135
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","DepositManagement","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
135
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","DepositManagement","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
136
     let bingli = ['User','createPatient'];
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
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
138
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
139
     let caigou = ['supplyManage','supplyList'];
139
     let caigou = ['supplyManage','supplyList'];
140
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
140
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];

+ 319 - 13
src/xt_pages/Dialysisanalysis/albumin/albuminall.vue Näytä tiedosto

67
           label="人数"
67
           label="人数"
68
         >
68
         >
69
         </el-table-column>
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
       </el-table>
80
       </el-table>
81
     </div>
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
   </div>
224
   </div>
83
 </template>
225
 </template>
84
 <script>
226
 <script>
85
 import * as echarts from 'echarts'
227
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
228
+import { GetQCStatistisData,GetAllQCStatistisData } from '../../../api/qcd'
87
 
229
 
88
 const moment = require('moment')
230
 const moment = require('moment')
89
 
231
 
102
   },
244
   },
103
   data() {
245
   data() {
104
     return {
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
       time_type: 1,
258
       time_type: 1,
259
+      time_type_two:1,
106
       times: [
260
       times: [
107
         { value: 1, label: '本月' },
261
         { value: 1, label: '本月' },
108
         { value: 2, label: '上月' },
262
         { value: 2, label: '上月' },
118
       time_month: '',
272
       time_month: '',
119
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
273
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
279
       input: '',
122
       myChart: {},
280
       myChart: {},
123
       pieData: [],
281
       pieData: [],
125
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
283
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126
       tableData: [],
284
       tableData: [],
127
       reference:{},
285
       reference:{},
286
+      statistics_type:1,
287
+      sort_type:"",
288
+      keyword:"",
289
+      patientTableData:[],
128
     }
290
     }
129
   },
291
   },
130
   mounted() {
292
   mounted() {
131
     this.getData()
293
     this.getData()
132
   },
294
   },
133
   methods: {
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
     getData() {
353
     getData() {
135
       if(this.start_time.length == 0){
354
       if(this.start_time.length == 0){
136
         this.$message.error("请选择开始时间")
355
         this.$message.error("请选择开始时间")
325
           break
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
     getSummaries(param) {
627
     getSummaries(param) {
331
       const { columns, data } = param
628
       const { columns, data } = param
353
 
650
 
354
       return sums
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 Näytä tiedosto

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
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
       let list = []
359
       let list = []
359
       for (let i = 0; i < this.tableData.length; i++) {
360
       for (let i = 0; i < this.tableData.length; i++) {
360
         let order = this.tableData[i]
361
         let order = this.tableData[i]

+ 319 - 13
src/xt_pages/Dialysisanalysis/bloodPhosphorus/phosphorusall.vue Näytä tiedosto

68
           label="人数"
68
           label="人数"
69
         >
69
         >
70
         </el-table-column>
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
       </el-table>
81
       </el-table>
82
     </div>
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
   </div>
223
   </div>
84
 </template>
224
 </template>
85
 <script>
225
 <script>
86
 import * as echarts from 'echarts'
226
 import * as echarts from 'echarts'
87
-import { GetQCStatistisData } from '../../../api/qcd'
227
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
88
 
228
 
89
 const moment = require('moment')
229
 const moment = require('moment')
90
 
230
 
103
   },
243
   },
104
   data() {
244
   data() {
105
     return {
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
       time_type: 1,
258
       time_type: 1,
107
       times: [
259
       times: [
108
         { value: 1, label: '本月' },
260
         { value: 1, label: '本月' },
119
       time_month: '',
271
       time_month: '',
120
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
272
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
121
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
279
       input: '',
123
       myChart: {},
280
       myChart: {},
124
       pieData: [],
281
       pieData: [],
126
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
283
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
127
       tableData: [],
284
       tableData: [],
128
       reference:{},
285
       reference:{},
286
+      statistics_type:1,
287
+      sort_type:"",
288
+      keyword:"",
289
+      patientTableData:[],
129
     }
290
     }
130
   },
291
   },
131
   mounted() {
292
   mounted() {
132
     this.getData()
293
     this.getData()
133
   },
294
   },
134
   methods: {
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
     getData() {
433
     getData() {
136
       if(this.start_time.length == 0){
434
       if(this.start_time.length == 0){
137
         this.$message.error("请选择开始时间")
435
         this.$message.error("请选择开始时间")
353
 
651
 
354
       return sums
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 Näytä tiedosto

67
           label="人数"
67
           label="人数"
68
         >
68
         >
69
         </el-table-column>
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
       </el-table>
80
       </el-table>
81
     </div>
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
   </div>
222
   </div>
83
 </template>
223
 </template>
84
 <script>
224
 <script>
85
 import * as echarts from 'echarts'
225
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
87
 
227
 
88
 const moment = require('moment')
228
 const moment = require('moment')
89
 
229
 
102
   },
242
   },
103
   data() {
243
   data() {
104
     return {
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
       time_type: 1,
256
       time_type: 1,
257
+      time_type_two:1,
106
       times: [
258
       times: [
107
         { value: 1, label: '本月' },
259
         { value: 1, label: '本月' },
108
         { value: 2, label: '上月' },
260
         { value: 2, label: '上月' },
118
       time_month: '',
270
       time_month: '',
119
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
278
       input: '',
122
       myChart: {},
279
       myChart: {},
123
       pieData: [],
280
       pieData: [],
125
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126
       tableData: [],
283
       tableData: [],
127
       reference:{},
284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
128
     }
289
     }
129
   },
290
   },
130
   mounted() {
291
   mounted() {
131
     this.getData()
292
     this.getData()
132
   },
293
   },
133
   methods: {
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
     getData() {
353
     getData() {
135
       if(this.start_time.length == 0){
354
       if(this.start_time.length == 0){
136
         this.$message.error("请选择开始时间")
355
         this.$message.error("请选择开始时间")
142
         start_date: this.start_time,
361
         start_date: this.start_time,
143
         end_date: this.end_time,
362
         end_date: this.end_time,
144
         project_id: 4,
363
         project_id: 4,
145
-        item_id: 48
364
+        item_id: 48,
146
       }
365
       }
147
       this.pieData = []
366
       this.pieData = []
148
       this.tableData = []
367
       this.tableData = []
324
           break
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
     getSummaries(param) {
627
     getSummaries(param) {
352
 
650
 
353
       return sums
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 Näytä tiedosto

67
           label="人数"
67
           label="人数"
68
         >
68
         >
69
         </el-table-column>
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
       </el-table>
80
       </el-table>
81
     </div>
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
   </div>
222
   </div>
83
 </template>
223
 </template>
84
 <script>
224
 <script>
85
 import * as echarts from 'echarts'
225
 import * as echarts from 'echarts'
86
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
87
 
227
 
88
 const moment = require('moment')
228
 const moment = require('moment')
89
 
229
 
102
   },
242
   },
103
   data() {
243
   data() {
104
     return {
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
       time_type: 1,
256
       time_type: 1,
257
+      time_type_two:1,
106
       times: [
258
       times: [
107
         { value: 1, label: '本月' },
259
         { value: 1, label: '本月' },
108
         { value: 2, label: '上月' },
260
         { value: 2, label: '上月' },
118
       time_month: '',
270
       time_month: '',
119
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
120
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
278
       input: '',
122
       myChart: {},
279
       myChart: {},
123
       pieData: [],
280
       pieData: [],
125
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
126
       tableData: [],
283
       tableData: [],
127
       reference:{},
284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
128
     }
289
     }
129
   },
290
   },
130
   mounted() {
291
   mounted() {
131
     this.getData()
292
     this.getData()
132
   },
293
   },
133
   methods: {
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
     getData() {
353
     getData() {
135
       if(this.start_time.length == 0){
354
       if(this.start_time.length == 0){
136
         this.$message.error("请选择开始时间")
355
         this.$message.error("请选择开始时间")
325
           break
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
     getSummaries(param) {
629
     getSummaries(param) {
353
 
652
 
354
       return sums
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 Näytä tiedosto

69
           label="人数"
69
           label="人数"
70
         >
70
         >
71
         </el-table-column>
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
       </el-table>
82
       </el-table>
83
     </div>
83
     </div>
84
   </div>
84
   </div>
85
 </template>
85
 </template>
86
 <script>
86
 <script>
87
 import * as echarts from 'echarts'
87
 import * as echarts from 'echarts'
88
-import { GetQCStatistisData } from '../../../api/qcd'
88
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
89
 
89
 
90
 const moment = require('moment')
90
 const moment = require('moment')
91
 
91
 
104
   },
104
   },
105
   data() {
105
   data() {
106
     return {
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
       time_type: 1,
118
       time_type: 1,
119
+      time_type_two:1,
108
       times: [
120
       times: [
109
         { value: 1, label: '本月' },
121
         { value: 1, label: '本月' },
110
         { value: 2, label: '上月' },
122
         { value: 2, label: '上月' },
121
       time_month: '',
133
       time_month: '',
122
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
134
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
123
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
139
       input: '',
125
       myChart: {},
140
       myChart: {},
126
       pieData: [],
141
       pieData: [],
127
       pieName: [],
142
       pieName: [],
128
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
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
   mounted() {
151
   mounted() {
133
     this.getData()
152
     this.getData()
134
   },
153
   },
135
   methods: {
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
     getData() {
293
     getData() {
137
       if(this.start_time.length == 0){
294
       if(this.start_time.length == 0){
138
         this.$message.error("请选择开始时间")
295
         this.$message.error("请选择开始时间")
354
 
511
 
355
       return sums
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 Näytä tiedosto

68
           label="人数"
68
           label="人数"
69
         >
69
         >
70
         </el-table-column>
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
       </el-table>
81
       </el-table>
82
     </div>
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
   </div>
223
   </div>
84
 </template>
224
 </template>
85
 <script>
225
 <script>
86
 import * as echarts from 'echarts'
226
 import * as echarts from 'echarts'
87
-import { GetQCStatistisData } from '../../../api/qcd'
227
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
88
 
228
 
89
 const moment = require('moment')
229
 const moment = require('moment')
90
 
230
 
103
   },
243
   },
104
   data() {
244
   data() {
105
     return {
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
       time_type: 1,
257
       time_type: 1,
258
+      time_type_two:1,
107
       times: [
259
       times: [
108
         { value: 1, label: '本月' },
260
         { value: 1, label: '本月' },
109
         { value: 2, label: '上月' },
261
         { value: 2, label: '上月' },
119
       time_month: '',
271
       time_month: '',
120
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
272
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
121
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
277
       input: '',
123
       myChart: {},
278
       myChart: {},
124
       pieData: [],
279
       pieData: [],
125
       pieName: [],
280
       pieName: [],
126
       reference:{},
281
       reference:{},
127
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
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
   mounted() {
290
   mounted() {
132
     this.getData()
291
     this.getData()
133
   },
292
   },
134
   methods: {
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
     getData() {
352
     getData() {
136
       if(this.start_time.length == 0){
353
       if(this.start_time.length == 0){
137
         this.$message.error("请选择开始时间")
354
         this.$message.error("请选择开始时间")
325
           break
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
     getSummaries(param) {
626
     getSummaries(param) {
353
 
649
 
354
       return sums
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 Näytä tiedosto

67
           label="人数"
67
           label="人数"
68
         >
68
         >
69
         </el-table-column>
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
       </el-table>
80
       </el-table>
81
     </div>
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
   </div>
222
   </div>
184
 </template>
223
 </template>
185
 <script>
224
 <script>
186
 import * as echarts from 'echarts'
225
 import * as echarts from 'echarts'
187
-import { GetQCStatistisData } from '../../../api/qcd'
226
+import { GetAllQCStatistisData, GetQCStatistisData } from '../../../api/qcd'
188
 
227
 
189
 const moment = require('moment')
228
 const moment = require('moment')
190
 
229
 
203
   },
242
   },
204
   data() {
243
   data() {
205
     return {
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
       time_type: 1,
256
       time_type: 1,
257
+      time_type_two:1,
207
       times: [
258
       times: [
208
         { value: 1, label: '本月' },
259
         { value: 1, label: '本月' },
209
         { value: 2, label: '上月' },
260
         { value: 2, label: '上月' },
219
       time_month: '',
270
       time_month: '',
220
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
271
       start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
221
       end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
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
       input: '',
278
       input: '',
223
       myChart: {},
279
       myChart: {},
224
       pieData: [],
280
       pieData: [],
226
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
282
       // myChartStyle:{float: "right", width: "100%", height: "400px"},
227
       tableData: [],
283
       tableData: [],
228
       reference:{},
284
       reference:{},
285
+      statistics_type:1,
286
+      sort_type:"",
287
+      keyword:"",
288
+      patientTableData:[],
229
     }
289
     }
230
   },
290
   },
231
   mounted() {
291
   mounted() {
232
     this.getData()
292
     this.getData()
233
   },
293
   },
234
   methods: {
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
     getData() {
353
     getData() {
236
       if(this.start_time.length == 0){
354
       if(this.start_time.length == 0){
237
         this.$message.error("请选择开始时间")
355
         this.$message.error("请选择开始时间")
425
           break
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
     getSummaries(param) {
627
     getSummaries(param) {
453
 
650
 
454
       return sums
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 Näytä tiedosto

55
         :url-list="imgs"
55
         :url-list="imgs"
56
       ></el-image-viewer>
56
       ></el-image-viewer>
57
 
57
 
58
-    </div>
59
   </div>
58
   </div>
60
 </template>
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 Näytä tiedosto

47
                         </div>
47
                         </div>
48
                       </td>
48
                       </td>
49
                       <td>岁</td>
49
                       <td>岁</td>
50
-
50
+                      <td width="10"></td>
51
                       <td width="50">门诊号:</td>
51
                       <td width="50">门诊号:</td>
52
                       <td width="150">
52
                       <td width="150">
53
                         <div class="under-line">
53
                         <div class="under-line">
72
                         </div>
72
                         </div>
73
                       </td>
73
                       </td>
74
                       <td width="30"></td>
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
                       </div>
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
                     </tr>
124
                     </tr>
84
                   </tbody>
125
                   </tbody>
85
                 </table>
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
                   <tbody>
129
                   <tbody>
114
                     <tr>
130
                     <tr>
115
                       <td width="80">床位号:</td>
131
                       <td width="80">床位号:</td>
566
                         <table class="table-box">
582
                         <table class="table-box">
567
                           <tbody>
583
                           <tbody>
568
                             <tr>
584
                             <tr>
569
-                              <td width="70">通路类型:</td>
570
-                              <td width="210">
585
+                              <td width="69">通路类型:</td>
586
+                              <td width="212">
571
                                 <div>
587
                                 <div>
572
                                   <label-box
588
                                   <label-box
573
                                     :isChecked="
589
                                     :isChecked="
603
                                 </div>
619
                                 </div>
604
                               </td>
620
                               </td>
605
 
621
 
606
-                              <td width="70">穿刺方法:</td>
622
+                              <td width="68">穿刺方法:</td>
607
                               <td width="180">
623
                               <td width="180">
608
                                 <div>
624
                                 <div>
609
                                   <label-box
625
                                   <label-box
670
                                 </div>
686
                                 </div>
671
                               </td>
687
                               </td>
672
 
688
 
673
-                              <td width="50">导管:</td>
674
-                              <td width="130">
689
+                              <td width="40">导管:</td>
690
+                              <td width="120">
675
                                 <div>
691
                                 <div>
676
                                   <label-box
692
                                   <label-box
677
                                     :isChecked="
693
                                     :isChecked="
3196
 import { getDataConfig } from "@/utils/data";
3212
 import { getDataConfig } from "@/utils/data";
3197
 import LabelBox from "../printItem/LabelBox";
3213
 import LabelBox from "../printItem/LabelBox";
3198
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
3214
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
3215
+// import { getDialysisRecord } from '@/api/dialysis';
3199
 import print from "print-js";
3216
 import print from "print-js";
3200
 export default {
3217
 export default {
3201
   name: "BatchPrintOrder",
3218
   name: "BatchPrintOrder",
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
   created() {
3282
   created() {
3292
         dialysateFormulationOptions[key];
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
   mounted() {
3331
   mounted() {
3307
     console.log(this.records);
3332
     console.log(this.records);
3651
       }
3676
       }
3652
     },
3677
     },
3653
     printAction: function () {
3678
     printAction: function () {
3679
+     
3654
       const style =
3680
       const style =
3655
         '@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;}';
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
       const style2 =
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
       printJS({
3685
       printJS({
3659
         printable: "print_content",
3686
         printable: "print_content",
3660
         type: "html",
3687
         type: "html",
3778
         return record[key] == target_value;
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
 </script>
3825
 </script>
3802
   text-align: center;
3844
   text-align: center;
3803
   font-size: 23px;
3845
   font-size: 23px;
3804
   line-height: 40px;
3846
   line-height: 40px;
3805
-  font-weight: 500;
3847
+  /* font-weight: 500; */
3806
 }
3848
 }
3807
 
3849
 
3808
 .row {
3850
 .row {
3974
 
4016
 
3975
 .dialysis-print-order .order-title {
4017
 .dialysis-print-order .order-title {
3976
   margin: auto;
4018
   margin: auto;
3977
-  font-weight: 600;
4019
+  /* font-weight: 600; */
3978
   text-align: center;
4020
   text-align: center;
3979
   font-size: 22px;
4021
   font-size: 22px;
3980
   padding: 10px 20px 20px 20px;
4022
   padding: 10px 20px 20px 20px;
4014
 }
4056
 }
4015
 
4057
 
4016
 .dialysis-print-order .radio-lebel-box {
4058
 .dialysis-print-order .radio-lebel-box {
4017
-  font-weight: 400;
4059
+  /* font-weight: 400; */
4018
   cursor: pointer;
4060
   cursor: pointer;
4019
 }
4061
 }
4020
 
4062
 
4125
 
4167
 
4126
 .dialysis-print-order .order-title {
4168
 .dialysis-print-order .order-title {
4127
   margin: auto;
4169
   margin: auto;
4128
-  font-weight: 600;
4170
+  /* font-weight: 600; */
4129
   text-align: center;
4171
   text-align: center;
4130
   font-size: 22px;
4172
   font-size: 22px;
4131
   padding: 10px 20px 20px 20px;
4173
   padding: 10px 20px 20px 20px;
4165
 }
4207
 }
4166
 
4208
 
4167
 .dialysis-print-order .radio-lebel-box {
4209
 .dialysis-print-order .radio-lebel-box {
4168
-  font-weight: 400;
4210
+  /* font-weight: 400; */
4169
   cursor: pointer;
4211
   cursor: pointer;
4170
 }
4212
 }
4171
 
4213
 

+ 15 - 4
src/xt_pages/dialysis/bloodPresssWatch.vue Näytä tiedosto

130
           >批量打印</el-button
130
           >批量打印</el-button
131
         >
131
         >
132
       </template>
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
       <template v-if="this.template_id == 12">
142
       <template v-if="this.template_id == 12">
134
         <el-button
143
         <el-button
135
           size="small"
144
           size="small"
219
           >批量打印</el-button
228
           >批量打印</el-button
220
         >
229
         >
221
       </template>
230
       </template>
222
-      <!-- <template v-if="this.template_id == 27">
231
+      <template v-if="this.template_id == 27">
223
         <el-button
232
         <el-button
224
           size="small"
233
           size="small"
225
           icon="el-icon-printer"
234
           icon="el-icon-printer"
228
           type="primary"
237
           type="primary"
229
           >批量打印</el-button
238
           >批量打印</el-button
230
         >
239
         >
231
-      </template> -->
240
+      </template>
232
       <template v-if="this.template_id == 28">
241
       <template v-if="this.template_id == 28">
233
         <el-button
242
         <el-button
234
           size="small"
243
           size="small"
392
           type="primary"
401
           type="primary"
393
           >批量打印</el-button>
402
           >批量打印</el-button>
394
       </template>
403
       </template>
395
-
404
+      
396
     </div>
405
     </div>
397
     <div class="app-container">
406
     <div class="app-container">
398
       <!-- <div class="filter-container">
407
       <!-- <div class="filter-container">
2073
         this.$router.push({ path: "/dialysis/print/batch/eight" });
2082
         this.$router.push({ path: "/dialysis/print/batch/eight" });
2074
       } else if (this.template_id == 9) {
2083
       } else if (this.template_id == 9) {
2075
         this.$router.push({ path: "/dialysis/print/batch/nine" });
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
       } else if (this.template_id == 12) {
2087
       } else if (this.template_id == 12) {
2077
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
2088
         this.$router.push({ path: "/dialysis/print/batch/twelve" });
2078
       } else if (this.template_id == 13) {
2089
       } else if (this.template_id == 13) {
2125
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2136
         this.$router.push({ path: "/dialysis/print/batch/sixtyOne" });
2126
       }else if (this.template_id == 62) {
2137
       }else if (this.template_id == 62) {
2127
         this.$router.push({ path: "/dialysis/print/batch/sixtyTwo" });
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
         this.$router.push({ path: "/dialysis/print/batch/sixtyFive" });
2140
         this.$router.push({ path: "/dialysis/print/batch/sixtyFive" });
2130
       }
2141
       }
2131
 
2142
 

+ 3 - 6
src/xt_pages/dialysis/dialysisPrintOrder.vue Näytä tiedosto

1623
           scanStyles: false,
1623
           scanStyles: false,
1624
         });
1624
         });
1625
       } else if (
1625
       } else if (
1626
-        this.org_template_info.template_id == 2
1627
-       
1626
+        this.org_template_info.template_id == 2     
1628
       ) {
1627
       ) {
1629
         printJS({
1628
         printJS({
1630
           printable: "dialysis-print-box-1",
1629
           printable: "dialysis-print-box-1",
1906
           style: style,
1905
           style: style,
1907
           scanStyles: false,
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
         printJS({
1909
         printJS({
1913
           printable: "dialysis-print-box-1",
1910
           printable: "dialysis-print-box-1",
1914
           type: "html",
1911
           type: "html",
1915
           style: style2,
1912
           style: style2,
1916
           scanStyles: false,
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
         printJS({
1916
         printJS({
1920
           printable: "dialysis-print-box-1",
1917
           printable: "dialysis-print-box-1",
1921
           type: "html",
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 Näytä tiedosto

486
                           />
486
                           />
487
                         </td> -->
487
                         </td> -->
488
                       </tr>
488
                       </tr>
489
-                    
490
                   </table>
489
                   </table>
491
                 </td>
490
                 </td>
492
               </tr>
491
               </tr>

+ 3 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderTwentySeven.vue Näytä tiedosto

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

+ 1 - 1
src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue Näytä tiedosto

16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
18
             </div>
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
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
21
                     <span style="display:inline-block;width:200px;">
21
                     <span style="display:inline-block;width:200px;">
22
                         <span v-if="item.advice.id == 0">
22
                         <span v-if="item.advice.id == 0">

+ 1 - 0
src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue Näytä tiedosto

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

+ 53 - 0
src/xt_pages/outpatientCharges/summary.vue Näytä tiedosto

738
           })
738
           })
739
           .catch(function (error) {
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
     queryData(row){
795
     queryData(row){
743
       var that = this;
796
       var that = this;

+ 197 - 1
src/xt_pages/outpatientTool/labelPrint.vue Näytä tiedosto

47
 
47
 
48
                   <el-checkbox v-model="is_combination_print">是否组合打印</el-checkbox>
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
                 </div>
53
                 </div>
51
             </div>
54
             </div>
52
             <el-table :data="isShow?tableData:tableDataTwo" border :row-style="{ color: '#303133' }" ref="table"
55
             <el-table :data="isShow?tableData:tableDataTwo" border :row-style="{ color: '#303133' }" ref="table"
53
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
56
                       :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
57
+                      @selection-change="handleSelectionChange"
54
                       highlight-current-row>
58
                       highlight-current-row>
59
+              <el-table-column align="center" type="selection" width="55"></el-table-column>
55
 
60
 
56
                 <el-table-column align="center" prop="name" label="患者名字">
61
                 <el-table-column align="center" prop="name" label="患者名字">
57
                     <template slot-scope="scope">{{ scope.row.patient_name }}</template>
62
                     <template slot-scope="scope">{{ scope.row.patient_name }}</template>
216
         current_number: '',
221
         current_number: '',
217
         current_project_name: '',
222
         current_project_name: '',
218
         current_name: '',
223
         current_name: '',
219
-
224
+        selecting_schs:[],
220
         labelVisible: false,
225
         labelVisible: false,
221
         crumbs: [
226
         crumbs: [
222
           { path: false, name: 'HIS工具' },
227
           { path: false, name: 'HIS工具' },
244
       }
249
       }
245
     },
250
     },
246
     methods: {
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
       getDictionaryDataConfig(module, filed_name) {
428
       getDictionaryDataConfig(module, filed_name) {
248
         return getDictionaryDataConfig(module, filed_name)
429
         return getDictionaryDataConfig(module, filed_name)
249
 
430
 
504
           }
685
           }
505
         }
686
         }
506
         return res
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
       getListTwo() {
704
       getListTwo() {
509
         let params = {
705
         let params = {

+ 3 - 1
src/xt_pages/stock/stockInOrderAdd.vue Näytä tiedosto

58
                     @select="handleSelect"
58
                     @select="handleSelect"
59
                     @input="changeGoodName(scope.$index)"
59
                     @input="changeGoodName(scope.$index)"
60
                     style="width:160px;"
60
                     style="width:160px;"
61
+                    :popper-append-to-body="true"
61
                   >
62
                   >
62
                     <i class="el-icon-search el-input__icon" slot="suffix"></i>
63
                     <i class="el-icon-search el-input__icon" slot="suffix"></i>
63
                   <template slot-scope="{ item }">
64
                   <template slot-scope="{ item }">
1013
     background: #6fb5fa;
1014
     background: #6fb5fa;
1014
   }
1015
   }
1015
 .el-autocomplete-suggestion{
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 Näytä tiedosto

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

+ 110 - 12
src/xt_pages/user/components/PatientSidebar.vue Näytä tiedosto

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
       name:""
269
       name:""
209
     }
270
     }
245
         this.$router.push({
306
         this.$router.push({
246
           path: '/patients/patient/' + this.id + '/proeducation'
307
           path: '/patients/patient/' + this.id + '/proeducation'
247
         })
308
         })
248
-      }else if (name == '1-7'){
309
+      } else if (name == '1-7'){
249
         this.$router.push({path:'/patients/patient/'+this.id+'/vascularAccess'})
310
         this.$router.push({path:'/patients/patient/'+this.id+'/vascularAccess'})
250
-      }else if (name == '1-8'){
311
+      } else if (name == '1-8'){
251
         this.$router.push({path:'/patients/patients/'+this.id+'/inspectionInfectious'})
312
         this.$router.push({path:'/patients/patients/'+this.id+'/inspectionInfectious'})
252
-      }else if (name == '1-9'){
313
+      } else if (name == '1-9'){
253
         this.$router.push({path:'/patient/patient/'+this.id+'/templateSummary'})
314
         this.$router.push({path:'/patient/patient/'+this.id+'/templateSummary'})
254
-      }else if(name == '1-10'){
315
+      } else if(name == '1-10'){
255
         this.$router.push({path:'/patient/patient/'+this.id+'/hospitalSummary'})
316
         this.$router.push({path:'/patient/patient/'+this.id+'/hospitalSummary'})
256
-      }else if(name == '1-11'){
317
+      } else if(name == '1-11'){
257
         this.$router.push({path:'/patient/patient/'+this.id+'/firstDisease'})
318
         this.$router.push({path:'/patient/patient/'+this.id+'/firstDisease'})
258
-      }else if(name == '3-1'){
319
+      } else if(name == '3-1'){
259
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
320
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
260
 
321
 
261
       } else if(name == '3-2'){
322
       } else if(name == '3-2'){
262
         this.$router.push({path:'/patients/physicalexamination?id='+this.id})
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
         this.$router.push({path:'/patients/inspection_check?id='+this.id})
326
         this.$router.push({path:'/patients/inspection_check?id='+this.id})
266
-      }else if(name == '4-3'){
327
+      } else if(name == '4-3'){
267
         this.$router.push({path:'/patients/ktv?id='+this.id})
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
     changePatient(value) {
368
     changePatient(value) {
271
       console.log(value)
369
       console.log(value)
397
       }
495
       }
398
        else if (patientKey == '1-5') {
496
        else if (patientKey == '1-5') {
399
         this.$router.push({ path: '/patients/rescue?id=' + this.id })
497
         this.$router.push({ path: '/patients/rescue?id=' + this.id })
400
-      }else if (patientKey == '2-1') {
498
+      } else if (patientKey == '2-1') {
401
         this.$router.push({
499
         this.$router.push({
402
           path: '/patients/patient/' + this.id + '/dialysisSolution'
500
           path: '/patients/patient/' + this.id + '/dialysisSolution'
403
         })
501
         })
413
         this.$router.push({
511
         this.$router.push({
414
           path: '/patients/patient/' + this.id + '/proeducation'
512
           path: '/patients/patient/' + this.id + '/proeducation'
415
         })
513
         })
416
-      }else if (patientKey == '3-1') {
514
+      } else if (patientKey == '3-1') {
417
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
515
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
418
       }
516
       }
419
 
517
 

+ 0 - 6
src/xt_pages/user/dialysisSolution.vue Näytä tiedosto

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

+ 1 - 1
src/xt_pages/user/hospitalSummary.vue Näytä tiedosto

1
 <template>
1
 <template>
2
   <div class="patient-container">
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
     <div v-loading="loading">
4
     <div v-loading="loading">
5
       <div class="patient-app-container advice-container app-container">
5
       <div class="patient-app-container advice-container app-container">
6
 
6
 

+ 54 - 207
src/xt_pages/user/inspection.vue Näytä tiedosto

40
         </el-col>
40
         </el-col>
41
         <el-col :span="17" v-loading="itemLoading">
41
         <el-col :span="17" v-loading="itemLoading">
42
           <div class="filter-container" style="float:right">
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
             <el-button
43
             <el-button
67
               size="small"
44
               size="small"
68
               class="filter-item"
45
               class="filter-item"
190
             <el-row>
167
             <el-row>
191
               <template v-for="(item, index) in items">
168
               <template v-for="(item, index) in items">
192
                 <el-col :span="7" :key="index">
169
                 <el-col :span="7" :key="index">
193
-                  <div style="width: 400px">
170
+                  <div style=" margin: 5px;">
194
                     <el-row>
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
                     </el-row>
185
                     </el-row>
197
                     <el-row>
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
                     </el-row>
188
                     </el-row>
200
                   </div>
189
                   </div>
201
                 </el-col>
190
                 </el-col>
219
       </el-row>
208
       </el-row>
220
     </div>
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
     <el-dialog
211
     <el-dialog
278
       :title="formTitle"
212
       :title="formTitle"
279
       :visible.sync="dialogFormVisible"
213
       :visible.sync="dialogFormVisible"
452
         </el-button>
386
         </el-button>
453
       </div>
387
       </div>
454
     </el-dialog>
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
   </div>
395
   </div>
456
 
396
 
457
 </template>
397
 </template>
458
 
398
 
459
 <script>
399
 <script>
460
 import PatientSidebar from './components/PatientSidebar'
400
 import PatientSidebar from './components/PatientSidebar'
401
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
461
 import { getToken } from '@/api/qiniu'
402
 import { getToken } from '@/api/qiniu'
462
 
403
 
463
 import {
404
 import {
467
   DeletePatientInspection,
408
   DeletePatientInspection,
468
   EditPatientInspection,
409
   EditPatientInspection,
469
   fetchInspectionReference,
410
   fetchInspectionReference,
470
-  fetchPatientInspections,
471
-  setRemind,
472
-  setRemindDialog
411
+  fetchPatientInspections
473
 } from '@/api/inspection'
412
 } from '@/api/inspection'
474
 import { getFileExtension, uParseTime } from '@/utils/tools'
413
 import { getFileExtension, uParseTime } from '@/utils/tools'
475
 
414
 
476
 export default {
415
 export default {
477
   name: 'Inspection',
416
   name: 'Inspection',
478
-  components: { PatientSidebar },
417
+  components: { PatientSidebar, ElImageViewer},
479
   data() {
418
   data() {
480
     return {
419
     return {
481
-      temp_remind_cycle:"",
482
-      is_open:false,
483
-      record_id:0,
420
+      showViewer:false,
421
+      imgs:[],
484
       total: 0,
422
       total: 0,
485
       qiniuDomain: 'https://images.shengws.com/',
423
       qiniuDomain: 'https://images.shengws.com/',
486
       isPic:false,
424
       isPic:false,
496
       },
434
       },
497
       itemName: '请选择项目',
435
       itemName: '请选择项目',
498
       formTitle: '',
436
       formTitle: '',
499
-      dialogRemindFormVisible:false,
500
-      dialogRemindDialogFormVisible:false,
501
       dialogPicFormVisible: false,
437
       dialogPicFormVisible: false,
502
       dialogFormVisible: false,
438
       dialogFormVisible: false,
503
       patient_info: null,
439
       patient_info: null,
527
     }
463
     }
528
   },
464
   },
529
   methods: {
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
     beforeAvatarUpload(file) {
475
     beforeAvatarUpload(file) {
531
       // const isJPG = file.type === "image/jpeg";
476
       // const isJPG = file.type === "image/jpeg";
532
       var fileType = file.type
477
       var fileType = file.type
663
         })
608
         })
664
         .catch(() => {
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
       if (this.project == null) {
614
       if (this.project == null) {
717
         this.$message.error('请先选择项目')
615
         this.$message.error('请先选择项目')
741
         this.form.project_id = this.project.project_id
639
         this.form.project_id = this.project.project_id
742
         this.form.inspect_date = this.itemDate
640
         this.form.inspect_date = this.itemDate
743
         this.form.old_inspect_date = this.itemDate
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
         console.log(this.form.remind_cycle)
643
         console.log(this.form.remind_cycle)
750
 
644
 
751
         this.form.formItem = []
645
         this.form.formItem = []
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
       if (this.project == null) {
667
       if (this.project == null) {
781
         this.$message.error('请先选择项目')
668
         this.$message.error('请先选择项目')
782
         return false
669
         return false
787
       this.form.project_id = this.project.project_id
674
       this.form.project_id = this.project.project_id
788
       this.form.imgs=[]
675
       this.form.imgs=[]
789
       this.form.delete_imgs=[]
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
       var today = new Date()
678
       var today = new Date()
794
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
679
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
795
       this.form.formItem = []
680
       this.form.formItem = []
826
       this.form.method = 'add'
711
       this.form.method = 'add'
827
       this.formTitle = '新增' + this.project.project_name
712
       this.formTitle = '新增' + this.project.project_name
828
       this.form.project_id = this.project.project_id
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
       var today = new Date()
715
       var today = new Date()
834
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
716
       this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
835
       this.form.formItem = []
717
       this.form.formItem = []
882
               this.itemDate = this.form.inspect_date
764
               this.itemDate = this.form.inspect_date
883
               this.items = []
765
               this.items = []
884
               var inspections = response.data.data.inspections
766
               var inspections = response.data.data.inspections
885
-
886
-
887
               this.inspections = response.data.data.inspections
767
               this.inspections = response.data.data.inspections
888
               if (inspections == null) {
768
               if (inspections == null) {
889
                 this.inspections = []
769
                 this.inspections = []
897
                 this.inspectionsMap[inspections[index].item_id] =
777
                 this.inspectionsMap[inspections[index].item_id] =
898
                   inspections[index]
778
                   inspections[index]
899
               }
779
               }
900
-
901
               var items = this.project.inspection_reference
780
               var items = this.project.inspection_reference
902
               console.log('itmes', items)
781
               console.log('itmes', items)
903
               for (var index in items) {
782
               for (var index in items) {
956
             this.patientID,
835
             this.patientID,
957
             this.form,
836
             this.form,
958
             this.form.remind_cycle
837
             this.form.remind_cycle
959
-          ).then(response => {
838
+          )
839
+            .then(response => {
960
               if (response.data.state == 1) {
840
               if (response.data.state == 1) {
961
                 this.$notify({
841
                 this.$notify({
962
                   title: '成功',
842
                   title: '成功',
1038
           return false
918
           return false
1039
         }
919
         }
1040
       })
920
       })
1041
-    }, submitEditPicNew() {
921
+    },
922
+    submitEditPicNew() {
1042
       if (this.form.imgs.length == 0) {
923
       if (this.form.imgs.length == 0) {
1043
         this.$message.error('未上传图片')
924
         this.$message.error('未上传图片')
1044
         return false
925
         return false
1075
         })
956
         })
1076
       this.formLoading = false
957
       this.formLoading = false
1077
 
958
 
1078
-    },deletePic(item,index){
959
+    },
960
+    deletePic(item,index){
1079
       if(item.id == 0){
961
       if(item.id == 0){
1080
         this.form.imgs.splice(index,1)
962
         this.form.imgs.splice(index,1)
1081
       }else{
963
       }else{
1157
 
1039
 
1158
     },
1040
     },
1159
     fetchInspectionReference() {
1041
     fetchInspectionReference() {
1160
-      fetchInspectionReference(this.patientID).then(response => {
1042
+      fetchInspectionReference(this.patientID)
1043
+        .then(response => {
1161
           if (response.data.state == 1) {
1044
           if (response.data.state == 1) {
1162
             var reference = response.data.data.reference
1045
             var reference = response.data.data.reference
1163
-
1164
             var patient_info = response.data.data.patient_info
1046
             var patient_info = response.data.data.patient_info
1165
             this.projects = reference
1047
             this.projects = reference
1166
             this.patient_info = patient_info
1048
             this.patient_info = patient_info
1167
             this.pageLoading = false
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
           } else {
1051
           } else {
1171
             this.$message.error(response.data.msg)
1052
             this.$message.error(response.data.msg)
1172
             return false
1053
             return false
1214
         .then(response => {
1095
         .then(response => {
1215
           if (response.data.state == 1) {
1096
           if (response.data.state == 1) {
1216
             var inspections = response.data.data.inspections
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
             this.total = response.data.data.total
1098
             this.total = response.data.data.total
1222
             this.itemDate = response.data.data.date
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
             this.inspections = response.data.data.inspections
1100
             this.inspections = response.data.data.inspections
1247
             if (inspections == null) {
1101
             if (inspections == null) {
1248
               this.inspections = []
1102
               this.inspections = []
1251
             var inspectionsMap = {}
1105
             var inspectionsMap = {}
1252
             this.inspectionsMap = {}
1106
             this.inspectionsMap = {}
1253
             for (var index in inspections) {
1107
             for (var index in inspections) {
1254
-
1255
               inspectionsMap[inspections[index].item_id] = inspections[index]
1108
               inspectionsMap[inspections[index].item_id] = inspections[index]
1256
               this.inspectionsMap[inspections[index].item_id] = inspections[index]
1109
               this.inspectionsMap[inspections[index].item_id] = inspections[index]
1257
             }
1110
             }
1258
 
1111
 
1259
             var items = this.project.inspection_reference
1112
             var items = this.project.inspection_reference
1260
-
1261
             for (var index in items) {
1113
             for (var index in items) {
1262
               var item = {}
1114
               var item = {}
1263
               for (var key in items[index]) {
1115
               for (var key in items[index]) {
1264
-
1265
                 item[key] = items[index][key]
1116
                 item[key] = items[index][key]
1266
               }
1117
               }
1267
-
1268
               if (item.item_id > 0) {
1118
               if (item.item_id > 0) {
1269
-
1270
                 if (inspectionsMap[items[index].item_id] == undefined) {
1119
                 if (inspectionsMap[items[index].item_id] == undefined) {
1271
                   item.value = inspectionsMap[items[index].id].inspect_value
1120
                   item.value = inspectionsMap[items[index].id].inspect_value
1272
                   item.item_name = inspectionsMap[items[index].id].item_name
1121
                   item.item_name = inspectionsMap[items[index].id].item_name
1277
 
1126
 
1278
                 }
1127
                 }
1279
               } else {
1128
               } else {
1280
-
1281
                 item.value = inspectionsMap[items[index].id].inspect_value
1129
                 item.value = inspectionsMap[items[index].id].inspect_value
1282
                 item.item_name = inspectionsMap[items[index].id].item_name
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
               item.value_direction = ''
1135
               item.value_direction = ''
1287
-
1288
               if (item.range_type == 1) {
1136
               if (item.range_type == 1) {
1289
                 var value = parseFloat(item.value)
1137
                 var value = parseFloat(item.value)
1290
                 var range_min = parseFloat(item.range_min)
1138
                 var range_min = parseFloat(item.range_min)
1295
                   item.value_direction = '↑'
1143
                   item.value_direction = '↑'
1296
                 }
1144
                 }
1297
               }
1145
               }
1298
-
1299
               this.items.push(item)
1146
               this.items.push(item)
1300
-              console.log("item233333333333wo",this.items)
1147
+
1301
 
1148
 
1302
               if(item.value.indexOf("http") >= 0){
1149
               if(item.value.indexOf("http") >= 0){
1303
                 this.isPic = true
1150
                 this.isPic = true

+ 1 - 1
src/xt_pages/user/patient.vue Näytä tiedosto

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

+ 0 - 1
src/xt_pages/workforce/appointment.vue Näytä tiedosto

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

+ 97 - 43
src/xt_pages/workforce/components/editTableData.vue Näytä tiedosto

131
             :header-cell-style="{
131
             :header-cell-style="{
132
             backgroundColor: 'rgb(245, 247, 250)',
132
             backgroundColor: 'rgb(245, 247, 250)',
133
             color: '#606266',
133
             color: '#606266',
134
+            border: '1px solid aqua',
134
           }"
135
           }"
135
             :fit="true"
136
             :fit="true"
136
             :data="scheduleZone"
137
             :data="scheduleZone"
137
             @cell-click="clickThis"
138
             @cell-click="clickThis"
139
+            @cell-mouse-enter="hoverMouse"
138
             @cell-dblclick="dblclickThis"
140
             @cell-dblclick="dblclickThis"
139
             :span-method="objectSpanMethod"
141
             :span-method="objectSpanMethod"
140
             :summary-method="getSummaries"
142
             :summary-method="getSummaries"
141
             :cell-class-name="cellClass"
143
             :cell-class-name="cellClass"
144
+            :cell-style ='cellstyle'
142
             :row-class-name="tableRowClassName"
145
             :row-class-name="tableRowClassName"
143
             show-summary
146
             show-summary
144
             sum-text="总数"
147
             sum-text="总数"
152
               min-width="60"
155
               min-width="60"
153
               align="center"
156
               align="center"
154
               fixed
157
               fixed
158
+              style="border-bottom: 1px solid aqua;"
155
           ></el-table-column>
159
           ></el-table-column>
156
           <el-table-column
160
           <el-table-column
157
               prop="cut"
161
               prop="cut"
159
               min-width="50"
163
               min-width="50"
160
               align="center"
164
               align="center"
161
               fixed
165
               fixed
162
-          >
163
-        </el-table-column>
166
+              style="border-bottom: 1px solid aqua;"
167
+          ></el-table-column>
164
           <el-table-column
168
           <el-table-column
165
               :label="'周一 (' + weekTitle[0] + ')'"
169
               :label="'周一 (' + weekTitle[0] + ')'"
166
               v-if="isShowOne"
170
               v-if="isShowOne"
1686
       </span>
1690
       </span>
1687
     </el-dialog>
1691
     </el-dialog>
1688
     
1692
     
1689
-</div>
1693
+  </div>
1690
 </template>
1694
 </template>
1691
 
1695
 
1692
 <script>
1696
 <script>
1917
       partitions: [],
1921
       partitions: [],
1918
       partitions_two: [],
1922
       partitions_two: [],
1919
       jihaos_two: [],
1923
       jihaos_two: [],
1920
-
1924
+      subzone:[],
1921
       jihaos: [],
1925
       jihaos: [],
1922
       weekTitle: ["", "", "", "", "", "", ""],
1926
       weekTitle: ["", "", "", "", "", "", ""],
1923
       isShowOne: true,
1927
       isShowOne: true,
3392
           return false;
3396
           return false;
3393
         }
3397
         }
3394
         var partitions = response.data.data.partitions;
3398
         var partitions = response.data.data.partitions;
3395
-
3399
+        this.subzone = response.data.data.partitions;
3396
         this.theWeek.thisWeek = response.data.data.theWeek;
3400
         this.theWeek.thisWeek = response.data.data.theWeek;
3397
 
3401
 
3398
         this.theWeek.lastWeek = this.theWeek.thisWeek - 1;
3402
         this.theWeek.lastWeek = this.theWeek.thisWeek - 1;
3654
         this.scheduleZone.sort(this.compare("sort"));
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
     // 单元格的 className 的回调方法
3671
     // 单元格的 className 的回调方法
3659
     cellClass({ row, column, rowIndex, columnIndex }) {
3672
     cellClass({ row, column, rowIndex, columnIndex }) {
3660
       // 传染病区机器橙色背景
3673
       // 传染病区机器橙色背景
3662
         //
3675
         //
3663
         return "table-row-new-class schedule-table-row Infectious_disease";
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
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
3684
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
3666
         return "";
3685
         return "";
3667
       } else {
3686
       } else {
3668
         if (this.weekTime == "lastWeek") {
3687
         if (this.weekTime == "lastWeek") {
3688
+          if(column.label == '晚' ){
3689
+            return 'evening_border schedule-table-cell-disable'
3690
+          }
3669
           if (
3691
           if (
3670
               row[column.property].patient_id > 0 &&
3692
               row[column.property].patient_id > 0 &&
3671
               row[column.property].patient_id == this.patient_id_hover
3693
               row[column.property].patient_id == this.patient_id_hover
3683
                 row[column.property].patient_id == this.patient_id_hover
3705
                 row[column.property].patient_id == this.patient_id_hover
3684
             ) {
3706
             ) {
3685
               return "hover-td schedule-table-cell-disable";
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
           } else {
3713
           } else {
3714
+            if(column.label == '晚' ){
3715
+                return 'evening_border'
3716
+            }
3691
             if (
3717
             if (
3692
                 row[column.property].patient_id > 0 &&
3718
                 row[column.property].patient_id > 0 &&
3693
                 row[column.property].patient_id == this.patient_id_hover
3719
                 row[column.property].patient_id == this.patient_id_hover
3698
             }
3724
             }
3699
           }
3725
           }
3700
         }else{
3726
         }else{
3727
+          if(column.label == '晚' ){
3728
+                return 'evening_border '
3729
+          }
3701
           if (
3730
           if (
3702
               row[column.property].patient_id > 0 &&
3731
               row[column.property].patient_id > 0 &&
3703
               row[column.property].patient_id == this.patient_id_hover
3732
               row[column.property].patient_id == this.patient_id_hover
3710
       }
3739
       }
3711
       return "";
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
     patientClass({row,column, rowIndex,columnIndex}){
3755
     patientClass({row,column, rowIndex,columnIndex}){
3715
       if(this.cur_info.patient_id == row.id){
3756
       if(this.cur_info.patient_id == row.id){
4847
     },
4888
     },
4848
     // 单击选中患者
4889
     // 单击选中患者
4849
     clickThis(row, column, cell, event) {
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
     dblclickThis(row, column, cell, event){
4927
     dblclickThis(row, column, cell, event){
5827
   white-space: normal !important;
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
 .schedule-table-cell-disable {
5875
 .schedule-table-cell-disable {
5833
   background-color: rgb(245, 245, 245) !important;
5876
   background-color: rgb(245, 245, 245) !important;
5892
 .infectious {
5935
 .infectious {
5893
   color: red !important;
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
 .Infectious_disease{
5949
 .Infectious_disease{
5896
   background-color: red !important;
5950
   background-color: red !important;
5897
   color: white;
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 Näytä tiedosto

230
         :row-style="{ color: '#303133' }"
230
         :row-style="{ color: '#303133' }"
231
         :header-cell-style="{
231
         :header-cell-style="{
232
           backgroundColor: 'rgb(245, 247, 250)',
232
           backgroundColor: 'rgb(245, 247, 250)',
233
-          color: '#606266'
233
+          color: '#606266',
234
+          border: '1px solid aqua',
234
         }"
235
         }"
235
         :fit="true"
236
         :fit="true"
236
         :data="scheduleZone"
237
         :data="scheduleZone"
239
         @cell-mouse-enter="hoverMouse"
240
         @cell-mouse-enter="hoverMouse"
240
         :summary-method="getSummaries"
241
         :summary-method="getSummaries"
241
         show-summary
242
         show-summary
242
-        :row-class-name="tableRowClassName"
243
         :cell-class-name="cellClass"
243
         :cell-class-name="cellClass"
244
+        :cell-style ='cellstyle'
244
         sum-text="总数"
245
         sum-text="总数"
245
         :height="tableContainHeight"
246
         :height="tableContainHeight"
246
         ref="table"
247
         ref="table"
247
         style="table-layout: fixed;"
248
         style="table-layout: fixed;"
248
       >
249
       >
249
-
250
+<!--  -->
250
         <el-table-column
251
         <el-table-column
251
           prop="area"
252
           prop="area"
252
           label="分区"
253
           label="分区"
253
           width="50"
254
           width="50"
254
           align="center"
255
           align="center"
255
           fixed
256
           fixed
256
-        ></el-table-column>
257
+          style="border-bottom: 1px solid aqua;"
258
+        >
259
+        </el-table-column>
257
         <el-table-column
260
         <el-table-column
258
           prop="cut"
261
           prop="cut"
259
           label="机号"
262
           label="机号"
260
           align="center"
263
           align="center"
261
           min-width="40"
264
           min-width="40"
262
           fixed
265
           fixed
266
+          style="border-bottom: 1px solid aqua;"
263
         ></el-table-column>
267
         ></el-table-column>
264
         <el-table-column
268
         <el-table-column
265
           :label="' 周一(' + weekTitle[0] + ')'"
269
           :label="' 周一(' + weekTitle[0] + ')'"
266
           v-if="isShowOne"
270
           v-if="isShowOne"
267
           align="center"
271
           align="center"
272
+          
268
         >
273
         >
269
         <!-- :width="flexColumnWidth('Mon_M',scheduleZone)" -->
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
             <schedule-item
276
             <schedule-item
272
               slot-scope="scope"
277
               slot-scope="scope"
273
               :schedule-detail="scope.row.Mon_M"
278
               :schedule-detail="scope.row.Mon_M"
285
               :schedulMode="modename_value"
290
               :schedulMode="modename_value"
286
             ></schedule-item>
291
             ></schedule-item>
287
           </el-table-column>
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
             <schedule-item
294
             <schedule-item
290
               slot-scope="scope"
295
               slot-scope="scope"
291
               :schedule-detail="scope.row.Mon_N"
296
               :schedule-detail="scope.row.Mon_N"
793
      // scheduleZone: this.scheduleZoneProp,
798
      // scheduleZone: this.scheduleZoneProp,
794
       scheduleZoneRow: -1,
799
       scheduleZoneRow: -1,
795
       partitions: [],
800
       partitions: [],
801
+      subzone:[],
796
       jihaos: [],
802
       jihaos: [],
797
       weekTitle: ["", "", "", "", "", "", ""],
803
       weekTitle: ["", "", "", "", "", "", ""],
798
       weekList: ["", "", "", "", "", "", ""],
804
       weekList: ["", "", "", "", "", "", ""],
808
         mode_id: 0,
814
         mode_id: 0,
809
         type_name: "",
815
         type_name: "",
810
         bed_name: "",
816
         bed_name: "",
811
-
812
         partition_type: 0,
817
         partition_type: 0,
813
         contagions: [],
818
         contagions: [],
814
         patient: ""
819
         patient: ""
839
         ],
844
         ],
840
         bed_id: [{ required: true, message: "请选择透析机", trigger: "blur" }]
845
         bed_id: [{ required: true, message: "请选择透析机", trigger: "blur" }]
841
       },
846
       },
842
-
843
       weekday: 0,
847
       weekday: 0,
844
-
845
       creating_schedule: false,
848
       creating_schedule: false,
846
       changing_mode: false,
849
       changing_mode: false,
847
       changing_bed: false,
850
       changing_bed: false,
848
-
849
       tableHeight: document.documentElement.clientHeight,
851
       tableHeight: document.documentElement.clientHeight,
850
-
851
       origin_schedules: [],
852
       origin_schedules: [],
852
       origin_device_numbers: [],
853
       origin_device_numbers: [],
853
       zone_device_map: {},
854
       zone_device_map: {},
1074
           if (response.data.state == 0) {
1075
           if (response.data.state == 0) {
1075
             return false
1076
             return false
1076
           }
1077
           }
1077
-          console.log("触发232332323232",response.data.data)
1078
+          // console.log("触发232332323232",response.data.data)
1078
           var partitions = response.data.data.partitions
1079
           var partitions = response.data.data.partitions
1080
+          this.subzone = response.data.data.partitions
1081
+          // this.subzone.push(response.data.data.partitions)
1079
           console.log("partitions",partitions)
1082
           console.log("partitions",partitions)
1080
           this.theWeek.thisWeek = response.data.data.theWeek
1083
           this.theWeek.thisWeek = response.data.data.theWeek
1081
           // this.theWeek.historyWeek=this.theWeek.thisWeek - 2
1084
           // this.theWeek.historyWeek=this.theWeek.thisWeek - 2
1326
           console.log("34455555566666",this.scheduleZone)
1329
           console.log("34455555566666",this.scheduleZone)
1327
         })
1330
         })
1328
      },
1331
      },
1329
-
1332
+    //  单元格样式的回调
1330
     cellClass({ row, column, rowIndex, columnIndex }) {
1333
     cellClass({ row, column, rowIndex, columnIndex }) {
1331
-
1334
+      
1332
       if(columnIndex==1&&row.zone_type!=1){
1335
       if(columnIndex==1&&row.zone_type!=1){
1333
         return "table-row-new-class schedule-table-row Infectious_disease";
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
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
1345
       if (columnIndex == 0 || columnIndex == 1 || columnIndex == 23) {
1337
         return "";
1346
         return "";
1338
       } else {
1347
       } else {
1339
         if (this.weekTime == "lastWeek") {
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
             return 'hover-td schedule-table-cell-disable'
1353
             return 'hover-td schedule-table-cell-disable'
1342
           }else {
1354
           }else {
1343
             return 'schedule-table-cell-disable'
1355
             return 'schedule-table-cell-disable'
1345
           // return "schedule-table-cell-disable";
1357
           // return "schedule-table-cell-disable";
1346
         } else if (this.weekTime == "thisWeek") {
1358
         } else if (this.weekTime == "thisWeek") {
1347
           var weekday = Math.floor((columnIndex - 2) / 3 + 1);
1359
           var weekday = Math.floor((columnIndex - 2) / 3 + 1);
1360
+          // 判断日期
1348
           if (weekday < this.weekday) {
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
               return 'hover-td schedule-table-cell-disable'
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
             if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover){
1375
             if(row[column.property].patient_id > 0 && row[column.property].patient_id == this.patient_id_hover){
1357
               return 'hover-td '
1376
               return 'hover-td '
1358
             }else {
1377
             }else {
1359
               return ''
1378
               return ''
1360
             }
1379
             }
1361
           }
1380
           }
1381
+        } else {
1382
+          if(column.label == '晚' ){
1383
+            return 'evening_border'
1384
+          }
1362
         }
1385
         }
1363
       }
1386
       }
1364
       return "";
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
     changeSearchContagion(id) {
1401
     changeSearchContagion(id) {
1371
       this.patientQuery.contagion = id;
1402
       this.patientQuery.contagion = id;
1372
       this.getSchedulePatients();
1403
       this.getSchedulePatients();
1373
     },
1404
     },
1374
-    // changeSearchSchedule(id) {
1375
-    //   this.patientQuery.schedule = id;
1376
-    //   this.getSchedulePatients();
1377
-    // },
1405
+   
1406
+    // 合计
1378
     getSummaries(param) {
1407
     getSummaries(param) {
1379
       const { columns, data } = param;
1408
       const { columns, data } = param;
1380
       const sums = [];
1409
       const sums = [];
2523
         });
2552
         });
2524
     },
2553
     },
2525
     hoverMouse(row, column, cell, event) {
2554
     hoverMouse(row, column, cell, event) {
2555
+      // console.log('sdf12344565');
2526
       if (row[column.property].schedule_id > 0) {
2556
       if (row[column.property].schedule_id > 0) {
2527
         let patient_id = row[column.property].patient_id
2557
         let patient_id = row[column.property].patient_id
2528
         this.patient_id_hover = patient_id
2558
         this.patient_id_hover = patient_id
3239
       this.searchTableVisible = false;
3269
       this.searchTableVisible = false;
3240
       this.msDialogVisible = true;
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
     getAllZones() {
3274
     getAllZones() {
3251
       getAllZones().then(response => {
3275
       getAllZones().then(response => {
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
 </script>
3337
 </script>
3353
 }
3385
 }
3354
 
3386
 
3355
 .schedule-table-cell-disable {
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
 #table_data {
3391
 #table_data {
3403
   .Infectious_disease{
3435
   .Infectious_disease{
3404
     background-color: red !important;
3436
     background-color: red !important;
3405
     color: white;
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
 .backPurple{
3453
 .backPurple{
3409
   color: #f32424 !important;
3454
   color: #f32424 !important;

+ 1 - 1
src/xt_pages/workforce/printOne.vue Näytä tiedosto

53
               <tbody>
53
               <tbody>
54
                 <tr v-for="(it, i) in item.zones" :key="i">
54
                 <tr v-for="(it, i) in item.zones" :key="i">
55
                   <td :width="td_1_width">
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
                     {{ getZoneName(it.partition_id) }}
57
                     {{ getZoneName(it.partition_id) }}
58
                   </td>
58
                   </td>
59
                   <td :width="td_3_width" valign="top">
59
                   <td :width="td_3_width" valign="top">

+ 252 - 83
src/xt_pages/workforce/scheduleTablePrint.vue Näytä tiedosto

1
 <template>
1
 <template>
2
     <div>
2
     <div>
3
+      
3
       <el-button style="float:right;" type="primary" @click="printAction">打印</el-button>
4
       <el-button style="float:right;" type="primary" @click="printAction">打印</el-button>
4
 
5
 
5
 <!--      <el-button type="primary" @click="printAction">打印</el-button>-->
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
             <tr>
9
             <tr>
8
                 <td rowspan="2">分区</td>
10
                 <td rowspan="2">分区</td>
9
                 <td rowspan="2">机号</td>
11
                 <td rowspan="2">机号</td>
14
                 <td colspan="3">周五({{ weekTitle[4] }})</td>
16
                 <td colspan="3">周五({{ weekTitle[4] }})</td>
15
                 <td colspan="3">周六({{ weekTitle[5] }})</td>
17
                 <td colspan="3">周六({{ weekTitle[5] }})</td>
16
                 <td colspan="3">周日({{ weekTitle[6] }})</td>
18
                 <td colspan="3">周日({{ weekTitle[6] }})</td>
17
-                <td>总数</td>
19
+                <td rowspan="2">总数</td>
18
             </tr>
20
             </tr>
19
             <tr>
21
             <tr>
20
                 <td>上午</td>
22
                 <td>上午</td>
40
                 <td>晚上</td>
42
                 <td>晚上</td>
41
             </tr>
43
             </tr>
42
             <tr v-for="(item,index) in scheduleZone" :key="index">
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
                     <span v-if="item.Mon_M.patient_id">
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
                     </span>
51
                     </span>
52
                 </td>
52
                 </td>
53
-                <td style="min-width:50px;">
53
+                <td style="min-width:40px;">
54
                     <span v-if="item.Mon_A.patient_id">
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
                     </span>
58
                     </span>
58
                 </td>
59
                 </td>
59
-                <td style="min-width:50px;">
60
+                <td style="min-width:40px;">
60
                     <span v-if="item.Mon_N.patient_id">
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
                     </span>
65
                     </span>
64
                 </td>
66
                 </td>
65
-                <td style="min-width:50px;">
67
+                <td style="min-width:40px;">
66
                     <span v-if="item.Tue_M.patient_id">
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
                     </span>
72
                     </span>
70
                 </td>
73
                 </td>
71
-                <td style="min-width:50px;">
74
+                <td style="min-width:40px;">
72
                     <span v-if="item.Tue_A.patient_id">
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
                     </span>
79
                     </span>
76
                 </td>
80
                 </td>
77
-                <td style="min-width:50px;">
81
+                <td style="min-width:40px;">
78
                     <span v-if="item.Tue_N.patient_id">
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
                     </span>
86
                     </span>
82
                 </td>
87
                 </td>
83
-                <td style="min-width:50px;">
88
+                <td style="min-width:40px;">
84
                     <span v-if="item.Wed_M.patient_id">
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
                     </span>
93
                     </span>
88
                 </td>
94
                 </td>
89
-                <td style="min-width:50px;">
95
+                <td style="min-width:40px;">
90
                     <span v-if="item.Wed_A.patient_id">
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
                     </span>
99
                     </span>
94
                 </td>
100
                 </td>
95
-                <td style="min-width:50px;">
101
+                <td style="min-width:40px;">
96
                     <span v-if="item.Wed_N.patient_id">
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
                     </span>
105
                     </span>
100
                 </td>
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
                     </span>
111
                     </span>
106
                 </td>
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
                     </span>
117
                     </span>
112
                 </td>
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
                     </span>
123
                     </span>
118
                 </td>
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
                     </span>
129
                     </span>
124
                 </td>
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
                     </span>
135
                     </span>
130
                 </td>
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
                     </span>
141
                     </span>
136
                 </td>
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
                     </span>
147
                     </span>
142
                 </td>
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
                     </span>
153
                     </span>
148
                 </td>
154
                 </td>
149
-                <td style="min-width:50px;">
155
+                <td style="min-width:40px;">
150
                     <span v-if="item.Sat_N.patient_id">
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
                     </span>
159
                     </span>
154
                 </td>
160
                 </td>
155
-                <td style="min-width:50px;">
161
+                <td style="min-width:40px;">
156
                     <span v-if="item.Sun_M.patient_id">
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
                     </span>
165
                     </span>
160
                 </td>
166
                 </td>
161
-                <td style="min-width:50px;">
167
+                <td style="min-width:40px;">
162
                     <span v-if="item.Sun_A.patient_id">
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
                     </span>
171
                     </span>
166
                 </td>
172
                 </td>
167
-                <td style="min-width:50px;">
173
+                <td style="min-width:40px;">
168
                     <span v-if="item.Sun_N.patient_id">
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
                     </span>
177
                     </span>
172
                 </td>
178
                 </td>
173
                 <td>{{item.total}}</td>
179
                 <td>{{item.total}}</td>
174
             </tr>
180
             </tr>
175
         </table>
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
     </div>
343
     </div>
177
 </template>
344
 </template>
178
 
345
 
252
 
419
 
253
         }else{
420
         }else{
254
              newList = [1,2,3,4,5,6,7]
421
              newList = [1,2,3,4,5,6,7]
255
-
256
             this.week_date = newList.join(",")
422
             this.week_date = newList.join(",")
257
 
423
 
258
         }
424
         }
259
 
425
 
260
     },
426
     },
261
     methods:{
427
     methods:{
262
-         getAllZones(){
428
+        getAllZones(){
263
            getAllZones().then(response=>{
429
            getAllZones().then(response=>{
264
              if(response.data.state == 1){
430
              if(response.data.state == 1){
265
                 var zones = response.data.data.zones
431
                 var zones = response.data.data.zones
682
                     });
848
                     });
683
                     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":""}]
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
                      for(let i=0;i<newArr.length;i++){
851
                      for(let i=0;i<newArr.length;i++){
687
                        for(let j=0;j<this.scheduleCountList.length;j++){
852
                        for(let j=0;j<this.scheduleCountList.length;j++){
688
                             newArr[i].cut = this.total
853
                             newArr[i].cut = this.total
856
             return [weekArr[week], typeArr[schedule_type]];
1021
             return [weekArr[week], typeArr[schedule_type]];
857
         },
1022
         },
858
         printAction: function() {
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
             printJS({
1026
             printJS({
862
             printable: 'scheduleTable',
1027
             printable: 'scheduleTable',
863
             type: 'html',
1028
             type: 'html',
922
 </script>
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
 td{
1095
 td{
927
     text-align: center;
1096
     text-align: center;
928
     padding: 5px;
1097
     padding: 5px;

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