浏览代码

批量打印

zhengchengwu 6 年前
父节点
当前提交
bdcc5b2051

+ 1 - 1
config/index.js 查看文件

@@ -17,7 +17,7 @@ module.exports = {
17 17
     // can be overwritten by process.env.HOST
18 18
     // if you want dev by ip, please set host: '0.0.0.0'
19 19
 
20
-  //  host: 'xt.test.sgjyun.com',
20
+    // host: 'xt.test.sgjyun.com',
21 21
     // host: 'xt.kuyicloud.com',
22 22
     host: 'localhost',
23 23
     port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined

+ 11 - 0
src/api/print_data.js 查看文件

@@ -0,0 +1,11 @@
1
+import request from "@/utils/request"
2
+
3
+export function GetBatchPrintDialysisData(sch_ids){
4
+    return request({
5
+        url: '/api/print/schedule/dialysis',
6
+        method: 'get',
7
+        params: {
8
+            ids: sch_ids,
9
+        },
10
+    })
11
+}

+ 1 - 0
src/lang/en.js 查看文件

@@ -110,6 +110,7 @@ export default {
110 110
     RescueRecord: "Rescue Record",
111 111
     special_permission_manage: "Special Permission Manage",
112 112
     schedule_print: "Print Schudule",
113
+    dialysis_batch_print: "Batch Print Order",
113 114
   },
114 115
   navbar: {
115 116
     logOut: 'Log Out',

+ 1 - 0
src/lang/zh.js 查看文件

@@ -135,6 +135,7 @@ export default {
135 135
     RescueRecord: "抢救记录",
136 136
     special_permission_manage: "特殊权限管理",
137 137
     schedule_print: "排班打印",
138
+    dialysis_batch_print: "批量打印",
138 139
   },
139 140
   navbar: {
140 141
     logOut: '退出登录',

文件差异内容过多而无法显示
+ 550 - 534
src/router/index.js


+ 2 - 0
src/store/getters.js 查看文件

@@ -62,5 +62,7 @@ const getters = {
62 62
   observation_content: state => state.global_config.observation_content,
63 63
   units: state => state.global_config.units,
64 64
   good_unit:state => state.global_config.good_unit,
65
+
66
+  temp_params: state => state.temp_params
65 67
 }
66 68
 export default getters

+ 3 - 1
src/store/index.js 查看文件

@@ -12,6 +12,7 @@ import global_config from './modules/globalConfig'
12 12
 
13 13
 import getters from './getters'
14 14
 import data from './modules/data'
15
+import temp_params from './modules/temp_params'
15 16
 
16 17
 Vue.use(Vuex)
17 18
 
@@ -26,7 +27,8 @@ const store = new Vuex.Store({
26 27
     data,
27 28
     xt_permission,
28 29
     xt_role_temps,
29
-    global_config
30
+    global_config,
31
+    temp_params,
30 32
   },
31 33
   getters
32 34
 })

+ 17 - 1
src/store/modules/globalConfig.js 查看文件

@@ -306,7 +306,23 @@ const global_config = {
306 306
         {id:14, name:'头痛'},
307 307
         {id:15, name:'发热'},
308 308
       ],
309
-
309
+      internal_fistula_tremor_ac:[
310
+        {id:1, name:'存在'},
311
+        {id:2, name:'减弱'},
312
+        {id:3, name:'无'},
313
+      ],
314
+      patient_gose:[
315
+        {id:1, name:'离院'},
316
+        {id:2, name:'留观'},
317
+        {id:3, name:'住院'},
318
+      ],
319
+      observation_content:[
320
+        {id:1, name:'意识状态'},
321
+        {id:2, name:'生命体征'},
322
+        {id:3, name:'内瘘搏动/渗血'},
323
+        {id:4, name:'导管固定/穿刺口渗血'},
324
+        {id:5, name:'动静脉直接穿刺口渗血/肢端循环情况'},
325
+      ],
310 326
       internal_fistula:[
311 327
         {id:1, name:'震颤-存在'},
312 328
         {id:2, name:'震颤-减弱'},

+ 26 - 0
src/store/modules/temp_params.js 查看文件

@@ -0,0 +1,26 @@
1
+const temp_params = {
2
+    state: {
3
+        batch_print_dialysis_record_ids: [],
4
+    },
5
+    mutations: {
6
+        SET_BATCH_PRINT_DIALYSIS_RECORD_IDS: (state, record_ids) => {
7
+            state.batch_print_dialysis_record_ids = record_ids == null || record_ids == undefined ? [] : record_ids;
8
+        }
9
+    },
10
+    actions: {
11
+        SetBatchPrintDialysisRecordIDs({commit, state}, record_ids) {
12
+            return new Promise((resolve, reject) => {
13
+                commit("SET_BATCH_PRINT_DIALYSIS_RECORD_IDS", record_ids)
14
+                resolve()
15
+            })
16
+        },
17
+        ClearBatchPrintDialysisRecordIDs({commit, state}) {
18
+            return new Promise((resolve, reject) => {
19
+                commit("SET_BATCH_PRINT_DIALYSIS_RECORD_IDS", null)
20
+                resolve()
21
+            })
22
+        }
23
+    },
24
+}
25
+
26
+export default temp_params

+ 912 - 0
src/xt_pages/dialysis/batch_print/batch_print_order.vue 查看文件

@@ -0,0 +1,912 @@
1
+<template>
2
+    <div class="app-container">
3
+        <el-row style="padding-bottom: 15px;">
4
+            <el-col :span="24">
5
+                <el-button type="primary" @click="printAction">打印</el-button>
6
+            </el-col>
7
+        </el-row>
8
+        <div id="print_content">
9
+            <div v-for="(record, index) in records" :key="index" class="print_page_main_content">
10
+                <div class="order-yy-name">{{orgname}}</div>
11
+                <div class="order_title">
12
+                    血液净化治疗记录单
13
+                </div>
14
+                <div class="row" style="margin-top: 15px;">
15
+                    <div class="inline_block">
16
+                        姓名:<div class="under_line" style="width: 120px;">{{ record.patient.name }}</div>
17
+                    </div>
18
+                    <div class="inline_block" style="margin-left: 20px;">
19
+                        性别:
20
+                        <check-box text="男" :checked="record.patient.gender == 1"></check-box>
21
+                        <check-box text="女" :checked="record.patient.gender == 2"></check-box>
22
+                    </div>
23
+                    <div class="inline_block" style="margin-left: 15px;">
24
+                        年龄:<div class="under_line" style="width: 50px;">{{jsGetAge(record.patient.birthday)}}</div>岁
25
+                    </div>
26
+                    <div class="inline_block" style="float: right;">
27
+                        科室:
28
+                        <check-box text="门诊透析" :checked="record.patient.source == 1"></check-box>
29
+                        <check-box text="住院" :checked="record.patient.source == 2"></check-box>
30
+                        <!-- TODO -->
31
+                    </div>
32
+                </div>
33
+                <div class="row flex">
34
+                    <div class="inline_block">
35
+                        住院号/透析卡号:<div class="under_line" style="width: 100px;">{{record.patient.admission_number?record.patient.admission_number:'无'}}/{{ record.patient.dialysis_no }}</div>
36
+                    </div>
37
+                    <div class="inline_block">
38
+                        诊断:<div class="under_line" style="width: 500px;">{{record.patient.diagnose}}</div>
39
+                    </div>
40
+                    <div class="inline_block">
41
+                        治疗日期:<div class="under_line" style="width: 100px;">{{getTime(record.schedule_date, '{y}-{m}-{d}')}}</div>
42
+                    </div>
43
+                </div>
44
+                <div class="row">
45
+                    <table class="proj_table">
46
+                        <tbody>
47
+                            <tr>
48
+                                <td width="25px">
49
+                                    透<br/>前<br/>评<br/>估
50
+                                </td>
51
+                                <td>
52
+                                    <div class="row" style="padding: 2px 0;">
53
+                                        <div class="inline_block">
54
+                                            入院方式:
55
+                                            <check-box text="步行" :checked="isCheckBoxChecked(record.receive_assessment, 'way', 1)"></check-box>
56
+                                            <check-box text="扶行" :checked="isCheckBoxChecked(record.receive_assessment, 'way', 2)"></check-box>
57
+                                            <check-box text="轮椅" :checked="isCheckBoxChecked(record.receive_assessment, 'way', 3)"></check-box>
58
+                                            <check-box text="平车" :checked="isCheckBoxChecked(record.receive_assessment, 'way', 4)"></check-box>
59
+                                        </div>
60
+                                        <div class="inline_block" style="margin-left: 30px;">
61
+                                            意识:
62
+                                            <check-box text="清醒" :checked="isCheckBoxChecked(record.receive_assessment, 'consciousness', 1)"></check-box>
63
+                                            <check-box text="嗜睡" :checked="isCheckBoxChecked(record.receive_assessment, 'consciousness', 2)"></check-box>
64
+                                            <check-box text="昏迷" :checked="isCheckBoxChecked(record.receive_assessment, 'consciousness', 3)"></check-box>
65
+                                        </div>
66
+                                        <div class="inline_block" style="margin-left: 30px;">
67
+                                            体温:<div class="under_line" style="width: 60px;">{{record.assessment_before_dislysis?record.assessment_before_dislysis.temperature:''}}</div>℃
68
+                                        </div>
69
+                                    </div>
70
+                                    <div class="row" style="padding: 2px 0;">
71
+                                        <div class="inline_block">
72
+                                            体位:
73
+                                            <check-box text="自动体位" :checked="isCheckBoxChecked(record.receive_assessment, 'posture', 1)"></check-box>
74
+                                            <check-box text="平卧位" :checked="isCheckBoxChecked(record.receive_assessment, 'posture', 2)"></check-box>
75
+                                            <check-box text="半卧位" :checked="isCheckBoxChecked(record.receive_assessment, 'posture', 3)"></check-box>
76
+                                            <check-box text="端坐位" :checked="isCheckBoxChecked(record.receive_assessment, 'posture', 4)"></check-box>
77
+                                            <check-box text="躁动不安" :checked="isCheckBoxChecked(record.receive_assessment, 'posture', 5)"></check-box>
78
+                                        </div>
79
+                                    </div>
80
+                                    <div class="row" style="padding: 2px 0;">
81
+                                        <div class="inline_block">
82
+                                            出血:
83
+                                            <check-box text="无" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 2)"></check-box>
84
+                                            <check-box text="有" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)"></check-box>
85
+                                            (&nbsp;
86
+                                            <check-box text="穿刺点渗血" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)&&record.assessment_before_dislysis.hemorrhage.indexOf('穿刺点渗血')>-1?true:false"></check-box>
87
+                                            <check-box text="牙龈出血" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)&&record.assessment_before_dislysis.hemorrhage.indexOf('牙龈出血')>-1?true:false"></check-box>
88
+                                            <check-box text="消化道出血" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)&&record.assessment_before_dislysis.hemorrhage.indexOf('消化道出血')>-1?true:false"></check-box>
89
+                                            <check-box text="女性经期" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)&&record.assessment_before_dislysis.hemorrhage.indexOf('女性经期')>-1?true:false"></check-box>
90
+                                            其他:<div class="under_line" style="width: 300px;">{{isCheckBoxChecked(record.assessment_before_dislysis, 'is_hemorrhage', 1)?record.assessment_before_dislysis.hemorrhage_other:''}}</div>
91
+                                            &nbsp;)
92
+                                        </div>
93
+                                    </div>
94
+                                    <div class="row" style="padding: 2px 0;">
95
+                                        <div class="inline_block">
96
+                                            血管通路:
97
+                                            <check-box text="自体内瘘" :checked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '自体内瘘')"></check-box>
98
+                                            <check-box text="人造血管" :checked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '人造血管')"></check-box>
99
+                                            <check-box text="直穿" :checked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '直穿')"></check-box>
100
+                                            <check-box text="颈内静脉" :checked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '颈内静脉')"></check-box>
101
+                                            <check-box text="股静脉" :checked="isBbloodAccessParOperaCheck(record.assessment_before_dislysis, '股静脉')"></check-box>
102
+                                        </div>
103
+                                    </div>
104
+                                    <div class="row" style="padding: 2px 0;">
105
+                                        <div class="inline_block">
106
+                                            内瘘:震颤
107
+                                            <!-- <check-box text="震颤" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula', '震颤-存在')"></check-box> -->
108
+                                            (&nbsp;
109
+                                            <check-box text="存在" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula', '震颤-存在')"></check-box>
110
+                                            <check-box text="减弱" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula', '震颤-减弱')"></check-box>
111
+                                            <check-box text="无" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula', '震颤-无')"></check-box>
112
+                                            <!-- <check-box text="股静脉" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula', '震颤-存在')"></check-box> -->
113
+                                            )
114
+                                            内瘘皮肤情况:(&nbsp;
115
+                                            <check-box text="正常" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula_skin', '正常')"></check-box>
116
+                                            <check-box text="瘀斑" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula_skin', '瘀斑')"></check-box>
117
+                                            <check-box text="红" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula_skin', '红')"></check-box>
118
+                                            <check-box text="肿" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'internal_fistula_skin', '肿')"></check-box>
119
+                                            )
120
+                                        </div>
121
+                                    </div>
122
+                                    <div class="row" style="padding: 2px 0;">
123
+                                        <div class="inline_block">
124
+                                            导管:穿刺口
125
+                                            (&nbsp;
126
+                                            <check-box text="干洁" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'catheter', '穿刺口-干洁')"></check-box>
127
+                                            <check-box text="红肿" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'catheter', '穿刺口-红肿')"></check-box>
128
+                                            <check-box text="分泌物" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'catheter', '穿刺口-分泌物')"></check-box>
129
+                                            <check-box text="渗血" :checked="isValueIndexOfCheck(record.assessment_before_dislysis, 'catheter', '穿刺口-渗血')"></check-box>
130
+                                            )
131
+                                            导管打折:(&nbsp;
132
+                                            <check-box text="有" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'catheter_bend', 1)"></check-box>
133
+                                            <check-box text="无" :checked="isCheckBoxChecked(record.assessment_before_dislysis, 'catheter_bend', 1)?false:true"></check-box>
134
+                                            )
135
+                                        </div>
136
+                                    </div>
137
+                                </td>
138
+                            </tr>
139
+                            <tr>
140
+                                <td width="25px">
141
+                                    透<br/>析<br/>处<br/>方
142
+                                </td>
143
+                                <td>
144
+                                    <div class="row" style="padding: 2px 0;">
145
+                                        <div class="inline_block">
146
+                                            透析时间:
147
+                                            <div class="under_line" style="width: 30px;">{{record.prescription&&record.prescription.dialysis_duration_hour?record.prescription.dialysis_duration_hour:''}}</div>h
148
+                                            <div class="under_line" style="width: 30px;">{{record.prescription&&record.prescription.dialysis_duration_minute?record.prescription.dialysis_duration_minute:''}}</div>min
149
+                                        </div>
150
+                                        <div class="inline_block" style="margin-left: 30px;">
151
+                                            血流量:
152
+                                            <div class="under_line" style="width: 50px;">{{record.prescription&&record.prescription.blood_flow_volume?record.prescription.blood_flow_volume:''}}</div>ml/min
153
+                                        </div>
154
+                                        <div class="inline_block" style="margin-left: 30px;">
155
+                                            体重:
156
+                                            透前 <div class="under_line" style="width: 50px;">{{record.assessment_before_dislysis&&record.assessment_before_dislysis.weight_before?record.assessment_before_dislysis.weight_before:''}}</div>kg&nbsp;
157
+                                            干体重 <div class="under_line" style="width: 50px;">{{record.assessment_before_dislysis&&record.assessment_before_dislysis.dry_weight?record.assessment_before_dislysis.dry_weight:''}}</div>kg
158
+                                        </div>
159
+                                        <div class="inline_block" style="margin-left: 30px;">
160
+                                            目标超滤量:
161
+                                            <div class="under_line" style="width: 80px;">{{record.prescription&&record.prescription.target_ultrafiltration?record.prescription.target_ultrafiltration:''}}</div>ml
162
+                                        </div>
163
+                                    </div>
164
+                                    <div class="row" style="padding: 2px 0;">
165
+                                        <div class="inline_block">
166
+                                            抗凝方式:
167
+                                            <check-box text="普通肝素" :checked="isCheckBoxChecked(record.prescription, 'anticoagulant', 2)"></check-box>(
168
+                                            首剂 <div class="under_line" style="width: 40px;">{{isCheckBoxChecked(record.prescription, 'anticoagulant', 2)?record.prescription.anticoagulant_shouji:''}}</div>mg&nbsp;
169
+                                            维持 <div class="under_line" style="width: 40px;">{{isCheckBoxChecked(record.prescription, 'anticoagulant', 2)?record.prescription.anticoagulant_weichi:''}}</div>mg/h
170
+                                            )
171
+
172
+                                            <check-box text="低分子肝素" :checked="isCheckBoxChecked(record.prescription, 'anticoagulant', 3)"></check-box>
173
+                                            <div class="under_line" style="width: 50px;">{{isCheckBoxChecked(record.prescription, 'anticoagulant', 3)?record.prescription.anticoagulant_zongliang:''}}</div>IU
174
+
175
+                                            <check-box text="无肝素" :checked="isCheckBoxChecked(record.prescription, 'anticoagulant', 1)" style="margin-left: 10px;"></check-box>
176
+                                            其他方式:<div class="under_line" style="width: 170px;">{{record.prescription&&record.prescription.anticoagulant>3?anticoagulantName(record.prescription):''}}</div>
177
+                                        </div>
178
+                                    </div>
179
+                                    <div class="row" style="padding: 2px 0;">
180
+                                        <div class="inline_block">
181
+                                            透析液配方:
182
+                                            <check-box text="常规" :checked="isdialysateFormulatioCheck(record.prescription, '常规')"></check-box>
183
+                                            <check-box text="低钙" :checked="isdialysateFormulatioCheck(record.prescription, '低钙')"></check-box>(1.25mmol/L)&nbsp;
184
+                                            <check-box text="高钙" :checked="isdialysateFormulatioCheck(record.prescription, '高钙')"></check-box>(1.75mmol/L)&nbsp;
185
+                                            <check-box text="低钠" :checked="isdialysateFormulatioCheck(record.prescription, '低钠')"></check-box>(135mmol/L)&nbsp;
186
+                                            <check-box text="高钠" :checked="isdialysateFormulatioCheck(record.prescription, '高钠')"></check-box>(145mmol/L)&nbsp;
187
+                                        </div>
188
+                                    </div>
189
+                                    <div class="row" style="padding: 2px 0;">
190
+                                        <div class="inline_block">
191
+                                            置换量:
192
+                                            <div class="under_line" style="width: 40px;">{{record.prescription&&record.prescription.replacement_total?record.prescription.replacement_total:''}}</div> L
193
+                                        </div>
194
+                                        <div class="inline_block" style="margin-left: 10px;">
195
+                                            治疗方式:
196
+                                            <check-box text="HD" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 1)"></check-box>
197
+                                            <check-box text="HDF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 2)"></check-box>
198
+                                            <check-box text="HF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 5)"></check-box>
199
+                                            <check-box text="HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 4)"></check-box>
200
+                                            <check-box text="HD+HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 3)"></check-box>
201
+                                            其他 <div class="under_line" style="width: 100px;">{{record.prescription&&record.prescription.mode_id>5?modeName(record.prescription.mode_id):''}}</div>
202
+                                        </div>
203
+                                        <div class="inline_block" style="margin-left: 10px;">
204
+                                            透析器/灌流器型号:
205
+                                            <div class="under_line" style="width: 130px;">{{record.prescription?record.prescription.dialyzer_perfusion_apparatus:''}}</div>
206
+                                        </div>
207
+                                    </div>
208
+                                    <div class="row" style="padding: 2px 0;">
209
+                                        <div class="inline_block">
210
+                                            透析机号:
211
+                                            <div class="under_line" style="width: 150px;">{{record.device_zone?record.device_zone.name:''}}{{record.device_number&&record.dialysis_order?record.device_number.number:''}}</div>
212
+                                        </div>
213
+                                        <div class="inline_block" style="float: right;">
214
+                                            医生签名:
215
+                                            <div class="under_line" style="width: 100px;">
216
+                                                
217
+                                                <span v-if="setAdminUserES(record.prescription, 'prescription_doctor') == ''">{{getAdminUser(record.prescription, 'prescription_doctor')}}</span>
218
+                                                <img class="es-img" :src="setAdminUserES(record.prescription, 'prescription_doctor')" alt="" srcset="" v-else style="height: 20px;">
219
+
220
+                                                <!-- <img style="height: 20px;" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1552901663505&di=bf12bd343b552c6ccfb2ed12343a3141&imgtype=0&src=http%3A%2F%2Fd.hiphotos.baidu.com%2Fimage%2Fpic%2Fitem%2Fe61190ef76c6a7ef7d58560df3faaf51f3de669b.jpg" /> -->
221
+                                            </div>
222
+                                            &nbsp;上机护士:
223
+                                            <div class="under_line" style="width: 100px;">
224
+                                                <span v-if="setAdminUserES(record.dialysis_order, 'start_nurse') == ''">{{getAdminUser(record.dialysis_order, 'start_nurse')}}</span>
225
+                                                <img class="es-img" :src="setAdminUserES(record.dialysis_order, 'start_nurse')" alt="" srcset="" v-else style="height: 20px;">
226
+                                            </div>
227
+                                        </div>
228
+                                    </div>
229
+                                </td>
230
+                            </tr>
231
+                            <tr>
232
+                                <td width="25px">
233
+                                    透<br/>析<br/>中<br/>记<br/>录
234
+                                </td>
235
+                                <td style="padding: 0;">
236
+                                    <table class="inside_table">
237
+                                        <thead>
238
+                                            <tr>
239
+                                                <td width="100">时间</td>
240
+                                                <td width="80">血压<br/>mmHg</td>
241
+                                                <td width="60">脉率<br/>次/分</td>
242
+                                                <td width="60">呼吸<br/>次/分</td>
243
+                                                <td width="60">血流量<br/>ml/min</td>
244
+                                                <td width="60">超滤量<br/>L</td>
245
+                                                <td width="60">置换量<br/>L</td>
246
+                                                <td width="60">静脉压<br/>mmHg</td>
247
+                                                <td width="60">跨膜压<br/>mmHg</td>
248
+                                                <td>备注</td>
249
+                                            </tr>
250
+                                        </thead>
251
+                                        <tbody>
252
+                                            <tr v-for="(monitor_record, index) in record.monitor_records" :key="index">
253
+                                                <td>{{getTime(monitor_record.operate_time,'{h}:{i}')}}</td>
254
+                                                <td>{{monitor_record.systolic_blood_pressure?monitor_record.systolic_blood_pressure:''}} / {{monitor_record.diastolic_blood_pressure?monitor_record.diastolic_blood_pressure:''}}</td>
255
+                                                <td>{{monitor_record.pulse_frequency?monitor_record.pulse_frequency:''}}</td>
256
+                                                <td>{{monitor_record.breathing_rate?monitor_record.breathing_rate:''}}</td>
257
+                                                <td>{{monitor_record.blood_flow_volume?monitor_record.blood_flow_volume:''}}</td>
258
+                                                <td>{{monitor_record.ultrafiltration_volume?monitor_record.ultrafiltration_volume:''}}</td>
259
+                                                <td>{{monitor_record.displacement_quantity?monitor_record.displacement_quantity:''}}</td>
260
+                                                <td>{{monitor_record.venous_pressure?monitor_record.venous_pressure:''}}</td>
261
+                                                <td>{{monitor_record.transmembrane_pressure?monitor_record.transmembrane_pressure:''}}</td>
262
+                                                <td>
263
+                                                    {{monitor_record.symptom}}
264
+                                                    &nbsp;{{monitor_record.dispose}}
265
+                                                    &nbsp;{{monitor_record.result}}
266
+                                                </td>
267
+                                            </tr>
268
+                                            <!-- 使整个表有7行以上 -->
269
+                                            <template v-if="record.monitor_records.length < 8">
270
+                                            <tr v-for="(num) in (8 - record.monitor_records.length)" :key="'8_' + num">
271
+                                                <td></td>
272
+                                                <td>/</td>
273
+                                                <td></td>
274
+                                                <td></td>
275
+                                                <td></td>
276
+                                                <td></td>
277
+                                                <td></td>
278
+                                                <td></td>
279
+                                                <td></td>
280
+                                                <td></td>
281
+                                            </tr>
282
+                                            </template>
283
+                                        </tbody>
284
+                                    </table>
285
+                                </td>
286
+                            </tr>
287
+                            <tr>
288
+                                <td width="25px">
289
+                                    透<br/>后<br/>评<br/>估
290
+                                </td>
291
+                                <td>
292
+                                    <div class="row" style="padding: 2px 0;">
293
+                                        <div class="inline_block">
294
+                                            实际治疗时间:
295
+                                            <div class="under_line" style="width: 30px;">{{record.assessment_after_dislysis&&record.assessment_after_dislysis.actual_treatment_hour?record.assessment_after_dislysis.actual_treatment_hour:''}}</div>h
296
+                                            <div class="under_line" style="width: 30px;">{{record.assessment_after_dislysis&&record.assessment_after_dislysis.actual_treatment_minute?record.assessment_after_dislysis.actual_treatment_minute:''}}</div>min
297
+                                        </div>
298
+                                        <div class="inline_block" style="margin-left: 25px;">
299
+                                            实际超滤量:
300
+                                            <div class="under_line" style="width: 50px;">{{record.assessment_after_dislysis&&record.assessment_after_dislysis.actual_ultrafiltration?record.assessment_after_dislysis.actual_ultrafiltration:''}}</div>ml
301
+                                        </div>
302
+                                        <div class="inline_block" style="margin-left: 25px;">
303
+                                            透后体重:
304
+                                            <div class="under_line" style="width: 50px;">{{record.assessment_after_dislysis&&record.assessment_after_dislysis.weight_after?record.assessment_after_dislysis.weight_after:''}}</div>kg
305
+                                        </div>
306
+                                        <div class="inline_block" style="margin-left: 25px;">
307
+                                            透析器凝血:
308
+                                            <check-box text="0级" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'cruor', '0度')"></check-box>
309
+                                            <check-box text="Ⅰ级" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'cruor', 'Ⅰ度')"></check-box>
310
+                                            <check-box text="Ⅱ级" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'cruor', 'Ⅱ度')"></check-box>
311
+                                            <check-box text="Ⅲ级" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'cruor', 'Ⅲ度')"></check-box>
312
+                                        </div>
313
+                                    </div>
314
+                                    <div class="row" style="padding: 2px 0;">
315
+                                        <div class="inline_block">
316
+                                            拔针后穿刺点渗血:
317
+                                            <check-box text="有" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'puncture_point_oozing_blood', 1)"></check-box>
318
+                                            <check-box text="无" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'puncture_point_oozing_blood', 1)?false:true"></check-box>
319
+                                        </div>
320
+                                        <div class="inline_block" style="margin-left: 40px;">
321
+                                            穿刺点血肿:
322
+                                            <check-box text="有" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'puncture_point_haematoma', 1)"></check-box>
323
+                                            <check-box text="无" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'puncture_point_haematoma', 1)?false:true"></check-box>
324
+                                        </div>
325
+                                        <div class="inline_block" style="margin-left: 40px;">
326
+                                            压迫后内瘘震颤:
327
+                                            <check-box text="存在" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'internal_fistula_tremor_ac', 1)"></check-box>
328
+                                            <check-box text="减弱" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'internal_fistula_tremor_ac', 2)"></check-box>
329
+                                            <check-box text="无" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'internal_fistula_tremor_ac', 3)"></check-box>
330
+                                        </div>
331
+                                    </div>
332
+                                    <div class="row" style="padding: 2px 0;">
333
+                                        <div class="inline_block">
334
+                                            并发症:
335
+                                            <check-box text="低血压" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '低血压')"></check-box>
336
+                                            <check-box text="高血压" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '高血压')"></check-box>
337
+                                            <check-box text="心律失常" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '心律失常')"></check-box>
338
+                                            <check-box text="头晕" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '头晕')"></check-box>
339
+                                            <check-box text="头痛" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '头痛')"></check-box>
340
+                                            <check-box text="呕吐" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '呕吐')"></check-box>
341
+                                            <check-box text="抽搐" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '抽搐')"></check-box>
342
+                                            <check-box text="出血" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '出血')"></check-box>
343
+                                            <check-box text="心衰" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '心衰')"></check-box>
344
+                                            <check-box text="腹痛" :checked="isValueIndexOfCheck(record.assessment_after_dislysis, 'complication', '腹痛')"></check-box>
345
+                                        </div>
346
+                                    </div>
347
+                                    <div class="row" style="padding: 2px 0;">
348
+                                        其他记录:<div class="under_line" style="width: 830px;">{{complicationsOther(record.assessment_after_dislysis)}}</div>
349
+                                    </div>
350
+                                    <div class="row" style="padding: 2px 0;"><!-- 同属“其他记录” -->
351
+                                        <div class="under_line" style="width: 900px;"></div>
352
+                                    </div>
353
+                                    <div class="row" style="padding: 2px 0;">
354
+                                        患者去向:
355
+                                        <check-box text="离院" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 1)"></check-box>
356
+                                        <check-box text="留观" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 2)"></check-box>
357
+                                        <check-box text="住院" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)"></check-box>
358
+                                        (
359
+                                        科室 <div class="under_line" style="width: 200px;"></div>
360
+                                        交待病房护士/患者/陪人观察内容:
361
+                                        <check-box text="意识状态" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)&&isValueIndexOfCheck(record.assessment_after_dislysis, 'observation_content', '意识状态')"></check-box>
362
+                                        <check-box text="生命体征" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)&&isValueIndexOfCheck(record.assessment_after_dislysis, 'observation_content', '生命体征')"></check-box>
363
+                                    </div>
364
+                                    <!-- 接“交待病房护士/患者/陪人观察内容” -->
365
+                                    <div class="row" style="padding: 2px 0;">
366
+                                        <check-box text="内瘘搏动/渗血" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)&&isValueIndexOfCheck(record.assessment_after_dislysis, 'observation_content', '内瘘搏动/渗血')"></check-box>
367
+                                        <check-box text="导管固定/穿刺口渗血" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)&&isValueIndexOfCheck(record.assessment_after_dislysis, 'observation_content', '导管固定/穿刺口渗血')"></check-box>
368
+                                        <check-box text="动静脉直接穿刺口渗血/肢端循环情况" :checked="isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)&&isValueIndexOfCheck(record.assessment_after_dislysis, 'observation_content', '动静脉直接穿刺口渗血/肢端循环情况')"></check-box>
369
+                                        &nbsp;其他:
370
+                                        <div class="under_line" style="width: 290px;">{{isCheckBoxChecked(record.assessment_after_dislysis, 'patient_gose', 3)?record.assessment_after_dislysis.observation_content_other:''}}</div>
371
+                                        )
372
+                                    </div>
373
+                                    <div class="row" style="padding: 2px 0;">
374
+                                        <div class="inline_block" style="float: left;">
375
+                                            当班责任(核对)护士:
376
+                                            <div class="under_line" style="width: 100px;">
377
+                                                <span v-if="setAdminUserES(record.assessment_after_dislysis, 'creater') == ''">{{getAdminUser(record.assessment_after_dislysis, 'creater')}}</span>
378
+                                                <img class="es-img" :src="setAdminUserES(record.assessment_after_dislysis, 'creater')" alt="" srcset="" v-else style="height: 20px;">
379
+                                            </div>
380
+                                        </div>
381
+                                        <div class="inline_block" style="float: right;">
382
+                                            下机护士:
383
+                                            <div class="under_line" style="width: 100px;">
384
+                                                <span v-if="setAdminUserES(record.dialysis_order, 'finish_nurse') == ''">{{getAdminUser(record.dialysis_order, 'finish_nurse')}}</span>
385
+                                                <img class="es-img" :src="setAdminUserES(record.dialysis_order, 'finish_nurse')" alt="" srcset="" v-else style="height: 20px;">
386
+                                            </div>
387
+                                        </div>
388
+                                    </div>
389
+                                </td>
390
+                            </tr>
391
+                            <tr>
392
+                                <td colspan="2" style="padding: 0;">
393
+                                    <table class="inside_table">
394
+                                        <thead>
395
+                                            <tr>
396
+                                                
397
+                                            <td width="40px">时间</td>
398
+                                            <td width="120px">医嘱内容</td>
399
+                                            <td width="80px">医生签名</td>
400
+                                            <td width="80px">执行护士</td>
401
+                                            <td width="65px">执行时间</td>
402
+                                            <td width="75px">核对护士</td>
403
+                                            <td width="10px"></td>
404
+                                            <td width="40px">时间</td>
405
+                                            <td width="120px">医嘱内容</td>
406
+                                            <td width="80px">医生签名</td>
407
+                                            <td width="80px">执行护士</td>
408
+                                            <td width="65px">执行时间</td>
409
+                                            <td width="75px">核对护士</td>
410
+                                            
411
+                                                <!-- <td width="100">时间</td>
412
+                                                <td>医嘱内容</td>
413
+                                                <td width="120">医生签名</td>
414
+                                                <td width="120">执行护士</td>
415
+                                                <td width="100">执行时间</td>
416
+                                                <td width="120">核对护士</td> -->
417
+                                            </tr>
418
+                                        </thead>
419
+                                        <tbody>
420
+                                            <tr v-for="(advice, index) in record.advices" :key="index">
421
+                                                <td>
422
+                                                    <span v-if="advice[0].start_time">
423
+                                                    {{getTime(advice[0].start_time,'{h}:{i}')}}
424
+                                                    </span>
425
+                                                    <span v-else>&nbsp;<br/>&nbsp;</span>
426
+                                                </td>
427
+                                                <td class="advice-name">
428
+                                                    <span v-if="advice[0].parent_id>0">└</span>
429
+                                                    <span>{{advice[0].advice_name }}</span>
430
+                                                    <span>{{advice[0].advice_desc}}</span>
431
+                                                    <!-- <span v-if="advice[0].drug_spec">{{advice[0].drug_spec}}{{advice[0].drug_spec_unit}}</span> -->
432
+                                                    <span v-if="advice[0].prescribing_number">* {{advice[0].prescribing_number}}{{advice[0].prescribing_number_unit}}</span>
433
+                                                    <span v-if="advice[0].single_dose != 0">单次用量 {{advice[0].single_dose}}{{advice[0].single_dose_unit}}</span>
434
+                                                    <span>{{advice[0].delivery_way}}</span>
435
+                                                    <span>{{advice[0].execution_frequency}}</span>
436
+                                                    <div v-for="(child, childindex) in advice[0].children" :key="childindex" class="advice-children">
437
+                                                        <div>▲</div>
438
+                                                        <div>
439
+                                                        <span>{{child.advice_name }}</span>
440
+                                                        <span>{{child.advice_desc}}</span>
441
+                                                        <span v-if="child.drug_spec">{{child.drug_spec}}{{child.drug_spec_unit}}</span>
442
+                                                        <span
443
+                                                            v-if="child.prescribing_number">* {{child.prescribing_number}}{{child.prescribing_number_unit}}</span>
444
+                                                        <span v-if="child.single_dose != 0">单次用量 {{child.single_dose}}{{child.single_dose_unit}}</span>
445
+                                                        </div>
446
+                                                    </div>
447
+                                                </td>
448
+                                                <td>
449
+                                                    <span v-if="setAdminUserES(advice[0], 'advice_doctor') == ''">{{getAdminUser(advice[0], 'advice_doctor')}}</span>
450
+                                                    <img class="es-img" :src="setAdminUserES(advice[0], 'advice_doctor')" alt="" srcset="" v-else style="height: 20px;">
451
+                                                </td>
452
+                                                <td>
453
+                                                    <span v-if="setAdminUserES(advice[0], 'execution_staff') == ''">{{getAdminUser(advice[0], 'execution_staff')}}</span>
454
+                                                    <img class="es-img" :src="setAdminUserES(advice[0], 'execution_staff')" alt="" srcset="" v-else style="height: 20px;">
455
+                                                </td>
456
+                                                <td>
457
+                                                    <span v-if="advice[0].execution_time">
458
+                                                    {{getTime(advice[0].execution_time,'{h}:{i}')}}
459
+                                                    </span>
460
+                                                </td>
461
+                                                <td>
462
+                                                    <span v-if="setAdminUserES(advice[0], 'checker') == ''">{{getAdminUser(advice[0], 'checker')}}</span>
463
+                                                    <img class="es-img" :src="setAdminUserES(advice[0], 'checker')" alt="" srcset="" v-else style="height: 20px;">
464
+                                                </td>
465
+                                                <td></td>
466
+                                                <td>
467
+                                                    <span v-if="advice[1].start_time">
468
+                                                    {{getTime(advice[1].start_time,'{h}:{i}')}}
469
+                                                    </span>
470
+                                                    <span v-else>&nbsp;<br/>&nbsp;</span>
471
+                                                </td>
472
+                                                <td class="advice-name">
473
+                                                    <span v-if="advice[1].parent_id>0">└</span>
474
+                                                    <span>{{advice[1].advice_name }}</span>
475
+                                                    <span>{{advice[1].advice_desc}}</span>
476
+                                                    <!-- <span v-if="advice[1].drug_spec">{{advice[1].drug_spec}}{{advice[1].drug_spec_unit}}</span> -->
477
+                                                    <span v-if="advice[1].prescribing_number">* {{advice[1].prescribing_number}}{{advice[1].prescribing_number_unit}}</span>
478
+                                                    <span v-if="advice[1].single_dose != 0">单次用量 {{advice[1].single_dose}}{{advice[1].single_dose_unit}}</span>
479
+                                                    <span>{{advice[1].delivery_way}}</span>
480
+                                                    <span>{{advice[1].execution_frequency}}</span>
481
+                                                    <div v-for="(child, childindex) in advice[1].children" :key="childindex" class="advice-children">
482
+                                                        <div>▲</div>
483
+                                                        <div>
484
+                                                        <span>{{child.advice_name }}</span>
485
+                                                        <span>{{child.advice_desc}}</span>
486
+                                                        <span v-if="child.drug_spec">{{child.drug_spec}}{{child.drug_spec_unit}}</span>
487
+                                                        <span
488
+                                                            v-if="child.prescribing_number">* {{child.prescribing_number}}{{child.prescribing_number_unit}}</span>
489
+                                                        <span v-if="child.single_dose != 0">单次用量 {{child.single_dose}}{{child.single_dose_unit}}</span>
490
+                                                        </div>
491
+                                                    </div>
492
+                                                </td>
493
+                                                <td>
494
+                                                    <span v-if="setAdminUserES(advice[1], 'advice_doctor') == ''">{{getAdminUser(advice[1], 'advice_doctor')}}</span>
495
+                                                    <img class="es-img" :src="setAdminUserES(advice[1], 'advice_doctor')" alt="" srcset="" v-else style="height: 20px;">
496
+                                                </td>
497
+                                                <td>
498
+                                                    <span v-if="setAdminUserES(advice[1], 'execution_staff') == ''">{{getAdminUser(advice[1], 'execution_staff')}}</span>
499
+                                                    <img class="es-img" :src="setAdminUserES(advice[1], 'execution_staff')" alt="" srcset="" v-else style="height: 20px;">
500
+                                                </td>
501
+                                                <td>
502
+                                                    <span v-if="advice[1].execution_time">
503
+                                                    {{getTime(advice[1].execution_time,'{h}:{i}')}}
504
+                                                    </span>
505
+                                                </td>
506
+                                                <td>
507
+                                                    <span v-if="setAdminUserES(advice[1], 'checker') == ''">{{getAdminUser(advice[1], 'checker')}}</span>
508
+                                                    <img class="es-img" :src="setAdminUserES(advice[1], 'checker')" alt="" srcset="" v-else style="height: 20px;">
509
+                                                </td>
510
+                                            </tr>
511
+                                            <!-- 使整个表有5行以上 -->
512
+                                            <template v-if="record.advices.length < 5">
513
+                                            <tr v-for="(num) in (5 - record.advices.length)" :key="'5_' + num">
514
+                                                <td>&nbsp;</td>
515
+                                                <td></td>
516
+                                                <td></td>
517
+                                                <td></td>
518
+                                                <td></td>
519
+                                                <td></td>
520
+                                                <td></td>
521
+                                                <td>&nbsp;</td>
522
+                                                <td></td>
523
+                                                <td></td>
524
+                                                <td></td>
525
+                                                <td></td>
526
+                                                <td></td>
527
+                                            </tr>
528
+                                            </template>
529
+                                        </tbody>
530
+                                    </table>
531
+                                </td>
532
+                            </tr>
533
+                        </tbody>
534
+                    </table>
535
+                </div>
536
+                <div class="row">
537
+                    注:透析器凝血评价标准:“0 级” 无凝血或数条纤维束凝血,“Ⅰ 级” 少于10%纤维凝血,“Ⅱ 级” 少于50%纤维凝血,“Ⅲ 级” 大于50%纤维凝血。
538
+                </div>
539
+            </div>
540
+        </div>
541
+    </div>
542
+</template>
543
+
544
+<script>
545
+import CheckBox from "./option_check_box"
546
+import print from "print-js"
547
+import { GetBatchPrintDialysisData } from "@/api/print_data"
548
+import {jsGetAge, uParseTime} from "@/utils/tools";
549
+import {getDataConfig} from '@/utils/data';
550
+
551
+export default {
552
+    name: "BatchPrintOrder",
553
+    components: {
554
+        CheckBox,
555
+    },
556
+    data() {
557
+        return {
558
+            records: [ // 模拟有多条数据
559
+                // { 
560
+                //     monitor_records: [ {},{},{},{},{},{},{},{},{},{},{}, ],
561
+                //     advices: [ {},{},{},{},{},{},{}, ],
562
+                // },
563
+                // { 
564
+                //     monitor_records: [],
565
+                //     advices: [],
566
+                // },
567
+            ],
568
+            orgname: '',
569
+            bloodAccessParOpera: {},
570
+            anticoagulantsConfit: {},
571
+            dialysateFormulationOptions:{},
572
+            operatorMaps: {},
573
+            operators: [],
574
+            adminUser:[],
575
+            complications: ['低血压', '高血压', '心律失常', '头晕', '头痛', '呕吐', '抽搐', '出血', '心衰', '腹痛'],
576
+        }
577
+    },
578
+    created() {
579
+      var xtuser = this.$store.getters.xt_user;
580
+    //   this.orgname = xtuser.org.org_name;
581
+      this.orgname = "遂溪方济医院";
582
+      this.modeOptions = this.$store.getters.treatment_mode;
583
+    //   this.replacementWays = this.$store.getters.replacement_ways;
584
+    //   this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
585
+      this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
586
+
587
+      var bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc');
588
+      for (var key in bloodAccessParOpera) {
589
+        this.bloodAccessParOpera[bloodAccessParOpera[key].id] = bloodAccessParOpera[key];
590
+      }
591
+
592
+      var dialysateFormulationOptions = getDataConfig("hemodialysis", "dialysate_formulation");
593
+      for (var key in dialysateFormulationOptions) {
594
+        this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] = dialysateFormulationOptions[key];
595
+      }
596
+
597
+    //   const xtdate = this.$route.query && this.$route.query.xtdate;
598
+    //   const xtno = this.$route.query && this.$route.query.xtno;
599
+    //   if (typeof (xtdate) == "string" && xtdate.length > 0 && typeof (xtno) == "string" && xtno.length > 0) {
600
+    //     this.queryParams.xtdate = xtdate;
601
+    //     this.queryParams.xtno = xtno;
602
+    //     this.getDialysisRecord();
603
+    //   } else {
604
+    //     this.$message.error("参数不齐");
605
+    //     return false;
606
+    //   }
607
+    },
608
+    mounted() {
609
+        var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
610
+        if (ids.length == 0) {
611
+            this.$router.back(-1)
612
+            return
613
+        }
614
+        GetBatchPrintDialysisData(ids.join(",")).then(rs => {
615
+            var resp = rs.data
616
+            if (resp.state == 1) {
617
+                
618
+                this.records = this.records.concat(resp.data.schedules);
619
+                for (const recordIndex in this.records) {
620
+                    var childMap = {};
621
+                    for (const index in this.records[recordIndex].advices) {
622
+                        if (this.records[recordIndex].advices[index].parent_id == 0) {
623
+                            continue;
624
+                        }
625
+                        if (!(this.records[recordIndex].advices[index].parent_id in childMap)) {
626
+                            childMap[this.records[recordIndex].advices[index].parent_id] = [];
627
+                        }
628
+                        childMap[this.records[recordIndex].advices[index].parent_id].push(this.records[recordIndex].advices[index]);
629
+                    }
630
+
631
+                    var advices = [];
632
+                    for (const index in this.records[recordIndex].advices) {
633
+                        if (this.records[recordIndex].advices[index].parent_id > 0) {
634
+                            continue;
635
+                        }
636
+                        var item = this.records[recordIndex].advices[index]
637
+                        if (item.id in childMap) {
638
+                            item.children = childMap[item.id];
639
+                        } else {
640
+                            item.children = [];
641
+                        }
642
+                        advices.push(item);
643
+                    }
644
+
645
+                    var leftAdvice = [];
646
+                    var rightAdvice = [];
647
+                    var adlen = advices.length;
648
+
649
+                    var halfLen = adlen % 2 == 0 ? adlen / 2 : (adlen+1) / 2
650
+                    for (var i = 0; i < halfLen; i++) {
651
+                        leftAdvice.push(advices[i]);
652
+                        rightAdvice.push(advices[i + halfLen]);
653
+                    }
654
+                    if (halfLen < 5) {
655
+                        var nl = 5 - leftAdvice.length;
656
+                        for (let index = 0; index < nl; index++) {
657
+                            leftAdvice.push([]);
658
+                        }
659
+                        var nl = 5 - rightAdvice.length;
660
+                        for (let index = 0; index < nl; index++) {
661
+                            rightAdvice.push([]);
662
+                        }
663
+                    }
664
+
665
+                    this.records[recordIndex].advices = [];
666
+                    for (var i = 0; i < halfLen; i++) {
667
+                        var item = [];
668
+                        item.push(leftAdvice[i]);
669
+                        item.push(rightAdvice[i]);
670
+                        this.records[recordIndex].advices.push(item);
671
+                    }
672
+                }
673
+                this.operators = resp.data.medical_staffs;
674
+                if (this.operators.length > 0) {
675
+                    var operatorsLen = this.operators.length;
676
+                    for (var index = 0; index < operatorsLen; index++) {
677
+                        this.$set(this.operatorMaps, this.operators[index].id, this.operators[index]);
678
+                    }
679
+                }
680
+                
681
+                this.adminUser = resp.data.users;
682
+            } else {
683
+                this.$message.error(resp.msg)
684
+            }
685
+        }).catch(err => {
686
+            this.$message.error(err)
687
+        })
688
+    },
689
+    methods: {
690
+        printAction: function() {
691
+            const style = '@media print { .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 14px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 0 0; page-break-after: always; } .print_page_main_content .order-yy-name { margin: auto; text-align: center; font-size: 20px; letter-spacing: 5px;} .print_page_main_content .order_title { text-align: center; font-size: 23px; line-height: 50px; font-weight: 500; } .row { font-size: 14px; line-height: 20px; padding: 5px 0; } .inline_block { display: inline-block; } .under_line { display: inline-block; border-bottom: 1px solid #999; text-align: center; white-space: nowrap; } .under_line::before { content: "\\00A0"; } .under_line::after { content: "\\00A0"; } .flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items: center; -webkit-align-items: center; box-align: center; -moz-box-align: center; -webkit-box-align: center; text-align: center; -webkit-justify-content: space-between; justify-content: space-between; -moz-box-pack: space-between; -webkit--moz-box-pack: space-between; box-pack: space-between; } .print_page_main_content .proj_table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } .print_page_main_content .proj_table tbody tr td { border: 1px solid; font-size: 16px; padding: 10px 8px; line-height: 30px; } .print_page_main_content .proj_table .inside_table { width: 100%; border: hidden; border-collapse: collapse; } .print_page_main_content .proj_table .inside_table tr td { border: 1px solid; text-align: center; font-size: 14px; padding: 8px 5px; line-height: 25px; } }.es-img{height: 20px; }.advice-name{text-align: left !important;line-height: 16px !important;}.advice-children{display:flex;}';
692
+            
693
+            printJS({
694
+                printable: "print_content",
695
+                type: "html",
696
+                documentTitle: "  ",
697
+                style: style,
698
+                scanStyles: false,
699
+            });
700
+        },
701
+
702
+        complicationsOther:function(record) {
703
+            if(record== null || typeof(record) == 'undefined') {
704
+                return '';
705
+            }
706
+            if (record.complication.length==0) {
707
+                return '';
708
+            }
709
+            var complications = record.complication.split(',');
710
+            var complicationOthers = [];
711
+            for (const index in complications) {
712
+              if (this.complications.indexOf(complications[index]) < 0 && complicationOthers.indexOf(complications[index]) < 0) {
713
+                complicationOthers.push(complications[index]);
714
+              }
715
+            }
716
+            return complicationOthers.join(',');
717
+        },
718
+        modeName(mode_id) {
719
+            if(mode_id in this.modeOptions) {
720
+                return this.modeOptions[mode_id].name;
721
+            }
722
+            return '';
723
+        },
724
+        anticoagulantName:function(key){
725
+            if(key== null || typeof(key) == 'undefined') {
726
+                return '';
727
+            }
728
+            var id = key.anticoagulant;
729
+            if (id in this.anticoagulantsConfit) {
730
+                return this.anticoagulantsConfit[id].name;
731
+            }
732
+            return '';
733
+        },
734
+        isBbloodAccessParOperaCheck(key, value) {
735
+            if(key== null || typeof(key) == 'undefined') {
736
+                return false;
737
+            }
738
+            var id = key.blood_access_part_opera_id;
739
+            if (id in this.bloodAccessParOpera) {
740
+                return this.bloodAccessParOpera[id].name.indexOf(value)>-1;
741
+            }
742
+            return false;
743
+        },
744
+        isdialysateFormulatioCheck(key, value) {
745
+            if(key== null || typeof(key) == 'undefined') {
746
+                return false;
747
+            }
748
+            var id = key.dialysate_formulation;
749
+            if (id in this.dialysateFormulationOptions) {
750
+                return this.dialysateFormulationOptions[id].name.indexOf(value)>-1;
751
+            }
752
+            return false;
753
+        },
754
+        isValueIndexOfCheck:function(record, key, value){
755
+            if (record == null || record == undefined) {
756
+                return false
757
+            } else {
758
+                return record[key].indexOf(value) >-1;
759
+            }
760
+        },
761
+        setAdminUserES(key, id) {
762
+            if (key == null || typeof(key) == 'undefined' || typeof(key[id]) == 'undefined') {
763
+                return ''
764
+            }
765
+            if (key[id] == 0) {
766
+                return ''
767
+            }
768
+            if (key[id] in this.operatorMaps) {
769
+                return this.operatorMaps[key[id]].es_url;
770
+            } else {
771
+                return '';
772
+            }
773
+        },
774
+        getAdminUser(key, id) {
775
+            if (key == null || typeof(key) == 'undefined' || typeof(key[id]) == 'undefined') {
776
+                return ''
777
+            }
778
+            if (key[id] == 0) {
779
+                return ''
780
+            }
781
+            if (key[id] == undefined) {
782
+                return ''
783
+            }
784
+            for (let i = 0; i < this.adminUser.length; i++) {
785
+                if (this.adminUser[i].id == key[id]) {
786
+                    return this.adminUser[i].name
787
+                }
788
+            }
789
+        },
790
+        jsGetAge:function(agetime) {
791
+            if(agetime==0) {
792
+                return '';
793
+            }
794
+            return jsGetAge(uParseTime(agetime, '{y}-{m}-{d}'), '-');
795
+        },
796
+        getTime(value, temp) {
797
+            if (value != undefined) {
798
+            return uParseTime(value, temp)
799
+            }
800
+            return ""
801
+        },
802
+        // 函数说明:因为一次透析记录有些记录不一定是必须填的,比如 record.receive_assessment 可能为 null,所以要取 record.receive_assessment.way 前需要判断 record.receive_assessment 是否为 null,所以这个方法用来简化模板渲染的代码
803
+        // 参数说明:比如判断 record.receive_assessment.way 是不是为1,参数为 (record.receive_assessment, way, 1)
804
+        isCheckBoxChecked: function(record, key, target_value) {
805
+            if (record == null || record == undefined) {
806
+                return false
807
+            } else {
808
+                return record[key] == target_value
809
+            }
810
+        }
811
+    },
812
+}
813
+</script>
814
+
815
+<style scoped>
816
+.print_page_main_content {
817
+    background-color: white;
818
+    width:960px; 
819
+    margin:0 auto 50px;
820
+    padding: 0 0 0 0;
821
+    page-break-after: always;
822
+}
823
+  .print_page_main_content .order-yy-name {
824
+    margin: auto;
825
+    text-align: center;
826
+    font-size: 20px;
827
+    letter-spacing: 5px;
828
+  }
829
+
830
+.print_page_main_content .order_title {
831
+    text-align: center;
832
+    font-size: 23px;
833
+    line-height: 50px;
834
+    font-weight: 500;
835
+}
836
+.row {
837
+    font-size: 14px;
838
+    line-height: 20px;
839
+    padding: 5px 0;
840
+}
841
+.inline_block {
842
+    display: inline-block;
843
+}
844
+.under_line {
845
+    display: inline-block;
846
+    border-bottom: 1px solid #999;
847
+    text-align: center;
848
+    white-space: nowrap; 
849
+}
850
+.under_line::before {
851
+    content: "\00A0";
852
+}
853
+.under_line::after {
854
+    content: "\00A0";
855
+}
856
+.flex {
857
+    display: -webkit-box;
858
+    display: -moz-box;
859
+    display: -ms-flexbox;
860
+    display: -webkit-flex;
861
+    display: flex;
862
+    align-items: center;
863
+    -webkit-align-items: center;
864
+    box-align: center;
865
+    -moz-box-align: center;
866
+    -webkit-box-align: center;
867
+    text-align: center;
868
+    -webkit-justify-content: space-between;
869
+    justify-content: space-between;
870
+    -moz-box-pack: space-between;
871
+    -webkit--moz-box-pack: space-between;
872
+    box-pack: space-between;
873
+}
874
+.print_page_main_content .proj_table {
875
+    width: 100%;
876
+    border: 1px solid;
877
+    border-collapse: collapse;
878
+    padding: 2px;
879
+}
880
+.print_page_main_content .proj_table tbody tr td {
881
+    border: 1px solid;
882
+    /* text-align: center; */
883
+    font-size: 16px;
884
+    padding: 10px 8px;
885
+    line-height: 30px;
886
+}
887
+.print_page_main_content .proj_table .inside_table {
888
+    width: 100%; 
889
+    border: hidden; /* 解决边框冲突 */
890
+    border-collapse: collapse;
891
+}
892
+.print_page_main_content .proj_table .inside_table tr td {
893
+    border: 1px solid;
894
+    text-align: center;
895
+    font-size: 14px;
896
+    padding: 8px 5px;
897
+    line-height: 25px;
898
+}
899
+
900
+  .es-img {
901
+    height: 25px;
902
+  }
903
+
904
+  .advice-name {
905
+    text-align: left !important;
906
+    line-height: 16px !important;
907
+  }
908
+
909
+  .advice-children {
910
+    display: flex;
911
+  }
912
+</style>

+ 52 - 0
src/xt_pages/dialysis/batch_print/option_check_box.vue 查看文件

@@ -0,0 +1,52 @@
1
+<template>
2
+    <label class="option_panel">
3
+        <span class="check_box_panel">
4
+            <span class="check_box" :class="{ 'did_checked': checked, }"></span>
5
+        </span>
6
+        <span>{{ text }}</span>
7
+    </label>
8
+</template>
9
+
10
+<script>
11
+export default {
12
+    name: "OptionCheckBox",
13
+    props: {
14
+        text: {
15
+            type: String,
16
+        },
17
+        checked: {
18
+            type: Boolean,
19
+            default: false,
20
+        }
21
+    }
22
+}
23
+</script>
24
+
25
+
26
+<style scoped>
27
+.option_panel {
28
+    margin: 0 5px 0 0;
29
+    /* font-size: 16px; */
30
+}
31
+.option_panel .check_box_panel {
32
+    white-space: nowrap; 
33
+    outline: none; 
34
+    display: inline-block; 
35
+    line-height: 1; 
36
+    position: relative; 
37
+    vertical-align: middle;
38
+}
39
+.option_panel .check_box_panel .check_box {
40
+    display: inline-block; 
41
+    position: relative; 
42
+    border: 1px solid #000; 
43
+    box-sizing: border-box; 
44
+    width: 14px; 
45
+    height: 14px; 
46
+    background-color: #fff;
47
+}
48
+.check_box_panel .did_checked::after {
49
+    content: "√";
50
+    font-size: 15px;
51
+}
52
+</style>

+ 414 - 438
src/xt_pages/dialysis/bloodPresssWatch.vue 查看文件

@@ -3,132 +3,104 @@
3 3
     <!-- <div class="filter-container">
4 4
       <el-input style="width: 400px;" v-model="searchKey" class="filter-item"/>
5 5
       <el-button class="filter-item" type="primary" icon="el-icon-search" @click="search">搜索</el-button>
6
-    </div> -->
6
+    </div>-->
7 7
     <div class="cell">
8
-      <label class="title"><span class="name">{{ search_mode == 1 ? "日期查询" : "病人查询" }}</span> : </label>
9
-      <el-date-picker v-show="search_mode == 1" v-model="time" prefix-icon="el-icon-date" @change="changeTime" :editable="false"
10
-                      style="width: 250px;" type="date" placeholder="选择日期时间" align="right"
11
-                      :picker-options="pickerOptions1" format="yyyy-MM-dd"
12
-                      value-format="timestamp"></el-date-picker>
13
-      <el-input v-show="search_mode == 2" v-model="patient_search_keyword" style="width: 250px;" placeholder="病人名字、透析号">
14
-        <el-button slot="append" style="background-color: #409EFF; color: white; border-radius: 0;" icon="el-icon-search" @click="searchPatientAction"></el-button>
8
+      <label class="title">
9
+        <span class="name">{{ search_mode == 1 ? "日期查询" : "病人查询" }}</span> :
10
+      </label>
11
+      <el-date-picker
12
+        v-show="search_mode == 1"
13
+        v-model="time"
14
+        prefix-icon="el-icon-date"
15
+        @change="changeTime"
16
+        :editable="false"
17
+        style="width: 250px;"
18
+        type="date"
19
+        placeholder="选择日期时间"
20
+        align="right"
21
+        :picker-options="pickerOptions1"
22
+        format="yyyy-MM-dd"
23
+        value-format="timestamp"
24
+      ></el-date-picker>
25
+      <el-input
26
+        v-show="search_mode == 2"
27
+        v-model="patient_search_keyword"
28
+        style="width: 250px;"
29
+        placeholder="病人名字、透析号"
30
+      >
31
+        <el-button
32
+          slot="append"
33
+          style="background-color: #409EFF; color: white; border-radius: 0;"
34
+          icon="el-icon-search"
35
+          @click="searchPatientAction"
36
+        ></el-button>
15 37
       </el-input>
16
-      <el-button type="primary" @click="changeSearchMode">{{ search_mode == 1 ? "改为病人查询" : "改为日期查询" }}</el-button>
38
+      <el-button
39
+        type="primary"
40
+        @click="changeSearchMode"
41
+      >{{ search_mode == 1 ? "改为病人查询" : "改为日期查询" }}</el-button>
42
+
43
+      <el-button type="primary" :disabled="selecting_schs.length == 0" @click="batchPrintAction">打印</el-button>
17 44
     </div>
18 45
     <div class="cell clearfix">
19
-      <label class="title"><span class="name">排班班次</span> : </label>
20
-      <div class="time ">
21
-        <ul class="">
22
-          <li :class="item.value==schedulType?'active':''" @click='selectSchedulType(item.value)'
23
-              v-for="item in schedulArr" :key="item.value">{{item.label}}
24
-          </li>
46
+      <label class="title">
47
+        <span class="name">排班班次</span> :
48
+      </label>
49
+      <div class="time">
50
+        <ul class>
51
+          <li
52
+            :class="item.value==schedulType?'active':''"
53
+            @click="selectSchedulType(item.value)"
54
+            v-for="item in schedulArr"
55
+            :key="item.value"
56
+          >{{item.label}}</li>
25 57
         </ul>
26 58
       </div>
27 59
     </div>
28
-    <!--<div class="cell clearfix">-->
29
-      <!--<label class="title"><span class="name">预警类型</span> : </label>-->
30
-      <!--<div class="time ">-->
31
-        <!--<ul class="">-->
32
-          <!--<li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'-->
33
-              <!--v-for="item in warnArr" :key="item.id">{{item.label}}-->
34
-          <!--</li>-->
35
-        <!--</ul>-->
36
-      <!--</div>-->
37
-    <!--</div>-->
38
-    <!--<div class="cell clearfix">-->
39
-      <!--<label class="title"><span class="name">病人来源</span> : </label>-->
40
-      <!--<div class="time ">-->
41
-        <!--<ul class="">-->
42
-          <!--<li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'-->
43
-              <!--v-for="item in sourceArr" :key="item.id">{{item.label}}-->
44
-          <!--</li>-->
45
-        <!--</ul>-->
46
-      <!--</div>-->
47
-    <!--</div>-->
48 60
     <div class="cell clearfix">
49
-      <label class="title"><span class="name">分区</span> : </label>
50
-      <div class="time ">
51
-        <ul class="">
52
-          <li :class="item.id==partitionType?'active':''" @click='selectPartitionType(item.id)'
53
-              v-for="item in partitionArr" :key="item.id">{{item.name}}
54
-          </li>
61
+      <label class="title">
62
+        <span class="name">分区</span> :
63
+      </label>
64
+      <div class="time">
65
+        <ul class>
66
+          <li
67
+            :class="item.id==partitionType?'active':''"
68
+            @click="selectPartitionType(item.id)"
69
+            v-for="item in partitionArr"
70
+            :key="item.id"
71
+          >{{item.name}}</li>
55 72
         </ul>
56 73
       </div>
57 74
     </div>
58 75
 
59
-
60 76
     <el-table
61 77
       :data="SchedualPatientsTableData"
62 78
       style="width: 100%"
63 79
       v-loading="loading"
64 80
       @current-change="clickCurrent"
65
-      >
66
-      <el-table-column
67
-        prop="number"
68
-        label="机号"
69
-        align="center"
70
-       >
71
-      </el-table-column>
72
-      <el-table-column 
73
-        label="排班日期"
74
-        prop="sch_time"
75
-        align="center"
76
-        width="120"
77
-      >
78
-      </el-table-column>
79
-      <el-table-column
80
-        prop="dialysis_no"
81
-        label="透析号"
82
-        align="center"
83
-
84
-     >
85
-      </el-table-column>
86
-      <el-table-column
87
-        prop="name"
88
-        label="姓名"
89
-        align="center"
90
-
91
-        >
92
-      </el-table-column>
93
-
94
-      <el-table-column
95
-        prop="mode_name"
96
-        label="透析模式"
97
-        align="center"
98
-
99
-        >
100
-      </el-table-column>
101
-
102
-      <el-table-column
103
-        prop="dialysis_before_weight"
104
-        label="透前体重 (kg)"
105
-        align="center"
106
-
107
-       >
108
-      </el-table-column>
109
-      <el-table-column
110
-        prop="dialysis_after_weight"
111
-        label="透后体重 (kg)"
112
-        align="center"
113
-
114
-      >
115
-      </el-table-column>
81
+      @selection-change="handleSelectionChange"
82
+    >
83
+      <el-table-column type="selection" width="45" align="center"></el-table-column>
84
+      <el-table-column prop="number" label="机号" align="center"></el-table-column>
85
+      <el-table-column label="排班日期" prop="sch_time" align="center" width="120"></el-table-column>
86
+      <el-table-column prop="dialysis_no" label="透析号" align="center"></el-table-column>
87
+      <el-table-column prop="name" label="姓名" align="center"></el-table-column>
88
+
89
+      <el-table-column prop="mode_name" label="透析模式" align="center"></el-table-column>
90
+
91
+      <el-table-column prop="dialysis_before_weight" label="透前体重 (kg)" align="center"></el-table-column>
92
+      <el-table-column prop="dialysis_after_weight" label="透后体重 (kg)" align="center"></el-table-column>
116 93
       <el-table-column label="透中血压">
117
-
118
-        <el-table-column v-for="(item, index) in labelArr" :key="index" :label="item" >
94
+        <el-table-column v-for="(item, index) in labelArr" :key="index" :label="item">
119 95
           <!-- 数据的遍历  scope.row就代表数据的每一个对象-->
120 96
           <template slot-scope="scope">
121 97
             <!--<span>{{scope.row.bp[index].value}}</span>-->
122 98
             <span>{{getValue(scope.row.bp[index])}}</span>
123
-
124 99
           </template>
125 100
         </el-table-column>
126
-
127 101
       </el-table-column>
128
-
129 102
     </el-table>
130 103
 
131
-
132 104
     <el-pagination
133 105
       @current-change="handleCurrentChange"
134 106
       :page-sizes="[10]"
@@ -136,379 +108,383 @@
136 108
       background
137 109
       style="margin-top:20px;"
138 110
       layout="total, sizes, prev, pager, next, jumper"
139
-      :total="total">
140
-    </el-pagination>
141
-
142
-
111
+      :total="total"
112
+    ></el-pagination>
143 113
   </div>
144
-
145 114
 </template>
146 115
 
147 116
 
148 117
 <script>
149
-  import {
150
-    getSchedualPatient,
151
-    GetAllZone,
152
-  } from "@/api/dialysis"
153
-  import { parseTime } from '@/utils'
154
-
155
-  export default {
156
-    name: "Patient",
157
-    data() {
158
-      return {
159
-        loading: false,
160
-        time: '',
161
-
162
-        search_mode: 1, // 搜索模式 1.日期搜索 2.病人搜索
163
-        patient_search_keyword: "",
164
-
165
-        // checkAll: false,
166
-        // isIndeterminate: true,
167
-        // wechatbindimg: "",
168
-        SchedualPatientsTableData:[],
169
-        active: true,
170
-        schedulType: 0,
171
-        schedulArr: [
172
-          {value: 0, label: "全部"},
173
-          {value: 1, label: "上午"},
174
-          {value: 2, label: "下午"},
175
-          {value: 3, label: "晚上"}
176
-        ],
177
-
178
-        partitionType: 0,
179
-        // sourceType: 0,
180
-        // sourceID: 0,
181
-        // lapsetoType: 0,
182
-        // sourceArr: [
183
-        //   {value: 0, label: "全部", source: 0, lapseto: 0},
184
-        //   {value: 1, label: "门诊", source: 0, lapseto: 0},
185
-        //   {value: 2, label: "住院", source: 0, lapseto: 0}
186
-        // ],
187
-
188
-        // warnArr: [
189
-        //   {value: 0, label: "全部", source: 0, lapseto: 0},
190
-        //   {value: 1, label: "正常", source: 0, lapseto: 0},
191
-        //   {value: 2, label: "异常", source: 0, lapseto: 0}
192
-        // ],
118
+import { getSchedualPatient, GetAllZone } from "@/api/dialysis";
119
+import { parseTime } from "@/utils";
120
+
121
+export default {
122
+  name: "Patient",
123
+  data() {
124
+    return {
125
+      loading: false,
126
+      time: "",
127
+
128
+      search_mode: 1, // 搜索模式 1.日期搜索 2.病人搜索
129
+      patient_search_keyword: "",
130
+
131
+      SchedualPatientsTableData: [],
132
+      active: true,
133
+      schedulType: 0,
134
+      schedulArr: [
135
+        { value: 0, label: "全部" },
136
+        { value: 1, label: "上午" },
137
+        { value: 2, label: "下午" },
138
+        { value: 3, label: "晚上" }
139
+      ],
140
+
141
+      partitionType: 0,
142
+
143
+      labelArr: ["第1次", "第2次", "第3次", "第4次", "第5次", "第6次", "第7次"],
144
+
145
+      pickerOptions1: {
146
+        shortcuts: [
147
+          {
148
+            text: "今天",
149
+            onClick(picker) {
150
+              picker.$emit("pick", new Date());
151
+            }
152
+          },
153
+          {
154
+            text: "昨天",
155
+            onClick(picker) {
156
+              const date = new Date();
157
+              date.setTime(date.getTime() - 3600 * 1000 * 24);
158
+              picker.$emit("pick", date);
159
+            }
160
+          },
161
+          {
162
+            text: "一周前",
163
+            onClick(picker) {
164
+              const date = new Date();
165
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
166
+              picker.$emit("pick", date);
167
+            }
168
+          },
169
+          {
170
+            text: "清空",
171
+            onClick(picker) {
172
+              picker.$emit("pick");
173
+            }
174
+          }
175
+        ]
176
+      },
193 177
 
194
-        labelArr: ['第1次','第2次','第3次','第4次','第5次','第6次','第7次'],
178
+      total: 0,
179
+      listQuery: {
180
+        page: 1,
181
+        limit: 10,
182
+        schedul_type: 0,
183
+        partition_type: 0,
184
+        schedul_time: "",
185
+        keywords: ""
186
+      },
187
+      selecting_schs: [],
188
+      partitionArr: []
189
+    };
190
+  },
191
+  created() {
192
+    var date = new Date();
193
+    this.time = date;
194
+    var year = date.getFullYear();
195
+    var month = date.getMonth() + 1;
196
+    var day = date.getDate();
197
+    if (month < 10) {
198
+      month = "0" + month;
199
+    }
200
+    if (day < 10) {
201
+      day = "0" + day;
202
+    }
203
+    var nowDate = year + "-" + month + "-" + day;
204
+    var date = new Date(nowDate + " 00:00:00");
205
+    this.listQuery.schedul_time = date.getTime();
206
+    this.getAllZone();
207
+    this.getSchedualPatientList();
208
+  },
209
+  methods: {
210
+    clickCurrent(val) {
211
+      console.log(val);
212
+      this.$router.push({
213
+        path: "/dialysis/details",
214
+        query: { patient_id: val.patient_id, date: val.sch_time_int }
215
+      });
216
+    },
217
+    handleSelectionChange(val) {
218
+      this.selecting_schs = val;
219
+    },
195 220
 
196
-        // tableData: null,
197
-        pickerOptions1: {
198
-          shortcuts: [
199
-            {
200
-              text: "今天",
201
-              onClick(picker) {
202
-                picker.$emit("pick", new Date());
203
-              }
204
-            },
205
-            {
206
-              text: "昨天",
207
-              onClick(picker) {
208
-                const date = new Date();
209
-                date.setTime(date.getTime() - 3600 * 1000 * 24);
210
-                picker.$emit("pick", date);
211
-              }
212
-            },
213
-            {
214
-              text: "一周前",
215
-              onClick(picker) {
216
-                const date = new Date();
217
-                date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
218
-                picker.$emit("pick", date);
219
-              }
220
-            },
221
-            {
222
-              text: "清空",
223
-              onClick(picker) {
224
-                picker.$emit("pick");
225
-              }
226
-            }
227
-          ]
228
-        },
229
-        // searchKey: "",
230
-        total: 0,
231
-        listQuery: {
232
-          page: 1,
233
-          limit: 10,
234
-          schedul_type: 0,
235
-          partition_type: 0,
236
-          schedul_time: "",
237
-          keywords: "",
238
-        },
239
-        multipleSelection: [],
240
-        partitionArr: [],
241
-      };
221
+    selectSchedulType(scheduleType) {
222
+      // alert(scheduleType);/
223
+      this.schedulType = scheduleType;
224
+      this.listQuery.schedul_type = scheduleType;
225
+      this.getSchedualPatientList();
242 226
     },
243
-    created() {
244
-      var date = new Date()
245
-      this.time = date
246
-      var year = date.getFullYear()
247
-      var month = date.getMonth() + 1
248
-      var day = date.getDate()
249
-      if (month < 10) {
250
-        month = "0" + month
251
-      }
252
-      if (day < 10) {
253
-        day = "0" + day
254
-      }
255
-      var nowDate = year + "-" + month + "-" + day
256
-      var date = new Date(nowDate + " 00:00:00")
257
-      this.listQuery.schedul_time = date.getTime()
258
-      this.getAllZone()
227
+    selectPartitionType(partitionType) {
228
+      this.partitionType = partitionType;
229
+      this.listQuery.partition_type = partitionType;
259 230
       this.getSchedualPatientList();
260 231
     },
261
-    methods: {
262
-
263
-      clickCurrent(val){
264
-        console.log(val)
265
-        this.$router.push({ path: "/dialysis/details", query: {patient_id: val.patient_id, date: val.sch_time_int}})
266
-      },
267
-      handleSelectionChange(val) {
268
-        this.multipleSelection = val;
269
-        this.pageSelect = this.multipleSelection.length;
270
-      },
271 232
 
272
-      selectSchedulType(scheduleType) {
273
-        // alert(scheduleType);/
274
-        this.schedulType = scheduleType;
275
-        this.listQuery.schedul_type = scheduleType;
276
-        this.getSchedualPatientList();
277
-      },
278
-      selectPartitionType(partitionType) {
279
-        this.partitionType = partitionType;
280
-        this.listQuery.partition_type = partitionType;
281
-        this.getSchedualPatientList();
282
-      },
283
-
284
-      changeTime() {
285
-        console.log(this.time)
286
-        this.listQuery.schedul_time = this.time;
287
-        this.getSchedualPatientList();
288
-      },
289
-      // search() {
290
-      //   this.listQuery.keywords = this.searchKey;
291
-      //   this.getSchedualPatientList();
292
-      // },
293
-      // changeOtherSearch() {
294
-      //   this.getList();
295
-      // }, 
296
-      getAllZone: function () {
297
-        GetAllZone().then(response => {
298
-          if (response.data.state == 0) {
299
-            this.$message.error(response.data.msg);
300
-            return false;
301
-          } else {
302
-            this.partitionArr = response.data.data.zone
303
-            this.partitionArr.unshift({"id": 0, "name": '全部'})
304
-          }
305
-        });
306
-      }, 
307
-      getSchedualPatientList: function () {
308
-        this.loading = true
309
-        if (this.search_mode == 1) {
310
-          this.listQuery.keywords = ""
233
+    changeTime() {
234
+      console.log(this.time);
235
+      this.listQuery.schedul_time = this.time;
236
+      this.getSchedualPatientList();
237
+    },
238
+    getAllZone: function() {
239
+      GetAllZone().then(response => {
240
+        if (response.data.state == 0) {
241
+          this.$message.error(response.data.msg);
242
+          return false;
311 243
         } else {
312
-          this.listQuery.schedul_time = ""
244
+          this.partitionArr = response.data.data.zone;
245
+          this.partitionArr.unshift({ id: 0, name: "全部" });
313 246
         }
314
-        this.SchedualPatientsTableData = []
315
-        getSchedualPatient(this.listQuery).then(response => {
316
-          if (response.data.state == 0) {
317
-            this.loading = false
318
-            this.$message.error(response.data.msg);
319
-            return false;
320
-          } else {
321
-            this.loading = false
322
-            this.total =  response.data.data.total
323
-            // console.log(response.data.data)
324
-            for (let i = 0; i < response.data.data.schedule.length; i++) {
325
-              if (response.data.data.schedule[i].patient.id > 0) {
326
-                let SchedualPatientsTable = {
327
-                  bp: []
328
-                }
329
-
330
-                SchedualPatientsTable['sch_time_int'] = response.data.data.schedule[i].schedule_date
331
-                SchedualPatientsTable['sch_time'] = parseTime(response.data.data.schedule[i].schedule_date, "{y}-{m}-{d}")
332
-                SchedualPatientsTable['dialysis_no'] = response.data.data.schedule[i].patient.dialysis_no
333
-                SchedualPatientsTable['name'] = response.data.data.schedule[i].patient.name
334
-                SchedualPatientsTable['number'] = response.data.data.schedule[i].device_number.number
335
-                SchedualPatientsTable['gender'] = response.data.data.schedule[i].patient.gender
336
-                SchedualPatientsTable['source'] = response.data.data.schedule[i].patient.source
337
-                SchedualPatientsTable['patient_id'] = response.data.data.schedule[i].patient_id
338
-                SchedualPatientsTable['mode_name'] =  response.data.data.schedule[i].treatment_mode.name
339
-                if(response.data.data.schedule[i].assessment_before_dislysis.id > 0) {
340
-                  SchedualPatientsTable['dialysis_before_weight'] = response.data.data.schedule[i].assessment_before_dislysis.weight_before
341
-                }
342
-                if(response.data.data.schedule[i].assessment_after_dislysis.id > 0) {
343
-                  SchedualPatientsTable['dialysis_after_weight'] = response.data.data.schedule[i].assessment_after_dislysis.weight_after
344
-                }
345
-
346
-                SchedualPatientsTable.bp=[]
347
-                for (let a = 0; a < response.data.data.schedule[i].monitoring_record.length; a++) {
348
-                  let bp = {}
349
-                  bp['value'] = response.data.data.schedule[i].monitoring_record[a].systolic_blood_pressure.toString()
350
-                      +"/"+response.data.data.schedule[i].monitoring_record[a].diastolic_blood_pressure.toString()
351
-
352
-                  SchedualPatientsTable.bp.unshift(bp)
353
-                }
354
-
355
-                this.SchedualPatientsTableData.push(SchedualPatientsTable)
247
+      });
248
+    },
249
+    getSchedualPatientList: function() {
250
+      this.loading = true;
251
+      if (this.search_mode == 1) {
252
+        this.listQuery.keywords = "";
253
+      } else {
254
+        this.listQuery.schedul_time = "";
255
+      }
256
+      this.SchedualPatientsTableData = [];
257
+      getSchedualPatient(this.listQuery).then(response => {
258
+        if (response.data.state == 0) {
259
+          this.loading = false;
260
+          this.$message.error(response.data.msg);
261
+          return false;
262
+        } else {
263
+          this.loading = false;
264
+          this.total = response.data.data.total;
265
+          // console.log(response.data.data)
266
+          for (let i = 0; i < response.data.data.schedule.length; i++) {
267
+            if (response.data.data.schedule[i].patient.id > 0) {
268
+              let SchedualPatientsTable = {
269
+                bp: []
270
+              };
271
+
272
+              SchedualPatientsTable["sch_id"] = response.data.data.schedule[i].id
273
+              SchedualPatientsTable["sch_time_int"] =
274
+                response.data.data.schedule[i].schedule_date;
275
+              SchedualPatientsTable["sch_time"] = parseTime(
276
+                response.data.data.schedule[i].schedule_date,
277
+                "{y}-{m}-{d}"
278
+              );
279
+              SchedualPatientsTable["dialysis_no"] =
280
+                response.data.data.schedule[i].patient.dialysis_no;
281
+              SchedualPatientsTable["name"] =
282
+                response.data.data.schedule[i].patient.name;
283
+              SchedualPatientsTable["number"] =
284
+                response.data.data.schedule[i].device_number.number;
285
+              SchedualPatientsTable["gender"] =
286
+                response.data.data.schedule[i].patient.gender;
287
+              SchedualPatientsTable["source"] =
288
+                response.data.data.schedule[i].patient.source;
289
+              SchedualPatientsTable["patient_id"] =
290
+                response.data.data.schedule[i].patient_id;
291
+              SchedualPatientsTable["mode_name"] =
292
+                response.data.data.schedule[i].treatment_mode.name;
293
+              if (
294
+                response.data.data.schedule[i].assessment_before_dislysis.id > 0
295
+              ) {
296
+                SchedualPatientsTable["dialysis_before_weight"] =
297
+                  response.data.data.schedule[
298
+                    i
299
+                  ].assessment_before_dislysis.weight_before;
300
+              }
301
+              if (
302
+                response.data.data.schedule[i].assessment_after_dislysis.id > 0
303
+              ) {
304
+                SchedualPatientsTable["dialysis_after_weight"] =
305
+                  response.data.data.schedule[
306
+                    i
307
+                  ].assessment_after_dislysis.weight_after;
308
+              }
356 309
 
310
+              SchedualPatientsTable.bp = [];
311
+              for (
312
+                let a = 0;
313
+                a < response.data.data.schedule[i].monitoring_record.length;
314
+                a++
315
+              ) {
316
+                let bp = {};
317
+                bp["value"] =
318
+                  response.data.data.schedule[i].monitoring_record[
319
+                    a
320
+                  ].systolic_blood_pressure.toString() +
321
+                  "/" +
322
+                  response.data.data.schedule[i].monitoring_record[
323
+                    a
324
+                  ].diastolic_blood_pressure.toString();
325
+
326
+                SchedualPatientsTable.bp.unshift(bp);
357 327
               }
328
+
329
+              this.SchedualPatientsTableData.push(SchedualPatientsTable);
358 330
             }
359 331
           }
360
-        });
361
-
362
-
363
-      },getValue:function (val) {
364
-        if(val != undefined){
365
-          return val.value
366
-        }else{
367
-          return ''
368 332
         }
369
-      }, 
370
-      handleCurrentChange(val) {
371
-        this.listQuery.page = val;
372
-        this.getSchedualPatientList();
373
-      },
374
-      changeSearchMode: function() {
375
-        if (this.search_mode == 1) {
376
-          this.search_mode = 2
377
-        } else {
378
-          this.search_mode = 1
379
-        }
380
-      },
381
-      searchPatientAction: function() {
382
-        this.listQuery.keywords = this.patient_search_keyword
383
-        console.log(this.patient_search_keyword)
384
-        if (this.patient_search_keyword.length == 0) {
385
-          return
386
-        }
387
-        this.getSchedualPatientList()
388
-      },
389
-
390
-      //  components:{
391
-      //    pagiNation
392
-      //  }
333
+      });
334
+    },
335
+    getValue: function(val) {
336
+      if (val != undefined) {
337
+        return val.value;
338
+      } else {
339
+        return "";
340
+      }
341
+    },
342
+    handleCurrentChange(val) {
343
+      this.listQuery.page = val;
344
+      this.getSchedualPatientList();
345
+    },
346
+    changeSearchMode: function() {
347
+      if (this.search_mode == 1) {
348
+        this.search_mode = 2;
349
+      } else {
350
+        this.search_mode = 1;
351
+      }
352
+    },
353
+    searchPatientAction: function() {
354
+      this.listQuery.keywords = this.patient_search_keyword;
355
+      console.log(this.patient_search_keyword);
356
+      if (this.patient_search_keyword.length == 0) {
357
+        return;
358
+      }
359
+      this.getSchedualPatientList();
360
+    },
361
+    batchPrintAction: function() {
362
+      var sch_ids = []
363
+      for (let index = 0; index < this.selecting_schs.length; index++) {
364
+        sch_ids.push(this.selecting_schs[index].sch_id)
365
+      }
366
+      this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
367
+      this.$router.push({ path: "/dialysis/print/batch" });
393 368
     }
394 369
   }
370
+};
395 371
 </script>
396 372
 
397 373
 <style rel="stylesheet/scss" lang="scss" scoped>
398
-  .app-container {
399
-    // margin: 20px;
400
-    font-size: 15px;
401
-    .filter-container {
402
-      padding-bottom: 5px;
374
+.app-container {
375
+  // margin: 20px;
376
+  font-size: 15px;
377
+  .filter-container {
378
+    padding-bottom: 5px;
379
+  }
380
+  .search-component {
381
+    width: 500px;
382
+    .searchBox {
383
+      width: 300px;
384
+      height: 36px;
385
+      line-height: 36px;
386
+      padding-left: 15px;
387
+      border: 1px #dcdfe6 solid;
388
+      border-right: none;
389
+      outline: none;
390
+      float: left;
391
+      border-radius: 6px 0 0 6px;
392
+      font-size: 14px;
393
+      color: #333;
394
+      background: #fff;
395
+      box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
403 396
     }
404
-    .search-component {
405
-      width: 500px;
406
-      .searchBox {
407
-        width: 300px;
408
-        height: 36px;
409
-        line-height: 36px;
410
-        padding-left: 15px;
411
-        border: 1px #dcdfe6 solid;
412
-        border-right: none;
413
-        outline: none;
414
-        float: left;
415
-        border-radius: 6px 0 0 6px;
416
-        font-size: 14px;
417
-        color: #333;
418
-        background: #fff;
419
-        box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
420
-      }
421
-      .searchBtn {
422
-        background-color: #409eff;
423
-        color: #fff;
424
-        font-size: 15px;
425
-        text-align: center;
426
-        height: 36px;
427
-        line-height: 36px;
428
-        float: left;
429
-        outline: none;
430
-        width: 70px;
431
-        border: none;
432
-        border-radius: 0 6px 6px 0;
433
-        font-family: "Microsoft Yahei";
434
-        cursor: pointer;
435
-      }
397
+    .searchBtn {
398
+      background-color: #409eff;
399
+      color: #fff;
400
+      font-size: 15px;
401
+      text-align: center;
402
+      height: 36px;
403
+      line-height: 36px;
404
+      float: left;
405
+      outline: none;
406
+      width: 70px;
407
+      border: none;
408
+      border-radius: 0 6px 6px 0;
409
+      font-family: "Microsoft Yahei";
410
+      cursor: pointer;
436 411
     }
437
-    .cell {
438
-      margin: 0px 0 15px 0;
439
-      -moz-box-sizing: border-box;
440
-      -webkit-box-sizing: border-box;
441
-      -o-box-sizing: border-box;
442
-      -ms-box-sizing: border-box;
443
-      box-sizing: border-box;
444
-      display: -webkit-box;
445
-      display: -ms-flexbox;
446
-      // display: flex;
447
-      -webkit-box-align: flex-start;
448
-      -ms-flex-align: flex-start;
449
-      align-items: flex-start;
450
-      text-align: left;
451
-      justify-content: flex-start;
452
-      color: #333;
453
-      .title {
454
-        width: 80px;
412
+  }
413
+  .cell {
414
+    margin: 0px 0 15px 0;
415
+    -moz-box-sizing: border-box;
416
+    -webkit-box-sizing: border-box;
417
+    -o-box-sizing: border-box;
418
+    -ms-box-sizing: border-box;
419
+    box-sizing: border-box;
420
+    display: -webkit-box;
421
+    display: -ms-flexbox;
422
+    // display: flex;
423
+    -webkit-box-align: flex-start;
424
+    -ms-flex-align: flex-start;
425
+    align-items: flex-start;
426
+    text-align: left;
427
+    justify-content: flex-start;
428
+    color: #333;
429
+    .title {
430
+      width: 80px;
431
+      display: inline-block;
432
+      font-weight: normal;
433
+      color: #909399;
434
+      padding: 6px 0;
435
+      font-weight: 700;
436
+      .name {
437
+        width: 60px;
438
+        text-align: justify;
439
+        text-justify: distribute-all-lines;
440
+        text-align-last: justify;
441
+        -moz-text-align-last: justify;
442
+        -webkit-text-align-last: justify;
455 443
         display: inline-block;
456
-        font-weight: normal;
457
-        color: #909399;
458
-        padding: 6px 0;
459
-        font-weight: 700;
460
-        .name {
461
-          width: 60px;
462
-          text-align: justify;
463
-          text-justify: distribute-all-lines;
464
-          text-align-last: justify;
465
-          -moz-text-align-last: justify;
466
-          -webkit-text-align-last: justify;
467
-          display: inline-block;
468
-        }
469 444
       }
470
-      .time {
471
-        -webkit-box-flex: 1;
472
-        -ms-flex: 1;
473
-        flex: 1;
474
-        ul {
475
-          padding: 0;
476
-          margin: 0;
477
-          li {
478
-            float: left;
479
-            list-style: none;
480
-            cursor: pointer;
481
-            padding: 3px 0;
482
-            width: 70px;
483
-            color: #606266;
484
-            border-radius: 4px;
485
-            margin: 0 10px 0 0;
486
-            color: #409eff;
487
-            border: 1px #409eff solid;
488
-            text-align: center;
489
-            &:hover {
490
-              background: #409eff;
491
-              color: #fff;
492
-            }
493
-          }
494
-          .active {
445
+    }
446
+    .time {
447
+      -webkit-box-flex: 1;
448
+      -ms-flex: 1;
449
+      flex: 1;
450
+      ul {
451
+        padding: 0;
452
+        margin: 0;
453
+        li {
454
+          float: left;
455
+          list-style: none;
456
+          cursor: pointer;
457
+          padding: 3px 0;
458
+          width: 70px;
459
+          color: #606266;
460
+          border-radius: 4px;
461
+          margin: 0 10px 0 0;
462
+          color: #409eff;
463
+          border: 1px #409eff solid;
464
+          text-align: center;
465
+          &:hover {
495 466
             background: #409eff;
496 467
             color: #fff;
497 468
           }
498 469
         }
470
+        .active {
471
+          background: #409eff;
472
+          color: #fff;
473
+        }
499 474
       }
500 475
     }
501
-    .amount {
502
-      font-weight: normal;
503
-      padding: 10px 0 0 0;
504
-      color: #606266;
505
-      font-size: 14px;
506
-      span {
507
-        color: #ef2525;
508
-        font-family: "Arial";
509
-        padding: 0 2px;
510
-      }
476
+  }
477
+  .amount {
478
+    font-weight: normal;
479
+    padding: 10px 0 0 0;
480
+    color: #606266;
481
+    font-size: 14px;
482
+    span {
483
+      color: #ef2525;
484
+      font-family: "Arial";
485
+      padding: 0 2px;
511 486
     }
512 487
   }
488
+}
513 489
 </style>
514 490
 

+ 2 - 2
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue 查看文件

@@ -1330,12 +1330,12 @@
1330 1330
 
1331 1331
         if(isChild == 1){ //不是子药
1332 1332
 
1333
-          return row.advice_name + row.advice_desc+tempDrugSpecDesc+tempPrescribingNumberDesc +tempSingleDoseDesc+" "+row.delivery_way+" "+row.execution_frequency
1333
+          return row.advice_name + row.advice_desc+tempDrugSpecDesc+tempPrescribingNumberDesc+ ' 单次用量 ' +tempSingleDoseDesc+" "+row.delivery_way+" "+row.execution_frequency
1334 1334
 
1335 1335
         }else{ //是子药
1336 1336
 
1337 1337
 
1338
-          return row.advice_name + row.advice_desc+tempDrugSpecDesc+tempPrescribingNumberDesc + tempSingleDoseDesc
1338
+          return row.advice_name + row.advice_desc+tempDrugSpecDesc+tempPrescribingNumberDesc+' 单次用量 ' +tempSingleDoseDesc
1339 1339
         }
1340 1340
 
1341 1341
 

+ 0 - 3
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

@@ -482,15 +482,12 @@
482 482
 
483 483
       var date = this.$route.query && this.$route.query.date;
484 484
       this.record_date = uParseTime(date, '{y}-{m}-{d}');
485
-
486
-           
487 485
     },
488 486
     watch: {
489 487
       isVisibility(val) {
490 488
 
491 489
       },
492 490
       "prescription.id": function () {
493
-        
494 491
         if (this.prescription.id > 0) {
495 492
           for (var index in this.dialysisPrescription) {
496 493
             this.dialysisPrescription[index] = this.prescription[index];

+ 27 - 4
src/xt_pages/dialysis/dialysisPrintOrder.vue 查看文件

@@ -501,9 +501,8 @@
501 501
                   <td width="70">医生签名:</td>
502 502
                   <td width="100">
503 503
                     <div class="under-line">
504
-                      <span v-if="advices.length == 0"></span>
505
-                      <span v-else-if="setAdminUserES(advices[0][0].advice_doctor) == ''">{{getAdminUser(advices[0][0].advice_doctor)}}</span>
506
-                      <img class="es-img" :src="setAdminUserES(advices[0][0].advice_doctor)"
504
+                      <span v-if="setAdminUserES(prescription.prescription_doctor) == ''">{{getAdminUser(prescription.prescription_doctor)}}</span>
505
+                      <img class="es-img" :src="setAdminUserES(prescription.prescription_doctor)"
507 506
                            alt="" srcset="" v-else>
508 507
 
509 508
                       <!-- {{getXuserName(prescription.prescription_doctor)}} -->
@@ -964,6 +963,25 @@
964 963
               <span></span>
965 964
             </td>
966 965
           </tr>
966
+          
967
+          <!-- 使整个表有5行以上 -->
968
+          <template v-if="advices.length < 5">
969
+          <tr v-for="(num) in (5 - advices.length)" :key="'5_' + num">
970
+              <td>&nbsp;</td>
971
+              <td></td>
972
+              <td></td>
973
+              <td></td>
974
+              <td></td>
975
+              <td></td>
976
+              <td></td>
977
+              <td>&nbsp;</td>
978
+              <td></td>
979
+              <td></td>
980
+              <td></td>
981
+              <td></td>
982
+              <td></td>
983
+          </tr>
984
+          </template>
967 985
           </tbody>
968 986
         </table>
969 987
 
@@ -1093,7 +1111,7 @@
1093 1111
         var ptime = Math.round(new Date().getTime() / 1000);
1094 1112
         this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}');
1095 1113
 
1096
-        const style = '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:15px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;}';
1114
+        const style = '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:15px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;}';
1097 1115
 
1098 1116
         printJS({
1099 1117
           printable: "dialysis-print-box",
@@ -1483,6 +1501,11 @@
1483 1501
     font-size: 15px;
1484 1502
   }
1485 1503
 
1504
+
1505
+  .dialysis-print-order .print-table-no tr td {
1506
+      padding: 8px 5px;
1507
+      line-height: 25px;
1508
+  }
1486 1509
   .es-img {
1487 1510
     height: 25px;
1488 1511
   }

+ 2 - 2
src/xt_pages/dialysis/schedualPatient.vue 查看文件

@@ -155,7 +155,7 @@
155 155
           for (let s_i = 0; s_i < originSchedules.length; s_i++) {
156 156
             const schedule = originSchedules[s_i];
157 157
             if (zone_selected != 0) {
158
-              if (zone_selected == schedule.device_zone.id) {
158
+              if (zone_selected == schedule.device_number.zone.id) {
159 159
                 if (timetype_selected == 0 || schedule.schedule_type == timetype_selected) {
160 160
                   filtedSchedules.push(schedule)
161 161
                 }
@@ -255,7 +255,7 @@
255 255
         }
256 256
         for (let index = 0; index < schedules.length; index++) {
257 257
           const schedule = schedules[index]
258
-          scheduleMap[schedule.device_zone.id].push(schedule)
258
+          scheduleMap[schedule.device_number.zone.id].push(schedule)
259 259
         }
260 260
         var zone_schedules = []
261 261
         for (let index = 0; index < zone_options.length; index++) {

+ 13 - 13
src/xt_permission.js 查看文件

@@ -10,19 +10,19 @@ const permissionWhiteList = loginWhiteList.concat(['/']) // 权限验证白名
10 10
 
11 11
 router.beforeEach((to, from, next) => {
12 12
   // 线上注释
13
-  // if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
14
-  //   store.dispatch('VerifyConfigList', []).then(() => {
15
-  //   next()
16
-  //   })
17
-  // }
18
-  // if (store.getters.permission_routers === undefined) {
19
-  //   store.dispatch('xt_GenerateRoutes', []).then(() => {
20
-  //     next()
21
-  //   })
22
-  // } else {
23
-  //   next()
24
-  // }
25
-  // return
13
+  if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
14
+    store.dispatch('VerifyConfigList', []).then(() => {
15
+    next()
16
+    })
17
+  }
18
+  if (store.getters.permission_routers === undefined) {
19
+    store.dispatch('xt_GenerateRoutes', []).then(() => {
20
+      next()
21
+    })
22
+  } else {
23
+    next()
24
+  }
25
+  return
26 26
   // 线上注释
27 27
 
28 28
   NProgress.start()