Browse Source

Merge remote-tracking branch 'origin/20200916_pc_vue_new_branch' into 20200916_pc_vue_new_branch

XMLWAN 4 years ago
parent
commit
b43b5cbd88

+ 3 - 3
package-lock.json View File

3515
       "dev": true
3515
       "dev": true
3516
     },
3516
     },
3517
     "element-ui": {
3517
     "element-ui": {
3518
-      "version": "2.13.0",
3519
-      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.0.tgz",
3520
-      "integrity": "sha512-KYsHWsBXYbLELS8cdfvgJTOMSUby3UEjvsPV1V1VmgJ/DdkOAS4z3MiOrPxrT9w2Cc5lZ4eVSQiGhYFR5NVChw==",
3518
+      "version": "2.13.2",
3519
+      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.2.tgz",
3520
+      "integrity": "sha512-r761DRPssMPKDiJZWFlG+4e4vr0cRG/atKr3Eqr8Xi0tQMNbtmYU1QXvFnKiFPFFGkgJ6zS6ASkG+sellcoHlQ==",
3521
       "requires": {
3521
       "requires": {
3522
         "async-validator": "~1.8.1",
3522
         "async-validator": "~1.8.1",
3523
         "babel-helper-vue-jsx-merge-props": "^2.0.0",
3523
         "babel-helper-vue-jsx-merge-props": "^2.0.0",

+ 1 - 1
package.json View File

46
     "driver.js": "0.5.2",
46
     "driver.js": "0.5.2",
47
     "dropzone": "5.2.0",
47
     "dropzone": "5.2.0",
48
     "echarts": "3.8.5",
48
     "echarts": "3.8.5",
49
-    "element-ui": "^2.13.0",
49
+    "element-ui": "^2.13.2",
50
     "file-saver": "^1.3.3",
50
     "file-saver": "^1.3.3",
51
     "font-awesome": "4.7.0",
51
     "font-awesome": "4.7.0",
52
     "js-cookie": "2.2.0",
52
     "js-cookie": "2.2.0",

+ 13 - 13
src/router/modules/qcd.js View File

240
       }
240
       }
241
     },
241
     },
242
     {
242
     {
243
-      path: '/qcd/workAnalysis/doctor',
244
-      component: () => import('@/xt_pages/qcd/workAnalysis/doctor'),
243
+      path: '/qcd/workAnalysis/index',
244
+      component: () => import('@/xt_pages/qcd/workAnalysis/index'),
245
       name: 'workAnalysisDoctor',
245
       name: 'workAnalysisDoctor',
246
       meta: {
246
       meta: {
247
         title: '工作量分析统计',
247
         title: '工作量分析统计',
248
         noCache: true
248
         noCache: true
249
       }
249
       }
250
     },
250
     },
251
-    {
252
-      path: '/qcd/workAnalysis/nurse',
253
-      hidden: true,
254
-      is_menu: false,
255
-      component: () => import('@/xt_pages/qcd/workAnalysis/nurse'),
256
-      name: 'workAnalysisNurse',
257
-      meta: {
258
-        title: '工作量分析统计护士',
259
-        noCache: true
260
-      }
261
-    },
251
+    // {
252
+    //   path: '/qcd/workAnalysis/nurse',
253
+    //   hidden: true,
254
+    //   is_menu: false,
255
+    //   component: () => import('@/xt_pages/qcd/workAnalysis/nurse'),
256
+    //   name: 'workAnalysisNurse',
257
+    //   meta: {
258
+    //     title: '工作量分析统计护士',
259
+    //     noCache: true
260
+    //   }
261
+    // },
262
     {
262
     {
263
       path: '/qcd/patientanalysis/checkStatistical',
263
       path: '/qcd/patientanalysis/checkStatistical',
264
       hidden: true,
264
       hidden: true,

+ 47 - 1
src/xt_pages/dialysis/details/index.vue View File

623
       treat_state: [
623
       treat_state: [
624
         { value: 0, label: '全部治疗' },
624
         { value: 0, label: '全部治疗' },
625
         { value: 1, label: '待开处方' },
625
         { value: 1, label: '待开处方' },
626
-        { value: 2, label: '待开小结' }
626
+        { value: 2, label: '待开小结' },
627
+        { value: 3, label: '待医嘱核对' },
627
       ],
628
       ],
628
       treatStateVal: 0,
629
       treatStateVal: 0,
629
       schedule_options: [
630
       schedule_options: [
1296
             }
1297
             }
1297
           }
1298
           }
1298
           arr2 = arr
1299
           arr2 = arr
1300
+        } else if(this.treatStateVal == 3){
1301
+          let arr = []
1302
+          arr = JSON.parse(JSON.stringify(arr1))
1303
+          for (let i = 0; i < arr.length; i++) {
1304
+            for (let j = 0; j < arr[i].schedules.length; j++) {
1305
+              if(arr[i].schedules[j].doctor_advice.length == 0){
1306
+                arr[i].schedules.splice(j--, 1)
1307
+              }
1308
+              if(arr[i].schedules && arr[i].schedules[j] && arr[i].schedules[j].doctor_advice){
1309
+                let sign = 0
1310
+                arr[i].schedules[j].doctor_advice.map(item => {
1311
+                  if(item.check_state == 1){
1312
+                    sign++
1313
+                  }
1314
+                })
1315
+                if(sign == arr[i].schedules[j].doctor_advice.length && arr[i].schedules[j].doctor_advice.length > 0){
1316
+                  arr[i].schedules.splice(j--, 1)
1317
+                }
1318
+              }
1319
+            }
1320
+          }
1321
+          arr2 = arr
1299
         }
1322
         }
1300
 
1323
 
1301
         let arr3 = []
1324
         let arr3 = []
1437
             }
1460
             }
1438
           }
1461
           }
1439
           arr2 = arr
1462
           arr2 = arr
1463
+        } else if(this.treatStateVal == 3){
1464
+          let arr = []
1465
+          arr = JSON.parse(JSON.stringify(arr1))
1466
+          for (let i = 0; i < arr.length; i++) {
1467
+            for (let j = 0; j < arr[i].schedules.length; j++) {
1468
+              console.log(77777777777,arr[i].schedules)
1469
+              if(arr[i].schedules[j].doctor_advice.length == 0){
1470
+                arr[i].schedules.splice(j--, 1)
1471
+              }
1472
+              if(arr[i].schedules && arr[i].schedules[j] && arr[i].schedules[j].doctor_advice){
1473
+                let sign = 0
1474
+                arr[i].schedules[j].doctor_advice.map(item => {
1475
+                  if(item.check_state == 1){
1476
+                    sign++
1477
+                  }
1478
+                })
1479
+                if(sign == arr[i].schedules[j].doctor_advice.length && arr[i].schedules[j].doctor_advice.length > 0){
1480
+                  arr[i].schedules.splice(j--, 1)
1481
+                }
1482
+              }
1483
+            }
1484
+          }
1485
+          arr2 = arr
1440
         }
1486
         }
1441
 
1487
 
1442
         let arr3 = []
1488
         let arr3 = []

+ 23 - 0
src/xt_pages/dialysis/schedualPatient.vue View File

163
           {value: 0,label: '全部'},
163
           {value: 0,label: '全部'},
164
           {value: 1,label: '待开处方'},
164
           {value: 1,label: '待开处方'},
165
           {value: 2,label: '待开小结'},
165
           {value: 2,label: '待开小结'},
166
+          {value: 3,label: '待医嘱核对'},
166
         ],
167
         ],
167
         treatStateVal: 0,
168
         treatStateVal: 0,
168
         allPatient:[]
169
         allPatient:[]
514
             }
515
             }
515
           }
516
           }
516
           arr2 = arr
517
           arr2 = arr
518
+        }else if(this.treatStateVal == 3){
519
+          let arr = []
520
+          arr = JSON.parse(JSON.stringify(arr1))
521
+          for (let i = 0; i < arr.length; i++) {
522
+            for (let j = 0; j < arr[i].schedules.length; j++) {
523
+              if(arr[i].schedules[j].doctor_advice.length == 0){
524
+                arr[i].schedules.splice(j--, 1)
525
+              }
526
+              if(arr[i].schedules && arr[i].schedules[j] && arr[i].schedules[j].doctor_advice){
527
+                let sign = 0
528
+                arr[i].schedules[j].doctor_advice.map(item => {
529
+                  if(item.check_state == 1){
530
+                    sign++
531
+                  }
532
+                })
533
+                if(sign == arr[i].schedules[j].doctor_advice.length && arr[i].schedules[j].doctor_advice.length > 0){
534
+                  arr[i].schedules.splice(j--, 1)
535
+                }
536
+              }
537
+            }
538
+          }
539
+          arr2 = arr
517
         }
540
         }
518
 
541
 
519
 
542
 

+ 129 - 117
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFive.vue View File

96
             <td></td>
96
             <td></td>
97
             <td></td>
97
             <td></td>
98
             <td></td>
98
             <td></td>
99
-
99
+        
100
           </tr>
100
           </tr>
101
         </tbody>
101
         </tbody>
102
       </table> -->
102
       </table> -->
139
                     <!--showValue='模糊'></label-box>-->
139
                     <!--showValue='模糊'></label-box>-->
140
                   </div>
140
                   </div>
141
                 </td>
141
                 </td>
142
+                <td width="50">感染:</td>
143
+                <td width='100'>
144
+                  <label-box :isChecked="predialysis.is_infect == 2 ? true : false" showValue="有"></label-box>
145
+                  &nbsp;
146
+                  <label-box :isChecked="predialysis.is_infect == 1 ? true : false" showValue="无"></label-box>
147
+                  &nbsp;
148
+                </td>
142
                 <td></td>
149
                 <td></td>
143
               </tr>
150
               </tr>
144
               </tbody>
151
               </tbody>
190
             <table class="table-box">
197
             <table class="table-box">
191
               <tbody>
198
               <tbody>
192
               <tr>
199
               <tr>
193
-                <td width="86">导管穿刺口:</td>
200
+                <td width="70">导管口:</td>
194
                 <td width="240">
201
                 <td width="240">
195
                   <div style="display:flex;justify-content:space-between;">
202
                   <div style="display:flex;justify-content:space-between;">
196
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
203
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
226
                 <td></td> -->
233
                 <td></td> -->
227
 
234
 
228
                 <!-- 体位 -->
235
                 <!-- 体位 -->
229
-                <td width="40">体位:</td>
230
-                <td width="400">
231
-                  <div style="display:flex;justify-content:space-between;">
232
-                    <label-box v-for="(item, index) in posture_arr" :key="index" :isChecked="receiverTreatmentAccess.posture == item.id ? true : false" :showValue="item.name"></label-box>
233
-
234
-                    <!--<label-box :isChecked='receiverTreatmentAccess.posture==1?true:false'-->
235
-                    <!--showValue='自动体位'></label-box>-->
236
-                    <!--&nbsp;-->
237
-                    <!--<label-box :isChecked='receiverTreatmentAccess.posture==2?true:false'-->
238
-                    <!--showValue='平卧位'></label-box>-->
239
-                    <!--&nbsp;-->
240
-                    <!--<label-box :isChecked='receiverTreatmentAccess.posture==3?true:false'-->
241
-                    <!--showValue='半卧位'></label-box>-->
242
-                    <!--&nbsp;-->
243
-                    <!--<label-box :isChecked='receiverTreatmentAccess.posture==4?true:false'-->
244
-                    <!--showValue='端坐位'></label-box>-->
245
-                    <!--&nbsp;-->
246
-                    <!--<label-box :isChecked='receiverTreatmentAccess.posture==5?true:false'-->
247
-                    <!--showValue='躁动不安'></label-box>-->
248
-                    <!--&nbsp;-->
236
+                <td width="40">打折:</td>
237
+                <td width="100">
238
+                  <label-box :isChecked="predialysis.catheter_bend == 1?true:false" showValue='有'></label-box>
239
+                  &nbsp;
240
+                  <label-box :isChecked="predialysis.catheter_bend ==2?true:false" showValue='无'></label-box>
241
+                </td>
242
+                <td width='30'></td>
243
+                <td width="40">尿量:</td>
244
+                <td width='50'>
245
+                  <div class="under-line">
246
+                    &nbsp;{{ predialysis.urine_volume ? predialysis.urine_volume : '' }}
249
                   </div>
247
                   </div>
250
                 </td>
248
                 </td>
249
+                <td width='10'>ml</td>
251
                 <td></td>
250
                 <td></td>
252
               </tr>
251
               </tr>
253
               </tbody>
252
               </tbody>
267
                     <label-box :isChecked="predialysis.internal_fistula.indexOf('震颤-无') > -1 ? true : false" showValue="不存在"></label-box>
266
                     <label-box :isChecked="predialysis.internal_fistula.indexOf('震颤-无') > -1 ? true : false" showValue="不存在"></label-box>
268
                   </div>
267
                   </div>
269
                 </td>
268
                 </td>
270
-                <td width="50"></td>
269
+                <td width="30"></td>
270
+                <td width="40">外露:</td>
271
+                <td width='50'>
272
+                  <div class="under-line">
273
+                    &nbsp;{{ predialysis.exposed ? predialysis.exposed : '' }}
274
+                  </div>
275
+                </td>
276
+                <td width='10'>ml</td>
277
+                <td width="30"></td>
271
 
278
 
272
                 <td width="95">内瘘皮肤情况:</td>
279
                 <td width="95">内瘘皮肤情况:</td>
273
                 <td width="220">
280
                 <td width="220">
286
               </tbody>
293
               </tbody>
287
             </table>
294
             </table>
288
 
295
 
289
-            <table class="table-box">
296
+            <!-- <table class="table-box">
290
               <tbody>
297
               <tbody>
291
                 <tr>
298
                 <tr>
292
                   <td width="40">皮肤:</td>
299
                   <td width="40">皮肤:</td>
311
                       &nbsp;
318
                       &nbsp;
312
                     </div>
319
                     </div>
313
                   </td>
320
                   </td>
314
-                  <!-- <td width="10">)</td> -->
315
                 </tr>
321
                 </tr>
316
               </tbody>
322
               </tbody>
317
-            </table>
323
+            </table> -->
318
 
324
 
319
             <table class="table-box">
325
             <table class="table-box">
320
               <tbody>
326
               <tbody>
382
       <table class="print-table" border="1">
388
       <table class="print-table" border="1">
383
         <tbody>
389
         <tbody>
384
         <tr>
390
         <tr>
385
-          <td width="30px" class="title-box">专科记录</td>
391
+          <td width="30px" style="line-height:25px;" class="title-box">专科记录</td>
386
           <td>
392
           <td>
387
             <table class="table-box">
393
             <table class="table-box">
388
               <tbody>
394
               <tbody>
418
                 </td>
424
                 </td>
419
                 <td width="35">min</td>
425
                 <td width="35">min</td>
420
                 <td></td>
426
                 <td></td>
427
+                <td width="70">血流量:</td>
428
+                <td width="50">
429
+                  <div class="under-line">
430
+                    &nbsp;{{prescription.blood_flow_volume?prescription.blood_flow_volume:''}}
431
+                  </div>
432
+                </td>
433
+                <td width="20">ml/min</td>
421
                 <td width=""></td>
434
                 <td width=""></td>
422
               </tr>
435
               </tr>
423
               </tbody>
436
               </tbody>
474
                 <td width="75">
487
                 <td width="75">
475
                   <label-box :isChecked="(prescription.anticoagulant == 3 || prescription.anticoagulant == 6 || prescription.anticoagulant == 7)  ? true : false" showValue="低分子:"></label-box>
488
                   <label-box :isChecked="(prescription.anticoagulant == 3 || prescription.anticoagulant == 6 || prescription.anticoagulant == 7)  ? true : false" showValue="低分子:"></label-box>
476
                 </td>
489
                 </td>
477
-
490
+                <td width="10">(</td>
491
+                <td width="80">
492
+                  <label-box :isChecked="prescription.anticoagulant == 6 ? true : false" showValue="钙"></label-box>
493
+                  <label-box :isChecked="prescription.anticoagulant == 7 ? true : false" showValue="钠"></label-box>
494
+                </td>
495
+                <td width="10">)</td>
478
                 <td width="60">
496
                 <td width="60">
479
                   <div class="under-line">
497
                   <div class="under-line">
480
                     &nbsp;
498
                     &nbsp;
515
                   <div class="under-line" >
533
                   <div class="under-line" >
516
                     &nbsp;
534
                     &nbsp;
517
                     <span v-if="prescription.anticoagulant == 2">{{ prescription.anticoagulant_weichi ? prescription.anticoagulant_weichi : "/" }}</span>
535
                     <span v-if="prescription.anticoagulant == 2">{{ prescription.anticoagulant_weichi ? prescription.anticoagulant_weichi : "/" }}</span>
518
-
536
+                    
519
                   </div>
537
                   </div>
520
                 </td>
538
                 </td>
521
                 <td width="40">
539
                 <td width="40">
548
               <tbody>
566
               <tbody>
549
               <tr>
567
               <tr>
550
                 <td width="85">透析液配方:</td>
568
                 <td width="85">透析液配方:</td>
551
-                <td width="100">
552
-                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('常规') > -1 ? true : false" showValue="普通透析液"></label-box>
553
-                </td>
554
-                <td width="10"></td>
555
-                <td width="50">
556
-                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('低钙') > -1 ? true : false" showValue="低钙"></label-box>
557
-                </td>
558
-                <td width="120">
559
-                  (
560
-                  <label class="radio-lebel-box">
561
-                    <span> 1.25mmol/L</span>
562
-                  </label>
563
-                  )
564
-                </td>
565
                 <td width="50">
569
                 <td width="50">
566
-                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('高钙') > -1 ? true : false" showValue="高钙"></label-box>
570
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('常规') > -1 ? true : prescription.dialysate_formulation_name.indexOf('低钙') > -1 ? true : prescription.dialysate_formulation_name.indexOf('高钾') > -1 ? true : false" showValue="钙"></label-box>
567
                 </td>
571
                 </td>
568
-                <td width="120">
569
-                  ( 1.75mmol/L )
572
+                <td width="10">(</td>
573
+                <td width="100">
574
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('常规') > -1 ? true : prescription.dialysate_formulation_name.indexOf('高钾') > -1 ? true : false" showValue="1.5"></label-box>
575
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('低钙') > -1 ? true : false" showValue="1.25"></label-box>
570
                 </td>
576
                 </td>
577
+                <td width="10">)</td>
578
+                <td width="10">mmol/L</td>
571
                 <td width="50">
579
                 <td width="50">
572
-                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('高钾') > -1 ? true : false" showValue="高钾"></label-box>
580
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('常规') > -1 ? true : prescription.dialysate_formulation_name.indexOf('低钙') > -1 ? true : prescription.dialysate_formulation_name.indexOf('高钾') > -1 ? true : false" showValue="钾"></label-box>
573
                 </td>
581
                 </td>
574
                 <td width="10">(</td>
582
                 <td width="10">(</td>
575
-                <td width="50">
576
-                  <div class="under-line">&nbsp;</div>
583
+                <td width="100">
584
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('常规') > -1 ? true : prescription.dialysate_formulation_name.indexOf('低钙') > -1 ? true : false" showValue="2.0"></label-box>
585
+                  <label-box :isChecked="prescription.dialysate_formulation_name.indexOf('高钾') > -1 ? true : false" showValue="2.5"></label-box>
577
                 </td>
586
                 </td>
578
-                <td width="10">mmol/L</td>
579
                 <td width="10">)</td>
587
                 <td width="10">)</td>
588
+                <td width="10">mmol/L</td>
589
+                
580
                 <td></td>
590
                 <td></td>
581
               </tr>
591
               </tr>
582
               </tbody>
592
               </tbody>
583
             </table>
593
             </table>
584
-
585
-            <table class="table-box">
586
-              <tbody>
587
-              <tr>
588
-                <td width="40">其他:</td>
589
-                <td width="">
590
-                  <div class="under-line">&nbsp;</div>
591
-                </td>
592
-              </tr>
593
-              </tbody>
594
-            </table>
595
           </td>
594
           </td>
596
         </tr>
595
         </tr>
597
         </tbody>
596
         </tbody>
604
             透析监测
603
             透析监测
605
           </td>
604
           </td>
606
 
605
 
607
-          <td width="100">时间</td>
608
-          <td width="40" style="line-height:20px">T<br />℃</td>
609
-          <td width="80" style="line-height:20px">Bp<br />mmHg</td>
610
-          <td width="40" style="line-height:20px">P<br />次/分</td>
611
-          <td width="60" style="line-height:20px">R<br />次/分</td>
612
-          <td width="80" style="line-height:20px">静脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
613
-          <td width="80" style="line-height:20px">TMP<br />{{monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
606
+          <td width="60">时间</td>
607
+          <td width="80" style="line-height:20px">血压<br />mmHg</td>
608
+          <td width="40" style="line-height:20px">脉搏<br />次/分</td>
609
+          <td width="40" style="line-height:20px">体温<br />℃</td>
610
+          <td width="60" style="line-height:20px">呼吸<br />次/分</td>
614
           <td width="60" style="line-height:20px">血流量<br />ml/min</td>
611
           <td width="60" style="line-height:20px">血流量<br />ml/min</td>
612
+          <td width="80" style="line-height:20px">静脉压<br />{{monitors[0] && monitors[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
613
+          <td width="80" style="line-height:20px">跨膜压<br />{{monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}}</td>
614
+          <td width="60" style="line-height:20px">超滤量<br />L</td>
615
+          <td width="60" style="line-height:20px">钠浓度<br />mmol/L</td>
615
           <td width="60" style="line-height:20px">电导度<br />mS/cm</td>
616
           <td width="60" style="line-height:20px">电导度<br />mS/cm</td>
616
-
617
+          <td width="40" style="line-height:20px">机温<br />℃</td>
617
           <td width="" style="line-height:20px">病情变化及处理</td>
618
           <td width="" style="line-height:20px">病情变化及处理</td>
619
+          <td width="60" style="line-height:20px">护士签名</td>
618
         </tr>
620
         </tr>
619
 
621
 
620
         <tr v-for="monitor in monitors" :key="monitor.id">
622
         <tr v-for="monitor in monitors" :key="monitor.id">
622
             &nbsp;
624
             &nbsp;
623
             {{ getTime(monitor.operate_time, "{h}:{i}") }}
625
             {{ getTime(monitor.operate_time, "{h}:{i}") }}
624
           </td>
626
           </td>
625
-          <td>&nbsp;{{ monitor.temperature ? monitor.temperature : "" }}</td>
626
           <td>
627
           <td>
627
             &nbsp;{{ monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : "" }}/
628
             &nbsp;{{ monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : "" }}/
628
             {{ monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : "" }}
629
             {{ monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : "" }}
630
           <td>
631
           <td>
631
             &nbsp;{{ monitor.pulse_frequency ? monitor.pulse_frequency : "" }}
632
             &nbsp;{{ monitor.pulse_frequency ? monitor.pulse_frequency : "" }}
632
           </td>
633
           </td>
634
+          <td>&nbsp;{{ monitor.temperature ? monitor.temperature : "" }}</td>
633
           <td>
635
           <td>
634
             &nbsp;{{ monitor.breathing_rate ? monitor.breathing_rate : "" }}
636
             &nbsp;{{ monitor.breathing_rate ? monitor.breathing_rate : "" }}
635
           </td>
637
           </td>
636
-
637
-          <td v-if="isShowZero && monitor.operate_time">
638
-            &nbsp;{{ monitor.venous_pressure ? monitor.venous_pressure : 0 }}
638
+          <td>
639
+            &nbsp;{{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }}
639
           </td>
640
           </td>
640
-          <td v-else>
641
+          <td>
641
             &nbsp;{{ monitor.venous_pressure ? monitor.venous_pressure : "" }}
642
             &nbsp;{{ monitor.venous_pressure ? monitor.venous_pressure : "" }}
642
           </td>
643
           </td>
643
-          <td v-if="isShowZero && monitor.operate_time">
644
+          <td>
644
             &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
645
             &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
645
           </td>
646
           </td>
646
-          <td v-else>
647
-            &nbsp;{{ monitor.transmembrane_pressure ? monitor.transmembrane_pressure : "" }}
647
+          <td>
648
+            &nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
648
           </td>
649
           </td>
649
           <td>
650
           <td>
650
-            &nbsp;{{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "" }}
651
-            <!-- {{ monitor.venous_pressure ? monitor.venous_pressure : "" }} -->
651
+            &nbsp;{{ monitor.sodium_concentration ? monitor.sodium_concentration : "" }}
652
           </td>
652
           </td>
653
           <td>
653
           <td>
654
             &nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}
654
             &nbsp;{{ monitor.conductivity ? monitor.conductivity : "" }}
655
           </td>
655
           </td>
656
-
656
+          <td>
657
+            &nbsp;{{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "" }}
658
+          </td>
659
+     
657
           <td>
660
           <td>
658
             &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
661
             &nbsp;{{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{ monitor.result }}
659
           </td>
662
           </td>
663
+          <td>
664
+            <span v-if="setAdminUserES(monitor.monitoring_nurse) == ''">
665
+              {{ getAdminUser(monitor.monitoring_nurse) }}
666
+            </span>
667
+            <span v-else style="display:flex;align-items:center;justify-content:space-around;height:36px;">
668
+              <img style="height:30px;" :src="setAdminUserES(monitor.monitoring_nurse)" alt srcset />
669
+            </span>
670
+          </td>
660
         </tr>
671
         </tr>
661
         </tbody>
672
         </tbody>
662
       </table>
673
       </table>
663
       <table class="print-table" border="1">
674
       <table class="print-table" border="1">
664
         <tbody>
675
         <tbody>
665
-
676
+       
666
         <tr style="line-height:35px;padding:8px 5px;">
677
         <tr style="line-height:35px;padding:8px 5px;">
667
           <td style="font-size: 16px" width="30" :rowspan="doctor_advices.length + 1">
678
           <td style="font-size: 16px" width="30" :rowspan="doctor_advices.length + 1">
668
             医嘱内容
679
             医嘱内容
671
           <td style="font-size: 16px" colspan="2">医嘱内容</td>
682
           <td style="font-size: 16px" colspan="2">医嘱内容</td>
672
           <td style="font-size: 16px" width="10%">医生签名</td>
683
           <td style="font-size: 16px" width="10%">医生签名</td>
673
           <!-- <td style="font-size: 16px" width="10%">核对人签名</td> -->
684
           <!-- <td style="font-size: 16px" width="10%">核对人签名</td> -->
674
-          <td style="font-size: 16px" width="10%">执行人签名</td>
685
+          <td style="font-size: 16px" width="14%">核对人/执行人</td>
675
           <td style="font-size: 16px" width="10%">时间</td>
686
           <td style="font-size: 16px" width="10%">时间</td>
676
         </tr>
687
         </tr>
677
         <!-- <template v-for="group in doctor_advices" > -->
688
         <!-- <template v-for="group in doctor_advices" > -->
700
           <td height="40px">
711
           <td height="40px">
701
             <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
712
             <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
702
             <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt srcset v-else />
713
             <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt srcset v-else />
714
+            /
715
+            <span v-if="setAdminUserES(advice.checker) == ''">
716
+              {{ getAdminUser(advice.checker) }}
717
+            </span>
718
+            <span v-else style="display:flex;align-items:center;justify-content:space-around;height:36px;">
719
+              <img style="height:30px;" :src="setAdminUserES(advice.checker)" alt srcset />
720
+            </span>
703
           </td>
721
           </td>
704
           <td height="40px">
722
           <td height="40px">
705
             <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
723
             <span v-if="advice.execution_time">{{ getTime(advice.execution_time, "{h}:{i}") }}</span>
716
               <table class="table-box">
734
               <table class="table-box">
717
                 <tbody>
735
                 <tbody>
718
                 <tr>
736
                 <tr>
719
-                  <td width="70">拔针压迫:</td>
720
-                  <td width="350">
721
-                    <div style="display:flex;justify-content:space-between;">
722
-                      <label-box showValue="自己压迫" :isChecked="afterdialysis.hemostasis_opera == 3 ? true : false"></label-box>
723
-                      &nbsp;
724
-                      <label-box showValue="他人协助" :isChecked="afterdialysis.hemostasis_opera == 2 ? true : false"></label-box>
725
-                      &nbsp;
726
-                      <label-box showValue="需要护士" :isChecked="afterdialysis.hemostasis_opera == 1 ? true : false"></label-box>
727
-                      <label-box showValue="内瘘止血带" :isChecked="afterdialysis.hemostasis_opera == 4 ? true : false"></label-box>
728
-                    </div>
729
-                  </td>
730
-                  <td width="50"></td>
731
                   <td width="70">内瘘震颤:</td>
737
                   <td width="70">内瘘震颤:</td>
732
                   <td width="200">
738
                   <td width="200">
733
                     <div style="display:flex;justify-content:space-between;">
739
                     <div style="display:flex;justify-content:space-between;">
894
                 </tr>
900
                 </tr>
895
                 </tbody>
901
                 </tbody>
896
               </table>
902
               </table>
897
-
898
               <table class="table-box">
903
               <table class="table-box">
899
                 <tbody>
904
                 <tbody>
900
-                  <tr>
901
-                    <td width="40">去向:</td>
902
-                    <td width="160">
903
-                      <div style="display:flex;justify-content:space-between;">
904
-                        <label-box :isChecked="afterdialysis.patient_gose == 1 ? true : false" showValue="回家"></label-box>
905
-                        <label-box :isChecked="afterdialysis.patient_gose == 2 ? true : false" showValue="留观"></label-box>
906
-                        <label-box :isChecked="afterdialysis.patient_gose == 3 ? true : false" showValue="住院"></label-box>
907
-                      </div>
908
-                    </td>
909
-                    <td>
910
-                      <div class="under-line">&nbsp;</div>
911
-                    </td>
912
-                  </tr>
905
+                <tr>
906
+                  <td width="70">透析小结:</td>
907
+                  <td style="text-align:left">
908
+                    <span>{{ summary.dialysis_summary ? summary.dialysis_summary : "" }}</span>
909
+                  </td>
910
+                </tr>
913
                 </tbody>
911
                 </tbody>
914
               </table>
912
               </table>
915
             </td>
913
             </td>
920
       <table class="table-box" style="margin-top: 10px;">
918
       <table class="table-box" style="margin-top: 10px;">
921
         <tbody>
919
         <tbody>
922
         <tr>
920
         <tr>
923
-          <td width="300"></td>
921
+          <td width="150"></td>
924
           <td width="30">医生</td>
922
           <td width="30">医生</td>
925
           <td width="80">
923
           <td width="80">
926
             <div class="under-line">
924
             <div class="under-line">
929
               <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt="" srcset="" v-else  />
927
               <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt="" srcset="" v-else  />
930
             </div>
928
             </div>
931
           </td>
929
           </td>
932
-          <td width="50">治疗护士</td>
930
+          <td width="50">上机护士</td>
933
           <td width="80">
931
           <td width="80">
934
             <div class="under-line">
932
             <div class="under-line">
935
               &nbsp;
933
               &nbsp;
936
-              <span v-if="doctor_advices.length > 0">
937
-                <span v-if="setAdminUserES(doctor_advices[0].execution_staff) == ''">{{ getAdminUser(doctor_advices[0].execution_staff) }}</span>
938
-                <img class="es-img" style="height:30px;" :src="setAdminUserES(doctor_advices[0].execution_staff)" alt="" srcset="" v-else />
939
-              </span>
934
+              <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.start_nurse)}}</span>
935
+              <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse)" alt="" srcset="" v-else>
936
+            </div>
937
+          </td>
938
+          <td width="50">看机护士</td>
939
+          <td width="80">
940
+            <div class="under-line">
941
+              &nbsp;
942
+              <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.start_nurse)}}</span>
943
+              <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse)" alt="" srcset="" v-else>
944
+            </div>
945
+          </td>
946
+          <td width="50">穿刺护士</td>
947
+          <td width="80">
948
+            <div class="under-line">
949
+              &nbsp;
950
+              <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.puncture_nurse)}}</span>
951
+              <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse)" alt="" srcset="" v-else>
940
             </div>
952
             </div>
941
           </td>
953
           </td>
942
           <td width="50">核对护士</td>
954
           <td width="50">核对护士</td>
1353
             }
1365
             }
1354
 
1366
 
1355
             this.advices = response.data.data.advices
1367
             this.advices = response.data.data.advices
1356
-            // console.log('hhhhhhhhhhhh', this.advices)
1368
+            console.log('hhhhhhhhhhhh', this.advices)
1357
             this.monitors = response.data.data.monitors
1369
             this.monitors = response.data.data.monitors
1358
-            // console.log('哈哈哈哈哈哈哈', this.monitors)
1359
-            // console.log(response.data.data)
1370
+            console.log('哈哈哈哈哈哈哈', this.monitors)
1371
+            console.log(response.data.data)
1360
             this.summary = response.data.data.summary
1372
             this.summary = response.data.data.summary
1361
             this.org_template_info = response.data.data.org_template_info
1373
             this.org_template_info = response.data.data.org_template_info
1362
             // 配置超滤量和置换量是否要显示0还是空
1374
             // 配置超滤量和置换量是否要显示0还是空

+ 94 - 16
src/xt_pages/qcd/workAnalysis/doctor.vue View File

1
 <template>
1
 <template>
2
-  <div class="main-contain">
3
-    <div class="position">
4
-      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
-    </div>
6
-    <div class="app-container">
7
-      <div class="page_workAnalysis">
8
-        <el-tabs v-model="activeName" @tab-click="handleClick">
9
-          <el-tab-pane label="医生" name="first"></el-tab-pane>
10
-          <el-tab-pane label="护士" name="second"></el-tab-pane>
11
-        </el-tabs>
2
+  <div>
12
         <div class="cell clearfix">
3
         <div class="cell clearfix">
13
           <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeDoctor"
4
           <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeDoctor"
14
           >
5
           >
32
               :value="item.value"
23
               :value="item.value"
33
             ></el-option>
24
             ></el-option>
34
           </el-select>
25
           </el-select>
26
+          <label class="title">
27
+            <span class="name">月份查询</span> :
28
+          </label>
29
+          <el-date-picker
30
+            @change='changeMonth'
31
+            v-model="monthValue"
32
+            type="month"
33
+            placeholder="选择月">
34
+          </el-date-picker>
35
           <label class="title">
35
           <label class="title">
36
             <span class="name">日期查询</span> :
36
             <span class="name">日期查询</span> :
37
           </label>
37
           </label>
38
           <el-date-picker
38
           <el-date-picker
39
-            v-model="query.start_time"
39
+            v-model="start_time"
40
             prefix-icon="el-icon-date"
40
             prefix-icon="el-icon-date"
41
             @change="changeTime"
41
             @change="changeTime"
42
             :editable="false"
42
             :editable="false"
50
           ></el-date-picker>
50
           ></el-date-picker>
51
           <span class>-</span>
51
           <span class>-</span>
52
           <el-date-picker
52
           <el-date-picker
53
-            v-model="query.end_time"
53
+            v-model="end_time"
54
             prefix-icon="el-icon-date"
54
             prefix-icon="el-icon-date"
55
             @change="changeEndTime"
55
             @change="changeEndTime"
56
             :editable="false"
56
             :editable="false"
113
           </el-table>
113
           </el-table>
114
 
114
 
115
         </div>
115
         </div>
116
-      </div>
117
-    </div>
118
   </div>
116
   </div>
119
 </template>
117
 </template>
120
 
118
 
121
 <script>
119
 <script>
120
+const moment = require('moment')
122
 import echarts from "echarts";
121
 import echarts from "echarts";
123
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
122
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
124
 import LineChart from "../../qcd/components/LineChart";
123
 import LineChart from "../../qcd/components/LineChart";
152
         limit:20,
151
         limit:20,
153
         page:1,
152
         page:1,
154
       },
153
       },
155
-
154
+      start_time:'',
155
+      end_time:'',
156
+      monthValue:'',
156
 
157
 
157
       doctor_options:[
158
       doctor_options:[
158
         {id:0,user_name:"全部",admin_user_id:0}
159
         {id:0,user_name:"全部",admin_user_id:0}
354
       return new Date(time).getTime() / 1000;
355
       return new Date(time).getTime() / 1000;
355
     },
356
     },
356
     changeTime(val) {
357
     changeTime(val) {
358
+      this.query.end_time = ''
357
       var time = this.getTimestamp(val) - this.getTimestamp(this.query.end_time);
359
       var time = this.getTimestamp(val) - this.getTimestamp(this.query.end_time);
358
       if (time > 0) {
360
       if (time > 0) {
359
         this.$message.error("结束时间不能小于开始时间");
361
         this.$message.error("结束时间不能小于开始时间");
361
       } else {
363
       } else {
362
         // this.getDialysisList()
364
         // this.getDialysisList()
363
         this.query.page = 1;
365
         this.query.page = 1;
366
+        this.query.start_time = val
367
+        this.query.end_time = this.end_time
368
+        this.monthValue = ''
369
+        sessionStorage.setItem("doctor_start_time", val)
370
+        sessionStorage.removeItem("doctorMonth");
364
         this.GetDoctorWorkloadChartData(this.query)
371
         this.GetDoctorWorkloadChartData(this.query)
365
         this.GetDoctorWorkloadTableData(this.query)
372
         this.GetDoctorWorkloadTableData(this.query)
366
 
373
 
411
         this.$message.error("结束时间不能小于开始时间");
418
         this.$message.error("结束时间不能小于开始时间");
412
         this.query.end_time = "";
419
         this.query.end_time = "";
413
       } else {
420
       } else {
421
+        this.query.start_time = this.start_time
422
+        this.query.end_time = val
423
+        this.monthValue = ''
414
         this.query.page = 1;
424
         this.query.page = 1;
425
+        sessionStorage.setItem("doctor_end_time", val)
426
+        sessionStorage.removeItem("doctorMonth");
415
         this.GetDoctorWorkloadChartData(this.query)
427
         this.GetDoctorWorkloadChartData(this.query)
416
         this.GetDoctorWorkloadTableData(this.query)
428
         this.GetDoctorWorkloadTableData(this.query)
417
 
429
 
430
         var dataZoom_end = 100;
442
         var dataZoom_end = 100;
431
         this.bar.dataZoom[0].end = dataZoom_end
443
         this.bar.dataZoom[0].end = dataZoom_end
432
       }
444
       }
433
-    }
445
+    },
446
+    changeMonth(value){
447
+      sessionStorage.removeItem("doctor_start_time");
448
+      sessionStorage.removeItem("doctor_end_time");
449
+      let monthStartTime = value.getTime() / 1000
450
+      var nowDate = new Date(value);
451
+      var cloneNowDate = new Date(value);
452
+      var fullYear = nowDate.getFullYear();
453
+      var month = nowDate.getMonth() + 1; // getMonth 方法返回 0-11,代表1-12月
454
+      var endOfMonth = new Date(fullYear, month, 0).getDate(); // 获取本月最后一天
455
+      let monthEndTime = this.getFullDate(cloneNowDate.setDate(endOfMonth))
456
+      this.query.start_time = moment(new Date(monthStartTime * 1000)).format('YYYY-MM-DD')
457
+      this.query.end_time = moment(new Date(monthEndTime)).format('YYYY-MM-DD')
458
+      this.end_time = ''
459
+      this.start_time = ''
460
+      sessionStorage.setItem("doctorMonth", monthStartTime);
461
+      this.GetDoctorWorkloadChartData(this.query)
462
+      this.GetDoctorWorkloadTableData(this.query)
463
+    },
464
+    getFullDate(targetDate) {
465
+      var D, y, m, d;
466
+      if (targetDate) {
467
+        D = new Date(targetDate);
468
+        y = D.getFullYear();
469
+        m = D.getMonth() + 1;
470
+        d = D.getDate();
471
+      } else {
472
+        y = fullYear;
473
+        m = month;
474
+        d = date;
475
+      }
476
+      m = m > 9 ? m : '0' + m;
477
+      d = d > 9 ? d : '0' + d;
478
+      return y + '-' + m + '-' + d;
479
+    },
434
   },created(){
480
   },created(){
435
     var date = new Date()
481
     var date = new Date()
436
     var year = date.getFullYear() //获取完整的年份(4位)
482
     var year = date.getFullYear() //获取完整的年份(4位)
441
     this.query.end_time = year + '-' + month + '-' + day
487
     this.query.end_time = year + '-' + month + '-' + day
442
     this.query.start_time = year + '-' + last_month + '-' + day
488
     this.query.start_time = year + '-' + last_month + '-' + day
443
     this.query.statistics_type = 1
489
     this.query.statistics_type = 1
490
+
491
+    this.start_time = this.query.start_time
492
+    this.end_time = this.query.end_time
493
+
494
+
495
+    if(sessionStorage.getItem("doctor_start_time") == null){
496
+      sessionStorage.setItem("doctor_start_time", this.start_time);
497
+    }else{
498
+      this.start_time = sessionStorage.getItem("doctor_start_time")
499
+      this.query.start_time = sessionStorage.getItem("doctor_start_time")
500
+    }
501
+    if(sessionStorage.getItem("doctor_end_time") == null){
502
+      sessionStorage.setItem("doctor_end_time", this.end_time);
503
+    }else{
504
+      this.end_time = sessionStorage.getItem("doctor_end_time")
505
+      this.query.end_time = sessionStorage.getItem("doctor_end_time")
506
+    }
507
+    if(sessionStorage.getItem("doctorMonth") != null){
508
+      let value = parseInt(sessionStorage.getItem("doctorMonth")) * 1000
509
+      let monthStartTime = new Date(value)
510
+      this.monthValue = monthStartTime
511
+      var nowDate = new Date(value);
512
+      var cloneNowDate = new Date(value);
513
+      var fullYear = nowDate.getFullYear();
514
+      var month = nowDate.getMonth() + 1; // getMonth 方法返回 0-11,代表1-12月
515
+      var endOfMonth = new Date(fullYear, month, 0).getDate(); // 获取本月最后一天
516
+      let monthEndTime = this.getFullDate(cloneNowDate.setDate(endOfMonth))
517
+      this.query.start_time = moment(new Date(monthStartTime)).format('YYYY-MM-DD')
518
+      this.query.end_time = moment(new Date(monthEndTime)).format('YYYY-MM-DD')
519
+      this.start_time = ''
520
+      this.end_time = ''
521
+    }
444
     this.GetAllDoctor()
522
     this.GetAllDoctor()
445
     this.GetDoctorWorkloadChartData(this.query)
523
     this.GetDoctorWorkloadChartData(this.query)
446
     this.GetDoctorWorkloadTableData(this.query)
524
     this.GetDoctorWorkloadTableData(this.query)

+ 42 - 0
src/xt_pages/qcd/workAnalysis/index.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div class="page_workAnalysis">
8
+        <el-tabs v-model="activeName">
9
+          <el-tab-pane label="医生" name="first">
10
+              <doctor v-if="activeName == 'first'"></doctor>
11
+          </el-tab-pane>
12
+          <el-tab-pane label="护士" name="second">
13
+              <nurse v-if="activeName == 'second'"></nurse>
14
+          </el-tab-pane>
15
+        </el-tabs>
16
+      </div>
17
+    </div>
18
+  </div>
19
+</template>
20
+
21
+
22
+<script>
23
+import doctor from './doctor'
24
+import nurse from './nurse'
25
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
26
+export default {
27
+    components:{
28
+        doctor,
29
+        nurse,
30
+        BreadCrumb
31
+    },
32
+    data(){
33
+        return{
34
+            crumbs: [
35
+                { path: false, name: "质控管理" },
36
+                { path: false, name: "工作量分析统计" }
37
+            ],
38
+            activeName:'first'
39
+        }
40
+    }
41
+}
42
+</script>

+ 98 - 16
src/xt_pages/qcd/workAnalysis/nurse.vue View File

1
 <template>
1
 <template>
2
-  <div class="main-contain">
3
-    <div class="position">
4
-      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
-    </div>
6
-    <div class="app-container">
7
-      <div class="page_workAnalysis">
8
-        <el-tabs v-model="activeName" @tab-click="handleClick">
9
-          <el-tab-pane label="医生" name="first"></el-tab-pane>
10
-          <el-tab-pane label="护士" name="second"></el-tab-pane>
11
-        </el-tabs>
2
+    <div>
12
         <div class="cell clearfix">
3
         <div class="cell clearfix">
13
           <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeNurse"
4
           <el-select v-model="query.admin_user_id" placeholder="请选择" style="width:120px;margin-right:10px"               @change="changeNurse"
14
           >
5
           >
32
               :value="item.value"
23
               :value="item.value"
33
             ></el-option>
24
             ></el-option>
34
           </el-select>
25
           </el-select>
26
+          <label class="title">
27
+            <span class="name">月份查询</span> :
28
+          </label>
29
+          <el-date-picker
30
+            @change='changeMonth'
31
+            v-model="monthValue"
32
+            type="month"
33
+            placeholder="选择月">
34
+          </el-date-picker>
35
           <label class="title">
35
           <label class="title">
36
             <span class="name">日期查询</span> :
36
             <span class="name">日期查询</span> :
37
           </label>
37
           </label>
38
           <el-date-picker
38
           <el-date-picker
39
-            v-model="query.start_time"
39
+            v-model="start_time"
40
             prefix-icon="el-icon-date"
40
             prefix-icon="el-icon-date"
41
             @change="changeTime"
41
             @change="changeTime"
42
             :editable="false"
42
             :editable="false"
50
           ></el-date-picker>
50
           ></el-date-picker>
51
           <span class>-</span>
51
           <span class>-</span>
52
           <el-date-picker
52
           <el-date-picker
53
-            v-model="query.end_time"
53
+            v-model="end_time"
54
             prefix-icon="el-icon-date"
54
             prefix-icon="el-icon-date"
55
             @change="changeEndTime"
55
             @change="changeEndTime"
56
             :editable="false"
56
             :editable="false"
148
               </template>
148
               </template>
149
             </el-table-column>
149
             </el-table-column>
150
           </el-table>
150
           </el-table>
151
-
152
-        </div>
153
-      </div>
154
     </div>
151
     </div>
155
   </div>
152
   </div>
156
 </template>
153
 </template>
157
 <script>
154
 <script>
155
+  const moment = require('moment')
158
   import echarts from "echarts";
156
   import echarts from "echarts";
159
   import BreadCrumb from "@/xt_pages/components/bread-crumb";
157
   import BreadCrumb from "@/xt_pages/components/bread-crumb";
160
   import LineChart from "../../qcd/components/LineChart";
158
   import LineChart from "../../qcd/components/LineChart";
187
           limit:20,
185
           limit:20,
188
           page:1,
186
           page:1,
189
         },
187
         },
188
+        start_time:'',
189
+        end_time:'',
190
+        monthValue:'',
190
         nurse_options:[
191
         nurse_options:[
191
           {id:0,user_name:"全部",admin_user_id:0}
192
           {id:0,user_name:"全部",admin_user_id:0}
192
         ],
193
         ],
383
         return new Date(time).getTime() / 1000;
384
         return new Date(time).getTime() / 1000;
384
       },
385
       },
385
       changeTime(val) {
386
       changeTime(val) {
387
+        this.query.end_time = ''
386
         var time = this.getTimestamp(val) - this.getTimestamp(this.query.end_time);
388
         var time = this.getTimestamp(val) - this.getTimestamp(this.query.end_time);
387
         if (time > 0) {
389
         if (time > 0) {
388
           this.$message.error("结束时间不能小于开始时间");
390
           this.$message.error("结束时间不能小于开始时间");
389
           this.query.start_time = "";
391
           this.query.start_time = "";
390
         } else {
392
         } else {
391
           // this.getDialysisList()
393
           // this.getDialysisList()
394
+          console.log(val)
392
           this.query.page = 1;
395
           this.query.page = 1;
396
+          this.query.start_time = val
397
+          this.query.end_time = this.end_time
398
+          this.monthValue = ''
399
+          sessionStorage.setItem("nurse_start_time", val)
400
+          sessionStorage.removeItem("nurseMonth");
393
           this.GetNurseWorkloadChartData(this.query)
401
           this.GetNurseWorkloadChartData(this.query)
394
           this.GetNurseWorkloadTableData(this.query)
402
           this.GetNurseWorkloadTableData(this.query)
395
 
403
 
433
           this.$message.error("结束时间不能小于开始时间");
441
           this.$message.error("结束时间不能小于开始时间");
434
           this.query.end_time = "";
442
           this.query.end_time = "";
435
         } else {
443
         } else {
444
+          this.query.start_time = this.start_time
445
+          this.query.end_time = val
446
+          this.monthValue = ''
436
           this.query.page = 1;
447
           this.query.page = 1;
448
+          sessionStorage.setItem("nurse_end_time", val)
449
+          sessionStorage.removeItem("nurseMonth");
437
           this.GetNurseWorkloadChartData(this.query)
450
           this.GetNurseWorkloadChartData(this.query)
438
           this.GetNurseWorkloadTableData(this.query)
451
           this.GetNurseWorkloadTableData(this.query)
439
 
452
 
452
           var dataZoom_end = 100;
465
           var dataZoom_end = 100;
453
           this.bar.dataZoom[0].end = dataZoom_end
466
           this.bar.dataZoom[0].end = dataZoom_end
454
         }
467
         }
455
-      }
468
+      },
469
+      changeMonth(value){
470
+        // console.log('monthStartTime',value.getTime() / 1000)
471
+        sessionStorage.removeItem("nurse_start_time");
472
+        sessionStorage.removeItem("nurse_end_time");
473
+        let monthStartTime = value.getTime() / 1000
474
+        var nowDate = new Date(value);
475
+        var cloneNowDate = new Date(value);
476
+        var fullYear = nowDate.getFullYear();
477
+        var month = nowDate.getMonth() + 1; // getMonth 方法返回 0-11,代表1-12月
478
+        var endOfMonth = new Date(fullYear, month, 0).getDate(); // 获取本月最后一天
479
+        let monthEndTime = this.getFullDate(cloneNowDate.setDate(endOfMonth))
480
+        this.query.start_time = moment(new Date(monthStartTime * 1000)).format('YYYY-MM-DD')
481
+        this.query.end_time = moment(new Date(monthEndTime)).format('YYYY-MM-DD')
482
+        this.end_time = ''
483
+        this.start_time = ''
484
+        sessionStorage.setItem("nurseMonth", monthStartTime);
485
+        this.GetNurseWorkloadChartData(this.query)
486
+        this.GetNurseWorkloadTableData(this.query)
487
+      },
488
+      getFullDate(targetDate) {
489
+        var D, y, m, d;
490
+        if (targetDate) {
491
+          D = new Date(targetDate);
492
+          y = D.getFullYear();
493
+          m = D.getMonth() + 1;
494
+          d = D.getDate();
495
+        } else {
496
+          y = fullYear;
497
+          m = month;
498
+          d = date;
499
+        }
500
+        m = m > 9 ? m : '0' + m;
501
+        d = d > 9 ? d : '0' + d;
502
+        return y + '-' + m + '-' + d;
503
+      },
456
     },created(){
504
     },created(){
457
       var date = new Date()
505
       var date = new Date()
458
       var year = date.getFullYear() //获取完整的年份(4位)
506
       var year = date.getFullYear() //获取完整的年份(4位)
463
       this.query.end_time = year + '-' + month + '-' + day
511
       this.query.end_time = year + '-' + month + '-' + day
464
       this.query.start_time = year + '-' + last_month + '-' + day
512
       this.query.start_time = year + '-' + last_month + '-' + day
465
       this.query.statistics_type = 1
513
       this.query.statistics_type = 1
514
+      
515
+      this.start_time = year + '-' + last_month + '-' + day
516
+      this.end_time = year + '-' + month + '-' + day
517
+
518
+      if(sessionStorage.getItem("nurse_start_time") == null){
519
+        sessionStorage.setItem("nurse_start_time", this.start_time);
520
+      }else{
521
+        this.start_time = sessionStorage.getItem("nurse_start_time")
522
+        this.query.start_time = sessionStorage.getItem("nurse_start_time")
523
+      }
524
+      if(sessionStorage.getItem("nurse_end_time") == null){
525
+        sessionStorage.setItem("nurse_end_time", this.end_time);
526
+      }else{
527
+        this.end_time = sessionStorage.getItem("nurse_end_time")
528
+        this.query.end_time = sessionStorage.getItem("nurse_end_time")
529
+      }
530
+      if(sessionStorage.getItem("nurseMonth") != null){
531
+        console.log("tjos")
532
+        let value = parseInt(sessionStorage.getItem("nurseMonth")) * 1000
533
+        let monthStartTime = new Date(value)
534
+        this.monthValue = monthStartTime
535
+        var nowDate = new Date(value);
536
+        var cloneNowDate = new Date(value);
537
+        var fullYear = nowDate.getFullYear();
538
+        var month = nowDate.getMonth() + 1; // getMonth 方法返回 0-11,代表1-12月
539
+        var endOfMonth = new Date(fullYear, month, 0).getDate(); // 获取本月最后一天
540
+        let monthEndTime = this.getFullDate(cloneNowDate.setDate(endOfMonth))
541
+        this.query.start_time = moment(new Date(monthStartTime)).format('YYYY-MM-DD')
542
+        this.query.end_time = moment(new Date(monthEndTime)).format('YYYY-MM-DD')
543
+        this.start_time = ''
544
+        this.end_time = ''
545
+      }
546
+      // console.log('this.query2',this.query)
547
+      
466
       this.GetAllNurse()
548
       this.GetAllNurse()
467
       this.GetNurseWorkloadChartData(this.query)
549
       this.GetNurseWorkloadChartData(this.query)
468
       this.GetNurseWorkloadTableData(this.query)
550
       this.GetNurseWorkloadTableData(this.query)