浏览代码

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

+ 39 - 0
src/api/his/his.js 查看文件

@@ -279,9 +279,48 @@ export function getCallHisPrescription (params) {
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,516 +3,524 @@ import url from "postcss-url";
3 3
 
4 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 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 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 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 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 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 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 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 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 86
 export function DeleteProjectTeam(id,params){
87
-   
87
+
88 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 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 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 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 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 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 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 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 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 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 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 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 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 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 212
 export function addProjectTeam(params){
213
-   
213
+
214 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 221
 export function getAllDoctorList(params){
222
-   
222
+
223 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 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 239
 export function getAllProjectTeam(params){
240
-  
240
+
241 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 248
 export function getPojectListById(params){
249
-  
249
+
250 250
   return request({
251 251
     url:"/api/his/getprojectlistbyid",
252 252
     methods:"get",
253
-    params:params 
253
+    params:params
254 254
   })
255 255
 }
256 256
 
257 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 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,16 +1,18 @@
1 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 5
   return request({
5
-    url: '/api/schedule/weekpanel?data=' + t,
6
+    url: '/api/schedule/weekpanel?data=' + t+"&patitionid="+patitionId,
6 7
     method: 'get'
7 8
   })
8 9
 }
9 10
 
10
-export function getSchedules(week) {
11
+export function getSchedules(params) {
11 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,7 +1796,32 @@ const global_config = {
1796 1796
     {
1797 1797
       id: 21,
1798 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 1826
     body_fluid: [{
1802 1827
       id: 1,

+ 1 - 5
src/utils/tools.js 查看文件

@@ -153,11 +153,7 @@ export function uParseTime(time, cFormat) {
153 153
 }
154 154
 
155 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 157
   var t = 0.5
162 158
   if (type == 1) {
163 159
     t = 0.5

+ 1 - 1
src/xt_pages/dialysis/components/allSummary.vue 查看文件

@@ -438,7 +438,7 @@ export default {
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,34 +36,273 @@
36 36
           </ul>
37 37
           </div>
38 38
         </div>
39
+
40
+        
39 41
         <div>
40 42
             <!-- <el-button size="small" icon="el-icon-printer" type="primary">打印</el-button> -->
41 43
             <el-button size="small" type="primary" @click="statistics">统计表</el-button>
42 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 62
       </div>
44 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 306
       </div>
68 307
 
69 308
       <dialysis-drugs-dialog ref="dialysisDrugs"></dialysis-drugs-dialog>
@@ -72,7 +311,9 @@
72 311
 
73 312
 
74 313
 <script>
314
+const moment = require('moment')
75 315
 import { GetAllZone } from "@/api/dialysis";
316
+import { getSchedualDoctors } from '@/api/advice'
76 317
 import dialysisDrugsDialog from './dialysisDrugsDialog'
77 318
 export default {
78 319
     components:{
@@ -90,19 +331,34 @@ export default {
90 331
             selected_date:new Date(),
91 332
             partitionArr:[],
92 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 346
     created(){
97 347
         this.getAllZone()
98
-        
348
+        this.getlist()
99 349
     },
100 350
     methods:{
101 351
         selectSchedulType(scheduleType) {
102
-            this.schedulType = scheduleType;
352
+           this.schedulType = scheduleType;
353
+           this.getlist()
103 354
         },
104 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 363
         getAllZone: function() {
108 364
             GetAllZone().then(response => {
@@ -112,13 +368,298 @@ export default {
112 368
                 } else {
113 369
                 this.partitionArr = response.data.data.zone;
114 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 378
         statistics(){
119 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 664
 </script>
124 665
 

+ 61 - 46
src/xt_pages/dialysis/components/dialysisDrugsDialog.vue 查看文件

@@ -10,65 +10,61 @@
10 10
         style="width:140px;margin-right:10px"
11 11
         v-model="startTime"
12 12
         type="date"
13
-        placeholder="选择日期">
13
+        placeholder="选择日期"
14
+        @change="changeStartTime">
14 15
         </el-date-picker>
15 16
         <el-date-picker
16 17
         style="width:140px;margin-right:10px"
17 18
         v-model="endTime"
18 19
         type="date"
19
-        placeholder="选择日期">
20
+        placeholder="选择日期"
21
+        @change="changeEndTime">
20 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 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 26
             :key="item.id"
33 27
             :label="item.name"
34 28
             :value="item.id">
35 29
             </el-option>
36 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 33
     </div>
40 34
     <div style="margin-top:10px;">
41 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 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 50
             </el-table-column>
53 51
         </el-table>
54 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 53
   </el-dialog>
60 54
 </template>
61 55
 
62 56
 
63 57
 
64 58
 <script>
59
+const moment = require('moment')
65 60
 import { GetAllZone } from "@/api/dialysis";
61
+import { getDoctorAdviceCount } from "@/api/advice"
66 62
 export default {
67 63
     data(){
68 64
         return{
69 65
             visible: false,
70
-            startTime:'',
71
-            endTime:'',
66
+            startTime:new Date(),
67
+            endTime:new Date(),
72 68
             schedulArr: [
73 69
                 {value: 0, label: '全部班'},
74 70
                 {value: 1, label: '上午'},
@@ -78,27 +74,14 @@ export default {
78 74
             schedulType: 0,
79 75
             partitionArr:[],
80 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 82
     created(){
101 83
         this.getAllZone()
84
+        this.getlist()
102 85
     },
103 86
     methods:{
104 87
         _close: function(done) {
@@ -115,6 +98,10 @@ export default {
115 98
                 } else {
116 99
                 this.partitionArr = response.data.data.zone;
117 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,7 +110,35 @@ export default {
123 110
                 path: '/dialysis/dialysisDrugs_print',
124 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 144
 </script>

+ 2 - 2
src/xt_pages/dialysis/consumableDrugs.vue 查看文件

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

+ 9 - 9
src/xt_pages/dialysis/details/DialysisPrescription.vue 查看文件

@@ -161,15 +161,15 @@
161 161
           }}</span>
162 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 173
       </ul>
174 174
 
175 175
       <ul>

+ 23 - 0
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

@@ -1307,6 +1307,24 @@
1307 1307
         this.InnerDialogProps.visibility = true
1308 1308
         switch (val) {
1309 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 1328
             //  var arr = this.dialysisPrescription.dialyzer_perfusion_apparatus
1311 1329
             //  var newArr =  arr.split(",")
1312 1330
             // console.log("透析器/灌流器",newArr)
@@ -1327,6 +1345,9 @@
1327 1345
             this.InnerDialogProps.values = this.dialyzerPerfusionApparatus
1328 1346
             this.InnerDialogProps.titles = '透析器/灌流器'
1329 1347
             this.InnerDialogProps.type = 'dialyzer_perfusion_apparatus'
1348
+
1349
+
1350
+            this.InnerDialogProps.selected = this.dialysisPrescription.dialyzer_perfusion_apparatus
1330 1351
             this.InnerDialogProps.selected = this.dialysisPrescription.dialyzer_perfusion_apparatus
1331 1352
             this.InnerDialogProps.isShowTextArea = false
1332 1353
             break
@@ -3312,6 +3333,8 @@
3312 3333
         if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
3313 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,7 +964,10 @@ export default {
964 964
       }
965 965
 
966 966
       getTodayMonitor(params).then(rs => {
967
+        console.log("机构ID",this.org_id)
968
+        
967 969
         var resp = rs.data.data
970
+       
968 971
         this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
969 972
         this.form.temperature = '' // this.last_monitor_record.pulse_frequency;
970 973
 
@@ -973,11 +976,21 @@ export default {
973 976
         this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
974 977
         this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
975 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 986
         this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1
978 987
         this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : '' // this.last_monitor_record.arterial_pressure;
979 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 994
         this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1
982 995
         this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
983 996
         this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
@@ -1103,6 +1116,7 @@ export default {
1103 1116
     },
1104 1117
 
1105 1118
     submitAction: function() {
1119
+      
1106 1120
       // TODO loading
1107 1121
       var is_new = this.form.id
1108 1122
       this.form.operate_time = parseInt(this.form.operate_time / 1000)

+ 1 - 1
src/xt_pages/dialysis/dialysisDoctorAdvice.vue 查看文件

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

+ 4 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderThirtyFour.vue 查看文件

@@ -284,6 +284,7 @@
284 284
                         <td width="60" style="height:20px;line-height:20px">超滤量<br />ml</td>
285 285
                         <td width="60" style="height:20px;line-height:20px">透析液温度</td>
286 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 288
                         <td width="">病情变化及处理</td>
288 289
                         <td width="60" style="height:20px;line-height:20px">签名</td>
289 290
                     </tr>
@@ -303,6 +304,7 @@
303 304
                         <td>&nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}</td>
304 305
                         <td>&nbsp;{{monitor.dialysate_temperature ? monitor.dialysate_temperature : ''}}</td>
305 306
                         <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
307
+                        <td>&nbsp;{{ monitor.temperature ? monitor.temperature : "" }}</td>
306 308
                         <td style="text-align:left;padding-left:10px;">
307 309
                             <div style="line-height:20px;text-align: left;display: inline-block;">
308 310
                                 &nbsp;{{ monitor.symptom }}{{ monitor.dispose }}{{ monitor.result }}
@@ -422,10 +424,10 @@
422 424
         <div class="row" style="padding: 2px 0;line-height:30px; display:flex;">
423 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 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 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 431
             </div>
430 432
         </div>
431 433
       </div>

+ 5 - 5
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue 查看文件

@@ -597,7 +597,7 @@
597 597
                         <tr>
598 598
                             <td width='70'>抗凝方式</td>
599 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 601
                             </td>
602 602
                             <td width='100'>
603 603
                                 <div class="under-line">
@@ -608,14 +608,14 @@
608 608
                             <td width='40'>首剂</td>
609 609
                             <td width='50'>
610 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 612
                                 </div>
613 613
                             </td>
614 614
                             <td width='10'>IU</td>
615 615
                             <td width='40'>追加</td>
616 616
                             <td width='50'>
617 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 619
                                 </div>
620 620
                             </td>
621 621
                             <td width='20'>IU/h</td>
@@ -626,7 +626,7 @@
626 626
                             <td width='40'>其他</td>
627 627
                             <td width='100'>
628 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 630
                                         {{ prescription.anticoagulant_name }}
631 631
                                     </span>
632 632
                                 </div>
@@ -906,7 +906,7 @@
906 906
             <td>
907 907
               &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
908 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 910
             <td>&nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}</td>
911 911
             <td>&nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
912 912
 

+ 62 - 12
src/xt_pages/medicalScheduling/index.vue 查看文件

@@ -7,7 +7,7 @@
7 7
                 <el-button type="primary" @click="DeleteStaffSchedule">清除</el-button>
8 8
                 <el-button type="primary" @click="copyStaffSchedule">复制</el-button>
9 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 11
             </div>
12 12
         </div>
13 13
         <div class="app-container">
@@ -319,19 +319,26 @@
319 319
         </div>
320 320
 
321 321
 
322
-        <el-dialog
322
+        <!-- <el-dialog
323 323
             title="导出排班"
324 324
             :visible.sync="exportDialogVisible"
325
-            width="30%"
326
-            :before-close="handleClose">
325
+            width="30%">
327 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 336
             </span>
330 337
             <span slot="footer" class="dialog-footer">
331 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 340
             </span>
334
-        </el-dialog>    
341
+        </el-dialog>     -->
335 342
     </div>
336 343
 </template>
337 344
 
@@ -402,7 +409,8 @@ export default {
402 409
            radio:'1',
403 410
            nurseTableData:[],
404 411
            doctorTableData:[],
405
-           exportDialogVisible:false
412
+           exportDialogVisible:false,
413
+           month_time:""
406 414
         }
407 415
     },
408 416
     methods:{
@@ -944,9 +952,10 @@ export default {
944 952
                     data.push(...newNurse)
945 953
                     data.push(...newDoctor)
946 954
                     data.push(obj)
955
+                    
947 956
                     this.tableData = data
948 957
 
949
-
958
+                   console.log("表哥3333333333",this.tableData)
950 959
                 }
951 960
             })
952 961
         },
@@ -1911,7 +1920,48 @@ export default {
1911 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 1966
     created(){
1917 1967
         //获取医护人员
@@ -1949,8 +1999,8 @@ export default {
1949 1999
         }
1950 2000
       var now = moment().locale('zh-cn').format('YYYY-MM-DD 00:00:00')
1951 2001
       this.timeNow = this.getTimestamp(now)
1952
-
1953
-
2002
+     
2003
+   
1954 2004
     }
1955 2005
 }
1956 2006
 </script>

+ 208 - 0
src/xt_pages/outpatientCharges/components/chargeMonthPrescriptionTable.vue 查看文件

@@ -0,0 +1,208 @@
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 查看文件

@@ -0,0 +1,425 @@
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 查看文件

@@ -0,0 +1,297 @@
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,10 +1,25 @@
1 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 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 23
       </el-form-item>
9 24
 
10 25
       <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
@@ -16,6 +31,8 @@
16 31
             :value="item.value">
17 32
           </el-option>
18 33
         </el-select>
34
+
35
+
19 36
       </el-form-item>
20 37
 
21 38
       <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
@@ -24,7 +41,8 @@
24 41
 
25 42
 
26 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 46
       </el-form-item>
29 47
 
30 48
       <el-form-item label="手机号码:" prop="phone">
@@ -44,8 +62,8 @@
44 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 67
           <el-option
50 68
             v-for="item in certificates"
51 69
             :key="item.value"
@@ -55,10 +73,43 @@
55 73
         </el-select>
56 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 77
         <el-input v-model="form.id_card"></el-input>
60 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 114
       <el-form-item label="结算类型:">
64 115
         <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
@@ -82,14 +133,30 @@
82 133
           </el-option>
83 134
         </el-select>
84 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 150
       <el-form-item class="specialFormItem" label="医保卡号:">
86 151
         <div style="display:flex;">
87 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 155
         </div>
89 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 160
           <el-option
94 161
             v-for="item in register"
95 162
             :key="item.value"
@@ -107,49 +174,79 @@
107 174
     </el-form>
108 175
 
109 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 179
   </span>
113 180
   </el-dialog>
114 181
 
115 182
 </template>
116 183
 
117 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 191
   export default {
192
+
120 193
     name: 'registerDialog',
121 194
 
122 195
     data() {
123 196
 
124 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 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 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 250
         sex: [{
154 251
           value: 1,
155 252
           label: '男'
@@ -163,16 +260,16 @@
163 260
         }, {
164 261
           value: 2,
165 262
           label: "社保卡"
166
-        },{
263
+        }, {
167 264
           value: 3,
168 265
           label: "护照"
169
-        },{
266
+        }, {
170 267
           value: 4,
171 268
           label: "军官证"
172
-        },{
269
+        }, {
173 270
           value: 5,
174 271
           label: "台胞证"
175
-        },{
272
+        }, {
176 273
           value: 6,
177 274
           label: "港澳地区身份证"
178 275
         }],
@@ -182,16 +279,16 @@
182 279
         }, {
183 280
           value: 2,
184 281
           label: "公务员医疗补助"
185
-        },{
282
+        }, {
186 283
           value: 3,
187 284
           label: "大额医疗费用补助"
188
-        },{
285
+        }, {
189 286
           value: 4,
190 287
           label: "离休人员医疗"
191
-        },{
288
+        }, {
192 289
           value: 5,
193 290
           label: "城乡居民基本医疗保险"
194
-        },{
291
+        }, {
195 292
           value: 6,
196 293
           label: "城乡居民大病医疗保险"
197 294
         },
@@ -205,25 +302,32 @@
205 302
         }, {
206 303
           value: 2,
207 304
           label: "主治"
208
-        },{
305
+        }, {
209 306
           value: 3,
210 307
           label: "主任"
211
-        },{
308
+        }, {
212 309
           value: 4,
213 310
           label: "免收诊金"
214
-        },{
311
+        }, {
215 312
           value: 5,
216 313
           label: "专家"
217 314
         }],
218 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 333
         visibility: false,
@@ -232,22 +336,23 @@
232 336
 
233 337
         resetForm: {
234 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,34 +375,108 @@
270 375
         type: Number,
271 376
         default: 1
272 377
 
273
-      }
378
+      },
379
+      sick: Array,
380
+      diagnoses: Array,
274 381
     },
275 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 454
       getDictionaryDataConfig(module, filed_name) {
277 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 471
         this.visibility = true
293 472
 
294
-      }, hide: function() {
473
+      }, hide: function () {
295 474
         this.visibility = false
296
-      }, cancel: function(formName) {
475
+      }, cancel: function (formName) {
297 476
         this.$emit('cancel', this.getValue())
298 477
         this.$refs['formValue'].resetFields()
299 478
       },
300
-      confirm: function(formName) {
479
+      confirm: function (formName) {
301 480
         this.$refs['formValue'].validate((valid) => {
302 481
           if (valid) {
303 482
             let value = {}
@@ -307,7 +486,7 @@
307 486
           }
308 487
         })
309 488
       },
310
-      getValue: function() {
489
+      getValue: function () {
311 490
         let form = {}
312 491
         form = this.form
313 492
         return form
@@ -318,13 +497,16 @@
318 497
 </script>
319 498
 
320 499
 <style lang="scss" scoped>
321
-.registerDialog{
322
-  .el-form{
500
+  .registerDialog {
501
+
502
+  .el-form {
323 503
     display: flex;
324 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 512
 </style>

文件差异内容过多而无法显示
+ 1044 - 223
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue


+ 3 - 3
src/xt_pages/outpatientCharges/statementTemplate/printOne.vue 查看文件

@@ -186,9 +186,9 @@
186 186
             </tr>
187 187
             <tr>
188 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 192
                 <td style="text-align:right;padding-right:10px;"></td>
193 193
                 <td colspan="2" style="text-align:right;padding-right:10px;"></td>
194 194
                 <td style="text-align:right;padding-right:10px;"></td>

+ 2 - 2
src/xt_pages/outpatientCharges/summary.vue 查看文件

@@ -67,13 +67,13 @@
67 67
           <template slot-scope="scope">{{scope.row.reality_price}}</template>
68 68
         </el-table-column>
69 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 71
         </el-table-column>
72 72
         <el-table-column align="center" prop="name" label="收费日期">
73 73
           <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>
74 74
         </el-table-column>
75 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 77
         </el-table-column>
78 78
         <el-table-column align="center" prop="name" label="状态">
79 79
           <template slot-scope="scope">

+ 0 - 2
src/xt_pages/outpatientDoctorStation/components/callPrescription.vue 查看文件

@@ -14,7 +14,6 @@
14 14
       :editable="false"
15 15
       style="width: 150px;"
16 16
       type="date"
17
-      :picker-options="pickerOptions"
18 17
       placeholder="选择日期时间"
19 18
       align="right"
20 19
       format="yyyy-MM-dd"
@@ -26,7 +25,6 @@
26 25
       prefix-icon="el-icon-date"
27 26
       @change="changeEndTime"
28 27
       :editable="false"
29
-      :picker-options="pickerOptions"
30 28
       style="width: 150px;"
31 29
       type="date"
32 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,18 +7,37 @@
7 7
       <div class="nameTitle">患者基本信息:</div>
8 8
       <div class="formMain">
9 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 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 38
           </el-form-item>
21 39
 
40
+
22 41
           <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
23 42
             <el-select v-model="form.sex" placeholder="请选择">
24 43
               <el-option
@@ -45,25 +64,7 @@
45 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 68
             <el-select v-model="form.certificates" placeholder="请选择">
68 69
               <el-option
69 70
                 v-for="item in certificates"
@@ -109,7 +110,7 @@
109 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 114
             <el-select v-model="form.id_card_type" placeholder="请选择">
114 115
               <el-option
115 116
                 v-for="item in IDCardTypes"
@@ -142,6 +143,52 @@
142 143
               </el-option>
143 144
             </el-select>
144 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 192
           <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
146 193
             <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
147 194
               <el-option
@@ -189,11 +236,19 @@
189 236
 </template>
190 237
 
191 238
 <script>
239
+  import {PostSearch} from '@/api/patient'
192 240
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
193 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 249
   import {getDictionaryDataConfig} from '@/utils/data'
196 250
   import {uParseTime} from "@/utils/tools";
251
+  import {getInitData,} from '@/api/his/his'
197 252
   import axios from 'axios'
198 253
 
199 254
   const moment = require('moment')
@@ -203,16 +258,32 @@
203 258
     },
204 259
     data() {
205 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 273
         crumbs: [
207 274
           {path: false, name: '门诊挂号'},
208 275
           {path: false, name: '门诊挂号'}
209 276
         ],
210 277
         form: {
278
+          id: 0,
279
+          p_type: '',
280
+          sick_type: '',
281
+          diagnosis: '',
211 282
           settlementValue: '',
212 283
           medicalInsuranceCard: '',
213 284
           name: '',
214 285
           sex: '',
215
-          certificates: '',
286
+          certificates: 1,
216 287
           medicalCare: '',
217 288
           birthday: '',
218 289
           age: '',
@@ -227,7 +298,8 @@
227 298
           total: '',
228 299
           phone: '',
229 300
           social_type: '',
230
-          id_card_type: '',
301
+          id_card_type: 1,
302
+
231 303
         },
232 304
         settlement:
233 305
           [
@@ -332,7 +404,16 @@
332 404
           doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
333 405
           department: [{required: true, message: '请填写科室', trigger: 'blur'}],
334 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 418
         doctorList: [],
338 419
         departmentList: [],
@@ -351,6 +432,30 @@
351 432
       }
352 433
     },
353 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 459
       reading(medicalInsuranceCard) {
355 460
         var that = this
356 461
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
@@ -368,15 +473,26 @@
368 473
               that.$message.error(response.data.msg)
369 474
               return false
370 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 496
               that.$message({message: '读卡成功', type: 'success'})
381 497
             }
382 498
           })
@@ -510,21 +626,36 @@
510 626
           this.is_Name = true
511 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 635
         if (this.form.idCard == "") {
515 636
           this.$message.error("证件号码不能为空")
516 637
           this.is_Name = true
517 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 660
         this.$refs[formName].validate((valid) => {
530 661
           if (valid) {
@@ -539,38 +670,40 @@
539 670
             }
540 671
 
541 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 676
               name: this.form.name,
545 677
               sex: this.form.sex,
546 678
               id_card_type: this.form.id_card_type,
547 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 682
               age: parseInt(this.form.age),
551
-              idCard: this.form.idCard,
683
+              id_card: this.form.idCard,
552 684
               register: this.form.register,
553 685
               doctor: this.form.doctor,
554 686
               department: this.form.department,
555 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 690
               cost: this.form.cost,
559 691
               total: this.total,
560 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 698
             params['record_time'] = this.record_date,
566 699
               params['admin_user_id'] = this.$store.getters.xt_user.user.id
567 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 703
               var that = this
571 704
 
572 705
               axios.get('http://127.0.0.1:9532/api/register/get', {
573
-                params: forms
706
+                params: params
574 707
               })
575 708
                 .then(function (response) {
576 709
                   if (response.data.state == 0) {
@@ -591,59 +724,59 @@
591 724
 
592 725
                 });
593 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 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 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 778
           if (response.data.state == 1) {
646
-            var patient = response.data.data.patient
779
+            var patient = response.data.data.list
647 780
             console.log("今日排班", patient)
648 781
             this.patient = patient
649 782
           }
@@ -683,9 +816,26 @@
683 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 836
     created() {
837
+      this.getInitData()
838
+
689 839
       //获取当前机构有人员信息
690 840
       this.getAllDoctorList()
691 841
       //获取今日排班的患者

+ 10 - 3
src/xt_pages/qcd/officesControlAnalysis/project.vue 查看文件

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

+ 2 - 1
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue 查看文件

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

+ 3 - 0
src/xt_pages/stock/stockInOrder.vue 查看文件

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

+ 1 - 0
src/xt_pages/user/dialysisSolution.vue 查看文件

@@ -1260,6 +1260,7 @@ export default {
1260 1260
       this.fetchPatientDialysisSolutions()
1261 1261
     },
1262 1262
     openEdit(index, row) {
1263
+     
1263 1264
       this.current_index = index
1264 1265
 
1265 1266
       this.addPlan.id = row.id

+ 2 - 2
src/xt_pages/user/patients.vue 查看文件

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

+ 8 - 6
src/xt_pages/workforce/appointment.vue 查看文件

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

+ 23 - 7
src/xt_pages/workforce/components/tableData.vue 查看文件

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