Browse Source

Merge branch '20230223_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20230223_pc_vue_new_branch

28169 4 months ago
parent
commit
2cfd08127b

+ 51 - 70
src/xt_pages/dialysis/batch_print/batch_print_order_sixty.vue View File

372
                       class="row"
372
                       class="row"
373
                       style="padding: 2px 0; line-height: 23px; display: flex"
373
                       style="padding: 2px 0; line-height: 23px; display: flex"
374
                     >
374
                     >
375
-                      <div class="inline_block">
375
+                      <div class="inline_block" style="flex: 1;">
376
                         血管通路:
376
                         血管通路:
377
                         <div
377
                         <div
378
                           class="under_line"
378
                           class="under_line"
401
                         内瘘:
401
                         内瘘:
402
                         <div
402
                         <div
403
                           class="under_line"
403
                           class="under_line"
404
-                          style="width: 120px; text-align: center"
404
+                          style="width: 80%; text-align: center"
405
                         >
405
                         >
406
                           {{
406
                           {{
407
                             record.assessment_before_dislysis &&
407
                             record.assessment_before_dislysis &&
415
 
415
 
416
                       <div
416
                       <div
417
                         class="inline_block"
417
                         class="inline_block"
418
-                        style="margin-left: 10px; flex: 1"
418
+                        style="flex: 1"
419
                       >
419
                       >
420
                         导管:
420
                         导管:
421
                         <div
421
                         <div
422
                           class="under_line"
422
                           class="under_line"
423
-                          style="width: 120px; text-align: center"
423
+                          style="width: 80%; text-align: center"
424
                         >
424
                         >
425
                           {{
425
                           {{
426
                             record.assessment_before_dislysis &&
426
                             record.assessment_before_dislysis &&
1041
                           class="under_line"
1041
                           class="under_line"
1042
                           style="width: 150px; text-align: center"
1042
                           style="width: 150px; text-align: center"
1043
                         >
1043
                         >
1044
-                          <span v-if="record.prescription.anticoagulant == 0"
1045
-                            >&nbsp;/</span
1046
-                          >
1047
-                          <span v-if="record.prescription.anticoagulant == 1"
1048
-                            >&nbsp;无肝素</span
1049
-                          >
1050
-                          <span v-if="record.prescription.anticoagulant == 2"
1051
-                            >&nbsp;普通肝素</span
1052
-                          >
1053
-                          <span v-if="record.prescription.anticoagulant == 3"
1054
-                            >&nbsp;低分子肝素</span
1055
-                          >
1056
-                          <span v-if="record.prescription.anticoagulant == 4"
1057
-                            >&nbsp;阿加曲班</span
1058
-                          >
1059
-                          <span v-if="record.prescription.anticoagulant == 5"
1060
-                            >&nbsp;枸橼酸钠</span
1061
-                          >
1062
-                          <span v-if="record.prescription.anticoagulant == 6"
1063
-                            >&nbsp;低分子肝素钙</span
1064
-                          >
1065
-                          <span v-if="record.prescription.anticoagulant == 7"
1066
-                            >&nbsp;低分子肝素钠</span
1067
-                          >
1068
-                          <span v-if="record.prescription.anticoagulant == 8"
1069
-                            >&nbsp;依诺肝素</span
1070
-                          >
1044
+                          {{ getvalue(record.prescription.anticoagulant) }}
1071
                         </div>
1045
                         </div>
1072
                       </div>
1046
                       </div>
1073
                       <div class="inline_block" style="margin-left: 20px">
1047
                       <div class="inline_block" style="margin-left: 20px">
1083
                               : "/"
1057
                               : "/"
1084
                           }}
1058
                           }}
1085
                         </div>
1059
                         </div>
1086
-                        <span v-if="record.prescription.anticoagulant == 4"
1087
-                          >mg</span
1088
-                        >
1089
-                        <span v-if="record.prescription.anticoagulant == 3"
1090
-                          >iu</span
1091
-                        >
1092
-                        <span v-if="record.prescription.anticoagulant == 2"
1093
-                          >iu</span
1094
-                        >
1095
-                        <span v-if="record.prescription.anticoagulant == 1"
1096
-                          >mg</span
1097
-                        >
1060
+                        {{ getshouji(record.prescription.anticoagulant) }}
1061
+                       
1098
                       </div>
1062
                       </div>
1099
                       <div class="inline_block" style="margin-left: 20px">
1063
                       <div class="inline_block" style="margin-left: 20px">
1100
                         维持:
1064
                         维持:
1128
                               : 0
1092
                               : 0
1129
                           }}
1093
                           }}
1130
                         </div>
1094
                         </div>
1131
-                        <span v-if="record.prescription.anticoagulant == 5"
1132
-                          >ml/h</span
1133
-                        >
1134
-                        <span v-if="record.prescription.anticoagulant == 4"
1135
-                          >mg/h</span
1136
-                        >
1137
-                        <span v-if="record.prescription.anticoagulant == 3"
1138
-                          >iu/h</span
1139
-                        >
1140
-                        <span v-if="record.prescription.anticoagulant == 2"
1141
-                          >iu/h</span
1142
-                        >
1143
-                        <span v-if="record.prescription.anticoagulant == 1"
1144
-                          >mg/h</span
1145
-                        >
1095
+                        {{ getweichi(record.prescription.anticoagulant) }}
1096
+                      
1146
                       </div>
1097
                       </div>
1147
                       <div class="inline_block" style="margin-left: 20px">
1098
                       <div class="inline_block" style="margin-left: 20px">
1148
                         总量:
1099
                         总量:
1157
                               : "/"
1108
                               : "/"
1158
                           }}
1109
                           }}
1159
                         </div>
1110
                         </div>
1160
-                        <span v-if="record.prescription.anticoagulant == 4"
1161
-                          >mg</span
1162
-                        >
1163
-                        <span v-if="record.prescription.anticoagulant == 3"
1164
-                          >iu</span
1165
-                        >
1166
-                        <span v-if="record.prescription.anticoagulant == 2"
1167
-                          >iu</span
1168
-                        >
1169
-                        <span v-if="record.prescription.anticoagulant == 1"
1170
-                          >mg</span
1171
-                        >
1111
+                        {{ getzongliang(record.prescription.anticoagulant) }}
1112
+                        
1172
                       </div>
1113
                       </div>
1173
                     </div>
1114
                     </div>
1174
                     <div
1115
                     <div
3063
     getNumber: function (record) {
3004
     getNumber: function (record) {
3064
       console.log(record);
3005
       console.log(record);
3065
     },
3006
     },
3007
+    getvalue(id){
3008
+      const options = this.anticoagulantsConfit
3009
+      if(id!=0){
3010
+        for(let i in options){
3011
+          if(options[i].id == id){
3012
+            return options[i].name
3013
+          }
3014
+        }
3015
+      }
3016
+    },
3017
+    getshouji(id){
3018
+      const options = this.anticoagulantsConfit
3019
+      if(id!=0){
3020
+        for(let i in options){
3021
+          if(options[i].id == id){
3022
+            return options[i].shouji_unit
3023
+          }
3024
+        }
3025
+      }
3026
+    },
3027
+    getweichi(id){
3028
+      const options = this.anticoagulantsConfit
3029
+      if(id!=0){
3030
+        for(let i in options){
3031
+          if(options[i].id == id){
3032
+            return options[i].weichi_unit
3033
+          }
3034
+        }
3035
+      }
3036
+    },
3037
+    getzongliang(id){
3038
+      const options = this.anticoagulantsConfit
3039
+      if(id!=0){
3040
+        for(let i in options){
3041
+          if(options[i].id == id){
3042
+            return options[i].zongliang_unit
3043
+          }
3044
+        }
3045
+      }
3046
+    }
3066
   },
3047
   },
3067
 };
3048
 };
3068
 </script>
3049
 </script>

+ 43 - 30
src/xt_pages/dialysis/template/DialysisPrintOrderSixty.vue View File

184
               </tr>
184
               </tr>
185
               <tr>
185
               <tr>
186
                 <td colspan="2">
186
                 <td colspan="2">
187
-                  <div
188
-                    class="row"
187
+                  <div class="row"
189
                     style="padding: 2px 0; line-height: 23px; display: flex"
188
                     style="padding: 2px 0; line-height: 23px; display: flex"
190
                   >
189
                   >
191
                     <div class="inline_block" style="flex: 1">
190
                     <div class="inline_block" style="flex: 1">
359
                     </div>
358
                     </div>
360
                   </div>
359
                   </div>
361
 
360
 
362
-                  <div
363
-                    class="row"
361
+                  <div class="row"
364
                     style="padding: 2px 0; line-height: 23px; display: flex"
362
                     style="padding: 2px 0; line-height: 23px; display: flex"
365
                   >
363
                   >
366
-                    <div class="inline_block">
364
+                    <div class="inline_block" style="flex: 1;">
367
                       血管通路:
365
                       血管通路:
368
                       <div
366
                       <div
369
                         class="under_line"
367
                         class="under_line"
374
                         {{ predialysis.blood_access_part_opera_name }}
372
                         {{ predialysis.blood_access_part_opera_name }}
375
                       </div>
373
                       </div>
376
                     </div>
374
                     </div>
377
-                    <div class="inline_block" style="margin-left: 10px">
375
+                    <div class="inline_block" style="flex: 1;">
378
                       内瘘:
376
                       内瘘:
379
-                      <div
380
-                        class="under_line"
377
+                      <div class="under_line"
381
                         style="
378
                         style="
382
-                          width: 180px;
379
+                          width: 80%;
383
                           text-align: center;
380
                           text-align: center;
384
                           white-space: normal;
381
                           white-space: normal;
385
                         "
382
                         "
392
                       </div>
389
                       </div>
393
                     </div>
390
                     </div>
394
 
391
 
395
-                    <div
396
-                      class="inline_block"
397
-                      style="margin-left: 10px; flex: 1.4"
398
-                    >
392
+                    <div class="inline_block" style="flex: 1">
399
                       导管:
393
                       导管:
400
                       <div
394
                       <div
401
                         class="under_line"
395
                         class="under_line"
941
                   <div class="row" style="padding: 2px 0; line-height: 23px">
935
                   <div class="row" style="padding: 2px 0; line-height: 23px">
942
                     <div class="inline_block">
936
                     <div class="inline_block">
943
                       抗凝剂:
937
                       抗凝剂:
944
-                      <div
945
-                        class="under_line"
938
+                      <div class="under_line"
946
                         style="width: 150px; text-align: center"
939
                         style="width: 150px; text-align: center"
947
                       >
940
                       >
948
                         {{
941
                         {{
968
                             : "/"
961
                             : "/"
969
                         }}
962
                         }}
970
                       </div>
963
                       </div>
971
-                      <span v-if="prescription.anticoagulant == 4">mg</span>
972
-                      <span v-if="prescription.anticoagulant == 3">iu</span>
973
-                      <span v-if="prescription.anticoagulant == 2">iu</span>
974
-                      <span v-if="prescription.anticoagulant == 1">mg</span>
964
+                      {{ getshouji(prescription.anticoagulant) }}
975
                     </div>
965
                     </div>
976
                     <div class="inline_block" style="margin-left: 20px">
966
                     <div class="inline_block" style="margin-left: 20px">
977
                       维持:
967
                       维持:
997
                             : "0"
987
                             : "0"
998
                         }}
988
                         }}
999
                       </div>
989
                       </div>
1000
-                      <span v-if="prescription.anticoagulant == 5">ml/h</span>
1001
-                      <span v-if="prescription.anticoagulant == 4">mg/h</span>
1002
-                      <span v-if="prescription.anticoagulant == 3">iu/h</span>
1003
-                      <span v-if="prescription.anticoagulant == 2">iu/h</span>
1004
-                      <span v-if="prescription.anticoagulant == 1">mg/h</span>
990
+                      {{ getweichi(prescription.anticoagulant) }}
1005
                     </div>
991
                     </div>
1006
                     <div
992
                     <div
1007
                       class="inline_block"
993
                       class="inline_block"
1054
                             : "/"
1040
                             : "/"
1055
                         }}
1041
                         }}
1056
                       </div>
1042
                       </div>
1057
-                      <span v-if="prescription.anticoagulant == 4">mg</span>
1058
-                      <span v-if="prescription.anticoagulant == 3">iu</span>
1059
-                      <span v-if="prescription.anticoagulant == 2">iu</span>
1060
-                      <span v-if="prescription.anticoagulant == 1">mg</span>
1043
+                      {{ getzongliang(prescription.anticoagulant) }}
1061
                     </div>
1044
                     </div>
1062
                     <!-- <div class="inline_block" style="margin-left: 20px">
1045
                     <!-- <div class="inline_block" style="margin-left: 20px">
1063
                       透析机号:
1046
                       透析机号:
2786
         );
2769
         );
2787
       }
2770
       }
2788
     },
2771
     },
2789
-
2790
     getXuserName(id) {
2772
     getXuserName(id) {
2791
       if (id <= 0) {
2773
       if (id <= 0) {
2792
         return "";
2774
         return "";
3252
         return "0.0";
3234
         return "0.0";
3253
       }
3235
       }
3254
     },
3236
     },
3237
+    getshouji(id){
3238
+      const options = this.anticoagulantsConfit
3239
+      if(id!=0){
3240
+        for(let i in options){
3241
+          if(options[i].id == id){
3242
+            return options[i].shouji_unit
3243
+          }
3244
+        }
3245
+      }
3246
+    },
3247
+    getweichi(id){
3248
+      const options = this.anticoagulantsConfit
3249
+      if(id!=0){
3250
+        for(let i in options){
3251
+          if(options[i].id == id){
3252
+            return options[i].weichi_unit
3253
+          }
3254
+        }
3255
+      }
3256
+    },
3257
+    getzongliang(id){
3258
+      const options = this.anticoagulantsConfit
3259
+      if(id!=0){
3260
+        for(let i in options){
3261
+          if(options[i].id == id){
3262
+            return options[i].zongliang_unit
3263
+          }
3264
+        }
3265
+      }
3266
+    }
3255
   },
3267
   },
3256
   watch: {
3268
   watch: {
3257
     "patientInfo.gender": function () {
3269
     "patientInfo.gender": function () {
3297
     this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
3309
     this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
3298
     this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
3310
     this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
3299
     this.displaceLiquiPartOptions = this.$store.getters.displace_liqui;
3311
     this.displaceLiquiPartOptions = this.$store.getters.displace_liqui;
3300
-
3312
+    console.log('this.anticoagulantsConfit',this.anticoagulantsConfit);
3313
+    
3301
     this.blood_access_part = getDataConfig("hemodialysis", "vascular_access");
3314
     this.blood_access_part = getDataConfig("hemodialysis", "vascular_access");
3302
     this.blood_access_part_opera = getDataConfig(
3315
     this.blood_access_part_opera = getDataConfig(
3303
       "hemodialysis",
3316
       "hemodialysis",

+ 6 - 6
src/xt_pages/outpatientCharges/statementTemplate/privateChargePrint.vue View File

180
       </tr>
180
       </tr>
181
       <tr>
181
       <tr>
182
         <td>其他</td>
182
         <td>其他</td>
183
-        <td colspan="2" style="text-align:right;padding-right:10px;">{{info.other_cost_total.toFixed(2)}}</td>
184
-        <td style="text-align:right;padding-right:10px;">{{info.other_cost_self_total.toFixed(2)}}</td>
185
-        <td colspan="2" style="text-align:right;padding-right:10px;">{{info.other_cost_part_self_total.toFixed(2)}}</td>
183
+        <td colspan="2" style="text-align:right;padding-right:10px;"></td>
184
+        <td style="text-align:right;padding-right:10px;"></td>
185
+        <td colspan="2" style="text-align:right;padding-right:10px;"></td>
186
         <td>麻醉费</td>
186
         <td>麻醉费</td>
187
         <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
187
         <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
188
         <td style="text-align:right;padding-right:10px;">0</td>
188
         <td style="text-align:right;padding-right:10px;">0</td>
211
       <tr>
211
       <tr>
212
         <td>合计</td>
212
         <td>合计</td>
213
         <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_total.toFixed(2)) +
213
         <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_total.toFixed(2)) +
214
-            parseFloat(info.operation_cost_total.toFixed(2)) + parseFloat(info.other_cost_total.toFixed(2)) +
214
+            parseFloat(info.operation_cost_total.toFixed(2))  +
215
             parseFloat(info.material_cost_total.toFixed(2)) + parseFloat(info.western_medicine_cost_total.toFixed(2)) +
215
             parseFloat(info.material_cost_total.toFixed(2)) + parseFloat(info.western_medicine_cost_total.toFixed(2)) +
216
             parseFloat(info.chinese_traditional_medicine_cost_total.toFixed(2)) + parseFloat(info.check_cost_total.toFixed(2)) +
216
             parseFloat(info.chinese_traditional_medicine_cost_total.toFixed(2)) + parseFloat(info.check_cost_total.toFixed(2)) +
217
             parseFloat(info.laboratory_cost_total.toFixed(2)) + parseFloat(info.treat_cost_total.toFixed(2))).toFixed(2) }}
217
             parseFloat(info.laboratory_cost_total.toFixed(2)) + parseFloat(info.treat_cost_total.toFixed(2))).toFixed(2) }}
218
         </td>
218
         </td>
219
         <td style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_self_total.toFixed(2) )+
219
         <td style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_self_total.toFixed(2) )+
220
-            parseFloat(info.operation_cost_self_total.toFixed(2)) + parseFloat(info.other_cost_self_total.toFixed(2)) +
220
+            parseFloat(info.operation_cost_self_total.toFixed(2))  +
221
             parseFloat(info.material_cost_self_total.toFixed(2)) + parseFloat(info.western_medicine_cost_self_total.toFixed(2)) +
221
             parseFloat(info.material_cost_self_total.toFixed(2)) + parseFloat(info.western_medicine_cost_self_total.toFixed(2)) +
222
             parseFloat(info.chinese_traditional_medicine_cost_self_total.toFixed(2)) + parseFloat(info.check_cost_self_total.toFixed(2)) +
222
             parseFloat(info.chinese_traditional_medicine_cost_self_total.toFixed(2)) + parseFloat(info.check_cost_self_total.toFixed(2)) +
223
             parseFloat(info.laboratory_cost_self_total.toFixed(2)) + parseFloat(info.treat_cost_self_total.toFixed(2))).toFixed(2)}}
223
             parseFloat(info.laboratory_cost_self_total.toFixed(2)) + parseFloat(info.treat_cost_self_total.toFixed(2))).toFixed(2)}}
224
         </td>
224
         </td>
225
         <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_part_self_total.toFixed(2)) +
225
         <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_part_self_total.toFixed(2)) +
226
-            parseFloat(info.operation_cost_part_self_total.toFixed(2)) + parseFloat(info.other_cost_part_self_total.toFixed(2)) +
226
+            parseFloat(info.operation_cost_part_self_total.toFixed(2))  +
227
             parseFloat(info.material_cost_part_self_total.toFixed(2)) + parseFloat(info.western_medicine_cost_part_self_total.toFixed(2)) +
227
             parseFloat(info.material_cost_part_self_total.toFixed(2)) + parseFloat(info.western_medicine_cost_part_self_total.toFixed(2)) +
228
             parseFloat(info.chinese_traditional_medicine_cost_part_self_total.toFixed(2)) +
228
             parseFloat(info.chinese_traditional_medicine_cost_part_self_total.toFixed(2)) +
229
             parseFloat(info.check_cost_part_self_total.toFixed(2)) + parseFloat(info.laboratory_cost_part_self_total.toFixed(2)) +
229
             parseFloat(info.check_cost_part_self_total.toFixed(2)) + parseFloat(info.laboratory_cost_part_self_total.toFixed(2)) +

+ 1 - 1
src/xt_pages/user/components/PatientSidebar.vue View File

328
       } else if (name == '1-2') {
328
       } else if (name == '1-2') {
329
         this.$router.push({ path: '/patients/course?id=' + this.id })
329
         this.$router.push({ path: '/patients/course?id=' + this.id })
330
       } else if (name == '1-3') {
330
       } else if (name == '1-3') {
331
-        this.$router.push({ path: '/patients/inspection?id=' + this.id })
331
+        this.$router.push({ path: '/patients/inspection?id=' + this.id,query:{patient:this.currentPatient}})
332
       } else if (name == '1-4') {
332
       } else if (name == '1-4') {
333
         this.$router.push({
333
         this.$router.push({
334
           path: '/patients/patient/' + this.id + '/doctorAdvice'
334
           path: '/patients/patient/' + this.id + '/doctorAdvice'

+ 126 - 4
src/xt_pages/user/inspection.vue View File

102
             >删除
102
             >删除
103
             </el-button
103
             </el-button
104
             >
104
             >
105
+            <el-button size="small" class="filter-item" type="primary" icon="el-icon-printer" @click="Printcheck" >
106
+              打印
107
+            </el-button>
105
           </div>
108
           </div>
106
           <div class="filter-container">
109
           <div class="filter-container">
107
             <el-button class="filter-item" type="text" style="color:#000"
110
             <el-button class="filter-item" type="text" style="color:#000"
247
             :total="total"
250
             :total="total"
248
           >
251
           >
249
           </el-pagination>
252
           </el-pagination>
253
+
254
+          <div style="display: none">
255
+            <div id="print_content">
256
+              <div style="text-align: center;border-bottom: 1px solid black;">
257
+                <h1>检验报告</h1>
258
+              </div>
259
+              <div style="display: flex;margin: 10px 0;">
260
+                <div style="flex: 1;">姓名:{{ patient.name }}</div>
261
+                <div style="flex: 1;">性别:{{ patient.gender ==1 ? '男' : '女' }}</div>
262
+                <div style="flex: 1;">年龄:{{ patient.age }}
263
+                  <!-- <span v-if="getAge(patient)>200">
264
+                    {{ patient.age }}
265
+                  </span>
266
+                  <span v-else>
267
+                    {{ getAge(patient) }}
268
+                  </span> -->
269
+                </div>
270
+              </div>
271
+              <table class="checktable" border="1" style="border-collapse: collapse;width: 100%;border-left: 0;border-right: 0;">
272
+                <thead>
273
+                  <tr style="padding: 5px 0;border-top:1px solid black ;border-bottom:1px solid black ;">
274
+                    <th width="150">项目</th>
275
+                    <th width="80">结果</th>
276
+                    <th width="50">提示</th>
277
+                    <th width="100">单位</th>
278
+                    <th width="100">参考区间</th>
279
+                  </tr>
280
+                </thead>
281
+                <tbody>
282
+                  <tr v-for="(item,index) in items" :key="index">
283
+                    <td width="150">{{ item.item_name }} {{ item.item_name_addition }}</td>
284
+                    <td width="80">
285
+                      <div>
286
+                        <span v-if="item.range_type == 2">
287
+                          <span v-if="item.value=='阳性'" style="color: red"> {{ item.value }}</span>
288
+                          <span v-else> {{ item.value }}</span>
289
+                        </span>
290
+                        <span v-if="item.range_type == 1">
291
+                          <span v-if="parseFloat(item.value) < parseFloat(getrange(item.range_min)) ">
292
+                            {{ item.value }}
293
+                          </span>
294
+                          <span v-if="parseFloat(getrange(item.range_min))<= parseFloat( item.value) && parseFloat(item.value)<= parseFloat(getrange(item.range_max)) ">
295
+                            {{ item.value }}
296
+                          </span>
297
+                          <span v-if="parseFloat(item.value) >parseFloat(getrange(item.range_max)) ">
298
+                            {{ item.value }}
299
+                          </span>
300
+                          <span v-if ="item.range_max ==''||item.range_min ==''">
301
+                            {{ item.value }}
302
+                          </span>
303
+                        </span>
304
+                      </div>
305
+                    </td>
306
+                    <td width="50">
307
+                      <span v-if="item.range_type == 1">
308
+                        <span v-if="parseFloat(item.value) < parseFloat(getrange(item.range_min)) ">
309
+                          <span v-if="item.value>0">↓</span>
310
+                        </span>
311
+                        <span v-if="parseFloat(item.value) >parseFloat(getrange(item.range_max)) ">
312
+                          <span v-if="item.value>0">↑</span>
313
+                        </span>
314
+                      </span>
315
+                    </td>
316
+                    <td width="100">{{ item.unit }}</td>
317
+                    <td width="100">{{ item.range_min }}~{{ item.range_max }}</td>
318
+                  </tr>
319
+                </tbody>
320
+              </table>
321
+            </div>
322
+          </div>
250
         </el-col>
323
         </el-col>
251
       </el-row>
324
       </el-row>
252
     </div>
325
     </div>
505
 import PatientSidebar from './components/PatientSidebar'
578
 import PatientSidebar from './components/PatientSidebar'
506
 import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
579
 import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
507
 import { getToken } from '@/api/qiniu'
580
 import { getToken } from '@/api/qiniu'
508
-
581
+import print from "print-js";
509
 import {
582
 import {
510
   CreatePatientInspection,
583
   CreatePatientInspection,
511
   CreatePatientPICInspection,
584
   CreatePatientPICInspection,
573
         page: 1
646
         page: 1
574
       },
647
       },
575
       org_id:0,
648
       org_id:0,
649
+      patient:{},
576
     }
650
     }
577
   },
651
   },
578
   methods: {
652
   methods: {
724
         })
798
         })
725
         .catch(() => {
799
         .catch(() => {
726
         })
800
         })
727
-    },submitRemindDialog(){
801
+    },
802
+    // 打印
803
+    Printcheck(){
804
+      if (this.project == null || this.itemDate == '') {
805
+        this.$message.error('请先选择打印的记录')
806
+        return false
807
+      }else{
808
+        const style='@media print{.checktable tr td,th{border: 0 !important;padding: 5px 0;text-align: center;}}'
809
+        printJS({
810
+          printable: "print_content",
811
+          type: "html",
812
+          documentTitle: "  ",
813
+          style: style,
814
+          scanStyles: false,
815
+        });
816
+      }
817
+    },
818
+    submitRemindDialog(){
728
       var temp_is_open = 0
819
       var temp_is_open = 0
729
       if(this.is_open){
820
       if(this.is_open){
730
         temp_is_open = 1
821
         temp_is_open = 1
751
           this.dialogRemindDialogFormVisible = false
842
           this.dialogRemindDialogFormVisible = false
752
         }
843
         }
753
       })
844
       })
754
-    },submitNewRemind(){
845
+    },
846
+    submitNewRemind(){
755
       // console.log(this.is_open)
847
       // console.log(this.is_open)
756
       var params = {
848
       var params = {
757
         patient: this.patientID,
849
         patient: this.patientID,
953
           for (var index in this.form.formItem) {
1045
           for (var index in this.form.formItem) {
954
             this.form.formItem[index].value = '' + this.form.formItem[index].value
1046
             this.form.formItem[index].value = '' + this.form.formItem[index].value
955
           }
1047
           }
1048
+          console.log('this.patientID, this.form,',this.patientID, this.form, this.form.remind_cycle, this.form.inspect_date, this.form.project_id);
956
 
1049
 
957
           EditPatientInspection(this.patientID, this.form, this.form.remind_cycle, this.form.inspect_date, this.form.project_id).then(response => {
1050
           EditPatientInspection(this.patientID, this.form, this.form.remind_cycle, this.form.inspect_date, this.form.project_id).then(response => {
958
             if (response.data.state == 1) {
1051
             if (response.data.state == 1) {
1364
                     item.item_name = inspectionsMap[items[index].id].item_name
1457
                     item.item_name = inspectionsMap[items[index].id].item_name
1365
                   }else{
1458
                   }else{
1366
                     console.log('执行1');
1459
                     console.log('执行1');
1367
-                    
1460
+
1368
                     if(this.org_id == 10702 || this.org_id == 0){
1461
                     if(this.org_id == 10702 || this.org_id == 0){
1369
                       if(item.project_name == '血常规'|| item.project_name == '透后肾功能' ||
1462
                       if(item.project_name == '血常规'|| item.project_name == '透后肾功能' ||
1370
                           item.project_name == '肝功能' || item.project_name == '电解质' || item.project_name == '透前肾功能' ||
1463
                           item.project_name == '肝功能' || item.project_name == '电解质' || item.project_name == '透前肾功能' ||
1454
       }
1547
       }
1455
 
1548
 
1456
     },
1549
     },
1550
+    getAge: function(val) {
1551
+      if (val.id_card_no == undefined) {
1552
+        return false
1553
+      }
1554
+      var thisLen = val.id_card_no.length
1555
+      var birth = ''
1556
+      if (thisLen == 15) {
1557
+        birth = '19' + val.id_card_no.substr(6, 6)
1558
+      } else {
1559
+        birth = val.id_card_no.substr(6, 8)
1560
+      }
1561
+      var birthtwo =
1562
+        birth.substr(0, 4) +
1563
+        '-' +
1564
+        birth.substr(4, 2) +
1565
+        '-' +
1566
+        birth.substr(6, 2)
1567
+
1568
+      var age = jsGetAge(birthtwo, '-')
1569
+      return age
1570
+    }
1457
   },
1571
   },
1458
   created() {
1572
   created() {
1459
     const id = this.$route.query && this.$route.query.id
1573
     const id = this.$route.query && this.$route.query.id
1574
+    this.patient = this.$route.query.patient
1575
+    console.log('this.patient',this.patient);
1576
+
1460
     this.org_id = this.$store.getters.xt_user.org.id,
1577
     this.org_id = this.$store.getters.xt_user.org.id,
1461
     this.patientID = parseInt(id)
1578
     this.patientID = parseInt(id)
1462
     if (isNaN(this.patientID) || this.patientID <= 0) {
1579
     if (isNaN(this.patientID) || this.patientID <= 0) {
1504
 .el-table::before {
1621
 .el-table::before {
1505
   background-color: #d0d3da;
1622
   background-color: #d0d3da;
1506
 }
1623
 }
1624
+.checktable tr td,th{
1625
+  border: 0 !important;
1626
+  padding: 5px 0;
1627
+  text-align: center;
1628
+}
1507
 </style>
1629
 </style>

+ 237 - 39
src/xt_pages/user/sickHistory_new.vue View File

136
       </div>
136
       </div>
137
 
137
 
138
 
138
 
139
-
140
-
141
       <el-dialog
139
       <el-dialog
142
         title="设置模板"
140
         title="设置模板"
143
         :visible.sync="template_dialog"
141
         :visible.sync="template_dialog"
196
           <el-button @click="library_dialog = false">取消</el-button>
194
           <el-button @click="library_dialog = false">取消</el-button>
197
         </span>
195
         </span>
198
       </el-dialog>
196
       </el-dialog>
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-     
209
-     
210
     </div>
197
     </div>
198
+
199
+    <p></p>
211
   </div>
200
   </div>
212
- 
201
+
213
 </template>
202
 </template>
214
 
203
 
215
 <script>
204
 <script>
227
   saveSickHistoryTemplate,
216
   saveSickHistoryTemplate,
228
   getSickHistoryTempalate,
217
   getSickHistoryTempalate,
229
   modifySickHistoryTemplate,
218
   modifySickHistoryTemplate,
230
-  deleteSickHistoryTempalte
219
+  deleteSickHistoryTempalte,
220
+  fetchPatient,
231
 } from '@/api/patient'
221
 } from '@/api/patient'
232
 import { parseTime } from '@/utils'
222
 import { parseTime } from '@/utils'
233
-import BreadCrumb from '@/xt_pages/components/bread-crumb' 
223
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
234
 import { uParseTime } from '@/utils/tools'
224
 import { uParseTime } from '@/utils/tools'
225
+import { getDataConfig } from "@/utils/data";
235
 export default {
226
 export default {
236
   name: 'CourseOfDisease',
227
   name: 'CourseOfDisease',
237
   components: {
228
   components: {
300
       templateList:[],
291
       templateList:[],
301
       template_content:"",
292
       template_content:"",
302
       template_id:0,
293
       template_id:0,
294
+      form:{},
295
+      wayOptions: null,
296
+      patientVascularAccessOne:{},
303
     }
297
     }
304
   },
298
   },
305
   created() {
299
   created() {
306
-    this.admin_user_id = this.$store.getters.xt_user.user.id
300
+    this.wayOptions = getDataConfig("patient", "reimbursement_ways");
301
+    console.log('this.wayOptions',this.wayOptions);
307
     
302
     
303
+    this.admin_user_id = this.$store.getters.xt_user.user.id
308
     this.patient_id = parseInt(this.$route.query.id)
304
     this.patient_id = parseInt(this.$route.query.id)
309
-
305
+    
310
     if (isNaN(this.patient_id) || this.patient_id <= 0) {
306
     if (isNaN(this.patient_id) || this.patient_id <= 0) {
311
       this.$notify.error({
307
       this.$notify.error({
312
         title: '错误',
308
         title: '错误',
341
 
337
 
342
     this.getlist()
338
     this.getlist()
343
     this.fetchAllDoctorAndNurse()
339
     this.fetchAllDoctorAndNurse()
344
-
340
+    this.fetchPatient(this.patient_id)
345
   },
341
   },
346
   methods: {
342
   methods: {
347
     template_dele(){
343
     template_dele(){
387
       this.edit_index = row.index
383
       this.edit_index = row.index
388
     },
384
     },
389
     template_click(){
385
     template_click(){
390
-      console.log('this.add_index',this.add_index);
391
-
386
+      
387
+      console.log('this.add_index',this.getwayoption(this.form.reimbursement_way_id));
392
       if(this.add_index ==0){
388
       if(this.add_index ==0){
393
         this.template_dialog = true
389
         this.template_dialog = true
394
       }else{
390
       }else{
391
+        const mode=`<p style="font-size: 18px;font-weight: 600;width:100%;margin-bottom: 10px;text-align: center;">血液净化治疗患者首次门诊病历</p>
392
+        <table border="1" style="border-collapse: collapse;text-align: center;">
393
+      <tbody>
394
+        <tr>
395
+          <td style="width:8%;padding: 5px 0px;font-size: 16px;">
396
+            姓名
397
+          </td>
398
+          <td style="padding: 5px 0px;font-size: 16px;width:15%;">
399
+            ${this.form.name}
400
+          </td>
401
+          <td style="padding: 5px 0px;font-size: 16px;width:7%;">
402
+            性别
403
+          </td>
404
+          <td style="padding: 5px 0px;font-size: 16px;width:5%;">
405
+            ${this.form.gender==1 ? '男':'女'}
406
+          </td>
407
+          <td style="padding: 5px 0px;font-size: 16px;width:8%;">
408
+            年龄
409
+          </td>
410
+          <td style="padding: 5px 0px;font-size: 16px;width:10%;">
411
+            ${this.form.age}岁
412
+          </td>
413
+          <td style="padding: 5px 0px;font-size: 16px;width:12%;">
414
+            医保类型
415
+          </td>
416
+          <td style="padding: 5px 0px;font-size: 16px;width: 15%;">
417
+            ${this.getwayoption(this.form.reimbursement_way_id)}
418
+          </td>
419
+          <td style="padding: 5px 0px;font-size: 16px;width:10%;">
420
+            透析号
421
+          </td>
422
+          <td style="padding: 5px 0px;font-size: 16px;width:10%;">
423
+            ${this.form.dialysis_no}
424
+          </td>
425
+        </tr>
426
+        <tr>
427
+          <td style="padding: 5px 0px;font-size: 16px;">
428
+            电话
429
+          </td>
430
+          <td style="padding: 5px 0px;font-size: 16px;">
431
+            ${this.form.phone}
432
+          </td>
433
+          <td  style="padding: 5px 0px;font-size: 16px;">
434
+            民族
435
+          </td>
436
+          <td colspan="3" style="padding: 5px 0px;font-size: 16px;">
437
+            ${this.form.nation}
438
+          </td>
439
+          <td style="padding: 5px 0px;font-size: 16px;">
440
+            身份证号
441
+          </td>
442
+          <td colspan="3" style="padding: 5px 0px;font-size: 16px;">
443
+            ${this.form.id_card_no}
444
+          </td>
445
+        </tr>
446
+        <tr>
447
+          <td style="padding: 5px 0px;font-size: 16px;">
448
+            联系人
449
+          </td>
450
+          <td style="padding: 5px 0px;font-size: 16px;">
451
+            ${this.form.contact_name}
452
+          </td>
453
+          <td  style="padding: 5px 0px;font-size: 16px;">
454
+            电话
455
+          </td>
456
+          <td colspan="3" style="padding: 5px 0px;font-size: 16px;">
457
+            ${this.form.home_telephone}
458
+          </td>
459
+          <td style="padding: 5px 0px;font-size: 16px;">
460
+            联系地址
461
+          </td>
462
+          <td colspan="3" style="padding: 5px 0px;font-size: 16px;">
463
+            ${this.form.home_address}
464
+          </td>
465
+        </tr>
466
+        <tr>
467
+          <td colspan="2" style="padding: 5px 0px;font-size: 16px;">
468
+            首次透析时间
469
+          </td>
470
+          <td colspan="4" style="padding: 5px 0px;font-size: 16px;">
471
+            ${this.getTime(this.form.first_dialysis_date)}
472
+          </td>
473
+          <td style="padding: 5px 0px;font-size: 16px;">
474
+            血管通路
475
+          </td>
476
+          <td colspan="3" style="padding: 5px 0px;font-size: 16px;">
477
+            ${this.patientVascularAccessOne.blood_access_part_id } ${ this.patientVascularAccessOne.blood_access_part_opera_id }
478
+          </td>
479
+        </tr>
480
+
481
+        <tr>
482
+          <td style="padding: 5px 0px;font-size: 16px; ">
483
+            主诉
484
+          </td>
485
+          <td colspan="9" style="text-align: left; padding:0px 5px ;font-size: 16px;">
486
+            ${this.form.patient_complains}
487
+          </td>
488
+        </tr>
489
+        <tr>
490
+          <td>
491
+            <div  class="td_proj_title">现<br />病<br />史</div>
492
+          </td>
493
+          <td colspan="9">${this.form.present_history}</td>
494
+        </tr>
495
+        <tr>
496
+          <td>
497
+            <div class="td_proj_title">既<br />往<br />史</div>
498
+          </td>
499
+          <td colspan="9">${this.form.past_history}</td>
500
+        </tr>
501
+        <tr>
502
+          <td>
503
+            <div class="td_proj_title">过敏史</div>
504
+          </td>
505
+          <td colspan="5">${this.form.allergic_history}</td>
506
+          <td>
507
+            <div class="td_proj_title">家族史</div>
508
+          </td>
509
+          <td colspan="3">${this.form.famality_record}</td>
510
+        </tr>
511
+
512
+        <tr>
513
+          <td colspan="10"><div class="td_proj_title">体格检查</div></td>
514
+        </tr>
515
+        <tr>
516
+          <td colspan="10">
517
+            T:${this.form.temperature}℃&nbsp;&nbsp;&nbsp; P:${this.form.pulse}次/分&nbsp;&nbsp;&nbsp; R:${this.form.respiratory}次/分&nbsp;&nbsp;&nbsp; BP:${this.form.sbp}/${this.form.dbp}mmHg
518
+          </td>
519
+        </tr>
520
+        <tr>
521
+          <td colspan="10">${this.form.remark}</td>
522
+        </tr>
523
+        <tr>
524
+          <td style="width: 15%;">
525
+            <div class="td_proj_title">辅助检查</div>
526
+          </td>
527
+          <td colspan="9">
528
+            <p style='min-height:30px'></p>
529
+          </td>
530
+        </tr>
531
+        <tr>
532
+          <td>
533
+            <div class="td_proj_title">诊<br />断</div>
534
+          </td>
535
+          <td colspan="9">${this.form.diagnose}</td>
536
+        </tr>
537
+        <tr>
538
+          <td>
539
+            <div class="td_proj_title">诊<br />疗<br />计<br />划</div>
540
+          </td>
541
+          <td colspan="9"><p>${this.form.treatment_plan}</p></td>
542
+        </tr>
543
+      </tbody>
544
+        </table>`
545
+        const obj={
546
+          id:0,
547
+          title:'病史模板',
548
+          status:1,
549
+          content:mode,
550
+          ctime:parseFloat((new Date()).getTime()/1000).toFixed(0),
551
+          mtime: parseFloat((new Date()).getTime()/1000).toFixed(0),
552
+        }
553
+        const arr = []
554
+        arr.push(obj)
555
+        console.log('1111',arr);
395
         getSickHistoryTempalate().then(response=>{
556
         getSickHistoryTempalate().then(response=>{
396
           if(response.data.state == 1){
557
           if(response.data.state == 1){
397
             this.library_dialog = true
558
             this.library_dialog = true
398
             this.templateList = response.data.data.templateList
559
             this.templateList = response.data.data.templateList
560
+            this.templateList = this.templateList.concat(arr)
561
+            // this.templateList.unshift(obj)
399
             console.log("hahhahahaha",this.$refs)
562
             console.log("hahhahahaha",this.$refs)
400
             if(this.templateList!=null && this.templateList.length>0){
563
             if(this.templateList!=null && this.templateList.length>0){
401
-              this.$refs.record_table_one.setCurrentRow(this.templateList[0])
564
+              this.$nextTick(()=>{
565
+                this.$refs.record_table_one.setCurrentRow(this.templateList[0])
566
+              })
402
             }
567
             }
403
             console.log("haaaaaaaaaaaaa",this.templateList)
568
             console.log("haaaaaaaaaaaaa",this.templateList)
404
-            
405
           }
569
           }
406
         })
570
         })
407
-     
408
-      }
571
+        
572
+        // this.templateList.push(obj)
573
+        
574
+        console.log('11111111',obj);
409
 
575
 
576
+      }
410
     },
577
     },
411
     template_save(){
578
     template_save(){
412
        var params = {
579
        var params = {
420
            this.template_dialog = false
587
            this.template_dialog = false
421
          }
588
          }
422
       })
589
       })
423
-    
424
-    
590
+
591
+
425
     },
592
     },
426
     prints(){
593
     prints(){
427
       const style ='@media print{.content{width:960px;margin:0 auto;font-size: 23px;}}'
594
       const style ='@media print{.content{width:960px;margin:0 auto;font-size: 23px;}}'
441
         }
608
         }
442
       });
609
       });
443
     },
610
     },
444
-  
611
+
445
     didChangeCurrentRecord: function(record) {
612
     didChangeCurrentRecord: function(record) {
446
       this.current_select_record = record
613
       this.current_select_record = record
447
     },
614
     },
499
     },
666
     },
500
 
667
 
501
     createAction: function() {
668
     createAction: function() {
502
-    
669
+
503
       console.log("hhhhhhhhhhhhhhhhhh",this.$refs)
670
       console.log("hhhhhhhhhhhhhhhhhh",this.$refs)
504
       this.new_content = this.$refs.editor.contents
671
       this.new_content = this.$refs.editor.contents
505
       if (this.new_content.length == 0) {
672
       if (this.new_content.length == 0) {
518
         guominyaowu_desc:this.guominyaowu_desc,
685
         guominyaowu_desc:this.guominyaowu_desc,
519
         doctor_id: this.admin_user_id
686
         doctor_id: this.admin_user_id
520
       }
687
       }
521
-     
688
+
522
       createNewSickHistoryRecord(params).then(response => {
689
       createNewSickHistoryRecord(params).then(response => {
523
          if(response.data.state == 1){
690
          if(response.data.state == 1){
524
            var patientSickHistory = response.data.data.patientSickHistory
691
            var patientSickHistory = response.data.data.patientSickHistory
525
            this.$message.success("保存成功!")
692
            this.$message.success("保存成功!")
526
            this.getlist()
693
            this.getlist()
694
+           this.add_index = 0
695
+           this.disabled = true
527
          }
696
          }
528
-
529
       }).catch(error => {
697
       }).catch(error => {
530
         this.uploading_new_record = false
698
         this.uploading_new_record = false
531
         this.$message.error(error)
699
         this.$message.error(error)
572
 
740
 
573
 
741
 
574
       },
742
       },
575
-   
743
+
576
     showEdit() {
744
     showEdit() {
577
       this.add_index =1
745
       this.add_index =1
578
       this.disabled = false
746
       this.disabled = false
579
-   
747
+
580
     }, tableRow({ row, rowIndex }) {
748
     }, tableRow({ row, rowIndex }) {
581
       // 把每一行的索引放进row
749
       // 把每一行的索引放进row
582
       row.index = rowIndex
750
       row.index = rowIndex
599
           var list = response.data.data.list
767
           var list = response.data.data.list
600
           this.tableData = list
768
           this.tableData = list
601
           this.$refs.record_table.setCurrentRow(this.tableData[0])
769
           this.$refs.record_table.setCurrentRow(this.tableData[0])
602
-        } 
770
+        }
603
       })
771
       })
604
     },
772
     },
605
     getDocName(admin_user_id){
773
     getDocName(admin_user_id){
628
       if(val.is_hypersusceptibility>0){
796
       if(val.is_hypersusceptibility>0){
629
         this.shen_guomi = val.is_hypersusceptibility
797
         this.shen_guomi = val.is_hypersusceptibility
630
       }
798
       }
631
-      
799
+
632
       this.patient_id = val.patient_id
800
       this.patient_id = val.patient_id
633
       this.admin_user_id = val.admin_user_id
801
       this.admin_user_id = val.admin_user_id
634
-    
802
+
635
     },
803
     },
636
     getCurrentChangeOne(val){
804
     getCurrentChangeOne(val){
637
-   
805
+
638
       this.$refs.editorOne.contents = val.content
806
       this.$refs.editorOne.contents = val.content
639
       this.template_content = ""
807
       this.template_content = ""
640
       this.template_content = val.content
808
       this.template_content = val.content
641
       this.template_id = val.id
809
       this.template_id = val.id
642
     },
810
     },
643
     saveTemplate(){
811
     saveTemplate(){
644
-   
812
+
645
       var params = {
813
       var params = {
646
         title:this.template_name,
814
         title:this.template_name,
647
         content: this.$refs.editor.contents,
815
         content: this.$refs.editor.contents,
657
    toContentPint(){
825
    toContentPint(){
658
     this.$refs.editor.contents = this.template_content
826
     this.$refs.editor.contents = this.template_content
659
     this.library_dialog = false
827
     this.library_dialog = false
660
-   }
828
+   },
829
+   fetchPatient(id) {
830
+      fetchPatient(id).then((response) => {
831
+          console.log('fetchPatient11111',response.data.data);
832
+          if(response.data.state ==1){
833
+            this.form = response.data.data.patient;
834
+            this.patientVascularAccessOne = response.data.data.patientVascularAccessOne
835
+          }
836
+        })
837
+        .catch((err) => {
838
+          console.log("patient get err", err);
839
+          this.$notify.error({
840
+            title: "错误",
841
+            message: "网络异常",
842
+          });
843
+          this.$router.push("/patients/patients");
844
+        });
845
+    },
846
+    getwayoption(id){
847
+      if(id != 0){
848
+        for(let i in this.wayOptions){
849
+          if(id == this.wayOptions[i].id){
850
+            console.log('22222',this.wayOptions[i].name);
851
+            return this.wayOptions[i].name
852
+          }
853
+        }
854
+      }else{
855
+        return ''
856
+      }
857
+      
858
+    }
661
   }
859
   }
662
 }
860
 }
663
 </script>
861
 </script>