XMLWAN 3 年之前
父節點
當前提交
240281926a

+ 1 - 0
config/prod.env.js 查看文件

@@ -9,3 +9,4 @@ module.exports = {
9 9
   MIRCO_MALL_HOST: '"http://mall.kuyicloud.com"',
10 10
   CDM_HOST: '"http://cdm.kuyicloud.com"',
11 11
 }
12
+

+ 12 - 1
src/router/modules/workforce.js 查看文件

@@ -81,6 +81,17 @@ export default {
81 81
         title: 'next_remind_print',
82 82
         noCache: true
83 83
       }
84
-    }
84
+    },
85
+    // {
86
+    //   path: '/schedule/remind/print/setting',
87
+    //   component: () => import('@/xt_pages/workforce/remind_print_setting'),
88
+    //   name: 'remind_print_setting',
89
+    //   hidden: true,
90
+    //   is_menu: false,
91
+    //   meta: {
92
+    //     title: 'remind_print_setting',
93
+    //     noCache: true
94
+    //   }
95
+    // },
85 96
   ]
86 97
 }

+ 62 - 56
src/xt_pages/qcd/basicInformationAnalysis.vue 查看文件

@@ -18,6 +18,9 @@
18 18
             >{{ item.label }}</li>
19 19
           </ul>
20 20
         </div>
21
+    </div>
22
+
23
+     <div class="cell clearfix">
21 24
         <label class="title">
22 25
           <span class="name">查看范围</span> :
23 26
         </label>
@@ -31,6 +34,9 @@
31 34
             >{{ item.label }}</li>
32 35
           </ul>
33 36
         </div>
37
+      </div>
38
+
39
+      <div class="cell clearfix">
34 40
         <label class="title">
35 41
              <span class="name">日期查询</span> :
36 42
         </label>
@@ -63,13 +69,14 @@
63 69
           :picker-options="pickerOptions"
64 70
         ></el-date-picker>
65 71
       </div>
66
-       <!-- <div class="cell clearfix">
72
+
73
+     <div class="cell clearfix">
67 74
         <label class="title"><span class="name">转归情况</span> : </label>
68 75
         <div class="time ">
69 76
           <ul class="">
70 77
             <li
71 78
               :class="item.lapseto == lapsetoType ? 'active' : ''"
72
-              @click="selectLapseTo(item.lapseto)"
79
+              @click="selectLapseOne(item.lapseto)"
73 80
               v-for="item in lapsetoArr"
74 81
               :key="item.value"
75 82
             >
@@ -77,8 +84,9 @@
77 84
             </li>
78 85
           </ul>
79 86
         </div>
80
-      </div> -->
81
-      <!-- <div class="cell clearfix">
87
+      </div>
88
+
89
+      <div class="cell clearfix">
82 90
         <label class="title"><span class="name">病人来源</span> : </label>
83 91
         <div class="time ">
84 92
           <ul class="">
@@ -92,7 +100,7 @@
92 100
             </li>
93 101
           </ul>
94 102
         </div>
95
-      </div> -->
103
+      </div>
96 104
 
97 105
        <div class="cell clearfix" v-show="treatShow">
98 106
         <label class="title">
@@ -243,10 +251,12 @@
243 251
                 <p class="infoTitle">转归统计(总人数{{patientCount}}人)</p>
244 252
               </div>
245 253
               <div class="borderBox1">
246
-                <p>留治:{{rollOutTotal}}人({{(rollOutTotal/patientCount*100).toFixed(1)}}%)</p>
247
-                <el-progress :percentage="(rollOutTotal/patientCount*100).toFixed(1)"></el-progress>
248
-                <p>转出:{{outTotal}}人({{(outTotal/patientCount*100).toFixed(1)}}%)</p>
249
-                <el-progress :percentage="(outTotal/patientCount*100).toFixed(1)"></el-progress>
254
+                 <span v-if="lapsetoType == 0 || lapsetoType == 1"><p>留治:{{rollOutTotal}}人({{(rollOutTotal/patientCount*100).toFixed(1)}}%)</p>
255
+                  <el-progress :percentage="(rollOutTotal/patientCount*100).toFixed(1)"></el-progress>
256
+                </span>
257
+                <span v-if="lapsetoType == 0 || lapsetoType == 2"><p>转出:{{outTotal}}人({{(outTotal/patientCount*100).toFixed(1)}}%)</p>
258
+                 <el-progress :percentage="(outTotal/patientCount*100).toFixed(1)"></el-progress>
259
+                </span> 
250 260
               </div>
251 261
             </div>
252 262
             <div class="infoOne">
@@ -421,7 +431,7 @@ export default {
421 431
         { value: 0, label: '全部', source: 0, lapseto: 0 },
422 432
         { value: 1, label: '转出', source: 0, lapseto: 2 },
423 433
         { value: 2, label: '留治', source: 0, lapseto: 1 },
424
-        { value: 3, label: '死亡', source:0,  lapseto: 3 },
434
+        // { value: 3, label: '死亡', source:0,  lapseto: 3 },
425 435
       ],
426 436
       sourceType: 0,
427 437
       sourceArr: [
@@ -652,7 +662,7 @@ export default {
652 662
         //统计转归状态
653 663
         this.getTotalLapseCount(this.listQuery.start_time,this.listQuery.end_time,this.lapsetoType,this.sourceType)
654 664
         //统计男女比例
655
-        this.getTotalSexCount(timeStar,timeEnd)
665
+        this.getTotalSexCount(timeStar,timeEnd,this.lapsetoType,this.sourceType)
656 666
         //统计传染病
657 667
         this.getTotalInfectiousCount(this.listQuery.start_time,this.listQuery.end_time,this.lapsetoType,this.sourceType)
658 668
         //统计年龄
@@ -662,7 +672,7 @@ export default {
662 672
         this.start = timeStar
663 673
         this.end =timeEnd
664 674
         this.getCountModeId()
665
-        this.getRolloutCount(timeStar,timeEnd)
675
+        this.getRolloutCount(timeStar,timeEnd,this.lapsetoType,this.sourceType)
666 676
       }
667 677
     },
668 678
     changeEndTime(val) {
@@ -690,7 +700,7 @@ export default {
690 700
         this.start = timeStar
691 701
         this.end =timeEnd
692 702
         this.getCountModeId()
693
-        this.getRolloutCount(timeStar,timeEnd)
703
+        this.getRolloutCount(timeStar,timeEnd,this.lapsetoType,this.sourceType)
694 704
       }
695 705
     },
696 706
     selectLapseTo(state) {
@@ -699,7 +709,7 @@ export default {
699 709
       //获取本月当前机构的透析模式
700 710
       const startDate = moment().subtract('month', 0).format('YYYY-MM') + '-01'
701 711
       const endDate = moment(new Date()).format('YYYY-MM-DD')
702
-
712
+     
703 713
       var now = new Date()
704 714
       var nowMonth = now.getMonth(); //当前月
705 715
       var nowYear = now.getFullYear(); //当前年
@@ -710,7 +720,7 @@ export default {
710 720
       //本月的结束时间
711 721
       var monthEndDate = new Date(nowYear, nowMonth+1, 0);
712 722
       var timeEnd=Date.parse(monthEndDate)/1000-1;//s
713
-      // console.log("本月最后一天",timeEnd)
723
+     // console.log("本月最后一天",timeEnd)
714 724
       //本月
715 725
       if(state == 0){
716 726
        //统计透析总量
@@ -728,14 +738,14 @@ export default {
728 738
         this.start = timeStar
729 739
         this.end = timeEnd
730 740
         this.getCountModeId()
731
-        this.getRolloutCount(timeStar,timeEnd)
741
+        this.getRolloutCount(timeStar,timeEnd,this.lapsetoType,this.sourceType)
732 742
       }
733 743
       //近三月
734 744
       if(state == 1){
735 745
         this.listQuery.start_time = ""
736 746
         this.listQuery.end_time = ""
737 747
         const startDate = moment().subtract('month', 3).format('YYYY-MM-DD')
738
-
748
+       
739 749
         var startunitx = Date.parse(startDate)/1000
740 750
         // console.log("开始时间搓",startunitx)
741 751
         const endDate = moment(new Date()).format('YYYY-MM-DD')
@@ -757,7 +767,7 @@ export default {
757 767
         this.start = startunitx
758 768
         this.end = endunitx
759 769
         this.getCountModeId()
760
-        this.getRolloutCount(startunitx,endunitx)
770
+        this.getRolloutCount(startunitx,endunitx,this.lapsetoType,this.sourceType)
761 771
       }
762 772
 
763 773
      //近半年
@@ -788,7 +798,7 @@ export default {
788 798
         this.start = startunitx
789 799
         this.end = endunitx
790 800
         this.getCountModeId()
791
-        this.getRolloutCount(startunitx,endunitx)
801
+        this.getRolloutCount(startunitx,endunitx,this.lapsetoType,this.sourceType)
792 802
      }
793 803
 
794 804
      //近一年
@@ -815,11 +825,10 @@ export default {
815 825
         this.getTotalAgeCount(startunitx,endunitx,this.lapsetoType,this.sourceType)
816 826
         //统计透析年龄
817 827
         this.getTotalDialysisCount(startunitx,endunitx,this.lapsetoType,this.sourceType)
818
-
819 828
         this.start = startunitx
820 829
         this.end = endunitx
821 830
         this.getCountModeId()
822
-        this.getRolloutCount(startunitx,endunitx)
831
+        this.getRolloutCount(startunitx,endunitx,this.lapsetoType,this.sourceType)
823 832
      }
824 833
 
825 834
 
@@ -842,12 +851,12 @@ export default {
842 851
          if(response.data.state == 1){
843 852
 
844 853
           var modetype =  response.data.data.modetype
845
-
854
+          console.log("modetype",modetype)
846 855
           this.modetype = modetype
847 856
           var total =  response.data.data.total
848
-
849
-          // this.total = total.count
850
-          this.total = total
857
+          console.log("total",total)
858
+          this.total = total.count
859
+          // this.total = total
851 860
           // console.log("数据",this.modetype)
852 861
           var modedate = response.data.data.modetype
853 862
           for(let i=0;i<modedate.length;i++){
@@ -919,61 +928,52 @@ export default {
919 928
       })
920 929
     },
921 930
     //统计转归
922
-    getTotalLapseCount(startDate,endDate){
931
+    getTotalLapseCount(startDate,endDate,lapsetoType,sourceType ){
932
+   
923 933
        this.modesDataTwo.series = []
924 934
        this.modesDataTwo.xAxis = []
925
-      getTotalLapseCount(startDate,endDate).then(response=>{
935
+      getTotalLapseCount(startDate,endDate,lapsetoType,sourceType).then(response=>{
926 936
          if(response.data.state == 1){
927 937
            var arr = [
928 938
              {name:"留治",count:0},
929 939
              {name:"转出",count:0}
930 940
            ]
931 941
           var patients =  response.data.data.patients
932
-
942
+      
933 943
           this.rollOutTotal = patients.length
934
-          var patienttwo = response.data.data.patienttwo
935 944
 
945
+          var patienttwo = response.data.data.patienttwo
936 946
           this.outTotal = patienttwo.length
937 947
           var count = response.data.data.count
938 948
           this.patientCount = count
939 949
 
940 950
           var rollout = response.data.data.rollout
941
-          console.log("rollout",rollout)
951
+        
942 952
 
943 953
           for(let i=0;i<arr.length;i++){
944 954
             arr[0].count = this.rollOutTotal
945 955
             arr[1].count = this.outTotal
946 956
           }
947
-
948
-          // for(let j=0;j<arr.length;j++){
949
-          //   this.modesDataTwo.xAxis.push(arr[j].name)
950
-          //   this.modesDataTwo.series.push(((arr[j].count/count)*100).toFixed(1))
951
-          // }
952
-          // this.bar.series[0].data = this.modesDataTwo.series
953
-          // this.bar.xAxis.data = this.modesDataTwo.xAxis
954
-          // this.getArrLength(this.bar.xAxis.data)
955
-
956 957
          }
957 958
       })
958 959
     },
959 960
     //统计男女比例
960
-    getTotalSexCount(timeStar,timeEnd){
961
-      getTotalSexCount(timeStar,timeEnd).then(response=>{
961
+    getTotalSexCount(timeStar,timeEnd,lapsetoType,sourceType){
962
+      getTotalSexCount(timeStar,timeEnd,lapsetoType,sourceType).then(response=>{
962 963
         if(response.data.state === 1){
964
+          console.log("resp2222",response.data.data.totalWoman)
963 965
           var total = response.data.data.total
964
-        //  console.log("总人数",total)
965 966
           this.totalGender = total
966 967
           var totalMan = response.data.data.totalSex
967
-       //  console.log("男人",totalMan)
968 968
           this.totalMan = totalMan
969
-          var totalWoman = total - totalMan
969
+          var totalWoman = response.data.data.totalWoman
970 970
           this.totalWoman = totalWoman
971 971
         }
972 972
       })
973 973
     },
974 974
     //统计传染病
975
-    getTotalInfectiousCount(timeStar,timeEnd){
976
-       getTotalInfectiousCount(timeStar,timeEnd).then(response=>{
975
+    getTotalInfectiousCount(timeStar,timeEnd,lapsetoType,sourceType){
976
+       getTotalInfectiousCount(timeStar,timeEnd,lapsetoType,sourceType).then(response=>{
977 977
            if(response.data.state === 1){
978 978
              this.InfectiousTotal = response.data.data.total
979 979
              var infectious = response.data.data.count
@@ -996,11 +996,11 @@ export default {
996 996
            }
997 997
        })
998 998
     },
999
-    getTotalAgeCount(timeStar,timeEnd){
1000
-      getTotalAgeCount(timeStar,timeEnd).then(response=>{
999
+    getTotalAgeCount(timeStar,timeEnd,lapsetoType,sourceType){
1000
+      getTotalAgeCount(timeStar,timeEnd,lapsetoType,sourceType).then(response=>{
1001 1001
          if(response.data.state == 1){
1002 1002
           var ageCount =  response.data.data.ageCount
1003
-          // console.log("ageCount",ageCount)
1003
+        
1004 1004
           var arr = []
1005 1005
           arr =  ageCount.sort(this.compare('age'))
1006 1006
           this.ageCount = arr
@@ -1018,11 +1018,11 @@ export default {
1018 1018
           }
1019 1019
       },
1020 1020
     //统计透析年龄
1021
-    getTotalDialysisCount(timeStar,timeEnd){
1022
-      getTotalDialysisCount(timeStar,timeEnd).then(response=>{
1021
+    getTotalDialysisCount(timeStar,timeEnd,lapsetoType,sourceType){
1022
+      getTotalDialysisCount(timeStar,timeEnd,lapsetoType,sourceType).then(response=>{
1023 1023
          if(response.data.state == 1){
1024 1024
            var dataage =  response.data.data.dataage
1025
-          //  console.log("dataage",dataage)
1025
+          
1026 1026
            this.dialysisAge = dataage
1027 1027
 
1028 1028
          }
@@ -1152,7 +1152,8 @@ export default {
1152 1152
         const params = {
1153 1153
           start_time:this.start,
1154 1154
           end_time:this.end,
1155
-          mode_id:this.mode_id
1155
+          mode_id:this.mode_id,
1156
+          
1156 1157
         }
1157 1158
         this.modesData.series = []
1158 1159
         this.modesData.xAxis = []
@@ -1176,7 +1177,9 @@ export default {
1176 1177
        this.modesDataTwo.xAxis = []
1177 1178
         const params = {
1178 1179
           start_time:this.start,
1179
-          end_time:this.end
1180
+          end_time:this.end,
1181
+          lapsetotype:this.lapsetoType,
1182
+          sourcetype:this.sourceType,
1180 1183
         }
1181 1184
       getRolloutCount(params).then(response=>{
1182 1185
          if(response.data.state == 1){
@@ -1225,8 +1228,10 @@ export default {
1225 1228
       this.getTotalInfectiousCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1226 1229
       this.getTotalAgeCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1227 1230
       this.getTotalDialysisCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1231
+      this.getRolloutCount(this.lapsetoType,this.sourceType)
1228 1232
     },
1229
-    selectLapseTo(lapseto) {
1233
+    selectLapseOne(lapseto) {
1234
+      console.log("lapseto22222",lapseto)
1230 1235
       this.lapsetoType = lapseto
1231 1236
       this.getDialysisModeType(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1232 1237
       this.getTotalLapseCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
@@ -1234,6 +1239,7 @@ export default {
1234 1239
       this.getTotalInfectiousCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1235 1240
       this.getTotalAgeCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1236 1241
       this.getTotalDialysisCount(this.startDate,this.endDate,this.lapsetoType,this.sourceType)
1242
+      this.getRolloutCount(this.lapsetoType,this.sourceType)
1237 1243
     },
1238 1244
   },
1239 1245
   created() {
@@ -1270,7 +1276,7 @@ export default {
1270 1276
       this.start = timeStar
1271 1277
       this.end = timeEnd
1272 1278
 
1273
-     this.getRolloutCount(timeStar,timeEnd)
1279
+     this.getRolloutCount(timeStar,timeEnd,this.lapsetoType,this.sourceType)
1274 1280
 
1275 1281
 
1276 1282
   },

+ 186 - 1
src/xt_pages/workforce/components/tableWeeks.vue 查看文件

@@ -9,6 +9,15 @@
9 9
         type="primary"
10 10
         >打印
11 11
       </el-button>
12
+
13
+      <!-- <el-button
14
+       style="float: right"
15
+       size="small"
16
+       icon="el-icon-printer"
17
+       @click="printActionSetting()"
18
+       type="primary">
19
+        打印设置
20
+      </el-button> -->
12 21
     </div>
13 22
 
14 23
     <div class="cell clearfix">
@@ -159,6 +168,60 @@
159 168
         </template>
160 169
       </el-table-column>
161 170
     </el-table>
171
+
172
+    <el-dialog
173
+      title="打印设置"
174
+      :visible.sync="dialogVisible"
175
+      width="30%"
176
+      >
177
+     <span>
178
+       <ul>
179
+         <li> 
180
+          <el-checkbox v-model="prescription_status">透析处方状态</el-checkbox>
181
+         </li>
182
+         <li>
183
+          <el-checkbox v-model="week">星期</el-checkbox>
184
+         </li>
185
+         <li>
186
+          <el-checkbox v-model="name">姓名</el-checkbox>
187
+         </li>
188
+         <li>
189
+          <el-checkbox v-model="zone">分区</el-checkbox>
190
+         </li>
191
+         <li>
192
+          <el-checkbox v-model="classes">班次</el-checkbox>
193
+         </li>
194
+         <li>
195
+          <el-checkbox v-model="number">机号</el-checkbox>
196
+         </li>
197
+         <li>
198
+          <el-checkbox v-model="mode">透析模式</el-checkbox>
199
+         </li>
200
+         <li>
201
+          <el-checkbox v-model="dialyzers">透析器</el-checkbox>
202
+         </li>
203
+         <li>
204
+          <el-checkbox v-model="perfusion_apparatus">灌流器</el-checkbox>
205
+         </li>
206
+         <li>
207
+          <el-checkbox v-model="anticoagulant">抗凝剂(商品名称)</el-checkbox>
208
+         </li>
209
+         <li>
210
+          <el-checkbox v-model="anticoagulant_zongliang">总量</el-checkbox>
211
+         </li>
212
+         <li>
213
+          <el-checkbox v-model="doctor_advice">长期医嘱</el-checkbox>
214
+         </li>
215
+       </ul>
216
+      
217
+     </span>
218
+     <span slot="footer" class="dialog-footer">
219
+      <el-button @click="dialogVisible = false">取 消</el-button>
220
+      <el-button type="primary" @click="saveRemindPrint">保 存</el-button>
221
+     </span>
222
+   </el-dialog>
223
+
224
+    
162 225
   </div>
163 226
 </template>
164 227
 
@@ -208,7 +271,34 @@ export default {
208 271
       },
209 272
       scheduleData: [],
210 273
       modeOptions: null,
211
-      org_id:0
274
+      org_id:0,
275
+      dialogVisible:false,
276
+      prescription_status:true,
277
+      week:true,
278
+      name:true,
279
+      zone:true,
280
+      classes:true,
281
+      number:true,
282
+      mode:true,
283
+      dialyzers:true,
284
+      perfusion_apparatus:true,
285
+      anticoagulant:true,
286
+      anticoagulant_zongliang:true,
287
+      doctor_advice:false,
288
+      form:{
289
+        prescription_status:"",
290
+        week:"",
291
+        name:"",
292
+        zone:"",
293
+        classes:"",
294
+        number:"",
295
+        mode:"",
296
+        dialyzers:"",
297
+        perfusion_apparatus:"",
298
+        anticoagulant:"",
299
+        anticoagulant_zongliang:"",
300
+        doctor_advice:"",
301
+      }
212 302
     };
213 303
   },
214 304
   watch: {
@@ -439,6 +529,101 @@ export default {
439 529
         }
440 530
         return name;
441 531
       }
532
+    },
533
+    printActionSetting(){
534
+       this.dialogVisible = true
535
+    },
536
+    saveRemindPrint(){
537
+       console.log("3333333",this.prescription_status)
538
+       if(this.prescription_status == true){
539
+         this.form.prescription_status = 1
540
+       }
541
+       if(this.prescription_status == false){
542
+         this.form.prescription_status = 2
543
+       }
544
+       if(this.week == true){
545
+          this.form.week = 1
546
+       }
547
+       if(this.week == false){
548
+          this.form.week = 2
549
+       }
550
+       if(this.name == true){
551
+         this.form.name = 1
552
+       }
553
+       if(this.name == false){
554
+          this.form.name = 2
555
+       }
556
+       if(this.zone == true){
557
+         this.form.zone = 1
558
+       }
559
+       if(this.zone == false){
560
+          this.form.zone = 2
561
+       }
562
+       if(this.classes == true){
563
+         this.form.classes = 1
564
+       }
565
+       if(this.classes == false){
566
+         this.form.classes = 2
567
+       }
568
+       if(this.number == true){
569
+          this.form.number = 1
570
+       }
571
+       if(this.number == false){
572
+         this.form.number = 2
573
+       }
574
+       if(this.mode == true){
575
+           this.form.mode = 1
576
+       }
577
+       if(this.mode == false){
578
+         this.form.mode = 2
579
+       }
580
+       if(this.dialyzers == true){
581
+          this.form.dialyzers = 1
582
+       }
583
+       if(this.dialyzers == false){
584
+          this.form.dialyzers = 2
585
+       }
586
+       if(this.perfusion_apparatus == true){
587
+          this.form.perfusion_apparatus = 1
588
+       }
589
+       if(this.perfusion_apparatus == false){
590
+          this.form.perfusion_apparatus = 2
591
+       }
592
+       if(this.anticoagulant == true){
593
+          this.anticoagulant = 1
594
+       }
595
+       if(this.anticoagulant == false){
596
+         this.anticoagulant = 2
597
+       }
598
+       if(this.anticoagulant_zongliang == true){
599
+          this.form.anticoagulant_zongliang  = 1
600
+       }
601
+       if(this.anticoagulant_zongliang == false){
602
+          this.form.anticoagulant_zongliang = 2
603
+       }
604
+       if(this.doctor_advice == true){
605
+          this.form.doctor_advice =1
606
+       }
607
+       if(this.doctor_advice == false){
608
+          this.form.doctor_advice = 2
609
+       }
610
+        var params = {
611
+          prescription_status:this.form.prescription_status,
612
+          week:this.form.week,
613
+          name:this.form.name,
614
+          zone:this.form.zone,
615
+          classes:this.form.classes,
616
+          number:this.form.number,
617
+          mode:this.form.mode,
618
+          dialyzers:this.form.dialyzers,
619
+          perfusion_apparatus:this.form.prescription_apparaus,
620
+          anticoagulant:this.form.anticoagulant,
621
+          anticoagulant_zongliang:this.form.anticoagulant_zongliang,
622
+          doctor_advice:this.form.doctor_advice,
623
+        }
624
+      saveRemindPrint().then(response=>{
625
+
626
+      })
442 627
     }
443 628
   },
444 629
   components: {