Browse Source

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

see999 3 years ago
parent
commit
82df724c96

+ 56 - 0
src/api/his/his.js View File

@@ -532,3 +532,59 @@ export function GetLabelInfo(params) {
532 532
     params: params
533 533
   })
534 534
 }
535
+
536
+
537
+
538
+
539
+
540
+export function createFaPiao(params) {
541
+  return request({
542
+    url: '/api/fapiao/create',
543
+    method: 'post',
544
+    params: params
545
+  })
546
+}
547
+
548
+export function modifyFaPiao(params) {
549
+  return request({
550
+    url: '/api/fapiao/modify',
551
+    method: 'post',
552
+    params: params
553
+  })
554
+}
555
+
556
+export function getFaPiaoList(params) {
557
+  return request({
558
+    url: '/api/fapiao/list',
559
+    method: 'get',
560
+    params: params
561
+  })
562
+}
563
+
564
+export function deleteFaPiao(params) {
565
+  return request({
566
+    url: '/api/fapiao/delete',
567
+    method: 'post',
568
+    params: params
569
+  })
570
+}
571
+
572
+export function GetFaPiao(params) {
573
+  return request({
574
+    url: '/api/fapiao',
575
+    method: 'get',
576
+    params: params
577
+  })
578
+}
579
+
580
+
581
+export function postFaPiaoIsUse(params) {
582
+  return request({
583
+    url: '/api/fapiao/is_use',
584
+    method: 'post',
585
+    params: params
586
+  })
587
+}
588
+
589
+
590
+

+ 1 - 0
src/lang/zh.js View File

@@ -261,6 +261,7 @@ export default {
261 261
 
262 262
     summary_tool:'项目消费明细汇总',
263 263
     labelPrint:'标签打印',
264
+    faPiao:"发票设置",
264 265
   },
265 266
   navbar: {
266 267
     logOut: '退出登录',

+ 7 - 0
src/router/modules/hisTool.js View File

@@ -47,5 +47,12 @@ export default {
47 47
       meta: { title: 'labelPrint', noCache: true }
48 48
     },
49 49
 
50
+    {
51
+      path: '/hisTool/faPiao',
52
+      component: () => import('@/xt_pages/outpatientTool/fapiao'),
53
+      name: 'faPiao',
54
+      meta: { title: 'faPiao', noCache: true }
55
+    },
56
+
50 57
   ]
51 58
 }

+ 141 - 1
src/xt_pages/hospitalStation/components/ChargePrescriptionTable.vue View File

@@ -46,6 +46,68 @@
46 46
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47 47
         </template>
48 48
       </el-table-column>
49
+
50
+
51
+
52
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
53
+        <template slot-scope="scope">
54
+          <div> {{scope.row.code}}</div>
55
+        </template>
56
+      </el-table-column>
57
+
58
+
59
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
60
+        <template slot-scope="scope">
61
+          <div> {{scope.row.spec}}</div>
62
+        </template>
63
+      </el-table-column>
64
+
65
+      <el-table-column align="center" prop="name" width="60" label="金额">
66
+        <template slot-scope="scope">
67
+          <div> {{scope.row.det_item_fee_sumamt}}</div>
68
+        </template>
69
+      </el-table-column>
70
+
71
+
72
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
73
+        <template slot-scope="scope">
74
+          <div> {{getName(scope.row.name_id)}}</div>
75
+        </template>
76
+      </el-table-column>
77
+
78
+
79
+
80
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
81
+        <template slot-scope="scope">
82
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
83
+        </template>
84
+      </el-table-column>
85
+
86
+
87
+
88
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
89
+        <template slot-scope="scope">
90
+          <div> {{scope.row.overlmt_amt}}元</div>
91
+        </template>
92
+      </el-table-column>
93
+
94
+
95
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
96
+        <template slot-scope="scope">
97
+          <div> {{scope.row.preselfpay_amt}}元</div>
98
+        </template>
99
+      </el-table-column>
100
+
101
+
102
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
103
+        <template slot-scope="scope">
104
+          <div> {{scope.row.inscp_scp_amt}}元</div>
105
+        </template>
106
+      </el-table-column>
107
+
108
+
109
+
110
+
49 111
       <el-table-column align="center" prop="name" width="50" label="备注">
50 112
         <template slot-scope="scope">
51 113
           <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
@@ -107,6 +169,69 @@
107 169
 
108 170
         </template>
109 171
       </el-table-column>
172
+
173
+
174
+
175
+
176
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
177
+        <template slot-scope="scope">
178
+          <div> {{scope.row.medical_code}}</div>
179
+        </template>
180
+      </el-table-column>
181
+
182
+
183
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
184
+        <template slot-scope="scope">
185
+          <div> {{scope.row.spec}}</div>
186
+        </template>
187
+      </el-table-column>
188
+
189
+      <el-table-column align="center" prop="name" width="60" label="金额">
190
+        <template slot-scope="scope">
191
+          <div> {{scope.row.det_item_fee_sumamt}}元</div>
192
+        </template>
193
+      </el-table-column>
194
+
195
+
196
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
197
+        <template slot-scope="scope">
198
+          <div> {{getName(scope.row.name_id)}}</div>
199
+        </template>
200
+      </el-table-column>
201
+
202
+
203
+
204
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
205
+        <template slot-scope="scope">
206
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
207
+        </template>
208
+      </el-table-column>
209
+
210
+
211
+
212
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
213
+        <template slot-scope="scope">
214
+          <div> {{scope.row.overlmt_amt}}元</div>
215
+        </template>
216
+      </el-table-column>
217
+
218
+
219
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
220
+        <template slot-scope="scope">
221
+          <div> {{scope.row.preselfpay_amt}}元</div>
222
+        </template>
223
+      </el-table-column>
224
+
225
+
226
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
227
+        <template slot-scope="scope">
228
+          <div> {{scope.row.inscp_scp_amt}}元</div>
229
+        </template>
230
+      </el-table-column>
231
+
232
+
233
+
234
+
110 235
       <el-table-column align="center" prop="name" width="50" label="备注">
111 236
         <template slot-scope="scope">
112 237
           <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
@@ -135,7 +260,9 @@
135 260
 
136 261
   export default {
137 262
     props: {
138
-      prescription: Object
263
+      prescription: Object,
264
+      manufacturers:Array,
265
+
139 266
     },
140 267
     data() {
141 268
       return {
@@ -154,7 +281,20 @@
154 281
       })
155 282
     }, methods:  {
156 283
 
284
+      getName(id){
285
+        console.log("!!!!!!!!!")
286
+
287
+        let  name = ""
288
+        for(let i = 0; i  < this.manufacturers.length; i++){
289
+          console.log(this.manufacturers[i].manufacturer_name)
290
+          if(id == this.manufacturers[i].id){
291
+            console.log("!!!!!!!!!")
292
+            name =  this.manufacturers[i].manufacturer_name
293
+          }
294
+        }
295
+        return name
157 296
 
297
+      },
158 298
       getGroup(id){
159 299
         var name = "";
160 300
         var statistics_category =  getDictionaryDataConfig('system','statistics_category');

+ 4 - 4
src/xt_pages/hospitalStation/components/dayPrescriptionTable.vue View File

@@ -262,8 +262,8 @@
262 262
         })
263 263
 
264 264
       },deleteDrug:function(index, row){
265
-        if(this.prescription.order_status == 2){
266
-          this.$message.error('该处方已经结算,无法删除');
265
+        if(this.prescription.order_status == 2 || this.prescription.order_status == 4){
266
+          this.$message.error('该处方已经结算或者已经上传医保系统,无法删除');
267 267
           return
268 268
         }
269 269
         this.$confirm("药品删除后不可恢复,是否确认删除", "删除", {
@@ -338,8 +338,8 @@
338 338
         return name
339 339
       },
340 340
       deleteProject(row,i){
341
-        if(this.prescription.order_status == 2){
342
-          this.$message.error('该处方已经结算,无法删除');
341
+        if(this.prescription.order_status == 2 || this.prescription.order_status == 4){
342
+          this.$message.error('该处方已经结算或者已经上传医保系统,无法删除');
343 343
           return
344 344
         }
345 345
         this.$confirm("项目删除后不可恢复,是否确认删除", "删除", {

+ 7 - 7
src/xt_pages/hospitalStation/components/deskPrescription.vue View File

@@ -803,7 +803,7 @@
803 803
               // obj['medical_code'] = project_month_prescriptions.project[a].project.medical_code;
804 804
               obj['unit'] = project_month_prescriptions.project[a].unit
805 805
               obj['project_id'] = project_month_prescriptions.project[a].project_id
806
-              count = count + project_month_prescriptions.project[a].count
806
+              count = count + parseFloat(project_month_prescriptions.project[a].count)
807 807
               // price = price + project_month_prescriptions.project[a].price
808 808
               obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
809 809
 
@@ -2178,8 +2178,8 @@
2178 2178
         }
2179 2179
 
2180 2180
         if (this.dayorMonth == 'day') {
2181
-          if (this.curPrescriptions.order_status == 2) {
2182
-            this.$message.error('当前处方已经结算,无法保存')
2181
+          if (this.curPrescriptions.order_status == 2 ||this.curPrescriptions.order_status == 4 ) {
2182
+            this.$message.error('当前处方已经结算或者已经上传医保系统,无法保存')
2183 2183
             return
2184 2184
           }
2185 2185
           if (this.doctorValue.length <= 0) {
@@ -2478,8 +2478,8 @@
2478 2478
 
2479 2479
       },
2480 2480
       removeTab(targetName) {
2481
-        if (this.curPrescriptions.order_status == 2) {
2482
-          this.$message.error('该处方已经结算,无法删除')
2481
+        if (this.curPrescriptions.order_status == 2 || this.curPrescriptions.order_status == 4) {
2482
+          this.$message.error('该处方已经结算或者已经上传医保系统,无法删除')
2483 2483
           return
2484 2484
         }
2485 2485
         if (targetName == '处方1') {
@@ -3201,9 +3201,9 @@
3201 3201
       clearSelection() {
3202 3202
         this.$refs.tabProjectTeam.clearSelection()
3203 3203
       }
3204
-    }, 
3204
+    },
3205 3205
     mounted() {
3206
-     
3206
+
3207 3207
       this.request_record_date = this.record_date
3208 3208
       // this.getInitData()
3209 3209
       //获取所有项目

+ 50 - 32
src/xt_pages/hospitalStation/doctorDesk.vue View File

@@ -426,47 +426,65 @@
426 426
         // })
427 427
       },
428 428
       changeOther(patient_id) {
429
-        this.radio = 2
430
-        let params = {
431
-          'record_date': this.record_date,
432
-          'type': this.radio,
433
-          'sch_type': this.schedule_type
429
+        if (this.radio == 2){
430
+          if (this.patientTableData.length > 0) {
431
+            for(let i = 0; i < this.patientTableData.length; i++){
432
+              if(this.patientTableData[i].id == patient_id){
433
+                this.$refs.tab.setCurrentRow(this.patientTableData[i])
434
+                this.oldCurrentRow = this.patientTableData[i]
435
+                this.getPatientInfo(this.patientTableData[i])
436
+              }
437
+            }
438
+          }
439
+        }else{
434 440
 
435
-        }
436
-        this.patientTableData = []
441
+          this.radio = 2
442
+          let params = {
443
+            'record_date': this.record_date,
444
+            'type': this.radio,
445
+            'sch_type': this.schedule_type
437 446
 
438
-        this.un_cure_data = []
439
-        this.cure_data = []
440
-        this.all_data = []
441
-        getHospitalPatientList(params).then(response => {
442
-          if (response.data.state == 0) {
443
-            this.$message.error(response.data.msg)
444
-            return false
445
-          } else {
446
-            this.patientTableData = response.data.data.list
447
-            this.all_data = this.patientTableData
447
+          }
448
+          this.patientTableData = []
448 449
 
449
-            this.patientTableDataTwo = response.data.data.list
450
-            this.cal_one = response.data.data.total_one
451
-            this.cal_two = response.data.data.total_two
452
-            this.admin_info = response.data.data.info
450
+          this.un_cure_data = []
451
+          this.cure_data = []
452
+          this.all_data = []
453 453
 
454
-            if (this.patientTableData.length > 0) {
455
-              for(let i = 0; i < this.patientTableData.length; i++){
456
-                if(this.patientTableData[i].id == patient_id){
457
-                  this.$refs.tab.setCurrentRow(this.patientTableData[i])
458
-                  this.oldCurrentRow = this.patientTableData[i]
459
-                  this.getPatientInfo(this.patientTableData[i])
460 454
 
455
+          getHospitalPatientList(params).then(response => {
456
+            if (response.data.state == 0) {
457
+              this.$message.error(response.data.msg)
458
+              return false
459
+            } else {
460
+              this.patientTableData = response.data.data.list
461
+              this.all_data = this.patientTableData
462
+
463
+              this.patientTableDataTwo = response.data.data.list
464
+              this.cal_one = response.data.data.total_one
465
+              this.cal_two = response.data.data.total_two
466
+              this.admin_info = response.data.data.info
467
+
468
+              if (this.patientTableData.length > 0) {
469
+                for(let i = 0; i < this.patientTableData.length; i++){
470
+                  if(this.patientTableData[i].id == patient_id){
471
+                    this.$refs.tab.setCurrentRow(this.patientTableData[i])
472
+                    this.oldCurrentRow = this.patientTableData[i]
473
+                    this.getPatientInfo(this.patientTableData[i])
474
+
475
+
476
+                  }
461 477
 
462 478
                 }
463 479
 
464 480
               }
465
-
466 481
             }
467
-          }
468 482
 
469
-        })
483
+          })
484
+
485
+
486
+        }
487
+
470 488
 
471 489
         // getSchedulePatientList(params).then(response => {
472 490
         //   if (response.data.state == 0) {
@@ -727,7 +745,7 @@
727 745
               // obj['medical_c/**/ode'] = project_month_prescriptions.project[a].project.medical_code
728 746
               obj['unit'] = project_month_prescriptions.project[a].unit
729 747
               obj['project_id'] = project_month_prescriptions.project[a].project_id
730
-              count = count + project_month_prescriptions.project[a].count
748
+              count = count + parseFloat(project_month_prescriptions.project[a].count)
731 749
               // price = price + project_month_prescriptions.project[a].price
732 750
               obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
733 751
 
@@ -4200,7 +4218,7 @@
4200 4218
       let tableHeight = document.body.clientHeight - 323
4201 4219
       this.tableHeight = tableHeight
4202 4220
       this.org_id = this.$store.getters.xt_user.template_info.org_id
4203
-     
4221
+
4204 4222
     },
4205 4223
 
4206 4224
     mounted() {

+ 100 - 1
src/xt_pages/hospitalStation/index.vue View File

@@ -121,6 +121,30 @@
121 121
                     </el-form-item>
122 122
 
123 123
 
124
+                    <el-form-item label="社保类型:">
125
+                        <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
126
+                            <el-option
127
+                                    v-for="item in medicalCare"
128
+                                    :key="item.value"
129
+                                    :label="item.label"
130
+                                    :value="item.value">
131
+                            </el-option>
132
+                        </el-select>
133
+                    </el-form-item>
134
+
135
+
136
+                    <el-form-item label="人员类别:">
137
+                        <el-select v-model="form.psn_type" placeholder="请选择" style="width:100%;">
138
+                            <el-option
139
+                                    v-for="item in PsnTypes"
140
+                                    :key="item.value"
141
+                                    :label="item.label"
142
+                                    :value="item.value">
143
+                            </el-option>
144
+                        </el-select>
145
+                    </el-form-item>
146
+
147
+
124 148
                     <!--<el-form-item label="主治医生:" prop="doctor" :validate-event="is_Name">-->
125 149
                         <!--<el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">-->
126 150
                             <!--<el-option-->
@@ -183,6 +207,23 @@
183 207
     },
184 208
     data() {
185 209
       return {
210
+        PsnTypes:[
211
+          { value: 11, label: '在职' },
212
+          { value: 21, label: '退休' },
213
+          { value: 31, label: '离休' },
214
+          { value: 32, label: '老红军' },
215
+          { value: 33, label: '一至六级残废军人' },
216
+          { value: 34, label: '医疗照顾人员' },
217
+          { value: 41, label: '学龄前儿童' },
218
+          { value: 42, label: '中小学生' },
219
+          { value: 43, label: '大学生' },
220
+          { value: 50, label: '成年居民(非从业)' },
221
+          { value: 60, label: '老年居民' },
222
+          { value: 91, label: '其他人员' },
223
+
224
+
225
+
226
+        ],
186 227
         settlement: [
187 228
           { value: 1, label: '医保' },
188 229
           { value: 2, label: '自费' },
@@ -199,12 +240,19 @@
199 240
           { value: 11, label: '普通门诊' },
200 241
           // {value: 12, label: '门诊挂号'},
201 242
           // {value: 13, label: '急诊'},
202
-          { value: 14, label: '门诊特殊病' }
243
+          { value: 14, label: '门诊慢性病' }
203 244
           // {value: 15, label: '门诊统筹'},
204 245
           // {value: 16, label: '门诊慢性病'},
205 246
           // {value: 21, label: '普通住院'}
206 247
 
207 248
         ],
249
+        medicalCare: [{
250
+          value: 390,
251
+          label: '城乡居民基本医疗保险'
252
+        }, {
253
+          value: 310,
254
+          label: '职工基本医疗保险'
255
+        }],
208 256
         sick: [],
209 257
         diagnoses: [],
210 258
         crumbs: [
@@ -212,6 +260,8 @@
212 260
           { path: false, name: '住院登记' }
213 261
         ],
214 262
         form: {
263
+          social_type:'',
264
+          psn_type:'',
215 265
           start_time: '',
216 266
           id: 0,
217 267
           sick_type: '',
@@ -307,6 +357,47 @@
307 357
           '-' +
308 358
           birth.substr(6, 2)
309 359
         this.form.age = jsGetAge(births, '-')
360
+
361
+        var that = this
362
+        let params={
363
+          id_card_no: this.form.id_card_no,
364
+          admin_user_id:this.$store.getters.xt_user.user.id,
365
+
366
+        }
367
+        axios.get('http://127.0.0.1:9532/zh/api/patient/info', {
368
+          params: params,
369
+          headers: {
370
+            'Permission': 5
371
+          }
372
+        })
373
+        that.then(function(response) {
374
+            if (response.data.state == 0) {
375
+              this.$message.error(response.data.msg)
376
+              that.loadingone = false
377
+              return false
378
+            } else {
379
+              that.loadingone = false
380
+              if (response.data.data.failed_code == -10) {
381
+                // that.$message.error(response.data.data.msg)
382
+                that.$confirm(response.data.data.msg, '医保错误信息', {
383
+                  confirmButtonText: '确 定',
384
+                  type: 'warning'
385
+                }).then(() => {
386
+
387
+                  this.form.psn_type = parseNumber(response.data.data.info.output.insuinfo.psn_type)
388
+                  this.form.social_type = parseNumber(response.data.data.insutype)
389
+
390
+                }).catch(() => {
391
+                })
392
+              } else {
393
+
394
+
395
+              }
396
+            }
397
+          })
398
+          .catch(function(error) {
399
+
400
+          })
310 401
       },
311 402
       querySearchAsync(keyword, cb) {
312 403
         let key = ''
@@ -541,7 +632,10 @@
541 632
               diagnosis: this.form.diagnosis,
542 633
               sick_type: this.form.sick_type,
543 634
               start_time: this.form.start_time,
635
+              social_type: this.form.social_type,
636
+              psn_type: this.form.psn_type,
544 637
               balance_accounts_type: this.form.settlement_value
638
+
545 639
             }
546 640
             params['record_time'] = this.record_date
547 641
             params['admin_user_id'] = this.$store.getters.xt_user.user.id
@@ -682,6 +776,11 @@
682 776
         this.form.id_card_type = 2
683 777
       }
684 778
 
779
+      if(this.$store.getters.xt_user.org_id == 10215) {
780
+        this.form.med_type = 14
781
+        this.form.sick_type = 421
782
+      }
783
+
685 784
       this.getInitData()
686 785
       //获取当前机构有人员信息
687 786
       this.getAllDoctorList()

+ 59 - 7
src/xt_pages/hospitalStation/outpatientChargesManagement.vue View File

@@ -213,6 +213,7 @@
213 213
                                             <!--:prescription="curPrescriptions"></charge-prescription-table>-->
214 214
                                             <!--<charge-prescription-table ref="prescription_tables" :prescription="curPrescriptions"></charge-prescription-table>-->
215 215
                                             <charge-prescription-table ref="prescription_tables"
216
+                                                                       :manufacturers = "manufacturers"
216 217
                                                                        :prescription="curPrescriptions"></charge-prescription-table>
217 218
 
218 219
                                         </el-tabs>
@@ -470,7 +471,7 @@
470 471
           { value: 11, label: '普通门诊' },
471 472
           // { value: 12, label: '门诊挂号' },
472 473
           // { value: 13, label: '急诊' },
473
-          { value: 14, label: '门诊特殊病' }
474
+          { value: 14, label: '门诊慢性病' }
474 475
           // { value: 15, label: '门诊统筹' },
475 476
           // { value: 16, label: '门诊慢性病' },
476 477
           // { value: 21, label: '普通住院' }
@@ -535,7 +536,7 @@
535 536
         prescription_id: 0,
536 537
         all_table_data: [],
537 538
         all_charge_table_data: [],
538
-
539
+        manufacturers:[],
539 540
         hisPatientDatas: [],
540 541
         order: {},
541 542
         addtions_charge: [],
@@ -776,6 +777,8 @@
776 777
               let tempProject = []
777 778
 
778 779
               for (let b = 0; b < prescription.advices.length; b++) {
780
+                let spec =  prescription.advices[b].drug.dose + prescription.advices[b].drug.dose_unit + '*' + prescription.advices[b].drug.min_number +prescription.advices[b].drug.min_unit + '/' + prescription.advices[b].drug.max_unit
781
+
779 782
                 let obj = {
780 783
                   advice_id: prescription.advices[b].id,
781 784
                   drug_name: prescription.advices[b].advice_name,
@@ -788,7 +791,18 @@
788 791
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
789 792
                   single_dose_unit: prescription.advices[b].single_dose_unit,
790 793
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
791
-                  medical_insurance_number: prescription.advices[b].med_list_codg
794
+                  medical_insurance_number: prescription.advices[b].med_list_codg,
795
+
796
+
797
+                  code: prescription.advices[b].drug.medical_insurance_number,
798
+                  spec: spec,
799
+                  det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
800
+                  name_id: prescription.advices[b].drug.manufacturer,
801
+                  fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
802
+                  overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
803
+                  preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
804
+                  inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt,
805
+
792 806
 
793 807
                 }
794 808
                 tempAdvice.push(obj)
@@ -807,18 +821,30 @@
807 821
                   remark: prescription.project[b].remark,
808 822
                   // medical_code: prescription.project[b].project.medical_code,
809 823
                   unit: prescription.project[b].unit,
810
-                  type: prescription.project[b].type
824
+
825
+                  type: prescription.project[b].type,
826
+                  det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
827
+                  fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
828
+                  overlmt_amt: prescription.project[b].order_info.overlmt_amt,
829
+                  preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
830
+                  inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt,
831
+
811 832
 
812 833
                 }
813 834
                 if (prescription.project[b].type == 2) {
814 835
                   obj['statistical_classification'] = prescription.project[b].project.statistical_classification
815 836
                   obj['medical_code'] = prescription.project[b].project.medical_code
816 837
                   obj['project_name'] = prescription.project[b].project.project_name
838
+                  obj['spec'] = ""
839
+                  obj['name_id'] = 0
817 840
 
818 841
                 } else if (prescription.project[b].type == 3) {
819 842
                   obj['statistical_classification'] = ''
820 843
                   obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
821 844
                   obj['project_name'] = prescription.project[b].good_info.good_name
845
+                  obj['spec'] = prescription.project[b].good_info.specification_name
846
+                  obj['name_id'] = prescription.project[b].good_info.manufacturer
847
+
822 848
                 }
823 849
 
824 850
                 tempProject.push(obj)
@@ -852,6 +878,8 @@
852 878
             this.department = response.data.data.department
853 879
             this.sick = response.data.data.sick
854 880
             this.diagnoses = response.data.data.diagnose
881
+            this.manufacturers = response.data.data.manufacturers
882
+
855 883
 
856 884
           }
857 885
         })
@@ -2576,7 +2604,7 @@
2576 2604
               // obj['medical_code'] = project_month_prescriptions.project[a].project.medical_code;
2577 2605
               obj['unit'] = project_month_prescriptions.project[a].unit
2578 2606
               obj['project_id'] = project_month_prescriptions.project[a].project_id
2579
-              count = count + project_month_prescriptions.project[a].count
2607
+              count = count + parseFloat(project_month_prescriptions.project[a].count)
2580 2608
               // price = price + project_month_prescriptions.project[a].price
2581 2609
               obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
2582 2610
 
@@ -2730,6 +2758,8 @@
2730 2758
               let tempProject = []
2731 2759
               let tempAddition = []
2732 2760
               for (let b = 0; b < prescription.advices.length; b++) {
2761
+                let spec =  prescription.advices[b].drug.dose + prescription.advices[b].drug.dose_unit + '*' + prescription.advices[b].drug.min_number +prescription.advices[b].drug.min_unit + '/' + prescription.advices[b].drug.max_unit
2762
+
2733 2763
                 let obj = {
2734 2764
                   advice_id: prescription.advices[b].id,
2735 2765
                   drug_name: prescription.advices[b].advice_name,
@@ -2742,7 +2772,17 @@
2742 2772
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
2743 2773
                   single_dose_unit: prescription.advices[b].single_dose_unit,
2744 2774
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
2745
-                  medical_insurance_number: prescription.advices[b].med_list_codg
2775
+                  medical_insurance_number: prescription.advices[b].med_list_codg,
2776
+
2777
+
2778
+                  code: prescription.advices[b].drug.medical_insurance_number,
2779
+                  spec: spec,
2780
+                  det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
2781
+                  name_id: prescription.advices[b].drug.manufacturer,
2782
+                  fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
2783
+                  overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
2784
+                  preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
2785
+                  inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt,
2746 2786
 
2747 2787
                 }
2748 2788
                 tempAdvice.push(obj)
@@ -2763,7 +2803,13 @@
2763 2803
                   remark: prescription.project[b].remark,
2764 2804
                   // medical_code: prescription.project[b].project.medical_code,
2765 2805
                   unit: prescription.project[b].project.unit,
2766
-                  type: prescription.project[b].type
2806
+                  type: prescription.project[b].type,
2807
+                  det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
2808
+                  fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
2809
+                  overlmt_amt: prescription.project[b].order_info.overlmt_amt,
2810
+                  preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
2811
+                  inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt,
2812
+
2767 2813
 
2768 2814
                 }
2769 2815
 
@@ -2771,11 +2817,17 @@
2771 2817
                   obj['statistical_classification'] = prescription.project[b].project.statistical_classification
2772 2818
                   obj['medical_code'] = prescription.project[b].project.medical_code
2773 2819
                   obj['project_name'] = prescription.project[b].project.project_name
2820
+                  obj['spec'] = ""
2821
+                  obj['name_id'] = 0
2822
+
2774 2823
 
2775 2824
                 } else if (prescription.project[b].type == 3) {
2776 2825
                   obj['statistical_classification'] = ''
2777 2826
                   obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
2778 2827
                   obj['project_name'] = prescription.project[b].good_info.good_name
2828
+                  obj['spec'] = prescription.project[b].good_info.specification_name
2829
+                  obj['name_id'] = prescription.project[b].good_info.manufacturer
2830
+
2779 2831
                 }
2780 2832
 
2781 2833
                 tempProject.push(obj)

+ 1 - 1
src/xt_pages/hospitalStation/summaryDetail.vue View File

@@ -426,7 +426,7 @@ export default {
426 426
             obj['day'] = project_month_prescriptions.project[a].day
427 427
             obj['single_dose_unit'] = project_month_prescriptions.project[a].unit
428 428
             obj['prescribing_number_unit'] = project_month_prescriptions.project[a].unit
429
-            count = count + project_month_prescriptions.project[a].count
429
+            count = count + parseFloat(project_month_prescriptions.project[a].count)
430 430
             obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
431 431
             obj['remark'] = project_month_prescriptions.project[a].remark
432 432
             obj['type'] = 2

+ 142 - 2
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

@@ -46,6 +46,70 @@
46 46
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47 47
         </template>
48 48
       </el-table-column>
49
+
50
+
51
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
52
+        <template slot-scope="scope">
53
+          <div> {{scope.row.code}}</div>
54
+        </template>
55
+      </el-table-column>
56
+
57
+
58
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
59
+        <template slot-scope="scope">
60
+          <div> {{scope.row.spec}}</div>
61
+        </template>
62
+      </el-table-column>
63
+
64
+      <el-table-column align="center" prop="name" width="60" label="金额">
65
+        <template slot-scope="scope">
66
+          <div> {{scope.row.det_item_fee_sumamt}}</div>
67
+        </template>
68
+      </el-table-column>
69
+
70
+
71
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
72
+        <template slot-scope="scope">
73
+          <div> {{getName(scope.row.name_id)}}</div>
74
+        </template>
75
+      </el-table-column>
76
+
77
+
78
+
79
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
80
+        <template slot-scope="scope">
81
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
82
+        </template>
83
+      </el-table-column>
84
+
85
+
86
+
87
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
88
+        <template slot-scope="scope">
89
+          <div> {{scope.row.overlmt_amt}}元</div>
90
+        </template>
91
+      </el-table-column>
92
+
93
+
94
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
95
+        <template slot-scope="scope">
96
+          <div> {{scope.row.preselfpay_amt}}元</div>
97
+        </template>
98
+      </el-table-column>
99
+
100
+
101
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
102
+        <template slot-scope="scope">
103
+          <div> {{scope.row.inscp_scp_amt}}元</div>
104
+        </template>
105
+      </el-table-column>
106
+
107
+
108
+
109
+
110
+
111
+
112
+
49 113
       <el-table-column align="center" prop="name" width="50" label="备注">
50 114
         <template slot-scope="scope">
51 115
           <!--<el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>-->
@@ -85,6 +149,68 @@
85 149
       <el-table-column align="center" prop="name" width="50" label="单价">
86 150
         <template slot-scope="scope">{{scope.row.price}}元</template>
87 151
       </el-table-column>
152
+
153
+
154
+
155
+      <el-table-column align="center" prop="name" width="60" label="医保编码">
156
+        <template slot-scope="scope">
157
+          <div> {{scope.row.medical_code}}</div>
158
+        </template>
159
+      </el-table-column>
160
+
161
+
162
+      <el-table-column align="center" prop="name" width="60" label="规格/型号">
163
+        <template slot-scope="scope">
164
+          <div> {{scope.row.spec}}</div>
165
+        </template>
166
+      </el-table-column>
167
+
168
+      <el-table-column align="center" prop="name" width="60" label="金额">
169
+        <template slot-scope="scope">
170
+          <div> {{scope.row.det_item_fee_sumamt}}元</div>
171
+        </template>
172
+      </el-table-column>
173
+
174
+
175
+      <el-table-column align="center" prop="name" width="60" label="生产厂家">
176
+        <template slot-scope="scope">
177
+          <div> {{getName(scope.row.name_id)}}</div>
178
+        </template>
179
+      </el-table-column>
180
+
181
+
182
+
183
+      <el-table-column align="center" prop="name" width="60" label="全自费金额">
184
+        <template slot-scope="scope">
185
+          <div> {{scope.row.fulamt_ownpay_amt}}元</div>
186
+        </template>
187
+      </el-table-column>
188
+
189
+
190
+
191
+      <el-table-column align="center" prop="name" width="60" label="超限价金额">
192
+        <template slot-scope="scope">
193
+          <div> {{scope.row.overlmt_amt}}元</div>
194
+        </template>
195
+      </el-table-column>
196
+
197
+
198
+      <el-table-column align="center" prop="name" width="60" label="先行自付金额">
199
+        <template slot-scope="scope">
200
+          <div> {{scope.row.preselfpay_amt}}元</div>
201
+        </template>
202
+      </el-table-column>
203
+
204
+
205
+      <el-table-column align="center" prop="name" width="60" label="符合正常范围金额">
206
+        <template slot-scope="scope">
207
+          <div> {{scope.row.inscp_scp_amt}}元</div>
208
+        </template>
209
+      </el-table-column>
210
+
211
+
212
+
213
+
88 214
       <el-table-column align="center" prop="name" width="50" label="备注">
89 215
         <template slot-scope="scope">{{scope.row.remark}}</template>
90 216
       </el-table-column>
@@ -109,12 +235,13 @@
109 235
 
110 236
   export default {
111 237
     props: {
112
-      prescription: Object
238
+      prescription: Object,
239
+      manufacturers:Array,
113 240
     },
114 241
     data() {
115 242
       return {
116 243
         drugways: [],
117
-        efs: []
244
+        efs: [],
118 245
       }
119 246
     }, mounted() {
120 247
       // getInitData().then(response => {
@@ -128,7 +255,20 @@
128 255
       // })
129 256
     }, methods:  {
130 257
 
258
+      getName(id){
259
+        console.log("!!!!!!!!!")
260
+
261
+        let  name = ""
262
+        for(let i = 0; i  < this.manufacturers.length; i++){
263
+          console.log(this.manufacturers[i].manufacturer_name)
264
+          if(id == this.manufacturers[i].id){
265
+            console.log("!!!!!!!!!")
266
+            name =  this.manufacturers[i].manufacturer_name
267
+          }
268
+        }
269
+        return name
131 270
 
271
+      },
132 272
       getGroup(id){
133 273
         var name = ""
134 274
         var statistics_category =  getDictionaryDataConfig('system','statistics_category')

+ 69 - 7
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -154,7 +154,7 @@
154 154
 
155 155
 
156 156
                                                     <prescription-table ref="prescription_tables"
157
-                                                                        :prescription="items.curPrescriptions"></prescription-table>
157
+                                                                        :prescription="items.curPrescriptions" :manufacturers="manufacturers"></prescription-table>
158 158
                                                     <!--</el-radio-group>-->
159 159
                                                 </el-tabs>
160 160
                                             </div>
@@ -687,6 +687,7 @@
687 687
 
688 688
         sick: [],
689 689
         diagnoses: [],
690
+        manufacturers:[],
690 691
 
691 692
         department: [],
692 693
         all_patient: [],
@@ -1119,6 +1120,8 @@
1119 1120
               let tempProject = []
1120 1121
 
1121 1122
               for (let b = 0; b < prescription.advices.length; b++) {
1123
+                let spec =  prescription.advices[b].drug.dose + prescription.advices[b].drug.dose_unit + '*' + prescription.advices[b].drug.min_number +prescription.advices[b].drug.min_unit + '/' + prescription.advices[b].drug.max_unit
1124
+
1122 1125
                 let obj = {
1123 1126
                   advice_id: prescription.advices[b].id,
1124 1127
                   drug_name: prescription.advices[b].advice_name,
@@ -1131,7 +1134,17 @@
1131 1134
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
1132 1135
                   single_dose_unit: prescription.advices[b].single_dose_unit,
1133 1136
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
1134
-                  medical_insurance_number: prescription.advices[b].med_list_codg
1137
+                  medical_insurance_number: prescription.advices[b].med_list_codg,
1138
+
1139
+                  code: prescription.advices[b].drug.medical_insurance_number,
1140
+                  spec: spec,
1141
+                  det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
1142
+                  name_id: prescription.advices[b].drug.manufacturer,
1143
+                  fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
1144
+                  overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
1145
+                  preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
1146
+                  inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt,
1147
+
1135 1148
 
1136 1149
                 }
1137 1150
                 tempAdvice.push(obj)
@@ -1153,7 +1166,14 @@
1153 1166
                   remark: prescription.project[b].remark,
1154 1167
                   // medical_code: prescription.project[b].project.medical_code,
1155 1168
                   unit: prescription.project[b].unit,
1156
-                  type: prescription.project[b].type
1169
+                  type: prescription.project[b].type,
1170
+
1171
+                  det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
1172
+                  fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
1173
+                  overlmt_amt: prescription.project[b].order_info.overlmt_amt,
1174
+                  preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
1175
+                  inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt,
1176
+
1157 1177
 
1158 1178
                 }
1159 1179
 
@@ -1161,13 +1181,19 @@
1161 1181
                   obj['statistical_classification'] = prescription.project[b].project.statistical_classification
1162 1182
                   obj['medical_code'] = prescription.project[b].project.medical_code
1163 1183
                   obj['project_name'] = prescription.project[b].project.project_name
1184
+                  obj['spec'] = ""
1185
+                  obj['name_id'] = 0
1186
+
1164 1187
 
1165 1188
                 } else if (prescription.project[b].type == 3) {
1166 1189
                   obj['statistical_classification'] = ''
1167 1190
                   obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
1168 1191
                   obj['project_name'] = prescription.project[b].good_info.good_name
1169
-                }
1192
+                  obj['spec'] = prescription.project[b].good_info.specification_name
1193
+                  obj['name_id'] = prescription.project[b].good_info.manufacturer
1170 1194
 
1195
+
1196
+                }
1171 1197
                 tempProject.push(obj)
1172 1198
               }
1173 1199
               let index = i + 1
@@ -1199,6 +1225,11 @@
1199 1225
             this.department = response.data.data.department
1200 1226
             this.sick = response.data.data.sick
1201 1227
             this.diagnoses = response.data.data.diagnose
1228
+            this.manufacturers = response.data.data.manufacturers
1229
+            console.log("生产厂家")
1230
+
1231
+            console.log(this.manufacturers)
1232
+
1202 1233
 
1203 1234
           }
1204 1235
         })
@@ -3166,7 +3197,7 @@
3166 3197
                 // obj['medical_code'] = project_month_prescriptions.project[a].project.medical_code
3167 3198
                 obj['unit'] = big_prescriptions[y].project_month_prescriptions.project[a].unit
3168 3199
                 obj['project_id'] = big_prescriptions[y].project_month_prescriptions.project[a].project_id
3169
-                count = count + big_prescriptions[y].project_month_prescriptions.project[a].count
3200
+                count = count + parseFloat(big_prescriptions[y].project_month_prescriptions.project[a].count)
3170 3201
                 // price = price + project_month_prescriptions.project[a].price
3171 3202
                 obj['price'] = parseFloat(big_prescriptions[y].project_month_prescriptions.project[a].price)
3172 3203
                 obj['type'] = big_prescriptions[y].project_month_prescriptions.project[a].type
@@ -3435,7 +3466,11 @@
3435 3466
                     const tempAdvice = []
3436 3467
                     const tempProject = []
3437 3468
                     const tempAddition = []
3469
+
3470
+
3438 3471
                     for (let b = 0; b < prescription.advices.length; b++) {
3472
+                      let spec =  prescription.advices[b].drug.dose + prescription.advices[b].drug.dose_unit + '*' + prescription.advices[b].drug.min_number +prescription.advices[b].drug.min_unit + '/' + prescription.advices[b].drug.max_unit
3473
+
3439 3474
                       const obj = {
3440 3475
                         advice_id: prescription.advices[b].id,
3441 3476
                         drug_name: prescription.advices[b].advice_name,
@@ -3448,13 +3483,23 @@
3448 3483
                         prescribing_number: prescription.advices[b].prescribing_number.toString(),
3449 3484
                         single_dose_unit: prescription.advices[b].single_dose_unit,
3450 3485
                         prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
3451
-                        medical_insurance_number: prescription.advices[b].med_list_codg
3486
+                        code: prescription.advices[b].drug.medical_insurance_number,
3487
+                        spec: spec,
3488
+                        det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
3489
+                        name_id: prescription.advices[b].drug.manufacturer,
3490
+                        fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
3491
+                        overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
3492
+                        preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
3493
+                        inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt,
3494
+
3495
+
3452 3496
 
3453 3497
                       }
3454 3498
                       tempAdvice.push(obj)
3455 3499
                     }
3456 3500
 
3457 3501
                     for (let b = 0; b < prescription.project.length; b++) {
3502
+
3458 3503
                       const obj = {
3459 3504
                         id: prescription.project[b].id,
3460 3505
                         project_id: prescription.project[b].project.id,
@@ -3469,18 +3514,35 @@
3469 3514
                         remark: prescription.project[b].remark,
3470 3515
                         // medical_code: prescription.project[b].project.medical_code,
3471 3516
                         unit: prescription.project[b].unit,
3472
-                        type: prescription.project[b].type
3517
+                        type: prescription.project[b].type,
3518
+
3519
+                        det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
3520
+                        fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
3521
+                        overlmt_amt: prescription.project[b].order_info.overlmt_amt,
3522
+                        preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
3523
+                        inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt,
3524
+
3473 3525
                       }
3474 3526
 
3475 3527
                       if (prescription.project[b].type == 2) {
3476 3528
                         obj['statistical_classification'] = prescription.project[b].project.statistical_classification
3477 3529
                         obj['medical_code'] = prescription.project[b].project.medical_code
3478 3530
                         obj['project_name'] = prescription.project[b].project.project_name
3531
+                        obj['spec'] = ""
3532
+                        obj['name_id'] = 0
3533
+
3534
+
3535
+
3536
+
3479 3537
 
3480 3538
                       } else if (prescription.project[b].type == 3) {
3481 3539
                         obj['statistical_classification'] = ''
3482 3540
                         obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
3483 3541
                         obj['project_name'] = prescription.project[b].good_info.good_name
3542
+                        obj['spec'] = prescription.project[b].good_info.specification_name
3543
+                        obj['name_id'] = prescription.project[b].good_info.manufacturer
3544
+
3545
+
3484 3546
                       }
3485 3547
 
3486 3548
                       tempProject.push(obj)

+ 1 - 1
src/xt_pages/outpatientCharges/summaryDetail.vue View File

@@ -431,7 +431,7 @@ export default {
431 431
             obj['day'] = project_month_prescriptions.project[a].day
432 432
             obj['single_dose_unit'] = project_month_prescriptions.project[a].unit
433 433
             obj['prescribing_number_unit'] = project_month_prescriptions.project[a].unit
434
-            count = count + project_month_prescriptions.project[a].count
434
+            count = count + parseFloat(project_month_prescriptions.project[a].count)
435 435
             obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
436 436
             obj['remark'] = project_month_prescriptions.project[a].remark
437 437
             obj['type'] = 2

+ 1 - 1
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

@@ -801,7 +801,7 @@
801 801
               // obj['medical_code'] = project_month_prescriptions.project[a].project.medical_code;
802 802
               obj['unit'] = project_month_prescriptions.project[a].unit
803 803
               obj['project_id'] = project_month_prescriptions.project[a].project_id
804
-              count = count + project_month_prescriptions.project[a].count
804
+              count = count + parseFloat(project_month_prescriptions.project[a].count)
805 805
               // price = price + project_month_prescriptions.project[a].price
806 806
               obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
807 807
 

+ 1 - 1
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -966,7 +966,7 @@
966 966
               // obj['medical_c/**/ode'] = project_month_prescriptions.project[a].project.medical_code
967 967
               obj['unit'] = project_month_prescriptions.project[a].unit
968 968
               obj['project_id'] = project_month_prescriptions.project[a].project_id
969
-              count = count + project_month_prescriptions.project[a].count
969
+              count = count + parseFloat(project_month_prescriptions.project[a].count)
970 970
               // price = price + project_month_prescriptions.project[a].price
971 971
               obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
972 972
 

+ 124 - 0
src/xt_pages/outpatientTool/components/faPiaoDialog.vue View File

@@ -0,0 +1,124 @@
1
+<template>
2
+  <el-dialog width="854px" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
3
+             :close-on-press-escape="isClose">
4
+
5
+    <el-form :model="formValue" :rules="rules" ref="formValue" class="demo-form-inline"
6
+             :label-position="labelPosition"
7
+             label-width="100px">
8
+
9
+      <el-row>
10
+
11
+
12
+        <el-col :span="8">
13
+          <el-form-item label="发票编号" prop="fapiao_number">
14
+            <el-input v-model="formValue.fapiao_number"></el-input>
15
+          </el-form-item>
16
+        </el-col>
17
+
18
+        <el-col :span="8">
19
+          <el-form-item label="发票号码" prop="fapiao_code">
20
+            <el-input v-model="formValue.fapiao_code"></el-input>
21
+          </el-form-item>
22
+        </el-col>
23
+      </el-row>
24
+
25
+
26
+    </el-form>
27
+
28
+    <span slot="footer" class="dialog-footer">
29
+    <el-button v-if="isCreated == 3" @click="cancle('formValue')">取 消</el-button>
30
+    <el-button v-if="isCreated != 3 " @click="cancle('formValue')">取 消</el-button>
31
+    <el-button v-if="isCreated != 3" type="primary" @click="comfirm('formValue')">保 存</el-button>
32
+  </span>
33
+  </el-dialog>
34
+
35
+</template>
36
+
37
+<script>
38
+  export default {
39
+    name: 'faPiaoDialog',
40
+
41
+    data() {
42
+
43
+      return {
44
+        visibility: false,
45
+        labelPosition: 'right',
46
+        isClose: false,
47
+        form: {
48
+          fapiao_number: '',
49
+          fapiao_code: '',
50
+
51
+        },
52
+        resetForm: {
53
+          fapiao_number: '',
54
+          fapiao_code: '',
55
+        },
56
+        rules: {
57
+          fapiao_number: [
58
+            { required: true, message: '请输入发票编号', trigger: 'blur' }
59
+          ],
60
+          fapiao_code: [
61
+            { required: true, message: '请输入发票号码', trigger: 'blur' }
62
+          ]
63
+
64
+        }
65
+      }
66
+    },
67
+    props: {
68
+
69
+      titles: {
70
+        type: String,
71
+        default: ''
72
+      },
73
+      formValue: {
74
+        type: Object
75
+      },
76
+      type: {
77
+        type: Number,
78
+        default: 1
79
+
80
+      },
81
+      isCreated: {
82
+        type: Number,
83
+        default: 1
84
+
85
+      }
86
+    },
87
+    methods: {
88
+      show: function() {
89
+        this.visibility = true
90
+
91
+      }, hide: function() {
92
+        this.visibility = false
93
+      },
94
+      cancle: function(formName) {
95
+        this.$emit('dialog-cancle', this.getValue())
96
+        this.$refs['formValue'].resetFields()
97
+      },
98
+      comfirm: function(formName) {
99
+        this.$refs['formValue'].validate((valid) => {
100
+          if (valid) {
101
+            let value = {}
102
+            value = this.getValue()
103
+            this.$emit('dialog-comfirm', value)
104
+            this.form = Object.assign({}, this.resetForm)
105
+
106
+          }
107
+        })
108
+      },
109
+      getValue: function() {
110
+        let form = {}
111
+        form = this.formValue
112
+        form['title'] = this.titles
113
+        form['type'] = this.type
114
+        form['isCreated'] = this.isCreated
115
+        return form
116
+      }
117
+    }
118
+
119
+  }
120
+</script>
121
+
122
+<style scoped>
123
+
124
+</style>

+ 365 - 0
src/xt_pages/outpatientTool/fapiao.vue View File

@@ -0,0 +1,365 @@
1
+<template>
2
+    <div class="main-contain outpatientChargesManagement">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+        </div>
6
+        <div class=" sign-and-weigh-box" style="background: white">
7
+            <fa-piao-dialog
8
+                    ref="dialog"
9
+                    :titles="Dialog.titles"
10
+                    :formValue="Dialog.formValue"
11
+                    :visibility="Dialog.isVisibility"
12
+                    :type="Dialog.type"
13
+                    :isCreated="Dialog.isCreated"
14
+                    v-on:dialog-comfirm="dialogComfirm"
15
+                    v-on:dialog-cancle="dialogCancle"
16
+
17
+            >
18
+
19
+            </fa-piao-dialog>
20
+            <el-row :gutter="15">
21
+                <el-col>
22
+                    <div>
23
+                        <el-button
24
+                                size="small"
25
+                                icon="el-icon-circle-plus-outline"
26
+                                style="float: right;margin-bottom: 15px"
27
+                                type="primary"
28
+                                @click="showDialog"
29
+                        >新增
30
+                        </el-button>
31
+                    </div>
32
+
33
+                    <el-table
34
+                            :row-style="{ color: '#303133' }"
35
+                            :header-cell-style="{
36
+              backgroundColor: 'rgb(245, 247, 250)',
37
+              color: '#606266'
38
+            }"
39
+                            :data="faPiaoData"
40
+                            style="width: 100%"
41
+                            border
42
+                            v-loading="loading"
43
+                    >
44
+                        <el-table-column label="发票编码" align="center">
45
+                            <template slot-scope="scope">
46
+                                {{ scope.row.fapiao_number }}
47
+                            </template>
48
+                        </el-table-column>
49
+
50
+                        <el-table-column label="发票号码" align="center">
51
+                            <template slot-scope="scope">
52
+                                {{ scope.row.fapiao_code }}
53
+                            </template>
54
+                        </el-table-column>
55
+
56
+
57
+                        <el-table-column label="操作" align="center">
58
+                            <template slot-scope="scope">
59
+                                <el-tooltip
60
+                                        class="item"
61
+                                        effect="dark"
62
+                                        content="编辑"
63
+                                        placement="top"
64
+                                >
65
+                                    <el-button
66
+                                            size="small"
67
+                                            type="primary"
68
+                                            icon="el-icon-edit-outline"
69
+                                            @click="handleEdit(scope.$index, scope.row)"
70
+                                    >
71
+                                    </el-button>
72
+                                </el-tooltip>
73
+                                <el-tooltip
74
+                                        class="item"
75
+                                        effect="dark"
76
+                                        content="删除"
77
+                                        placement="top"
78
+                                >
79
+                                    <el-button
80
+                                            size="small"
81
+                                            type="danger"
82
+                                            icon="el-icon-delete"
83
+                                            @click="handleDelete(scope.$index, scope.row)"
84
+                                    >
85
+                                    </el-button>
86
+                                </el-tooltip>
87
+
88
+
89
+                                <el-button
90
+                                        size="small"
91
+                                        type="primary"
92
+                                        v-if=" scope.row.is_use == 0"
93
+                                        @click="handleIsUse(scope.$index, scope.row,0)"
94
+                                >未开启
95
+                                </el-button>
96
+
97
+                                <el-button
98
+                                        size="small"
99
+                                        type="primary"
100
+                                        v-if=" scope.row.is_use == 1"
101
+                                >已开启
102
+                                </el-button>
103
+                            </template>
104
+                        </el-table-column>
105
+                    </el-table>
106
+
107
+                    <el-pagination
108
+                            @size-change="handleSizeChange"
109
+                            @current-change="handleCurrentChange"
110
+                            :page-sizes="[10, 50, 100]"
111
+                            :page-size="10"
112
+                            background
113
+                            align="right"
114
+                            style="margin-top:20px;"
115
+                            layout="total, sizes, prev, pager, next, jumper"
116
+                            :total="total"
117
+                    >
118
+                    </el-pagination>
119
+                </el-col>
120
+            </el-row>
121
+        </div>
122
+    </div>
123
+</template>
124
+
125
+<script>
126
+  import { createFaPiao, deleteFaPiao, GetFaPiao, getFaPiaoList, modifyFaPiao, postFaPiaoIsUse } from '@/api/his/his'
127
+  import FaPiaoDialog from './components/faPiaoDialog'
128
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
129
+
130
+  export default {
131
+    components: {
132
+      FaPiaoDialog,
133
+      BreadCrumb
134
+    },
135
+    name: 'diagnosis',
136
+    data() {
137
+      return {
138
+        crumbs: [
139
+          { path: false, name: 'HIS工具' },
140
+          { path: false, name: '发票设置' }
141
+        ],
142
+        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
143
+        faPiaoData: [],
144
+        total: 0,
145
+        pageTotal: 0,
146
+        pageSelect: 0,
147
+
148
+        page: 1,
149
+        limit: 10,
150
+        loading: false,
151
+
152
+        manufacturer_code: '',
153
+        editId: '',
154
+        editIndex: '',
155
+        Dialog: {
156
+          titles: '新增',
157
+          isVisibility: false,
158
+          isCreated: 1, //1.创建 2.编辑 3.查看详情
159
+          formValue: {
160
+            fapiao_number: '',
161
+            fapiao_code: '',
162
+            is_use: 0
163
+
164
+          },
165
+          resetForm: {
166
+            fapiao_number: '',
167
+            fapiao_code: '',
168
+            is_use: 0
169
+          }
170
+        }
171
+      }
172
+    },
173
+    methods: {
174
+      handleEdit: function(index, row) {
175
+        this.editId = row.id
176
+        this.editIndex = index
177
+        let params = {
178
+          id: row.id
179
+        }
180
+        GetFaPiao(params).then(response => {
181
+          if (response.data.state == 0) {
182
+            this.$message.error(response.data.msg)
183
+            return false
184
+          } else {
185
+            this.Dialog.formValue.fapiao_number =
186
+              response.data.data.fapiao_record.fapiao_number
187
+            this.Dialog.formValue.fapiao_code =
188
+              response.data.data.fapiao_record.fapiao_code
189
+
190
+            this.Dialog.isCreated = 2
191
+            this.$refs.dialog.show()
192
+
193
+          }
194
+        })
195
+      },
196
+      handleDelete: function(index, row) {
197
+        this.$confirm('确认删除这条记录?', '删除记录', {
198
+          confirmButtonText: '确定',
199
+          cancelButtonText: '取消',
200
+          type: 'warning'
201
+        })
202
+          .then(() => {
203
+            let params = {
204
+              id: row.id
205
+            }
206
+            deleteFaPiao(params).then(response => {
207
+              if (response.data.state == 0) {
208
+                this.$message.error(response.data.msg)
209
+                return false
210
+              } else {
211
+                this.faPiaoData.splice(index, 1)
212
+                this.$message.success('发票已经删除')
213
+              }
214
+            })
215
+          })
216
+          .catch(() => {
217
+          })
218
+      },
219
+
220
+      handleIsUse: function(index, row) {
221
+        this.$confirm('是否开启?', '开启', {
222
+          confirmButtonText: '确定',
223
+          cancelButtonText: '取消',
224
+          type: 'warning'
225
+        })
226
+          .then(() => {
227
+            let params = {
228
+              id: row.id,
229
+              is_use: 1
230
+            }
231
+            postFaPiaoIsUse(params).then(response => {
232
+              if (response.data.state == 0) {
233
+                this.$message.error(response.data.msg)
234
+                return false
235
+              } else {
236
+                for (let i =0; i < this.faPiaoData.length; i++){
237
+                  this.faPiaoData[i].is_use = 0
238
+                }
239
+                this.faPiaoData[index].is_use = 1
240
+              }
241
+            })
242
+          })
243
+          .catch(() => {
244
+          })
245
+
246
+      },
247
+
248
+      showDetails: function(index, row) {
249
+        let params = {
250
+          id: row.id
251
+        }
252
+        GetFaPiao(params).then(response => {
253
+          if (response.data.state == 0) {
254
+            this.$message.error(response.data.msg)
255
+            return false
256
+          } else {
257
+            this.Dialog.formValue.fapiao_number =
258
+              response.data.data.fapiao_record.fapiao_number
259
+            this.Dialog.formValue.fapiao_code =
260
+              response.data.data.fapiao_record.fapiao_code
261
+
262
+            this.Dialog.isCreated = 3
263
+            this.Dialog.isVisibility = true
264
+          }
265
+        })
266
+      },
267
+      dialogComfirm: function(val) {
268
+        this.$refs.dialog.hide()
269
+        if (val.isCreated == 2) {
270
+          //修改
271
+          let params = {
272
+            fapiao_code: val.fapiao_code,
273
+            fapiao_number: val.fapiao_number,
274
+            id: this.editId
275
+
276
+          }
277
+          modifyFaPiao(params).then(response => {
278
+            if (response.data.state == 0) {
279
+              this.$message.error(response.data.msg)
280
+              return false
281
+            } else {
282
+              this.faPiaoData[this.editIndex].fapiao_code =
283
+                response.data.data.fapiao_record.fapiao_code
284
+              this.faPiaoData[this.editIndex].content_code =
285
+                response.data.data.fapiao_record.fapiao_number
286
+              this.faPiaoData[this.editIndex].is_use =
287
+                response.data.data.fapiao_record.is_use
288
+
289
+              this.$message.success('修改成功')
290
+            }
291
+          })
292
+        } else if (val.isCreated == 1) {
293
+          //新增
294
+          createFaPiao(val).then(response => {
295
+            if (response.data.state == 0) {
296
+              this.$message.error(response.data.msg)
297
+              return false
298
+            } else {
299
+              this.faPiaoData.unshift(response.data.data.fapiao_record)
300
+              this.$message.success('新增成功')
301
+            }
302
+          })
303
+        }
304
+      },
305
+      dialogCancle: function() {
306
+        this.$refs.dialog.hide()
307
+      },
308
+      showDialog: function() {
309
+        this.Dialog.formValue = Object.assign(
310
+          {},
311
+          this.Dialog.resetForm
312
+        )
313
+        this.$refs.dialog.show()
314
+        this.Dialog.isCreated = 1
315
+      },
316
+      handleSizeChange(val) {
317
+        this.limit = val
318
+        this.getList()
319
+      },
320
+      handleCurrentChange(val) {
321
+        this.page = val
322
+        this.getList()
323
+      },
324
+      getList() {
325
+        let params = {
326
+          page: this.page,
327
+          limit: this.limit
328
+        }
329
+        this.loading = true
330
+        getFaPiaoList(params).then(response => {
331
+          if (response.data.state == 0) {
332
+            this.loading = false
333
+            this.$message.error(response.data.msg)
334
+            return false
335
+          } else {
336
+            this.loading = false
337
+            this.total = response.data.data.total
338
+            this.faPiaoData = []
339
+            for (let i = 0; i < response.data.data.fapiao_record.length; i++) {
340
+              this.faPiaoData.push(response.data.data.fapiao_record[i])
341
+            }
342
+          }
343
+        })
344
+      }
345
+    },
346
+    created() {
347
+      this.getList()
348
+    }
349
+  }
350
+</script>
351
+
352
+<style lang="scss">
353
+    .el-table td,
354
+    .el-table th.is-leaf,
355
+    .el-table--border,
356
+    .el-table--group {
357
+        border-color: #d0d3da;
358
+    }
359
+
360
+    .el-table--border::after,
361
+    .el-table--group::after,
362
+    .el-table::before {
363
+        background-color: #d0d3da;
364
+    }
365
+</style>