소스 검색

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

XMLWAN 4 년 전
부모
커밋
cde887056a
37개의 변경된 파일5328개의 추가작업 그리고 1530개의 파일을 삭제
  1. 11 30
      package-lock.json
  2. 10 1
      src/api/advice.js
  3. 0 2
      src/api/dialysis.js
  4. 39 0
      src/api/his/his.js
  5. 418 410
      src/api/project/project.js
  6. 7 5
      src/api/schedule.js
  7. 26 1
      src/store/modules/globalConfig.js
  8. 1 5
      src/utils/tools.js
  9. 1 1
      src/xt_pages/dialysis/components/allSummary.vue
  10. 568 27
      src/xt_pages/dialysis/components/dialysisDrugs.vue
  11. 61 46
      src/xt_pages/dialysis/components/dialysisDrugsDialog.vue
  12. 2 2
      src/xt_pages/dialysis/consumableDrugs.vue
  13. 9 9
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  14. 23 0
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  15. 16 2
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  16. 1 1
      src/xt_pages/dialysis/dialysisDoctorAdvice.vue
  17. 4 2
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtyFour.vue
  18. 5 5
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue
  19. 62 12
      src/xt_pages/medicalScheduling/index.vue
  20. 208 0
      src/xt_pages/outpatientCharges/components/chargeMonthPrescriptionTable.vue
  21. 425 0
      src/xt_pages/outpatientCharges/components/dayPrescriptionTable.vue
  22. 297 0
      src/xt_pages/outpatientCharges/components/monthPrescriptionTable.vue
  23. 279 97
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  24. 1044 223
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  25. 3 3
      src/xt_pages/outpatientCharges/statementTemplate/printOne.vue
  26. 2 2
      src/xt_pages/outpatientCharges/summary.vue
  27. 0 2
      src/xt_pages/outpatientDoctorStation/components/callPrescription.vue
  28. 970 212
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  29. 534 308
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  30. 253 103
      src/xt_pages/outpatientRegistration/index.vue
  31. 10 3
      src/xt_pages/qcd/officesControlAnalysis/project.vue
  32. 2 1
      src/xt_pages/stock/drugs/drugStockInOrderAdd.vue
  33. 3 0
      src/xt_pages/stock/stockInOrder.vue
  34. 1 0
      src/xt_pages/user/dialysisSolution.vue
  35. 2 2
      src/xt_pages/user/patients.vue
  36. 8 6
      src/xt_pages/workforce/appointment.vue
  37. 23 7
      src/xt_pages/workforce/components/tableData.vue

+ 11 - 30
package-lock.json 파일 보기

4745
         "ansi-regex": {
4745
         "ansi-regex": {
4746
           "version": "2.1.1",
4746
           "version": "2.1.1",
4747
           "bundled": true,
4747
           "bundled": true,
4748
-          "dev": true,
4749
-          "optional": true
4748
+          "dev": true
4750
         },
4749
         },
4751
         "aproba": {
4750
         "aproba": {
4752
           "version": "1.2.0",
4751
           "version": "1.2.0",
4769
         "balanced-match": {
4768
         "balanced-match": {
4770
           "version": "1.0.0",
4769
           "version": "1.0.0",
4771
           "bundled": true,
4770
           "bundled": true,
4772
-          "dev": true,
4773
-          "optional": true
4771
+          "dev": true
4774
         },
4772
         },
4775
         "brace-expansion": {
4773
         "brace-expansion": {
4776
           "version": "1.1.11",
4774
           "version": "1.1.11",
4777
           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
4775
           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
4778
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4776
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4779
           "dev": true,
4777
           "dev": true,
4780
-          "optional": true,
4781
           "requires": {
4778
           "requires": {
4782
             "balanced-match": "^1.0.0",
4779
             "balanced-match": "^1.0.0",
4783
             "concat-map": "0.0.1"
4780
             "concat-map": "0.0.1"
4793
         "code-point-at": {
4790
         "code-point-at": {
4794
           "version": "1.1.0",
4791
           "version": "1.1.0",
4795
           "bundled": true,
4792
           "bundled": true,
4796
-          "dev": true,
4797
-          "optional": true
4793
+          "dev": true
4798
         },
4794
         },
4799
         "concat-map": {
4795
         "concat-map": {
4800
           "version": "0.0.1",
4796
           "version": "0.0.1",
4801
           "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
4797
           "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
4802
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4798
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4803
-          "dev": true,
4804
-          "optional": true
4799
+          "dev": true
4805
         },
4800
         },
4806
         "console-control-strings": {
4801
         "console-control-strings": {
4807
           "version": "1.1.0",
4802
           "version": "1.1.0",
4808
           "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
4803
           "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
4809
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4804
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4810
-          "dev": true,
4811
-          "optional": true
4805
+          "dev": true
4812
         },
4806
         },
4813
         "core-util-is": {
4807
         "core-util-is": {
4814
           "version": "1.0.2",
4808
           "version": "1.0.2",
4938
         "inherits": {
4932
         "inherits": {
4939
           "version": "2.0.3",
4933
           "version": "2.0.3",
4940
           "bundled": true,
4934
           "bundled": true,
4941
-          "dev": true,
4942
-          "optional": true
4935
+          "dev": true
4943
         },
4936
         },
4944
         "ini": {
4937
         "ini": {
4945
           "version": "1.3.5",
4938
           "version": "1.3.5",
4953
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4946
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4954
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4947
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4955
           "dev": true,
4948
           "dev": true,
4956
-          "optional": true,
4957
           "requires": {
4949
           "requires": {
4958
             "number-is-nan": "^1.0.0"
4950
             "number-is-nan": "^1.0.0"
4959
           }
4951
           }
4970
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
4962
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
4971
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4963
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4972
           "dev": true,
4964
           "dev": true,
4973
-          "optional": true,
4974
           "requires": {
4965
           "requires": {
4975
             "brace-expansion": "^1.1.7"
4966
             "brace-expansion": "^1.1.7"
4976
           }
4967
           }
4978
         "minimist": {
4969
         "minimist": {
4979
           "version": "0.0.8",
4970
           "version": "0.0.8",
4980
           "bundled": true,
4971
           "bundled": true,
4981
-          "dev": true,
4982
-          "optional": true
4972
+          "dev": true
4983
         },
4973
         },
4984
         "minipass": {
4974
         "minipass": {
4985
           "version": "2.3.5",
4975
           "version": "2.3.5",
4986
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
4976
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
4987
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4977
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4988
           "dev": true,
4978
           "dev": true,
4989
-          "optional": true,
4990
           "requires": {
4979
           "requires": {
4991
             "safe-buffer": "^5.1.2",
4980
             "safe-buffer": "^5.1.2",
4992
             "yallist": "^3.0.0"
4981
             "yallist": "^3.0.0"
5007
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
4996
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
5008
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
4997
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
5009
           "dev": true,
4998
           "dev": true,
5010
-          "optional": true,
5011
           "requires": {
4999
           "requires": {
5012
             "minimist": "0.0.8"
5000
             "minimist": "0.0.8"
5013
           }
5001
           }
5095
         "number-is-nan": {
5083
         "number-is-nan": {
5096
           "version": "1.0.1",
5084
           "version": "1.0.1",
5097
           "bundled": true,
5085
           "bundled": true,
5098
-          "dev": true,
5099
-          "optional": true
5086
+          "dev": true
5100
         },
5087
         },
5101
         "object-assign": {
5088
         "object-assign": {
5102
           "version": "4.1.1",
5089
           "version": "4.1.1",
5110
           "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
5097
           "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
5111
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5098
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5112
           "dev": true,
5099
           "dev": true,
5113
-          "optional": true,
5114
           "requires": {
5100
           "requires": {
5115
             "wrappy": "1"
5101
             "wrappy": "1"
5116
           }
5102
           }
5205
         "safe-buffer": {
5191
         "safe-buffer": {
5206
           "version": "5.1.2",
5192
           "version": "5.1.2",
5207
           "bundled": true,
5193
           "bundled": true,
5208
-          "dev": true,
5209
-          "optional": true
5194
+          "dev": true
5210
         },
5195
         },
5211
         "safer-buffer": {
5196
         "safer-buffer": {
5212
           "version": "2.1.2",
5197
           "version": "2.1.2",
5248
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5233
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5249
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5234
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5250
           "dev": true,
5235
           "dev": true,
5251
-          "optional": true,
5252
           "requires": {
5236
           "requires": {
5253
             "code-point-at": "^1.0.0",
5237
             "code-point-at": "^1.0.0",
5254
             "is-fullwidth-code-point": "^1.0.0",
5238
             "is-fullwidth-code-point": "^1.0.0",
5270
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5254
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5271
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5255
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5272
           "dev": true,
5256
           "dev": true,
5273
-          "optional": true,
5274
           "requires": {
5257
           "requires": {
5275
             "ansi-regex": "^2.0.0"
5258
             "ansi-regex": "^2.0.0"
5276
           }
5259
           }
5318
         "wrappy": {
5301
         "wrappy": {
5319
           "version": "1.0.2",
5302
           "version": "1.0.2",
5320
           "bundled": true,
5303
           "bundled": true,
5321
-          "dev": true,
5322
-          "optional": true
5304
+          "dev": true
5323
         },
5305
         },
5324
         "yallist": {
5306
         "yallist": {
5325
           "version": "3.0.3",
5307
           "version": "3.0.3",
5326
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
5308
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
5327
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5309
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5328
-          "dev": true,
5329
-          "optional": true
5310
+          "dev": true
5330
         }
5311
         }
5331
       }
5312
       }
5332
     },
5313
     },

+ 10 - 1
src/api/advice.js 파일 보기

498
 }
498
 }
499
 
499
 
500
 export function getSchedualDoctors (params) {
500
 export function getSchedualDoctors (params) {
501
-  console.log("params-----",params)
501
+  
502
   return request({
502
   return request({
503
     url: '/api/schedule/advices',
503
     url: '/api/schedule/advices',
504
     method: 'get',
504
     method: 'get',
506
   })
506
   })
507
 }
507
 }
508
 
508
 
509
+export function getDoctorAdviceCount(params){
510
+  
511
+  return request({
512
+    url:"/api/schedule/getdoctoradvicecount",
513
+    method:"get",
514
+    params:params
515
+  })
516
+}
517
+
509
 
518
 
510
 
519
 
511
 
520
 

+ 0 - 2
src/api/dialysis.js 파일 보기

290
 
290
 
291
   })
291
   })
292
 }
292
 }
293
-
294
-

+ 39 - 0
src/api/his/his.js 파일 보기

279
 
279
 
280
 
280
 
281
 
281
 
282
+export function getDayOrMonthHisPrescription (params) {
283
+  return request({
284
+    url: '/api/dayprescription/get',
285
+    method: 'get',
286
+    params:params,
287
+  })
288
+}
289
+
290
+
291
+
282
 
292
 
283
 
293
 
284
 
294
 
295
+export function editHisPrescription(data, params) {
296
+  return request({
297
+    url: "/api/hisprescription/edit",
298
+    method: "post",
299
+    data:data,
300
+    params:params,
301
+  });
302
+}
303
+
304
+
305
+
306
+export function getChargeHisPatientList (params) {
307
+  return request({
308
+    url: '/api/charge/list',
309
+    method: 'get',
310
+    params:params,
311
+  })
312
+}
313
+
314
+
315
+
316
+export function getChargeHisPatientInfo (params) {
317
+  return request({
318
+    url: '/api/charge/info',
319
+    method: 'get',
320
+    params:params,
321
+  })
322
+}
323
+
285
 
324
 
286
 
325
 
287
 
326
 

+ 418 - 410
src/api/project/project.js 파일 보기

3
 
3
 
4
 export function saveProject(params){
4
 export function saveProject(params){
5
 
5
 
6
-    return request({
7
-        url:"/api/his/saveproject",
8
-        methods:"get",
9
-        params:params,
10
-    })
6
+  return request({
7
+    url:"/api/his/saveproject",
8
+    methods:"get",
9
+    params:params,
10
+  })
11
 }
11
 }
12
 
12
 
13
 
13
 
14
 export function getProjectList(params){
14
 export function getProjectList(params){
15
-   
16
-    return request({
17
-       url:"/api/his/getprojectlist",
18
-       methods:"get",
19
-       params:params
20
-    })
15
+
16
+  return request({
17
+    url:"/api/his/getprojectlist",
18
+    methods:"get",
19
+    params:params
20
+  })
21
 }
21
 }
22
 
22
 
23
 export function getProjectDetail(id,params){
23
 export function getProjectDetail(id,params){
24
-  
25
-    return request({
26
-       url:"/api/his/getprojectdetail?id="+id,
27
-       methods:"get",
28
-       params:params
29
-    })
24
+
25
+  return request({
26
+    url:"/api/his/getprojectdetail?id="+id,
27
+    methods:"get",
28
+    params:params
29
+  })
30
 }
30
 }
31
 
31
 
32
 export function updatedProject(params){
32
 export function updatedProject(params){
33
-   
34
-   return request({
35
-      url:"/api/his/updatedproject",
36
-      methods:"get",
37
-      params:params
38
-   })
33
+
34
+  return request({
35
+    url:"/api/his/updatedproject",
36
+    methods:"get",
37
+    params:params
38
+  })
39
 }
39
 }
40
 
40
 
41
 export function deleteHisProject(id,params){
41
 export function deleteHisProject(id,params){
42
-   
43
-    return request({
44
-      url:"/api/his/deletehisproject?id="+id,
45
-      methods:"get",
46
-      params:params
47
-    })
42
+
43
+  return request({
44
+    url:"/api/his/deletehisproject?id="+id,
45
+    methods:"get",
46
+    params:params
47
+  })
48
 }
48
 }
49
 
49
 
50
 export function saveProjectTeam(params){
50
 export function saveProjectTeam(params){
51
-  
52
-   return request({
53
-     url:"/api/his/saveprojectteam",
54
-     methods:"Get",
55
-     params:params
56
-   })
51
+
52
+  return request({
53
+    url:"/api/his/saveprojectteam",
54
+    methods:"Get",
55
+    params:params
56
+  })
57
 }
57
 }
58
 
58
 
59
 export function getProjectTeamList(params){
59
 export function getProjectTeamList(params){
60
-  
61
-    return request({
62
-       url:"/api/his/getprojectteamlist",
63
-       methods:"get",
64
-       params:params
65
-    })
60
+
61
+  return request({
62
+    url:"/api/his/getprojectteamlist",
63
+    methods:"get",
64
+    params:params
65
+  })
66
 }
66
 }
67
 
67
 
68
 export function getProjectTeamDetail(id,params){
68
 export function getProjectTeamDetail(id,params){
69
-   
70
-    return request({
71
-       url:"/api/his/getprojectteamdetail?id="+id,
72
-       methods:"get",
73
-       params:params
74
-    })
69
+
70
+  return request({
71
+    url:"/api/his/getprojectteamdetail?id="+id,
72
+    methods:"get",
73
+    params:params
74
+  })
75
 }
75
 }
76
 
76
 
77
 export function updatedProjectTeam(params){
77
 export function updatedProjectTeam(params){
78
-  
79
-    return request({
80
-       url:"/api/his/updateprojectteam",
81
-       methods:"get",
82
-       params:params
83
-    })
78
+
79
+  return request({
80
+    url:"/api/his/updateprojectteam",
81
+    methods:"get",
82
+    params:params
83
+  })
84
 }
84
 }
85
 
85
 
86
 export function DeleteProjectTeam(id,params){
86
 export function DeleteProjectTeam(id,params){
87
-   
87
+
88
   return request({
88
   return request({
89
-      url:"/api/his/deleteprojectteam?id="+id,
90
-      methods:"get",
91
-      params:params
89
+    url:"/api/his/deleteprojectteam?id="+id,
90
+    methods:"get",
91
+    params:params
92
   })
92
   })
93
 }
93
 }
94
 
94
 
95
 export function SaveDepartment(params){
95
 export function SaveDepartment(params){
96
-  
97
-    return request({
98
-       url:"/api/his/savedepartment",
99
-       methods:"get",
100
-       params:params
101
-    })
96
+
97
+  return request({
98
+    url:"/api/his/savedepartment",
99
+    methods:"get",
100
+    params:params
101
+  })
102
 }
102
 }
103
 
103
 
104
 export function getDePartmentList(params){
104
 export function getDePartmentList(params){
105
-  
106
-    return request({
107
-       url:"/api/his/getdepartmentlist",
108
-       methods:"Get",
109
-       params:params
110
-    })
105
+
106
+  return request({
107
+    url:"/api/his/getdepartmentlist",
108
+    methods:"Get",
109
+    params:params
110
+  })
111
 }
111
 }
112
 
112
 
113
 export function getDepartMentDetail(id,params){
113
 export function getDepartMentDetail(id,params){
114
-  
115
-    return request({
116
-        url:"/api/his/getdepartmentdetail?id="+id,
117
-        methods:"get",
118
-        params:params
119
-    })
114
+
115
+  return request({
116
+    url:"/api/his/getdepartmentdetail?id="+id,
117
+    methods:"get",
118
+    params:params
119
+  })
120
 }
120
 }
121
 
121
 
122
 export function UpdatedDepartment(params){
122
 export function UpdatedDepartment(params){
123
-   
124
-    return request({
125
-        url:"/api/his/updagtedepartment",
126
-        methods:"get",
127
-        params:params
128
-    })
123
+
124
+  return request({
125
+    url:"/api/his/updagtedepartment",
126
+    methods:"get",
127
+    params:params
128
+  })
129
 }
129
 }
130
 
130
 
131
 export function DeleteDepartment(id,params){
131
 export function DeleteDepartment(id,params){
132
-    return request({
133
-       url:"/api/his/deletedeparment?id="+id,
134
-       methods:"get",
135
-       params:params
136
-    })
132
+  return request({
133
+    url:"/api/his/deletedeparment?id="+id,
134
+    methods:"get",
135
+    params:params
136
+  })
137
 }
137
 }
138
 
138
 
139
 
139
 
140
 export function getPatientList(params){
140
 export function getPatientList(params){
141
-   return request({
142
-       url:"/api/his/getbloodpatient",
143
-       methods:"get",
144
-       params:params
145
-   })
141
+  return request({
142
+    url:"/api/his/getbloodpatient",
143
+    methods:"get",
144
+    params:params
145
+  })
146
 }
146
 }
147
 
147
 
148
 export function getHisPrescription(id,params){
148
 export function getHisPrescription(id,params){
149
-   
150
-    return request({
151
-       url:"/api/his/gethisprescription?id="+id,
152
-       methods:"get",
153
-       params:params
154
-    })
149
+
150
+  return request({
151
+    url:"/api/his/gethisprescription?id="+id,
152
+    methods:"get",
153
+    params:params
154
+  })
155
 }
155
 }
156
 
156
 
157
 export function saveCharges(data){
157
 export function saveCharges(data){
158
-    
159
-    return request({
160
-       url:"/api/his/additionalcharge",
161
-       method:"post",
162
-       data:data
163
-    })
158
+
159
+  return request({
160
+    url:"/api/his/additionalcharge",
161
+    method:"post",
162
+    data:data
163
+  })
164
 }
164
 }
165
 
165
 
166
 
166
 
167
 export function getAllProjectList(params){
167
 export function getAllProjectList(params){
168
-    return request({
169
-       url:"/api/his/getallprojectlist",
170
-       methods:"get",
171
-       params:params
172
-    })
168
+  return request({
169
+    url:"/api/his/getallprojectlist",
170
+    methods:"get",
171
+    params:params
172
+  })
173
 }
173
 }
174
 
174
 
175
 export function addProjectList(params){
175
 export function addProjectList(params){
176
-  
177
-    return request({
178
-       url:"/api/his/addprojectlist",
179
-       methods:"get",
180
-       params:params
181
-    })
176
+
177
+  return request({
178
+    url:"/api/his/addprojectlist",
179
+    methods:"get",
180
+    params:params
181
+  })
182
 }
182
 }
183
 
183
 
184
 export function getPatientInformation(id,params){
184
 export function getPatientInformation(id,params){
185
-   
186
-   return request({
187
-     url:"/api/his/getpatientinformation?id="+id,
188
-     methods:"Get",
189
-     params:params
190
-   })
185
+
186
+  return request({
187
+    url:"/api/his/getpatientinformation?id="+id,
188
+    methods:"Get",
189
+    params:params
190
+  })
191
 }
191
 }
192
 
192
 
193
 export function DeleteProject(id,params){
193
 export function DeleteProject(id,params){
194
-   
195
-    return request({
196
-       url:"/api/his/deleteproject?id="+id,
197
-       methods:"Get",
198
-       params:params
199
-    })
194
+
195
+  return request({
196
+    url:"/api/his/deleteproject?id="+id,
197
+    methods:"Get",
198
+    params:params
199
+  })
200
 }
200
 }
201
 
201
 
202
 
202
 
203
 export function getHisProject(params){
203
 export function getHisProject(params){
204
-  
205
-    return request({
206
-       url:"/api/his/gethisproject",
207
-       methods:"get",
208
-       params:params
209
-    })
204
+
205
+  return request({
206
+    url:"/api/his/gethisproject",
207
+    methods:"get",
208
+    params:params
209
+  })
210
 }
210
 }
211
 
211
 
212
 export function addProjectTeam(params){
212
 export function addProjectTeam(params){
213
-   
213
+
214
   return request({
214
   return request({
215
-      url:"/api/his/getprojectteam",
216
-      methods:"Get",
217
-      params:params
215
+    url:"/api/his/getprojectteam",
216
+    methods:"Get",
217
+    params:params
218
   })
218
   })
219
 }
219
 }
220
 
220
 
221
 export function getAllDoctorList(params){
221
 export function getAllDoctorList(params){
222
-   
222
+
223
   return request({
223
   return request({
224
-      url:"/api/his/getalldoctorlist",
225
-      methods:"Get",
226
-      params:params
224
+    url:"/api/his/getalldoctorlist",
225
+    methods:"Get",
226
+    params:params
227
   })
227
   })
228
-} 
228
+}
229
 
229
 
230
 export function saveHisPatient(params){
230
 export function saveHisPatient(params){
231
-   
232
-    return request({
233
-        url:"/api/his/savehispatient",
234
-        methods:"get",
235
-        params:params
236
-    })
231
+
232
+  return request({
233
+    url:"/api/his/savehispatient",
234
+    methods:"get",
235
+    params:params
236
+  })
237
 }
237
 }
238
 
238
 
239
 export function getAllProjectTeam(params){
239
 export function getAllProjectTeam(params){
240
-  
240
+
241
   return request({
241
   return request({
242
-     url:"/api/hist/getallprojecteam",
243
-     methods:"get",
244
-     params:params
242
+    url:"/api/hist/getallprojecteam",
243
+    methods:"get",
244
+    params:params
245
   })
245
   })
246
 }
246
 }
247
 
247
 
248
 export function getPojectListById(params){
248
 export function getPojectListById(params){
249
-  
249
+
250
   return request({
250
   return request({
251
     url:"/api/his/getprojectlistbyid",
251
     url:"/api/his/getprojectlistbyid",
252
     methods:"get",
252
     methods:"get",
253
-    params:params 
253
+    params:params
254
   })
254
   })
255
 }
255
 }
256
 
256
 
257
 export function getHisPatientHistory(params){
257
 export function getHisPatientHistory(params){
258
-  
259
-    return request({
260
-        url:"/api/his/gethispatienthistory",
261
-        methods:"get",
262
-        params:params
263
-    })
258
+
259
+  return request({
260
+    url:"/api/his/gethispatienthistory",
261
+    methods:"get",
262
+    params:params
263
+  })
264
 }
264
 }
265
 
265
 
266
 
266
 
267
 export function changePatient(id,params){
267
 export function changePatient(id,params){
268
-   
269
-    return request({
270
-      url:"/api/patient/changepatient?id="+id,
271
-      method:"get",
272
-      params:params
273
-    })
274
-  }
275
-
276
-
277
-  export function getPatientCaseHistory(params){
278
-     
279
-    return request({
280
-        url:"/api/patient/getpatientcasehistory",
281
-        method:"get",
282
-        params:params
283
-    })
284
-  }
285
-
286
-  export function SaveHisPatientCaseHistoryTemplate(params){
287
-      
288
-    return request({
289
-       url:"/api/doctorworkstation/casehistorytemplate/create",
290
-       method:"get",
291
-       params:params
292
-    })
293
-  }
294
-
295
-  export function getHistoryTemplate(params){
296
-   
297
-    return request({
298
-      url:"/api/doctorworkstation/casehistorytemplate/get",
299
-      method:"get",
300
-      params:params
301
-    })
302
-  }
303
-
304
-  export function getTemplateDetail(id,params){
305
-     
306
-     return request({
307
-        url:"/api/doctorworkstation/gettemplatedetail?id="+id,
308
-        method:"get",
309
-        params:params
310
-     })
311
-  }
312
-
313
-  export function updateRecordTemplate(params){
314
-    
315
-    return request({
316
-        url:"/api/doctorworkstation/updaterecordtemplate",
317
-        method:"get",
318
-        params:params  
319
-    })
320
-  } 
321
-
322
-  export function getHisPatient(params){
323
-    
324
-    return request({
325
-      url:"/api/hispatient/gehispatient",
326
-      method:"get",
327
-      params:params
328
-    })
329
-  }
330
-
331
-  export function postPrintHisTemplate(params){
332
-    
333
-    return request({
334
-      url:"/api/hispatient/postprinthistemplate",
335
-      method:"get",
336
-      params:params
337
-    })
338
-  }
339
-
340
-  export function getHisPrintTemplate(params){
341
-    
342
-    return request({
343
-      url:"/api/gethisprinttemplate",
344
-      method:"get",
345
-      params:params
346
-    })
347
-  } 
348
-
349
-  export function postPrescriptionPrintTemplate(params){
350
-    
351
-    return request({
352
-      url:"/api/hispatient/postprescriptiontemplate",
353
-      method:"Get",
354
-      params:params
355
-    })
356
-  }
357
-
358
-  export function getPrescriptionTemplate(params){
359
-   
360
-    return request({
361
-      url:"/api/hispatient/getprescriptiontemplate",
362
-      method:"Get",
363
-      params:params
364
-    })
365
-  }
366
-
367
-  export function postTreatPrintTemplate(params){
368
-   
369
-    return request({
370
-      url:"/api/hispatient/posttreatprinttemplate",
371
-      method:"get",
372
-      params:params
373
-    })
374
-  }
375
-
376
-  export function getTreatPrintTemplate(params){
377
-   
378
-    return request({
379
-      url:"/api/hispatient/gettreatprinttemplate",
380
-      method:"Get",
381
-      params:params
382
-    })
383
-  }
384
-
385
-  export function postChargePrintTemplate(params){
386
-    
387
-    return request({
388
-      url:"/api/hispatient/postchargeprinttemplate",
389
-      method:"get",
390
-      params:params
391
-    })
392
-  }
393
-
394
-  export function getChargePrintTemplate(params){
395
-     
396
-    return request({
397
-       url:"/api/hispatient/getchargeprinttemplate",
398
-       method:"get",
399
-       params:params
400
-    })
401
-  }
402
-
403
-  export function getAllHisPatientList(params){
404
-    
405
-    return request({
406
-      url:"/api/hispatient/getallhispatient",
407
-      method:"get",
408
-      params:params
409
-    })
410
-  }
411
-
412
-  export function getPrescriptionPrint(params){
413
-    
414
-    return request({
415
-      url:"/api/hispatient/getprescriptionprint",
416
-      method:"get",
417
-      params:params
418
-    })
419
-  }
420
-
421
-  export function getChargePrint(params){
422
-     
423
-    return request({
424
-      url:"/api/hispatient/getchargeprint",
425
-      method:"get",
426
-      params:params
427
-    })
428
-  }
429
-
430
-  export function getTodaySchedulePatient(params){
431
-     
432
-    return request({
433
-      url:"/api/hispatient/gettodayschedulepatient",
434
-      method:"get",
435
-      params:params
436
-    })
437
-  }
438
-
439
-  export function getHisPatientDetail(params){
440
-    console.log("params99999",params)
441
-    return request({
442
-      url:"/api/hispatient/gethispatientdetail",
443
-      method:"Get",
444
-      params:params
445
-    })
446
-  }
447
-
448
-  export function getAllDePartmentList(params){
449
-   
450
-    return request({
451
-      url:"/api/hispatient/getalldepartmentlist",
452
-      method:"Get",
453
-      params:params
454
-    })
455
-  } 
456
-
457
-  export function getPrescriptionList(id,params){
458
-     
459
-    return request({
460
-      url:"/api/hispatient/getprescription?patient_id="+id,
461
-      method:"Get",
462
-      params:params
463
-    })
464
-  }
465
-
466
-  export function getPatientDetail(id,params){
467
-    
468
-     return request({
469
-       url:"/api/histpatient/getpatientdetail?id="+id,
470
-       method:"Get",
471
-       params:params
472
-     })
473
-  }
474
-
475
-  export function saveMainTemplate(params){
476
-    
477
-    return request({
478
-      url:"/api/hispatient/savemaintemplate",
479
-      method:"Get",
480
-      params:params
481
-    })
482
-  }
483
-
484
-  export function getMedicalTemplateList(params){
485
-    
486
-    return request({
487
-      url:"/api/hispatient/getmedicaltemplatelist",
488
-      method:"Get",
489
-      params:params
490
-    })
491
-  }
492
-
493
-  export function getMainTemplateById(id,params){
494
-    
495
-    return request({
496
-      url:"/api/hispatient/getmaintemplatebyid?id="+id,
497
-      method:"get",
498
-      params:params
499
-    })
500
-  }
501
-
502
-  export function UpdateMainTemplate(params){
503
-   
504
-    return request({
505
-      url:"/api/hispatient/updatemaintemplate",
506
-      method:"get",
507
-      params:params
508
-    })
509
-  }
510
-
511
-  export function deleteMainTemplate(id,params){
512
-  
513
-     return request({
514
-       url:"/api/hispatient/deletemaintemplate?id="+id,
515
-       method:"Get",
516
-       params:params
517
-     })
518
-  }
268
+
269
+  return request({
270
+    url:"/api/patient/changepatient?id="+id,
271
+    method:"get",
272
+    params:params
273
+  })
274
+}
275
+
276
+
277
+export function getPatientCaseHistory(params){
278
+
279
+  return request({
280
+    url:"/api/patient/getpatientcasehistory",
281
+    method:"get",
282
+    params:params
283
+  })
284
+}
285
+
286
+export function SaveHisPatientCaseHistoryTemplate(params){
287
+
288
+  return request({
289
+    url:"/api/doctorworkstation/casehistorytemplate/create",
290
+    method:"get",
291
+    params:params
292
+  })
293
+}
294
+
295
+export function getHistoryTemplate(params){
296
+
297
+  return request({
298
+    url:"/api/doctorworkstation/casehistorytemplate/get",
299
+    method:"get",
300
+    params:params
301
+  })
302
+}
303
+
304
+export function getTemplateDetail(id,params){
305
+
306
+  return request({
307
+    url:"/api/doctorworkstation/gettemplatedetail?id="+id,
308
+    method:"get",
309
+    params:params
310
+  })
311
+}
312
+
313
+export function updateRecordTemplate(params){
314
+
315
+  return request({
316
+    url:"/api/doctorworkstation/updaterecordtemplate",
317
+    method:"get",
318
+    params:params
319
+  })
320
+}
321
+
322
+export function getHisPatient(params){
323
+
324
+  return request({
325
+    url:"/api/hispatient/gehispatient",
326
+    method:"get",
327
+    params:params
328
+  })
329
+}
330
+
331
+export function postPrintHisTemplate(params){
332
+
333
+  return request({
334
+    url:"/api/hispatient/postprinthistemplate",
335
+    method:"get",
336
+    params:params
337
+  })
338
+}
339
+
340
+export function getHisPrintTemplate(params){
341
+
342
+  return request({
343
+    url:"/api/gethisprinttemplate",
344
+    method:"get",
345
+    params:params
346
+  })
347
+}
348
+
349
+export function postPrescriptionPrintTemplate(params){
350
+
351
+  return request({
352
+    url:"/api/hispatient/postprescriptiontemplate",
353
+    method:"Get",
354
+    params:params
355
+  })
356
+}
357
+
358
+export function getPrescriptionTemplate(params){
359
+
360
+  return request({
361
+    url:"/api/hispatient/getprescriptiontemplate",
362
+    method:"Get",
363
+    params:params
364
+  })
365
+}
366
+
367
+export function postTreatPrintTemplate(params){
368
+
369
+  return request({
370
+    url:"/api/hispatient/posttreatprinttemplate",
371
+    method:"get",
372
+    params:params
373
+  })
374
+}
375
+
376
+export function getTreatPrintTemplate(params){
377
+
378
+  return request({
379
+    url:"/api/hispatient/gettreatprinttemplate",
380
+    method:"Get",
381
+    params:params
382
+  })
383
+}
384
+
385
+export function postChargePrintTemplate(params){
386
+
387
+  return request({
388
+    url:"/api/hispatient/postchargeprinttemplate",
389
+    method:"get",
390
+    params:params
391
+  })
392
+}
393
+
394
+export function getChargePrintTemplate(params){
395
+
396
+  return request({
397
+    url:"/api/hispatient/getchargeprinttemplate",
398
+    method:"get",
399
+    params:params
400
+  })
401
+}
402
+
403
+export function getAllHisPatientList(params){
404
+
405
+  return request({
406
+    url:"/api/hispatient/getallhispatient",
407
+    method:"get",
408
+    params:params
409
+  })
410
+}
411
+
412
+export function getPrescriptionPrint(params){
413
+
414
+  return request({
415
+    url:"/api/hispatient/getprescriptionprint",
416
+    method:"get",
417
+    params:params
418
+  })
419
+}
420
+
421
+export function getChargePrint(params){
422
+
423
+  return request({
424
+    url:"/api/hispatient/getchargeprint",
425
+    method:"get",
426
+    params:params
427
+  })
428
+}
429
+
430
+export function getTodaySchedulePatient(params){
431
+
432
+  return request({
433
+    url:"/api/hispatient/gettodayschedulepatient",
434
+    method:"get",
435
+    params:params
436
+  })
437
+}
438
+
439
+export function getHisPatientDetail(params){
440
+  console.log("params99999",params)
441
+  return request({
442
+    url:"/api/hispatient/gethispatientdetail",
443
+    method:"Get",
444
+    params:params
445
+  })
446
+}
447
+
448
+export function getAllDePartmentList(params){
449
+
450
+  return request({
451
+    url:"/api/hispatient/getalldepartmentlist",
452
+    method:"Get",
453
+    params:params
454
+  })
455
+}
456
+
457
+export function getPrescriptionList(id,params){
458
+
459
+  return request({
460
+    url:"/api/hispatient/getprescription?patient_id="+id,
461
+    method:"Get",
462
+    params:params
463
+  })
464
+}
465
+
466
+export function getPatientDetail(id,params){
467
+
468
+  return request({
469
+    url:"/api/histpatient/getpatientdetail?id="+id,
470
+    method:"Get",
471
+    params:params
472
+  })
473
+}
474
+
475
+export function saveMainTemplate(params){
476
+
477
+  return request({
478
+    url:"/api/hispatient/savemaintemplate",
479
+    method:"Get",
480
+    params:params
481
+  })
482
+}
483
+
484
+export function getMedicalTemplateList(params){
485
+
486
+  return request({
487
+    url:"/api/hispatient/getmedicaltemplatelist",
488
+    method:"Get",
489
+    params:params
490
+  })
491
+}
492
+
493
+export function getMainTemplateById(id,params){
494
+
495
+  return request({
496
+    url:"/api/hispatient/getmaintemplatebyid?id="+id,
497
+    method:"get",
498
+    params:params
499
+  })
500
+}
501
+
502
+export function UpdateMainTemplate(params){
503
+
504
+  return request({
505
+    url:"/api/hispatient/updatemaintemplate",
506
+    method:"get",
507
+    params:params
508
+  })
509
+}
510
+
511
+export function deleteMainTemplate(id,params){
512
+
513
+  return request({
514
+    url:"/api/hispatient/deletemaintemplate?id="+id,
515
+    method:"Get",
516
+    params:params
517
+  })
518
+}
519
+
520
+export function getUnRegisterHisPatientList (params) {
521
+  return request({
522
+    url: '/api/unregister/list',
523
+    method: 'get',
524
+    params:params,
525
+  })
526
+}

+ 7 - 5
src/api/schedule.js 파일 보기

1
 import request from '@/utils/request'
1
 import request from '@/utils/request'
2
 
2
 
3
-export function getWeekPanels(t) {
3
+export function getWeekPanels(t,patitionId) {
4
+  console.log("params33333",t,patitionId)
4
   return request({
5
   return request({
5
-    url: '/api/schedule/weekpanel?data=' + t,
6
+    url: '/api/schedule/weekpanel?data=' + t+"&patitionid="+patitionId,
6
     method: 'get'
7
     method: 'get'
7
   })
8
   })
8
 }
9
 }
9
 
10
 
10
-export function getSchedules(week) {
11
+export function getSchedules(params) {
11
   return request({
12
   return request({
12
-    url: '/api/schedule/schedules?weekTime=' + week,
13
-    method: 'get'
13
+    url: '/api/schedule/schedules',
14
+    method: 'get',
15
+    params:params,
14
   })
16
   })
15
 }
17
 }
16
 
18
 

+ 26 - 1
src/store/modules/globalConfig.js 파일 보기

1796
     {
1796
     {
1797
       id: 21,
1797
       id: 21,
1798
       name: '人份'
1798
       name: '人份'
1799
-    }
1799
+    },
1800
+    {
1801
+      id: 22,
1802
+      name: 'kg'
1803
+    },
1804
+    {
1805
+      id: 23,
1806
+      name: 'g'
1807
+    },
1808
+    {
1809
+      id: 24,
1810
+      name: 'mg'
1811
+    },
1812
+    {
1813
+      id: 25,
1814
+      name: 'u'
1815
+    },
1816
+    {
1817
+      id: 26,
1818
+      name: 'ml'
1819
+    },
1820
+    {
1821
+      id: 27,
1822
+      name: '万u'
1823
+    },
1824
+   
1800
     ],
1825
     ],
1801
     body_fluid: [{
1826
     body_fluid: [{
1802
       id: 1,
1827
       id: 1,

+ 1 - 5
src/utils/tools.js 파일 보기

153
 }
153
 }
154
 
154
 
155
 export function calculateAnticoagulantZL(type, shouji, shichang, weichi) {
155
 export function calculateAnticoagulantZL(type, shouji, shichang, weichi) {
156
-  console.log('类型',type)
157
-  console.log('首剂', shouji)
158
-  console.log('时长', shichang)
159
-  console.log('维持', weichi)
160
-
156
+ 
161
   var t = 0.5
157
   var t = 0.5
162
   if (type == 1) {
158
   if (type == 1) {
163
     t = 0.5
159
     t = 0.5

+ 1 - 1
src/xt_pages/dialysis/components/allSummary.vue 파일 보기

438
 
438
 
439
               }
439
               }
440
               }
440
               }
441
-              console.log("list22222",this.list)
441
+              // console.log("list22222",this.list)
442
              }
442
              }
443
           })
443
           })
444
         },
444
         },

+ 568 - 27
src/xt_pages/dialysis/components/dialysisDrugs.vue 파일 보기

36
           </ul>
36
           </ul>
37
           </div>
37
           </div>
38
         </div>
38
         </div>
39
+
40
+        
39
         <div>
41
         <div>
40
             <!-- <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button> -->
42
             <!-- <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button> -->
41
             <el-button size="small" type="primary" @click="statistics">统计表</el-button>
43
             <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42
         </div>
44
         </div>
45
+      </div>
46
+        <div class="cell clearfix" style="justify-content: space-between;">
47
+        <div class="cell clearfix">
48
+          <label class="title"> <span class="name">给药途径</span> : </label>
49
+          <div class="time">
50
+            <ul class>
51
+              <li
52
+                :class="item.id == delivery_way ? 'active' : ''"
53
+                @click="selectDeliveryWay(item.id)"
54
+                v-for="item in deliveryWay"
55
+                :key="item.id"
56
+              >
57
+                {{ item.name }}
58
+              </li>
59
+            </ul>
60
+          </div>
61
+        </div>
43
       </div>
62
       </div>
44
       <div>
63
       <div>
45
-          <el-table
46
-            :data="tableData"
47
-            height="350"
48
-            border
49
-            style="width: 100%">
50
-            <el-table-column
51
-            align="center"
52
-            type="selection"
53
-            width="55">
54
-            </el-table-column>
55
-            <el-table-column
56
-            align="center"
57
-            prop="name"
58
-            label="姓名"
59
-            width="180">
60
-            </el-table-column>
61
-            <el-table-column
62
-            align="center"
63
-            prop="address"
64
-            label="地址">
65
-            </el-table-column>
66
-        </el-table>
64
+        <el-table :data="scheduleMap" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
65
+        @selection-change="handleSelectionChange"
66
+        :row-class-name="tableRowClassName"
67
+        :span-method="objectSpanMethod"
68
+        :cell-class-name="adviceNameShow"
69
+        :modal-append-to-body="false"
70
+        v-show="show">
71
+        <el-table-column type="selection" width="55" align="center"></el-table-column>
72
+        <el-table-column prop="date" label="姓名" align="center" min-width="26px">
73
+          <template slot-scope="scope">
74
+            <span>{{ scope.row.name }}</span>
75
+            <br>
76
+            ({{ scope.row.parent_id == 0 ? scope.row.dialysis_no : ""}})
77
+            <br>
78
+            <span v-if="scope.row.mode_id == 1">(HD)</span>
79
+            <span v-if="scope.row.mode_id == 2">(HDF)</span>
80
+            <span v-if="scope.row.mode_id == 3">(HD+HP)</span>
81
+            <span v-if="scope.row.mode_id == 4">(HP)</span>
82
+            <span v-if="scope.row.mode_id == 5">(HF)</span>
83
+            <span v-if="scope.row.mode_id == 6">(SCUF)</span>
84
+            <span v-if="scope.row.mode_id == 7">(IUF)</span>
85
+            <span v-if="scope.row.mode_id == 8">(HFHD)</span>
86
+            <span v-if="scope.row.mode_id == 9">(HFHD+HP)</span>
87
+            <span v-if="scope.row.mode_id == 10">(PHF)</span>
88
+            <span v-if="scope.row.mode_id == 11">(HFR)</span>
89
+            <span v-if="scope.row.mode_id == 12">(HDF+HP)</span>
90
+            <span v-if="scope.row.mode_id == 13">(CRRT)</span>
91
+            <span v-if="scope.row.mode_id == 14">(腹水回输)</span>
92
+          </template>
93
+        </el-table-column>
94
+        <el-table-column prop="date" label="透析器" align="center" min-width="26px">
95
+          <template slot-scope="scope">
96
+            <span>{{ scope.row.dialyzer_perfusion_apparatus }}</span>
97
+          </template>
98
+        </el-table-column>
99
+        <el-table-column prop="start_time" label="开始时间" align="center" min-width="35px">
100
+          <template slot-scope="scope">
101
+            <span>
102
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
103
+            </span>
104
+          </template>
105
+        </el-table-column>
106
+        <el-table-column prop="advice_name" min-width="50px" label="医嘱内容" align="center">
107
+          <template slot-scope="scope">
108
+            <el-dropdown trigger="click" v-if="scope.row.parent_id == 0">
109
+              <span class="el-dropdown-link" v-if="scope.row.parent_id == 0">
110
+                {{ getAdviceContent(scope.row, 1)}}
111
+              </span>
112
+            </el-dropdown>
113
+
114
+            <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
115
+              <span class="el-dropdown-link">
116
+                &emsp;{{ getAdviceContent(scope.row, 2)}}
117
+              </span>
118
+            </el-dropdown>
119
+          </template>
120
+        </el-table-column>
121
+        <el-table-column
122
+          prop="start_time"
123
+          align="center"
124
+          min-width="30px"
125
+          label="执行时间"
126
+          sortable
127
+        >
128
+          <template slot-scope="scope">
129
+            <span v-if="scope.row.execution_time != 0">
130
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
131
+            </span>
132
+            <span v-else></span>
133
+          </template>
134
+        </el-table-column>
135
+        <el-table-column prop="execution_staff" align="center" min-width="30px" label="执行护士">
136
+          <template slot-scope="scope">
137
+            <span v-if="scope.row.parent_id == 0">
138
+              {{getXuserName(scope.row.execution_staff)}}
139
+            </span>
140
+            <span v-else></span>
141
+          </template>
142
+        </el-table-column>
143
+        <el-table-column prop="checker" align="center" min-width="30px" label="校对护士">
144
+          <template slot-scope="scope">
145
+            <span v-if="scope.row.parent_id == 0">
146
+              {{getXuserName(scope.row.checker)}}
147
+            </span>
148
+            <span v-else></span>
149
+          </template>
150
+        </el-table-column>
151
+        <el-table-column
152
+          prop="check_time"
153
+          align="center"
154
+          min-width="30px"
155
+          label="校对时间"
156
+          sortable
157
+        >
158
+          <template slot-scope="scope">
159
+            <span v-if="scope.row.check_time != 0">
160
+              {{scope.row.check_time | parseTime('{m}-{d} {h}:{i}')}}
161
+            </span>
162
+            <span v-else></span>
163
+          </template>
164
+        </el-table-column>
165
+        <el-table-column prop="date" label="开嘱医生" align="center" min-width="26px">
166
+          <template slot-scope="scope">
167
+            <span>{{ getXuserName(scope.row.advice_doctor) }}</span>
168
+          </template>
169
+        </el-table-column>
170
+        <el-table-column
171
+          prop="created_time"
172
+          align="center"
173
+          min-width="30px"
174
+          label="校对时间"
175
+          sortable
176
+        >
177
+          <template slot-scope="scope">
178
+            <span v-if="scope.row.created_time != 0">
179
+              {{scope.row.created_time | parseTime('{m}-{d} {h}:{i}')}}
180
+            </span>
181
+            <span v-else></span>
182
+          </template>
183
+        </el-table-column>
184
+      </el-table>
185
+         <el-table :data="scheduleMap" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
186
+        @selection-change="handleSelectionChange"
187
+        :row-class-name="tableRowClassName"
188
+        :span-method="objectSpanMethod"
189
+        :cell-class-name="adviceNameShow"
190
+        :modal-append-to-body="false"
191
+        v-show="showOne">
192
+        <el-table-column type="selection" width="55" align="center"></el-table-column>
193
+        <el-table-column prop="date" label="姓名" align="center" min-width="26px">
194
+          <template slot-scope="scope">
195
+            <span>{{ scope.row.name }}</span>
196
+            <br>
197
+            ({{ scope.row.parent_id == 0 ? scope.row.dialysis_no : ""}})
198
+            <br>
199
+            <span v-if="scope.row.mode_id == 1">(HD)</span>
200
+            <span v-if="scope.row.mode_id == 2">(HDF)</span>
201
+            <span v-if="scope.row.mode_id == 3">(HD+HP)</span>
202
+            <span v-if="scope.row.mode_id == 4">(HP)</span>
203
+            <span v-if="scope.row.mode_id == 5">(HF)</span>
204
+            <span v-if="scope.row.mode_id == 6">(SCUF)</span>
205
+            <span v-if="scope.row.mode_id == 7">(IUF)</span>
206
+            <span v-if="scope.row.mode_id == 8">(HFHD)</span>
207
+            <span v-if="scope.row.mode_id == 9">(HFHD+HP)</span>
208
+            <span v-if="scope.row.mode_id == 10">(PHF)</span>
209
+            <span v-if="scope.row.mode_id == 11">(HFR)</span>
210
+            <span v-if="scope.row.mode_id == 12">(HDF+HP)</span>
211
+            <span v-if="scope.row.mode_id == 13">(CRRT)</span>
212
+            <span v-if="scope.row.mode_id == 14">(腹水回输)</span>
213
+          </template>
214
+        </el-table-column>
215
+        <el-table-column prop="date" label="透析器" align="center" min-width="26px">
216
+          <template slot-scope="scope">
217
+            <span>{{ scope.row.dialyzer_perfusion_apparatus }}</span>
218
+          </template>
219
+        </el-table-column>
220
+        <el-table-column prop="start_time" label="开始时间" align="center" min-width="35px">
221
+          <template slot-scope="scope">
222
+            <span>
223
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
224
+            </span>
225
+          </template>
226
+        </el-table-column>
227
+        <el-table-column prop="advice_name" min-width="50px" label="医嘱内容" align="center">
228
+          <template slot-scope="scope">
229
+            <el-dropdown trigger="click" v-if="scope.row.parent_id == 0">
230
+              <span class="el-dropdown-link" v-if="scope.row.parent_id == 0">
231
+                {{ getAdviceContent(scope.row, 1)}}
232
+              </span>
233
+            </el-dropdown>
234
+
235
+            <el-dropdown trigger="click" v-if="scope.row.parent_id > 0">
236
+              <span class="el-dropdown-link">
237
+                &emsp;{{ getAdviceContent(scope.row, 2)}}
238
+              </span>
239
+            </el-dropdown>
240
+          </template>
241
+        </el-table-column>
242
+        <el-table-column
243
+          prop="start_time"
244
+          align="center"
245
+          min-width="30px"
246
+          label="执行时间"
247
+          sortable
248
+        >
249
+          <template slot-scope="scope">
250
+            <span v-if="scope.row.execution_time != 0">
251
+              {{scope.row.start_time | parseTime('{m}-{d} {h}:{i}')}}
252
+            </span>
253
+            <span v-else></span>
254
+          </template>
255
+        </el-table-column>
256
+        <el-table-column prop="execution_staff" align="center" min-width="30px" label="执行护士">
257
+          <template slot-scope="scope">
258
+            <span v-if="scope.row.parent_id == 0">
259
+              {{getXuserName(scope.row.execution_staff)}}
260
+            </span>
261
+            <span v-else></span>
262
+          </template>
263
+        </el-table-column>
264
+        <el-table-column prop="checker" align="center" min-width="30px" label="校对护士">
265
+          <template slot-scope="scope">
266
+            <span v-if="scope.row.parent_id == 0">
267
+              {{getXuserName(scope.row.checker)}}
268
+            </span>
269
+            <span v-else></span>
270
+          </template>
271
+        </el-table-column>
272
+        <el-table-column
273
+          prop="check_time"
274
+          align="center"
275
+          min-width="30px"
276
+          label="校对时间"
277
+          sortable
278
+        >
279
+          <template slot-scope="scope">
280
+            <span v-if="scope.row.check_time != 0">
281
+              {{scope.row.check_time | parseTime('{m}-{d} {h}:{i}')}}
282
+            </span>
283
+            <span v-else></span>
284
+          </template>
285
+        </el-table-column>
286
+        <el-table-column prop="date" label="开嘱医生" align="center" min-width="26px">
287
+          <template slot-scope="scope">
288
+            <span>{{ getXuserName(scope.row.advice_doctor) }}</span>
289
+          </template>
290
+        </el-table-column>
291
+        <el-table-column
292
+          prop="created_time"
293
+          align="center"
294
+          min-width="30px"
295
+          label="校对时间"
296
+          sortable
297
+        >
298
+          <template slot-scope="scope">
299
+            <span v-if="scope.row.created_time != 0">
300
+              {{scope.row.created_time | parseTime('{m}-{d} {h}:{i}')}}
301
+            </span>
302
+            <span v-else></span>
303
+          </template>
304
+        </el-table-column>
305
+      </el-table>
67
       </div>
306
       </div>
68
 
307
 
69
       <dialysis-drugs-dialog ref="dialysisDrugs"></dialysis-drugs-dialog>
308
       <dialysis-drugs-dialog ref="dialysisDrugs"></dialysis-drugs-dialog>
72
 
311
 
73
 
312
 
74
 <script>
313
 <script>
314
+const moment = require('moment')
75
 import { GetAllZone } from "@/api/dialysis";
315
 import { GetAllZone } from "@/api/dialysis";
316
+import { getSchedualDoctors } from '@/api/advice'
76
 import dialysisDrugsDialog from './dialysisDrugsDialog'
317
 import dialysisDrugsDialog from './dialysisDrugsDialog'
77
 export default {
318
 export default {
78
     components:{
319
     components:{
90
             selected_date:new Date(),
331
             selected_date:new Date(),
91
             partitionArr:[],
332
             partitionArr:[],
92
             partitionType: 0,
333
             partitionType: 0,
93
-            tableData: []
334
+            tableData: [],
335
+            deliveryWay:[],
336
+            deliver_way:0,
337
+            search_input:"",
338
+            show:true,
339
+            showOne:false,
340
+            deliveryWay:[],
341
+            delivery_way:0,
342
+            scheduleMap:[],
343
+            selecting_schs: [],
94
         }
344
         }
95
     },
345
     },
96
     created(){
346
     created(){
97
         this.getAllZone()
347
         this.getAllZone()
98
-        
348
+        this.getlist()
99
     },
349
     },
100
     methods:{
350
     methods:{
101
         selectSchedulType(scheduleType) {
351
         selectSchedulType(scheduleType) {
102
-            this.schedulType = scheduleType;
352
+           this.schedulType = scheduleType;
353
+           this.getlist()
103
         },
354
         },
104
         selectPartitionType(partitionType) {
355
         selectPartitionType(partitionType) {
105
-            this.partitionType = partitionType;
356
+          this.partitionType = partitionType;
357
+          this.getlist()
358
+        },
359
+        selectDeliveryWay(val){
360
+         this.delivery_way = val
361
+         this.getlist()
106
         },
362
         },
107
         getAllZone: function() {
363
         getAllZone: function() {
108
             GetAllZone().then(response => {
364
             GetAllZone().then(response => {
112
                 } else {
368
                 } else {
113
                 this.partitionArr = response.data.data.zone;
369
                 this.partitionArr = response.data.data.zone;
114
                 this.partitionArr.unshift({ id: 0, name: "全部" });
370
                 this.partitionArr.unshift({ id: 0, name: "全部" });
371
+                var dics  =  response.data.data.dics
372
+                var obj = {id:0,name:"全部"}
373
+                this.deliveryWay.push(obj)
374
+                this.deliveryWay.push(...dics)
115
                 }
375
                 }
116
             });
376
             });
117
         },
377
         },
118
         statistics(){
378
         statistics(){
119
             this.$refs.dialysisDrugs.show();
379
             this.$refs.dialysisDrugs.show();
380
+        },
381
+        getlist(){
382
+          var name = ""
383
+         for(let i=0;i<this.deliveryWay.length;i++){
384
+              if(this.delivery_way == this.deliveryWay[i].id){
385
+                name = this.deliveryWay[i].name
386
+              }
120
         }
387
         }
121
-    }
388
+        if(name == '全部'){
389
+          name = ""
390
+        }
391
+
392
+        let newTime =  moment(this.selected_date).format('YYYY-MM-DD')
393
+        getSchedualDoctors({ date: newTime,patient_type: 0,advice_type: 2,delivery_way:name}).then(rs => {
394
+        var resp = rs.data
395
+        if (resp.state == 1) {
396
+            this.admin_users = resp.data.adminUser
397
+            var schedules = resp.data.scheduals
398
+            console.log("数据多少2223333333",schedules)
399
+            var config = resp.data.config
400
+           if(config.is_open == 0){
401
+            this.show = true
402
+            this.showOne = false
403
+            let arr = []
404
+            let newArr = []
405
+            let newSchedules = []
406
+            schedules.map(item => {
407
+             item.doctor_advice.map(it =>{
408
+                it.name = item.patient.name
409
+                    if(item.prescription != null){
410
+                       it.dialyzer_perfusion_apparatus = item.prescription.dialyzer_perfusion_apparatus
411
+                    }
412
+                    it.schedule_type = item.schedule_type
413
+                    it.zoneId = item.device_number.zone.id
414
+                    it.dialysis_no = item.patient.dialysis_no
415
+                    it.mode_id = item.mode_id
416
+                    arr.push(it)
417
+                })
418
+            })
419
+            if(this.schedulType == 0){
420
+                newSchedules = arr
421
+            }else{
422
+                arr.map(item => {
423
+                    if (item.schedule_type == this.schedulType) {
424
+                        newSchedules.push(item)
425
+                    }
426
+                })
427
+            }
428
+            
429
+            
430
+            if(this.partitionType == 0){
431
+                this.scheduleMap = newSchedules
432
+            }else {
433
+                let a = []
434
+                arr.map(item => {
435
+                    if(this.partitionType == item.zoneId){
436
+                        a.push(item)
437
+                    }
438
+                })
439
+                this.scheduleMap = a
440
+            }
441
+            this.scheduleMap.map(ele => {
442
+                let firstIndex = this.scheduleMap.findIndex(item => {
443
+                  return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
444
+                })
445
+                if (this.scheduleMap.findIndex(item => { return item.patient_id === firstIndex}) === -1) {
446
+                    newArr.push({
447
+                    length: this.scheduleMap.filter(item => {
448
+                        return item.patient_id === ele.patient_id    //利用数组的filter方法,过滤出相同category的数组的长度。数组长度-即为跨多少行
449
+                    }).length,
450
+                    firstIndex: firstIndex    // firstIndex 返回的是第一个catergory就满足的第一个Index,即为rowIndex开始于第几行。
451
+                    })
452
+                }
453
+            })
454
+            this.indexInfoList = newArr
455
+           }
456
+           if(config.is_open == 1 || config.is_open == 2){
457
+             this.show = false
458
+             this.showOne  = true
459
+            var schedules =  resp.data.hisAdvices
460
+          
461
+            let arr = []
462
+            let newArr = []
463
+            let newSchedules = []
464
+            schedules.map(item => {
465
+             item.doctor_advice.map(it =>{
466
+                it.name = item.patient.name
467
+                    if(item.prescription != null){
468
+                       it.dialyzer_perfusion_apparatus = item.prescription.dialyzer_perfusion_apparatus
469
+                    }
470
+                    it.schedule_type = item.schedule_type
471
+                    it.zoneId = item.device_number.zone.id
472
+                    it.dialysis_no = item.patient.dialysis_no
473
+                    it.mode_id = item.mode_id
474
+                    arr.push(it)
475
+                })
476
+            })
477
+            if(this.schedulType == 0){
478
+                newSchedules = arr
479
+            }else{
480
+                arr.map(item => {
481
+                    if (item.schedule_type == this.schedulType) {
482
+                        newSchedules.push(item)
483
+                    }
484
+                })
485
+            }
486
+            
487
+            
488
+            if(this.partitionType == 0){
489
+                this.scheduleMap = newSchedules
490
+            }else {
491
+                let a = []
492
+                arr.map(item => {
493
+                    if(this.partitionType == item.zoneId){
494
+                        a.push(item)
495
+                    }
496
+                })
497
+                this.scheduleMap = a
498
+            }
499
+            this.scheduleMap.map(ele => {
500
+                let firstIndex = this.scheduleMap.findIndex(item => {
501
+                  return item.patient_id === ele.patient_id   // 当category相同的时候,返回第一个相同的Index 赋值给 firstIndex
502
+                })
503
+                if (this.scheduleMap.findIndex(item => { return item.patient_id === firstIndex}) === -1) {
504
+                    newArr.push({
505
+                    length: this.scheduleMap.filter(item => {
506
+                        return item.patient_id === ele.patient_id    //利用数组的filter方法,过滤出相同category的数组的长度。数组长度-即为跨多少行
507
+                    }).length,
508
+                    firstIndex: firstIndex    // firstIndex 返回的是第一个catergory就满足的第一个Index,即为rowIndex开始于第几行。
509
+                    })
510
+                }
511
+            })
512
+            this.indexInfoList = newArr
513
+            console.log("过年9999999999",this.scheduleMap)
514
+           }
515
+         
516
+  
517
+         }
518
+         })
519
+      },
520
+      searchAction(){
521
+
522
+      },
523
+      handleScheduleDateChange(){
524
+        
525
+      },
526
+     handleSelectionChange(val) {
527
+      this.selecting_schs = val;
528
+     },
529
+      adviceNameShow({ row, column, rowIndex, columnIndex }) {
530
+          if (columnIndex == 2) {
531
+            return 'dialysisadvicenamedisplay'
532
+          } else {
533
+            return ''
534
+          }
535
+      },
536
+      tableRowClassName({ row, rowIndex }) {
537
+     
538
+     },
539
+     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
540
+        if (columnIndex === 0) {
541
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
542
+                return item.firstIndex === rowIndex
543
+            })
544
+            if (index > -1) {
545
+                return {
546
+                    rowspan: this.indexInfoList[index].length,
547
+                    colspan: 1
548
+                }
549
+            } else {
550
+                return {
551
+                    rowspan: 0,
552
+                    colspan: 0
553
+                }
554
+            }
555
+        }
556
+        
557
+        if (columnIndex === 1) {
558
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
559
+                return item.firstIndex === rowIndex
560
+            })
561
+            if (index > -1) {
562
+                return {
563
+                    rowspan: this.indexInfoList[index].length,
564
+                    colspan: 1
565
+                }
566
+            } else {
567
+                return {
568
+                    rowspan: 0,
569
+                    colspan: 0
570
+                }
571
+            }
572
+        }
573
+        if (columnIndex === 2) {
574
+            let index = this.indexInfoList.findIndex(item => {  //遍历数组
575
+                return item.firstIndex === rowIndex
576
+            })
577
+            if (index > -1) {
578
+                return {
579
+                    rowspan: this.indexInfoList[index].length,
580
+                    colspan: 1
581
+                }
582
+            } else {
583
+                return {
584
+                    rowspan: 0,
585
+                    colspan: 0
586
+                }
587
+            }
588
+        }
589
+     },
590
+     getAdviceContent(row, isChild) {
591
+        let tempSingleDoseDesc = ''
592
+        let tempDrugSpecDesc = ''
593
+        let tempPrescribingNumberDesc = ''
594
+
595
+        if (row.prescribing_number) {
596
+          tempPrescribingNumberDesc =
597
+            row.prescribing_number + '' + row.prescribing_number_unit
598
+        }
599
+
600
+        if (row.single_dose) {
601
+          if (this.template_id != 6) {
602
+            tempSingleDoseDesc =
603
+              ' 单次用量 ' + '  ' + row.single_dose + '' + row.single_dose_unit
604
+          } else {
605
+            tempSingleDoseDesc = row.single_dose + '' + row.single_dose_unit
606
+          }
607
+        }
608
+
609
+        if (row.advice_desc) {
610
+          tempDrugSpecDesc = '(' + row.advice_desc + row.drug_spec_unit + ')'
611
+        }
612
+
613
+        if (isChild == 1) {
614
+          // 不是子药
615
+
616
+          return (
617
+            row.advice_name +
618
+            tempDrugSpecDesc +
619
+            ' ' +
620
+            tempPrescribingNumberDesc +
621
+            tempSingleDoseDesc +
622
+            ' ' +
623
+            row.delivery_way +
624
+            ' ' +
625
+            row.execution_frequency
626
+          )
627
+        } else {
628
+          // 是子药
629
+          return (
630
+            row.advice_name +
631
+            tempDrugSpecDesc +
632
+            ' ' +
633
+            tempPrescribingNumberDesc +
634
+            tempSingleDoseDesc
635
+          )
636
+        }
637
+      },
638
+      getXuserName(id) {
639
+        if (id <= 0) {
640
+          return ''
641
+        }
642
+        var name = ''
643
+        if (
644
+          this.admin_users == null ||
645
+          typeof this.admin_users.length === 'undefined'
646
+        ) {
647
+          return name
648
+        }
649
+        var leng = this.admin_users.length
650
+        if (leng == 0) {
651
+          return name
652
+        }
653
+        for (let index = 0; index < leng; index++) {
654
+          if (this.admin_users[index].id == id) {
655
+            name = this.admin_users[index].name
656
+            break
657
+          }
658
+        }
659
+        return name
660
+      },
661
+    },
662
+   
122
 }
663
 }
123
 </script>
664
 </script>
124
 
665
 

+ 61 - 46
src/xt_pages/dialysis/components/dialysisDrugsDialog.vue 파일 보기

10
         style="width:140px;margin-right:10px"
10
         style="width:140px;margin-right:10px"
11
         v-model="startTime"
11
         v-model="startTime"
12
         type="date"
12
         type="date"
13
-        placeholder="选择日期">
13
+        placeholder="选择日期"
14
+        @change="changeStartTime">
14
         </el-date-picker>
15
         </el-date-picker>
15
         <el-date-picker
16
         <el-date-picker
16
         style="width:140px;margin-right:10px"
17
         style="width:140px;margin-right:10px"
17
         v-model="endTime"
18
         v-model="endTime"
18
         type="date"
19
         type="date"
19
-        placeholder="选择日期">
20
+        placeholder="选择日期"
21
+        @change="changeEndTime">
20
         </el-date-picker>
22
         </el-date-picker>
21
-        <el-select style="width:140px;margin-right:10px" v-model="schedulType" placeholder="请选择">
23
+        <el-select style="width:140px;margin-right:10px" v-model="delive_way" placeholder="请选择">
22
             <el-option
24
             <el-option
23
-            v-for="item in schedulArr"
24
-            :key="item.value"
25
-            :label="item.label"
26
-            :value="item.value">
27
-            </el-option>
28
-        </el-select>
29
-        <el-select style="width:140px;margin-right:10px" v-model="partitionType" placeholder="请选择">
30
-            <el-option
31
-            v-for="item in partitionArr"
25
+            v-for="item in deliveryWay"
32
             :key="item.id"
26
             :key="item.id"
33
             :label="item.name"
27
             :label="item.name"
34
             :value="item.id">
28
             :value="item.id">
35
             </el-option>
29
             </el-option>
36
         </el-select>
30
         </el-select>
37
-        <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button>
31
+        <!-- <el-button icon="el-icon-printer" type="primary" @click="toPrint">打印</el-button> -->
38
         
32
         
39
     </div>
33
     </div>
40
     <div style="margin-top:10px;">
34
     <div style="margin-top:10px;">
41
         <el-table :data="tableData" border style="width: 100%" height="300">
35
         <el-table :data="tableData" border style="width: 100%" height="300">
42
-            <el-table-column
43
-            align="center"
44
-            prop="address"
45
-            label="地址">
36
+            <el-table-column align="center" prop="address" label="药品名称">
37
+              <template slot-scope="scope">
38
+                 {{scope.row.advice_name}}
39
+              </template>
40
+            </el-table-column>
41
+             <el-table-column align="center" prop="address" label="药品规格">
42
+               <template slot-scope="scope">
43
+                  {{scope.row.advice_desc}}
44
+               </template>
46
             </el-table-column>
45
             </el-table-column>
47
-            <el-table-column
48
-            align="center"
49
-            prop="name"
50
-            label="姓名"
51
-            width="100">
46
+            <el-table-column align="center" prop="name" label="数量" width="100">
47
+                <template slot-scope="scope">
48
+                   {{scope.row.Total}}
49
+                </template>
52
             </el-table-column>
50
             </el-table-column>
53
         </el-table>
51
         </el-table>
54
     </div>
52
     </div>
55
-    <!-- <div slot="footer" class="dialog-footer">
56
-      <el-button @click="hide">取 消</el-button>
57
-      <el-button type="primary" @click="submitAction()">保 存</el-button>
58
-    </div> -->
59
   </el-dialog>
53
   </el-dialog>
60
 </template>
54
 </template>
61
 
55
 
62
 
56
 
63
 
57
 
64
 <script>
58
 <script>
59
+const moment = require('moment')
65
 import { GetAllZone } from "@/api/dialysis";
60
 import { GetAllZone } from "@/api/dialysis";
61
+import { getDoctorAdviceCount } from "@/api/advice"
66
 export default {
62
 export default {
67
     data(){
63
     data(){
68
         return{
64
         return{
69
             visible: false,
65
             visible: false,
70
-            startTime:'',
71
-            endTime:'',
66
+            startTime:new Date(),
67
+            endTime:new Date(),
72
             schedulArr: [
68
             schedulArr: [
73
                 {value: 0, label: '全部班'},
69
                 {value: 0, label: '全部班'},
74
                 {value: 1, label: '上午'},
70
                 {value: 1, label: '上午'},
78
             schedulType: 0,
74
             schedulType: 0,
79
             partitionArr:[],
75
             partitionArr:[],
80
             partitionType: 0,
76
             partitionType: 0,
81
-            tableData: [{
82
-                date: '2016-05-02',
83
-                name: '王小虎',
84
-                address: '上海市普陀区金沙江路 1518 弄'
85
-                }, {
86
-                date: '2016-05-04',
87
-                name: '王小虎',
88
-                address: '上海市普陀区金沙江路 1517 弄'
89
-                }, {
90
-                date: '2016-05-01',
91
-                name: '王小虎',
92
-                address: '上海市普陀区金沙江路 1519 弄'
93
-                }, {
94
-                date: '2016-05-03',
95
-                name: '王小虎',
96
-                address: '上海市普陀区金沙江路 1516 弄'
97
-            }]
77
+            deliveryWay:[],
78
+            tableData: [],
79
+            delive_way:""
98
         }
80
         }
99
     },
81
     },
100
     created(){
82
     created(){
101
         this.getAllZone()
83
         this.getAllZone()
84
+        this.getlist()
102
     },
85
     },
103
     methods:{
86
     methods:{
104
         _close: function(done) {
87
         _close: function(done) {
115
                 } else {
98
                 } else {
116
                 this.partitionArr = response.data.data.zone;
99
                 this.partitionArr = response.data.data.zone;
117
                 this.partitionArr.unshift({ id: 0, name: "全部分区" });
100
                 this.partitionArr.unshift({ id: 0, name: "全部分区" });
101
+                var dics  =  response.data.data.dics
102
+                var obj = {id:0,name:"全部"}
103
+                this.deliveryWay.push(obj)
104
+                this.deliveryWay.push(...dics)
118
                 }
105
                 }
119
             });
106
             });
120
         },
107
         },
123
                 path: '/dialysis/dialysisDrugs_print',
110
                 path: '/dialysis/dialysisDrugs_print',
124
                 // query: { date: date }
111
                 // query: { date: date }
125
             })
112
             })
126
-        }
113
+        },
114
+       getlist(){
115
+
116
+           let newTimeStart =  moment(this.startTime).format('YYYY-MM-DD')
117
+           let newTimeEnd = moment(this.endTime).format('YYYY-MM-DD')
118
+           var params = {
119
+              start_time:newTimeStart,
120
+              end_time:newTimeEnd,
121
+              delive_way:this.delive_way,
122
+           }
123
+         
124
+         getDoctorAdviceCount(params).then(response=>{
125
+            if(response.data.state == 1){
126
+              var list =  response.data.data.list
127
+              console.log("list",list)
128
+              this.tableData = list
129
+            }
130
+         })  
131
+       },
132
+      changeStartTime(val){
133
+       var start =  moment(val).format('YYYY-MM-DD')
134
+       this.startTime = start
135
+       this.getlist()
136
+      },
137
+      changeEndTime(val){
138
+       var end = moment(val).format('YYYY-MM-DD')
139
+       this.endTime = end
140
+       this.getlist()
141
+      }
127
     }
142
     }
128
 }
143
 }
129
 </script>
144
 </script>

+ 2 - 2
src/xt_pages/dialysis/consumableDrugs.vue 파일 보기

8
                 <el-tab-pane label="透析耗材" name="1">
8
                 <el-tab-pane label="透析耗材" name="1">
9
                     <consumables></consumables>
9
                     <consumables></consumables>
10
                 </el-tab-pane>
10
                 </el-tab-pane>
11
-                <!-- <el-tab-pane label="透析药品" name="second">
11
+                <el-tab-pane label="透析药品" name="second">
12
                     <dialysis-drugs></dialysis-drugs>
12
                     <dialysis-drugs></dialysis-drugs>
13
-                </el-tab-pane> -->
13
+                </el-tab-pane>
14
                 <el-tab-pane label="透析参数" name="2">
14
                 <el-tab-pane label="透析参数" name="2">
15
                     <dialysis-parameters></dialysis-parameters>
15
                     <dialysis-parameters></dialysis-parameters>
16
                 </el-tab-pane>
16
                 </el-tab-pane>

+ 9 - 9
src/xt_pages/dialysis/details/DialysisPrescription.vue 파일 보기

161
           }}</span>
161
           }}</span>
162
         </li>
162
         </li>
163
 
163
 
164
-        <li v-if="isShow('血流量')">
165
-          <label>血流量 : </label>
166
-          <span class="content">{{
167
-            blood_flow_volume != "0" ? blood_flow_volume : ""
168
-          }}</span>
169
-          <span class="unit">{{
170
-            blood_flow_volume != "0" ? "ml/min" : ""
171
-          }}</span>
172
-        </li>
164
+<!--        <li v-if="isShow('血流量')">-->
165
+<!--          <label>血流量 : </label>-->
166
+<!--          <span class="content">{{-->
167
+<!--            blood_flow_volume != "0" ? blood_flow_volume : ""-->
168
+<!--          }}</span>-->
169
+<!--          <span class="unit">{{-->
170
+<!--            blood_flow_volume != "0" ? "ml/min" : ""-->
171
+<!--          }}</span>-->
172
+<!--        </li>-->
173
       </ul>
173
       </ul>
174
 
174
 
175
       <ul>
175
       <ul>

+ 23 - 0
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 파일 보기

1307
         this.InnerDialogProps.visibility = true
1307
         this.InnerDialogProps.visibility = true
1308
         switch (val) {
1308
         switch (val) {
1309
           case '5': // 透析器/灌流器
1309
           case '5': // 透析器/灌流器
1310
+            // var arr = this.dialysisPrescription.dialyzer_perfusion_apparatus
1311
+            // console.log("arr333333",arr)
1312
+            // var newArr =  arr.split(",")
1313
+            // console.log("透析器/灌流器",newArr)
1314
+            // var Arr = []
1315
+            // for(let i=0;i<newArr.length;i++){
1316
+            //   for(let j=0;j<this.dialyzerPerfusionApparatus.length;j++){
1317
+            //      var newarr = newArr[i].toUpperCase()
1318
+
1319
+            //      var dialy = this.dialyzerPerfusionApparatus[j].name.toUpperCase()
1320
+
1321
+            //      if(newarr == dialy){
1322
+            //         Arr.push(this.dialyzerPerfusionApparatus[j].name)
1323
+            //      }
1324
+            //   }
1325
+            // }
1326
+            // var arrtwo = Arr.join(",")
1327
+            // console.log("Arr",arrtwo)
1310
             //  var arr = this.dialysisPrescription.dialyzer_perfusion_apparatus
1328
             //  var arr = this.dialysisPrescription.dialyzer_perfusion_apparatus
1311
             //  var newArr =  arr.split(",")
1329
             //  var newArr =  arr.split(",")
1312
             // console.log("透析器/灌流器",newArr)
1330
             // console.log("透析器/灌流器",newArr)
1327
             this.InnerDialogProps.values = this.dialyzerPerfusionApparatus
1345
             this.InnerDialogProps.values = this.dialyzerPerfusionApparatus
1328
             this.InnerDialogProps.titles = '透析器/灌流器'
1346
             this.InnerDialogProps.titles = '透析器/灌流器'
1329
             this.InnerDialogProps.type = 'dialyzer_perfusion_apparatus'
1347
             this.InnerDialogProps.type = 'dialyzer_perfusion_apparatus'
1348
+
1349
+
1350
+            this.InnerDialogProps.selected = this.dialysisPrescription.dialyzer_perfusion_apparatus
1330
             this.InnerDialogProps.selected = this.dialysisPrescription.dialyzer_perfusion_apparatus
1351
             this.InnerDialogProps.selected = this.dialysisPrescription.dialyzer_perfusion_apparatus
1331
             this.InnerDialogProps.isShowTextArea = false
1352
             this.InnerDialogProps.isShowTextArea = false
1332
             break
1353
             break
3312
         if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
3333
         if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
3313
           this.dialysisPrescription.anticoagulant_zongliang = ''
3334
           this.dialysisPrescription.anticoagulant_zongliang = ''
3314
         }
3335
         }
3336
+        console.log("首季",this.dialysisPrescription.anticoagulant_zongliang)
3337
+
3315
 
3338
 
3316
 
3339
 
3317
       },
3340
       },

+ 16 - 2
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue 파일 보기

964
       }
964
       }
965
 
965
 
966
       getTodayMonitor(params).then(rs => {
966
       getTodayMonitor(params).then(rs => {
967
+        console.log("机构ID",this.org_id)
968
+        
967
         var resp = rs.data.data
969
         var resp = rs.data.data
970
+       
968
         this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
971
         this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
969
         this.form.temperature = '' // this.last_monitor_record.pulse_frequency;
972
         this.form.temperature = '' // this.last_monitor_record.pulse_frequency;
970
 
973
 
973
         this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
976
         this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
974
         this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
977
         this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
975
         this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : ''
978
         this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : ''
976
-        this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
979
+        // 静脉压
980
+        if(this.org_id == 10060){
981
+          this.form.venous_pressure = resp.monitor.venous_pressure
982
+        }else{
983
+          this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
984
+        }
985
+        
977
         this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1
986
         this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1
978
         this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : '' // this.last_monitor_record.arterial_pressure;
987
         this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : '' // this.last_monitor_record.arterial_pressure;
979
         this.form.arterial_pressure_type = resp.monitor.arterial_pressure_type ? resp.monitor.arterial_pressure_type : 1
988
         this.form.arterial_pressure_type = resp.monitor.arterial_pressure_type ? resp.monitor.arterial_pressure_type : 1
980
-        this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
989
+        if(this.org_id == 10060){
990
+          this.form.transmembrane_pressure = resp.monitor.transmembrane_pressure;
991
+        }else{
992
+          this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
993
+        }
981
         this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1
994
         this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1
982
         this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
995
         this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
983
         this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
996
         this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
1103
     },
1116
     },
1104
 
1117
 
1105
     submitAction: function() {
1118
     submitAction: function() {
1119
+      
1106
       // TODO loading
1120
       // TODO loading
1107
       var is_new = this.form.id
1121
       var is_new = this.form.id
1108
       this.form.operate_time = parseInt(this.form.operate_time / 1000)
1122
       this.form.operate_time = parseInt(this.form.operate_time / 1000)

+ 1 - 1
src/xt_pages/dialysis/dialysisDoctorAdvice.vue 파일 보기

425
     },
425
     },
426
 
426
 
427
     selectSchedulType(scheduleType) {
427
     selectSchedulType(scheduleType) {
428
-      // alert(scheduleType);/
428
+     
429
       this.schedulType = scheduleType;
429
       this.schedulType = scheduleType;
430
       this.listQuery.schedul_type = scheduleType;
430
       this.listQuery.schedul_type = scheduleType;
431
       this.requestSchedualDoctors(this.time);
431
       this.requestSchedualDoctors(this.time);

+ 4 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderThirtyFour.vue 파일 보기

284
                         <td width="60" style="height:20px;line-height:20px">超滤量<br />ml</td>
284
                         <td width="60" style="height:20px;line-height:20px">超滤量<br />ml</td>
285
                         <td width="60" style="height:20px;line-height:20px">透析液温度</td>
285
                         <td width="60" style="height:20px;line-height:20px">透析液温度</td>
286
                         <td width="60" style="height:20px;line-height:20px">电导度<br />ms/cm</td>
286
                         <td width="60" style="height:20px;line-height:20px">电导度<br />ms/cm</td>
287
+                        <td width="60" style="height:20px;line-height:20px">体温<br />C°</td>
287
                         <td width="">病情变化及处理</td>
288
                         <td width="">病情变化及处理</td>
288
                         <td width="60" style="height:20px;line-height:20px">签名</td>
289
                         <td width="60" style="height:20px;line-height:20px">签名</td>
289
                     </tr>
290
                     </tr>
303
                         <td>&nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}</td>
304
                         <td>&nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}</td>
304
                         <td>&nbsp;{{monitor.dialysate_temperature ? monitor.dialysate_temperature : ''}}</td>
305
                         <td>&nbsp;{{monitor.dialysate_temperature ? monitor.dialysate_temperature : ''}}</td>
305
                         <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
306
                         <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
307
+                        <td>&nbsp;{{ monitor.temperature ? monitor.temperature : "" }}</td>
306
                         <td style="text-align:left;padding-left:10px;">
308
                         <td style="text-align:left;padding-left:10px;">
307
                             <div style="line-height:20px;text-align: left;display: inline-block;">
309
                             <div style="line-height:20px;text-align: left;display: inline-block;">
308
                                 &nbsp;{{ monitor.symptom }}{{ monitor.dispose }}{{ monitor.result }}
310
                                 &nbsp;{{ monitor.symptom }}{{ monitor.dispose }}{{ monitor.result }}
422
         <div class="row" style="padding: 2px 0;line-height:30px; display:flex;">
424
         <div class="row" style="padding: 2px 0;line-height:30px; display:flex;">
423
             <div class="inline_block">
425
             <div class="inline_block">
424
                 医生签字
426
                 医生签字
425
-                <div class="under_line" style="width: 70px;text-align: center">
427
+                <!-- <div class="under_line" style="width: 70px;text-align: center">
426
                     <span v-if="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) == ''"> {{ getAdminUser(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) }} </span>
428
                     <span v-if="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) == ''"> {{ getAdminUser(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) }} </span>
427
                     <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
429
                     <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
428
-                </div>
430
+                </div> -->
429
             </div>
431
             </div>
430
         </div>
432
         </div>
431
       </div>
433
       </div>

+ 5 - 5
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue 파일 보기

597
                         <tr>
597
                         <tr>
598
                             <td width='70'>抗凝方式</td>
598
                             <td width='70'>抗凝方式</td>
599
                             <td width='100'>
599
                             <td width='100'>
600
-                                <label-box :isChecked="prescription.anticoagulant == 6 ? true:false" showValue="低分子肝素"></label-box>
600
+                                <label-box :isChecked="prescription.anticoagulant == 3 ? true : prescription.anticoagulant == 6 ? true : prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
601
                             </td>
601
                             </td>
602
                             <td width='100'>
602
                             <td width='100'>
603
                                 <div class="under-line">
603
                                 <div class="under-line">
608
                             <td width='40'>首剂</td>
608
                             <td width='40'>首剂</td>
609
                             <td width='50'>
609
                             <td width='50'>
610
                                 <div class="under-line">
610
                                 <div class="under-line">
611
-                                    &nbsp;<span v-if="prescription.anticoagulant == 6">{{ prescription.anticoagulant_shouji }}</span>
611
+                                    &nbsp;<span v-if="prescription.anticoagulant == 3 || prescription.anticoagulant == 6 || prescription.anticoagulant == 7">{{ prescription.anticoagulant_shouji }}</span>
612
                                 </div>
612
                                 </div>
613
                             </td>
613
                             </td>
614
                             <td width='10'>IU</td>
614
                             <td width='10'>IU</td>
615
                             <td width='40'>追加</td>
615
                             <td width='40'>追加</td>
616
                             <td width='50'>
616
                             <td width='50'>
617
                                 <div class="under-line">
617
                                 <div class="under-line">
618
-                                    &nbsp;<span v-if="prescription.anticoagulant == 6">{{ prescription.anticoagulant_weichi }}</span>
618
+                                    &nbsp;<span v-if="prescription.anticoagulant == 3 || prescription.anticoagulant == 6 || prescription.anticoagulant == 7">{{ prescription.anticoagulant_weichi }}</span>
619
                                 </div>
619
                                 </div>
620
                             </td>
620
                             </td>
621
                             <td width='20'>IU/h</td>
621
                             <td width='20'>IU/h</td>
626
                             <td width='40'>其他</td>
626
                             <td width='40'>其他</td>
627
                             <td width='100'>
627
                             <td width='100'>
628
                                 <div class="under-line">&nbsp;
628
                                 <div class="under-line">&nbsp;
629
-                                    <span v-if="prescription.anticoagulant != 1 && prescription.anticoagulant != 2 && prescription.anticoagulant != 3 && prescription.anticoagulant != 6">
629
+                                    <span v-if="prescription.anticoagulant != 1 && prescription.anticoagulant != 2 && prescription.anticoagulant != 3 && prescription.anticoagulant != 6 && prescription.anticoagulant != 7">
630
                                         {{ prescription.anticoagulant_name }}
630
                                         {{ prescription.anticoagulant_name }}
631
                                     </span>
631
                                     </span>
632
                                 </div>
632
                                 </div>
906
             <td>
906
             <td>
907
               &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
907
               &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
908
             </td>
908
             </td>
909
-            <td>&nbsp;{{ monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : "" }}</td>
909
+            <td>&nbsp;<span v-if="getTime(monitor.operate_time, '{h}:{i}')">{{ monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : "0" }}</span></td>
910
             <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
910
             <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
911
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
911
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
912
 
912
 

+ 62 - 12
src/xt_pages/medicalScheduling/index.vue 파일 보기

7
                 <el-button type="primary" @click="DeleteStaffSchedule">清除</el-button>
7
                 <el-button type="primary" @click="DeleteStaffSchedule">清除</el-button>
8
                 <el-button type="primary" @click="copyStaffSchedule">复制</el-button>
8
                 <el-button type="primary" @click="copyStaffSchedule">复制</el-button>
9
                 <el-button type="primary" icon="el-icon-printer" @click="toPrint">打印</el-button>
9
                 <el-button type="primary" icon="el-icon-printer" @click="toPrint">打印</el-button>
10
-                <!-- <el-button type="primary" icon="el-icon-printer" @click="toPrint">导出</el-button> -->
10
+                <el-button type="primary" icon="el-icon-printer" @click="exportList">导出</el-button>
11
             </div>
11
             </div>
12
         </div>
12
         </div>
13
         <div class="app-container">
13
         <div class="app-container">
319
         </div>
319
         </div>
320
 
320
 
321
 
321
 
322
-        <el-dialog
322
+        <!-- <el-dialog
323
             title="导出排班"
323
             title="导出排班"
324
             :visible.sync="exportDialogVisible"
324
             :visible.sync="exportDialogVisible"
325
-            width="30%"
326
-            :before-close="handleClose">
325
+            width="30%">
327
             <span>
326
             <span>
328
-
327
+             <div class="block">
328
+               <span class="demonstration">月份:</span>
329
+               <el-date-picker
330
+                v-model="value1"
331
+                type="week"
332
+                format="yyyy 第 WW 周"
333
+                placeholder="选择周">
334
+             </el-date-picker>
335
+             </div>
329
             </span>
336
             </span>
330
             <span slot="footer" class="dialog-footer">
337
             <span slot="footer" class="dialog-footer">
331
                 <el-button @click="dialogVisible = false">取 消</el-button>
338
                 <el-button @click="dialogVisible = false">取 消</el-button>
332
-                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
339
+                <el-button type="primary" @click="exportList">确 定</el-button>
333
             </span>
340
             </span>
334
-        </el-dialog>    
341
+        </el-dialog>     -->
335
     </div>
342
     </div>
336
 </template>
343
 </template>
337
 
344
 
402
            radio:'1',
409
            radio:'1',
403
            nurseTableData:[],
410
            nurseTableData:[],
404
            doctorTableData:[],
411
            doctorTableData:[],
405
-           exportDialogVisible:false
412
+           exportDialogVisible:false,
413
+           month_time:""
406
         }
414
         }
407
     },
415
     },
408
     methods:{
416
     methods:{
944
                     data.push(...newNurse)
952
                     data.push(...newNurse)
945
                     data.push(...newDoctor)
953
                     data.push(...newDoctor)
946
                     data.push(obj)
954
                     data.push(obj)
955
+                    
947
                     this.tableData = data
956
                     this.tableData = data
948
 
957
 
949
-
958
+                   console.log("表哥3333333333",this.tableData)
950
                 }
959
                 }
951
             })
960
             })
952
         },
961
         },
1911
               this.getDoctorList()
1920
               this.getDoctorList()
1912
             }
1921
             }
1913
          })
1922
          })
1914
-       }
1923
+       },
1924
+
1925
+       toExport(){
1926
+         this.exportDialogVisible = true
1927
+
1928
+       },
1929
+
1930
+     getTimestamp(time) { //把时间日期转成时间戳
1931
+          return (new Date(time)).getTime() / 1000
1932
+       },
1933
+       exportList(){
1934
+         import('@/vendor/Export2Excel').then(excel => {
1935
+         for(let i=0;i<this.tableData.length;i++){
1936
+           this.tableData[i].monday  = this.getClass(this.tableData[i].user_name,1)
1937
+           this.tableData[i].tuesday  = this.getClass(this.tableData[i].user_name,2)
1938
+           this.tableData[i].wednesday = this.getClass(this.tableData[i].user_name,3)
1939
+           this.tableData[i].thursday = this.getClass(this.tableData[i].user_name,4)
1940
+           this.tableData[i].friday = this.getClass(this.tableData[i].user_name,5)
1941
+           this.tableData[i].saturday = this.getClass(this.tableData[i].user_name,6)
1942
+           this.tableData[i].weekday = this.getClass(this.tableData[i].user_name,0)
1943
+         }
1944
+         console.log("this.table",this.tableData)
1945
+         const tHeader = ['医护姓名', '周一'+"("+this.weekDayArr[0]+")" ,  '周二'+"("+this.weekDayArr[1]+")", '周三'+"("+this.weekDayArr[2]+")" , '周四'+"("+this.weekDayArr[3]+")" ,  '周五'+"("+this.weekDayArr[4]+")" ,  '周六'+"("+this.weekDayArr[5]+")",'周日'+"("+this.weekDayArr[6]+")"]
1946
+         const filterVal = ['user_name', 'monday', 'tuesday','wednesday','thursday','friday','saturday','weekday'] 
1947
+         
1948
+         const data = this.formatJson(filterVal,this.tableData)
1949
+         console.log("data",data)
1950
+       
1951
+         excel.export_json_to_excel({
1952
+           header: tHeader,
1953
+           data,
1954
+           filename: '医护排班'
1955
+         })
1956
+          this.downloadLoading = false
1957
+    
1958
+        })
1959
+       },
1960
+       formatJson(filterVal, jsonData) {
1961
+        return jsonData.map(v => filterVal.map(j => v[j]))
1962
+       },
1963
+    
1964
+    
1915
     },
1965
     },
1916
     created(){
1966
     created(){
1917
         //获取医护人员
1967
         //获取医护人员
1949
         }
1999
         }
1950
       var now = moment().locale('zh-cn').format('YYYY-MM-DD 00:00:00')
2000
       var now = moment().locale('zh-cn').format('YYYY-MM-DD 00:00:00')
1951
       this.timeNow = this.getTimestamp(now)
2001
       this.timeNow = this.getTimestamp(now)
1952
-
1953
-
2002
+     
2003
+   
1954
     }
2004
     }
1955
 }
2005
 }
1956
 </script>
2006
 </script>

+ 208 - 0
src/xt_pages/outpatientCharges/components/chargeMonthPrescriptionTable.vue 파일 보기

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
4
+              :row-style="{ color: '#303133' }"
5
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
7
+      <el-table-column align="center" prop="name" label="名称">
8
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
9
+      </el-table-column>
10
+
11
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
12
+        <template slot-scope="scope">
13
+          <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
+          <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="name" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
20
+          <div> {{scope.row.delivery_way}}</div>
21
+
22
+        </template>
23
+      </el-table-column>
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
25
+        <template slot-scope="scope">
26
+          <div> {{scope.row.execution_frequency}}</div>
27
+
28
+          <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
29
+        </template>
30
+      </el-table-column>
31
+
32
+      <el-table-column align="center" prop="day" width="50" label="天数">
33
+        <template slot-scope="scope">{{scope.row.day}}天</template>
34
+      </el-table-column>
35
+
36
+      <el-table-column align="center" prop="name" width="100" label="总量">
37
+        <template slot-scope="scope">
38
+          <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
39
+          <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
40
+        </template>
41
+      </el-table-column>
42
+      <el-table-column align="center" prop="name" width="60" label="单价">
43
+        <template slot-scope="scope">
44
+          <div> {{scope.row.retail_price}}元</div>
45
+
46
+          <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
+        </template>
48
+      </el-table-column>
49
+      <el-table-column align="center" prop="name" width="50" label="备注">
50
+        <template slot-scope="scope">
51
+          <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
52
+          <div> {{scope.row.remark}}</div>
53
+        </template>
54
+      </el-table-column>
55
+    </el-table>
56
+    <el-table v-if="prescription.type == 2" :data="prescription.project" border style="width: 99%;"
57
+              :row-style="{ color: '#303133' }"
58
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
59
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
60
+      <el-table-column align="center" prop="project_name" label="名称">
61
+        <template slot-scope="scope">{{ scope.row.project_name }}</template>
62
+      </el-table-column>
63
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
64
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
67
+        <template slot-scope="scope">{{scope.row.single_dose}}{{scope.row.unit}}</template>
68
+
69
+      </el-table-column>
70
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
71
+        <template slot-scope="scope">
72
+          <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
73
+          {{scope.row.delivery_way}}
74
+
75
+        </template>
76
+      </el-table-column>
77
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
78
+        <template slot-scope="scope">
79
+          <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
80
+          {{scope.row.execution_frequency}}
81
+
82
+        </template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
85
+        <template slot-scope="scope">
86
+          <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
87
+          {{scope.row.number_days}}天
88
+
89
+        </template>
90
+
91
+      </el-table-column>
92
+      <el-table-column align="center" prop="total" width="50" label="总量">
93
+        <template slot-scope="scope">
94
+          <div style="display:flex;">
95
+            <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
96
+            {{scope.row.total}}
97
+
98
+            <div>{{scope.row.unit}}</div>
99
+
100
+          </div>
101
+        </template>
102
+      </el-table-column>
103
+      <el-table-column align="center" prop="name" width="50" label="单价">
104
+        <template slot-scope="scope">
105
+          <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
106
+          {{scope.row.price}}元
107
+
108
+        </template>
109
+      </el-table-column>
110
+      <el-table-column align="center" prop="name" width="50" label="备注">
111
+        <template slot-scope="scope">
112
+          <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
113
+          {{scope.row.remark}}
114
+
115
+        </template>
116
+      </el-table-column>
117
+    </el-table>
118
+
119
+    <div class="additionalBox">
120
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
121
+        <span :title="item.item_name">{{item.item_name}}</span>
122
+        <el-input v-model="item.price" placeholder="" style="width:50px;" readonly></el-input>
123
+        共
124
+        <el-input v-model="item.count" placeholder="" style="width:50px;" readonly></el-input>
125
+        次
126
+        <!--<i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>-->
127
+      </div>
128
+    </div>
129
+  </div>
130
+</template>
131
+
132
+<script>
133
+  import { getInitData } from '@/api/his/his'
134
+  import { getDictionaryDataConfig} from "@/utils/data";
135
+
136
+  export default {
137
+    props: {
138
+      prescription: Object
139
+    },
140
+    data() {
141
+      return {
142
+        drugways: [],
143
+        efs: []
144
+      }
145
+    }, mounted() {
146
+      getInitData().then(response => {
147
+        if (response.data.state == 0) {
148
+          this.$message.error(response.data.msg)
149
+          return false
150
+        } else {
151
+          this.drugways = response.data.data.drugways
152
+          this.efs = response.data.data.efs
153
+        }
154
+      })
155
+    }, methods:  {
156
+
157
+
158
+      getGroup(id){
159
+        var name = ""
160
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category')
161
+        console.log("2235",statistics_category)
162
+        for(let i=0;i<statistics_category.length;i++){
163
+          if(id == statistics_category[i].id){
164
+            name = statistics_category[i].name
165
+          }
166
+        }
167
+        return name
168
+      },
169
+
170
+
171
+    }
172
+  }
173
+</script>
174
+
175
+<style lang="scss">
176
+  .prescriptionTable{
177
+  .additionalBox{
178
+    margin-top: 20px;
179
+    display: flex;
180
+    flex-wrap: wrap;
181
+  .additionalOne{
182
+    margin-right:20px;
183
+    margin-bottom:10px;
184
+    display: flex;
185
+    align-items: center;
186
+  >span{
187
+    white-space: nowrap;
188
+    overflow: hidden;
189
+    text-overflow: ellipsis;
190
+    width:80px;
191
+    display: inline-block;
192
+    font-size: 14px;
193
+  }
194
+  }
195
+  .deleteIcon{
196
+    color:red;
197
+    margin-left:5px;
198
+  }
199
+  }
200
+  .el-table th .cell, .el-table td .cell{
201
+    padding: 0 2px;
202
+    white-space: pre-line;
203
+  }
204
+  .el-icon-delete{
205
+    color:red;
206
+  }
207
+  }
208
+</style>

+ 425 - 0
src/xt_pages/outpatientCharges/components/dayPrescriptionTable.vue 파일 보기

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+      <el-table-column align="center" prop="drug_name" label="名称">
7
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
8
+      </el-table-column>
9
+
10
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
11
+        <template slot-scope="scope">
12
+          <div style="display:flex;align-items:center;">
13
+            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
14
+            <div>{{scope.row.single_dose_unit}}</div>
15
+          </div>
16
+        </template>
17
+      </el-table-column>
18
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
19
+        <template slot-scope="scope">
20
+          <el-select v-model="scope.row.delivery_way" placeholder="请选择">
21
+            <el-option
22
+              v-for="(item,index) in drugways"
23
+              :key="index"
24
+              :label="item.name"
25
+              :value="item.name">
26
+            </el-option>
27
+          </el-select>
28
+        </template>
29
+      </el-table-column>
30
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
31
+        <template slot-scope="scope">
32
+          <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
33
+            <el-option
34
+              v-for="item,index in efs"
35
+              :key="index"
36
+              :label="item.name"
37
+              :value="item.name">
38
+            </el-option>
39
+          </el-select>
40
+        </template>
41
+      </el-table-column>
42
+
43
+
44
+      <el-table-column align="center" prop="day" width="50" label="天数">
45
+        <template slot-scope="scope">
46
+          <el-input v-model="scope.row.day" placeholder=""></el-input>
47
+          <div>{{'天'}}</div>
48
+        </template>
49
+      </el-table-column>
50
+
51
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
52
+        <template slot-scope="scope">
53
+          <div style="display:flex;align-items:center;">
54
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder=""></el-input>
55
+            <div> {{scope.row.prescribing_number_unit}}</div>
56
+          </div>
57
+        </template>
58
+      </el-table-column>
59
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
60
+        <template slot-scope="scope">
61
+          <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
62
+          <div>{{'元'}}</div>
63
+
64
+        </template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="remark" width="50" label="备注">
67
+        <template slot-scope="scope">
68
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder=""></el-input>
69
+        </template>
70
+      </el-table-column>
71
+      <el-table-column align="center" width="40" prop="name" label="操作">
72
+        <template slot-scope="scope">
73
+          <i class="el-icon-delete" @click="deleteDrug(scope.$index, scope.row)"></i>
74
+        </template>
75
+      </el-table-column>
76
+    </el-table>
77
+
78
+    <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
79
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
80
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
81
+      <el-table-column align="center" prop="project_name" label="名称">
82
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
83
+      </el-table-column>
84
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
85
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
86
+      </el-table-column>
87
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
88
+        <template slot-scope="scope">
89
+          <el-input v-model="scope.row.single_dose" placeholder=""></el-input>
90
+          <div>{{scope.row.unit}}</div>
91
+
92
+        </template>
93
+      </el-table-column>
94
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
95
+        <template slot-scope="scope">
96
+          <el-autocomplete
97
+            style="width:100%;"
98
+            class="inline-input"
99
+            v-model="scope.row.delivery_way"
100
+            :fetch-suggestions="querySearch2"
101
+            placeholder="请输入内容"
102
+          ></el-autocomplete>
103
+        </template>
104
+      </el-table-column>
105
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
106
+        <template slot-scope="scope">
107
+          <el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>
108
+        </template>
109
+      </el-table-column>
110
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
111
+        <template slot-scope="scope">
112
+          <el-input v-model="scope.row.number_days" placeholder=""></el-input>
113
+          <div>{{'天'}}</div>
114
+        </template>
115
+      </el-table-column>
116
+      <el-table-column align="center" prop="total" width="70" label="总量">
117
+        <template slot-scope="scope">
118
+          <div style="display:flex;align-items:center;">
119
+            <el-input v-model="scope.row.total" style="width:60%" placeholder=""></el-input>
120
+            <div>{{scope.row.unit}}</div>
121
+
122
+          </div>
123
+        </template>
124
+      </el-table-column>
125
+      <el-table-column align="center" prop="name" width="50" label="单价">
126
+        <template slot-scope="scope">
127
+          <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
128
+          <div>{{'元'}}</div>
129
+
130
+        </template>
131
+      </el-table-column>
132
+      <el-table-column align="center" prop="name" width="50" label="备注">
133
+        <template slot-scope="scope">
134
+          <el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>
135
+        </template>
136
+      </el-table-column>
137
+      <el-table-column align="center" width="40" prop="name" label="操作">
138
+        <template slot-scope="scope">
139
+          <i class="el-icon-delete" @click="deleteProject(scope.row,scope.$index)"></i>
140
+        </template>
141
+      </el-table-column>
142
+    </el-table>
143
+
144
+    <div class="additionalBox">
145
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
146
+        <span :title="item.item_name">{{item.item_name}}</span>
147
+        <el-input v-model="item.price" placeholder="" style="width:50px;"></el-input>
148
+        共
149
+        <el-input v-model="item.count" placeholder="" style="width:50px;"></el-input>
150
+        次
151
+        <i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>
152
+      </div>
153
+    </div>
154
+  </div>
155
+</template>
156
+
157
+<script>
158
+  import { getDictionaryDataConfig} from "@/utils/data";
159
+  import { getInitData,delHisAdvice,delHisProject,delHisAddition } from '@/api/his/his'
160
+
161
+  export default {
162
+    props: {
163
+      preDrugs: Array,
164
+      activeType: Number,
165
+      addtions_charge:Array,
166
+      prescription:{
167
+        type:Object,
168
+        default: function () {
169
+          return {
170
+            name:"",
171
+            advices:[],
172
+            project:[],
173
+            drugways:[],
174
+            efs:[],
175
+          };
176
+        }
177
+      },
178
+    },
179
+    data() {
180
+      return {
181
+        advices:[],
182
+        tableData: [],
183
+        newoptions: [{
184
+          value: '1',
185
+          label: '1'
186
+        }, {
187
+          value: '2',
188
+          label: '2'
189
+        }, {
190
+          value: '3',
191
+          label: '3'
192
+        }, {
193
+          value: '4',
194
+          label: '4'
195
+        }, {
196
+          value: '5',
197
+          label: '5'
198
+        }],
199
+        value: '1',
200
+        input: 1,
201
+      }
202
+    },
203
+    methods:{
204
+      createFilter(queryString) {
205
+        return (restaurant) => {
206
+          return (restaurant.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
207
+        }
208
+      },
209
+      querySearch2(queryString, cb) {
210
+        var restaurants = this.getDictionaryDataConfig("system","project_use")
211
+        restaurants.map(item => {
212
+          item.value = item.name
213
+        })
214
+        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
215
+        // 调用 callback 返回建议列表的数据
216
+        cb(results)
217
+      },
218
+      delAddition(index, addition){
219
+        if(this.prescription.order_status == 2){
220
+          this.$message.error('该处方已经结算,无法删除')
221
+          return
222
+        }
223
+        this.$confirm("附加费删除后不可恢复,是否确认删除", "删除", {
224
+          confirmButtonText: "确 定",
225
+          cancelButtonText: "取 消",
226
+          type: "warning"
227
+        }).then(() => {
228
+          this.$nextTick(function(){
229
+            if(addition.id == 0){
230
+              this.prescription.addition.splice(index, 1)
231
+            }else{
232
+              let params = {
233
+                'id': addition.id,
234
+              }
235
+              delHisAddition(params).then(response => {
236
+                if (response.data.state == 0) {
237
+                  this.$message.error(response.data.msg)
238
+                  return false
239
+                } else {
240
+                  var temp2 = this.deepClone(this.prescription.addition)
241
+                  temp2.splice(index, 1)
242
+                  this.prescription.addition = temp2
243
+                  this.$message.success(response.data.data.msg)
244
+                }
245
+              })
246
+            }
247
+          });
248
+
249
+        })
250
+          .catch(() => {});
251
+
252
+      },
253
+      getInitData(){
254
+        getInitData().then(response => {
255
+          if (response.data.state == 0) {
256
+            this.$message.error(response.data.msg)
257
+            return false
258
+          } else {
259
+            this.drugways = response.data.data.drugways
260
+            this.efs = response.data.data.efs
261
+          }
262
+        })
263
+
264
+      },deleteDrug:function(index, row){
265
+        if(this.prescription.order_status == 2){
266
+          this.$message.error('该处方已经结算,无法删除')
267
+          return
268
+        }
269
+        this.$confirm("药品删除后不可恢复,是否确认删除", "删除", {
270
+          confirmButtonText: "确 定",
271
+          cancelButtonText: "取 消",
272
+          type: "warning"
273
+        }).then(() => {
274
+          this.$nextTick(function(){
275
+            if(row.advice_id == 0){
276
+              this.prescription.advices.splice(index, 1)
277
+            }else{
278
+              let params = {
279
+                'id': row.advice_id,
280
+              }
281
+              delHisAdvice(params).then(response => {
282
+                if (response.data.state == 0) {
283
+                  this.$message.error(response.data.msg)
284
+                  return false
285
+                } else {
286
+                  var temp2 = this.deepClone(this.prescription.advices)
287
+                  temp2.splice(index, 1)
288
+                  this.prescription.advices = temp2
289
+                  this.$message.success(response.data.data.msg)
290
+                }
291
+              })
292
+
293
+
294
+            }
295
+
296
+          });
297
+
298
+
299
+        })
300
+          .catch(() => {});
301
+
302
+
303
+
304
+
305
+
306
+      },deepClone(source) {
307
+        if (!source && typeof source !== 'object') {
308
+          throw new Error('error arguments', 'shallowClone')
309
+        }
310
+        const targetObj = source.constructor === Array ? [] : {}
311
+        Object.keys(source).forEach((keys) => {
312
+          if (source[keys] && typeof source[keys] === 'object') {
313
+            targetObj[keys] = this.deepClone(source[keys])
314
+          } else {
315
+            targetObj[keys] = source[keys]
316
+          }
317
+        })
318
+        return targetObj
319
+      },
320
+
321
+      setNewData:function(data){
322
+        this.prescription = data
323
+
324
+        // this.prescription.advices = data.advices
325
+      },
326
+      getDictionaryDataConfig(module, filed_name) {
327
+        return getDictionaryDataConfig(module, filed_name)
328
+      },
329
+      getGroup(id){
330
+        var name = ""
331
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category')
332
+        console.log("2235",statistics_category)
333
+        for(let i=0;i<statistics_category.length;i++){
334
+          if(id == statistics_category[i].id){
335
+            name = statistics_category[i].name
336
+          }
337
+        }
338
+        return name
339
+      },
340
+      deleteProject(row,i){
341
+        if(this.prescription.order_status == 2){
342
+          this.$message.error('该处方已经结算,无法删除')
343
+          return
344
+        }
345
+        this.$confirm("项目删除后不可恢复,是否确认删除", "删除", {
346
+          confirmButtonText: "确 定",
347
+          cancelButtonText: "取 消",
348
+          type: "warning"
349
+        }).then(() => {
350
+          if(row.id == 0){
351
+            this.prescription.project.splice(i, 1)
352
+
353
+          }else{
354
+            let params = {
355
+              'id': row.id,
356
+            }
357
+            delHisProject(params).then(response => {
358
+              if (response.data.state == 0) {
359
+                this.$message.error(response.data.msg)
360
+                return false
361
+              } else {
362
+                for (let i = 0; i < this.prescription.project.length; i++){
363
+                  if(this.prescription.project[i].id == row.id){
364
+                    this.prescription.project.splice(i, 1)
365
+                  }
366
+                }
367
+                this.$message.success(response.data.data.msg)
368
+              }
369
+            })
370
+          }
371
+        })
372
+          .catch(() => {});
373
+
374
+      },
375
+    },mounted(){
376
+      this.getInitData()
377
+    },
378
+  }
379
+</script>
380
+
381
+<style lang="scss">
382
+  .prescriptionTable {
383
+
384
+  .el-input__inner {
385
+    padding: 0 5px;
386
+  }
387
+
388
+  .additionalBox {
389
+    margin-top: 20px;
390
+    display: flex;
391
+    flex-wrap: wrap;
392
+
393
+  .additionalOne {
394
+    margin-right: 20px;
395
+    margin-bottom: 10px;
396
+    display: flex;
397
+    align-items: center;
398
+
399
+  > span {
400
+    white-space: nowrap;
401
+    overflow: hidden;
402
+    text-overflow: ellipsis;
403
+    width: 80px;
404
+    display: inline-block;
405
+    font-size: 14px;
406
+  }
407
+
408
+  .deleteIcon {
409
+    color: red;
410
+    margin-left: 5px;
411
+  }
412
+
413
+  }
414
+  .el-table th .cell, .el-table td .cell {
415
+    padding: 0 2px;
416
+    white-space: pre-line;
417
+  }
418
+
419
+  .el-icon-delete {
420
+    color: red;
421
+  }
422
+
423
+  }
424
+  }
425
+</style>

+ 297 - 0
src/xt_pages/outpatientCharges/components/monthPrescriptionTable.vue 파일 보기

1
+<template>
2
+  <div class="prescriptionTable">
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+      <el-table-column align="center" prop="drug_name" label="名称">
7
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
8
+      </el-table-column>
9
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
10
+        <template slot-scope="scope">
11
+          <div style="display:flex;align-items:center;">
12
+            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
13
+            <div>{{scope.row.single_dose_unit}}</div>
14
+          </div>
15
+        </template>
16
+      </el-table-column>
17
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
18
+        <template slot-scope="scope">
19
+          <el-select v-model="scope.row.delivery_way" placeholder="请选择">
20
+            <el-option
21
+              readonly
22
+              v-for="(item,index) in drugways"
23
+              :key="index"
24
+              :label="item.name"
25
+              :value="item.name">
26
+            </el-option>
27
+          </el-select>
28
+        </template>
29
+      </el-table-column>
30
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
31
+        <template slot-scope="scope">
32
+          <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
33
+            <el-option
34
+              readonly
35
+              v-for="item,index in efs"
36
+              :key="index"
37
+              :label="item.name"
38
+              :value="item.name">
39
+            </el-option>
40
+          </el-select>
41
+        </template>
42
+      </el-table-column>
43
+
44
+
45
+      <el-table-column align="center" prop="day" width="50" label="天数">
46
+        <template slot-scope="scope">
47
+          <el-input v-model="scope.row.day" placeholder="" readonly></el-input>
48
+          <div>{{'天'}}</div>
49
+        </template>
50
+      </el-table-column>
51
+
52
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
53
+        <template slot-scope="scope">
54
+          <div style="display:flex;align-items:center;">
55
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder="" readonly></el-input>
56
+            <div> {{scope.row.prescribing_number_unit}}</div>
57
+          </div>
58
+        </template>
59
+      </el-table-column>
60
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
61
+        <template slot-scope="scope">
62
+          <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
63
+          <div>{{'元'}}</div>
64
+        </template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="remark" width="50" label="备注">
67
+        <template slot-scope="scope">
68
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>
69
+        </template>
70
+      </el-table-column>
71
+    </el-table>
72
+
73
+    <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
74
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
75
+      <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
76
+      <el-table-column align="center" prop="project_name" label="名称">
77
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
78
+      </el-table-column>
79
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
80
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
81
+      </el-table-column>
82
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
83
+        <template slot-scope="scope">
84
+          <el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>
85
+          <div>{{scope.row.unit}}</div>
86
+
87
+        </template>
88
+      </el-table-column>
89
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
90
+        <template slot-scope="scope">
91
+          <el-autocomplete
92
+            readonly
93
+            style="width:100%;"
94
+            class="inline-input"
95
+            v-model="scope.row.delivery_way"
96
+            :fetch-suggestions="querySearch2"
97
+            placeholder="请输入内容"
98
+          ></el-autocomplete>
99
+        </template>
100
+      </el-table-column>
101
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
102
+        <template slot-scope="scope">
103
+          <el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>
104
+        </template>
105
+      </el-table-column>
106
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
107
+        <template slot-scope="scope">
108
+          <el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>
109
+          <div>{{'天'}}</div>
110
+        </template>
111
+      </el-table-column>
112
+      <el-table-column align="center" prop="total" width="70" label="总量">
113
+        <template slot-scope="scope">
114
+          <div style="display:flex;align-items:center;">
115
+            <el-input v-model="scope.row.total" style="width:60%" placeholder="" readonly></el-input>
116
+            <div>{{scope.row.unit}}</div>
117
+          </div>
118
+        </template>
119
+      </el-table-column>
120
+      <el-table-column align="center" prop="name" width="50" label="单价">
121
+        <template slot-scope="scope">
122
+          <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
123
+          <div>{{'元'}}</div>
124
+        </template>
125
+      </el-table-column>
126
+      <el-table-column align="center" prop="name" width="50" label="备注">
127
+        <template slot-scope="scope">
128
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" readonly></el-input>
129
+        </template>
130
+      </el-table-column>
131
+    </el-table>
132
+    <div class="additionalBox">
133
+      <div class="additionalOne" v-for="(item,index) in prescription.addition" :key="index">
134
+        <span :title="item.item_name">{{item.item_name}}</span>
135
+        <el-input v-model="item.price" placeholder="" style="width:50px;"></el-input>
136
+        共
137
+        <el-input v-model="item.count" placeholder="" style="width:50px;"></el-input>
138
+        次
139
+        <i class="el-icon-delete deleteIcon" @click="delAddition(index,item)"></i>
140
+      </div>
141
+    </div>
142
+  </div>
143
+</template>
144
+
145
+<script>
146
+  import { getDictionaryDataConfig} from "@/utils/data";
147
+  import { getInitData,delHisAdvice,delHisProject,delHisAddition } from '@/api/his/his'
148
+
149
+  export default {
150
+    props: {
151
+      preDrugs: Array,
152
+      activeType: Number,
153
+      addtions_charge:Array,
154
+      prescription:{
155
+        type:Object,
156
+        default: function () {
157
+          return {
158
+            name:"",
159
+            advices:[],
160
+            project:[],
161
+            drugways:[],
162
+            efs:[],
163
+          };
164
+        }
165
+      },
166
+    },
167
+    data() {
168
+      return {
169
+        advices:[],
170
+        tableData: [],
171
+        newoptions: [{
172
+          value: '1',
173
+          label: '1'
174
+        }, {
175
+          value: '2',
176
+          label: '2'
177
+        }, {
178
+          value: '3',
179
+          label: '3'
180
+        }, {
181
+          value: '4',
182
+          label: '4'
183
+        }, {
184
+          value: '5',
185
+          label: '5'
186
+        }],
187
+        value: '1',
188
+        input: 1,
189
+      }
190
+    },
191
+    methods:{
192
+      createFilter(queryString) {
193
+        return (restaurant) => {
194
+          return (restaurant.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
195
+        }
196
+      },
197
+      querySearch2(queryString, cb) {
198
+        var restaurants = this.getDictionaryDataConfig("system","project_use")
199
+        restaurants.map(item => {
200
+          item.value = item.name
201
+        })
202
+        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
203
+        // 调用 callback 返回建议列表的数据
204
+        cb(results)
205
+      },
206
+      getInitData(){
207
+        getInitData().then(response => {
208
+          if (response.data.state == 0) {
209
+            this.$message.error(response.data.msg)
210
+            return false
211
+          } else {
212
+            this.drugways = response.data.data.drugways
213
+            this.efs = response.data.data.efs
214
+          }
215
+        })
216
+      },
217
+      deepClone(source) {
218
+        if (!source && typeof source !== 'object') {
219
+          throw new Error('error arguments', 'shallowClone')
220
+        }
221
+        const targetObj = source.constructor === Array ? [] : {}
222
+        Object.keys(source).forEach((keys) => {
223
+          if (source[keys] && typeof source[keys] === 'object') {
224
+            targetObj[keys] = this.deepClone(source[keys])
225
+          } else {
226
+            targetObj[keys] = source[keys]
227
+          }
228
+        })
229
+        return targetObj
230
+      },
231
+      setNewData:function(data){
232
+        this.prescription = data
233
+      },
234
+      getDictionaryDataConfig(module, filed_name) {
235
+        return getDictionaryDataConfig(module, filed_name)
236
+      },
237
+      getGroup(id){
238
+        var name = ""
239
+        var statistics_category =  getDictionaryDataConfig('system','statistics_category')
240
+        for(let i=0;i<statistics_category.length;i++){
241
+          if(id == statistics_category[i].id){
242
+            name = statistics_category[i].name
243
+          }
244
+        }
245
+        return name
246
+      },
247
+    },mounted(){
248
+      this.getInitData()
249
+    },
250
+  }
251
+</script>
252
+
253
+<style lang="scss">
254
+  .prescriptionTable {
255
+
256
+  .el-input__inner {
257
+    padding: 0 5px;
258
+  }
259
+
260
+  .additionalBox {
261
+    margin-top: 20px;
262
+    display: flex;
263
+    flex-wrap: wrap;
264
+
265
+  .additionalOne {
266
+    margin-right: 20px;
267
+    margin-bottom: 10px;
268
+    display: flex;
269
+    align-items: center;
270
+
271
+  > span {
272
+    white-space: nowrap;
273
+    overflow: hidden;
274
+    text-overflow: ellipsis;
275
+    width: 80px;
276
+    display: inline-block;
277
+    font-size: 14px;
278
+  }
279
+
280
+  .deleteIcon {
281
+    color: red;
282
+    margin-left: 5px;
283
+  }
284
+
285
+  }
286
+  .el-table th .cell, .el-table td .cell {
287
+    padding: 0 2px;
288
+    white-space: pre-line;
289
+  }
290
+
291
+  .el-icon-delete {
292
+    color: red;
293
+  }
294
+
295
+  }
296
+  }
297
+</style>

+ 279 - 97
src/xt_pages/outpatientCharges/components/registerDialog.vue 파일 보기

1
 <template>
1
 <template>
2
-  <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
2
+  <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility"
3
+             :close-on-click-modal="isClose"
3
              :close-on-press-escape="isClose">
4
              :close-on-press-escape="isClose">
4
 
5
 
5
-    <el-form :model="form"  :rules="rules"  ref="formValue"  label-width="100px">
6
-      <el-form-item label="患者姓名:"  prop="name" :validate-event="is_Name">
7
-         <el-input  v-model="form.name" :disabled="true"></el-input>
6
+    <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
+      <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
8
+        <el-autocomplete
9
+          class="checkSearch"
10
+          popper-class="my-autocomplete"
11
+          v-model="form.name"
12
+          :fetch-suggestions="querySearchAsync"
13
+          :trigger-on-focus="false"
14
+          placeholder="请输入病人名字"
15
+          @select="handleSelect"
16
+          style="width:160px;"
17
+        >
18
+          <i class="el-icon-search el-input__icon" slot="suffix"></i>
19
+          <template slot-scope="{ item }">
20
+            <div class="name">{{ item.name }}</div>
21
+          </template>
22
+        </el-autocomplete>
8
       </el-form-item>
23
       </el-form-item>
9
 
24
 
10
       <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
25
       <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
16
             :value="item.value">
31
             :value="item.value">
17
           </el-option>
32
           </el-option>
18
         </el-select>
33
         </el-select>
34
+
35
+
19
       </el-form-item>
36
       </el-form-item>
20
 
37
 
21
       <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
38
       <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
24
 
41
 
25
 
42
 
26
       <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
43
       <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
27
-        <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期" style="width:100%;"></el-date-picker>
44
+        <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45
+                        value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
28
       </el-form-item>
46
       </el-form-item>
29
 
47
 
30
       <el-form-item label="手机号码:" prop="phone">
48
       <el-form-item label="手机号码:" prop="phone">
44
       </el-form-item>
62
       </el-form-item>
45
 
63
 
46
 
64
 
47
-      <el-form-item label="证件类型:">
48
-        <el-select v-model="form.certificates" placeholder="请选择"  style="width:100%;">
65
+      <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
66
+        <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
49
           <el-option
67
           <el-option
50
             v-for="item in certificates"
68
             v-for="item in certificates"
51
             :key="item.value"
69
             :key="item.value"
55
         </el-select>
73
         </el-select>
56
       </el-form-item>
74
       </el-form-item>
57
 
75
 
58
-      <el-form-item label="证件号码:" prop="id_card"  :validate-event="is_Name">
76
+      <el-form-item label="证件号码:" prop="id_card" :validate-event="is_Name">
59
         <el-input v-model="form.id_card"></el-input>
77
         <el-input v-model="form.id_card"></el-input>
60
       </el-form-item>
78
       </el-form-item>
61
 
79
 
80
+      <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
81
+        <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
82
+                   >
83
+          <el-option
84
+            v-for="(item,index) in registers"
85
+            :key="index"
86
+            :label="item.label"
87
+            :value="item.value">
88
+          </el-option>
89
+        </el-select>
90
+      </el-form-item>
91
+      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
92
+        <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
93
+          <el-option
94
+            v-for="(item,index) in sick"
95
+            :key="index"
96
+            :label="item.class_name"
97
+            :value="item.id">
98
+          </el-option>
99
+        </el-select>
100
+      </el-form-item>
101
+
102
+      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
103
+        <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
104
+          <el-option
105
+            v-for="(item,index) in diagnoses"
106
+            :key="index"
107
+            :label="item.class_name"
108
+            :value="item.id">
109
+          </el-option>
110
+        </el-select>
111
+      </el-form-item>
112
+
62
 
113
 
63
       <el-form-item label="结算类型:">
114
       <el-form-item label="结算类型:">
64
         <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
115
         <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
82
           </el-option>
133
           </el-option>
83
         </el-select>
134
         </el-select>
84
       </el-form-item>
135
       </el-form-item>
136
+
137
+
138
+      <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
139
+        <el-select v-model="form.id_card_type" placeholder="请选择">
140
+          <el-option
141
+            v-for="item in IDCardTypes"
142
+            :key="item.value"
143
+            :label="item.label"
144
+            :value="item.value">
145
+          </el-option>
146
+        </el-select>
147
+      </el-form-item>
148
+
149
+
85
       <el-form-item class="specialFormItem" label="医保卡号:">
150
       <el-form-item class="specialFormItem" label="医保卡号:">
86
         <div style="display:flex;">
151
         <div style="display:flex;">
87
           <el-input v-model="form.medical_insurance_card"></el-input>
152
           <el-input v-model="form.medical_insurance_card"></el-input>
153
+          <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
154
+
88
         </div>
155
         </div>
89
       </el-form-item>
156
       </el-form-item>
90
 
157
 
91
-      <el-form-item label="挂号类型:"  prop="register_type"  :validate-event="is_Name">
92
-        <el-select v-model="form.register_type"  placeholder="请选择" style="width:100%;">
158
+      <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
159
+        <el-select v-model="form.register" placeholder="请选择" style="width:100%;">
93
           <el-option
160
           <el-option
94
             v-for="item in register"
161
             v-for="item in register"
95
             :key="item.value"
162
             :key="item.value"
107
     </el-form>
174
     </el-form>
108
 
175
 
109
     <span slot="footer" class="dialog-footer">
176
     <span slot="footer" class="dialog-footer">
110
-    <el-button  @click="cancel('formValue')">取 消</el-button>
111
-    <el-button  type="primary" @click="confirm('formValue')">挂 号</el-button>
177
+    <el-button @click="cancel('formValue')">取 消</el-button>
178
+    <el-button type="primary" @click="confirm('formValue')">挂 号</el-button>
112
   </span>
179
   </span>
113
   </el-dialog>
180
   </el-dialog>
114
 
181
 
115
 </template>
182
 </template>
116
 
183
 
117
 <script>
184
 <script>
118
-  import { getDictionaryDataConfig } from '@/utils/data'
185
+  import {uParseTime} from "@/utils/tools";
186
+  import axios from 'axios'
187
+  import {PostSearch} from '@/api/patient'
188
+
189
+  import {getDictionaryDataConfig} from '@/utils/data'
190
+
119
   export default {
191
   export default {
192
+
120
     name: 'registerDialog',
193
     name: 'registerDialog',
121
 
194
 
122
     data() {
195
     data() {
123
 
196
 
124
       return {
197
       return {
125
-        form:{
198
+        registers: [
199
+          {value: 11, label: "普通门诊"},
200
+          {value: 12, label: '门诊挂号'},
201
+          {value: 13, label: "急诊"},
202
+          {value: 14, label: "门诊特殊病"},
203
+          {value: 15, label: "门诊统筹"},
204
+          {value: 16, label: "门诊慢性病"},
205
+          {value: 21, label: "普通住院"},
206
+
207
+        ],
208
+        form: {
209
+          id: '',
126
           settlement_value: '',
210
           settlement_value: '',
127
-          medical_insurance_card:'',
128
-          name:'',
129
-          gender:'',
130
-          certificates:'',
131
-          medical_care:'',
132
-          birthday:'',
133
-          age:'',
134
-          id_card:'',
135
-          register:'',
136
-          doctor:'',
137
-          department:'',
138
-          registration_fee:'',
139
-          medical_expenses:'',
140
-          cost:'',
141
-          phone:'',
142
-          social_type:'',
143
-        },
211
+          medical_insurance_card: '',
212
+          name: '',
213
+          gender: '',
214
+          certificates: 1,
215
+          p_type:'',
216
+          sick_type:'',
217
+          diagnosis:'',
218
+          medical_care: '',
219
+          birthday: '',
220
+          age: '',
221
+          id_card: '',
222
+          register: '',
223
+          doctor: '',
224
+          id_card_type: 1,
225
+          department: '',
226
+          registration_fee: '',
227
+          medical_expenses: '',
228
+          cost: '',
229
+          phone: '',
230
+          social_type: '',
231
+        }, IDCardTypes: [{
232
+          value: 1,
233
+          label: '社保卡'
234
+        }, {
235
+          value: 2,
236
+          label: "身份证"
237
+        }, {
238
+          value: 3,
239
+          label: "电子凭证"
240
+        },],
144
         settlement: [
241
         settlement: [
145
-            {value: 1,label: '医保'},
146
-            {value: 2,label: '自费'},
147
-            {value: 3,label:'公费'},
148
-            {value: 4,label:'农保'},
149
-            {value: 5,label:'会员'},
150
-            {value: 6,label:'职工'},
151
-            {value: 7,label:'合同'}
152
-          ],
242
+          {value: 1, label: '医保'},
243
+          {value: 2, label: '自费'},
244
+          {value: 3, label: '公费'},
245
+          {value: 4, label: '农保'},
246
+          {value: 5, label: '会员'},
247
+          {value: 6, label: '职工'},
248
+          {value: 7, label: '合同'}
249
+        ],
153
         sex: [{
250
         sex: [{
154
           value: 1,
251
           value: 1,
155
           label: '男'
252
           label: '男'
163
         }, {
260
         }, {
164
           value: 2,
261
           value: 2,
165
           label: "社保卡"
262
           label: "社保卡"
166
-        },{
263
+        }, {
167
           value: 3,
264
           value: 3,
168
           label: "护照"
265
           label: "护照"
169
-        },{
266
+        }, {
170
           value: 4,
267
           value: 4,
171
           label: "军官证"
268
           label: "军官证"
172
-        },{
269
+        }, {
173
           value: 5,
270
           value: 5,
174
           label: "台胞证"
271
           label: "台胞证"
175
-        },{
272
+        }, {
176
           value: 6,
273
           value: 6,
177
           label: "港澳地区身份证"
274
           label: "港澳地区身份证"
178
         }],
275
         }],
182
         }, {
279
         }, {
183
           value: 2,
280
           value: 2,
184
           label: "公务员医疗补助"
281
           label: "公务员医疗补助"
185
-        },{
282
+        }, {
186
           value: 3,
283
           value: 3,
187
           label: "大额医疗费用补助"
284
           label: "大额医疗费用补助"
188
-        },{
285
+        }, {
189
           value: 4,
286
           value: 4,
190
           label: "离休人员医疗"
287
           label: "离休人员医疗"
191
-        },{
288
+        }, {
192
           value: 5,
289
           value: 5,
193
           label: "城乡居民基本医疗保险"
290
           label: "城乡居民基本医疗保险"
194
-        },{
291
+        }, {
195
           value: 6,
292
           value: 6,
196
           label: "城乡居民大病医疗保险"
293
           label: "城乡居民大病医疗保险"
197
         },
294
         },
205
         }, {
302
         }, {
206
           value: 2,
303
           value: 2,
207
           label: "主治"
304
           label: "主治"
208
-        },{
305
+        }, {
209
           value: 3,
306
           value: 3,
210
           label: "主任"
307
           label: "主任"
211
-        },{
308
+        }, {
212
           value: 4,
309
           value: 4,
213
           label: "免收诊金"
310
           label: "免收诊金"
214
-        },{
311
+        }, {
215
           value: 5,
312
           value: 5,
216
           label: "专家"
313
           label: "专家"
217
         }],
314
         }],
218
         rules: {
315
         rules: {
219
-          name:[{ required:true,message:"患者姓名不能为空",trigger: 'blur'}],
220
-          gender:[{ required:true,message:"患者性别不能为空",trigger: 'blur'}],
221
-          id_card: [{ required: true, message: '证件号码不能为空', trigger: 'blur'  }],
222
-          register_type: [{ required: true, message: '请选择挂号类型' , trigger: 'blur' }],
223
-          doctor: [{ required: true, message: '请选择医生' , trigger: 'blur' }],
224
-          department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
225
-          age:[{ required:true,message:"患者年龄不能为空",trigger: 'blur'}],
226
-          birthday:[{required:true,message:"患者出生日期不能为空",trigger:'blur'}]
316
+          name: [{required: true, message: "患者姓名不能为空", trigger: 'blur'}],
317
+          gender: [{required: true, message: "患者性别不能为空", trigger: 'blur'}],
318
+          id_card: [{required: true, message: '证件号码不能为空', trigger: 'blur'}],
319
+          register: [{required: true, message: '请选择挂号类型', trigger: 'blur'}],
320
+          doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
321
+          department: [{required: true, message: '请填写科室', trigger: 'blur'}],
322
+          age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
323
+          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}],
324
+          certificates: [{required: true, message: "证件类型不能为空", trigger: 'change'}],
325
+          id_card_type: [{required: true, message: "读卡类型不能为空", trigger: 'change'}],
326
+
327
+          p_type: [{required: true, message: "处方类型不能为空", trigger: 'change'}],
328
+          sick_type: [{required: true, message: "大病类别不能为空", trigger: 'change'}],
329
+          diagnosis: [{required: true, message: "诊断不能为空", trigger: 'change'}],
330
+
227
         },
331
         },
228
 
332
 
229
         visibility: false,
333
         visibility: false,
232
 
336
 
233
         resetForm: {
337
         resetForm: {
234
           settlement_value: '',
338
           settlement_value: '',
235
-          medical_insurance_card:'',
236
-          name:'',
237
-          gender:'',
238
-          certificates:'',
239
-          medical_care:'',
240
-          birthday:'',
241
-          age:'',
242
-          id_card:'',
243
-          register:'',
244
-          doctor:'',
245
-          department:'',
246
-          registration_fee:'',
247
-          medical_expenses:'',
248
-          cost:'',
249
-          phone:'',
250
-          social_type:'',
339
+          medical_insurance_card: '',
340
+          name: '',
341
+          gender: '',
342
+          certificates: '',
343
+          id_card_type: '',
344
+          medical_care: '',
345
+          birthday: '',
346
+          age: '',
347
+          id_card: '',
348
+          register: '',
349
+          doctor: '',
350
+          department: '',
351
+          registration_fee: '',
352
+          medical_expenses: '',
353
+          cost: '',
354
+          phone: '',
355
+          social_type: '',
251
         },
356
         },
252
 
357
 
253
       }
358
       }
270
         type: Number,
375
         type: Number,
271
         default: 1
376
         default: 1
272
 
377
 
273
-      }
378
+      },
379
+      sick: Array,
380
+      diagnoses: Array,
274
     },
381
     },
275
     methods: {
382
     methods: {
383
+      handleSelect(val) {
384
+        this.form.id = val.id
385
+        this.form.name = val.name
386
+        this.form.gender = val.gender
387
+        this.form.age = val.age
388
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}')
389
+        this.form.phone = val.phone
390
+        this.form.id_card = val.id_card_no
391
+      },
392
+      querySearchAsync(keyword, cb) {
393
+        let key = ''
394
+        if (keyword != undefined) {
395
+          key = keyword
396
+        }
397
+        let searchArray = []
398
+        PostSearch(key).then(response => {
399
+          if (response.data.state == 1) {
400
+            searchArray = response.data.data.patient
401
+            cb(searchArray)
402
+          } else {
403
+            cb([])
404
+          }
405
+        })
406
+      },
407
+      reading(medicalInsuranceCard) {
408
+        var that = this
409
+        if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
410
+          this.$message.error("请先选择读卡类型")
411
+          return
412
+        }
413
+        let params = {
414
+          'id_card_type': this.form.id_card_type,
415
+        }
416
+        axios.get('http://127.0.0.1:9532/api/sscard', {
417
+          params: params
418
+        })
419
+          .then(function (response) {
420
+            if (response.data.state == 0) {
421
+              that.$message.error(response.data.msg)
422
+              return false
423
+            } else {
424
+              var patient = response.data.data.patient
425
+
426
+              if (that.form.id_card_type == 1) {
427
+                this.form.id = patient.id
428
+                that.form.name = patient.name
429
+                that.form.sex = patient.gender
430
+                that.form.age = patient.age
431
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
432
+                that.form.phone = patient.phone
433
+                that.form.idCard = patient.id_card_no
434
+                that.form.medicalInsuranceCard = response.data.data.number
435
+
436
+              } else if (that.form.id_card_type == 2) {
437
+                this.form.id = patient.id
438
+                that.form.name = patient.name
439
+                that.form.sex = patient.gender
440
+                that.form.age = patient.age
441
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
442
+                that.form.phone = patient.phone
443
+                that.form.idCard = patient.id_card_no
444
+              }
445
+              that.$message({message: '读卡成功', type: 'success'})
446
+            }
447
+          })
448
+          .catch(function (error) {
449
+
450
+          });
451
+
452
+
453
+      },
276
       getDictionaryDataConfig(module, filed_name) {
454
       getDictionaryDataConfig(module, filed_name) {
277
         return getDictionaryDataConfig(module, filed_name)
455
         return getDictionaryDataConfig(module, filed_name)
278
       },
456
       },
279
-      show: function(patientInfo) {
280
-        this.form.name = patientInfo.name
281
-        this.form.gender = patientInfo.gender
282
-        this.form.age = patientInfo.age
283
-        this.form.birthday = patientInfo.birthday
284
-        this.form.phone = patientInfo.phone
285
-        this.form.birthday = patientInfo.birthday
286
-        this.form.id_card = patientInfo.id_card_no
287
-        this.form.social_type = patientInfo.health_care_type
288
-        if( this.form.social_type == 0){
289
-          this.form.social_type = ""
290
-
291
-        }
457
+      show: function () {
458
+        // this.form.name = patientInfo.name
459
+        // this.form.gender = patientInfo.gender
460
+        // this.form.age = patientInfo.age
461
+        // this.form.birthday = patientInfo.birthday
462
+        // this.form.phone = patientInfo.phone
463
+        // this.form.birthday = patientInfo.birthday
464
+        // this.form.id_card = patientInfo.id_card_no
465
+        // this.form.social_type = patientInfo.health_care_type
466
+        // this.form.id_card_type = 1
467
+        // if( this.form.social_type == 0){
468
+        //   this.form.social_type = ""
469
+        //
470
+        // }
292
         this.visibility = true
471
         this.visibility = true
293
 
472
 
294
-      }, hide: function() {
473
+      }, hide: function () {
295
         this.visibility = false
474
         this.visibility = false
296
-      }, cancel: function(formName) {
475
+      }, cancel: function (formName) {
297
         this.$emit('cancel', this.getValue())
476
         this.$emit('cancel', this.getValue())
298
         this.$refs['formValue'].resetFields()
477
         this.$refs['formValue'].resetFields()
299
       },
478
       },
300
-      confirm: function(formName) {
479
+      confirm: function (formName) {
301
         this.$refs['formValue'].validate((valid) => {
480
         this.$refs['formValue'].validate((valid) => {
302
           if (valid) {
481
           if (valid) {
303
             let value = {}
482
             let value = {}
307
           }
486
           }
308
         })
487
         })
309
       },
488
       },
310
-      getValue: function() {
489
+      getValue: function () {
311
         let form = {}
490
         let form = {}
312
         form = this.form
491
         form = this.form
313
         return form
492
         return form
318
 </script>
497
 </script>
319
 
498
 
320
 <style lang="scss" scoped>
499
 <style lang="scss" scoped>
321
-.registerDialog{
322
-  .el-form{
500
+  .registerDialog {
501
+
502
+  .el-form {
323
     display: flex;
503
     display: flex;
324
     flex-wrap: wrap;
504
     flex-wrap: wrap;
325
   }
505
   }
326
-  .el-form-item{
327
-    width:50%;
506
+
507
+  .el-form-item {
508
+    width: 50%;
509
+  }
510
+
328
   }
511
   }
329
-}
330
 </style>
512
 </style>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1044 - 223
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue


+ 3 - 3
src/xt_pages/outpatientCharges/statementTemplate/printOne.vue 파일 보기

186
             </tr>
186
             </tr>
187
             <tr>
187
             <tr>
188
                 <td>合计</td>
188
                 <td>合计</td>
189
-                <td colspan="2" style="text-align:right;padding-right:10px;">{{(info.bed_cost_total + info.operation_cost_total + info.other_cost_total + info.material_cost_total + info.western_medicine_cost_total + info.chinese_traditional_medicine_cost_total + info.check_cost_total + info.laboratory_cost_total + info.treat_cost_total) * 100 /100 }}</td>
190
-                <td style="text-align:right;padding-right:10px;">{{(info.bed_cost_self_total + info.operation_cost_self_total + info.other_cost_self_total + info.material_cost_self_total + info.western_medicine_cost_self_total + info.chinese_traditional_medicine_cost_self_total + info.check_cost_self_total + info.laboratory_cost_self_total + info.treat_cost_self_total)*100/100}}</td>
191
-                <td colspan="2" style="text-align:right;padding-right:10px;">{{(info.bed_cost_part_self_total + info.operation_cost_part_self_total + info.other_cost_part_self_total + info.material_cost_part_self_total + info.western_medicine_cost_part_self_total + info.chinese_traditional_medicine_cost_part_self_total + info.check_cost_part_self_total + info.laboratory_cost_part_self_total + info.treat_cost_part_self_total)*100/100}}</td>
189
+                <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_total) + parseFloat(info.operation_cost_total) + parseFloat(info.other_cost_total) + parseFloat(info.material_cost_total) + parseFloat(info.western_medicine_cost_total) + parseFloat(info.chinese_traditional_medicine_cost_total) + parseFloat(info.check_cost_total) + parseFloat(info.laboratory_cost_total) + parseFloat(info.treat_cost_total)).toFixed(2) }}</td>
190
+                <td style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_self_total )+ parseFloat(info.operation_cost_self_total) + parseFloat(info.other_cost_self_total) + parseFloat(info.material_cost_self_total) + parseFloat(info.western_medicine_cost_self_total) + parseFloat(info.chinese_traditional_medicine_cost_self_total) + parseFloat(info.check_cost_self_total) + parseFloat(info.laboratory_cost_self_total) + parseFloat(info.treat_cost_self_total)).toFixed(2)}}</td>
191
+                <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_part_self_total) + parseFloat(info.operation_cost_part_self_total) + parseFloat(info.other_cost_part_self_total) + parseFloat(info.material_cost_part_self_total) + parseFloat(info.western_medicine_cost_part_self_total) + parseFloat(info.chinese_traditional_medicine_cost_part_self_total) + parseFloat(info.check_cost_part_self_total) + parseFloat(info.laboratory_cost_part_self_total) + parseFloat(info.treat_cost_part_self_total)).toFixed(2)}}</td>
192
                 <td style="text-align:right;padding-right:10px;"></td>
192
                 <td style="text-align:right;padding-right:10px;"></td>
193
                 <td colspan="2" style="text-align:right;padding-right:10px;"></td>
193
                 <td colspan="2" style="text-align:right;padding-right:10px;"></td>
194
                 <td style="text-align:right;padding-right:10px;"></td>
194
                 <td style="text-align:right;padding-right:10px;"></td>

+ 2 - 2
src/xt_pages/outpatientCharges/summary.vue 파일 보기

67
           <template slot-scope="scope">{{scope.row.reality_price}}</template>
67
           <template slot-scope="scope">{{scope.row.reality_price}}</template>
68
         </el-table-column>
68
         </el-table-column>
69
         <el-table-column align="center" prop="name" label="科室">
69
         <el-table-column align="center" prop="name" label="科室">
70
-          <template slot-scope="scope">{{scope.row.p_info.department.name}}</template>
70
+          <template slot-scope="scope">{{scope.row.department_name}}</template>
71
         </el-table-column>
71
         </el-table-column>
72
         <el-table-column align="center" prop="name" label="收费日期">
72
         <el-table-column align="center" prop="name" label="收费日期">
73
           <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>
73
           <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>
74
         </el-table-column>
74
         </el-table-column>
75
         <el-table-column align="center" prop="name" label="收费员">
75
         <el-table-column align="center" prop="name" label="收费员">
76
-          <template slot-scope="scope">{{ scope.row.p_info.doctor }}</template>
76
+          <template slot-scope="scope">{{ scope.row.doctor_name }}</template>
77
         </el-table-column>
77
         </el-table-column>
78
         <el-table-column align="center" prop="name" label="状态">
78
         <el-table-column align="center" prop="name" label="状态">
79
           <template slot-scope="scope">
79
           <template slot-scope="scope">

+ 0 - 2
src/xt_pages/outpatientDoctorStation/components/callPrescription.vue 파일 보기

14
       :editable="false"
14
       :editable="false"
15
       style="width: 150px;"
15
       style="width: 150px;"
16
       type="date"
16
       type="date"
17
-      :picker-options="pickerOptions"
18
       placeholder="选择日期时间"
17
       placeholder="选择日期时间"
19
       align="right"
18
       align="right"
20
       format="yyyy-MM-dd"
19
       format="yyyy-MM-dd"
26
       prefix-icon="el-icon-date"
25
       prefix-icon="el-icon-date"
27
       @change="changeEndTime"
26
       @change="changeEndTime"
28
       :editable="false"
27
       :editable="false"
29
-      :picker-options="pickerOptions"
30
       style="width: 150px;"
28
       style="width: 150px;"
31
       type="date"
29
       type="date"
32
       placeholder="选择日期时间"
30
       placeholder="选择日期时间"

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 970 - 212
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 534 - 308
src/xt_pages/outpatientDoctorStation/doctorDesk.vue


+ 253 - 103
src/xt_pages/outpatientRegistration/index.vue 파일 보기

7
       <div class="nameTitle">患者基本信息:</div>
7
       <div class="nameTitle">患者基本信息:</div>
8
       <div class="formMain">
8
       <div class="formMain">
9
         <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
9
         <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
10
+          <!--<el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">-->
11
+          <!--&lt;!&ndash; <el-input  v-model="form.name"></el-input> &ndash;&gt;-->
12
+          <!--<el-select v-model="form.name" placeholder="请选择" @change="changeName">-->
13
+          <!--<el-option-->
14
+          <!--v-for="item,index in patient"-->
15
+          <!--:key="index"-->
16
+          <!--:label="item.name"-->
17
+          <!--:value="item.id">-->
18
+          <!--</el-option>-->
19
+          <!--</el-select>-->
20
+          <!--</el-form-item>-->
21
+
10
           <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
22
           <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
11
-            <!-- <el-input  v-model="form.name"></el-input> -->
12
-            <el-select v-model="form.name" placeholder="请选择" @change="changeName">
13
-              <el-option
14
-                v-for="item in patient"
15
-                :key="item.patient_id"
16
-                :label="item.name"
17
-                :value="item.patient_id">
18
-              </el-option>
19
-            </el-select>
23
+            <el-autocomplete
24
+              class="checkSearch"
25
+              popper-class="my-autocomplete"
26
+              v-model="form.name"
27
+              :fetch-suggestions="querySearchAsync"
28
+              :trigger-on-focus="false"
29
+              placeholder="请输入病人名字"
30
+              @select="handleSelect"
31
+              style="width:160px;"
32
+            >
33
+              <i class="el-icon-search el-input__icon" slot="suffix"></i>
34
+              <template slot-scope="{ item }">
35
+                <div class="name">{{ item.name }}</div>
36
+              </template>
37
+            </el-autocomplete>
20
           </el-form-item>
38
           </el-form-item>
21
 
39
 
40
+
22
           <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
41
           <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
23
             <el-select v-model="form.sex" placeholder="请选择">
42
             <el-select v-model="form.sex" placeholder="请选择">
24
               <el-option
43
               <el-option
45
           </el-form-item>
64
           </el-form-item>
46
 
65
 
47
 
66
 
48
-          <el-form-item label="医疗类别:">
49
-            <el-select v-model="form.medicalCare" placeholder="请选择">
50
-              <!-- <el-option
51
-              v-for="item in medicalCare"
52
-              :key="item.value"
53
-              :label="item.label"
54
-              :value="item.value">
55
-              </el-option> -->
56
-              <el-option
57
-                v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
58
-                :key="index"
59
-                :label="item.name"
60
-                :value="item.id">
61
-              </el-option>
62
-            </el-select>
63
-          </el-form-item>
64
-
65
-
66
-          <el-form-item label="证件类型:">
67
+          <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
67
             <el-select v-model="form.certificates" placeholder="请选择">
68
             <el-select v-model="form.certificates" placeholder="请选择">
68
               <el-option
69
               <el-option
69
                 v-for="item in certificates"
70
                 v-for="item in certificates"
109
           </el-form-item>
110
           </el-form-item>
110
 
111
 
111
 
112
 
112
-          <el-form-item label="读卡类型:">
113
+          <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
113
             <el-select v-model="form.id_card_type" placeholder="请选择">
114
             <el-select v-model="form.id_card_type" placeholder="请选择">
114
               <el-option
115
               <el-option
115
                 v-for="item in IDCardTypes"
116
                 v-for="item in IDCardTypes"
142
               </el-option>
143
               </el-option>
143
             </el-select>
144
             </el-select>
144
           </el-form-item>
145
           </el-form-item>
146
+
147
+          <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
148
+            <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
149
+            >
150
+              <el-option
151
+                v-for="(item,index) in registers"
152
+                :key="index"
153
+                :label="item.label"
154
+                :value="item.value">
155
+              </el-option>
156
+            </el-select>
157
+          </el-form-item>
158
+          <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
159
+            <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
160
+              <el-option
161
+                v-for="(item,index) in sick"
162
+                :key="index"
163
+                :label="item.class_name"
164
+                :value="item.id">
165
+              </el-option>
166
+            </el-select>
167
+          </el-form-item>
168
+
169
+          <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
170
+            <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
171
+              <el-option
172
+                v-for="(item,index) in diagnoses"
173
+                :key="index"
174
+                :label="item.class_name"
175
+                :value="item.id">
176
+              </el-option>
177
+            </el-select>
178
+          </el-form-item>
179
+
180
+
181
+          <el-form-item label="医疗类别:">
182
+            <el-select v-model="form.medicalCare" placeholder="请选择">
183
+              <el-option
184
+                v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
185
+                :key="index"
186
+                :label="item.name"
187
+                :value="item.id">
188
+              </el-option>
189
+            </el-select>
190
+          </el-form-item>
191
+
145
           <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
192
           <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
146
             <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
193
             <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
147
               <el-option
194
               <el-option
189
 </template>
236
 </template>
190
 
237
 
191
 <script>
238
 <script>
239
+  import {PostSearch} from '@/api/patient'
192
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
240
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
193
   import {basename} from 'path'
241
   import {basename} from 'path'
194
-  import {getAllDoctorList, getPatientDetail, getTodaySchedulePatient, saveHisPatient} from "@/api/project/project"
242
+  import {
243
+    getAllDoctorList,
244
+    getPatientDetail,
245
+    getTodaySchedulePatient,
246
+    getUnRegisterHisPatientList,
247
+    saveHisPatient
248
+  } from "@/api/project/project"
195
   import {getDictionaryDataConfig} from '@/utils/data'
249
   import {getDictionaryDataConfig} from '@/utils/data'
196
   import {uParseTime} from "@/utils/tools";
250
   import {uParseTime} from "@/utils/tools";
251
+  import {getInitData,} from '@/api/his/his'
197
   import axios from 'axios'
252
   import axios from 'axios'
198
 
253
 
199
   const moment = require('moment')
254
   const moment = require('moment')
203
     },
258
     },
204
     data() {
259
     data() {
205
       return {
260
       return {
261
+        registers: [
262
+          {value: 11, label: "普通门诊"},
263
+          {value: 12, label: '门诊挂号'},
264
+          {value: 13, label: "急诊"},
265
+          {value: 14, label: "门诊特殊病"},
266
+          {value: 15, label: "门诊统筹"},
267
+          {value: 16, label: "门诊慢性病"},
268
+          {value: 21, label: "普通住院"},
269
+
270
+        ],
271
+        sick: [],
272
+        diagnoses: [],
206
         crumbs: [
273
         crumbs: [
207
           {path: false, name: '门诊挂号'},
274
           {path: false, name: '门诊挂号'},
208
           {path: false, name: '门诊挂号'}
275
           {path: false, name: '门诊挂号'}
209
         ],
276
         ],
210
         form: {
277
         form: {
278
+          id: 0,
279
+          p_type: '',
280
+          sick_type: '',
281
+          diagnosis: '',
211
           settlementValue: '',
282
           settlementValue: '',
212
           medicalInsuranceCard: '',
283
           medicalInsuranceCard: '',
213
           name: '',
284
           name: '',
214
           sex: '',
285
           sex: '',
215
-          certificates: '',
286
+          certificates: 1,
216
           medicalCare: '',
287
           medicalCare: '',
217
           birthday: '',
288
           birthday: '',
218
           age: '',
289
           age: '',
227
           total: '',
298
           total: '',
228
           phone: '',
299
           phone: '',
229
           social_type: '',
300
           social_type: '',
230
-          id_card_type: '',
301
+          id_card_type: 1,
302
+
231
         },
303
         },
232
         settlement:
304
         settlement:
233
           [
305
           [
332
           doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
404
           doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
333
           department: [{required: true, message: '请填写科室', trigger: 'blur'}],
405
           department: [{required: true, message: '请填写科室', trigger: 'blur'}],
334
           age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
406
           age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
335
-          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}]
407
+          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}],
408
+          certificates: [{required: true, message: "证件类型不能为空", trigger: 'change'}],
409
+          id_card_type: [{required: true, message: "读卡类型不能为空", trigger: 'change'}],
410
+
411
+
412
+          p_type: [{required: true, message: "处方类型不能为空", trigger: 'change'}],
413
+          sick_type: [{required: true, message: "大病类别不能为空", trigger: 'change'}],
414
+          diagnosis: [{required: true, message: "诊断不能为空", trigger: 'change'}],
415
+
416
+
336
         },
417
         },
337
         doctorList: [],
418
         doctorList: [],
338
         departmentList: [],
419
         departmentList: [],
351
       }
432
       }
352
     },
433
     },
353
     methods: {
434
     methods: {
435
+      handleSelect(val) {
436
+        this.form.id = val.id
437
+        this.form.name = val.name
438
+        this.form.sex = val.gender
439
+        this.form.age = val.age
440
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}')
441
+        this.form.phone = val.phone
442
+        this.form.idCard = val.id_card_no
443
+      },
444
+      querySearchAsync(keyword, cb) {
445
+        let key = ''
446
+        if (keyword != undefined) {
447
+          key = keyword
448
+        }
449
+        let searchArray = []
450
+        PostSearch(key).then(response => {
451
+          if (response.data.state == 1) {
452
+            searchArray = response.data.data.patient
453
+            cb(searchArray)
454
+          } else {
455
+            cb([])
456
+          }
457
+        })
458
+      },
354
       reading(medicalInsuranceCard) {
459
       reading(medicalInsuranceCard) {
355
         var that = this
460
         var that = this
356
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
461
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
368
               that.$message.error(response.data.msg)
473
               that.$message.error(response.data.msg)
369
               return false
474
               return false
370
             } else {
475
             } else {
371
-              this.form.name = this.baseinfo.psn_name
372
-              this.form.sex = parseInt(this.baseinfo.gend)
373
-              this.form.psn_cert_type = this.baseinfo.certificates
374
-              this.form.birthday = this.baseinfo.brdy
375
-              this.form.age = parseInt(this.baseinfo.age)
376
-              this.form.idCard = this.baseinfo.certno
377
-              this.form.certificates = 1
378
-
379
-
476
+              var patient = response.data.data.patient
477
+
478
+              if (that.form.id_card_type == 1) {
479
+                that.form.name = patient.ID
480
+                that.form.sex = patient.gender
481
+                that.form.age = patient.age
482
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
483
+                that.form.phone = patient.phone
484
+                that.form.idCard = patient.id_card_no
485
+                that.form.medicalInsuranceCard = response.data.data.number
486
+
487
+
488
+              } else if (that.form.id_card_type == 2) {
489
+                that.form.name = patient.ID
490
+                that.form.sex = patient.gender
491
+                that.form.age = patient.age
492
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
493
+                that.form.phone = patient.phone
494
+                that.form.idCard = patient.id_card_no
495
+              }
380
               that.$message({message: '读卡成功', type: 'success'})
496
               that.$message({message: '读卡成功', type: 'success'})
381
             }
497
             }
382
           })
498
           })
510
           this.is_Name = true
626
           this.is_Name = true
511
           return
627
           return
512
         }
628
         }
629
+        if (this.form.id_card_type == "") {
630
+          this.$message.error("读卡类型不能为空")
631
+          this.is_Name = true
632
+          return
633
+        }
513
 
634
 
514
         if (this.form.idCard == "") {
635
         if (this.form.idCard == "") {
515
           this.$message.error("证件号码不能为空")
636
           this.$message.error("证件号码不能为空")
516
           this.is_Name = true
637
           this.is_Name = true
517
           return
638
           return
518
         }
639
         }
519
-        var name = ""
520
-        for (let i = 0; i < this.patient.length; i++) {
521
-          if (this.form.name == this.patient[i].patient_id) {
522
-            name = this.patient[i].name
523
-          }
640
+
641
+        if (this.form.p_type == "") {
642
+          this.$message.error("处方类型不能为空")
643
+          this.is_Name = true
644
+          return
524
         }
645
         }
525
 
646
 
526
-        this.form.name = name
527
 
647
 
648
+        if (this.form.diagnosis == "") {
649
+          this.$message.error("诊断不能为空")
650
+          this.is_Name = true
651
+          return
652
+        }
653
+
654
+        if (this.form.sick_type == "") {
655
+          this.$message.error("大病类别不能为空")
656
+          this.is_Name = true
657
+          return
658
+        }
528
 
659
 
529
         this.$refs[formName].validate((valid) => {
660
         this.$refs[formName].validate((valid) => {
530
           if (valid) {
661
           if (valid) {
539
             }
670
             }
540
 
671
 
541
             var params = {
672
             var params = {
542
-              settlementValue: this.form.settlementValue,
543
-              medicalInsuranceCard: this.form.medicalInsuranceCard,
673
+              id: this.form.id,
674
+              settlement_value: this.form.settlementValue,
675
+              medical_insurance_card: this.form.medicalInsuranceCard,
544
               name: this.form.name,
676
               name: this.form.name,
545
               sex: this.form.sex,
677
               sex: this.form.sex,
546
               id_card_type: this.form.id_card_type,
678
               id_card_type: this.form.id_card_type,
547
               certificates: this.form.certificates,
679
               certificates: this.form.certificates,
548
-              medicalCare: this.form.medicalCare,
549
-              birthDay: moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
680
+              medical_care: this.form.medicalCare,
681
+              birthday: moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
550
               age: parseInt(this.form.age),
682
               age: parseInt(this.form.age),
551
-              idCard: this.form.idCard,
683
+              id_card: this.form.idCard,
552
               register: this.form.register,
684
               register: this.form.register,
553
               doctor: this.form.doctor,
685
               doctor: this.form.doctor,
554
               department: this.form.department,
686
               department: this.form.department,
555
               costChecked: this.check,
687
               costChecked: this.check,
556
-              registrationFee: this.form.registrationFee,
557
-              medicalExpenses: this.form.medicalExpenses,
688
+              registration_fee: this.form.registrationFee,
689
+              medical_expenses: this.form.medicalExpenses,
558
               cost: this.form.cost,
690
               cost: this.form.cost,
559
               total: this.total,
691
               total: this.total,
560
               phone: this.form.phone,
692
               phone: this.form.phone,
561
-              social_type: this.form.social_type
693
+              social_type: this.form.social_type,
694
+              p_type: this.form.p_type,
695
+              diagnosis: this.form.diagnosis,
696
+              sick_type: this.form.sick_type
562
             }
697
             }
563
-
564
-            params['id'] = this.patientInfo.id,
565
             params['record_time'] = this.record_date,
698
             params['record_time'] = this.record_date,
566
               params['admin_user_id'] = this.$store.getters.xt_user.user.id
699
               params['admin_user_id'] = this.$store.getters.xt_user.user.id
567
             this.loadingone = true
700
             this.loadingone = true
568
 
701
 
569
-            if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919) {
702
+            if (this.$store.getters.xt_user.org_id == 9919) {
570
               var that = this
703
               var that = this
571
 
704
 
572
               axios.get('http://127.0.0.1:9532/api/register/get', {
705
               axios.get('http://127.0.0.1:9532/api/register/get', {
573
-                params: forms
706
+                params: params
574
               })
707
               })
575
                 .then(function (response) {
708
                 .then(function (response) {
576
                   if (response.data.state == 0) {
709
                   if (response.data.state == 0) {
591
 
724
 
592
                 });
725
                 });
593
             } else {
726
             } else {
594
-              register(forms).then(response => {
595
-                if (response.data.state == 0) {
596
-                  this.$message.error(response.data.msg)
597
-                  this.loadingone = false
598
-                  this.$refs.register.hide()
599
-                  return false
727
+              saveHisPatient(params).then(response => {
728
+                if (response.data.state == 1) {
729
+                  var patient = response.data.data.patient
730
+                  this.getTodaySchedulePatient()
731
+                  this.$message.success("保存成功")
732
+                  this.form.settlementValue = "",
733
+                    this.form.medicalInsuranceCard = "",
734
+                    this.form.name = "",
735
+                    this.form.sex = "",
736
+                    this.form.certificates = "",
737
+                    this.form.medicalCare = "",
738
+                    this.form.birthday = "",
739
+                    this.form.age = "",
740
+                    this.form.idCard = "",
741
+                    this.form.register = "",
742
+                    this.form.doctor = "",
743
+                    this.form.department = "",
744
+                    this.form.costChecked = false,
745
+                    this.form.registrationFee = "",
746
+                    this.form.medicalExpenses = "",
747
+                    this.form.cost = "",
748
+                    this.form.total = "" ,
749
+                    this.form.phone = "",
750
+                    this.form.social_type = ""
600
                 } else {
751
                 } else {
601
-                  this.getPatientList()
602
-                  this.$message({message: '挂号成功', type: 'success'})
603
-                  this.$refs.register.hide()
604
-                  this.loadingone = false
605
-                  var his_info = response.data.data.his_info
606
-                  this.hisPatientInfo = his_info
752
+                  this.$message.error("今日患者已挂号!")
607
                 }
753
                 }
608
               })
754
               })
755
+
609
             }
756
             }
610
 
757
 
611
 
758
 
612
-            saveHisPatient(params).then(response => {
613
-              if (response.data.state == 1) {
614
-                var patient = response.data.data.patient
615
-                console.log("patient", patient)
616
-                this.$message.success("保存成功")
617
-                this.form.settlementValue = "",
618
-                  this.form.medicalInsuranceCard = "",
619
-                  this.form.name = "",
620
-                  this.form.sex = "",
621
-                  this.form.certificates = "",
622
-                  this.form.medicalCare = "",
623
-                  this.form.birthday = "",
624
-                  this.form.age = "",
625
-                  this.form.idCard = "",
626
-                  this.form.register = "",
627
-                  this.form.doctor = "",
628
-                  this.form.department = "",
629
-                  this.form.costChecked = false,
630
-                  this.form.registrationFee = "",
631
-                  this.form.medicalExpenses = "",
632
-                  this.form.cost = "",
633
-                  this.form.total = "" ,
634
-                  this.form.phone = "",
635
-                  this.form.social_type = ""
636
-              } else {
637
-                this.$message.error("今日患者已挂号!")
638
-              }
639
-            })
640
           }
759
           }
641
         })
760
         })
642
       },
761
       },
643
       getTodaySchedulePatient() {
762
       getTodaySchedulePatient() {
644
-        getTodaySchedulePatient().then(response => {
763
+        var nowDate = new Date()
764
+        var nowYear = nowDate.getFullYear()
765
+        var nowMonth = nowDate.getMonth() + 1
766
+        var nowDay = nowDate.getDate()
767
+        this.record_date =
768
+          nowYear +
769
+          '-' +
770
+          (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
771
+          '-' +
772
+          (nowDay < 10 ? '0' + nowDay : nowDay)
773
+        let params = {
774
+
775
+          record_date: this.record_date
776
+        }
777
+        getUnRegisterHisPatientList(params).then(response => {
645
           if (response.data.state == 1) {
778
           if (response.data.state == 1) {
646
-            var patient = response.data.data.patient
779
+            var patient = response.data.data.list
647
             console.log("今日排班", patient)
780
             console.log("今日排班", patient)
648
             this.patient = patient
781
             this.patient = patient
649
           }
782
           }
683
             this.form.idCard = patient.id_card_no
816
             this.form.idCard = patient.id_card_no
684
           }
817
           }
685
         })
818
         })
686
-      }
819
+      }, getInitData() {
820
+        getInitData().then(response => {
821
+          if (response.data.state == 0) {
822
+            this.$message.error(response.data.msg)
823
+            return false
824
+          } else {
825
+            this.doctors = response.data.data.doctors
826
+            this.department = response.data.data.department
827
+            this.sick = response.data.data.sick
828
+            this.diagnoses = response.data.data.diagnose
829
+
830
+          }
831
+        })
832
+
833
+      },
834
+
687
     },
835
     },
688
     created() {
836
     created() {
837
+      this.getInitData()
838
+
689
       //获取当前机构有人员信息
839
       //获取当前机构有人员信息
690
       this.getAllDoctorList()
840
       this.getAllDoctorList()
691
       //获取今日排班的患者
841
       //获取今日排班的患者

+ 10 - 3
src/xt_pages/qcd/officesControlAnalysis/project.vue 파일 보기

285
         })
285
         })
286
     },
286
     },
287
     handleModeType(val){
287
     handleModeType(val){
288
-      // console.log("modetype",this.mode_type)
288
+
289
+      console.log("modetype",this.type,this.mode_type)
289
       if(this.type == 2){
290
       if(this.type == 2){
290
          this.bloodType = val
291
          this.bloodType = val
291
         if(this.mode_type == -1 || this.mode_type == -2){
292
         if(this.mode_type == -1 || this.mode_type == -2){
292
           this.getMonthBloodList()
293
           this.getMonthBloodList()
294
+
293
           return false
295
           return false
294
         }else{
296
         }else{
295
             // console.log("chuff")
297
             // console.log("chuff")
597
 
599
 
598
         const  decStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
600
         const  decStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
599
         const decEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
601
         const decEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
602
+        for(let i=0;i<this.normdata.length;i++){
603
+            if(this.normdata[i].inspection_minor == this.mode_type){
604
+               this.range_type = this.normdata[i].range_type
605
+            }
606
+        }
600
 
607
 
601
         for(let i=0;i<this.normdata.length;i++){
608
         for(let i=0;i<this.normdata.length;i++){
602
           if(this.normdata[i].inspection_minor == this.mode_type){
609
           if(this.normdata[i].inspection_minor == this.mode_type){
634
           decEnd:decEnd,
641
           decEnd:decEnd,
635
           range_type:this.range_type,
642
           range_type:this.range_type,
636
         }
643
         }
637
-
644
+       console.log("222222",params)
638
        getMonthProjectList(params).then(response=>{
645
        getMonthProjectList(params).then(response=>{
639
         if(response.data.state === 1){
646
         if(response.data.state === 1){
640
             var monthlist = response.data.data.monthlist
647
             var monthlist = response.data.data.monthlist
1089
             decEnd:decEnd,
1096
             decEnd:decEnd,
1090
             bloodType:this.bloodType
1097
             bloodType:this.bloodType
1091
          }
1098
          }
1092
-        //  console.log("params",params)
1099
+       console.log("params",params)
1093
       getMonthBloodList(params).then(response=>{
1100
       getMonthBloodList(params).then(response=>{
1094
         if(response.data.state == 1){
1101
         if(response.data.state == 1){
1095
           if(this.bloodType == -1){
1102
           if(this.bloodType == -1){

+ 2 - 1
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue 파일 보기

429
               this.recordInfo.recordData[this.currentIndex].drug_id = val.selectedGoodInfo[i].id
429
               this.recordInfo.recordData[this.currentIndex].drug_id = val.selectedGoodInfo[i].id
430
               this.recordInfo.recordData[this.currentIndex].price = val.selectedGoodInfo[i].last_price.toString()
430
               this.recordInfo.recordData[this.currentIndex].price = val.selectedGoodInfo[i].last_price.toString()
431
               this.recordInfo.recordData[this.currentIndex].retail_price = val.selectedGoodInfo[i].retail_price.toString()
431
               this.recordInfo.recordData[this.currentIndex].retail_price = val.selectedGoodInfo[i].retail_price.toString()
432
-              this.recordInfo.recordData[this.currentIndex].min_unit = val.selectedGoodInfo[i].min_unit
432
+              // this.recordInfo.recordData[this.currentIndex].min_unit = val.selectedGoodInfo[i].min_unit
433
             } else {
433
             } else {
434
               const tempForm = {}
434
               const tempForm = {}
435
               tempForm["id"] = 0;
435
               tempForm["id"] = 0;
469
           } else {
469
           } else {
470
             this.manufacturer = response.data.data.manufacturer;
470
             this.manufacturer = response.data.data.manufacturer;
471
             this.dealer = response.data.data.dealer;
471
             this.dealer = response.data.data.dealer;
472
+            console.log("2222333333",response.data.data.drugs)
472
             for(let i = 0; i<  response.data.data.drugs.length;i++){
473
             for(let i = 0; i<  response.data.data.drugs.length;i++){
473
               this.goodType.push(response.data.data.drugs[i])
474
               this.goodType.push(response.data.data.drugs[i])
474
               if(response.data.data.drugs[i].drug_specs != null) {
475
               if(response.data.data.drugs[i].drug_specs != null) {

+ 3 - 0
src/xt_pages/stock/stockInOrder.vue 파일 보기

586
       "-" +
586
       "-" +
587
       (nowDay < 10 ? "0" + nowDay : nowDay);
587
       (nowDay < 10 ? "0" + nowDay : nowDay);
588
     nowDate.setMonth(nowDate.getMonth() - 1);
588
     nowDate.setMonth(nowDate.getMonth() - 1);
589
+    nowYear = nowDate.getFullYear();
589
     nowMonth = nowDate.getMonth() + 1;
590
     nowMonth = nowDate.getMonth() + 1;
590
     nowDay = nowDate.getDate();
591
     nowDay = nowDate.getDate();
591
     this.start_time =
592
     this.start_time =
595
       "-" +
596
       "-" +
596
       (nowDay < 10 ? "0" + nowDay : nowDay);
597
       (nowDay < 10 ? "0" + nowDay : nowDay);
597
      
598
      
599
+
600
+
598
      
601
      
599
 
602
 
600
       // this.warehousing_time =
603
       // this.warehousing_time =

+ 1 - 0
src/xt_pages/user/dialysisSolution.vue 파일 보기

1260
       this.fetchPatientDialysisSolutions()
1260
       this.fetchPatientDialysisSolutions()
1261
     },
1261
     },
1262
     openEdit(index, row) {
1262
     openEdit(index, row) {
1263
+     
1263
       this.current_index = index
1264
       this.current_index = index
1264
 
1265
 
1265
       this.addPlan.id = row.id
1266
       this.addPlan.id = row.id

+ 2 - 2
src/xt_pages/user/patients.vue 파일 보기

679
         ],
679
         ],
680
         sourceType: 0,
680
         sourceType: 0,
681
         sourceID: 0,
681
         sourceID: 0,
682
-        lapsetoType: 0,
682
+        lapsetoType: 1,
683
         sourceArr: [
683
         sourceArr: [
684
           { value: 0, label: '全部', source: 0, lapseto: 0 },
684
           { value: 0, label: '全部', source: 0, lapseto: 0 },
685
           // { value: 1, label: "转出", source: 0, lapseto: 2 },
685
           // { value: 1, label: "转出", source: 0, lapseto: 2 },
728
           limit: 10,
728
           limit: 10,
729
           schedul_type: 0,
729
           schedul_type: 0,
730
           binding_state: 0,
730
           binding_state: 0,
731
-          lapseto: 0,
731
+          lapseto: 1,
732
           source: 0,
732
           source: 0,
733
           start_time: '',
733
           start_time: '',
734
           end_time: '',
734
           end_time: '',

+ 8 - 6
src/xt_pages/workforce/appointment.vue 파일 보기

234
       getWeekPanels() {
234
       getWeekPanels() {
235
         // this.scheduleZoneRow = []
235
         // this.scheduleZoneRow = []
236
         // this.scheduleZone = []
236
         // this.scheduleZone = []
237
-        getWeekPanels(1).then(response => {
237
+        getWeekPanels(1,this.partition_id).then(response => {
238
           if (response.data.state == 0) {
238
           if (response.data.state == 0) {
239
             return false
239
             return false
240
           }
240
           }
241
           var partitions = response.data.data.partitions
241
           var partitions = response.data.data.partitions
242
+          console.log("分区",partitions)
242
           this.theWeek.lastWeek = this.theWeek.thisWeek - 1
243
           this.theWeek.lastWeek = this.theWeek.thisWeek - 1
243
           this.theWeek.thisWeek = response.data.data.theWeek
244
           this.theWeek.thisWeek = response.data.data.theWeek
244
           this.theWeek.nextWeek = this.theWeek.thisWeek + 1
245
           this.theWeek.nextWeek = this.theWeek.thisWeek + 1
414
                   total: 0
415
                   total: 0
415
                 }
416
                 }
416
                 that.scheduleZone.push(thisPa)
417
                 that.scheduleZone.push(thisPa)
418
+                
417
               })
419
               })
418
             })
420
             })
419
           }
421
           }
2052
                 }
2054
                 }
2053
                 i++
2055
                 i++
2054
               }
2056
               }
2055
-              console.log("list2021444444x",list)  
2056
-              for(let i=0;i<list.length;i++){
2057
-                console.log("list9999999999",list[i])
2058
-              }
2057
+             
2058
+             
2059
                const start_time = moment().weekday(1).format('YYYY-MM-DD'); //本周一
2059
                const start_time = moment().weekday(1).format('YYYY-MM-DD'); //本周一
2060
                var start = this.getTimestamp(start_time)
2060
                var start = this.getTimestamp(start_time)
2061
                console.log("start",start)
2061
                console.log("start",start)
2100
             if(this.export_type == 1){
2100
             if(this.export_type == 1){
2101
                 week = scheduleList
2101
                 week = scheduleList
2102
              }
2102
              }
2103
-             console.log("week88888888888",week)
2103
+           
2104
              if(week.length > 0){
2104
              if(week.length > 0){
2105
               for(let i=0;i<list.length;i++){
2105
               for(let i=0;i<list.length;i++){
2106
                for(let j=0;j<week.length;j++){
2106
                for(let j=0;j<week.length;j++){
2414
        changePartition(val){
2414
        changePartition(val){
2415
          this.partition_id = val
2415
          this.partition_id = val
2416
          this.getThreeWeekList()
2416
          this.getThreeWeekList()
2417
+         this.getWeekPanels()
2417
        },
2418
        },
2418
 
2419
 
2419
        changeSchedule(val){
2420
        changeSchedule(val){
2420
          this.schedule_type = val
2421
          this.schedule_type = val
2421
          this.getThreeWeekList()
2422
          this.getThreeWeekList()
2423
+         this.getWeekPanels()
2422
        },
2424
        },
2423
 
2425
 
2424
        changeWeek(val){
2426
        changeWeek(val){

+ 23 - 7
src/xt_pages/workforce/components/tableData.vue 파일 보기

760
       ],
760
       ],
761
       partition_id:"",
761
       partition_id:"",
762
       schedule_type:"",
762
       schedule_type:"",
763
-      zones:[{id:0,name:"全部"}]
763
+      zones:[{id:0,name:"全部"}],
764
+      theType:""
764
     };
765
     };
765
   },
766
   },
766
 
767
 
768
     weekTime: function() {
769
     weekTime: function() {
769
       var theType = this.weekType(this.weekTime);
770
       var theType = this.weekType(this.weekTime);
770
       console.log("999999999",theType)
771
       console.log("999999999",theType)
771
-      this.getSchedules(theType);
772
+      this.theType = theType
773
+      this.getSchedules();
772
     },
774
     },
773
     scheduleZoneRow: function() {
775
     scheduleZoneRow: function() {
774
       var theType = this.weekType(this.weekTime);
776
       var theType = this.weekType(this.weekTime);
775
-      this.getSchedules(theType);
777
+      this.theType = theType
778
+      this.getSchedules();
776
     },
779
     },
777
     tableHeight(val) {
780
     tableHeight(val) {
778
       if (!this.timer) {
781
       if (!this.timer) {
901
       this.$refs.singleTable.setCurrentRow(row);
904
       this.$refs.singleTable.setCurrentRow(row);
902
       this.currentData.patient_id = 0;
905
       this.currentData.patient_id = 0;
903
     },
906
     },
904
-    getSchedules(weekType) {
905
-      
906
-      getSchedules(weekType).then(response => {
907
+    getSchedules() {
908
+        const params = {
909
+          weekTime:this.theType,
910
+          partition_id:this.partition_id,
911
+          schedule_type:this.schedule_type,
912
+        }
913
+      getSchedules(params).then(response => {
907
         if (response.data.state == 1) {
914
         if (response.data.state == 1) {
908
           this.weekTitle = response.data.data.weekTitle;
915
           this.weekTitle = response.data.data.weekTitle;
909
           this.weekDays = response.data.data.days;
916
           this.weekDays = response.data.data.days;
910
           this.toDay = response.data.data.today;
917
           this.toDay = response.data.data.today;
911
           var theSchedules = response.data.data.schdules;
918
           var theSchedules = response.data.data.schdules;
919
+          
920
+          console.log("中国4444444444444",this.scheduleZone)
921
+        
912
           var that = this;
922
           var that = this;
913
           this.scheduleZone.forEach(function(zone, index) {
923
           this.scheduleZone.forEach(function(zone, index) {
924
+           
914
             that.scheduleZone[index].Mon_M = {
925
             that.scheduleZone[index].Mon_M = {
915
               mode_id: 0,
926
               mode_id: 0,
916
               mode_name: "",
927
               mode_name: "",
1041
 
1052
 
1042
             if (response.data.data.schdules.length > 0) {
1053
             if (response.data.data.schdules.length > 0) {
1043
               theSchedules.forEach(function(schedule, sindex) {
1054
               theSchedules.forEach(function(schedule, sindex) {
1055
+
1044
                 if (zone.jihao_id == schedule.bed_id) {
1056
                 if (zone.jihao_id == schedule.bed_id) {
1045
                   // if(zone.zone_id == schedule.partition_id && zone.jihao_id == schedule.bed_id) {
1057
                   // if(zone.zone_id == schedule.partition_id && zone.jihao_id == schedule.bed_id) {
1046
                   var weekPath = that.weekPath(
1058
                   var weekPath = that.weekPath(
1272
 
1284
 
1273
       this.currentData.type_name = this.dayType(week[1]);
1285
       this.currentData.type_name = this.dayType(week[1]);
1274
       this.currentData.zone_name = row.area;
1286
       this.currentData.zone_name = row.area;
1287
+      
1275
       this.currentData.bed_name = row.cut;
1288
       this.currentData.bed_name = row.cut;
1276
       this.currentData.partition_type = row.zone_type;
1289
       this.currentData.partition_type = row.zone_type;
1277
 
1290
 
1993
     changePartiton(val){
2006
     changePartiton(val){
1994
      this.$emit('event1', val)
2007
      this.$emit('event1', val)
1995
       this.partition_id = val
2008
       this.partition_id = val
2009
+      this.getSchedules()
1996
     },
2010
     },
1997
     changeSchedule_type(val){
2011
     changeSchedule_type(val){
1998
      this.$emit('event2', val)
2012
      this.$emit('event2', val)
1999
      this.schedule_type = val
2013
      this.schedule_type = val
2014
+     this.getSchedules()
2000
     }
2015
     }
2001
   },
2016
   },
2002
   components: {
2017
   components: {
2041
         }
2056
         }
2042
       });
2057
       });
2043
     }
2058
     }
2059
+  
2044
     this.scheduleZoneRow = this.scheduleZoneRowProp;
2060
     this.scheduleZoneRow = this.scheduleZoneRowProp;
2045
     
2061
     
2046
 
2062
 
2048
     if (this.weekday == 0) {
2064
     if (this.weekday == 0) {
2049
       this.weekday = 7;
2065
       this.weekday = 7;
2050
     }
2066
     }
2051
-  //  this.getAllZones()
2067
+    this.getAllZones()
2052
   }
2068
   }
2053
 };
2069
 };
2054
 </script>
2070
 </script>