浏览代码

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

XMLWAN 3 年前
父节点
当前提交
0af33d30d7
共有 33 个文件被更改,包括 4245 次插入2426 次删除
  1. 12 0
      src/api/his/his_tools.js
  2. 8 0
      src/api/warehouse.js
  3. 10 1
      src/views/layout/components/Navbar.vue
  4. 22 11
      src/xt_pages/hospitalStation/components/chargeDialog.vue
  5. 43 200
      src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue
  6. 1 1
      src/xt_pages/hospitalStation/components/prescriptionTable.vue
  7. 6 6
      src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue
  8. 90 102
      src/xt_pages/hospitalStation/outpatientChargesManagement.vue
  9. 1 1
      src/xt_pages/hospitalStation/settlementPrint.vue
  10. 1136 0
      src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue
  11. 0 461
      src/xt_pages/hospitalStation/settlementTemplate/printOne.vue
  12. 516 403
      src/xt_pages/hospitalStation/statementPrint.vue
  13. 5 1
      src/xt_pages/hospitalStation/summary.vue
  14. 2 3
      src/xt_pages/hospitalStation/template/printOne.vue
  15. 8 0
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  16. 2 2
      src/xt_pages/outpatientCharges/costComparison.vue
  17. 0 1
      src/xt_pages/outpatientCharges/invoicePrint.vue
  18. 13 13
      src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue
  19. 1 1
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  20. 221 13
      src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue
  21. 5 3
      src/xt_pages/outpatientCharges/statementPrint.vue
  22. 6 6
      src/xt_pages/outpatientCharges/statementTemplate/privateChargePrint.vue
  23. 227 211
      src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue
  24. 459 452
      src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/printOne.vue
  25. 2 2
      src/xt_pages/outpatientDoctorStation/pastInquiries.vue
  26. 401 0
      src/xt_pages/outpatientTool/components/detailStatistics.vue
  27. 13 0
      src/xt_pages/outpatientTool/components/gatherStatistics.vue
  28. 335 0
      src/xt_pages/outpatientTool/statistics.vue
  29. 57 33
      src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue
  30. 14 14
      src/xt_pages/stock/warehouseManage/query.vue
  31. 4 5
      src/xt_pages/stock/warehouseManage/waresetting.vue
  32. 622 477
      src/xt_pages/supply/components/addGoodReturn.vue
  33. 3 3
      src/xt_pages/user/vascularAccess.vue

+ 12 - 0
src/api/his/his_tools.js 查看文件

@@ -0,0 +1,12 @@
1
+import request from "@/utils/request";
2
+
3
+
4
+export function GetAllPatients() {
5
+  return request({
6
+    url: "/api/his/patient",
7
+    method: "get",
8
+  });
9
+}
10
+
11
+
12
+

+ 8 - 0
src/api/warehouse.js 查看文件

@@ -131,3 +131,11 @@ export function updatedrugout(params) {
131 131
     params: params
132 132
   })
133 133
 }
134
+//获取管理员列表()
135
+export function getusername(params) {
136
+  return request({
137
+    url: '/api/secondary/getusername',
138
+    method: 'get',
139
+    params: params
140
+  })
141
+}

+ 10 - 1
src/views/layout/components/Navbar.vue 查看文件

@@ -83,6 +83,8 @@
83 83
           </el-dropdown-menu>
84 84
         </el-dropdown>
85 85
       </div>
86
+
87
+      <div style="margin-left: 50px" v-if="org_config.code&&org_config.code.length >0">机构编码:{{org_config.code}}</div>
86 88
     </div>
87 89
     <div class="navRight">
88 90
       <!-- <el-input placeholder="搜索患者透析号/姓名/首拼" prefix-icon="el-icon-search" v-model="input2"></el-input>
@@ -101,6 +103,7 @@
101 103
             <i class="el-icon-caret-bottom"></i>
102 104
           </div>
103 105
           <el-dropdown-menu slot="dropdown">
106
+            <el-dropdown-item >医师编码: {{role.doctor_number}}</el-dropdown-item>
104 107
             <el-dropdown-item command="modifyUserInfoAction"
105 108
               >个人信息</el-dropdown-item
106 109
             >
@@ -183,7 +186,9 @@ export default {
183 186
       is_super_admin: 0,
184 187
       wrap1:false,
185 188
       wrap2:false,
186
-      information:{}
189
+      information:{},
190
+      org_config:{},
191
+      role:{},
187 192
       // scrm_role_exist: $store.getters.xt_user.scrm_role_exist
188 193
     };
189 194
   },
@@ -392,6 +397,10 @@ export default {
392 397
             this.org_name = this.orgs[i].org_name;
393 398
           }
394 399
         }
400
+
401
+        this.org_config = response.data.data.org_config
402
+        this.role = response.data.data.role
403
+
395 404
         localStorage.setItem("org_id",creator.org_id);
396 405
         sessionStorage.setItem("org_id",creator.org_id);
397 406
         sessionStorage.setItem("admin_user_id",creator.admin_user_id);

+ 22 - 11
src/xt_pages/hospitalStation/components/chargeDialog.vue 查看文件

@@ -9,24 +9,24 @@
9 9
       </el-form-item>
10 10
 
11 11
       <el-form-item label="总计:" prop="name" :validate-event="is_Name" style="width:33%;">
12
-        <el-input type="number" v-model="form.total" :disabled="true"></el-input>
12
+        <el-input style="color: black" type="number" v-model="form.total" :disabled="true"></el-input>
13 13
       </el-form-item>
14 14
       <el-form-item label="医保:" prop="name" :validate-event="is_Name" style="width:33%;">
15
-        <el-input type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
15
+        <el-input style="color: black"  type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
16 16
       </el-form-item>
17 17
 
18 18
 
19 19
       <el-form-item label="自费:" prop="age" :validate-event="is_Name" style="width:33%;">
20
-        <el-input type="number" v-model="form.private_price" :disabled="true"></el-input>
20
+        <el-input style="color: black"  type="number" v-model="form.private_price" :disabled="true"></el-input>
21 21
       </el-form-item>
22 22
 
23 23
       <el-form-item label="个账支出:" prop="age" :validate-event="is_Name" style="width:33%;">
24
-        <el-input type="number" v-model="form.acct_pay" :disabled="true"></el-input>
24
+        <el-input style="color: black"  type="number" v-model="form.acct_pay" :disabled="true"></el-input>
25 25
       </el-form-item>
26 26
 
27 27
 
28 28
       <el-form-item label="个人现金支出:" prop="age" :validate-event="is_Name" style="width:33%;">
29
-        <el-input type="number" v-model="form.psn_pay" :disabled="true"></el-input>
29
+        <el-input style="color: black"  type="number" v-model="form.psn_pay" :disabled="true"></el-input>
30 30
       </el-form-item>
31 31
 
32 32
 
@@ -47,7 +47,7 @@
47 47
 
48 48
 
49 49
       <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
50
-        <el-input type="number" v-model="form.pay_price" :disabled="true"></el-input>
50
+        <el-input style="color: black"  type="number" v-model="form.pay_price" :disabled="true"></el-input>
51 51
       </el-form-item>
52 52
 
53 53
 
@@ -57,22 +57,22 @@
57 57
 
58 58
       <el-form-item class="specialFormItem" label="折扣金额:">
59 59
         <div style="display:flex;">
60
-          <el-input v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
60
+          <el-input style="color: black"  v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
61 61
         </div>
62 62
       </el-form-item>
63 63
       <el-form-item class="specialFormItem" label="优惠金额:">
64 64
         <div style="display:flex;">
65
-          <el-input v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
65
+          <el-input style="color: black"  v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
66 66
         </div>
67 67
       </el-form-item>
68 68
       <el-form-item label="实收金额:">
69 69
         <div style="display:flex;">
70
-          <el-input v-model="form.reality_price" @change="realityPrice"></el-input>
70
+          <el-input style="color: black"  v-model="form.reality_price" @change="realityPrice"></el-input>
71 71
         </div>
72 72
       </el-form-item>
73 73
       <el-form-item label="找回金额:">
74 74
         <div style="display:flex;">
75
-          <el-input v-model.number="form.found_price"></el-input>
75
+          <el-input style="color: black"  v-model.number="form.found_price"></el-input>
76 76
         </div>
77 77
       </el-form-item>
78 78
 
@@ -101,7 +101,7 @@
101 101
 
102 102
 <script>
103 103
   import { uParseTime } from '@/utils/tools'
104
-
104
+  const moment = require('moment')
105 105
   export default {
106 106
     name: 'chargeDialog',
107 107
 
@@ -182,6 +182,7 @@
182 182
     },
183 183
     methods: {
184 184
       show: function (total,order) {
185
+        this.record_date = moment(new Date()).add('year',0).format("YYYY-MM-DD HH:mm")
185 186
         this.form.total = total
186 187
         this.form.private_price = total
187 188
         this.form.pay_price = total
@@ -269,7 +270,17 @@
269 270
   }
270 271
 </script>
271 272
 
273
+
272 274
 <style lang="scss" scoped>
275
+/deep/input::-webkit-input-placeholder {
276
+  color: red;
277
+  font-size: 15px;
278
+}
279
+
280
+   /deep/.el-input__inner {
281
+     background-color: transparent !important;
282
+     border: 1px solid red;
283
+   }
273 284
 .chargeDialog{
274 285
   .el-form{
275 286
     display: flex;

+ 43 - 200
src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue 查看文件

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <el-dialog width="854px" title="入院登记" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
2
+  <el-dialog width="1000px" title="入院登记" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
3 3
              :close-on-press-escape="isClose">
4 4
 
5 5
     <div class="nameTitle">患者基本信息:</div>
@@ -161,185 +161,13 @@
161 161
             </el-option>
162 162
           </el-select>
163 163
         </el-form-item>
164
-        <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
165
-          <el-select v-model="form.department" placeholder="请选择">
166
-            <el-option
167
-                v-for="item in departmentList"
168
-                :key="item.id"
169
-                :label="item.name"
170
-                :value="item.id">
171
-            </el-option>
172
-          </el-select>
173
-        </el-form-item>
174
-
175
-
176
-        <el-form-item label="入院时间:" prop="start_time" :validate-event="is_Name">
177
-          <el-date-picker v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
164
+        <el-form-item label="入院时间:"  prop="start_time" :validate-event="is_Name">
165
+          <el-date-picker style="width: 210px" v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
178 166
                           value-format="yyyy-MM-dd HH:mm:ss"
179 167
                           placeholder="请选择入院时间">
180 168
           </el-date-picker>
181 169
 
182 170
         </el-form-item>
183
-
184
-      </el-form>
185
-      <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">登记
186
-      </el-button>
187
-    </div>
188
-    <div class="nameTitle">患者基本信息:</div>
189
-    <div class="formMain">
190
-      <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
191
-
192
-
193
-        <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
194
-          <el-autocomplete
195
-              class="checkSearch"
196
-              popper-class="my-autocomplete"
197
-              v-model="form.name"
198
-              :fetch-suggestions="querySearchAsync"
199
-              :trigger-on-focus="false"
200
-              placeholder="请输入病人名字"
201
-              @select="handleSelect"
202
-              style="width:160px;"
203
-          >
204
-            <i class="el-icon-search el-input__icon" slot="suffix"></i>
205
-            <template slot-scope="{ item }">
206
-              <div class="name">{{ item.name }}</div>
207
-            </template>
208
-          </el-autocomplete>
209
-        </el-form-item>
210
-
211
-
212
-        <el-form-item label="手机号码:" prop="phone">
213
-          <el-input v-model="form.phone"></el-input>
214
-        </el-form-item>
215
-
216
-
217
-        <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
218
-          <el-select v-model="form.certificates" placeholder="请选择">
219
-            <el-option
220
-                v-for="item in certificates"
221
-                :key="item.value"
222
-                :label="item.label"
223
-                :value="item.value">
224
-            </el-option>
225
-          </el-select>
226
-        </el-form-item>
227
-
228
-        <el-form-item label="证件号码:" prop="id_card_no" :validate-event="is_Name">
229
-          <el-input v-model="form.id_card_no"></el-input>
230
-        </el-form-item>
231
-
232
-
233
-        <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
234
-          <el-select v-model="form.id_card_type" placeholder="请选择">
235
-            <el-option
236
-                v-for="item in IDCardTypes"
237
-                :key="item.value"
238
-                :label="item.label"
239
-                :value="item.value">
240
-            </el-option>
241
-          </el-select>
242
-        </el-form-item>
243
-
244
-
245
-        <el-form-item label="结算类型:">
246
-          <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
247
-            <el-option
248
-                v-for="item in settlement"
249
-                :key="item.value"
250
-                :label="item.label"
251
-                :value="item.value">
252
-            </el-option>
253
-          </el-select>
254
-        </el-form-item>
255
-
256
-        <el-form-item label="参保地:">
257
-          <el-select v-model="form.insuplc_admdvs" placeholder="请选择" style="width:100%;">
258
-            <el-option
259
-                v-for="item in InsuplcAdmdvs"
260
-                :key="item.value"
261
-                :label="item.label"
262
-                :value="item.value">
263
-            </el-option>
264
-          </el-select>
265
-        </el-form-item>
266
-
267
-
268
-      </el-form>
269
-    </div>
270
-    <div class="nameTitle">患者住院信息:</div>
271
-    <div class="formMain">
272
-      <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
273
-
274
-        <el-form-item label="疾病类型:" prop="sick_type" :validate-event="is_Name">
275
-          <el-select filterable v-model="form.sick_type" placeholder="">
276
-            <el-option
277
-                v-for="(item,index) in sick"
278
-                :key="index"
279
-                :label="item.class_name"
280
-                :value="item.id">
281
-            </el-option>
282
-          </el-select>
283
-        </el-form-item>
284
-
285
-        <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
286
-          <el-select v-model="form.diagnosis" placeholder="">
287
-            <el-option
288
-                v-for="(item,index) in diagnoses"
289
-                :key="index"
290
-                :label="item.class_name"
291
-                :value="item.id">
292
-            </el-option>
293
-          </el-select>
294
-        </el-form-item>
295
-
296
-        <el-form-item label="医疗类别:" prop="med_type" :validate-event="is_Name">
297
-          <el-select v-model="form.med_type" placeholder=""
298
-          >
299
-            <el-option
300
-                v-for="(item,index) in registers"
301
-                :key="index"
302
-                :label="item.label"
303
-                :value="item.value">
304
-            </el-option>
305
-          </el-select>
306
-        </el-form-item>
307
-
308
-
309
-        <el-form-item label="社保类型:">
310
-          <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
311
-            <el-option
312
-                v-for="item in medicalCare"
313
-                :key="item.value"
314
-                :label="item.label"
315
-                :value="item.value">
316
-            </el-option>
317
-          </el-select>
318
-        </el-form-item>
319
-
320
-
321
-        <el-form-item label="人员类别:">
322
-          <el-select v-model="form.psn_type" placeholder="请选择" style="width:100%;">
323
-            <el-option
324
-                v-for="item in PsnTypes"
325
-                :key="item.value"
326
-                :label="item.label"
327
-                :value="item.value">
328
-            </el-option>
329
-          </el-select>
330
-        </el-form-item>
331
-
332
-
333
-        <el-form-item label="主治医生:" prop="doctor" :validate-event="is_Name">
334
-          <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
335
-            <el-option
336
-                v-for="item in doctorList"
337
-                :key="item.admin_user_id"
338
-                :label="item.user_name"
339
-                :value="item.admin_user_id">
340
-            </el-option>
341
-          </el-select>
342
-        </el-form-item>
343 171
         <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
344 172
           <el-select v-model="form.department" placeholder="请选择">
345 173
             <el-option
@@ -352,24 +180,15 @@
352 180
         </el-form-item>
353 181
 
354 182
 
355
-        <el-form-item label="入院时间:" prop="start_time" :validate-event="is_Name">
356
-          <el-date-picker v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
357
-                          value-format="yyyy-MM-dd HH:mm:ss"
358
-                          placeholder="请选择入院时间">
359
-          </el-date-picker>
360 183
 
361
-        </el-form-item>
362 184
 
363 185
       </el-form>
364
-      <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">登记
365
-      </el-button>
366 186
     </div>
367 187
 
368 188
 
369
-
370 189
     <span slot="footer" class="dialog-footer">
371
-    <el-button v-loading="loadingtwo" @click="cancel('formValue')">取 消</el-button>
372
-    <el-button v-loading="loadingtwo" type="primary" @click="confirm('formValue')">确 定</el-button>
190
+    <el-button v-loading="loadingone" @click="cancel('form')">取 消</el-button>
191
+    <el-button v-loading="loadingone" type="primary" @click="confirm('form')">登记</el-button>
373 192
   </span>
374 193
   </el-dialog>
375 194
 
@@ -400,6 +219,7 @@ export default {
400 219
     return {
401 220
       visibility:false,
402 221
       isClose:false,
222
+
403 223
       PsnTypes:[
404 224
         { value: 11, label: '在职' },
405 225
         { value: 21, label: '退休' },
@@ -494,7 +314,7 @@ export default {
494 314
         value: 6,
495 315
         label: '港澳地区身份证'
496 316
       }],
497
-
317
+      loadingtwo:false,
498 318
       IDCardTypes: [{
499 319
         value: 1,
500 320
         label: '社保卡'
@@ -520,7 +340,6 @@ export default {
520 340
       },
521 341
       doctorList: [],
522 342
       departmentList: [],
523
-      show: false,
524 343
       is_Name: false,
525 344
       patient: [],
526 345
       scialType: []
@@ -528,6 +347,14 @@ export default {
528 347
   },
529 348
 
530 349
   methods: {
350
+    cancel: function (formName) {
351
+      this.$refs['form'].resetFields()
352
+      this.$emit('cancel', "");
353
+
354
+    },
355
+    confirm: function (formName) {
356
+      this.saveHisPatient(formName)
357
+    },
531 358
     check(){
532 359
       if(this.form.med_type == 0 || this.form.med_type == ''){
533 360
         this.$message.error("医疗类别不能为空")
@@ -585,6 +412,22 @@ export default {
585 412
           })
586 413
 
587 414
     }, show() {
415
+
416
+      this.form.id = 0
417
+      this.form.name = ""
418
+      this.form.sex = ""
419
+      this.form.age = ""
420
+      this.form.birthday = ""
421
+      this.form.phone = ""
422
+      this.form.id_card_no = ""
423
+      this.form.insuplc_admdvs = ""
424
+      this.form.social_type  = ""
425
+      this.form.psn_type = ""
426
+      this.form.doctor = ""
427
+
428
+
429
+
430
+
588 431
       this.visibility = true
589 432
       this.form.certificates = 1
590 433
       if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
@@ -598,6 +441,8 @@ export default {
598 441
       this.getInitData()
599 442
       //获取当前机构有人员信息inde
600 443
       this.getAllDoctorList()
444
+    },hide(){
445
+      this.visibility = false
601 446
     },
602 447
     handleSelect(val) {
603 448
       this.form.id = val.id
@@ -826,12 +671,6 @@ export default {
826 671
         this.is_Name = true
827 672
         return
828 673
       }
829
-      //
830
-      // if (this.form.doctor == '') {
831
-      //   this.$message.error('医生不能为空')
832
-      //   this.is_Name = true
833
-      //   return
834
-      // }
835 674
 
836 675
       if (this.form.department == '') {
837 676
         this.$message.error('科室不能为空')
@@ -875,7 +714,7 @@ export default {
875 714
         return
876 715
       }
877 716
 
878
-      this.$refs[formName].validate((valid) => {
717
+      this.$refs['form'].validate((valid) => {
879 718
         if (valid) {
880 719
           if (this.form.costChecked == true) {
881 720
             this.check = 1
@@ -883,9 +722,7 @@ export default {
883 722
           if (this.form.costChecked == false) {
884 723
             this.check = 2
885 724
           }
886
-          if (this.form.id_card_no == '') {
887
-            this.show = true
888
-          }
725
+
889 726
           var nowDate = new Date()
890 727
           var nowYear = nowDate.getFullYear()
891 728
           var nowMonth = nowDate.getMonth() + 1
@@ -941,10 +778,13 @@ export default {
941 778
                 that.form.med_type = 14
942 779
                 that.form.sick_type = that.sick[0].id
943 780
                 that.form.diagnosis = that.diagnoses[0].id
781
+                if(that.$store.getters.xt_user.org_id == 10215) {
782
+                  that.form.sick_type = 421
783
+                  that.form.diagnosis = 92
784
+                }
785
+                that.$emit('confirm', "");
944 786
               }
945 787
             })
946
-
947
-
948 788
           } else {
949 789
             axios.get('http://127.0.0.1:9532/zh/api/inhopitalcheck/get', {
950 790
               params: params,
@@ -979,10 +819,13 @@ export default {
979 819
                       that.form.sick_type = that.sick[0].id
980 820
                       that.form.diagnosis = that.diagnoses[0].id
981 821
                       that.form.certificates = 1
822
+                      that.$emit('confirm', "");
982 823
                       if(that.$store.getters.xt_user.org_id == 10215) {
983 824
                         that.form.sick_type = 421
984 825
                         that.form.diagnosis = 92
985 826
                       }
827
+
828
+
986 829
                     }
987 830
                   }
988 831
                 })

+ 1 - 1
src/xt_pages/hospitalStation/components/prescriptionTable.vue 查看文件

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div class="prescriptionTable">
3
-    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;"
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99.9%;"
4 4
               :row-style="{ color: '#303133' }"
5 5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6 6
       <el-table-column align="center" prop="day" width="70" label="序号">

+ 6 - 6
src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue 查看文件

@@ -85,7 +85,7 @@
85 85
 
86 86
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
87 87
         <template slot-scope="scope">
88
-          <div>{{ scope.row.overlmt_amt }}元</div>
88
+          <div>{{ scope.row.overlmt_amt  }}元</div>
89 89
         </template>
90 90
       </el-table-column>
91 91
 
@@ -107,7 +107,7 @@
107 107
         label="符合正常范围金额"
108 108
       >
109 109
         <template slot-scope="scope">
110
-          <div>{{ scope.row.inscp_scp_amt }}元</div>
110
+          <div>{{scope.row.inscp_scp_amt}}元</div>
111 111
         </template>
112 112
       </el-table-column>
113 113
 
@@ -223,13 +223,13 @@
223 223
 
224 224
       <el-table-column align="center" prop="name" width="80" label="全自费金额">
225 225
         <template slot-scope="scope">
226
-          <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
226
+          <div>{{ scope.row.fulamt_ownpay_amt}}元</div>
227 227
         </template>
228 228
       </el-table-column>
229 229
 
230 230
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
231 231
         <template slot-scope="scope">
232
-          <div>{{ scope.row.overlmt_amt }}元</div>
232
+          <div>{{ scope.row.overlmt_amt}}元</div>
233 233
         </template>
234 234
       </el-table-column>
235 235
 
@@ -240,7 +240,7 @@
240 240
         label="先行自付金额"
241 241
       >
242 242
         <template slot-scope="scope">
243
-          <div>{{ scope.row.preselfpay_amt }}元</div>
243
+          <div>{{scope.row.preselfpay_amt}}元</div>
244 244
         </template>
245 245
       </el-table-column>
246 246
 
@@ -251,7 +251,7 @@
251 251
         label="符合正常范围金额"
252 252
       >
253 253
         <template slot-scope="scope">
254
-          <div>{{ scope.row.inscp_scp_amt }}元</div>
254
+          <div>{{scope.row.inscp_scp_amt }}元</div>
255 255
         </template>
256 256
       </el-table-column>
257 257
 

+ 90 - 102
src/xt_pages/hospitalStation/outpatientChargesManagement.vue 查看文件

@@ -91,6 +91,10 @@
91 91
         <div class="mainCell fixedCell" style="margin-bottom:10px;">
92 92
 
93 93
           <div>
94
+            <el-button  size="small"
95
+                       @click="open(1)"
96
+                       type="primary">入院登记
97
+            </el-button>
94 98
 
95 99
             <el-button v-loading="loadingone" size="small"
96 100
                        v-if="(this.activeName == 'third' &&this.hisPatientInfo.balance_accounts_type != 2 && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
@@ -125,6 +129,11 @@
125 129
                        type="primary">收费
126 130
             </el-button>
127 131
 
132
+            <el-button v-loading="loadingtwo"
133
+                       size="small"
134
+                       @click="open(3)"
135
+                       type="primary">收费
136
+            </el-button>
128 137
             <el-button size="small" @click="open(4)" type="primary"
129 138
                        v-if="this.activeName == 'third' &&this.hisPatientInfo.id > 0 && this.order.id > 0 &&  this.order.order_status == 2">
130 139
               退费
@@ -217,6 +226,7 @@
217 226
                        :addtions_charge="addtions_charge"></additionalCharges>
218 227
 
219 228
     <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
229
+    <hospital-register-dialog  ref='hrd' v-on:confirm="hospitalRegisterConfirm" v-on:cancel="hospitalRegisterCancel"></hospital-register-dialog>
220 230
 
221 231
     <el-dialog
222 232
         class="centerDialog"
@@ -300,10 +310,12 @@ import RegisterDialog9504 from './components/registerDialog9504'
300 310
 import ChargePrescriptionTable from './components/ChargePrescriptionTable'
301 311
 import invoicePrint from './invoicePrint'
302 312
 import SettlePrescriptionTable from './components/settlePrescriptionTable'
313
+import HospitalRegisterDialog from './components/hospitalRegisterDialog'
303 314
 
304 315
 const moment = require('moment')
305 316
 export default {
306 317
   components: {
318
+    HospitalRegisterDialog,
307 319
     SettlePrescriptionTable,
308 320
     ChargePrescriptionTable,
309 321
     RegisterDialog9504,
@@ -575,6 +587,13 @@ export default {
575 587
         }
576 588
       })
577 589
 
590
+    },s(){
591
+      this.$refs.hrd.hide()
592
+      this.getPatientList()
593
+    },hospitalRegisterCancel(){
594
+      this.$refs.hrd.hide()
595
+
596
+
578 597
     },
579 598
     chargeConfirm(form) {
580 599
       form['in_hospital_id'] = this.hisPatientInfo.id
@@ -727,10 +746,10 @@ export default {
727 746
                 spec: spec,
728 747
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
729 748
                 name_id: prescription.advices[b].drug.manufacturer,
730
-                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
731
-                overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
732
-                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
733
-                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt
749
+                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt * prescription.advices[b].prescribing_number,
750
+                overlmt_amt: prescription.advices[b].order_info.overlmt_amt* prescription.advices[b].prescribing_number,
751
+                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt* prescription.advices[b].prescribing_number,
752
+                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt* prescription.advices[b].prescribing_number
734 753
 
735 754
               }
736 755
               tempAdvice.push(obj)
@@ -751,11 +770,11 @@ export default {
751 770
                 unit: prescription.project[b].unit,
752 771
 
753 772
                 type: prescription.project[b].type,
754
-                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
755
-                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
756
-                overlmt_amt: prescription.project[b].order_info.overlmt_amt,
757
-                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
758
-                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt
773
+                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt* prescription.advices[b].prescribing_number,
774
+                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt* prescription.advices[b].prescribing_number,
775
+                overlmt_amt: prescription.project[b].order_info.overlmt_amt * prescription.advices[b].prescribing_number,
776
+                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt * prescription.advices[b].prescribing_number,
777
+                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt * prescription.advices[b].prescribing_number
759 778
 
760 779
               }
761 780
               if (prescription.project[b].type == 2) {
@@ -1058,6 +1077,7 @@ export default {
1058 1077
 
1059 1078
     },
1060 1079
     searchAction() {
1080
+      console.log(this.all_table_data)
1061 1081
       if (this.search_input.length == 0) {
1062 1082
         switch (this.radio) {
1063 1083
           case 1:
@@ -1268,6 +1288,9 @@ export default {
1268 1288
       return jsonData.map(v => filterVal.map(j => v[j]))
1269 1289
     },
1270 1290
     open(index) {
1291
+      if (index == 1){
1292
+        this.$refs.hrd.show()
1293
+      }
1271 1294
       if (index == 40) {
1272 1295
         var form = {}
1273 1296
 
@@ -1397,6 +1420,7 @@ export default {
1397 1420
           type: 'warning'
1398 1421
         }).then(() => {
1399 1422
           this.dialogVisible = true
1423
+          this.out_hospital_time = moment(new Date()).add('year',0).format("YYYY-MM-DD HH:mm:ss")
1400 1424
         }).catch(() => {
1401 1425
 
1402 1426
         })
@@ -1504,7 +1528,8 @@ export default {
1504 1528
       } else if (index == 5) {
1505 1529
         this.statementVisible = true
1506 1530
         let obj = {
1507
-          order_id: this.order.id
1531
+          order_id: this.order.id,
1532
+          balance_accounts_type:this.hisPatientInfo.balance_accounts_type
1508 1533
         }
1509 1534
         this.orderObj = obj
1510 1535
         // this.$refs.print.getInfo(this.order.id)
@@ -2245,70 +2270,35 @@ export default {
2245 2270
             response.data.data.list_two = []
2246 2271
           }
2247 2272
           this.patientTableData = []
2248
-          this.hisPatientDatas = []
2249 2273
           this.all_table_data = []
2274
+          this.hisPatientDatas = []
2275
+
2250 2276
           let one_count = 0
2251 2277
           let two_count = 0
2252 2278
           let three_count = 0
2253
-
2254
-          if (this.activeName == 'first') { //日结
2255
-
2256
-            for (let i = 0; i < response.data.data.list.length; i++) {
2257
-              this.all_table_data.push(response.data.data.list[i])
2258
-              if (response.data.data.list[i].order.order_status == 0 || response.data.data.list[i].order.order_status == 1 || response.data.data.list[i].order.order_status == 3) {
2259
-                one_count = one_count + 1
2260
-              }
2261
-
2262
-            }
2263
-
2264
-          } else { //月结
2265
-
2266
-            for (let i = 0; i < response.data.data.list_two.length; i++) {
2267
-              this.hisPatientDatas.push(response.data.data.list_two[i])
2268
-              if (response.data.data.list_two[i].order.order_status == 0 || response.data.data.list_two[i].order.order_status == 1) {
2269
-                one_count = one_count + 1
2270
-              }
2271
-
2272
-              // if (response.data.data.list_two[i].his_patient.order.order_status == 2) {
2273
-              //   two_count = two_count + 1
2274
-              // }
2275
-              //
2276
-              // if (response.data.data.list_two[i].his_patient.order.order_status == 3) {
2277
-              //   three_count = three_count + 1
2278
-              // }
2279
+          for (let i = 0; i < response.data.data.list.length; i++) {
2280
+            this.all_table_data.push(response.data.data.list[i])
2281
+            if (response.data.data.list[i].order.order_status == 0 || response.data.data.list[i].order.order_status == 1 || response.data.data.list[i].order.order_status == 3) {
2282
+              one_count = one_count + 1
2279 2283
             }
2280 2284
 
2281 2285
           }
2282 2286
 
2287
+          this.hisPatientDatas = response.data.data.list_two
2283 2288
           this.cal_one = one_count
2284 2289
           this.cal_two = response.data.data.charge_list.length
2285 2290
           // this.all_charge_table_data = response.data.data.charge_list
2286
-          // this.cal_three = three_count;
2287
-
2288
-          switch (temp_id) {
2291
+          this.current_index = 0
2289 2292
 
2293
+          switch (this.radio) {
2290 2294
             case 1:
2291 2295
               this.patientTableData = []
2292
-              if (this.activeName == 'first') {
2293
-
2294
-                for (let i = 0; i < this.all_table_data.length; i++) {
2295
-                  if (this.all_table_data[i].order.order_status == 0 || this.all_table_data[i].order.order_status == 1) {
2296
-                    this.patientTableData.push(this.all_table_data[i])
2297
-                  }
2298
-
2299
-                }
2300
-
2301
-              } else {
2302
-                for (let i = 0; i < this.hisPatientDatas.length; i++) {
2303
-                  if (this.hisPatientDatas[i].order.order_status == 0 || this.hisPatientDatas[i].order.order_status == 1) {
2304
-                    this.patientTableData.push(this.hisPatientDatas[i])
2305
-                  }
2306
-
2296
+              for (let i = 0; i < this.all_table_data.length; i++) {
2297
+                if (this.all_table_data[i].order.order_status == 0 || this.all_table_data[i].order.order_status == 1 || this.all_table_data[i].order.order_status == 3) {
2298
+                  this.patientTableData.push(this.all_table_data[i])
2307 2299
                 }
2308
-
2309 2300
               }
2310 2301
 
2311
-              this.current_index = 0
2312 2302
               this.$refs.tab.setCurrentRow(this.patientTableData[0])
2313 2303
               this.getPatientInformation(this.patientTableData[0].patient_id, this.patientTableData[0].order.number, this.patientTableData[0].id)
2314 2304
 
@@ -2322,50 +2312,28 @@ export default {
2322 2312
                   number: response.data.data.charge_list[i].number,
2323 2313
                   his_patient_id: response.data.data.charge_list[i].his_patient.id,
2324 2314
                   his_number: response.data.data.charge_list[i].mdtrt_id
2325
-
2326 2315
                 }
2327 2316
                 this.chargePatientTableData.push(obj)
2328 2317
               }
2329 2318
               this.all_charge_table_data = this.chargePatientTableData
2330 2319
 
2331
-              this.current_index = 0
2332 2320
               this.$refs.tab.setCurrentRow(this.chargePatientTableData[0])
2333 2321
               this.getPatientInformation(this.chargePatientTableData[0].id, this.chargePatientTableData[0].number, this.chargePatientTableData[0].his_patient_id)
2334
-
2335 2322
               break
2336 2323
               // case 3:
2337 2324
               //   this.patientTableData = [];
2338 2325
               //
2339
-              //   if (this.activeName == 'first') {
2340
-              //
2341
-              //     for (let i = 0; i < this.all_table_data.length; i++) {
2342
-              //
2343
-              //       if (this.all_table_data[i].his_patient.order.order_status == 3) {
2344
-              //         this.patientTableData.push(this.all_table_data[i])
2345
-              //       }
2346
-              //
2347
-              //     }
2348
-              //   } else {
2349
-              //
2350
-              //     for (let i = 0; i < this.hisPatientDatas.length; i++) {
2351
-              //
2352
-              //       if (this.hisPatientDatas[i].his_patient.order.order_status == 3) {
2353
-              //         this.patientTableData.push(this.hisPatientDatas[i])
2354
-              //       }
2326
+              //   for (let i = 0; i < this.all_table_data.length; i++) {
2355 2327
               //
2328
+              //     if (this.all_table_data[i].his_patient.order.order_status == 3) {
2329
+              //       this.patientTableData.push(this.all_table_data[i])
2356 2330
               //     }
2357 2331
               //
2358 2332
               //   }
2359 2333
               //   break;
2360 2334
               // case 4:
2361 2335
               //   this.patientTableData = [];
2362
-              //   if (this.activeName == 'first') {
2363
-              //
2364
-              //     this.patientTableData = this.all_table_data
2365
-              //   } else {
2366
-              //
2367
-              //     this.patientTableData = this.hisPatientDatas
2368
-              //   }
2336
+              //   this.patientTableData = this.all_table_data;
2369 2337
               //   break
2370 2338
 
2371 2339
           }
@@ -2777,6 +2745,10 @@ export default {
2777 2745
       for (let i = 0; i < drug_ids.length; i++) {
2778 2746
         let obj = {}
2779 2747
         let count = 0
2748
+        let fulamt_ownpay_amt = 0
2749
+        let overlmt_amt = 0
2750
+        let inscp_scp_amt = 0
2751
+        let preselfpay_amt = 0
2780 2752
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
2781 2753
           if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
2782 2754
 
@@ -2794,23 +2766,33 @@ export default {
2794 2766
 
2795 2767
 
2796 2768
             obj['code'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2797
-            obj['fulamt_ownpay_amt'] = drug_month_prescriptions.advices[a].order_info.fulamt_ownpay_amt
2798
-            obj['overlmt_amt'] = drug_month_prescriptions.advices[a].order_info.overlmt_amt
2799
-            obj['inscp_scp_amt'] = drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2800
-            obj['preselfpay_amt'] = drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2801 2769
 
2802 2770
 
2803 2771
             count = count + drug_month_prescriptions.advices[a].prescribing_number
2772
+            fulamt_ownpay_amt = fulamt_ownpay_amt + drug_month_prescriptions.advices[a].order_info.fulamt_ownpay_amt
2773
+            overlmt_amt = overlmt_amt + drug_month_prescriptions.advices[a].order_info.overlmt_amt
2774
+            inscp_scp_amt = inscp_scp_amt + drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2775
+            preselfpay_amt = preselfpay_amt + drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2776
+
2804 2777
 
2805 2778
           }
2806 2779
         }
2807 2780
         obj['prescribing_number'] = count
2781
+        obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2782
+        obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2783
+        obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)
2784
+        obj['preselfpay_amt'] =preselfpay_amt.toFixed(2)
2785
+
2808 2786
         drugs.push(obj)
2809 2787
       }
2810 2788
 
2811 2789
       for (let i = 0; i < project_ids.length; i++) {
2812 2790
         let obj = {}
2813 2791
         let count = 0
2792
+        let fulamt_ownpay_amt = 0
2793
+        let overlmt_amt = 0
2794
+        let inscp_scp_amt = 0
2795
+        let preselfpay_amt = 0
2814 2796
         for (let a = 0; a < project_month_prescriptions.project.length; a++) {
2815 2797
           if (project_ids[i].price == project_month_prescriptions.project[a].price && project_ids[i].id == project_month_prescriptions.project[a].project_id) {
2816 2798
 
@@ -2828,10 +2810,10 @@ export default {
2828 2810
 
2829 2811
             }
2830 2812
 
2831
-            obj['fulamt_ownpay_amt'] = project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2832
-            obj['overlmt_amt'] = project_month_prescriptions.project[a].order_info.overlmt_amt
2833
-            obj['inscp_scp_amt'] = project_month_prescriptions.project[a].order_info.inscp_scp_amt
2834
-            obj['preselfpay_amt'] = project_month_prescriptions.project[a].order_info.preselfpay_amt
2813
+            // obj['fulamt_ownpay_amt'] = project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2814
+            // obj['overlmt_amt'] = project_month_prescriptions.project[a].order_info.overlmt_amt
2815
+            // obj['inscp_scp_amt'] = project_month_prescriptions.project[a].order_info.inscp_scp_amt
2816
+            // obj['preselfpay_amt'] = project_month_prescriptions.project[a].order_info.preselfpay_amt
2835 2817
 
2836 2818
 
2837 2819
             // obj['project_name'] = project_month_prescriptions.project[a].project.project_name;
@@ -2846,12 +2828,18 @@ export default {
2846 2828
             count = count + parseFloat(project_month_prescriptions.project[a].count)
2847 2829
             // price = price + project_month_prescriptions.project[a].price
2848 2830
             obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
2849
-
2850
-
2831
+            fulamt_ownpay_amt = fulamt_ownpay_amt +project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2832
+            overlmt_amt = overlmt_amt +project_month_prescriptions.project[a].order_info.overlmt_amt
2833
+            inscp_scp_amt = inscp_scp_amt + project_month_prescriptions.project[a].order_info.inscp_scp_amt
2834
+            preselfpay_amt = preselfpay_amt + project_month_prescriptions.project[a].order_info.preselfpay_amt
2851 2835
 
2852 2836
 
2853 2837
           }
2854 2838
         }
2839
+        obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2840
+        obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2841
+        obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)
2842
+        obj['preselfpay_amt'] = preselfpay_amt.toFixed(2)
2855 2843
         obj['total'] = count
2856 2844
         projects.push(obj)
2857 2845
       }
@@ -3023,10 +3011,10 @@ export default {
3023 3011
                 spec: spec,
3024 3012
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
3025 3013
                 name_id: prescription.advices[b].drug.manufacturer,
3026
-                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
3027
-                overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
3028
-                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
3029
-                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt
3014
+                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt * prescription.advices[b].prescribing_number,
3015
+                overlmt_amt: prescription.advices[b].order_info.overlmt_amt * prescription.advices[b].prescribing_number,
3016
+                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt * prescription.advices[b].prescribing_number,
3017
+                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt * prescription.advices[b].prescribing_number
3030 3018
 
3031 3019
 
3032 3020
 
@@ -3050,11 +3038,11 @@ export default {
3050 3038
                 // medical_code: prescription.project[b].project.medical_code,
3051 3039
                 unit: prescription.project[b].project.unit,
3052 3040
                 type: prescription.project[b].type,
3053
-                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
3054
-                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
3055
-                overlmt_amt: prescription.project[b].order_info.overlmt_amt,
3056
-                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
3057
-                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt
3041
+                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt * prescription.project[b].count,
3042
+                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt * prescription.project[b].count,
3043
+                overlmt_amt: prescription.project[b].order_info.overlmt_amt * prescription.project[b].count,
3044
+                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt * prescription.project[b].count,
3045
+                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt * prescription.project[b].count
3058 3046
 
3059 3047
               }
3060 3048
 

+ 1 - 1
src/xt_pages/hospitalStation/settlementPrint.vue 查看文件

@@ -24,7 +24,7 @@
24 24
 import { jsGetAge, uParseTime } from "@/utils/tools";
25 25
 // import LabelBox from "./printItem/LabelBox";
26 26
 import print from "print-js";
27
-import printOne from "./settlementTemplate/printOne"
27
+import printOne from "./settlementTemplate/hospitalPrintOne"
28 28
 export default {
29 29
   name: "dialysisPrintOrder",
30 30
   components: {

文件差异内容过多而无法显示
+ 1136 - 0
src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue


+ 0 - 461
src/xt_pages/hospitalStation/settlementTemplate/printOne.vue 查看文件

@@ -1,461 +0,0 @@
1
-<template>
2
-    <div id="prescription-print" class="print_page_main_content">
3
-        <div class="title">医疗保障基金结算清单</div>
4
-        <div style="text-align:right;">清单流水号 <div style="width:120px;" class="under_line"></div></div>
5
-        <div class="row">
6
-            <div>定点医疗机构名称<div style="width:120px;" class="under_line"></div></div>
7
-            <div>定点医疗机构代码<div style="width:120px;" class="under_line"></div></div>
8
-            <div>医保结算等级<div style="width:120px;" class="under_line"></div></div>
9
-        </div>
10
-        <div class="row">
11
-            <div>医保编号<div style="width:120px;" class="under_line"></div></div>
12
-            <div>病案号<div style="width:120px;" class="under_line"></div></div>
13
-            <div>申报时间
14
-                <div style="width:40px;" class="under_line"></div>年
15
-                <div style="width:40px;" class="under_line"></div>月
16
-                <div style="width:40px;" class="under_line"></div>日
17
-            </div>
18
-        </div>
19
-        <div>
20
-            <table class="proj_table">
21
-                <tbody>
22
-                    <tr>
23
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
24
-                            一、基本信息
25
-                        </td>
26
-                    </tr>
27
-                    <tr>
28
-                        <td>
29
-                            <div class="row">
30
-                                <div class="inline_block">姓名
31
-                                    <div style="width:80px;" class="under_line"></div>
32
-                                </div>
33
-                                <div class="inline_block">性别
34
-                                    <label-box :isChecked="false" showValue="男"></label-box>
35
-                                    <label-box :isChecked="false" showValue="女"></label-box>
36
-                                </div>
37
-                                <div class="inline_block">出生日期
38
-                                    <div style="width:40px;" class="under_line"></div>年
39
-                                    <div style="width:40px;" class="under_line"></div>月
40
-                                    <div style="width:40px;" class="under_line"></div>日
41
-                                </div>
42
-                                <div class="inline_block">年龄
43
-                                    <div style="width:80px;" class="under_line"></div>岁
44
-                                </div>
45
-                                <div class="inline_block">国籍
46
-                                    <div style="width:80px;" class="under_line"></div>
47
-                                </div>
48
-                            </div>
49
-                            <div class="row">
50
-                                <div class="inline_block">(年龄不足1周岁)年龄
51
-                                    <div style="width:80px;" class="under_line"></div>天
52
-                                </div>
53
-                                <div class="inline_block">民族
54
-                                    <div style="width:80px;" class="under_line"></div>
55
-                                </div>
56
-                                <div class="inline_block">患者证件类别
57
-                                    <div style="width:80px;" class="under_line"></div>
58
-                                </div>
59
-                                <div class="inline_block">患者证件号码
60
-                                    <div style="width:140px;" class="under_line"></div>
61
-                                </div>
62
-                            </div>
63
-                            <div>
64
-                                <div class="inline_block">职业
65
-                                    <div style="width:80px;" class="under_line"></div>
66
-                                </div>
67
-                                <div class="inline_block" style="width:80px;"></div>
68
-                                <div class="inline_block">现住址
69
-                                    <div style="width:80px;" class="under_line"></div>省(区、市)
70
-                                    <div style="width:80px;" class="under_line"></div>市
71
-                                    <div style="width:80px;" class="under_line"></div>县
72
-                                    <div style="width:140px;" class="under_line"></div>
73
-                                </div>
74
-                            </div>
75
-                            <div class="row">
76
-                                <div class="inline_block">工作单位名称
77
-                                    <div style="width:80px;" class="under_line"></div>
78
-                                </div>
79
-                                <div class="inline_block">工作单位地址
80
-                                    <div style="width:160px;" class="under_line"></div>
81
-                                </div>
82
-                                <div class="inline_block">单位电话
83
-                                    <div style="width:120px;" class="under_line"></div>
84
-                                </div>
85
-                                <div class="inline_block">邮编
86
-                                    <div style="width:120px;" class="under_line"></div>
87
-                                </div>
88
-                            </div>
89
-                            <div class="row">
90
-                                <div class="inline_block">联系人姓名
91
-                                    <div style="width:80px;" class="under_line"></div>
92
-                                </div>
93
-                                <div class="inline_block">关系
94
-                                    <div style="width:80px;" class="under_line"></div>
95
-                                </div>
96
-                                <div class="inline_block">地址
97
-                                    <div style="width:80px;" class="under_line"></div>省(区、市)
98
-                                    <div style="width:80px;" class="under_line"></div>市
99
-                                    <div style="width:80px;" class="under_line"></div>县
100
-                                    <div style="width:140px;" class="under_line"></div>
101
-                                </div>
102
-                                <div class="inline_block">电话
103
-                                    <div style="width:80px;" class="under_line"></div>
104
-                                </div>
105
-                            </div>
106
-                            <div class="row">
107
-                                <div style="width:33%;">医保类型<div style="width:120px;" class="under_line"></div></div>
108
-                                <div style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
109
-                                <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
110
-                            </div>
111
-                            <div class="row">
112
-                                <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
113
-                                <div style="width:33%;">新生儿出生体重<div style="width:120px;" class="under_line"></div>克</div>
114
-                                <div style="width:33%;">新生儿入院体重<div style="width:120px;" class="under_line"></div>克</div>
115
-                            </div>
116
-                        </td>
117
-                    </tr>
118
-                    <tr>
119
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
120
-                            二、门诊慢特病诊疗信息
121
-                        </td>
122
-                    </tr>
123
-                    <tr>
124
-                        <td>
125
-                            <div class="row">
126
-                                <div class="inline_block">诊断科别
127
-                                    <div style="width:100px;" class="under_line"></div>
128
-                                </div>
129
-                                <div class="inline_block">就诊日期
130
-                                    <div style="width:100px;" class="under_line"></div>
131
-                                </div>
132
-                            </div>
133
-                        </td>
134
-                    </tr>
135
-                    <tr>
136
-                        <td style="padding:0;line-height:30px;height:30px;">
137
-                            <table class="inside_table">
138
-                                <tbody>
139
-                                    <tr>
140
-                                        <td style="width:25%;">诊断名称</td>
141
-                                        <td style="width:25%;">诊断代码</td>
142
-                                        <td style="width:25%;">手术及操作名称</td>
143
-                                        <td style="width:25%;">手术及操作代码</td>
144
-                                    </tr>
145
-                                    <tr v-for="item in 6">
146
-                                        <td>&nbsp;</td>
147
-                                        <td>&nbsp;</td>
148
-                                        <td>&nbsp;</td>
149
-                                        <td>&nbsp;</td>
150
-                                    </tr>
151
-                                </tbody>
152
-                            </table>
153
-                        </td>
154
-                    </tr>
155
-                    <tr>
156
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
157
-                            三、住院诊疗信息
158
-                        </td>
159
-                    </tr>
160
-                    <tr>
161
-                        <td>
162
-                            <div class="inline_block">住院医疗类型
163
-                                <label-box :isChecked="false" showValue="1.住院"></label-box>
164
-                                <label-box :isChecked="false" showValue="2.日间手术"></label-box>
165
-                            </div>
166
-                        </td>
167
-                    </tr>
168
-                    <tr>
169
-                        <td>
170
-                            <div>
171
-                                <div class="inline_block">入院途径
172
-                                    <label-box :isChecked="false" showValue="1.急诊"></label-box>
173
-                                    <label-box :isChecked="false" showValue="2.门诊"></label-box>
174
-                                    <label-box :isChecked="false" showValue="3.其他医疗机构转入"></label-box>
175
-                                    <label-box :isChecked="false" showValue="9.其他"></label-box>
176
-                                </div>
177
-                            </div>
178
-                        </td>
179
-                    </tr>
180
-                    <tr>
181
-                        <td>
182
-                            <div>
183
-                                <div class="inline_block">治疗类别
184
-                                    <label-box :isChecked="false" showValue="1.西医"></label-box>
185
-                                    <label-box :isChecked="false" showValue="2.中医"></label-box>
186
-                                    (
187
-                                    <label-box :isChecked="false" showValue="2.1 中医"></label-box>
188
-                                    <label-box :isChecked="false" showValue="2.2 民族医"></label-box>
189
-                                    )
190
-                                    <label-box :isChecked="false" showValue="3.中西医"></label-box>
191
-                                </div>
192
-                            </div>
193
-                        </td>
194
-                    </tr>
195
-                    <tr>
196
-                        <td>
197
-                            <div class="row">
198
-                                <div style="width:40%" class="inline_block">入院时间
199
-                                    <div style="width:40px;" class="under_line"></div>年
200
-                                    <div style="width:40px;" class="under_line"></div>月
201
-                                    <div style="width:40px;" class="under_line"></div>日
202
-                                    <div style="width:40px;" class="under_line"></div>时
203
-                                </div>
204
-                                <div style="width:30%" class="inline_block">入院科别
205
-                                    <div style="width:80px;" class="under_line"></div>
206
-                                </div>
207
-                                <div style="width:30%" class="inline_block">转科科别
208
-                                    <div style="width:80px;" class="under_line"></div>
209
-                                </div>
210
-                            </div>
211
-                        </td>
212
-                    </tr>
213
-                    <tr>
214
-                        <td>
215
-                            <div class="row">
216
-                                <div style="width:40%" class="inline_block">出院时间
217
-                                    <div style="width:40px;" class="under_line"></div>年
218
-                                    <div style="width:40px;" class="under_line"></div>月
219
-                                    <div style="width:40px;" class="under_line"></div>日
220
-                                    <div style="width:40px;" class="under_line"></div>时
221
-                                </div>
222
-                                <div style="width:30%" class="inline_block">出院科别
223
-                                    <div style="width:80px;" class="under_line"></div>
224
-                                </div>
225
-                                <div style="width:30%" class="inline_block">实际住院
226
-                                    <div style="width:80px;" class="under_line"></div>天
227
-                                </div>
228
-                            </div>
229
-                        </td>
230
-                    </tr>
231
-                    <tr>
232
-                        <td>
233
-                            <div class="row">
234
-                                <div style="width:40%" class="inline_block">门(急)诊诊断(西医诊断)
235
-                                    <div style="width:80px;" class="under_line"></div>
236
-                                </div>
237
-                                <div style="width:30%" class="inline_block">疾病代码
238
-                                    <div style="width:80px;" class="under_line"></div>
239
-                                </div>
240
-                                <div style="width:30%" class="inline_block">
241
-                                </div>
242
-                            </div>
243
-                            <div class="row">
244
-                                <div style="width:40%" class="inline_block">门(急)诊诊断(中医诊断)
245
-                                    <div style="width:80px;" class="under_line"></div>
246
-                                </div>
247
-                                <div style="width:30%" class="inline_block">疾病代码
248
-                                    <div style="width:80px;" class="under_line"></div>
249
-                                </div>
250
-                                <div style="width:30%" class="inline_block">
251
-                                </div>
252
-                            </div>
253
-                        </td>
254
-                    </tr>
255
-                    <tr>
256
-                        <td style="padding:0;line-height:30px;height:30px;">
257
-                            <table class="inside_table">
258
-                                <tbody>
259
-                                    <tr>
260
-                                        <td style="width:20%;">出院西医诊断</td>
261
-                                        <td style="width:15%;">疾病代码</td>
262
-                                        <td style="width:15%;">入院病情</td>
263
-                                        <td style="width:20%;">出院中医诊断</td>
264
-                                        <td style="width:15%;">疾病代码</td>
265
-                                        <td style="width:15%;">入院病情</td>
266
-                                    </tr>
267
-                                    <tr>
268
-                                        <td style="text-align:left;">&nbsp;主要诊断:</td>
269
-                                        <td>&nbsp;</td>
270
-                                        <td>&nbsp;</td>
271
-                                        <td style="text-align:left;">&nbsp;主病:</td>
272
-                                        <td>&nbsp;</td>
273
-                                        <td>&nbsp;</td>
274
-                                    </tr>
275
-                                    <tr>
276
-                                        <td style="text-align:left;">&nbsp;其他诊断:</td>
277
-                                        <td>&nbsp;</td>
278
-                                        <td>&nbsp;</td>
279
-                                        <td style="text-align:left;">&nbsp;主证:</td>
280
-                                        <td>&nbsp;</td>
281
-                                        <td>&nbsp;</td>
282
-                                    </tr>
283
-                                    <tr v-for="item in 7">
284
-                                        <td>&nbsp;</td>
285
-                                        <td>&nbsp;</td>
286
-                                        <td>&nbsp;</td>
287
-                                        <td>&nbsp;</td>
288
-                                        <td>&nbsp;</td>
289
-                                        <td>&nbsp;</td>
290
-                                    </tr>
291
-                                </tbody>
292
-                            </table>
293
-                        </td>
294
-                    </tr>
295
-                    <tr>
296
-                        <td>
297
-                            <div class="inline_block">诊断代码计数
298
-                                <div style="width:80px;" class="under_line"></div>
299
-                            </div>
300
-                        </td>
301
-                    </tr>
302
-                    <tr>
303
-                        <td style="padding:0;line-height:30px;height:30px;">
304
-                            <table class="inside_table">
305
-                                <tbody>
306
-                                    <tr>
307
-                                        <td style="width:20%;">手术及操作名称</td>
308
-                                        <td style="width:20%;">手术及操作代码</td>
309
-                                        <td style="width:10%;">手术及操作日期</td>
310
-                                        <td style="width:10%;">麻醉方式*</td>
311
-                                        <td style="width:10%;">术者医师姓名</td>
312
-                                        <td style="width:10%;">术者医师代码</td>
313
-                                        <td style="width:10%;">麻醉医师姓名</td>
314
-                                        <td style="width:10%;">麻醉医师代码</td>
315
-                                    </tr>
316
-                                    <tr>
317
-                                        <td style="text-align:left;">&nbsp;主要:</td>
318
-                                        <td>&nbsp;</td>
319
-                                        <td>&nbsp;</td>
320
-                                        <td>&nbsp;</td>
321
-                                        <td>&nbsp;</td>
322
-                                        <td>&nbsp;</td>
323
-                                        <td>&nbsp;</td>
324
-                                        <td>&nbsp;</td>
325
-                                    </tr>
326
-                                    <tr>
327
-                                        <td style="text-align:left;">&nbsp;其他:</td>
328
-                                        <td>&nbsp;</td>
329
-                                        <td>&nbsp;</td>
330
-                                        <td>&nbsp;</td>
331
-                                        <td>&nbsp;</td>
332
-                                        <td>&nbsp;</td>
333
-                                        <td>&nbsp;</td>
334
-                                        <td>&nbsp;</td>
335
-                                    </tr>
336
-                                    <tr v-for="item in 8">
337
-                                        <td>&nbsp;</td>
338
-                                        <td>&nbsp;</td>
339
-                                        <td>&nbsp;</td>
340
-                                        <td>&nbsp;</td>
341
-                                        <td>&nbsp;</td>
342
-                                        <td>&nbsp;</td>
343
-                                        <td>&nbsp;</td>
344
-                                        <td>&nbsp;</td>
345
-                                    </tr>
346
-                                </tbody>
347
-                            </table>
348
-                        </td>
349
-                    </tr>
350
-                    <tr>
351
-                        <td>
352
-                            <div class="inline_block">手术及操作代码计数
353
-                                <div style="width:80px;" class="under_line"></div>
354
-                            </div>
355
-                        </td>
356
-                    </tr>
357
-                    <tr>
358
-                        <td>
359
-                            <div class="inline_block">呼吸机使用时间
360
-                                <div style="width:40px;" class="under_line"></div>天
361
-                                <div style="width:40px;" class="under_line"></div>小时
362
-                                <div style="width:40px;" class="under_line"></div>分钟
363
-                            </div>
364
-                        </td>
365
-                    </tr>
366
-                    <tr>
367
-                        <td>
368
-                            <div>
369
-                                <div class="inline_block">颅脑损伤患者昏迷时间:
370
-                                    入院前<div style="width:40px;" class="under_line"></div>
371
-
372
-                                    天<div style="width:40px;" class="under_line"></div>
373
-                                    
374
-                                    小时<div style="width:40px;" class="under_line"></div>分钟
375
-                                </div>
376
-                            </div>
377
-                            <div>
378
-                                <div class="inline_block"><span style="visibility: hidden;">颅脑损伤患者昏迷时间:</span>
379
-                                    入院前<div style="width:40px;" class="under_line"></div>
380
-
381
-                                    天<div style="width:40px;" class="under_line"></div>
382
-                                    
383
-                                    小时<div style="width:40px;" class="under_line"></div>分钟
384
-                                </div>
385
-                            </div>
386
-                        </td>
387
-                    </tr>
388
-                </tbody>
389
-            </table>
390
-        </div>
391
-    </div>
392
-</template>
393
-
394
-<script>
395
-import LabelBox from '../../dialysis/printItem/LabelBox'
396
-export default {
397
-    components:{
398
-        LabelBox
399
-    },
400
-    data(){
401
-        return{
402
-
403
-        }
404
-    }
405
-}
406
-</script>
407
-
408
-
409
-
410
-<style lang="scss" scoped>
411
-.title{
412
-    text-align: center;
413
-    font-size: 22px;
414
-    font-weight: bold;
415
-}
416
-.row{
417
-    display: flex;
418
-    justify-content: space-between;
419
-}
420
-.under_line{
421
-    border-bottom: 1px solid #999;
422
-    width: 95%;
423
-    text-align: center;
424
-    margin-left: 2px;
425
-    display: inline-block;
426
-}
427
-.inline_block{
428
-    display: inline-block;
429
-}
430
-// #prescription-print{
431
-//     width: 960px;
432
-// }
433
-.print_page_main_content .proj_table {
434
-  width: 100%;
435
-  border: 1px solid;
436
-  border-collapse: collapse;
437
-  padding: 2px;
438
-}
439
-
440
-.print_page_main_content .proj_table tbody tr td {
441
-  border: 1px solid;
442
-  /* text-align: center; */
443
-  font-size: 16px;
444
-  padding: 5px 8px;
445
-  line-height: 30px;
446
-}
447
-
448
-.print_page_main_content .proj_table .inside_table {
449
-  width: 100%;
450
-  border: hidden; /* 解决边框冲突 */
451
-  border-collapse: collapse;
452
-}
453
-
454
-.print_page_main_content .proj_table .inside_table tr td {
455
-  border: 1px solid;
456
-  text-align: center;
457
-  font-size: 14px;
458
-  padding: 6px 5px;
459
-  line-height: 16px;
460
-}
461
-</style>

+ 516 - 403
src/xt_pages/hospitalStation/statementPrint.vue 查看文件

@@ -1,163 +1,278 @@
1 1
 <template>
2
-    <div>
3
-        <template>
4
-            <el-button
5
-                    style="position:fixed;right:25px;z-index:999"
6
-                    :loading="loading"
7
-                    size="small"
8
-                    icon="el-icon-printer"
9
-                    @click="printThisPage"
10
-                    type="primary"
11
-            >打印
12
-            </el-button
13
-            >
14
-        </template>
15
-
16
-        <div class='dialysisPage' style="padding-top:40px;">
17
-            <printOne :info="info"></printOne>
18
-            <!-- <printTwo  :info="info" v-if="org_id == 9990"></printTwo> -->
19
-        </div>
2
+  <div>
3
+    <template>
4
+      <el-button
5
+          style="position:fixed;right:25px;z-index:999"
6
+          :loading="loading"
7
+          size="small"
8
+          icon="el-icon-printer"
9
+          @click="printThisPage"
10
+          type="primary"
11
+      >打印
12
+      </el-button
13
+      >
14
+    </template>
15
+
16
+    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10215">
17
+      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>
18
+      <printOne :info="info" v-else></printOne>
19
+    </div>
20
+    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10265">
21
+<!--      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>-->
22
+<!--      <printOne :info="info" v-else></printOne>-->
23
+<!--      <print-one :info="info" ></print-one>-->
24
+      <hospital-settle-print :info="info"></hospital-settle-print>
20 25
     </div>
21
-</template>
22 26
 
23
-<script>
27
+<!--    <div class='dialysisPage' style="padding-top:40px;" v-else>-->
28
+<!--      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>-->
29
+<!--      <printOne :info="info" v-else></printOne>-->
30
+<!--    </div>-->
24 31
 
32
+  </div>
33
+</template>
25 34
 
26
-  import { parseTime } from '@/utils'
27
-  import { getDialysisRecord } from '@/api/dialysis'
28
-  import { getDataConfig } from '@/utils/data'
29
-  import { jsGetAge, uParseTime } from '@/utils/tools'
30
-  import axios from 'axios'
35
+<script>
31 36
 
32
-  import BreadCrumb from '@/xt_pages/components/bread-crumb'
33
-  import printOne from './statementTemplate/printOne'
34
-  import printTwo from './statementTemplate/printTwo'
35
-  import { getAllDoctorList, getAllHisPatientList, getPrescriptionPrint } from '@/api/project/project'
36 37
 
37
-  export default {
38
-    name: 'dialysisPrintOrder',
39
-    components: {
40
-      BreadCrumb,
41
-      printOne,
42
-      printTwo
38
+import { uParseTime } from '@/utils/tools'
39
+import axios from 'axios'
40
+import { getPrivateExpensesOrder } from '@/api/his/his'
41
+
42
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
43
+import printOne from './statementTemplate/printOne'
44
+// import printOne from './settlementTemplate/hospitalPrintOne'
45
+import printTwo from './statementTemplate/printTwo'
46
+import { getAllDoctorList, getAllHisPatientList } from '@/api/project/project'
47
+import PrivateChargePrint from '../outpatientCharges/statementTemplate/privateChargePrint'
48
+import HospitalSettlePrint from './settlementTemplate/hospitalSettlePrint'
49
+
50
+export default {
51
+  name: 'dialysisPrintOrder',
52
+  components: {
53
+    HospitalSettlePrint,
54
+    PrivateChargePrint,
55
+    BreadCrumb,
56
+    printOne,
57
+    printTwo
58
+  },
59
+  props: {
60
+    paramsObj: Object
61
+  },
62
+  data() {
63
+    return {
64
+      crumbs: [
65
+        { path: false, name: '门诊医生站' },
66
+        { path: false, name: '打印' }
67
+      ],
68
+      record_date: '',
69
+      patientTableData: [],
70
+      advicePrint: [],
71
+      hisPatient: {},
72
+      patient: {},
73
+      search_input: '',
74
+      loading: false,
75
+      patient_id: 0,
76
+      prescription_id: 0,
77
+      ids: '',
78
+      info: null,
79
+      org_id: ''
80
+    }
81
+  },
82
+  methods: {
83
+    printThisPage() {
84
+      var ptime = Math.round(new Date().getTime() / 1000)
85
+      this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
86
+
87
+      const style =
88
+          '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
89
+      printJS({
90
+        printable: 'statement-print',
91
+        type: 'html',
92
+        style: style,
93
+        scanStyles: false
94
+      })
95
+
96
+      // if (this.org_template_info.template_id == 1) {
97
+      //   printJS({
98
+      //     printable: "dialysis-print-box",
99
+      //     type: "html",
100
+      //     style: style,
101
+      //     scanStyles: false
102
+      //   });
103
+      // }
43 104
     },
44
-    props: {
45
-      paramsObj: Object
105
+    getAllDoctorList() {
106
+      getAllDoctorList().then(response => {
107
+        if (response.data.state == 1) {
108
+          var doctor = response.data.data.doctor
109
+
110
+          this.doctorList = doctor
111
+        }
112
+      })
46 113
     },
47
-    data() {
48
-      return {
49
-        crumbs: [
50
-          { path: false, name: '门诊医生站' },
51
-          { path: false, name: '打印' }
52
-        ],
53
-        record_date: '',
54
-        patientTableData: [],
55
-        advicePrint: [],
56
-        hisPatient: {},
57
-        patient: {},
58
-        search_input: '',
59
-        loading: false,
60
-        patient_id: 0,
61
-        prescription_id: 0,
62
-        ids: '',
63
-        info: null,
64
-        org_id: ''
114
+    getAllHisPatientList() {
115
+      const params = {
116
+        record_date: this.record_date
65 117
       }
118
+      getAllHisPatientList(params).then(response => {
119
+        if (response.data.state == 1) {
120
+          this.patientTableData = response.data.data.list
121
+          this.patientTableDataTwo = response.data.data.list
122
+
123
+          console.log('222', this.patientTableData)
124
+          let cal_one = 0
125
+          let cal_two = 0
126
+          for (let i = 0; i < response.data.data.list.length; i++) {
127
+            if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
128
+              cal_one = cal_one + 1
129
+            }
130
+            if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
131
+              cal_two = cal_two + 1
132
+            }
133
+          }
134
+          // this.$refs.tab.setCurrentRow(this.patientTableData[0])
135
+          // console.log(this.patientTableData[0])
136
+          // this.choosePatient(this.patientTableData[0])
137
+          this.cal_one = cal_one
138
+          this.cal_two = cal_two
139
+        }
140
+      })
66 141
     },
67
-    methods: {
68
-      printThisPage() {
69
-        var ptime = Math.round(new Date().getTime() / 1000)
70
-        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
71 142
 
72
-        const style =
73
-          '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
74
-        printJS({
75
-          printable: 'statement-print',
76
-          type: 'html',
77
-          style: style,
78
-          scanStyles: false
79
-        })
80
-
81
-        // if (this.org_template_info.template_id == 1) {
82
-        //   printJS({
83
-        //     printable: "dialysis-print-box",
84
-        //     type: "html",
85
-        //     style: style,
86
-        //     scanStyles: false
87
-        //   });
88
-        // }
89
-      },
90
-      getAllDoctorList() {
91
-        getAllDoctorList().then(response => {
92
-          if (response.data.state == 1) {
93
-            var doctor = response.data.data.doctor
143
+    changePatient(row) {
144
+      console.log('row', row)
145
+      this.patient_id = row.patient_id
146
+      this.record_date = this.record_date
147
+      this.prescription_id = this.prescription_id
148
+      //   var params = {
149
+      //     patient_id:row.patient_id,
150
+      //     record_date:this.record_date,
151
+      //     prescription_id:this.prescription_id,
152
+      //   }
153
+      // getPrescriptionPrint(params).then(response=>{
154
+      //     if(response.data.state == 1){
155
+      //       var advicePrint =  response.data.data.advicePrint
156
+      //       console.log("adviceprint",advicePrint)
157
+      //       this.advicePrint = advicePrint
158
+      //       // var hisPatient =  response.data.data.hisPatient
159
+      //       // console.log("hispatient",hisPatient)
160
+      //       // this.hisPatient = hisPatient
161
+      //       var patient =  response.data.data.patient
162
+      //       console.log("patient",patient)
163
+      //       this.patient = patient
164
+      //       var doctorPorject = response.data.data.doctorPorject
165
+      //       console.log("doctorporject",doctorPorject)
166
+      //     }
167
+      // })
168
+    },
169
+    searchAction() {
94 170
 
95
-            this.doctorList = doctor
96
-          }
97
-        })
98
-      },
99
-      getAllHisPatientList() {
100
-        const params = {
101
-          record_date: this.record_date
171
+    },
172
+    getInfo(order_id, balance_accounts_type) {
173
+      console.log(balance_accounts_type)
174
+
175
+      var that = this
176
+      if (balance_accounts_type == 2) {
177
+        let params = {
178
+          id: order_id,
179
+          order_id: order_id,
180
+          admin_user_id: this.$store.getters.xt_user.user.id
102 181
         }
103
-        getAllHisPatientList(params).then(response => {
104
-          if (response.data.state == 1) {
105
-            this.patientTableData = response.data.data.list
106
-            this.patientTableDataTwo = response.data.data.list
107
-
108
-            console.log('222', this.patientTableData)
109
-            let cal_one = 0
110
-            let cal_two = 0
111
-            for (let i = 0; i < response.data.data.list.length; i++) {
112
-              if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
113
-                cal_one = cal_one + 1
114
-              }
115
-              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
116
-                cal_two = cal_two + 1
117
-              }
118
-            }
119
-            // this.$refs.tab.setCurrentRow(this.patientTableData[0])
120
-            // console.log(this.patientTableData[0])
121
-            // this.choosePatient(this.patientTableData[0])
122
-            this.cal_one = cal_one
123
-            this.cal_two = cal_two
182
+        getPrivateExpensesOrder(params).then((response) => {
183
+          if (response.data.state == 0) {
184
+            // this.$message.error(response.data.msg)
185
+
186
+            return false
187
+          } else {
188
+            var that = this
189
+            that.info = response.data.data.info
190
+            that.p_admin = response.data.data.printor_admin
191
+            that.charge_admin = response.data.data.charge_admin
192
+
193
+            that.info['p_admin'] = that.p_admin
194
+            that.info['charge_admin'] = that.charge_admin
195
+            that.info['order_number'] = response.data.data.order_number
196
+            that.info['patient'] = response.data.data.patient
197
+            that.info['date'] = response.data.data.date
198
+            that.info['number'] = response.data.data.number
199
+            that.info['order_infos'] = response.data.data.order_infos
200
+            that.info['diagnosis'] = response.data.data.diagnosis
201
+            that.info['fixmedins_name'] = response.data.data.org_name
202
+            that.info['fixmedins_code'] = response.data.data.org_code
203
+            that.info['his'] = response.data.data.his_hospital
204
+
205
+            // that.info["doctor_code"] = response.data.data.doctor_code;
206
+            // that.info["department"] = response.data.data.department;
207
+            // that.info["health_card_no"] = response.data.data.health_card_no;
208
+
209
+            that.info['bed_cost_total'] = response.data.data.bedCostTotal
210
+            that.info['bed_cost_self_total'] =
211
+                response.data.data.bedCostSelfTotal
212
+            that.info['bed_cost_part_self_total'] =
213
+                response.data.data.bedCostPartSelfTotal
214
+
215
+            that.info['operation_cost_total'] =
216
+                response.data.data.operationCostTotal
217
+            that.info['operation_cost_self_total'] =
218
+                response.data.data.operationCostSelfTotal
219
+            that.info['operation_cost_part_self_total'] =
220
+                response.data.data.operationCostPartSelfTotal
221
+
222
+            that.info['other_cost_total'] = response.data.data.otherCostTotal
223
+            that.info['other_cost_self_total'] =
224
+                response.data.data.otherCostSelfTotal
225
+            that.info['other_cost_part_self_total'] =
226
+                response.data.data.otherCostPartSelfTotal
227
+
228
+            that.info['material_cost_total'] =
229
+                response.data.data.materialCostTotal
230
+            that.info['material_cost_self_total'] =
231
+                response.data.data.materialCostSelfTotal
232
+            that.info['material_cost_part_self_total'] =
233
+                response.data.data.materialCostPartSelfTotal
234
+
235
+            that.info['western_medicine_cost_total'] =
236
+                response.data.data.westernMedicineCostTotal
237
+            that.info['western_medicine_cost_self_total'] =
238
+                response.data.data.westernMedicineCostSelfTotal
239
+            that.info['western_medicine_cost_part_self_total'] =
240
+                response.data.data.westernMedicineCostPartSelfTotal
241
+
242
+            that.info['chinese_traditional_medicine_cost_total'] =
243
+                response.data.data.chineseTraditionalMedicineCostTotal
244
+            that.info['chinese_traditional_medicine_cost_self_total'] =
245
+                response.data.data.chineseTraditionalMedicineCostSelfTotal
246
+            that.info['chinese_traditional_medicine_cost_part_self_total'] =
247
+                response.data.data.chineseTraditionalMedicineCostPartSelfTotal
248
+
249
+            that.info['check_cost_total'] = response.data.data.checkCostTotal
250
+            that.info['check_cost_self_total'] =
251
+                response.data.data.checkCostSelfTotal
252
+            that.info['check_cost_part_self_total'] =
253
+                response.data.data.checkCostPartSelfTotal
254
+
255
+            that.info['laboratory_cost_total'] =
256
+                response.data.data.laboratoryCostTotal
257
+            that.info['laboratory_cost_self_total'] =
258
+                response.data.data.laboratoryCostSelfTotal
259
+            that.info['laboratory_cost_part_self_total'] =
260
+                response.data.data.laboratoryCostPartSelfTotal
261
+
262
+            that.info['treat_cost_total'] = response.data.data.treatCostTotal
263
+            that.info['treat_cost_self_total'] =
264
+                response.data.data.treatCostSelfTotal
265
+            that.info['treat_cost_part_self_total'] =
266
+                response.data.data.treatCostPartSelfTotal
267
+            that.info['date'] = response.data.data.date
268
+            // that.info["number"] = response.data.data.number;
269
+            that.info['order_infos'] = response.data.data.order_infos
270
+            that.info['diagnosis'] = response.data.data.diagnosis
271
+
124 272
           }
125 273
         })
126
-      },
127
-
128
-      changePatient(row) {
129
-        console.log('row', row)
130
-        this.patient_id = row.patient_id
131
-        this.record_date = this.record_date
132
-        this.prescription_id = this.prescription_id
133
-        //   var params = {
134
-        //     patient_id:row.patient_id,
135
-        //     record_date:this.record_date,
136
-        //     prescription_id:this.prescription_id,
137
-        //   }
138
-        // getPrescriptionPrint(params).then(response=>{
139
-        //     if(response.data.state == 1){
140
-        //       var advicePrint =  response.data.data.advicePrint
141
-        //       console.log("adviceprint",advicePrint)
142
-        //       this.advicePrint = advicePrint
143
-        //       // var hisPatient =  response.data.data.hisPatient
144
-        //       // console.log("hispatient",hisPatient)
145
-        //       // this.hisPatient = hisPatient
146
-        //       var patient =  response.data.data.patient
147
-        //       console.log("patient",patient)
148
-        //       this.patient = patient
149
-        //       var doctorPorject = response.data.data.doctorPorject
150
-        //       console.log("doctorporject",doctorPorject)
151
-        //     }
152
-        // })
153
-      },
154
-      searchAction() {
155
-
156
-      },
157
-      getInfo(order_id) {
158
-
159
-        var that = this
160 274
 
275
+      } else {
161 276
         axios.get('http://127.0.0.1:9532/api/settle/query', {
162 277
           params: {
163 278
             order_id: order_id,
@@ -165,281 +280,279 @@
165 280
 
166 281
           }
167 282
         })
168
-          .then(function(response) {
169
-            if (response.data.state == 0) {
170
-              this.$message.error(response.data.msg)
171
-              return false
172
-            } else {
173
-              console.log('logloglog')
174
-
175
-              console.log(response.data.data.info)
176
-              that.info = response.data.data.info
177
-              console.log(that.info)
178
-
179
-              that.p_admin = response.data.data.printor_admin
180
-              that.charge_admin = response.data.data.charge_admin
181
-              that.order_infos = response.data.data
182
-
183
-              that.info['p_admin'] = that.p_admin
184
-              that.info['charge_admin'] = that.charge_admin
185
-
186
-              that.info['date'] = response.data.data.date
187
-              that.info['number'] = response.data.data.number
188
-              that.info['order_infos'] = response.data.data.order_infos
189
-              that.info['diagnosis'] = response.data.data.diagnosis
190
-
191
-              that.info['bed_cost_total'] = response.data.data.bedCostTotal
192
-              that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
193
-              that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal
194
-
195
-              that.info['operation_cost_total'] = response.data.data.operationCostTotal
196
-              that.info['operation_cost_self_total'] = response.data.data.operationCostSelfTotal
197
-              that.info['operation_cost_part_self_total'] = response.data.data.operationCostPartSelfTotal
198
-
199
-              that.info['other_cost_total'] = response.data.data.otherCostTotal
200
-              that.info['other_cost_self_total'] = response.data.data.otherCostSelfTotal
201
-              that.info['other_cost_part_self_total'] = response.data.data.otherCostPartSelfTotal
202
-
203
-              that.info['material_cost_total'] = response.data.data.materialCostTotal
204
-              that.info['material_cost_self_total'] = response.data.data.materialCostSelfTotal
205
-              that.info['material_cost_part_self_total'] = response.data.data.materialCostPartSelfTotal
206
-
207
-              that.info['western_medicine_cost_total'] = response.data.data.westernMedicineCostTotal
208
-              that.info['western_medicine_cost_self_total'] = response.data.data.westernMedicineCostSelfTotal
209
-              that.info['western_medicine_cost_part_self_total'] = response.data.data.westernMedicineCostPartSelfTotal
210
-
211
-              that.info['chinese_traditional_medicine_cost_total'] = response.data.data.chineseTraditionalMedicineCostTotal
212
-              that.info['chinese_traditional_medicine_cost_self_total'] = response.data.data.chineseTraditionalMedicineCostSelfTotal
213
-              that.info['chinese_traditional_medicine_cost_part_self_total'] = response.data.data.chineseTraditionalMedicineCostPartSelfTotal
214
-
215
-              that.info['check_cost_total'] = response.data.data.checkCostTotal
216
-              that.info['check_cost_self_total'] = response.data.data.checkCostSelfTotal
217
-              that.info['check_cost_part_self_total'] = response.data.data.checkCostPartSelfTotal
218
-
219
-              that.info['laboratory_cost_total'] = response.data.data.laboratoryCostTotal
220
-              that.info['laboratory_cost_self_total'] = response.data.data.laboratoryCostSelfTotal
221
-              that.info['laboratory_cost_part_self_total'] = response.data.data.laboratoryCostPartSelfTotal
222
-
223
-              that.info['treat_cost_total'] = response.data.data.treatCostTotal
224
-              that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal
225
-              that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal
226
-              that.info['date'] = response.data.data.date
227
-              that.info['number'] = response.data.data.number
228
-              that.info['order_infos'] = response.data.data.order_infos
229
-              that.info['diagnosis'] = response.data.data.diagnosis
230
-
231
-            }
232
-          })
233
-          .catch(function(error) {
234
-
235
-          })
283
+            .then(function(response) {
284
+              if (response.data.state == 0) {
285
+                this.$message.error(response.data.msg)
286
+                return false
287
+              } else {
288
+                console.log('logloglog')
289
+
290
+                console.log(response.data.data.info)
291
+                that.info = response.data.data.info
292
+                console.log(that.info)
293
+
294
+                that.p_admin = response.data.data.printor_admin
295
+                that.charge_admin = response.data.data.charge_admin
296
+                that.order_infos = response.data.data
297
+
298
+                that.info['p_admin'] = that.p_admin
299
+                that.info['charge_admin'] = that.charge_admin
300
+
301
+                that.info['date'] = response.data.data.date
302
+                that.info['number'] = response.data.data.number
303
+                that.info['order_infos'] = response.data.data.order_infos
304
+                that.info['diagnosis'] = response.data.data.diagnosis
305
+
306
+                that.info['bed_cost_total'] = response.data.data.bedCostTotal
307
+                that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
308
+                that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal
309
+
310
+                that.info['operation_cost_total'] = response.data.data.operationCostTotal
311
+                that.info['operation_cost_self_total'] = response.data.data.operationCostSelfTotal
312
+                that.info['operation_cost_part_self_total'] = response.data.data.operationCostPartSelfTotal
313
+
314
+                that.info['other_cost_total'] = response.data.data.otherCostTotal
315
+                that.info['other_cost_self_total'] = response.data.data.otherCostSelfTotal
316
+                that.info['other_cost_part_self_total'] = response.data.data.otherCostPartSelfTotal
317
+
318
+                that.info['material_cost_total'] = response.data.data.materialCostTotal
319
+                that.info['material_cost_self_total'] = response.data.data.materialCostSelfTotal
320
+                that.info['material_cost_part_self_total'] = response.data.data.materialCostPartSelfTotal
321
+
322
+                that.info['western_medicine_cost_total'] = response.data.data.westernMedicineCostTotal
323
+                that.info['western_medicine_cost_self_total'] = response.data.data.westernMedicineCostSelfTotal
324
+                that.info['western_medicine_cost_part_self_total'] = response.data.data.westernMedicineCostPartSelfTotal
325
+
326
+                that.info['chinese_traditional_medicine_cost_total'] = response.data.data.chineseTraditionalMedicineCostTotal
327
+                that.info['chinese_traditional_medicine_cost_self_total'] = response.data.data.chineseTraditionalMedicineCostSelfTotal
328
+                that.info['chinese_traditional_medicine_cost_part_self_total'] = response.data.data.chineseTraditionalMedicineCostPartSelfTotal
329
+
330
+                that.info['check_cost_total'] = response.data.data.checkCostTotal
331
+                that.info['check_cost_self_total'] = response.data.data.checkCostSelfTotal
332
+                that.info['check_cost_part_self_total'] = response.data.data.checkCostPartSelfTotal
333
+
334
+                that.info['laboratory_cost_total'] = response.data.data.laboratoryCostTotal
335
+                that.info['laboratory_cost_self_total'] = response.data.data.laboratoryCostSelfTotal
336
+                that.info['laboratory_cost_part_self_total'] = response.data.data.laboratoryCostPartSelfTotal
337
+
338
+                that.info['treat_cost_total'] = response.data.data.treatCostTotal
339
+                that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal
340
+                that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal
341
+                that.info['date'] = response.data.data.date
342
+                that.info['number'] = response.data.data.number
343
+                that.info['order_infos'] = response.data.data.order_infos
344
+                that.info['diagnosis'] = response.data.data.diagnosis
345
+              }
346
+            })
347
+            .catch(function(error) {
348
+            })
236 349
       }
350
+    }
351
+  },
237 352
 
238
-    },
353
+  created() {
354
+    this.getInfo(this.paramsObj.order_id, this.paramsObj.balance_accounts_type)
355
+    this.org_id = this.$store.getters.xt_user.org_id
356
+  },
357
+  watch: {
358
+    paramsObj: {//深度监听,可监听到对象、数组的变化
359
+      handler(val, oldVal) {
360
+        this.paramsObj = val
361
+        this.getInfo(this.paramsObj.order_id, this.paramsObj.balance_accounts_type)
239 362
 
240
-    created() {
241
-      this.getInfo(this.paramsObj.order_id)
242
-      this.org_id = this.$store.getters.xt_user.org_id
243
-    },
244
-    watch: {
245
-      paramsObj: {//深度监听,可监听到对象、数组的变化
246
-        handler(val, oldVal) {
247
-          this.paramsObj = val
248
-          this.getInfo(this.paramsObj.order_id)
249
-
250
-        },
251
-        deep: true
252
-      }
363
+      },
364
+      deep: true
253 365
     }
254
-
255 366
   }
367
+
368
+}
256 369
 </script>
257 370
 
258 371
 <style>
259
-    .dialysis-print-order {
260
-        width: 960px;
261
-        margin: 0 auto;
262
-    }
263
-
264
-    .dialysis-print-order .order-yy-name {
265
-        margin: auto;
266
-        text-align: center;
267
-        font-size: 20px;
268
-        letter-spacing: 5px;
269
-    }
270
-
271
-    .dialysis-print-order .order-title {
272
-        margin: auto;
273
-        font-weight: 600;
274
-        text-align: center;
275
-        font-size: 22px;
276
-        padding: 10px;
277
-    }
278
-
279
-    .dialysis-print-order .table-box {
280
-        width: 100%;
281
-        line-height: 23px;
282
-        font-size: 14px;
283
-    }
284
-
285
-    .dialysis-print-order .print-table {
286
-        width: 100%;
287
-        text-align: center;
288
-        border-collapse: collapse;
289
-        line-height: 40px;
290
-        font-size: 14px;
291
-        border-color: #000;
292
-    }
293
-
294
-    .dialysis-print-order .print-table-no {
295
-        width: 100%;
296
-        text-align: center;
297
-        border-collapse: collapse;
298
-        font-size: 14px;
299
-    }
300
-
301
-    .dialysis-print-order .under-line {
302
-        border-bottom: 1px solid #999;
303
-        width: 95%;
304
-        text-align: center;
305
-        margin-left: 2px;
306
-    }
307
-
308
-    .dialysis-print-order .title-box {
309
-        text-align: center;
310
-        font-size: 16px;
311
-    }
312
-
313
-    .dialysis-print-order .radio-lebel-box {
314
-        font-weight: 400;
315
-        cursor: pointer;
316
-    }
317
-
318
-    .dialysis-print-order .radio-no {
319
-        opacity: 0;
320
-        outline: none;
321
-        position: absolute;
322
-        margin: 0;
323
-        width: 0;
324
-        height: 0;
325
-        z-index: -1;
326
-    }
327
-
328
-    .dialysis-print-order .radio-inner {
329
-        white-space: nowrap;
330
-        cursor: pointer;
331
-        outline: none;
332
-        display: inline-block;
333
-        line-height: 1;
334
-        position: relative;
335
-        vertical-align: middle;
336
-    }
337
-
338
-    .dialysis-print-order .radio-fang {
339
-        display: inline-block;
340
-        position: relative;
341
-        border: 1px solid #000;
342
-        box-sizing: border-box;
343
-        width: 14px;
344
-        height: 14px;
345
-        background-color: #fff;
346
-        z-index: 1;
347
-        transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
348
-        background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
349
-    }
350
-
351
-    .dialysis-print-order .is-checked-radio::after {
352
-        content: "√";
353
-        font-size: 15px;
354
-    }
355
-
356
-    .dialysis-print-order .print-table-no tr td {
357
-        padding: 8px 5px;
358
-        line-height: 25px;
359
-    }
360
-
361
-    .dialysis-print-order .print-table tr td {
362
-        padding: 1px 1px;
363
-        /*line-height: 25px;*/
364
-    }
365
-
366
-    .es-img {
367
-        height: 30px;
368
-    }
369
-
370
-    .advice-name {
371
-        text-align: left;
372
-    }
373
-
374
-    .advice-children {
375
-        display: flex;
376
-    }
377
-
378
-    .title-box-pro {
379
-        border: 0 #fff;
380
-        line-height: 25px;
381
-        height: 25px;
382
-        text-align: left;
383
-        padding-left: 10px !important;
384
-    }
385
-
386
-    .title-box-pro-tr {
387
-        border: 0 #fff;
388
-    }
389
-
390
-    .text-align-left {
391
-        text-align: left !important;
392
-        padding-left: 10px !important;
393
-        font-size: 14px !important;
394
-        line-height: 25px;
395
-    }
396
-
397
-    .print-table-tr-new td {
398
-        line-height: 20px !important;
399
-    }
400
-
401
-    .border-top-solid {
402
-        border: solid 1px #000;
403
-    }
404
-
405
-    .print-template-two tr {
406
-        line-height: 30px;
407
-    }
408
-
409
-    .table-box1 {
410
-        border: 1px solid #000;
411
-        width: 100%;
412
-        line-height: 30px;
413
-        font-size: 14px;
414
-        border-collapse: collapse;
415
-    }
416
-
417
-    .table-box1 tr {
418
-        border-bottom: 1px solid #000;
419
-    }
372
+.dialysis-print-order {
373
+  width: 960px;
374
+  margin: 0 auto;
375
+}
376
+
377
+.dialysis-print-order .order-yy-name {
378
+  margin: auto;
379
+  text-align: center;
380
+  font-size: 20px;
381
+  letter-spacing: 5px;
382
+}
383
+
384
+.dialysis-print-order .order-title {
385
+  margin: auto;
386
+  font-weight: 600;
387
+  text-align: center;
388
+  font-size: 22px;
389
+  padding: 10px;
390
+}
391
+
392
+.dialysis-print-order .table-box {
393
+  width: 100%;
394
+  line-height: 23px;
395
+  font-size: 14px;
396
+}
397
+
398
+.dialysis-print-order .print-table {
399
+  width: 100%;
400
+  text-align: center;
401
+  border-collapse: collapse;
402
+  line-height: 40px;
403
+  font-size: 14px;
404
+  border-color: #000;
405
+}
406
+
407
+.dialysis-print-order .print-table-no {
408
+  width: 100%;
409
+  text-align: center;
410
+  border-collapse: collapse;
411
+  font-size: 14px;
412
+}
413
+
414
+.dialysis-print-order .under-line {
415
+  border-bottom: 1px solid #999;
416
+  width: 95%;
417
+  text-align: center;
418
+  margin-left: 2px;
419
+}
420
+
421
+.dialysis-print-order .title-box {
422
+  text-align: center;
423
+  font-size: 16px;
424
+}
425
+
426
+.dialysis-print-order .radio-lebel-box {
427
+  font-weight: 400;
428
+  cursor: pointer;
429
+}
430
+
431
+.dialysis-print-order .radio-no {
432
+  opacity: 0;
433
+  outline: none;
434
+  position: absolute;
435
+  margin: 0;
436
+  width: 0;
437
+  height: 0;
438
+  z-index: -1;
439
+}
440
+
441
+.dialysis-print-order .radio-inner {
442
+  white-space: nowrap;
443
+  cursor: pointer;
444
+  outline: none;
445
+  display: inline-block;
446
+  line-height: 1;
447
+  position: relative;
448
+  vertical-align: middle;
449
+}
450
+
451
+.dialysis-print-order .radio-fang {
452
+  display: inline-block;
453
+  position: relative;
454
+  border: 1px solid #000;
455
+  box-sizing: border-box;
456
+  width: 14px;
457
+  height: 14px;
458
+  background-color: #fff;
459
+  z-index: 1;
460
+  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
461
+  background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
462
+}
463
+
464
+.dialysis-print-order .is-checked-radio::after {
465
+  content: "√";
466
+  font-size: 15px;
467
+}
468
+
469
+.dialysis-print-order .print-table-no tr td {
470
+  padding: 8px 5px;
471
+  line-height: 25px;
472
+}
473
+
474
+.dialysis-print-order .print-table tr td {
475
+  padding: 1px 1px;
476
+  /*line-height: 25px;*/
477
+}
478
+
479
+.es-img {
480
+  height: 30px;
481
+}
482
+
483
+.advice-name {
484
+  text-align: left;
485
+}
486
+
487
+.advice-children {
488
+  display: flex;
489
+}
490
+
491
+.title-box-pro {
492
+  border: 0 #fff;
493
+  line-height: 25px;
494
+  height: 25px;
495
+  text-align: left;
496
+  padding-left: 10px !important;
497
+}
498
+
499
+.title-box-pro-tr {
500
+  border: 0 #fff;
501
+}
502
+
503
+.text-align-left {
504
+  text-align: left !important;
505
+  padding-left: 10px !important;
506
+  font-size: 14px !important;
507
+  line-height: 25px;
508
+}
509
+
510
+.print-table-tr-new td {
511
+  line-height: 20px !important;
512
+}
513
+
514
+.border-top-solid {
515
+  border: solid 1px #000;
516
+}
517
+
518
+.print-template-two tr {
519
+  line-height: 30px;
520
+}
521
+
522
+.table-box1 {
523
+  border: 1px solid #000;
524
+  width: 100%;
525
+  line-height: 30px;
526
+  font-size: 14px;
527
+  border-collapse: collapse;
528
+}
529
+
530
+.table-box1 tr {
531
+  border-bottom: 1px solid #000;
532
+}
420 533
 </style>
421 534
 
422 535
 <style lang="scss">
423 536
 
424
-    .newContainer {
537
+.newContainer {
425 538
 
426
-    .dialysisPage::-webkit-scrollbar {
427
-        height: 15px;
428
-    }
539
+.dialysisPage::-webkit-scrollbar {
540
+  height: 15px;
541
+}
429 542
 
430
-    .el-date-editor {
543
+.el-date-editor {
431 544
 
432
-    .el-input__inner {
433
-        padding-right: 0px;
434
-    }
545
+.el-input__inner {
546
+  padding-right: 0px;
547
+}
435 548
 
436
-    }
437
-    .el-table td, .el-table th {
438
-        text-align: center;
439
-    }
549
+}
550
+.el-table td, .el-table th {
551
+  text-align: center;
552
+}
440 553
 
441
-    }
442
-    .newContainer::-webkit-scrollbar {
443
-        height: 15px !important;
444
-    }
554
+}
555
+.newContainer::-webkit-scrollbar {
556
+  height: 15px !important;
557
+}
445 558
 </style>

+ 5 - 1
src/xt_pages/hospitalStation/summary.vue 查看文件

@@ -627,6 +627,7 @@
627 627
         }
628 628
       },
629 629
       toPrint(row) {
630
+        console.log(row)
630 631
         if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10138) || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10278)) {
631 632
           this.statementVisible9504 = true
632 633
           let obj = {
@@ -641,11 +642,14 @@
641 642
           this.statementVisible = true
642 643
           let obj = {
643 644
             order_id: row.id,
644
-            settle_type: row.settle_type,
645
+            balance_accounts_type: row.his_hospital_patient.balance_accounts_type,
645 646
             start_time: row.settle_start_time,
646 647
             end_time: row.settle_end_time
647 648
           }
649
+          console.log(obj)
648 650
           this.orderObj = obj
651
+          console.log(this.orderObj)
652
+
649 653
         }
650 654
 
651 655
       },

+ 2 - 3
src/xt_pages/hospitalStation/template/printOne.vue 查看文件

@@ -270,9 +270,7 @@ export default {
270 270
               );
271 271
             }
272 272
           }
273
-          console.log("处方222222", this.prescriptions);
274
-          var hisPatient = response.data.data.hisHospitalRecord;
275
-          this.hisPatient = hisPatient;
273
+          this.hisPatient = response.data.data.hisHospitalRecord;
276 274
           var projectlist = response.data.data.projectlist;
277 275
           console.log("所有项目列表", projectlist);
278 276
           this.projectList = projectlist;
@@ -402,6 +400,7 @@ export default {
402 400
     ids: function (val) {
403 401
       this.ids = val;
404 402
       this.getPrescriptionPrint();
403
+      this.getHisPatientDetail();
405 404
     },
406 405
   },
407 406
 };

+ 8 - 0
src/xt_pages/outpatientCharges/components/registerDialog.vue 查看文件

@@ -663,6 +663,14 @@
663 663
                 that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
664 664
                 that.form.phone = patient.phone
665 665
                 that.form.id_card = patient.id_card_no
666
+              } else {
667
+                that.form.id = patient.id
668
+                that.form.name = patient.name
669
+                that.form.gender = patient.gender
670
+                that.form.age = patient.age
671
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
672
+                that.form.phone = patient.phone
673
+                that.form.id_card = patient.id_card_no
666 674
               }
667 675
               that.$message({ message: '读卡成功', type: 'success' })
668 676
             }

+ 2 - 2
src/xt_pages/outpatientCharges/costComparison.vue 查看文件

@@ -761,8 +761,8 @@ c<template>
761 761
               }
762 762
 
763 763
               import('@/vendor/Export2Excel').then(excel => {
764
-                const tHeader = ['序号', '姓名','个人编te号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
765
-                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
764
+                const tHeader = ['序号', '姓名','个人编号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '按比例自付II','超封顶线费用','合计','基本统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
765
+                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '按比例自付II','超封顶线费用','合计','基本统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
766 766
                 // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
767 767
                 const merges = ['A1:A2', 'B1:B2', 'C1:E1', 'F1:H1', 'I1:K1', 'L1:N1', 'O1:Q1', 'R1:T1', 'U1:W1', 'X1:Z1', 'AA1:AC1', 'AD1:AF1', 'AG1:AI1', 'AJ1:AL1', 'AM1:AO1', 'AP1:AR1', 'AS1:AU1', 'AV1:AX1', 'AY1:BA1', 'BB1:BD1', 'BE1:BG1', 'BH1:BJ1', 'BK1:BM1']
768 768
 

+ 0 - 1
src/xt_pages/outpatientCharges/invoicePrint.vue 查看文件

@@ -20,7 +20,6 @@
20 20
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
21 21
           <printFour v-if="org_id == 10215 || org_id == 4" :paramsObj="invoiceParams"></printFour>
22 22
           <printFive v-if="org_id == 10188 " :paramsObj="invoiceParams"></printFive>
23
-
24 23
           <printSix v-if="org_id == 10217|| org_id == 0" :paramsObj="invoiceParams"></printSix>
25 24
         </div>
26 25
     </div>

+ 13 - 13
src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue 查看文件

@@ -1,12 +1,12 @@
1 1
 <template>
2 2
     <div id='invoice-print'>
3 3
         <div v-for='(i,index) in pageArr.length' :key="index">
4
-            <div :style="{position: 'absolute',top:(10 + (index * 400))  + 'px',left:130+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
-            <div :style="{position: 'absolute',top:(40 + (index * 400))  + 'px',left:90+ 'px',}">{{ list.order_number }}</div>
4
+            <div :style="{position: 'absolute',top:(20 + (index * 400))  + 'px',left:200+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
+            <div :style="{position: 'absolute',top:(80 + (index * 400))  + 'px',left:150+ 'px',}">{{ list.order_number }}</div>
6 6
             <div style="display:flex;justify-content: space-between;">
7
-                <div :style="{position: 'absolute',top:(70 + (index * 400))  + 'px',left:80+ 'px',}">{{ paramsObj.name }}</div>
7
+                <div :style="{position: 'absolute',top:(130 + (index * 400))  + 'px',left:80+ 'px',}">{{ paramsObj.name }}</div>
8 8
             </div>
9
-            <div :style="{position: 'absolute',top:(130 + (index * 400))  + 'px',left:80+ 'px',}">
9
+            <div :style="{position: 'absolute',top:(190 + (index * 400))  + 'px',left:80+ 'px',}">
10 10
                 <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
11 11
                 <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
12 12
                 <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
@@ -16,7 +16,7 @@
16 16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
17 17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
18 18
             </div>
19
-            <div :style="{position: 'absolute',top:(130 + (index * 400))  + 'px',left:260+ 'px'}">
19
+            <div :style="{position: 'absolute',top:(190 + (index * 400))  + 'px',left:260+ 'px'}">
20 20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
21 21
                     <span style="display:inline-block;width:200px;">
22 22
                         <span v-if="item.advice.id == 0">
@@ -41,9 +41,9 @@
41 41
                     </span>
42 42
                 </div>
43 43
             </div>
44
-            <div :style="{position: 'absolute',top:(345 + (index * 400))  + 'px',left:110+ 'px'}">{{ zhongwen }}</div>
45
-            <div :style="{position: 'absolute',top:(345 + (index * 400))  + 'px',left:460+ 'px'}">{{ list.medfee_sumamt }}</div>
46
-            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(360 + (index * 400))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
44
+            <div :style="{position: 'absolute',top:(390 + (index * 400))  + 'px',left:110+ 'px'}">{{ zhongwen }}</div>
45
+            <div :style="{position: 'absolute',top:(390 + (index * 400))  + 'px',left:460+ 'px'}">{{ list.medfee_sumamt }}</div>
46
+            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
47 47
                 <div style="display:flex;">
48 48
                   <div style="width:140px">医疗总费用:{{ list.order.medfee_sumamt }}</div>
49 49
                   <div style="width:140px">基金支付总额:{{ list.order.fund_pay_sumamt }}</div>
@@ -70,15 +70,15 @@
70 70
 
71 71
             </div>
72 72
             <div>
73
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:100+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:360+ 'px'}">{{ paramsObj.chargeName }}</div>
75
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:520+ 'px'}">
73
+                <div :style="{position: 'absolute',top:(500 + (index * 400))  + 'px',left:100+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
+                <div :style="{position: 'absolute',top:(500 + (index * 400))  + 'px',left:360+ 'px'}">{{ paramsObj.chargeName }}</div>
75
+                <div :style="{position: 'absolute',top:(500 + (index * 400))  + 'px',left:520+ 'px'}">
76 76
                     <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
77 77
                 </div>
78
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:560+ 'px'}">
78
+                <div :style="{position: 'absolute',top:(500 + (index * 400))  + 'px',left:560+ 'px'}">
79 79
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
80 80
                 </div>
81
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:600+ 'px'}">
81
+                <div :style="{position: 'absolute',top:(500 + (index * 400))  + 'px',left:600+ 'px'}">
82 82
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
83 83
                 </div>
84 84
             </div>

+ 1 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue 查看文件

@@ -151,7 +151,7 @@
151 151
                             <div style="margin-bottom:10px;float: right">
152 152
                               <div>
153 153
                                 <el-button
154
-                                    v-if="(hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"
154
+                                    v-if="(hisPatientInfo.id_card_type != 3 && hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"
155 155
                                     size="small"
156 156
                                     @click="open(8,items.med_type,items.prescriptions[0].order,items.prescriptions)"
157 157
                                     type="primary"

+ 221 - 13
src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue 查看文件

@@ -24,7 +24,7 @@
24 24
         </div>
25 25
         <div class="row">
26 26
             <div>医保编号<div style="width:120px;" class="under_line">{{ info.psn_no }}</div></div>
27
-            <div>病案号<div style="width:120px;" class="under_line">{{ info.certno ? info.certno.substring(info.certno.length-6) : '' }}</div></div>
27
+            <div>病案号<div style="width:120px;" class="under_line">{{ info.psn_no ? info.psn_no : '' }}</div></div>
28 28
             <div>申报时间
29 29
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(0,4) : '' }}</div>年
30 30
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(5,7) : '' }}</div>月
@@ -63,10 +63,10 @@
63 63
                             </div>
64 64
                             <div class="row">
65 65
                                 <div class="inline_block">(年龄不足1周岁)年龄
66
-                                    <div style="width:80px;" class="under_line"></div>天
66
+                                    <div style="width:80px;" class="under_line">{{info.age}}</div>天
67 67
                                 </div>
68 68
                                 <div class="inline_block">民族
69
-                                    <div style="width:80px;" class="under_line"></div>
69
+                                    <div style="width:80px;" class="under_line">{{getNaty(info.naty)}}</div>
70 70
                                 </div>
71 71
                                 <div class="inline_block">患者证件类别
72 72
                                     <div style="width:80px;" class="under_line">身份证</div>
@@ -115,13 +115,14 @@
115 115
                                     <div style="width:140px;" class="under_line"></div>
116 116
                                 </div>
117 117
                                 <div class="inline_block">电话
118
-                                    <div style="width:80px;" class="under_line"></div>
118
+                                    <div style="width:80px;" class="under_line">{{info.patinet.phone}}</div>
119 119
                                 </div>
120 120
                             </div>
121 121
                             <div class="row">
122
-                                <div style="width:33%;">医保类型<div style="width:120px;" class="under_line"></div></div>
123
-                                <div style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
124
-                                <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
122
+                              <div v-if="info.insutype == '310'" style="width:33%;">医保类型<div style="width:120px;" class="under_line">职工基本医疗保险</div></div>
123
+                              <div v-if="info.insutype == '390'"  style="width:33%;">医保类型<div style="width:120px;" class="under_line">城乡居民基本医疗保险</div></div>
124
+                              <div  style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
125
+                              <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
125 126
                             </div>
126 127
                             <div class="row">
127 128
                                 <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
@@ -391,7 +392,7 @@
391 392
                                     入院前<div style="width:40px;" class="under_line"></div>
392 393
 
393 394
                                     天<div style="width:40px;" class="under_line"></div>
394
-                                    
395
+
395 396
                                     小时<div style="width:40px;" class="under_line"></div>分钟
396 397
                                 </div>
397 398
                             </div>
@@ -400,7 +401,7 @@
400 401
                                     入院前<div style="width:40px;" class="under_line"></div>
401 402
 
402 403
                                     天<div style="width:40px;" class="under_line"></div>
403
-                                    
404
+
404 405
                                     小时<div style="width:40px;" class="under_line"></div>分钟
405 406
                                 </div>
406 407
                             </div>
@@ -470,7 +471,7 @@
470 471
                                 <div style="width:80px;" class="under_line"></div>
471 472
                             </div>
472 473
                             <div>
473
-                                <label-box :isChecked="false" showValue="3.转社区,转卫生院机构,拟接收机构名称"></label-box> 
474
+                                <label-box :isChecked="false" showValue="3.转社区,转卫生院机构,拟接收机构名称"></label-box>
474 475
                                 <div style="width:80px;" class="under_line"></div>
475 476
                                 拟接收机构代码
476 477
                                 <div style="width:80px;" class="under_line"></div>
@@ -729,7 +730,7 @@
729 730
                                                 <td>......</td>
730 731
                                                 <td>&nbsp;</td>
731 732
                                             </tr>
732
-                                            
733
+
733 734
                                         </tbody>
734 735
                                     </table>
735 736
                                 </div>
@@ -753,7 +754,7 @@
753 754
                                                 <td style="width:36%">个人现金支付</td>
754 755
                                                 <td>&nbsp;</td>
755 756
                                             </tr>
756
-                                            
757
+
757 758
                                         </tbody>
758 759
                                     </table>
759 760
                                 </div>
@@ -830,6 +831,213 @@ export default {
830 831
         }
831 832
     },
832 833
     methods:{
834
+      getNaty(naty){
835
+        switch (naty){
836
+          case "1":
837
+            return "汉族"
838
+            break
839
+          case "2":
840
+            return "蒙古族"
841
+
842
+            break
843
+          case "3":
844
+            return "回族"
845
+
846
+
847
+            break
848
+          case "4":
849
+            return "藏族"
850
+
851
+
852
+            break
853
+          case "5":
854
+            return "维吾尔族"
855
+
856
+            break
857
+          case "6":
858
+            return "苗族"
859
+
860
+            break
861
+          case "7":
862
+            return "彝族"
863
+
864
+            break
865
+          case "8":
866
+            return "壮族"
867
+
868
+            break
869
+          case "9":
870
+            return "布依族"
871
+
872
+            break
873
+          case "10":
874
+            return "朝鲜族"
875
+
876
+            break
877
+          case "11":
878
+            return "满族"
879
+
880
+            break
881
+          case "12":
882
+            return "侗族"
883
+
884
+            break
885
+          case "13":
886
+            return "瑶族"
887
+
888
+            break
889
+          case "14":
890
+            return "白族"
891
+
892
+            break
893
+          case "15":
894
+            return "土家族"
895
+
896
+            break
897
+          case "16":
898
+            return "哈尼族"
899
+            break
900
+          case "17":
901
+            return "哈萨克族"
902
+            break
903
+          case "18":
904
+            return "傣族"
905
+            break
906
+          case "19":
907
+            return "黎族"
908
+            break
909
+          case "20":
910
+            return "傈僳族"
911
+
912
+            break
913
+          case "21":
914
+            return "佤族"
915
+
916
+            break
917
+          case "22":
918
+            return "畲族"
919
+            break
920
+          case "23":
921
+            return "高山族"
922
+
923
+            break
924
+          case "24":
925
+            return "拉祜族"
926
+
927
+            break
928
+          case "25":
929
+            return "水族"
930
+            break
931
+          case "26":
932
+            return "东乡族"
933
+            break
934
+          case "27":
935
+            return "纳西族"
936
+            break
937
+          case "28":
938
+            return "景颇族"
939
+            break
940
+          case "29":
941
+            return "柯尔克孜族"
942
+            break
943
+          case "30":
944
+            return "土族"
945
+            break
946
+          case "31":
947
+            return "达斡尔族"
948
+            break
949
+          case "32":
950
+            return "仫佬族"
951
+            break
952
+          case "33":
953
+            return "羌族"
954
+            break
955
+          case "34":
956
+            return "布朗族"
957
+            break
958
+          case "35":
959
+            return "撒拉族"
960
+            break
961
+          case "36":
962
+            return "毛南族"
963
+            break
964
+          case "37":
965
+            return "仡佬族"
966
+            break
967
+          case "38":
968
+            return "锡伯族"
969
+            break
970
+          case "39":
971
+            return "阿昌族"
972
+            break
973
+          case "40":
974
+            return "普米族"
975
+            break
976
+          case "41":
977
+            return "塔吉克族"
978
+            break
979
+          case "42":
980
+            return "怒族"
981
+            break
982
+          case "43":
983
+            return "乌孜别克族"
984
+            break
985
+          case "44":
986
+            return "俄罗斯族"
987
+            break
988
+          case "45":
989
+            return "鄂温克族"
990
+
991
+            break
992
+          case "46":
993
+            return "德昂族"
994
+            break
995
+          case "47":
996
+            return "保安族"
997
+            break
998
+          case "48":
999
+            return "裕固族"
1000
+            break
1001
+          case "49":
1002
+            return "京族"
1003
+
1004
+            break
1005
+          case "50":
1006
+            return "塔塔尔族"
1007
+
1008
+            break
1009
+          case "51":
1010
+            return "独龙族"
1011
+
1012
+            break
1013
+          case "52":
1014
+            return "鄂伦春族"
1015
+
1016
+            break
1017
+          case "53":
1018
+            return "赫哲族"
1019
+
1020
+            break
1021
+          case "54":
1022
+            return "门巴族"
1023
+
1024
+            break
1025
+          case "55":
1026
+            return "珞巴族"
1027
+
1028
+            break
1029
+          case "56":
1030
+            return "基诺族"
1031
+            break
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+        }
1039
+
1040
+      },
833 1041
       getNewAge(UUserCard) {
834 1042
         if (UUserCard != null && UUserCard != '') {
835 1043
             // 获取年龄
@@ -916,4 +1124,4 @@ export default {
916 1124
   padding: 6px 5px;
917 1125
   line-height: 16px;
918 1126
 }
919
-</style>
1127
+</style>

+ 5 - 3
src/xt_pages/outpatientCharges/statementPrint.vue 查看文件

@@ -29,7 +29,7 @@
29 29
           :paramsObj="paramsObj"
30 30
           :balanceAccounts="balanceAccounts"
31 31
           v-if="
32
-            org_id == 10138 || org_id == 0 || org_id == 4 || org_id == 10278
32
+            org_id == 10138 || org_id == 4 || org_id == 10278
33 33
           "
34 34
         ></printThree>
35 35
         <printFour
@@ -38,10 +38,11 @@
38 38
           :paramsObj="paramsObj"
39 39
           :balanceAccounts="balanceAccounts"
40 40
         ></printFour>
41
+<!--        <privateChargePrint  :info="info" v-if="org_id == 10215 && this.paramsObj.balance_accounts_type == 2"></privateChargePrint>-->
42
+
41 43
       </div>
42 44
 <!--      <print-other :info="info" v-if="org_id == 9919"></print-other>-->
43 45
 <!--      <printOne :info=" info" v-if="org_id == 10215 && this.paramsObj.balance_accounts_type == 2"></printOne>-->
44
-      <privateChargePrint  :info="info" v-if="(org_id == 0 || org_id == 10215) && this.paramsObj.balance_accounts_type == 2"></privateChargePrint>
45 46
       <printOne :info="info" v-else></printOne>
46 47
       <!-- 测试医保环境下表格样式放开以下这条 -->
47 48
       <!-- <testVue :info="info" v-else></testVue> -->
@@ -490,7 +491,8 @@ export default {
490 491
               console.log(111, this.balanceAccounts);
491 492
             }
492 493
           });
493
-        }else if (this.org_id == 10215 || this.org_id == 0) {
494
+        }else
495
+          if (this.org_id == 10215 || this.org_id == 0) {
494 496
 
495 497
           getPrivateExpensesOrder(params).then((response) => {
496 498
             if (response.data.state == 0) {

+ 6 - 6
src/xt_pages/outpatientCharges/statementTemplate/privateChargePrint.vue 查看文件

@@ -16,11 +16,11 @@
16 16
       </tr>
17 17
       <tr>
18 18
         <td width="90">就医登记号</td>
19
-        <td colspan="11"></td>
19
+        <td colspan="11">{{info.his.number}}</td>
20 20
       </tr>
21 21
       <tr>
22 22
         <td width="80">姓名</td>
23
-        <td width="80">{{info.patient.name}}</td>
23
+        <td width="80">{{info.his.name}}</td>
24 24
         <td width="80">性别</td>
25 25
         <td width="50" v-if="info.patient.gender == 1">男</td>
26 26
         <td width="50" v-if="info.patient.gender == 2">女</td>
@@ -48,11 +48,11 @@
48 48
         <td>床号</td>
49 49
         <td></td>
50 50
         <td>入院日期</td>
51
-        <td>{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</td>
51
+        <td>{{info.his.in_hosptial_time ? info.his.in_hosptial_time.split(' ')[0] : ''}}</td>
52 52
         <td>出院日期</td>
53
-        <td width="100">{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</td>
53
+        <td width="100">{{info.his.out_hosptial_time ? info.his.out_hosptial_time.split(' ')[0] : ''}}</td>
54 54
         <td>住院天数</td>
55
-        <td>{{getDay(info.setl_time.split(' ')[0],info.setl_time.split(' ')[0])}}</td>
55
+        <td>{{getDay(info.his.in_hosptial_time.split(' ')[0] ,info.his.out_hosptial_time.split(' ')[0])}}</td>
56 56
 
57 57
       </tr>
58 58
       <tr>
@@ -291,7 +291,7 @@ export default {
291 291
         return 1;
292 292
       }
293 293
       var days=(endDate - startDate)/(1*24*60*60*1000);
294
-      return  days;
294
+      return  days + 1;
295 295
 
296 296
     },
297 297
     getNowTime: function () {

+ 227 - 211
src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue 查看文件

@@ -1,9 +1,9 @@
1 1
 <template>
2 2
   <div id="prescriptionPrint" class="prescription-print">
3 3
     <div
4
-      v-for="(i, index) in printData"
5
-      :key="index"
6
-      style="
4
+        v-for="(i, index) in printData"
5
+        :key="index"
6
+        style="
7 7
         box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
8 8
           0 0 40px rgba(0, 0, 0, 0.06) inset;
9 9
       "
@@ -11,17 +11,18 @@
11 11
       <!--            <img style="width:100%;height:80px" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">-->
12 12
       <!--/*             <img style="width:100%;height:80px" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">*/-->
13 13
       <div
14
-        id="prescription-print"
15
-        class="prescription-print"
16
-        style="page-break-after: always"
17
-        v-for="(item, index) in i.prescriptions"
18
-        :key="index"
14
+          id="prescription-print"
15
+          class="prescription-print"
16
+          style="page-break-after: always"
17
+          v-for="(item, index) in i.prescriptions"
18
+          v-if="getTeam(i.prescriptions).length > 0"
19
+          :key="index"
19 20
       >
20 21
         <div class="printTitle">检验申请单</div>
21 22
 
22 23
         <div style="border: 1px solid #000">
23 24
           <div
24
-            style="
25
+              style="
25 26
               display: flex;
26 27
               justify-content: space-between;
27 28
               border-bottom: 1px solid #000;
@@ -33,22 +34,22 @@
33 34
             <div>
34 35
               结算方式:{{
35 36
                 i.his_patient.id != 0
36
-                  ? i.his_patient.balance_accounts_type == 1
37
-                    ? "医保"
38
-                    : "自费"
39
-                  : ""
37
+                    ? i.his_patient.balance_accounts_type == 1
38
+                        ? '医保'
39
+                        : '自费'
40
+                    : ''
40 41
               }}
41 42
             </div>
42 43
             <div
43
-              v-for="item in getSingleTeam(i.prescriptions)"
44
-              :key="item"
45
-              style="margin-bottom: 10px"
44
+                v-for="item in getSingleTeam(i.prescriptions)"
45
+                :key="item"
46
+                style="margin-bottom: 10px"
46 47
             >
47 48
               金额:{{ item }}
48 49
             </div>
49 50
           </div>
50 51
           <div
51
-            style="
52
+              style="
52 53
               display: flex;
53 54
               justify-content: space-between;
54 55
               border-bottom: 1px solid #000;
@@ -70,7 +71,7 @@
70 71
                 <span v-if="i.gender == 2">女</span>
71 72
               </span>
72 73
             </div>
73
-            <div>年龄:{{ i.age ? i.age : "" }}岁</div>
74
+            <div>年龄:{{ i.age ? i.age : '' }}岁</div>
74 75
           </div>
75 76
           <!-- <div style="margin-bottom:20px;padding:10px 10px 0;">病史摘要:{{history.history_of_present_illness?history.history_of_present_illness:''}}</div> -->
76 77
           <!-- <div style="margin-bottom:20px;padding:0 10px;">体格检查:
@@ -86,16 +87,16 @@
86 87
             <div>检验项目:</div>
87 88
             <div>
88 89
               <div
89
-                v-for="item in getTeam(i.prescriptions)"
90
-                :key="item.id"
91
-                style="margin-bottom: 10px"
90
+                  v-for="item in getTeam(i.prescriptions)"
91
+                  :key="item.id"
92
+                  style="margin-bottom: 10px"
92 93
               >
93 94
                 {{ item.team.project_team }}
94 95
               </div>
95 96
             </div>
96 97
           </div>
97 98
           <div
98
-            style="
99
+              style="
99 100
               display: flex;
100 101
               justify-content: space-between;
101 102
               border-top: 1px solid #000;
@@ -103,14 +104,14 @@
103 104
               padding: 0 10px;
104 105
             "
105 106
           >
106
-            <div>开单医生:{{ i.info.doctor ? i.info.doctor : "" }}</div>
107
+            <div>开单医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
107 108
             <div>
108 109
               开单日期:
109 110
               {{
110
-                getTime(i.info.ctime) ? getTime(i.info.ctime).split(" ")[0] : ""
111
+                getTime(i.info.ctime) ? getTime(i.info.ctime).split(' ')[0] : ''
111 112
               }}
112 113
             </div>
113
-            <div>医生签字:{{ i.info.doctor ? i.info.doctor : "" }}</div>
114
+            <div>医生签字:{{ i.info.doctor ? i.info.doctor : '' }}</div>
114 115
           </div>
115 116
         </div>
116 117
         <!--            <img style="width:100%;" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">-->
@@ -120,12 +121,13 @@
120 121
   </div>
121 122
 </template>
122 123
 <script>
123
-import { jsGetAge, uParseTime } from "@/utils/tools";
124
-import { getAllDoctorList } from "@/api/project/project";
125
-import { getInitData } from "@/api/his/his";
124
+import { uParseTime } from '@/utils/tools'
125
+import { getAllDoctorList } from '@/api/project/project'
126
+import { getInitData } from '@/api/his/his'
127
+
126 128
 export default {
127 129
   props: {
128
-    printData: Array,
130
+    printData: Array
129 131
   },
130 132
   data() {
131 133
     return {
@@ -138,150 +140,149 @@ export default {
138 140
       department: [],
139 141
       prescriptions: [],
140 142
       projectList: [],
141
-      orgname: "",
143
+      orgname: '',
142 144
       diagnoses: [],
143 145
       pageArr: [],
144 146
       faber: {},
145 147
       total: 0,
146 148
       projectPrint: [],
147
-      time: "",
148
-      doctor: "",
149
-      org_id: "",
149
+      time: '',
150
+      doctor: '',
151
+      org_id: '',
150 152
       singleProjectPrint: [],
151
-      total_copy: [],
152
-    };
153
+      total_copy: []
154
+    }
153 155
   },
154 156
 
155 157
   methods: {
156 158
     getAllDoctorList() {
157 159
       getAllDoctorList().then((response) => {
158 160
         if (response.data.state == 1) {
159
-          var doctor = response.data.data.doctor;
161
+          var doctor = response.data.data.doctor
160 162
 
161
-          this.doctorList = doctor;
163
+          this.doctorList = doctor
162 164
         }
163
-      });
165
+      })
164 166
     },
165 167
     getDoctor(id) {
166
-      var name = "";
168
+      var name = ''
167 169
       for (let i = 0; i < this.doctorList.length; i++) {
168 170
         if (id == this.doctorList[i].admin_user_id) {
169
-          name = this.doctorList[i].user_name;
171
+          name = this.doctorList[i].user_name
170 172
         }
171 173
       }
172
-      return name;
174
+      return name
173 175
     },
174 176
     getTime(value, temp) {
175 177
       if (value != undefined) {
176
-        return uParseTime(value, temp);
178
+        return uParseTime(value, temp)
177 179
       }
178
-      return "";
180
+      return ''
179 181
     },
180 182
 
181 183
     getTeam(prescriptions, isUpdate = false) {
182
-      let projectPrint = [];
184
+      let projectPrint = []
183 185
       prescriptions.forEach((item) => {
184 186
         // !此为修改前的处理方法,因考虑到可能有逻辑错误的存在故注释,若后续需求以这个为准可放开此条!
187
+        if (item.project.length > 0) {
188
+          item.project.map((it) => {
189
+            if (it.type == 2) {
190
+              if (it.project.cost_classify == 3) {
191
+                projectPrint.push(it)
192
+              }
193
+            }
194
+          })
195
+        }
185 196
         // if (item.project.length > 0) {
186 197
         //   item.project.map((it) => {
187
-        //     if (it.type == 2) {
188
-        //       if (it.project.cost_classify == 3) {
189
-        //         projectPrint.push(it);
190
-        //       }
191
-        //     }
198
+        //     projectPrint.push(it);
192 199
         //   });
193 200
         // }
194
-
195
-        if (item.project.length > 0) {
196
-          item.project.map((it) => {
197
-            projectPrint.push(it);
198
-          });
199
-        }
200
-      });
201
-
202
-      let data = [];
201
+      })
202
+      let data = []
203 203
       projectPrint.map((item) => {
204 204
         // console.log(item, "999");
205 205
         if (item.team.id == 0) {
206
-          data.push(item);
206
+          data.push(item)
207 207
         } else {
208
-          let status = data.some((it) => it.team.id == item.team.id);
208
+          let status = data.some((it) => it.team.id == item.team.id)
209 209
           if (!status) {
210
-            data.push(item);
210
+            data.push(item)
211 211
           }
212 212
         }
213
-      });
213
+      })
214 214
       if (isUpdate) {
215
-        this.projectPrint = data;
215
+        this.projectPrint = data
216 216
       }
217
-      return data;
217
+      return data
218 218
     },
219 219
 
220 220
     // 计算金额(单独从上面的方法割开来,防止进入死循环)
221 221
     getSingleTeam(prescriptions) {
222
-      let projectPrint = [];
223
-      let total = 0;
222
+      let projectPrint = []
223
+      let total = 0
224 224
       prescriptions.map((item) => {
225 225
         if (item.project.length > 0) {
226 226
           item.project.map((it) => {
227 227
             if (it.type == 2) {
228 228
               if (it.project.cost_classify == 3) {
229
-                projectPrint.push(it);
230
-                total += it.project.price * parseInt(it.count);
229
+                projectPrint.push(it)
230
+                total += it.project.price * parseInt(it.count)
231 231
               }
232 232
             }
233
-          });
233
+          })
234 234
         }
235
-      });
236
-      let total_copy = [];
237
-      total_copy.push(total.toFixed(2));
238
-      return total_copy;
235
+      })
236
+      let total_copy = []
237
+      total_copy.push(total.toFixed(2))
238
+      console.log(total_copy)
239
+      return total_copy
239 240
     },
240 241
 
241 242
     getInitData() {
242 243
       getInitData().then((response) => {
243 244
         if (response.data.state == 1) {
244
-          this.department = response.data.data.department;
245
-          this.diagnoses = response.data.data.diagnose.sort(this.compare("id"));
245
+          this.department = response.data.data.department
246
+          this.diagnoses = response.data.data.diagnose.sort(this.compare('id'))
246 247
         }
247
-      });
248
+      })
248 249
     },
249 250
     getDepart(id) {
250
-      var name = "";
251
+      var name = ''
251 252
       for (let i = 0; i < this.department.length; i++) {
252 253
         if (id == this.department[i].id) {
253
-          name = this.department[i].name;
254
+          name = this.department[i].name
254 255
         }
255 256
       }
256
-      return name;
257
+      return name
257 258
     },
258 259
     getTotalOne(id) {
259
-      var total = 0;
260
-      var addtotal = 0;
260
+      var total = 0
261
+      var addtotal = 0
261 262
       for (let i = 0; i < this.prescriptions.length; i++) {
262 263
         if (id == this.prescriptions[i].id) {
263 264
           if (this.prescriptions[i].project != null) {
264 265
             for (let a = 0; a < this.prescriptions[i].project.length; a++) {
265 266
               total =
266
-                total +
267
-                this.prescriptions[i].project[a].price *
268
-                  this.prescriptions[i].project[a].count;
267
+                  total +
268
+                  this.prescriptions[i].project[a].price *
269
+                  this.prescriptions[i].project[a].count
269 270
             }
270 271
           }
271 272
 
272 273
           if (this.prescriptions[i].additionalcharge != null) {
273 274
             for (
274
-              let a = 0;
275
-              a < this.prescriptions[i].additionalcharge.length;
276
-              a++
275
+                let a = 0;
276
+                a < this.prescriptions[i].additionalcharge.length;
277
+                a++
277 278
             ) {
278 279
               addtotal =
279
-                addtotal +
280
-                this.prescriptions[i].additionalcharge[a].price *
281
-                  this.prescriptions[i].additionalcharge[a].count;
280
+                  addtotal +
281
+                  this.prescriptions[i].additionalcharge[a].price *
282
+                  this.prescriptions[i].additionalcharge[a].count
282 283
             }
283 284
           }
284
-          addtotal = Math.floor(addtotal * 100) / 100;
285
+          addtotal = Math.floor(addtotal * 100) / 100
285 286
         }
286 287
       }
287 288
 
@@ -290,180 +291,180 @@ export default {
290 291
           if (this.prescriptions[i].advices != null) {
291 292
             for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
292 293
               total =
293
-                total +
294
-                this.prescriptions[i].advices[a].price *
295
-                  this.prescriptions[i].advices[a].prescribing_number;
294
+                  total +
295
+                  this.prescriptions[i].advices[a].price *
296
+                  this.prescriptions[i].advices[a].prescribing_number
296 297
             }
297 298
           }
298 299
 
299 300
           if (this.prescriptions[i].additionalcharge != null) {
300 301
             for (
301
-              let a = 0;
302
-              a < this.prescriptions[i].additionalcharge.length;
303
-              a++
302
+                let a = 0;
303
+                a < this.prescriptions[i].additionalcharge.length;
304
+                a++
304 305
             ) {
305 306
               addtotal =
306
-                addtotal +
307
-                this.prescriptions[i].additionalcharge[a].price *
308
-                  this.prescriptions[i].additionalcharge[a].count;
307
+                  addtotal +
308
+                  this.prescriptions[i].additionalcharge[a].price *
309
+                  this.prescriptions[i].additionalcharge[a].count
309 310
             }
310 311
           }
311
-          addtotal = Math.floor(addtotal * 100) / 100;
312
+          addtotal = Math.floor(addtotal * 100) / 100
312 313
         }
313 314
       }
314 315
 
315
-      return total + addtotal;
316
+      return total + addtotal
316 317
     },
317 318
 
318 319
     getProjectName(id) {
319
-      var project_name = "";
320
+      var project_name = ''
320 321
       for (let i = 0; i < this.projectList.length; i++) {
321 322
         if (id == this.projectList[i].id) {
322
-          project_name = this.projectList[i].project_name;
323
+          project_name = this.projectList[i].project_name
323 324
         }
324 325
       }
325
-      return project_name;
326
+      return project_name
326 327
     },
327 328
 
328 329
     getDiagnosis(ids) {
329
-      let newIds = ids.split(",").sort(function (a, b) {
330
-        return a - b;
331
-      });
330
+      let newIds = ids.split(',').sort(function(a, b) {
331
+        return a - b
332
+      })
332 333
 
333
-      let nameArr = [];
334
+      let nameArr = []
334 335
       for (let i = 0; i < this.diagnoses.length; i++) {
335 336
         if (newIds.indexOf(this.diagnoses[i].id.toString()) > -1) {
336 337
           // name += diagnoses[i].class_name + ' '
337
-          nameArr.push(this.diagnoses[i].class_name);
338
+          nameArr.push(this.diagnoses[i].class_name)
338 339
         }
339 340
       }
340
-      let newNameArr = [];
341
+      let newNameArr = []
341 342
       nameArr.map((item, index) => {
342
-        if (item == "尿毒症") {
343
-          newNameArr.push(item);
344
-          nameArr.splice(index, 1, "");
343
+        if (item == '尿毒症') {
344
+          newNameArr.push(item)
345
+          nameArr.splice(index, 1, '')
345 346
         }
346
-      });
347
-      newNameArr.push(...nameArr);
348
-      return newNameArr.join(" ");
347
+      })
348
+      newNameArr.push(...nameArr)
349
+      return newNameArr.join(' ')
349 350
     },
350 351
 
351 352
     compare(property) {
352
-      return function (a, b) {
353
-        var value1 = a[property];
354
-        var value2 = b[property];
355
-        return value1 - value2; //升序排序
356
-      };
353
+      return function(a, b) {
354
+        var value1 = a[property]
355
+        var value2 = b[property]
356
+        return value1 - value2 //升序排序
357
+      }
357 358
     },
358 359
     getPage() {
359
-      this.page = 1;
360
-      this.pageArr = [];
360
+      this.page = 1
361
+      this.pageArr = []
361 362
 
362 363
       this.advicePrint.map((item) => {
363
-        let arr = [];
364
-        item.pageArr = [];
364
+        let arr = []
365
+        item.pageArr = []
365 366
         if (item.advices.length <= 5) {
366
-          this.page = 1;
367
-          arr.push(item.advices.length);
368
-          item.pageArr.push(arr);
367
+          this.page = 1
368
+          arr.push(item.advices.length)
369
+          item.pageArr.push(arr)
369 370
         } else if (item.advices.length > 5) {
370
-          this.page = parseInt(item.advices.length / 5);
371
-          let num = item.advices.length % 5;
371
+          this.page = parseInt(item.advices.length / 5)
372
+          let num = item.advices.length % 5
372 373
           for (var i = 0; i < this.page; i++) {
373
-            item.pageArr.push([5]);
374
+            item.pageArr.push([5])
374 375
           }
375 376
           if (num != 0) {
376
-            item.pageArr.push([num]);
377
+            item.pageArr.push([num])
377 378
           }
378 379
         }
379
-      });
380
+      })
380 381
       // console.log('this.pageArr',this.pageArr)
381 382
     },
382 383
     getName(list) {
383
-      console.log("list", list);
384
-      let new_list = [];
384
+      console.log('list', list)
385
+      let new_list = []
385 386
       for (let i = 0; i < list.length; i++) {
386
-        if (list[i].aac031 == "1") {
387
-          new_list.push(list[i]);
387
+        if (list[i].aac031 == '1') {
388
+          new_list.push(list[i])
388 389
         }
389 390
       }
390 391
 
391 392
       switch (new_list[0].bcc334) {
392
-        case "A31001":
393
-          return "深圳医保1档";
394
-          break;
395
-        case "A31002":
396
-          return "深圳医保2档";
397
-
398
-          break;
399
-        case "A31003":
400
-          return "深圳医保3档";
401
-
402
-          break;
403
-        case "A31004":
404
-          return "二档(少儿)";
405
-
406
-          break;
407
-        case "A31005":
408
-          return "学生二档";
409
-
410
-          break;
411
-        case "A31006":
412
-          return "大学生二档";
413
-
414
-          break;
415
-        case "A32001":
416
-          return "在职公务员";
417
-          break;
418
-        case "A32002":
419
-          return "在职驻深公务员";
420
-
421
-          break;
422
-        case "A39301":
423
-          return "家属统筹医疗";
424
-
425
-          break;
426
-        case "A41001":
427
-          return "工伤在职";
428
-
429
-          break;
430
-        case "A51001":
431
-          return "生育在职";
432
-
433
-          break;
434
-        case "A52001":
435
-          return "生育医疗一档";
436
-
437
-          break;
438
-        case "A52002":
439
-          return "生育医疗一档";
440
-
441
-          break;
442
-        case "C31001":
443
-          return "一档医疗退休";
444
-
445
-          break;
446
-        case "C31002":
447
-          return "二档医疗退休";
448
-          break;
393
+        case 'A31001':
394
+          return '深圳医保1档'
395
+          break
396
+        case 'A31002':
397
+          return '深圳医保2档'
398
+
399
+          break
400
+        case 'A31003':
401
+          return '深圳医保3档'
402
+
403
+          break
404
+        case 'A31004':
405
+          return '二档(少儿)'
406
+
407
+          break
408
+        case 'A31005':
409
+          return '学生二档'
410
+
411
+          break
412
+        case 'A31006':
413
+          return '大学生二档'
414
+
415
+          break
416
+        case 'A32001':
417
+          return '在职公务员'
418
+          break
419
+        case 'A32002':
420
+          return '在职驻深公务员'
421
+
422
+          break
423
+        case 'A39301':
424
+          return '家属统筹医疗'
425
+
426
+          break
427
+        case 'A41001':
428
+          return '工伤在职'
429
+
430
+          break
431
+        case 'A51001':
432
+          return '生育在职'
433
+
434
+          break
435
+        case 'A52001':
436
+          return '生育医疗一档'
437
+
438
+          break
439
+        case 'A52002':
440
+          return '生育医疗一档'
441
+
442
+          break
443
+        case 'C31001':
444
+          return '一档医疗退休'
445
+
446
+          break
447
+        case 'C31002':
448
+          return '二档医疗退休'
449
+          break
449 450
       }
450
-    },
451
+    }
451 452
   },
452 453
   created() {
453 454
     // this.getAllDoctorList()
454
-    this.getInitData();
455
+    this.getInitData()
455 456
     // this.getPrescriptionPrint()
456 457
     // this.getHisPatientDetail()
457 458
     // this.getPatientCaseHistory()
458
-    var xtuser = this.$store.getters.xt_user;
459
-    this.orgname = xtuser.org.org_name;
460
-    this.org_id = this.$store.getters.xt_user.org_id;
459
+    var xtuser = this.$store.getters.xt_user
460
+    this.orgname = xtuser.org.org_name
461
+    this.org_id = this.$store.getters.xt_user.org_id
461 462
   },
462 463
   watch: {
463
-    ids: function (val) {
464
-      this.ids = val;
465
-      this.getPrescriptionPrint();
466
-    },
464
+    ids: function(val) {
465
+      this.ids = val
466
+      this.getPrescriptionPrint()
467
+    }
467 468
     // printData: {
468 469
     //   immediate: true,
469 470
     //   deep: true,
@@ -474,65 +475,77 @@ export default {
474 475
     //     });
475 476
     //   },
476 477
     // },
477
-  },
478
-};
478
+  }
479
+}
479 480
 </script>
480 481
 
481 482
 
482 483
 <style lang="scss" scoped>
483 484
 .prescription-print {
484
-  // -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
485
-  //   0 0 60px rgba(0, 0, 0, 0.06) inset;
486
-  // -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
487
-  //   0 0 40px rgba(0, 0, 0, 0.06) inset;
488
-  // box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
485
+ /*-webkit-box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),*/
486
+/*/ / 0 0 60 px rgba(0, 0, 0, 0.06) inset;*/
487
+/*/ / -moz-box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),*/
488
+/*/ / 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
489
+/*/ / box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27), 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
489 490
   margin-bottom: 20px;
490 491
   padding: 20px 10px;
491 492
 }
493
+
492 494
 .printTitle {
493 495
   font-size: 22px;
494 496
   text-align: center;
495 497
   font-weight: bold;
496 498
   margin-bottom: 10px;
497 499
 }
500
+
498 501
 .infoTitle {
499 502
   display: flex;
500 503
   margin-top: 10px;
501 504
   line-height: 24px;
502 505
 }
506
+
503 507
 .infoTitle div {
504 508
   width: 200px;
505 509
 }
510
+
506 511
 .infoMain {
507 512
   display: flex;
508 513
   flex-wrap: wrap;
509 514
   margin-top: 10px;
510 515
 }
516
+
511 517
 .infoMain div {
512 518
   width: 50%;
513 519
   line-height: 24px;
514 520
 }
521
+
515 522
 .prescriptionBox {
516 523
   padding: 0 10px;
517 524
   min-height: 400px;
518 525
 }
526
+
519 527
 .Rp {
520 528
   font-size: 22px;
521 529
   font-weight: bold;
522 530
 }
531
+
523 532
 .drugsBox {
524 533
   padding-left: 40px;
525 534
   margin-bottom: 10px;
526 535
 }
536
+
527 537
 .drugsBox div {
528 538
   line-height: 20px;
529 539
 }
540
+
530 541
 .drugsOne {
531 542
   line-height: 24px;
532 543
 }
544
+
533 545
 .drugsOne span {
534 546
   margin-right: 20px;
535 547
 }
548
+
536 549
 .doctorBox {
537 550
   display: flex;
538 551
   justify-content: space-between;
@@ -540,15 +553,18 @@ export default {
540 553
   line-height: 24px;
541 554
   border-bottom: 2px solid #000;
542 555
 }
556
+
543 557
 .actionBar {
544 558
   display: flex;
545 559
   justify-content: space-between;
546 560
   line-height: 24px;
547 561
   padding: 0 10px;
548 562
 }
563
+
549 564
 .actionBar p {
550 565
   width: 150px;
551 566
 }
567
+
552 568
 .under_line {
553 569
   display: inline-block;
554 570
   border-bottom: 1px solid #000;

+ 459 - 452
src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/printOne.vue 查看文件

@@ -1,251 +1,258 @@
1 1
 <template>
2
-    <div id='prescriptionPrint'>
3
-      <div v-for="(i,index) in printData">
4
-        <div id='prescription-print' class="prescription-print" v-for="(item,index) in i.prescriptions" :key="index">
5
-
6
-            <div style="display:flex;justify-content: space-between;font-weight:bold;align-items:center;">
7
-                <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
8
-                    <span>费别</span>
9
-                    <span>自费</span>
10
-                    <span>公费</span>
11
-                    <span>保险</span>
12
-                    <span>其他</span>
13
-                </div>
14
-                <div>就诊日期:{{getTime(i.info.ctime,'{y}-{m}-{d}')}}</div>
15
-            </div>
16
-
17
-            <div class="printTitle">{{orgname}}</div>
18
-            <div class="printTitle">处方、治疗单</div>
19
-
20
-            <div class="infoTitle">
21
-                <div>门诊编号:</div>
22
-                <div>电脑号:</div>
23
-            </div>
24
-
25
-            <div class="infoMain">
26
-                <div style="margin-bottom: 10px;width:25%">姓名:{{i.name}}</div>
27
-                <div style="margin-bottom: 10px;width:25%">性别:
28
-                  <span >
2
+  <div id='prescriptionPrint'>
3
+    <div v-for="(i,index) in printData">
4
+      <div id='prescription-print' class="prescription-print" v-for="(item,index) in i.prescriptions" :key="index">
5
+
6
+        <div style="display:flex;justify-content: space-between;font-weight:bold;align-items:center;">
7
+          <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
8
+            <span>费别</span>
9
+            <span>自费</span>
10
+            <span>公费</span>
11
+            <span>保险</span>
12
+            <span>其他</span>
13
+          </div>
14
+          <div>就诊日期:{{ getTime(i.info.ctime, '{y}-{m}-{d}') }}</div>
15
+        </div>
16
+
17
+        <div class="printTitle">{{ orgname }}</div>
18
+        <div class="printTitle">处方、治疗单</div>
19
+
20
+        <div class="infoTitle">
21
+          <div>门诊编号:</div>
22
+          <div>电脑号:</div>
23
+        </div>
24
+
25
+        <div class="infoMain">
26
+          <div style="margin-bottom: 10px;width:25%">姓名:{{ i.name }}</div>
27
+          <div style="margin-bottom: 10px;width:25%">性别:
28
+            <span>
29 29
                     <span v-if="i.gender == 1">男</span>
30 30
                     <span v-if="i.gender == 2">女</span>
31 31
                   </span>
32
-                </div>
33
-                <div style="margin-bottom: 10px;width:25%">年龄:
34
-                    <span>{{i.his_patient.id != 0?getAge(i.his_patient):i.age}}</span>
35
-                </div>
36
-                <div style="margin-bottom: 10px;width:25%">参保类型:{{i.his_patient.id != 0?i.his_patient.social_type:''}}
37
-                </div>
38
-                <div style="margin-bottom: 10px;width:50%;">联系电话:{{i.his_patient.id != 0 ? i.his_patient.phone : i.phone}}</div>
39
-                <div style="width:50%;">地址:{{i.home_address}}</div>
40
-                <div style="width:100%;">诊断:{{getDiagnosis(i.info.diagnosis)}}</div>
41
-            </div>
42
-
43
-            <div class="prescriptionBox">
44
-                <table style="width:100%;text-align:center;line-height:25px;">
45
-                    <tr>
46
-                        <td>序号</td>
47
-                        <td>项目名称</td>
48
-                        <td>数量</td>
49
-                        <td>单位</td>
50
-                        <td>单价</td>
51
-                        <td>部位</td>
52
-                        <td>备注</td>
53
-                        <td>天数</td>
54
-                    </tr>
55
-                    <tr v-for="(it,index) in item.project" :key="index">
56
-                        <td>{{index+1}}</td>
57
-                        <td>{{it.type == 2 ? it.project.project_name : it.good_info.good_name}}</td>
58
-                        <td>{{it.count}}</td>
59
-                        <td>{{getUnit(it.unit)}}</td>
60
-                        <td>{{it.price.toFixed(2)}}</td>
61
-                        <td></td>
62
-                        <td>{{it.remark}}</td>
63
-                        <td>{{it.day}}</td>
64
-
65
-                    </tr>
66
-
67
-                    <tr v-for="(it,index) in item.advices" :key="index">
68
-                        <td>{{index+1}}</td>
69
-                        <td>{{it.advice_name?it.advice_name:''}}</td>
70
-                        <td>{{it.single_dose?it.single_dose:''}}</td>
71
-                        <td>{{it.single_dose_unit?it.single_dose_unit:''}}</td>
72
-                        <td>{{it.price.toFixed(2)}}</td>
73
-                        <td></td>
74
-                        <td>{{it.remark}}</td>
75
-                        <td>{{it.day}}</td>
76
-
77
-                    </tr>
78
-                </table>
79
-            </div>
80
-
81
-            <div class="infoTitle">
82
-                <div>开单医生:{{i.info.doctor?i.info.doctor:''}}</div>
83
-                <div>签章:</div>
84
-            </div>
85
-
86
-            <div class="actionBar">
87
-                <div>执行医生:{{i.info.doctor?i.info.doctor:''}}</div>
88
-                <div>费用:{{getTotalOne(item.project).toFixed(2)?getTotalOne(item.project).toFixed(2):''}}元</div>
89
-            </div>
90
-
91
-            <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
92
-                <tr>
93
-                    <td style="width:16%;">治疗时间</td>
94
-                    <td style="width:16%;"></td>
95
-                    <td style="width:16%;"></td>
96
-                    <td style="width:16%;"></td>
97
-                    <td style="width:16%;"></td>
98
-                    <td style="width:16%;"></td>
99
-                </tr>
100
-                <tr>
101
-                    <td style="width:16%;">医生签字</td>
102
-                    <td style="width:16%;"></td>
103
-                    <td style="width:16%;"></td>
104
-                    <td style="width:16%;"></td>
105
-                    <td style="width:16%;"></td>
106
-                    <td style="width:16%;"></td>
107
-                </tr>
108
-                <tr>
109
-                    <td style="width:16px;">患者签字</td>
110
-                    <td style="width:16px;"></td>
111
-                    <td style="width:16px;"></td>
112
-                    <td style="width:16px;"></td>
113
-                    <td style="width:16px;"></td>
114
-                    <td style="width:16px;"></td>
115
-                </tr>
116
-            </table>
32
+          </div>
33
+          <div style="margin-bottom: 10px;width:25%">年龄:
34
+            <span>{{ i.his_patient.id != 0 ? getAge(i.his_patient) : i.age }}</span>
35
+          </div>
36
+          <div style="margin-bottom: 10px;width:25%" v-if="i.his_patient.id&&i.his_patient.social_type == 390 ">
37
+            参保类型:{{ '城乡居民基本医疗保险' }}
38
+          </div>
39
+          <div style="margin-bottom: 10px;width:25%" v-if="i.his_patient.id&&i.his_patient.social_type == 310 ">
40
+            参保类型:{{ '职工基本医疗保险' }}
41
+          </div>
42
+          <div style="margin-bottom: 10px;width:25%" v-else>参保类型:{{ '' }}</div>
43
+
44
+          <div style="margin-bottom: 10px;width:50%;">联系电话:{{ i.his_patient.id != 0 ? i.his_patient.phone : i.phone }}
45
+          </div>
46
+          <div style="width:50%;">地址:{{ i.home_address }}</div>
47
+          <div style="width:100%;">诊断:{{ getDiagnosis(i.info.diagnosis) }}</div>
117 48
         </div>
118 49
 
50
+        <div class="prescriptionBox">
51
+          <table style="width:100%;text-align:center;line-height:25px;">
52
+            <tr>
53
+              <td>序号</td>
54
+              <td>项目名称</td>
55
+              <td>数量</td>
56
+              <td>单位</td>
57
+              <td>单价</td>
58
+              <td>部位</td>
59
+              <td>备注</td>
60
+              <td>天数</td>
61
+            </tr>
62
+            <tr v-for="(it,index) in item.project" :key="index">
63
+              <td>{{ index + 1 }}</td>
64
+              <td>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}</td>
65
+              <td>{{ it.count }}</td>
66
+              <td>{{ getUnit(it.unit) }}</td>
67
+              <td>{{ it.price.toFixed(2) }}</td>
68
+              <td></td>
69
+              <td>{{ it.remark }}</td>
70
+              <td>{{ it.day }}</td>
71
+
72
+            </tr>
73
+
74
+            <tr v-for="(it,index) in item.advices" :key="index">
75
+              <td>{{ index + 1 }}</td>
76
+              <td>{{ it.advice_name ? it.advice_name : '' }}</td>
77
+              <td>{{ it.single_dose ? it.single_dose : '' }}</td>
78
+              <td>{{ it.single_dose_unit ? it.single_dose_unit : '' }}</td>
79
+              <td>{{ it.price.toFixed(2) }}</td>
80
+              <td></td>
81
+              <td>{{ it.remark }}</td>
82
+              <td>{{ it.day }}</td>
83
+
84
+            </tr>
85
+          </table>
86
+        </div>
119 87
 
120
-        <!-- <div id='prescriptionPrint'>
121
-
122
-            <div v-for="(item,index) in advicePrint" :key="index">
123
-                <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
124
-                    <div style="display:flex;justify-content: space-between;font-weight:bold;">
125
-                        <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
126
-                            <span>费别</span>
127
-                            <span>自费</span>
128
-                            <span>公费</span>
129
-                            <span>保险</span>
130
-                            <span>其他</span>
131
-                        </div>
132
-                        <div>就诊日期:{{getTime(item.ctime)}}</div>
133
-                    </div>
134
-
135
-                    <div class="printTitle">血液透析中心</div>
136
-
137
-                    <div class="printTitle">处方、治疗单</div>
138
-
139
-                    <div class="infoTitle">
140
-                        <div>门诊编号:</div>
141
-                        <div>电脑号:</div>
142
-                    </div>
143
-
144
-                    <div class="infoMain">
145
-                        <div style="margin-bottom: 10px;width:25%">姓名:{{item.patient.name}}</div>
146
-                        <div style="margin-bottom: 10px;width:25%">性别:
147
-                            <span v-if="item.patient.gender == 1">男</span>
148
-                            <span v-if="item.patient.gender == 2">女</span>
149
-                        </div>
150
-                        <div style="margin-bottom: 10px;width:25%">年龄:
151
-                            <span>{{item.patient.age}}</span>
152
-                        </div>
153
-                        <div style="margin-bottom: 10px;width:25%">参保类型:</div>
154
-                        <div style="margin-bottom: 10px;width:50%;">联系电话:{{item.patient.phone}}</div>
155
-                        <div style="width:50%;">地址:{{item.patient.unit_address}}</div>
156
-                        <div style="width:100%;">诊断:{{item.patient.diagnose}}</div>
157
-                    </div>
158
-
159
-                    <div class="prescriptionBox">
160
-                        <table style="width:100%;text-align:center;line-height:25px;">
161
-                            <tr>
162
-                                <td>序号</td>
163
-                                <td>项目名称</td>
164
-                                <td>数量</td>
165
-                                <td>单位</td>
166
-                                <td>单价</td>
167
-                                <td>部位</td>
168
-                                <td>备注</td>
169
-                                <td>天数</td>
170
-                            </tr>
171
-                            <tr v-for="(it,index) in item.project" :key="index">
172
-                                <td>{{index+1}}</td>
173
-                                <td>{{getProjectName(it.project_id)}}</td>
174
-                                <td>{{it.single_dose}}</td>
175
-                                <td>{{getUnit(it.unit)}}</td>
176
-                                <td>{{it.price}}</td>
177
-                                <td></td>
178
-                                <td>{{it.remark}}</td>
179
-                                <td>{{it.day}}</td>
180
-
181
-                            </tr>
182
-                        </table>
183
-                    </div>
184
-                    <div class="infoTitle">
185
-                        <div>开单医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
186
-                        <div>签章:</div>
187
-                    </div>
188
-                    <div class="actionBar">
189
-                        <div>执行医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
190
-                        <div>费用:</div>
191
-                    </div>
192
-                    <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
193
-                        <tr>
194
-                            <td style="width:16%;">治疗时间</td>
195
-                            <td style="width:16%;"></td>
196
-                            <td style="width:16%;"></td>
197
-                            <td style="width:16%;"></td>
198
-                            <td style="width:16%;"></td>
199
-                            <td style="width:16%;"></td>
200
-                        </tr>
201
-                        <tr>
202
-                            <td style="width:16%;">医生签字</td>
203
-                            <td style="width:16%;"></td>
204
-                            <td style="width:16%;"></td>
205
-                            <td style="width:16%;"></td>
206
-                            <td style="width:16%;"></td>
207
-                            <td style="width:16%;"></td>
208
-                        </tr>
209
-                        <tr>
210
-                            <td style="width:16px;">患者签字</td>
211
-                            <td style="width:16px;"></td>
212
-                            <td style="width:16px;"></td>
213
-                            <td style="width:16px;"></td>
214
-                            <td style="width:16px;"></td>
215
-                            <td style="width:16px;"></td>
216
-                        </tr>
217
-                    </table>
218
-                </div>
219
-
220
-            </div>
221
-
222
-        </div> -->
88
+        <div class="infoTitle">
89
+          <div>开单医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
90
+          <div>签章:</div>
91
+        </div>
92
+
93
+        <div class="actionBar">
94
+          <div>执行医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
95
+          <div>费用:{{ getTotalOne(item.project).toFixed(2) ? getTotalOne(item.project).toFixed(2) : '' }}元</div>
96
+        </div>
97
+
98
+        <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
99
+          <tr>
100
+            <td style="width:16%;">治疗时间</td>
101
+            <td style="width:16%;"></td>
102
+            <td style="width:16%;"></td>
103
+            <td style="width:16%;"></td>
104
+            <td style="width:16%;"></td>
105
+            <td style="width:16%;"></td>
106
+          </tr>
107
+          <tr>
108
+            <td style="width:16%;">医生签字</td>
109
+            <td style="width:16%;"></td>
110
+            <td style="width:16%;"></td>
111
+            <td style="width:16%;"></td>
112
+            <td style="width:16%;"></td>
113
+            <td style="width:16%;"></td>
114
+          </tr>
115
+          <tr>
116
+            <td style="width:16px;">患者签字</td>
117
+            <td style="width:16px;"></td>
118
+            <td style="width:16px;"></td>
119
+            <td style="width:16px;"></td>
120
+            <td style="width:16px;"></td>
121
+            <td style="width:16px;"></td>
122
+          </tr>
123
+        </table>
223 124
       </div>
125
+
126
+
127
+      <!-- <div id='prescriptionPrint'>
128
+
129
+          <div v-for="(item,index) in advicePrint" :key="index">
130
+              <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
131
+                  <div style="display:flex;justify-content: space-between;font-weight:bold;">
132
+                      <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
133
+                          <span>费别</span>
134
+                          <span>自费</span>
135
+                          <span>公费</span>
136
+                          <span>保险</span>
137
+                          <span>其他</span>
138
+                      </div>
139
+                      <div>就诊日期:{{getTime(item.ctime)}}</div>
140
+                  </div>
141
+
142
+                  <div class="printTitle">血液透析中心</div>
143
+
144
+                  <div class="printTitle">处方、治疗单</div>
145
+
146
+                  <div class="infoTitle">
147
+                      <div>门诊编号:</div>
148
+                      <div>电脑号:</div>
149
+                  </div>
150
+
151
+                  <div class="infoMain">
152
+                      <div style="margin-bottom: 10px;width:25%">姓名:{{item.patient.name}}</div>
153
+                      <div style="margin-bottom: 10px;width:25%">性别:
154
+                          <span v-if="item.patient.gender == 1">男</span>
155
+                          <span v-if="item.patient.gender == 2">女</span>
156
+                      </div>
157
+                      <div style="margin-bottom: 10px;width:25%">年龄:
158
+                          <span>{{item.patient.age}}</span>
159
+                      </div>
160
+                      <div style="margin-bottom: 10px;width:25%">参保类型:</div>
161
+                      <div style="margin-bottom: 10px;width:50%;">联系电话:{{item.patient.phone}}</div>
162
+                      <div style="width:50%;">地址:{{item.patient.unit_address}}</div>
163
+                      <div style="width:100%;">诊断:{{item.patient.diagnose}}</div>
164
+                  </div>
165
+
166
+                  <div class="prescriptionBox">
167
+                      <table style="width:100%;text-align:center;line-height:25px;">
168
+                          <tr>
169
+                              <td>序号</td>
170
+                              <td>项目名称</td>
171
+                              <td>数量</td>
172
+                              <td>单位</td>
173
+                              <td>单价</td>
174
+                              <td>部位</td>
175
+                              <td>备注</td>
176
+                              <td>天数</td>
177
+                          </tr>
178
+                          <tr v-for="(it,index) in item.project" :key="index">
179
+                              <td>{{index+1}}</td>
180
+                              <td>{{getProjectName(it.project_id)}}</td>
181
+                              <td>{{it.single_dose}}</td>
182
+                              <td>{{getUnit(it.unit)}}</td>
183
+                              <td>{{it.price}}</td>
184
+                              <td></td>
185
+                              <td>{{it.remark}}</td>
186
+                              <td>{{it.day}}</td>
187
+
188
+                          </tr>
189
+                      </table>
190
+                  </div>
191
+                  <div class="infoTitle">
192
+                      <div>开单医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
193
+                      <div>签章:</div>
194
+                  </div>
195
+                  <div class="actionBar">
196
+                      <div>执行医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
197
+                      <div>费用:</div>
198
+                  </div>
199
+                  <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
200
+                      <tr>
201
+                          <td style="width:16%;">治疗时间</td>
202
+                          <td style="width:16%;"></td>
203
+                          <td style="width:16%;"></td>
204
+                          <td style="width:16%;"></td>
205
+                          <td style="width:16%;"></td>
206
+                          <td style="width:16%;"></td>
207
+                      </tr>
208
+                      <tr>
209
+                          <td style="width:16%;">医生签字</td>
210
+                          <td style="width:16%;"></td>
211
+                          <td style="width:16%;"></td>
212
+                          <td style="width:16%;"></td>
213
+                          <td style="width:16%;"></td>
214
+                          <td style="width:16%;"></td>
215
+                      </tr>
216
+                      <tr>
217
+                          <td style="width:16px;">患者签字</td>
218
+                          <td style="width:16px;"></td>
219
+                          <td style="width:16px;"></td>
220
+                          <td style="width:16px;"></td>
221
+                          <td style="width:16px;"></td>
222
+                          <td style="width:16px;"></td>
223
+                      </tr>
224
+                  </table>
225
+              </div>
226
+
227
+          </div>
228
+
229
+      </div> -->
224 230
     </div>
231
+  </div>
225 232
 </template>
226 233
 <script>
227
-  import { jsGetAge, uParseTime } from '@/utils/tools'
228
-  import { getAllDoctorList, getPrescriptionPrint } from '@/api/project/project'
229
-  import { getInitData } from '@/api/his/his'
230
-
231
-  export default {
232
-    props: {
233
-      patient_id: Number,
234
-      record_date: String,
235
-      prescription_id: Number,
236
-      ids: String,
237
-      printData:Array
238
-    },
239
-    data() {
240
-      return {
241
-        doctorList: [],
242
-        advicePrint: {},
243
-        patient: {},
244
-        tableData: [],
245
-        prescriptionInfo: [],
246
-        projectList: [],
247
-        prescriptions: [],
248
-        settlement:
234
+import { jsGetAge, uParseTime } from '@/utils/tools'
235
+import { getAllDoctorList, getPrescriptionPrint } from '@/api/project/project'
236
+import { getInitData } from '@/api/his/his'
237
+
238
+export default {
239
+  props: {
240
+    patient_id: Number,
241
+    record_date: String,
242
+    prescription_id: Number,
243
+    ids: String,
244
+    printData: Array
245
+  },
246
+  data() {
247
+    return {
248
+      doctorList: [],
249
+      advicePrint: {},
250
+      patient: {},
251
+      tableData: [],
252
+      prescriptionInfo: [],
253
+      projectList: [],
254
+      prescriptions: [],
255
+      settlement:
249 256
           [
250 257
             { value: 1, label: '医保' },
251 258
             { value: 2, label: '自费' },
@@ -257,247 +264,247 @@
257 264
             { value: 8, label: '医保自费' }
258 265
 
259 266
           ],
260
-        hisPatient: {},
261
-        diagnoses: []
262
-      }
263
-    },
267
+      hisPatient: {},
268
+      diagnoses: []
269
+    }
270
+  },
264 271
 
265
-    watch:{
266
-      printData:function(val){
267
-        console.log(val,'打印props')
272
+  watch: {
273
+    printData: function(val) {
274
+      console.log(val, '打印props')
275
+    }
276
+  },
277
+
278
+  methods: {
279
+    getAge(patient) {
280
+      var thisLen = patient.id_card_no.length
281
+      var birth = ''
282
+      if (thisLen == 15) {
283
+        birth = '19' + patient.id_card_no.substr(6, 6)
284
+      } else {
285
+        birth = patient.id_card_no.substr(6, 8)
268 286
       }
269
-    },
270
-
271
-    methods: {
272
-      getAge(patient){
273
-        var thisLen = patient.id_card_no.length
274
-        var birth = ''
275
-        if (thisLen == 15) {
276
-          birth = '19' + patient.id_card_no.substr(6, 6)
277
-        } else {
278
-          birth = patient.id_card_no.substr(6, 8)
279
-        }
280
-        var births =
287
+      var births =
281 288
           birth.substr(0, 4) +
282 289
           '-' +
283 290
           birth.substr(4, 2) +
284 291
           '-' +
285 292
           birth.substr(6, 2)
286
-        return jsGetAge(births, '-')
293
+      return jsGetAge(births, '-')
287 294
 
288
-      },
289
-      printThisPage() {
290
-        var ptime = Math.round(new Date().getTime() / 1000)
291
-        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
295
+    },
296
+    printThisPage() {
297
+      var ptime = Math.round(new Date().getTime() / 1000)
298
+      this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
292 299
 
293
-        const style =
300
+      const style =
294 301
           '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;margin-top:10px;line-height: 1px;padding:0 10px;}.infoTitle p{width: 200px;}.otherInfo{display: flex;margin-top:10px;padding:0 10px;}.otherInfo span{display:inline-block;}.recordTitle{display: flex;margin-top:10px;line-height: 24px;padding:0 10px;border-bottom: 2px solid #000;}.recordTitle p{width: 200px;}}'
295
-        printJS({
296
-          printable: 'prescription-print',
297
-          type: 'html',
298
-          style: style,
299
-          scanStyles: false
300
-        })
301
-      },
302
-      getAllDoctorList() {
303
-        getAllDoctorList().then(response => {
304
-          if (response.data.state == 1) {
305
-            var doctor = response.data.data.doctor
306
-
307
-            this.doctorList = doctor
308
-          }
309
-        })
310
-      },
311
-
312
-      getDoctor(id) {
313
-        var name = ''
314
-        for (let i = 0; i < this.doctorList.length; i++) {
315
-          if (id == this.doctorList[i].admin_user_id) {
316
-            name = this.doctorList[i].user_name
317
-          }
318
-        }
319
-        return name
320
-      },
321
-      getTime(value, temp) {
322
-        if (value != undefined) {
323
-          return uParseTime(value, temp)
302
+      printJS({
303
+        printable: 'prescription-print',
304
+        type: 'html',
305
+        style: style,
306
+        scanStyles: false
307
+      })
308
+    },
309
+    getAllDoctorList() {
310
+      getAllDoctorList().then(response => {
311
+        if (response.data.state == 1) {
312
+          var doctor = response.data.data.doctor
313
+
314
+          this.doctorList = doctor
324 315
         }
325
-        return ''
326
-      },
327
-      getPrescriptionPrint() {
328
-        var params = {
329
-          patient_id: this.patient_id,
330
-          record_date: this.record_date,
331
-          prescription_id: this.prescription_id,
332
-          ids: this.ids
316
+      })
317
+    },
318
+
319
+    getDoctor(id) {
320
+      var name = ''
321
+      for (let i = 0; i < this.doctorList.length; i++) {
322
+        if (id == this.doctorList[i].admin_user_id) {
323
+          name = this.doctorList[i].user_name
333 324
         }
334
-        console.log('999999', params)
335
-        getPrescriptionPrint(params).then(response => {
336
-          if (response.data.state == 1) {
337
-            var advicePrint = response.data.data.advicePrint
338
-            console.log('adviceprint', advicePrint)
339
-            this.advicePrint = advicePrint
340
-            this.prescriptions = advicePrint
341
-            var projectlist = response.data.data.projectlist
342
-            console.log('所有项目列表', projectlist)
343
-            this.projectList = projectlist
344
-            this.hisPatient = response.data.data.hisPatient
325
+      }
326
+      return name
327
+    },
328
+    getTime(value, temp) {
329
+      if (value != undefined) {
330
+        return uParseTime(value, temp)
331
+      }
332
+      return ''
333
+    },
334
+    getPrescriptionPrint() {
335
+      var params = {
336
+        patient_id: this.patient_id,
337
+        record_date: this.record_date,
338
+        prescription_id: this.prescription_id,
339
+        ids: this.ids
340
+      }
341
+      console.log('999999', params)
342
+      getPrescriptionPrint(params).then(response => {
343
+        if (response.data.state == 1) {
344
+          var advicePrint = response.data.data.advicePrint
345
+          console.log('adviceprint', advicePrint)
346
+          this.advicePrint = advicePrint
347
+          this.prescriptions = advicePrint
348
+          var projectlist = response.data.data.projectlist
349
+          console.log('所有项目列表', projectlist)
350
+          this.projectList = projectlist
351
+          this.hisPatient = response.data.data.hisPatient
345 352
 
346
-          }
347
-        })
348
-      },
349
-      getProjectName(id) {
350
-        var project_name = ''
351
-        for (let i = 0; i < this.projectList.length; i++) {
352
-          if (id == this.projectList[i].id) {
353
-            project_name = this.projectList[i].project_name
354
-          }
355 353
         }
356
-        return project_name
357
-      },
358
-      getUnit(id) {
359
-        var unit = ''
360
-        for (let i = 0; i < this.projectList.length; i++) {
361
-          if (id == this.projectList[i].id) {
362
-            unit = this.projectList[i].unit
363
-          }
354
+      })
355
+    },
356
+    getProjectName(id) {
357
+      var project_name = ''
358
+      for (let i = 0; i < this.projectList.length; i++) {
359
+        if (id == this.projectList[i].id) {
360
+          project_name = this.projectList[i].project_name
364 361
         }
365
-        return unit
366
-      },
367
-
368
-      getTotalOne(project) {
369
-
370
-        let total = 0
371
-        project.map(item => {
372
-          total += item.price * item.count
373
-        })
374
-        return total
375
-      },
376
-      getInitData() {
377
-        getInitData().then(response => {
378
-          if (response.data.state == 1) {
379
-            this.diagnoses = response.data.data.diagnose
380
-            console.log('争端', this.diagnoses)
381
-          }
382
-        })
383
-      },
384
-      getDiagnosis(id) {
385
-      let id_ = id.split(",");
386
-      let nameArr = [];
387
-      let name = "";
362
+      }
363
+      return project_name
364
+    },
365
+    getUnit(id) {
366
+      var unit = ''
367
+      for (let i = 0; i < this.projectList.length; i++) {
368
+        if (id == this.projectList[i].id) {
369
+          unit = this.projectList[i].unit
370
+        }
371
+      }
372
+      return unit
373
+    },
374
+
375
+    getTotalOne(project) {
376
+
377
+      let total = 0
378
+      project.map(item => {
379
+        total += item.price * item.count
380
+      })
381
+      return total
382
+    },
383
+    getInitData() {
384
+      getInitData().then(response => {
385
+        if (response.data.state == 1) {
386
+          this.diagnoses = response.data.data.diagnose
387
+          console.log('争端', this.diagnoses)
388
+        }
389
+      })
390
+    },
391
+    getDiagnosis(id) {
392
+      let id_ = id.split(',')
393
+      let nameArr = []
394
+      let name = ''
388 395
       for (let i = 0; i < this.diagnoses.length; i++) {
389 396
         for (let j = 0; j < id_.length; j++) {
390 397
           if (id_[j] == this.diagnoses[i].id) {
391
-            nameArr[j] = this.diagnoses[i].class_name;
398
+            nameArr[j] = this.diagnoses[i].class_name
392 399
             name = nameArr.join(',')
393 400
           }
394 401
         }
395 402
       }
396
-      return name;
397
-      }
398
-    },
399
-    created() {
400
-      this.getInitData()
401
-      // this.getAllDoctorList()
402
-      // this.getPrescriptionPrint()
403
-      var xtuser = this.$store.getters.xt_user
404
-      this.orgname = xtuser.org.org_name
405
-
406
-    },
407
-    watch: {
408
-      // patient_id: function(val) {
409
-      //   console.log('101000010101010', this.patient_id, this.record_date, this.prescription_id)
410
-      //   //    this.getPrescriptionPrint()
411
-      // },
412
-      // ids: function(val) {
413
-      //   this.ids = val
414
-      //   console.log('this.idsids', this.ids)
415
-      //   this.getPrescriptionPrint()
416
-      // }
403
+      return name
417 404
     }
405
+  },
406
+  created() {
407
+    this.getInitData()
408
+    // this.getAllDoctorList()
409
+    // this.getPrescriptionPrint()
410
+    var xtuser = this.$store.getters.xt_user
411
+    this.orgname = xtuser.org.org_name
412
+
413
+  },
414
+  watch: {
415
+    // patient_id: function(val) {
416
+    //   console.log('101000010101010', this.patient_id, this.record_date, this.prescription_id)
417
+    //   //    this.getPrescriptionPrint()
418
+    // },
419
+    // ids: function(val) {
420
+    //   this.ids = val
421
+    //   console.log('this.idsids', this.ids)
422
+    //   this.getPrescriptionPrint()
423
+    // }
418 424
   }
425
+}
419 426
 </script>
420 427
 
421 428
 
422 429
 <style lang="scss" scoped>
423
-    .prescription-print {
424
-        -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
425
-        -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
426
-        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
427
-        margin-bottom: 20px;
428
-        padding: 20px 10px;
429
-    }
430
-
431
-    .prescription-print {
432
-        font-size: 14px;
433
-    }
434
-
435
-    .printTitle {
436
-        font-size: 18px;
437
-        text-align: center;
438
-        font-weight: bold;
439
-        margin-top: 10px;
440
-    }
441
-
442
-    .infoTitle {
443
-        display: flex;
444
-        border-bottom: 2px solid #000;
445
-        margin-top: 10px;
446
-        line-height: 24px;
447
-        padding: 0 10px;
448
-    }
449
-
450
-    .infoTitle div {
451
-        width: 300px;
452
-    }
453
-
454
-    .infoMain {
455
-        display: flex;
456
-        flex-wrap: wrap;
457
-        border-bottom: 2px solid #000;
458
-        padding: 0 10px;
459
-    }
460
-
461
-    .infoMain div {
462
-        width: 50%;
463
-        line-height: 24px;
464
-    }
465
-
466
-    .prescriptionBox {
467
-        padding: 0 10px;
468
-        min-height: 600px;
469
-    }
470
-
471
-    .Rp {
472
-        font-size: 22px;
473
-        font-weight: bold;
474
-    }
475
-
476
-    .drugsBox {
477
-        padding-left: 40px;
478
-        margin-bottom: 10px;
479
-    }
480
-
481
-    .drugsBox p {
482
-        line-height: 30px;
483
-    }
484
-
485
-    .drugsOne {
486
-        line-height: 24px;
487
-    }
488
-
489
-    .drugsOne span {
490
-        margin-right: 20px;
491
-    }
492
-
493
-    .actionBar {
494
-        display: flex;
495
-        justify-content: space-between;
496
-        line-height: 24px;
497
-        padding: 0 10px;
498
-    }
499
-
500
-    .actionBar div {
501
-        width: 150px;
502
-    }
430
+.prescription-print {
431
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
432
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
433
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
434
+  margin-bottom: 20px;
435
+  padding: 20px 10px;
436
+}
437
+
438
+.prescription-print {
439
+  font-size: 14px;
440
+}
441
+
442
+.printTitle {
443
+  font-size: 18px;
444
+  text-align: center;
445
+  font-weight: bold;
446
+  margin-top: 10px;
447
+}
448
+
449
+.infoTitle {
450
+  display: flex;
451
+  border-bottom: 2px solid #000;
452
+  margin-top: 10px;
453
+  line-height: 24px;
454
+  padding: 0 10px;
455
+}
456
+
457
+.infoTitle div {
458
+  width: 300px;
459
+}
460
+
461
+.infoMain {
462
+  display: flex;
463
+  flex-wrap: wrap;
464
+  border-bottom: 2px solid #000;
465
+  padding: 0 10px;
466
+}
467
+
468
+.infoMain div {
469
+  width: 50%;
470
+  line-height: 24px;
471
+}
472
+
473
+.prescriptionBox {
474
+  padding: 0 10px;
475
+  min-height: 600px;
476
+}
477
+
478
+.Rp {
479
+  font-size: 22px;
480
+  font-weight: bold;
481
+}
482
+
483
+.drugsBox {
484
+  padding-left: 40px;
485
+  margin-bottom: 10px;
486
+}
487
+
488
+.drugsBox p {
489
+  line-height: 30px;
490
+}
491
+
492
+.drugsOne {
493
+  line-height: 24px;
494
+}
495
+
496
+.drugsOne span {
497
+  margin-right: 20px;
498
+}
499
+
500
+.actionBar {
501
+  display: flex;
502
+  justify-content: space-between;
503
+  line-height: 24px;
504
+  padding: 0 10px;
505
+}
506
+
507
+.actionBar div {
508
+  width: 150px;
509
+}
503 510
 </style>

+ 2 - 2
src/xt_pages/outpatientDoctorStation/pastInquiries.vue 查看文件

@@ -250,7 +250,7 @@ export default {
250 250
               });
251 251
             } else {
252 252
               const style =
253
-                "@media print {html {height: auto;margin: 0px;} #prescription-print{font-size:14px;border:1px solid white}.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: 80%;}}#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: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.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;}}";
253
+                "@media print {html {height: auto;margin: 0px;} #prescription-print{font-size:14px;border:1px solid white;margin-bottom:40px;}.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: 80%;}}#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: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.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;}}";
254 254
               printJS({
255 255
                 printable: "printMain",
256 256
                 type: "html",
@@ -394,7 +394,6 @@ export default {
394 394
                 }
395 395
               });
396 396
             });
397
-            // console.log(projectPrint, "projectPrint----去重前");
398 397
             // 数组去重
399 398
             projectPrint = this.split_project(projectPrint);
400 399
             // 配对
@@ -411,6 +410,7 @@ export default {
411 410
             new_patients = this.split_project_1(new_patients)
412 411
           }
413 412
           this.printData = new_patients;
413
+          console.log(this.printData,'this.printData')
414 414
         });
415 415
       }
416 416
       this.innerVisible = true;

+ 401 - 0
src/xt_pages/outpatientTool/components/detailStatistics.vue 查看文件

@@ -0,0 +1,401 @@
1
+<template>
2
+  <!-- <div class="main-contain outpatientChargesManagement">
3
+      <div class="position">
4
+          <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+      </div> -->
6
+  <div>
7
+    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+      <div>
9
+
10
+        <el-select size="small" v-model="item_type" placeholder="请选择"
11
+                   style="width:150px;margin-left:10px;" @change="changeItem">
12
+          <el-option
13
+              label="全部"
14
+              value="0">
15
+          </el-option>
16
+          <el-option
17
+              v-for="(item,index) in items"
18
+              :key="index"
19
+              :label="item.name"
20
+              :value="item.id">
21
+          </el-option>
22
+        </el-select>
23
+
24
+        <div class="mainCell" style="margin-bottom:10px;">
25
+          <el-input size="small"  v-model.trim="search_input"
26
+                    class="filter-item"/>
27
+          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
28
+                     @click="searchAction">
29
+            搜索
30
+          </el-button>
31
+        </div>
32
+
33
+        <el-date-picker
34
+            v-model="chargeDate"
35
+            type="daterange"
36
+            value-format="yyyy-MM-dd"
37
+            range-separator="至"
38
+            start-placeholder="开始日期"
39
+            @change="changeDate"
40
+            end-placeholder="结束日期">
41
+        </el-date-picker>
42
+      </div>
43
+    </div>
44
+    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
45
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
46
+              show-summary
47
+              max-height="600"
48
+              v-loading="detail_loading"
49
+              highlight-current-row>
50
+      <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
51
+      <el-table-column align="center" prop="name" label="处方日期">
52
+        <template slot-scope="scope">{{  }}</template>
53
+      </el-table-column>
54
+      <el-table-column align="center" prop="name" label="费用编码">
55
+        <template slot-scope="scope">{{scope.row.code}}</template>
56
+      </el-table-column>
57
+      <el-table-column align="center" prop="name" label="项目名称">
58
+        <template slot-scope="scope">{{scope.row.item_name}}</template>
59
+      </el-table-column>
60
+      <el-table-column align="center" prop="name" label="规格">
61
+        <template slot-scope="scope">{{scope.row.item_spec}}</template>
62
+      </el-table-column>
63
+      <el-table-column align="center" prop="name" label="数量">
64
+        <template slot-scope="scope">{{scope.row.count}}</template>
65
+      </el-table-column>
66
+      <el-table-column align="center" prop="name" label="单价">
67
+        <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
68
+      </el-table-column>
69
+      <el-table-column align="center" prop="name" label="金额">
70
+        <template slot-scope="scope">
71
+          <div>{{(scope.row.price.toFixed(2)*scope.row.count).toFixed(2)}}</div>
72
+        </template>
73
+      </el-table-column>
74
+
75
+    </el-table>
76
+  </div>
77
+
78
+  <!-- </div> -->
79
+</template>
80
+
81
+
82
+<script>
83
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
84
+import { GetSummaryDetail } from '@/api/his/his'
85
+import { uParseTime } from '@/utils/tools'
86
+import axios from 'axios'
87
+const moment = require('moment')
88
+export default {
89
+  components: {
90
+    BreadCrumb
91
+
92
+  },
93
+  data() {
94
+    return {
95
+      detail_loading: false,
96
+      tempArr: [],
97
+      pos: 0,
98
+      search_input: '',
99
+
100
+      sameRowArr: [],
101
+      keywords: '',
102
+      tableData: [],
103
+      chargeDate: [moment(new Date()).add('year', 0).format('YYYY-MM-DD'), moment(new Date()).add('year', 0).format('YYYY-MM-DD')],
104
+      item_type: '0',
105
+      items: [
106
+        { id: 1, name: '药品' },
107
+        { id: 3, name: '耗材' },
108
+        { id: 2, name: '项目' }
109
+
110
+      ]
111
+
112
+    }
113
+  },
114
+  methods: {
115
+    searchAction(){
116
+
117
+
118
+    },
119
+    changeDate() {
120
+      this.getSummaryDetailList()
121
+    },
122
+    changeItem() {
123
+      this.getSummaryDetailList()
124
+    },
125
+    getSummaryDetailList() {
126
+      this.detail_loading = true
127
+      let start_time = this.chargeDate[0]
128
+      let end_time = this.chargeDate[1]
129
+      let params = {
130
+        start_time: start_time,
131
+        end_time: end_time,
132
+        type: this.item_type,
133
+        keyword: this.keywords
134
+      }
135
+      GetSummaryDetail(params).then(response => {
136
+        if (response.data.state == 0) {
137
+          this.detail_loading = false
138
+
139
+          this.$message.error(response.data.msg)
140
+          return false
141
+        } else {
142
+          this.detail_loading = false
143
+
144
+          this.tableData = []
145
+          let tempPatients = []
146
+          let tempPatientsTwo = []
147
+
148
+          let tempData = response.data.data.patients
149
+          let data = response.data.data.patients
150
+          let orders = this.unique(tempData)
151
+          for (let i = 0; i < orders.length; i++) {
152
+            let obj = {
153
+              patient_id: orders[i].id,
154
+              name: orders[i].name,
155
+              orders: []
156
+            }
157
+            for (let b = 0; b < data.length; b++) {
158
+              if (orders[i].id == data[b].id) {
159
+                obj.orders = obj.orders.concat(data[b].orders)
160
+              }
161
+            }
162
+            tempPatients.push(obj)
163
+          }
164
+
165
+          for (let i = 0; i < tempPatients.length; i++) {
166
+            let obj = {
167
+              patient_id: tempPatients[i].patient_id,
168
+              name: tempPatients[i].name,
169
+              order_info: []
170
+            }
171
+            let orders = tempPatients[i].orders
172
+            for (let b = 0; b < orders.length; b++) {
173
+              for (let c = 0; c < orders[b].order_info.length; c++) {
174
+                let newObj = {}
175
+
176
+                newObj['count'] = orders[b].order_info[c].cnt
177
+                newObj['price'] = orders[b].order_info[c].pric
178
+                if (orders[b].order_info[c].advice_id > 0 && orders[b].order_info[c].project_id == 0) {
179
+                  newObj['type'] = 1
180
+                  newObj['item_name'] = orders[b].order_info[c].advice.advice_name
181
+                  newObj['item_id'] = orders[b].order_info[c].advice.drug_id
182
+
183
+                  if (orders[b].order_info[c].advice.drug.min_unit != orders[b].order_info[c].advice.drug.dose_unit) {
184
+                    newObj['item_spec'] =  orders[b].order_info[c].advice.drug.dose + orders[b].order_info[c].advice.drug.dose_unit + '*' + orders[b].order_info[c].advice.drug.min_number + orders[b].order_info[c].advice.drug.min_unit + '/' + orders[b].order_info[c].advice.drug.max_unit
185
+                  } else {
186
+
187
+                    newObj['item_spec'] = ''
188
+                  }
189
+
190
+                }
191
+                if (orders[b].order_info[c].advice_id == 0 && orders[b].order_info[c].project_id > 0) {
192
+                  newObj['type'] = 2
193
+                  newObj['item_id'] = orders[b].order_info[c].project.project_id
194
+
195
+                  if (orders[b].order_info[c].project.type == 2) {
196
+                    newObj['item_spec'] =""
197
+                    newObj['item_name'] = orders[b].order_info[c].project.project.project_name
198
+
199
+
200
+                  } else if (orders[b].order_info[c].project.type == 3) {
201
+                    newObj['item_spec'] =    orders[b].order_info[c].project.good_info.specification_name
202
+                    newObj['item_name'] = orders[b].order_info[c].project.good_info.good_name
203
+
204
+
205
+                  }
206
+                }
207
+                obj.order_info.push(newObj)
208
+              }
209
+            }
210
+            tempPatientsTwo.push(obj)
211
+          }
212
+
213
+          for (let d = 0; d < tempPatientsTwo.length; d++) {
214
+            tempPatientsTwo[d]['new_order_info'] = []
215
+            let project = []
216
+            let advice = []
217
+            for (let b = 0; b < tempPatientsTwo[d].order_info.length; b++) {
218
+              if (tempPatientsTwo[d].order_info[b].type == 1) {
219
+                advice.push(tempPatientsTwo[d].order_info[b])
220
+              } else {
221
+                project.push(tempPatientsTwo[d].order_info[b])
222
+              }
223
+            }
224
+            project = this.uniqueProjectAndAdvice(project)
225
+            advice = this.uniqueProjectAndAdvice(advice)
226
+
227
+            for (let i = 0; i < project.length; i++) {
228
+              let obj = {}
229
+              let count = 0
230
+              for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
231
+                if (project[i].item_id == tempPatientsTwo[d].order_info[a].item_id && project[i].price == tempPatientsTwo[d].order_info[a].price) {
232
+                  count = count + tempPatientsTwo[d].order_info[a].count
233
+                }
234
+              }
235
+
236
+
237
+
238
+              obj['price'] = project[i].price
239
+              obj['type'] = project[i].type
240
+              obj['item_name'] = project[i].item_name
241
+              obj['item_spec'] = project[i].item_spec
242
+
243
+              obj['item_id'] = project[i].item_id
244
+              obj['name'] = tempPatientsTwo[d].name
245
+              obj['patient_id'] = tempPatientsTwo[d].patient_id
246
+              obj['count'] = count
247
+              tempPatientsTwo[d].new_order_info.push(obj)
248
+            }
249
+
250
+            for (let i = 0; i < advice.length; i++) {
251
+              let obj = {}
252
+              let count = 0
253
+              for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
254
+                if (advice[i].item_id == tempPatientsTwo[d].order_info[a].item_id && advice[i].price == tempPatientsTwo[d].order_info[a].price) {
255
+                  count = count + tempPatientsTwo[d].order_info[a].count
256
+                }
257
+              }
258
+
259
+              obj['price'] = advice[i].price
260
+              obj['type'] = advice[i].type
261
+              obj['item_name'] = advice[i].item_name
262
+              obj['item_spec'] = advice[i].item_spec
263
+              obj['item_id'] = advice[i].item_id
264
+              obj['name'] = tempPatientsTwo[d].name
265
+              obj['patient_id'] = tempPatientsTwo[d].patient_id
266
+              obj['count'] = count
267
+              tempPatientsTwo[d].new_order_info.push(obj)
268
+            }
269
+
270
+          }
271
+
272
+          for (let i = 0; i < tempPatientsTwo.length; i++) {
273
+            let total = 0
274
+            for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
275
+              let new_name = tempPatientsTwo[i].new_order_info[b].item_name
276
+              // console.log('3 ' + new_name)
277
+              if (new_name != undefined){
278
+                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].patient_id)
279
+                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].price)
280
+                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].count)
281
+                //
282
+                // new_name = new_name.replace('( ', '')
283
+                // new_name = new_name.replace(' )', '')
284
+                if (new_name.length != 0) {
285
+                  total = parseFloat(total) + parseFloat((parseFloat(tempPatientsTwo[i].new_order_info[b].count.toString()) * parseFloat(tempPatientsTwo[i].new_order_info[b].price.toString().toString())).toFixed(2))
286
+                }
287
+
288
+
289
+
290
+              }
291
+
292
+
293
+            }
294
+            tempPatientsTwo[i]['total'] = total
295
+          }
296
+          console.log('tempPatientsTwo', tempPatientsTwo)
297
+          for (let i = 0; i < tempPatientsTwo.length; i++) {
298
+            // console.log(111,tempPatientsTwo[i].total)
299
+            if (tempPatientsTwo[i].new_order_info.length > 0) {
300
+
301
+              for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
302
+                // let new_name = tempPatientsTwo[i].new_order_info[b].item_name
303
+                // console.log('2 ' + new_name)
304
+                //
305
+                // new_name = new_name.replace('( ', '')
306
+                // new_name = new_name.replace(' )', '')
307
+
308
+                let obj = {
309
+                  name: tempPatientsTwo[i].name,
310
+                  patient_id: tempPatientsTwo[i].patient_id,
311
+                  price: tempPatientsTwo[i].new_order_info[b].price,
312
+                  type: tempPatientsTwo[i].new_order_info[b].type,
313
+                  item_name: tempPatientsTwo[i].new_order_info[b].item_name,
314
+                  item_id: tempPatientsTwo[i].new_order_info[b].item_id,
315
+                  count: tempPatientsTwo[i].new_order_info[b].count,
316
+                  item_spec: tempPatientsTwo[i].new_order_info[b].item_spec
317
+                }
318
+
319
+
320
+                // if(b == 0){
321
+                obj['total'] = tempPatientsTwo[i].total
322
+                // }else{
323
+                //   obj['total'] = 0
324
+                // }
325
+                this.tableData.push(obj)
326
+
327
+
328
+              }
329
+            }
330
+          }
331
+          this.handleSpanTempArr()
332
+          // this.tableData = tempPatientsTwo
333
+
334
+          // console.log(tempPatientsTwo.length)
335
+          //
336
+
337
+        }
338
+        //
339
+        // console.log('去重前')
340
+        // console.log(advice)
341
+        // console.log(project)
342
+        // //
343
+        // //
344
+
345
+        // //
346
+        // console.log('去重后')
347
+        //
348
+        // console.log(advice.length)
349
+        // console.log(project.length)
350
+        //
351
+        // for (let i = 0; i < project.length; i++) {
352
+        //   let obj = {}
353
+        //   let count = 0
354
+        //   for (let a = 0; a < tempPatientsTwo.length; a++) {
355
+        //     if (project[i].patient_id == tempPatientsTwo[a].patient_id && project[i].item_id == tempPatientsTwo[a].item_id && project[i].price == tempPatientsTwo[a].price) {
356
+        //       count = count + tempPatientsTwo[a].count
357
+        //       obj['count'] = count
358
+        //
359
+        //     }
360
+        //     obj['price'] = project[i].price
361
+        //     obj['type'] = project[i].type
362
+        //     obj['item_name'] = project[i].item_name
363
+        //     obj['item_id'] = project[i].item_id
364
+        //     obj['name'] = project[i].name
365
+        //     obj['patient_id'] = project[i].patient_id
366
+        //     obj['count'] = count
367
+        //     this.tableData.push(obj)
368
+        //   }
369
+        // }
370
+        //
371
+        //
372
+        // for (let i = 0; i < advice.length; i++) {
373
+        //   let obj = {}
374
+        //   let count = 0
375
+        //   for (let a = 0; a < tempPatientsTwo.length; a++) {
376
+        //     if (advice[i].patient_id == tempPatientsTwo[a].patient_id && advice[i].item_id == tempPatientsTwo[a].item_id && advice[i].price == tempPatientsTwo[a].price) {
377
+        //       count = count + tempPatientsTwo[a].count
378
+        //       obj['count'] = count
379
+        //
380
+        //     }
381
+        //     obj['price'] = advice[i].price
382
+        //     obj['type'] = advice[i].type
383
+        //     obj['item_name'] = advice[i].item_name
384
+        //     obj['item_id'] = advice[i].item_id
385
+        //     obj['name'] = advice[i].name
386
+        //     obj['patient_id'] = advice[i].patient_id
387
+        //     this.tableData.push(obj)
388
+        //   }
389
+        // }
390
+        // console.log(this.tableData.length)
391
+        // this.tableData = this.sort(this.tableData)
392
+
393
+      })
394
+    },
395
+  },
396
+  created() {
397
+    this.getSummaryDetailList()
398
+
399
+  }
400
+}
401
+</script>

+ 13 - 0
src/xt_pages/outpatientTool/components/gatherStatistics.vue 查看文件

@@ -0,0 +1,13 @@
1
+<template>
2
+
3
+</template>
4
+
5
+<script>
6
+export default {
7
+  name: 'gatherStatistics'
8
+}
9
+</script>
10
+
11
+<style scoped>
12
+
13
+</style>

+ 335 - 0
src/xt_pages/outpatientTool/statistics.vue 查看文件

@@ -0,0 +1,335 @@
1
+<template>
2
+  <div class="main-contain new-main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
+      <div class="mainLeft">
8
+        <div>
9
+          <el-table  :data="patientTableData" :height="tableHeight" border style="width: 100%;"
10
+                     :row-style="{ color: '#303133' }"
11
+                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
12
+                     highlight-current-row ref="tab"
13
+                     @current-change="handleCurrentChange">
14
+            <el-table-column align="center" prop="name" label="姓名" wdith='89'>
15
+              <template slot-scope="scope">{{ scope.row.name }}</template>
16
+            </el-table-column>
17
+          </el-table>
18
+        </div>
19
+      </div>
20
+      <div class="mainRight">
21
+        <el-tabs v-model="titleType">
22
+          <el-tab-pane label="明细" name="明细"></el-tab-pane>
23
+          <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
24
+        </el-tabs>
25
+        <detail-statistics v-if="titleType == '明细'"></detail-statistics>
26
+        <gather-statistics v-if="titleType == '汇总'"></gather-statistics>
27
+      </div>
28
+    </div>
29
+  </div>
30
+</template>
31
+
32
+<script>
33
+import {
34
+  GetAllPatients,
35
+} from '@/api/his/his_tools'
36
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
37
+import DetailStatistics from './components/detailStatistics'
38
+import GatherStatistics from './components/gatherStatistics'
39
+export default {
40
+  components: {
41
+    GatherStatistics,
42
+    DetailStatistics,
43
+
44
+
45
+  },
46
+  data() {
47
+
48
+    return {
49
+      patientTableData:[],
50
+      tableHeight: '',
51
+      crumbs: [
52
+        { path: false, name: 'His工具' },
53
+        { path: false, name: '明细汇总统计' }
54
+      ],
55
+      titleType: '明细'
56
+    }
57
+  },
58
+  methods: {
59
+    getPatientList(){
60
+      GetAllPatients().then(response => {
61
+        if (response.data.state == 0) {
62
+          this.$message.error(response.data.msg)
63
+          return false
64
+        } else {
65
+          this.patientTableData = response.data.data.list
66
+        }
67
+      })
68
+    },
69
+    handleCurrentChange(){
70
+
71
+    },
72
+
73
+  },
74
+  created() {
75
+    const tableHeight = document.body.clientHeight - 290
76
+    this.tableHeight = tableHeight
77
+    this.getPatientList()
78
+
79
+  },
80
+
81
+  mounted() {
82
+
83
+  },
84
+  watch: {}
85
+}
86
+</script>
87
+
88
+<style lang="scss" scoped>
89
+.new-main-contain {
90
+  height: 100%;
91
+  display: flex;
92
+  flex-direction: column;
93
+}
94
+
95
+.app-container {
96
+  height: 100%;
97
+}
98
+
99
+.mainCell {
100
+  height: 36px;
101
+  display: flex;
102
+  align-items: center;
103
+}
104
+
105
+.mainLeft {
106
+  width: 200px;
107
+  height: 100%;
108
+  display: flex;
109
+  flex-direction: column;
110
+
111
+.el-radio {
112
+  margin-right: 5px;
113
+}
114
+
115
+}
116
+.mainRight {
117
+  margin-left: 10px;
118
+  flex: 1;
119
+  height: 100%;
120
+  display: flex;
121
+  flex-direction: column;
122
+  overflow-y: auto;
123
+
124
+.cellSpan {
125
+  min-width: 80px;
126
+  display: inline-block;
127
+  margin-right: 10px;
128
+}
129
+
130
+}
131
+.mainCenter {
132
+  display: flex;
133
+  flex: 1;
134
+}
135
+
136
+.centerLeft {
137
+  flex: 1;
138
+  display: flex;
139
+  flex-direction: column;
140
+  position: relative;
141
+
142
+.el-form-item {
143
+  width: 32%;
144
+  margin-right: 1%;
145
+  float: left;
146
+}
147
+
148
+.el-form-item__label {
149
+  text-align: left;
150
+}
151
+
152
+}
153
+.backColor {
154
+  background: #f6f8f9;
155
+  height: 5px;
156
+  margin-bottom: 5px;
157
+}
158
+
159
+.tabsBox {
160
+  position: relative;
161
+  height: 76%;
162
+  overflow-y: auto;
163
+  margin-bottom: 60px;
164
+
165
+.el-tabs__item {
166
+  padding: 0 10px;
167
+}
168
+
169
+}
170
+.preTabs {
171
+  height: 100%;
172
+  display: flex;
173
+  flex-direction: column;
174
+
175
+.el-tabs__content {
176
+  flex: 1;
177
+  overflow-y: auto;
178
+}
179
+
180
+}
181
+
182
+.costBox {
183
+  width: 100%;
184
+  height: 60px;
185
+  background: #fff;
186
+  position: absolute;
187
+  bottom: 0;
188
+  display: flex;
189
+  align-items: center;
190
+}
191
+
192
+.addTab {
193
+  position: absolute;
194
+  right: 0;
195
+  top: 14px;
196
+  z-index: 20;
197
+}
198
+
199
+.centerRight {
200
+  width: 300px;
201
+  margin-left: 10px;
202
+  display: flex;
203
+  flex-direction: column;
204
+  position: relative;
205
+}
206
+
207
+.rightTab {
208
+  height: 40px;
209
+  width: 100%;
210
+  border: 1px solid #d2d2d2;
211
+  box-sizing: border-box;
212
+
213
+p {
214
+  width: 50%;
215
+  height: 40px;
216
+  line-height: 40px;
217
+  text-align: center;
218
+  background: #eee;
219
+  float: left;
220
+}
221
+
222
+> p:last-child {
223
+  border-left: 1px solid #d2d2d2;
224
+  float: right;
225
+}
226
+
227
+.activeP {
228
+  background: #409EFF;
229
+  color: #fff;
230
+}
231
+
232
+}
233
+.comfirmBox {
234
+  width: 100%;
235
+  height: 60px;
236
+  background: #fff;
237
+  position: absolute;
238
+  bottom: 0;
239
+  display: flex;
240
+  align-items: center;
241
+  justify-content: space-between;
242
+}
243
+
244
+.mainHeader {
245
+  width: 100%;
246
+  background: #fff;
247
+  position: fixed;
248
+  z-index: 100;
249
+  height: 36px;
250
+}
251
+
252
+.titleBox {
253
+  position: fixed;
254
+  z-index: 99;
255
+  background: #fff;
256
+}
257
+
258
+.fixedCell {
259
+  position: fixed;
260
+  z-index: 99;
261
+  right: 30px;
262
+  background: #fff;
263
+  width: 300px;
264
+  display: flex;
265
+  justify-content: space-between;
266
+}
267
+</style>
268
+
269
+<style lang="scss">
270
+.centerLeft {
271
+
272
+.el-form-item__label {
273
+  text-align: left;
274
+}
275
+
276
+}
277
+.tabsBox {
278
+
279
+.el-tabs__item {
280
+  padding: 0 10px;
281
+}
282
+
283
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
284
+  padding: 0 10px;
285
+}
286
+
287
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
288
+  padding: 0 10px;
289
+}
290
+
291
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
292
+  padding: 0 10px;
293
+}
294
+
295
+}
296
+.centerRight {
297
+
298
+.el-tabs__nav-scroll {
299
+  display: flex;
300
+}
301
+
302
+.el-tabs__nav {
303
+  margin: 0 auto;
304
+}
305
+
306
+.el-table th .cell, .el-table td .cell {
307
+  padding: 0 2px;
308
+}
309
+
310
+}
311
+.preTabs {
312
+
313
+.el-tabs__content {
314
+
315
+}
316
+
317
+}
318
+.rightTabs {
319
+  height: 100%;
320
+
321
+
322
+.el-tabs__content {
323
+
324
+}
325
+
326
+}
327
+.centerDialog {
328
+
329
+.el-dialog__body {
330
+  max-height: calc(100vh - 100px) !important;
331
+  padding: 0 20px;
332
+}
333
+
334
+}
335
+</style>

+ 57 - 33
src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue 查看文件

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <el-dialog
3
-    title="新增仓库信息"
3
+    :title="title"
4 4
     :visible.sync="dialogVisible"
5 5
     width="30%"
6 6
     :before-close="closePop"
@@ -21,19 +21,25 @@
21 21
           <el-input v-model="ruleForm.storehouse_name"></el-input>
22 22
         </el-form-item>
23 23
         <el-form-item label="仓库地址" prop="address">
24
-          <el-input type="textarea" v-model="ruleForm.address"></el-input>
24
+          <el-input type="textarea" v-model="ruleForm.address" @input="aa"></el-input>
25 25
         </el-form-item>
26 26
         <el-form-item label="状态" prop="status">
27
-          <el-radio-group v-model="ruleForm.status">
27
+          <el-radio-group v-model="ruleForm.status"  >
28 28
             <el-radio :label="1" >启用</el-radio>
29
-            <el-radio :label="0" >禁用</el-radio>
29
+            <el-radio :label="0">禁用</el-radio>
30
+<!--            <el-radio :label="1" @click.native="toDisable2">启用</el-radio>-->
31
+<!--            <el-radio :label="0" @click.native="toDisable">禁用</el-radio>-->
30 32
           </el-radio-group>
31 33
         </el-form-item>
32
-        <el-form-item label="仓库管理员" ><!--prop="region">-->
33
-          admin
34
-<!--          <el-select v-model="ruleForm.region" placeholder="请选择管理员">-->
35
-<!--            <el-option label="admin" value="0"></el-option>-->
36
-<!--          </el-select>-->
34
+        <el-form-item label="仓库管理员" prop="admin_id" >
35
+          <el-select v-model="ruleForm.admin_id" @select="handleSelect" @change="changeadmin">
36
+            <el-option
37
+              v-for="item in adminnamelist"
38
+              :key="item.user_id"
39
+              :label="item.user_name"
40
+              :value="item.user_id"
41
+            ></el-option>
42
+          </el-select>
37 43
         </el-form-item>
38 44
       </el-form>
39 45
     </div>
@@ -45,20 +51,22 @@
45 51
 </template>
46 52
 
47 53
 <script>
48
-import { getcode,addstorehouse,updatestorehouse } from "@/api/warehouse";
54
+import { getcode,addstorehouse,updatestorehouse,getusername,updatestatus } from "@/api/warehouse";
49 55
 import login from '../../../../mock/login'
50 56
 export default {
51 57
   data() {
52 58
     return {
59
+      title: "",
53 60
       show_type: 1,
54 61
       storehouse_id: "",
55 62
       storehouse_code:"coco",
56 63
       dialogVisible: false,
57 64
       labelPosition:'left',
65
+      adminnamelist: [],
58 66
       ruleForm: {
59
-        admin_name:"",
67
+        admin_name:"",//管理员名字
68
+        admin_id:"",//管理员id
60 69
         storehouse_name: "",
61
-        region: "",
62 70
         date1: "",
63 71
         date2: "",
64 72
         delivery: false,
@@ -90,24 +98,46 @@ export default {
90 98
     };
91 99
   },
92 100
   methods: {
101
+
102
+    aa(){
103
+      console.log('op')
104
+    },
105
+    changeadmin(item) {
106
+    },
107
+    handleSelect() {
108
+
109
+    },
110
+    usernamelist(){
111
+      //获取管理员列表
112
+      getusername().then((res) => {
113
+        if (res.data.state == 1){
114
+          this.adminnamelist = res.data.data.list;
115
+          // console.log("adminnamelist",this.adminnamelist)
116
+        }
117
+      })
118
+      .catch((err) => {
119
+        console.log(err)
120
+      })
121
+    },
93 122
     show(data, type) {
94 123
       if (type == 1) {
95 124
         this.initstorehouseData();
96 125
         this.show_type = 1;
97 126
         this.title = "新增仓库";
98 127
         this.dialogVisible = true;
128
+        this.usernamelist()
99 129
       } else if (type == 2) {
100
-        console.log("data:::::::::::",data);
101 130
         this.show_type = 2;
102
-        this.storehouse_id = data.id;
131
+        this.storehouse_id = data.ID;
103 132
         this.title = "编辑仓库";
104
-        this.storehouse_code = data.storehouse_code;
105
-        this.ruleForm.address = data.storehouse_address;
106
-        this.ruleForm.status = data.storehouse_status;
107
-        this.ruleForm.storehouse_name = data.storehouse_name;
108
-        this.ruleForm.admin_name = data.storehouse_admin_name;
109
-        console.log("this.ruleForm.admin_name",this.ruleForm.admin_name);
133
+        this.storehouse_code = data.StorehouseCode;
134
+        this.ruleForm.address = data.StorehouseAddress;
135
+        this.ruleForm.status = data.StorehouseStatus;
136
+        this.ruleForm.storehouse_name = data.StorehouseName;
137
+        this.ruleForm.admin_name = data.StorehouseAdminName;
138
+        this.ruleForm.admin_id = data.StorehouseAdminId;
110 139
         this.dialogVisible = true;
140
+        this.usernamelist()
111 141
       }
112 142
     },
113 143
     // 获取仓库编码接口
@@ -121,10 +151,11 @@ export default {
121 151
     },
122 152
     //清除表单数据
123 153
     closePop() {
124
-      console.log("this.ruleForm",this.ruleForm)
154
+      // console.log("this.ruleForm",this.ruleForm)
125 155
       this.dialogVisible = false;
156
+      this.ruleForm.admin_name = "";
157
+      this.ruleForm.admin_id = "";
126 158
       this.ruleForm.storehouse_name = "";
127
-      this.ruleForm.region = "";
128 159
       this.ruleForm.date1 = "";
129 160
       this.ruleForm.date2 = "";
130 161
       this.ruleForm.type = [];
@@ -132,23 +163,18 @@ export default {
132 163
       this.ruleForm.address = "";
133 164
     },
134 165
 
135
-
136 166
     //  验证表单内容
137 167
     submitForm(ruleForm) {
138 168
       if (this.show_type == 1) {
139 169
         this.$refs[ruleForm].validate((valid) => {
140 170
           if (valid) {
141
-            console.log("this.ruleForm.status",this.ruleForm.status);
142 171
             let params = {
143 172
               storehouse_code: this.storehouse_code || "",
144 173
               storehouse_name: this.ruleForm.storehouse_name || "",
145 174
               storehouse_address: this.ruleForm.address || "",
146
-              storehouse_status:parseInt(this.ruleForm.status)
147
-              // storehouse_admin_id: this.ruleForm.storehouse_admin_id || "",
148
-              // storehouse_admin_name: this.ruleForm.storehouse_admin_name || "",
175
+              storehouse_status:parseInt(this.ruleForm.status),
176
+              storehouse_admin_id: this.ruleForm.admin_id || "",
149 177
             };
150
-            console.log("params::::",params)
151
-            console.log("status::::",this.ruleForm.status)
152 178
             addstorehouse(params).then((res) => {
153 179
               if (res.data.state == 1) {
154 180
                 this.$message.success("新增成功");
@@ -168,15 +194,13 @@ export default {
168 194
       } else if (this.show_type == 2) {
169 195
         this.$refs[ruleForm].validate((valid) => {
170 196
           if (valid) {
171
-            console.log("this.ruleForm.status",this.ruleForm.status);
172 197
             let params = {
173 198
               storehouse_code: this.storehouse_code || "",
174 199
               storehouse_name: this.ruleForm.storehouse_name || "",
175 200
               storehouse_address: this.ruleForm.address || "",
176 201
               storehouse_status:parseInt(this.ruleForm.status),
177
-              id: this.storehouse_id
178
-              // storehouse_admin_id: this.ruleForm.storehouse_admin_id || "",
179
-              // storehouse_admin_name: this.ruleForm.storehouse_admin_name || "",
202
+              id: this.storehouse_id,
203
+              storehouse_admin_id: this.ruleForm.admin_id || "",
180 204
             };
181 205
             updatestorehouse(params).then((res) => {
182 206
               if (res.data.state == 1) {

+ 14 - 14
src/xt_pages/stock/warehouseManage/query.vue 查看文件

@@ -47,28 +47,28 @@
47 47
       >
48 48
         <el-table-column label="仓库编号" align="center">
49 49
           <template slot-scope="scope">
50
-            <span>{{ scope.row.storehouse_code ? scope.row.storehouse_code : "" }}</span>
50
+            <span>{{ scope.row.StorehouseCode ? scope.row.StorehouseCode : "" }}</span>
51 51
           </template>
52 52
         </el-table-column>
53 53
         <el-table-column label="仓库名称" align="center">
54 54
           <template slot-scope="scope">
55
-            <span>{{ scope.row.storehouse_name ? scope.row.storehouse_name : "" }}</span>
55
+            <span>{{ scope.row.StorehouseName ? scope.row.StorehouseName : "" }}</span>
56 56
           </template>
57 57
         </el-table-column>
58 58
         <el-table-column label="仓库地址" align="center">
59 59
           <template slot-scope="scope">
60
-            <span>{{ scope.row.storehouse_address ? scope.row.storehouse_address : "" }}</span>
60
+            <span>{{ scope.row.StorehouseAddress ? scope.row.StorehouseAddress : "" }}</span>
61 61
           </template>
62 62
         </el-table-column>
63 63
         <el-table-column label="仓库管理员" align="center">
64 64
           <template slot-scope="scope">
65
-            <span>{{ scope.row.storehouse_admin_name ? scope.row.storehouse_admin_name : "" }}</span>
65
+            <span>{{ scope.row.StorehouseAdminName ? scope.row.StorehouseAdminName : "" }}</span>
66 66
           </template>
67 67
         </el-table-column>
68 68
         <el-table-column label="状态" align="center">
69 69
           <template slot-scope="scope">
70
-            <span v-if="scope.row.storehouse_status == 1">启用</span>
71
-            <span v-if="scope.row.storehouse_status == 0">禁用</span>
70
+            <span v-if="scope.row.StorehouseStatus == 1">启用</span>
71
+            <span v-if="scope.row.StorehouseStatus == 0">禁用</span>
72 72
           </template>
73 73
         </el-table-column>
74 74
 
@@ -136,13 +136,11 @@ export default {
136 136
   name: "stockIn",
137 137
   created() {
138 138
     var types = getDictionaryDataConfig("system", "drug_type");
139
-    console.log("44444", types);
140 139
     var arr = [];
141 140
     var obj = { id: 0, name: "全部" };
142 141
     arr.push(obj);
143 142
     arr.push(...types);
144 143
     this.drugType = arr;
145
-    console.log("arrr", arr);
146 144
     this.getlist();
147 145
   },
148 146
   components: {
@@ -188,7 +186,6 @@ export default {
188 186
         page: this.page,
189 187
         limit: this.limit,
190 188
       };
191
-      console.log("params", params);
192 189
       //请求分页接口
193 190
       storehouselist(params).then((response) => {
194 191
         if (response.data.state == 1) {
@@ -231,17 +228,20 @@ export default {
231 228
     },
232 229
     // 新增仓库
233 230
     AddWareHouse(val) {
234
-      this.$refs.AddWareHouse.show(1, val);
231
+      this.$nextTick(() => {
232
+        this.$refs.AddWareHouse.show(1, val);
233
+      })
235 234
     },
236 235
     // 编辑仓库
237 236
     toEdit(data,val) {
238
-      console.log("data is :",data)
239
-      this.$refs.AddWareHouse.show(data,val);
237
+      this.$nextTick(() => {
238
+        this.$refs.AddWareHouse.show(data, val);
239
+      })
240 240
     },
241 241
     // 禁用仓库
242 242
     toDisable(val, index) {
243 243
       var params = {
244
-        id:val.id,
244
+        id:val.ID,
245 245
       };
246 246
       this.$confirm("是否确定将此仓库禁用?", "禁用仓库信息", {
247 247
         confirmButtonText: "确 定",
@@ -266,7 +266,7 @@ export default {
266 266
     //删除仓库
267 267
     toDelete(val, index) {
268 268
       var params = {
269
-        id:val.id,
269
+        id:val.ID,
270 270
       };
271 271
       this.$confirm("是否确定将此仓库删除?", "删除仓库信息", {
272 272
         confirmButtonText: "确 定",

+ 4 - 5
src/xt_pages/stock/warehouseManage/waresetting.vue 查看文件

@@ -11,7 +11,7 @@
11 11
           <div style="line-height: 36px; white-space: nowrap">
12 12
             请选择耗材自动入库仓库:
13 13
           </div>
14
-          <el-select v-model="h1" placeholder="请选择" @select="handleSelect1" @change="updateconfig1(h1)" >
14
+          <el-select v-model="h1" filterable placeholder="请选择" @select="handleSelect1" @change="updateconfig1(h1)" >
15 15
             <el-option
16 16
               v-for="item in options"
17 17
               :key="item.storehouse_name"
@@ -25,7 +25,7 @@
25 25
           <div style="line-height: 36px; white-space: nowrap">
26 26
             请选择耗材自动出库仓库:
27 27
           </div>
28
-          <el-select v-model="h2" placeholder="请选择" @select="handleSelect2" @change="updateconfig2(h2)">
28
+          <el-select v-model="h2" filterable placeholder="请选择" @select="handleSelect2" @change="updateconfig2(h2)">
29 29
             <el-option
30 30
               v-for="item in options"
31 31
               :key="item.storehouse_name"
@@ -39,7 +39,7 @@
39 39
           <div style="line-height: 36px; white-space: nowrap">
40 40
             请选择药品自动入库仓库:
41 41
           </div>
42
-          <el-select v-model="h3" placeholder="请选择" @select="handleSelect3" @change="updateconfig3(h3)">
42
+          <el-select v-model="h3" filterable placeholder="请选择" @select="handleSelect3" @change="updateconfig3(h3)">
43 43
             <el-option
44 44
               v-for="item in options"
45 45
               :key="item.storehouse_name"
@@ -53,7 +53,7 @@
53 53
           <div style="line-height: 36px; white-space: nowrap">
54 54
             请选择药品自动出库仓库:
55 55
           </div>
56
-          <el-select v-model="h4" placeholder="请选择" @select="handleSelect4" @change="updateconfig4(h4)">
56
+          <el-select v-model="h4" filterable placeholder="请选择" @select="handleSelect4" @change="updateconfig4(h4)">
57 57
             <el-option
58 58
               v-for="item in options"
59 59
               :key="item.storehouse_name"
@@ -109,7 +109,6 @@ export default {
109 109
       let param ={}
110 110
       findstorehouseconfig(param).then((response) => {
111 111
         if (response.data.state == 1) {
112
-          console.log("response",response)
113 112
           this.h1 = response.data.data.storehouse_info;
114 113
           this.h2 = response.data.data.storehouse_out_info;
115 114
           this.h3 = response.data.data.drug_storehouse_info;

文件差异内容过多而无法显示
+ 622 - 477
src/xt_pages/supply/components/addGoodReturn.vue


+ 3 - 3
src/xt_pages/user/vascularAccess.vue 查看文件

@@ -190,7 +190,7 @@
190 190
                </el-form-item>
191 191
             </el-col>
192 192
              <el-col :span="8">
193
-               <el-form-item label="首次启用日期:" :required="true" prop="first_start_time">
193
+               <el-form-item label="首次启用日期:" prop="first_start_time">
194 194
                   <el-date-picker
195 195
                     type="datetime"
196 196
                     format="yyyy-MM-dd"
@@ -362,7 +362,7 @@
362 362
                </el-form-item>
363 363
             </el-col>
364 364
              <el-col :span="8">
365
-               <el-form-item label="首次启用日期:" :required="true" prop="first_start_time">
365
+               <el-form-item label="首次启用日期:" prop="first_start_time">
366 366
                   <el-date-picker
367 367
                     type="datetime"
368 368
                     format="yyyy-MM-dd"
@@ -497,7 +497,7 @@
497 497
           access_project: [{ required: true, message: '请选择通路项目' }],
498 498
           blood_access_part_opera_id:[{required:true,message:'请选择血管通路类型'}],
499 499
           blood_access_part_id:[{required:true,message:"请选择血管通路"}],
500
-          first_start_time:[{required:true,message:"请选择首次启用日期"}],
500
+         //  first_start_time:[{required:true,message:"请选择首次启用日期"}],
501 501
           user_status:[{required:true,message:"请选择使用状态"}]
502 502
         },
503 503
         dialogVisible:false,