Ver código fonte

提交代码

陈少旭 2 anos atrás
pai
commit
ca5ec154dc

+ 24 - 2
src/api/inspection.js Ver arquivo

@@ -3,9 +3,9 @@ import {
3 3
   fromTextArea
4 4
 } from 'codemirror'
5 5
 
6
-export function fetchInspectionReference(id) {
6
+export function fetchInspectionReference(id,type) {
7 7
   return request({
8
-    url: '/api/patient/inspection/reference?patient=' + id,
8
+    url: '/api/patient/inspection/reference?patient=' + id+"&type=" + type,
9 9
     method: 'get'
10 10
   })
11 11
 }
@@ -59,3 +59,25 @@ export function GetInitInspections(params) {
59 59
     params: params
60 60
   })
61 61
 }
62
+
63
+
64
+export function CreatePatientPICInspection(id, data) {
65
+  return request({
66
+    url: '/api/patient/pic_inspection/create?patient=' + id,
67
+    method: 'post',
68
+    data: data
69
+  })
70
+}
71
+
72
+export function editPatientPICInspection(id, data) {
73
+  return request({
74
+    url: '/api/patient/pic_inspection/edit?patient=' + id,
75
+    method: 'post',
76
+    data: data
77
+  })
78
+}
79
+
80
+
81
+
82
+
83
+

+ 20 - 0
src/api/patient.js Ver arquivo

@@ -724,3 +724,23 @@ export function deletePhysiqueCheckRecords(params) {
724 724
     params: params
725 725
   })
726 726
 }
727
+
728
+
729
+export function getPhysiqueCheckRecordsPrint(params) {
730
+  return request({
731
+    url: '/api/patient/physiquecheck/print',
732
+    method: 'get',
733
+    params: params
734
+  })
735
+}
736
+
737
+
738
+export function getSickhistoryCheckRecordsPrint(params) {
739
+  return request({
740
+    url: '/api/patient/sickhistory/print',
741
+    method: 'get',
742
+    params: params
743
+  })
744
+}
745
+
746
+

+ 1 - 0
src/lang/zh.js Ver arquivo

@@ -393,6 +393,7 @@ export default {
393 393
     config_value: '字段值',
394 394
     remark: '备注',
395 395
     course_disease: '病程',
396
+    sick_history: '病史',
396 397
     rescue_record: '抢救记录',
397 398
     manage_ment: '设备管理',
398 399
     nursing_record: '透析护理记录',

+ 12 - 1
src/router/modules/patient.js Ver arquivo

@@ -244,7 +244,7 @@ export default {
244 244
     }
245 245
   },
246 246
   {
247
-    path: '/physique/print',//coursePrint
247
+    path: '/sickhistory/print',
248 248
     component: () => import('@/xt_pages/user/physiqueprinting'),
249 249
     hidden: true,
250 250
     is_menu: false,
@@ -254,6 +254,17 @@ export default {
254 254
       noCache: true
255 255
     }
256 256
   },
257
+    {
258
+      path: '/physique/print',
259
+      component: () => import('@/xt_pages/user/physiqueprintingtwo'),
260
+      hidden: true,
261
+      is_menu: false,
262
+      name: 'physiqueprintingtwo',
263
+      meta: {
264
+        title: 'physiqueprintingtwo',
265
+        noCache: true
266
+      }
267
+    },
257 268
   {
258 269
     path: '/patient/patient/templateSummary/print',
259 270
     component: () => import('@/xt_pages/user/templateSummaryPrint'),

+ 69 - 40
src/xt_pages/outpatientCharges/summary.vue Ver arquivo

@@ -1209,19 +1209,21 @@ export default {
1209 1209
           for (let i = 0; i < response.data.data.order.length; i++) {
1210 1210
             let order = response.data.data.order[i];
1211 1211
             let data = this.setMonthPrescription(order.info)
1212
-            // console.log(data)
1212
+            console.log(data)
1213 1213
             for (let b = 0; b < data.length; b++) {
1214 1214
               let obj = {
1215 1215
                 name: order.patient.name,
1216 1216
                 id_card_no: order.patient.id_card_no,
1217
-                year: "2022",
1218
-                month: "10",
1217
+                year: "2023",
1218
+                month: "03",
1219 1219
                 code: data[b].code,
1220
-                pric: data[b].count * data[b].price,
1220
+                pric: data[b].total ,
1221 1221
                 item_name: data[b].name,
1222 1222
                 unit: data[b].unit,
1223 1223
                 count: data[b].count,
1224
-                item_type_name:this.getItemTypeName(order.order_info, data[b].id,data[b].type)
1224
+                item_type_name:this.getItemTypeName(order.info, data[b].id,data[b].type),
1225
+                pric_two: data[b].pric ,
1226
+
1225 1227
 
1226 1228
               }
1227 1229
               if (order.insutype == "310") {
@@ -1250,6 +1252,7 @@ export default {
1250 1252
                 "单位": list[i].unit,
1251 1253
                 "数量": list[i].count,
1252 1254
                 "金额": list[i].pric,
1255
+                "dan": list[i].pric_two,
1253 1256
               }
1254 1257
               tarList.push(obj)
1255 1258
             }
@@ -1268,6 +1271,7 @@ export default {
1268 1271
               "单位",
1269 1272
               "数量",
1270 1273
               "金额",
1274
+              "dan",
1271 1275
 
1272 1276
             ];
1273 1277
             const filterVal = [
@@ -1282,6 +1286,8 @@ export default {
1282 1286
               "单位",
1283 1287
               "数量",
1284 1288
               "金额",
1289
+              "dan",
1290
+
1285 1291
 
1286 1292
             ];
1287 1293
             const data = this.formatJson(filterVal, tarList);
@@ -3120,6 +3126,7 @@ export default {
3120 3126
       this.getHisOrderList();
3121 3127
     },
3122 3128
     setMonthPrescription(month_prescriptions) {
3129
+      console.log(month_prescriptions)
3123 3130
       let tableData = []
3124 3131
       let drug_month_prescriptions = {
3125 3132
         advices: []
@@ -3131,92 +3138,114 @@ export default {
3131 3138
       }
3132 3139
       let project_ids = []
3133 3140
 
3141
+      let to = 0
3142
+      for(let i = 0; i < month_prescriptions.length; i++){
3143
+        to = to + month_prescriptions[i].det_item_fee_sumamt
3144
+      }
3145
+      console.log(to)
3146
+
3134 3147
       // let addition_month_prescriptions = {
3135 3148
       //   addition: []
3136 3149
       //
3137 3150
       // }
3138 3151
       // let additions_ids = []
3139 3152
       for (let i = 0; i < month_prescriptions.length; i++) {
3140
-        if (month_prescriptions[i].type == 1) { //药品
3141
-          for (let a = 0; a < month_prescriptions[i].advices.length; a++) {
3153
+        if (month_prescriptions[i].advice_id > 0 && month_prescriptions[i].project_id == 0) { //药品
3142 3154
             let obj = {
3143
-              id: month_prescriptions[i].advices[a].drug_id,
3144
-              price: month_prescriptions[i].advices[a].price
3145
-
3155
+              id: month_prescriptions[i].advices.drug_id,
3156
+              price: month_prescriptions[i].pric
3146 3157
             }
3147 3158
             drug_ids.push(obj)
3148
-            drug_month_prescriptions.advices.push(month_prescriptions[i].advices[a])
3149
-          }
3159
+            drug_month_prescriptions.advices.push(month_prescriptions[i])
3150 3160
 
3151
-        } else if (month_prescriptions[i].type == 2) { //项目
3152
-          for (let a = 0; a < month_prescriptions[i].project.length; a++) {
3161
+        } else if (month_prescriptions[i].advice_id == 0 && month_prescriptions[i].project_id > 0) { //项目
3153 3162
             let obj = {
3154
-              id: month_prescriptions[i].project[a].project_id,
3155
-              price: month_prescriptions[i].project[a].price
3156
-
3163
+              id: month_prescriptions[i].project.project_id,
3164
+              price: month_prescriptions[i].pric
3157 3165
             }
3158 3166
 
3159 3167
             project_ids.push(obj)
3160
-            project_month_prescriptions.project.push(month_prescriptions[i].project[a])
3161
-          }
3168
+            project_month_prescriptions.project.push(month_prescriptions[i])
3162 3169
         }
3163 3170
 
3164 3171
       }
3172
+      console.log(drug_ids)
3173
+      console.log(project_ids)
3174
+
3165 3175
 
3166 3176
       drug_ids = this.unique(drug_ids)
3167 3177
       project_ids = this.unique(project_ids)
3178
+      console.log(drug_ids)
3179
+      console.log(project_ids)
3168 3180
 
3169 3181
       // additions_ids= this.unique(additions_ids)
3170 3182
 
3171 3183
       for (let i = 0; i < drug_ids.length; i++) {
3172 3184
         let obj = {}
3173 3185
         let count = 0
3186
+        let total = 0
3187
+
3174 3188
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
3175
-          if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
3176
-            obj['name'] = drug_month_prescriptions.advices[a].advice_name
3177
-            obj['code'] = drug_month_prescriptions.advices[a].id
3178
-            obj['unit'] = drug_month_prescriptions.advices[a].drug.min_unit
3179
-            obj['price'] = parseFloat(drug_month_prescriptions.advices[a].price)
3180
-            obj['id'] = drug_month_prescriptions.advices[a].id
3181
-            obj['type'] = 1
3189
+          console.log( drug_month_prescriptions.advices[a].id)
3190
+          console.log( drug_month_prescriptions.advices[a].det_item_fee_sumamt)
3191
+          console.log((parseFloat(drug_month_prescriptions.advices[a].pric) * parseFloat(drug_month_prescriptions.advices[a].cnt)).toFixed(2))
3182 3192
 
3183 3193
 
3184
-            count = count + drug_month_prescriptions.advices[a].prescribing_number
3194
+          if (drug_ids[i].price == drug_month_prescriptions.advices[a].pric && drug_ids[i].id == drug_month_prescriptions.advices[a].advices.drug_id) {
3195
+            obj['name'] = drug_month_prescriptions.advices[a].advices.advice_name
3196
+            obj['code'] = drug_month_prescriptions.advices[a].advices.id
3197
+            obj['unit'] = drug_month_prescriptions.advices[a].advices.drug.min_unit
3198
+            obj['price'] = parseFloat(drug_month_prescriptions.advices[a].pric)
3199
+            obj['id'] = drug_month_prescriptions.advices[a].advices.id
3200
+            obj['type'] = 1
3201
+
3202
+            count = count + drug_month_prescriptions.advices[a].cnt
3203
+            total = total + drug_month_prescriptions.advices[a].det_item_fee_sumamt
3185 3204
           }
3186 3205
         }
3206
+
3187 3207
         obj['count'] = count
3208
+        obj['total'] = total
3209
+
3188 3210
         tableData.push(obj)
3189 3211
       }
3190 3212
 
3191 3213
       for (let i = 0; i < project_ids.length; i++) {
3192 3214
         let obj = {}
3193 3215
         let count = 0
3216
+        let total = 0
3217
+
3194 3218
         for (let a = 0; a < project_month_prescriptions.project.length; a++) {
3195
-          if (project_ids[i].price == project_month_prescriptions.project[a].price && project_ids[i].id == project_month_prescriptions.project[a].project_id) {
3219
+          if (project_ids[i].price == project_month_prescriptions.project[a].project.price && project_ids[i].id == project_month_prescriptions.project[a].project.project_id) {
3196 3220
 
3197
-            if (project_month_prescriptions.project[a].type == 2) {
3198
-              obj['name'] = project_month_prescriptions.project[a].project.project_name
3199
-              obj['code'] = project_month_prescriptions.project[a].id
3200
-              obj['unit'] = project_month_prescriptions.project[a].project.unit
3221
+            if (project_month_prescriptions.project[a].project.type == 2) {
3222
+              obj['name'] = project_month_prescriptions.project[a].project.project.project_name
3223
+              obj['code'] = project_month_prescriptions.project[a].project.id
3224
+              obj['unit'] = project_month_prescriptions.project[a].project.project.unit
3201 3225
               obj['type'] = 2
3202
-              obj['id'] = project_month_prescriptions.project[a].id
3226
+              obj['id'] = project_month_prescriptions.project[a].project.id
3203 3227
 
3204 3228
 
3205
-            } else if (project_month_prescriptions.project[a].type == 3) {
3206
-              obj['name'] = project_month_prescriptions.project[a].good_info.good_name
3207
-              obj['code'] = project_month_prescriptions.project[a].id
3208
-              obj['unit'] = project_month_prescriptions.project[a].good_info.packing_unit
3229
+            } else if (project_month_prescriptions.project[a].project.type == 3) {
3230
+              obj['name'] = project_month_prescriptions.project[a].project.good_info.good_name
3231
+              obj['code'] = project_month_prescriptions.project[a].project.id
3232
+              obj['unit'] = project_month_prescriptions.project[a].project.good_info.packing_unit
3209 3233
               obj['type'] = 3
3210
-              obj['id'] = project_month_prescriptions.project[a].id
3234
+              obj['id'] = project_month_prescriptions.project[a].project.id
3211 3235
 
3212 3236
             }
3213
-            count = count + parseFloat(project_month_prescriptions.project[a].count)
3214
-            obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
3237
+            count = count + parseFloat(project_month_prescriptions.project[a].cnt)
3238
+            total = total + project_month_prescriptions.project[a].det_item_fee_sumamt
3239
+
3240
+            obj['price'] = parseFloat(project_month_prescriptions.project[a].pric)
3215 3241
             obj['type'] = 2
3216 3242
 
3217 3243
           }
3218 3244
         }
3245
+
3219 3246
         obj['count'] = count
3247
+        obj['total'] = total
3248
+
3220 3249
         tableData.push(obj)
3221 3250
 
3222 3251
       }

+ 1 - 1
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Ver arquivo

@@ -667,7 +667,7 @@ export default {
667 667
         })
668 668
       } else {
669 669
         const style =
670
-            '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
670
+            '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.doctorBoxtwo{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
671 671
         printJS({
672 672
           printable: 'printMain',
673 673
           type: 'html',

+ 9 - 13
src/xt_pages/outpatientTool/components/detail.vue Ver arquivo

@@ -83,13 +83,13 @@
83 83
             </el-table-column>
84 84
             <el-table-column align="center" prop="name" label="费用">
85 85
                 <template slot-scope="scope">
86
-                    <div>{{(scope.row.price.toFixed(2)*scope.row.count).toFixed(2)}}</div>
86
+                    <div>{{((scope.row.price*scope.row.count).toFixed(2))}}</div>
87 87
                 </template>
88 88
             </el-table-column>
89 89
 
90 90
             <el-table-column align="center" prop="total" label="费用总额">
91 91
                 <template slot-scope="scope">
92
-                    <div>{{scope.row.total.toFixed(2)}}</div>
92
+                    <div>{{scope.row.total}}</div>
93 93
                 </template>
94 94
             </el-table-column>
95 95
 
@@ -282,6 +282,8 @@
282 282
 
283 283
                   newObj['count'] = orders[b].order_info[c].cnt
284 284
                   newObj['price'] = orders[b].order_info[c].pric
285
+                  newObj['item_total'] = orders[b].order_info[c].det_item_fee_sumamt
286
+
285 287
                   if (orders[b].order_info[c].advice_id > 0 && orders[b].order_info[c].project_id == 0) {
286 288
                     newObj['type'] = 1
287 289
                     newObj['item_name'] = orders[b].order_info[c].advice.advice_name
@@ -346,6 +348,7 @@
346 348
                 obj['type'] = project[i].type
347 349
                 obj['item_name'] = project[i].item_name
348 350
                 obj['item_spec'] = project[i].item_spec
351
+                obj['item_total'] = project[i].item_total
349 352
 
350 353
                 obj['item_id'] = project[i].item_id
351 354
                 obj['name'] = tempPatientsTwo[d].name
@@ -369,6 +372,7 @@
369 372
                 obj['item_spec'] = advice[i].item_spec
370 373
                 obj['item_id'] = advice[i].item_id
371 374
                 obj['name'] = tempPatientsTwo[d].name
375
+                obj['item_total'] = advice[i].item_total
372 376
                 obj['patient_id'] = tempPatientsTwo[d].patient_id
373 377
                 obj['count'] = count
374 378
                 tempPatientsTwo[d].new_order_info.push(obj)
@@ -380,20 +384,12 @@
380 384
               let total = 0
381 385
               for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
382 386
                 let new_name = tempPatientsTwo[i].new_order_info[b].item_name
383
-                // console.log('3 ' + new_name)
384 387
                 if (new_name != undefined){
385
-                  // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].patient_id)
386
-                  // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].price)
387
-                  // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].count)
388
-                  //
389
-                  // new_name = new_name.replace('( ', '')
390
-                  // new_name = new_name.replace(' )', '')
391 388
                   if (new_name.length != 0) {
392
-                    console.log(tempPatientsTwo[i].new_order_info[b].count)
393
-                    console.log(tempPatientsTwo[i].new_order_info[b].price)
394
-                    console.log(parseFloat(tempPatientsTwo[i].new_order_info[b].count) * parseFloat(tempPatientsTwo[i].new_order_info[b].price))
395 389
                     console.log(total)
396
-                    total = total + parseFloat(tempPatientsTwo[i].new_order_info[b].count) * parseFloat(tempPatientsTwo[i].new_order_info[b].price.toFixed(2))
390
+                    console.log(tempPatientsTwo[i].new_order_info[b].item_total)
391
+
392
+                    total = parseFloat(total) + parseFloat(tempPatientsTwo[i].new_order_info[b].item_total).toFixed(2)
397 393
                   }
398 394
 
399 395
 

+ 1 - 1
src/xt_pages/outpatientTool/detailPrint.vue Ver arquivo

@@ -18,7 +18,7 @@
18 18
           <tr>
19 19
             <td>患者姓名:{{ patient.name }}</td>
20 20
             <td>性别:{{ patient.gender == 1 ? "男" : "女" }}</td>
21
-            <td>性别:{{patient.id_card_no}}</td>
21
+            <td>身份证:{{patient.id_card_no}}</td>
22 22
 
23 23
             <TD>年龄:{{ getAge(patient.id_card_no)?getAge(patient.id_card_no)+'岁':''}}</TD>
24 24
             <td>结算类别:

Diferenças do arquivo suprimidas por serem muito extensas
+ 2518 - 527
src/xt_pages/user/Physicalexamination.vue


+ 1 - 1
src/xt_pages/user/components/PatientSidebar.vue Ver arquivo

@@ -259,7 +259,7 @@ export default {
259 259
         this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
260 260
 
261 261
       } else if(name == '3-2'){
262
-        this.$router.push({path:'/patient/patient/'+this.id+'/firstDisease'})
262
+        this.$router.push({path:'/patients/physicalexamination?id='+this.id})
263 263
 
264 264
       }else if(name == '4-1'){
265 265
         this.$router.push({path:'/patients/inspection_check?id='+this.id})

+ 580 - 209
src/xt_pages/user/physiqueprinting.vue Ver arquivo

@@ -1,229 +1,600 @@
1 1
 <template>
2
-    <div>
3
-        <div class="position">
4
-            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-            <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printAction" type="primary">打印
6
-            </el-button>
7
-        </div>
8
-        <div class="app-container">
9
-            <div id="print_content">
10
-                <div class="print_page_main_content">
11
-                    
12
-                    <h1 style="text-align: center; padding-top:12px;">{{orgname}}血液净化治疗病历</h1> 
13
-                    <div style="border-bottom: 1px solid black;display: flex;padding-bottom: 10px;padding-top: 10px;">
14
-                        <div  style="flex:1;text-align: center;">
15
-                            姓名:
16
-                            <div  style="width: 120px;text-align: left;display:inline-block;">{{patient.name }}</div>
17
-                        </div>
18
-
19
-                        <div style="flex:1;text-align: center;" >
20
-                            病历号:
21
-                            <div  style="width: 120px;text-align: left;display:inline-block;">
22
-                                {{patient.disease_no?patient.disease_no:"/"}}
23
-                            </div>
24
-                        </div>
25
-
26
-                        <div style="flex:1;text-align: center;" >
27
-                           病区-床号:
28
-                            <div  style="width: 120px;text-align: left;display:inline-block;">
29
-                                {{patient.ward}}-{{patient.bed_no}}
30
-                            </div>
31
-                        </div>
32
-
33
-                        <div  style="flex:1;text-align: center;">
34
-                           接收日期:
35
-                            <div style="width: 100px;text-align: left;display:inline-block;">
36
-                                {{patient.date}}
37
-                            </div>
38
-                        </div>
39
-                    </div>
40
-
41
-                    <div style="display: flex; justify-self: start;margin-top: 5px ;">
42
-                        <div style="flex: 1;">性别:{{information.sex}}</div>
43
-                        <div style="flex: 1;">年龄:{{information.age}}</div>
44
-                        <div style="flex: 1;">出生日期:{{information.birthday}}</div>
45
-                    </div>
46
-                    <div style="display: flex; justify-self: start; margin-top: 5px ;">
47
-                        <div style="flex: 1;">身份证号:{{information.id_number}}</div>
48
-                        <div style="flex: 1;">病人来源:{{information.patient_source}}</div>
49
-                        <div style="flex: 1;">透析号:{{information.dialysis_num}}</div>
50
-                    </div>
51
-                    <div style="display: flex; justify-self: start; margin-top: 5px ;">
52
-                        <div style="flex: 1;">首次透析日期:{{information.first_date}}</div>
53
-                        <div style="flex: 1;">血型:{{information.blood_type}}</div>
54
-                        <div style="flex: 1;">报销方式:{{information.reimbursement}}</div>
55
-                    </div>
56
-                    <div style="display: flex; justify-self: start; margin-top: 5px ;">
57
-                        <div style="flex: 1;">工作单位:{{information.work_unit}}</div>
58
-                        <div style="flex: 1;">联系电话:{{information.contact_number}}</div>
59
-                        <div style="flex: 1;">家庭住址:{{information.home_address}}</div>
60
-                    </div>
61
-                    <div style="display: flex; justify-self: start; margin-top: 5px ;">
62
-                        <div style="flex: 1;">肾移植史:{{information.transplantation}}</div>
63
-                        <div style="flex: 1;">腹膜透析史:{{information.peritoneum}}</div>
64
-                        <div style="flex: 1;">过敏药物:{{information.allergy_drug}}</div>
65
-                    </div>
66
-
67
-                    <h3 style="text-align: center; margin: 20px 0px;">病史内容</h3>
68
-                    <div>
69
-                        <div>主诉:</div>
70
-                        <div>{{ medical_history.chief_complaint }}</div>
71
-                        <div>现病史:</div>
72
-                        <div>{{ medical_history.present_disease }}</div>
73
-                        <div>既往史:</div>
74
-                        <div>{{ medical_history.past }}</div>
75
-                        <div>个人史:</div>
76
-                        <div>{{ medical_history.personal }}</div>
77
-                        <div>婚育史:</div>
78
-                        <div>{{ medical_history.marriage }}</div>
79
-                        <div>家族史:</div>
80
-                        <div>{{ medical_history.family }}</div>
81
-                    </div>
82
-                    <h3 style="text-align: center; margin: 30px 0px 10px 0px;">体格检查</h3>
83
-                    <div>
84
-                        <div style="display: flex; justify-self: start;">
85
-                            <div style="flex:1;text-align: center;">T: {{physique.temperature}}℃</div>
86
-                            <div style="flex:1;text-align: center;">P:{{ physique.heartbeat }}次/分</div>
87
-                            <div style="flex:1;text-align: center;">R:{{ physique.R }}次/分</div>
88
-                            <div style="flex:1;text-align: center;">Bp:{{ physique.Bp }}mmHg</div>
89
-                        </div>
90
-                        <div style="margin-top: 5px;">
91
-                            无贫血容貌,自主体位,无浮肿,出血点/瘀斑/血肿:无,发育正常,营养良好,神志:清楚
92
-                            {{ physique.anemia }}
93
-                        </div>
94
-                        <div style="margin-top: 5px;">
95
-                            <span style="font-weight: bold;">皮肤黏膜</span>:
96
-                            {{ physique.cutaneous }}
97
-                        </div>
98
-                        <div style="margin-top: 5px;">
99
-                            <span style="font-weight: bold;">淋巴结</span>:
100
-                            {{ physique.lymph_node }}
101
-                        </div>
102
-                        <div style="margin-top: 5px;">
103
-                            <span style="font-weight: bold;">头部</span>:
104
-                            {{ physique.head }}
105
-                        </div>
106
-                        <div style="margin-top: 5px;">
107
-                            <span style="font-weight: bold;">颈部</span>:    
108
-                            {{ physique.neck }}
109
-                        </div>
110
-                        <div style="margin-top: 5px;">
111
-                            <span style="font-weight: bold;">肺脏</span>:
112
-                            {{ physique.lung }}
113
-                        </div>
114
-                        <div style="margin-top: 5px;">
115
-                            <span style="font-weight: bold;">心脏</span>:
116
-                            {{ physique.heart }}
117
-                        </div>
118
-                        <div style="margin-top: 5px;">
119
-                            <span style="font-weight: bold;">腹部</span>:
120
-                            {{ physique.abdomen }}
121
-                        </div>
122
-                        <div style="margin-top: 5px;">
123
-                            <span style="font-weight: bold;">其他</span>:
124
-                             {{ physique.other }}
125
-                        </div>
126
-                    </div>
127
-
128
-                    <div style="margin-top: 30px;">
129
-                        <span style="font-weight: bold; display: block;">初步诊断:</span>
130
-                        {{ diagnosis }}                       
131
-                    </div>
132
-                </div>
133
-                
134
-                
2
+  <div>
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printAction" type="primary">打印
6
+      </el-button>
7
+    </div>
8
+    <div class="app-container">
9
+      <div id="print_content" v-for="item in this.list">
10
+        <div class="print_page_main_content">
11
+          <h1 style="text-align: center; padding-top:12px;">{{ orgname }}血液净化治疗病历</h1>
12
+          <div style="border-bottom: 1px solid black;display: flex;padding-bottom: 10px;padding-top: 10px;">
13
+            <div style="flex:1;text-align: center;">
14
+              姓名:
15
+              <div style="width: 120px;text-align: left;display:inline-block;">{{ patient.name }}</div>
16
+            </div>
17
+
18
+            <div style="flex:1;text-align: center;">
19
+              病历号:
20
+              <div style="width: 120px;text-align: left;display:inline-block;">
21
+                {{ patient.dialysis_no ? patient.dialysis_no : '/' }}
22
+              </div>
23
+            </div>
24
+
25
+            <div style="flex:1;text-align: center;">
26
+              病区-床号:
27
+              <div style="width: 120px;text-align: left;display:inline-block;">
28
+
29
+              </div>
30
+            </div>
31
+
32
+            <div style="flex:1;text-align: center;">
33
+              接收日期:
34
+              <div style="width: 100px;text-align: left;display:inline-block;">
35
+                {{ getTime(patient.created_time, '{y}-{m}-{d}') }}
36
+              </div>
37
+            </div>
38
+          </div>
39
+
40
+          <div style="display: flex; justify-self: start;margin-top: 5px ;">
41
+            <div style="flex: 1;">性别:{{ getPatientGender(patient.gender) }}</div>
42
+            <div style="flex: 1;">年龄:{{ patient.age }}</div>
43
+            <div style="flex: 1;">出生日期:{{ getTime(patient.birthday, '{y}-{m}-{d}') }}</div>
44
+          </div>
45
+          <div style="display: flex; justify-self: start; margin-top: 5px ;">
46
+            <div style="flex: 1;">身份证号:{{ patient.id_card_no }}</div>
47
+            <div style="flex: 1;">病人来源:{{ patient.source == 1 ? '门诊' : '住院' }}</div>
48
+            <div style="flex: 1;">透析号:{{ patient.dialysis_no }}</div>
49
+          </div>
50
+          <div style="display: flex; justify-self: start; margin-top: 5px ;">
51
+            <div style="flex: 1;">
52
+              首次透析日期:{{ patient.first_dialysis_date ? getTime(patient.first_dialysis_date, '{y}-{m}-{d}') : '' }}
53
+            </div>
54
+            <div style="flex: 1;">血型:{{ getBloodType(patient.blood_type) }}</div>
55
+            <div style="flex: 1;">报销方式:{{ getWayOptions(patient.reimbursement_way_id) }}</div>
56
+          </div>
57
+          <div style="display: flex; justify-self: start; margin-top: 5px ;">
58
+            <div style="flex: 1;">工作单位:{{ patient.work_unit }}</div>
59
+            <div style="flex: 1;">联系电话:{{ patient.phone }}</div>
60
+            <div style="flex: 1;">家庭住址:{{ patient.home_address }}</div>
61
+          </div>
62
+          <div style="display: flex; justify-self: start; margin-top: 5px ;">
63
+            <div style="flex: 1;">肾移植史:{{ item.is_shenyizhi_history == 0?'无':'有' }}</div>
64
+            <div style="flex: 1;">腹膜透析史:{{ item.is_fumo_dialysis_history == 0? '无':'有' }}</div>
65
+            <div style="flex: 1;" v-if="item.is_hypersusceptibility == 0">过敏药物:无</div>
66
+            <div style="flex: 1;" v-if="item.is_hypersusceptibility == 2">过敏药物:有</div>
67
+            <div style="flex: 1;" v-if="item.is_hypersusceptibility == 3">过敏药物:不想</div>
68
+
69
+          </div>
70
+          <h3 style="text-align: center; margin: 20px 0px;">病史内容</h3>
71
+          <div>
72
+            <div v-html="item.content"></div>
73
+          </div>
74
+          <h3 v-if="item.XtPatientPhysiqueCheck.id > 0" style="text-align: center; margin: 30px 0px 10px 0px;">体格检查</h3>
75
+          <div v-if="item.XtPatientPhysiqueCheck.id > 0">
76
+            <div style="display: flex; justify-self: start;">
77
+              <div style="flex:1;text-align: center;">T: {{ item.XtPatientPhysiqueCheck.t?item.XtPatientPhysiqueCheck.t:'' }}℃</div>
78
+              <div style="flex:1;text-align: center;">P:{{ item.XtPatientPhysiqueCheck.p?item.XtPatientPhysiqueCheck.p:''  }}次/分</div>
79
+              <div style="flex:1;text-align: center;">R:{{item.XtPatientPhysiqueCheck.r?item.XtPatientPhysiqueCheck.r:''  }}次/分</div>
80
+              <div style="flex:1;text-align: center;">Bp:{{ item.XtPatientPhysiqueCheck.bp_left + '/' +  item.XtPatientPhysiqueCheck.bp_right }}mmHg</div>
81
+            </div>
82
+            <div style="margin-top: 5px;">
83
+              无贫血容貌:{{item.XtPatientPhysiqueCheck.pinxuerongmao == 1?'无':'有'}},自主体位:{{getTiwei(item.XtPatientPhysiqueCheck.tiwei)}},浮肿:{{getFuzhong(item.XtPatientPhysiqueCheck.fuzhong)}},出血点/瘀斑/血肿:{{getChuXuedian(item.XtPatientPhysiqueCheck.chuxuedian)}},发育:{{getFaYu(item.XtPatientPhysiqueCheck.fayu)}},营养:{{getYinYang(item.XtPatientPhysiqueCheck.yinyang)}},神志:{{getShenzhi(item.XtPatientPhysiqueCheck.shenzhi)}}
84
+
85
+            </div>
86
+            <div style="margin-top: 5px;">
87
+              <span style="font-weight: bold;">皮肤黏膜</span>:
88
+              {{ '皮肤黏膜'+getPifuNianmo(item.XtPatientPhysiqueCheck.pifunianmo)+","+getPiXiaChuXue(item.XtPatientPhysiqueCheck.pixiachuxue)+","+'皮肤温度:'+getPiFuWenDu(item.XtPatientPhysiqueCheck.pifuwendu) }}
89
+            </div>
90
+            <div style="margin-top: 5px;">
91
+              <span style="font-weight: bold;">淋巴结</span>:
92
+              {{ '浅表淋巴肿大:'+ getLinBaZongDa(item.XtPatientPhysiqueCheck.linbazhongda)}}
135 93
             </div>
94
+            <div style="margin-top: 5px;">
95
+              <span style="font-weight: bold;">头部</span>:
96
+              {{ '眼睑'+getYanJian(item.XtPatientPhysiqueCheck.yanjian)+',瞳孔(等大等圆):'+ getTongKong(item.XtPatientPhysiqueCheck.tongkong)+","+"左(mm):"+item.XtPatientPhysiqueCheck.zuo+",右(mm):"+item.XtPatientPhysiqueCheck.you+",对光反射:"+item.XtPatientPhysiqueCheck.duiguangfanshe+","+"扁桃体:"+item.XtPatientPhysiqueCheck.biantaoti+","+"咽部:"+item.XtPatientPhysiqueCheck.yanbu}}
97
+            </div>
98
+            <div style="margin-top: 5px;">
99
+              <span style="font-weight: bold;">颈部</span>:
100
+              {{ "颈静脉:"+item.XtPatientPhysiqueCheck.ganjingjingmai }}
101
+            </div>
102
+            <div style="margin-top: 5px;">
103
+              <span style="font-weight: bold;">肺脏</span>:
104
+              {{ "呼吸音"+item.XtPatientPhysiqueCheck.huxiyin+","+getXiongmomocayin(item.XtPatientPhysiqueCheck.xiongmomocayin)+"胸膜摩擦音"+","+getLuoYin(item.XtPatientPhysiqueCheck.luoyin)+"啰音"}}
105
+            </div>
106
+            <div style="margin-top: 5px;">
107
+              <span style="font-weight: bold;">心脏</span>:
108
+              {{ "心脏大小"+getXinzangdaxiao(item.XtPatientPhysiqueCheck.xinzangdaxiao)+",心率"+getXinlv(item.XtPatientPhysiqueCheck.xinlv)+","+getXinbaomocasheng(item.XtPatientPhysiqueCheck.xinbaomocasheng)+"心包摩擦声,"+getZaYin(item.XtPatientPhysiqueCheck.zayin)+"杂音,"+getFujiaYin(item.XtPatientPhysiqueCheck.fujiayin)+"附加音"}}
109
+
110
+            </div>
111
+            <div style="margin-top: 5px;">
112
+              <span style="font-weight: bold;">腹部</span>:
113
+              {{"腹水征:"+getFushuizheng(item.XtPatientPhysiqueCheck.fushuizheng)+",肝脏:"+getGanZangYaTong(item.XtPatientPhysiqueCheck.gangzhang_yatong)+"压痛,"+getGanZangkouTong(item.XtPatientPhysiqueCheck.gangzhang_koutong)+"叩痛"+",脾脏:"+getPiZangYaTong(item.XtPatientPhysiqueCheck.pizhang_yatong)+"压痛,"+getPiZangkouTong(item.XtPatientPhysiqueCheck.pizhang_koutong)+"叩痛,"+"肾脏:"+getshenZangyatong(item.XtPatientPhysiqueCheck.gangzhang_yatong)+"压痛,"+getshenZangkoutong(item.XtPatientPhysiqueCheck.gangzhang_koutong)+"叩痛"}}
114
+            </div>
115
+            <div style="margin-top: 5px;">
116
+              <span style="font-weight: bold;">其他</span>:
117
+              {{ item.XtPatientPhysiqueCheck.oth_desc }}
118
+            </div>
119
+          </div>
120
+
121
+          <div style="margin-top: 30px;">
122
+            <span style="font-weight: bold; display: block;">初步诊断:</span>
123
+            {{ patient.diagnose }}
124
+          </div>
125
+
126
+          <div style="margin-top: 30px">
127
+            <span style="font-weight: bold;float: right">病历书写者:</span>
128
+            {{getDoctorName(item.doctor_id)}}
129
+          </div>
130
+          <div style="margin-top: 30px;">
131
+            <span style="font-weight: bold;float: right">日期:</span>
132
+            {{getTime(item.record_time,'{y}-{m}-{d}')}}
133
+          </div>
134
+<!--          <div style="margin-top: 30px;float: right">-->
135
+<!--            <span style="font-weight: bold; display: block;">日期:</span>-->
136
+<!--            {{getTime(item.record_time,'{y}-{m}-{d}')}}}-->
137
+<!--          </div>-->
136 138
         </div>
139
+
140
+
141
+      </div>
137 142
     </div>
143
+  </div>
138 144
 </template>
139 145
 
140 146
 <script>
141 147
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
148
+import {  getSickhistoryCheckRecordsPrint } from '../../api/patient'
149
+import { uParseTime } from '@/utils/tools'
150
+import { fetchAllDoctorAndNurse } from "@/api/doctor";
142 151
 import print from "print-js";
152
+
143 153
 export default {
144
-    name:'physiquePrinting',
145
-    data() {
146
-        return {
147
-          crumbs: [
148
-            { path: false, name: '病人管理' },
149
-            { path: false, name: '病程打印' }
150
-          ],  
151
-          loading: false,
152
-          orgname:'',
153
-          patient:{
154
-            name:'',
155
-            disease_no:'',
156
-            ward:'',
157
-            bed_no:'',
158
-            date:'',
159
-          },
160
-          information:{
161
-            sex:'',
162
-            age:'',
163
-            birthday:'',
164
-            id_number:'',
165
-            patient_source:'',
166
-            dialysis_num:'',
167
-            first_date:'',
168
-            blood_type:'',
169
-            reimbursement:'',
170
-            work_unit:'',
171
-            contact_number:'',
172
-            home_address:'',
173
-            transplantation:'',
174
-            peritoneum:'',
175
-            allergy_drug:'',
176
-          },
177
-          medical_history:{
178
-            chief_complaint:'',
179
-            present_disease:'',
180
-            past:'',
181
-            personal:'',
182
-            marriage:'',
183
-            family:'',
184
-          },
185
-          physique:{
186
-            temperature:'',
187
-            heartbeat:'',
188
-            R:'',
189
-            Bp:'',
190
-            anemia:'',
191
-            cutaneous:'',
192
-            lymph_node:'',
193
-            head:'',
194
-            neck:'',
195
-            lung:'',
196
-            heart:'',
197
-            abdomen:'',
198
-            other:''
199
-          },
200
-          diagnosis:'',
154
+  name: 'physiquePrinting',
155
+  data() {
156
+    return {
157
+      list: [],
158
+      crumbs: [
159
+        { path: false, name: '病人管理' },
160
+        { path: false, name: '病程打印' }
161
+      ],
162
+      loading: false,
163
+      orgname: '',
164
+      patient: {},
165
+      information: {
166
+        sex: '',
167
+        age: '',
168
+        birthday: '',
169
+        id_number: '',
170
+        patient_source: '',
171
+        dialysis_num: '',
172
+        first_date: '',
173
+        blood_type: '',
174
+        reimbursement: '',
175
+        work_unit: '',
176
+        contact_number: '',
177
+        home_address: '',
178
+        transplantation: '',
179
+        peritoneum: '',
180
+        allergy_drug: ''
181
+      },
182
+      medical_history: {
183
+        chief_complaint: '',
184
+        present_disease: '',
185
+        past: '',
186
+        personal: '',
187
+        marriage: '',
188
+        family: ''
189
+      },
190
+      physique: {
191
+        temperature: '',
192
+        heartbeat: '',
193
+        R: '',
194
+        Bp: '',
195
+        anemia: '',
196
+        cutaneous: '',
197
+        lymph_node: '',
198
+        head: '',
199
+        neck: '',
200
+        lung: '',
201
+        heart: '',
202
+        abdomen: '',
203
+        other: ''
204
+      },
205
+      diagnosis: ''
206
+    }
207
+  },
208
+  components: {
209
+    BreadCrumb
210
+  },
211
+  methods: {
212
+    fetchAllDoctorAndNurse() {
213
+      fetchAllDoctorAndNurse().then(response => {
214
+        if (response.data.state == 1) {
215
+          this.doctorOptions = response.data.data.doctors;
216
+        }
217
+      });
218
+    },
219
+    getDoctorName: function(doctor_id) {
220
+      for (let index = 0; index < this.doctorOptions.length; index++) {
221
+        const doctor = this.doctorOptions[index]
222
+        if (doctor.id == doctor_id) {
223
+          return doctor.name
224
+        }
225
+      }
226
+      return ''
227
+    },
228
+    getTiwei(tiwei){
229
+     switch (tiwei){
230
+       case 1:
231
+         return '自主'
232
+         break
233
+       case 2:
234
+         return '被动'
235
+         break
236
+       case 3:
237
+         return '强迫'
238
+         break
239
+     }
240
+    },getFuzhong(fuzhong){
241
+      switch (fuzhong){
242
+        case 1:
243
+          return '无'
244
+          break
245
+        case 2:
246
+          return '轻度'
247
+          break
248
+        case 3:
249
+          return '中度'
250
+          break
251
+        case 4:
252
+          return '重度'
253
+          break
254
+      }
255
+    },getChuXuedian(chuxuedian){
256
+      switch (chuxuedian){
257
+        case 1:
258
+          return '无'
259
+          break
260
+        case 2:
261
+          return '不知道'
262
+          break
263
+        case 3:
264
+          return '有'
265
+          break
266
+
267
+      }
268
+    },getFaYu(fayu){
269
+      switch (fayu){
270
+        case 1:
271
+          return '正常'
272
+          break
273
+        case 2:
274
+          return '不良'
275
+          break
276
+      }
277
+    },getYinYang(yinyang){
278
+      switch (yinyang){
279
+        case 1:
280
+          return '良好'
281
+          break
282
+        case 2:
283
+          return '中等'
284
+          break
285
+        case 3:
286
+          return '不良'
287
+          break
288
+        case 4:
289
+          return '恶病质'
290
+          break
291
+      }
292
+    },getShenzhi(shenzhi){
293
+      switch (shenzhi){
294
+        case 1:
295
+          return '清楚'
296
+          break
297
+        case 2:
298
+          return '模糊'
299
+          break
300
+        case 3:
301
+          return '昏迷'
302
+          break
303
+        case 4:
304
+          return '其他'
305
+          break
306
+      }
307
+    },getPifuNianmo(pifunianmo){
308
+      switch (pifunianmo){
309
+        case 1:
310
+          return '正常'
311
+          break
312
+        case 2:
313
+          return '灰暗'
314
+          break
315
+        case 3:
316
+          return '苍白'
317
+          break
318
+        case 4:
319
+          return '黄染'
320
+          break
321
+        case 5:
322
+          return '色素沉着'
323
+          break
324
+      }
325
+    },getPiXiaChuXue(pixiachuxue){
326
+      switch (pixiachuxue){
327
+        case 1:
328
+          return '无'
329
+          break
330
+        case 2:
331
+          return '有'
332
+          break
333
+
334
+      }
335
+
336
+    },getPiFuWenDu(pifuwendu){
337
+      switch (pifuwendu){
338
+        case 1:
339
+          return '正常'
340
+          break
341
+        case 2:
342
+          return '冷'
343
+          break
344
+        case 3:
345
+          return '干'
346
+          break
347
+        case 4:
348
+          return '湿'
349
+          break
350
+
351
+      }
352
+
353
+    },getLinBaZongDa(linbazhongda){
354
+      switch (linbazhongda){
355
+        case 1:
356
+          return '无'
357
+          break
358
+        case 2:
359
+          return '有'
360
+          break
361
+      }
362
+    },getYanJian(yanjian){
363
+      switch (yanjian){
364
+        case 1:
365
+          return '正常'
366
+          break
367
+        case 2:
368
+          return '水肿'
369
+          break
370
+
371
+      }
372
+
373
+    },getTongKong(tongkong){
374
+      switch (tongkong){
375
+        case 1:
376
+          return '是'
377
+          break
378
+        case 2:
379
+          return '否'
380
+          break
381
+
382
+      }
383
+
384
+    },getXiongmomocayin(xiongmomocayin){
385
+
386
+      switch (xiongmomocayin){
387
+        case 1:
388
+          return '无'
389
+          break
390
+        case 2:
391
+          return '有'
392
+          break
393
+
394
+      }
395
+    },getLuoYin(luoyin){
396
+      switch (luoyin){
397
+        case 1:
398
+          return '无'
399
+          break
400
+        case 2:
401
+          return '有'
402
+          break
403
+
404
+      }
405
+
406
+
407
+    },getXinzangdaxiao(xinzangdaxiao){
408
+      switch (xinzangdaxiao){
409
+        case 1:
410
+          return '正常'
411
+          break
412
+        case 2:
413
+          return '偏大'
414
+          break
415
+        case 3:
416
+          return '偏小'
417
+          break
418
+      }
419
+
420
+    },getXinlv(xinlv){
421
+      switch (xinlv){
422
+        case 1:
423
+          return '齐'
424
+          break
425
+        case 2:
426
+          return '不齐'
427
+          break
428
+      }
429
+
430
+    },getXinbaomocasheng(xinbaomocasheng){
431
+      switch (xinbaomocasheng){
432
+        case 1:
433
+          return '无'
434
+          break
435
+        case 2:
436
+          return '有'
437
+          break
438
+      }
439
+
440
+    },getZaYin(zayin){
441
+      switch (zayin){
442
+        case 1:
443
+          return '无'
444
+          break
445
+        case 2:
446
+          return '有'
447
+          break
448
+      }
449
+
450
+    },getFujiaYin(fujiayin){
451
+      switch (fujiayin){
452
+        case 1:
453
+          return '无'
454
+          break
455
+        case 2:
456
+          return '有'
457
+          break
458
+      }
459
+
460
+    },getFushuizheng(fushuizheng){
461
+      switch (fushuizheng){
462
+        case 1:
463
+          return '阴性'
464
+          break
465
+        case 2:
466
+          return '阳性'
467
+          break
468
+      }
469
+
470
+    },getGanZangYaTong(yatong){
471
+      switch (yatong){
472
+        case 1:
473
+          return '无'
474
+          break
475
+        case 2:
476
+          return '有'
477
+          break
478
+      }
479
+
480
+    },getGanZangkouTong(koutong){
481
+      switch (koutong){
482
+        case 1:
483
+          return '无'
484
+          break
485
+        case 2:
486
+          return '有'
487
+          break
488
+      }
489
+
490
+    },getPiZangYaTong(yatong){
491
+      switch (yatong){
492
+        case 1:
493
+          return '无'
494
+          break
495
+        case 2:
496
+          return '有'
497
+          break
498
+      }
499
+
500
+    },getPiZangkouTong(koutong){
501
+      switch (koutong){
502
+        case 1:
503
+          return '无'
504
+          break
505
+        case 2:
506
+          return '有'
507
+          break
508
+      }
509
+
510
+    },getshenZangyatong(yatong){
511
+      switch (yatong){
512
+        case 1:
513
+          return '无'
514
+          break
515
+        case 2:
516
+          return '有'
517
+          break
518
+      }
519
+
520
+    },getshenZangkoutong(koutong){
521
+      switch (koutong){
522
+        case 1:
523
+          return '无'
524
+          break
525
+        case 2:
526
+          return '有'
527
+          break
528
+      }
529
+
530
+    },
531
+    getWayOptions(reimbursement_way_id) {
532
+      this.wayOptions = this.$store.getters.reimbursement_ways;
533
+      let wayLen = this.wayOptions.length
534
+      for (let index = 0; index < wayLen; index++) {
535
+        if (this.wayOptions[index].id === reimbursement_way_id) {
536
+          return  this.wayOptions[index].name
537
+        }
538
+      }
539
+    },
540
+    getBloodType(type) {
541
+      var types = this.$store.getters.blood_types
542
+      for (let i = 0; i < types.length; i++) {
543
+        if (types[i].id == type) {
544
+          return types[i].name
201 545
         }
546
+      }
547
+    },
548
+    getPatientGender(gender) {
549
+      if (gender == 1) {
550
+        return '男'
551
+      } else if (gender == 2) {
552
+        return '女'
553
+      }
554
+      return ''
202 555
     },
203
-    components: {
204
-      BreadCrumb
556
+    getTime(value, temp) {
557
+      if (value != undefined) {
558
+        return uParseTime(value, temp)
559
+      }
560
+      return ''
561
+    },
562
+    getPhysiquePrintList() {
563
+      let params = {
564
+        ids: this.$route.query.ids,
565
+        patient_id: this.$route.query.patient_id
566
+      }
567
+      getSickhistoryCheckRecordsPrint(params).then(response => {
568
+        if (response.data.state == 1) {
569
+          this.patient = response.data.data.patient
570
+          this.list = response.data.data.sickhistorys
571
+        }
572
+      })
205 573
     },
206
-    methods: {
207
-        printAction: function () {
208
-            const style = '@media print {.printP div{margin-bottom:5px;} .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; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; 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 50px;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: 20px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.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: 5px 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: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:1000px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
209
-            printJS({
210
-                printable: 'print_content',
211
-                type: 'html',
212
-                documentTitle: '  ',
213
-                style: style,
214
-                scanStyles: false
215
-            })
216
-        },
574
+    printAction: function() {
575
+      const style = '@media print {.printP div{margin-bottom:5px;} .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; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; 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 50px;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: 20px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.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: 5px 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: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:1000px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
576
+      printJS({
577
+        printable: 'print_content',
578
+        type: 'html',
579
+        documentTitle: '  ',
580
+        style: style,
581
+        scanStyles: false
582
+      })
217 583
     }
584
+  },
585
+  created() {
586
+    this.getPhysiquePrintList()
587
+    this.fetchAllDoctorAndNurse()
588
+  }
218 589
 }
219 590
 </script>
220 591
 <style scoped>
221 592
 .print_page_main_content {
222
-    background-color: white;
223
-    width: 960px;
224
-    margin: 0 auto 50px;
225
-    padding: 0 0 0 0;
226
-    page-break-after: always;
593
+  background-color: white;
594
+  width: 960px;
595
+  margin: 0 auto 50px;
596
+  padding: 0 0 0 0;
597
+  page-break-after: always;
227 598
 }
228 599
 
229
-</style>
600
+</style>

+ 561 - 0
src/xt_pages/user/physiqueprintingtwo.vue Ver arquivo

@@ -0,0 +1,561 @@
1
+<template>
2
+  <div>
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printAction" type="primary">打印
6
+      </el-button>
7
+    </div>
8
+    <div class="app-container">
9
+      <div id="print_content" v-for="item in this.list">
10
+        <div class="print_page_main_content">
11
+          <h1 style="text-align: center; padding-top:12px;">{{ orgname }}血液净化体格检验单</h1>
12
+          <div style="border-bottom: 1px solid black;display: flex;padding-bottom: 10px;padding-top: 10px;">
13
+            <div style="flex:1;text-align: center;">
14
+              姓名:
15
+              <div style="width: 120px;text-align: left;display:inline-block;">{{ patient.name }}</div>
16
+            </div>
17
+
18
+            <div style="flex:1;text-align: center;">
19
+              病历号:
20
+              <div style="width: 120px;text-align: left;display:inline-block;">
21
+                {{ patient.dialysis_no ? patient.dialysis_no : '/' }}
22
+              </div>
23
+            </div>
24
+
25
+            <div style="flex:1;text-align: center;">
26
+              病区-床号:
27
+              <div style="width: 120px;text-align: left;display:inline-block;">
28
+
29
+              </div>
30
+            </div>
31
+
32
+            <div style="flex:1;text-align: center;">
33
+              接收日期:
34
+              <div style="width: 100px;text-align: left;display:inline-block;">
35
+                {{ getTime(patient.created_time, '{y}-{m}-{d}') }}
36
+              </div>
37
+            </div>
38
+          </div>
39
+
40
+
41
+          <div style="display: flex; justify-self: start; margin-top: 5px ;">
42
+            <div style="flex: 1;">
43
+              首次透析日期:{{ item.record_time ? getTime(item.record_time, '{y}-{m}-{d}') : '' }}
44
+            </div>
45
+          </div>
46
+          <div v-if="item.id > 0">
47
+            <div style="display: flex; justify-self: start;">
48
+              <div style="flex:1;text-align: center;">T: {{ item.t?item.t:'' }}℃</div>
49
+              <div style="flex:1;text-align: center;">P:{{ item.p?item.p:''  }}次/分</div>
50
+              <div style="flex:1;text-align: center;">R:{{item.r?item.r:''  }}次/分</div>
51
+              <div style="flex:1;text-align: center;">Bp:{{ item.bp_left + '/' +  item.bp_right }}mmHg</div>
52
+            </div>
53
+            <div style="margin-top: 5px;">
54
+              无贫血容貌:{{item.pinxuerongmao == 1?'无':'有'}},自主体位:{{getTiwei(item.tiwei)}},浮肿:{{getFuzhong(item.fuzhong)}},出血点/瘀斑/血肿:{{getChuXuedian(item.chuxuedian)}},发育:{{getFaYu(item.fayu)}},营养:{{getYinYang(item.yinyang)}},神志:{{getShenzhi(item.shenzhi)}}
55
+
56
+            </div>
57
+            <div style="margin-top: 5px;">
58
+              <span style="font-weight: bold;">皮肤黏膜</span>:
59
+              {{ '皮肤黏膜'+getPifuNianmo(item.pifunianmo)+","+getPiXiaChuXue(item.pixiachuxue)+","+'皮肤温度:'+getPiFuWenDu(item.pifuwendu) }}
60
+            </div>
61
+            <div style="margin-top: 5px;">
62
+              <span style="font-weight: bold;">淋巴结</span>:
63
+              {{ '浅表淋巴肿大:'+ getLinBaZongDa(item.linbazhongda)}}
64
+            </div>
65
+            <div style="margin-top: 5px;">
66
+              <span style="font-weight: bold;">头部</span>:
67
+              {{ '眼睑'+getYanJian(item.yanjian)+',瞳孔(等大等圆):'+ getTongKong(item.tongkong)+","+"左(mm):"+item.zuo+",右(mm):"+item.you+",对光反射:"+item.duiguangfanshe+","+"扁桃体:"+item.biantaoti+","+"咽部:"+item.yanbu}}
68
+            </div>
69
+            <div style="margin-top: 5px;">
70
+              <span style="font-weight: bold;">颈部</span>:
71
+              {{ "颈静脉:"+item.ganjingjingmai }}
72
+            </div>
73
+            <div style="margin-top: 5px;">
74
+              <span style="font-weight: bold;">肺脏</span>:
75
+              {{ "呼吸音"+item.huxiyin+","+getXiongmomocayin(item.xiongmomocayin)+"胸膜摩擦音"+","+getLuoYin(item.luoyin)+"啰音"}}
76
+            </div>
77
+            <div style="margin-top: 5px;">
78
+              <span style="font-weight: bold;">心脏</span>:
79
+              {{ "心脏大小"+getXinzangdaxiao(item.xinzangdaxiao)+",心率"+getXinlv(item.xinlv)+","+getXinbaomocasheng(item.xinbaomocasheng)+"心包摩擦声,"+getZaYin(item.zayin)+"杂音,"+getFujiaYin(item.fujiayin)+"附加音"}}
80
+
81
+            </div>
82
+            <div style="margin-top: 5px;">
83
+              <span style="font-weight: bold;">腹部</span>:
84
+              {{"腹水征:"+getFushuizheng(item.fushuizheng)+",肝脏:"+getGanZangYaTong(item.gangzhang_yatong)+"压痛,"+getGanZangkouTong(item.gangzhang_koutong)+"叩痛"+",脾脏:"+getPiZangYaTong(item.pizhang_yatong)+"压痛,"+getPiZangkouTong(item.pizhang_koutong)+"叩痛,"+"肾脏:"+getshenZangyatong(item.gangzhang_yatong)+"压痛,"+getshenZangkoutong(item.gangzhang_koutong)+"叩痛"}}
85
+            </div>
86
+            <div style="margin-top: 5px;">
87
+              <span style="font-weight: bold;">其他</span>:
88
+              {{ item.oth_desc }}
89
+            </div>
90
+          </div>
91
+
92
+
93
+
94
+          </div>
95
+          <!--          <div style="margin-top: 30px;float: right">-->
96
+          <!--            <span style="font-weight: bold; display: block;">日期:</span>-->
97
+          <!--            {{getTime(item.record_time,'{y}-{m}-{d}')}}}-->
98
+          <!--          </div>-->
99
+        </div>
100
+
101
+
102
+      </div>
103
+    </div>
104
+  </div>
105
+</template>
106
+
107
+<script>
108
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
109
+import {  getPhysiqueCheckRecordsPrint } from '../../api/patient'
110
+import { uParseTime } from '@/utils/tools'
111
+import { fetchAllDoctorAndNurse } from "@/api/doctor";
112
+import print from "print-js";
113
+
114
+export default {
115
+  name: 'physiquePrinting',
116
+  data() {
117
+    return {
118
+      list: [],
119
+      crumbs: [
120
+        { path: false, name: '病人管理' },
121
+        { path: false, name: '病程打印' }
122
+      ],
123
+      loading: false,
124
+      orgname: '',
125
+      patient: {},
126
+      information: {
127
+        sex: '',
128
+        age: '',
129
+        birthday: '',
130
+        id_number: '',
131
+        patient_source: '',
132
+        dialysis_num: '',
133
+        first_date: '',
134
+        blood_type: '',
135
+        reimbursement: '',
136
+        work_unit: '',
137
+        contact_number: '',
138
+        home_address: '',
139
+        transplantation: '',
140
+        peritoneum: '',
141
+        allergy_drug: ''
142
+      },
143
+      medical_history: {
144
+        chief_complaint: '',
145
+        present_disease: '',
146
+        past: '',
147
+        personal: '',
148
+        marriage: '',
149
+        family: ''
150
+      },
151
+      physique: {
152
+        temperature: '',
153
+        heartbeat: '',
154
+        R: '',
155
+        Bp: '',
156
+        anemia: '',
157
+        cutaneous: '',
158
+        lymph_node: '',
159
+        head: '',
160
+        neck: '',
161
+        lung: '',
162
+        heart: '',
163
+        abdomen: '',
164
+        other: ''
165
+      },
166
+      diagnosis: ''
167
+    }
168
+  },
169
+  components: {
170
+    BreadCrumb
171
+  },
172
+  methods: {
173
+    fetchAllDoctorAndNurse() {
174
+      fetchAllDoctorAndNurse().then(response => {
175
+        if (response.data.state == 1) {
176
+          this.doctorOptions = response.data.data.doctors;
177
+        }
178
+      });
179
+    },
180
+    getDoctorName: function(doctor_id) {
181
+      for (let index = 0; index < this.doctorOptions.length; index++) {
182
+        const doctor = this.doctorOptions[index]
183
+        if (doctor.id == doctor_id) {
184
+          return doctor.name
185
+        }
186
+      }
187
+      return ''
188
+    },
189
+    getTiwei(tiwei){
190
+      switch (tiwei){
191
+        case 1:
192
+          return '自主'
193
+          break
194
+        case 2:
195
+          return '被动'
196
+          break
197
+        case 3:
198
+          return '强迫'
199
+          break
200
+      }
201
+    },getFuzhong(fuzhong){
202
+      switch (fuzhong){
203
+        case 1:
204
+          return '无'
205
+          break
206
+        case 2:
207
+          return '轻度'
208
+          break
209
+        case 3:
210
+          return '中度'
211
+          break
212
+        case 4:
213
+          return '重度'
214
+          break
215
+      }
216
+    },getChuXuedian(chuxuedian){
217
+      switch (chuxuedian){
218
+        case 1:
219
+          return '无'
220
+          break
221
+        case 2:
222
+          return '不知道'
223
+          break
224
+        case 3:
225
+          return '有'
226
+          break
227
+
228
+      }
229
+    },getFaYu(fayu){
230
+      switch (fayu){
231
+        case 1:
232
+          return '正常'
233
+          break
234
+        case 2:
235
+          return '不良'
236
+          break
237
+      }
238
+    },getYinYang(yinyang){
239
+      switch (yinyang){
240
+        case 1:
241
+          return '良好'
242
+          break
243
+        case 2:
244
+          return '中等'
245
+          break
246
+        case 3:
247
+          return '不良'
248
+          break
249
+        case 4:
250
+          return '恶病质'
251
+          break
252
+      }
253
+    },getShenzhi(shenzhi){
254
+      switch (shenzhi){
255
+        case 1:
256
+          return '清楚'
257
+          break
258
+        case 2:
259
+          return '模糊'
260
+          break
261
+        case 3:
262
+          return '昏迷'
263
+          break
264
+        case 4:
265
+          return '其他'
266
+          break
267
+      }
268
+    },getPifuNianmo(pifunianmo){
269
+      switch (pifunianmo){
270
+        case 1:
271
+          return '正常'
272
+          break
273
+        case 2:
274
+          return '灰暗'
275
+          break
276
+        case 3:
277
+          return '苍白'
278
+          break
279
+        case 4:
280
+          return '黄染'
281
+          break
282
+        case 5:
283
+          return '色素沉着'
284
+          break
285
+      }
286
+    },getPiXiaChuXue(pixiachuxue){
287
+      switch (pixiachuxue){
288
+        case 1:
289
+          return '无'
290
+          break
291
+        case 2:
292
+          return '有'
293
+          break
294
+
295
+      }
296
+
297
+    },getPiFuWenDu(pifuwendu){
298
+      switch (pifuwendu){
299
+        case 1:
300
+          return '正常'
301
+          break
302
+        case 2:
303
+          return '冷'
304
+          break
305
+        case 3:
306
+          return '干'
307
+          break
308
+        case 4:
309
+          return '湿'
310
+          break
311
+
312
+      }
313
+
314
+    },getLinBaZongDa(linbazhongda){
315
+      switch (linbazhongda){
316
+        case 1:
317
+          return '无'
318
+          break
319
+        case 2:
320
+          return '有'
321
+          break
322
+      }
323
+    },getYanJian(yanjian){
324
+      switch (yanjian){
325
+        case 1:
326
+          return '正常'
327
+          break
328
+        case 2:
329
+          return '水肿'
330
+          break
331
+
332
+      }
333
+
334
+    },getTongKong(tongkong){
335
+      switch (tongkong){
336
+        case 1:
337
+          return '是'
338
+          break
339
+        case 2:
340
+          return '否'
341
+          break
342
+
343
+      }
344
+
345
+    },getXiongmomocayin(xiongmomocayin){
346
+
347
+      switch (xiongmomocayin){
348
+        case 1:
349
+          return '无'
350
+          break
351
+        case 2:
352
+          return '有'
353
+          break
354
+
355
+      }
356
+    },getLuoYin(luoyin){
357
+      switch (luoyin){
358
+        case 1:
359
+          return '无'
360
+          break
361
+        case 2:
362
+          return '有'
363
+          break
364
+
365
+      }
366
+
367
+
368
+    },getXinzangdaxiao(xinzangdaxiao){
369
+      switch (xinzangdaxiao){
370
+        case 1:
371
+          return '正常'
372
+          break
373
+        case 2:
374
+          return '偏大'
375
+          break
376
+        case 3:
377
+          return '偏小'
378
+          break
379
+      }
380
+
381
+    },getXinlv(xinlv){
382
+      switch (xinlv){
383
+        case 1:
384
+          return '齐'
385
+          break
386
+        case 2:
387
+          return '不齐'
388
+          break
389
+      }
390
+
391
+    },getXinbaomocasheng(xinbaomocasheng){
392
+      switch (xinbaomocasheng){
393
+        case 1:
394
+          return '无'
395
+          break
396
+        case 2:
397
+          return '有'
398
+          break
399
+      }
400
+
401
+    },getZaYin(zayin){
402
+      switch (zayin){
403
+        case 1:
404
+          return '无'
405
+          break
406
+        case 2:
407
+          return '有'
408
+          break
409
+      }
410
+
411
+    },getFujiaYin(fujiayin){
412
+      switch (fujiayin){
413
+        case 1:
414
+          return '无'
415
+          break
416
+        case 2:
417
+          return '有'
418
+          break
419
+      }
420
+
421
+    },getFushuizheng(fushuizheng){
422
+      switch (fushuizheng){
423
+        case 1:
424
+          return '阴性'
425
+          break
426
+        case 2:
427
+          return '阳性'
428
+          break
429
+      }
430
+
431
+    },getGanZangYaTong(yatong){
432
+      switch (yatong){
433
+        case 1:
434
+          return '无'
435
+          break
436
+        case 2:
437
+          return '有'
438
+          break
439
+      }
440
+
441
+    },getGanZangkouTong(koutong){
442
+      switch (koutong){
443
+        case 1:
444
+          return '无'
445
+          break
446
+        case 2:
447
+          return '有'
448
+          break
449
+      }
450
+
451
+    },getPiZangYaTong(yatong){
452
+      switch (yatong){
453
+        case 1:
454
+          return '无'
455
+          break
456
+        case 2:
457
+          return '有'
458
+          break
459
+      }
460
+
461
+    },getPiZangkouTong(koutong){
462
+      switch (koutong){
463
+        case 1:
464
+          return '无'
465
+          break
466
+        case 2:
467
+          return '有'
468
+          break
469
+      }
470
+
471
+    },getshenZangyatong(yatong){
472
+      switch (yatong){
473
+        case 1:
474
+          return '无'
475
+          break
476
+        case 2:
477
+          return '有'
478
+          break
479
+      }
480
+
481
+    },getshenZangkoutong(koutong){
482
+      switch (koutong){
483
+        case 1:
484
+          return '无'
485
+          break
486
+        case 2:
487
+          return '有'
488
+          break
489
+      }
490
+
491
+    },
492
+    getWayOptions(reimbursement_way_id) {
493
+      this.wayOptions = this.$store.getters.reimbursement_ways;
494
+      let wayLen = this.wayOptions.length
495
+      for (let index = 0; index < wayLen; index++) {
496
+        if (this.wayOptions[index].id === reimbursement_way_id) {
497
+          return  this.wayOptions[index].name
498
+        }
499
+      }
500
+    },
501
+    getBloodType(type) {
502
+      var types = this.$store.getters.blood_types
503
+      for (let i = 0; i < types.length; i++) {
504
+        if (types[i].id == type) {
505
+          return types[i].name
506
+        }
507
+      }
508
+    },
509
+    getPatientGender(gender) {
510
+      if (gender == 1) {
511
+        return '男'
512
+      } else if (gender == 2) {
513
+        return '女'
514
+      }
515
+      return ''
516
+    },
517
+    getTime(value, temp) {
518
+      if (value != undefined) {
519
+        return uParseTime(value, temp)
520
+      }
521
+      return ''
522
+    },
523
+    getPhysiquePrintList() {
524
+      let params = {
525
+        ids: this.$route.query.ids,
526
+        patient_id: this.$route.query.patient_id
527
+      }
528
+      getPhysiqueCheckRecordsPrint(params).then(response => {
529
+        if (response.data.state == 1) {
530
+          this.patient = response.data.data.patient
531
+          this.list = response.data.data.sickhistorys
532
+        }
533
+      })
534
+    },
535
+    printAction: function() {
536
+      const style = '@media print {.printP div{margin-bottom:5px;} .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; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; 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 50px;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: 20px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.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: 5px 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: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:1000px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
537
+      printJS({
538
+        printable: 'print_content',
539
+        type: 'html',
540
+        documentTitle: '  ',
541
+        style: style,
542
+        scanStyles: false
543
+      })
544
+    }
545
+  },
546
+  created() {
547
+    this.getPhysiquePrintList()
548
+    this.fetchAllDoctorAndNurse()
549
+  }
550
+}
551
+</script>
552
+<style scoped>
553
+.print_page_main_content {
554
+  background-color: white;
555
+  width: 960px;
556
+  margin: 0 auto 50px;
557
+  padding: 0 0 0 0;
558
+  page-break-after: always;
559
+}
560
+
561
+</style>

+ 23 - 12
src/xt_pages/user/sickHistory.vue Ver arquivo

@@ -12,7 +12,7 @@
12 12
         <div>
13 13
                     <span style="margin-left: 10px;float:right;">
14 14
                         <el-button type="primary" icon="el-icon-circle-plus-outline" size="small"
15
-                                   @click="show_dialog = true">新增</el-button>
15
+                                   @click="showDialog">新增</el-button>
16 16
 
17 17
                         <el-button type="primary" icon="el-icon-edit-outline" size="small"
18 18
                                    @click="showEdit">修改</el-button>
@@ -24,7 +24,6 @@
24 24
           <!--<span class="filter_title">日期查询</span>-->
25 25
           <!--<el-date-picker size="small" v-model="date" type="daterange" range-separator="至" start-placeholde="开始日期" end-placeholde="结束日期" value-format="timestamp" :clearable="false" @change="requestCourseRecords()"></el-date-picker>-->
26 26
         </div>
27
-        <!--<div></div>-->
28 27
         <div class="cell clearfix">
29 28
           <label class="title"><span class="name">日期查询</span> : </label>
30 29
           <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
@@ -38,7 +37,9 @@
38 37
         <div class="record">
39 38
           <el-row :gutter="15">
40 39
             <el-col :span="10">
41
-              <el-table :header-cell-style="{
40
+              <el-table
41
+
42
+                :header-cell-style="{
42 43
                   backgroundColor: 'rgb(245, 247, 250)',
43 44
                   color: '#606266'
44 45
                 }"
@@ -46,9 +47,11 @@
46 47
                         border highlight-current-row @current-change="didChangeCurrentRecord"
47 48
                         @selection-change="didSelectionChange"
48 49
                         :row-class-name="tableRow"
50
+                        height="600px"
49 51
                         @row-click="onRowClick"
52
+
50 53
               >
51
-                <el-table-column type="selection" width="40" align="center"></el-table-column>
54
+                <el-table-column type="selection" width="70"></el-table-column>
52 55
                 <el-table-column label="标题" align="center">
53 56
                   <template slot-scope="scope">
54 57
                     {{ scope.row.title}}
@@ -117,6 +120,8 @@
117 120
               <el-select style="width: 100px;" v-model="is_guominyaowu" placeholder="选择过敏药物">
118 121
                 <el-option label="无" value="0"></el-option>
119 122
                 <el-option label="有" value="1"></el-option>
123
+                <el-option label="不详" value="2"></el-option>
124
+
120 125
               </el-select>
121 126
               <el-input v-if="is_guominyaowu == 1" v-model="guominyaowu_desc"></el-input>
122 127
 
@@ -150,9 +155,7 @@
150 155
           </div>
151 156
         </div>
152 157
       </el-dialog>
153
-
154
-
155
-      <el-dialog title="修改病程记录" width="50%" top="5vh" :visible.sync="show_edit_dialog">
158
+      <el-dialog title="修改病史记录" width="50%" top="5vh" :visible.sync="show_edit_dialog">
156 159
         <div>
157 160
           <div class="new_record_form">
158 161
             <div class="cell clearfix">
@@ -351,9 +354,8 @@ export default {
351 354
         if (resp.state == 1) {
352 355
           this.current_select_record = null
353 356
           this.records = resp.data.records
354
-          console.log("records232322332323232323223",this.records)
355 357
           this.doctors = resp.data.doctors
356
-
358
+          this.$refs.record_table.setCurrentRow(this.records[0])
357 359
         } else {
358 360
           this.$message.error(resp.msg)
359 361
         }
@@ -448,13 +450,14 @@ export default {
448 450
       }
449 451
       createSickHistoryRecord(params).then(rs => {
450 452
         this.uploading_new_record = false
453
+        this.$message.success("新增成功")
451 454
         var resp = rs.data
452 455
         if (resp.state == 1) {
453 456
           this.records.unshift(resp.data.record)
454 457
           this.show_dialog = false
455 458
           this.new_content = ''
456 459
           this.title = ''
457
-
460
+          this.$refs.record_table.setCurrentRow(this.records[0])
458 461
         } else {
459 462
           this.$message.error(resp.msg)
460 463
         }
@@ -525,7 +528,15 @@ export default {
525 528
       this.requestSickHistory()
526 529
     }, endTimeChange(val) {
527 530
       this.requestSickHistory()
528
-    }, showEdit() {
531
+    }, showDialog(){
532
+      for(let i = 0; i < this.doctorOptions.length; i++){
533
+        if(this.doctorOptions[i].id == this.$store.getters.xt_user.user.id){
534
+          this.doctor_id =this.$store.getters.xt_user.user.id
535
+        }
536
+      }
537
+      this.show_dialog = true
538
+
539
+    },showEdit() {
529 540
       if (this.table_current_index == -1) {
530 541
         this.$message.error('请选择要修改的病程内容')
531 542
         return
@@ -559,7 +570,7 @@ export default {
559 570
         this.$message.error('请选择要打印的病程')
560 571
         return
561 572
       }
562
-      this.$router.push({ path: "/course/print?ids="+this.ids+"&patient_id="+this.patient_id});
573
+      this.$router.push({ path: "/sickhistory/print?ids="+this.ids+"&patient_id="+this.patient_id});
563 574
     }
564 575
   }
565 576
 }