Browse Source

医护管理

XMLWAN 4 years ago
parent
commit
ce3b582987

+ 211 - 17
src/xt_pages/medicalScheduling/index.vue View File

@@ -51,7 +51,7 @@
51 51
                                 <div @click="hangdleClick(scope.row,scope.$index,0)">
52 52
                                     <el-dropdown trigger="click" @command="changeSchedule">
53 53
                                         <span class="el-dropdown-link">
54
-                                        {{ getClass(scope.row.user_name,1) }}<i v-if="getTimestamp(weekDayArr[0])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
54
+                                        {{ getClass(scope.row.user_name,1) }}<i v-if="getTimestamp(weekDayArr[0])>=timeNow && scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
55 55
                                         </span>
56 56
                                         <el-dropdown-menu slot="dropdown" >
57 57
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[0])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -65,7 +65,7 @@
65 65
                                 <div @click="hangdleClick(scope.row,scope.$index,1)">
66 66
                                     <el-dropdown trigger="click" @command="changeSchedule">
67 67
                                         <span class="el-dropdown-link">
68
-                                        {{ getClass(scope.row.user_name,2) }}<i v-if="getTimestamp(weekDayArr[1])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
68
+                                        {{ getClass(scope.row.user_name,2) }}<i v-if="getTimestamp(weekDayArr[1])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
69 69
                                         </span>
70 70
                                         <el-dropdown-menu slot="dropdown" >
71 71
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[1])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -79,7 +79,7 @@
79 79
                                 <div @click="hangdleClick(scope.row,scope.$index,2)">
80 80
                                     <el-dropdown trigger="click" @command="changeSchedule">
81 81
                                         <span class="el-dropdown-link">
82
-                                        {{ getClass(scope.row.user_name,3) }}<i v-if="getTimestamp(weekDayArr[2])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
82
+                                        {{ getClass(scope.row.user_name,3) }}<i v-if="getTimestamp(weekDayArr[2])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
83 83
                                         </span>
84 84
                                         <el-dropdown-menu slot="dropdown" >
85 85
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[2])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -93,7 +93,7 @@
93 93
                                 <div @click="hangdleClick(scope.row,scope.$index,3)">
94 94
                                     <el-dropdown trigger="click" @command="changeSchedule">
95 95
                                         <span class="el-dropdown-link">
96
-                                        {{ getClass(scope.row.user_name,4) }}<i v-if="getTimestamp(weekDayArr[3])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
96
+                                        {{ getClass(scope.row.user_name,4) }}<i v-if="getTimestamp(weekDayArr[3])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
97 97
                                         </span>
98 98
                                         <el-dropdown-menu slot="dropdown" >
99 99
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[3])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -107,7 +107,7 @@
107 107
                                 <div @click="hangdleClick(scope.row,scope.$index,4)">
108 108
                                     <el-dropdown trigger="click" @command="changeSchedule">
109 109
                                         <span class="el-dropdown-link">
110
-                                        {{ getClass(scope.row.user_name,5) }}<i v-if="getTimestamp(weekDayArr[4])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
110
+                                        {{ getClass(scope.row.user_name,5) }}<i v-if="getTimestamp(weekDayArr[4])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
111 111
                                         </span>
112 112
                                         <el-dropdown-menu slot="dropdown" >
113 113
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[4])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -121,7 +121,7 @@
121 121
                                 <div @click="hangdleClick(scope.row,scope.$index,5)">
122 122
                                     <el-dropdown trigger="click" @command="changeSchedule">
123 123
                                         <span class="el-dropdown-link">
124
-                                        {{ getClass(scope.row.user_name,6) }}<i v-if="getTimestamp(weekDayArr[5])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
124
+                                        {{ getClass(scope.row.user_name,6) }}<i v-if="getTimestamp(weekDayArr[5])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
125 125
                                         </span>
126 126
                                         <el-dropdown-menu slot="dropdown" >
127 127
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[5])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -135,7 +135,7 @@
135 135
                                 <div @click="hangdleClick(scope.row,scope.$index,6)">
136 136
                                     <el-dropdown trigger="click" @command="changeSchedule">
137 137
                                         <span class="el-dropdown-link">
138
-                                        {{ getClass(scope.row.user_name,0) }}<i v-if="getTimestamp(weekDayArr[6])>=timeNow?true:false" class="el-icon-arrow-down el-icon--right"></i>
138
+                                        {{ getClass(scope.row.user_name,0) }}<i v-if="getTimestamp(weekDayArr[6])>=timeNow&&scope.row.admin_user_id!=1000000?true:false" class="el-icon-arrow-down el-icon--right"></i>
139 139
                                         </span>
140 140
                                         <el-dropdown-menu slot="dropdown" >
141 141
                                             <el-dropdown-item  :command="item.id" icon="el-icon-plus" :disabled="getTimestamp(weekDayArr[6])<timeNow?true:false" v-for="(item,index) in schedulelist" :key="index">{{item.class_name}}</el-dropdown-item>
@@ -238,6 +238,14 @@ export default {
238 238
              copyWeek: [{ required: true, message: "请选择复制时间段", trigger: "blur" }],  
239 239
            },
240 240
            timeNow:0,
241
+           arrZero:[],
242
+           arrOne:[],
243
+           arrTwo:[],
244
+           arrThree:[],
245
+           arrFour:[],
246
+           arrFive:[],
247
+           arrSix:[],
248
+           arrSeven:[],
241 249
         }
242 250
     },
243 251
     methods:{
@@ -292,12 +300,8 @@ export default {
292 300
          }
293 301
         },
294 302
         clickThis(row, column, cell, event){
295
-            // console.log("row",row)
296
-            // console.log("column",column)
297
-            // console.log("日期",this.weekDayArr)
298 303
             var week = (column.label).split('');
299 304
             var weeks = week[0]+week[1]
300
-            // console.log("weeks",weeks)
301 305
             if(weeks == "周日"){
302 306
             this.schedule_week = 0
303 307
             this.schedule_date = this.weekDayArr[6]
@@ -450,28 +454,205 @@ export default {
450 454
             getStaffScheduleList(params).then(response=>{
451 455
                 if(response.data.state == 1){
452 456
                     var staffList =  response.data.data.staffList
457
+                    
458
+                    var sevenStr = ""
459
+                    var oneStr = ""
460
+                    var twoStr = ""
461
+                    var threeStr = ""
462
+                    var fourStr = ""
463
+                    var fiveStr = ""
464
+                    var sixStr = ""
453 465
                     for(let i=0;i<staffList.length;i++){
454 466
                     if(staffList[i].schedule_week == 0){
455 467
                         staffList[i].class_index = 0
468
+                         var arr = []
469
+                        this.arrZero.push(staffList[i].class_name)
470
+                        for(let i=0;i<this.arrZero.length;i++){
471
+                           if(this.arrZero[i]!=''){
472
+                              arr.push(this.arrZero[i])
473
+                           }
474
+                        }
475
+                        var countedNames = arr.reduce(function (allNames, name) { 
476
+                            if (name in allNames) {
477
+                                allNames[name]++;
478
+                            }
479
+                            else {
480
+                                allNames[name] = 1;
481
+                            }
482
+                            return allNames;
483
+                        }, {});
484
+                        let objKey = Object.keys(countedNames)
485
+                        let objVal = Object.values(countedNames)
486
+                        var zeroStr = ''
487
+                        objKey.map((item,index) => {
488
+                        let objVal = Object.values(countedNames)
489
+                            zeroStr += item + objVal[index] + '\n'
490
+                        })
491
+                        sevenStr = zeroStr
456 492
                     }
457 493
                     if(staffList[i].schedule_week == 1){
458 494
                         staffList[i].class_index = 1
495
+                        var arr = []
496
+                        this.arrOne.push(staffList[i].class_name)
497
+                        for(let i=0;i<this.arrOne.length;i++){
498
+                           if(this.arrOne[i]!=''){
499
+                              arr.push(this.arrOne[i])
500
+                           }
501
+                        }
502
+                        var countedNames = arr.reduce(function (allNames, name) { 
503
+                            if (name in allNames) {
504
+                                allNames[name]++;
505
+                            }
506
+                            else {
507
+                                allNames[name] = 1;
508
+                            }
509
+                            return allNames;
510
+                        }, {});
511
+                        let objKey = Object.keys(countedNames)
512
+                        let objVal = Object.values(countedNames)
513
+                        let strOne = ''
514
+                        objKey.map((item,index) => {
515
+                        let objVal = Object.values(countedNames)
516
+                            strOne += item + objVal[index] + '\n'
517
+                        })
518
+                        oneStr  = strOne
459 519
                     }
460 520
                     if(staffList[i].schedule_week == 2){
461 521
                         staffList[i].class_index = 2
522
+                         var arr = []
523
+                        this.arrTwo.push(staffList[i].class_name)
524
+                        for(let i=0;i<this.arrTwo.length;i++){
525
+                           if(this.arrTwo[i]!=''){
526
+                              arr.push(this.arrTwo[i])
527
+                           }
528
+                        }
529
+                        var countedNames = arr.reduce(function (allNames, name) { 
530
+                            if (name in allNames) {
531
+                                allNames[name]++;
532
+                            }
533
+                            else {
534
+                                allNames[name] = 1;
535
+                            }
536
+                            return allNames;
537
+                        }, {});
538
+                        let objKey = Object.keys(countedNames)
539
+                        let objVal = Object.values(countedNames)
540
+                        let strTwo = ''
541
+                        objKey.map((item,index) => {
542
+                        let objVal = Object.values(countedNames)
543
+                            strTwo += item + objVal[index] + '\n'
544
+                        })
545
+                         twoStr = strTwo
462 546
                     }
463 547
                     if(staffList[i].schedule_week == 3){
464 548
                         staffList[i].class_index = 3
549
+                         var arr = []
550
+                        this.arrThree.push(staffList[i].class_name)
551
+                        for(let i=0;i<this.arrThree.length;i++){
552
+                           if(this.arrThree[i]!=''){
553
+                              arr.push(this.arrThree[i])
554
+                           }
555
+                        }
556
+                        var countedNames = arr.reduce(function (allNames, name) { 
557
+                            if (name in allNames) {
558
+                                allNames[name]++;
559
+                            }
560
+                            else {
561
+                                allNames[name] = 1;
562
+                            }
563
+                            return allNames;
564
+                        }, {});
565
+                        let objKey = Object.keys(countedNames)
566
+                        let objVal = Object.values(countedNames)
567
+                        let strThree = ''
568
+                        objKey.map((item,index) => {
569
+                        let objVal = Object.values(countedNames)
570
+                            strThree += item + objVal[index] + '\n'
571
+                        })
572
+                        threeStr = strThree
465 573
                     }
466 574
                     if(staffList[i].schedule_week == 4){
467 575
                         staffList[i].class_index = 4
576
+                        var arr = []
577
+                        this.arrFour.push(staffList[i].class_name)
578
+                        for(let i=0;i<this.arrFour.length;i++){
579
+                           if(this.arrFour[i]!=''){
580
+                              arr.push(this.arrFour[i])
581
+                           }
582
+                        }
583
+                        var countedNames = arr.reduce(function (allNames, name) { 
584
+                            if (name in allNames) {
585
+                                allNames[name]++;
586
+                            }
587
+                            else {
588
+                                allNames[name] = 1;
589
+                            }
590
+                            return allNames;
591
+                        }, {});
592
+                        let objKey = Object.keys(countedNames)
593
+                        let objVal = Object.values(countedNames)
594
+                        let strFour = ''
595
+                        objKey.map((item,index) => {
596
+                        let objVal = Object.values(countedNames)
597
+                            strFour += item + objVal[index] + '\n'
598
+                        })
599
+                        fourStr = strFour
468 600
                     }
469 601
                     if(staffList[i].schedule_week == 5){
470 602
                         staffList[i].class_index = 5
603
+
604
+                         var arr = []
605
+                        this.arrFive.push(staffList[i].class_name)
606
+                        for(let i=0;i<this.arrFive.length;i++){
607
+                           if(this.arrFive[i]!=''){
608
+                              arr.push(this.arrFive[i])
609
+                           }
610
+                        }
611
+                        var countedNames = arr.reduce(function (allNames, name) { 
612
+                            if (name in allNames) {
613
+                                allNames[name]++;
614
+                            }
615
+                            else {
616
+                                allNames[name] = 1;
617
+                            }
618
+                            return allNames;
619
+                        }, {});
620
+                        let objKey = Object.keys(countedNames)
621
+                        let objVal = Object.values(countedNames)
622
+                        let strFive = ''
623
+                        objKey.map((item,index) => {
624
+                        let objVal = Object.values(countedNames)
625
+                            strFive += item + objVal[index] + '\n'
626
+                        })
627
+                         fiveStr = strFive
471 628
                     }
472 629
                     if(staffList[i].schedule_week == 6){
473 630
                         staffList[i].class_index = 6
474
-                    }
631
+                         var arr = []
632
+                        this.arrSix.push(staffList[i].class_name)
633
+                        for(let i=0;i<this.arrSix.length;i++){
634
+                           if(this.arrSix[i]!=''){
635
+                              arr.push(this.arrSix[i])
636
+                           }
637
+                        }
638
+                        var countedNames = arr.reduce(function (allNames, name) { 
639
+                            if (name in allNames) {
640
+                                allNames[name]++;
641
+                            }
642
+                            else {
643
+                                allNames[name] = 1;
644
+                            }
645
+                            return allNames;
646
+                        }, {});
647
+                        let objKey = Object.keys(countedNames)
648
+                        let objVal = Object.values(countedNames)
649
+                        let strSix = ''
650
+                        objKey.map((item,index) => {
651
+                        let objVal = Object.values(countedNames)
652
+                            strSix += item + objVal[index] + '\n'
653
+                        })
654
+                        sixStr = strSix
655
+                     }
475 656
                     }
476 657
                     let tempArr = [], newArr = []
477 658
                     for (let i = 0; i < staffList.length; i++) {
@@ -501,8 +682,22 @@ export default {
501 682
                         arr.splice(index, 0, {user_name: item.user_name, admin_user_id: item.admin_user_id, list: [],user_type:item.user_type})
502 683
                       }
503 684
                     })
504
-                    console.log("arr=======",arr)
505 685
                     arr.sort(this.compare('user_type'))
686
+                    
687
+                    let arr2 = []
688
+                    arr2.push({class_name:oneStr,schedule_week:1})
689
+                    arr2.push({class_name:twoStr,schedule_week:2})
690
+                    arr2.push({class_name:threeStr,schedule_week:3})
691
+                    arr2.push({class_name:fourStr,schedule_week:4})
692
+                    arr2.push({class_name:fiveStr,schedule_week:5})
693
+                    arr2.push({class_name:sixStr,schedule_week:6})
694
+                    arr2.push({class_name:zeroStr,schedule_week:0})
695
+                    var obj = {}
696
+                     obj.admin_user_id = "1000000"
697
+                     obj.user_name = "合计"
698
+                     obj.user_type = 10
699
+                     obj.list = arr2
700
+                     arr.push(obj)
506 701
                     this.tableData = arr
507 702
         
508 703
                 
@@ -544,8 +739,6 @@ export default {
544 739
             getNextWeekList(params).then(response=>{
545 740
                 if(response.data.state == 1){
546 741
                     var staffList = response.data.data.staffList
547
-                    console.log("上下周数据",staffList)
548
-
549 742
                     let tempArr = [], newArr = []
550 743
                     for (let i = 0; i < staffList.length; i++) {
551 744
                         if (tempArr.indexOf(staffList[i].user_name) === -1) {
@@ -590,7 +783,7 @@ export default {
590 783
             getScheduleByDoctorId(params).then(response=>{
591 784
                 if(response.data.state == 1){
592 785
                     var  staffList =  response.data.data.staffList
593
-                    console.log("staffList",staffList)
786
+                    // console.log("staffList",staffList)
594 787
     
595 788
                     let tempArr = [], newArr = []
596 789
                     for (let i = 0; i < staffList.length; i++) {
@@ -711,6 +904,7 @@ export default {
711 904
                             // console.log("arr",arr)
712 905
                           }
713 906
                         })
907
+                        console.log("arr",arr)
714 908
                         this.tableData = arr
715 909
                     }
716 910
                 }
@@ -830,7 +1024,7 @@ export default {
830 1024
          var week = (row.column.label).split('');
831 1025
          var weeks = week[4]+week[5]+week[6]+week[7]+week[8]+week[9]+week[10]+week[11]+week[12]
832 1026
         //  console.log("week",week)
833
-         console.log("weeks",weeks)
1027
+        //  console.log("weeks",weeks)
834 1028
          var weekdate =  this.getTimestamp(weeks)
835 1029
          if(weekdate  < this.timeNow){
836 1030
            return 'background-color:#e5e5e5;'

+ 1 - 1
src/xt_pages/medicalScheduling/medical_print.vue View File

@@ -100,7 +100,7 @@ export default {
100 100
          getStaffScheduleList(params).then(response=>{
101 101
             if(response.data.state == 1){
102 102
               var staffList = response.data.data.staffList
103
-
103
+              console.log("stafflist",staffList)
104 104
               let tempArr = [], newArr = []
105 105
               for (let i = 0; i < staffList.length; i++) {
106 106
                 if(tempArr.indexOf(staffList[i].user_name) === -1) {