Browse Source

长沙南雅打印单问题修改

28169 2 years ago
parent
commit
1a9e81e3c4
1 changed files with 787 additions and 0 deletions
  1. 787 0
      src/xt_pages/dialysis/doctorAdvicePrintOne.vue

+ 787 - 0
src/xt_pages/dialysis/doctorAdvicePrintOne.vue View File

@@ -0,0 +1,787 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;" v-show="show">
12
+            <div id="dialysisTable">
13
+                <div class="order_title_panl">
14
+                    <span class="main_title">透析医嘱</span>
15
+                </div>
16
+                <p style="width: 960px;text-align: right;margin: 0 auto 10px;">日期:{{ time }}</p>
17
+                <table class="table dialysisTable" border="1" cellspacing="0" cellpadding="0">
18
+                    <tr>
19
+                    <th width="40px">姓名</th>
20
+                   
21
+                    <th width="100px">医嘱内容</th>
22
+                    
23
+                    </tr>
24
+                    <template v-for="(schedules, zone_name, index) in scheduleMap">
25
+                    <tr :key="index">
26
+                        <td>{{ zone_name }}</td>
27
+                       
28
+                        <td></td>
29
+                       
30
+                    </tr>
31
+                    <template v-for="schedule in schedules">
32
+                        <template v-for="(group, group_index) in schedule.new_advice">
33
+                        <tr v-for="(advice, advice_index) in group.advices" :key="advice_index">
34
+                            <td
35
+                            v-if="advice_index == 0"
36
+                            :rowspan="group.advices.length"
37
+                            >{{ advice.parent_id == 0 ? schedule.patient.name : "" }}
38
+                            <br>
39
+                            ({{ advice.parent_id == 0 ? schedule.dialysis_no : ""}})
40
+                             {{getAge(schedule) }}岁
41
+                            <br>
42
+                            <span v-if="schedule.mode_id == 1">(HD)</span>
43
+                            <span v-if="schedule.mode_id == 2">(HDF)</span>
44
+                            <span v-if="schedule.mode_id == 3">(HD+HP)</span>
45
+                            <span v-if="schedule.mode_id == 4">(HP)</span>
46
+                            <span v-if="schedule.mode_id == 5">(HF)</span>
47
+                            <span v-if="schedule.mode_id == 6">(SCUF)</span>
48
+                            <span v-if="schedule.mode_id == 7">(IUF)</span>
49
+                            <span v-if="schedule.mode_id == 8">(HFHD)</span>
50
+                            <span v-if="schedule.mode_id == 9">(HFHD+HP)</span>
51
+                            <span v-if="schedule.mode_id == 10">(PHF)</span>
52
+                            <span v-if="schedule.mode_id == 11">(HFR)</span>
53
+                            <span v-if="schedule.mode_id == 12">(HDF+HP)</span>
54
+                            <span v-if="schedule.mode_id == 13">(CRRT)</span>
55
+                            <span v-if="schedule.mode_id == 14">(腹水回输)</span>
56
+                            <span v-if="schedule.mode_id == 24">I-HDF</span>
57
+                            </td>
58
+                          
59
+                   
60
+                            <td
61
+                            :class="
62
+                                advice.parent_id == 0
63
+                                ? 'advice_content'
64
+                                : 'subadvice_content'
65
+                            "
66
+                            >
67
+                            <span>{{ advice.advice_name }}</span>
68
+                           
69
+                            <span v-if="advice.single_dose">
70
+                                单次用量 {{ advice.single_dose
71
+                                }}{{ advice.single_dose_unit }}
72
+                            </span>
73
+                            <span v-if="advice.prescribing_number>0">总量:</span>
74
+                            <span v-if="advice.prescribing_number">
75
+                                {{ advice.prescribing_number
76
+                                }}{{ advice.prescribing_number_unit }}
77
+                            </span>
78
+                          
79
+                           
80
+                            </td>
81
+                           
82
+                        </tr>
83
+                        </template>
84
+                    </template>
85
+                    </template>
86
+                </table>
87
+            </div>
88
+        </div>
89
+
90
+          <div class="app-container" style="background-color: white;" v-show="showOne">
91
+            <div id="dialysisTable">
92
+                <div class="order_title_panl">
93
+                    <span class="main_title">透析医嘱</span>
94
+                </div>
95
+                <p style="width: 960px;text-align: right;margin: 0 auto 10px;">日期:{{ time }}</p>
96
+                <table class="table dialysisTable" border="1" cellspacing="0" cellpadding="0">
97
+                    <tr>
98
+                    <th width="40px">姓名</th>
99
+                    <th width="100px">医嘱内容</th>
100
+                   
101
+                    </tr>
102
+                    <template v-for="(schedules, zone_name, index) in scheduleMap">
103
+                    <tr :key="index">
104
+                        <td>{{ zone_name }}</td>
105
+                        <td></td>
106
+                    </tr>
107
+                    <template v-for="schedule in schedules">
108
+                        <template v-for="(group, group_index) in schedule.new_advice">
109
+                        <tr v-for="(advice, advice_index) in group.advices" :key="advice_index">
110
+                            <td
111
+                            v-if="advice_index == 0"
112
+                            :rowspan="group.advices.length"
113
+                            >{{ advice.parent_id == 0 ? schedule.patient.name : "" }}
114
+                            <br>
115
+                            ({{ advice.parent_id == 0 ? schedule.dialysis_no : ""}})
116
+                            {{getAge(schedule) }}岁
117
+                            <br>
118
+                            <span v-if="schedule.mode_id == 1">(HD)</span>
119
+                            <span v-if="schedule.mode_id == 2">(HDF)</span>
120
+                            <span v-if="schedule.mode_id == 3">(HD+HP)</span>
121
+                            <span v-if="schedule.mode_id == 4">(HP)</span>
122
+                            <span v-if="schedule.mode_id == 5">(HF)</span>
123
+                            <span v-if="schedule.mode_id == 6">(SCUF)</span>
124
+                            <span v-if="schedule.mode_id == 7">(IUF)</span>
125
+                            <span v-if="schedule.mode_id == 8">(HFHD)</span>
126
+                            <span v-if="schedule.mode_id == 9">(HFHD+HP)</span>
127
+                            <span v-if="schedule.mode_id == 10">(PHF)</span>
128
+                            <span v-if="schedule.mode_id == 11">(HFR)</span>
129
+                            <span v-if="schedule.mode_id == 12">(HDF+HP)</span>
130
+                            <span v-if="schedule.mode_id == 13">(CRRT)</span>
131
+                            <span v-if="schedule.mode_id == 14">(腹水回输)</span>
132
+                            <span v-if="schedule.mode_id == 24">I-HDF</span>
133
+                            </td>
134
+                           
135
+                           
136
+                            <td v-if="advice_index == 0" :rowspan="group.advices.length">
137
+                            {{
138
+                            advice.parent_id == 0
139
+                            ? parseTime(advice.start_time, "{m}-{d} {h}:{i}")
140
+                            : ""
141
+                            }}
142
+                            </td>
143
+                            <td
144
+                            :class="
145
+                                advice.parent_id == 0
146
+                                ? 'advice_content'
147
+                                : 'subadvice_content'
148
+                            "
149
+                            >
150
+                            <span>{{ advice.advice_name }}</span>
151
+                            
152
+                            <span v-if="advice.single_dose">
153
+                                单次用量 {{ advice.single_dose
154
+                                }}{{ advice.single_dose_unit }}
155
+                            </span>
156
+                            <span v-if="advice.prescribing_number>0">总量:</span>
157
+                            <span v-if="advice.prescribing_number">
158
+                                {{ advice.prescribing_number
159
+                                }}{{ advice.prescribing_number_unit }}
160
+                            </span>
161
+                           
162
+                            </td>
163
+                          
164
+                        </tr>
165
+                        </template>
166
+                    </template>
167
+                    </template>
168
+                </table>
169
+            </div>
170
+        </div>
171
+    </div>
172
+</template>
173
+
174
+<script>
175
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
176
+import { getSchedualDoctors } from '@/api/advice'
177
+import { parseTime } from '@/utils'
178
+import { jsGetAge } from "@/utils/tools";
179
+import print from 'print-js'
180
+const moment = require('moment')
181
+export default {
182
+    components:{
183
+        BreadCrumb
184
+    },
185
+    data(){
186
+        return{
187
+            crumbs: [
188
+                { path: false, name: '药品' },
189
+                { path: false, name: '打印' }
190
+            ],
191
+            tableData:[],
192
+            start_time:"",
193
+            end_time:"",
194
+            print_time:moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
195
+
196
+            zone_selected: 0,
197
+            scheduleMap:[],
198
+            time:'',
199
+            show:true,
200
+            showOne:false,
201
+            delivery_way:"",
202
+            org_id:0,
203
+        }
204
+    },
205
+    methods:{
206
+        getAge: function (val) {
207
+            var thisLen = val.patient.id_card_no.length;
208
+            var birth = "";
209
+            if (thisLen == 15) {
210
+                birth = "19" + val.patient.id_card_no.substr(6, 6);
211
+            } else {
212
+                birth = val.patient.id_card_no.substr(6, 8);
213
+            }
214
+            var birthtwo =
215
+                birth.substr(0, 4) +
216
+                "-" +
217
+                birth.substr(4, 2) +
218
+                "-" +
219
+                birth.substr(6, 2);
220
+
221
+            var age = jsGetAge(birthtwo, "-");
222
+            return age;
223
+        },
224
+        printAction: function() {
225
+            const style = '@media print { .dialysisTable{width:960px;margin: 0 auto;text-align: center;border-collapse: collapse;}.order_title_panl {text-align: center;.main_title {font-size: 18px;line-height: 40px;font-weight: 500;}}.dialysisTable tr{padding: 10px 0;}.dialysisTable th {color: #000;padding: 0;margin: 0;height: 30px;}.dialysisTable tr td {padding: 12px 0;}.subadvice_content {text-align: left;padding-left: 25px !important;padding-right: 5px !important;}.advice_content {text-align: left;padding-left: 5px !important;padding-right: 5px !important;padding: 15px 5px !important;} }'
226
+
227
+            printJS({
228
+            printable: 'dialysisTable',
229
+            type: 'html',
230
+            documentTitle: '  ',
231
+            style: style,
232
+            scanStyles: false
233
+            })
234
+        },
235
+        requestSchedualDoctors (time) {
236
+            let newTime =  moment(time).format('YYYY-MM-DD')
237
+            getSchedualDoctors({
238
+            date: newTime,
239
+            patient_type: 0,
240
+            advice_type: 2,
241
+            delivery_way:this.delivery_way,
242
+            }).then(rs => {
243
+                var resp = rs.data
244
+                if (resp.state == 1) {
245
+                this.admin_user = resp.data.adminUser
246
+                var config = resp.data.config
247
+                let project_config = resp.data.project_config
248
+                // console.log('project_config',resp.data.project_config)
249
+                if(project_config.is_open == 1){
250
+                    this.project = resp.data.project
251
+                    resp.data.hisAdvices.map((item,index) => {
252
+                    item.new_advice = item.new_advice ? item.new_advice : []
253
+                      if(this.org_id!=9671 && this.org_id!= 10318){
254
+                        if(this.project[index].project.length > 0){
255
+                            this.project[index].project.map(it => {
256
+                            let obj = {
257
+                                advice_doctor: it.doctor,
258
+                                start_time:it.start_time,
259
+                                advice_name: it.type == 2 ? it.project.project_name : it.good_info.good_name,
260
+                                execution_time:it.execution_time,
261
+                                execution_state:it.execution_state,
262
+                                execution_staff:it.execution_staff,
263
+                                check_time:it.check_time,
264
+                                check_state:it.check_state,
265
+                                checker:it.checker,
266
+                                created_time:it.ctime,
267
+                                remark:'',
268
+                                id:it.id,
269
+                                parent_id:0,
270
+                                groupno:0
271
+                            }
272
+                        
273
+                            item.doctor_advice.push(obj)
274
+                            })
275
+                        }
276
+                    }
277
+                   })
278
+                }
279
+                if(config.is_open == 0 || config.is_open == 2){
280
+
281
+                   var schedulesArr = resp.data.scheduals
282
+                   let schedules = []
283
+                   var ids = this.$store.getters.temp_params.advice_ids
284
+                   console.log('ids',ids)
285
+                   schedulesArr.map(item => {
286
+                    if(ids.indexOf(item.patient_id) > -1){
287
+                        schedules.push(item)
288
+                    }
289
+
290
+                })
291
+
292
+                for (let i = 0; i < schedules.length; i++) {
293
+                    schedules[i].dialysis_no = schedules[i].patient.dialysis_no
294
+                }
295
+
296
+
297
+                var arr = []
298
+                for (let j = 0; j < schedules.length; j++) {
299
+                    arr.push(schedules[j].dialysis_no)
300
+                }
301
+                arr.sort(function (a, b) {
302
+                    return a - b
303
+                })
304
+
305
+
306
+                var arrTwo = []
307
+                for (let i = 0; i < arr.length; i++) {
308
+                    for (let j = 0; j < schedules.length; j++) {
309
+                    if (arr[i] == schedules[j].dialysis_no) {
310
+                        arrTwo.push(schedules[j])
311
+                    }
312
+                    }
313
+                }
314
+
315
+                arrTwo.map((item, index) => {
316
+
317
+                    item.doctor_advice.sort(this.compare('start_time'))
318
+                })
319
+
320
+
321
+                const res = new Map()
322
+                let a = arrTwo.filter(
323
+                    a => !res.has(a.dialysis_no) && res.set(a.dialysis_no, 1)
324
+                )
325
+
326
+
327
+
328
+                schedules = a
329
+                var zoneMap = {}
330
+                var scheduleMap = {}
331
+                for (let index = 0; index < schedules.length; index++) {
332
+                    const schedule = schedules[index]
333
+                    if (schedule.doctor_advice.length == 0) {
334
+                    continue
335
+                    }
336
+                    if (scheduleMap[schedule.device_number.zone.name] == null) {
337
+                    scheduleMap[schedule.device_number.zone.name] = []
338
+                    }
339
+                    scheduleMap[schedule.device_number.zone.name].push(schedule)
340
+                    if (zoneMap[schedule.device_number.zone.name] == null) {
341
+                    zoneMap[schedule.device_number.zone.name] =
342
+                        schedule.device_number.zone
343
+                    }
344
+                }
345
+
346
+                var zones = []
347
+                zones.push({ value: 0, text: '全部分区' })
348
+                for (var zoneName in zoneMap) {
349
+                    zones.push({ value: zoneMap[zoneName].id, text: zoneName })
350
+                }
351
+
352
+                zones = zones.sort(function (a, b) {
353
+                    return a.value > b.value
354
+                })
355
+                this.zones = zones
356
+                for (var key in scheduleMap) {
357
+                    let mapArr = scheduleMap[key]
358
+                    for (let i = 0; i < mapArr.length; i++) {
359
+                    mapArr[i]['new_advice'] = []
360
+                    }
361
+                }
362
+
363
+                for (var key in scheduleMap) {
364
+                    let mapArr = scheduleMap[key]
365
+                    for (let i = 0; i < mapArr.length; i++) {
366
+                    var maps = mapArr[i]
367
+                    var resp_advices = maps.doctor_advice
368
+                    if (resp_advices.length > 0) {
369
+                        var newGroupObject = function () {
370
+                        return Object.assign(
371
+                            {},
372
+                            {
373
+                            group_no: 0,
374
+                            advices: []
375
+                            }
376
+                        )
377
+                        }
378
+                        var initGroupBlock = function (group, advice) {
379
+                        group.group_no = advice.groupno
380
+                        }
381
+
382
+                        var advice_groups = []
383
+                        var group = newGroupObject()
384
+                        for (let index = 0; index < resp_advices.length; index++) {
385
+                        const advice = resp_advices[index]
386
+                        if (advice.groupno == 0) {
387
+                            // 老版本的医嘱
388
+                            if (advice.parent_id > 0) {
389
+                            if (advice_groups.length > 0) {
390
+                                var parent_group = advice_groups[advice_groups.length - 1]
391
+                                if (parent_group.advices.length > 0) {
392
+                                if (parent_group.advices[0].id == advice.parent_id) {
393
+                                    parent_group.advices.push(advice)
394
+                                }
395
+                                }
396
+                            }
397
+                            continue
398
+                            } else {
399
+                            if (group.group_no > 0) {
400
+                                advice_groups.push(group)
401
+                                group = newGroupObject()
402
+                            }
403
+
404
+                            initGroupBlock(group, advice)
405
+                            group.advices.push(advice)
406
+                            advice_groups.push(group)
407
+                            group = newGroupObject()
408
+                            continue
409
+                            }
410
+                        } else {
411
+                            if (group.group_no > 0 && group.group_no != advice.groupno) {
412
+                            advice_groups.push(group)
413
+                            group = newGroupObject()
414
+                            }
415
+                            if (group.group_no == 0) {
416
+                            initGroupBlock(group, advice)
417
+                            }
418
+                            if (group.group_no == advice.groupno) {
419
+                            group.advices.push(advice)
420
+                            }
421
+                        }
422
+                        }
423
+                        if (group.group_no > 0) {
424
+                        // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加
425
+                        advice_groups.push(group)
426
+                        }
427
+                        advice_groups = advice_groups
428
+                    } else {
429
+                        advice_groups = []
430
+                    }
431
+                    maps.new_advice = advice_groups
432
+                    }
433
+                 }
434
+
435
+
436
+                 this.scheduleMap = scheduleMap
437
+                }
438
+
439
+                 if(config.is_open == 1){
440
+                   var schedulesArr = resp.data.hisAdvices
441
+                   let schedules = []
442
+                   var ids = this.$store.getters.temp_params.advice_ids
443
+                   console.log('ids',ids)
444
+                   schedulesArr.map(item => {
445
+                    if(ids.indexOf(item.patient_id) > -1){
446
+                        schedules.push(item)
447
+                    }
448
+
449
+                })
450
+
451
+                for (let i = 0; i < schedules.length; i++) {
452
+                    schedules[i].dialysis_no = schedules[i].patient.dialysis_no
453
+                }
454
+
455
+
456
+                var arr = []
457
+                for (let j = 0; j < schedules.length; j++) {
458
+                    arr.push(schedules[j].dialysis_no)
459
+                }
460
+                arr.sort(function (a, b) {
461
+                    return a - b
462
+                })
463
+
464
+
465
+                var arrTwo = []
466
+                for (let i = 0; i < arr.length; i++) {
467
+                    for (let j = 0; j < schedules.length; j++) {
468
+                    if (arr[i] == schedules[j].dialysis_no) {
469
+                        arrTwo.push(schedules[j])
470
+                    }
471
+                    }
472
+                }
473
+
474
+                arrTwo.map((item, index) => {
475
+
476
+                    item.doctor_advice.sort(this.compare('start_time'))
477
+                })
478
+
479
+
480
+                const res = new Map()
481
+                let a = arrTwo.filter(
482
+                    a => !res.has(a.dialysis_no) && res.set(a.dialysis_no, 1)
483
+                )
484
+
485
+
486
+
487
+                schedules = a
488
+                var zoneMap = {}
489
+                var scheduleMap = {}
490
+                for (let index = 0; index < schedules.length; index++) {
491
+                    const schedule = schedules[index]
492
+                    if (schedule.doctor_advice.length == 0) {
493
+                    continue
494
+                    }
495
+                    if (scheduleMap[schedule.device_number.zone.name] == null) {
496
+                    scheduleMap[schedule.device_number.zone.name] = []
497
+                    }
498
+                    scheduleMap[schedule.device_number.zone.name].push(schedule)
499
+                    if (zoneMap[schedule.device_number.zone.name] == null) {
500
+                    zoneMap[schedule.device_number.zone.name] =
501
+                        schedule.device_number.zone
502
+                    }
503
+                }
504
+
505
+                var zones = []
506
+                zones.push({ value: 0, text: '全部分区' })
507
+                for (var zoneName in zoneMap) {
508
+                    zones.push({ value: zoneMap[zoneName].id, text: zoneName })
509
+                }
510
+
511
+                zones = zones.sort(function (a, b) {
512
+                    return a.value > b.value
513
+                })
514
+                this.zones = zones
515
+                for (var key in scheduleMap) {
516
+                    let mapArr = scheduleMap[key]
517
+                    for (let i = 0; i < mapArr.length; i++) {
518
+                    mapArr[i]['new_advice'] = []
519
+                    }
520
+                }
521
+
522
+                for (var key in scheduleMap) {
523
+                    let mapArr = scheduleMap[key]
524
+                    for (let i = 0; i < mapArr.length; i++) {
525
+                    var maps = mapArr[i]
526
+                    var resp_advices = maps.doctor_advice
527
+                    if (resp_advices.length > 0) {
528
+                        var newGroupObject = function () {
529
+                        return Object.assign(
530
+                            {},
531
+                            {
532
+                            group_no: 0,
533
+                            advices: []
534
+                            }
535
+                        )
536
+                        }
537
+                        var initGroupBlock = function (group, advice) {
538
+                        group.group_no = advice.groupno
539
+                        }
540
+
541
+                        var advice_groups = []
542
+                        var group = newGroupObject()
543
+                        for (let index = 0; index < resp_advices.length; index++) {
544
+                        const advice = resp_advices[index]
545
+                        if (advice.groupno == 0) {
546
+                            // 老版本的医嘱
547
+                            if (advice.parent_id > 0) {
548
+                            if (advice_groups.length > 0) {
549
+                                var parent_group = advice_groups[advice_groups.length - 1]
550
+                                if (parent_group.advices.length > 0) {
551
+                                if (parent_group.advices[0].id == advice.parent_id) {
552
+                                    parent_group.advices.push(advice)
553
+                                }
554
+                                }
555
+                            }
556
+                            continue
557
+                            } else {
558
+                            if (group.group_no > 0) {
559
+                                advice_groups.push(group)
560
+                                group = newGroupObject()
561
+                            }
562
+
563
+                            initGroupBlock(group, advice)
564
+                            group.advices.push(advice)
565
+                            advice_groups.push(group)
566
+                            group = newGroupObject()
567
+                            continue
568
+                            }
569
+                        } else {
570
+                            if (group.group_no > 0 && group.group_no != advice.groupno) {
571
+                            advice_groups.push(group)
572
+                            group = newGroupObject()
573
+                            }
574
+                            if (group.group_no == 0) {
575
+                            initGroupBlock(group, advice)
576
+                            }
577
+                            if (group.group_no == advice.groupno) {
578
+                            group.advices.push(advice)
579
+                            }
580
+                        }
581
+                        }
582
+                        if (group.group_no > 0) {
583
+                        // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加
584
+                        advice_groups.push(group)
585
+                        }
586
+                        advice_groups = advice_groups
587
+                    } else {
588
+                        advice_groups = []
589
+                    }
590
+                    maps.new_advice = advice_groups
591
+                    }
592
+                 }
593
+
594
+
595
+                     this.scheduleMap = scheduleMap
596
+                 }
597
+
598
+
599
+                }
600
+            })
601
+        },
602
+        compare (property) {
603
+            return function (a, b) {
604
+                var value1 = a[property]
605
+                var value2 = b[property]
606
+                return value1 - value2
607
+            }
608
+        },
609
+        parseTime: function (time, layout) {
610
+            if (time == 0) {
611
+                return ''
612
+            }
613
+            return parseTime(time, layout)
614
+        },
615
+        getName (val) {
616
+            for (let i = 0; i < this.admin_user.length; i++) {
617
+                if (this.admin_user[i].id == val) {
618
+                    return this.admin_user[i].name
619
+                }
620
+            }
621
+        },
622
+    },
623
+    computed: {
624
+    filtedScheduals: function () {
625
+        var scheduleMap = new Object()
626
+        if (this.zone_selected == 0) {
627
+            for (const key in this.scheduleMap) {
628
+            scheduleMap[key] = this.scheduleMap[key]
629
+            }
630
+        } else {
631
+            var zone_name = this.zones[this.zone_selected].text
632
+            scheduleMap[zone_name] = this.scheduleMap[zone_name]
633
+        }
634
+
635
+        if (this.schedule_type_selected != 0) {
636
+            var _scheduleMap = {}
637
+            for (const key in scheduleMap) {
638
+            var origin_schedules = scheduleMap[key]
639
+            var schedules = []
640
+            for (let index = 0; index < origin_schedules.length; index++) {
641
+                const schedule = origin_schedules[index]
642
+                if (schedule.schedule_type == this.schedule_type_selected) {
643
+                schedules.push(schedule)
644
+                }
645
+            }
646
+            if (schedules.length > 0) {
647
+                _scheduleMap[key] = schedules
648
+            }
649
+            }
650
+
651
+            scheduleMap = _scheduleMap
652
+        }
653
+        for (var key in scheduleMap) {
654
+            let mapArr = scheduleMap[key]
655
+            for (let i = 0; i < mapArr.length; i++) {
656
+            mapArr[i]['new_advice'] = []
657
+            }
658
+        }
659
+
660
+        for (var key in scheduleMap) {
661
+            let mapArr = scheduleMap[key]
662
+            for (let i = 0; i < mapArr.length; i++) {
663
+            var maps = mapArr[i]
664
+            var resp_advices = maps.doctor_advice
665
+            if (resp_advices.length > 0) {
666
+                var newGroupObject = function () {
667
+                return Object.assign(
668
+                    {},
669
+                    {
670
+                    group_no: 0,
671
+                    advices: []
672
+                    }
673
+                )
674
+                }
675
+                var initGroupBlock = function (group, advice) {
676
+                group.group_no = advice.groupno
677
+                }
678
+
679
+                var advice_groups = []
680
+                var group = newGroupObject()
681
+                for (let index = 0; index < resp_advices.length; index++) {
682
+                const advice = resp_advices[index]
683
+                if (advice.groupno == 0) {
684
+                    // 老版本的医嘱
685
+                    if (advice.parent_id > 0) {
686
+                    if (advice_groups.length > 0) {
687
+                        var parent_group = advice_groups[advice_groups.length - 1]
688
+                        if (parent_group.advices.length > 0) {
689
+                        if (parent_group.advices[0].id == advice.parent_id) {
690
+                            parent_group.advices.push(advice)
691
+                        }
692
+                        }
693
+                    }
694
+                    continue
695
+                    } else {
696
+                    if (group.group_no > 0) {
697
+                        advice_groups.push(group)
698
+                        group = newGroupObject()
699
+                    }
700
+
701
+                    initGroupBlock(group, advice)
702
+                    group.advices.push(advice)
703
+                    advice_groups.push(group)
704
+                    group = newGroupObject()
705
+                    continue
706
+                    }
707
+                } else {
708
+                    if (group.group_no > 0 && group.group_no != advice.groupno) {
709
+                    advice_groups.push(group)
710
+                    group = newGroupObject()
711
+                    }
712
+                    if (group.group_no == 0) {
713
+                    initGroupBlock(group, advice)
714
+                    }
715
+                    if (group.group_no == advice.groupno) {
716
+                    group.advices.push(advice)
717
+                    }
718
+                }
719
+                }
720
+                if (group.group_no > 0) {
721
+                // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加
722
+                advice_groups.push(group)
723
+                }
724
+                advice_groups = advice_groups
725
+            } else {
726
+                advice_groups = []
727
+            }
728
+            maps.new_advice = advice_groups
729
+            }
730
+        }
731
+        console.log("222222",scheduleMap)
732
+        return scheduleMap
733
+        }
734
+    },
735
+    created(){
736
+      var time = this.$route.query.time
737
+      var delivery_way = this.$route.query.delivery_way
738
+      this.delivery_way = delivery_way
739
+      this.time = moment(time).format('YYYY-MM-DD')
740
+      console.log(11,this.$route.query)
741
+      this.requestSchedualDoctors(time)
742
+      this.org_id = this.$store.getters.xt_user.template_info.org_id;
743
+    }
744
+}
745
+</script>
746
+
747
+
748
+<style rel="stylesheet/scss" lang="scss" scoped>
749
+.dialysisTable{
750
+    width:960px;
751
+    margin: 0 auto;
752
+    text-align: center;
753
+    border-collapse: collapse;
754
+}
755
+.order_title_panl {
756
+    text-align: center;
757
+
758
+    .main_title {
759
+      font-size: 18px;
760
+      line-height: 40px;
761
+      font-weight: 500;
762
+    }
763
+}
764
+.dialysisTable tr{
765
+    padding: 10px 0;
766
+}
767
+.dialysisTable th {
768
+    color: #000;
769
+    padding: 0;
770
+    margin: 0;
771
+    height: 30px;
772
+}
773
+.dialysisTable tr td {
774
+    padding: 12px 0;
775
+}
776
+.subadvice_content {
777
+    text-align: left;
778
+    padding-left: 25px !important;
779
+    padding-right: 5px !important;
780
+}
781
+.advice_content {
782
+    text-align: left;
783
+    padding-left: 5px !important;
784
+    padding-right: 5px !important;
785
+    padding: 15px 5px !important;
786
+}
787
+</style>