Parcourir la source

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

28169 il y a 2 ans
Parent
révision
d7eba98ce4
33 fichiers modifiés avec 11185 ajouts et 4261 suppressions
  1. 24 2
      src/api/inspection.js
  2. 93 1
      src/api/patient.js
  3. 1 0
      src/lang/zh.js
  4. 2 2
      src/router/index_路由未分离前.js
  5. 41 2
      src/router/modules/patient.js
  6. 2 2
      src/xt_pages/data/components/templateTable.vue
  7. 2 0
      src/xt_pages/data/template.vue
  8. 247 217
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  9. 2 2
      src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue
  10. 38 36
      src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue
  11. 7 5
      src/xt_pages/dialysis/details/dialog/computer_dialog.vue
  12. 974 832
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  13. 1 2
      src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue
  14. 179 128
      src/xt_pages/dialysis/details/index.vue
  15. 5 0
      src/xt_pages/management/home.vue
  16. 0 3
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  17. 70 40
      src/xt_pages/outpatientCharges/summary.vue
  18. 1 1
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  19. 2016 2016
      src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue
  20. 3 4
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  21. 9 13
      src/xt_pages/outpatientTool/components/detail.vue
  22. 2525 529
      src/xt_pages/user/Physicalexamination.vue
  23. 91 25
      src/xt_pages/user/components/PatientSidebar.vue
  24. 4 3
      src/xt_pages/user/courseOfDisease.vue
  25. 81 71
      src/xt_pages/user/firstDisease.vue
  26. 524 113
      src/xt_pages/user/inspection.vue
  27. 1090 0
      src/xt_pages/user/inspectionCheck.vue
  28. 1171 0
      src/xt_pages/user/ktv.vue
  29. 681 209
      src/xt_pages/user/physiqueprinting.vue
  30. 654 0
      src/xt_pages/user/physiqueprintingtwo.vue
  31. 1 1
      src/xt_pages/user/rescueRecord.vue
  32. 641 0
      src/xt_pages/user/sickHistory.vue
  33. 5 2
      src/xt_pages/user/templateSummary.vue

+ 24 - 2
src/api/inspection.js Voir le fichier

@@ -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
+

+ 93 - 1
src/api/patient.js Voir le fichier

@@ -509,7 +509,7 @@ export function getInspectionItemList(params) {
509 509
 }
510 510
 
511 511
 export function saveCreation(data) {
512
- 
512
+
513 513
   return request({
514 514
     url: '/api/patient/savecreationinspection',
515 515
     method: 'post',
@@ -652,3 +652,95 @@ export function deleteFirstDisease(params) {
652 652
     params: params
653 653
   })
654 654
 }
655
+
656
+export function createSickHistoryRecord(params) {
657
+  return request({
658
+    url: '/api/patient/sickhistory/create',
659
+    method: 'get',
660
+    params: params
661
+  })
662
+}
663
+
664
+
665
+export function deleteSickHistoryRecords(params) {
666
+  return request({
667
+    url: '/api/patient/sickhistory/delete',
668
+    method: 'post',
669
+    params: params
670
+  })
671
+}
672
+
673
+ export function ModifySickHistoryRecord(params) {
674
+  return request({
675
+    url: '/api/patient/sickhistory/modify',
676
+    method: 'get',
677
+    params: params
678
+  })
679
+}
680
+
681
+export function GetSickHistoryRecords(params) {
682
+  return request({
683
+    url: '/api/patient/sickhistory',
684
+    method: 'get',
685
+    params: params
686
+  })
687
+}
688
+
689
+
690
+
691
+export function getPhysiqueCheckRecords(patient_id, start_time_ymd, end_time_ymd) {
692
+  var params = {
693
+    patient_id: patient_id,
694
+    start_time: start_time_ymd,
695
+    end_time: end_time_ymd
696
+  }
697
+  return request({
698
+    url: '/api/patient/physiquecheck',
699
+    method: 'get',
700
+    params: params
701
+  })
702
+}
703
+export function createPhysiqueCheckRecord(params) {
704
+  return request({
705
+    url: '/api/patient/physiquecheck/create',
706
+    method: 'get',
707
+    params: params
708
+  })
709
+}
710
+
711
+export function modifyPhysiqueCheckRecord(params) {
712
+  return request({
713
+    url: '/api/patient/physiquecheck/modify',
714
+    method: 'get',
715
+    params: params
716
+  })
717
+}
718
+
719
+
720
+export function deletePhysiqueCheckRecords(params) {
721
+  return request({
722
+    url: '/api/patient/physiquecheck/delete',
723
+    method: 'post',
724
+    params: params
725
+  })
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 Voir le fichier

@@ -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: '透析护理记录',

+ 2 - 2
src/router/index_路由未分离前.js Voir le fichier

@@ -638,7 +638,7 @@ export const xt_asyncRouterMap = [
638 638
         meta: { title: 'inspection', noCache: true }
639 639
       },
640 640
       {
641
-        path: '/patients/course',
641
+        path: '/',
642 642
         component: () => import('@/xt_pages/user/courseOfDisease'),
643 643
         hidden: true,
644 644
         is_menu: false,
@@ -978,5 +978,5 @@ export const xt_asyncRouterMap = [
978 978
       { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
979 979
       { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
980 980
     ]
981
-  }
981
+  },
982 982
 ]

+ 41 - 2
src/router/modules/patient.js Voir le fichier

@@ -181,7 +181,35 @@ export default {
181 181
       title: 'CourseOfDiseaseManage',
182 182
       noCache: true
183 183
     }
184
-  },
184
+  }, {
185
+      path: '/patients/sickhistory',
186
+      component: () => import('@/xt_pages/user/sickHistory'),
187
+      hidden: true,
188
+      is_menu: false,
189
+      name: 'sickHistory',
190
+      meta: { title: 'sickHistory', noCache: true }
191
+    }, {
192
+      path: '/patients/inspection_check',
193
+      component: () => import('@/xt_pages/user/inspectionCheck'),
194
+      hidden: true,
195
+      is_menu: false,
196
+      name: 'inspectionCheck',
197
+      meta: { title: 'inspectionCheck', noCache: true }
198
+    },{
199
+      path: '/patients/ktv',
200
+      component: () => import('@/xt_pages/user/ktv'),
201
+      hidden: true,
202
+      is_menu: false,
203
+      name: 'ktv',
204
+      meta: { title: 'ktv', noCache: true }
205
+    },{
206
+      path: '/patients/physicalexamination',
207
+      component: () => import('@/xt_pages/user/Physicalexamination'),
208
+      hidden: true,
209
+      is_menu: false,
210
+      name: 'physicalexamination',
211
+      meta: { title: 'physicalexamination', noCache: true }
212
+    },
185 213
   {
186 214
     path: '/patients/rescue',
187 215
     component: () => import('@/xt_pages/user/rescueRecord'),
@@ -216,7 +244,7 @@ export default {
216 244
     }
217 245
   },
218 246
   {
219
-    path: '/physique/print',//coursePrint
247
+    path: '/sickhistory/print',
220 248
     component: () => import('@/xt_pages/user/physiqueprinting'),
221 249
     hidden: true,
222 250
     is_menu: false,
@@ -226,6 +254,17 @@ export default {
226 254
       noCache: true
227 255
     }
228 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
+    },
229 268
   {
230 269
     path: '/patient/patient/templateSummary/print',
231 270
     component: () => import('@/xt_pages/user/templateSummaryPrint'),

+ 2 - 2
src/xt_pages/data/components/templateTable.vue Voir le fichier

@@ -91,7 +91,7 @@
91 91
           ></el-input>
92 92
         </el-form-item>
93 93
 
94
-        <el-form-item label="内容" v-if="type == 'course_disease'">
94
+        <el-form-item label="内容" v-if="type == 'course_disease' || type == 'sick_history'">
95 95
           <keep-alive>
96 96
             <editor
97 97
               ref="editor"
@@ -350,7 +350,7 @@ export default {
350 350
     },
351 351
     createData() {
352 352
       this.$refs["dataForm"].validate(valid => {
353
-        if (this.type == "course_disease") {
353
+        if (this.type == "course_disease" || this.type == "sick_history") {
354 354
           this.temp.content = this.$refs.editor.content;
355 355
         }
356 356
 

+ 2 - 0
src/xt_pages/data/template.vue Voir le fichier

@@ -62,6 +62,8 @@ export default {
62 62
         { label: this.$t("data_config.diagnostic_basis"), key:"diagnostic_basis"},
63 63
         { label: this.$t("data_config.differential_diagnosis"), key:"differential_diagnosis"},
64 64
         { label: this.$t("data_config.treatment_plan"), key:"treatment_plan"},
65
+        { label: this.$t("data_config.sick_history"), key:"sick_history"},
66
+
65 67
       ],
66 68
       activeName: "education",
67 69
       createdTimes: 0

+ 247 - 217
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue Voir le fichier

@@ -11,7 +11,7 @@
11 11
       <el-form ref="form" :model="form" label-width="160px">
12 12
         <el-row :gutter="20">
13 13
           <el-col :span="8" v-if="isShow('实际治疗时长')">
14
-            <el-form-item label="实际治疗时长(时):">
14
+            <el-form-item label="实际治疗时长(时):" :prop="isName('实际治疗时长')" :rules="isCheckmust('实际治疗时长')">
15 15
               <!-- <el-input v-model="form.actual_treatment_hour"></el-input> -->
16 16
               <el-time-picker
17 17
                 v-model="actualTreatmentHourShow"
@@ -27,23 +27,23 @@
27 27
 
28 28
           <el-col :span="8" v-if="isShow('实际超滤量')">
29 29
             <el-form-item
30
-              label="实际超滤量(ml): "
30
+              label="实际超滤量(ml): " :prop="isName('实际超滤量')" :rules="isCheckmust('实际超滤量')"
31 31
               v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.template_id == 43 || this.template_id == 44 || this.template_id == 47 || this.template_id == 56 || this.template_id == 60 || this.$store.getters.xt_user.template_info.org_id == 10307 || this.$store.getters.xt_user.template_info.org_id == 10340 || this.$store.getters.xt_user.template_info.org_id == 9555 || this.$store.getters.xt_user.template_info.org_id == 10387 || this.$store.getters.xt_user.template_info.org_id == 10430 || this.$store.getters.xt_user.template_info.org_id == 10432 || this.$store.getters.xt_user.template_info.org_id == 10441 || this.$store.getters.xt_user.template_info.org_id == 10445 || this.$store.getters.xt_user.template_info.org_id == 10410"  >
32 32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
33 33
             </el-form-item>
34
-            <el-form-item label="实际超滤量(L): " v-else>
34
+            <el-form-item label="实际超滤量(L): " v-else :prop="isName('实际超滤量')" :rules="isCheckmust('实际超滤量')">
35 35
               <el-input v-model="form.actual_ultrafiltration"></el-input>
36 36
             </el-form-item>
37 37
           </el-col>
38 38
 
39 39
           <el-col :span="8" v-if="isShow('透后称重')">
40
-            <el-form-item label="透后称重(kg): ">
40
+            <el-form-item label="透后称重(kg): " :prop="isName('透后称重')" :rules="isCheckmust('透后称重')">
41 41
               <el-input v-model="form.weight_after"></el-input>
42 42
             </el-form-item>
43 43
           </el-col>
44 44
 
45 45
           <el-col :span="8" v-if="isShow('衣物重')">
46
-            <el-form-item label="衣物重(kg): ">
46
+            <el-form-item label="衣物重(kg): " :prop="isName('衣物重')" :rules="isCheckmust('衣物重')">
47 47
               <el-input v-model="form.additional_weight"></el-input>
48 48
             </el-form-item>
49 49
           </el-col>
@@ -51,13 +51,13 @@
51 51
 
52 52
         <el-row :gutter="20">
53 53
           <el-col :span="8" v-if="isShow('体重减少')">
54
-            <el-form-item label="体重减少(kg): ">
54
+            <el-form-item label="体重减少(kg): " :prop="isName('体重减少')" :rules="isCheckmust('体重减少')">
55 55
               <el-input v-model="form.weight_loss"></el-input>
56 56
             </el-form-item>
57 57
           </el-col>
58 58
 
59 59
           <el-col :span="8" v-if="isShow('穿刺处血肿')">
60
-            <el-form-item label="穿刺处血肿: ">
60
+            <el-form-item label="穿刺处血肿: " :prop="isName('穿刺处血肿')" :rules="isCheckmust('穿刺处血肿')">
61 61
               <el-radio-group v-model="form.puncture_point_haematoma">
62 62
                 <el-radio :label="1">有</el-radio>
63 63
                 <el-radio :label="2">无</el-radio>
@@ -66,7 +66,7 @@
66 66
           </el-col>
67 67
 
68 68
           <el-col :span="8" v-if="isShow('并发症')">
69
-            <el-form-item label="并发症: ">
69
+            <el-form-item label="并发症: " :prop="isName('并发症')" :rules="isCheckmust('并发症')">
70 70
               <el-input
71 71
                 v-model="form.complication"
72 72
                 readonly
@@ -78,7 +78,7 @@
78 78
 
79 79
         <el-row :gutter="20">
80 80
           <el-col :span="8" v-if="isShow('内瘘')">
81
-            <el-form-item label="内瘘: ">
81
+            <el-form-item label="内瘘: " :prop="isName('内瘘')" :rules="isCheckmust('内瘘')">
82 82
               <el-input
83 83
                 v-model="form.internal_fistula"
84 84
                 readonly
@@ -88,7 +88,7 @@
88 88
           </el-col>
89 89
 
90 90
           <el-col :span="8" v-if="isShow('导管')">
91
-            <el-form-item label="导管: ">
91
+            <el-form-item label="导管: " :prop="isName('导管')" :rules="isCheckmust('导管')">
92 92
               <el-input
93 93
                 v-model="form.catheter"
94 94
                 readonly
@@ -98,7 +98,7 @@
98 98
           </el-col>
99 99
 
100 100
           <el-col :span="8" v-if="isShow('透析过程')">
101
-            <el-form-item label="透析过程: ">
101
+            <el-form-item label="透析过程: " :prop="isName('透析过程')" :rules="isCheckmust('透析过程')">
102 102
               <el-select v-model="form.dialysis_process">
103 103
                 <el-option :key="0" label="请选择" :value="0"></el-option>
104 104
 
@@ -113,13 +113,13 @@
113 113
           </el-col>
114 114
 
115 115
           <el-col :span="8" v-if="isShow('透析过程提前时间')">
116
-            <el-form-item label="透析过程提前时间(min): ">
116
+            <el-form-item label="透析过程提前时间(min): " :prop="isName('透析过程提前时间')" :rules="isCheckmust('透析过程提前时间')">
117 117
               <el-input v-model="form.in_advance_minute"></el-input>
118 118
             </el-form-item>
119 119
           </el-col>
120 120
 
121 121
           <el-col :span="8" v-if="isShow('透析过程提前原因')">
122
-            <el-form-item label="透析过程提前原因: ">
122
+            <el-form-item label="透析过程提前原因: " :prop="isName('透析过程提前原因')" :rules="isCheckmust('透析过程提前原因')">
123 123
               <el-input
124 124
                 v-model="form.in_advance_reason"
125 125
                 readonly
@@ -129,7 +129,7 @@
129 129
           </el-col>
130 130
 
131 131
           <el-col :span="8" v-if="isShow('透析过程提前其他原因')">
132
-            <el-form-item label="透析过程提前其他原因: ">
132
+            <el-form-item label="透析过程提前其他原因: " :prop="isName('透析过程提前其他原因')" :rules="isCheckmust('透析过程提前其他原因')">
133 133
               <el-input
134 134
                 v-model="form.in_advance_reason_other"
135 135
                 :rows="2"
@@ -140,13 +140,13 @@
140 140
 
141 141
         <el-row :gutter="20">
142 142
           <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血时间')">
143
-            <el-form-item label="内瘘管拔针后压迫止血时间(min): ">
143
+            <el-form-item label="内瘘管拔针后压迫止血时间(min): " :prop="isName('内瘘管拔针后压迫止血时间')" :rules="isCheckmust('内瘘管拔针后压迫止血时间')">
144 144
               <el-input v-model="form.hemostasis_minute" :rows="5"></el-input>
145 145
             </el-form-item>
146 146
           </el-col>
147 147
 
148 148
           <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血操作')">
149
-            <el-form-item label="内瘘管拔针后压迫止血操作: ">
149
+            <el-form-item label="内瘘管拔针后压迫止血操作: " :prop="isName('内瘘管拔针后压迫止血操作')" :rules="isCheckmust('内瘘管拔针后压迫止血操作')">
150 150
               <el-select v-model="form.hemostasis_opera">
151 151
                 <el-option :key="0" label="请选择" :value="0"></el-option>
152 152
 
@@ -161,7 +161,7 @@
161 161
           </el-col>
162 162
 
163 163
           <el-col :span="8" v-if="isShow('动脉管道')">
164
-            <el-form-item label="动脉管道: ">
164
+            <el-form-item label="动脉管道: " :prop="isName('动脉管道')" :rules="isCheckmust('动脉管道')">
165 165
               <el-select v-model="form.arterial_tube">
166 166
                 <el-option :key="0" label="请选择" :value="0"></el-option>
167 167
 
@@ -177,7 +177,7 @@
177 177
         </el-row>
178 178
         <el-row :gutter="20">
179 179
           <el-col :span="8" v-if="isShow('静脉管道')">
180
-            <el-form-item label="静脉管道: ">
180
+            <el-form-item label="静脉管道: " :prop="isName('静脉管道')" :rules="isCheckmust('静脉管道')">
181 181
               <el-select v-model="form.intravenous_tube">
182 182
                 <el-option :key="0" label="请选择" :value="0"></el-option>
183 183
 
@@ -192,7 +192,7 @@
192 192
           </el-col>
193 193
 
194 194
           <el-col :span="8" v-if="isShow('透析器凝血')">
195
-            <el-form-item label="透析器凝血: ">
195
+            <el-form-item label="透析器凝血: " :prop="isName('透析器凝血')" :rules="isCheckmust('透析器凝血')">
196 196
               <el-input
197 197
                 v-model="form.cruor"
198 198
                 readonly
@@ -202,7 +202,7 @@
202 202
           </el-col>
203 203
 
204 204
           <el-col :span="8" v-if="isShow('管路凝血')">
205
-            <el-form-item label="管路凝血: ">
205
+            <el-form-item label="管路凝血: " :prop="isName('管路凝血')" :rules="isCheckmust('管路凝血')">
206 206
               <el-input
207 207
                 v-model="form.pip_coagulation"
208 208
                 readonly
@@ -212,7 +212,7 @@
212 212
           </el-col>
213 213
 
214 214
           <el-col :span="8" v-if="isShow('患者去向')">
215
-            <el-form-item label="患者去向: ">
215
+            <el-form-item label="患者去向: " :prop="isName('患者去向')" :rules="isCheckmust('患者去向')">
216 216
               <el-select v-model="form.patient_gose">
217 217
                 <el-option :key="0" label="请选择" :value="0"></el-option>
218 218
                 <el-option
@@ -228,7 +228,7 @@
228 228
 
229 229
         <el-row>
230 230
           <el-col :span="8" v-if="isShow('拔针后穿刺点渗血')">
231
-            <el-form-item label="拔针后穿刺点渗血: ">
231
+            <el-form-item label="拔针后穿刺点渗血: " :prop="isName('拔针后穿刺点渗血')" :rules="isCheckmust('拔针后穿刺点渗血')">
232 232
               <el-radio-group v-model="form.puncture_point_oozing_blood">
233 233
                 <el-radio :label="1">有</el-radio>
234 234
                 <el-radio :label="2">无</el-radio>
@@ -236,24 +236,10 @@
236 236
             </el-form-item>
237 237
           </el-col>
238 238
         </el-row>
239
-        <!--          <el-col :span="8" v-if="isShow('压迫后内瘘震颤')">-->
240
-        <!--            <el-form-item label="压迫后内瘘震颤: ">-->
241
-        <!--              <el-select v-model="form.internal_fistula_tremor_ac">-->
242
-        <!--                <el-option :key="0" label="请选择" :value="0"></el-option>-->
243
-
244
-        <!--                <el-option-->
245
-        <!--                  v-for="item in internalFistulaTremorAcOptions"-->
246
-        <!--                  :label="item.name"-->
247
-        <!--                  :value="item.id"-->
248
-        <!--                  :key="item.id"-->
249
-        <!--                ></el-option>-->
250
-        <!--              </el-select>-->
251
-        <!--            </el-form-item>-->
252
-        <!--          </el-col>-->
253 239
 
254 240
         <el-row :gutter="20" v-if="form.patient_gose == 3 && isShow('科室')">
255 241
           <el-col :span="24">
256
-            <el-form-item label="科室: ">
242
+            <el-form-item label="科室: " :prop="isName('科室')" :rules="isCheckmust('科室')">
257 243
               <el-input
258 244
                 v-model="form.inpatient_department"
259 245
                 :rows="5"
@@ -269,7 +255,7 @@
269 255
           "
270 256
         >
271 257
           <el-col :span="24">
272
-            <el-form-item label="交待病房护士/患者/陪人观察内容: ">
258
+            <el-form-item label="交待病房护士/患者/陪人观察内容: " :prop="isName('交待病房护士/患者/陪人观察内容')" :rules="isCheckmust('交待病房护士/患者/陪人观察内容')">
273 259
               <el-input
274 260
                 placeholder="交待病房护士/患者/陪人观察内容"
275 261
                 v-model="form.observation_content"
@@ -286,7 +272,7 @@
286 272
           v-show="form.patient_gose == 3 && isShow('其他观察内容')"
287 273
         >
288 274
           <el-col :span="24">
289
-            <el-form-item label="其他观察内容: ">
275
+            <el-form-item label="其他观察内容: " :prop="isName('其他观察内容')" :rules="isCheckmust('其他观察内容')">
290 276
               <el-input
291 277
                 v-model="form.observation_content_other"
292 278
                 :rows="5"
@@ -296,7 +282,7 @@
296 282
         </el-row>
297 283
 
298 284
         <el-col :span="8" v-if="isShow('体温')">
299
-          <el-form-item label="体温(℃): ">
285
+          <el-form-item label="体温(℃): " :prop="isName('体温')" :rules="isCheckmust('体温')">
300 286
             <el-input v-model="form.temperature"></el-input>
301 287
           </el-form-item>
302 288
         </el-col>
@@ -304,55 +290,54 @@
304 290
 
305 291
         <el-row :gutter="20"> -->
306 292
         <el-col :span="8" v-if="isShow('收缩压')">
307
-          <el-form-item label="收缩压(mmHg): ">
293
+          <el-form-item label="收缩压(mmHg): " :prop="isName('收缩压')" :rules="isCheckmust('收缩压')">
308 294
             <el-input v-model="form.systolic_blood_pressure"></el-input>
309 295
           </el-form-item>
310 296
         </el-col>
311 297
         <el-col :span="8" v-if="isShow('舒张压')">
312
-          <el-form-item label="舒张压(mmHg): ">
298
+          <el-form-item label="舒张压(mmHg): " :prop="isName('舒张压')" :rules="isCheckmust('舒张压')">
313 299
             <el-input v-model="form.diastolic_blood_pressure"></el-input>
314 300
           </el-form-item>
315 301
         </el-col>
316 302
 
317
-
318 303
          <el-col :span="8" v-if="isShow('卧位收缩压')">
319
-          <el-form-item label="卧位收缩压(mmHg):">
304
+          <el-form-item label="卧位收缩压(mmHg):" :prop="isName('卧位收缩压')" :rules="isCheckmust('卧位收缩压')">
320 305
               <el-input v-model="form.supine_systolic_blood_pressure"></el-input>
321 306
           </el-form-item>
322 307
         </el-col>
323 308
 
324 309
        <el-col :span="8" v-if="isShow('卧位舒张压')">
325
-          <el-form-item label="卧位舒张压(mmHg):">
310
+          <el-form-item label="卧位舒张压(mmHg):" :prop="isName('卧位舒张压')" :rules="isCheckmust('卧位舒张压')">
326 311
               <el-input v-model="form.supine_diastolic_blood_pressure"></el-input>
327 312
           </el-form-item>
328 313
         </el-col>
329 314
 
330 315
         <el-col :span="8" v-if="isShow('坐位收缩压')">
331
-          <el-form-item label="坐位收缩压(mmHg):">
316
+          <el-form-item label="坐位收缩压(mmHg):" :prop="isName('坐位收缩压')" :rules="isCheckmust('坐位收缩压')">
332 317
               <el-input v-model="form.setting_pressure"></el-input>
333 318
           </el-form-item>
334 319
         </el-col>
335 320
 
336 321
          <el-col :span="8" v-if="isShow('坐位舒张压')">
337
-          <el-form-item label="坐位舒张压(mmHg):">
322
+          <el-form-item label="坐位舒张压(mmHg):" :prop="isName('坐位舒张压')" :rules="isCheckmust('坐位舒张压')">
338 323
               <el-input v-model="form.diastolic_pressure"></el-input>
339 324
           </el-form-item>
340 325
         </el-col>
341 326
 
342 327
         <el-col :span="8" v-if="isShow('呼吸频率')">
343
-          <el-form-item label="呼吸频率(次/min): ">
328
+          <el-form-item label="呼吸频率(次/min): " :prop="isName('呼吸频率')" :rules="isCheckmust('呼吸频率')">
344 329
             <el-input v-model="form.breathing_rate"></el-input>
345 330
           </el-form-item>
346 331
         </el-col>
347 332
 
348 333
         <el-col :span="8" v-if="isShow('脉搏')">
349
-          <el-form-item label="脉搏(次/分): ">
334
+          <el-form-item label="脉搏(次/分): " :prop="isName('脉搏')" :rules="isCheckmust('脉搏')">
350 335
             <el-input v-model="form.pulse_frequency"></el-input>
351 336
           </el-form-item>
352 337
         </el-col>
353 338
 
354 339
         <el-col :span="8" v-if="isShow('透后症状')">
355
-          <el-form-item label="透后症状: ">
340
+          <el-form-item label="透后症状: " :prop="isName('透后症状')" :rules="isCheckmust('透后症状')">
356 341
             <el-input
357 342
               v-model="form.symptom_after_dialysis"
358 343
               readonly
@@ -362,13 +347,13 @@
362 347
         </el-col>
363 348
 
364 349
         <el-col :span="8" v-if="isShow('透析中入量')">
365
-          <el-form-item label="透析中入量(L): ">
350
+          <el-form-item label="透析中入量(L): " :prop="isName('透析中入量')" :rules="isCheckmust('透析中入量')">
366 351
             <el-input v-model="form.dialysis_intakes"></el-input>
367 352
           </el-form-item>
368 353
         </el-col>
369 354
 
370 355
         <el-col :span="8" v-if="isShow('透析中入量单位')">
371
-          <el-form-item label="透析中入量单位: ">
356
+          <el-form-item label="透析中入量单位: " :prop="isName('透析中入量单位')" :rules="isCheckmust('透析中入量单位')">
372 357
             <el-select v-model="form.dialysis_intakes_unit">
373 358
               <el-option :key="0" label="请选择" :value="0"></el-option>
374 359
               <el-option
@@ -382,34 +367,34 @@
382 367
         </el-col>
383 368
 
384 369
         <el-col :span="8" v-if="isShow('回血')">
385
-          <el-form-item label="回血(ml): ">
370
+          <el-form-item label="回血(ml): " :prop="isName('回血')" :rules="isCheckmust('回血')">
386 371
             <el-input v-model="form.return_blood"></el-input>
387 372
           </el-form-item>
388 373
         </el-col>
389 374
 
390 375
         <el-col :span="8" v-if="isShow('补液量')">
391
-          <el-form-item label="补液量(ml): ">
376
+          <el-form-item label="补液量(ml): " :prop="isName('补液量')" :rules="isCheckmust('补液量')">
392 377
             <el-input v-model="form.rehydration_volume"></el-input>
393 378
           </el-form-item>
394 379
         </el-col>
395 380
 
396 381
         <el-col :span="8" v-if="isShow('透析中进食')">
397
-          <el-form-item label="透析中进食(ml): " v-if="template_id != 36">
382
+          <el-form-item label="透析中进食(ml): " v-if="template_id != 36" :prop="isName('透析中进食')" :rules="isCheckmust('透析中进食')">
398 383
             <el-input v-model="form.dialysis_during"></el-input>
399 384
           </el-form-item>
400
-          <el-form-item label="透析中进食(g): " v-if="template_id == 36">
385
+          <el-form-item label="透析中进食(g): " v-if="template_id == 36" :prop="isName('透析中进食')" :rules="isCheckmust('透析中进食')" >
401 386
             <el-input v-model="form.dialysis_during"></el-input>
402 387
           </el-form-item>
403 388
         </el-col>
404 389
 
405 390
         <el-col :span="8" v-if="isShow('出量')">
406
-          <el-form-item label="出量(ml): ">
391
+          <el-form-item label="出量(ml): " :prop="isName('出量')" :rules="isCheckmust('出量')">
407 392
             <el-input v-model="form.stroke_volume"></el-input>
408 393
           </el-form-item>
409 394
         </el-col>
410 395
 
411 396
         <el-col :span="8" v-if="isShow('血流量')">
412
-          <el-form-item label="血流量: ">
397
+          <el-form-item label="血流量: " :prop="isName('血流量')" :rules="isCheckmust('血流量')">
413 398
             <el-select v-model="form.blood_flow">
414 399
               <el-option :key="0" label="请选择" :value="0"></el-option>
415 400
               <el-option v-for="item in this.bloodFlowOptions" :label="item.name" :value="item.id" :key="item.id"></el-option>
@@ -418,7 +403,7 @@
418 403
         </el-col>
419 404
 
420 405
         <el-col :span="8" v-if="isShow('封管液配置')">
421
-          <el-form-item label="封管液配置:">
406
+          <el-form-item label="封管液配置:" :prop="isName('封管液配置')" :rules="isCheckmust('封管液配置')">
422 407
             <!-- <el-select v-model="form.sealing_fluid_dispose">
423 408
               <el-option :key="0" label="请选择" :value="0"></el-option>
424 409
               <el-option v-for="item in this.sealingFluidDisposeOptions" :label="item.name" :value="item.id" :key="item.id"></el-option>
@@ -432,7 +417,7 @@
432 417
         </el-col>
433 418
 
434 419
         <el-col :span="8" v-if="sealing_fluid_special_name == '特殊'&&isShow('封管液特殊')">
435
-          <el-form-item label="封管液配置(特殊): ">
420
+          <el-form-item label="封管液配置(特殊): " :prop="isName('封管液配置(特殊)')" :rules="isCheckmust('封管液配置(特殊)')">
436 421
             <el-input v-model="form.sealing_fluid_special"></el-input>
437 422
           </el-form-item>
438 423
         </el-col>
@@ -442,17 +427,17 @@
442 427
         <el-row :gutter="20"> -->
443 428
 
444 429
         <el-col :span="8" v-if="isShow('实际置换量')">
445
-          <el-form-item v-if="this.template_id == 20 || this.template_id == 21" label="实际置换量(ml): ">
430
+          <el-form-item v-if="this.template_id == 20 || this.template_id == 21" label="实际置换量(ml): " :prop="isName('实际置换量')" :rules="isCheckmust('实际置换量')">
446 431
             <el-input v-model="form.actual_displacement"></el-input>
447 432
           </el-form-item>
448
-          <el-form-item v-else label="实际置换量(L): ">
433
+          <el-form-item v-else label="实际置换量(L): " :prop="isName('实际置换量')" :rules="isCheckmust('实际置换量')">
449 434
             <el-input v-model="form.actual_displacement"></el-input>
450 435
           </el-form-item>
451 436
         </el-col>
452 437
 
453 438
 
454 439
         <el-col :span="8" v-if="isShow('失衡综合症')">
455
-          <el-form-item label="失衡综合症: ">
440
+          <el-form-item label="失衡综合症: " :prop="isName('失衡综合症')" :rules="isCheckmust('失衡综合症')">
456 441
             <el-select v-model="form.disequilibrium_syndrome">
457 442
               <el-option :key="0" label="请选择" :value="0"></el-option>
458 443
 
@@ -467,7 +452,7 @@
467 452
         </el-col>
468 453
 
469 454
         <el-col :span="8" v-if="isShow('透析期间进食')">
470
-          <el-form-item label="透析期间进食: ">
455
+          <el-form-item label="透析期间进食: " :prop="isName('透析期间进食')" :rules="isCheckmust('透析期间进食')">
471 456
             <el-radio-group v-model="form.is_eat">
472 457
               <el-radio :label="1">有</el-radio>
473 458
               <el-radio :label="2">无</el-radio>
@@ -476,19 +461,19 @@
476 461
         </el-col>
477 462
 
478 463
         <el-col :span="8" v-if="isShow('中心静脉封管(肝素-A端)')">
479
-          <el-form-item label="中心静脉封管(肝素-A端): ">
464
+          <el-form-item label="中心静脉封管(肝素-A端): " :prop="isName('中心静脉封管(肝素-A端)')" :rules="isCheckmust('中心静脉封管(肝素-A端)')">
480 465
             <el-input v-model="form.cvc_a"></el-input>
481 466
           </el-form-item>
482 467
         </el-col>
483 468
 
484 469
         <el-col :span="8" v-if="isShow('中心静脉封管(肝素-V端)')">
485
-          <el-form-item label="中心静脉封管(肝素-V端): ">
470
+          <el-form-item label="中心静脉封管(肝素-V端): " :prop="isName('中心静脉封管(肝素-V端)')" :rules="isCheckmust('中心静脉封管(肝素-V端)')">
486 471
             <el-input v-model="form.cvc_v"></el-input>
487 472
           </el-form-item>
488 473
         </el-col>
489 474
 
490 475
         <el-col :span="8" v-if="isShow('管路')">
491
-          <el-form-item label="管路: ">
476
+          <el-form-item label="管路: " :prop="isName('管路')" :rules="isCheckmust('管路')">
492 477
             <el-select v-model="form.channel">
493 478
               <el-option :key="0" label="请选择" :value="0"></el-option>
494 479
               <el-option
@@ -502,25 +487,25 @@
502 487
         </el-col>
503 488
 
504 489
         <el-col :span="8" v-if="isShow('实际抗凝剂用量')">
505
-          <el-form-item label="实际抗凝剂用量: ">
490
+          <el-form-item label="实际抗凝剂用量: " :prop="isName('实际抗凝剂用量')" :rules="isCheckmust('实际抗凝剂用量')">
506 491
               <el-input v-model="form.dosage_of_anticoagulants"></el-input>
507 492
           </el-form-item>
508 493
         </el-col>
509 494
 
510 495
 
511 496
         <el-col :span="8" v-if="isShow('并发症其他')">
512
-          <el-form-item label="并发症其他: ">
497
+          <el-form-item label="并发症其他: " :prop="isName('并发症其他')" :rules="isCheckmust('并发症其他')">
513 498
             <el-input v-model="form.other_complication"></el-input>
514 499
           </el-form-item>
515 500
         </el-col>
516 501
 
517 502
         <el-col :span="8" v-if="isShow('URR')">
518
-            <el-form-item label="URR:">
503
+            <el-form-item label="URR:" :prop="isName('URR')" :rules="isCheckmust('URR')">
519 504
                <el-input v-model="form.urr"></el-input>
520 505
             </el-form-item>
521 506
         </el-col>
522 507
         <el-col :span="8" v-if="isShow('透析相关高血压')">
523
-            <el-form-item label="透析相关高血压:">
508
+            <el-form-item label="透析相关高血压:" :prop="isName('透析相关高血压')" :rules="isCheckmust('透析相关高血压')">
524 509
 
525 510
              <el-select v-model="form.hypertenison">
526 511
               <el-option :key="0" label="请选择" :value="0"></el-option>
@@ -533,8 +518,9 @@
533 518
             </el-select>
534 519
             </el-form-item>
535 520
         </el-col>
521
+
536 522
          <el-col :span="8" v-if="isShow('透析相关低血压')">
537
-            <el-form-item label="透析相关低血压">
523
+            <el-form-item label="透析相关低血压" :prop="isName('透析相关低血压')" :rules="isCheckmust('透析相关低血压')">
538 524
              <el-select v-model="form.hypopiesia">
539 525
               <el-option
540 526
                 v-for="item in optionOne"
@@ -546,7 +532,7 @@
546 532
             </el-form-item>
547 533
         </el-col>
548 534
         <el-col :span="8" v-if="isShow('离科方式')">
549
-            <el-form-item label="离科方式">
535
+            <el-form-item label="离科方式" :prop="isName('离科方式')" :rules="isCheckmust('离科方式')">
550 536
                <el-select v-model="form.leave_office_method">
551 537
                 <el-option
552 538
                   v-for="item in leaveOfficeMethod"
@@ -558,7 +544,7 @@
558 544
             </el-form-item>
559 545
         </el-col>
560 546
          <el-col :span="8" v-if="isShow('转归')">
561
-            <el-form-item label="转归">
547
+            <el-form-item label="转归" :prop="isName('转归')" :rules="isCheckmust('转归')">
562 548
              <el-select v-model="form.lapse">
563 549
               <el-option
564 550
                 v-for="item in lapseList"
@@ -570,7 +556,7 @@
570 556
             </el-form-item>
571 557
         </el-col>
572 558
         <el-col :span="8" v-if="isShow('意识')">
573
-            <el-form-item label="意识">
559
+            <el-form-item label="意识" :prop="isName('意识')" :rules="isCheckmust('意识')">
574 560
              <el-select v-model="form.consciousness">
575 561
               <el-option
576 562
                 v-for="item in consciousnessList"
@@ -582,7 +568,7 @@
582 568
             </el-form-item>
583 569
         </el-col>
584 570
         <el-col :span="8" v-if="isShow('跌倒风险')">
585
-            <el-form-item label="跌倒风险">
571
+            <el-form-item label="跌倒风险" :prop="isName('跌倒风险')" :rules="isCheckmust('跌倒风险')">
586 572
              <el-select v-model="form.fallrisk">
587 573
               <el-option
588 574
                 v-for="item in fallriskList"
@@ -595,7 +581,7 @@
595 581
         </el-col>
596 582
 
597 583
       <el-col :span="8" v-if="isShow('机器运行')">
598
-            <el-form-item label="机器运行: ">
584
+            <el-form-item label="机器运行: " :prop="isName('机器运行')" :rules="isCheckmust('机器运行')">
599 585
               <el-select v-model="form.machine_run">
600 586
                 <el-option :key="0" label="请选择" :value="0"></el-option>
601 587
 
@@ -610,22 +596,21 @@
610 596
        </el-col>
611 597
 
612 598
        <el-col :span="8" v-if="isShow('透后尿素')">
613
-            <el-form-item label="透后尿素(mmol/L):" label-width="150px">
599
+            <el-form-item label="透后尿素(mmol/L):" label-width="150px" :prop="isName('透后尿素')" :rules="isCheckmust('透后尿素')">
614 600
               <el-input v-model="form.after_urea"></el-input>
615 601
             </el-form-item>
616 602
        </el-col>
617 603
        <el-col :span="8" v-if="isShow('累计血容量')">
618
-            <el-form-item label="累计血容量(L):"  label-width="150px">
604
+            <el-form-item label="累计血容量(L):"  label-width="150px" :prop="isName('累计血容量')" :rules="isCheckmust('累计血容量')">
619 605
               <el-input v-model="form.accumulated_blood_volume"></el-input>
620 606
             </el-form-item>
621 607
         </el-col>
622 608
         <el-col :span="24" v-if="isShow('KT/V')">
623
-            <el-form-item label="KT/V:">
609
+            <el-form-item label="KT/V:" :prop="isName('KT/V')" :rules="isCheckmust('KT/V')">
624 610
               <el-input type="textarea" :rows="4" v-model="form.ktv"></el-input>
625 611
             </el-form-item>
626 612
         </el-col>
627 613
 
628
-
629 614
       </el-form>
630 615
 
631 616
 
@@ -633,11 +618,11 @@
633 618
         <el-button @click="hide">取 消</el-button>
634 619
         <el-button
635 620
           type="primary"
636
-          @click="submitForm"
621
+          @click="submitForm('form')"
637 622
           :loading="loading"
638 623
           v-if="hasPermission"
639
-          >保 存</el-button
640
-        >
624
+          >保 存</el-button>
625
+          <!--  -->
641 626
       </span>
642 627
     </el-dialog>
643 628
 
@@ -935,137 +920,195 @@ export default {
935 920
     }
936 921
   },
937 922
   methods: {
938
-    submitForm() {
939
-      this.loading = true
940
-      const ParamsQuery = {}
941
-
942
-      if (!(this.patient.id > 0)) {
943
-        this.$message.error('没有选择患者')
944
-        this.loading = false
945
-        return false
946
-      }
947
-      if (this.record_date.length != 10) {
948
-        this.$message.error('无效的日期')
949
-        this.loading = false
950
-        return false
923
+    isName(name) {
924
+      let filedList = store.getters.xt_user.fileds;
925
+      for (let i = 0; i < filedList.length; i++) {
926
+        if (filedList[i].module == 5 && filedList[i].filed_name_cn == name) {
927
+          return filedList[i].filed_name;
928
+        }
951 929
       }
930
+    },
931
+    isCheckmust(name) {
932
+      let filedList = store.getters.xt_user.fileds;
952 933
 
953
-      ParamsQuery['patient'] = this.patient.id
954
-      ParamsQuery['record_date'] = this.record_date
955
-      ParamsQuery['mode'] = '1'
956
-      if (this.assessment_after_dislysis.creater > 0) {
957
-        ParamsQuery['mode'] = '2'
934
+      for (let i = 0; i < filedList.length; i++) {
958 935
         if (
959
-          this.assessment_after_dislysis.creater !=
960
-          this.$store.getters.xt_user.user.id
936
+          filedList[i].module == 5 &&
937
+          filedList[i].filed_name_cn == name &&
938
+          filedList[i].is_write == 1&&
939
+          filedList[i].is_show == 1
961 940
         ) {
962
-          ParamsQuery['mode'] = '3'
941
+          console.log(filedList[i],'false')
942
+          // if(name == "实际治疗时长"){
943
+          //   return [
944
+          //     { required: true, message: `请选择${name}`,trigger: ['blur','change'] },
945
+          //     {
946
+          //       required: true,
947
+          //       pattern: /^[1-9]\d*$/,
948
+          //       message: `请选择${name}`,
949
+          //       trigger: ['change']
950
+          //     },
951
+          //   ];
952
+          // }
953
+        
954
+          return [{ required: true ,message:`请输入${name}`, trigger: ['blur','change'] }];
955
+          
963 956
         }
964 957
       }
958
+    },
959
+    isShow(name) {
960
+      var filedList = store.getters.xt_user.fileds
965 961
 
966
-      const data = {}
967
-      data['weight_after'] = this.form.weight_after ? parseFloat(this.form.weight_after) : 0
968
-      data['weight_loss'] = this.form.weight_loss ? parseFloat(this.form.weight_loss) : 0
969
-      data['temperature'] = this.form.temperature ? parseFloat(this.form.temperature) : 0
970
-      data['breathing_rate'] = this.form.breathing_rate
971
-      data['systolic_blood_pressure'] = this.form.systolic_blood_pressure ? parseFloat(this.form.systolic_blood_pressure) : 0
972
-      data['diastolic_blood_pressure'] = this.form.diastolic_blood_pressure ? parseFloat(this.form.diastolic_blood_pressure) : 0
973
-      data['pulse_frequency'] = this.form.pulse_frequency ? parseFloat(this.form.pulse_frequency) : 0
974
-      data['actual_ultrafiltration'] = this.form.actual_ultrafiltration ? parseFloat(this.form.actual_ultrafiltration) : 0
975
-      data['actual_displacement'] = this.form.actual_displacement ? parseFloat(this.form.actual_displacement) : 0
976
-      data['actual_treatment_hour'] = this.form.actual_treatment_hour ? parseFloat(this.form.actual_treatment_hour) : 0
977
-      data['actual_treatment_minute'] = this.form.actual_treatment_minute ? parseFloat(this.form.actual_treatment_minute) : 0
978
-      data['cruor'] = this.form.cruor
979
-      data['pip_coagulation'] = this.form.pip_coagulation
980
-      data['symptom_after_dialysis'] = this.form.symptom_after_dialysis
981
-      data['dialysis_intakes'] = this.form.dialysis_intakes ? parseFloat(this.form.dialysis_intakes) : 0
982
-      data['internal_fistula'] = this.form.internal_fistula
983
-      data['blood_access_part_id'] = this.form.blood_access_part_id ? parseFloat(this.form.blood_access_part_id) : 0
984
-      data['blood_access_part_opera_id'] = this.form.blood_access_part_opera_id ? parseFloat(this.form.blood_access_part_opera_id) : 0
985
-      data['catheter'] = this.form.catheter
986
-      data['complication'] = this.form.complication
987
-      data['puncture_point_oozing_blood'] = this.form.puncture_point_oozing_blood ? parseFloat(this.form.puncture_point_oozing_blood) : 0
988
-      data['puncture_point_haematoma'] = this.form.puncture_point_haematoma ? parseFloat(this.form.puncture_point_haematoma) : 0
989
-      data['internal_fistula_tremor_ac'] = this.form.internal_fistula_tremor_ac ? parseFloat(this.form.internal_fistula_tremor_ac) : 0
990
-      data['patient_gose'] = this.form.patient_gose ? parseFloat(this.form.patient_gose) : 0
991
-      data['inpatient_department'] = this.form.inpatient_department
992
-      data['observation_content'] = this.form.observation_content
993
-      data['observation_content_other'] = this.form.observation_content_other
994
-      data['remark'] = this.form.remark
995
-      data['dialysis_order_id'] = this.form.dialysis_order_id ? parseFloat(this.form.dialysis_order_id) : 0
996
-      data['dialysis_process'] = this.form.dialysis_process ? parseFloat(this.form.dialysis_process) : 0
997
-      data['in_advance_minute'] = this.form.in_advance_minute ? parseFloat(this.form.in_advance_minute) : 0
998
-      data['in_advance_reason_other'] = this.form.in_advance_reason_other
999
-      data['in_advance_reason'] = this.form.in_advance_reason
1000
-      data['hemostasis_minute'] = this.form.hemostasis_minute ? parseFloat(this.form.hemostasis_minute) : 0
1001
-      data['hemostasis_opera'] = this.form.hemostasis_opera ? parseFloat(this.form.hemostasis_opera) : 0
1002
-      data['tremor_noise'] = this.form.tremor_noise ? parseFloat(this.form.tremor_noise) : 0
1003
-      data['disequilibrium_syndrome'] = this.form.disequilibrium_syndrome ? parseFloat(this.form.disequilibrium_syndrome) : 0
1004
-      data['disequilibrium_syndrome_option'] = this.form.disequilibrium_syndrome_option
1005
-      data['arterial_tube'] = this.form.arterial_tube ? parseFloat(this.form.arterial_tube) : 0
1006
-      data['intravenous_tube'] = this.form.intravenous_tube ? parseFloat(this.form.intravenous_tube) : 0
1007
-      data['dialysis_intakes_unit'] = this.form.dialysis_intakes_unit
1008
-      data['dialyzer'] = this.form.dialyzer ? parseFloat(this.form.dialyzer) : 0
1009
-      data['is_eat'] = this.form.is_eat ? parseFloat(this.form.is_eat) : 0
1010
-      data['cvc_a'] = this.form.cvc_a ? parseFloat(this.form.cvc_a) : 0
1011
-      data['cvc_v'] = this.form.cvc_v ? parseFloat(this.form.cvc_v) : 0
1012
-      data['return_blood'] = this.form.return_blood ? parseFloat(this.form.return_blood) : 0
1013
-      data['rehydration_volume'] = this.form.rehydration_volume ? parseFloat(this.form.rehydration_volume) : 0
1014
-      data['dialysis_during'] = this.form.dialysis_during ? parseFloat(this.form.dialysis_during) : 0
1015
-      data['stroke_volume'] = this.form.stroke_volume ? parseFloat(this.form.stroke_volume) : 0
1016
-      data['blood_flow'] = this.form.blood_flow ? parseFloat(this.form.blood_flow) : 0
1017
-      // data['sealing_fluid_dispose'] = this.form.sealing_fluid_dispose ? parseFloat(this.form.sealing_fluid_dispose) : 0
1018
-      data['sealing_fluid_dispose'] = this.form.sealing_fluid_dispose
1019
-      data['sealing_fluid_special'] = this.form.sealing_fluid_special
1020
-      data['dosage_of_anticoagulants'] = this.form.dosage_of_anticoagulants ? parseFloat(this.form.dosage_of_anticoagulants) : 0
1021
-      data['supine_systolic_blood_pressure'] = this.form.supine_systolic_blood_pressure
1022
-      data['setting_pressure'] = this.form.setting_pressure
1023
-      data["supine_diastolic_blood_pressure"] = this.form.supine_diastolic_blood_pressure
1024
-      data["diastolic_pressure"] = this.form.diastolic_pressure
1025
-      data["additional_weight"] = this.form.additional_weight ? parseFloat(this.form.additional_weight) : 0
1026
-      data["other_complication"] = this.form.other_complication
1027
-      data["ktv"] = this.form.ktv
1028
-      data["urr"] = this.form.urr
1029
-      data["hypertenison"] = parseInt(this.form.hypertenison)
1030
-      data["hypopiesia"] = parseInt(this.form.hypopiesia)
1031
-      data["leave_office_method"] = this.form.leave_office_method
1032
-      data["lapse"] = this.form.lapse
1033
-      data["consciousness"] = this.form.consciousness
1034
-      data["fallrisk"] = this.form.fallrisk
1035
-      data["machine_run"] = this.form.machine_run
1036
-      data["after_urea"] = this.form.after_urea
1037
-      data["pip_coagulation"] = this.form.pip_coagulation
1038
-      data["accumulated_blood_volume"] = this.form.accumulated_blood_volume
1039
-      console.log("Paramsquery",data)
1040
-
1041
-      postAssessmentAfterDislysis(ParamsQuery, data)
1042
-        .then(response => {
1043
-          this.loading = false
1044
-          if (response.data.state == 0) {
1045
-            this.$message.error(response.data.msg)
1046
-            return false
1047
-          } else {
1048
-            this.$notify({
1049
-              title: '成功',
1050
-              message: '提交成功',
1051
-              type: 'success',
1052
-              duration: 2000
1053
-            })
962
+      for (let i = 0; i < filedList.length; i++) {
963
+        if (
964
+          filedList[i].module == 5 &&
965
+          filedList[i].filed_name_cn == name &&
966
+          filedList[i].is_show == 1
967
+        ) {
968
+          return true
969
+        }
970
+      }
971
+      return false
972
+    },
973
+    submitForm(formName) {
974
+      this.$refs[formName].validate((valid)=>{
975
+        if(valid){
1054 976
 
1055
-            var assement = response.data.data.AssessmentAfterDislysis
977
+          this.loading = true
978
+          const ParamsQuery = {}
1056 979
 
1057
-            var assessment_after_dislysis = this.assessment_after_dislysis
980
+          if (!(this.patient.id > 0)) {
981
+            this.$message.error('没有选择患者')
982
+            this.loading = false
983
+            return false
984
+          }
985
+          if (this.record_date.length != 10) {
986
+            this.$message.error('无效的日期')
987
+            this.loading = false
988
+            return false
989
+          }
1058 990
 
1059
-            for (var index in assement) {
1060
-              // assessment_after_dislysis[index] = assement[index];
1061
-              this.$set(assessment_after_dislysis, index, assement[index])
991
+          ParamsQuery['patient'] = this.patient.id
992
+          ParamsQuery['record_date'] = this.record_date
993
+          ParamsQuery['mode'] = '1'
994
+          if (this.assessment_after_dislysis.creater > 0) {
995
+            ParamsQuery['mode'] = '2'
996
+            if (
997
+              this.assessment_after_dislysis.creater !=
998
+              this.$store.getters.xt_user.user.id
999
+            ) {
1000
+              ParamsQuery['mode'] = '3'
1062 1001
             }
1063
-            this.hide()
1064 1002
           }
1065
-        })
1066
-        .catch(v => {
1067
-          this.loading = false
1068
-        })
1003
+
1004
+          const data = {}
1005
+          data['weight_after'] = this.form.weight_after ? parseFloat(this.form.weight_after) : 0
1006
+          data['weight_loss'] = this.form.weight_loss ? parseFloat(this.form.weight_loss) : 0
1007
+          data['temperature'] = this.form.temperature ? parseFloat(this.form.temperature) : 0
1008
+          data['breathing_rate'] = this.form.breathing_rate
1009
+          data['systolic_blood_pressure'] = this.form.systolic_blood_pressure ? parseFloat(this.form.systolic_blood_pressure) : 0
1010
+          data['diastolic_blood_pressure'] = this.form.diastolic_blood_pressure ? parseFloat(this.form.diastolic_blood_pressure) : 0
1011
+          data['pulse_frequency'] = this.form.pulse_frequency ? parseFloat(this.form.pulse_frequency) : 0
1012
+          data['actual_ultrafiltration'] = this.form.actual_ultrafiltration ? parseFloat(this.form.actual_ultrafiltration) : 0
1013
+          data['actual_displacement'] = this.form.actual_displacement ? parseFloat(this.form.actual_displacement) : 0
1014
+          data['actual_treatment_hour'] = this.form.actual_treatment_hour ? parseFloat(this.form.actual_treatment_hour) : 0
1015
+          data['actual_treatment_minute'] = this.form.actual_treatment_minute ? parseFloat(this.form.actual_treatment_minute) : 0
1016
+          data['cruor'] = this.form.cruor
1017
+          data['pip_coagulation'] = this.form.pip_coagulation
1018
+          data['symptom_after_dialysis'] = this.form.symptom_after_dialysis
1019
+          data['dialysis_intakes'] = this.form.dialysis_intakes ? parseFloat(this.form.dialysis_intakes) : 0
1020
+          data['internal_fistula'] = this.form.internal_fistula
1021
+          data['blood_access_part_id'] = this.form.blood_access_part_id ? parseFloat(this.form.blood_access_part_id) : 0
1022
+          data['blood_access_part_opera_id'] = this.form.blood_access_part_opera_id ? parseFloat(this.form.blood_access_part_opera_id) : 0
1023
+          data['catheter'] = this.form.catheter
1024
+          data['complication'] = this.form.complication
1025
+          data['puncture_point_oozing_blood'] = this.form.puncture_point_oozing_blood ? parseFloat(this.form.puncture_point_oozing_blood) : 0
1026
+          data['puncture_point_haematoma'] = this.form.puncture_point_haematoma ? parseFloat(this.form.puncture_point_haematoma) : 0
1027
+          data['internal_fistula_tremor_ac'] = this.form.internal_fistula_tremor_ac ? parseFloat(this.form.internal_fistula_tremor_ac) : 0
1028
+          data['patient_gose'] = this.form.patient_gose ? parseFloat(this.form.patient_gose) : 0
1029
+          data['inpatient_department'] = this.form.inpatient_department
1030
+          data['observation_content'] = this.form.observation_content
1031
+          data['observation_content_other'] = this.form.observation_content_other
1032
+          data['remark'] = this.form.remark
1033
+          data['dialysis_order_id'] = this.form.dialysis_order_id ? parseFloat(this.form.dialysis_order_id) : 0
1034
+          data['dialysis_process'] = this.form.dialysis_process ? parseFloat(this.form.dialysis_process) : 0
1035
+          data['in_advance_minute'] = this.form.in_advance_minute ? parseFloat(this.form.in_advance_minute) : 0
1036
+          data['in_advance_reason_other'] = this.form.in_advance_reason_other
1037
+          data['in_advance_reason'] = this.form.in_advance_reason
1038
+          data['hemostasis_minute'] = this.form.hemostasis_minute ? parseFloat(this.form.hemostasis_minute) : 0
1039
+          data['hemostasis_opera'] = this.form.hemostasis_opera ? parseFloat(this.form.hemostasis_opera) : 0
1040
+          data['tremor_noise'] = this.form.tremor_noise ? parseFloat(this.form.tremor_noise) : 0
1041
+          data['disequilibrium_syndrome'] = this.form.disequilibrium_syndrome ? parseFloat(this.form.disequilibrium_syndrome) : 0
1042
+          data['disequilibrium_syndrome_option'] = this.form.disequilibrium_syndrome_option
1043
+          data['arterial_tube'] = this.form.arterial_tube ? parseFloat(this.form.arterial_tube) : 0
1044
+          data['intravenous_tube'] = this.form.intravenous_tube ? parseFloat(this.form.intravenous_tube) : 0
1045
+          data['dialysis_intakes_unit'] = this.form.dialysis_intakes_unit
1046
+          data['dialyzer'] = this.form.dialyzer ? parseFloat(this.form.dialyzer) : 0
1047
+          data['is_eat'] = this.form.is_eat ? parseFloat(this.form.is_eat) : 0
1048
+          data['cvc_a'] = this.form.cvc_a ? parseFloat(this.form.cvc_a) : 0
1049
+          data['cvc_v'] = this.form.cvc_v ? parseFloat(this.form.cvc_v) : 0
1050
+          data['return_blood'] = this.form.return_blood ? parseFloat(this.form.return_blood) : 0
1051
+          data['rehydration_volume'] = this.form.rehydration_volume ? parseFloat(this.form.rehydration_volume) : 0
1052
+          data['dialysis_during'] = this.form.dialysis_during ? parseFloat(this.form.dialysis_during) : 0
1053
+          data['stroke_volume'] = this.form.stroke_volume ? parseFloat(this.form.stroke_volume) : 0
1054
+          data['blood_flow'] = this.form.blood_flow ? parseFloat(this.form.blood_flow) : 0
1055
+          // data['sealing_fluid_dispose'] = this.form.sealing_fluid_dispose ? parseFloat(this.form.sealing_fluid_dispose) : 0
1056
+          data['sealing_fluid_dispose'] = this.form.sealing_fluid_dispose
1057
+          data['sealing_fluid_special'] = this.form.sealing_fluid_special
1058
+          data['dosage_of_anticoagulants'] = this.form.dosage_of_anticoagulants ? parseFloat(this.form.dosage_of_anticoagulants) : 0
1059
+          data['supine_systolic_blood_pressure'] = this.form.supine_systolic_blood_pressure
1060
+          data['setting_pressure'] = this.form.setting_pressure
1061
+          data["supine_diastolic_blood_pressure"] = this.form.supine_diastolic_blood_pressure
1062
+          data["diastolic_pressure"] = this.form.diastolic_pressure
1063
+          data["additional_weight"] = this.form.additional_weight ? parseFloat(this.form.additional_weight) : 0
1064
+          data["other_complication"] = this.form.other_complication
1065
+          data["ktv"] = this.form.ktv
1066
+          data["urr"] = this.form.urr
1067
+          data["hypertenison"] = parseInt(this.form.hypertenison)
1068
+          data["hypopiesia"] = parseInt(this.form.hypopiesia)
1069
+          data["leave_office_method"] = this.form.leave_office_method
1070
+          data["lapse"] = this.form.lapse
1071
+          data["consciousness"] = this.form.consciousness
1072
+          data["fallrisk"] = this.form.fallrisk
1073
+          data["machine_run"] = this.form.machine_run
1074
+          data["after_urea"] = this.form.after_urea
1075
+          data["pip_coagulation"] = this.form.pip_coagulation
1076
+          data["accumulated_blood_volume"] = this.form.accumulated_blood_volume
1077
+          console.log("Paramsquery",data)
1078
+
1079
+          postAssessmentAfterDislysis(ParamsQuery, data)
1080
+            .then(response => {
1081
+              this.loading = false
1082
+              if (response.data.state == 0) {
1083
+                this.$message.error(response.data.msg)
1084
+                return false
1085
+              } else {
1086
+                this.$notify({
1087
+                  title: '成功',
1088
+                  message: '提交成功',
1089
+                  type: 'success',
1090
+                  duration: 2000
1091
+                })
1092
+
1093
+                var assement = response.data.data.AssessmentAfterDislysis
1094
+
1095
+                var assessment_after_dislysis = this.assessment_after_dislysis
1096
+
1097
+                for (var index in assement) {
1098
+                  // assessment_after_dislysis[index] = assement[index];
1099
+                  this.$set(assessment_after_dislysis, index, assement[index])
1100
+                }
1101
+                this.hide()
1102
+              }
1103
+            })
1104
+            .catch(v => {
1105
+              this.loading = false
1106
+            })
1107
+        }else {
1108
+          console.log("error submit!!");
1109
+          return false;
1110
+        }
1111
+      })
1069 1112
     },
1070 1113
     showDialog: function(val) {
1071 1114
       this.InnerDialogProps.visibility = true
@@ -1268,20 +1311,7 @@ export default {
1268 1311
     hide() {
1269 1312
       this.isVisibility = false
1270 1313
     },
1271
-    isShow(name) {
1272
-      var filedList = store.getters.xt_user.fileds
1273
-
1274
-      for (let i = 0; i < filedList.length; i++) {
1275
-        if (
1276
-          filedList[i].module == 5 &&
1277
-          filedList[i].filed_name_cn == name &&
1278
-          filedList[i].is_show == 1
1279
-        ) {
1280
-          return true
1281
-        }
1282
-      }
1283
-      return false
1284
-    },
1314
+    
1285 1315
     setRecords(records) {
1286 1316
       for (var index in records) {
1287 1317
         this.$set(this.assessment_after_dislysis, index, records[index])

+ 2 - 2
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue Voir le fichier

@@ -340,8 +340,8 @@
340 340
     </el-form>
341 341
     <div slot="footer" class="dialog-footer">
342 342
       <el-button @click="handleCancle">取 消</el-button>
343
-      <!--v-if="hasPermission" -->
344
-      <el-button type="primary"  @click="handleComfirm('receiveTreatmentAsses')"
343
+      <!-- -->
344
+      <el-button type="primary" v-if="hasPermission" @click="handleComfirm('receiveTreatmentAsses')"
345 345
         >保 存</el-button
346 346
       >
347 347
     </div>

+ 38 - 36
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue Voir le fichier

@@ -684,8 +684,8 @@
684 684
       </el-form>
685 685
       <span slot="footer" class="dialog-footer">
686 686
                 <el-button @click="handleCancle">取 消</el-button>
687
-                 <!-- v-if="hasPermission" -->
688
-                <el-button type="primary" @click="handleComfirm('assessmentBeforeDislysis')">保 存</el-button>
687
+                 <!--  -->
688
+                <el-button type="primary" v-if="hasPermission" @click="handleComfirm('assessmentBeforeDislysis')">保 存</el-button>
689 689
             </span>
690 690
     </el-dialog>
691 691
 
@@ -945,41 +945,41 @@
945 945
 
946 946
     },
947 947
     methods: {
948
-    isName(name) {
949
-      let filedList = store.getters.xt_user.fileds;
950
-      for (let i = 0; i < filedList.length; i++) {
951
-        if (filedList[i].module == 3 && filedList[i].filed_name_cn == name) {
952
-          return filedList[i].filed_name;
948
+      isName(name) {
949
+        let filedList = store.getters.xt_user.fileds;
950
+        for (let i = 0; i < filedList.length; i++) {
951
+          if (filedList[i].module == 3 && filedList[i].filed_name_cn == name) {
952
+            return filedList[i].filed_name;
953
+          }
953 954
         }
954
-      }
955
-    },
955
+      },
956 956
 
957
-    isCheckmust(name) {
958
-      let filedList = store.getters.xt_user.fileds;
959
-
960
-      for (let i = 0; i < filedList.length; i++) {
961
-        if (
962
-          filedList[i].module == 3 &&
963
-          filedList[i].filed_name_cn == name &&
964
-          filedList[i].is_write == 1&&
965
-          filedList[i].is_show == 1
966
-        ) {
967
-          console.log(filedList[i],'false')
968
-          if (name == "血管通路"||name == "导管打折"||name == '出血'||name == '血栓'||name == '围手术期'||name=='血管杂音'||name=='急诊'||name=='中心静脉导置管') {
969
-          return [
970
-            { required: true, message: `请输入${name}` },
971
-            {
972
-              required: true,
973
-              pattern: /^[1-9]\d*$/,
974
-              message: `请输入${name}`,
975
-            },
976
-          ];
977
-        }
978
-          return [{ required: true ,message:`请输入${name}`, trigger: ['blur','change'] }];
979
-          
957
+      isCheckmust(name) {
958
+        let filedList = store.getters.xt_user.fileds;
959
+
960
+        for (let i = 0; i < filedList.length; i++) {
961
+          if (
962
+            filedList[i].module == 3 &&
963
+            filedList[i].filed_name_cn == name &&
964
+            filedList[i].is_write == 1&&
965
+            filedList[i].is_show == 1
966
+          ) {
967
+            console.log(filedList[i],'false')
968
+            if (name == "血管通路"||name == "导管打折"||name == '出血'||name == '血栓'||name == '围手术期'||name=='血管杂音'||name=='急诊'||name=='中心静脉导置管') {
969
+            return [
970
+              { required: true, message: `请输入${name}` },
971
+              {
972
+                required: true,
973
+                pattern: /^[1-9]\d*$/,
974
+                message: `请输入${name}`,
975
+              },
976
+            ];
977
+          }
978
+            return [{ required: true ,message:`请输入${name}`, trigger: ['blur','change'] }];
979
+            
980
+          }
980 981
         }
981
-      }
982
-    },
982
+      },
983 983
       
984 984
       setLastRecord(lastPredialysisEvaluation, lastDryWeightDislysis) {
985 985
         this.lastPredialysisEvaluation = lastPredialysisEvaluation
@@ -1466,9 +1466,11 @@
1466 1466
         
1467 1467
         
1468 1468
         
1469
-      }, handleCancle: function() {
1469
+      },
1470
+       handleCancle: function() {
1470 1471
         this.isVisibility = false
1471
-      }, showDryWeightDialog: function() {
1472
+      }, 
1473
+      showDryWeightDialog: function() {
1472 1474
         if (this.$store.getters.xt_user.user.user_type == 3) {
1473 1475
           this.$message.error('您没有权限调整干体重')
1474 1476
           return

+ 7 - 5
src/xt_pages/dialysis/details/dialog/computer_dialog.vue Voir le fichier

@@ -20,7 +20,7 @@
20 20
           label="班次"
21 21
           v-if="isShowFiled('班次')"
22 22
           :prop="isName('班次')"
23
-         
23
+          :rules="isCheckmust('班次')"
24 24
         >
25 25
           <el-select
26 26
             v-model="form.schedual_type"
@@ -70,7 +70,7 @@
70 70
           label="穿刺者"
71 71
           v-if="isShowFiled('穿刺者')"
72 72
           prop="puncture_nurse_id"
73
-         
73
+          :rules="isCheckmust('穿刺者')"
74 74
         >
75 75
           <el-select
76 76
             v-model="form.puncture_nurse_id"
@@ -91,6 +91,7 @@
91 91
           prop="quality_nurse_id"
92 92
           :rules="isCheckmust('质控护士')"
93 93
         >
94
+        <!--  -->
94 95
           <el-select
95 96
             v-model="form.quality_nurse_id"
96 97
             placeholder="请选择质控护士"
@@ -642,9 +643,7 @@ export default {
642 643
           filedList[i].is_show == 1&&
643 644
           filedList[i].is_write == 1
644 645
         ) {
645
-          return [{ required: true, message: `请输入${name}` }];
646
-        } 
647
-                if (
646
+          if (
648 647
           name == "穿刺者" ||
649 648
           name == "质控护士" ||
650 649
           name == "换药护士" ||
@@ -656,6 +655,9 @@ export default {
656 655
             { required: true, pattern: /^[1-9]\d*$/, message: `请输入${name}`,trigger: ['blur','change'] },
657 656
           ];
658 657
         }
658
+          return [{ required: true, message: `请输入${name}` }];
659
+        } 
660
+                
659 661
 
660 662
       }
661 663
     },

Fichier diff supprimé car celui-ci est trop grand
+ 974 - 832
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue


+ 1 - 2
src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue Voir le fichier

@@ -149,8 +149,7 @@
149 149
         type="primary"
150 150
         @click="handleComfirm('treatmentSummary')"
151 151
         v-if="hasPermission"
152
-        >保 存</el-button
153
-      >
152
+        >保 存</el-button> <!--  -->
154 153
     </div>
155 154
   </el-dialog>
156 155
 </template>

+ 179 - 128
src/xt_pages/dialysis/details/index.vue Voir le fichier

@@ -54,7 +54,11 @@
54 54
         <!-- 候诊区 -->
55 55
         <el-tab-pane label="候诊区" name="first">
56 56
           <div class="cell clearfix" style="margin-bottom:10px;">
57
-            <el-date-picker v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 45%;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
57
+            <el-date-picker v-model="selected_date" 
58
+              prefix-icon="el-icon-date" @change="handleScheduleDateChange"
59
+             :editable="false" :clearable="false"
60
+              style="width: 45%;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" >
61
+            </el-date-picker>
58 62
             <el-input size="small" style="width:25%;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
59 63
             <el-button size="small" class="filter-item" type="primary" style="margin-right:20px;" @click="searchAction">搜索</el-button>
60 64
           </div>
@@ -239,147 +243,194 @@
239 243
         <div class="print_main_content">
240 244
           <div class="table_panel">
241 245
              <div v-for="(main_collection,index) in printList" :key="index">
242
-              <div class="signPrint" style="width: 360px;font-size:16px;">
243
-                <div style="margin-left:50px;">姓名:
244
-                  <span>{{main_collection.patient.name}} </span>
245
-                  ({{ main_collection.patient.dialysis_no }},{{getNewAge(main_collection.patient.id_card_no)  }}岁)
246
-                </div>
247
-                <div class="printCell" style="display:flex;justify-content: space-around;">
248
-                  <span style="display: block;width: 50%;">
249
-                    床号:{{ main_collection.number.number }}
250
-                    <span style="width:auto;" v-if="main_collection.schedule_type == 1">上午</span>
251
-                    <span style="width:auto;" v-if="main_collection.schedule_type == 2">下午</span>
252
-                    <span style="width:auto;" v-if="main_collection.schedule_type == 3">晚上</span>
253
-                  </span>
254
-                  <span style="display: block;width: 50%;">{{ printDate }}</span>
255
-                </div>
256
-                <div class="printCell" style="display:flex;justify-content: space-around;">
257
-                   <span style="display: block;width: 50%;">干体重:{{main_collection.assessmentbefor.dry_weight}}Kg</span>
258
-                    <span style="display: block;width: 50%;">抗凝剂:{{ main_collection.dialysissolution.anticoagulant ? anticoagulants_confit[main_collection.dialysissolution.anticoagulant].name : ''}}</span>
246
+                <div class="signPrint" style="width: 360px;font-size:16px;">
247
+                  <div style="margin-left:50px;">姓名:
248
+                    <span>{{main_collection.patient.name}} </span>
249
+                    ({{ main_collection.patient.dialysis_no }},{{getNewAge(main_collection.patient.id_card_no)  }}岁)
250
+                  </div>
251
+                  <div class="printCell" style="display:flex;justify-content: space-around;">
252
+                    <span style="display: block;width: 50%;">
253
+                      床号:{{ main_collection.number.number }}
254
+                      <span style="width:auto;" v-if="main_collection.schedule_type == 1">上午</span>
255
+                      <span style="width:auto;" v-if="main_collection.schedule_type == 2">下午</span>
256
+                      <span style="width:auto;" v-if="main_collection.schedule_type == 3">晚上</span>
257
+                    </span>
258
+                    <span style="display: block;width: 50%;">{{ printDate }}</span>
259
+                  </div>
260
+                  <div class="printCell" style="display:flex;justify-content: space-around;">
261
+                    <span style="display: block;width: 50%;">干体重:{{main_collection.assessmentbefor.dry_weight}}Kg</span>
262
+                      <span style="display: block;width: 50%;">抗凝剂:{{ main_collection.dialysissolution.anticoagulant ? anticoagulants_confit[main_collection.dialysissolution.anticoagulant].name : ''}}</span>
259 263
 
260
-                </div>
261
-                <div class="printCell" style="display:flex;justify-content: space-around;">
262
-                  <span style="display: block;width: 50%;">净重值:{{ main_collection.assessmentbefor.weight_before - main_collection.assessmentbefor.additional_weight }}Kg</span>
263
-                  
264
-                  <span style="display: block;width: 50%;">
265
-                    首剂: <span v-if="main_collection.dialysissolution.anticoagulant == 1">{{main_collection.dialysissolution.anticoagulant_shouji}} mg</span>
266
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 2">
264
+                  </div>
265
+                  <div class="printCell" style="display:flex;justify-content: space-around;">
266
+                    <span style="display: block;width: 50%;">净重值:{{ main_collection.assessmentbefor.weight_before - main_collection.assessmentbefor.additional_weight }}Kg</span>
267
+                    
268
+                    <span style="display: block;width: 50%;">
269
+                      首剂: <span v-if="main_collection.dialysissolution.anticoagulant == 1">{{main_collection.dialysissolution.anticoagulant_shouji}} mg</span>
270
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 2">
271
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}mg
272
+                    </span>
273
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 3">
274
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
275
+                    </span>
276
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 4">
267 277
                     {{main_collection.dialysissolution.anticoagulant_shouji}}mg
268
-                  </span>
269
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 3">
270
-                    {{main_collection.dialysissolution.anticoagulant_shouji}}iu
271
-                  </span>
272
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 4">
273
-                   {{main_collection.dialysissolution.anticoagulant_shouji}}mg
274
-                  </span>
275
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 5">
276
-                   {{main_collection.dialysissolution.anticoagulant_shouji}} mg
277
-                   </span>
278
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 6">
279
-                   {{main_collection.dialysissolution.anticoagulant_shouji}}iu
280
-                  </span>
281
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 7">
282
-                    {{main_collection.dialysissolution.anticoagulant_shouji}}iu
283
-                   </span>
284
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 8">
285
-                    {{main_collection.dialysissolution.anticoagulant_shouji}}iu
286
-                  </span>
287
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 9">
288
-                    {{main_collection.dialysissolution.anticoagulant_shouji}}iu
289
-                  </span>
290
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 10">
291
-                     {{main_collection.dialysissolution.anticoagulant_shouji}}iu
292 278
                     </span>
293
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 11">
279
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 5">
280
+                    {{main_collection.dialysissolution.anticoagulant_shouji}} mg
281
+                    </span>
282
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 6">
294 283
                     {{main_collection.dialysissolution.anticoagulant_shouji}}iu
295
-                   </span>
296
-                    </span> 
297
-                 
298
-                </div>
299
-                <div class="printCell" style="display:flex;justify-content: space-around;">
300
-                  <span style="display: block;width: 50%;">体重增加:{{ (main_collection.assessmentbefor.weight_before - assessmentAfterDislysis.weight_after).toFixed(2) }}Kg</span>
301
-                 <span style="display: block;width: 50%;">
302
-                     维持:{{main_collection.dialysissolution.anticoagulant_weichi}}
303
-                   <span v-if="main_collection.dialysissolution.anticoagulant == 1">
304
-                    mg/h
305
-                  </span>
306
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 2">
307
-                    mg/h
308
-                  </span>
309
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 3">
310
-                   iu/h
311
-                  </span>
312
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 4">
313
-                    mg/h
314
-                  </span>
315
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 5">
316
-                    mg/h
317
-                   </span>
318
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 6">
319
-                   iu/h
320
-                  </span>
321
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 7">
322
-                   iu/h
323
-                   </span>
324
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 8">
325
-                    iu/h
326
-                  </span>
327
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 9">
284
+                    </span>
285
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 7">
286
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
287
+                    </span>
288
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 8">
289
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
290
+                    </span>
291
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 9">
292
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
293
+                    </span>
294
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 10">
295
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
296
+                      </span>
297
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 11">
298
+                      {{main_collection.dialysissolution.anticoagulant_shouji}}iu
299
+                    </span>
300
+                      </span> 
301
+                  
302
+                  </div>
303
+                  <div class="printCell" style="display:flex;justify-content: space-around;">
304
+                    <span style="display: block;width: 50%;">体重增加:{{ (main_collection.assessmentbefor.weight_before - assessmentAfterDislysis.weight_after).toFixed(2) }}Kg</span>
305
+                  <span style="display: block;width: 50%;">
306
+                      维持:{{main_collection.dialysissolution.anticoagulant_weichi}}
307
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 1">
308
+                      mg/h
309
+                    </span>
310
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 2">
311
+                      mg/h
312
+                    </span>
313
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 3">
328 314
                     iu/h
329
-                  </span>
330
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 10">
315
+                    </span>
316
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 4">
317
+                      mg/h
318
+                    </span>
319
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 5">
320
+                      mg/h
321
+                    </span>
322
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 6">
331 323
                     iu/h
332 324
                     </span>
333
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 11">
325
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 7">
334 326
                     iu/h
335
-                   </span>
336
-                  </span>
337
-                
338
-                </div>
339
-                <div class="printCell" style="display:flex;justify-content: space-around;">
340
-                  <span style="display: block;width: 50%;">处方脱水量:{{ main_collection.prescription.target_ultrafiltration }}
341
-                    <span v-if="$store.getters.xt_user.org.id == 10278 || $store.getters.xt_user.org.id == 10138">ml</span> 
342
-                    <span v-else>L</span>
343
-                  </span>
344
-                  <span style="display: block;width: 50%;">
345
-                    总量:{{main_collection.dialysissolution.anticoagulant_zongliang}}
346
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 1">
347
-                    mg
348
-                  </span>
349
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 2">
327
+                    </span>
328
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 8">
329
+                      iu/h
330
+                    </span>
331
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 9">
332
+                      iu/h
333
+                    </span>
334
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 10">
335
+                      iu/h
336
+                      </span>
337
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 11">
338
+                      iu/h
339
+                    </span>
340
+                    </span>
341
+                  
342
+                  </div>
343
+                  <div class="printCell" style="display:flex;justify-content: space-around;">
344
+                    <span style="display: block;width: 50%;">处方脱水量:{{ main_collection.prescription.target_ultrafiltration }}
345
+                      <span v-if="$store.getters.xt_user.org.id == 10278 || $store.getters.xt_user.org.id == 10138">ml</span> 
346
+                      <span v-else>L</span>
347
+                    </span>
348
+                    <span style="display: block;width: 50%;">
349
+                      总量:{{main_collection.dialysissolution.anticoagulant_zongliang}}
350
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 1">
351
+                      mg
352
+                    </span>
353
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 2">
354
+                      mg
355
+                    </span>
356
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 3">
357
+                      iu
358
+                    </span>
359
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 4">
350 360
                     mg
351
-                  </span>
352
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 3">
361
+                    </span>
362
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 5">
363
+                      mg
364
+                    </span>
365
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 6">
353 366
                     iu
354
-                  </span>
355
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 4">
356
-                   mg
357
-                  </span>
358
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 5">
359
-                    mg
360
-                   </span>
361
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 6">
362
-                   iu
363
-                  </span>
364
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 7">
367
+                    </span>
368
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 7">
369
+                      iu
370
+                    </span>
371
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 8">
372
+                      iu
373
+                    </span>
374
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 9">
365 375
                     iu
366
-                   </span>
367
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 8">
368
-                     iu
369
-                  </span>
370
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 9">
371
-                   iu
372
-                  </span>
373
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 10">
376
+                    </span>
377
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 10">
378
+                      iu
379
+                      </span>
380
+                    <span v-if="main_collection.dialysissolution.anticoagulant == 11">
374 381
                     iu
375 382
                     </span>
376
-                  <span v-if="main_collection.dialysissolution.anticoagulant == 11">
377
-                   iu
378
-                   </span>
379
-                  </span>
383
+                    </span>
384
+                  </div>
380 385
                 </div>
381
-              </div>
382
-            </div>
386
+             </div>
387
+
388
+             <!-- <div v-for="(main_collection,index) in printList" :key="index" style="width: 80%;">
389
+                <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; text-align: center; margin: auto;">
390
+                
391
+                  <tr style="height: 20px;">
392
+                    <td>{{ printDate }}</td>
393
+                    <td>机号:{{ main_collection.number.number }}</td>
394
+                  </tr>
395
+                  <tr style="height: 20px;">
396
+                    <td>姓名</td>
397
+                    <td>{{main_collection.patient.name}}</td>
398
+                  </tr>
399
+                  <tr style="height: 20px;">
400
+                    <td>治疗方式</td>
401
+                    <td></td>
402
+                  </tr>
403
+                  <tr style="height: 20px;">
404
+                    <td>透析时间</td>
405
+                    <td>{{ printDate }}</td>
406
+                  </tr>
407
+                  <tr style="height: 20px;">
408
+                    <td>透前体重</td>
409
+                    <td></td>
410
+                  </tr>
411
+                  <tr style="height: 20px;">
412
+                    <td>干体重</td>
413
+                    <td>{{main_collection.assessmentbefor.dry_weight}}Kg</td>
414
+                  </tr>
415
+                  <tr style="height: 20px;">
416
+                    <td>超滤量</td>
417
+                    <td></td>
418
+                  </tr>
419
+                  <tr style="height: 20px;">
420
+                    <td>透前血压</td>
421
+                    <td>-</td>
422
+                  </tr>
423
+                  <tr style="height: 20px;">
424
+                    <td></td>
425
+                    <td></td>
426
+                  </tr>
427
+                  <tr style="height: 20px;">
428
+                    <td></td>
429
+                    <td></td>
430
+                  </tr>
431
+                </table>
432
+             </div> -->
433
+
383 434
           </div>
384 435
         </div>
385 436
       </div>

+ 5 - 0
src/xt_pages/management/home.vue Voir le fichier

@@ -5465,6 +5465,11 @@ export default {
5465 5465
         left:103px ;
5466 5466
       }
5467 5467
     }
5468
+    .el-tab-pane{
5469
+      .el-form-item__error{
5470
+        left:103px;
5471
+      }
5472
+    }
5468 5473
     
5469 5474
    .a{
5470 5475
      margin-bottom: 10px;

+ 0 - 3
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Voir le fichier

@@ -26,15 +26,12 @@
26 26
 
27 27
         <div class="mainCell" style="margin-top:10px;">
28 28
           <el-radio-group v-model="radio" @change="changeRadio">
29
-
30 29
             <el-radio :label=1>未收费<span
31 30
                 style="color: red;margin-bottom:10px;display: inline-block;">{{ cal_one }}</span>人
32 31
             </el-radio>
33 32
             <el-radio :label=2>已收费<span
34 33
                 style="color: red;margin-bottom:10px;display: inline-block;">{{ cal_two }}</span>人
35 34
             </el-radio>
36
-
37
-
38 35
           </el-radio-group>
39 36
         </div>
40 37
         <div class="mainCell" style="margin-bottom:10px;">

+ 70 - 40
src/xt_pages/outpatientCharges/summary.vue Voir le fichier

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

+ 1 - 1
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Voir le fichier

@@ -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',

Fichier diff supprimé car celui-ci est trop grand
+ 2016 - 2016
src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue


+ 3 - 4
src/xt_pages/outpatientDoctorStation/template/printOne.vue Voir le fichier

@@ -154,7 +154,7 @@
154 154
           </p>
155 155
           <p>日期:{{ getTime(item.ctime) ? getTime(item.ctime) : "" }}</p>
156 156
         </div>
157
-        
157
+
158 158
         <div class="doctorBoxs" style="border-bottom: 2px solid #000;" v-if="org_id == 10188 || org_id == 0">
159 159
           <p>医师:{{ item.doctor ? item.doctor : "" }}</p>
160 160
         </div>
@@ -210,7 +210,7 @@ import {
210 210
   getHisPatientDetail,
211 211
 } from "@/api/project/project";
212 212
 import { getInitData } from "@/api/his/his";
213
-export default {
213
+export default{
214 214
   props: {
215 215
     patient_id: Number,
216 216
     record_date: String,
@@ -528,7 +528,6 @@ export default {
528 528
 .doctorBox {
529 529
   display: flex;
530 530
   justify-content: space-between;
531
-  // justify-self: end;
532 531
   padding: 0 10px;
533 532
   line-height: 24px;
534 533
   border-bottom: 2px solid #000;
@@ -539,7 +538,7 @@ export default {
539 538
   text-align: right;
540 539
   padding: 0 10px;
541 540
   line-height: 24px;
542
-  
541
+
543 542
 }
544 543
 .doctorBoxtwo {
545 544
   display: flex;

+ 9 - 13
src/xt_pages/outpatientTool/components/detail.vue Voir le fichier

@@ -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
 

Fichier diff supprimé car celui-ci est trop grand
+ 2525 - 529
src/xt_pages/user/Physicalexamination.vue


+ 91 - 25
src/xt_pages/user/components/PatientSidebar.vue Voir le fichier

@@ -98,58 +98,112 @@ export default {
98 98
               name:'1-7',
99 99
               label:'血管通路'
100 100
             },
101
+            // {
102
+            //   name: '1-2',
103
+            //   label: '病程管理'
104
+            // },
105
+            // {
106
+            //   name: '1-9',
107
+            //   label: '阶段小结'
108
+            // },
109
+            // {
110
+            //   name: '1-10',
111
+            //   label: '出院小结'
112
+            // },
113
+            // {
114
+            //   name: '1-3',
115
+            //   label: '检验检查'
116
+            // },
117
+            // {
118
+            //   name:'1-8',
119
+            //   label:'传染病管理'
120
+            // },
121
+            // {
122
+            //   name: '1-5',
123
+            //   label: '抢救记录'
124
+            // },
125
+            // {
126
+            //   name: '1-11',
127
+            //   label: '首次病程记录'
128
+            // }
129
+          ]
130
+        },
131
+        {
132
+          name: '2',
133
+          label: '透析管理',
134
+          children: [
101 135
             {
102
-              name: '1-2',
103
-              label: '病程管理'
136
+              name: '2-1',
137
+              label: '长期透析处方'
104 138
             },
105 139
             {
106
-              name: '1-9',
107
-              label: '阶段小结'
140
+              name: '2-2',
141
+              label: '透析记录'
108 142
             },
109 143
             {
110
-              name: '1-10',
111
-              label: '出院小结'
144
+              name: '2-4',
145
+              label: '排班信息'
112 146
             },
113 147
             {
114
-              name: '1-3',
115
-              label: '检验检查'
116
-            },
148
+              name: '2-5',
149
+              label: '宣教信息'
150
+            }
151
+          ]
152
+        },
153
+        {
154
+          name: '3',
155
+          label: '病情记录',
156
+          children: [
117 157
             {
118
-              name:'1-8',
119
-              label:'传染病管理'
158
+              name: '3-1',
159
+              label: '病史'
120 160
             },
121 161
             {
122
-              name: '1-5',
123
-              label: '抢救记录'
162
+              name: '3-2',
163
+              label: '体格检查'
124 164
             },
125 165
             {
126 166
               name: '1-11',
127 167
               label: '首次病程记录'
168
+            },
169
+            {
170
+              name: '1-2',
171
+              label: '病程记录'
172
+            }, {
173
+              name: '1-5',
174
+              label: '抢救记录'
175
+            }, {
176
+              name: '1-9',
177
+              label: '阶段小结'
178
+            }, {
179
+              name: '1-10',
180
+              label: '出院小结'
128 181
             }
129 182
           ]
130 183
         },
131 184
         {
132
-          name: '2',
133
-          label: '透析管理',
185
+          name: '4',
186
+          label: '检验检查',
134 187
           children: [
135 188
             {
136
-              name: '2-1',
137
-              label: '长期透析处方'
189
+              name: '1-3',
190
+              label: '肾科检验'
138 191
             },
139 192
             {
140
-              name: '2-2',
141
-              label: '透析记录'
193
+              name: '4-1',
194
+              label: '肾科检查'
142 195
             },
143 196
             {
144
-              name: '2-4',
145
-              label: '排班信息'
197
+              name: '4-3',
198
+              label: 'KT/V'
146 199
             },
147 200
             {
148
-              name: '2-5',
149
-              label: '宣教信息'
150
-            }
201
+              name: '1-8',
202
+              label: '传染病管理'
203
+            },
151 204
           ]
152
-        }
205
+        },
206
+
153 207
       ],
154 208
       name:""
155 209
     }
@@ -201,6 +255,16 @@ export default {
201 255
         this.$router.push({path:'/patient/patient/'+this.id+'/hospitalSummary'})
202 256
       }else if(name == '1-11'){
203 257
         this.$router.push({path:'/patient/patient/'+this.id+'/firstDisease'})
258
+      }else if(name == '3-1'){
259
+        this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
260
+
261
+      } else if(name == '3-2'){
262
+        this.$router.push({path:'/patients/physicalexamination?id='+this.id})
263
+
264
+      }else if(name == '4-1'){
265
+        this.$router.push({path:'/patients/inspection_check?id='+this.id})
266
+      }else if(name == '4-3'){
267
+        this.$router.push({path:'/patients/ktv?id='+this.id})
204 268
       }
205 269
     },
206 270
     changePatient(value) {
@@ -349,6 +413,8 @@ export default {
349 413
         this.$router.push({
350 414
           path: '/patients/patient/' + this.id + '/proeducation'
351 415
         })
416
+      }else if (patientKey == '3-1') {
417
+        this.$router.push({ path: '/patients/sickhistory?id=' + this.id })
352 418
       }
353 419
 
354 420
      }else{

+ 4 - 3
src/xt_pages/user/courseOfDisease.vue Voir le fichier

@@ -72,8 +72,8 @@
72 72
             <el-col :span="15">
73 73
               <div class="record_content_panel">
74 74
                 <div style="background-color:rgb(245, 247, 250)" class="title">病程内容</div>
75
-                
76
-                <div class="content">
75
+
76
+                <div class="content" style='word-break: break-all;word-wrap: break-word'>
77 77
                   <span v-if="current_select_record" v-html="current_select_record.content"></span>
78 78
                   <span v-else></span>
79 79
                 </div>
@@ -776,6 +776,7 @@
776 776
 <script>
777 777
   import PatientSidebar from './components/PatientSidebar'
778 778
   import Editor from '@/components/Editor'
779
+  const moment = require('moment')
779 780
 
780 781
   import {
781 782
     createCourseOfDiseaseRecord,
@@ -802,7 +803,7 @@
802 803
         date: [],
803 804
         start_time: '',
804 805
         end_time: '',
805
-        course_of_disease_time: '',
806
+        course_of_disease_time: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
806 807
         records: [],
807 808
         doctors: [],
808 809
         current_select_record: null,

+ 81 - 71
src/xt_pages/user/firstDisease.vue Voir le fichier

@@ -16,7 +16,7 @@
16 16
                       <el-button size="small"  type="danger" @click="deleteAction">删除</el-button>
17 17
                     </span>
18 18
         </div>
19
-      
19
+
20 20
         <div class="cell clearfix">
21 21
           <label class="title"><span class="name">日期查询</span> : </label>
22 22
           <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
@@ -59,23 +59,29 @@
59 59
             </el-col>
60 60
             <el-col :span="14">
61 61
               <div class="record_content_panel">
62
-                <div style="background-color:rgb(245, 247, 250)" class="title">出院小结内容</div>
63
-                <div style="padding:10px;border-bottom:1px solid #DCDFE6;">标题:
62
+                <div style="background-color:rgb(245, 247, 250)" class="title">首次病程内容</div>
63
+                <div style="padding:10px;border-bottom:1px solid #DCDFE6;word-break: break-all;word-wrap: break-word">标题:
64 64
                    {{hosDetail.title}}
65 65
                 </div>
66
-            
67
-                
68
-                <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">记录医师:
66
+
67
+
68
+                <div
69
+                style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
70
+                word-break: break-all;word-wrap: break-word">
71
+                记录医师:
69 72
                    {{getDoctor(hosDetail.doctor)}}
70 73
                 </div>
71
-                
72
-                 
73
-                
74
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">主诉内容:
75
-                   <span v-html="hosDetail.main_content"></span> 
74
+
75
+
76
+
77
+                 <div style="padding:10px;
78
+                 border-bottom:1px solid #DCDFE6;line-height:20px;
79
+                 word-break: break-all;word-wrap: break-word">主诉内容:
80
+                   <span v-html="hosDetail.main_content"></span>
76 81
                  </div>
77
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">病例特点:
78
-                   <span v-html="hosDetail.patient_case"></span> 
82
+                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
83
+                 word-break: break-all;word-wrap: break-word">病例特点:
84
+                   <span v-html="hosDetail.patient_case"></span>
79 85
                    <div>
80 86
                     <div v-for="item in hosDetail.template_inspection_content">
81 87
                     <p style="font-weight: bold;margin: 10px 0;">{{ item.project_name }} 检查日期:{{getTime(item.arr[0].inspect_date)}}</p>
@@ -94,27 +100,31 @@
94 100
                   </div>
95 101
                   </div>
96 102
                  </div>
97
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">初步诊断:
103
+                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
104
+                 word-break: break-all;word-wrap: break-word">初步诊断:
98 105
                     <span v-html="hosDetail.tentative_diagnosis"></span>
99 106
                  </div>
100
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">诊断依据:
107
+                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
108
+                 word-break: break-all;word-wrap: break-word">诊断依据:
101 109
                     <span v-html="hosDetail.diagnostic_basis"></span>
102 110
                  </div>
103
-                   <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">鉴别诊断:
111
+                   <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
112
+                   word-break: break-all;word-wrap: break-word">鉴别诊断:
104 113
                     <span v-html="hosDetail.differential_diagnosis"></span>
105 114
                  </div>
106
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">诊疗计划:
115
+                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
116
+                 word-break: break-all;word-wrap: break-word">诊疗计划:
107 117
                     <span v-html="hosDetail.treatment_plan"></span>
108 118
                  </div>
109
-               
119
+
110 120
               </div>
111 121
             </el-col>
112 122
           </el-row>
113 123
         </div>
114 124
       </div>
115 125
 
116
-  
117
-     
126
+
127
+
118 128
       <el-dialog title="新增首次病程记录" width="60%" top="5vh" :visible.sync="show_dialog">
119 129
         <div>
120 130
           <div class="new_record_form">
@@ -131,25 +141,25 @@
131 141
                   :value="item.admin_user_id">
132 142
                   </el-option>
133 143
               </el-select>
134
-            
144
+
135 145
               <label class="title"><span class="name">记录日期</span> : </label>
136 146
               <el-date-picker v-model="form.record_date"
137
-                    prefix-icon="el-icon-date" 
147
+                    prefix-icon="el-icon-date"
138 148
                     style="width: 200px;"
139 149
                     type="datetime" placeholder="选择日期时间" align="right" format="yyyy-MM-dd HH:mm"
140 150
                     value-format="yyyy-MM-dd HH:mm">
141
-              </el-date-picker>   
151
+              </el-date-picker>
142 152
             </div>
143
-           
144
-        
145
-      
153
+
154
+
155
+
146 156
             <div class="cell clearfix" style="margin-top:10px">
147 157
               <label class="title"><span class="name">主诉内容</span> : </label>
148 158
                 <el-select v-model="form.main_content_id" placeholder="可选择病程模板" @change="changeMainContent">
149 159
                   <el-option v-for="(option, index) in mainContentList" :key="index" :label="option.title"
150 160
                             :value="option.content"></el-option>
151 161
                 </el-select>
152
-                
162
+
153 163
                  <div class="textarea_panel">
154 164
                     <keep-alive>
155 165
                       <editor ref="editor"
@@ -167,7 +177,7 @@
167 177
                 </el-select>
168 178
 
169 179
                 <el-button type="primary" @click="toInspection">选择检验检查</el-button>
170
-               
180
+
171 181
                  <div class="textarea_panel">
172 182
                     <keep-alive>
173 183
                       <editor ref="editorOne"
@@ -201,7 +211,7 @@
201 211
                   <el-option v-for="(option, index) in tentativeDiagnosisList" :key="index" :label="option.title"
202 212
                             :value="option.content"></el-option>
203 213
                 </el-select>
204
-                
214
+
205 215
                  <div class="textarea_panel">
206 216
                     <keep-alive>
207 217
                       <editor ref="editorTwo"
@@ -217,7 +227,7 @@
217 227
                   <el-option v-for="(option, index) in diagnosticBasisList" :key="index" :label="option.title"
218 228
                             :value="option.content"></el-option>
219 229
                 </el-select>
220
-                
230
+
221 231
                  <div class="textarea_panel">
222 232
                     <keep-alive>
223 233
                       <editor ref="editorThree"
@@ -233,7 +243,7 @@
233 243
                   <el-option v-for="(option, index) in differentialDiagnosisList" :key="index" :label="option.title"
234 244
                             :value="option.content"></el-option>
235 245
                 </el-select>
236
-                
246
+
237 247
                  <div class="textarea_panel">
238 248
                     <keep-alive>
239 249
                       <editor ref="editorFour"
@@ -249,7 +259,7 @@
249 259
                   <el-option v-for="(option, index) in treateMentList" :key="index" :label="option.title"
250 260
                             :value="option.content"></el-option>
251 261
                 </el-select>
252
-                
262
+
253 263
                  <div class="textarea_panel">
254 264
                     <keep-alive>
255 265
                       <editor ref="editorFive"
@@ -261,7 +271,7 @@
261 271
                 </div>
262 272
             </div>
263 273
 
264
-    
274
+
265 275
             <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
266 276
               <el-button @click="show_dialog = false">取消</el-button>
267 277
               <el-button type="primary"
@@ -271,7 +281,7 @@
271 281
           </div>
272 282
         </div>
273 283
       </el-dialog>
274
-      
284
+
275 285
       <el-dialog title="编辑首次病程记录" width="60%" top="5vh" :visible.sync="edit_show_dialog">
276 286
         <div>
277 287
           <div class="new_record_form">
@@ -288,16 +298,16 @@
288 298
                   :value="item.admin_user_id">
289 299
                   </el-option>
290 300
               </el-select>
291
-            
301
+
292 302
               <label class="title"><span class="name">记录日期</span> : </label>
293 303
               <el-date-picker v-model="form.record_date"
294
-                    prefix-icon="el-icon-date" 
304
+                    prefix-icon="el-icon-date"
295 305
                     style="width: 200px;"
296 306
                     type="datetime" placeholder="选择日期时间" align="right" format="yyyy-MM-dd HH:mm"
297 307
                     value-format="yyyy-MM-dd HH:mm">
298
-              </el-date-picker>   
308
+              </el-date-picker>
309
+
299 310
 
300
-              
301 311
             </div>
302 312
 
303 313
              <div class="cell clearfix" style="margin-top:10px">
@@ -306,7 +316,7 @@
306 316
                   <el-option v-for="(option, index) in mainContentList" :key="index" :label="option.title"
307 317
                             :value="option.content"></el-option>
308 318
                 </el-select>
309
-                
319
+
310 320
                  <div class="textarea_panel">
311 321
                     <keep-alive>
312 322
                       <editor ref="editorTen"
@@ -356,7 +366,7 @@
356 366
                   <el-option v-for="(option, index) in tentativeDiagnosisList" :key="index" :label="option.title"
357 367
                             :value="option.content"></el-option>
358 368
                 </el-select>
359
-                
369
+
360 370
                  <div class="textarea_panel">
361 371
                     <keep-alive>
362 372
                       <editor ref="editorTenTwo"
@@ -372,7 +382,7 @@
372 382
                   <el-option v-for="(option, index) in diagnosticBasisList" :key="index" :label="option.title"
373 383
                             :value="option.content"></el-option>
374 384
                 </el-select>
375
-                
385
+
376 386
                  <div class="textarea_panel">
377 387
                     <keep-alive>
378 388
                       <editor ref="editorTenThree"
@@ -388,7 +398,7 @@
388 398
                   <el-option v-for="(option, index) in differentialDiagnosisList" :key="index" :label="option.title"
389 399
                             :value="option.content"></el-option>
390 400
                 </el-select>
391
-                
401
+
392 402
                  <div class="textarea_panel">
393 403
                     <keep-alive>
394 404
                       <editor ref="editorTenFour"
@@ -404,7 +414,7 @@
404 414
                   <el-option v-for="(option, index) in treateMentList" :key="index" :label="option.title"
405 415
                             :value="option.content"></el-option>
406 416
                 </el-select>
407
-                
417
+
408 418
                  <div class="textarea_panel">
409 419
                     <keep-alive>
410 420
                       <editor ref="editorTenFive"
@@ -467,7 +477,7 @@
467 477
                       value-format="yyyy-MM">
468 478
                     </el-date-picker>
469 479
                  </el-form-item>
470
-              
480
+
471 481
                 </div>
472 482
               </el-form-item>
473 483
             </el-row>
@@ -487,7 +497,7 @@
487 497
                         @current-change="changeCurrentRecord"
488 498
                         @selection-change="selectionChangeOne"
489 499
                         :row-class-name="tableRow"
490
-                       
500
+
491 501
                       >
492 502
                         <el-table-column type="selection" width="60" align="center"></el-table-column>
493 503
                         <el-table-column label="检验项目" align="center">
@@ -504,7 +514,7 @@
504 514
                           color: '#606266'
505 515
                         }"
506 516
                         :row-style="{ color: '#303133' }" :data="tableData"
507
-                                border highlight-current-row 
517
+                                border highlight-current-row
508 518
                                 :row-class-name="tableRow"
509 519
 
510 520
                       >
@@ -667,10 +677,10 @@
667 677
       }
668 678
     },
669 679
     created() {
670
-     
680
+
671 681
       this.patient_id = this.$route.params && this.$route.params.id
672
-     
673
-     
682
+
683
+
674 684
       var now = new Date()
675 685
       this.date = [now.getTime() - (7 * 24 * 60 * 60 * 1000), now.getTime()]
676 686
 
@@ -696,7 +706,7 @@
696 706
         '-' +
697 707
         (nowDay < 10 ? '0' + nowDay : nowDay)
698 708
       this.other_start_time = nowYear +'-' +(nowMonth < 10 ? '0' + nowMonth : nowMonth) +'-' + (nowDay < 10 ? '0' + nowDay : nowDay)
699
-      
709
+
700 710
      this.getAllDoctorList()
701 711
      this.getlist()
702 712
      this.getInspectionMajor()
@@ -720,7 +730,7 @@
720 730
       },
721 731
 
722 732
       startTimeChange(val){
723
-       
733
+
724 734
        this.start_time = val
725 735
        this.getlist()
726 736
       },
@@ -735,10 +745,10 @@
735 745
 
736 746
        },
737 747
       changeCurrentRecordTwo(row){
738
-       
748
+
739 749
         this.form.id = 0
740 750
         if(row!=null){
741
-          this.form.id = row.id 
751
+          this.form.id = row.id
742 752
           this.getFirstDetail(row.id)
743 753
         }
744 754
       },
@@ -766,7 +776,7 @@
766 776
        var ids = arr.join(",")
767 777
        this.ids = ids
768 778
       },
769
-     
779
+
770 780
       changeMainContent(content){
771 781
        this.form.main_content = content
772 782
       },
@@ -785,9 +795,9 @@
785 795
       changeTreateMentContent(content){
786 796
         this.form.treatment_plan = content
787 797
       },
788
-      
798
+
789 799
       createAction(){
790
-       
800
+
791 801
          if(this.form.doctor == ""){
792 802
             this.form.doctor = 0
793 803
          }
@@ -810,17 +820,17 @@
810 820
           doctor:this.form.doctor,
811 821
           project_id:this.projectStr,
812 822
           inspect_date:this.projectIndate,
813
-         
823
+
814 824
          }
815 825
          if(params.project_id == undefined){
816 826
             params.project_id = ""
817 827
          }
818 828
          console.log("params",params)
819
-        
829
+
820 830
          createFirstDisease(params).then(response=>{
821 831
             if(response.data.state == 1){
822 832
               var list = response.data.data.firstDisease
823
-             
833
+
824 834
               this.$message.success("保存成功!")
825 835
               this.show_dialog = false
826 836
               this.getlist()
@@ -874,7 +884,7 @@
874 884
              var inspectlist = response.data.data.inspectlist
875 885
              let arr = this.unique(inspectlist,'project_name')
876 886
              this.hosDetail.template_inspection_content = arr
877
-            
887
+
878 888
              console.log("内容233323232323223",this.hosDetail)
879 889
            }
880 890
         })
@@ -911,7 +921,7 @@
911 921
         this.getHospitalSummaryDetailOne(this.form.id)
912 922
       },
913 923
       updateAction(){
914
-    
924
+
915 925
         if(this.form.doctor == ""){
916 926
             this.form.doctor = 0
917 927
          }
@@ -947,7 +957,7 @@
947 957
          if(this.$refs.editorTenTwo.content == ""){
948 958
             tentative_diagnosis = this.hosDetail.tentative_diagnosis
949 959
          }else{
950
-            tentative_diagnosis = this.$refs.editorTenTwo.content 
960
+            tentative_diagnosis = this.$refs.editorTenTwo.content
951 961
          }
952 962
 
953 963
          if(this.$refs.editorTenThree.content == ""){
@@ -967,7 +977,7 @@
967 977
          }else{
968 978
              treatment_plan = this.$refs.editorTenFive.content
969 979
          }
970
-      
980
+
971 981
          var params = {
972 982
           id:this.form.detai_id,
973 983
           patient_id:parseInt(this.patient_id),
@@ -994,7 +1004,7 @@
994 1004
             // this.$refs.monthlyPlanTable.setCurrentRow(detail)
995 1005
             this.getlist()
996 1006
           }
997
-        }) 
1007
+        })
998 1008
       },
999 1009
       deleteAction(){
1000 1010
           if(this.ids.length == 0){
@@ -1019,7 +1029,7 @@
1019 1029
               }
1020 1030
             })
1021 1031
           }).catch(() => {
1022
-          }) 
1032
+          })
1023 1033
       },
1024 1034
       addAction(){
1025 1035
         this.form.title = ""
@@ -1029,7 +1039,7 @@
1029 1039
         this.form.diagnostic_basis = ""
1030 1040
         this.form.differential_diagnosis = ""
1031 1041
         this.form.treatment_plan = ""
1032
-        
1042
+
1033 1043
         this.show_dialog = true
1034 1044
       },
1035 1045
       toInspection(){
@@ -1125,7 +1135,7 @@
1125 1135
         }
1126 1136
         getInitDataList(params).then(response=>{
1127 1137
           if(response.data.state == 1){
1128
-           
1138
+
1129 1139
              var modelist = response.data.data.modelist
1130 1140
              console.log("modelist",modelist)
1131 1141
              var docList = response.data.data.docList
@@ -1181,10 +1191,10 @@
1181 1191
           if(response.data.state == 1){
1182 1192
             var list = response.data.data.list
1183 1193
            let arr = this.unique(list,'project_name')
1184
-         
1194
+
1185 1195
            this.form.patient_case_one = arr
1186 1196
            this.dialogVisibleInspection = false
1187
-          
1197
+
1188 1198
            console.log("2323232owowowowowow",this.form.id)
1189 1199
           }
1190 1200
         })
@@ -1222,8 +1232,8 @@
1222 1232
         })
1223 1233
       }
1224 1234
     },
1225
-  
1226
-    
1235
+
1236
+
1227 1237
   }
1228 1238
 </script>
1229 1239
 

+ 524 - 113
src/xt_pages/user/inspection.vue Voir le fichier

@@ -40,6 +40,15 @@
40 40
         </el-col>
41 41
         <el-col :span="17" v-loading="itemLoading">
42 42
           <div class="filter-container" style="float:right">
43
+            <el-button
44
+              size="small"
45
+              class="filter-item"
46
+              type="primary"
47
+              @click="openPic()"
48
+              icon="el-icon-circle-plus-outline"
49
+              :disabled="project ? false : true"
50
+            >上传图片
51
+            </el-button>
43 52
             <el-button
44 53
               size="small"
45 54
               class="filter-item"
@@ -47,7 +56,8 @@
47 56
               @click="openNew()"
48 57
               icon="el-icon-circle-plus-outline"
49 58
               :disabled="project ? false : true"
50
-              >新增</el-button
59
+            >新增
60
+            </el-button
51 61
             >
52 62
             <el-button
53 63
               size="small"
@@ -56,7 +66,8 @@
56 66
               icon="el-icon-edit-outline"
57 67
               @click="openEdit()"
58 68
               :disabled="itemDate ? false : true"
59
-              >修改</el-button
69
+            >修改
70
+            </el-button
60 71
             >
61 72
             <el-button
62 73
               size="small"
@@ -65,73 +76,111 @@
65 76
               icon="el-icon-delete"
66 77
               @click="deleteInspection()"
67 78
               :disabled="itemDate ? false : true"
68
-              >删除</el-button
79
+            >删除
80
+            </el-button
69 81
             >
70 82
           </div>
71 83
           <div class="filter-container">
72 84
             <el-button class="filter-item" type="text" style="color:#000"
73
-              >{{ itemName }}
85
+            >{{ itemName }}
74 86
               <span v-if="itemDate"
75
-                >(检查日期:{{ itemDate }})</span
87
+              >(检查日期:{{ itemDate }})</span
76 88
               ></el-button
77 89
             >
78 90
           </div>
79
-          <el-table
80
-            :header-cell-style="{
91
+          <div v-if="!isPic">
92
+            <el-table
93
+              :header-cell-style="{
81 94
               backgroundColor: 'rgb(245, 247, 250)',
82 95
               color: '#606266'
83 96
             }"
84
-            :row-style="{ color: '#303133' }"
85
-            :data="items"
86
-            border
87
-            style="width: 100%"
88
-            id="user-inspection-order"
89
-          >
90
-            <el-table-column
91
-              prop="item_name"
92
-              label="检验项目"
93
-              align="center"
94
-              min-width="180"
95
-            >
96
-              <template slot-scope="scope">
97
-                {{ scope.row.item_name }} {{ scope.row.item_name_addition }}
98
-              </template>
99
-            </el-table-column>
100
-            <el-table-column
101
-              prop="name"
102
-              label="结果"
103
-              align="center"
104
-              min-width="80"
97
+              :row-style="{ color: '#303133' }"
98
+              :data="items"
99
+              border
100
+              style="width: 100%"
101
+              id="user-inspection-order"
102
+
105 103
             >
106
-              <template slot-scope="scope">
107
-                <span v-if="scope.row.value =='阳性'" style="color:red">{{ scope.row.value }}</span>
108
-                <span v-else>{{ scope.row.value }}</span>
109
-                <span v-if="scope.row.range_type == 1">
110
-                  {{scope.row.value_direction}}
104
+              <el-table-column
105
+                prop="item_name"
106
+                label="检验项目"
107
+                align="center"
108
+                min-width="180"
109
+              >
110
+                <template slot-scope="scope">
111
+                  {{ scope.row.item_name }} {{ scope.row.item_name_addition }}
112
+                </template>
113
+              </el-table-column>
114
+
115
+              <el-table-column
116
+                prop="name"
117
+                label="结果"
118
+                align="center"
119
+                min-width="80"
120
+              >
121
+                <template slot-scope="scope">
122
+                  <div v-if="items[0].value.indexOf('http') < 0">
123
+                    <span v-if="scope.row.value =='阳性'" style="color:red">{{ scope.row.value }}</span>
124
+                    <span v-else>{{ scope.row.value }}</span>
125
+                    <span v-if="scope.row.range_type == 1">
126
+                  {{ scope.row.value_direction }}
111 127
                 </span>
128
+                  </div>
129
+                  <div v-else>
130
+                    <img :src="scope.row.value">
131
+                  </div>
132
+                </template>
133
+              </el-table-column>
134
+
135
+              <el-table-column
136
+                prop="address"
137
+                label="参考值"
138
+                align="center"
139
+                min-width="120"
140
+              >
141
+                <template slot-scope="scope">
142
+                  <div   v-if="items[0].value.indexOf('http')  < 0">
143
+                     <span v-if="scope.row.range_type == 1"
144
+                     >{{ scope.row.range_min }}~{{ scope.row.range_max }}</span
145
+                     >
146
+                    <span v-else>{{ scope.row.range_value }}</span>
147
+                  </div>
148
+                </template>
149
+
150
+              </el-table-column>
151
+
152
+              <el-table-column
153
+                prop="111"
154
+                label="单位"
155
+                align="center"
156
+                min-width="80"
157
+              >
158
+                <template slot-scope="scope">
159
+                  <div  v-if="items[0].value.indexOf('http') < 0">
160
+                    <span>{{ scope.row.unit }}</span>
161
+                  </div>
162
+                </template>
163
+              </el-table-column>
164
+            </el-table>
165
+          </div>
166
+          <div v-else>
167
+            <el-row>
168
+              <template v-for="(item, index) in items">
169
+                <el-col :span="7" :key="index">
170
+                  <div style="width: 400px">
171
+                    <el-row>
172
+                      <img  :src="item.value" alt="">
173
+                    </el-row>
174
+                    <el-row>
175
+                      <div style="word-break: break-all;word-wrap: break-word">{{item.item_name}}</div>
176
+                    </el-row>
177
+                  </div>
178
+                </el-col>
112 179
               </template>
113
-            </el-table-column>
114
-            <el-table-column
115
-              prop="address"
116
-              label="参考值"
117
-              align="center"
118
-              min-width="120"
119
-            >
120
-              <template slot-scope="scope">
121
-                <span v-if="scope.row.range_type == 1"
122
-                  >{{ scope.row.range_min }}~{{ scope.row.range_max }}</span
123
-                >
124
-                <span v-else>{{ scope.row.range_value }}</span>
125
-              </template>
126
-            </el-table-column>
127
-            <el-table-column
128
-              prop="unit"
129
-              label="单位"
130
-              align="center"
131
-              min-width="80"
132
-            >
133
-            </el-table-column>
134
-          </el-table>
180
+            </el-row>
181
+
182
+          </div>
183
+
135 184
           <el-pagination
136 185
             align="right"
137 186
             @current-change="handleCurrentChangePage"
@@ -238,26 +287,112 @@
238 287
           type="primary"
239 288
           v-if="form.method == 'add'"
240 289
           @click="submitNew('form')"
241
-          >保 存</el-button
290
+        >保 存
291
+        </el-button
242 292
         >
243 293
         <el-button type="primary" v-else @click="submitEdit('form')"
244
-          >保 存</el-button
294
+        >保 存
295
+        </el-button
245 296
         >
246 297
       </div>
247 298
     </el-dialog>
299
+
300
+    <el-dialog
301
+      :title="formTitle"
302
+      :visible.sync="dialogPicFormVisible"
303
+      width="1000px"
304
+      id="user-inspection-form"
305
+    >
306
+      <el-form :model="form" ref="form" label-position="top">
307
+        <el-row>
308
+          <el-col :span="7">
309
+            <el-form-item
310
+              label="检验日期"
311
+              prop="inspect_date"
312
+              :rules="[
313
+                { required: true, message: '请输入检验日期', trigger: 'blur' }
314
+              ]"
315
+            >
316
+              <el-date-picker
317
+                style="width:95%"
318
+                v-model="form.inspect_date"
319
+                type="datetime"
320
+                value-format="yyyy-MM-dd HH:mm"
321
+                format="yyyy-MM-dd HH:mm"
322
+                placeholder="选择日期"
323
+              >
324
+              </el-date-picker>
325
+            </el-form-item>
326
+          </el-col>
327
+        </el-row>
328
+        <el-row>
329
+          <template v-for="(item, index) in form.imgs">
330
+            <el-col :span="5" :key="index">
331
+              <div>
332
+                <el-row>
333
+                  <img width="100px" :src="item.img_url" alt="">
334
+                </el-row>
335
+                <el-row>
336
+                  <el-input v-model="item.desc" style="width: 100px"></el-input>
337
+                </el-row>
338
+                <el-row>
339
+                  <el-button
340
+                    type="danger"
341
+                    @click="deletePic(item,index)"
342
+                  >删除
343
+                  </el-button>
344
+                </el-row>
345
+              </div>
346
+            </el-col>
347
+            <el-col :span="1" :key="'form-col' + index">&nbsp;</el-col>
348
+          </template>
349
+        </el-row>
350
+      </el-form>
351
+      <div slot="footer" class="dialog-footer">
352
+        <el-upload
353
+          :data="uploadData"
354
+          :multiple="false"
355
+          action="https://upload.qiniup.com"
356
+          :show-file-list="false"
357
+          :on-error="handleAvatarError"
358
+          :on-success="handleAvatarSuccess"
359
+          :before-upload="beforeAvatarUpload">
360
+          <el-button type="primary">选择文件</el-button>
361
+        </el-upload>
362
+        <el-button @click="dialogPicFormVisible = false">取 消</el-button>
363
+        <el-button
364
+          type="primary"
365
+          v-if="this.form.pic_method== 'add'"
366
+          @click="submitPicNew()"
367
+        >保 存
368
+        </el-button>
369
+
370
+        <el-button
371
+          type="primary"
372
+          v-if="this.form.pic_method == 'edit'"
373
+          @click="submitEditPicNew()"
374
+        >修 改
375
+        </el-button>
376
+      </div>
377
+    </el-dialog>
248 378
   </div>
379
+
249 380
 </template>
250 381
 
251 382
 <script>
252 383
 import PatientSidebar from './components/PatientSidebar'
384
+import { getToken } from '@/api/qiniu'
385
+
253 386
 import {
254
-  fetchInspectionReference,
255 387
   CreatePatientInspection,
256
-  fetchPatientInspections,
388
+  CreatePatientPICInspection,
389
+  editPatientPICInspection,
390
+  DeletePatientInspection,
257 391
   EditPatientInspection,
258
-  DeletePatientInspection
392
+  fetchInspectionReference,
393
+  fetchPatientInspections
259 394
 } from '@/api/inspection'
260
-import { uParseTime, isPositiveNumber } from '@/utils/tools'
395
+import { getFileExtension, uParseTime } from '@/utils/tools'
261 396
 
262 397
 export default {
263 398
   name: 'Inspection',
@@ -265,6 +400,9 @@ export default {
265 400
   data() {
266 401
     return {
267 402
       total: 0,
403
+      qiniuDomain: 'https://images.shengws.com/',
404
+      isPic:false,
405
+      uploadData: { token: '', key: '' },
268 406
       pageLoading: true,
269 407
       itemLoading: false,
270 408
       formLoading: false,
@@ -276,15 +414,20 @@ export default {
276 414
       },
277 415
       itemName: '请选择项目',
278 416
       formTitle: '',
417
+      dialogPicFormVisible: false,
279 418
       dialogFormVisible: false,
280 419
       patient_info: null,
420
+
281 421
       form: {
282 422
         remind_cycle: '',
283 423
         method: 'add',
424
+        pic_method:'add',
284 425
         project_id: 0,
285 426
         inspect_date: '',
286 427
         old_inspect_date: '',
287
-        formItem: [{ id: 0, value: '' }]
428
+        formItem: [{ id: 0, value: '' }],
429
+        imgs: [],
430
+        delete_imgs:[],
288 431
       },
289 432
       formItem: [],
290 433
       items: [],
@@ -300,19 +443,90 @@ export default {
300 443
     }
301 444
   },
302 445
   methods: {
303
-    changeInput(item){
304
-      
305
-      if(item.item_name == '血清铁' || item.item_name == '总铁结合力'){
446
+    beforeAvatarUpload(file) {
447
+      // const isJPG = file.type === "image/jpeg";
448
+      var fileType = file.type
449
+      const isJPG = fileType.indexOf('image') > -1
450
+      const isLt2M = file.size / 1024 / 1024 < 5
451
+
452
+      if (!isJPG) {
453
+        this.$message.error('只能上传图片')
454
+        return false
455
+      }
456
+      if (!isLt2M) {
457
+        this.$message.error('上传头像图片大小不能超过 5MB!')
458
+        return false
459
+      }
460
+
461
+      var date = new Date()
462
+      var ext = getFileExtension(file.name)
463
+      var key =
464
+        date.getFullYear() +
465
+        '/' +
466
+        (date.getMonth() + 1) +
467
+        '/' +
468
+        date.getDate() +
469
+        '/' +
470
+        date.getHours() +
471
+        '/' +
472
+        date.getMinutes() +
473
+        '/' +
474
+        date.getSeconds() +
475
+        '/' +
476
+        '_s_' +
477
+        file.uid +
478
+        '.' +
479
+        ext
480
+      this.loading = this.$loading({
481
+        lock: true,
482
+        text: '上传中...',
483
+        spinner: 'el-icon-loading',
484
+        background: 'rgba(0, 0, 0, 0.7)'
485
+      })
486
+
487
+      const _self = this
488
+      return new Promise((resolve, reject) => {
489
+        getToken()
490
+          .then(response => {
491
+            const token = response.data.data.uptoken
492
+            _self._data.uploadData.token = token
493
+            _self._data.uploadData.key = key
494
+            resolve(true)
495
+          })
496
+          .catch(err => {
497
+            console.log(err)
498
+            reject(false)
499
+            this.loading.close()
500
+          })
501
+      })
502
+    },
503
+
504
+    handleAvatarError(err, file, fileList) {
505
+      this.$message.error(err)
506
+      this.loading.close()
507
+      return false
508
+    },
509
+    handleAvatarSuccess(res, file) {
510
+      this.form.imgs.push({
511
+        img_url: this.qiniuDomain + res.url + '?imageView2/2/w/500/h/500/q/90',
512
+        desc: '',
513
+        id: 0
514
+      })
515
+      this.loading.close()
516
+    },
517
+    changeInput(item) {
518
+
519
+      if (item.item_name == '血清铁' || item.item_name == '总铁结合力') {
306 520
         let index1 = ''
307 521
         let index2 = ''
308
-        this.form.formItem.map((it,index) => {
309
-          if(this.form.formItem[index].item_name == '血清铁'){
522
+        this.form.formItem.map((it, index) => {
523
+          if (this.form.formItem[index].item_name == '血清铁') {
310 524
             index1 = index
311 525
           }
312
-          if(this.form.formItem[index].item_name == '总铁结合力'){
526
+          if (this.form.formItem[index].item_name == '总铁结合力') {
313 527
             index2 = index
314 528
           }
315
-          if(it.item_name == '转铁蛋白饱和度(计算)'){
529
+          if (it.item_name == '转铁蛋白饱和度(计算)') {
316 530
             it.value = (parseFloat(this.form.formItem[index1].value) / parseFloat(this.form.formItem[index2].value)) * 100
317 531
           }
318 532
         })
@@ -363,39 +577,101 @@ export default {
363 577
             }
364 578
           })
365 579
         })
366
-        .catch(() => {})
580
+        .catch(() => {
581
+        })
367 582
     },
368 583
     openEdit() {
584
+
585
+      if (this.project == null) {
586
+        this.$message.error('请先选择项目')
587
+        return false
588
+      }
589
+      if(this.isPic){
590
+        this.form.pic_method = 'edit'
591
+        this.formTitle = '修改' + this.project.project_name
592
+        this.form.project_id = this.project.project_id
593
+        this.form.inspect_date = this.itemDate
594
+        this.form.old_inspect_date = this.itemDate
595
+        this.form.imgs = []
596
+        this.form.delete_imgs = []
597
+        for(var index in this.inspections){
598
+          this.form.imgs.push({
599
+            id: this.inspections[index].id,
600
+            img_url: this.inspections[index].inspect_value,
601
+            desc: this.inspections[index].item_name
602
+          })
603
+        }
604
+        console.log(this.form.imgs)
605
+        this.dialogPicFormVisible = true
606
+      }else{
607
+        console.log("22222")
608
+        this.form.method = 'edit'
609
+        this.formTitle = '修改' + this.project.project_name
610
+        this.form.project_id = this.project.project_id
611
+        this.form.inspect_date = this.itemDate
612
+        this.form.old_inspect_date = this.itemDate
613
+        this.form.remind_cycle = this.patient_info.remind_cycle
614
+        console.log(this.form.remind_cycle)
615
+
616
+        this.form.formItem = []
617
+        for (var index in this.project.inspection_reference) {
618
+          this.form.formItem.push({
619
+            id: this.project.inspection_reference[index].id in this.inspectionsMap ? this.inspectionsMap[this.project.inspection_reference[index].id].id : 0,
620
+            project_id: this.project.inspection_reference[index].project_id,
621
+            project_name: this.project.inspection_reference[index].project_name,
622
+            item_id: this.project.inspection_reference[index].id,
623
+            item: this.project.inspection_reference[index].item,
624
+            item_name: this.project.inspection_reference[index].item_name,
625
+            range_type: this.project.inspection_reference[index].range_type,
626
+            value: this.project.inspection_reference[index].id in this.inspectionsMap ? this.inspectionsMap[this.project.inspection_reference[index].id].inspect_value : '',
627
+            select_options: this.project.inspection_reference[index].range_options.split(','),
628
+            unit: this.project.inspection_reference[index].unit
629
+          })
630
+        }
631
+        console.log(this.form.formItem)
632
+        this.dialogFormVisible = true
633
+
634
+      }
635
+
636
+    }, openPic() {
369 637
       if (this.project == null) {
370 638
         this.$message.error('请先选择项目')
371 639
         return false
372 640
       }
373 641
 
374
-      this.form.method = 'edit'
375
-      this.formTitle = '修改' + this.project.project_name
642
+      this.form.pic_method = 'add'
643
+      this.formTitle = '新增' + this.project.project_name
376 644
       this.form.project_id = this.project.project_id
377
-      this.form.inspect_date = this.itemDate
378
-      this.form.old_inspect_date = this.itemDate
645
+      this.form.imgs=[]
646
+      this.form.delete_imgs=[]
379 647
       this.form.remind_cycle = this.patient_info.remind_cycle
380
-      console.log(this.form.remind_cycle)
381
-
648
+      var today = new Date()
649
+      this.form.inspect_date = uParseTime(today, '{y}-{m}-{d} {h}:{i}')
382 650
       this.form.formItem = []
383 651
       for (var index in this.project.inspection_reference) {
652
+        // var formItem = this.project.inspection_reference[index];
653
+        // formItem["value"] = '';
654
+        // if (formItem.range_type==2) {
655
+        //   formItem["select_options"] = formItem.range_options.split(",");
656
+        // }
384 657
         this.form.formItem.push({
385
-          id: this.project.inspection_reference[index].id in this.inspectionsMap ? this.inspectionsMap[this.project.inspection_reference[index].id].id : 0,
658
+          id: 0,
386 659
           project_id: this.project.inspection_reference[index].project_id,
387 660
           project_name: this.project.inspection_reference[index].project_name,
388 661
           item_id: this.project.inspection_reference[index].id,
389 662
           item: this.project.inspection_reference[index].item,
390 663
           item_name: this.project.inspection_reference[index].item_name,
391 664
           range_type: this.project.inspection_reference[index].range_type,
392
-          value: this.project.inspection_reference[index].id in this.inspectionsMap ? this.inspectionsMap[this.project.inspection_reference[index].id].inspect_value : '',
393
-          select_options: this.project.inspection_reference[index].range_options.split(','),
665
+          value: '',
666
+          select_options: this.project.inspection_reference[
667
+            index
668
+            ].range_options.split(','),
394 669
           unit: this.project.inspection_reference[index].unit
395 670
         })
396 671
       }
397
-      console.log(this.form.formItem)
398
-      this.dialogFormVisible = true
672
+      console.log('form.formItem', this.form.formItem)
673
+      this.dialogPicFormVisible = true
674
+
399 675
     },
400 676
     openNew() {
401 677
       if (this.project == null) {
@@ -426,11 +702,11 @@ export default {
426 702
           value: '',
427 703
           select_options: this.project.inspection_reference[
428 704
             index
429
-          ].range_options.split(','),
705
+            ].range_options.split(','),
430 706
           unit: this.project.inspection_reference[index].unit
431 707
         })
432 708
       }
433
-      console.log('form.formItem',this.form.formItem)
709
+      console.log('form.formItem', this.form.formItem)
434 710
       this.dialogFormVisible = true
435 711
     },
436 712
     submitEdit(formName) {
@@ -454,7 +730,7 @@ export default {
454 730
                 duration: 2000
455 731
               })
456 732
               this.patient_info.remind_cycle =
457
-                  response.data.data.remind_cycle
733
+                response.data.data.remind_cycle
458 734
               this.itemDate = this.form.inspect_date
459 735
               this.items = []
460 736
               var inspections = response.data.data.inspections
@@ -467,12 +743,12 @@ export default {
467 743
               this.inspectionsMap = {}
468 744
               for (var index in inspections) {
469 745
                 inspectionsMap[inspections[index].item_id] =
470
-                    inspections[index]
746
+                  inspections[index]
471 747
                 this.inspectionsMap[inspections[index].item_id] =
472
-                    inspections[index]
748
+                  inspections[index]
473 749
               }
474 750
               var items = this.project.inspection_reference
475
-              console.log("itmes",items)
751
+              console.log('itmes', items)
476 752
               for (var index in items) {
477 753
                 if (items[index].id in inspectionsMap) {
478 754
                   var item = {}
@@ -612,6 +888,123 @@ export default {
612 888
           return false
613 889
         }
614 890
       })
891
+    }, submitEditPicNew() {
892
+      if (this.form.imgs.length == 0) {
893
+        this.$message.error('未上传图片')
894
+        return false
895
+      }
896
+      this.formLoading = true
897
+      editPatientPICInspection(
898
+        this.patientID,
899
+        this.form
900
+      )
901
+        .then(response => {
902
+          if (response.data.state === 1) {
903
+            this.$notify({
904
+              title: '成功',
905
+              message: '修改成功',
906
+              type: 'success',
907
+              duration: 2000
908
+            })
909
+            this.itemDate = this.form.inspect_date
910
+            this.items = []
911
+            this.dialogPicFormVisible = false
912
+            this.queryParams.patient = this.patientID
913
+            this.queryParams.project_id = this.project.project_id
914
+            this.queryParams.page = 1
915
+            this.total = 0
916
+            this.fetchPatientInspections(this.queryParams)
917
+          } else {
918
+            this.$message.error(response.data.msg)
919
+            return false
920
+          }
921
+        })
922
+        .catch(v => {
923
+          this.$message.error(v)
924
+          return false
925
+        })
926
+      this.formLoading = false
927
+
928
+    },deletePic(item,index){
929
+      if(item.id == 0){
930
+        this.form.imgs.splice(index,1)
931
+      }else{
932
+        for(let index in this.form.imgs){
933
+          if(item.id == this.form.imgs[index].id){
934
+            this.form.imgs.splice(index,1)
935
+            this.form.delete_imgs.push({
936
+              id:item.id,
937
+            })
938
+          }
939
+        }
940
+
941
+      }
942
+    },
943
+    submitPicNew() {
944
+      this.formLoading = true
945
+      if (this.form.imgs.length == 0) {
946
+        this.$message.error('未上传图片')
947
+        return false
948
+      }
949
+      CreatePatientPICInspection(
950
+        this.patientID,
951
+        this.form
952
+      )
953
+        .then(response => {
954
+          if (response.data.state === 1) {
955
+            this.$notify({
956
+              title: '成功',
957
+              message: '新增成功',
958
+              type: 'success',
959
+              duration: 2000
960
+            })
961
+            this.itemDate = this.form.inspect_date
962
+            this.items = []
963
+            for (var index in this.projects) {
964
+              if (this.projects[index].project_id == this.form.project_id) {
965
+                this.projects[index].count++
966
+                break
967
+              }
968
+            }
969
+            this.total += 1
970
+            // var inspections = response.data.data.inspections
971
+            // this.inspections = response.data.data.inspections
972
+            // if (inspections == null) {
973
+            //   this.inspections = []
974
+            //   return false
975
+            // }
976
+            // var inspectionsMap = {}
977
+            // this.inspectionsMap = {}
978
+            //
979
+            // var items = this.project.inspection_reference
980
+            // for (var index in items) {
981
+            //   if (items[index].id in inspectionsMap) {
982
+            //     var item = {}
983
+            //     for (var key in items[index]) {
984
+            //       item[key] = items[index][key]
985
+            //     }
986
+            //     item.value = inspectionsMap[items[index].id].inspect_value
987
+            //     item.value_direction = ''
988
+            //     this.items.push(item)
989
+            //   }
990
+            // }
991
+            this.dialogPicFormVisible = false
992
+            this.queryParams.patient = this.patientID
993
+            this.queryParams.project_id = this.project.project_id
994
+            this.queryParams.page = 1
995
+            this.total = 0
996
+            this.fetchPatientInspections(this.queryParams)
997
+          } else {
998
+            this.$message.error(response.data.msg)
999
+            return false
1000
+          }
1001
+        })
1002
+        .catch(v => {
1003
+          this.$message.error(v)
1004
+          return false
1005
+        })
1006
+      this.formLoading = false
1007
+
615 1008
     },
616 1009
     fetchInspectionReference() {
617 1010
       fetchInspectionReference(this.patientID)
@@ -628,7 +1021,8 @@ export default {
628 1021
             return false
629 1022
           }
630 1023
         })
631
-        .catch(v => {})
1024
+        .catch(v => {
1025
+        })
632 1026
     },
633 1027
     setCurrent(row) {
634 1028
       this.$refs.singleTable.setCurrentRow(row)
@@ -664,6 +1058,7 @@ export default {
664 1058
     },
665 1059
     fetchPatientInspections(params) {
666 1060
       this.items = []
1061
+      this.isPic = false
667 1062
       fetchPatientInspections(params)
668 1063
         .then(response => {
669 1064
           if (response.data.state == 1) {
@@ -681,40 +1076,52 @@ export default {
681 1076
               inspectionsMap[inspections[index].item_id] = inspections[index]
682 1077
               this.inspectionsMap[inspections[index].item_id] = inspections[index]
683 1078
             }
1079
+
684 1080
             var items = this.project.inspection_reference
685 1081
             for (var index in items) {
686
-              if (items[index].id in inspectionsMap || items[index].item_id in inspectionsMap) {
687
-                var item = {}
688
-                for (var key in items[index]) {
689
-                  item[key] = items[index][key]
690
-                }
691
-                if (item.item_id > 0) {
692
-                  if (inspectionsMap[items[index].item_id] == undefined) {
693
-                    item.value = inspectionsMap[items[index].id].inspect_value
694
-                  } else {
695
-                    item.value = inspectionsMap[items[index].item_id].inspect_value
696
-                  }
697
-                } else {
1082
+              var item = {}
1083
+              for (var key in items[index]) {
1084
+                item[key] = items[index][key]
1085
+              }
1086
+              if (item.item_id > 0) {
1087
+                if (inspectionsMap[items[index].item_id] == undefined) {
698 1088
                   item.value = inspectionsMap[items[index].id].inspect_value
1089
+                  item.item_name = inspectionsMap[items[index].id].item_name
1090
+
1091
+                } else {
1092
+                  item.value = inspectionsMap[items[index].item_id].inspect_value
1093
+                  item.item_name = inspectionsMap[items[index].item_id].item_name
1094
+
699 1095
                 }
700
-                item.value_direction = ''
701
-                if (item.range_type == 1) {
702
-                  var value = parseFloat(item.value)
703
-                  var range_min = parseFloat(item.range_min)
704
-                  var range_max = parseFloat(item.range_max)
705
-                  if (value < range_min) {
706
-                    item.value_direction = '↓'
707
-                  } else if (value > range_max) {
708
-                    item.value_direction = '↑'
709
-                  }
1096
+              } else {
1097
+                item.value = inspectionsMap[items[index].id].inspect_value
1098
+                item.item_name = inspectionsMap[items[index].id].item_name
1099
+
1100
+              }
1101
+              // item["inspect_desc"] = inspectionsMap[items[index].id].inspect_desc
1102
+              // item["inspect_type"] = inspectionsMap[items[index].id].inspect_type
1103
+              item.value_direction = ''
1104
+              if (item.range_type == 1) {
1105
+                var value = parseFloat(item.value)
1106
+                var range_min = parseFloat(item.range_min)
1107
+                var range_max = parseFloat(item.range_max)
1108
+                if (value < range_min) {
1109
+                  item.value_direction = '↓'
1110
+                } else if (value > range_max) {
1111
+                  item.value_direction = '↑'
710 1112
                 }
711
-                this.items.push(item)
1113
+              }
1114
+              this.items.push(item)
1115
+
1116
+
1117
+              if(item.value.indexOf("http") >= 0){
1118
+                this.isPic = true
712 1119
               }
713 1120
             }
714
-            console.log(this.items)
715 1121
           }
716 1122
         })
717
-        .catch(v => {})
1123
+        .catch(v => {
1124
+        })
718 1125
       setTimeout(() => {
719 1126
         this.itemLoading = false
720 1127
       }, 1000)
@@ -747,18 +1154,22 @@ export default {
747 1154
   border-bottom: 0px !important;
748 1155
   border-right: 0px !important;
749 1156
 }
1157
+
750 1158
 #user-inspection-order th {
751 1159
   border-right: 0px !important;
752 1160
 }
1161
+
753 1162
 #user-inspection-form .el-form-item__content {
754 1163
   line-height: 0 !important;
755 1164
 }
1165
+
756 1166
 .el-table td,
757 1167
 .el-table th.is-leaf,
758 1168
 .el-table--border,
759 1169
 .el-table--group {
760 1170
   border-color: #d0d3da;
761 1171
 }
1172
+
762 1173
 .el-table--border::after,
763 1174
 .el-table--group::after,
764 1175
 .el-table::before {

Fichier diff supprimé car celui-ci est trop grand
+ 1090 - 0
src/xt_pages/user/inspectionCheck.vue


Fichier diff supprimé car celui-ci est trop grand
+ 1171 - 0
src/xt_pages/user/ktv.vue


+ 681 - 209
src/xt_pages/user/physiqueprinting.vue Voir le fichier

@@ -1,229 +1,701 @@
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
+               {{getPinxuerongmao(item.XtPatientPhysiqueCheck.pinxuerongmao)}}{{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)+getZidian(item.XtPatientPhysiqueCheck.zidian)+getPiFuWenDu(item.XtPatientPhysiqueCheck.pifuwendu) }}
89
+            </div>
90
+            <div style="margin-top: 5px;">
91
+              <span style="font-weight: bold;">淋巴结</span>:
92
+              {{  getLinBaZongDa(item.XtPatientPhysiqueCheck.linbazhongda)}}
93
+            </div>
94
+            <div style="margin-top: 5px;">
95
+              <span style="font-weight: bold;">头部</span>:
96
+              {{ getYanJian(item.XtPatientPhysiqueCheck.yanlian)+ getTongKong(item.XtPatientPhysiqueCheck.tongkong)+","+"左(mm):"+item.XtPatientPhysiqueCheck.zuo+",右(mm):"+item.XtPatientPhysiqueCheck.you+",对光反射:"+item.XtPatientPhysiqueCheck.duiguangfanshe+","+"扁桃体:"+item.XtPatientPhysiqueCheck.biantaoti+","+"咽部:"+item.XtPatientPhysiqueCheck.yanbu}}
135 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
+            <span style="font-weight: bold;">病历书写者:</span>
125
+            {{getDoctorName(item.doctor_id)}}
126
+            <span style="font-weight: bold;">日期:</span>
127
+            {{getTime(item.record_time,'{y}-{m}-{d}')}}
128
+          </div>
129
+
130
+<!--          <div style="margin-top: 30px;float: right">-->
131
+<!--            <span style="font-weight: bold; display: block;">日期:</span>-->
132
+<!--            {{getTime(item.record_time,'{y}-{m}-{d}')}}}-->
133
+<!--          </div>-->
136 134
         </div>
135
+
136
+
137
+      </div>
137 138
     </div>
139
+  </div>
138 140
 </template>
139 141
 
140 142
 <script>
141 143
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
144
+import {  getSickhistoryCheckRecordsPrint } from '../../api/patient'
145
+import { uParseTime } from '@/utils/tools'
146
+import { fetchAllDoctorAndNurse } from "@/api/doctor";
142 147
 import print from "print-js";
148
+
143 149
 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:'',
150
+  name: 'physiquePrinting',
151
+  data() {
152
+    return {
153
+      list: [],
154
+      crumbs: [
155
+        { path: false, name: '病人管理' },
156
+        { path: false, name: '病程打印' }
157
+      ],
158
+      loading: false,
159
+      orgname: '',
160
+      patient: {},
161
+      information: {
162
+        sex: '',
163
+        age: '',
164
+        birthday: '',
165
+        id_number: '',
166
+        patient_source: '',
167
+        dialysis_num: '',
168
+        first_date: '',
169
+        blood_type: '',
170
+        reimbursement: '',
171
+        work_unit: '',
172
+        contact_number: '',
173
+        home_address: '',
174
+        transplantation: '',
175
+        peritoneum: '',
176
+        allergy_drug: ''
177
+      },
178
+      medical_history: {
179
+        chief_complaint: '',
180
+        present_disease: '',
181
+        past: '',
182
+        personal: '',
183
+        marriage: '',
184
+        family: ''
185
+      },
186
+      physique: {
187
+        temperature: '',
188
+        heartbeat: '',
189
+        R: '',
190
+        Bp: '',
191
+        anemia: '',
192
+        cutaneous: '',
193
+        lymph_node: '',
194
+        head: '',
195
+        neck: '',
196
+        lung: '',
197
+        heart: '',
198
+        abdomen: '',
199
+        other: ''
200
+      },
201
+      diagnosis: ''
202
+    }
203
+  },
204
+  components: {
205
+    BreadCrumb
206
+  },
207
+  methods: {
208
+    fetchAllDoctorAndNurse() {
209
+      fetchAllDoctorAndNurse().then(response => {
210
+        if (response.data.state == 1) {
211
+          this.doctorOptions = response.data.data.doctors;
212
+        }
213
+      });
214
+    },
215
+    getDoctorName: function(doctor_id) {
216
+      for (let index = 0; index < this.doctorOptions.length; index++) {
217
+        const doctor = this.doctorOptions[index]
218
+        if (doctor.id == doctor_id) {
219
+          return doctor.name
201 220
         }
221
+      }
222
+      return ''
223
+    },getPinxuerongmao(pinxuerongmao){
224
+      switch (pinxuerongmao){
225
+        case 0:
226
+          return '无贫血容貌,'
227
+          break
228
+        case 1:
229
+          return "无贫血容貌,"
230
+          break
231
+        case 2:
232
+          return "有贫血容貌,"
233
+          break
234
+      }
235
+
202 236
     },
203
-    components: {
204
-      BreadCrumb
237
+    getTiwei(tiwei){
238
+     switch (tiwei){
239
+       case 0:
240
+         return "自主体位,"
241
+         break
242
+       case 1:
243
+         return "自主体位,"
244
+         break
245
+       case 2:
246
+         return "被动体位,"
247
+         break
248
+       case 3:
249
+         return "强迫体位,"
250
+         break
251
+     }
252
+    },getFuzhong(fuzhong){
253
+      switch (fuzhong){
254
+        case 0:
255
+          return '无浮肿,'
256
+          break
257
+        case 1:
258
+          return '无浮肿,'
259
+          break
260
+        case 2:
261
+          return '轻度浮肿,'
262
+          break
263
+        case 3:
264
+          return '中度浮肿,'
265
+          break
266
+        case 4:
267
+          return '重度浮肿,'
268
+          break
269
+      }
270
+    },getChuXuedian(chuxuedian){
271
+      switch (chuxuedian){
272
+        case 0:
273
+          return '出血点/瘀斑/血肿:无,'
274
+          break
275
+        case 1:
276
+          return '出血点/瘀斑/血肿:无,'
277
+          break
278
+        case 2:
279
+          return '出血点/瘀斑/血肿:未知,'
280
+          break
281
+        case 3:
282
+          return '出血点/瘀斑/血肿:有,'
283
+          break
284
+
285
+      }
286
+    },getFaYu(fayu){
287
+      switch (fayu){
288
+        case 0:
289
+          return '发育:正常,'
290
+          break
291
+        case 1:
292
+          return '发育:正常,'
293
+          break
294
+        case 2:
295
+          return '发育:不良,'
296
+          break
297
+      }
298
+    },getYinYang(yinyang){
299
+      switch (yinyang){
300
+        case 0:
301
+          return '营养:良好,'
302
+          break
303
+        case 1:
304
+          return '营养:良好,'
305
+          break
306
+        case 2:
307
+          return '营养:中等,'
308
+          break
309
+        case 3:
310
+          return '营养:不良,'
311
+          break
312
+        case 4:
313
+          return '营养:恶病质,'
314
+          break
315
+      }
316
+    },getShenzhi(shenzhi){
317
+      switch (shenzhi){
318
+        case 0:
319
+          return '神智:清楚'
320
+          break
321
+        case 1:
322
+          return '神智:清楚'
323
+          break
324
+        case 2:
325
+          return '神智:模糊'
326
+          break
327
+        case 3:
328
+          return '神智:昏迷'
329
+          break
330
+        case 4:
331
+          return '神智:其他'
332
+          break
333
+      }
334
+    },getPifuNianmo(pifunianmo){
335
+      switch (pifunianmo){
336
+        case 0:
337
+          return '皮肤黏膜正常,'
338
+          break
339
+        case 1:
340
+          return '皮肤黏膜正常,'
341
+          break
342
+        case 2:
343
+          return '皮肤黏膜灰暗,'
344
+          break
345
+        case 3:
346
+          return '皮肤黏膜苍白,'
347
+          break
348
+        case 4:
349
+          return '皮肤黏膜黄染,'
350
+          break
351
+        case 5:
352
+          return '皮肤黏膜色素沉着,'
353
+          break
354
+      }
355
+    },getPiXiaChuXue(pixiachuxue){
356
+      switch (pixiachuxue){
357
+        case 0:
358
+          return '无皮下出血,'
359
+          break
360
+        case 1:
361
+          return '无皮下出血,'
362
+          break
363
+        case 2:
364
+          return '有皮下出血,'
365
+          break
366
+
367
+      }
368
+
369
+    },getZidian(zidian){
370
+      switch (zidian){
371
+        case 0:
372
+          return '无紫癜,'
373
+          break
374
+        case 1:
375
+          return '无紫癜,'
376
+          break
377
+        case 2:
378
+          return '有紫癜,'
379
+          break
380
+
381
+      }
382
+
383
+    },getPiFuWenDu(pifuwendu){
384
+      switch (pifuwendu){
385
+        case 0:
386
+          return '皮肤温度:正常,'
387
+          break
388
+        case 1:
389
+          return '皮肤温度:正常,'
390
+          break
391
+        case 2:
392
+          return '皮肤温度:冷,'
393
+          break
394
+        case 3:
395
+          return '皮肤温度:干,'
396
+          break
397
+        case 4:
398
+          return '皮肤温度:湿,'
399
+          break
400
+
401
+      }
402
+
403
+    },getLinBaZongDa(linbazhongda){
404
+      switch (linbazhongda){
405
+        case 0:
406
+          return '浅表淋巴肿大:无'
407
+          break
408
+        case 1:
409
+          return '浅表淋巴肿大:无'
410
+          break
411
+        case 2:
412
+          return '浅表淋巴肿大:有'
413
+          break
414
+      }
415
+    },getYanJian(yanjian){
416
+      switch (yanjian){
417
+        case 0:
418
+          return '眼睑正常,'
419
+          break
420
+        case 1:
421
+          return '眼睑正常,'
422
+          break
423
+        case 2:
424
+          return '眼睑水肿,'
425
+          break
426
+
427
+      }
428
+
429
+    },getTongKong(tongkong){
430
+      switch (tongkong){
431
+        case 0:
432
+          return ''
433
+          break
434
+        case 1:
435
+          return '瞳孔(等大等圆):是,'
436
+          break
437
+        case 2:
438
+          return '瞳孔(等大等圆):否,'
439
+          break
440
+
441
+      }
442
+
443
+    },getXiongmomocayin(xiongmomocayin){
444
+
445
+      switch (xiongmomocayin){
446
+        case 0:
447
+          return ',无胸膜摩擦音,'
448
+          break
449
+        case 1:
450
+          return ',无胸膜摩擦音,'
451
+          break
452
+        case 2:
453
+          return ',有胸膜摩擦音,'
454
+          break
455
+
456
+      }
457
+    },getLuoYin(luoyin){
458
+      switch (luoyin){
459
+        case 0:
460
+          return '无啰音'
461
+          break
462
+        case 1:
463
+          return '无啰音'
464
+          break
465
+        case 2:
466
+          return '有啰音'
467
+          break
468
+
469
+      }
470
+
471
+
472
+    },getXinzangdaxiao(xinzangdaxiao){
473
+      switch (xinzangdaxiao){
474
+        case 0:
475
+          return '心脏大小正常,'
476
+          break
477
+        case 1:
478
+          return '心脏大小正常,'
479
+          break
480
+        case 2:
481
+          return '心脏大小偏大,'
482
+          break
483
+        case 3:
484
+          return '心脏大小偏小,'
485
+          break
486
+      }
487
+
488
+    },getXinlv(xinlv){
489
+      switch (xinlv){
490
+        case 0:
491
+          return '心率齐,'
492
+          break
493
+        case 1:
494
+          return '心率齐,'
495
+          break
496
+        case 2:
497
+          return '心率不齐,'
498
+          break
499
+      }
500
+
501
+    },getXinbaomocasheng(xinbaomocasheng){
502
+      switch (xinbaomocasheng){
503
+        case 0:
504
+          return '心包摩擦声无,'
505
+          break
506
+        case 1:
507
+          return '心包摩擦声无,'
508
+          break
509
+        case 2:
510
+          return '心包摩擦声有,'
511
+          break
512
+      }
513
+
514
+    },getZaYin(zayin){
515
+      switch (zayin){
516
+        case 0:
517
+          return '无杂音,'
518
+          break
519
+        case 1:
520
+          return '无杂音,'
521
+          break
522
+        case 2:
523
+          return '有杂音,'
524
+          break
525
+      }
526
+
527
+    },getFujiaYin(fujiayin){
528
+      switch (fujiayin){
529
+        case 0:
530
+          return '无附加音,'
531
+          break
532
+        case 1:
533
+          return '无附加音,'
534
+          break
535
+        case 2:
536
+          return '有附加音,'
537
+          break
538
+      }
539
+
540
+    },getFushuizheng(fushuizheng){
541
+      switch (fushuizheng){
542
+        case 0:
543
+          return '腹水征:阴性,'
544
+          break
545
+        case 1:
546
+          return '腹水征:阴性,'
547
+          break
548
+        case 2:
549
+          return '腹水征:阳性,'
550
+          break
551
+      }
552
+
553
+    },getGanZangYaTong(yatong){
554
+      switch (yatong){
555
+        case 0:
556
+          return '肝脏:无压痛,'
557
+          break
558
+        case 1:
559
+          return '肝脏:无压痛,'
560
+          break
561
+        case 2:
562
+          return '肝脏:有压痛,'
563
+          break
564
+      }
565
+
566
+    },getGanZangkouTong(koutong){
567
+      switch (koutong){
568
+        case 0:
569
+          return '无叩痛,'
570
+          break
571
+        case 1:
572
+          return '无叩痛,'
573
+          break
574
+        case 2:
575
+          return '有叩痛,'
576
+          break
577
+      }
578
+
579
+    },getPiZangYaTong(yatong){
580
+      switch (yatong){
581
+        case 0:
582
+          return '无压痛,'
583
+          break
584
+        case 1:
585
+          return '无压痛,'
586
+          break
587
+        case 2:
588
+          return '有压痛,'
589
+          break
590
+      }
591
+
592
+    },getPiZangkouTong(koutong){
593
+      switch (koutong){
594
+        case 0:
595
+          return '无叩痛,'
596
+          break
597
+        case 1:
598
+          return '无叩痛,'
599
+          break
600
+        case 2:
601
+          return '有叩痛,'
602
+          break
603
+      }
604
+
605
+    },getshenZangyatong(yatong){
606
+      switch (yatong){
607
+        case 0:
608
+          return '无压痛,'
609
+          break
610
+        case 1:
611
+          return '无压痛,'
612
+          break
613
+        case 2:
614
+          return '有压痛,'
615
+          break
616
+      }
617
+
618
+    },getshenZangkoutong(koutong){
619
+      switch (koutong){
620
+        case 0:
621
+          return '无叩痛'
622
+          break
623
+        case 1:
624
+          return '无叩痛'
625
+          break
626
+        case 2:
627
+          return '有叩痛'
628
+          break
629
+      }
630
+
631
+    },
632
+    getWayOptions(reimbursement_way_id) {
633
+      this.wayOptions = this.$store.getters.reimbursement_ways;
634
+      let wayLen = this.wayOptions.length
635
+      for (let index = 0; index < wayLen; index++) {
636
+        if (this.wayOptions[index].id === reimbursement_way_id) {
637
+          return  this.wayOptions[index].name
638
+        }
639
+      }
640
+    },
641
+    getBloodType(type) {
642
+      var types = this.$store.getters.blood_types
643
+      for (let i = 0; i < types.length; i++) {
644
+        if (types[i].id == type) {
645
+          return types[i].name
646
+        }
647
+      }
648
+    },
649
+    getPatientGender(gender) {
650
+      if (gender == 1) {
651
+        return '男'
652
+      } else if (gender == 2) {
653
+        return '女'
654
+      }
655
+      return ''
656
+    },
657
+    getTime(value, temp) {
658
+      if (value != undefined) {
659
+        return uParseTime(value, temp)
660
+      }
661
+      return ''
662
+    },
663
+    getPhysiquePrintList() {
664
+      let params = {
665
+        ids: this.$route.query.ids,
666
+        patient_id: this.$route.query.patient_id
667
+      }
668
+      getSickhistoryCheckRecordsPrint(params).then(response => {
669
+        if (response.data.state == 1) {
670
+          this.patient = response.data.data.patient
671
+          this.list = response.data.data.sickhistorys
672
+        }
673
+      })
205 674
     },
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
-        },
675
+    printAction: function() {
676
+      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;}'
677
+      printJS({
678
+        printable: 'print_content',
679
+        type: 'html',
680
+        documentTitle: '  ',
681
+        style: style,
682
+        scanStyles: false
683
+      })
217 684
     }
685
+  },
686
+  created() {
687
+    this.getPhysiquePrintList()
688
+    this.fetchAllDoctorAndNurse()
689
+  }
218 690
 }
219 691
 </script>
220 692
 <style scoped>
221 693
 .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;
694
+  background-color: white;
695
+  width: 960px;
696
+  margin: 0 auto 50px;
697
+  padding: 0 0 0 0;
698
+  page-break-after: always;
227 699
 }
228 700
 
229
-</style>
701
+</style>

+ 654 - 0
src/xt_pages/user/physiqueprintingtwo.vue Voir le fichier

@@ -0,0 +1,654 @@
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
+          <div v-if="item.id > 0">
41
+            <div style="display: flex; justify-self: start;">
42
+              <div style="flex:1;text-align: center;">T: {{ item.t?item.t:'' }}℃</div>
43
+              <div style="flex:1;text-align: center;">P:{{ item.p?item.p:''  }}次/分</div>
44
+              <div style="flex:1;text-align: center;">R:{{item.r?item.r:''  }}次/分</div>
45
+              <div style="flex:1;text-align: center;">Bp:{{ item.bp_left + '/' +  item.bp_right }}mmHg</div>
46
+            </div>
47
+            <div style="margin-top: 5px;">
48
+              {{getPinxuerongmao(item.pinxuerongmao)}}{{getTiwei(item.tiwei)}}{{getFuzhong(item.fuzhong)}}{{getChuXuedian(item.chuxuedian)}}{{getFaYu(item.fayu)}}{{getYinYang(item.yinyang)}}{{getShenzhi(item.shenzhi)}}
49
+
50
+            </div>
51
+            <div style="margin-top: 5px;">
52
+              <span style="font-weight: bold;">皮肤黏膜</span>:
53
+              {{ getPifuNianmo(item.pifunianmo) + getPiXiaChuXue(item.pixiachuxue)+getZidian(item.zidian)+getPiFuWenDu(item.pifuwendu) }}
54
+            </div>
55
+            <div style="margin-top: 5px;">
56
+              <span style="font-weight: bold;">淋巴结</span>:
57
+              {{  getLinBaZongDa(item.linbazhongda)}}
58
+            </div>
59
+            <div style="margin-top: 5px;">
60
+              <span style="font-weight: bold;">头部</span>:
61
+              {{ getYanJian(item.yanlian)+ getTongKong(item.tongkong)+","+"左(mm):"+item.zuo+",右(mm):"+item.you+",对光反射:"+item.duiguangfanshe+","+"扁桃体:"+item.biantaoti+","+"咽部:"+item.yanbu}}
62
+            </div>
63
+            <div style="margin-top: 5px;">
64
+              <span style="font-weight: bold;">颈部</span>:
65
+              {{ "颈静脉:"+item.ganjingjingmai }}
66
+            </div>
67
+            <div style="margin-top: 5px;">
68
+              <span style="font-weight: bold;">肺脏</span>:
69
+              {{ "呼吸音:"+item.huxiyin+getXiongmomocayin(item.xiongmomocayin)+getLuoYin(item.luoyin)}}
70
+            </div>
71
+            <div style="margin-top: 5px;">
72
+              <span style="font-weight: bold;">心脏</span>:
73
+              {{ getXinzangdaxiao(item.xinzangdaxiao)+getXinlv(item.xinlv)+getXinbaomocasheng(item.xinbaomocasheng)+getZaYin(item.zayin)+getFujiaYin(item.fujiayin)}}
74
+
75
+            </div>
76
+            <div style="margin-top: 5px;">
77
+              <span style="font-weight: bold;">腹部</span>:
78
+              {{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)}}
79
+            </div>
80
+            <div style="margin-top: 5px;">
81
+              <span style="font-weight: bold;">其他</span>:
82
+              {{ item.oth_desc }}
83
+            </div>
84
+          </div>
85
+
86
+
87
+        </div>
88
+
89
+
90
+      </div>
91
+    </div>
92
+  </div>
93
+</template>
94
+
95
+<script>
96
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
97
+import {  getPhysiqueCheckRecordsPrint } from '../../api/patient'
98
+import { uParseTime } from '@/utils/tools'
99
+import { fetchAllDoctorAndNurse } from "@/api/doctor";
100
+import print from "print-js";
101
+
102
+export default {
103
+  name: 'physiquePrinting',
104
+  data() {
105
+    return {
106
+      list: [],
107
+      crumbs: [
108
+        { path: false, name: '病人管理' },
109
+        { path: false, name: '病程打印' }
110
+      ],
111
+      loading: false,
112
+      orgname: '',
113
+      patient: {},
114
+      information: {
115
+        sex: '',
116
+        age: '',
117
+        birthday: '',
118
+        id_number: '',
119
+        patient_source: '',
120
+        dialysis_num: '',
121
+        first_date: '',
122
+        blood_type: '',
123
+        reimbursement: '',
124
+        work_unit: '',
125
+        contact_number: '',
126
+        home_address: '',
127
+        transplantation: '',
128
+        peritoneum: '',
129
+        allergy_drug: ''
130
+      },
131
+      medical_history: {
132
+        chief_complaint: '',
133
+        present_disease: '',
134
+        past: '',
135
+        personal: '',
136
+        marriage: '',
137
+        family: ''
138
+      },
139
+      physique: {
140
+        temperature: '',
141
+        heartbeat: '',
142
+        R: '',
143
+        Bp: '',
144
+        anemia: '',
145
+        cutaneous: '',
146
+        lymph_node: '',
147
+        head: '',
148
+        neck: '',
149
+        lung: '',
150
+        heart: '',
151
+        abdomen: '',
152
+        other: ''
153
+      },
154
+      diagnosis: ''
155
+    }
156
+  },
157
+  components: {
158
+    BreadCrumb
159
+  },
160
+  methods: {
161
+    fetchAllDoctorAndNurse() {
162
+      fetchAllDoctorAndNurse().then(response => {
163
+        if (response.data.state == 1) {
164
+          this.doctorOptions = response.data.data.doctors;
165
+        }
166
+      });
167
+    },
168
+    getDoctorName: function(doctor_id) {
169
+      for (let index = 0; index < this.doctorOptions.length; index++) {
170
+        const doctor = this.doctorOptions[index]
171
+        if (doctor.id == doctor_id) {
172
+          return doctor.name
173
+        }
174
+      }
175
+      return ''
176
+    },getPinxuerongmao(pinxuerongmao){
177
+      switch (pinxuerongmao){
178
+        case 0:
179
+          return '无贫血容貌,'
180
+          break
181
+        case 1:
182
+          return "无贫血容貌,"
183
+          break
184
+        case 2:
185
+          return "有贫血容貌,"
186
+          break
187
+      }
188
+
189
+    },
190
+    getTiwei(tiwei){
191
+      switch (tiwei){
192
+        case 0:
193
+          return "自主体位,"
194
+          break
195
+        case 1:
196
+          return "自主体位,"
197
+          break
198
+        case 2:
199
+          return "被动体位,"
200
+          break
201
+        case 3:
202
+          return "强迫体位,"
203
+          break
204
+      }
205
+    },getFuzhong(fuzhong){
206
+      switch (fuzhong){
207
+        case 0:
208
+          return '无浮肿,'
209
+          break
210
+        case 1:
211
+          return '无浮肿,'
212
+          break
213
+        case 2:
214
+          return '轻度浮肿,'
215
+          break
216
+        case 3:
217
+          return '中度浮肿,'
218
+          break
219
+        case 4:
220
+          return '重度浮肿,'
221
+          break
222
+      }
223
+    },getChuXuedian(chuxuedian){
224
+      switch (chuxuedian){
225
+        case 0:
226
+          return '出血点/瘀斑/血肿:无,'
227
+          break
228
+        case 1:
229
+          return '出血点/瘀斑/血肿:无,'
230
+          break
231
+        case 2:
232
+          return '出血点/瘀斑/血肿:未知,'
233
+          break
234
+        case 3:
235
+          return '出血点/瘀斑/血肿:有,'
236
+          break
237
+
238
+      }
239
+    },getFaYu(fayu){
240
+      switch (fayu){
241
+        case 0:
242
+          return '发育:正常,'
243
+          break
244
+        case 1:
245
+          return '发育:正常,'
246
+          break
247
+        case 2:
248
+          return '发育:不良,'
249
+          break
250
+      }
251
+    },getYinYang(yinyang){
252
+      switch (yinyang){
253
+        case 0:
254
+          return '营养:良好,'
255
+          break
256
+        case 1:
257
+          return '营养:良好,'
258
+          break
259
+        case 2:
260
+          return '营养:中等,'
261
+          break
262
+        case 3:
263
+          return '营养:不良,'
264
+          break
265
+        case 4:
266
+          return '营养:恶病质,'
267
+          break
268
+      }
269
+    },getShenzhi(shenzhi){
270
+      switch (shenzhi){
271
+        case 0:
272
+          return '神智:清楚'
273
+          break
274
+        case 1:
275
+          return '神智:清楚'
276
+          break
277
+        case 2:
278
+          return '神智:模糊'
279
+          break
280
+        case 3:
281
+          return '神智:昏迷'
282
+          break
283
+        case 4:
284
+          return '神智:其他'
285
+          break
286
+      }
287
+    },getPifuNianmo(pifunianmo){
288
+      switch (pifunianmo){
289
+        case 0:
290
+          return '皮肤黏膜正常,'
291
+          break
292
+        case 1:
293
+          return '皮肤黏膜正常,'
294
+          break
295
+        case 2:
296
+          return '皮肤黏膜灰暗,'
297
+          break
298
+        case 3:
299
+          return '皮肤黏膜苍白,'
300
+          break
301
+        case 4:
302
+          return '皮肤黏膜黄染,'
303
+          break
304
+        case 5:
305
+          return '皮肤黏膜色素沉着,'
306
+          break
307
+      }
308
+    },getPiXiaChuXue(pixiachuxue){
309
+      switch (pixiachuxue){
310
+        case 0:
311
+          return '无皮下出血,'
312
+          break
313
+        case 1:
314
+          return '无皮下出血,'
315
+          break
316
+        case 2:
317
+          return '有皮下出血,'
318
+          break
319
+
320
+      }
321
+
322
+    },getZidian(zidian){
323
+      switch (zidian){
324
+        case 0:
325
+          return '无紫癜,'
326
+          break
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 0:
339
+          return '皮肤温度:正常,'
340
+          break
341
+        case 1:
342
+          return '皮肤温度:正常,'
343
+          break
344
+        case 2:
345
+          return '皮肤温度:冷,'
346
+          break
347
+        case 3:
348
+          return '皮肤温度:干,'
349
+          break
350
+        case 4:
351
+          return '皮肤温度:湿,'
352
+          break
353
+
354
+      }
355
+
356
+    },getLinBaZongDa(linbazhongda){
357
+      switch (linbazhongda){
358
+        case 0:
359
+          return '浅表淋巴肿大:无'
360
+          break
361
+        case 1:
362
+          return '浅表淋巴肿大:无'
363
+          break
364
+        case 2:
365
+          return '浅表淋巴肿大:有'
366
+          break
367
+      }
368
+    },getYanJian(yanjian){
369
+      switch (yanjian){
370
+        case 0:
371
+          return '眼睑正常,'
372
+          break
373
+        case 1:
374
+          return '眼睑正常,'
375
+          break
376
+        case 2:
377
+          return '眼睑水肿,'
378
+          break
379
+
380
+      }
381
+
382
+    },getTongKong(tongkong){
383
+      switch (tongkong){
384
+        case 0:
385
+          return ''
386
+          break
387
+        case 1:
388
+          return '瞳孔(等大等圆):是,'
389
+          break
390
+        case 2:
391
+          return '瞳孔(等大等圆):否,'
392
+          break
393
+
394
+      }
395
+
396
+    },getXiongmomocayin(xiongmomocayin){
397
+
398
+      switch (xiongmomocayin){
399
+        case 0:
400
+          return ',无胸膜摩擦音,'
401
+          break
402
+        case 1:
403
+          return ',无胸膜摩擦音,'
404
+          break
405
+        case 2:
406
+          return ',有胸膜摩擦音,'
407
+          break
408
+
409
+      }
410
+    },getLuoYin(luoyin){
411
+      switch (luoyin){
412
+        case 0:
413
+          return '无啰音'
414
+          break
415
+        case 1:
416
+          return '无啰音'
417
+          break
418
+        case 2:
419
+          return '有啰音'
420
+          break
421
+
422
+      }
423
+
424
+
425
+    },getXinzangdaxiao(xinzangdaxiao){
426
+      switch (xinzangdaxiao){
427
+        case 0:
428
+          return '心脏大小正常,'
429
+          break
430
+        case 1:
431
+          return '心脏大小正常,'
432
+          break
433
+        case 2:
434
+          return '心脏大小偏大,'
435
+          break
436
+        case 3:
437
+          return '心脏大小偏小,'
438
+          break
439
+      }
440
+
441
+    },getXinlv(xinlv){
442
+      switch (xinlv){
443
+        case 0:
444
+          return '心率齐,'
445
+          break
446
+        case 1:
447
+          return '心率齐,'
448
+          break
449
+        case 2:
450
+          return '心率不齐,'
451
+          break
452
+      }
453
+
454
+    },getXinbaomocasheng(xinbaomocasheng){
455
+      switch (xinbaomocasheng){
456
+        case 0:
457
+          return '心包摩擦声无,'
458
+          break
459
+        case 1:
460
+          return '心包摩擦声无,'
461
+          break
462
+        case 2:
463
+          return '心包摩擦声有,'
464
+          break
465
+      }
466
+
467
+    },getZaYin(zayin){
468
+      switch (zayin){
469
+        case 0:
470
+          return '无杂音,'
471
+          break
472
+        case 1:
473
+          return '无杂音,'
474
+          break
475
+        case 2:
476
+          return '有杂音,'
477
+          break
478
+      }
479
+
480
+    },getFujiaYin(fujiayin){
481
+      switch (fujiayin){
482
+        case 0:
483
+          return '无附加音,'
484
+          break
485
+        case 1:
486
+          return '无附加音,'
487
+          break
488
+        case 2:
489
+          return '有附加音,'
490
+          break
491
+      }
492
+
493
+    },getFushuizheng(fushuizheng){
494
+      switch (fushuizheng){
495
+        case 0:
496
+          return '腹水征:阴性,'
497
+          break
498
+        case 1:
499
+          return '腹水征:阴性,'
500
+          break
501
+        case 2:
502
+          return '腹水征:阳性,'
503
+          break
504
+      }
505
+
506
+    },getGanZangYaTong(yatong){
507
+      switch (yatong){
508
+        case 0:
509
+          return '肝脏:无压痛,'
510
+          break
511
+        case 1:
512
+          return '肝脏:无压痛,'
513
+          break
514
+        case 2:
515
+          return '肝脏:有压痛,'
516
+          break
517
+      }
518
+
519
+    },getGanZangkouTong(koutong){
520
+      switch (koutong){
521
+        case 0:
522
+          return '无叩痛,'
523
+          break
524
+        case 1:
525
+          return '无叩痛,'
526
+          break
527
+        case 2:
528
+          return '有叩痛,'
529
+          break
530
+      }
531
+
532
+    },getPiZangYaTong(yatong){
533
+      switch (yatong){
534
+        case 0:
535
+          return '无压痛,'
536
+          break
537
+        case 1:
538
+          return '无压痛,'
539
+          break
540
+        case 2:
541
+          return '有压痛,'
542
+          break
543
+      }
544
+
545
+    },getPiZangkouTong(koutong){
546
+      switch (koutong){
547
+        case 0:
548
+          return '无叩痛,'
549
+          break
550
+        case 1:
551
+          return '无叩痛,'
552
+          break
553
+        case 2:
554
+          return '有叩痛,'
555
+          break
556
+      }
557
+
558
+    },getshenZangyatong(yatong){
559
+      switch (yatong){
560
+        case 0:
561
+          return '无压痛,'
562
+          break
563
+        case 1:
564
+          return '无压痛,'
565
+          break
566
+        case 2:
567
+          return '有压痛,'
568
+          break
569
+      }
570
+
571
+    },getshenZangkoutong(koutong){
572
+      switch (koutong){
573
+        case 0:
574
+          return '无叩痛'
575
+          break
576
+        case 1:
577
+          return '无叩痛'
578
+          break
579
+        case 2:
580
+          return '有叩痛'
581
+          break
582
+      }
583
+
584
+    },
585
+    getWayOptions(reimbursement_way_id) {
586
+      this.wayOptions = this.$store.getters.reimbursement_ways;
587
+      let wayLen = this.wayOptions.length
588
+      for (let index = 0; index < wayLen; index++) {
589
+        if (this.wayOptions[index].id === reimbursement_way_id) {
590
+          return  this.wayOptions[index].name
591
+        }
592
+      }
593
+    },
594
+    getBloodType(type) {
595
+      var types = this.$store.getters.blood_types
596
+      for (let i = 0; i < types.length; i++) {
597
+        if (types[i].id == type) {
598
+          return types[i].name
599
+        }
600
+      }
601
+    },
602
+    getPatientGender(gender) {
603
+      if (gender == 1) {
604
+        return '男'
605
+      } else if (gender == 2) {
606
+        return '女'
607
+      }
608
+      return ''
609
+    },
610
+    getTime(value, temp) {
611
+      if (value != undefined) {
612
+        return uParseTime(value, temp)
613
+      }
614
+      return ''
615
+    },
616
+    getPhysiquePrintList() {
617
+      let params = {
618
+        ids: this.$route.query.ids,
619
+        patient_id: this.$route.query.patient_id
620
+      }
621
+      getPhysiqueCheckRecordsPrint(params).then(response => {
622
+        if (response.data.state == 1) {
623
+          this.patient = response.data.data.patient
624
+          this.list = response.data.data.sickhistorys
625
+        }
626
+      })
627
+    },
628
+    printAction: function() {
629
+      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;}'
630
+      printJS({
631
+        printable: 'print_content',
632
+        type: 'html',
633
+        documentTitle: '  ',
634
+        style: style,
635
+        scanStyles: false
636
+      })
637
+    }
638
+  },
639
+  created() {
640
+    this.getPhysiquePrintList()
641
+    this.fetchAllDoctorAndNurse()
642
+  }
643
+}
644
+</script>
645
+<style scoped>
646
+.print_page_main_content {
647
+  background-color: white;
648
+  width: 960px;
649
+  margin: 0 auto 50px;
650
+  padding: 0 0 0 0;
651
+  page-break-after: always;
652
+}
653
+
654
+</style>

+ 1 - 1
src/xt_pages/user/rescueRecord.vue Voir le fichier

@@ -87,7 +87,7 @@
87 87
             <el-col :span="14">
88 88
               <div class="record_content_panel">
89 89
                 <div class="title">抢救内容</div>
90
-                <div class="content">
90
+                <div class="content" style="word-break: break-all;word-wrap: break-word">
91 91
                   {{
92 92
                     current_select_record == null
93 93
                       ? ""

+ 641 - 0
src/xt_pages/user/sickHistory.vue Voir le fichier

@@ -0,0 +1,641 @@
1
+<template>
2
+  <!-- <div class="main-contain">
3
+      <div class="position">
4
+         <bread-crumb></bread-crumb>
5
+      </div> -->
6
+  <div class="patient-container">
7
+    <patient-sidebar :id="patient_id" defaultActive="3-1"></patient-sidebar>
8
+    <!-- <div class="app-container"> -->
9
+    <div v-loading="loading">
10
+      <div class="patient-app-container advice-container app-container">
11
+
12
+        <div>
13
+                    <span style="margin-left: 10px;float:right;">
14
+                        <el-button type="primary" icon="el-icon-circle-plus-outline" size="small"
15
+                                   @click="showDialog">新增</el-button>
16
+
17
+                        <el-button type="primary" icon="el-icon-edit-outline" size="small"
18
+                                   @click="showEdit">修改</el-button>
19
+                      <el-button type="primary" icon="el-icon-printer" size="small"
20
+                                 @click="print">打印</el-button>
21
+                        <el-button size="small" v-show="selectingRows.length > 0" type="danger"
22
+                                   @click="deleteAction">删除</el-button>
23
+                    </span>
24
+          <!--<span class="filter_title">日期查询</span>-->
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
+        </div>
27
+        <div class="cell clearfix">
28
+          <label class="title"><span class="name">日期查询</span> : </label>
29
+          <el-date-picker v-model="start_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
30
+                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
31
+                          value-format="yyyy-MM-dd" @change="startTimeChange"></el-date-picker>
32
+          <span class="">-</span>
33
+          <el-date-picker v-model="end_time" prefix-icon="el-icon-date" :editable="false" style="width: 196px;"
34
+                          type="date" placeholder="选择日期时间" align="right" format="yyyy-MM-dd"
35
+                          value-format="yyyy-MM-dd" @change="endTimeChange"></el-date-picker>
36
+        </div>
37
+        <div class="record">
38
+          <el-row :gutter="15">
39
+            <el-col :span="10">
40
+              <el-table
41
+
42
+                :header-cell-style="{
43
+                  backgroundColor: 'rgb(245, 247, 250)',
44
+                  color: '#606266'
45
+                }"
46
+                        :row-style="{ color: '#303133' }" ref="record_table" :data="records"
47
+                        border highlight-current-row @current-change="didChangeCurrentRecord"
48
+                        @selection-change="didSelectionChange"
49
+                        :row-class-name="tableRow"
50
+                        height="600px"
51
+                        @row-click="onRowClick"
52
+
53
+              >
54
+                <el-table-column type="selection" width="70"></el-table-column>
55
+                <el-table-column label="标题" align="center">
56
+                  <template slot-scope="scope">
57
+                    {{ scope.row.title}}
58
+                  </template>
59
+                </el-table-column>
60
+                <el-table-column label="记录日期" align="center">
61
+                  <template slot-scope="scope">
62
+                    {{ recordTime(scope.row.record_time) }}
63
+                  </template>
64
+                </el-table-column>
65
+                <el-table-column label="记录医生" align="center">
66
+                  <template slot-scope="scope">
67
+                    {{ doctorName(scope.row.doctor_id) }}
68
+                  </template>
69
+                </el-table-column>
70
+              </el-table>
71
+            </el-col>
72
+            <el-col :span="14">
73
+              <div class="record_content_panel">
74
+                <div style="background-color:rgb(245, 247, 250)" class="title">病史详情</div>
75
+                <div class="content" style="word-break: break-all;word-wrap: break-word">
76
+                  <span v-if="current_select_record" v-html="current_select_record.content">{{current_select_record.content }}</span>
77
+                  <span v-else></span>
78
+                </div>
79
+              </div>
80
+            </el-col>
81
+          </el-row>
82
+        </div>
83
+      </div>
84
+      <!-- </div> -->
85
+      <el-dialog title="新增病史记录" width="70%" top="5vh" :visible.sync="show_dialog">
86
+        <div>
87
+          <div class="new_record_form">
88
+            <div class="cell clearfix">
89
+              <label class="title"><span class="name">病程标题</span> : </label>
90
+              <el-input v-model="title" style="width: 150px"></el-input>
91
+
92
+              <label class="title"><span class="name">日期</span> : </label>
93
+              <el-date-picker v-model="sick_history_time" prefix-icon="el-icon-date" :editable="false"
94
+                              style="width: 150px;"
95
+                              type="datetime" placeholder="选择日期时间" align="right" format="yyyy-MM-dd HH:mm:ss"
96
+                              value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
97
+
98
+
99
+              <label class="title"><span class="name">肾移植史</span> : </label>
100
+              <el-select style="width: 150px;" v-model="is_shenyizhishi" placeholder="选择肾移植史" >
101
+                <el-option label="无" value="0"></el-option>
102
+                <el-option label="有" value="1"></el-option>
103
+              </el-select>
104
+            </div>
105
+
106
+            <div class="cell clearfix">
107
+
108
+              <label class="title"><span class="name">腹膜透析史</span> : </label>
109
+              <el-select style="width: 150px;" v-model="is_fumotouxishi" placeholder="选择腹膜透析史" >
110
+                <el-option label="无" value="0"></el-option>
111
+                <el-option label="有" value="1"></el-option>
112
+              </el-select>
113
+
114
+              <label class="title"><span class="name">医生</span> : </label>
115
+              <el-select style="width: 100px;" v-model="doctor_id" placeholder="请选择医生">
116
+                <el-option v-for="(item,index) in doctorOptions" :label="item.name" :value="item.id" :key="index"></el-option>
117
+              </el-select>
118
+
119
+              <label class="title"><span class="name">过敏药物</span> : </label>
120
+              <el-select style="width: 100px;" v-model="is_guominyaowu" placeholder="选择过敏药物">
121
+                <el-option label="无" value="0"></el-option>
122
+                <el-option label="有" value="1"></el-option>
123
+                <el-option label="不详" value="2"></el-option>
124
+
125
+              </el-select>
126
+              <el-input v-if="is_guominyaowu == 1" v-model="guominyaowu_desc"></el-input>
127
+
128
+            </div>
129
+
130
+            <div class="cell clearfix">
131
+              <label class="title"><span class="name">病史模版</span> : </label>
132
+              <el-select v-model="select_template" placeholder="选择病史模板" @change="didSelectTemplate">
133
+                <el-option v-for="(option, index) in templates" :key="index" :label="option.title"
134
+                           :value="option.content"></el-option>
135
+              </el-select>
136
+            </div>
137
+
138
+            <div class="textarea_panel">
139
+              <keep-alive>
140
+                <editor ref="editor"
141
+                        id="editors"
142
+                        style="width: 600px"
143
+                        v-bind:r_content="new_content"
144
+                >
145
+                </editor>
146
+              </keep-alive>
147
+            </div>
148
+
149
+            <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
150
+              <el-button @click="show_dialog = false">取消</el-button>
151
+              <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" type="primary"
152
+                         @click="createAction" :loading="uploading_new_record">保存
153
+              </el-button>
154
+            </div>
155
+          </div>
156
+        </div>
157
+      </el-dialog>
158
+      <el-dialog title="修改病史记录" width="50%" top="5vh" :visible.sync="show_edit_dialog">
159
+        <div>
160
+          <div class="new_record_form">
161
+            <div class="cell clearfix">
162
+              <label class="title"><span class="name">病程标题</span> : </label>
163
+              <el-input v-model="edit_title" style="width: 150px"></el-input>
164
+
165
+              <label class="title"><span class="name">日期</span> : </label>
166
+              <el-date-picker v-model="edit_sick_history_time" prefix-icon="el-icon-date" :editable="false"
167
+                              style="width: 150px;"
168
+                              type="datetime" placeholder="选择日期时间" align="right" format="yyyy-MM-dd HH:mm:ss"
169
+                              value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
170
+
171
+
172
+              <label class="title"><span class="name">肾移植史</span> : </label>
173
+              <el-select style="width: 150px;" v-model="edit_is_shenyizhishi" placeholder="选择肾移植史" >
174
+                <el-option label="无" value="0"></el-option>
175
+                <el-option label="有" value="1"></el-option>
176
+              </el-select>
177
+            </div>
178
+
179
+            <div class="cell clearfix">
180
+
181
+              <label class="title"><span class="name">腹膜透析史</span> : </label>
182
+              <el-select style="width: 150px;" v-model="edit_is_fumotouxishi" placeholder="选择腹膜透析史" >
183
+                <el-option label="无" value="0"></el-option>
184
+                <el-option label="有" value="1"></el-option>
185
+              </el-select>
186
+
187
+              <label class="title"><span class="name">医生</span> : </label>
188
+              <el-select style="width: 100px;" v-model="edit_doctor_id" placeholder="请选择医生">
189
+                <el-option v-for="(item,index) in doctorOptions" :label="item.name" :value="item.id" :key="index"></el-option>
190
+              </el-select>
191
+
192
+              <label class="title"><span class="name">过敏药物</span> : </label>
193
+              <el-select style="width: 100px;" v-model="edit_is_guominyaowu" placeholder="选择过敏药物">
194
+                <el-option label="无" value="0"></el-option>
195
+                <el-option label="有" value="1"></el-option>
196
+              </el-select>
197
+              <el-input v-if="edit_is_guominyaowu == 1" v-model="edit_guominyaowu_desc"></el-input>
198
+
199
+            </div>
200
+
201
+            <div class="cell clearfix">
202
+              <label class="title"><span class="name">病史模版</span> : </label>
203
+              <el-select v-model="select_template" placeholder="选择病史模板" @change="didSelectTemplate">
204
+                <el-option v-for="(option, index) in templates" :key="index" :label="option.title"
205
+                           :value="option.content"></el-option>
206
+              </el-select>
207
+            </div>
208
+
209
+            <div class="textarea_panel">
210
+              <keep-alive>
211
+                <editor ref="edit_neditor"
212
+                        id="editors"
213
+                        style="width: 600px"
214
+                        v-bind:r_content="edit_new_content"
215
+                >
216
+                </editor>
217
+              </keep-alive>
218
+            </div>
219
+
220
+
221
+            <div style="text-align: right; padding-right: 0px; padding-top: 10px; padding-bottom: 10px;">
222
+              <el-button @click="show_edit_dialog = false">取消</el-button>
223
+              <el-button type="primary"
224
+                         @click="modifyAction" :loading="uploading_new_record">保存
225
+              </el-button>
226
+            </div>
227
+          </div>
228
+        </div>
229
+      </el-dialog>
230
+    </div>
231
+  </div>
232
+
233
+  <!-- </div> -->
234
+</template>
235
+
236
+<script>
237
+import PatientSidebar from './components/PatientSidebar'
238
+import Editor from '@/components/Editor'
239
+import { fetchAllDoctorAndNurse } from "@/api/doctor";
240
+
241
+import {
242
+  createSickHistoryRecord,
243
+  deleteSickHistoryRecords,
244
+  GetSickHistoryRecords,
245
+  ModifySickHistoryRecord,
246
+} from '@/api/patient'
247
+import { parseTime } from '@/utils'
248
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
249
+
250
+export default {
251
+  name: 'CourseOfDisease',
252
+  components: {
253
+    PatientSidebar,
254
+    BreadCrumb,
255
+    Editor
256
+  },
257
+  data() {
258
+    return {
259
+      loading: false,
260
+      title: '',
261
+      patient_id: 0,
262
+      date: [],
263
+      start_time: '',
264
+      end_time: '',
265
+      sick_history_time: '',
266
+      is_shenyizhishi:'',
267
+      is_fumotouxishi:'',
268
+      is_guominyaowu:'',
269
+      guominyaowu_desc:"",
270
+
271
+      edit_is_shenyizhishi:'',
272
+      edit_is_fumotouxishi:'',
273
+      edit_is_guominyaowu:'',
274
+      edit_guominyaowu_desc:"",
275
+
276
+      doctor_id:"",
277
+      doctorOptions:null,
278
+      records: [],
279
+      doctors: [],
280
+      current_select_record: null,
281
+      show_dialog: false,
282
+      show_edit_dialog: false,
283
+      uploading_new_record: false,
284
+      templates: this.$store.getters.configlist.sick_history,
285
+      select_template:"",
286
+      new_content: '',
287
+      edit_new_content: '',
288
+      edit_sick_history_time: '',
289
+      selectingRows: [],
290
+      table_current_index: -1,
291
+      edit_current_id: 0,
292
+      edit_doctor_id:0,
293
+      edit_title: '',
294
+      ids:"",
295
+      idArr:[],
296
+    }
297
+  },
298
+  created() {
299
+    this.patient_id = parseInt(this.$route.query.id)
300
+    if (isNaN(this.patient_id) || this.patient_id <= 0) {
301
+      this.$notify.error({
302
+        title: '错误',
303
+        message: '无效的id'
304
+      })
305
+      this.$router.push('/patients/patients')
306
+      return
307
+    }
308
+    var now = new Date()
309
+    this.date = [now.getTime() - (7 * 24 * 60 * 60 * 1000), now.getTime()]
310
+
311
+    var nowDate = new Date()
312
+    var nowYear = nowDate.getFullYear()
313
+    var nowMonth = nowDate.getMonth() + 1
314
+    var nowDay = nowDate.getDate()
315
+    this.end_time =
316
+      nowYear +
317
+      '-' +
318
+      (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
319
+      '-' +
320
+      (nowDay < 10 ? '0' + nowDay : nowDay)
321
+    nowDate.setMonth(nowDate.getMonth() - 1)
322
+    nowYear = nowDate.getFullYear()
323
+    nowMonth = nowDate.getMonth() + 1
324
+    nowDay = nowDate.getDate()
325
+    this.start_time =
326
+      nowYear +
327
+      '-' +
328
+      (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
329
+      '-' +
330
+      (nowDay < 10 ? '0' + nowDay : nowDay)
331
+
332
+    this.requestSickHistory()
333
+    this.fetchAllDoctorAndNurse()
334
+
335
+  },
336
+  methods: {
337
+    fetchAllDoctorAndNurse() {
338
+      fetchAllDoctorAndNurse().then(response => {
339
+        if (response.data.state == 1) {
340
+          this.doctorOptions = response.data.data.doctors;
341
+        }
342
+      });
343
+    },
344
+    requestSickHistory: function() {
345
+      this.loading = true
346
+      let params = {
347
+        patient_id:this.patient_id,
348
+        start_time:this.start_time,
349
+        end_time:this.end_time,
350
+      }
351
+      GetSickHistoryRecords(params).then(rs => {
352
+        this.loading = false
353
+        var resp = rs.data
354
+        if (resp.state == 1) {
355
+          this.current_select_record = null
356
+          this.records = resp.data.records
357
+          this.doctors = resp.data.doctors
358
+          this.$refs.record_table.setCurrentRow(this.records[0])
359
+        } else {
360
+          this.$message.error(resp.msg)
361
+        }
362
+      }).catch(error => {
363
+        this.loading = false
364
+        this.$message.error(error)
365
+      })
366
+    },
367
+
368
+    didChangeCurrentRecord: function(record) {
369
+      this.current_select_record = record
370
+    },
371
+    recordTime: function(timestamp) {
372
+      var time = new Date(timestamp * 1000)
373
+      return parseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')
374
+    },
375
+    doctorName: function(doctor_id) {
376
+      for (let index = 0; index < this.doctorOptions.length; index++) {
377
+        const doctor = this.doctorOptions[index]
378
+        if (doctor.id == doctor_id) {
379
+          return doctor.name
380
+        }
381
+      }
382
+      return ''
383
+    },
384
+    modifyAction: function() {
385
+      this.edit_new_content = this.$refs.edit_neditor.content
386
+      if (this.edit_new_content.length == 0) {
387
+        this.$message.error('请填写病程内容')
388
+        return
389
+      }
390
+      this.uploading_new_record = true
391
+      let params = {
392
+        id:this.edit_current_id,
393
+        patient_id: this.patient_id,
394
+        content: this.edit_new_content,
395
+        record_time: this.edit_sick_history_time,
396
+        title: this.edit_title,
397
+        is_shenyizhishi:this.edit_is_shenyizhishi,
398
+        is_fumotouxishi:this.edit_is_fumotouxishi,
399
+        is_guominyaowu:this.edit_is_guominyaowu,
400
+        guominyaowu_desc:this.edit_guominyaowu_desc,
401
+        doctor_id: this.edit_doctor_id
402
+      }
403
+
404
+      ModifySickHistoryRecord(params).then(rs => {
405
+        this.uploading_new_record = false
406
+        var resp = rs.data
407
+        if (resp.state == 1) {
408
+          this.records[this.table_current_index].content = resp.data.record.content
409
+          this.records[this.table_current_index].record_time = resp.data.record.record_time
410
+          this.records[this.table_current_index].recorder = resp.data.record.recorder
411
+          this.records[this.table_current_index].title = resp.data.record.title
412
+          this.records[this.table_current_index].doctor_id = resp.data.record.doctor_id
413
+          this.records[this.table_current_index].is_shenyizhi_history = resp.data.record.is_shenyizhi_history
414
+          this.records[this.table_current_index].is_fumo_dialysis_history = resp.data.record.is_fumo_dialysis_history
415
+          this.records[this.table_current_index].is_hypersusceptibility = resp.data.record.is_hypersusceptibility
416
+          this.records[this.table_current_index].hypersusceptibility_desc = resp.data.record.hypersusceptibility_desc
417
+          this.show_edit_dialog = false
418
+          this.edit_new_content = ''
419
+          this.table_current_index = -1
420
+        } else {
421
+          this.table_current_index = -1
422
+          this.$message.error(resp.msg)
423
+        }
424
+
425
+      }).catch(error => {
426
+        this.table_current_index = -1
427
+        this.uploading_new_record = false
428
+        this.$message.error(error)
429
+      })
430
+
431
+    },
432
+
433
+    createAction: function() {
434
+      this.new_content = this.$refs.editor.content
435
+      if (this.new_content.length == 0) {
436
+        this.$message.error('请填写病程内容')
437
+        return
438
+      }
439
+      this.uploading_new_record = true
440
+      let params = {
441
+        patient_id: this.patient_id,
442
+        content: this.new_content,
443
+        record_time: this.sick_history_time,
444
+        title: this.title,
445
+        is_shenyizhishi:this.is_shenyizhishi,
446
+        is_fumotouxishi:this.is_fumotouxishi,
447
+        is_guominyaowu:this.is_guominyaowu,
448
+        guominyaowu_desc:this.guominyaowu_desc,
449
+        doctor_id: this.doctor_id
450
+      }
451
+      createSickHistoryRecord(params).then(rs => {
452
+        this.uploading_new_record = false
453
+        this.$message.success("新增成功")
454
+        var resp = rs.data
455
+        if (resp.state == 1) {
456
+          this.records.unshift(resp.data.record)
457
+          this.show_dialog = false
458
+          this.new_content = ''
459
+          this.title = ''
460
+          this.$refs.record_table.setCurrentRow(this.records[0])
461
+        } else {
462
+          this.$message.error(resp.msg)
463
+        }
464
+
465
+      }).catch(error => {
466
+        this.uploading_new_record = false
467
+        this.$message.error(error)
468
+      })
469
+    },
470
+    didSelectTemplate: function(templateContent) {
471
+      this.new_content = this.new_content.length > 0 ? (this.new_content + templateContent) : templateContent
472
+
473
+    }, didEditSelectTemplate: function(templateContent) {
474
+      this.edit_new_content = this.edit_new_content.length > 0 ? (this.edit_new_content + templateContent) : templateContent
475
+    },
476
+
477
+    didSelectionChange: function(selectRows) {
478
+
479
+      var arr = []
480
+      for(let i=0;i<selectRows.length;i++){
481
+        arr.push(selectRows[i].id)
482
+      }
483
+      var newArr = arr.join(',')
484
+      this.ids = newArr
485
+      console.log("select23322332",this.ids)
486
+      this.selectingRows = selectRows
487
+    },
488
+    deleteAction: function() {
489
+      if (this.selectingRows.length == 0) {
490
+        return
491
+      }
492
+      var ids = []
493
+      for (let index = 0; index < this.selectingRows.length; index++) {
494
+        const row = this.selectingRows[index]
495
+        ids.push(row.id)
496
+      }
497
+      var ids_str = ids.join(',')
498
+      this.loading = true
499
+
500
+      let params={
501
+        patient_id:this.patient_id,
502
+        ids:ids_str,
503
+      }
504
+
505
+      deleteSickHistoryRecords(params).then(rs => {
506
+        var resp = rs.data
507
+        if (resp.state == 1) {
508
+          for (let id_index = 0; id_index < ids.length; id_index++) {
509
+            for (let record_index = 0; record_index < this.records.length; record_index++) {
510
+              if (ids[id_index] == this.records[record_index].id) {
511
+                this.records.splice(record_index, 1)
512
+                break
513
+              }
514
+            }
515
+          }
516
+          this.selectingRows = []
517
+          this.$message.success('已删除')
518
+
519
+        } else {
520
+          this.$message.error(resp.msg)
521
+        }
522
+        this.loading = false
523
+      }).catch(err => {
524
+        this.loading = false
525
+        this.$message.error(err)
526
+      })
527
+    }, startTimeChange(val) {
528
+      this.requestSickHistory()
529
+    }, endTimeChange(val) {
530
+      this.requestSickHistory()
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() {
540
+      if (this.table_current_index == -1) {
541
+        this.$message.error('请选择要修改的病程内容')
542
+        return
543
+      }
544
+      this.edit_is_shenyizhishi = this.records[this.table_current_index].is_shenyizhi_history.toString()
545
+      this.edit_is_fumotouxishi = this.records[this.table_current_index].is_fumo_dialysis_history.toString()
546
+      this.edit_is_guominyaowu = this.records[this.table_current_index].is_hypersusceptibility.toString()
547
+      this.edit_guominyaowu_desc = this.records[this.table_current_index].hypersusceptibility_desc
548
+      this.edit_sick_history_time = this.recordTime(this.records[this.table_current_index].record_time)
549
+      this.edit_new_content = this.records[this.table_current_index].content
550
+      this.edit_current_id = this.records[this.table_current_index].id
551
+      this.edit_doctor_id = this.records[this.table_current_index].doctor_id
552
+      console.log(this.edit_new_content )
553
+      this.edit_title = this.records[this.table_current_index].title//
554
+      this.show_edit_dialog = true
555
+
556
+      this.$refs.record_table.setCurrentRow(null)
557
+
558
+    }, tableRow({ row, rowIndex }) {
559
+      // 把每一行的索引放进row
560
+      row.index = rowIndex
561
+    }, onRowClick(row, event, column) {
562
+      this.table_current_index = row.index
563
+    },
564
+    print(){
565
+      // if (this.table_current_index == -1) {
566
+      //   this.$message.error('请选择要打印的病程')
567
+      //   return
568
+      // }
569
+      if(this.ids.length == 0){
570
+        this.$message.error('请选择要打印的病程')
571
+        return
572
+      }
573
+      this.$router.push({ path: "/sickhistory/print?ids="+this.ids+"&patient_id="+this.patient_id});
574
+    }
575
+  }
576
+}
577
+</script>
578
+
579
+<style rel="stylesheet/css" lang="scss" scoped>
580
+.container {
581
+  margin-left: 180px;
582
+  padding: 20px;
583
+  background: #fff;
584
+  min-height: calc(100vh - 173px);
585
+  margin-bottom: 15px;
586
+
587
+.record {
588
+  padding-top: 20px;
589
+}
590
+
591
+}
592
+.record_content_panel {
593
+  border-width: 1px;
594
+  border-style: solid;
595
+  border-color: #ebeef5;
596
+  min-height: 200px;
597
+
598
+.title {
599
+  font-size: 14px;
600
+  font-weight: 500;
601
+  color: #909399;
602
+  line-height: 44px;
603
+  height: 44px;
604
+  text-align: center;
605
+  border-bottom-width: 1px;
606
+  border-bottom-style: solid;
607
+  border-bottom-color: #ebeef5;
608
+}
609
+
610
+.content {
611
+  padding: 12px 15px;
612
+  font-size: 15px;
613
+  color: gray;
614
+  line-height: 22px;
615
+}
616
+
617
+}
618
+
619
+.new_record_form {
620
+
621
+/*/ / padding: 10 px, 25 px;*/
622
+
623
+.textarea_panel {
624
+  margin-top: 10px;
625
+}
626
+
627
+}
628
+</style>
629
+<style>
630
+.el-table td,
631
+.el-table th.is-leaf,
632
+.el-table--border,
633
+.el-table--group {
634
+  border-color: #d0d3da;
635
+}
636
+.el-table--border::after,
637
+.el-table--group::after,
638
+.el-table::before {
639
+  background-color: #d0d3da;
640
+}
641
+</style>

+ 5 - 2
src/xt_pages/user/templateSummary.vue Voir le fichier

@@ -86,10 +86,13 @@
86 86
                   <span style="margin-right:10px;line-height:30px;">透前血压(mmHg):{{editObj.befor_pressure}}</span>
87 87
                   <span style="margin-right:10px;line-height:30px;">透后血压(mmHg):{{editObj.after_pressure}}</span>
88 88
                 </div> -->
89
-                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">阶段小结总结:
89
+                 <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
90
+                  word-break: break-all;word-wrap: break-word">
91
+                  阶段小结总结:
90 92
                    <span v-html="editObj.template_summary_content"></span>
91 93
                  </div>
92
-                <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;">阶段小结化验结果:
94
+                <div style="padding:10px;border-bottom:1px solid #DCDFE6;line-height:20px;
95
+                word-break: break-all;word-wrap: break-word">阶段小结化验结果:
93 96
                   <div>
94 97
                     <div v-for="item in editObj.template_inspection_content">
95 98
                     <p style="font-weight: bold;margin: 10px 0;">{{ item.project_name }} 检查日期:{{getTime(item.arr[0].inspect_date)}}</p>