|
@@ -3,7 +3,7 @@
|
3
|
3
|
<div class="position">
|
4
|
4
|
<bread-crumb :crumbs="crumbs"></bread-crumb>
|
5
|
5
|
<div style="display:flex;align-items:center">
|
6
|
|
- <el-button type="primary" icon="el-icon-printer">打印</el-button>
|
|
6
|
+ <el-button type="primary" icon="el-icon-printer" @click='toPrint'>打印</el-button>
|
7
|
7
|
</div>
|
8
|
8
|
</div>
|
9
|
9
|
<div class="app-container">
|
|
@@ -255,7 +255,9 @@ export default {
|
255
|
255
|
start_time:0,
|
256
|
256
|
end_time:0,
|
257
|
257
|
|
258
|
|
- doctorlist:[]
|
|
258
|
+ doctorlist:[],
|
|
259
|
+ doctorArr:[],
|
|
260
|
+ nurseArr:[]
|
259
|
261
|
|
260
|
262
|
}
|
261
|
263
|
},
|
|
@@ -281,16 +283,20 @@ export default {
|
281
|
283
|
},
|
282
|
284
|
methods:{
|
283
|
285
|
getDoctorList(){
|
284
|
|
- getDoctorList().then(response=>{
|
|
286
|
+ getDoctorList().then(response=>{
|
285
|
287
|
if(response.data.state == 1){
|
286
|
|
- var list = response.data.data.list
|
287
|
|
- var doctorlist = response.data.data.doctorlist
|
288
|
|
- var nurselist = response.data.data.nurselist
|
289
|
|
- this.doctorlist.push(...nurselist)
|
290
|
|
- this.doctorlist.push(...doctorlist)
|
291
|
|
-
|
292
|
|
- console.log("医护列表",this.doctorlist)
|
293
|
|
- }
|
|
288
|
+ var list = response.data.data.list
|
|
289
|
+ var doctorlist = response.data.data.doctorlist
|
|
290
|
+ var nurselist = response.data.data.nurselist
|
|
291
|
+ this.doctorArr = doctorlist
|
|
292
|
+ this.nurseArr = nurselist
|
|
293
|
+
|
|
294
|
+ this.doctorlist.push(...nurselist)
|
|
295
|
+ this.doctorlist.push(...doctorlist)
|
|
296
|
+
|
|
297
|
+ console.log("医护列表",this.doctorlist)
|
|
298
|
+ }
|
|
299
|
+
|
294
|
300
|
})
|
295
|
301
|
},
|
296
|
302
|
//搜索
|
|
@@ -305,14 +311,73 @@ export default {
|
305
|
311
|
console.log("params",params)
|
306
|
312
|
toSearchTotal(params).then(response=>{
|
307
|
313
|
if(response.data.state == 1){
|
308
|
|
- var scheduleTotal = response.data.data.scheduletotal
|
309
|
|
- console.log("scheduletotal",scheduleTotal)
|
|
314
|
+ var scheudleTotal = response.data.data.scheduletotal
|
|
315
|
+ console.log("scheduletotal",scheudleTotal)
|
310
|
316
|
var list = response.data.data.list
|
311
|
317
|
console.log("list",list)
|
312
|
318
|
var workday = response.data.data.workDay
|
313
|
319
|
console.log("workday",workday)
|
314
|
320
|
var noWorkDay = response.data.data.noWorkDay
|
315
|
321
|
console.log("noworkday",noWorkDay)
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+ let tempArr = [], newArr = []
|
|
325
|
+ for (let i = 0; i < scheudleTotal.length; i++) {
|
|
326
|
+ if (tempArr.indexOf(scheudleTotal[i].user_name) === -1) {
|
|
327
|
+ newArr.push({
|
|
328
|
+ user_name: scheudleTotal[i].user_name,
|
|
329
|
+ doctor_id:scheudleTotal[i].doctor_id,
|
|
330
|
+ list: [{class_name:scheudleTotal[i].class_name,doctor_id:scheudleTotal[i].doctor_id,Count:scheudleTotal[i].Count}]
|
|
331
|
+ })
|
|
332
|
+ tempArr.push(scheudleTotal[i].user_name);
|
|
333
|
+ } else {
|
|
334
|
+ for (let j = 0; j < newArr.length; j++) {
|
|
335
|
+ if (newArr[j].user_name == scheudleTotal[i].user_name) {
|
|
336
|
+ newArr[j].list.push({class_name:scheudleTotal[i].class_name,doctor_id:scheudleTotal[i].doctor_id,Count:scheudleTotal[i].Count})
|
|
337
|
+ }
|
|
338
|
+ }
|
|
339
|
+ }
|
|
340
|
+ }
|
|
341
|
+
|
|
342
|
+ newArr.map(item => {
|
|
343
|
+ list.map(it => {
|
|
344
|
+ if(item.doctor_id == it.doctor_id){
|
|
345
|
+ item.totalminute = it.totalminute
|
|
346
|
+ }
|
|
347
|
+ })
|
|
348
|
+ })
|
|
349
|
+ newArr.map(item => {
|
|
350
|
+ workday.map(it => {
|
|
351
|
+ if(item.doctor_id == it.doctor_id){
|
|
352
|
+ item.attendance = it.Count
|
|
353
|
+ }
|
|
354
|
+ })
|
|
355
|
+ })
|
|
356
|
+ newArr.map(item => {
|
|
357
|
+ noWorkDay.map(it => {
|
|
358
|
+ if(item.doctor_id == it.doctor_id){
|
|
359
|
+ item.absence = it.Count
|
|
360
|
+ }
|
|
361
|
+ })
|
|
362
|
+ })
|
|
363
|
+
|
|
364
|
+ let arr = [...newArr]
|
|
365
|
+
|
|
366
|
+ if(this.keywords != ''){
|
|
367
|
+ this.tableData = arr
|
|
368
|
+ }else {
|
|
369
|
+ arr.sort(this.compare('doctor_id'))
|
|
370
|
+ this.doctorlist.sort(this.compare('admin_user_id'))
|
|
371
|
+ this.doctorlist.forEach((item, index) => {
|
|
372
|
+ if (arr[index] && item.admin_user_id == arr[index].doctor_id) {
|
|
373
|
+
|
|
374
|
+ }else{
|
|
375
|
+ arr.splice(index, 0, {user_name: item.user_name, doctor_id: item.admin_user_id, list: []})
|
|
376
|
+ }
|
|
377
|
+ })
|
|
378
|
+ console.log('newArr',arr)
|
|
379
|
+ this.tableData = arr
|
|
380
|
+ }
|
316
|
381
|
}
|
317
|
382
|
})
|
318
|
383
|
},
|
|
@@ -516,14 +581,101 @@ export default {
|
516
|
581
|
console.log("params",params)
|
517
|
582
|
changeOption(params).then(response=>{
|
518
|
583
|
if(response.data.state == 1){
|
519
|
|
- var scheduletotal = response.data.data.scheduletotal
|
520
|
|
- console.log("scheduletotal",scheduletotal)
|
|
584
|
+ var scheudleTotal = response.data.data.scheduletotal
|
|
585
|
+ console.log("scheduletotal",scheudleTotal)
|
521
|
586
|
var list = response.data.data.list
|
522
|
587
|
console.log("list",list)
|
523
|
588
|
var workday = response.data.data.workday
|
524
|
589
|
console.log("workday",workday)
|
525
|
|
- var worknoday = response.data.data.workday
|
526
|
|
- console.log("worknoday",worknoday)
|
|
590
|
+ var noWorkDay = response.data.data.workday
|
|
591
|
+ console.log("worknoday",noWorkDay)
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+ let tempArr = [], newArr = []
|
|
595
|
+ for (let i = 0; i < scheudleTotal.length; i++) {
|
|
596
|
+ if (tempArr.indexOf(scheudleTotal[i].user_name) === -1) {
|
|
597
|
+ newArr.push({
|
|
598
|
+ user_name: scheudleTotal[i].user_name,
|
|
599
|
+ doctor_id:scheudleTotal[i].doctor_id,
|
|
600
|
+ list: [{class_name:scheudleTotal[i].class_name,doctor_id:scheudleTotal[i].doctor_id,Count:scheudleTotal[i].Count}]
|
|
601
|
+ })
|
|
602
|
+ tempArr.push(scheudleTotal[i].user_name);
|
|
603
|
+ } else {
|
|
604
|
+ for (let j = 0; j < newArr.length; j++) {
|
|
605
|
+ if (newArr[j].user_name == scheudleTotal[i].user_name) {
|
|
606
|
+ newArr[j].list.push({class_name:scheudleTotal[i].class_name,doctor_id:scheudleTotal[i].doctor_id,Count:scheudleTotal[i].Count})
|
|
607
|
+ }
|
|
608
|
+ }
|
|
609
|
+ }
|
|
610
|
+ }
|
|
611
|
+
|
|
612
|
+ newArr.map(item => {
|
|
613
|
+ list.map(it => {
|
|
614
|
+ if(item.doctor_id == it.doctor_id){
|
|
615
|
+ item.totalminute = it.totalminute
|
|
616
|
+ }
|
|
617
|
+ })
|
|
618
|
+ })
|
|
619
|
+ newArr.map(item => {
|
|
620
|
+ workday.map(it => {
|
|
621
|
+ if(item.doctor_id == it.doctor_id){
|
|
622
|
+ item.attendance = it.Count
|
|
623
|
+ }
|
|
624
|
+ })
|
|
625
|
+ })
|
|
626
|
+ newArr.map(item => {
|
|
627
|
+ noWorkDay.map(it => {
|
|
628
|
+ if(item.doctor_id == it.doctor_id){
|
|
629
|
+ item.absence = it.Count
|
|
630
|
+ }
|
|
631
|
+ })
|
|
632
|
+ })
|
|
633
|
+
|
|
634
|
+ let arr = [...newArr]
|
|
635
|
+ if(val == 0){
|
|
636
|
+ arr.sort(this.compare('doctor_id'))
|
|
637
|
+ this.doctorlist.sort(this.compare('admin_user_id'))
|
|
638
|
+ this.doctorlist.forEach((item, index) => {
|
|
639
|
+ if (arr[index] && item.admin_user_id == arr[index].doctor_id) {
|
|
640
|
+
|
|
641
|
+ }else{
|
|
642
|
+ arr.splice(index, 0, {user_name: item.user_name, doctor_id: item.admin_user_id, list: []})
|
|
643
|
+ }
|
|
644
|
+ })
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+ console.log('newArr',arr)
|
|
648
|
+ this.tableData = arr
|
|
649
|
+ }else if(val == 2){
|
|
650
|
+ arr.sort(this.compare('doctor_id'))
|
|
651
|
+ this.doctorArr.sort(this.compare('admin_user_id'))
|
|
652
|
+ this.doctorArr.forEach((item, index) => {
|
|
653
|
+ if (arr[index] && item.admin_user_id == arr[index].doctor_id) {
|
|
654
|
+
|
|
655
|
+ }else{
|
|
656
|
+ arr.splice(index, 0, {user_name: item.user_name, doctor_id: item.admin_user_id, list: []})
|
|
657
|
+ }
|
|
658
|
+ })
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+ console.log('newArr',arr)
|
|
662
|
+ this.tableData = arr
|
|
663
|
+ }else if(val == 3){
|
|
664
|
+ arr.sort(this.compare('doctor_id'))
|
|
665
|
+ this.nurseArr.sort(this.compare('admin_user_id'))
|
|
666
|
+ this.nurseArr.forEach((item, index) => {
|
|
667
|
+ if (arr[index] && item.admin_user_id == arr[index].doctor_id) {
|
|
668
|
+
|
|
669
|
+ }else{
|
|
670
|
+ arr.splice(index, 0, {user_name: item.user_name, doctor_id: item.admin_user_id, list: []})
|
|
671
|
+ }
|
|
672
|
+ })
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+ console.log('newArr',arr)
|
|
676
|
+ this.tableData = arr
|
|
677
|
+ }
|
|
678
|
+
|
527
|
679
|
}
|
528
|
680
|
})
|
529
|
681
|
},
|
|
@@ -559,6 +711,12 @@ export default {
|
559
|
711
|
})
|
560
|
712
|
return Count
|
561
|
713
|
}
|
|
714
|
+ },
|
|
715
|
+ toPrint(){
|
|
716
|
+ this.$router.push({
|
|
717
|
+ path: '/medicalScheduling/statistics/print',
|
|
718
|
+ // query: { date: date }
|
|
719
|
+ })
|
562
|
720
|
}
|
563
|
721
|
}
|
564
|
722
|
}
|