csx 4 years ago
parent
commit
ac585b9564

+ 39 - 0
src/api/his/his.js View File

@@ -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 View File

@@ -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
+}

+ 208 - 0
src/xt_pages/outpatientCharges/components/chargeMonthPrescriptionTable.vue View File

@@ -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 View File

@@ -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 View File

@@ -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 View File

@@ -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>

File diff suppressed because it is too large
+ 1043 - 222
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue


+ 3 - 3
src/xt_pages/outpatientCharges/statementTemplate/printOne.vue View File

@@ -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 View File

@@ -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 View File

@@ -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="选择日期时间"

File diff suppressed because it is too large
+ 970 - 212
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue


File diff suppressed because it is too large
+ 534 - 308
src/xt_pages/outpatientDoctorStation/doctorDesk.vue


+ 253 - 103
src/xt_pages/outpatientRegistration/index.vue View File

@@ -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
       //获取今日排班的患者