Преглед на файлове

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

see999 преди 3 години
родител
ревизия
78450e0568

+ 17 - 0
src/api/schedule.js Целия файл

@@ -150,4 +150,21 @@ export function copyPatientSchedule(params){
150 150
     method:"Get",
151 151
     params:params
152 152
   })
153
+}
154
+
155
+export function saveRemindPrint(params){
156
+   return request({
157
+     url:"/api/schedule/saveremindprint",
158
+     method:"get",
159
+     params:params
160
+   })
161
+}
162
+
163
+export function getRemindPrintList(params){
164
+   
165
+  return request({
166
+    url:"/api/schedule/getremindprintlist",
167
+    method:"get",
168
+    params:params
169
+  })
153 170
 }

+ 6 - 6
src/router/modules/outpatientRecord.js Целия файл

@@ -12,12 +12,12 @@ export default {
12 12
     isChild: true
13 13
   },
14 14
   children: [
15
-    // {
16
-    //     path: '/outpatientRecord/outpatientRecord',
17
-    //     component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
-    //     name: 'outpatientSickRecord',
19
-    //     meta: { title: 'outpatientSickRecord', noCache: true }
20
-    // },
15
+    {
16
+        path: '/outpatientRecord/outpatientRecord',
17
+        component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
+        name: 'outpatientSickRecord',
19
+        meta: { title: 'outpatientSickRecord', noCache: true }
20
+    },
21 21
     {
22 22
       path: '/outpatientRecord/index',
23 23
       component: () => import('@/xt_pages/hospitalStation/index'),

+ 4 - 0
src/store/modules/globalConfig.js Целия файл

@@ -1871,6 +1871,10 @@ const global_config = {
1871 1871
         id: 35,
1872 1872
         name: '本'
1873 1873
       },
1874
+      {
1875
+        id: 36,
1876
+        name: '轴'
1877
+      },
1874 1878
     ],
1875 1879
     body_fluid: [{
1876 1880
       id: 1,

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderTen.vue Целия файл

@@ -322,9 +322,9 @@
322 322
                   <div class="inline_block" style="flex:1;">
323 323
                     透析(滤)器:
324 324
                     <div class="under_line" style="width: 100px;text-align: center">
325
-                      {{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }}
325
+                      <!-- {{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }} -->
326 326
 
327
-                      <!-- {{ prescription.dialysis_dialyszers ? prescription.dialysis_dialyszers : "/" }} -->
327
+                      {{ prescription.dialysis_dialyszers ? prescription.dialysis_dialyszers : "/" }}
328 328
                     </div>
329 329
                   </div>
330 330
                   <div class="inline_block" style="flex:1;">

+ 148 - 0
src/xt_pages/hospitalStation/summary.vue Целия файл

@@ -113,6 +113,17 @@
113 113
             </el-button>
114 114
             <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
115 115
 
116
+            <el-button size="mini" type="primary" @click="refundOne(scope.row)">
117
+              撤销出院
118
+            </el-button>
119
+
120
+            <el-button size="mini" type="primary" @click="refundTwo(scope.row)">
121
+              撤销明细
122
+            </el-button>
123
+
124
+            <el-button size="mini" type="primary" @click="refundThee(scope.row)">
125
+              撤销入院
126
+            </el-button>
116 127
           </template>
117 128
         </el-table-column>
118 129
       </el-table>
@@ -236,6 +247,143 @@
236 247
       }
237 248
     },
238 249
     methods: {
250
+      refundOne(row){
251
+        var that = this;
252
+        this.$confirm('是否撤销出院', '撤销出院', {
253
+          confirmButtonText: '确 定',
254
+          cancelButtonText: '取 消',
255
+          type: 'warning'
256
+        }).then(() => {
257
+          let params = {
258
+            'id': row.his_hospital_patient.id,
259
+            'admin_user_id': this.$store.getters.xt_user.user.id,
260
+
261
+          };
262
+          axios.get('http://127.0.0.1:9532/zh/api/outhopitaluncheck/get', {
263
+            params: params
264
+          })
265
+            .then(function(response) {
266
+              if (response.data.state == 0) {
267
+                that.$message.error(response.data.msg);
268
+                return false
269
+              } else {
270
+                if (response.data.data.failed_code == -10) {
271
+                  // that.$message.error(response.data.data.msg)
272
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
273
+                    confirmButtonText: '确 定',
274
+                    type: 'warning'
275
+                  }).then(() => {
276
+
277
+                  }).catch(() => {
278
+                  })
279
+                } else {
280
+                  that.$message({ message: '撤销出院成功', type: 'success', duration: 5000 })
281
+                }
282
+
283
+              }
284
+            })
285
+            .catch(function(error) {
286
+
287
+            })
288
+
289
+        }).catch(() => {
290
+
291
+        })
292
+
293
+
294
+
295
+      },refundThee(row){
296
+
297
+        var that = this;
298
+        this.$confirm('是否撤销入院', '撤销入院', {
299
+          confirmButtonText: '确 定',
300
+          cancelButtonText: '取 消',
301
+          type: 'warning'
302
+        }).then(() => {
303
+          let params = {
304
+            'id': row.his_hospital_patient.id,
305
+            'admin_user_id': this.$store.getters.xt_user.user.id,
306
+
307
+          };
308
+          axios.get('http://127.0.0.1:9532/zh/api/inthopitaluncheck/get', {
309
+            params: params
310
+          })
311
+            .then(function(response) {
312
+              if (response.data.state == 0) {
313
+                that.$message.error(response.data.msg);
314
+                return false
315
+              } else {
316
+                if (response.data.data.failed_code == -10) {
317
+                  // that.$message.error(response.data.data.msg)
318
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
319
+                    confirmButtonText: '确 定',
320
+                    type: 'warning'
321
+                  }).then(() => {
322
+
323
+                  }).catch(() => {
324
+                  })
325
+                } else {
326
+                  that.changeRadioAndPatient(1);
327
+
328
+                  that.$message({ message: '撤销入院成功', type: 'success', duration: 5000 })
329
+                }
330
+
331
+              }
332
+            })
333
+            .catch(function(error) {
334
+
335
+            })
336
+
337
+        }).catch(() => {
338
+
339
+        })
340
+
341
+
342
+      },refundTwo(row){
343
+        var that = this;
344
+        this.$confirm('是否撤销明细', '撤销明细', {
345
+          confirmButtonText: '确 定',
346
+          cancelButtonText: '取 消',
347
+          type: 'warning'
348
+        }).then(() => {
349
+          let params = {
350
+            'order_id': row.id,
351
+            'admin_user_id': this.$store.getters.xt_user.user.id,
352
+          };
353
+          axios.get('http://127.0.0.1:9532/zh/api/refunddetail', {
354
+            params: params
355
+          })
356
+            .then(function(response) {
357
+              if (response.data.state == 0) {
358
+                that.$message.error(response.data.msg);
359
+                that.loadingtwo = false;
360
+                return false
361
+              } else {
362
+                if (response.data.data.failed_code == -10) {
363
+                  // that.$message.error(response.data.data.msg)
364
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
365
+                    confirmButtonText: '确 定',
366
+                    type: 'warning'
367
+                  }).then(() => {
368
+
369
+                  }).catch(() => {
370
+                  })
371
+                } else {
372
+                  that.$message.success("撤销明细成功");
373
+
374
+                  that.changeRadioAndPatient(1);
375
+                }
376
+
377
+              }
378
+            })
379
+            .catch(function(error) {
380
+            })
381
+
382
+        }).catch(() => {
383
+        })
384
+
385
+
386
+      },
239 387
       uploadInfo(row) {
240 388
         var that = this;
241 389
         axios.get('http://127.0.0.1:9532/api/settlelist/get', {

+ 80 - 82
src/xt_pages/outpatientCharges/components/registerDialog.vue Целия файл

@@ -79,7 +79,7 @@
79 79
 
80 80
       <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
81 81
         <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
82
-                   >
82
+        >
83 83
           <el-option
84 84
             v-for="(item,index) in registers"
85 85
             :key="index"
@@ -155,7 +155,7 @@
155 155
         </div>
156 156
       </el-form-item>
157 157
 
158
-      <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
158
+      <el-form-item label="挂号类型:"  >
159 159
         <el-select v-model="form.register" placeholder="请选择" style="width:100%;">
160 160
           <el-option
161 161
             v-for="item in register"
@@ -166,7 +166,7 @@
166 166
         </el-select>
167 167
       </el-form-item>
168 168
       <el-form-item label="挂号费:">
169
-        <el-input  v-model="form.registration_fee"></el-input>
169
+        <el-input v-model="form.registration_fee"></el-input>
170 170
       </el-form-item>
171 171
       <el-form-item label="诊疗费:">
172 172
         <el-input v-model="form.medical_expenses"></el-input>
@@ -182,7 +182,7 @@
182 182
 </template>
183 183
 
184 184
 <script>
185
-  import {uParseTime,jsGetAge} from "@/utils/tools";
185
+  import {jsGetAge, uParseTime} from "@/utils/tools";
186 186
   import axios from 'axios'
187 187
   import {PostSearch} from '@/api/patient'
188 188
 
@@ -204,7 +204,7 @@
204 204
           {value: 16, label: "门诊慢性病"},
205 205
           {value: 21, label: "普通住院"},
206 206
         ],
207
-        medical_care:[
207
+        medical_care: [
208 208
           {value: 11, label: "普通门诊"},
209 209
           {value: 12, label: '家庭通道'},
210 210
           {value: 13, label: "门诊大病"},
@@ -218,8 +218,6 @@
218 218
         ],
219 219
 
220 220
 
221
-
222
-
223 221
         form: {
224 222
           id: '',
225 223
           settlement_value: '',
@@ -227,9 +225,9 @@
227 225
           name: '',
228 226
           gender: '',
229 227
           certificates: 1,
230
-          p_type:'',
231
-          sick_type:'',
232
-          diagnosis:'',
228
+          p_type: '',
229
+          sick_type: '',
230
+          diagnosis: '',
233 231
           medical_care: '',
234 232
           birthday: '',
235 233
           age: '',
@@ -238,8 +236,8 @@
238 236
           doctor: '',
239 237
           id_card_type: 1,
240 238
           department: '',
241
-          registration_fee: '',
242
-          medical_expenses: '',
239
+          registration_fee: 0,
240
+          medical_expenses: 0,
243 241
           cost: '',
244 242
           phone: '',
245 243
           social_type: '',
@@ -307,9 +305,9 @@
307 305
           value: 6,
308 306
           label: "城乡居民大病医疗保险"
309 307
         }, {
310
-            value: 7,
311
-            label: "生育保险"
312
-          }],
308
+          value: 7,
309
+          label: "生育保险"
310
+        }],
313 311
         register: [{
314 312
           value: 1,
315 313
           label: '普通'
@@ -391,13 +389,13 @@
391 389
     },
392 390
     methods: {
393 391
       handleSelect(val) {
394
-        this.form.id = val.id
395
-        this.form.name = val.name
396
-        this.form.gender = val.gender
397
-        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}')
398
-        this.form.phone = val.phone
399
-        this.form.id_card = val.id_card_no
400
-        var thisLen =  this.form.id_card.length;
392
+        this.form.id = val.id;
393
+        this.form.name = val.name;
394
+        this.form.gender = val.gender;
395
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
396
+        this.form.phone = val.phone;
397
+        this.form.id_card = val.id_card_no;
398
+        var thisLen = this.form.id_card.length;
401 399
         var birth = "";
402 400
         if (thisLen == 15) {
403 401
           birth = "19" + this.form.id_card.substr(6, 6);
@@ -405,22 +403,22 @@
405 403
           birth = this.form.id_card.substr(6, 8);
406 404
         }
407 405
         var births =
408
-                birth.substr(0, 4) +
409
-                "-" +
410
-                birth.substr(4, 2) +
411
-                "-" +
412
-                birth.substr(6, 2);
406
+          birth.substr(0, 4) +
407
+          "-" +
408
+          birth.substr(4, 2) +
409
+          "-" +
410
+          birth.substr(6, 2);
413 411
         this.form.age = jsGetAge(births, "-");
414 412
       },
415 413
       querySearchAsync(keyword, cb) {
416
-        let key = ''
414
+        let key = '';
417 415
         if (keyword != undefined) {
418 416
           key = keyword
419 417
         }
420
-        let searchArray = []
418
+        let searchArray = [];
421 419
         PostSearch(key).then(response => {
422 420
           if (response.data.state == 1) {
423
-            searchArray = response.data.data.patient
421
+            searchArray = response.data.data.patient;
424 422
             cb(searchArray)
425 423
           } else {
426 424
             cb([])
@@ -428,43 +426,43 @@
428 426
         })
429 427
       },
430 428
       reading(medicalInsuranceCard) {
431
-        var that = this
429
+        var that = this;
432 430
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
433
-          this.$message.error("请先选择读卡类型")
431
+          this.$message.error("请先选择读卡类型");
434 432
           return
435 433
         }
436 434
         let params = {
437 435
           'id_card_type': this.form.id_card_type,
438
-          'admin_user_id':this.$store.getters.xt_user.user.id,
436
+          'admin_user_id': this.$store.getters.xt_user.user.id,
439 437
 
440
-        }
438
+        };
441 439
         axios.get('http://127.0.0.1:9532/api/sscard', {
442 440
           params: params
443 441
         })
444 442
           .then(function (response) {
445 443
             if (response.data.state == 0) {
446
-              that.$message.error(response.data.msg)
444
+              that.$message.error(response.data.msg);
447 445
               return false
448 446
             } else {
449
-              var patient = response.data.data.patient
447
+              var patient = response.data.data.patient;
450 448
 
451 449
               if (that.form.id_card_type == 1) {
452
-                this.form.id = patient.id
453
-                that.form.name = patient.name
454
-                that.form.sex = patient.gender
455
-                that.form.age = patient.age
456
-                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
457
-                that.form.phone = patient.phone
458
-                that.form.idCard = patient.id_card_no
450
+                this.form.id = patient.id;
451
+                that.form.name = patient.name;
452
+                that.form.sex = patient.gender;
453
+                that.form.age = patient.age;
454
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
455
+                that.form.phone = patient.phone;
456
+                that.form.idCard = patient.id_card_no;
459 457
                 that.form.medicalInsuranceCard = response.data.data.number
460 458
 
461 459
               } else if (that.form.id_card_type == 2) {
462
-                this.form.id = patient.id
463
-                that.form.name = patient.name
464
-                that.form.sex = patient.gender
465
-                that.form.age = patient.age
466
-                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
467
-                that.form.phone = patient.phone
460
+                this.form.id = patient.id;
461
+                that.form.name = patient.name;
462
+                that.form.sex = patient.gender;
463
+                that.form.age = patient.age;
464
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
465
+                that.form.phone = patient.phone;
468 466
                 that.form.idCard = patient.id_card_no
469 467
               }
470 468
               that.$message({message: '读卡成功', type: 'success'})
@@ -479,33 +477,33 @@
479 477
       getDictionaryDataConfig(module, filed_name) {
480 478
         return getDictionaryDataConfig(module, filed_name)
481 479
       },
482
-    show: function() {
483
-        this.visibility = true
480
+      show: function () {
481
+        this.visibility = true;
484 482
         // this.form = Object.assign({}, this.resetForm)
485
-        this.form.id = 0
486
-        this.form.settlement_value = ''
487
-        this.form.medical_insurance_card = ''
488
-        this.form.name = ''
489
-        this.form.gender = ''
490
-        this.form.medical_care = ''
491
-        this.form.birthda = ''
492
-        this.form.age = ''
493
-        this.form.id_card = ''
494
-        this.form.register = ''
495
-        this.form.doctor = ''
496
-        this.form.department = ''
497
-        this.form.registration_fee = ''
498
-        this.form.medical_expenses = ''
499
-        this.form.cost = ''
500
-        this.form.phone = ''
501
-        this.form.social_type = ''
502
-
503
-        this.form.p_type = 14
504
-        this.form.sick_type = this.sick[0].id
505
-        this.form.diagnosis = this.diagnoses[0].id
506
-        this.form.id_card_type = 2
507
-        this.form.certificates = 1
508
-
483
+        this.form.id = 0;
484
+        this.form.settlement_value = '';
485
+        this.form.medical_insurance_card = '';
486
+        this.form.name = '';
487
+        this.form.gender = '';
488
+        this.form.medical_care = '';
489
+        this.form.birthda = '';
490
+        this.form.age = '';
491
+        this.form.id_card = '';
492
+        this.form.register = '';
493
+        this.form.doctor = '';
494
+        this.form.department = '';
495
+        this.form.registration_fee = 0;
496
+        this.form.medical_expenses = 0;
497
+        this.form.cost = '';
498
+        this.form.phone = '';
499
+        this.form.social_type = '';
500
+
501
+        this.form.p_type = 14;
502
+        this.form.sick_type = this.sick[0].id;
503
+        this.form.diagnosis = this.diagnoses[0].id;
504
+        this.form.id_card_type = 2;
505
+        this.form.certificates = 1;
506
+        this.form.settlement_value = 1
509 507
         // this.form.name = patientInfo.name
510 508
         // this.form.gender = patientInfo.gender
511 509
         // this.form.age = patientInfo.age
@@ -519,26 +517,26 @@
519 517
         // }
520 518
 
521 519
       },
522
-      
520
+
523 521
       hide: function () {
524
-        this.visibility = false
522
+        this.visibility = false;
525 523
         this.$refs['formValue'].resetFields()
526 524
       }, cancel: function (formName) {
527
-        this.$emit('cancel', this.getValue())
525
+        this.$emit('cancel', this.getValue());
528 526
         this.$refs['formValue'].resetFields()
529 527
       },
530 528
       confirm: function (formName) {
531 529
         this.$refs['formValue'].validate((valid) => {
532 530
           if (valid) {
533
-            let value = {}
534
-            value = this.getValue()
531
+            let value = {};
532
+            value = this.getValue();
535 533
             this.$emit('confirm', value)
536 534
           }
537 535
         })
538 536
       },
539 537
       getValue: function () {
540
-        let form = {}
541
-        form = this.form
538
+        let form = {};
539
+        form = this.form;
542 540
         return form
543 541
       }
544 542
     }

+ 41 - 12
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Целия файл

@@ -204,7 +204,7 @@
204 204
                                     <ul class="basicUl">
205 205
                                         <li style="width:50%;">姓名:{{patientInfo.name}}</li>
206 206
                                         <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
207
-                                        <li style="width:50%;">年龄:{{patientInfo.age }}</li>
207
+                                        <li style="width:50%;">年龄:{{getAge(patientInfo.id_card_no)}}</li>
208 208
                                         <li style="width:50%;">电话:{{patientInfo.phone}}</li>
209 209
 
210 210
                                         <!--<span>过敏病史:</span>-->
@@ -372,7 +372,7 @@
372 372
 
373 373
 <script>
374 374
   import axios from 'axios'
375
-
375
+  import { jsGetAge, uParseTime } from '@/utils/tools'
376 376
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
377 377
   import noCharge from './components/noCharge'
378 378
   import charged from './components/charged'
@@ -524,6 +524,32 @@
524 524
       this.getPatientList()
525 525
     },
526 526
     methods: {
527
+      getAge(id_card_no){
528
+        if (id_card_no){
529
+
530
+          var thisLen = id_card_no.length;
531
+          var birth = '';
532
+          if (thisLen == 15) {
533
+            birth = '19' + id_card_no.substr(6, 6)
534
+          } else {
535
+            birth = id_card_no.substr(6, 8)
536
+          }
537
+          var births =
538
+            birth.substr(0, 4) +
539
+            '-' +
540
+            birth.substr(4, 2) +
541
+            '-' +
542
+            birth.substr(6, 2);
543
+          return jsGetAge(births, '-')
544
+
545
+        }else{
546
+
547
+          return 0
548
+
549
+        }
550
+
551
+
552
+      },
527 553
       query() {
528 554
         if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {
529 555
           var that = this;
@@ -794,7 +820,7 @@
794 820
                       for (let i = 0; i < that.patientTableData.length; i++) {
795 821
                         if (this.patientTableData[i].id == this.patientInfo.id) {
796 822
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
797
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
823
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
798 824
                         }
799 825
                       }
800 826
                       that.loadingone = false;
@@ -886,7 +912,7 @@
886 912
                       for (let i = 0; i < that.patientTableData.length; i++) {
887 913
                         if (this.patientTableData[i].id == this.patientInfo.id) {
888 914
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
889
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
915
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
890 916
                         }
891 917
                       }
892 918
                       that.$message({ message: '挂号成功', type: 'success' });
@@ -966,7 +992,7 @@
966 992
                       for (let i = 0; i < that.patientTableData.length; i++) {
967 993
                         if (this.patientTableData[i].id == this.patientInfo.id) {
968 994
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
969
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
995
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
970 996
                         }
971 997
                       }
972 998
                       var his_info = response.data.data.his_info;
@@ -1016,6 +1042,7 @@
1016 1042
           'patient_id': this.patientInfo.id,
1017 1043
           'type': this.radio,
1018 1044
           'p_type':2,
1045
+          'his_patient_id':this.hisPatientInfo.id
1019 1046
         };
1020 1047
         getChargeHisPatientInfo(params).then(response => {
1021 1048
           if (response.data.state == 0) {
@@ -1196,7 +1223,7 @@
1196 1223
               for (let i = 0; i < this.patientTableData.length; i++) {
1197 1224
                 if (this.patientTableData[i].id == this.patientInfo.id) {
1198 1225
                   this.$refs.tab.setCurrentRow(this.patientTableData[i]);
1199
-                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
1226
+                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[i].his_patient.id)
1200 1227
                 }
1201 1228
               }
1202 1229
             }
@@ -1281,7 +1308,7 @@
1281 1308
               for (let i = 0; i < this.patientTableData.length; i++) {
1282 1309
                 if (this.patientTableData[i].id == this.patientInfo.id) {
1283 1310
                   this.$refs.tab.setCurrentRow(this.patientTableData[i]);
1284
-                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
1311
+                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[i].his_patient.id)
1285 1312
                 }
1286 1313
               }
1287 1314
             }
@@ -2142,7 +2169,7 @@
2142 2169
             for (let i = 0; i < this.patientTableData.length; i++){
2143 2170
               if(this.patientInfo.id == this.patientTableData[i].id)
2144 2171
               this.$refs.tab.setCurrentRow(this.patientTableData[i]);
2145
-              this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
2172
+              this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[0].his_patient.id)
2146 2173
             }
2147 2174
 
2148 2175
           }
@@ -2295,7 +2322,7 @@
2295 2322
 
2296 2323
             for (let i = 0; i < this.patientTableData.length; i++){
2297 2324
                 this.$refs.tab.setCurrentRow(this.patientTableData[0]);
2298
-                this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number)
2325
+                this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number,this.patientTableData[0].his_patient.id)
2299 2326
             }
2300 2327
 
2301 2328
           }
@@ -2389,7 +2416,7 @@
2389 2416
             this.cal_three = three_count;
2390 2417
             this.current_index = 0;
2391 2418
             this.$refs.tab.setCurrentRow(this.patientTableData[0]);
2392
-            this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number)
2419
+            this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number,this.patientTableData[0].his_patient.id)
2393 2420
 
2394 2421
           }
2395 2422
         })
@@ -2574,7 +2601,7 @@
2574 2601
         this.prescriptions = [];
2575 2602
         this.month_prescriptions = [];
2576 2603
 
2577
-        this.getPatientInformation(val.id, val.order.number);
2604
+        this.getPatientInformation(val.id, val.order.number,val.his_patient.id);
2578 2605
         this.patient_id = val.id;
2579 2606
 
2580 2607
         for (let i = 0; i < this.patientTableData.length; i++) {
@@ -2587,7 +2614,7 @@
2587 2614
       },
2588 2615
 
2589 2616
       //获取患者的基本信息
2590
-      getPatientInformation(id, batch_number) {
2617
+      getPatientInformation(id, batch_number,his_patient_id) {
2591 2618
 
2592 2619
         let params = {
2593 2620
           'record_date': this.record_date,
@@ -2597,6 +2624,8 @@
2597 2624
           'end_time': this.other_end_time,
2598 2625
           'type': this.radio,
2599 2626
           'p_type':2,
2627
+          'his_patient_id':his_patient_id
2628
+
2600 2629
 
2601 2630
 
2602 2631
         };

+ 2 - 1
src/xt_pages/outpatientCharges/statementPrint.vue Целия файл

@@ -175,7 +175,8 @@ export default {
175 175
               console.log(response.data.data.info);
176 176
               that.info = response.data.data.info;
177 177
               console.log(that.info);
178
-
178
+              that.p_admin = response.data.data.printor_admin;
179
+              that.charge_admin = response.data.data.charge_admin;
179 180
 
180 181
               that.info['p_admin'] =  that.p_admin;
181 182
               that.info['charge_admin'] =  that.charge_admin;

+ 239 - 202
src/xt_pages/outpatientCharges/summary.vue Целия файл

@@ -1,191 +1,195 @@
1 1
 <template>
2
-    <div class="main-contain outpatientChargesManagement">
3
-        <div class="position">
4
-            <bread-crumb :crumbs='crumbs'></bread-crumb>
2
+  <div class="main-contain outpatientChargesManagement">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+        <div>
9
+          <el-input size="small" style="width:150px;" v-model="keywords"
10
+                    class="filter-item"/>
11
+          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
+                     @click="searchAction">
13
+            搜索
14
+          </el-button>
15
+          <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
+                     style="width:150px;margin-left:10px;" @change="changeDoctor">
17
+            <el-option
18
+              label="全部"
19
+              value="0">
20
+            </el-option>
21
+            <el-option
22
+              v-for="item,index in doctors"
23
+              :key="index"
24
+              :label="item.user_name"
25
+              :value="item.admin_user_id">
26
+            </el-option>
27
+          </el-select>
28
+          <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
+                          @change="handleStartTimeChange" :editable="false" :clearable="false"
30
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
+                          format="yyyy-MM-dd"
32
+                          value-format="yyyy-MM-dd"
33
+                          align="right"></el-date-picker>
34
+
35
+          <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
+                          @change="handleEndTimeChange" :editable="false" :clearable="false"
37
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
+                          format="yyyy-MM-dd"
39
+                          value-format="yyyy-MM-dd"
40
+                          align="right"></el-date-picker>
41
+          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
+          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
5 43
         </div>
6
-        <div class="app-container">
7
-            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
-                <div>
9
-                    <el-input size="small" style="width:150px;" v-model="keywords"
10
-                              class="filter-item"/>
11
-                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
-                               @click="searchAction">
13
-                        搜索
14
-                    </el-button>
15
-                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
-                               style="width:150px;margin-left:10px;" @change="changeDoctor">
17
-                        <el-option
18
-                                label="全部"
19
-                                value="0">
20
-                        </el-option>
21
-                        <el-option
22
-                                v-for="item,index in doctors"
23
-                                :key="index"
24
-                                :label="item.user_name"
25
-                                :value="item.admin_user_id">
26
-                        </el-option>
27
-                    </el-select>
28
-                    <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
-                                    @change="handleStartTimeChange" :editable="false" :clearable="false"
30
-                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
-                                    format="yyyy-MM-dd"
32
-                                    value-format="yyyy-MM-dd"
33
-                                    align="right"></el-date-picker>
34
-
35
-                    <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
-                                    @change="handleEndTimeChange" :editable="false" :clearable="false"
37
-                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
-                                    format="yyyy-MM-dd"
39
-                                    value-format="yyyy-MM-dd"
40
-                                    align="right"></el-date-picker>
41
-                    <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
-                    <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
43
-                </div>
44
-                <div>
45
-                    <!-- <el-popover
46
-                      placement="bottom"
47
-                      width="210"
48
-                      trigger="click">
49
-                      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
-                      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
-                      <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
-
53
-                    </el-popover> -->
54
-                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
55
-                </div>
56
-            </div>
57
-            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
-                      highlight-current-row>
60
-                <el-table-column
61
-                        prop="date"
62
-                        label="序号"
63
-                        width="60"
64
-                        align="center"
65
-                        type="index"
66
-                >
67
-                </el-table-column>
68
-                <el-table-column align="center" prop="name" label="就诊号">
69
-                    <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
70
-                </el-table-column>
71
-                <el-table-column align="center" prop="name" label="患者名字">
72
-                    <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
-                </el-table-column>
74
-                <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
-                <!--<template slot-scope="scope"></template>-->
76
-                <!--</el-table-column>-->
77
-                <el-table-column align="center" prop="name" label="应收金额">
78
-                    <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
79
-                </el-table-column>
80
-                <el-table-column align="center" prop="name" label="实收金额">
81
-                    <template slot-scope="scope">{{scope.row.reality_price}}</template>
82
-                </el-table-column>
83
-                <el-table-column align="center" prop="name" label="科室">
84
-                    <template slot-scope="scope">{{scope.row.department_name}}</template>
85
-                </el-table-column>
86
-                <el-table-column align="center" prop="name" label="收费日期">
87
-                    <template slot-scope="scope"> {{scope.row.setl_time}}</template>
88
-                </el-table-column>
89
-                <el-table-column align="center" prop="name" label="收费员">
90
-                    <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
91
-                </el-table-column>
92
-                <el-table-column align="center" prop="name" label="状态">
93
-                    <template slot-scope="scope">
94
-                        <div v-if="scope.row.order_status == 1">待结算</div>
95
-                        <div v-if="scope.row.order_status == 2">已结算</div>
96
-                        <div v-if="scope.row.order_status == 3">已退费</div>
97
-                    </template>
98
-                </el-table-column>
99
-                <el-table-column align="center" prop="name" label="操作">
100
-                    <template slot-scope="scope">
101
-                        <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
102
-                        <el-button size="mini" type="primary" @click="toPrint(scope.row)"
103
-                                   v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
104
-                            结算单
105
-                        </el-button>
106
-                        <el-button size="mini" type="primary" v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106" @click="settlementPrint(scope.row)">结算单</el-button>
107
-                        <el-button size="mini" type="primary" @click="toRefund(scope.row)" v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106)">
108
-                            退费
109
-                        </el-button>
110
-                        <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
111
-                    </template>
112
-                </el-table-column>
113
-            </el-table>
114
-            <el-pagination
115
-                    @size-change="handleSizeChange"
116
-                    @current-change="handleCurrentChange"
117
-                    :page-sizes="[10, 50, 100]"
118
-                    :page-size="10"
119
-                    background
120
-                    style="margin-top:20px;float: right"
121
-                    layout="total, sizes, prev, pager, next, jumper"
122
-                    :total="total"
123
-
124
-            >
125
-            </el-pagination>
44
+        <div>
45
+          <!-- <el-popover
46
+            placement="bottom"
47
+            width="210"
48
+            trigger="click">
49
+            <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
+            <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
+            <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
+
53
+          </el-popover> -->
54
+          <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
126 55
         </div>
127
-
128
-        <el-dialog
129
-                class="centerDialog"
130
-                width="1200px"
131
-                title="打印"
132
-                :visible.sync="statementVisible">
133
-            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
134
-            <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
135
-        </el-dialog>
136
-        <el-dialog
137
-                class="centerDialog"
138
-                width="900px"
139
-                title="打印"
140
-                :visible.sync="listVisible">
141
-            <listPrint></listPrint>
142
-        </el-dialog>
143
-        <el-dialog
144
-                class="centerDialog"
145
-                width="900px"
146
-                title="打印"
147
-                :visible.sync="allListVisible">
148
-            <allListPrint :paramsObj='paramsObj'></allListPrint>
149
-        </el-dialog>
150
-
151
-        <el-dialog
152
-                class="centerDialog"
153
-                width="1200px"
154
-                title="打印"
155
-                :visible.sync="statementVisible9504">
156
-            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
157
-            <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
158
-            <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
159
-        </el-dialog>
160
-
161
-        <el-dialog
162
-                class="centerDialog"
163
-                width="1200px"
164
-                title="打印"
165
-                :visible.sync="invoiceVisible">
166
-            <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
167
-        </el-dialog>
168
-        <el-dialog
169
-                class="centerDialog"
170
-                width="1200px"
171
-                title="打印"
172
-                :visible.sync="settlementVisible">
173
-            <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
174
-        </el-dialog>
175
-
56
+      </div>
57
+      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
+                highlight-current-row>
60
+        <el-table-column
61
+          prop="date"
62
+          label="序号"
63
+          width="60"
64
+          align="center"
65
+          type="index"
66
+        >
67
+        </el-table-column>
68
+        <el-table-column align="center" prop="name" label="就诊号">
69
+          <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
70
+        </el-table-column>
71
+        <el-table-column align="center" prop="name" label="患者名字">
72
+          <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
+        </el-table-column>
74
+        <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
+        <!--<template slot-scope="scope"></template>-->
76
+        <!--</el-table-column>-->
77
+
78
+        <el-table-column align="center" prop="name" label="应收金额">
79
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
80
+        </el-table-column>
81
+        <el-table-column align="center" prop="name" label="实收金额">
82
+          <template slot-scope="scope">{{scope.row.reality_price}}</template>
83
+        </el-table-column>
84
+        <el-table-column align="center" prop="name" label="科室">
85
+          <template slot-scope="scope">{{scope.row.department_name}}</template>
86
+        </el-table-column>
87
+        <el-table-column align="center" prop="name" label="收费日期">
88
+          <template slot-scope="scope"> {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}</template>
89
+        </el-table-column>
90
+        <el-table-column align="center" prop="name" label="收费员">
91
+          <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
92
+        </el-table-column>
93
+        <el-table-column align="center" prop="name" label="状态">
94
+          <template slot-scope="scope">
95
+            <div v-if="scope.row.order_status == 1">待结算</div>
96
+            <div v-if="scope.row.order_status == 2">已结算</div>
97
+            <div v-if="scope.row.order_status == 3">已退费</div>
98
+          </template>
99
+        </el-table-column>
100
+        <el-table-column align="center" prop="name" label="操作">
101
+          <template slot-scope="scope">
102
+            <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
103
+            <el-button size="mini" type="primary" @click="toPrint(scope.row)"
104
+                       v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
105
+              结算单
106
+            </el-button>
107
+            <el-button size="mini" type="primary"
108
+                       v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106"
109
+                       @click="settlementPrint(scope.row)">结算单
110
+            </el-button>
111
+            <el-button size="mini" type="primary" @click="toRefund(scope.row)">
112
+              退费
113
+            </el-button>
114
+            <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
115
+          </template>
116
+        </el-table-column>
117
+      </el-table>
118
+      <el-pagination
119
+        @size-change="handleSizeChange"
120
+        @current-change="handleCurrentChange"
121
+        :page-sizes="[10, 50, 100]"
122
+        :page-size="10"
123
+        background
124
+        style="margin-top:20px;float: right"
125
+        layout="total, sizes, prev, pager, next, jumper"
126
+        :total="total"
127
+
128
+      >
129
+      </el-pagination>
176 130
     </div>
131
+
132
+    <el-dialog
133
+      class="centerDialog"
134
+      width="1200px"
135
+      title="打印"
136
+      :visible.sync="statementVisible">
137
+      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
138
+      <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
139
+    </el-dialog>
140
+    <el-dialog
141
+      class="centerDialog"
142
+      width="900px"
143
+      title="打印"
144
+      :visible.sync="listVisible">
145
+      <listPrint></listPrint>
146
+    </el-dialog>
147
+    <el-dialog
148
+      class="centerDialog"
149
+      width="900px"
150
+      title="打印"
151
+      :visible.sync="allListVisible">
152
+      <allListPrint :paramsObj='paramsObj'></allListPrint>
153
+    </el-dialog>
154
+
155
+    <el-dialog
156
+      class="centerDialog"
157
+      width="1200px"
158
+      title="打印"
159
+      :visible.sync="statementVisible9504">
160
+      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
161
+      <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
162
+      <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
163
+    </el-dialog>
164
+
165
+    <el-dialog
166
+      class="centerDialog"
167
+      width="1200px"
168
+      title="打印"
169
+      :visible.sync="invoiceVisible">
170
+      <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
171
+    </el-dialog>
172
+    <el-dialog
173
+      class="centerDialog"
174
+      width="1200px"
175
+      title="打印"
176
+      :visible.sync="settlementVisible">
177
+      <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
178
+    </el-dialog>
179
+
180
+  </div>
177 181
 </template>
178 182
 
179 183
 
180 184
 <script>
181 185
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
182
-  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
183
-  import { uParseTime } from '@/utils/tools'
186
+  import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
187
+  import {uParseTime} from '@/utils/tools'
184 188
   import NewStatementPrint from './newStatementPrint'
185 189
   import listPrint from './listPrint'
186 190
   import allListPrint from './allListPrint'
187 191
   import NewStatementPrintTwo from './newStatementPrintTwo'
188
-  import { fetchAllAdminUsers } from '@/api/doctor'
192
+  import {fetchAllAdminUsers} from '@/api/doctor'
189 193
   import axios from 'axios'
190 194
   import invoicePrint from './invoicePrint'
191 195
   import settlementPrint from './settlementPrint'
@@ -207,8 +211,8 @@
207 211
         statementVisible9504: false,
208 212
         orderObj9504: {},
209 213
         crumbs: [
210
-          { path: false, name: '门诊收费' },
211
-          { path: false, name: '项目消费明细汇总' }
214
+          {path: false, name: '门诊收费'},
215
+          {path: false, name: '项目消费明细汇总'}
212 216
         ],
213 217
         tableData: [],
214 218
         limit: 10,
@@ -221,12 +225,12 @@
221 225
         admin_user_id: '',
222 226
         listVisible: false,
223 227
         allListVisible: false,
224
-        adminUserOptions:[],
225
-        invoiceVisible:false,
226
-        paramsObj:{},
227
-        invoiceParams:{},
228
-        settlementVisible:false,
229
-        settlementObj:{}
228
+        adminUserOptions: [],
229
+        invoiceVisible: false,
230
+        paramsObj: {},
231
+        invoiceParams: {},
232
+        settlementVisible: false,
233
+        settlementObj: {}
230 234
 
231 235
       }
232 236
     },
@@ -246,8 +250,8 @@
246 250
           }
247 251
         }
248 252
 
249
-      },toRefund(row){
250
-        if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106) {
253
+      }, toRefund(row) {
254
+        if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990) {
251 255
           var that = this;
252 256
           this.$confirm('是否退费', '退费', {
253 257
             confirmButtonText: '确 定',
@@ -263,7 +267,7 @@
263 267
             axios.get('http://127.0.0.1:9532/api/refund/post', {
264 268
               params: params
265 269
             })
266
-              .then(function(response) {
270
+              .then(function (response) {
267 271
                 if (response.data.state == 0) {
268 272
                   that.$message.error(response.data.msg);
269 273
                   return false
@@ -278,13 +282,13 @@
278 282
                     }).catch(() => {
279 283
                     })
280 284
                   } else {
281
-                    that.$message({ message: '退费成功', type: 'success', duration: 5000 });
285
+                    that.$message({message: '退费成功', type: 'success', duration: 5000});
282 286
                     that.getHisOrderList()
283 287
 
284 288
                   }
285 289
                 }
286 290
               })
287
-              .catch(function(error) {
291
+              .catch(function (error) {
288 292
               })
289 293
           }).catch(() => {
290 294
           })
@@ -306,7 +310,7 @@
306 310
                 this.$message.error(response.data.msg);
307 311
                 return false
308 312
               } else {
309
-                this.$message({ message: '退费成功', type: 'success' });
313
+                this.$message({message: '退费成功', type: 'success'});
310 314
                 this.getHisOrderList()
311 315
               }
312 316
             })
@@ -333,7 +337,7 @@
333 337
         }
334 338
 
335 339
       },
336
-      settlementPrint(row){
340
+      settlementPrint(row) {
337 341
         this.settlementVisible = true;
338 342
         let obj = {
339 343
           order_id: row.id
@@ -360,14 +364,18 @@
360 364
               let department = '';
361 365
               let doctor_name = '';
362 366
               let balance_accounts = '';
363
-
364 367
               let order_status = '';
368
+              let charge_name = '';
365 369
 
370
+              let insutypeName = "";
371
+
372
+              let time = "";
366 373
               if (order.his_patient != null && order.his_patient.number.length > 0) {
367 374
                 number = order.his_patient.number
368 375
 
369 376
               }
370 377
 
378
+
371 379
               if (order.his_patient != null) {
372 380
                 if (order.his_patient.balance_accounts_type == 1) {
373 381
                   balance_accounts = '自费'
@@ -392,6 +400,19 @@
392 400
                 doctor_name = order.p_info.doctor
393 401
               }
394 402
 
403
+              if (order.creator != null) {
404
+                charge_name = this.getName(order.creator)
405
+              }
406
+              if (order.insutype == '390') {
407
+
408
+                insutypeName = "城乡居民基本医疗保险"
409
+              } else if (order.insutype == '310') {
410
+                insutypeName = "职工基本医疗保险"
411
+
412
+
413
+              }
414
+
415
+
395 416
               if (order.order_status == 1) {
396 417
                 order_status = '待结算'
397 418
               }
@@ -404,30 +425,47 @@
404 425
                 order_status = '已退费'
405 426
               }
406 427
 
428
+              if (order.settle_type == 2) {
429
+                time = this.getTimes(order.settle_start_time)
430
+              } else {
431
+                time = this.getTimes(order.settle_accounts_date)
432
+              }
433
+
434
+
407 435
               let obj = {
408
-                '就诊号': number,
436
+                '就诊号': order.mdtrt_id,
409 437
                 '患者姓名': name,
438
+                '开处时间': time,
439
+                '险种类型': insutypeName,
410 440
                 '应收金额': order.medfee_sumamt,
411 441
                 '实收金额': order.medfee_sumamt,
442
+                '医保统筹金额': order.fund_pay_sumamt,
443
+                '大额基金金额': order.hifob_pay,
444
+                '大病基金金额': order.hifmi_pay,
445
+                '补充保险基金金额': order.hifes_pay,
446
+                '医疗救助基金金额': order.maf_pay,
447
+                '公务员基金': order.cvlserv_pay,
448
+                '个人支付基金': order.psn_cash_pay,
449
+                '个人账户支付金额': order.acct_pay,
412 450
                 '科室': department,
413 451
                 '医生姓名': doctor_name,
414 452
                 '收费类别': balance_accounts,
415
-                '收费者姓名': doctor_name,
453
+                '收费者姓名': charge_name,
416 454
                 '总金额': order.medfee_sumamt,
417 455
                 '现金支付': '',
418 456
                 '账户支付': '',
419 457
                 '支付宝支付': '',
420 458
                 '微信支付': '',
421 459
                 '其他支付': '',
422
-                '收费日期': '',
460
+                '收费时间': order.setl_time,
423 461
                 '收费状态': order_status,
424 462
                 '退费日期': ''
425 463
               };
426 464
               list.push(obj)
427 465
             }
428 466
             import('@/vendor/Export2Excel').then(excel => {
429
-              const tHeader = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费日期', '收费状态', '退费日期'];
430
-              const filterVal = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费日期', '收费状态', '退费日期'];
467
+              const tHeader = ['就诊号', '患者姓名', '开处时间','险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
468
+              const filterVal = ['就诊号', '患者姓名','开处时间','险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
431 469
               const data = this.formatJson(filterVal, list);
432 470
               excel.export_json_to_excel({
433 471
                 header: tHeader,
@@ -517,15 +555,15 @@
517 555
           this.allListVisible = true
518 556
         }
519 557
       },
520
-      invoicePrint(obj){
558
+      invoicePrint(obj) {
521 559
         console.log(obj);
522 560
         let paramsObj = {
523 561
           order_id: obj.id,
524 562
           patient_id: obj.patient_id,
525
-          name:obj.patient.name,
526
-          age:obj.age,
527
-          gend:obj.gend,
528
-          setl_time:obj.setl_time
563
+          name: obj.patient.name,
564
+          age: obj.age,
565
+          gend: obj.gend,
566
+          setl_time: obj.setl_time
529 567
         };
530 568
         this.invoiceParams = paramsObj;
531 569
         this.invoiceVisible = true
@@ -538,7 +576,6 @@
538 576
       this.getHisOrderList()
539 577
 
540 578
 
541
-
542 579
     }
543 580
   }
544 581
 </script>

+ 18 - 4
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Целия файл

@@ -515,7 +515,6 @@
515 515
         departmentOptions: [],
516 516
         departmentValue: '',
517 517
         total: 0,
518
-        state1: 1,
519 518
         request_record_date: '',
520 519
         state2: '',
521 520
         customTabIndex: 1,
@@ -551,6 +550,7 @@
551 550
         sick: [],
552 551
         diagnoses: [],
553 552
         diagnose: 1,
553
+        state1: 1,
554 554
         curTotal: 0,
555 555
         prescription_id: 0,
556 556
         tempDrugs: [],
@@ -1711,6 +1711,11 @@
1711 1711
 
1712 1712
       },
1713 1713
       setData(data, info, admin_info, doctors, department, hisPatientInfo, month_data) {
1714
+
1715
+
1716
+
1717
+
1718
+
1714 1719
         for (let i = 0; i < doctors.length; i++){
1715 1720
           if(doctors[i].user_type == 1){
1716 1721
             doctors.splice(i,1)
@@ -1745,7 +1750,10 @@
1745 1750
 
1746 1751
         this.diagnose = info.diagnosis;
1747 1752
         if (this.diagnose == 0) {
1748
-          this.diagnose = ''
1753
+          for(let i = 0; i < this.diagnoses.length;i++){
1754
+            this.diagnose = this.diagnoses[0].id
1755
+          }
1756
+
1749 1757
         }
1750 1758
         if (this.curPrescriptions.advices.length > 0 && this.curPrescriptions.project.length == 0) {
1751 1759
           this.curStatus = 1;
@@ -1765,7 +1773,11 @@
1765 1773
 
1766 1774
         this.state1 = info.sick_type;
1767 1775
         if (this.state1 == 0) {
1768
-          this.state1 = ''
1776
+          this.state1 = '';
1777
+          for(let i = 0; i < this.sick.length;i++){
1778
+            this.state1 = this.sick[0].id
1779
+          }
1780
+
1769 1781
         }
1770 1782
         this.state2 = info.sick_history;
1771 1783
         if (this.state2 == 0) {
@@ -1822,7 +1834,9 @@
1822 1834
           }
1823 1835
         }
1824 1836
         if (info.register_type == 0) {
1825
-          this.register_type = ''
1837
+          for(let i = 0; i < this.register.length;i++){
1838
+            this.register_type = this.register[0].value
1839
+          }
1826 1840
         } else {
1827 1841
           this.register_type = info.register_type
1828 1842
         }

+ 52 - 3
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Целия файл

@@ -9,6 +9,14 @@
9 9
           <p style="font-size:14px;">未就诊:<span>{{cal_one}}</span>人</p>
10 10
           <p style="font-size:14px;">已就诊:<span>{{cal_two}}</span>人</p>
11 11
         </div>
12
+        <div class="mainCell">
13
+          <el-radio-group v-model="schedule_type" @change="changeScheduleType">
14
+            <el-radio :label="1">上午</el-radio>
15
+            <el-radio :label="2">下午</el-radio>
16
+            <el-radio :label="3">晚上</el-radio>
17
+            <el-radio :label="0">全部</el-radio>
18
+          </el-radio-group>
19
+        </div>
12 20
         <div class="mainCell">
13 21
           <el-radio-group v-model="radio" @change="change">
14 22
             <el-radio :label="1">未就诊</el-radio>
@@ -195,6 +203,7 @@
195 203
         cal_one: 0,
196 204
         cal_two: 0,
197 205
         radio: 1,
206
+        schedule_type:0,
198 207
         record_date: '',
199 208
         crumbs: [
200 209
           {path: false, name: '门诊医生站'},
@@ -236,7 +245,9 @@
236 245
         this.radio = 2;
237 246
         let params = {
238 247
           'record_date': this.record_date,
239
-          'type': this.radio
248
+          'type': this.radio,
249
+          'sch_type':this.schedule_type,
250
+
240 251
         };
241 252
         this.patientTableData = [];
242 253
 
@@ -325,10 +336,46 @@
325 336
       //   })
326 337
       //
327 338
       // },
339
+      changeScheduleType() {
340
+        let params = {
341
+          'record_date': this.record_date,
342
+          'type': this.radio,
343
+          'sch_type':this.schedule_type,
344
+        };
345
+        this.patientTableData = [];
346
+
347
+        getSchedulePatientList(params).then(response => {
348
+          if (response.data.state == 0) {
349
+            this.$message.error(response.data.msg);
350
+            return false
351
+          } else {
352
+            this.patientTableData = response.data.data.list;
353
+            this.patientTableDataTwo = response.data.data.list;
354
+            this.cal_one = response.data.data.total_one;
355
+            this.cal_two = response.data.data.total_two;
356
+            this.admin_info = response.data.data.info;
357
+
358
+            if (this.patientTableData.length > 0) {
359
+              this.$refs.tab.setCurrentRow(this.patientTableData[0]);
360
+              this.oldCurrentRow = this.patientTableData[0];
361
+
362
+              this.getPatientInfo(this.patientTableData[0])
363
+            }
364
+
365
+            this.prescriptionList = response.data.data.list.prescription
366
+
367
+            // this.patientid = this.patientTableData[0].patient_id
368
+
369
+          }
370
+        })
371
+      },
372
+
328 373
       change() {
329 374
         let params = {
330 375
           'record_date': this.record_date,
331
-          'type': this.radio
376
+          'type': this.radio,
377
+          'sch_type':this.schedule_type,
378
+
332 379
         };
333 380
         this.patientTableData = [];
334 381
 
@@ -703,7 +750,9 @@
703 750
       getList() {
704 751
         let params = {
705 752
           'record_date': this.record_date,
706
-          'type': this.radio
753
+          'type': this.radio,
754
+          'sch_type':this.schedule_type,
755
+
707 756
         };
708 757
         this.patientTableData = [];
709 758
         getSchedulePatientList(params).then(response => {

+ 7 - 10
src/xt_pages/outpatientRegistration/index.vue Целия файл

@@ -315,7 +315,7 @@
315 315
             <div class="nameTitle">患者挂号信息:</div>
316 316
             <div class="formMain">
317 317
                 <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
318
-                    <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
318
+                    <el-form-item label="挂号类型:" >
319 319
                         <el-select v-model="form.register" placeholder="请选择">
320 320
                             <el-option
321 321
                                     v-for="item in his_registers"
@@ -611,7 +611,6 @@
611 611
           name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
612 612
           sex: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
613 613
           idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur' }],
614
-          register: [{ required: true, message: '请选择挂号类型', trigger: 'blur' }],
615 614
           doctor: [{ required: true, message: '请选择医生', trigger: 'blur' }],
616 615
           department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
617 616
           age: [{ required: true, message: '患者年龄不能为空', trigger: 'blur' }],
@@ -642,7 +641,6 @@
642 641
     },
643 642
     methods: {
644 643
       changeReg() {
645
-        console.log(this.form.register);
646 644
         if (this.form.register != 4) {
647 645
           this.form.registrationFee = 10
648 646
         } else {
@@ -1122,12 +1120,6 @@
1122 1120
           this.$message.error('患者性别不能为空')
1123 1121
         }
1124 1122
 
1125
-        if (this.form.register == '') {
1126
-          this.$message.error('挂号类型不能为空');
1127
-          this.is_Name = true;
1128
-          return
1129
-        }
1130
-
1131 1123
         if (this.form.doctor == '') {
1132 1124
           this.$message.error('医生不能为空');
1133 1125
           this.is_Name = true;
@@ -1444,6 +1436,9 @@
1444 1436
             this.sick = response.data.data.sick;
1445 1437
             this.diagnoses = response.data.data.diagnose;
1446 1438
 
1439
+            for(let i = 0; i < this.department.length;i++){
1440
+              this.form.department = this.department[0].id
1441
+            }
1447 1442
             this.form.p_type = 14;
1448 1443
             this.form.sick_type = this.sick[0].id;
1449 1444
             this.form.diagnosis = this.diagnoses[0].id
@@ -1455,11 +1450,13 @@
1455 1450
 
1456 1451
     },
1457 1452
     created() {
1458
-
1459 1453
       if(this.$store.getters.xt_user.org_id == 9504 ||  this.$store.getters.xt_user.org_id == 10028){
1460 1454
         this.form.certificates = 2;
1461 1455
         this.form.id_card_type = 1
1462 1456
       }else{
1457
+        this.form.settlementValue = 1;
1458
+        this.form.registrationFee = 0;
1459
+        this.form.medicalExpenses = 0;
1463 1460
         this.form.certificates = 1;
1464 1461
         this.form.id_card_type = 2
1465 1462
       }

+ 131 - 33
src/xt_pages/workforce/components/tableWeeks.vue Целия файл

@@ -34,8 +34,9 @@
34 34
           </li>
35 35
         </ul>
36 36
       </div>
37
-
38
-      <div  class="title"><span class="name">班 次</span> :</div>
37
+    </div>
38
+    <div  class="cell clearfix">
39
+     <div  class="title"><span class="name">班 次</span> :</div>
39 40
       <div class="time">
40 41
         <ul class>
41 42
           <li
@@ -226,7 +227,7 @@
226 227
 </template>
227 228
 
228 229
 <script>
229
-import { getSchedules, getScheduleWeekDay } from "@/api/schedule";
230
+import { getSchedules, getScheduleWeekDay,saveRemindPrint,getRemindPrintList } from "@/api/schedule";
230 231
 import WeekItem from "./WeekItem";
231 232
 
232 233
 export default {
@@ -241,6 +242,7 @@ export default {
241 242
   data() {
242 243
     return {
243 244
       weekArr: [
245
+        { id: 0, name: "全部" },
244 246
         { id: 1, name: "周一" },
245 247
         { id: 2, name: "周二" },
246 248
         { id: 3, name: "周三" },
@@ -273,19 +275,20 @@ export default {
273 275
       modeOptions: null,
274 276
       org_id:0,
275 277
       dialogVisible:false,
276
-      prescription_status:true,
277
-      week:true,
278
-      name:true,
279
-      zone:true,
280
-      classes:true,
281
-      number:true,
282
-      mode:true,
283
-      dialyzers:true,
284
-      perfusion_apparatus:true,
285
-      anticoagulant:true,
286
-      anticoagulant_zongliang:true,
278
+      prescription_status:false,
279
+      week:false,
280
+      name:false,
281
+      zone:false,
282
+      classes:false,
283
+      number:false,
284
+      mode:false,
285
+      dialyzers:false,
286
+      perfusion_apparatus:false,
287
+      anticoagulant:false,
288
+      anticoagulant_zongliang:false,
287 289
       doctor_advice:false,
288 290
       form:{
291
+        id:0,
289 292
         prescription_status:"",
290 293
         week:"",
291 294
         name:"",
@@ -323,11 +326,12 @@ export default {
323 326
       }
324 327
      },
325 328
     getScheduleWeekDay() {
326
-        const params = {
327
-          week_type:this.week_type,
328
-          week_time:this.week_time,
329
-        }
330
-
329
+     
330
+      const params = {
331
+        week_type:this.week_type,
332
+        week_time:this.week_time,
333
+       }
334
+      console.log("param22222",params)
331 335
       getScheduleWeekDay(params).then(response => {
332 336
         this.scheduleData = [];
333 337
         if (response.data.state == 1) {
@@ -531,10 +535,20 @@ export default {
531 535
       }
532 536
     },
533 537
     printActionSetting(){
538
+       this.getlist()
534 539
        this.dialogVisible = true
540
+
535 541
     },
536 542
     saveRemindPrint(){
537
-       console.log("3333333",this.prescription_status)
543
+       console.log("455555555",this.perfusion_apparatus)
544
+
545
+      if(this.perfusion_apparatus == true){
546
+         console.log("3333")
547
+          this.form.perfusion_apparatus = 1
548
+       }
549
+       if(this.perfusion_apparatus == false){
550
+          this.form.perfusion_apparatus = 2
551
+       }
538 552
        if(this.prescription_status == true){
539 553
          this.form.prescription_status = 1
540 554
        }
@@ -583,17 +597,12 @@ export default {
583 597
        if(this.dialyzers == false){
584 598
           this.form.dialyzers = 2
585 599
        }
586
-       if(this.perfusion_apparatus == true){
587
-          this.form.perfusion_apparatus = 1
588
-       }
589
-       if(this.perfusion_apparatus == false){
590
-          this.form.perfusion_apparatus = 2
591
-       }
600
+     
592 601
        if(this.anticoagulant == true){
593
-          this.anticoagulant = 1
602
+          this.form.anticoagulant = 1
594 603
        }
595 604
        if(this.anticoagulant == false){
596
-         this.anticoagulant = 2
605
+         this.form.anticoagulant = 2
597 606
        }
598 607
        if(this.anticoagulant_zongliang == true){
599 608
           this.form.anticoagulant_zongliang  = 1
@@ -607,7 +616,9 @@ export default {
607 616
        if(this.doctor_advice == false){
608 617
           this.form.doctor_advice = 2
609 618
        }
619
+       console.log("555555555",this.form.prescription_status)
610 620
         var params = {
621
+          id:this.form.id,
611 622
           prescription_status:this.form.prescription_status,
612 623
           week:this.form.week,
613 624
           name:this.form.name,
@@ -616,13 +627,101 @@ export default {
616 627
           number:this.form.number,
617 628
           mode:this.form.mode,
618 629
           dialyzers:this.form.dialyzers,
619
-          perfusion_apparatus:this.form.prescription_apparaus,
630
+          perfusion_apparatus:this.form.perfusion_apparatus,
620 631
           anticoagulant:this.form.anticoagulant,
621 632
           anticoagulant_zongliang:this.form.anticoagulant_zongliang,
622 633
           doctor_advice:this.form.doctor_advice,
623 634
         }
624
-      saveRemindPrint().then(response=>{
625
-
635
+       console.log("params",params)
636
+      saveRemindPrint(params).then(response=>{
637
+          if(response.data.state == 1){
638
+             var settting = response.data.data.setting
639
+             this.$message.success("保存成功")
640
+             this.dialogVisible = false
641
+             this.getlist()
642
+          }
643
+      })
644
+    },
645
+    getlist(){
646
+      getRemindPrintList().then(response=>{
647
+         if(response.data.state == 1){
648
+            var list = response.data.data.list
649
+            console.log("list222332",list)
650
+            if(list.anticoagulant == 1){
651
+              console.log("进来22222")
652
+              this.anticoagulant = true
653
+            }
654
+            if(list.anticoagulant == 2){
655
+               this.anticoagulant = false
656
+            }
657
+            if(list.anticoagulant_zongliang == 1){
658
+              this.anticoagulant_zongliang = true
659
+            }
660
+            if(list.anticoagulant_zongliang == 2){
661
+               this.anticoagulant_zongliang = false 
662
+            }
663
+            if(list.classes == 1 ){
664
+                this.classes = true
665
+            }
666
+            if(list.classes == 2){
667
+                this.classes = false
668
+            }
669
+            if(list.dialyzers == 1){
670
+               this.dialyzers = true
671
+            }
672
+            if(list.dialyzers == 2){
673
+               this.dialyzers = false
674
+            }
675
+            if(list.doctor_advice == 1){
676
+               this.doctor_advice = true
677
+            }
678
+            if(list.doctor_advice == 2){
679
+               this.doctor_advice = false
680
+            }
681
+            if(list.name == 1){
682
+               this.name = true
683
+            }
684
+            if(list.name == 2){
685
+               this.name = false
686
+            }
687
+            if(list.number == 1){
688
+               this.number = true
689
+            }
690
+            if(list.number == 2){
691
+              this.number = false
692
+            }
693
+            if(list.perfusion_apparatus == 1){
694
+              this.perfusion_apparatus = true
695
+            }
696
+            if(list.perfusion_apparatus == 2){
697
+               this.perfusion_apparatus = false
698
+            }
699
+            if(list.prescription_status == 1){
700
+               this.prescription_status = true
701
+            }
702
+            if(list.prescription_status == 2){
703
+               this.prescription_status = false
704
+            }
705
+            if(list.week == 1){
706
+               this.week = true
707
+            } 
708
+            if(list.week == 2){
709
+               this.week = false
710
+            }
711
+            if(list.zone == 1){
712
+               this.zone = true
713
+            }
714
+            if(list.zone == 2){
715
+               this.zone = false
716
+            }
717
+            if(list.mode ==1){
718
+               this.mode = true
719
+            }
720
+            if(list.mode == 2){
721
+              this.mode = false
722
+            }
723
+            this.form.id = list.id
724
+         }
626 725
       })
627 726
     }
628 727
   },
@@ -632,7 +731,6 @@ export default {
632 731
   created() {
633 732
     this.modeOptions = this.$store.getters.treatment_mode;
634 733
     this.anticoagulants_confit = this.$store.getters.anticoagulants_confit;
635
-    console.log("抗凝机", this.anticoagulants_confit);
636 734
     this.week_type = new Date().getDay();
637 735
     if (this.week_type == 0) {
638 736
       this.week_type = 7;
@@ -641,8 +739,8 @@ export default {
641 739
     //   week_type: this.week_type
642 740
     // };
643 741
     this.getScheduleWeekDay();
644
-    console.log("org2222222",this.$store.getters.xt_user.org.id)
645 742
     this.org_id = this.$store.getters.xt_user.org.id
743
+    // this.getlist()
646 744
   }
647 745
 };
648 746
 </script>